suneditor 3.0.0-alpha.9 → 3.0.0-beta.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/CONTRIBUTING.md +170 -22
- package/{LICENSE.txt → LICENSE} +9 -9
- package/README.md +168 -30
- package/dist/suneditor.min.css +1 -1
- package/dist/suneditor.min.js +1 -1
- package/package.json +47 -21
- package/src/assets/design/color.css +121 -0
- package/src/assets/design/index.css +3 -0
- package/src/assets/design/size.css +35 -0
- package/src/assets/design/typography.css +37 -0
- package/src/assets/icons/defaultIcons.js +232 -0
- package/src/assets/suneditor-contents.css +181 -46
- package/src/assets/suneditor.css +1403 -650
- package/src/core/base/eventHandlers/handler_toolbar.js +35 -14
- package/src/core/base/eventHandlers/handler_ww_clipboard.js +23 -4
- package/src/core/base/eventHandlers/handler_ww_dragDrop.js +49 -10
- package/src/core/base/eventHandlers/handler_ww_key_input.js +422 -224
- package/src/core/base/eventHandlers/handler_ww_mouse.js +83 -36
- package/src/core/base/eventManager.js +520 -179
- package/src/core/base/history.js +95 -41
- package/src/core/class/char.js +26 -11
- package/src/core/class/component.js +345 -137
- package/src/core/class/format.js +683 -519
- package/src/core/class/html.js +485 -305
- package/src/core/class/menu.js +133 -47
- package/src/core/class/nodeTransform.js +90 -71
- package/src/core/class/offset.js +408 -92
- package/src/core/class/selection.js +216 -106
- package/src/core/class/shortcuts.js +68 -8
- package/src/core/class/toolbar.js +106 -116
- package/src/core/class/ui.js +422 -0
- package/src/core/class/viewer.js +178 -74
- package/src/core/editor.js +496 -389
- package/src/core/section/actives.js +123 -27
- package/src/core/section/constructor.js +615 -206
- package/src/core/section/context.js +28 -23
- package/src/core/section/documentType.js +561 -0
- package/src/editorInjector/_classes.js +19 -5
- package/src/editorInjector/_core.js +71 -7
- package/src/editorInjector/index.js +63 -1
- package/src/events.js +622 -0
- package/src/helper/clipboard.js +59 -0
- package/src/helper/converter.js +202 -26
- package/src/helper/dom/domCheck.js +304 -0
- package/src/helper/dom/domQuery.js +669 -0
- package/src/helper/dom/domUtils.js +557 -0
- package/src/helper/dom/index.js +12 -0
- package/src/helper/env.js +46 -56
- package/src/helper/index.js +10 -4
- package/src/helper/keyCodeMap.js +183 -0
- package/src/helper/numbers.js +12 -8
- package/src/helper/unicode.js +9 -5
- package/src/langs/ckb.js +74 -4
- package/src/langs/cs.js +72 -2
- package/src/langs/da.js +73 -3
- package/src/langs/de.js +73 -4
- package/src/langs/en.js +23 -3
- package/src/langs/es.js +73 -4
- package/src/langs/fa.js +75 -3
- package/src/langs/fr.js +73 -3
- package/src/langs/he.js +73 -4
- package/src/langs/hu.js +230 -0
- package/src/langs/index.js +7 -3
- package/src/langs/it.js +70 -1
- package/src/langs/ja.js +72 -4
- package/src/langs/km.js +230 -0
- package/src/langs/ko.js +22 -2
- package/src/langs/lv.js +74 -5
- package/src/langs/nl.js +73 -4
- package/src/langs/pl.js +73 -4
- package/src/langs/pt_br.js +70 -1
- package/src/langs/ro.js +74 -5
- package/src/langs/ru.js +73 -4
- package/src/langs/se.js +73 -4
- package/src/langs/tr.js +73 -1
- package/src/langs/{ua.js → uk.js} +75 -6
- package/src/langs/ur.js +77 -8
- package/src/langs/zh_cn.js +74 -5
- package/src/modules/ApiManager.js +77 -54
- package/src/modules/Browser.js +667 -0
- package/src/modules/ColorPicker.js +162 -102
- package/src/modules/Controller.js +273 -142
- package/src/modules/Figure.js +925 -484
- package/src/modules/FileManager.js +121 -69
- package/src/modules/HueSlider.js +113 -61
- package/src/modules/Modal.js +291 -122
- package/src/modules/ModalAnchorEditor.js +383 -234
- package/src/modules/SelectMenu.js +270 -168
- package/src/modules/_DragHandle.js +2 -1
- package/src/modules/index.js +3 -3
- package/src/plugins/browser/audioGallery.js +83 -0
- package/src/plugins/browser/fileBrowser.js +103 -0
- package/src/plugins/browser/fileGallery.js +83 -0
- package/src/plugins/browser/imageGallery.js +81 -0
- package/src/plugins/browser/videoGallery.js +103 -0
- package/src/plugins/command/blockquote.js +40 -27
- package/src/plugins/command/exportPDF.js +134 -0
- package/src/plugins/command/fileUpload.js +229 -162
- package/src/plugins/command/list_bulleted.js +83 -47
- package/src/plugins/command/list_numbered.js +83 -47
- package/src/plugins/dropdown/align.js +66 -54
- package/src/plugins/dropdown/backgroundColor.js +63 -49
- package/src/plugins/dropdown/font.js +71 -47
- package/src/plugins/dropdown/fontColor.js +63 -48
- package/src/plugins/dropdown/formatBlock.js +70 -33
- package/src/plugins/dropdown/hr.js +92 -51
- package/src/plugins/dropdown/layout.js +37 -26
- package/src/plugins/dropdown/lineHeight.js +54 -38
- package/src/plugins/dropdown/list.js +60 -45
- package/src/plugins/dropdown/paragraphStyle.js +51 -30
- package/src/plugins/dropdown/table.js +2003 -813
- package/src/plugins/dropdown/template.js +38 -26
- package/src/plugins/dropdown/textStyle.js +43 -31
- package/src/plugins/field/mention.js +147 -86
- package/src/plugins/index.js +32 -6
- package/src/plugins/input/fontSize.js +161 -108
- package/src/plugins/input/pageNavigator.js +70 -0
- package/src/plugins/modal/audio.js +358 -173
- package/src/plugins/modal/drawing.js +531 -0
- package/src/plugins/modal/embed.js +886 -0
- package/src/plugins/modal/image.js +674 -362
- package/src/plugins/modal/link.js +100 -71
- package/src/plugins/modal/math.js +367 -167
- package/src/plugins/modal/video.js +691 -335
- package/src/plugins/popup/anchor.js +222 -0
- package/src/suneditor.js +50 -13
- package/src/themes/dark.css +122 -0
- package/src/typedef.js +130 -0
- package/types/assets/icons/defaultIcons.d.ts +153 -0
- package/types/core/base/eventHandlers/handler_toolbar.d.ts +41 -0
- package/types/core/base/eventHandlers/handler_ww_clipboard.d.ts +40 -0
- package/types/core/base/eventHandlers/handler_ww_dragDrop.d.ts +35 -0
- package/types/core/base/eventHandlers/handler_ww_key_input.d.ts +45 -0
- package/types/core/base/eventHandlers/handler_ww_mouse.d.ts +39 -0
- package/types/core/base/eventManager.d.ts +385 -0
- package/types/core/base/history.d.ts +81 -0
- package/types/core/class/char.d.ts +60 -0
- package/types/core/class/component.d.ts +212 -0
- package/types/core/class/format.d.ts +616 -0
- package/types/core/class/html.d.ts +422 -0
- package/types/core/class/menu.d.ts +126 -0
- package/types/core/class/nodeTransform.d.ts +93 -0
- package/types/core/class/offset.d.ts +522 -0
- package/types/core/class/selection.d.ts +188 -0
- package/types/core/class/shortcuts.d.ts +142 -0
- package/types/core/class/toolbar.d.ts +189 -0
- package/types/core/class/ui.d.ts +164 -0
- package/types/core/class/viewer.d.ts +140 -0
- package/types/core/editor.d.ts +610 -0
- package/types/core/section/actives.d.ts +46 -0
- package/types/core/section/constructor.d.ts +777 -0
- package/types/core/section/context.d.ts +45 -0
- package/types/core/section/documentType.d.ts +178 -0
- package/types/editorInjector/_classes.d.ts +41 -0
- package/types/editorInjector/_core.d.ts +92 -0
- package/types/editorInjector/index.d.ts +71 -0
- package/types/events.d.ts +273 -0
- package/types/helper/clipboard.d.ts +12 -0
- package/types/helper/converter.d.ts +197 -0
- package/types/helper/dom/domCheck.d.ts +189 -0
- package/types/helper/dom/domQuery.d.ts +223 -0
- package/types/helper/dom/domUtils.d.ts +226 -0
- package/types/helper/dom/index.d.ts +9 -0
- package/types/helper/env.d.ts +132 -0
- package/types/helper/index.d.ts +174 -0
- package/types/helper/keyCodeMap.d.ts +110 -0
- package/types/helper/numbers.d.ts +46 -0
- package/types/helper/unicode.d.ts +28 -0
- package/types/index.d.ts +120 -0
- package/{typings/Lang.d.ts → types/langs/_Lang.d.ts} +173 -103
- package/types/langs/ckb.d.ts +3 -0
- package/types/langs/cs.d.ts +3 -0
- package/types/langs/da.d.ts +3 -0
- package/types/langs/de.d.ts +3 -0
- package/types/langs/en.d.ts +3 -0
- package/types/langs/es.d.ts +3 -0
- package/types/langs/fa.d.ts +3 -0
- package/types/langs/fr.d.ts +3 -0
- package/types/langs/he.d.ts +3 -0
- package/types/langs/hu.d.ts +3 -0
- package/types/langs/index.d.ts +54 -0
- package/types/langs/it.d.ts +3 -0
- package/types/langs/ja.d.ts +3 -0
- package/types/langs/km.d.ts +3 -0
- package/types/langs/ko.d.ts +3 -0
- package/types/langs/lv.d.ts +3 -0
- package/types/langs/nl.d.ts +3 -0
- package/types/langs/pl.d.ts +3 -0
- package/types/langs/pt_br.d.ts +3 -0
- package/types/langs/ro.d.ts +3 -0
- package/types/langs/ru.d.ts +3 -0
- package/types/langs/se.d.ts +3 -0
- package/types/langs/tr.d.ts +3 -0
- package/types/langs/uk.d.ts +3 -0
- package/types/langs/ur.d.ts +3 -0
- package/types/langs/zh_cn.d.ts +3 -0
- package/types/modules/ApiManager.d.ts +125 -0
- package/types/modules/Browser.d.ts +326 -0
- package/types/modules/ColorPicker.d.ts +131 -0
- package/types/modules/Controller.d.ts +251 -0
- package/types/modules/Figure.d.ts +517 -0
- package/types/modules/FileManager.d.ts +202 -0
- package/types/modules/HueSlider.d.ts +136 -0
- package/types/modules/Modal.d.ts +111 -0
- package/types/modules/ModalAnchorEditor.d.ts +236 -0
- package/types/modules/SelectMenu.d.ts +194 -0
- package/types/modules/_DragHandle.d.ts +7 -0
- package/types/modules/index.d.ts +26 -0
- package/types/plugins/browser/audioGallery.d.ts +55 -0
- package/types/plugins/browser/fileBrowser.d.ts +64 -0
- package/types/plugins/browser/fileGallery.d.ts +55 -0
- package/types/plugins/browser/imageGallery.d.ts +51 -0
- package/types/plugins/browser/videoGallery.d.ts +57 -0
- package/types/plugins/command/blockquote.d.ts +28 -0
- package/types/plugins/command/exportPDF.d.ts +46 -0
- package/types/plugins/command/fileUpload.d.ts +156 -0
- package/types/plugins/command/list_bulleted.d.ts +46 -0
- package/types/plugins/command/list_numbered.d.ts +46 -0
- package/types/plugins/dropdown/align.d.ts +60 -0
- package/types/plugins/dropdown/backgroundColor.d.ts +63 -0
- package/types/plugins/dropdown/font.d.ts +54 -0
- package/types/plugins/dropdown/fontColor.d.ts +63 -0
- package/types/plugins/dropdown/formatBlock.d.ts +54 -0
- package/types/plugins/dropdown/hr.d.ts +71 -0
- package/types/plugins/dropdown/layout.d.ts +40 -0
- package/types/plugins/dropdown/lineHeight.d.ts +50 -0
- package/types/plugins/dropdown/list.d.ts +39 -0
- package/types/plugins/dropdown/paragraphStyle.d.ts +54 -0
- package/types/plugins/dropdown/table.d.ts +627 -0
- package/types/plugins/dropdown/template.d.ts +40 -0
- package/types/plugins/dropdown/textStyle.d.ts +41 -0
- package/types/plugins/field/mention.d.ts +102 -0
- package/types/plugins/index.d.ts +107 -0
- package/types/plugins/input/fontSize.d.ts +170 -0
- package/types/plugins/input/pageNavigator.d.ts +28 -0
- package/types/plugins/modal/audio.d.ts +269 -0
- package/types/plugins/modal/drawing.d.ts +246 -0
- package/types/plugins/modal/embed.d.ts +387 -0
- package/types/plugins/modal/image.d.ts +451 -0
- package/types/plugins/modal/link.d.ts +128 -0
- package/types/plugins/modal/math.d.ts +193 -0
- package/types/plugins/modal/video.d.ts +485 -0
- package/types/plugins/popup/anchor.d.ts +56 -0
- package/types/suneditor.d.ts +51 -0
- package/types/typedef.d.ts +233 -0
- package/.eslintignore +0 -7
- package/.eslintrc.json +0 -64
- package/src/assets/icons/_default.js +0 -194
- package/src/core/base/events.js +0 -320
- package/src/core/class/notice.js +0 -42
- package/src/helper/domUtils.js +0 -1177
- package/src/modules/FileBrowser.js +0 -271
- package/src/plugins/command/exportPdf.js +0 -168
- package/src/plugins/fileBrowser/imageGallery.js +0 -81
- package/src/themes/test.css +0 -61
- package/typings/CommandPlugin.d.ts +0 -8
- package/typings/DialogPlugin.d.ts +0 -20
- package/typings/FileBrowserPlugin.d.ts +0 -30
- package/typings/Module.d.ts +0 -15
- package/typings/Plugin.d.ts +0 -42
- package/typings/SubmenuPlugin.d.ts +0 -8
- package/typings/_classes.d.ts +0 -17
- package/typings/_colorPicker.d.ts +0 -60
- package/typings/_core.d.ts +0 -55
- package/typings/align.d.ts +0 -5
- package/typings/audio.d.ts +0 -5
- package/typings/backgroundColor.d.ts +0 -5
- package/typings/blockquote.d.ts +0 -5
- package/typings/char.d.ts +0 -39
- package/typings/component.d.ts +0 -38
- package/typings/context.d.ts +0 -39
- package/typings/converter.d.ts +0 -33
- package/typings/dialog.d.ts +0 -28
- package/typings/domUtils.d.ts +0 -361
- package/typings/editor.d.ts +0 -7
- package/typings/editor.ts +0 -542
- package/typings/env.d.ts +0 -70
- package/typings/eventManager.d.ts +0 -37
- package/typings/events.d.ts +0 -262
- package/typings/fileBrowser.d.ts +0 -42
- package/typings/fileManager.d.ts +0 -67
- package/typings/font.d.ts +0 -5
- package/typings/fontColor.d.ts +0 -5
- package/typings/fontSize.d.ts +0 -5
- package/typings/format.d.ts +0 -191
- package/typings/formatBlock.d.ts +0 -5
- package/typings/history.d.ts +0 -48
- package/typings/horizontalRule.d.ts +0 -5
- package/typings/image.d.ts +0 -5
- package/typings/imageGallery.d.ts +0 -5
- package/typings/index.d.ts +0 -21
- package/typings/index.modules.d.ts +0 -11
- package/typings/index.plugins.d.ts +0 -58
- package/typings/lineHeight.d.ts +0 -5
- package/typings/link.d.ts +0 -5
- package/typings/list.d.ts +0 -5
- package/typings/math.d.ts +0 -5
- package/typings/mediaContainer.d.ts +0 -25
- package/typings/mention.d.ts +0 -5
- package/typings/node.d.ts +0 -57
- package/typings/notice.d.ts +0 -16
- package/typings/numbers.d.ts +0 -29
- package/typings/offset.d.ts +0 -24
- package/typings/options.d.ts +0 -589
- package/typings/paragraphStyle.d.ts +0 -5
- package/typings/resizing.d.ts +0 -141
- package/typings/selection.d.ts +0 -94
- package/typings/shortcuts.d.ts +0 -13
- package/typings/suneditor.d.ts +0 -9
- package/typings/table.d.ts +0 -5
- package/typings/template.d.ts +0 -5
- package/typings/textStyle.d.ts +0 -5
- package/typings/toolbar.d.ts +0 -32
- package/typings/unicode.d.ts +0 -25
- package/typings/video.d.ts +0 -5
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
export default Controller;
|
|
2
|
+
export type ControllerInfo = {
|
|
3
|
+
/**
|
|
4
|
+
* The controller instance
|
|
5
|
+
*/
|
|
6
|
+
inst: any;
|
|
7
|
+
/**
|
|
8
|
+
* The controller position ("bottom"|"top")
|
|
9
|
+
*/
|
|
10
|
+
position?: string;
|
|
11
|
+
/**
|
|
12
|
+
* The controller element
|
|
13
|
+
*/
|
|
14
|
+
form?: HTMLElement;
|
|
15
|
+
/**
|
|
16
|
+
* The controller target element
|
|
17
|
+
*/
|
|
18
|
+
target?: HTMLElement | Range;
|
|
19
|
+
/**
|
|
20
|
+
* If the controller is not in the "carrierWrapper", set it to true.
|
|
21
|
+
*/
|
|
22
|
+
notInCarrier?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* If the target is a Range, set it to true.
|
|
25
|
+
*/
|
|
26
|
+
isRangeTarget?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* If the controller is fixed and should not be closed, set it to true.
|
|
29
|
+
*/
|
|
30
|
+
fixed?: boolean;
|
|
31
|
+
};
|
|
32
|
+
export type ControllerParams = {
|
|
33
|
+
/**
|
|
34
|
+
* Controller position
|
|
35
|
+
*/
|
|
36
|
+
position?: 'top' | 'bottom';
|
|
37
|
+
/**
|
|
38
|
+
* If the controller is in the WYSIWYG area, set it to true.
|
|
39
|
+
*/
|
|
40
|
+
isWWTarget?: boolean | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Method to be called when the controller is closed.
|
|
43
|
+
*/
|
|
44
|
+
initMethod?: (() => void) | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* If true, When the "controller" is opened, buttons without the "se-component-enabled" class are disabled.
|
|
47
|
+
*/
|
|
48
|
+
disabled?: boolean | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* The parent "controller" array when "controller" is opened nested.
|
|
51
|
+
*/
|
|
52
|
+
parents?: Array<HTMLElement> | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* If true, the parent element is hidden when the controller is opened.
|
|
55
|
+
*/
|
|
56
|
+
parentsHide?: boolean | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* The related sibling controller element that this controller is positioned relative to.
|
|
59
|
+
*/
|
|
60
|
+
sibling?: HTMLElement | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* The relative position of this controller to the sibling element (e.g., display above or beside the sibling).
|
|
63
|
+
*/
|
|
64
|
+
siblingPosition?: 'top' | 'side';
|
|
65
|
+
/**
|
|
66
|
+
* If the controller is inside a form, set it to true.
|
|
67
|
+
*/
|
|
68
|
+
isInsideForm?: boolean | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* If the controller is outside a form, set it to true.
|
|
71
|
+
*/
|
|
72
|
+
isOutsideForm?: boolean | undefined;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* @typedef {Object} ControllerInfo
|
|
76
|
+
* @property {*} inst The controller instance
|
|
77
|
+
* @property {string} [position="bottom"] The controller position ("bottom"|"top")
|
|
78
|
+
* @property {HTMLElement} [form=null] The controller element
|
|
79
|
+
* @property {HTMLElement|Range} [target=null] The controller target element
|
|
80
|
+
* @property {boolean} [notInCarrier=false] If the controller is not in the "carrierWrapper", set it to true.
|
|
81
|
+
* @property {boolean} [isRangeTarget=false] If the target is a Range, set it to true.
|
|
82
|
+
* @property {boolean} [fixed=false] If the controller is fixed and should not be closed, set it to true.
|
|
83
|
+
*/
|
|
84
|
+
/**
|
|
85
|
+
* @typedef {Object} ControllerParams
|
|
86
|
+
* @property {"top"|"bottom"} [position="bottom"] Controller position
|
|
87
|
+
* @property {boolean=} [isWWTarget=true] If the controller is in the WYSIWYG area, set it to true.
|
|
88
|
+
* @property {() => void=} [initMethod=null] Method to be called when the controller is closed.
|
|
89
|
+
* @property {boolean=} [disabled=false] If true, When the "controller" is opened, buttons without the "se-component-enabled" class are disabled.
|
|
90
|
+
* @property {Array<HTMLElement>=} [parents=[]] The parent "controller" array when "controller" is opened nested.
|
|
91
|
+
* @property {boolean=} [parentsHide=false] If true, the parent element is hidden when the controller is opened.
|
|
92
|
+
* @property {HTMLElement=} [sibling=null] The related sibling controller element that this controller is positioned relative to.
|
|
93
|
+
* @property {"top"|"side"} [siblingPosition="top"] The relative position of this controller to the sibling element (e.g., display above or beside the sibling).
|
|
94
|
+
* @property {boolean=} [isInsideForm=false] If the controller is inside a form, set it to true.
|
|
95
|
+
* @property {boolean=} [isOutsideForm=false] If the controller is outside a form, set it to true.
|
|
96
|
+
*/
|
|
97
|
+
/**
|
|
98
|
+
* @class
|
|
99
|
+
* @description Controller module class that handles the UI and interaction logic for a specific editor controller element.
|
|
100
|
+
*/
|
|
101
|
+
declare class Controller extends EditorInjector {
|
|
102
|
+
/**
|
|
103
|
+
* @constructor
|
|
104
|
+
* @param {*} inst The instance object that called the constructor.
|
|
105
|
+
* @param {Node} element Controller element
|
|
106
|
+
* @param {ControllerParams} params Controller options
|
|
107
|
+
* @param {?string=} _name An optional name for the controller key.
|
|
108
|
+
*/
|
|
109
|
+
constructor(inst: any, element: Node, params: ControllerParams, _name?: (string | null) | undefined);
|
|
110
|
+
kind: any;
|
|
111
|
+
inst: any;
|
|
112
|
+
form: HTMLFormElement;
|
|
113
|
+
isOpen: boolean;
|
|
114
|
+
currentTarget: Node;
|
|
115
|
+
currentPositionTarget: Range | Node;
|
|
116
|
+
isWWTarget: boolean;
|
|
117
|
+
position: 'top' | 'bottom';
|
|
118
|
+
disabled: boolean;
|
|
119
|
+
parents: HTMLElement[];
|
|
120
|
+
parentsHide: boolean;
|
|
121
|
+
sibling: HTMLElement;
|
|
122
|
+
siblingPosition: 'top' | 'side';
|
|
123
|
+
isInsideForm: boolean;
|
|
124
|
+
isOutsideForm: boolean;
|
|
125
|
+
toTop: boolean;
|
|
126
|
+
_reserveIndex: boolean;
|
|
127
|
+
_initMethod: () => void;
|
|
128
|
+
__globalEventHandlers: {
|
|
129
|
+
keydown: any;
|
|
130
|
+
mousedown: any;
|
|
131
|
+
};
|
|
132
|
+
_bindClose_key: any;
|
|
133
|
+
_bindClose_mouse: any;
|
|
134
|
+
/** @type {{left?: number, top?: number, addOfffset?: {left?: number, top?: number}}} */
|
|
135
|
+
__offset: {
|
|
136
|
+
left?: number;
|
|
137
|
+
top?: number;
|
|
138
|
+
addOfffset?: {
|
|
139
|
+
left?: number;
|
|
140
|
+
top?: number;
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
__addOffset: {
|
|
144
|
+
left: number;
|
|
145
|
+
top: number;
|
|
146
|
+
};
|
|
147
|
+
__shadowRootEventForm: HTMLFormElement;
|
|
148
|
+
__shadowRootEventListener: (e: any) => any;
|
|
149
|
+
/**
|
|
150
|
+
* @description Open a modal plugin
|
|
151
|
+
* @param {Node|Range} target Target element
|
|
152
|
+
* @param {Node} [positionTarget] Position target element
|
|
153
|
+
* @param {Object} [params={}] params
|
|
154
|
+
* @param {boolean=} params.isWWTarget If the controller is in the WYSIWYG area, set it to true.
|
|
155
|
+
* @param {() => void=} params.initMethod Method to be called when the controller is closed.
|
|
156
|
+
* @param {boolean=} params.disabled If true, When the "controller" is opened, buttons without the "se-component-enabled" class are disabled. (default: this.disabled)
|
|
157
|
+
* @param {{left?: number, top?: number}=} params.addOffset Additional offset values
|
|
158
|
+
*/
|
|
159
|
+
open(
|
|
160
|
+
target: Node | Range,
|
|
161
|
+
positionTarget?: Node,
|
|
162
|
+
{
|
|
163
|
+
isWWTarget,
|
|
164
|
+
initMethod,
|
|
165
|
+
disabled,
|
|
166
|
+
addOffset
|
|
167
|
+
}?: {
|
|
168
|
+
isWWTarget?: boolean | undefined;
|
|
169
|
+
initMethod?: (() => void) | undefined;
|
|
170
|
+
disabled?: boolean | undefined;
|
|
171
|
+
addOffset?:
|
|
172
|
+
| {
|
|
173
|
+
left?: number;
|
|
174
|
+
top?: number;
|
|
175
|
+
}
|
|
176
|
+
| undefined;
|
|
177
|
+
}
|
|
178
|
+
): void;
|
|
179
|
+
/**
|
|
180
|
+
* @description Close a modal plugin
|
|
181
|
+
* - The plugin's "init" method is called.
|
|
182
|
+
* @param {boolean=} force If true, parent controllers are forcibly closed.
|
|
183
|
+
*/
|
|
184
|
+
close(force?: boolean | undefined): void;
|
|
185
|
+
/**
|
|
186
|
+
* @description Hide controller
|
|
187
|
+
*/
|
|
188
|
+
hide(): void;
|
|
189
|
+
/**
|
|
190
|
+
* @description Show controller
|
|
191
|
+
*/
|
|
192
|
+
show(): void;
|
|
193
|
+
/**
|
|
194
|
+
* @description Sets whether the element (form) should be brought to the top based on z-index.
|
|
195
|
+
* @param {boolean} value - true: '2147483646', false: '2147483645'.
|
|
196
|
+
*/
|
|
197
|
+
bringToTop(value: boolean): void;
|
|
198
|
+
/**
|
|
199
|
+
* @description Reset controller position
|
|
200
|
+
* @param {Node=} target
|
|
201
|
+
*/
|
|
202
|
+
resetPosition(target?: Node | undefined): void;
|
|
203
|
+
/**
|
|
204
|
+
* @private
|
|
205
|
+
* @description Show controller at editor area (controller elements, function, "controller target element(@Required)", "controller name(@Required)", etc..)
|
|
206
|
+
* @param {HTMLFormElement} form Controller element
|
|
207
|
+
* @param {Node|Range} target Controller target element
|
|
208
|
+
* @param {boolean} isRangeTarget If the target is a Range, set it to true.
|
|
209
|
+
*/
|
|
210
|
+
private _controllerOn;
|
|
211
|
+
/**
|
|
212
|
+
* @private
|
|
213
|
+
* @description Hide controller at editor area (link button, image resize button..)
|
|
214
|
+
*/
|
|
215
|
+
private _controllerOff;
|
|
216
|
+
/**
|
|
217
|
+
* @private
|
|
218
|
+
* @description Specify the position of the controller.
|
|
219
|
+
* @param {HTMLElement} controller Controller element.
|
|
220
|
+
* @param {Node|Range} refer Element or Range that is the basis of the controller's position.
|
|
221
|
+
* @param {boolean} [skipAutoReposition=false] If true, skips scroll/resize-based automatic positioning logic.
|
|
222
|
+
*/
|
|
223
|
+
private _setControllerPosition;
|
|
224
|
+
/**
|
|
225
|
+
* @private
|
|
226
|
+
* @description Adds global event listeners.
|
|
227
|
+
* - When the controller is opened
|
|
228
|
+
*/
|
|
229
|
+
private __addGlobalEvent;
|
|
230
|
+
/**
|
|
231
|
+
* @private
|
|
232
|
+
* @description Removes global event listeners.
|
|
233
|
+
* - When the ESC key is pressed, the controller is closed.
|
|
234
|
+
*/
|
|
235
|
+
private __removeGlobalEvent;
|
|
236
|
+
/**
|
|
237
|
+
* @private
|
|
238
|
+
* @description Checks if the controller is fixed and should not be closed.
|
|
239
|
+
* @returns {boolean} True if the controller is fixed.
|
|
240
|
+
*/
|
|
241
|
+
private _checkFixed;
|
|
242
|
+
/**
|
|
243
|
+
* @private
|
|
244
|
+
* @description Checks if the given target is within a form or controller.
|
|
245
|
+
* @param {Node} target The target element.
|
|
246
|
+
* @returns {boolean} True if the target is inside a form or controller.
|
|
247
|
+
*/
|
|
248
|
+
private _checkForm;
|
|
249
|
+
#private;
|
|
250
|
+
}
|
|
251
|
+
import EditorInjector from '../editorInjector';
|