suneditor 3.0.0-alpha.2 → 3.0.0-alpha.20
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/.eslintrc.json +4 -3
- package/CONTRIBUTING.md +4 -2
- package/README.md +19 -11
- package/README_V3_TEMP.md +705 -0
- package/dist/suneditor.min.css +1 -0
- package/dist/suneditor.min.js +1 -0
- package/example.md +587 -0
- package/package.json +15 -9
- package/src/assets/icons/_default.js +166 -131
- package/src/assets/{suneditor-content.css → suneditor-contents.css} +182 -45
- package/src/assets/suneditor.css +1195 -556
- package/src/assets/variables.css +138 -0
- package/src/core/base/eventHandlers/handler_toolbar.js +35 -14
- package/src/core/base/eventHandlers/handler_ww_clipboard.js +29 -4
- package/src/core/base/eventHandlers/handler_ww_dragDrop.js +59 -15
- package/src/core/base/eventHandlers/handler_ww_key_input.js +426 -212
- package/src/core/base/eventHandlers/handler_ww_mouse.js +108 -32
- package/src/core/base/eventManager.js +540 -209
- package/src/core/base/events.js +616 -320
- package/src/core/base/history.js +93 -39
- package/src/core/class/char.js +29 -13
- package/src/core/class/component.js +332 -145
- package/src/core/class/format.js +671 -509
- package/src/core/class/html.js +504 -290
- package/src/core/class/menu.js +114 -47
- package/src/core/class/nodeTransform.js +111 -66
- package/src/core/class/offset.js +409 -105
- package/src/core/class/selection.js +220 -108
- package/src/core/class/shortcuts.js +68 -8
- package/src/core/class/toolbar.js +106 -116
- package/src/core/class/ui.js +330 -0
- package/src/core/class/viewer.js +178 -74
- package/src/core/editor.js +489 -384
- package/src/core/section/actives.js +118 -22
- package/src/core/section/constructor.js +504 -170
- 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/helper/converter.js +137 -19
- package/src/helper/dom/domCheck.js +294 -0
- package/src/helper/dom/domQuery.js +609 -0
- package/src/helper/dom/domUtils.js +533 -0
- package/src/helper/dom/index.js +12 -0
- package/src/helper/env.js +42 -19
- package/src/helper/index.js +7 -4
- package/src/helper/keyCodeMap.js +183 -0
- package/src/helper/numbers.js +8 -8
- package/src/helper/unicode.js +5 -5
- package/src/langs/ckb.js +69 -3
- package/src/langs/cs.js +67 -1
- package/src/langs/da.js +68 -2
- package/src/langs/de.js +68 -3
- package/src/langs/en.js +29 -1
- package/src/langs/es.js +68 -3
- package/src/langs/fa.js +70 -2
- package/src/langs/fr.js +68 -2
- package/src/langs/he.js +68 -3
- package/src/langs/hu.js +226 -0
- package/src/langs/index.js +3 -2
- package/src/langs/it.js +65 -0
- package/src/langs/ja.js +68 -3
- package/src/langs/ko.js +66 -1
- package/src/langs/lv.js +68 -3
- package/src/langs/nl.js +68 -3
- package/src/langs/pl.js +68 -3
- package/src/langs/pt_br.js +65 -0
- package/src/langs/ro.js +69 -4
- package/src/langs/ru.js +68 -3
- package/src/langs/se.js +68 -3
- package/src/langs/tr.js +68 -0
- package/src/langs/ua.js +68 -3
- package/src/langs/ur.js +71 -6
- package/src/langs/zh_cn.js +69 -4
- 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 +233 -136
- package/src/modules/Figure.js +913 -489
- package/src/modules/FileManager.js +141 -72
- package/src/modules/HueSlider.js +113 -61
- package/src/modules/Modal.js +292 -113
- package/src/modules/ModalAnchorEditor.js +380 -230
- 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 +226 -158
- package/src/plugins/command/list_bulleted.js +93 -47
- package/src/plugins/command/list_numbered.js +93 -47
- package/src/plugins/dropdown/align.js +66 -54
- package/src/plugins/dropdown/backgroundColor.js +76 -45
- package/src/plugins/dropdown/font.js +71 -47
- package/src/plugins/dropdown/fontColor.js +78 -46
- package/src/plugins/dropdown/formatBlock.js +74 -33
- package/src/plugins/dropdown/hr.js +102 -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 +1269 -777
- package/src/plugins/dropdown/template.js +38 -26
- package/src/plugins/dropdown/textStyle.js +43 -31
- package/src/plugins/field/mention.js +144 -82
- 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 +341 -169
- package/src/plugins/modal/drawing.js +530 -0
- package/src/plugins/modal/embed.js +886 -0
- package/src/plugins/modal/image.js +673 -358
- package/src/plugins/modal/link.js +100 -71
- package/src/plugins/modal/math.js +384 -168
- package/src/plugins/modal/video.js +693 -336
- package/src/plugins/popup/anchor.js +222 -0
- package/src/suneditor.js +54 -12
- package/src/themes/dark.css +85 -0
- package/src/typedef.js +86 -0
- package/types/assets/icons/_default.d.ts +152 -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 +377 -0
- package/types/core/base/events.d.ts +297 -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 +259 -0
- package/types/core/class/format.d.ts +615 -0
- package/types/core/class/html.d.ts +377 -0
- package/types/core/class/menu.d.ts +118 -0
- package/types/core/class/nodeTransform.d.ts +93 -0
- package/types/core/class/offset.d.ts +512 -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 +144 -0
- package/types/core/class/viewer.d.ts +140 -0
- package/types/core/editor.d.ts +606 -0
- package/types/core/section/actives.d.ts +46 -0
- package/types/core/section/constructor.d.ts +748 -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/helper/converter.d.ts +150 -0
- package/types/helper/dom/domCheck.d.ts +182 -0
- package/types/helper/dom/domQuery.d.ts +214 -0
- package/types/helper/dom/domUtils.d.ts +211 -0
- package/types/helper/dom/index.d.ts +9 -0
- package/types/helper/env.d.ts +149 -0
- package/types/helper/index.d.ts +163 -0
- package/types/helper/keyCodeMap.d.ts +110 -0
- package/types/helper/numbers.d.ts +43 -0
- package/types/helper/unicode.d.ts +28 -0
- package/types/index.d.ts +0 -0
- package/{typings/Lang.d.ts → types/langs/_Lang.d.ts} +170 -103
- package/types/langs/ckb.d.ts +384 -0
- package/types/langs/cs.d.ts +384 -0
- package/types/langs/da.d.ts +384 -0
- package/types/langs/de.d.ts +384 -0
- package/types/langs/en.d.ts +384 -0
- package/types/langs/es.d.ts +384 -0
- package/types/langs/fa.d.ts +384 -0
- package/types/langs/fr.d.ts +384 -0
- package/types/langs/he.d.ts +384 -0
- package/types/langs/hu.d.ts +384 -0
- package/types/langs/index.d.ts +48 -0
- package/types/langs/it.d.ts +384 -0
- package/types/langs/ja.d.ts +384 -0
- package/types/langs/ko.d.ts +384 -0
- package/types/langs/lv.d.ts +384 -0
- package/types/langs/nl.d.ts +384 -0
- package/types/langs/pl.d.ts +384 -0
- package/types/langs/pt_br.d.ts +384 -0
- package/types/langs/ro.d.ts +384 -0
- package/types/langs/ru.d.ts +384 -0
- package/types/langs/se.d.ts +384 -0
- package/types/langs/tr.d.ts +384 -0
- package/types/langs/ua.d.ts +384 -0
- package/types/langs/ur.d.ts +384 -0
- package/types/langs/zh_cn.d.ts +384 -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 +231 -0
- package/types/modules/Figure.d.ts +504 -0
- package/types/modules/FileManager.d.ts +202 -0
- package/types/modules/HueSlider.d.ts +136 -0
- package/types/modules/Modal.d.ts +117 -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 +56 -0
- package/types/plugins/command/list_numbered.d.ts +56 -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 +58 -0
- package/types/plugins/dropdown/hr.d.ts +81 -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 +579 -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-global.d.ts +144 -0
- 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,326 @@
|
|
|
1
|
+
export default Browser;
|
|
2
|
+
export type BrowserFile = {
|
|
3
|
+
/**
|
|
4
|
+
* - Source url
|
|
5
|
+
*/
|
|
6
|
+
src?: string;
|
|
7
|
+
/**
|
|
8
|
+
* - File name | Folder name
|
|
9
|
+
*/
|
|
10
|
+
name?: string;
|
|
11
|
+
/**
|
|
12
|
+
* - Thumbnail url
|
|
13
|
+
*/
|
|
14
|
+
thumbnail?: string | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* - Image alt
|
|
17
|
+
*/
|
|
18
|
+
alt?: string | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* - Tag name list
|
|
21
|
+
*/
|
|
22
|
+
tag?: (Array<string> | string) | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* - Type (image, video, audio, etc.)
|
|
25
|
+
*/
|
|
26
|
+
type?: string | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* - Frame name (iframe, video, etc.)
|
|
29
|
+
*/
|
|
30
|
+
frame?: string | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* - The folder's contents or an API URL.
|
|
33
|
+
*/
|
|
34
|
+
_data?: (BrowserFile | string) | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* - Whether this folder is the default selection.
|
|
37
|
+
*/
|
|
38
|
+
default?: boolean | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* - Metadata
|
|
41
|
+
*/
|
|
42
|
+
meta?:
|
|
43
|
+
| {
|
|
44
|
+
[x: string]: any;
|
|
45
|
+
}
|
|
46
|
+
| undefined;
|
|
47
|
+
};
|
|
48
|
+
export type BrowserParams = {
|
|
49
|
+
/**
|
|
50
|
+
* - File browser window title. Required. Can be overridden in browser.
|
|
51
|
+
*/
|
|
52
|
+
title: string;
|
|
53
|
+
/**
|
|
54
|
+
* - Class name of the file browser. Optional. Default: ''.
|
|
55
|
+
*/
|
|
56
|
+
className?: string | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* - direct data without server calls
|
|
59
|
+
*/
|
|
60
|
+
data?:
|
|
61
|
+
| (
|
|
62
|
+
| {
|
|
63
|
+
[x: string]: any;
|
|
64
|
+
}
|
|
65
|
+
| Array<any>
|
|
66
|
+
)
|
|
67
|
+
| undefined;
|
|
68
|
+
/**
|
|
69
|
+
* - File server url. Required. Can be overridden in browser.
|
|
70
|
+
*/
|
|
71
|
+
url?: string | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* - File server http header. Required. Can be overridden in browser.
|
|
74
|
+
*/
|
|
75
|
+
headers?:
|
|
76
|
+
| {
|
|
77
|
+
[x: string]: string;
|
|
78
|
+
}
|
|
79
|
+
| undefined;
|
|
80
|
+
/**
|
|
81
|
+
* - Function that actions when an item is clicked. Required. Can be overridden in browser.
|
|
82
|
+
*/
|
|
83
|
+
selectorHandler: (target: Node) => void;
|
|
84
|
+
/**
|
|
85
|
+
* - Whether to use the search function. Optional. Default: true.
|
|
86
|
+
*/
|
|
87
|
+
useSearch?: boolean | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* - File server search url. Optional. Can be overridden in browser.
|
|
90
|
+
*/
|
|
91
|
+
searchUrl?: string | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* - File server search http header. Optional. Can be overridden in browser.
|
|
94
|
+
*/
|
|
95
|
+
searchUrlHeader?:
|
|
96
|
+
| {
|
|
97
|
+
[x: string]: string;
|
|
98
|
+
}
|
|
99
|
+
| undefined;
|
|
100
|
+
/**
|
|
101
|
+
* - Class name of list div. Required. Can be overridden in browser.
|
|
102
|
+
*/
|
|
103
|
+
listClass?: string | undefined;
|
|
104
|
+
/**
|
|
105
|
+
* - Function that defines the HTML of a file item. Required. Can be overridden in browser.
|
|
106
|
+
*/
|
|
107
|
+
drawItemHandler?: ((item: BrowserFile) => string) | undefined;
|
|
108
|
+
/**
|
|
109
|
+
* - "props" argument to "drawItemHandler" function. Optional. Can be overridden in browser.
|
|
110
|
+
*/
|
|
111
|
+
props?: Array<any> | undefined;
|
|
112
|
+
/**
|
|
113
|
+
* - Number of "div.se-file-item-column" to be created. Optional. Can be overridden in browser. Default: 4.
|
|
114
|
+
*/
|
|
115
|
+
columnSize?: number | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* - Default thumbnail
|
|
118
|
+
*/
|
|
119
|
+
thumbnail?: ((item: BrowserFile) => string) | undefined;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* @typedef {Object} BrowserFile
|
|
123
|
+
* @property {string} [src=""] - Source url
|
|
124
|
+
* @property {string} [name=""] - File name | Folder name
|
|
125
|
+
* @property {string=} thumbnail - Thumbnail url
|
|
126
|
+
* @property {string=} alt - Image alt
|
|
127
|
+
* @property {Array<string>|string=} tag - Tag name list
|
|
128
|
+
* @property {string=} type - Type (image, video, audio, etc.)
|
|
129
|
+
* @property {string=} frame - Frame name (iframe, video, etc.)
|
|
130
|
+
* @property {BrowserFile | string=} _data - The folder's contents or an API URL.
|
|
131
|
+
* @property {boolean=} default - Whether this folder is the default selection.
|
|
132
|
+
* @property {Object<string, *>=} meta - Metadata
|
|
133
|
+
*/
|
|
134
|
+
/**
|
|
135
|
+
* @typedef BrowserParams
|
|
136
|
+
* @property {string} title - File browser window title. Required. Can be overridden in browser.
|
|
137
|
+
* @property {string=} className - Class name of the file browser. Optional. Default: ''.
|
|
138
|
+
* @property {Object<string, *>|Array<*>=} data - direct data without server calls
|
|
139
|
+
* @property {string=} url - File server url. Required. Can be overridden in browser.
|
|
140
|
+
* @property {Object<string, string>=} headers - File server http header. Required. Can be overridden in browser.
|
|
141
|
+
* @property {(target: Node) => void} selectorHandler - Function that actions when an item is clicked. Required. Can be overridden in browser.
|
|
142
|
+
* @property {boolean=} useSearch - Whether to use the search function. Optional. Default: true.
|
|
143
|
+
* @property {string=} searchUrl - File server search url. Optional. Can be overridden in browser.
|
|
144
|
+
* @property {Object<string, string>=} searchUrlHeader - File server search http header. Optional. Can be overridden in browser.
|
|
145
|
+
* @property {string=} listClass - Class name of list div. Required. Can be overridden in browser.
|
|
146
|
+
* @property {(item: BrowserFile) => string=} drawItemHandler - Function that defines the HTML of a file item. Required. Can be overridden in browser.
|
|
147
|
+
* @property {Array<*>=} props - "props" argument to "drawItemHandler" function. Optional. Can be overridden in browser.
|
|
148
|
+
* @property {number=} columnSize - Number of "div.se-file-item-column" to be created. Optional. Can be overridden in browser. Default: 4.
|
|
149
|
+
* @property {((item: BrowserFile) => string)=} thumbnail - Default thumbnail
|
|
150
|
+
*/
|
|
151
|
+
/**
|
|
152
|
+
* @class
|
|
153
|
+
* @description File browser plugin
|
|
154
|
+
*/
|
|
155
|
+
declare class Browser extends CoreInjector {
|
|
156
|
+
/**
|
|
157
|
+
* @constructor
|
|
158
|
+
* @param {*} inst The instance object that called the constructor.
|
|
159
|
+
* @param {BrowserParams} params Browser options
|
|
160
|
+
*/
|
|
161
|
+
constructor(inst: any, params: BrowserParams);
|
|
162
|
+
useSearch: boolean;
|
|
163
|
+
kind: any;
|
|
164
|
+
inst: any;
|
|
165
|
+
area: HTMLElement;
|
|
166
|
+
header: HTMLElement;
|
|
167
|
+
titleArea: HTMLElement;
|
|
168
|
+
tagArea: HTMLElement;
|
|
169
|
+
body: HTMLElement;
|
|
170
|
+
list: HTMLElement;
|
|
171
|
+
side: HTMLElement;
|
|
172
|
+
wrapper: HTMLElement;
|
|
173
|
+
_loading: HTMLElement;
|
|
174
|
+
title: string;
|
|
175
|
+
listClass: string;
|
|
176
|
+
directData:
|
|
177
|
+
| any[]
|
|
178
|
+
| {
|
|
179
|
+
[x: string]: any;
|
|
180
|
+
};
|
|
181
|
+
url: string;
|
|
182
|
+
urlHeader: {
|
|
183
|
+
[x: string]: string;
|
|
184
|
+
};
|
|
185
|
+
searchUrl: string;
|
|
186
|
+
searchUrlHeader: {
|
|
187
|
+
[x: string]: string;
|
|
188
|
+
};
|
|
189
|
+
drawItemHandler: any;
|
|
190
|
+
selectorHandler: (target: Node) => void;
|
|
191
|
+
columnSize: number;
|
|
192
|
+
folderDefaultPath: string;
|
|
193
|
+
closeArrow: string;
|
|
194
|
+
openArrow: string;
|
|
195
|
+
icon_folder: string;
|
|
196
|
+
icon_folder_item: string;
|
|
197
|
+
icon_item: string;
|
|
198
|
+
/**
|
|
199
|
+
* @type {Array<BrowserFile>}
|
|
200
|
+
*/
|
|
201
|
+
items: Array<BrowserFile>;
|
|
202
|
+
/**
|
|
203
|
+
* @type {Object<string, {name: string, meta: Object<string, *>}>}
|
|
204
|
+
*/
|
|
205
|
+
folders: {
|
|
206
|
+
[x: string]: {
|
|
207
|
+
name: string;
|
|
208
|
+
meta: {
|
|
209
|
+
[x: string]: any;
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
};
|
|
213
|
+
/**
|
|
214
|
+
* @type {Object<string, {key?: string, name?: string, children?: *}>}
|
|
215
|
+
*/
|
|
216
|
+
tree: {
|
|
217
|
+
[x: string]: {
|
|
218
|
+
key?: string;
|
|
219
|
+
name?: string;
|
|
220
|
+
children?: any;
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
/**
|
|
224
|
+
* @type {BrowserFile}
|
|
225
|
+
*/
|
|
226
|
+
data: BrowserFile;
|
|
227
|
+
selectedTags: any[];
|
|
228
|
+
keyword: string;
|
|
229
|
+
sideInner: HTMLElement;
|
|
230
|
+
_closeSignal: boolean;
|
|
231
|
+
_bindClose: any;
|
|
232
|
+
__globalEventHandler: (e: any) => void;
|
|
233
|
+
apiManager: ApiManager;
|
|
234
|
+
sideOpenBtn: HTMLButtonElement;
|
|
235
|
+
/**
|
|
236
|
+
* @description Open a file browser plugin
|
|
237
|
+
* @param {Object} [params={}]
|
|
238
|
+
* @param {string=} params.listClass - Class name of list div. If not, use "this.listClass".
|
|
239
|
+
* @param {string=} params.title - File browser window title. If not, use "this.title".
|
|
240
|
+
* @param {string=} params.url - File server url. If not, use "this.url".
|
|
241
|
+
* @param {Object<string, string>=} params.urlHeader - File server http header. If not, use "this.urlHeader".
|
|
242
|
+
*/
|
|
243
|
+
open(params?: {
|
|
244
|
+
listClass?: string | undefined;
|
|
245
|
+
title?: string | undefined;
|
|
246
|
+
url?: string | undefined;
|
|
247
|
+
urlHeader?:
|
|
248
|
+
| {
|
|
249
|
+
[x: string]: string;
|
|
250
|
+
}
|
|
251
|
+
| undefined;
|
|
252
|
+
}): void;
|
|
253
|
+
/**
|
|
254
|
+
* @description Close a browser plugin
|
|
255
|
+
* - The plugin's "init" method is called.
|
|
256
|
+
*/
|
|
257
|
+
close(): void;
|
|
258
|
+
/**
|
|
259
|
+
* @description Search files
|
|
260
|
+
* @param {string} keyword - Search keyword
|
|
261
|
+
*/
|
|
262
|
+
search(keyword: string): void;
|
|
263
|
+
/**
|
|
264
|
+
* @description Filter items by tag
|
|
265
|
+
* @param {Array<BrowserFile>} items - Items to filter
|
|
266
|
+
* @returns {Array<BrowserFile>}
|
|
267
|
+
*/
|
|
268
|
+
tagfilter(items: Array<BrowserFile>): Array<BrowserFile>;
|
|
269
|
+
/**
|
|
270
|
+
* @description Show file browser loading box
|
|
271
|
+
*/
|
|
272
|
+
showBrowserLoading(): void;
|
|
273
|
+
/**
|
|
274
|
+
* @description Close file browser loading box
|
|
275
|
+
*/
|
|
276
|
+
closeBrowserLoading(): void;
|
|
277
|
+
/**
|
|
278
|
+
* @private
|
|
279
|
+
* @description Fetches the file list from the server.
|
|
280
|
+
* @param {string} url - The file server URL.
|
|
281
|
+
* @param {Object<string, string>} urlHeader - The HTTP headers for the request.
|
|
282
|
+
* @param {boolean} pageLoading - Indicates if this is a paginated request.
|
|
283
|
+
*/
|
|
284
|
+
private _drawFileList;
|
|
285
|
+
/**
|
|
286
|
+
* @private
|
|
287
|
+
* @description Updates the displayed list of file items.
|
|
288
|
+
* @param {Array<BrowserFile>} items - The file items to display.
|
|
289
|
+
* @param {boolean} update - Whether to update the tags.
|
|
290
|
+
*/
|
|
291
|
+
private _drawListItem;
|
|
292
|
+
/**
|
|
293
|
+
* @private
|
|
294
|
+
* @description Adds a global event listener for closing the browser.
|
|
295
|
+
*/
|
|
296
|
+
private __addGlobalEvent;
|
|
297
|
+
/**
|
|
298
|
+
* @private
|
|
299
|
+
* @description Removes the global event listener for closing the browser.
|
|
300
|
+
*/
|
|
301
|
+
private __removeGlobalEvent;
|
|
302
|
+
/**
|
|
303
|
+
* @private
|
|
304
|
+
* @description Renders the file items or folder structure from data.
|
|
305
|
+
* @param {BrowserFile[]|BrowserFile} data - The data representing the file structure.
|
|
306
|
+
* @returns {boolean} True if rendering was successful, false otherwise.
|
|
307
|
+
*/
|
|
308
|
+
private __drowItems;
|
|
309
|
+
/**
|
|
310
|
+
* @private
|
|
311
|
+
* @description Parses folder data into a structured format.
|
|
312
|
+
* @param {BrowserFile} data - The folder data.
|
|
313
|
+
* @param {string} [path] - The current path in the folder hierarchy.
|
|
314
|
+
*/
|
|
315
|
+
private __parseFolderData;
|
|
316
|
+
/**
|
|
317
|
+
* @private
|
|
318
|
+
* @description Creates a nested folder list from parsed data.
|
|
319
|
+
* @param {BrowserFile[]|BrowserFile} folderData - The structured folder data.
|
|
320
|
+
* @param {HTMLElement} parentElement - The parent element to append folder structure to.
|
|
321
|
+
*/
|
|
322
|
+
private __createFolderList;
|
|
323
|
+
#private;
|
|
324
|
+
}
|
|
325
|
+
import CoreInjector from '../editorInjector/_core';
|
|
326
|
+
import ApiManager from './ApiManager';
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
export default ColorPicker;
|
|
2
|
+
export type HueSliderParams = import('./HueSlider').HueSliderParams;
|
|
3
|
+
export type HueSliderColor = import('./HueSlider').HueSliderColor;
|
|
4
|
+
export type ColorPickerParams = {
|
|
5
|
+
/**
|
|
6
|
+
* color list
|
|
7
|
+
*/
|
|
8
|
+
colorList?:
|
|
9
|
+
| Array<
|
|
10
|
+
| string
|
|
11
|
+
| {
|
|
12
|
+
value: string;
|
|
13
|
+
name: string;
|
|
14
|
+
}
|
|
15
|
+
>
|
|
16
|
+
| undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Number of colors to be displayed in one line
|
|
19
|
+
*/
|
|
20
|
+
splitNum?: number | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Default color
|
|
23
|
+
*/
|
|
24
|
+
defaultColor?: string | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Disable HEX input
|
|
27
|
+
*/
|
|
28
|
+
disableHEXInput?: boolean | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Disable remove button
|
|
31
|
+
*/
|
|
32
|
+
disableRemove?: boolean | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* hue slider options
|
|
35
|
+
*/
|
|
36
|
+
hueSliderOptions?: HueSliderParams | undefined;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* @typedef {import('./HueSlider').HueSliderParams} HueSliderParams
|
|
40
|
+
*/
|
|
41
|
+
/**
|
|
42
|
+
* @typedef {import('./HueSlider').HueSliderColor} HueSliderColor
|
|
43
|
+
*/
|
|
44
|
+
/**
|
|
45
|
+
* @typedef {Object} ColorPickerParams
|
|
46
|
+
* @property {Array<string|{value: string, name: string}>=} [colorList=[]] color list
|
|
47
|
+
* @property {number=} [splitNum=0] Number of colors to be displayed in one line
|
|
48
|
+
* @property {string=} [defaultColor] Default color
|
|
49
|
+
* @property {boolean=} [disableHEXInput=false] Disable HEX input
|
|
50
|
+
* @property {boolean=} [disableRemove=false] Disable remove button
|
|
51
|
+
* @property {HueSliderParams=} [hueSliderOptions] hue slider options
|
|
52
|
+
*/
|
|
53
|
+
/**
|
|
54
|
+
* @class
|
|
55
|
+
* @description Create a color picker element and register for related events. (this.target)
|
|
56
|
+
* - When calling the color selection, "submit", and "remove" buttons, the "action" method of the instance is called with the "color" value as an argument.
|
|
57
|
+
*/
|
|
58
|
+
declare class ColorPicker extends CoreInjector {
|
|
59
|
+
/**
|
|
60
|
+
* @constructor
|
|
61
|
+
* @param {*} inst The instance object that called the constructor.
|
|
62
|
+
* @param {string} styles style property ("color", "backgroundColor"..)
|
|
63
|
+
* @param {ColorPickerParams} params Color picker options
|
|
64
|
+
*/
|
|
65
|
+
constructor(inst: any, styles: string, params: ColorPickerParams);
|
|
66
|
+
kind: any;
|
|
67
|
+
inst: any;
|
|
68
|
+
target: HTMLElement;
|
|
69
|
+
targetButton: Node;
|
|
70
|
+
inputElement: HTMLInputElement;
|
|
71
|
+
styleProperties: string;
|
|
72
|
+
splitNum: number;
|
|
73
|
+
defaultColor: string;
|
|
74
|
+
hueSliderOptions: import('./HueSlider').HueSliderParams;
|
|
75
|
+
parentDisplay: string;
|
|
76
|
+
currentColor: string;
|
|
77
|
+
parentForm: HTMLElement[];
|
|
78
|
+
colorList: any[] | NodeListOf<Element>;
|
|
79
|
+
hueSlider: HueSlider;
|
|
80
|
+
checkedIcon: HTMLElement;
|
|
81
|
+
parentFormDisplay: any[];
|
|
82
|
+
/**
|
|
83
|
+
* @description Displays or resets the currently selected color at color list.
|
|
84
|
+
* @param {Node|string} nodeOrColor Current Selected node
|
|
85
|
+
* @param {Node} target target
|
|
86
|
+
*/
|
|
87
|
+
init(nodeOrColor: Node | string, target: Node): void;
|
|
88
|
+
/**
|
|
89
|
+
* @description Store color values
|
|
90
|
+
* @param {string} hexColorStr Hax color value
|
|
91
|
+
*/
|
|
92
|
+
setHexColor(hexColorStr: string): void;
|
|
93
|
+
/**
|
|
94
|
+
* @description Close hue slider
|
|
95
|
+
*/
|
|
96
|
+
hueSliderClose(): void;
|
|
97
|
+
/**
|
|
98
|
+
* @private
|
|
99
|
+
* @description Set color at input element
|
|
100
|
+
* @param {string} hexColorStr Hax color value
|
|
101
|
+
*/
|
|
102
|
+
private _setInputText;
|
|
103
|
+
/**
|
|
104
|
+
* @private
|
|
105
|
+
* @description Gets color value at color property of node
|
|
106
|
+
* @param {Node} node Selected node
|
|
107
|
+
* @returns {string}
|
|
108
|
+
*/
|
|
109
|
+
private _getColorInNode;
|
|
110
|
+
/**
|
|
111
|
+
* @private
|
|
112
|
+
* @description Converts color values of other formats to hex color values and returns.
|
|
113
|
+
* @param {string} colorName Color value
|
|
114
|
+
* @returns {string}
|
|
115
|
+
*/
|
|
116
|
+
private _colorName2hex;
|
|
117
|
+
/**
|
|
118
|
+
* @editorMethod Modules.HueSlider
|
|
119
|
+
* @description This method is called when the color is selected in the hue slider.
|
|
120
|
+
* @param {HueSliderColor} color - Color object
|
|
121
|
+
*/
|
|
122
|
+
hueSliderAction(color: HueSliderColor): void;
|
|
123
|
+
/**
|
|
124
|
+
* @editorMethod Modules.HueSlider
|
|
125
|
+
* @description This method is called when the hue slider is closed.
|
|
126
|
+
*/
|
|
127
|
+
hueSliderCancelAction(): void;
|
|
128
|
+
#private;
|
|
129
|
+
}
|
|
130
|
+
import CoreInjector from '../editorInjector/_core';
|
|
131
|
+
import { HueSlider } from '../modules';
|
|
@@ -0,0 +1,231 @@
|
|
|
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
|
+
* If the controller is inside a form, set it to true.
|
|
59
|
+
*/
|
|
60
|
+
isInsideForm?: boolean | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* If the controller is outside a form, set it to true.
|
|
63
|
+
*/
|
|
64
|
+
isOutsideForm?: boolean | undefined;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* @typedef {Object} ControllerInfo
|
|
68
|
+
* @property {*} inst The controller instance
|
|
69
|
+
* @property {string} [position="bottom"] The controller position ("bottom"|"top")
|
|
70
|
+
* @property {HTMLElement} [form=null] The controller element
|
|
71
|
+
* @property {HTMLElement|Range} [target=null] The controller target element
|
|
72
|
+
* @property {boolean} [notInCarrier=false] If the controller is not in the "carrierWrapper", set it to true.
|
|
73
|
+
* @property {boolean} [isRangeTarget=false] If the target is a Range, set it to true.
|
|
74
|
+
* @property {boolean} [fixed=false] If the controller is fixed and should not be closed, set it to true.
|
|
75
|
+
*/
|
|
76
|
+
/**
|
|
77
|
+
* @typedef {Object} ControllerParams
|
|
78
|
+
* @property {"top"|"bottom"} [position="bottom"] Controller position
|
|
79
|
+
* @property {boolean=} [isWWTarget=true] If the controller is in the WYSIWYG area, set it to true.
|
|
80
|
+
* @property {() => void=} [initMethod=null] Method to be called when the controller is closed.
|
|
81
|
+
* @property {boolean=} [disabled=false] If true, When the "controller" is opened, buttons without the "se-component-enabled" class are disabled.
|
|
82
|
+
* @property {Array<HTMLElement>=} [parents=[]] The parent "controller" array when "controller" is opened nested.
|
|
83
|
+
* @property {boolean=} [parentsHide=false] If true, the parent element is hidden when the controller is opened.
|
|
84
|
+
* @property {boolean=} [isInsideForm=false] If the controller is inside a form, set it to true.
|
|
85
|
+
* @property {boolean=} [isOutsideForm=false] If the controller is outside a form, set it to true.
|
|
86
|
+
*/
|
|
87
|
+
/**
|
|
88
|
+
* @class
|
|
89
|
+
* @description Controller module class that handles the UI and interaction logic for a specific editor controller element.
|
|
90
|
+
*/
|
|
91
|
+
declare class Controller extends EditorInjector {
|
|
92
|
+
/**
|
|
93
|
+
* @constructor
|
|
94
|
+
* @param {*} inst The instance object that called the constructor.
|
|
95
|
+
* @param {Node} element Controller element
|
|
96
|
+
* @param {ControllerParams} params Controller options
|
|
97
|
+
* @param {?string=} _name An optional name for the controller key.
|
|
98
|
+
*/
|
|
99
|
+
constructor(inst: any, element: Node, params: ControllerParams, _name?: (string | null) | undefined);
|
|
100
|
+
kind: any;
|
|
101
|
+
inst: any;
|
|
102
|
+
form: HTMLFormElement;
|
|
103
|
+
isOpen: boolean;
|
|
104
|
+
currentTarget: Node;
|
|
105
|
+
currentPositionTarget: Node | Range;
|
|
106
|
+
isWWTarget: boolean;
|
|
107
|
+
position: 'top' | 'bottom';
|
|
108
|
+
disabled: boolean;
|
|
109
|
+
parents: HTMLElement[];
|
|
110
|
+
parentsHide: boolean;
|
|
111
|
+
isInsideForm: boolean;
|
|
112
|
+
isOutsideForm: boolean;
|
|
113
|
+
_initMethod: () => void;
|
|
114
|
+
__globalEventHandlers: {
|
|
115
|
+
keydown: any;
|
|
116
|
+
mousedown: any;
|
|
117
|
+
};
|
|
118
|
+
_bindClose_key: any;
|
|
119
|
+
_bindClose_mouse: any;
|
|
120
|
+
/** @type {{left?: number, top?: number, addOfffset?: {left?: number, top?: number}}} */
|
|
121
|
+
__offset: {
|
|
122
|
+
left?: number;
|
|
123
|
+
top?: number;
|
|
124
|
+
addOfffset?: {
|
|
125
|
+
left?: number;
|
|
126
|
+
top?: number;
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
__addOffset: {
|
|
130
|
+
left: number;
|
|
131
|
+
top: number;
|
|
132
|
+
};
|
|
133
|
+
__shadowRootEventForm: HTMLFormElement;
|
|
134
|
+
__shadowRootEventListener: (e: any) => any;
|
|
135
|
+
/**
|
|
136
|
+
* @description Open a modal plugin
|
|
137
|
+
* @param {Node|Range} target Target element
|
|
138
|
+
* @param {Node} [positionTarget] Position target element
|
|
139
|
+
* @param {Object} [params={}] params
|
|
140
|
+
* @param {boolean=} params.isWWTarget If the controller is in the WYSIWYG area, set it to true.
|
|
141
|
+
* @param {() => void=} params.initMethod Method to be called when the controller is closed.
|
|
142
|
+
* @param {boolean=} params.disabled If true, When the "controller" is opened, buttons without the "se-component-enabled" class are disabled. (default: this.disabled)
|
|
143
|
+
* @param {{left?: number, top?: number}=} params.addOffset Additional offset values
|
|
144
|
+
*/
|
|
145
|
+
open(
|
|
146
|
+
target: Node | Range,
|
|
147
|
+
positionTarget?: Node,
|
|
148
|
+
{
|
|
149
|
+
isWWTarget,
|
|
150
|
+
initMethod,
|
|
151
|
+
disabled,
|
|
152
|
+
addOffset
|
|
153
|
+
}?: {
|
|
154
|
+
isWWTarget?: boolean | undefined;
|
|
155
|
+
initMethod?: (() => void) | undefined;
|
|
156
|
+
disabled?: boolean | undefined;
|
|
157
|
+
addOffset?:
|
|
158
|
+
| {
|
|
159
|
+
left?: number;
|
|
160
|
+
top?: number;
|
|
161
|
+
}
|
|
162
|
+
| undefined;
|
|
163
|
+
}
|
|
164
|
+
): void;
|
|
165
|
+
/**
|
|
166
|
+
* @description Close a modal plugin
|
|
167
|
+
* - The plugin's "init" method is called.
|
|
168
|
+
* @param {boolean=} force If true, parent controllers are forcibly closed.
|
|
169
|
+
*/
|
|
170
|
+
close(force?: boolean | undefined): void;
|
|
171
|
+
/**
|
|
172
|
+
* @description Hide controller
|
|
173
|
+
*/
|
|
174
|
+
hide(): void;
|
|
175
|
+
/**
|
|
176
|
+
* @description Show controller
|
|
177
|
+
*/
|
|
178
|
+
show(): void;
|
|
179
|
+
/**
|
|
180
|
+
* @description Reset controller position
|
|
181
|
+
* @param {Node=} target
|
|
182
|
+
*/
|
|
183
|
+
resetPosition(target?: Node | undefined): void;
|
|
184
|
+
/**
|
|
185
|
+
* @private
|
|
186
|
+
* @description Show controller at editor area (controller elements, function, "controller target element(@Required)", "controller name(@Required)", etc..)
|
|
187
|
+
* @param {HTMLFormElement} form Controller element
|
|
188
|
+
* @param {Node|Range} target Controller target element
|
|
189
|
+
* @param {boolean} isRangeTarget If the target is a Range, set it to true.
|
|
190
|
+
*/
|
|
191
|
+
private _controllerOn;
|
|
192
|
+
/**
|
|
193
|
+
* @private
|
|
194
|
+
* @description Hide controller at editor area (link button, image resize button..)
|
|
195
|
+
*/
|
|
196
|
+
private _controllerOff;
|
|
197
|
+
/**
|
|
198
|
+
* @private
|
|
199
|
+
* @description Specify the position of the controller.
|
|
200
|
+
* @param {HTMLElement} controller Controller element.
|
|
201
|
+
* @param {Node|Range} refer Element or Range that is the basis of the controller's position.
|
|
202
|
+
*/
|
|
203
|
+
private _setControllerPosition;
|
|
204
|
+
/**
|
|
205
|
+
* @private
|
|
206
|
+
* @description Adds global event listeners.
|
|
207
|
+
* - When the controller is opened
|
|
208
|
+
*/
|
|
209
|
+
private __addGlobalEvent;
|
|
210
|
+
/**
|
|
211
|
+
* @private
|
|
212
|
+
* @description Removes global event listeners.
|
|
213
|
+
* - When the ESC key is pressed, the controller is closed.
|
|
214
|
+
*/
|
|
215
|
+
private __removeGlobalEvent;
|
|
216
|
+
/**
|
|
217
|
+
* @private
|
|
218
|
+
* @description Checks if the controller is fixed and should not be closed.
|
|
219
|
+
* @returns {boolean} True if the controller is fixed.
|
|
220
|
+
*/
|
|
221
|
+
private _checkFixed;
|
|
222
|
+
/**
|
|
223
|
+
* @private
|
|
224
|
+
* @description Checks if the given target is within a form or controller.
|
|
225
|
+
* @param {Node} target The target element.
|
|
226
|
+
* @returns {boolean} True if the target is inside a form or controller.
|
|
227
|
+
*/
|
|
228
|
+
private _checkForm;
|
|
229
|
+
#private;
|
|
230
|
+
}
|
|
231
|
+
import EditorInjector from '../editorInjector';
|