suneditor 3.1.4 → 3.2.0
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/dist/suneditor-contents.min.css +1 -1
- package/dist/suneditor.min.css +28 -1
- package/dist/suneditor.min.js +1 -1
- package/package.json +2 -1
- package/src/assets/design/color.css +12 -0
- package/src/assets/design/size.css +9 -2
- package/src/assets/icons/defaultIcons.js +96 -47
- package/src/assets/suneditor-contents.css +3 -2
- package/src/assets/suneditor.css +480 -31
- package/src/core/config/contextProvider.js +2 -1
- package/src/core/config/eventManager.js +41 -2
- package/src/core/config/optionProvider.js +23 -2
- package/src/core/editor.js +32 -14
- package/src/core/event/actions/index.js +76 -9
- package/src/core/event/effects/common.registry.js +2 -1
- package/src/core/event/effects/keydown.registry.js +169 -33
- package/src/core/event/effects/ruleHelpers.js +20 -6
- package/src/core/event/eventOrchestrator.js +136 -23
- package/src/core/event/handlers/handler_toolbar.js +4 -2
- package/src/core/event/handlers/handler_ww_dragDrop.js +10 -0
- package/src/core/event/handlers/handler_ww_input.js +9 -2
- package/src/core/event/handlers/handler_ww_key.js +86 -17
- package/src/core/event/handlers/handler_ww_mouse.js +45 -8
- package/src/core/event/ports.js +23 -5
- package/src/core/event/reducers/keydown.reducer.js +15 -2
- package/src/core/event/rules/keydown.rule.arrow.js +12 -2
- package/src/core/event/rules/keydown.rule.backspace.js +110 -15
- package/src/core/event/rules/keydown.rule.delete.js +62 -7
- package/src/core/event/rules/keydown.rule.enter.js +62 -31
- package/src/core/event/support/defaultLineManager.js +9 -2
- package/src/core/event/support/selectionState.js +13 -3
- package/src/core/kernel/coreKernel.js +1 -0
- package/src/core/logic/dom/char.js +13 -3
- package/src/core/logic/dom/format.js +171 -39
- package/src/core/logic/dom/html.js +350 -72
- package/src/core/logic/dom/inline.js +229 -34
- package/src/core/logic/dom/listFormat.js +111 -20
- package/src/core/logic/dom/nodeTransform.js +36 -11
- package/src/core/logic/dom/offset.js +116 -31
- package/src/core/logic/dom/selection.js +147 -29
- package/src/core/logic/panel/blockHandle.js +785 -0
- package/src/core/logic/panel/blockResolver.js +278 -0
- package/src/core/logic/panel/finder.js +16 -6
- package/src/core/logic/panel/menu.js +119 -18
- package/src/core/logic/panel/toolbar.js +75 -19
- package/src/core/logic/panel/viewer.js +76 -20
- package/src/core/logic/shell/_commandExecutor.js +44 -9
- package/src/core/logic/shell/commandDispatcher.js +46 -4
- package/src/core/logic/shell/component.js +102 -25
- package/src/core/logic/shell/focusManager.js +13 -3
- package/src/core/logic/shell/history.js +21 -6
- package/src/core/logic/shell/pluginManager.js +21 -13
- package/src/core/logic/shell/shortcuts.js +9 -1
- package/src/core/logic/shell/ui.js +139 -37
- package/src/core/schema/frameContext.js +34 -3
- package/src/core/schema/options.js +46 -4
- package/src/core/section/constructor.js +537 -93
- package/src/core/section/documentType.js +35 -6
- package/src/helper/converter.js +24 -7
- package/src/helper/dom/domCheck.js +25 -5
- package/src/helper/dom/domQuery.js +2 -1
- package/src/helper/dom/domUtils.js +17 -4
- package/src/helper/env.js +11 -2
- package/src/helper/keyCodeMap.js +6 -2
- package/src/helper/markdown.js +24 -5
- package/src/helper/msOffice.js +9 -2
- package/src/interfaces/plugins.js +1 -1
- package/src/langs/ckb.js +0 -1
- package/src/langs/cs.js +0 -1
- package/src/langs/da.js +0 -1
- package/src/langs/de.js +0 -1
- package/src/langs/en.js +0 -1
- package/src/langs/es.js +0 -1
- package/src/langs/fa.js +0 -1
- package/src/langs/fr.js +0 -1
- package/src/langs/he.js +0 -1
- package/src/langs/hu.js +0 -1
- package/src/langs/index.js +27 -1
- package/src/langs/it.js +0 -1
- package/src/langs/ja.js +0 -1
- package/src/langs/km.js +0 -1
- package/src/langs/ko.js +0 -1
- package/src/langs/lv.js +0 -1
- package/src/langs/nl.js +0 -1
- package/src/langs/pl.js +0 -1
- package/src/langs/pt_br.js +0 -1
- package/src/langs/ro.js +0 -1
- package/src/langs/ru.js +0 -1
- package/src/langs/se.js +0 -1
- package/src/langs/tr.js +0 -1
- package/src/langs/uk.js +0 -1
- package/src/langs/ur.js +0 -1
- package/src/langs/zh_cn.js +0 -1
- package/src/modules/contract/Browser.js +58 -14
- package/src/modules/contract/ColorPicker.js +12 -4
- package/src/modules/contract/Controller.js +37 -7
- package/src/modules/contract/Figure.js +156 -36
- package/src/modules/contract/HueSlider.js +27 -4
- package/src/modules/contract/Modal.js +50 -10
- package/src/modules/manager/FileManager.js +50 -8
- package/src/modules/ui/CommandMenu.js +597 -0
- package/src/modules/ui/ModalAnchorEditor.js +33 -6
- package/src/modules/ui/SelectMenu.js +481 -36
- package/src/modules/ui/index.js +1 -0
- package/src/plugins/browser/audioGallery.js +2 -1
- package/src/plugins/browser/fileBrowser.js +9 -2
- package/src/plugins/browser/fileGallery.js +2 -1
- package/src/plugins/browser/imageGallery.js +18 -3
- package/src/plugins/browser/videoGallery.js +13 -4
- package/src/plugins/command/blockquote.js +6 -1
- package/src/plugins/command/codeBlock.js +43 -5
- package/src/plugins/command/exportPDF.js +20 -4
- package/src/plugins/command/fileUpload.js +46 -11
- package/src/plugins/command/list_bulleted.js +6 -1
- package/src/plugins/command/list_numbered.js +6 -1
- package/src/plugins/dropdown/align.js +21 -33
- package/src/plugins/dropdown/backgroundColor.js +10 -2
- package/src/plugins/dropdown/blockStyle.js +17 -22
- package/src/plugins/dropdown/font.js +34 -34
- package/src/plugins/dropdown/hr.js +15 -43
- package/src/plugins/dropdown/layout.js +10 -27
- package/src/plugins/dropdown/lineHeight.js +10 -33
- package/src/plugins/dropdown/list.js +19 -25
- package/src/plugins/dropdown/paragraphStyle.js +16 -24
- package/src/plugins/dropdown/table/index.js +72 -17
- package/src/plugins/dropdown/table/render/table.html.js +3 -1
- package/src/plugins/dropdown/table/services/table.cell.js +33 -7
- package/src/plugins/dropdown/table/services/table.clipboard.js +5 -1
- package/src/plugins/dropdown/table/services/table.grid.js +40 -9
- package/src/plugins/dropdown/table/services/table.resize.js +55 -11
- package/src/plugins/dropdown/table/services/table.selection.js +27 -7
- package/src/plugins/dropdown/table/services/table.style.js +120 -20
- package/src/plugins/dropdown/template.js +13 -29
- package/src/plugins/dropdown/textStyle.js +22 -35
- package/src/plugins/field/autocomplete.js +8 -4
- package/src/plugins/field/slashCommand.js +297 -0
- package/src/plugins/index.js +3 -0
- package/src/plugins/input/fontSize.js +37 -8
- package/src/plugins/input/pageNavigator.js +7 -1
- package/src/plugins/modal/audio.js +71 -17
- package/src/plugins/modal/drawing.js +41 -11
- package/src/plugins/modal/embed.js +92 -22
- package/src/plugins/modal/image/index.js +114 -28
- package/src/plugins/modal/image/services/image.size.js +9 -2
- package/src/plugins/modal/image/services/image.upload.js +38 -4
- package/src/plugins/modal/link.js +9 -2
- package/src/plugins/modal/math.js +10 -2
- package/src/plugins/modal/video/index.js +112 -26
- package/src/plugins/modal/video/render/video.html.js +4 -1
- package/src/plugins/modal/video/services/video.size.js +15 -4
- package/src/plugins/modal/video/services/video.upload.js +10 -2
- package/src/plugins/popup/anchor.js +14 -2
- package/src/suneditor.js +8 -2
- package/src/themes/cobalt.css +12 -0
- package/src/themes/cream.css +12 -0
- package/src/themes/dark.css +12 -0
- package/src/themes/midnight.css +12 -0
- package/src/typedef.js +32 -21
- package/types/assets/icons/defaultIcons.d.ts +1 -0
- package/types/core/config/contextProvider.d.ts +7 -1
- package/types/core/config/eventManager.d.ts +37 -4
- package/types/core/config/optionProvider.d.ts +5 -1
- package/types/core/event/actions/index.d.ts +44 -6
- package/types/core/event/effects/keydown.registry.d.ts +37 -7
- package/types/core/event/effects/ruleHelpers.d.ts +6 -1
- package/types/core/event/eventOrchestrator.d.ts +6 -1
- package/types/core/event/handlers/handler_ww_clipboard.d.ts +15 -3
- package/types/core/event/handlers/handler_ww_dragDrop.d.ts +14 -2
- package/types/core/event/handlers/handler_ww_input.d.ts +10 -2
- package/types/core/event/handlers/handler_ww_key.d.ts +10 -2
- package/types/core/event/handlers/handler_ww_mouse.d.ts +25 -5
- package/types/core/event/ports.d.ts +7 -2
- package/types/core/event/rules/keydown.rule.backspace.d.ts +6 -1
- package/types/core/kernel/store.d.ts +4 -1
- package/types/core/logic/dom/format.d.ts +32 -14
- package/types/core/logic/dom/html.d.ts +11 -3
- package/types/core/logic/dom/nodeTransform.d.ts +6 -6
- package/types/core/logic/panel/blockHandle.d.ts +64 -0
- package/types/core/logic/panel/blockResolver.d.ts +50 -0
- package/types/core/logic/panel/menu.d.ts +72 -3
- package/types/core/logic/shell/commandDispatcher.d.ts +8 -0
- package/types/core/logic/shell/component.d.ts +5 -3
- package/types/core/logic/shell/shortcuts.d.ts +10 -1
- package/types/core/logic/shell/ui.d.ts +7 -1
- package/types/core/schema/context.d.ts +7 -1
- package/types/core/schema/frameContext.d.ts +36 -4
- package/types/core/schema/options.d.ts +83 -2
- package/types/core/section/constructor.d.ts +38 -1
- package/types/events.d.ts +208 -32
- package/types/helper/converter.d.ts +4 -2
- package/types/helper/dom/domCheck.d.ts +12 -2
- package/types/helper/dom/domQuery.d.ts +35 -7
- package/types/helper/dom/domUtils.d.ts +4 -1
- package/types/interfaces/plugins.d.ts +2 -2
- package/types/langs/_Lang.d.ts +0 -1
- package/types/modules/contract/ColorPicker.d.ts +2 -2
- package/types/modules/contract/Controller.d.ts +7 -0
- package/types/modules/contract/Figure.d.ts +31 -4
- package/types/modules/ui/CommandMenu.d.ts +262 -0
- package/types/modules/ui/SelectMenu.d.ts +56 -3
- package/types/modules/ui/index.d.ts +1 -0
- package/types/plugins/browser/audioGallery.d.ts +1 -1
- package/types/plugins/browser/fileBrowser.d.ts +1 -1
- package/types/plugins/browser/fileGallery.d.ts +1 -1
- package/types/plugins/browser/imageGallery.d.ts +1 -1
- package/types/plugins/browser/videoGallery.d.ts +1 -1
- package/types/plugins/dropdown/align.d.ts +1 -1
- package/types/plugins/dropdown/blockStyle.d.ts +3 -1
- package/types/plugins/dropdown/table/index.d.ts +4 -1
- package/types/plugins/dropdown/table/services/table.clipboard.d.ts +5 -1
- package/types/plugins/dropdown/table/services/table.grid.d.ts +10 -2
- package/types/plugins/field/autocomplete.d.ts +0 -1
- package/types/plugins/field/slashCommand.d.ts +165 -0
- package/types/plugins/index.d.ts +3 -0
- package/types/plugins/modal/link.d.ts +4 -1
- package/types/typedef.d.ts +48 -23
|
@@ -4,7 +4,16 @@ import { _DragHandle } from '../ui/_DragHandle';
|
|
|
4
4
|
import { dom, numbers, env, converter, keyCodeMap } from '../../helper';
|
|
5
5
|
|
|
6
6
|
const { _w, ON_OVER_COMPONENT } = env;
|
|
7
|
-
const DIRECTION_CURSOR_MAP = {
|
|
7
|
+
const DIRECTION_CURSOR_MAP = {
|
|
8
|
+
tl: 'nwse-resize',
|
|
9
|
+
tr: 'nesw-resize',
|
|
10
|
+
bl: 'nesw-resize',
|
|
11
|
+
br: 'nwse-resize',
|
|
12
|
+
lw: 'ew-resize',
|
|
13
|
+
th: 'ns-resize',
|
|
14
|
+
rw: 'ew-resize',
|
|
15
|
+
bh: 'ns-resize',
|
|
16
|
+
};
|
|
8
17
|
const DIR_DIAGONAL = 'tl|bl|tr|br';
|
|
9
18
|
const DIR_W = 'lw|rw';
|
|
10
19
|
let __resizing_p_wh = false;
|
|
@@ -151,7 +160,9 @@ class Figure {
|
|
|
151
160
|
this._action = {};
|
|
152
161
|
|
|
153
162
|
const controllerEl = CreateHTML_controller(this, $, controls || []);
|
|
154
|
-
this.controller = controllerEl
|
|
163
|
+
this.controller = controllerEl
|
|
164
|
+
? new Controller(this, $, controllerEl, { position: 'bottom', disabled: true }, this.kind)
|
|
165
|
+
: null;
|
|
155
166
|
|
|
156
167
|
if (controllerEl) {
|
|
157
168
|
// align selectmenu
|
|
@@ -159,7 +170,9 @@ class Figure {
|
|
|
159
170
|
const alignMenus = CreateAlign(this, $, this.alignButton);
|
|
160
171
|
if (alignMenus) {
|
|
161
172
|
this.selectMenu_align = new SelectMenu($, { checkList: false, position: 'bottom-center' });
|
|
162
|
-
this.selectMenu_align.on(this.alignButton, this.#SetMenuAlign.bind(this), {
|
|
173
|
+
this.selectMenu_align.on(this.alignButton, this.#SetMenuAlign.bind(this), {
|
|
174
|
+
class: 'se-figure-select-list',
|
|
175
|
+
});
|
|
163
176
|
this.selectMenu_align.create(alignMenus.items, alignMenus.html);
|
|
164
177
|
}
|
|
165
178
|
// as [block, inline] selectmenu
|
|
@@ -241,7 +254,11 @@ class Figure {
|
|
|
241
254
|
* // figureInfo.cover → <figure> wrapping the imgEl
|
|
242
255
|
*/
|
|
243
256
|
static CreateContainer(element, className) {
|
|
244
|
-
dom.utils.createElement(
|
|
257
|
+
dom.utils.createElement(
|
|
258
|
+
'DIV',
|
|
259
|
+
{ class: 'se-component' + (className ? ' ' + className : '') },
|
|
260
|
+
dom.utils.createElement('FIGURE', null, element),
|
|
261
|
+
);
|
|
245
262
|
return Figure.GetContainer(element);
|
|
246
263
|
}
|
|
247
264
|
|
|
@@ -258,7 +275,11 @@ class Figure {
|
|
|
258
275
|
* // figureInfo.inlineCover → same as container (inline mode)
|
|
259
276
|
*/
|
|
260
277
|
static CreateInlineContainer(element, className) {
|
|
261
|
-
dom.utils.createElement(
|
|
278
|
+
dom.utils.createElement(
|
|
279
|
+
'SPAN',
|
|
280
|
+
{ class: 'se-component se-inline-component' + (className ? ' ' + className : '') },
|
|
281
|
+
element,
|
|
282
|
+
);
|
|
262
283
|
return Figure.GetContainer(element);
|
|
263
284
|
}
|
|
264
285
|
|
|
@@ -296,7 +317,9 @@ class Figure {
|
|
|
296
317
|
target: /** @type {HTMLElement} */ (target),
|
|
297
318
|
container: dom.query.getParentElement(target, Figure.is, 3) || cover,
|
|
298
319
|
cover: cover,
|
|
299
|
-
inlineCover: dom.utils.hasClass(inlineCover, 'se-inline-component')
|
|
320
|
+
inlineCover: dom.utils.hasClass(inlineCover, 'se-inline-component')
|
|
321
|
+
? /** @type {HTMLElement} */ (inlineCover)
|
|
322
|
+
: null,
|
|
300
323
|
caption: dom.query.getEdgeChild(target.parentElement, 'FIGCAPTION', false),
|
|
301
324
|
isVertical: IsVertical(target),
|
|
302
325
|
};
|
|
@@ -445,7 +468,9 @@ class Figure {
|
|
|
445
468
|
|
|
446
469
|
this.#setFigureInfo(figureInfo);
|
|
447
470
|
|
|
448
|
-
const sizeTarget = /** @type {HTMLElement} */ (
|
|
471
|
+
const sizeTarget = /** @type {HTMLElement} */ (
|
|
472
|
+
figureTarget ? this._cover || this._container || target : target
|
|
473
|
+
);
|
|
449
474
|
const w = sizeTarget.offsetWidth || null;
|
|
450
475
|
const h = sizeTarget.offsetHeight || null;
|
|
451
476
|
const { top, left, scrollX, scrollY } = this.#$.offset.getLocal(sizeTarget);
|
|
@@ -502,7 +527,10 @@ class Figure {
|
|
|
502
527
|
});
|
|
503
528
|
|
|
504
529
|
// percentage active
|
|
505
|
-
const value =
|
|
530
|
+
const value =
|
|
531
|
+
/%$/.test(target.style.width) && /%$/.test(figureInfo.container.style.width)
|
|
532
|
+
? numbers.get(figureInfo.container.style.width, 0) / 100 + ''
|
|
533
|
+
: '';
|
|
506
534
|
for (let i = 0, len = this.percentageButtons.length; i < len; i++) {
|
|
507
535
|
if (this.percentageButtons[i].getAttribute('data-value') === value) {
|
|
508
536
|
dom.utils.addClass(this.percentageButtons[i], 'active');
|
|
@@ -535,7 +563,10 @@ class Figure {
|
|
|
535
563
|
if (this.controller) {
|
|
536
564
|
// size display
|
|
537
565
|
const size = this.getSize(target);
|
|
538
|
-
dom.utils.changeTxt(
|
|
566
|
+
dom.utils.changeTxt(
|
|
567
|
+
_figure.display,
|
|
568
|
+
this.#$.lang[this.align === 'none' ? 'basic' : this.align] + ' (' + size.dw + ', ' + size.dh + ')',
|
|
569
|
+
);
|
|
539
570
|
|
|
540
571
|
// align button
|
|
541
572
|
this.#setAlignIcon();
|
|
@@ -560,7 +591,11 @@ class Figure {
|
|
|
560
591
|
|
|
561
592
|
// selecte
|
|
562
593
|
dom.utils.removeClass(this._cover, 'se-figure-over-selected');
|
|
563
|
-
this.controller?.open(_figure.main, null, {
|
|
594
|
+
this.controller?.open(_figure.main, null, {
|
|
595
|
+
initMethod: this.#offContainer,
|
|
596
|
+
isWWTarget: false,
|
|
597
|
+
addOffset: null,
|
|
598
|
+
});
|
|
564
599
|
_w.setTimeout(() => _DragHandle.set('__overInfo', false), 0);
|
|
565
600
|
} else {
|
|
566
601
|
dom.utils.addClass(this._cover, 'se-figure-over-selected');
|
|
@@ -572,7 +607,11 @@ class Figure {
|
|
|
572
607
|
this.#element_h = this.#resize_h = h;
|
|
573
608
|
|
|
574
609
|
// drag
|
|
575
|
-
if (
|
|
610
|
+
if (
|
|
611
|
+
!this._inlineCover &&
|
|
612
|
+
(_DragHandle.get('__overInfo') !== ON_OVER_COMPONENT ||
|
|
613
|
+
dom.utils.hasClass(figureInfo.container, 'se-input-component'))
|
|
614
|
+
) {
|
|
576
615
|
this.#setDragEvent(_figure.main);
|
|
577
616
|
}
|
|
578
617
|
|
|
@@ -663,9 +702,13 @@ class Figure {
|
|
|
663
702
|
h = target.style.height;
|
|
664
703
|
}
|
|
665
704
|
} else {
|
|
666
|
-
w = !/%$/.test(target.style.width)
|
|
705
|
+
w = !/%$/.test(target.style.width)
|
|
706
|
+
? target.style.width
|
|
707
|
+
: ((figure.container && numbers.get(figure.container.style.width, 2)) || 100) + '%';
|
|
667
708
|
h = figure.inlineCover
|
|
668
|
-
? figure.inlineCover.style.height ||
|
|
709
|
+
? figure.inlineCover.style.height ||
|
|
710
|
+
/** @type {HTMLElement} */ (targetNode).style.height ||
|
|
711
|
+
String(/** @type {HTMLImageElement} */ (targetNode).height || '')
|
|
669
712
|
: numbers.get(figure.cover?.style.paddingBottom, 0) > 0 && !v
|
|
670
713
|
? figure.cover?.style.height
|
|
671
714
|
: !/%$/.test(target.style.height) || !/%$/.test(target.style.width)
|
|
@@ -707,7 +750,11 @@ class Figure {
|
|
|
707
750
|
cover.style.width = container.style.width;
|
|
708
751
|
} else {
|
|
709
752
|
container.style.minWidth = '';
|
|
710
|
-
cover.style.width = this.isVertical
|
|
753
|
+
cover.style.width = this.isVertical
|
|
754
|
+
? target.style.height || target.offsetHeight + 'px'
|
|
755
|
+
: !target.style.width || target.style.width === 'auto'
|
|
756
|
+
? ''
|
|
757
|
+
: target.style.width || '100%';
|
|
711
758
|
}
|
|
712
759
|
|
|
713
760
|
if (!dom.utils.hasClass(container, '__se__float-' + align)) {
|
|
@@ -801,7 +848,12 @@ class Figure {
|
|
|
801
848
|
figure.container,
|
|
802
849
|
container.className
|
|
803
850
|
.split(' ')
|
|
804
|
-
.filter(
|
|
851
|
+
.filter(
|
|
852
|
+
(v) =>
|
|
853
|
+
v !== 'se-inline-component' &&
|
|
854
|
+
v !== 'se-figure-selected' &&
|
|
855
|
+
v !== 'se-component-selected',
|
|
856
|
+
)
|
|
805
857
|
.join('|'),
|
|
806
858
|
);
|
|
807
859
|
|
|
@@ -923,13 +975,17 @@ class Figure {
|
|
|
923
975
|
retainFigureFormat(container, originEl, anchorCover, fileManagerInst) {
|
|
924
976
|
const isInline = this.#$.component.isInline(container);
|
|
925
977
|
const originParent = originEl.parentNode;
|
|
926
|
-
let existElement =
|
|
978
|
+
let existElement =
|
|
979
|
+
this.#$.format.isBlock(originParent) || dom.check.isWysiwygFrame(originParent) || originParent.nodeType >= 9
|
|
980
|
+
? originEl
|
|
981
|
+
: Figure.GetContainer(originEl)?.container || originParent || originEl;
|
|
927
982
|
|
|
928
983
|
if (dom.query.getParentElement(originEl, dom.check.isExcludeFormat)) {
|
|
929
984
|
existElement = anchorCover && anchorCover !== originEl ? anchorCover : originEl;
|
|
930
985
|
existElement.parentNode.replaceChild(container, existElement);
|
|
931
986
|
} else if (isInline && this.#$.format.isLine(existElement)) {
|
|
932
|
-
const refer =
|
|
987
|
+
const refer =
|
|
988
|
+
isInline && /^SPAN$/i.test(originEl.parentElement.nodeName) ? originEl.parentElement : originEl;
|
|
933
989
|
refer.parentElement.replaceChild(container, refer);
|
|
934
990
|
} else if (dom.check.isListCell(existElement)) {
|
|
935
991
|
const refer = dom.query.getParentElement(originEl, (current) => current.parentNode === existElement);
|
|
@@ -945,11 +1001,17 @@ class Figure {
|
|
|
945
1001
|
} else {
|
|
946
1002
|
if (this.#$.format.isLine(existElement.parentNode)) {
|
|
947
1003
|
const formats = existElement.parentNode;
|
|
948
|
-
formats.parentNode.insertBefore(
|
|
949
|
-
|
|
1004
|
+
formats.parentNode.insertBefore(
|
|
1005
|
+
container,
|
|
1006
|
+
existElement.previousSibling ? formats.nextElementSibling : formats,
|
|
1007
|
+
);
|
|
1008
|
+
if (fileManagerInst?.__updateTags.map((current) => existElement.contains(current)).length === 0)
|
|
1009
|
+
dom.utils.removeItem(existElement);
|
|
950
1010
|
else if (dom.check.isZeroWidth(existElement)) dom.utils.removeItem(existElement);
|
|
951
1011
|
} else {
|
|
952
|
-
existElement = dom.check.isFigure(existElement.parentNode)
|
|
1012
|
+
existElement = dom.check.isFigure(existElement.parentNode)
|
|
1013
|
+
? dom.query.getParentElement(existElement.parentNode, Figure.is)
|
|
1014
|
+
: existElement;
|
|
953
1015
|
existElement.parentNode.replaceChild(container, existElement);
|
|
954
1016
|
}
|
|
955
1017
|
}
|
|
@@ -1097,7 +1159,10 @@ class Figure {
|
|
|
1097
1159
|
this._container = figureInfo.container;
|
|
1098
1160
|
this._caption = figureInfo.caption;
|
|
1099
1161
|
this._element = figureInfo.target;
|
|
1100
|
-
this.align =
|
|
1162
|
+
this.align =
|
|
1163
|
+
(this._container.className.match(/(?:^|\s)__se__float-(none|left|center|right)(?:$|\s)/) || [])[1] ||
|
|
1164
|
+
figureInfo.target.style.float ||
|
|
1165
|
+
'none';
|
|
1101
1166
|
this.as = this._inlineCover ? 'inline' : 'block';
|
|
1102
1167
|
this.isVertical = IsVertical(figureInfo.target);
|
|
1103
1168
|
}
|
|
@@ -1141,7 +1206,13 @@ class Figure {
|
|
|
1141
1206
|
element.style.maxWidth = '';
|
|
1142
1207
|
}
|
|
1143
1208
|
|
|
1144
|
-
element.style.transform =
|
|
1209
|
+
element.style.transform =
|
|
1210
|
+
'rotate(' +
|
|
1211
|
+
r +
|
|
1212
|
+
'deg)' +
|
|
1213
|
+
(x ? ' rotateX(' + x + 'deg)' : '') +
|
|
1214
|
+
(y ? ' rotateY(' + y + 'deg)' : '') +
|
|
1215
|
+
(translate ? ' translate' + translate + '(' + width + 'px)' : '');
|
|
1145
1216
|
}
|
|
1146
1217
|
|
|
1147
1218
|
/**
|
|
@@ -1195,7 +1266,9 @@ class Figure {
|
|
|
1195
1266
|
|
|
1196
1267
|
this._cover.style.height = h;
|
|
1197
1268
|
if (/%$/.test(w) && this.align === 'center') {
|
|
1198
|
-
this._cover.style.paddingBottom = !/%$/.test(h)
|
|
1269
|
+
this._cover.style.paddingBottom = !/%$/.test(h)
|
|
1270
|
+
? h
|
|
1271
|
+
: numbers.get((numbers.get(h, 2) / 100) * numbers.get(w, 2), 2) + '%';
|
|
1199
1272
|
} else {
|
|
1200
1273
|
this._cover.style.paddingBottom = h;
|
|
1201
1274
|
}
|
|
@@ -1235,8 +1308,19 @@ class Figure {
|
|
|
1235
1308
|
* @param {string|number} h Height percentage.
|
|
1236
1309
|
*/
|
|
1237
1310
|
_setPercentSize(w, h) {
|
|
1238
|
-
h ||= this.autoRatio
|
|
1239
|
-
|
|
1311
|
+
h ||= this.autoRatio
|
|
1312
|
+
? /%$/.test(this.autoRatio.current)
|
|
1313
|
+
? this.autoRatio.current
|
|
1314
|
+
: this.autoRatio.default
|
|
1315
|
+
: h;
|
|
1316
|
+
h =
|
|
1317
|
+
h && !/%$/.test(h + '') && !numbers.get(h, 0)
|
|
1318
|
+
? numbers.is(h)
|
|
1319
|
+
? h + '%'
|
|
1320
|
+
: h
|
|
1321
|
+
: numbers.is(h)
|
|
1322
|
+
? h + this.sizeUnit
|
|
1323
|
+
: h || (this.autoRatio ? this.autoRatio.default : '');
|
|
1240
1324
|
|
|
1241
1325
|
const heightPercentage = /%$/.test(h + '');
|
|
1242
1326
|
this._container.style.width = String(numbers.is(w) ? w + '%' : w);
|
|
@@ -1335,9 +1419,12 @@ class Figure {
|
|
|
1335
1419
|
* @param {HTMLElement} element Target element.
|
|
1336
1420
|
*/
|
|
1337
1421
|
#setCaptionPosition(element) {
|
|
1338
|
-
const figcaption = /** @type {HTMLElement} */ (
|
|
1422
|
+
const figcaption = /** @type {HTMLElement} */ (
|
|
1423
|
+
dom.query.getEdgeChild(dom.query.getParentElement(element, 'FIGURE'), 'FIGCAPTION', false)
|
|
1424
|
+
);
|
|
1339
1425
|
if (figcaption) {
|
|
1340
|
-
figcaption.style.marginTop =
|
|
1426
|
+
figcaption.style.marginTop =
|
|
1427
|
+
(this.isVertical && !this.autoRatio ? element.offsetWidth - element.offsetHeight : 0) + 'px';
|
|
1341
1428
|
if (this.isVertical && this.autoRatio) {
|
|
1342
1429
|
element.style.marginTop = figcaption.offsetHeight + 'px';
|
|
1343
1430
|
} else {
|
|
@@ -1351,7 +1438,9 @@ class Figure {
|
|
|
1351
1438
|
* @param {HTMLElement} element Target element.
|
|
1352
1439
|
*/
|
|
1353
1440
|
#deleteCaptionPosition(element) {
|
|
1354
|
-
const figcaption = /** @type {HTMLElement} */ (
|
|
1441
|
+
const figcaption = /** @type {HTMLElement} */ (
|
|
1442
|
+
dom.query.getEdgeChild(dom.query.getParentElement(element, 'FIGURE'), 'FIGCAPTION', false)
|
|
1443
|
+
);
|
|
1355
1444
|
if (figcaption) {
|
|
1356
1445
|
figcaption.style.marginTop = '';
|
|
1357
1446
|
}
|
|
@@ -1383,7 +1472,9 @@ class Figure {
|
|
|
1383
1472
|
* @param {Node} figureMain The main figure container element.
|
|
1384
1473
|
*/
|
|
1385
1474
|
#setDragEvent(figureMain) {
|
|
1386
|
-
const dragHandle = /** @type {HTMLElement} */ (
|
|
1475
|
+
const dragHandle = /** @type {HTMLElement} */ (
|
|
1476
|
+
this.#$.frameContext.get('wrapper').querySelector('.se-drag-handle')
|
|
1477
|
+
);
|
|
1387
1478
|
dom.utils.removeClass(dragHandle, 'se-drag-handle-full');
|
|
1388
1479
|
|
|
1389
1480
|
dragHandle.style.opacity = '';
|
|
@@ -1406,7 +1497,12 @@ class Figure {
|
|
|
1406
1497
|
*/
|
|
1407
1498
|
#OnScrollDragHandler(dragHandle, figureMain) {
|
|
1408
1499
|
dragHandle.style.display = 'block';
|
|
1409
|
-
dragHandle.style.left =
|
|
1500
|
+
dragHandle.style.left =
|
|
1501
|
+
figureMain.offsetLeft +
|
|
1502
|
+
(this.#$.options.get('_rtl')
|
|
1503
|
+
? dragHandle.offsetWidth
|
|
1504
|
+
: figureMain.offsetWidth - dragHandle.offsetWidth * 1.5) +
|
|
1505
|
+
'px';
|
|
1410
1506
|
dragHandle.style.top = figureMain.offsetTop - dragHandle.offsetHeight + 0.5 + 'px';
|
|
1411
1507
|
}
|
|
1412
1508
|
|
|
@@ -1424,7 +1520,11 @@ class Figure {
|
|
|
1424
1520
|
const direction = (inst._resize_direction = eventTarget.classList[0]);
|
|
1425
1521
|
inst._resizeClientX = e.clientX;
|
|
1426
1522
|
inst._resizeClientY = e.clientY;
|
|
1427
|
-
this.#$.frameContext.get('_figure').main.style.float = /l/.test(direction)
|
|
1523
|
+
this.#$.frameContext.get('_figure').main.style.float = /l/.test(direction)
|
|
1524
|
+
? 'right'
|
|
1525
|
+
: /r/.test(direction)
|
|
1526
|
+
? 'left'
|
|
1527
|
+
: 'none';
|
|
1428
1528
|
this.#$.ui.enableBackWrapper(DIRECTION_CURSOR_MAP[direction]);
|
|
1429
1529
|
|
|
1430
1530
|
const { w, h, dw, dh } = this.getSize(inst._element);
|
|
@@ -1442,7 +1542,8 @@ class Figure {
|
|
|
1442
1542
|
if (__resizing_p_wh || __resizing_p_ow) {
|
|
1443
1543
|
const sizeTarget = inst._cover || inst._element;
|
|
1444
1544
|
__resizing_sw = sizeTarget.offsetWidth;
|
|
1445
|
-
__resizing_cw =
|
|
1545
|
+
__resizing_cw =
|
|
1546
|
+
converter.getWidthInPercentage(sizeTarget, this.#$.frameContext.get('wysiwygFrame')) / 100;
|
|
1446
1547
|
}
|
|
1447
1548
|
}
|
|
1448
1549
|
|
|
@@ -1492,7 +1593,10 @@ class Figure {
|
|
|
1492
1593
|
const resize_w = /** @type {number} */ (!v && /h$/.test(direction) ? this.#width : Math.round(resultW));
|
|
1493
1594
|
const resize_h = /** @type {number} */ (!v && /w$/.test(direction) ? this.#height : Math.round(resultH));
|
|
1494
1595
|
const rw = __resizing_cw ? (resize_w / __resizing_sw) * __resizing_cw * 100 : resize_w;
|
|
1495
|
-
dom.utils.changeTxt(
|
|
1596
|
+
dom.utils.changeTxt(
|
|
1597
|
+
this.#$.frameContext.get('_figure').display,
|
|
1598
|
+
__resizing_cw ? numbers.get(rw > 100 ? 100 : rw, 2).toFixed(2) + '%' : rw + ' * ' + resize_h,
|
|
1599
|
+
);
|
|
1496
1600
|
|
|
1497
1601
|
this.#resize_w = resize_w;
|
|
1498
1602
|
this.#resize_h = resize_h;
|
|
@@ -1645,7 +1749,11 @@ function GetRotateValue(element) {
|
|
|
1645
1749
|
* @returns {boolean} Whether to rotate vertically
|
|
1646
1750
|
*/
|
|
1647
1751
|
function IsVertical(elementOrDeg) {
|
|
1648
|
-
return /^(90|270)$/.test(
|
|
1752
|
+
return /^(90|270)$/.test(
|
|
1753
|
+
Math.abs(
|
|
1754
|
+
numbers.is(elementOrDeg) ? elementOrDeg : GetRotateValue(/** @type{Node} */ (elementOrDeg)).r,
|
|
1755
|
+
).toString(),
|
|
1756
|
+
);
|
|
1649
1757
|
}
|
|
1650
1758
|
|
|
1651
1759
|
/**
|
|
@@ -1718,7 +1826,15 @@ function CreateResize($, button) {
|
|
|
1718
1826
|
n = numbers.is(v);
|
|
1719
1827
|
c = n ? 'resize_percent' + v : 'auto';
|
|
1720
1828
|
l = n ? v + '%' : $.lang.autoSize;
|
|
1721
|
-
html.push(
|
|
1829
|
+
html.push(
|
|
1830
|
+
'<button type="button" class="se-btn-list" data-command="' +
|
|
1831
|
+
c +
|
|
1832
|
+
'" data-value="' +
|
|
1833
|
+
v +
|
|
1834
|
+
'"><span>' +
|
|
1835
|
+
l +
|
|
1836
|
+
'</span></button>',
|
|
1837
|
+
);
|
|
1722
1838
|
}
|
|
1723
1839
|
|
|
1724
1840
|
return { html: html, items: items };
|
|
@@ -1741,7 +1857,11 @@ function CreateHTML_resizeDot() {
|
|
|
1741
1857
|
<div class="se-resize-display"></div>
|
|
1742
1858
|
</div>`;
|
|
1743
1859
|
|
|
1744
|
-
return dom.utils.createElement(
|
|
1860
|
+
return dom.utils.createElement(
|
|
1861
|
+
'DIV',
|
|
1862
|
+
{ class: 'se-controller se-resizing-container', style: 'display: none;' },
|
|
1863
|
+
html,
|
|
1864
|
+
);
|
|
1745
1865
|
}
|
|
1746
1866
|
|
|
1747
1867
|
/**
|
|
@@ -135,7 +135,13 @@ class HueSlider {
|
|
|
135
135
|
if (!params.isNewForm) {
|
|
136
136
|
const hueController = CreateHTML_basicControllerForm($, className);
|
|
137
137
|
this.circle = hueController.querySelector('.se-hue');
|
|
138
|
-
this.controller = new Controller(this, $, hueController, {
|
|
138
|
+
this.controller = new Controller(this, $, hueController, {
|
|
139
|
+
position: 'bottom',
|
|
140
|
+
isWWTarget: false,
|
|
141
|
+
parents: [inst.form],
|
|
142
|
+
parentsHide: true,
|
|
143
|
+
...params.controllerOptions,
|
|
144
|
+
});
|
|
139
145
|
}
|
|
140
146
|
}
|
|
141
147
|
|
|
@@ -224,7 +230,10 @@ class HueSlider {
|
|
|
224
230
|
// touch event
|
|
225
231
|
if (isTouchDevice) {
|
|
226
232
|
// mobile name
|
|
227
|
-
this.#globalTouchStart = this.#$.eventManager.addGlobalEvent('touchstart', OnTouchstart, {
|
|
233
|
+
this.#globalTouchStart = this.#$.eventManager.addGlobalEvent('touchstart', OnTouchstart, {
|
|
234
|
+
passive: false,
|
|
235
|
+
capture: true,
|
|
236
|
+
});
|
|
228
237
|
this.#globalTouchMove = this.#$.eventManager.addGlobalEvent('touchmove', OnTouchmove, true);
|
|
229
238
|
this.#globalTouchEnd = this.#$.eventManager.addGlobalEvent(
|
|
230
239
|
'touchend',
|
|
@@ -237,7 +246,10 @@ class HueSlider {
|
|
|
237
246
|
}
|
|
238
247
|
|
|
239
248
|
// mouse event
|
|
240
|
-
this.#globalMouseDown = this.#$.eventManager.addGlobalEvent('mousedown', OnMousedown, {
|
|
249
|
+
this.#globalMouseDown = this.#$.eventManager.addGlobalEvent('mousedown', OnMousedown, {
|
|
250
|
+
passive: false,
|
|
251
|
+
capture: true,
|
|
252
|
+
});
|
|
241
253
|
this.#globalMouseMove = this.#$.eventManager.addGlobalEvent('mousemove', OnMousemove, true);
|
|
242
254
|
this.#globalMouseUp = this.#$.eventManager.addGlobalEvent(
|
|
243
255
|
'mouseup',
|
|
@@ -271,7 +283,18 @@ class HueSlider {
|
|
|
271
283
|
}
|
|
272
284
|
|
|
273
285
|
// init
|
|
274
|
-
const {
|
|
286
|
+
const {
|
|
287
|
+
slider,
|
|
288
|
+
offscreenCanvas,
|
|
289
|
+
offscreenCtx,
|
|
290
|
+
wheel,
|
|
291
|
+
wheelCtx,
|
|
292
|
+
wheelPointer,
|
|
293
|
+
gradientBar,
|
|
294
|
+
gradientPointer,
|
|
295
|
+
fanalColorHex,
|
|
296
|
+
fanalColorBackground,
|
|
297
|
+
} = CreateSliderCtx();
|
|
275
298
|
|
|
276
299
|
// mobile
|
|
277
300
|
function OnTouchstart(event) {
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { dom, env, keyCodeMap } from '../../helper';
|
|
2
2
|
|
|
3
3
|
const { _w } = env;
|
|
4
|
-
const DIRECTION_CURSOR_MAP = {
|
|
4
|
+
const DIRECTION_CURSOR_MAP = {
|
|
5
|
+
w: 'ns-resize',
|
|
6
|
+
h: 'ew-resize',
|
|
7
|
+
c: 'nwse-resize',
|
|
8
|
+
wRTL: 'ns-resize',
|
|
9
|
+
hRTL: 'ew-resize',
|
|
10
|
+
cRTL: 'nesw-resize',
|
|
11
|
+
};
|
|
5
12
|
|
|
6
13
|
/**
|
|
7
14
|
* @class
|
|
@@ -59,14 +66,38 @@ class Modal {
|
|
|
59
66
|
|
|
60
67
|
// init
|
|
61
68
|
this.#$.eventManager.addEvent(element.querySelector('form'), 'submit', this.#Action.bind(this));
|
|
62
|
-
this.#hasNoCloseButton = !this.#$.eventManager.addEvent(
|
|
69
|
+
this.#hasNoCloseButton = !this.#$.eventManager.addEvent(
|
|
70
|
+
element.querySelector('[data-command="close"]'),
|
|
71
|
+
'click',
|
|
72
|
+
this.close.bind(this),
|
|
73
|
+
);
|
|
63
74
|
|
|
64
75
|
// resize
|
|
65
|
-
if (
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
76
|
+
if (
|
|
77
|
+
element.querySelector('.se-modal-resize-handle-w') ||
|
|
78
|
+
element.querySelector('.se-modal-resize-handle-h') ||
|
|
79
|
+
element.querySelector('.se-modal-resize-handle-c') ||
|
|
80
|
+
element.querySelector('.se-modal-resize-form')
|
|
81
|
+
) {
|
|
82
|
+
if (
|
|
83
|
+
!(this.#resizeBody = element.querySelector('.se-modal-resize-form')) &&
|
|
84
|
+
(this.#resizeBody = element.querySelector('.se-modal-body'))
|
|
85
|
+
) {
|
|
86
|
+
this.#$.eventManager.addEvent(
|
|
87
|
+
element.querySelector('.se-modal-resize-handle-w'),
|
|
88
|
+
'mousedown',
|
|
89
|
+
this.#OnResizeMouseDown.bind(this, 'w'),
|
|
90
|
+
);
|
|
91
|
+
this.#$.eventManager.addEvent(
|
|
92
|
+
element.querySelector('.se-modal-resize-handle-h'),
|
|
93
|
+
'mousedown',
|
|
94
|
+
this.#OnResizeMouseDown.bind(this, 'h'),
|
|
95
|
+
);
|
|
96
|
+
this.#$.eventManager.addEvent(
|
|
97
|
+
element.querySelector('.se-modal-resize-handle-c'),
|
|
98
|
+
'mousedown',
|
|
99
|
+
this.#OnResizeMouseDown.bind(this, 'c'),
|
|
100
|
+
);
|
|
70
101
|
|
|
71
102
|
this.#globalEventHandlers = {
|
|
72
103
|
mousemove: this.#OnResize.bind(this),
|
|
@@ -173,7 +204,8 @@ class Modal {
|
|
|
173
204
|
const mw = `${this.form.offsetWidth - offset.width}px`;
|
|
174
205
|
const mh = `${this.form.offsetTop + (this.form.offsetHeight - this.#resizeBody.offsetHeight)}px`;
|
|
175
206
|
// set max
|
|
176
|
-
if (maxWidth && typeof this.#resizeDir === 'string')
|
|
207
|
+
if (maxWidth && typeof this.#resizeDir === 'string')
|
|
208
|
+
dom.utils.setStyle(this.#resizeBody, 'max-width', `calc(${maxWidth} - ${mw})`);
|
|
177
209
|
if (maxHeight) dom.utils.setStyle(this.#resizeBody, 'max-height', `calc(${maxHeight} - ${mh})`);
|
|
178
210
|
}
|
|
179
211
|
|
|
@@ -249,8 +281,16 @@ class Modal {
|
|
|
249
281
|
#addGlobalEvent(dir) {
|
|
250
282
|
this.#removeGlobalEvent();
|
|
251
283
|
this.#$.ui.enableBackWrapper(DIRECTION_CURSOR_MAP[dir]);
|
|
252
|
-
this.#bindClose_mousemove = this.#$.eventManager.addGlobalEvent(
|
|
253
|
-
|
|
284
|
+
this.#bindClose_mousemove = this.#$.eventManager.addGlobalEvent(
|
|
285
|
+
'mousemove',
|
|
286
|
+
this.#globalEventHandlers.mousemove,
|
|
287
|
+
true,
|
|
288
|
+
);
|
|
289
|
+
this.#bindClose_mouseup = this.#$.eventManager.addGlobalEvent(
|
|
290
|
+
'mouseup',
|
|
291
|
+
this.#globalEventHandlers.mouseup,
|
|
292
|
+
true,
|
|
293
|
+
);
|
|
254
294
|
}
|
|
255
295
|
|
|
256
296
|
/**
|
|
@@ -75,7 +75,14 @@ class FileManager {
|
|
|
75
75
|
this.uploadFileLength = data.size;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
this.apiManager.call({
|
|
78
|
+
this.apiManager.call({
|
|
79
|
+
method: 'POST',
|
|
80
|
+
url: uploadUrl,
|
|
81
|
+
headers: uploadHeader,
|
|
82
|
+
data: formData,
|
|
83
|
+
callBack,
|
|
84
|
+
errorCallBack,
|
|
85
|
+
});
|
|
79
86
|
}
|
|
80
87
|
|
|
81
88
|
/**
|
|
@@ -105,7 +112,12 @@ class FileManager {
|
|
|
105
112
|
this.uploadFileLength = data.size;
|
|
106
113
|
}
|
|
107
114
|
|
|
108
|
-
return await this.apiManager.asyncCall({
|
|
115
|
+
return await this.apiManager.asyncCall({
|
|
116
|
+
method: 'POST',
|
|
117
|
+
url: uploadUrl,
|
|
118
|
+
headers: uploadHeader,
|
|
119
|
+
data: formData,
|
|
120
|
+
});
|
|
109
121
|
}
|
|
110
122
|
|
|
111
123
|
/**
|
|
@@ -196,7 +208,14 @@ class FileManager {
|
|
|
196
208
|
|
|
197
209
|
infoList.splice(i, 1);
|
|
198
210
|
|
|
199
|
-
const params = {
|
|
211
|
+
const params = {
|
|
212
|
+
element: null,
|
|
213
|
+
index: dataIndex,
|
|
214
|
+
state: 'delete',
|
|
215
|
+
info: null,
|
|
216
|
+
remainingFilesCount: 0,
|
|
217
|
+
pluginName: this.kind,
|
|
218
|
+
};
|
|
200
219
|
if (this.actionEventName) {
|
|
201
220
|
this.#$.eventManager.triggerEvent(this.actionEventName, params);
|
|
202
221
|
}
|
|
@@ -214,9 +233,17 @@ class FileManager {
|
|
|
214
233
|
const params = { element: null, state: 'delete', info: null, remainingFilesCount: 0, pluginName: this.kind };
|
|
215
234
|
for (let i = 0, len = this.infoList.length; i < len; i++) {
|
|
216
235
|
if (this.actionEventName) {
|
|
217
|
-
this.#$.eventManager.triggerEvent(this.actionEventName, {
|
|
236
|
+
this.#$.eventManager.triggerEvent(this.actionEventName, {
|
|
237
|
+
...params,
|
|
238
|
+
index: this.infoList[i].index,
|
|
239
|
+
pluginName: this.kind,
|
|
240
|
+
});
|
|
218
241
|
}
|
|
219
|
-
this.#$.eventManager.triggerEvent('onFileManagerAction', {
|
|
242
|
+
this.#$.eventManager.triggerEvent('onFileManagerAction', {
|
|
243
|
+
...params,
|
|
244
|
+
index: this.infoList[i].index,
|
|
245
|
+
pluginName: this.kind,
|
|
246
|
+
});
|
|
220
247
|
}
|
|
221
248
|
|
|
222
249
|
this.infoList = [];
|
|
@@ -233,7 +260,14 @@ class FileManager {
|
|
|
233
260
|
if (index === this.infoList[i].index) {
|
|
234
261
|
this.infoList.splice(i, 1);
|
|
235
262
|
if (this.actionEventName) {
|
|
236
|
-
this.#$.eventManager.triggerEvent(this.actionEventName, {
|
|
263
|
+
this.#$.eventManager.triggerEvent(this.actionEventName, {
|
|
264
|
+
element: null,
|
|
265
|
+
index,
|
|
266
|
+
state: 'delete',
|
|
267
|
+
info: null,
|
|
268
|
+
remainingFilesCount: 0,
|
|
269
|
+
pluginName: this.kind,
|
|
270
|
+
});
|
|
237
271
|
}
|
|
238
272
|
return;
|
|
239
273
|
}
|
|
@@ -252,7 +286,8 @@ class FileManager {
|
|
|
252
286
|
let state = '';
|
|
253
287
|
|
|
254
288
|
file ||= {
|
|
255
|
-
name:
|
|
289
|
+
name:
|
|
290
|
+
GetAttr(element, 'file-name') || (typeof element.src === 'string' ? element.src.split('/').pop() : ''),
|
|
256
291
|
size: Number(GetAttr(element, 'file-size')) || 0,
|
|
257
292
|
};
|
|
258
293
|
|
|
@@ -316,7 +351,14 @@ class FileManager {
|
|
|
316
351
|
}
|
|
317
352
|
}.bind(this, this.#$.component, element);
|
|
318
353
|
|
|
319
|
-
const params = {
|
|
354
|
+
const params = {
|
|
355
|
+
element,
|
|
356
|
+
index: dataIndex,
|
|
357
|
+
state,
|
|
358
|
+
info,
|
|
359
|
+
remainingFilesCount: --this.uploadFileLength < 0 ? 0 : this.uploadFileLength,
|
|
360
|
+
pluginName: this.kind,
|
|
361
|
+
};
|
|
320
362
|
if (this.actionEventName) {
|
|
321
363
|
this.#$.eventManager.triggerEvent(this.actionEventName, params);
|
|
322
364
|
}
|