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,64 +1,46 @@
|
|
|
1
|
+
import type {} from '../../typedef';
|
|
1
2
|
export default FontColor;
|
|
3
|
+
export type FontColorPluginOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* - Color list
|
|
6
|
+
*/
|
|
7
|
+
items?: Array<
|
|
8
|
+
| string
|
|
9
|
+
| {
|
|
10
|
+
value: string;
|
|
11
|
+
name: string;
|
|
12
|
+
}
|
|
13
|
+
>;
|
|
14
|
+
/**
|
|
15
|
+
* - Number of colors per line
|
|
16
|
+
*/
|
|
17
|
+
splitNum?: number;
|
|
18
|
+
/**
|
|
19
|
+
* - Disable HEX input
|
|
20
|
+
*/
|
|
21
|
+
disableHEXInput?: boolean;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* @typedef {Object} FontColorPluginOptions
|
|
25
|
+
* @property {Array<string|{value: string, name: string}>} [items] - Color list
|
|
26
|
+
* @property {number} [splitNum] - Number of colors per line
|
|
27
|
+
* @property {boolean} [disableHEXInput] - Disable HEX input
|
|
28
|
+
*/
|
|
2
29
|
/**
|
|
3
30
|
* @class
|
|
4
31
|
* @description Font color plugin
|
|
5
32
|
*/
|
|
6
|
-
declare class FontColor extends
|
|
7
|
-
static key: string;
|
|
8
|
-
static type: string;
|
|
9
|
-
static className: string;
|
|
33
|
+
declare class FontColor extends PluginDropdownFree {
|
|
10
34
|
/**
|
|
11
35
|
* @constructor
|
|
12
|
-
* @param {
|
|
13
|
-
* @param {
|
|
14
|
-
* @param {Array<string|{value: string, name: string}>} pluginOptions.items - Color list
|
|
15
|
-
* @param {number} pluginOptions.splitNum - Number of colors per line
|
|
16
|
-
* @param {boolean} pluginOptions.disableHEXInput - Disable HEX input
|
|
36
|
+
* @param {SunEditor.Kernel} editor - The core kernel
|
|
37
|
+
* @param {FontColorPluginOptions} pluginOptions - Plugin options
|
|
17
38
|
*/
|
|
18
|
-
constructor(
|
|
19
|
-
editor: __se__EditorCore,
|
|
20
|
-
pluginOptions: {
|
|
21
|
-
items: Array<
|
|
22
|
-
| string
|
|
23
|
-
| {
|
|
24
|
-
value: string;
|
|
25
|
-
name: string;
|
|
26
|
-
}
|
|
27
|
-
>;
|
|
28
|
-
splitNum: number;
|
|
29
|
-
disableHEXInput: boolean;
|
|
30
|
-
}
|
|
31
|
-
);
|
|
39
|
+
constructor(editor: SunEditor.Kernel, pluginOptions: FontColorPluginOptions);
|
|
32
40
|
title: any;
|
|
33
|
-
icon: string;
|
|
34
41
|
colorPicker: ColorPicker;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
* @description Executes the method that is called whenever the cursor position changes.
|
|
38
|
-
* @param {?HTMLElement=} element - Node element where the cursor is currently located
|
|
39
|
-
* @param {?HTMLElement=} target - The plugin's toolbar button element
|
|
40
|
-
* @returns {boolean} - Whether the plugin is active
|
|
41
|
-
* - If it returns "undefined", it will no longer be called in this scope.
|
|
42
|
-
*/
|
|
43
|
-
active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
|
|
44
|
-
/**
|
|
45
|
-
* @editorMethod Modules.Dropdown
|
|
46
|
-
* @description Executes the method that is called when a plugin's dropdown menu is opened.
|
|
47
|
-
* @param {HTMLElement} target Line element at the current cursor position
|
|
48
|
-
*/
|
|
49
|
-
on(target: HTMLElement): void;
|
|
50
|
-
/**
|
|
51
|
-
* @editorMethod Modules.Dropdown
|
|
52
|
-
* @Override Executes the method that is called when a plugin's dropdown menu is closed.
|
|
53
|
-
*/
|
|
54
|
-
off(): void;
|
|
55
|
-
/**
|
|
56
|
-
* @editorMethod Modules.ColorPicker
|
|
57
|
-
* @description Executes the method called when a button of "ColorPicker" module is clicked.
|
|
58
|
-
* - This plugin is by applying the "ColorPicker" module globally to the "dropdown" menu, the default "action" method is not called.
|
|
59
|
-
* @param {string} color - Color code (hex)
|
|
60
|
-
*/
|
|
61
|
-
colorPickerAction(color: string): void;
|
|
42
|
+
active(element: HTMLElement | null, target: HTMLElement | null): boolean | void;
|
|
43
|
+
colorPickerAction(color: SunEditor.Module.HueSlider.Color): void;
|
|
62
44
|
}
|
|
63
|
-
import
|
|
64
|
-
import ColorPicker from '../../modules/
|
|
45
|
+
import { PluginDropdownFree } from '../../interfaces';
|
|
46
|
+
import { ColorPicker } from '../../modules/contract';
|
|
@@ -1,71 +1,45 @@
|
|
|
1
|
+
import type {} from '../../typedef';
|
|
1
2
|
export default HR;
|
|
3
|
+
export type HRPluginOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* - HR list
|
|
6
|
+
*/
|
|
7
|
+
items?: Array<{
|
|
8
|
+
name: string;
|
|
9
|
+
class: string;
|
|
10
|
+
style?: string;
|
|
11
|
+
}>;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* @typedef {Object} HRPluginOptions
|
|
15
|
+
* @property {Array<{name: string, class: string, style?: string}>} [items] - HR list
|
|
16
|
+
*/
|
|
2
17
|
/**
|
|
3
18
|
* @class
|
|
4
19
|
* @description HR Plugin
|
|
5
20
|
*/
|
|
6
|
-
declare class HR extends
|
|
7
|
-
static key: string;
|
|
8
|
-
static type: string;
|
|
9
|
-
static className: string;
|
|
21
|
+
declare class HR extends PluginDropdown {
|
|
10
22
|
/**
|
|
11
|
-
* @this {HR}
|
|
12
23
|
* @param {HTMLElement} node - The node to check.
|
|
13
24
|
* @returns {HTMLElement|null} Returns a node if the node is a valid component.
|
|
14
25
|
*/
|
|
15
|
-
static component(
|
|
26
|
+
static component(node: HTMLElement): HTMLElement | null;
|
|
16
27
|
/**
|
|
17
28
|
* @constructor
|
|
18
|
-
* @param {
|
|
19
|
-
* @param {
|
|
20
|
-
* @param {Array<{name: string, class: string}>} pluginOptions.items - HR list
|
|
29
|
+
* @param {SunEditor.Kernel} editor - The core kernel
|
|
30
|
+
* @param {HRPluginOptions} pluginOptions - Plugin options
|
|
21
31
|
*/
|
|
22
|
-
constructor(
|
|
23
|
-
editor: __se__EditorCore,
|
|
24
|
-
pluginOptions: {
|
|
25
|
-
items: Array<{
|
|
26
|
-
name: string;
|
|
27
|
-
class: string;
|
|
28
|
-
}>;
|
|
29
|
-
}
|
|
30
|
-
);
|
|
32
|
+
constructor(editor: SunEditor.Kernel, pluginOptions: HRPluginOptions);
|
|
31
33
|
title: any;
|
|
32
|
-
icon: string;
|
|
33
34
|
list: NodeListOf<HTMLButtonElement>;
|
|
35
|
+
componentSelect(target: HTMLElement): void | boolean;
|
|
36
|
+
componentDeselect(target: HTMLElement): void;
|
|
37
|
+
componentDestroy(target: HTMLElement): Promise<void>;
|
|
38
|
+
shortcut(params: SunEditor.HookParams.Shortcut): void;
|
|
34
39
|
/**
|
|
35
|
-
* @
|
|
36
|
-
* @description Executes the method that is called when a component of a plugin is selected.
|
|
37
|
-
* @param {HTMLElement} target Target component element
|
|
38
|
-
*/
|
|
39
|
-
select(target: HTMLElement): void;
|
|
40
|
-
/**
|
|
41
|
-
* @editorMethod Editor.Component
|
|
42
|
-
* @description Called when a container is deselected.
|
|
43
|
-
* @param {HTMLElement} element Target element
|
|
44
|
-
*/
|
|
45
|
-
deselect(element: HTMLElement): void;
|
|
46
|
-
/**
|
|
47
|
-
* @editorMethod Editor.Component
|
|
48
|
-
* @description Method to delete a component of a plugin, called by the "FileManager", "Controller" module.
|
|
49
|
-
* @param {HTMLElement} target Target element
|
|
50
|
-
*/
|
|
51
|
-
destroy(target: HTMLElement): void;
|
|
52
|
-
/**
|
|
53
|
-
* @editorMethod Editor.core
|
|
54
|
-
* @description Executes the main execution method of the plugin.
|
|
55
|
-
* - Called when an item in the "dropdown" menu is clicked.
|
|
56
|
-
* @param {HTMLElement} target - The plugin's toolbar button element
|
|
57
|
-
*/
|
|
58
|
-
action(target: HTMLElement): void;
|
|
59
|
-
/**
|
|
60
|
-
* @editorMethod Editor.core
|
|
61
|
-
* @description Executes methods called by shortcut keys.
|
|
62
|
-
* @param {__se__PluginShortcutInfo} params - Information of the "shortcut" plugin
|
|
63
|
-
*/
|
|
64
|
-
shortcut({ line, range }: __se__PluginShortcutInfo): void;
|
|
65
|
-
/**
|
|
66
|
-
* @description Add a hr element
|
|
40
|
+
* @description Add a `hr` element
|
|
67
41
|
* @param {string} className HR class name
|
|
68
42
|
*/
|
|
69
43
|
submit(className: string): HTMLElement;
|
|
70
44
|
}
|
|
71
|
-
import
|
|
45
|
+
import { PluginDropdown } from '../../interfaces';
|
|
@@ -1,40 +1,34 @@
|
|
|
1
|
+
import type {} from '../../typedef';
|
|
1
2
|
export default Layout;
|
|
3
|
+
export type LayoutPluginOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* - Layout list
|
|
6
|
+
*/
|
|
7
|
+
items?: Array<{
|
|
8
|
+
name: string;
|
|
9
|
+
html: string;
|
|
10
|
+
}>;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* @typedef {Object} LayoutPluginOptions
|
|
14
|
+
* @property {Array<{name: string, html: string}>} [items] - Layout list
|
|
15
|
+
*/
|
|
2
16
|
/**
|
|
3
17
|
* @class
|
|
4
18
|
* @description Layout Plugin, Apply layout to the entire editor.
|
|
5
19
|
*/
|
|
6
|
-
declare class Layout extends
|
|
7
|
-
static key: string;
|
|
8
|
-
static type: string;
|
|
9
|
-
static className: string;
|
|
20
|
+
declare class Layout extends PluginDropdown {
|
|
10
21
|
/**
|
|
11
22
|
* @constructor
|
|
12
|
-
* @param {
|
|
13
|
-
* @param {
|
|
14
|
-
* @param {Array<{name: string, html: string}>} pluginOptions.items - Layout list
|
|
23
|
+
* @param {SunEditor.Kernel} editor - The core kernel
|
|
24
|
+
* @param {LayoutPluginOptions} pluginOptions - Plugin options
|
|
15
25
|
*/
|
|
16
|
-
constructor(
|
|
17
|
-
editor: __se__EditorCore,
|
|
18
|
-
pluginOptions: {
|
|
19
|
-
items: Array<{
|
|
20
|
-
name: string;
|
|
21
|
-
html: string;
|
|
22
|
-
}>;
|
|
23
|
-
}
|
|
24
|
-
);
|
|
26
|
+
constructor(editor: SunEditor.Kernel, pluginOptions: LayoutPluginOptions);
|
|
25
27
|
title: any;
|
|
26
|
-
icon: string;
|
|
27
28
|
selectedIndex: number;
|
|
28
29
|
items: {
|
|
29
30
|
name: string;
|
|
30
31
|
html: string;
|
|
31
32
|
}[];
|
|
32
|
-
/**
|
|
33
|
-
* @editorMethod Editor.core
|
|
34
|
-
* @description Executes the main execution method of the plugin.
|
|
35
|
-
* - Called when an item in the "dropdown" menu is clicked.
|
|
36
|
-
* @param {HTMLElement} target - The plugin's toolbar button element
|
|
37
|
-
*/
|
|
38
|
-
action(target: HTMLElement): void;
|
|
39
33
|
}
|
|
40
|
-
import
|
|
34
|
+
import { PluginDropdown } from '../../interfaces';
|
|
@@ -1,51 +1,33 @@
|
|
|
1
|
+
import type {} from '../../typedef';
|
|
1
2
|
export default LineHeight;
|
|
3
|
+
export type LineHeightPluginOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* - Line height list
|
|
6
|
+
*/
|
|
7
|
+
items?: Array<{
|
|
8
|
+
text: string;
|
|
9
|
+
value: string;
|
|
10
|
+
}>;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* @typedef {Object} LineHeightPluginOptions
|
|
14
|
+
* @property {Array<{text: string, value: string}>} [items] - Line height list
|
|
15
|
+
*/
|
|
2
16
|
/**
|
|
3
17
|
* @class
|
|
4
18
|
* @description Line height Plugin
|
|
5
19
|
*/
|
|
6
|
-
declare class LineHeight extends
|
|
7
|
-
static key: string;
|
|
8
|
-
static type: string;
|
|
9
|
-
static className: string;
|
|
20
|
+
declare class LineHeight extends PluginDropdown {
|
|
10
21
|
/**
|
|
11
22
|
* @constructor
|
|
12
|
-
* @param {
|
|
13
|
-
* @param {
|
|
14
|
-
* @param {Array<{text: string, value: number}>} pluginOptions.items - Line height list
|
|
23
|
+
* @param {SunEditor.Kernel} editor - The core kernel
|
|
24
|
+
* @param {LineHeightPluginOptions} pluginOptions - Plugin options
|
|
15
25
|
*/
|
|
16
|
-
constructor(
|
|
17
|
-
editor: __se__EditorCore,
|
|
18
|
-
pluginOptions: {
|
|
19
|
-
items: Array<{
|
|
20
|
-
text: string;
|
|
21
|
-
value: number;
|
|
22
|
-
}>;
|
|
23
|
-
}
|
|
24
|
-
);
|
|
26
|
+
constructor(editor: SunEditor.Kernel, pluginOptions: LineHeightPluginOptions);
|
|
25
27
|
title: any;
|
|
26
|
-
icon: string;
|
|
27
28
|
sizeList: NodeListOf<Element>;
|
|
28
29
|
currentSize: any;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
* @description Executes the method that is called whenever the cursor position changes.
|
|
32
|
-
* @param {?HTMLElement=} element - Node element where the cursor is currently located
|
|
33
|
-
* @param {?HTMLElement=} target - The plugin's toolbar button element
|
|
34
|
-
* @returns {boolean} - Whether the plugin is active
|
|
35
|
-
* - If it returns "undefined", it will no longer be called in this scope.
|
|
36
|
-
*/
|
|
37
|
-
active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
|
|
38
|
-
/**
|
|
39
|
-
* @editorMethod Modules.Dropdown
|
|
40
|
-
* @description Executes the method that is called when a plugin's dropdown menu is opened.
|
|
41
|
-
*/
|
|
42
|
-
on(): void;
|
|
43
|
-
/**
|
|
44
|
-
* @editorMethod Editor.core
|
|
45
|
-
* @description Executes the main execution method of the plugin.
|
|
46
|
-
* - Called when an item in the "dropdown" menu is clicked.
|
|
47
|
-
* @param {HTMLElement} target - The plugin's toolbar button element
|
|
48
|
-
*/
|
|
49
|
-
action(target: HTMLElement): void;
|
|
30
|
+
active(element: HTMLElement | null, target: HTMLElement | null): boolean | void;
|
|
31
|
+
#private;
|
|
50
32
|
}
|
|
51
|
-
import
|
|
33
|
+
import { PluginDropdown } from '../../interfaces';
|
|
@@ -1,40 +1,12 @@
|
|
|
1
|
+
import type {} from '../../typedef';
|
|
1
2
|
export default List;
|
|
2
3
|
/**
|
|
3
4
|
* @class
|
|
4
|
-
* @description List Plugin (OL
|
|
5
|
+
* @description List Plugin (`OL`, `UL`)
|
|
5
6
|
*/
|
|
6
|
-
declare class List extends
|
|
7
|
-
static key: string;
|
|
8
|
-
static type: string;
|
|
9
|
-
static className: string;
|
|
7
|
+
declare class List extends PluginDropdown {
|
|
10
8
|
title: any;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
icons: {
|
|
14
|
-
bulleted: string;
|
|
15
|
-
numbered: string;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* @editorMethod Editor.EventManager
|
|
19
|
-
* @description Executes the method that is called whenever the cursor position changes.
|
|
20
|
-
* @param {?HTMLElement=} element - Node element where the cursor is currently located
|
|
21
|
-
* @param {?HTMLElement=} target - The plugin's toolbar button element
|
|
22
|
-
* @returns {boolean} - Whether the plugin is active
|
|
23
|
-
* - If it returns "undefined", it will no longer be called in this scope.
|
|
24
|
-
*/
|
|
25
|
-
active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
|
|
26
|
-
/**
|
|
27
|
-
* @editorMethod Modules.Dropdown
|
|
28
|
-
* @description Executes the method that is called when a plugin's dropdown menu is opened.
|
|
29
|
-
* @param {HTMLElement} target Line element at the current cursor position
|
|
30
|
-
*/
|
|
31
|
-
on(target: HTMLElement): void;
|
|
32
|
-
/**
|
|
33
|
-
* @editorMethod Editor.core
|
|
34
|
-
* @description Executes the main execution method of the plugin.
|
|
35
|
-
* - Called when an item in the "dropdown" menu is clicked.
|
|
36
|
-
* @param {HTMLElement} target - The plugin's toolbar button element
|
|
37
|
-
*/
|
|
38
|
-
action(target: HTMLElement): void;
|
|
9
|
+
active(element: HTMLElement | null, target: HTMLElement | null): boolean | void;
|
|
10
|
+
#private;
|
|
39
11
|
}
|
|
40
|
-
import
|
|
12
|
+
import { PluginDropdown } from '../../interfaces';
|
|
@@ -1,54 +1,43 @@
|
|
|
1
|
+
import type {} from '../../typedef';
|
|
1
2
|
export default ParagraphStyle;
|
|
3
|
+
export type ParagraphStylePluginOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* - Paragraph item list
|
|
6
|
+
*/
|
|
7
|
+
items?: Array<
|
|
8
|
+
| string
|
|
9
|
+
| {
|
|
10
|
+
name: string;
|
|
11
|
+
class: string;
|
|
12
|
+
_class: string;
|
|
13
|
+
}
|
|
14
|
+
>;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* @typedef {Object} ParagraphStylePluginOptions
|
|
18
|
+
* @property {Array<string|{name: string, class: string, _class: string}>} [items] - Paragraph item list
|
|
19
|
+
* @example
|
|
20
|
+
* use default paragraph styles
|
|
21
|
+
* ['spaced', 'bordered', 'neon']
|
|
22
|
+
* custom paragraph styles
|
|
23
|
+
* [
|
|
24
|
+
* { name: 'spaced', class: '__se__p-spaced', _class: '' },
|
|
25
|
+
* { name: 'bordered', class: '__se__p-bordered', _class: '' },
|
|
26
|
+
* { name: 'neon', class: '__se__p-neon', _class: '' }
|
|
27
|
+
* ]
|
|
28
|
+
*/
|
|
2
29
|
/**
|
|
3
30
|
* @class
|
|
4
31
|
* @description A plugin to style lines using classes.
|
|
5
32
|
*/
|
|
6
|
-
declare class ParagraphStyle extends
|
|
7
|
-
static key: string;
|
|
8
|
-
static type: string;
|
|
9
|
-
static className: string;
|
|
33
|
+
declare class ParagraphStyle extends PluginDropdown {
|
|
10
34
|
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* use default paragraph styles
|
|
17
|
-
* ['spaced', 'bordered', 'neon']
|
|
18
|
-
* custom paragraph styles
|
|
19
|
-
[
|
|
20
|
-
{ name: 'spaced', class: '__se__p-spaced', _class: '' },
|
|
21
|
-
{ name: 'bordered', class: '__se__p-bordered', _class: '' },
|
|
22
|
-
{ name: 'neon', class: '__se__p-neon', _class: ''}
|
|
23
|
-
]
|
|
24
|
-
*/
|
|
25
|
-
constructor(
|
|
26
|
-
editor: __se__EditorCore,
|
|
27
|
-
pluginOptions: {
|
|
28
|
-
items: Array<
|
|
29
|
-
| string
|
|
30
|
-
| {
|
|
31
|
-
name: string;
|
|
32
|
-
class: string;
|
|
33
|
-
_class: string;
|
|
34
|
-
}
|
|
35
|
-
>;
|
|
36
|
-
}
|
|
37
|
-
);
|
|
35
|
+
* @constructor
|
|
36
|
+
* @param {SunEditor.Kernel} editor - The core kernel
|
|
37
|
+
* @param {ParagraphStylePluginOptions} pluginOptions - Plugin options
|
|
38
|
+
*/
|
|
39
|
+
constructor(editor: SunEditor.Kernel, pluginOptions: ParagraphStylePluginOptions);
|
|
38
40
|
title: any;
|
|
39
|
-
icon: string;
|
|
40
41
|
classList: NodeListOf<Element>;
|
|
41
|
-
/**
|
|
42
|
-
* @editorMethod Modules.Dropdown
|
|
43
|
-
* @description Executes the method that is called when a plugin's dropdown menu is opened.
|
|
44
|
-
*/
|
|
45
|
-
on(): void;
|
|
46
|
-
/**
|
|
47
|
-
* @editorMethod Editor.core
|
|
48
|
-
* @description Executes the main execution method of the plugin.
|
|
49
|
-
* - Called when an item in the "dropdown" menu is clicked.
|
|
50
|
-
* @param {HTMLElement} target - The plugin's toolbar button element
|
|
51
|
-
*/
|
|
52
|
-
action(target: HTMLElement): void;
|
|
53
42
|
}
|
|
54
|
-
import
|
|
43
|
+
import { PluginDropdown } from '../../interfaces';
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import type {} from '../../../typedef';
|
|
2
|
+
export default Table;
|
|
3
|
+
export type TablePluginOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* - Scroll type (`x`, `y`, `xy`)
|
|
6
|
+
*/
|
|
7
|
+
scrollType?: 'x' | 'y' | 'xy';
|
|
8
|
+
/**
|
|
9
|
+
* - Caption position (`top`, `bottom`)
|
|
10
|
+
*/
|
|
11
|
+
captionPosition?: 'top' | 'bottom';
|
|
12
|
+
/**
|
|
13
|
+
* - Cell controller position (`cell`, `table`)
|
|
14
|
+
*/
|
|
15
|
+
cellControllerPosition?: 'cell' | 'table';
|
|
16
|
+
/**
|
|
17
|
+
* - Color list, used in cell color picker
|
|
18
|
+
*/
|
|
19
|
+
colorList?: any[];
|
|
20
|
+
};
|
|
21
|
+
export type TableState = import('./shared/table.constants').TableState;
|
|
22
|
+
/**
|
|
23
|
+
* @typedef {Object} TablePluginOptions
|
|
24
|
+
* @property {"x"|"y"|"xy"} [scrollType='x'] - Scroll type (`x`, `y`, `xy`)
|
|
25
|
+
* @property {"top"|"bottom"} [captionPosition='bottom'] - Caption position (`top`, `bottom`)
|
|
26
|
+
* @property {"cell"|"table"} [cellControllerPosition='cell'] - Cell controller position (`cell`, `table`)
|
|
27
|
+
* @property {Array} [colorList] - Color list, used in cell color picker
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* @typedef {import('./shared/table.constants').TableState} TableState
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* @class
|
|
34
|
+
* @description Table Plugin
|
|
35
|
+
*/
|
|
36
|
+
declare class Table extends PluginDropdownFree {
|
|
37
|
+
static options: {
|
|
38
|
+
isInputComponent: boolean;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* @param {HTMLElement} node - The node to check.
|
|
42
|
+
* @returns {HTMLElement|null} Returns a node if the node is a valid component.
|
|
43
|
+
*/
|
|
44
|
+
static component(node: HTMLElement): HTMLElement | null;
|
|
45
|
+
/**
|
|
46
|
+
* @constructor
|
|
47
|
+
* @param {SunEditor.Kernel} editor - The core kernel
|
|
48
|
+
* @param {TablePluginOptions} pluginOptions - Plugin options
|
|
49
|
+
*/
|
|
50
|
+
constructor(editor: SunEditor.Kernel, pluginOptions: TablePluginOptions);
|
|
51
|
+
title: any;
|
|
52
|
+
figureScrollList: string[];
|
|
53
|
+
figureScroll: string;
|
|
54
|
+
captionPosition: string;
|
|
55
|
+
cellControllerTop: boolean;
|
|
56
|
+
controller_cell: Controller;
|
|
57
|
+
controller_table: Controller;
|
|
58
|
+
figure: Figure;
|
|
59
|
+
/**
|
|
60
|
+
* @description Same value as `this._selectedTable`, but it maintains the prev table element
|
|
61
|
+
* @type {HTMLTableElement}
|
|
62
|
+
*/
|
|
63
|
+
_element: HTMLTableElement;
|
|
64
|
+
state: Constants.TableState;
|
|
65
|
+
cellService: TableCellService;
|
|
66
|
+
clipboardService: TableClipboardService;
|
|
67
|
+
gridService: TableGridService;
|
|
68
|
+
resizeService: TableResizeService;
|
|
69
|
+
selectionService: TableSelectionService;
|
|
70
|
+
styleService: TableStyleService;
|
|
71
|
+
/**
|
|
72
|
+
* @template {keyof import('./shared/table.constants').TableState} K
|
|
73
|
+
* @param {K} key
|
|
74
|
+
* @param {import('./shared/table.constants').TableState[K]} value
|
|
75
|
+
*/
|
|
76
|
+
setState<K extends keyof import('./shared/table.constants').TableState>(key: K, value: import('./shared/table.constants').TableState[K]): void;
|
|
77
|
+
componentSelect(target: HTMLElement): void | boolean;
|
|
78
|
+
componentDeselect(target: HTMLElement): void;
|
|
79
|
+
componentDestroy(target: HTMLElement): Promise<void>;
|
|
80
|
+
componentCopy(params: SunEditor.HookParams.CopyComponent): boolean | void;
|
|
81
|
+
onPaste(params: SunEditor.HookParams.Paste): void | boolean;
|
|
82
|
+
retainFormat(): {
|
|
83
|
+
query: string;
|
|
84
|
+
method: (element: HTMLElement) => void;
|
|
85
|
+
};
|
|
86
|
+
setDir(dir: string): void;
|
|
87
|
+
onMouseMove(params: SunEditor.HookParams.MouseEvent): void;
|
|
88
|
+
onMouseDown(params: SunEditor.HookParams.MouseEvent): void | boolean;
|
|
89
|
+
onMouseUp(params: SunEditor.HookParams.MouseEvent): void;
|
|
90
|
+
onMouseLeave(params: SunEditor.HookParams.MouseEvent): void;
|
|
91
|
+
onKeyDown(params: SunEditor.HookParams.KeyEvent): void | boolean;
|
|
92
|
+
onKeyUp(params: SunEditor.HookParams.KeyEvent): void | boolean;
|
|
93
|
+
onScroll(params: SunEditor.HookParams.Scroll): void;
|
|
94
|
+
controllerAction(target: HTMLButtonElement): void;
|
|
95
|
+
/**
|
|
96
|
+
* @description Sets various table-related information based on the provided table cell element (`<td>`). This includes updating cell, row, and table attributes, handling spanning cells, and adjusting the UI for elements like headers and captions.
|
|
97
|
+
* @param {HTMLTableCellElement} tdElement The target table cell (`<td>`) element from which table information will be extracted.
|
|
98
|
+
* @param {boolean} reset A flag indicating whether to reset the cell information. If `true`, the cell information will be reset and recalculated.
|
|
99
|
+
*/
|
|
100
|
+
setCellInfo(tdElement: HTMLTableCellElement, reset: boolean): void;
|
|
101
|
+
/**
|
|
102
|
+
* @description Sets row-related information based on the provided table row element (`<tr>`). This includes updating the row count and the index of the selected row.
|
|
103
|
+
* @param {HTMLTableRowElement} trElement The target table row (`<tr>`) element from which row information will be extracted.
|
|
104
|
+
*/
|
|
105
|
+
setRowInfo(trElement: HTMLTableRowElement): void;
|
|
106
|
+
/**
|
|
107
|
+
* @description Sets the table and figure elements based on the provided cell element, and stores references to them for later use.
|
|
108
|
+
* @param {Node} element The target table cell (`<td>`) element from which the table info will be extracted.
|
|
109
|
+
* @returns {HTMLTableElement} The `<table>` element that is the parent of the provided `element`.
|
|
110
|
+
*/
|
|
111
|
+
setTableInfo(element: Node): HTMLTableElement;
|
|
112
|
+
/**
|
|
113
|
+
* @description Resets the internal state related to table cell selection,
|
|
114
|
+
* - clearing any selected cells and removing associated styles and event listeners.
|
|
115
|
+
*/
|
|
116
|
+
resetInfo(): void;
|
|
117
|
+
/**
|
|
118
|
+
* @description Adds a new entry to the history stack.
|
|
119
|
+
*/
|
|
120
|
+
historyPush(): void;
|
|
121
|
+
/**
|
|
122
|
+
* @internal
|
|
123
|
+
* @description Sets the controller position for a cell.
|
|
124
|
+
* @param {HTMLTableCellElement} tdElement - The target table cell.
|
|
125
|
+
*/
|
|
126
|
+
_setController(tdElement: HTMLTableCellElement): void;
|
|
127
|
+
/**
|
|
128
|
+
* @internal
|
|
129
|
+
* @description Sets the position of the cell controller.
|
|
130
|
+
* @param {HTMLTableCellElement} tdElement - The target table cell.
|
|
131
|
+
* @param {boolean} reset - Whether to reset the controller position.
|
|
132
|
+
*/
|
|
133
|
+
_setCellControllerPosition(tdElement: HTMLTableCellElement, reset: boolean): void;
|
|
134
|
+
/**
|
|
135
|
+
* @description Enables or disables editor mode.
|
|
136
|
+
* @param {boolean} enabled Whether to enable or disable the editor.
|
|
137
|
+
*/
|
|
138
|
+
_editorEnable(enabled: boolean): void;
|
|
139
|
+
/**
|
|
140
|
+
* @description Closes table-related controllers.
|
|
141
|
+
*/
|
|
142
|
+
_closeController(): void;
|
|
143
|
+
/**
|
|
144
|
+
* @description Closes table-related controllers and table figure
|
|
145
|
+
*/
|
|
146
|
+
_closeTableSelectInfo(): void;
|
|
147
|
+
#private;
|
|
148
|
+
}
|
|
149
|
+
import { PluginDropdownFree } from '../../../interfaces';
|
|
150
|
+
import { Controller } from '../../../modules/contract';
|
|
151
|
+
import { Figure } from '../../../modules/contract';
|
|
152
|
+
import TableCellService from './services/table.cell';
|
|
153
|
+
import TableClipboardService from './services/table.clipboard';
|
|
154
|
+
import TableGridService from './services/table.grid';
|
|
155
|
+
import TableResizeService from './services/table.resize';
|
|
156
|
+
import TableSelectionService from './services/table.selection';
|
|
157
|
+
import TableStyleService from './services/table.style';
|
|
158
|
+
import * as Constants from './shared/table.constants';
|