UNPKG

ribs-wysiwyg

Version:
54 lines (47 loc) 1.4 kB
import RibsWysiwygUtils from "../RibsWysiwygUtils"; class Justify { /** * method to initialize Justify plugin * @param toolbarDiv * @param editableDiv * @param options */ constructor(toolbarDiv, editableDiv, options) { this.toolbarDiv = toolbarDiv; this.editableDiv = editableDiv; this.addButtonToToolbar(); } /** * method to add justify buttons to toolbar */ addButtonToToolbar() { const justifyTypes = ['Left', 'Center', 'Right', 'Full']; for (const justifyType of justifyTypes) { const div = document.createElement('div'); const justifyMenu = document.createElement('button'); justifyMenu.id = `ribs-wysiwyg-toolbar-justify-${justifyType}`; justifyMenu.innerHTML = justifyType; justifyMenu.addEventListener('click', () => this.setTextToJustify(justifyType)); div.append(justifyMenu); this.toolbarDiv.append(div); } } /** * method to put text in justify */ setTextToJustify(justifyType) { document.execCommand(`justify${justifyType}`); this.editableDiv.focus(); RibsWysiwygUtils.refreshCaretLocationDiv(); } } /** * function to load Justify class * @param toolbarDiv * @param editableDiv * @param options */ function launchClass(toolbarDiv, editableDiv, options) { const justify = new Justify(toolbarDiv, editableDiv, options); } export default {launchClass};