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
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import type {} from '../../../../typedef';
|
|
2
|
+
export const ROW_SELECT_MARGIN: 6;
|
|
3
|
+
export const CELL_SELECT_MARGIN: 6;
|
|
4
|
+
export const CELL_DECIMAL_END: 0;
|
|
5
|
+
export const RESIZE_CELL_CLASS: '.se-table-resize-line';
|
|
6
|
+
export const RESIZE_CELL_PREV_CLASS: '.se-table-resize-line-prev';
|
|
7
|
+
export const RESIZE_ROW_CLASS: '.se-table-resize-row';
|
|
8
|
+
export const RESIZE_ROW_PREV_CLASS: '.se-table-resize-row-prev';
|
|
9
|
+
export const BORDER_LIST: string[];
|
|
10
|
+
export namespace BORDER_FORMATS {
|
|
11
|
+
let all: string;
|
|
12
|
+
let inside: string;
|
|
13
|
+
let horizon: string;
|
|
14
|
+
let vertical: string;
|
|
15
|
+
let outside: string;
|
|
16
|
+
let left: string;
|
|
17
|
+
let top: string;
|
|
18
|
+
let right: string;
|
|
19
|
+
let bottom: string;
|
|
20
|
+
let none: string;
|
|
21
|
+
}
|
|
22
|
+
export const BORDER_FORMAT_INSIDE: string[];
|
|
23
|
+
export namespace BORDER_NS {
|
|
24
|
+
let l: string;
|
|
25
|
+
let t: string;
|
|
26
|
+
let r: string;
|
|
27
|
+
let b: string;
|
|
28
|
+
}
|
|
29
|
+
export const DEFAULT_BORDER_UNIT: 'px';
|
|
30
|
+
export const DEFAULT_COLOR_LIST: string[];
|
|
31
|
+
/**
|
|
32
|
+
* @typedef {Object} TableState
|
|
33
|
+
* @property {number} physical_cellCnt The number of physical cells in the current row.
|
|
34
|
+
* @property {number} logical_cellCnt The number of logical cells (columns) in the table.
|
|
35
|
+
* @property {number} cellCnt Alias for `logical_cellCnt`.
|
|
36
|
+
* @property {number} rowCnt The total number of rows in the table.
|
|
37
|
+
* @property {number} rowIndex The index of the current row.
|
|
38
|
+
* @property {number} physical_cellIndex The physical index of the current cell.
|
|
39
|
+
* @property {number} logical_cellIndex The logical index of the current cell (taking colspan into account).
|
|
40
|
+
* @property {number} current_colSpan The colspan of the current cell.
|
|
41
|
+
* @property {number} current_rowSpan The rowspan of the current cell.
|
|
42
|
+
* @property {boolean} isShiftPressed Whether the shift key is pressed (multi-selection mode).
|
|
43
|
+
* @property {Object|null} ref Reference object for multi-selection range calculation.
|
|
44
|
+
* @property {HTMLElement|null} figureElement The figure element wrapping the table.
|
|
45
|
+
* @property {HTMLTableElement|null} selectedTable The selected table element.
|
|
46
|
+
* @property {HTMLTableRowElement|null} trElement The currently active row element.
|
|
47
|
+
* @property {HTMLCollectionOf<HTMLTableRowElement>|HTMLTableRowElement[]|null} trElements The collection of rows in the table.
|
|
48
|
+
* @property {HTMLTableCellElement|null} tdElement The currently active cell element.
|
|
49
|
+
* @property {HTMLTableCellElement|null} fixedCell The anchor cell for selection.
|
|
50
|
+
* @property {HTMLTableCellElement|null} selectedCell The last selected cell.
|
|
51
|
+
* @property {HTMLTableCellElement[]|null} selectedCells Array of currently selected cells.
|
|
52
|
+
*/
|
|
53
|
+
/**
|
|
54
|
+
* @type {TableState}
|
|
55
|
+
*/
|
|
56
|
+
export const INITIAL_STATE: TableState;
|
|
57
|
+
export type TableState = {
|
|
58
|
+
/**
|
|
59
|
+
* The number of physical cells in the current row.
|
|
60
|
+
*/
|
|
61
|
+
physical_cellCnt: number;
|
|
62
|
+
/**
|
|
63
|
+
* The number of logical cells (columns) in the table.
|
|
64
|
+
*/
|
|
65
|
+
logical_cellCnt: number;
|
|
66
|
+
/**
|
|
67
|
+
* Alias for `logical_cellCnt`.
|
|
68
|
+
*/
|
|
69
|
+
cellCnt: number;
|
|
70
|
+
/**
|
|
71
|
+
* The total number of rows in the table.
|
|
72
|
+
*/
|
|
73
|
+
rowCnt: number;
|
|
74
|
+
/**
|
|
75
|
+
* The index of the current row.
|
|
76
|
+
*/
|
|
77
|
+
rowIndex: number;
|
|
78
|
+
/**
|
|
79
|
+
* The physical index of the current cell.
|
|
80
|
+
*/
|
|
81
|
+
physical_cellIndex: number;
|
|
82
|
+
/**
|
|
83
|
+
* The logical index of the current cell (taking colspan into account).
|
|
84
|
+
*/
|
|
85
|
+
logical_cellIndex: number;
|
|
86
|
+
/**
|
|
87
|
+
* The colspan of the current cell.
|
|
88
|
+
*/
|
|
89
|
+
current_colSpan: number;
|
|
90
|
+
/**
|
|
91
|
+
* The rowspan of the current cell.
|
|
92
|
+
*/
|
|
93
|
+
current_rowSpan: number;
|
|
94
|
+
/**
|
|
95
|
+
* Whether the shift key is pressed (multi-selection mode).
|
|
96
|
+
*/
|
|
97
|
+
isShiftPressed: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Reference object for multi-selection range calculation.
|
|
100
|
+
*/
|
|
101
|
+
ref: any | null;
|
|
102
|
+
/**
|
|
103
|
+
* The figure element wrapping the table.
|
|
104
|
+
*/
|
|
105
|
+
figureElement: HTMLElement | null;
|
|
106
|
+
/**
|
|
107
|
+
* The selected table element.
|
|
108
|
+
*/
|
|
109
|
+
selectedTable: HTMLTableElement | null;
|
|
110
|
+
/**
|
|
111
|
+
* The currently active row element.
|
|
112
|
+
*/
|
|
113
|
+
trElement: HTMLTableRowElement | null;
|
|
114
|
+
/**
|
|
115
|
+
* The collection of rows in the table.
|
|
116
|
+
*/
|
|
117
|
+
trElements: HTMLCollectionOf<HTMLTableRowElement> | HTMLTableRowElement[] | null;
|
|
118
|
+
/**
|
|
119
|
+
* The currently active cell element.
|
|
120
|
+
*/
|
|
121
|
+
tdElement: HTMLTableCellElement | null;
|
|
122
|
+
/**
|
|
123
|
+
* The anchor cell for selection.
|
|
124
|
+
*/
|
|
125
|
+
fixedCell: HTMLTableCellElement | null;
|
|
126
|
+
/**
|
|
127
|
+
* The last selected cell.
|
|
128
|
+
*/
|
|
129
|
+
selectedCell: HTMLTableCellElement | null;
|
|
130
|
+
/**
|
|
131
|
+
* Array of currently selected cells.
|
|
132
|
+
*/
|
|
133
|
+
selectedCells: HTMLTableCellElement[] | null;
|
|
134
|
+
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type {} from '../../../../typedef';
|
|
2
|
+
/** ================================================================================================================================ */
|
|
3
|
+
/**
|
|
4
|
+
* @description Checks if the given node is a resizable table element.
|
|
5
|
+
* @param {Node} node The DOM node to check.
|
|
6
|
+
* @returns {boolean} True if the node is a table-related resizable element.
|
|
7
|
+
*/
|
|
8
|
+
export function IsResizeEls(node: Node): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* @description Check table caption
|
|
11
|
+
* @param {Node} node The DOM node to check.
|
|
12
|
+
* @returns {boolean}
|
|
13
|
+
*/
|
|
14
|
+
export function IsTableCaption(node: Node): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* @description Checks if a table cell is at its edge based on the mouse event.
|
|
17
|
+
* @param {MouseEvent} event The mouse event.
|
|
18
|
+
* @param {Element} tableCell The table cell to check.
|
|
19
|
+
* @returns {Object} An object containing edge detection details.
|
|
20
|
+
*/
|
|
21
|
+
export function CheckCellEdge(event: MouseEvent, tableCell: Element): any;
|
|
22
|
+
/**
|
|
23
|
+
* @description Checks if a row is at its edge based on the mouse event.
|
|
24
|
+
* @param {MouseEvent} event The mouse event.
|
|
25
|
+
* @param {Element} tableCell The table row cell to check.
|
|
26
|
+
* @returns {Object} An object containing row edge detection details.
|
|
27
|
+
*/
|
|
28
|
+
export function CheckRowEdge(event: MouseEvent, tableCell: Element): any;
|
|
29
|
+
/**
|
|
30
|
+
* @description Creates table cells as elements strings.
|
|
31
|
+
* @param {string} nodeName The tag name of the cell (`TD` or `TH`).
|
|
32
|
+
* @param {number} cnt The number of cells to create.
|
|
33
|
+
* @returns {string} The created cells string.
|
|
34
|
+
*/
|
|
35
|
+
export function CreateCellsString(nodeName: string, cnt: number): string;
|
|
36
|
+
/**
|
|
37
|
+
* @description Creates table cells as element HTML.
|
|
38
|
+
* @param {string} nodeName The tag name of the cell (`TD` or `TH`).
|
|
39
|
+
* @returns {HTMLTableCellElement} The created cell element.
|
|
40
|
+
*/
|
|
41
|
+
export function CreateCellsHTML(nodeName: string): HTMLTableCellElement;
|
|
42
|
+
/**
|
|
43
|
+
* @description Gets the maximum number of columns in a table.
|
|
44
|
+
* @param {HTMLTableElement} table The table element.
|
|
45
|
+
* @returns {number} The maximum number of columns in the table.
|
|
46
|
+
*/
|
|
47
|
+
export function GetMaxColumns(table: HTMLTableElement): number;
|
|
48
|
+
/**
|
|
49
|
+
* @description Gets the logical cell index for a cell in a table.
|
|
50
|
+
* @param {HTMLTableElement} table The table element.
|
|
51
|
+
* @param {number} rowIndex The physical row index.
|
|
52
|
+
* @param {number} cellIndex The physical cell index.
|
|
53
|
+
* @returns {number} The logical cell index.
|
|
54
|
+
*/
|
|
55
|
+
export function GetLogicalCellIndex(table: HTMLTableElement, rowIndex: number, cellIndex: number): number;
|
|
56
|
+
/**
|
|
57
|
+
* @description Clone a table element and map selected cells to the cloned table
|
|
58
|
+
* @param {HTMLTableElement} table `<table>` element
|
|
59
|
+
* @param {HTMLTableCellElement[]} selectedCells Selected cells array
|
|
60
|
+
* @returns {{ clonedTable: HTMLTableElement, clonedSelectedCells: HTMLTableCellElement[] }}
|
|
61
|
+
*/
|
|
62
|
+
export function CloneTable(
|
|
63
|
+
table: HTMLTableElement,
|
|
64
|
+
selectedCells: HTMLTableCellElement[],
|
|
65
|
+
): {
|
|
66
|
+
clonedTable: HTMLTableElement;
|
|
67
|
+
clonedSelectedCells: HTMLTableCellElement[];
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* @description Clear table cache
|
|
71
|
+
* @param {HTMLTableElement} table The table element.
|
|
72
|
+
*/
|
|
73
|
+
export function InvalidateTableCache(table: HTMLTableElement): void;
|
|
74
|
+
/**
|
|
75
|
+
* @description Cache for selected cell range references. (Use drag cells)
|
|
76
|
+
* - Stores the calculated logical start/end positions (row, col) for a given selection.
|
|
77
|
+
* @type {WeakMap<HTMLTableElement, Map<string, {cs: number, ce: number, rs: number, re: number, _i: number}>>}
|
|
78
|
+
*/
|
|
79
|
+
export const refCache: WeakMap<
|
|
80
|
+
HTMLTableElement,
|
|
81
|
+
Map<
|
|
82
|
+
string,
|
|
83
|
+
{
|
|
84
|
+
cs: number;
|
|
85
|
+
ce: number;
|
|
86
|
+
rs: number;
|
|
87
|
+
re: number;
|
|
88
|
+
_i: number;
|
|
89
|
+
}
|
|
90
|
+
>
|
|
91
|
+
>;
|
|
@@ -1,40 +1,34 @@
|
|
|
1
|
+
import type {} from '../../typedef';
|
|
1
2
|
export default Template;
|
|
3
|
+
export type TemplatePluginOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* - Template list
|
|
6
|
+
*/
|
|
7
|
+
items?: Array<{
|
|
8
|
+
name: string;
|
|
9
|
+
html: string;
|
|
10
|
+
}>;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* @typedef {Object} TemplatePluginOptions
|
|
14
|
+
* @property {Array<{name: string, html: string}>} [items] - Template list
|
|
15
|
+
*/
|
|
2
16
|
/**
|
|
3
17
|
* @class
|
|
4
18
|
* @description Template Plugin, Apply a template to the selection.
|
|
5
19
|
*/
|
|
6
|
-
declare class Template extends
|
|
7
|
-
static key: string;
|
|
8
|
-
static type: string;
|
|
9
|
-
static className: string;
|
|
20
|
+
declare class Template extends PluginDropdown {
|
|
10
21
|
/**
|
|
11
22
|
* @constructor
|
|
12
|
-
* @param {
|
|
13
|
-
* @param {
|
|
14
|
-
* @param {Array<{name: string, html: string}>} pluginOptions.items - Template list
|
|
23
|
+
* @param {SunEditor.Kernel} editor - The core kernel
|
|
24
|
+
* @param {TemplatePluginOptions} 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: TemplatePluginOptions);
|
|
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,41 +1,34 @@
|
|
|
1
|
+
import type {} from '../../typedef';
|
|
1
2
|
export default TextStyle;
|
|
3
|
+
export type TextStylePluginOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* - Text style item list
|
|
6
|
+
*/
|
|
7
|
+
items?: Array<
|
|
8
|
+
| string
|
|
9
|
+
| {
|
|
10
|
+
name: string;
|
|
11
|
+
class: string;
|
|
12
|
+
tag?: string;
|
|
13
|
+
}
|
|
14
|
+
>;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* @typedef {Object} TextStylePluginOptions
|
|
18
|
+
* @property {Array<string|{name: string, class: string, tag?: string}>} [items] - Text style item list
|
|
19
|
+
*/
|
|
2
20
|
/**
|
|
3
21
|
* @class
|
|
4
22
|
* @description Text style Plugin, Applies a tag that specifies text styles to a selection.
|
|
5
23
|
*/
|
|
6
|
-
declare class TextStyle extends
|
|
7
|
-
static key: string;
|
|
8
|
-
static type: string;
|
|
9
|
-
static className: string;
|
|
24
|
+
declare class TextStyle extends PluginDropdown {
|
|
10
25
|
/**
|
|
11
26
|
* @constructor
|
|
12
|
-
* @param {
|
|
13
|
-
* @param {
|
|
14
|
-
* @param {Array<{name: string, html: string}>} pluginOptions.items - Template list
|
|
27
|
+
* @param {SunEditor.Kernel} editor - The core kernel
|
|
28
|
+
* @param {TextStylePluginOptions} pluginOptions - Plugin options
|
|
15
29
|
*/
|
|
16
|
-
constructor(
|
|
17
|
-
editor: __se__EditorCore,
|
|
18
|
-
pluginOptions: {
|
|
19
|
-
items: Array<{
|
|
20
|
-
name: string;
|
|
21
|
-
html: string;
|
|
22
|
-
}>;
|
|
23
|
-
}
|
|
24
|
-
);
|
|
30
|
+
constructor(editor: SunEditor.Kernel, pluginOptions: TextStylePluginOptions);
|
|
25
31
|
title: any;
|
|
26
|
-
icon: string;
|
|
27
32
|
styleList: NodeListOf<Element>;
|
|
28
|
-
/**
|
|
29
|
-
* @editorMethod Modules.Dropdown
|
|
30
|
-
* @description Executes the method that is called when a plugin's dropdown menu is opened.
|
|
31
|
-
*/
|
|
32
|
-
on(): void;
|
|
33
|
-
/**
|
|
34
|
-
* @editorMethod Editor.core
|
|
35
|
-
* @description Executes the main execution method of the plugin.
|
|
36
|
-
* - Called when an item in the "dropdown" menu is clicked.
|
|
37
|
-
* @param {HTMLElement} target - The plugin's toolbar button element
|
|
38
|
-
*/
|
|
39
|
-
action(target: HTMLElement): void;
|
|
40
33
|
}
|
|
41
|
-
import
|
|
34
|
+
import { PluginDropdown } from '../../interfaces';
|
|
@@ -1,4 +1,61 @@
|
|
|
1
|
+
import type {} from '../../typedef';
|
|
1
2
|
export default Mention;
|
|
3
|
+
export type MentionPluginOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* - The character that triggers the mention list.
|
|
6
|
+
*/
|
|
7
|
+
triggerText?: string;
|
|
8
|
+
/**
|
|
9
|
+
* - The number of items to display in the mention list
|
|
10
|
+
*/
|
|
11
|
+
limitSize?: number;
|
|
12
|
+
/**
|
|
13
|
+
* - The number of characters to start searching for the mention list
|
|
14
|
+
*/
|
|
15
|
+
searchStartLength?: number;
|
|
16
|
+
/**
|
|
17
|
+
* - The time to wait before displaying the mention list
|
|
18
|
+
*/
|
|
19
|
+
delayTime?: number;
|
|
20
|
+
/**
|
|
21
|
+
* - Use data without using API
|
|
22
|
+
*/
|
|
23
|
+
data?: Array<{
|
|
24
|
+
key: string;
|
|
25
|
+
name: string;
|
|
26
|
+
url: string;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* - The URL to call the mention list
|
|
30
|
+
*/
|
|
31
|
+
apiUrl?: string;
|
|
32
|
+
/**
|
|
33
|
+
* - The headers to send with the API call
|
|
34
|
+
*/
|
|
35
|
+
apiHeaders?: {
|
|
36
|
+
[x: string]: string;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* - Whether to cache the mention list data
|
|
40
|
+
*/
|
|
41
|
+
useCachingData?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* - Whether to cache the mention list data in the field
|
|
44
|
+
*/
|
|
45
|
+
useCachingFieldData?: boolean;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* @typedef {Object} MentionPluginOptions
|
|
49
|
+
* @property {string} [triggerText="@"] - The character that triggers the mention list.
|
|
50
|
+
* @property {number} [limitSize=5] - The number of items to display in the mention list
|
|
51
|
+
* @property {number} [searchStartLength=0] - The number of characters to start searching for the mention list
|
|
52
|
+
* @property {number} [delayTime=200] - The time to wait before displaying the mention list
|
|
53
|
+
* @property {Array<{key: string, name: string, url: string}>} [data] - Use data without using API
|
|
54
|
+
* @property {string} [apiUrl] - The URL to call the mention list
|
|
55
|
+
* @property {Object<string, string>} [apiHeaders] - The headers to send with the API call
|
|
56
|
+
* @property {boolean} [useCachingData=true] - Whether to cache the mention list data
|
|
57
|
+
* @property {boolean} [useCachingFieldData=true] - Whether to cache the mention list data in the field
|
|
58
|
+
*/
|
|
2
59
|
/**
|
|
3
60
|
* @class
|
|
4
61
|
* @description Mention Plugin
|
|
@@ -7,50 +64,14 @@ export default Mention;
|
|
|
7
64
|
* - Supports fetching mention data from an API or a predefined data array.
|
|
8
65
|
* - Uses caching for optimized performance.
|
|
9
66
|
*/
|
|
10
|
-
declare class Mention extends
|
|
11
|
-
static key: string;
|
|
12
|
-
static type: string;
|
|
13
|
-
static className: string;
|
|
67
|
+
declare class Mention extends PluginField {
|
|
14
68
|
/**
|
|
15
69
|
* @constructor
|
|
16
|
-
* @param {
|
|
17
|
-
* @param {
|
|
18
|
-
* @param {string=} [pluginOptions.triggerText="@"] The character that triggers the mention list. Default is '@'.
|
|
19
|
-
* @param {number=} [pluginOptions.limitSize=5] The number of items to display in the mention list. Default is 5.
|
|
20
|
-
* @param {number=} [pluginOptions.searchStartLength=0] The number of characters to start searching for the mention list. Default is 0.
|
|
21
|
-
* @param {number=} [pluginOptions.delayTime=200] The time to wait before displaying the mention list. Default is 200ms.
|
|
22
|
-
* @param {Array<{key: string, name: string, url: string}>=} pluginOptions.data Use data without using API.
|
|
23
|
-
* @param {string=} pluginOptions.apiUrl The URL to call the mention list. Default is ''.
|
|
24
|
-
* @param {Object<string, string>=} pluginOptions.apiHeaders The headers to send with the API call. Default is {}.
|
|
25
|
-
* @param {boolean=} [pluginOptions.useCachingData=true] Whether to cache the mention list data. Default is true.
|
|
26
|
-
* @param {boolean=} [pluginOptions.useCachingFieldData=true] Whether to cache the mention list data in the field. Default is true.
|
|
70
|
+
* @param {SunEditor.Kernel} editor - The core kernel
|
|
71
|
+
* @param {MentionPluginOptions} pluginOptions
|
|
27
72
|
*/
|
|
28
|
-
constructor(
|
|
29
|
-
editor: __se__EditorCore,
|
|
30
|
-
pluginOptions: {
|
|
31
|
-
triggerText?: string | undefined;
|
|
32
|
-
limitSize?: number | undefined;
|
|
33
|
-
searchStartLength?: number | undefined;
|
|
34
|
-
delayTime?: number | undefined;
|
|
35
|
-
data?:
|
|
36
|
-
| Array<{
|
|
37
|
-
key: string;
|
|
38
|
-
name: string;
|
|
39
|
-
url: string;
|
|
40
|
-
}>
|
|
41
|
-
| undefined;
|
|
42
|
-
apiUrl?: string | undefined;
|
|
43
|
-
apiHeaders?:
|
|
44
|
-
| {
|
|
45
|
-
[x: string]: string;
|
|
46
|
-
}
|
|
47
|
-
| undefined;
|
|
48
|
-
useCachingData?: boolean | undefined;
|
|
49
|
-
useCachingFieldData?: boolean | undefined;
|
|
50
|
-
}
|
|
51
|
-
);
|
|
73
|
+
constructor(editor: SunEditor.Kernel, pluginOptions: MentionPluginOptions);
|
|
52
74
|
title: any;
|
|
53
|
-
icon: string;
|
|
54
75
|
triggerText: string;
|
|
55
76
|
limitSize: number;
|
|
56
77
|
searchStartLength: number;
|
|
@@ -61,42 +82,15 @@ declare class Mention extends EditorInjector {
|
|
|
61
82
|
url: string;
|
|
62
83
|
}[];
|
|
63
84
|
apiUrl: string;
|
|
64
|
-
_delay: number;
|
|
65
|
-
_lastAtPos: number;
|
|
66
|
-
_anchorOffset: number;
|
|
67
|
-
_anchorNode: Node;
|
|
68
85
|
apiManager: ApiManager;
|
|
69
86
|
cachingData: Map<any, any>;
|
|
70
87
|
cachingFieldData: any[];
|
|
71
88
|
selectMenu: SelectMenu;
|
|
72
89
|
controller: Controller;
|
|
73
|
-
|
|
74
|
-
* @editorMethod Editor.EventManager
|
|
75
|
-
* @description Executes the event function of "input".
|
|
76
|
-
* @returns {Promise<boolean>}
|
|
77
|
-
*/
|
|
78
|
-
onInput(): Promise<boolean>;
|
|
79
|
-
/**
|
|
80
|
-
* @private
|
|
81
|
-
* @description Generates the mention list based on user input.
|
|
82
|
-
* - Fetches data from cache, direct data, or an API.
|
|
83
|
-
* - Creates and opens the mention dropdown.
|
|
84
|
-
* - Caches the fetched data for future use.
|
|
85
|
-
* @param {string} value - The mention query text.
|
|
86
|
-
* @param {Node} targetNode - The node where the mention is triggered.
|
|
87
|
-
* @returns {Promise<boolean>} - Returns `true` if the mention list is displayed, `false` otherwise.
|
|
88
|
-
*/
|
|
89
|
-
private _createMentionList;
|
|
90
|
-
/**
|
|
91
|
-
* @private
|
|
92
|
-
* @description Constructs the API request URL with the mention query.
|
|
93
|
-
* @param {string} key - The mention query text.
|
|
94
|
-
* @returns {string} - The formatted API request URL.
|
|
95
|
-
*/
|
|
96
|
-
private _createUrl;
|
|
90
|
+
onInput(params: SunEditor.HookParams.InputWithData): Promise<void>;
|
|
97
91
|
#private;
|
|
98
92
|
}
|
|
99
|
-
import
|
|
100
|
-
import {
|
|
101
|
-
import {
|
|
102
|
-
import {
|
|
93
|
+
import { PluginField } from '../../interfaces';
|
|
94
|
+
import { Controller } from '../../modules/contract';
|
|
95
|
+
import { ApiManager } from '../../modules/manager';
|
|
96
|
+
import { SelectMenu } from '../../modules/ui';
|
package/types/plugins/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type {} from '../typedef';
|
|
1
2
|
declare namespace _default {
|
|
2
3
|
export { blockquote };
|
|
3
4
|
export { exportPDF };
|
|
@@ -11,7 +12,7 @@ declare namespace _default {
|
|
|
11
12
|
export { backgroundColor };
|
|
12
13
|
export { list };
|
|
13
14
|
export { table };
|
|
14
|
-
export {
|
|
15
|
+
export { blockStyle };
|
|
15
16
|
export { hr };
|
|
16
17
|
export { layout };
|
|
17
18
|
export { lineHeight };
|
|
@@ -35,73 +36,73 @@ declare namespace _default {
|
|
|
35
36
|
export { anchor };
|
|
36
37
|
}
|
|
37
38
|
export default _default;
|
|
39
|
+
import audioGallery from './browser/audioGallery';
|
|
40
|
+
import fileBrowser from './browser/fileBrowser';
|
|
41
|
+
import fileGallery from './browser/fileGallery';
|
|
42
|
+
import imageGallery from './browser/imageGallery';
|
|
43
|
+
import videoGallery from './browser/videoGallery';
|
|
38
44
|
import blockquote from './command/blockquote';
|
|
39
45
|
import exportPDF from './command/exportPDF';
|
|
40
46
|
import fileUpload from './command/fileUpload';
|
|
41
47
|
import list_bulleted from './command/list_bulleted';
|
|
42
48
|
import list_numbered from './command/list_numbered';
|
|
43
|
-
import mention from './field/mention';
|
|
44
49
|
import align from './dropdown/align';
|
|
50
|
+
import backgroundColor from './dropdown/backgroundColor';
|
|
51
|
+
import blockStyle from './dropdown/blockStyle';
|
|
45
52
|
import font from './dropdown/font';
|
|
46
53
|
import fontColor from './dropdown/fontColor';
|
|
47
|
-
import backgroundColor from './dropdown/backgroundColor';
|
|
48
|
-
import list from './dropdown/list';
|
|
49
|
-
import table from './dropdown/table';
|
|
50
|
-
import formatBlock from './dropdown/formatBlock';
|
|
51
54
|
import hr from './dropdown/hr';
|
|
52
55
|
import layout from './dropdown/layout';
|
|
53
56
|
import lineHeight from './dropdown/lineHeight';
|
|
54
|
-
import
|
|
57
|
+
import list from './dropdown/list';
|
|
55
58
|
import paragraphStyle from './dropdown/paragraphStyle';
|
|
59
|
+
import table from './dropdown/table';
|
|
60
|
+
import template from './dropdown/template';
|
|
56
61
|
import textStyle from './dropdown/textStyle';
|
|
57
|
-
import
|
|
58
|
-
import
|
|
59
|
-
import
|
|
62
|
+
import mention from './field/mention';
|
|
63
|
+
import fontSize from './input/fontSize';
|
|
64
|
+
import pageNavigator from './input/pageNavigator';
|
|
60
65
|
import audio from './modal/audio';
|
|
66
|
+
import drawing from './modal/drawing';
|
|
61
67
|
import embed from './modal/embed';
|
|
68
|
+
import image from './modal/image';
|
|
69
|
+
import link from './modal/link';
|
|
62
70
|
import math from './modal/math';
|
|
63
|
-
import
|
|
64
|
-
import imageGallery from './browser/imageGallery';
|
|
65
|
-
import videoGallery from './browser/videoGallery';
|
|
66
|
-
import audioGallery from './browser/audioGallery';
|
|
67
|
-
import fileGallery from './browser/fileGallery';
|
|
68
|
-
import fileBrowser from './browser/fileBrowser';
|
|
69
|
-
import fontSize from './input/fontSize';
|
|
70
|
-
import pageNavigator from './input/pageNavigator';
|
|
71
|
+
import video from './modal/video';
|
|
71
72
|
import anchor from './popup/anchor';
|
|
72
73
|
export {
|
|
74
|
+
align,
|
|
75
|
+
anchor,
|
|
76
|
+
audio,
|
|
77
|
+
audioGallery,
|
|
78
|
+
backgroundColor,
|
|
73
79
|
blockquote,
|
|
80
|
+
blockStyle,
|
|
81
|
+
drawing,
|
|
82
|
+
embed,
|
|
74
83
|
exportPDF,
|
|
84
|
+
fileBrowser,
|
|
85
|
+
fileGallery,
|
|
75
86
|
fileUpload,
|
|
76
|
-
list_bulleted,
|
|
77
|
-
list_numbered,
|
|
78
|
-
mention,
|
|
79
|
-
align,
|
|
80
87
|
font,
|
|
81
88
|
fontColor,
|
|
82
|
-
|
|
83
|
-
list,
|
|
84
|
-
table,
|
|
85
|
-
formatBlock,
|
|
89
|
+
fontSize,
|
|
86
90
|
hr,
|
|
91
|
+
image,
|
|
92
|
+
imageGallery,
|
|
87
93
|
layout,
|
|
88
94
|
lineHeight,
|
|
89
|
-
|
|
95
|
+
link,
|
|
96
|
+
list,
|
|
97
|
+
list_bulleted,
|
|
98
|
+
list_numbered,
|
|
99
|
+
math,
|
|
100
|
+
mention,
|
|
101
|
+
pageNavigator,
|
|
90
102
|
paragraphStyle,
|
|
103
|
+
table,
|
|
104
|
+
template,
|
|
91
105
|
textStyle,
|
|
92
|
-
link,
|
|
93
|
-
image,
|
|
94
106
|
video,
|
|
95
|
-
audio,
|
|
96
|
-
embed,
|
|
97
|
-
math,
|
|
98
|
-
drawing,
|
|
99
|
-
imageGallery,
|
|
100
107
|
videoGallery,
|
|
101
|
-
audioGallery,
|
|
102
|
-
fileGallery,
|
|
103
|
-
fileBrowser,
|
|
104
|
-
fontSize,
|
|
105
|
-
pageNavigator,
|
|
106
|
-
anchor
|
|
107
108
|
};
|