You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Global-sales/src/components/RoosterEditor/editorOptions/codes/ButtonsCode.ts

27 lines
932 B
TypeScript

import { CodeElement } from './CodeElement';
import { getObjectKeys } from 'roosterjs-content-model-dom';
const codeMap: { [id: string]: string } = {
buttonB: 'roosterjs.toggleBold(editor)',
buttonI: 'roosterjs.toggleItalic(editor)',
buttonU: 'roosterjs.toggleUnderline(editor)',
buttonBullet: 'roosterjs.toggleBullet(editor)',
buttonNumbering: 'roosterjs.toggleNumbering(editor)',
buttonUndo: 'roosterjs.undo(editor)',
buttonRedo: 'roosterjs.redo(editor)',
buttonTable: 'roosterjs.insertTable(editor, 3, 3)',
buttonDark: 'editor.setDarkModeState(!editor.isDarkMode())',
};
export class ButtonsCode extends CodeElement {
getCode() {
const map = { ...codeMap };
return getObjectKeys(map)
.map(
id =>
`document.getElementById('${id}').addEventListener('click', () => ${map[id]});\n`
)
.join('');
}
}