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,188 @@
|
|
|
1
|
+
export default Selection_;
|
|
2
|
+
export type SelectionThis = Omit<Selection_ & Partial<__se__EditorInjector>, 'selection'>;
|
|
3
|
+
export type RectsInfo_selection = import('./offset').RectsInfo;
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {Omit<Selection_ & Partial<__se__EditorInjector>, 'selection'>} SelectionThis
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* @typedef {import('./offset').RectsInfo} RectsInfo_selection
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* @constructor
|
|
12
|
+
* @this {SelectionThis}
|
|
13
|
+
* @description Selection, Range related class
|
|
14
|
+
* @param {__se__EditorCore} editor - The root editor instance
|
|
15
|
+
*/
|
|
16
|
+
declare function Selection_(this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>, editor: __se__EditorCore): void;
|
|
17
|
+
declare class Selection_ {
|
|
18
|
+
/**
|
|
19
|
+
* @typedef {Omit<Selection_ & Partial<__se__EditorInjector>, 'selection'>} SelectionThis
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* @typedef {import('./offset').RectsInfo} RectsInfo_selection
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* @constructor
|
|
26
|
+
* @this {SelectionThis}
|
|
27
|
+
* @description Selection, Range related class
|
|
28
|
+
* @param {__se__EditorCore} editor - The root editor instance
|
|
29
|
+
*/
|
|
30
|
+
constructor(editor: __se__EditorCore);
|
|
31
|
+
/** @type {Range} */
|
|
32
|
+
range: Range;
|
|
33
|
+
/** @type {HTMLElement|Text} */
|
|
34
|
+
selectionNode: HTMLElement | Text;
|
|
35
|
+
__iframeFocus: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* @this {SelectionThis}
|
|
38
|
+
* @description Get window selection obejct
|
|
39
|
+
* @returns {Selection}
|
|
40
|
+
*/
|
|
41
|
+
get(this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>): Selection;
|
|
42
|
+
/**
|
|
43
|
+
* @this {SelectionThis}
|
|
44
|
+
* @description Check if the range object is valid
|
|
45
|
+
* @param {*} range Range object
|
|
46
|
+
* @returns {boolean}
|
|
47
|
+
*/
|
|
48
|
+
isRange(this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>, range: any): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* @this {SelectionThis}
|
|
51
|
+
* @description Get current editor's range object
|
|
52
|
+
* @returns {Range}
|
|
53
|
+
*/
|
|
54
|
+
getRange(this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>): Range;
|
|
55
|
+
/**
|
|
56
|
+
* @this {SelectionThis}
|
|
57
|
+
* @description Set current editor's range object and return.
|
|
58
|
+
* @param {Node|Range} startCon Range object or The startContainer property of the selection object
|
|
59
|
+
* @param {number} [startOff] The startOffset property of the selection object.
|
|
60
|
+
* @param {Node} [endCon] The endContainer property of the selection object.
|
|
61
|
+
* @param {number} [endOff] The endOffset property of the selection object.
|
|
62
|
+
* @returns {Range}
|
|
63
|
+
*/
|
|
64
|
+
setRange(this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>, startCon: Node | Range, startOff?: number, endCon?: Node, endOff?: number): Range;
|
|
65
|
+
/**
|
|
66
|
+
* @this {SelectionThis}
|
|
67
|
+
* @description Remove range object and button effect
|
|
68
|
+
*/
|
|
69
|
+
removeRange(this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>): void;
|
|
70
|
+
/**
|
|
71
|
+
* @this {SelectionThis}
|
|
72
|
+
* @description Returns the range (container and offset) near the given target node.
|
|
73
|
+
* - If the target node has a next sibling, it returns the next sibling with an offset of 0.
|
|
74
|
+
* - If there is no next sibling but a previous sibling exists, it returns the previous sibling with an offset of 1.
|
|
75
|
+
* @param {Node} target Target node whose neighboring range is to be determined.
|
|
76
|
+
* @returns {{container: Node, offset: number}|null} An object containing the nearest container node and its offset.
|
|
77
|
+
*/
|
|
78
|
+
getNearRange(
|
|
79
|
+
this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>,
|
|
80
|
+
target: Node
|
|
81
|
+
): {
|
|
82
|
+
container: Node;
|
|
83
|
+
offset: number;
|
|
84
|
+
} | null;
|
|
85
|
+
/**
|
|
86
|
+
* @this {SelectionThis}
|
|
87
|
+
* @description If the "range" object is a non-editable area, add a line at the top of the editor and update the "range" object.
|
|
88
|
+
* @param {Range} range core.getRange()
|
|
89
|
+
* @param {?Node=} container If there is "container" argument, it creates a line in front of the container.
|
|
90
|
+
* @returns {Range} a new "range" or argument "range".
|
|
91
|
+
*/
|
|
92
|
+
getRangeAndAddLine(this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>, range: Range, container?: (Node | null) | undefined): Range;
|
|
93
|
+
/**
|
|
94
|
+
* @this {SelectionThis}
|
|
95
|
+
* @description Get current select node
|
|
96
|
+
* @returns {HTMLElement|Text}
|
|
97
|
+
*/
|
|
98
|
+
getNode(this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>): HTMLElement | Text;
|
|
99
|
+
/**
|
|
100
|
+
* @this {SelectionThis}
|
|
101
|
+
* @description Get the Rects object.
|
|
102
|
+
* @param {?Range|Node} target Range | Node | null
|
|
103
|
+
* @param {"start"|"end"} position It is based on the position of the rect object to be returned in case of range selection.
|
|
104
|
+
* @returns {{rects: RectsInfo_selection, position: "start"|"end", scrollLeft: number, scrollTop: number}}
|
|
105
|
+
*/
|
|
106
|
+
getRects(
|
|
107
|
+
this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>,
|
|
108
|
+
target: (Range | Node) | null,
|
|
109
|
+
position: 'start' | 'end'
|
|
110
|
+
): {
|
|
111
|
+
rects: RectsInfo_selection;
|
|
112
|
+
position: 'start' | 'end';
|
|
113
|
+
scrollLeft: number;
|
|
114
|
+
scrollTop: number;
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* @this {SelectionThis}
|
|
118
|
+
* @description Get the custom range object of the event.
|
|
119
|
+
* @param {DragEvent} e Event object
|
|
120
|
+
* @returns {{sc: Node, so: number, ec: Node, eo: number}} {sc: startContainer, so: startOffset, ec: endContainer, eo: endOffset}
|
|
121
|
+
*/
|
|
122
|
+
getDragEventLocationRange(
|
|
123
|
+
this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>,
|
|
124
|
+
e: DragEvent
|
|
125
|
+
): {
|
|
126
|
+
sc: Node;
|
|
127
|
+
so: number;
|
|
128
|
+
ec: Node;
|
|
129
|
+
eo: number;
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* @this {SelectionThis}
|
|
133
|
+
* @description Scroll to the corresponding selection or range position.
|
|
134
|
+
* @param {Selection|Range|Node} ref selection or range object
|
|
135
|
+
* @param {?Object<string, *>=} scrollOption option of scrollTo
|
|
136
|
+
*/
|
|
137
|
+
scrollTo(
|
|
138
|
+
this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>,
|
|
139
|
+
ref: Selection | Range | Node,
|
|
140
|
+
scrollOption?:
|
|
141
|
+
| ({
|
|
142
|
+
[x: string]: any;
|
|
143
|
+
} | null)
|
|
144
|
+
| undefined
|
|
145
|
+
): void;
|
|
146
|
+
/**
|
|
147
|
+
* @private
|
|
148
|
+
* @this {SelectionThis}
|
|
149
|
+
* @description Returns true if there is no valid selection.
|
|
150
|
+
* @param {Range} range selection.getRange()
|
|
151
|
+
* @returns {boolean}
|
|
152
|
+
*/
|
|
153
|
+
_isNone(this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>, range: Range): boolean;
|
|
154
|
+
/**
|
|
155
|
+
* @private
|
|
156
|
+
* @this {SelectionThis}
|
|
157
|
+
* @description Return the range object of editor's first child node
|
|
158
|
+
* @returns {Range}
|
|
159
|
+
*/
|
|
160
|
+
_createDefaultRange(this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>): Range;
|
|
161
|
+
/**
|
|
162
|
+
* @private
|
|
163
|
+
* @this {SelectionThis}
|
|
164
|
+
* @description Set "range" and "selection" info.
|
|
165
|
+
* @param {Range} range range object.
|
|
166
|
+
* @param {Selection} selection selection object.
|
|
167
|
+
*/
|
|
168
|
+
_rangeInfo(this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>, range: Range, selection: Selection): void;
|
|
169
|
+
/**
|
|
170
|
+
* @private
|
|
171
|
+
* @this {SelectionThis}
|
|
172
|
+
* @description Saving the range object and the currently selected node of editor
|
|
173
|
+
*/
|
|
174
|
+
_init(this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>): HTMLInputElement;
|
|
175
|
+
/**
|
|
176
|
+
* @private
|
|
177
|
+
* @this {SelectionThis}
|
|
178
|
+
* @description Focus method
|
|
179
|
+
*/
|
|
180
|
+
__focus(this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>): void;
|
|
181
|
+
/**
|
|
182
|
+
* @private
|
|
183
|
+
* @this {SelectionThis}
|
|
184
|
+
* @description Reset range object to text node selected status.
|
|
185
|
+
* @returns {boolean} Returns false if there is no valid selection.
|
|
186
|
+
*/
|
|
187
|
+
_resetRangeToTextNode(this: Omit<Selection_ & Partial<import('../../editorInjector').default>, 'selection'>): boolean;
|
|
188
|
+
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
export default Shortcuts;
|
|
2
|
+
export type ShortcutsThis = Omit<Shortcuts & Partial<__se__EditorInjector>, 'shortcuts'>;
|
|
3
|
+
export type ShortcutInfo = {
|
|
4
|
+
/**
|
|
5
|
+
* - Whether the [Ctrl, Command] key is pressed.
|
|
6
|
+
*/
|
|
7
|
+
c: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* - Whether the [Shift] key is pressed.
|
|
10
|
+
*/
|
|
11
|
+
s: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* - Whether the [Space] key is pressed.
|
|
14
|
+
*/
|
|
15
|
+
space: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* - Whether the Enter key is pressed.
|
|
18
|
+
*/
|
|
19
|
+
enter: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* - The command key. (e.g. "bold")
|
|
22
|
+
*/
|
|
23
|
+
command: string;
|
|
24
|
+
/**
|
|
25
|
+
* - Whether the cursor is at the end of the line.
|
|
26
|
+
*/
|
|
27
|
+
edge: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* - The key pressed (e.g., "1.").
|
|
30
|
+
*/
|
|
31
|
+
key?: string | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* - The keyEvent.code.
|
|
34
|
+
*/
|
|
35
|
+
keyCode?: string | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* - A plugin's "shortcut" method that is called instead of the default "editor.run" method.
|
|
38
|
+
*/
|
|
39
|
+
method?: (string | ((...args: any) => any)) | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* - The plugin name.
|
|
42
|
+
*/
|
|
43
|
+
plugin: string;
|
|
44
|
+
/**
|
|
45
|
+
* - Plugin's type. ("command", "dropdown", "modal", "browser", "input", "field", "popup").
|
|
46
|
+
*/
|
|
47
|
+
type: string;
|
|
48
|
+
/**
|
|
49
|
+
* - The plugin command button.
|
|
50
|
+
*/
|
|
51
|
+
button: Node;
|
|
52
|
+
/**
|
|
53
|
+
* - An array of key codes generated with the reverseButtons option, used to reverse the action for a specific key combination.
|
|
54
|
+
*/
|
|
55
|
+
r: Array<string>;
|
|
56
|
+
/**
|
|
57
|
+
* - Whether the event was triggered by a text input (e.g., mention like
|
|
58
|
+
*/
|
|
59
|
+
textTrigger: string;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* @typedef {Omit<Shortcuts & Partial<__se__EditorInjector>, 'shortcuts'>} ShortcutsThis
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* @typedef {Object} ShortcutInfo
|
|
66
|
+
* @property {boolean} c - Whether the [Ctrl, Command] key is pressed.
|
|
67
|
+
* @property {boolean} s - Whether the [Shift] key is pressed.
|
|
68
|
+
* @property {boolean} space - Whether the [Space] key is pressed.
|
|
69
|
+
* @property {boolean} enter - Whether the Enter key is pressed.
|
|
70
|
+
* @property {string} command - The command key. (e.g. "bold")
|
|
71
|
+
* @property {boolean} edge - Whether the cursor is at the end of the line.
|
|
72
|
+
* @property {string=} key - The key pressed (e.g., "1.").
|
|
73
|
+
* @property {string=} keyCode - The keyEvent.code.
|
|
74
|
+
* @property {string|((...args: *) => *)=} method - A plugin's "shortcut" method that is called instead of the default "editor.run" method.
|
|
75
|
+
* @property {string} plugin - The plugin name.
|
|
76
|
+
* @property {string} type - Plugin's type. ("command", "dropdown", "modal", "browser", "input", "field", "popup").
|
|
77
|
+
* @property {Node} button - The plugin command button.
|
|
78
|
+
* @property {Array<string>} r - An array of key codes generated with the reverseButtons option, used to reverse the action for a specific key combination.
|
|
79
|
+
* @property {string} textTrigger - Whether the event was triggered by a text input (e.g., mention like @ab).
|
|
80
|
+
*/
|
|
81
|
+
/**
|
|
82
|
+
* @constructor
|
|
83
|
+
* @this {ShortcutsThis}
|
|
84
|
+
* @description Shortcuts class
|
|
85
|
+
* @param {__se__EditorCore} editor - The root editor instance
|
|
86
|
+
*/
|
|
87
|
+
declare function Shortcuts(this: Omit<Shortcuts & Partial<import('../../editorInjector').default>, 'shortcuts'>, editor: __se__EditorCore): void;
|
|
88
|
+
declare class Shortcuts {
|
|
89
|
+
/**
|
|
90
|
+
* @typedef {Omit<Shortcuts & Partial<__se__EditorInjector>, 'shortcuts'>} ShortcutsThis
|
|
91
|
+
*/
|
|
92
|
+
/**
|
|
93
|
+
* @typedef {Object} ShortcutInfo
|
|
94
|
+
* @property {boolean} c - Whether the [Ctrl, Command] key is pressed.
|
|
95
|
+
* @property {boolean} s - Whether the [Shift] key is pressed.
|
|
96
|
+
* @property {boolean} space - Whether the [Space] key is pressed.
|
|
97
|
+
* @property {boolean} enter - Whether the Enter key is pressed.
|
|
98
|
+
* @property {string} command - The command key. (e.g. "bold")
|
|
99
|
+
* @property {boolean} edge - Whether the cursor is at the end of the line.
|
|
100
|
+
* @property {string=} key - The key pressed (e.g., "1.").
|
|
101
|
+
* @property {string=} keyCode - The keyEvent.code.
|
|
102
|
+
* @property {string|((...args: *) => *)=} method - A plugin's "shortcut" method that is called instead of the default "editor.run" method.
|
|
103
|
+
* @property {string} plugin - The plugin name.
|
|
104
|
+
* @property {string} type - Plugin's type. ("command", "dropdown", "modal", "browser", "input", "field", "popup").
|
|
105
|
+
* @property {Node} button - The plugin command button.
|
|
106
|
+
* @property {Array<string>} r - An array of key codes generated with the reverseButtons option, used to reverse the action for a specific key combination.
|
|
107
|
+
* @property {string} textTrigger - Whether the event was triggered by a text input (e.g., mention like @ab).
|
|
108
|
+
*/
|
|
109
|
+
/**
|
|
110
|
+
* @constructor
|
|
111
|
+
* @this {ShortcutsThis}
|
|
112
|
+
* @description Shortcuts class
|
|
113
|
+
* @param {__se__EditorCore} editor - The root editor instance
|
|
114
|
+
*/
|
|
115
|
+
constructor(editor: __se__EditorCore);
|
|
116
|
+
editor: import('../editor').default;
|
|
117
|
+
isDisabled: boolean;
|
|
118
|
+
/**
|
|
119
|
+
* @this {ShortcutsThis}
|
|
120
|
+
* @description If there is a shortcut function, run it.
|
|
121
|
+
* @param {KeyboardEvent} event Keyboard event object
|
|
122
|
+
* @param {boolean} ctrl Whether the Ctrl key is pressed
|
|
123
|
+
* @param {boolean} shift Whether the Shift key is pressed
|
|
124
|
+
* @param {string} keyCode The keyEvent.code.
|
|
125
|
+
* @param {string} text The text content of the key
|
|
126
|
+
* @param {boolean} edge Whether the cursor is at the end of the line
|
|
127
|
+
* @param {HTMLElement} line The current line node
|
|
128
|
+
* @param {Range} range The current range object
|
|
129
|
+
* @returns {boolean} Whether to execute shortcuts
|
|
130
|
+
*/
|
|
131
|
+
command(this: Omit<Shortcuts & Partial<import('../../editorInjector').default>, 'shortcuts'>, event: KeyboardEvent, ctrl: boolean, shift: boolean, keyCode: string, text: string, edge: boolean, line: HTMLElement, range: Range): boolean;
|
|
132
|
+
/**
|
|
133
|
+
* @this {ShortcutsThis}
|
|
134
|
+
* @description Disable the shortcut activation.
|
|
135
|
+
*/
|
|
136
|
+
disable(this: Omit<Shortcuts & Partial<import('../../editorInjector').default>, 'shortcuts'>): void;
|
|
137
|
+
/**
|
|
138
|
+
* @this {ShortcutsThis}
|
|
139
|
+
* @description Enable the shortcut activation.
|
|
140
|
+
*/
|
|
141
|
+
enable(this: Omit<Shortcuts & Partial<import('../../editorInjector').default>, 'shortcuts'>): void;
|
|
142
|
+
}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
export default Toolbar;
|
|
2
|
+
export type ToolbarThis = Omit<Toolbar & Partial<__se__EditorInjector>, 'toolbar' | 'subToolbar'>;
|
|
3
|
+
/**
|
|
4
|
+
* @typedef {Omit<Toolbar & Partial<__se__EditorInjector>, 'toolbar' | 'subToolbar'>} ToolbarThis
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @constructor
|
|
8
|
+
* @this {ToolbarThis}
|
|
9
|
+
* @description Toolbar class
|
|
10
|
+
* @param {__se__EditorCore} editor - The root editor instance
|
|
11
|
+
* @param {Object} options - toolbar options
|
|
12
|
+
* @param {String} options.keyName - toolbar key name
|
|
13
|
+
* @param {Boolean} options.balloon - balloon toolbar
|
|
14
|
+
* @param {Boolean} options.inline - inline toolbar
|
|
15
|
+
* @param {Boolean} options.balloonAlways - balloon toolbar always show
|
|
16
|
+
* @param {Array<Node>} options.res - responsive toolbar button list
|
|
17
|
+
*/
|
|
18
|
+
declare function Toolbar(
|
|
19
|
+
this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>,
|
|
20
|
+
editor: __se__EditorCore,
|
|
21
|
+
{
|
|
22
|
+
keyName,
|
|
23
|
+
balloon,
|
|
24
|
+
inline,
|
|
25
|
+
balloonAlways,
|
|
26
|
+
res
|
|
27
|
+
}: {
|
|
28
|
+
keyName: string;
|
|
29
|
+
balloon: boolean;
|
|
30
|
+
inline: boolean;
|
|
31
|
+
balloonAlways: boolean;
|
|
32
|
+
res: Array<Node>;
|
|
33
|
+
}
|
|
34
|
+
): void;
|
|
35
|
+
declare class Toolbar {
|
|
36
|
+
/**
|
|
37
|
+
* @typedef {Omit<Toolbar & Partial<__se__EditorInjector>, 'toolbar' | 'subToolbar'>} ToolbarThis
|
|
38
|
+
*/
|
|
39
|
+
/**
|
|
40
|
+
* @constructor
|
|
41
|
+
* @this {ToolbarThis}
|
|
42
|
+
* @description Toolbar class
|
|
43
|
+
* @param {__se__EditorCore} editor - The root editor instance
|
|
44
|
+
* @param {Object} options - toolbar options
|
|
45
|
+
* @param {String} options.keyName - toolbar key name
|
|
46
|
+
* @param {Boolean} options.balloon - balloon toolbar
|
|
47
|
+
* @param {Boolean} options.inline - inline toolbar
|
|
48
|
+
* @param {Boolean} options.balloonAlways - balloon toolbar always show
|
|
49
|
+
* @param {Array<Node>} options.res - responsive toolbar button list
|
|
50
|
+
*/
|
|
51
|
+
constructor(
|
|
52
|
+
editor: __se__EditorCore,
|
|
53
|
+
{
|
|
54
|
+
keyName,
|
|
55
|
+
balloon,
|
|
56
|
+
inline,
|
|
57
|
+
balloonAlways,
|
|
58
|
+
res
|
|
59
|
+
}: {
|
|
60
|
+
keyName: string;
|
|
61
|
+
balloon: boolean;
|
|
62
|
+
inline: boolean;
|
|
63
|
+
balloonAlways: boolean;
|
|
64
|
+
res: Array<Node>;
|
|
65
|
+
}
|
|
66
|
+
);
|
|
67
|
+
keyName: string;
|
|
68
|
+
isSub: boolean;
|
|
69
|
+
currentMoreLayerActiveButton: HTMLButtonElement;
|
|
70
|
+
_isBalloon: boolean;
|
|
71
|
+
_isInline: boolean;
|
|
72
|
+
_isBalloonAlways: boolean;
|
|
73
|
+
_responsiveCurrentSize: string;
|
|
74
|
+
_originRes: Node[];
|
|
75
|
+
_rButtonArray: Node[];
|
|
76
|
+
_rButtonsInfo: {
|
|
77
|
+
default: Node;
|
|
78
|
+
};
|
|
79
|
+
_rButtonsize: any[];
|
|
80
|
+
_sticky: boolean;
|
|
81
|
+
_isViewPortSize: boolean;
|
|
82
|
+
_inlineToolbarAttr: {
|
|
83
|
+
top: string;
|
|
84
|
+
width: string;
|
|
85
|
+
isShow: boolean;
|
|
86
|
+
};
|
|
87
|
+
_balloonOffset: {
|
|
88
|
+
top: number;
|
|
89
|
+
left: number;
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* @this {ToolbarThis}
|
|
93
|
+
* @description Disable the toolbar
|
|
94
|
+
*/
|
|
95
|
+
disable(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>): void;
|
|
96
|
+
/**
|
|
97
|
+
* @this {ToolbarThis}
|
|
98
|
+
* @description Enable the toolbar
|
|
99
|
+
*/
|
|
100
|
+
enable(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>): void;
|
|
101
|
+
/**
|
|
102
|
+
* @this {ToolbarThis}
|
|
103
|
+
* @description Show the toolbar
|
|
104
|
+
*/
|
|
105
|
+
show(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>): void;
|
|
106
|
+
/**
|
|
107
|
+
* @this {ToolbarThis}
|
|
108
|
+
* @description Hide the toolbar
|
|
109
|
+
*/
|
|
110
|
+
hide(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>): void;
|
|
111
|
+
/**
|
|
112
|
+
* @this {ToolbarThis}
|
|
113
|
+
* @description Reset buttons of the responsive toolbar.
|
|
114
|
+
*/
|
|
115
|
+
resetResponsiveToolbar(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>): void;
|
|
116
|
+
/**
|
|
117
|
+
* @this {ToolbarThis}
|
|
118
|
+
* @description Reset the buttons on the toolbar. (Editor is not reloaded)
|
|
119
|
+
* - You cannot set a new plugin for the button.
|
|
120
|
+
* @param {Array} buttonList Button list
|
|
121
|
+
*/
|
|
122
|
+
setButtons(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>, buttonList: any[]): void;
|
|
123
|
+
/**
|
|
124
|
+
* @private
|
|
125
|
+
* @this {ToolbarThis}
|
|
126
|
+
* @description Reset the sticky toolbar position based on the editor state.
|
|
127
|
+
*/
|
|
128
|
+
_resetSticky(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>): void;
|
|
129
|
+
/**
|
|
130
|
+
* @private
|
|
131
|
+
* @this {ToolbarThis}
|
|
132
|
+
* @description Enable sticky toolbar mode and adjust position.
|
|
133
|
+
*/
|
|
134
|
+
_onSticky(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>, inlineOffset: any): void;
|
|
135
|
+
/**
|
|
136
|
+
* @private
|
|
137
|
+
* @this {ToolbarThis}
|
|
138
|
+
* @description Get the viewport's top offset.
|
|
139
|
+
* @returns {number}
|
|
140
|
+
*/
|
|
141
|
+
__getViewportTop(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>): number;
|
|
142
|
+
/**
|
|
143
|
+
* @private
|
|
144
|
+
* @this {ToolbarThis}
|
|
145
|
+
* @description Disable sticky toolbar mode.
|
|
146
|
+
*/
|
|
147
|
+
_offSticky(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>): void;
|
|
148
|
+
/**
|
|
149
|
+
* @private
|
|
150
|
+
* @this {ToolbarThis}
|
|
151
|
+
* @description Set up responsive behavior for the toolbar buttons.
|
|
152
|
+
*/
|
|
153
|
+
_setResponsive(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>): void;
|
|
154
|
+
/**
|
|
155
|
+
* @private
|
|
156
|
+
* @this {ToolbarThis}
|
|
157
|
+
* @description Show the balloon toolbar based on the current selection.
|
|
158
|
+
* @param {?Range=} rangeObj - Selection range
|
|
159
|
+
*/
|
|
160
|
+
_showBalloon(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>, rangeObj?: (Range | null) | undefined): void;
|
|
161
|
+
/**
|
|
162
|
+
* @private
|
|
163
|
+
* @this {ToolbarThis}
|
|
164
|
+
* @description Adjust the balloon toolbar's position.
|
|
165
|
+
* @param {boolean} positionTop - Whether the toolbar should be positioned above the selection
|
|
166
|
+
* @param {Range} [range] - Selection range
|
|
167
|
+
*/
|
|
168
|
+
_setBalloonOffset(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>, positionTop: boolean, range?: Range): void;
|
|
169
|
+
/**
|
|
170
|
+
* @private
|
|
171
|
+
* @this {ToolbarThis}
|
|
172
|
+
* @description Show the inline toolbar mode.
|
|
173
|
+
*/
|
|
174
|
+
_showInline(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>): void;
|
|
175
|
+
/**
|
|
176
|
+
* @private
|
|
177
|
+
* @this {ToolbarThis}
|
|
178
|
+
* @description Show a more options layer for toolbar buttons.
|
|
179
|
+
* @param {Node} button - Button element
|
|
180
|
+
* @param {Node} layer - More options layer element
|
|
181
|
+
*/
|
|
182
|
+
_moreLayerOn(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>, button: Node, layer: Node): void;
|
|
183
|
+
/**
|
|
184
|
+
* @private
|
|
185
|
+
* @this {ToolbarThis}
|
|
186
|
+
* @description Hide the currently active more options layer.
|
|
187
|
+
*/
|
|
188
|
+
_moreLayerOff(this: Omit<Toolbar & Partial<import('../../editorInjector').default>, 'toolbar' | 'subToolbar'>): void;
|
|
189
|
+
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
export default UI;
|
|
2
|
+
export type UIThis = Omit<UI & Partial<__se__EditorInjector>, 'ui'>;
|
|
3
|
+
/**
|
|
4
|
+
* @typedef {Omit<UI & Partial<__se__EditorInjector>, 'ui'>} UIThis
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @constructor
|
|
8
|
+
* @this {UIThis}
|
|
9
|
+
* @description The UI class is a class that handles operations related to the user interface of SunEditor.
|
|
10
|
+
* - This class sets the editor's style, theme, editor mode, etc., and controls the state of various UI elements.
|
|
11
|
+
* @param {__se__EditorCore} editor - The root editor instance
|
|
12
|
+
*/
|
|
13
|
+
declare function UI(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>, editor: __se__EditorCore): void;
|
|
14
|
+
declare class UI {
|
|
15
|
+
/**
|
|
16
|
+
* @typedef {Omit<UI & Partial<__se__EditorInjector>, 'ui'>} UIThis
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* @constructor
|
|
20
|
+
* @this {UIThis}
|
|
21
|
+
* @description The UI class is a class that handles operations related to the user interface of SunEditor.
|
|
22
|
+
* - This class sets the editor's style, theme, editor mode, etc., and controls the state of various UI elements.
|
|
23
|
+
* @param {__se__EditorCore} editor - The root editor instance
|
|
24
|
+
*/
|
|
25
|
+
constructor(editor: __se__EditorCore);
|
|
26
|
+
_controllerOnBtnDisabled: boolean;
|
|
27
|
+
alertModal: HTMLElement;
|
|
28
|
+
alertMessage: HTMLSpanElement;
|
|
29
|
+
_alertArea: HTMLElement;
|
|
30
|
+
_alertInner: HTMLElement;
|
|
31
|
+
_closeListener: any[];
|
|
32
|
+
_closeSignal: boolean;
|
|
33
|
+
_bindClose: any;
|
|
34
|
+
_backWrapper: HTMLElement;
|
|
35
|
+
toastPopup: HTMLElement;
|
|
36
|
+
toastContainer: Element;
|
|
37
|
+
toastMessage: HTMLSpanElement;
|
|
38
|
+
_toastToggle: number;
|
|
39
|
+
/**
|
|
40
|
+
* @this {UIThis}
|
|
41
|
+
* @description Set "options.get('editorStyle')" style.
|
|
42
|
+
* - Define the style of the edit area
|
|
43
|
+
* - It can also be defined with the "setOptions" method, but the "setEditorStyle" method does not render the editor again.
|
|
44
|
+
* @param {string} style Style string
|
|
45
|
+
* @param {__se__FrameContext|null} fc Frame context
|
|
46
|
+
*/
|
|
47
|
+
setEditorStyle(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>, style: string, fc: __se__FrameContext | null): void;
|
|
48
|
+
/**
|
|
49
|
+
* @this {UIThis}
|
|
50
|
+
* @description Set the theme to the editor
|
|
51
|
+
* @param {string} theme Theme name
|
|
52
|
+
*/
|
|
53
|
+
setTheme(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>, theme: string): void;
|
|
54
|
+
/**
|
|
55
|
+
* @this {UIThis}
|
|
56
|
+
* @description Switch to or off "ReadOnly" mode.
|
|
57
|
+
* @param {boolean} value "readOnly" boolean value.
|
|
58
|
+
* @param {string|undefined} rootKey Root key
|
|
59
|
+
*/
|
|
60
|
+
readOnly(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>, value: boolean, rootKey: string | undefined): void;
|
|
61
|
+
/**
|
|
62
|
+
* @this {UIThis}
|
|
63
|
+
* @description Disable the suneditor
|
|
64
|
+
* @param {string|undefined} rootKey Root key
|
|
65
|
+
*/
|
|
66
|
+
disable(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>, rootKey: string | undefined): void;
|
|
67
|
+
/**
|
|
68
|
+
* @this {UIThis}
|
|
69
|
+
* @description Enable the suneditor
|
|
70
|
+
* @param {string|undefined} rootKey Root key
|
|
71
|
+
*/
|
|
72
|
+
enable(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>, rootKey: string | undefined): void;
|
|
73
|
+
/**
|
|
74
|
+
* @this {UIThis}
|
|
75
|
+
* @description Show the suneditor
|
|
76
|
+
* @param {string|undefined} rootKey Root key
|
|
77
|
+
*/
|
|
78
|
+
show(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>, rootKey: string | undefined): void;
|
|
79
|
+
/**
|
|
80
|
+
* @this {UIThis}
|
|
81
|
+
* @description Hide the suneditor
|
|
82
|
+
* @param {string|undefined} rootKey Root key
|
|
83
|
+
*/
|
|
84
|
+
hide(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>, rootKey: string | undefined): void;
|
|
85
|
+
/**
|
|
86
|
+
* @this {UIThis}
|
|
87
|
+
* @description Show loading box
|
|
88
|
+
* @param {string=} rootKey Root key
|
|
89
|
+
*/
|
|
90
|
+
showLoading(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>, rootKey?: string | undefined): void;
|
|
91
|
+
/**
|
|
92
|
+
* @this {UIThis}
|
|
93
|
+
* @description Hide loading box
|
|
94
|
+
* @param {string=} rootKey Root key
|
|
95
|
+
*/
|
|
96
|
+
hideLoading(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>, rootKey?: string | undefined): void;
|
|
97
|
+
/**
|
|
98
|
+
* @this {UIThis}
|
|
99
|
+
* @description This method disables or enables the toolbar buttons when the controller is activated or deactivated.
|
|
100
|
+
* - When the controller is activated, the toolbar buttons are disabled; when the controller is deactivated, the buttons are enabled.
|
|
101
|
+
* @param {boolean} active If `true`, the toolbar buttons will be disabled. If `false`, the toolbar buttons will be enabled.
|
|
102
|
+
*/
|
|
103
|
+
setControllerOnDisabledButtons(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>, active: boolean): void;
|
|
104
|
+
/**
|
|
105
|
+
* @this {UIThis}
|
|
106
|
+
* @description Activate the transparent background "div" so that other elements are not affected during resizing.
|
|
107
|
+
* @param {string} cursor cursor css property
|
|
108
|
+
*/
|
|
109
|
+
enableBackWrapper(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>, cursor: string): void;
|
|
110
|
+
/**
|
|
111
|
+
* @this {UIThis}
|
|
112
|
+
* @description Disabled background "div"
|
|
113
|
+
*/
|
|
114
|
+
disableBackWrapper(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>): void;
|
|
115
|
+
/**
|
|
116
|
+
* @this {UIThis}
|
|
117
|
+
* @description Open the alert panel
|
|
118
|
+
* @param {string} text alert message
|
|
119
|
+
* @param {""|"error"|"success"} type alert type
|
|
120
|
+
*/
|
|
121
|
+
alertOpen(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>, text: string, type: '' | 'error' | 'success'): void;
|
|
122
|
+
/**
|
|
123
|
+
* @this {UIThis}
|
|
124
|
+
* @description Close the alert panel
|
|
125
|
+
*/
|
|
126
|
+
alertClose(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>): void;
|
|
127
|
+
/**
|
|
128
|
+
* @description Show toast
|
|
129
|
+
* @param {string} message toast message
|
|
130
|
+
* @param {number} [duration=1000] duration time(ms)
|
|
131
|
+
* @param {""|"error"|"success"} [type=""] duration time(ms)
|
|
132
|
+
*/
|
|
133
|
+
showToast(message: string, duration?: number, type?: '' | 'error' | 'success'): void;
|
|
134
|
+
/**
|
|
135
|
+
* @description Close toast
|
|
136
|
+
*/
|
|
137
|
+
closeToast(): void;
|
|
138
|
+
/**
|
|
139
|
+
* @private
|
|
140
|
+
* @this {UIThis}
|
|
141
|
+
* @description visible controllers
|
|
142
|
+
* @param {boolean} value hidden/show
|
|
143
|
+
* @param {?boolean=} lineBreakShow Line break hidden/show (default: Follows the value "value".)
|
|
144
|
+
*/
|
|
145
|
+
_visibleControllers(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>, value: boolean, lineBreakShow?: (boolean | null) | undefined): void;
|
|
146
|
+
/**
|
|
147
|
+
* @private
|
|
148
|
+
* @this {UIThis}
|
|
149
|
+
* @description Off current controllers
|
|
150
|
+
*/
|
|
151
|
+
_offCurrentController(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>): void;
|
|
152
|
+
/**
|
|
153
|
+
* @private
|
|
154
|
+
* @this {UIThis}
|
|
155
|
+
* @description Off controllers
|
|
156
|
+
*/
|
|
157
|
+
__offControllers(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>): void;
|
|
158
|
+
/**
|
|
159
|
+
* @private
|
|
160
|
+
* @this {UIThis}
|
|
161
|
+
* @description Off current modal
|
|
162
|
+
*/
|
|
163
|
+
_offCurrentModal(this: Omit<UI & Partial<import('../../editorInjector').default>, 'ui'>): void;
|
|
164
|
+
}
|