suneditor 3.0.0-beta.9 → 3.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -57
- package/dist/suneditor-contents.min.css +1 -0
- package/dist/suneditor.min.css +1 -1
- package/dist/suneditor.min.js +1 -1
- package/package.json +110 -61
- package/src/assets/design/color.css +36 -17
- package/src/assets/design/size.css +2 -0
- package/src/assets/icons/defaultIcons.js +17 -2
- package/src/assets/suneditor-contents.css +51 -16
- package/src/assets/suneditor.css +116 -43
- package/src/core/config/contextProvider.js +288 -0
- package/src/core/config/eventManager.js +188 -0
- package/src/core/config/instanceCheck.js +59 -0
- package/src/core/config/optionProvider.js +452 -0
- package/src/core/editor.js +166 -1637
- package/src/core/event/actions/index.js +229 -0
- package/src/core/event/effects/common.registry.js +74 -0
- package/src/core/event/effects/keydown.registry.js +573 -0
- package/src/core/event/effects/ruleHelpers.js +148 -0
- package/src/core/event/eventOrchestrator.js +944 -0
- package/src/core/event/executor.js +27 -0
- package/src/core/{base/eventHandlers → event/handlers}/handler_toolbar.js +27 -28
- package/src/core/{base/eventHandlers → event/handlers}/handler_ww_clipboard.js +10 -8
- package/src/core/{base/eventHandlers → event/handlers}/handler_ww_dragDrop.js +22 -23
- package/src/core/event/handlers/handler_ww_input.js +75 -0
- package/src/core/event/handlers/handler_ww_key.js +228 -0
- package/src/core/event/handlers/handler_ww_mouse.js +166 -0
- package/src/core/event/ports.js +211 -0
- package/src/core/event/reducers/keydown.reducer.js +97 -0
- package/src/core/event/rules/keydown.rule.arrow.js +63 -0
- package/src/core/event/rules/keydown.rule.backspace.js +208 -0
- package/src/core/event/rules/keydown.rule.delete.js +132 -0
- package/src/core/event/rules/keydown.rule.enter.js +150 -0
- package/src/core/event/rules/keydown.rule.tab.js +35 -0
- package/src/core/event/support/defaultLineManager.js +136 -0
- package/src/core/event/support/selectionState.js +204 -0
- package/src/core/kernel/coreKernel.js +320 -0
- package/src/core/kernel/kernelInjector.js +19 -0
- package/src/core/kernel/store.js +173 -0
- package/src/core/{class → logic/dom}/char.js +42 -45
- package/src/core/logic/dom/format.js +1075 -0
- package/src/core/{class → logic/dom}/html.js +743 -624
- package/src/core/logic/dom/inline.js +1847 -0
- package/src/core/logic/dom/listFormat.js +601 -0
- package/src/core/{class → logic/dom}/nodeTransform.js +92 -72
- package/src/core/{class → logic/dom}/offset.js +254 -317
- package/src/core/logic/dom/selection.js +754 -0
- package/src/core/logic/panel/menu.js +389 -0
- package/src/core/logic/panel/toolbar.js +449 -0
- package/src/core/logic/panel/viewer.js +761 -0
- package/src/core/logic/shell/_commandExecutor.js +380 -0
- package/src/core/logic/shell/commandDispatcher.js +241 -0
- package/src/core/logic/shell/component.js +970 -0
- package/src/core/logic/shell/focusManager.js +110 -0
- package/src/core/{base → logic/shell}/history.js +110 -60
- package/src/core/logic/shell/pluginManager.js +363 -0
- package/src/core/logic/shell/shortcuts.js +130 -0
- package/src/core/logic/shell/ui.js +904 -0
- package/src/core/schema/context.js +66 -0
- package/src/core/schema/frameContext.js +160 -0
- package/src/core/schema/options.js +628 -0
- package/src/core/section/constructor.js +194 -500
- package/src/core/section/documentType.js +297 -222
- package/src/events.js +808 -543
- package/src/helper/clipboard.js +27 -16
- package/src/helper/converter.js +100 -78
- package/src/helper/dom/domCheck.js +56 -30
- package/src/helper/dom/domQuery.js +159 -89
- package/src/helper/dom/domUtils.js +114 -49
- package/src/helper/dom/index.js +5 -1
- package/src/helper/env.js +26 -26
- package/src/helper/index.js +1 -1
- package/src/helper/keyCodeMap.js +25 -28
- package/src/helper/numbers.js +4 -8
- package/src/helper/unicode.js +4 -8
- package/src/hooks/base.js +307 -0
- package/src/hooks/params.js +130 -0
- package/src/interfaces/contracts.js +227 -0
- package/src/interfaces/index.js +7 -0
- package/src/interfaces/plugins.js +239 -0
- package/src/langs/ckb.js +4 -4
- package/src/langs/cs.js +4 -4
- package/src/langs/da.js +4 -4
- package/src/langs/de.js +4 -4
- package/src/langs/en.js +4 -4
- package/src/langs/es.js +4 -4
- package/src/langs/fa.js +4 -4
- package/src/langs/fr.js +4 -4
- package/src/langs/he.js +4 -4
- package/src/langs/hu.js +4 -4
- package/src/langs/it.js +4 -4
- package/src/langs/ja.js +4 -4
- package/src/langs/km.js +4 -4
- package/src/langs/ko.js +4 -4
- package/src/langs/lv.js +4 -4
- package/src/langs/nl.js +4 -4
- package/src/langs/pl.js +4 -4
- package/src/langs/pt_br.js +13 -13
- package/src/langs/ro.js +4 -4
- package/src/langs/ru.js +4 -4
- package/src/langs/se.js +4 -4
- package/src/langs/tr.js +4 -4
- package/src/langs/uk.js +4 -4
- package/src/langs/ur.js +4 -4
- package/src/langs/zh_cn.js +4 -4
- package/src/modules/{Browser.js → contract/Browser.js} +119 -128
- package/src/modules/{ColorPicker.js → contract/ColorPicker.js} +132 -142
- package/src/modules/contract/Controller.js +589 -0
- package/src/modules/{Figure.js → contract/Figure.js} +591 -411
- package/src/modules/{HueSlider.js → contract/HueSlider.js} +125 -86
- package/src/modules/contract/Modal.js +357 -0
- package/src/modules/contract/index.js +9 -0
- package/src/modules/manager/ApiManager.js +197 -0
- package/src/modules/{FileManager.js → manager/FileManager.js} +128 -160
- package/src/modules/manager/index.js +5 -0
- package/src/modules/{ModalAnchorEditor.js → ui/ModalAnchorEditor.js} +108 -138
- package/src/modules/{SelectMenu.js → ui/SelectMenu.js} +119 -120
- package/src/modules/{_DragHandle.js → ui/_DragHandle.js} +1 -1
- package/src/modules/ui/index.js +6 -0
- package/src/plugins/browser/audioGallery.js +23 -26
- package/src/plugins/browser/fileBrowser.js +25 -28
- package/src/plugins/browser/fileGallery.js +20 -23
- package/src/plugins/browser/imageGallery.js +24 -23
- package/src/plugins/browser/videoGallery.js +27 -29
- package/src/plugins/command/blockquote.js +11 -17
- package/src/plugins/command/exportPDF.js +26 -26
- package/src/plugins/command/fileUpload.js +138 -133
- package/src/plugins/command/list_bulleted.js +48 -44
- package/src/plugins/command/list_numbered.js +48 -44
- package/src/plugins/dropdown/align.js +64 -50
- package/src/plugins/dropdown/backgroundColor.js +34 -35
- package/src/plugins/dropdown/{formatBlock.js → blockStyle.js} +43 -37
- package/src/plugins/dropdown/font.js +50 -36
- package/src/plugins/dropdown/fontColor.js +34 -35
- package/src/plugins/dropdown/hr.js +55 -50
- package/src/plugins/dropdown/layout.js +20 -15
- package/src/plugins/dropdown/lineHeight.js +46 -30
- package/src/plugins/dropdown/list.js +32 -33
- package/src/plugins/dropdown/paragraphStyle.js +40 -34
- package/src/plugins/dropdown/table/index.js +915 -0
- package/src/plugins/dropdown/table/render/table.html.js +308 -0
- package/src/plugins/dropdown/table/render/table.menu.js +121 -0
- package/src/plugins/dropdown/table/services/table.cell.js +465 -0
- package/src/plugins/dropdown/table/services/table.clipboard.js +414 -0
- package/src/plugins/dropdown/table/services/table.grid.js +504 -0
- package/src/plugins/dropdown/table/services/table.resize.js +463 -0
- package/src/plugins/dropdown/table/services/table.selection.js +466 -0
- package/src/plugins/dropdown/table/services/table.style.js +844 -0
- package/src/plugins/dropdown/table/shared/table.constants.js +109 -0
- package/src/plugins/dropdown/table/shared/table.utils.js +219 -0
- package/src/plugins/dropdown/template.js +20 -15
- package/src/plugins/dropdown/textStyle.js +28 -22
- package/src/plugins/field/mention.js +54 -49
- package/src/plugins/index.js +5 -5
- package/src/plugins/input/fontSize.js +100 -97
- package/src/plugins/input/pageNavigator.js +13 -10
- package/src/plugins/modal/audio.js +208 -219
- package/src/plugins/modal/drawing.js +99 -104
- package/src/plugins/modal/embed.js +323 -312
- package/src/plugins/modal/image/index.js +942 -0
- package/src/plugins/modal/image/render/image.html.js +150 -0
- package/src/plugins/modal/image/services/image.size.js +198 -0
- package/src/plugins/modal/image/services/image.upload.js +216 -0
- package/src/plugins/modal/image/shared/image.constants.js +20 -0
- package/src/plugins/modal/link.js +74 -54
- package/src/plugins/modal/math.js +126 -119
- package/src/plugins/modal/video/index.js +858 -0
- package/src/plugins/modal/video/render/video.html.js +131 -0
- package/src/plugins/modal/video/services/video.size.js +281 -0
- package/src/plugins/modal/video/services/video.upload.js +92 -0
- package/src/plugins/popup/anchor.js +57 -49
- package/src/suneditor.js +73 -61
- package/src/themes/cobalt.css +155 -0
- package/src/themes/dark.css +143 -120
- package/src/typedef.js +214 -63
- package/types/assets/icons/defaultIcons.d.ts +8 -0
- package/types/assets/suneditor-contents.css.d.ts +1 -0
- package/types/assets/suneditor.css.d.ts +1 -0
- package/types/core/config/contextProvider.d.ts +148 -0
- package/types/core/config/eventManager.d.ts +68 -0
- package/types/core/config/instanceCheck.d.ts +33 -0
- package/types/core/config/optionProvider.d.ts +147 -0
- package/types/core/editor.d.ts +27 -586
- package/types/core/event/actions/index.d.ts +50 -0
- package/types/core/event/effects/common.registry.d.ts +56 -0
- package/types/core/event/effects/keydown.registry.d.ts +80 -0
- package/types/core/event/effects/ruleHelpers.d.ts +36 -0
- package/types/core/event/eventOrchestrator.d.ts +191 -0
- package/types/core/event/executor.d.ts +13 -0
- package/types/core/event/handlers/handler_toolbar.d.ts +38 -0
- package/types/core/event/handlers/handler_ww_clipboard.d.ts +36 -0
- package/types/core/event/handlers/handler_ww_dragDrop.d.ts +26 -0
- package/types/core/event/handlers/handler_ww_input.d.ts +38 -0
- package/types/core/event/handlers/handler_ww_key.d.ts +40 -0
- package/types/core/event/handlers/handler_ww_mouse.d.ts +47 -0
- package/types/core/event/ports.d.ts +256 -0
- package/types/core/event/reducers/keydown.reducer.d.ts +84 -0
- package/types/core/event/rules/keydown.rule.arrow.d.ts +19 -0
- package/types/core/event/rules/keydown.rule.backspace.d.ts +18 -0
- package/types/core/event/rules/keydown.rule.delete.d.ts +18 -0
- package/types/core/event/rules/keydown.rule.enter.d.ts +18 -0
- package/types/core/event/rules/keydown.rule.tab.d.ts +18 -0
- package/types/core/event/support/defaultLineManager.d.ts +22 -0
- package/types/core/event/support/selectionState.d.ts +29 -0
- package/types/core/kernel/coreKernel.d.ts +219 -0
- package/types/core/kernel/kernelInjector.d.ts +16 -0
- package/types/core/kernel/store.d.ts +170 -0
- package/types/core/logic/dom/char.d.ts +46 -0
- package/types/core/logic/dom/format.d.ts +234 -0
- package/types/core/logic/dom/html.d.ts +290 -0
- package/types/core/logic/dom/inline.d.ts +93 -0
- package/types/core/logic/dom/listFormat.d.ts +101 -0
- package/types/core/logic/dom/nodeTransform.d.ts +110 -0
- package/types/core/logic/dom/offset.d.ts +335 -0
- package/types/core/logic/dom/selection.d.ts +165 -0
- package/types/core/logic/panel/menu.d.ts +93 -0
- package/types/core/logic/panel/toolbar.d.ts +128 -0
- package/types/core/logic/panel/viewer.d.ts +89 -0
- package/types/core/logic/shell/_commandExecutor.d.ts +18 -0
- package/types/core/logic/shell/commandDispatcher.d.ts +65 -0
- package/types/core/logic/shell/component.d.ts +182 -0
- package/types/core/logic/shell/focusManager.d.ts +31 -0
- package/types/core/{base → logic/shell}/history.d.ts +13 -12
- package/types/core/logic/shell/pluginManager.d.ts +115 -0
- package/types/core/logic/shell/shortcuts.d.ts +131 -0
- package/types/core/logic/shell/ui.d.ts +261 -0
- package/types/core/schema/context.d.ts +104 -0
- package/types/core/schema/frameContext.d.ts +320 -0
- package/types/core/schema/options.d.ts +1241 -0
- package/types/core/section/constructor.d.ts +117 -652
- package/types/core/section/documentType.d.ts +43 -61
- package/types/events.d.ts +796 -65
- package/types/helper/clipboard.d.ts +5 -4
- package/types/helper/converter.d.ts +55 -43
- package/types/helper/dom/domCheck.d.ts +27 -19
- package/types/helper/dom/domQuery.d.ts +76 -57
- package/types/helper/dom/domUtils.d.ts +62 -39
- package/types/helper/dom/index.d.ts +87 -1
- package/types/helper/env.d.ts +16 -13
- package/types/helper/index.d.ts +8 -2
- package/types/helper/keyCodeMap.d.ts +24 -23
- package/types/helper/numbers.d.ts +4 -6
- package/types/helper/unicode.d.ts +4 -3
- package/types/hooks/base.d.ts +239 -0
- package/types/hooks/params.d.ts +65 -0
- package/types/index.d.ts +20 -117
- package/types/interfaces/contracts.d.ts +183 -0
- package/types/interfaces/index.d.ts +3 -0
- package/types/interfaces/plugins.d.ts +168 -0
- package/types/langs/_Lang.d.ts +2 -2
- package/types/langs/index.d.ts +2 -2
- package/types/modules/contract/Browser.d.ts +262 -0
- package/types/modules/contract/ColorPicker.d.ts +99 -0
- package/types/modules/contract/Controller.d.ts +204 -0
- package/types/modules/contract/Figure.d.ts +529 -0
- package/types/modules/{HueSlider.d.ts → contract/HueSlider.d.ts} +39 -28
- package/types/modules/contract/Modal.d.ts +62 -0
- package/types/modules/contract/index.d.ts +7 -0
- package/types/modules/manager/ApiManager.d.ts +106 -0
- package/types/modules/manager/FileManager.d.ts +124 -0
- package/types/modules/manager/index.d.ts +3 -0
- package/types/modules/ui/ModalAnchorEditor.d.ts +152 -0
- package/types/modules/ui/SelectMenu.d.ts +107 -0
- package/types/modules/{_DragHandle.d.ts → ui/_DragHandle.d.ts} +1 -0
- package/types/modules/ui/index.d.ts +4 -0
- package/types/plugins/browser/audioGallery.d.ts +33 -41
- package/types/plugins/browser/fileBrowser.d.ts +42 -50
- package/types/plugins/browser/fileGallery.d.ts +33 -41
- package/types/plugins/browser/imageGallery.d.ts +30 -37
- package/types/plugins/browser/videoGallery.d.ts +33 -41
- package/types/plugins/command/blockquote.d.ts +4 -21
- package/types/plugins/command/exportPDF.d.ts +23 -33
- package/types/plugins/command/fileUpload.d.ts +80 -100
- package/types/plugins/command/list_bulleted.d.ts +9 -35
- package/types/plugins/command/list_numbered.d.ts +9 -35
- package/types/plugins/dropdown/align.d.ts +23 -46
- package/types/plugins/dropdown/backgroundColor.d.ts +35 -53
- package/types/plugins/dropdown/blockStyle.d.ts +45 -0
- package/types/plugins/dropdown/font.d.ts +18 -41
- package/types/plugins/dropdown/fontColor.d.ts +35 -53
- package/types/plugins/dropdown/hr.d.ts +26 -52
- package/types/plugins/dropdown/layout.d.ts +19 -25
- package/types/plugins/dropdown/lineHeight.d.ts +21 -39
- package/types/plugins/dropdown/list.d.ts +6 -34
- package/types/plugins/dropdown/paragraphStyle.d.ts +34 -45
- package/types/plugins/dropdown/table/index.d.ts +158 -0
- package/types/plugins/dropdown/table/render/table.html.d.ts +71 -0
- package/types/plugins/dropdown/table/render/table.menu.d.ts +59 -0
- package/types/plugins/dropdown/table/services/table.cell.d.ts +76 -0
- package/types/plugins/dropdown/table/services/table.clipboard.d.ts +26 -0
- package/types/plugins/dropdown/table/services/table.grid.d.ts +77 -0
- package/types/plugins/dropdown/table/services/table.resize.d.ts +72 -0
- package/types/plugins/dropdown/table/services/table.selection.d.ts +59 -0
- package/types/plugins/dropdown/table/services/table.style.d.ts +162 -0
- package/types/plugins/dropdown/table/shared/table.constants.d.ts +134 -0
- package/types/plugins/dropdown/table/shared/table.utils.d.ts +91 -0
- package/types/plugins/dropdown/template.d.ts +19 -25
- package/types/plugins/dropdown/textStyle.d.ts +23 -30
- package/types/plugins/field/mention.d.ts +66 -72
- package/types/plugins/index.d.ts +41 -40
- package/types/plugins/input/fontSize.d.ts +57 -96
- package/types/plugins/input/pageNavigator.d.ts +5 -8
- package/types/plugins/modal/audio.d.ts +60 -153
- package/types/plugins/modal/drawing.d.ts +16 -118
- package/types/plugins/modal/embed.d.ts +46 -166
- package/types/plugins/modal/image/index.d.ts +281 -0
- package/types/plugins/modal/image/render/image.html.d.ts +45 -0
- package/types/plugins/modal/image/services/image.size.d.ts +55 -0
- package/types/plugins/modal/image/services/image.upload.d.ts +24 -0
- package/types/plugins/modal/image/shared/image.constants.d.ts +17 -0
- package/types/plugins/modal/link.d.ts +46 -66
- package/types/plugins/modal/math.d.ts +17 -86
- package/types/plugins/modal/{video.d.ts → video/index.d.ts} +89 -221
- package/types/plugins/modal/video/render/video.html.d.ts +37 -0
- package/types/plugins/modal/video/services/video.size.d.ts +74 -0
- package/types/plugins/modal/video/services/video.upload.d.ts +19 -0
- package/types/plugins/popup/anchor.d.ts +8 -38
- package/types/suneditor.d.ts +55 -24
- package/types/typedef.d.ts +344 -228
- package/CONTRIBUTING.md +0 -186
- package/src/core/base/eventHandlers/handler_ww_key_input.js +0 -1200
- package/src/core/base/eventHandlers/handler_ww_mouse.js +0 -194
- package/src/core/base/eventManager.js +0 -1523
- package/src/core/class/component.js +0 -856
- package/src/core/class/format.js +0 -3433
- package/src/core/class/menu.js +0 -346
- package/src/core/class/selection.js +0 -610
- package/src/core/class/shortcuts.js +0 -98
- package/src/core/class/toolbar.js +0 -431
- package/src/core/class/ui.js +0 -424
- package/src/core/class/viewer.js +0 -750
- package/src/core/section/actives.js +0 -266
- package/src/core/section/context.js +0 -102
- package/src/editorInjector/_classes.js +0 -36
- package/src/editorInjector/_core.js +0 -87
- package/src/editorInjector/index.js +0 -73
- package/src/modules/ApiManager.js +0 -191
- package/src/modules/Controller.js +0 -474
- package/src/modules/Modal.js +0 -346
- package/src/modules/index.js +0 -14
- package/src/plugins/dropdown/table.js +0 -4034
- package/src/plugins/modal/image.js +0 -1376
- package/src/plugins/modal/video.js +0 -1226
- package/types/core/base/eventHandlers/handler_toolbar.d.ts +0 -41
- package/types/core/base/eventHandlers/handler_ww_clipboard.d.ts +0 -40
- package/types/core/base/eventHandlers/handler_ww_dragDrop.d.ts +0 -35
- package/types/core/base/eventHandlers/handler_ww_key_input.d.ts +0 -45
- package/types/core/base/eventHandlers/handler_ww_mouse.d.ts +0 -39
- package/types/core/base/eventManager.d.ts +0 -401
- package/types/core/class/char.d.ts +0 -61
- package/types/core/class/component.d.ts +0 -213
- package/types/core/class/format.d.ts +0 -623
- package/types/core/class/html.d.ts +0 -430
- package/types/core/class/menu.d.ts +0 -126
- package/types/core/class/nodeTransform.d.ts +0 -93
- package/types/core/class/offset.d.ts +0 -522
- package/types/core/class/selection.d.ts +0 -188
- package/types/core/class/shortcuts.d.ts +0 -142
- package/types/core/class/toolbar.d.ts +0 -189
- package/types/core/class/ui.d.ts +0 -164
- package/types/core/class/viewer.d.ts +0 -140
- package/types/core/section/actives.d.ts +0 -46
- package/types/core/section/context.d.ts +0 -45
- package/types/editorInjector/_classes.d.ts +0 -41
- package/types/editorInjector/_core.d.ts +0 -87
- package/types/editorInjector/index.d.ts +0 -69
- package/types/modules/ApiManager.d.ts +0 -125
- package/types/modules/Browser.d.ts +0 -326
- package/types/modules/ColorPicker.d.ts +0 -135
- package/types/modules/Controller.d.ts +0 -251
- package/types/modules/Figure.d.ts +0 -517
- package/types/modules/FileManager.d.ts +0 -202
- package/types/modules/Modal.d.ts +0 -111
- package/types/modules/ModalAnchorEditor.d.ts +0 -236
- package/types/modules/SelectMenu.d.ts +0 -194
- package/types/modules/index.d.ts +0 -26
- package/types/plugins/dropdown/formatBlock.d.ts +0 -55
- package/types/plugins/dropdown/table.d.ts +0 -627
- package/types/plugins/modal/image.d.ts +0 -451
- /package/{LICENSE → LICENSE.txt} +0 -0
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
import { dom, env, keyCodeMap } from '../../helper';
|
|
2
|
-
const { NO_EVENT } = env;
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @constant {Object.<string, string[]>} StyleMap - Map of font styles to CSS properties.
|
|
6
|
-
*/
|
|
7
|
-
const StyleMap = {
|
|
8
|
-
bold: ['font-weight'],
|
|
9
|
-
underline: ['text-decoration'],
|
|
10
|
-
italic: ['font-style'],
|
|
11
|
-
strike: ['text-decoration']
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
let __globalEventKeydown = null;
|
|
15
|
-
let __globalEventMousedown = null;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @private
|
|
19
|
-
* @this {__se__EditorCore}
|
|
20
|
-
* @param {Node} ww Wywsiwyg element
|
|
21
|
-
* @param {Node} button Button element
|
|
22
|
-
*/
|
|
23
|
-
const __RemoveCopyformt = function (ww, button) {
|
|
24
|
-
__globalEventKeydown = this.eventManager.removeGlobalEvent('keydown', __globalEventKeydown);
|
|
25
|
-
__globalEventMousedown = this.eventManager.removeGlobalEvent('mousedown', __globalEventMousedown);
|
|
26
|
-
this._onCopyFormatInfo = null;
|
|
27
|
-
this._onCopyFormatInitMethod = null;
|
|
28
|
-
dom.utils.removeClass(ww, 'se-copy-format-cursor');
|
|
29
|
-
dom.utils.removeClass(button, 'on');
|
|
30
|
-
|
|
31
|
-
return true;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* @private
|
|
36
|
-
* @description Finds the first and last child elements in a selection area.
|
|
37
|
-
* @param {Element} selectArea Selection area element
|
|
38
|
-
* @returns {{ first: Node, last: Node}} Object containing the first and last child elements
|
|
39
|
-
*/
|
|
40
|
-
const __findFirstAndLast = function (selectArea) {
|
|
41
|
-
const isContentLess = dom.check.isContentLess;
|
|
42
|
-
const isTable = dom.check.isTable;
|
|
43
|
-
const first =
|
|
44
|
-
dom.query.getEdgeChild(
|
|
45
|
-
dom.query.getEdgeChild(selectArea, (current) => !isContentLess(current), false),
|
|
46
|
-
(current) => {
|
|
47
|
-
return current.childNodes.length === 0 || current.nodeType === 3 || isTable(current);
|
|
48
|
-
},
|
|
49
|
-
false
|
|
50
|
-
) || selectArea.firstChild;
|
|
51
|
-
const last =
|
|
52
|
-
dom.query.getEdgeChild(
|
|
53
|
-
selectArea.lastChild,
|
|
54
|
-
(current) => {
|
|
55
|
-
return current.childNodes.length === 0 || current.nodeType === 3 || isTable(current);
|
|
56
|
-
},
|
|
57
|
-
true
|
|
58
|
-
) || selectArea.lastChild;
|
|
59
|
-
|
|
60
|
-
return { first, last };
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* @description List of commands that trigger active event handling in the editor.
|
|
65
|
-
* - These commands typically apply inline formatting or structural changes.
|
|
66
|
-
* @constant {string[]}
|
|
67
|
-
*/
|
|
68
|
-
export const ACTIVE_EVENT_COMMANDS = ['bold', 'underline', 'italic', 'strike', 'subscript', 'superscript', 'indent', 'outdent'];
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* @description List of basic editor commands, including active event commands and additional actions
|
|
72
|
-
* - such as undo, redo, saving, full-screen toggle, and text direction commands.
|
|
73
|
-
* @constant {string[]}
|
|
74
|
-
*/
|
|
75
|
-
export const BASIC_COMMANDS = ACTIVE_EVENT_COMMANDS.concat(['undo', 'redo', 'save', 'fullScreen', 'showBlocks', 'codeView', 'dir', 'dir_ltr', 'dir_rtl']);
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* @description Selects all content in the editor.
|
|
79
|
-
* @param {__se__EditorCore} editor - The root editor instance
|
|
80
|
-
*/
|
|
81
|
-
export function SELECT_ALL(editor) {
|
|
82
|
-
editor.ui._offCurrentController();
|
|
83
|
-
editor.menu.containerOff();
|
|
84
|
-
|
|
85
|
-
// check all tags
|
|
86
|
-
const ww = editor.frameContext.get('wysiwyg');
|
|
87
|
-
let prevScopeTag = null;
|
|
88
|
-
let prevScopeTagName = '';
|
|
89
|
-
const scopeSelectionTags = editor.options.get('scopeSelectionTags');
|
|
90
|
-
const range = editor.selection.getRange();
|
|
91
|
-
if (!range.collapsed) {
|
|
92
|
-
let commonNode = range.commonAncestorContainer;
|
|
93
|
-
let commonNodeName = commonNode.nodeName?.toLowerCase();
|
|
94
|
-
|
|
95
|
-
while (commonNode && ((!commonNode.nextSibling && !commonNode.previousSibling && !scopeSelectionTags.includes(commonNodeName)) || dom.check.isContentLess(commonNodeName)) && commonNode !== ww) {
|
|
96
|
-
commonNode = commonNode.parentElement;
|
|
97
|
-
commonNodeName = commonNode.nodeName?.toLowerCase();
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
if (scopeSelectionTags.includes(commonNodeName)) {
|
|
101
|
-
prevScopeTag = commonNode;
|
|
102
|
-
prevScopeTagName = commonNodeName;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
// select all
|
|
107
|
-
const scopeTagList = scopeSelectionTags.filter((tagName) => tagName !== prevScopeTagName);
|
|
108
|
-
const scopeBaseTag = dom.query.getParentElement(prevScopeTag || editor.selection.getNode(), (current) => scopeTagList.includes(current.nodeName?.toLowerCase()));
|
|
109
|
-
|
|
110
|
-
let selectArea = scopeBaseTag || ww;
|
|
111
|
-
let { first, last } = __findFirstAndLast(selectArea);
|
|
112
|
-
|
|
113
|
-
if (!first || !last) return;
|
|
114
|
-
|
|
115
|
-
const isZeroWidth = dom.check.isZeroWidth;
|
|
116
|
-
while (isZeroWidth(first) && isZeroWidth(last) && selectArea !== ww) {
|
|
117
|
-
selectArea = selectArea.parentElement;
|
|
118
|
-
({ first, last } = __findFirstAndLast(dom.query.getParentElement(selectArea, (current) => scopeTagList.includes(current.nodeName?.toLowerCase())) || ww));
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
if (!first || !last) return;
|
|
122
|
-
|
|
123
|
-
let info = null;
|
|
124
|
-
if (dom.check.isMedia(first) || (info = editor.component.get(first.parentElement)) || dom.check.isTableElements(first)) {
|
|
125
|
-
const br = dom.utils.createElement('BR');
|
|
126
|
-
const format = dom.utils.createElement(editor.options.get('defaultLine'), null, br);
|
|
127
|
-
first = info ? info.container || info.cover : first;
|
|
128
|
-
first.parentElement.insertBefore(format, first);
|
|
129
|
-
first = br;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
if (dom.check.isMedia(last) || (info = editor.component.get(last.parentElement)) || dom.check.isTableElements(last)) {
|
|
133
|
-
const br = dom.utils.createElement('BR');
|
|
134
|
-
const format = dom.utils.createElement(editor.options.get('defaultLine'), null, br);
|
|
135
|
-
last = info ? info.container || info.cover : last;
|
|
136
|
-
last.parentElement.appendChild(format);
|
|
137
|
-
last = br;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
editor.toolbar._showBalloon(editor.selection.setRange(first, 0, last, last.textContent.length));
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* @description Toggles direction button active state.
|
|
145
|
-
* @param {__se__EditorCore} editor - The root editor instance
|
|
146
|
-
* @param {boolean} rtl - Whether the text direction is right-to-left.
|
|
147
|
-
*/
|
|
148
|
-
export function DIR_BTN_ACTIVE(editor, rtl) {
|
|
149
|
-
const icons = editor.icons;
|
|
150
|
-
const commandTargets = editor.commandTargets;
|
|
151
|
-
const shortcutsKeyMap = editor.shortcutsKeyMap;
|
|
152
|
-
|
|
153
|
-
// change reverse shortcuts key
|
|
154
|
-
editor.reverseKeys.forEach((e) => {
|
|
155
|
-
const info = shortcutsKeyMap.get(e);
|
|
156
|
-
if (!info) return;
|
|
157
|
-
const temp = info.c;
|
|
158
|
-
info.c = info.r;
|
|
159
|
-
info.r = temp;
|
|
160
|
-
});
|
|
161
|
-
|
|
162
|
-
// change dir buttons
|
|
163
|
-
editor.applyCommandTargets('dir', (e) => {
|
|
164
|
-
dom.utils.changeTxt(e.querySelector('.se-tooltip-text'), editor.lang[rtl ? 'dir_ltr' : 'dir_rtl']);
|
|
165
|
-
dom.utils.changeElement(e.firstElementChild, icons[rtl ? 'dir_ltr' : 'dir_rtl']);
|
|
166
|
-
});
|
|
167
|
-
|
|
168
|
-
if (rtl) {
|
|
169
|
-
dom.utils.addClass(commandTargets.get('dir_rtl'), 'active');
|
|
170
|
-
dom.utils.removeClass(commandTargets.get('dir_ltr'), 'active');
|
|
171
|
-
} else {
|
|
172
|
-
dom.utils.addClass(commandTargets.get('dir_ltr'), 'active');
|
|
173
|
-
dom.utils.removeClass(commandTargets.get('dir_rtl'), 'active');
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* @description Saves the editor content.
|
|
179
|
-
* @param {__se__EditorCore} editor - The root editor instance
|
|
180
|
-
* @returns {Promise<void>}
|
|
181
|
-
*/
|
|
182
|
-
export async function SAVE(editor) {
|
|
183
|
-
const fc = editor.frameContext;
|
|
184
|
-
if (!fc.get('isChanged')) return;
|
|
185
|
-
|
|
186
|
-
const data = editor.html.get();
|
|
187
|
-
const saved = await editor.triggerEvent('onSave', { frameContext: fc, data });
|
|
188
|
-
if (saved === NO_EVENT) {
|
|
189
|
-
const origin = fc.get('originElement');
|
|
190
|
-
if (/^TEXTAREA$/i.test(origin.nodeName)) {
|
|
191
|
-
origin.value = data;
|
|
192
|
-
} else {
|
|
193
|
-
origin.innerHTML = data;
|
|
194
|
-
}
|
|
195
|
-
} else if (saved === false) {
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
fc.set('isChanged', false);
|
|
200
|
-
fc.set('savedIndex', editor.history.getRootStack()[editor.status.rootKey].index);
|
|
201
|
-
|
|
202
|
-
// set save button disable
|
|
203
|
-
editor.applyCommandTargets('save', (e) => {
|
|
204
|
-
e.disabled = true;
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
/**
|
|
209
|
-
* @description Copies formatting from selected text.
|
|
210
|
-
* @param {__se__EditorCore} editor - The root editor instance
|
|
211
|
-
* @param {Node} button - The button triggering the copy format function.
|
|
212
|
-
*/
|
|
213
|
-
export function COPY_FORMAT(editor, button) {
|
|
214
|
-
if (typeof editor._onCopyFormatInitMethod === 'function') {
|
|
215
|
-
editor._onCopyFormatInitMethod();
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
const ww = editor.frameContext.get('wysiwyg');
|
|
220
|
-
editor._onCopyFormatInfo = [...editor.eventManager.__cacheStyleNodes];
|
|
221
|
-
editor._onCopyFormatInitMethod = __RemoveCopyformt.bind(editor, ww, button);
|
|
222
|
-
dom.utils.addClass(ww, 'se-copy-format-cursor');
|
|
223
|
-
dom.utils.addClass(button, 'on');
|
|
224
|
-
|
|
225
|
-
__globalEventKeydown = editor.eventManager.addGlobalEvent('keydown', (e) => {
|
|
226
|
-
if (!keyCodeMap.isEsc(e.code)) return;
|
|
227
|
-
editor._onCopyFormatInitMethod?.();
|
|
228
|
-
});
|
|
229
|
-
__globalEventMousedown = editor.eventManager.addGlobalEvent('mousedown', (e) => {
|
|
230
|
-
if (ww.contains(e.target) || e.target === button) return;
|
|
231
|
-
editor._onCopyFormatInitMethod?.();
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
/**
|
|
236
|
-
* @description Applies font styling to selected text.
|
|
237
|
-
* @param {__se__EditorCore} editor - The root editor instance
|
|
238
|
-
* @param {string} command - The font style command (e.g., bold, italic, underline).
|
|
239
|
-
*/
|
|
240
|
-
export function FONT_STYLE(editor, command) {
|
|
241
|
-
command = editor.options.get('_defaultTagCommand')[command.toLowerCase()] || command;
|
|
242
|
-
let nodeName = editor.options.get('convertTextTags')[command] || command;
|
|
243
|
-
const nodesMap = editor.status.currentNodesMap;
|
|
244
|
-
const el = nodesMap.includes(editor.options.get('_styleCommandMap')[nodeName]) ? null : dom.utils.createElement(nodeName);
|
|
245
|
-
|
|
246
|
-
if (/^sub$/i.test(nodeName) && nodesMap.includes('superscript')) {
|
|
247
|
-
nodeName = 'sup';
|
|
248
|
-
} else if (/^sup$/i.test(nodeName) && nodesMap.includes('subscript')) {
|
|
249
|
-
nodeName = 'sub';
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
editor.format.applyInlineElement(el, { stylesToModify: StyleMap[command] || null, nodesToRemove: [nodeName], strictRemove: false });
|
|
253
|
-
editor.focus();
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
/**
|
|
257
|
-
* @description Inserts a page break element into the editor.
|
|
258
|
-
* @param {__se__EditorCore} editor - The root editor instance
|
|
259
|
-
*/
|
|
260
|
-
export function PAGE_BREAK(editor) {
|
|
261
|
-
const pageBreak = dom.utils.createElement('DIV', { class: 'se-component se-component-line-break se-page-break' });
|
|
262
|
-
editor.component.insert(pageBreak, { skipCharCount: true, skipSelection: true, skipHistory: false });
|
|
263
|
-
const line = pageBreak.nextElementSibling || editor.format.addLine(pageBreak);
|
|
264
|
-
editor.selection.setRange(line, 1, line, 1);
|
|
265
|
-
editor.history.push(false);
|
|
266
|
-
}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { get as getNumber } from '../../helper/numbers';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @description Elements and variables you should have
|
|
5
|
-
* @param {{target: Element, key: *, options: __se__FrameOptions}} editorTarget Target textarea
|
|
6
|
-
* @param {HTMLElement} top Editor top area
|
|
7
|
-
* @param {HTMLElement} wwFrame Editor wysiwyg frame
|
|
8
|
-
* @param {HTMLElement} codeWrapper Editor code view wrapper
|
|
9
|
-
* @param {HTMLElement} codeFrame Editor code view frame
|
|
10
|
-
* @param {{inner: HTMLElement, page: HTMLElement, pageMirror: HTMLElement}} documentTypeInner Document type elements
|
|
11
|
-
* @param {?HTMLElement} statusbar Editor statusbar
|
|
12
|
-
* @param {*} key root key
|
|
13
|
-
* @returns {__se__FrameContext}
|
|
14
|
-
*/
|
|
15
|
-
export function CreateFrameContext(editorTarget, top, wwFrame, codeWrapper, codeFrame, statusbar, documentTypeInner, key) {
|
|
16
|
-
const m = new Map([
|
|
17
|
-
['key', key],
|
|
18
|
-
['options', editorTarget.options],
|
|
19
|
-
['originElement', editorTarget.target],
|
|
20
|
-
['topArea', top],
|
|
21
|
-
['container', top.querySelector('.se-container')],
|
|
22
|
-
['wrapper', top.querySelector('.se-wrapper')],
|
|
23
|
-
['documentTypeInner', documentTypeInner.inner],
|
|
24
|
-
['documentTypePage', documentTypeInner.page],
|
|
25
|
-
['documentTypePageMirror', documentTypeInner.pageMirror],
|
|
26
|
-
['wysiwygFrame', wwFrame],
|
|
27
|
-
['wysiwyg', wwFrame], // options.iframe ? wwFrame.contentDocument.body : wwFrame
|
|
28
|
-
['codeWrapper', codeWrapper],
|
|
29
|
-
['code', codeFrame],
|
|
30
|
-
['codeNumbers', /** @type {HTMLTextAreaElement} */ (codeWrapper?.querySelector('.se-code-view-line'))],
|
|
31
|
-
['lineBreaker_t', top.querySelector('.se-line-breaker-component-t')],
|
|
32
|
-
['lineBreaker_b', top.querySelector('.se-line-breaker-component-b')],
|
|
33
|
-
['_stickyDummy', top.querySelector('.se-toolbar-sticky-dummy')],
|
|
34
|
-
['_toolbarShadow', top.querySelector('.se-toolbar-shadow')],
|
|
35
|
-
['_minHeight', getNumber(wwFrame.style.minHeight || '65', 0)],
|
|
36
|
-
['isCodeView', false],
|
|
37
|
-
['isFullScreen', false],
|
|
38
|
-
['isReadOnly', false],
|
|
39
|
-
['isDisabled', false],
|
|
40
|
-
['isChanged', -1],
|
|
41
|
-
['historyIndex', -1],
|
|
42
|
-
['savedIndex', -1],
|
|
43
|
-
['eventwysiwyg', null]
|
|
44
|
-
]);
|
|
45
|
-
|
|
46
|
-
if (statusbar) UpdateStatusbarContext(statusbar, m);
|
|
47
|
-
|
|
48
|
-
const placeholder = top.querySelector('.se-placeholder');
|
|
49
|
-
if (placeholder) m.set('placeholder', placeholder);
|
|
50
|
-
|
|
51
|
-
return m;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* @description Update statusbar context
|
|
56
|
-
* @param {HTMLElement} statusbar Statusbar element
|
|
57
|
-
* @param {__se__FrameContext} mapper FrameContext map
|
|
58
|
-
*/
|
|
59
|
-
export function UpdateStatusbarContext(statusbar, mapper) {
|
|
60
|
-
statusbar ? mapper.set('statusbar', statusbar) : mapper.delete('statusbar');
|
|
61
|
-
const navigation = statusbar ? statusbar.querySelector('.se-navigation') : null;
|
|
62
|
-
const charWrapper = statusbar ? statusbar.querySelector('.se-char-counter-wrapper') : null;
|
|
63
|
-
const charCounter = statusbar ? statusbar.querySelector('.se-char-counter-wrapper .se-char-counter') : null;
|
|
64
|
-
navigation ? mapper.set('navigation', navigation) : mapper.delete('navigation');
|
|
65
|
-
charWrapper ? mapper.set('charWrapper', charWrapper) : mapper.delete('charWrapper');
|
|
66
|
-
charCounter ? mapper.set('charCounter', charCounter) : mapper.delete('charCounter');
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* @description Common elements and variables you should have
|
|
71
|
-
* @param {HTMLElement} toolbar Toolbar frame
|
|
72
|
-
* @param {HTMLElement|null} toolbarContainer Toolbar container
|
|
73
|
-
* @param {HTMLElement} menuTray menu tray
|
|
74
|
-
* @param {HTMLElement|null} subbar sub toolbar
|
|
75
|
-
* @returns {__se__Context}
|
|
76
|
-
*/
|
|
77
|
-
export function CreateContext(toolbar, toolbarContainer, menuTray, subbar, statusbarContainer) {
|
|
78
|
-
const m = new Map([
|
|
79
|
-
['menuTray', menuTray],
|
|
80
|
-
['toolbar.main', toolbar],
|
|
81
|
-
['toolbar.buttonTray', toolbar.querySelector('.se-btn-tray')],
|
|
82
|
-
['toolbar._arrow', toolbar.querySelector('.se-arrow')]
|
|
83
|
-
]);
|
|
84
|
-
|
|
85
|
-
if (subbar) {
|
|
86
|
-
m.set('toolbar.sub.main', subbar);
|
|
87
|
-
m.set('toolbar.sub.buttonTray', subbar.querySelector('.se-btn-tray'));
|
|
88
|
-
m.set('toolbar.sub._arrow', subbar.querySelector('.se-arrow'));
|
|
89
|
-
m.set('toolbar.sub._wrapper', subbar.parentElement.parentElement);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
if (toolbarContainer) {
|
|
93
|
-
m.set('toolbar._wrapper', toolbarContainer.querySelector('.sun-editor'));
|
|
94
|
-
m.set('_stickyDummy', toolbarContainer.querySelector('.se-toolbar-sticky-dummy'));
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
if (statusbarContainer) {
|
|
98
|
-
m.set('statusbar._wrapper', statusbarContainer.querySelector('.sun-editor'));
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return m;
|
|
102
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @private
|
|
3
|
-
* @description Add all inner classes to the editor instance.
|
|
4
|
-
* @param {__se__EditorCore} editor - The root editor instance
|
|
5
|
-
*/
|
|
6
|
-
function ClassInjector(editor) {
|
|
7
|
-
/** @description Toolbar class instance @type {__se__EditorCore['toolbar']} */
|
|
8
|
-
this.toolbar = editor.toolbar;
|
|
9
|
-
/** @description Sub-Toolbar class instance @type {__se__EditorCore['subToolbar']|null} */
|
|
10
|
-
this.subToolbar = null;
|
|
11
|
-
if (editor.subToolbar) this.subToolbar = editor.subToolbar;
|
|
12
|
-
/** @description Char class instance @type {__se__EditorCore['char']} */
|
|
13
|
-
this.char = editor.char;
|
|
14
|
-
/** @description Component class instance @type {__se__EditorCore['component']} */
|
|
15
|
-
this.component = editor.component;
|
|
16
|
-
/** @description Format class instance @type {__se__EditorCore['format']} */
|
|
17
|
-
this.format = editor.format;
|
|
18
|
-
/** @description HTML class instance @type {__se__EditorCore['html']} */
|
|
19
|
-
this.html = editor.html;
|
|
20
|
-
/** @description Menu class instance @type {__se__EditorCore['menu']} */
|
|
21
|
-
this.menu = editor.menu;
|
|
22
|
-
/** @description NodeTransform class instance @type {__se__EditorCore['nodeTransform']} */
|
|
23
|
-
this.nodeTransform = editor.nodeTransform;
|
|
24
|
-
/** @description Offset class instance @type {__se__EditorCore['offset']} */
|
|
25
|
-
this.offset = editor.offset;
|
|
26
|
-
/** @description Selection class instance @type {__se__EditorCore['selection']} */
|
|
27
|
-
this.selection = editor.selection;
|
|
28
|
-
/** @description Shortcuts class instance @type {__se__EditorCore['shortcuts']} */
|
|
29
|
-
this.shortcuts = editor.shortcuts;
|
|
30
|
-
/** @description UI class instance @type {__se__EditorCore['ui']} */
|
|
31
|
-
this.ui = editor.ui;
|
|
32
|
-
/** @description Viewer class instance @type {__se__EditorCore['viewer']} */
|
|
33
|
-
this.viewer = editor.viewer;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export default ClassInjector;
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description Add default properties to the editor core object.
|
|
3
|
-
* @param {__se__EditorCore} editor - The root editor instance
|
|
4
|
-
*/
|
|
5
|
-
export default function CoreInjector(editor) {
|
|
6
|
-
/**
|
|
7
|
-
* @description The root editor instance.
|
|
8
|
-
* @type {__se__EditorCore}
|
|
9
|
-
*/
|
|
10
|
-
this.editor = editor;
|
|
11
|
-
|
|
12
|
-
// base
|
|
13
|
-
/**
|
|
14
|
-
* @description The event manager instance.
|
|
15
|
-
* @type {__se__EditorCore['eventManager']}
|
|
16
|
-
*/
|
|
17
|
-
this.eventManager = editor.eventManager;
|
|
18
|
-
/**
|
|
19
|
-
* @description The history manager instance.
|
|
20
|
-
* @type {__se__EditorCore['history']}
|
|
21
|
-
*/
|
|
22
|
-
this.history = editor.history;
|
|
23
|
-
/**
|
|
24
|
-
* @description The events instance.
|
|
25
|
-
* @type {__se__EditorCore['events']}
|
|
26
|
-
*/
|
|
27
|
-
this.events = editor.events;
|
|
28
|
-
/**
|
|
29
|
-
* @description The function to trigger an event.
|
|
30
|
-
* @type {__se__EditorCore['triggerEvent']}
|
|
31
|
-
*/
|
|
32
|
-
this.triggerEvent = editor.triggerEvent;
|
|
33
|
-
/**
|
|
34
|
-
* @description The wrapper element for carrying elements.
|
|
35
|
-
* @type {__se__EditorCore['carrierWrapper']}
|
|
36
|
-
*/
|
|
37
|
-
this.carrierWrapper = editor.carrierWrapper;
|
|
38
|
-
|
|
39
|
-
// environment variables
|
|
40
|
-
/**
|
|
41
|
-
* @description The plugins used by the editor.
|
|
42
|
-
* @type {__se__EditorCore['plugins']}
|
|
43
|
-
*/
|
|
44
|
-
this.plugins = editor.plugins;
|
|
45
|
-
/**
|
|
46
|
-
* @description The status of the editor.
|
|
47
|
-
* @type {__se__EditorStatus}
|
|
48
|
-
*/
|
|
49
|
-
this.status = editor.status;
|
|
50
|
-
/**
|
|
51
|
-
* @description The editor's context map.
|
|
52
|
-
* @type {__se__EditorCore['context']}
|
|
53
|
-
*/
|
|
54
|
-
this.context = editor.context;
|
|
55
|
-
/**
|
|
56
|
-
* @description The editor's options map.
|
|
57
|
-
* @type {__se__EditorCore['options']}
|
|
58
|
-
*/
|
|
59
|
-
this.options = editor.options;
|
|
60
|
-
/**
|
|
61
|
-
* @description The editor's icons.
|
|
62
|
-
* @type {__se__EditorCore['icons']}
|
|
63
|
-
*/
|
|
64
|
-
this.icons = editor.icons;
|
|
65
|
-
/**
|
|
66
|
-
* @description The language settings.
|
|
67
|
-
* @type {__se__EditorCore['lang']}
|
|
68
|
-
*/
|
|
69
|
-
this.lang = editor.lang;
|
|
70
|
-
/**
|
|
71
|
-
* @description editor.frameRoots map.
|
|
72
|
-
* @type {__se__EditorCore['frameRoots']}
|
|
73
|
-
*/
|
|
74
|
-
this.frameRoots = editor.frameRoots;
|
|
75
|
-
|
|
76
|
-
// window, document, shadowRoot
|
|
77
|
-
/**
|
|
78
|
-
* @description The window object.
|
|
79
|
-
* @type {Window}
|
|
80
|
-
*/
|
|
81
|
-
this._w = editor._w;
|
|
82
|
-
/**
|
|
83
|
-
* @description The document object.
|
|
84
|
-
* @type {Document}
|
|
85
|
-
*/
|
|
86
|
-
this._d = editor._d;
|
|
87
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import CoreInjector from './_core';
|
|
2
|
-
import ClassInjector from './_classes';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @description Initializes and adds inner classes and default properties of the editor.
|
|
6
|
-
* @param {__se__EditorCore} editor - The root editor instance
|
|
7
|
-
*/
|
|
8
|
-
function EditorInjector(editor) {
|
|
9
|
-
// CoreInjector props
|
|
10
|
-
/** @type {__se__EditorCore} */
|
|
11
|
-
this.editor;
|
|
12
|
-
/** @type {import('./_core').default['eventManager']} */
|
|
13
|
-
this.eventManager;
|
|
14
|
-
/** @type {import('./_core').default['history']} */
|
|
15
|
-
this.history;
|
|
16
|
-
/** @type {import('./_core').default['events']} */
|
|
17
|
-
this.events;
|
|
18
|
-
/** @type {import('./_core').default['triggerEvent']} */
|
|
19
|
-
this.triggerEvent;
|
|
20
|
-
/** @type {import('./_core').default['carrierWrapper']} */
|
|
21
|
-
this.carrierWrapper;
|
|
22
|
-
/** @type {import('./_core').default['plugins']} */
|
|
23
|
-
this.plugins;
|
|
24
|
-
/** @type {import('./_core').default['status']} */
|
|
25
|
-
this.status;
|
|
26
|
-
/** @type {import('./_core').default['context']} */
|
|
27
|
-
this.context;
|
|
28
|
-
/** @type {import('./_core').default['options']} */
|
|
29
|
-
this.options;
|
|
30
|
-
/** @type {import('./_core').default['icons']} */
|
|
31
|
-
this.icons;
|
|
32
|
-
/** @type {import('./_core').default['lang']} */
|
|
33
|
-
this.lang;
|
|
34
|
-
/** @type {import('./_core').default['frameRoots']} */
|
|
35
|
-
this.frameRoots;
|
|
36
|
-
/** @type {import('./_core').default['_w']} */
|
|
37
|
-
this._w;
|
|
38
|
-
/** @type {import('./_core').default['_d']} */
|
|
39
|
-
this._d;
|
|
40
|
-
|
|
41
|
-
// ClassInjector props
|
|
42
|
-
/** @type {import('./_classes').default['toolbar']} */
|
|
43
|
-
this.toolbar;
|
|
44
|
-
/** @type {import('./_classes').default['subToolbar']} */
|
|
45
|
-
this.subToolbar;
|
|
46
|
-
/** @type {import('./_classes').default['char']} */
|
|
47
|
-
this.char;
|
|
48
|
-
/** @type {import('./_classes').default['component']} */
|
|
49
|
-
this.component;
|
|
50
|
-
/** @type {import('./_classes').default['format']} */
|
|
51
|
-
this.format;
|
|
52
|
-
/** @type {import('./_classes').default['html']} */
|
|
53
|
-
this.html;
|
|
54
|
-
/** @type {import('./_classes').default['menu']} */
|
|
55
|
-
this.menu;
|
|
56
|
-
/** @type {import('./_classes').default['nodeTransform']} */
|
|
57
|
-
this.nodeTransform;
|
|
58
|
-
/** @type {import('./_classes').default['offset']} */
|
|
59
|
-
this.offset;
|
|
60
|
-
/** @type {import('./_classes').default['selection']} */
|
|
61
|
-
this.selection;
|
|
62
|
-
/** @type {import('./_classes').default['shortcuts']} */
|
|
63
|
-
this.shortcuts;
|
|
64
|
-
/** @type {import('./_classes').default['ui']} */
|
|
65
|
-
this.ui;
|
|
66
|
-
/** @type {import('./_classes').default['viewer']} */
|
|
67
|
-
this.viewer;
|
|
68
|
-
|
|
69
|
-
CoreInjector.call(this, editor);
|
|
70
|
-
ClassInjector.call(this, editor);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export default EditorInjector;
|