@syncfusion/ej2-richtexteditor 23.2.7-52849 → 24.1.41-569421
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 +260 -0
- package/CHANGELOG.md +203 -1
- package/dist/ej2-richtexteditor.umd.min.js +1 -1
- package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es2015.js +9873 -7941
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +9967 -8034
- package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
- package/package.json +13 -13
- package/src/common/config.d.ts +7 -0
- package/src/common/config.js +12 -1
- package/src/common/constant.d.ts +6 -0
- package/src/common/constant.js +6 -0
- package/src/common/interface.d.ts +12 -0
- package/src/common/types.d.ts +6 -0
- package/src/common/util.d.ts +6 -0
- package/src/common/util.js +61 -20
- package/src/editor-manager/base/constant.d.ts +6 -0
- package/src/editor-manager/base/constant.js +6 -0
- package/src/editor-manager/base/editor-manager.d.ts +5 -0
- package/src/editor-manager/base/editor-manager.js +59 -0
- package/src/editor-manager/base/interface.d.ts +8 -0
- package/src/editor-manager/plugin/audio.js +13 -3
- package/src/editor-manager/plugin/dom-node.d.ts +5 -1
- package/src/editor-manager/plugin/dom-node.js +169 -28
- package/src/editor-manager/plugin/format-painter-actions.d.ts +1 -0
- package/src/editor-manager/plugin/format-painter-actions.js +19 -1
- package/src/editor-manager/plugin/formats.d.ts +1 -0
- package/src/editor-manager/plugin/formats.js +38 -3
- package/src/editor-manager/plugin/image.js +38 -15
- package/src/editor-manager/plugin/indents.js +1 -1
- package/src/editor-manager/plugin/inserthtml.d.ts +1 -0
- package/src/editor-manager/plugin/inserthtml.js +83 -20
- package/src/editor-manager/plugin/link.js +8 -3
- package/src/editor-manager/plugin/lists.js +159 -70
- package/src/editor-manager/plugin/ms-word-clean-up.d.ts +3 -0
- package/src/editor-manager/plugin/ms-word-clean-up.js +215 -85
- package/src/editor-manager/plugin/nodecutter.js +5 -2
- package/src/editor-manager/plugin/selection-commands.d.ts +2 -0
- package/src/editor-manager/plugin/selection-commands.js +248 -4
- package/src/editor-manager/plugin/table.d.ts +4 -1
- package/src/editor-manager/plugin/table.js +95 -49
- package/src/editor-manager/plugin/toolbar-status.d.ts +2 -2
- package/src/editor-manager/plugin/toolbar-status.js +20 -10
- package/src/editor-manager/plugin/undo.d.ts +1 -0
- package/src/editor-manager/plugin/undo.js +21 -1
- package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +4 -3
- package/src/rich-text-editor/actions/base-quick-toolbar.js +61 -14
- package/src/rich-text-editor/actions/base-toolbar.js +33 -34
- package/src/rich-text-editor/actions/color-picker.d.ts +1 -0
- package/src/rich-text-editor/actions/color-picker.js +13 -3
- package/src/rich-text-editor/actions/count.js +1 -1
- package/src/rich-text-editor/actions/dropdown-buttons.d.ts +1 -0
- package/src/rich-text-editor/actions/dropdown-buttons.js +11 -5
- package/src/rich-text-editor/actions/emoji-picker.js +16 -7
- package/src/rich-text-editor/actions/enter-key.js +10 -5
- package/src/rich-text-editor/actions/file-manager.js +1 -1
- package/src/rich-text-editor/actions/format-painter.js +5 -2
- package/src/rich-text-editor/actions/full-screen.js +5 -4
- package/src/rich-text-editor/actions/html-editor.d.ts +2 -0
- package/src/rich-text-editor/actions/html-editor.js +124 -17
- package/src/rich-text-editor/actions/keyboard.js +3 -1
- package/src/rich-text-editor/actions/markdown-editor.js +3 -1
- package/src/rich-text-editor/actions/paste-clean-up.d.ts +5 -0
- package/src/rich-text-editor/actions/paste-clean-up.js +156 -28
- package/src/rich-text-editor/actions/quick-toolbar.d.ts +8 -0
- package/src/rich-text-editor/actions/quick-toolbar.js +59 -12
- package/src/rich-text-editor/actions/resize.js +2 -1
- package/src/rich-text-editor/actions/toolbar-action.js +1 -1
- package/src/rich-text-editor/actions/toolbar.d.ts +3 -3
- package/src/rich-text-editor/actions/toolbar.js +35 -96
- package/src/rich-text-editor/base/classes.d.ts +5 -5
- package/src/rich-text-editor/base/classes.js +5 -5
- package/src/rich-text-editor/base/constant.d.ts +46 -1
- package/src/rich-text-editor/base/constant.js +215 -1
- package/src/rich-text-editor/base/interface.d.ts +47 -3
- package/src/rich-text-editor/base/rich-text-editor-model.d.ts +3 -3
- package/src/rich-text-editor/base/rich-text-editor.d.ts +16 -4
- package/src/rich-text-editor/base/rich-text-editor.js +184 -97
- package/src/rich-text-editor/base/util.js +22 -4
- package/src/rich-text-editor/formatter/formatter.js +16 -4
- package/src/rich-text-editor/models/default-locale.js +31 -25
- package/src/rich-text-editor/models/items.js +3 -3
- package/src/rich-text-editor/models/toolbar-settings-model.d.ts +1 -1
- package/src/rich-text-editor/models/toolbar-settings.d.ts +1 -1
- package/src/rich-text-editor/models/toolbar-settings.js +1 -1
- package/src/rich-text-editor/renderer/audio-module.d.ts +1 -0
- package/src/rich-text-editor/renderer/audio-module.js +22 -4
- package/src/rich-text-editor/renderer/dialog-renderer.d.ts +2 -0
- package/src/rich-text-editor/renderer/dialog-renderer.js +22 -2
- package/src/rich-text-editor/renderer/iframe-content-renderer.js +2 -1
- package/src/rich-text-editor/renderer/image-module.d.ts +9 -1
- package/src/rich-text-editor/renderer/image-module.js +248 -213
- package/src/rich-text-editor/renderer/link-module.js +53 -24
- package/src/rich-text-editor/renderer/table-module.d.ts +10 -1
- package/src/rich-text-editor/renderer/table-module.js +343 -168
- package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +3 -6
- package/src/rich-text-editor/renderer/toolbar-renderer.js +106 -101
- package/src/rich-text-editor/renderer/video-module.d.ts +3 -0
- package/src/rich-text-editor/renderer/video-module.js +82 -41
- package/src/rich-text-editor/renderer/view-source.d.ts +1 -0
- package/src/rich-text-editor/renderer/view-source.js +15 -5
- package/src/selection/selection.js +3 -0
- package/styles/bootstrap-dark.css +353 -103
- package/styles/bootstrap.css +357 -112
- package/styles/bootstrap4.css +338 -96
- package/styles/bootstrap5-dark.css +344 -97
- package/styles/bootstrap5.css +344 -97
- package/styles/fabric-dark.css +332 -90
- package/styles/fabric.css +333 -91
- package/styles/fluent-dark.css +360 -98
- package/styles/fluent.css +360 -98
- package/styles/highcontrast-light.css +332 -90
- package/styles/highcontrast.css +336 -91
- package/styles/material-dark.css +339 -92
- package/styles/material.css +339 -92
- package/styles/material3-dark.css +348 -100
- package/styles/material3.css +348 -100
- package/styles/rich-text-editor/_bds-definition.scss +279 -0
- package/styles/rich-text-editor/_bootstrap-dark-definition.scss +17 -13
- package/styles/rich-text-editor/_bootstrap-definition.scss +22 -19
- package/styles/rich-text-editor/_bootstrap4-definition.scss +11 -7
- package/styles/rich-text-editor/_bootstrap5-definition.scss +8 -4
- package/styles/rich-text-editor/_fabric-dark-definition.scss +6 -2
- package/styles/rich-text-editor/_fabric-definition.scss +7 -3
- package/styles/rich-text-editor/_fluent-definition.scss +14 -10
- package/styles/rich-text-editor/_fusionnew-definition.scss +7 -3
- package/styles/rich-text-editor/_highcontrast-definition.scss +7 -3
- package/styles/rich-text-editor/_highcontrast-light-definition.scss +6 -2
- package/styles/rich-text-editor/_layout.scss +211 -34
- package/styles/rich-text-editor/_material-dark-definition.scss +6 -2
- package/styles/rich-text-editor/_material-definition.scss +6 -2
- package/styles/rich-text-editor/_material3-definition.scss +16 -12
- package/styles/rich-text-editor/_tailwind-definition.scss +23 -19
- package/styles/rich-text-editor/_theme.scss +113 -24
- package/styles/rich-text-editor/bootstrap-dark.css +353 -103
- package/styles/rich-text-editor/bootstrap.css +357 -112
- package/styles/rich-text-editor/bootstrap4.css +338 -96
- package/styles/rich-text-editor/bootstrap5-dark.css +344 -97
- package/styles/rich-text-editor/bootstrap5.css +344 -97
- package/styles/rich-text-editor/fabric-dark.css +332 -90
- package/styles/rich-text-editor/fabric.css +333 -91
- package/styles/rich-text-editor/fluent-dark.css +360 -98
- package/styles/rich-text-editor/fluent.css +360 -98
- package/styles/rich-text-editor/highcontrast-light.css +332 -90
- package/styles/rich-text-editor/highcontrast.css +336 -91
- package/styles/rich-text-editor/icons/_bds.scss +348 -0
- package/styles/rich-text-editor/icons/_bootstrap-dark.scss +4 -4
- package/styles/rich-text-editor/icons/_bootstrap.scss +4 -4
- package/styles/rich-text-editor/icons/_bootstrap4.scss +4 -4
- package/styles/rich-text-editor/icons/_bootstrap5.scss +4 -4
- package/styles/rich-text-editor/icons/_fabric-dark.scss +4 -4
- package/styles/rich-text-editor/icons/_fabric.scss +4 -4
- package/styles/rich-text-editor/icons/_fluent.scss +4 -4
- package/styles/rich-text-editor/icons/_fusionnew.scss +3 -3
- package/styles/rich-text-editor/icons/_highcontrast-light.scss +4 -4
- package/styles/rich-text-editor/icons/_highcontrast.scss +4 -4
- package/styles/rich-text-editor/icons/_material-dark.scss +4 -4
- package/styles/rich-text-editor/icons/_material.scss +4 -4
- package/styles/rich-text-editor/icons/_material3.scss +4 -4
- package/styles/rich-text-editor/icons/_tailwind.scss +4 -4
- package/styles/rich-text-editor/material-dark.css +339 -92
- package/styles/rich-text-editor/material.css +339 -92
- package/styles/rich-text-editor/material3-dark.css +348 -100
- package/styles/rich-text-editor/material3.css +348 -100
- package/styles/rich-text-editor/tailwind-dark.css +383 -113
- package/styles/rich-text-editor/tailwind.css +383 -113
- package/styles/tailwind-dark.css +383 -113
- package/styles/tailwind.css +383 -113
- package/.github/PULL_REQUEST_TEMPLATE/Bug.md +0 -41
- package/.github/PULL_REQUEST_TEMPLATE/Feature.md +0 -27
|
@@ -17,12 +17,11 @@ export declare class ToolbarRenderer implements IRenderer {
|
|
|
17
17
|
* @private
|
|
18
18
|
*/
|
|
19
19
|
parent: IRichTextEditor;
|
|
20
|
-
private popupContainer;
|
|
21
20
|
private currentElement;
|
|
22
21
|
private currentDropdown;
|
|
23
|
-
private popupOverlay;
|
|
24
22
|
private tooltip;
|
|
25
23
|
private l10n;
|
|
24
|
+
private tooltipTargetEle;
|
|
26
25
|
/**
|
|
27
26
|
* Constructor for toolbar renderer module
|
|
28
27
|
*
|
|
@@ -41,7 +40,6 @@ export declare class ToolbarRenderer implements IRenderer {
|
|
|
41
40
|
private tooltipBeforeRender;
|
|
42
41
|
private dropDownOpen;
|
|
43
42
|
private dropDownClose;
|
|
44
|
-
private removePopupContainer;
|
|
45
43
|
/**
|
|
46
44
|
* renderToolbar method
|
|
47
45
|
*
|
|
@@ -60,6 +58,8 @@ export declare class ToolbarRenderer implements IRenderer {
|
|
|
60
58
|
* @deprecated
|
|
61
59
|
*/
|
|
62
60
|
renderDropDownButton(args: IDropDownModel): DropDownButton;
|
|
61
|
+
private mouseOutHandler;
|
|
62
|
+
private closeTooltip;
|
|
63
63
|
/**
|
|
64
64
|
* renderListDropDown method
|
|
65
65
|
*
|
|
@@ -69,8 +69,6 @@ export declare class ToolbarRenderer implements IRenderer {
|
|
|
69
69
|
* @deprecated
|
|
70
70
|
*/
|
|
71
71
|
renderListDropDown(args: IDropDownModel): DropDownButton;
|
|
72
|
-
private onPopupOverlay;
|
|
73
|
-
private setIsModel;
|
|
74
72
|
private paletteSelection;
|
|
75
73
|
/**
|
|
76
74
|
* renderColorPickerDropDown method
|
|
@@ -85,7 +83,6 @@ export declare class ToolbarRenderer implements IRenderer {
|
|
|
85
83
|
*/
|
|
86
84
|
renderColorPickerDropDown(args: IColorPickerModel, item: string, colorPicker: ColorPicker, defaultColor: string): DropDownButton;
|
|
87
85
|
private pickerRefresh;
|
|
88
|
-
private popupModal;
|
|
89
86
|
private setColorPickerContentWidth;
|
|
90
87
|
/**
|
|
91
88
|
* renderColorPicker method
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { addClass, Browser, removeClass,
|
|
2
|
-
import { getInstance, closest, selectAll
|
|
1
|
+
import { addClass, Browser, removeClass, formatUnit, isNullOrUndefined, isNullOrUndefined as isNOU, EventHandler } from '@syncfusion/ej2-base';
|
|
2
|
+
import { getInstance, closest, selectAll } from '@syncfusion/ej2-base';
|
|
3
3
|
import { Toolbar } from '@syncfusion/ej2-navigations';
|
|
4
4
|
import { DropDownButton } from '@syncfusion/ej2-splitbuttons';
|
|
5
5
|
import { Popup, Tooltip } from '@syncfusion/ej2-popups';
|
|
@@ -8,6 +8,7 @@ import * as events from '../base/constant';
|
|
|
8
8
|
import { CLS_TOOLBAR, CLS_DROPDOWN_BTN, CLS_RTE_ELEMENTS, CLS_TB_BTN, CLS_INLINE_DROPDOWN, CLS_COLOR_CONTENT, CLS_FONT_COLOR_DROPDOWN, CLS_BACKGROUND_COLOR_DROPDOWN, CLS_COLOR_PALETTE, CLS_FONT_COLOR_PICKER, CLS_BACKGROUND_COLOR_PICKER, CLS_CUSTOM_TILE, CLS_NOCOLOR_ITEM, CLS_BULLETFORMATLIST_TB_BTN, CLS_NUMBERFORMATLIST_TB_BTN, CLS_LIST_PRIMARY_CONTENT } from '../base/classes';
|
|
9
9
|
import { ColorPicker } from '@syncfusion/ej2-inputs';
|
|
10
10
|
import { hasClass } from '../base/util';
|
|
11
|
+
import { ToolbarStatus } from '../../editor-manager/plugin/toolbar-status';
|
|
11
12
|
/**
|
|
12
13
|
* `Toolbar renderer` module is used to render toolbar in RichTextEditor.
|
|
13
14
|
*
|
|
@@ -30,21 +31,22 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
30
31
|
}
|
|
31
32
|
ToolbarRenderer.prototype.wireEvent = function () {
|
|
32
33
|
this.parent.on(events.destroy, this.unWireEvent, this);
|
|
33
|
-
this.parent.on(events.
|
|
34
|
+
this.parent.on(events.destroyTooltip, this.destroyTooltip, this);
|
|
35
|
+
this.parent.on(events.closeTooltip, this.closeTooltip, this);
|
|
34
36
|
};
|
|
35
37
|
ToolbarRenderer.prototype.destroyTooltip = function () {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
var currentDocument = this.parent.iframeSettings.enable ? this.parent.contentModule.getPanel().ownerDocument :
|
|
39
|
+
this.parent.contentModule.getDocument();
|
|
40
|
+
if (!isNullOrUndefined(currentDocument.querySelector('.e-tooltip-wrap')) && !isNullOrUndefined(currentDocument.querySelector('[data-tooltip-id]'))) {
|
|
41
|
+
var tooltipTargetEle = currentDocument.querySelector('[data-tooltip-id]');
|
|
38
42
|
var event_1 = new MouseEvent('mouseleave', { bubbles: true, cancelable: true });
|
|
39
43
|
tooltipTargetEle.dispatchEvent(event_1);
|
|
40
44
|
}
|
|
41
45
|
};
|
|
42
46
|
ToolbarRenderer.prototype.unWireEvent = function () {
|
|
43
47
|
this.parent.off(events.destroy, this.unWireEvent);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
this.removePopupContainer();
|
|
48
|
+
this.parent.off(events.destroyTooltip, this.destroyTooltip);
|
|
49
|
+
this.parent.off(events.closeTooltip, this.closeTooltip);
|
|
48
50
|
};
|
|
49
51
|
ToolbarRenderer.prototype.toolbarBeforeCreate = function (e) {
|
|
50
52
|
if (this.mode === 'Extended') {
|
|
@@ -64,8 +66,8 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
64
66
|
}
|
|
65
67
|
};
|
|
66
68
|
ToolbarRenderer.prototype.dropDownSelected = function (args) {
|
|
67
|
-
this.parent.notify(events.dropDownSelect, args);
|
|
68
|
-
this.
|
|
69
|
+
this.parent.notify(events.dropDownSelect, { element: args.element, item: args.item, originalEvent: args.event });
|
|
70
|
+
this.destroyTooltip();
|
|
69
71
|
};
|
|
70
72
|
ToolbarRenderer.prototype.beforeDropDownItemRender = function (args) {
|
|
71
73
|
if (this.parent.readonly || !this.parent.enabled) {
|
|
@@ -88,41 +90,36 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
88
90
|
break;
|
|
89
91
|
}
|
|
90
92
|
}
|
|
93
|
+
if (args.target.querySelector('.e-active')) {
|
|
94
|
+
args.cancel = true;
|
|
95
|
+
}
|
|
91
96
|
};
|
|
92
97
|
ToolbarRenderer.prototype.dropDownOpen = function (args) {
|
|
93
98
|
if (args.element.parentElement.getAttribute('id').indexOf('TableCell') > -1 && !isNOU(args.element.parentElement.querySelector('.e-cell-merge')) &&
|
|
94
99
|
(!isNOU(args.element.parentElement.querySelector('.e-cell-horizontal-split')) || !isNOU(args.element.parentElement.querySelector('.e-cell-vertical-split')))) {
|
|
95
100
|
var listEle = args.element.querySelectorAll('li');
|
|
96
|
-
|
|
101
|
+
var selectedEles_1 = this.parent.inputElement.querySelectorAll('.e-cell-select');
|
|
102
|
+
if (selectedEles_1.length === 1) {
|
|
97
103
|
addClass([listEle[0]], 'e-disabled');
|
|
98
104
|
removeClass([listEle[1], listEle[2]], 'e-disabled');
|
|
99
105
|
}
|
|
100
|
-
else if (
|
|
101
|
-
|
|
106
|
+
else if (selectedEles_1.length > 1) {
|
|
107
|
+
if (!Array.from(selectedEles_1).every(function (element) {
|
|
108
|
+
return element.tagName.toLowerCase() === selectedEles_1[0].tagName.toLowerCase();
|
|
109
|
+
})) {
|
|
110
|
+
addClass([listEle[0]], 'e-disabled');
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
removeClass([listEle[0]], 'e-disabled');
|
|
114
|
+
}
|
|
102
115
|
addClass([listEle[1], listEle[2]], 'e-disabled');
|
|
103
116
|
}
|
|
104
117
|
}
|
|
105
|
-
if (Browser.isDevice && !args.element.parentElement.classList.contains(classes.CLS_QUICK_DROPDOWN)) {
|
|
106
|
-
this.popupModal(args.element.parentElement);
|
|
107
|
-
}
|
|
108
118
|
this.parent.notify(events.selectionSave, args);
|
|
109
119
|
};
|
|
110
120
|
ToolbarRenderer.prototype.dropDownClose = function (args) {
|
|
111
|
-
this.removePopupContainer();
|
|
112
121
|
this.parent.notify(events.selectionRestore, args);
|
|
113
122
|
};
|
|
114
|
-
ToolbarRenderer.prototype.removePopupContainer = function () {
|
|
115
|
-
if (Browser.isDevice && !isNullOrUndefined(this.popupContainer)) {
|
|
116
|
-
var popupEle = this.popupContainer.querySelector('.e-dropdown-popup.e-tbar-btn.e-control');
|
|
117
|
-
if (popupEle) {
|
|
118
|
-
this.popupContainer.parentNode.insertBefore(popupEle, this.popupContainer.nextSibling);
|
|
119
|
-
popupEle.style.removeProperty('position');
|
|
120
|
-
removeClass([popupEle], 'e-popup-modal');
|
|
121
|
-
}
|
|
122
|
-
detach(this.popupContainer);
|
|
123
|
-
this.popupContainer = undefined;
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
123
|
/**
|
|
127
124
|
* renderToolbar method
|
|
128
125
|
*
|
|
@@ -156,11 +153,11 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
156
153
|
openDelay: 400,
|
|
157
154
|
opensOn: 'Hover',
|
|
158
155
|
beforeRender: this.tooltipBeforeRender.bind(this),
|
|
159
|
-
cssClass: this.parent.
|
|
156
|
+
cssClass: this.parent.getCssClass(),
|
|
160
157
|
windowCollision: true,
|
|
161
158
|
position: 'BottomCenter'
|
|
162
159
|
});
|
|
163
|
-
this.tooltip.appendTo(args.target);
|
|
160
|
+
this.tooltip.appendTo(args.target.parentElement);
|
|
164
161
|
}
|
|
165
162
|
};
|
|
166
163
|
/**
|
|
@@ -216,7 +213,7 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
216
213
|
}
|
|
217
214
|
//Alignments preselect
|
|
218
215
|
var alignEle = proxy.parent.getRange().startContainer;
|
|
219
|
-
while (alignEle !== proxy.parent.
|
|
216
|
+
while (alignEle !== proxy.parent.inputElement && !isNOU(alignEle.parentElement)) {
|
|
220
217
|
if (alignEle.nodeName === '#text') {
|
|
221
218
|
alignEle = alignEle.parentElement;
|
|
222
219
|
}
|
|
@@ -242,7 +239,8 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
242
239
|
alignEle = alignEle.parentElement;
|
|
243
240
|
}
|
|
244
241
|
//image preselect
|
|
245
|
-
var
|
|
242
|
+
var closestNode = startNode.closest('img');
|
|
243
|
+
var imageEle = closestNode ? closestNode : startNode.querySelector('img');
|
|
246
244
|
if (args.items[0].command === 'Images') {
|
|
247
245
|
if (!isNOU(imageEle)) {
|
|
248
246
|
var index = void 0;
|
|
@@ -261,12 +259,23 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
261
259
|
}
|
|
262
260
|
}
|
|
263
261
|
//Formats preselect
|
|
264
|
-
if (args.items[0].command === 'Formats') {
|
|
262
|
+
if (args.items[0].command === 'Formats' || args.items[0].command === 'Font') {
|
|
263
|
+
var fontName_1 = [];
|
|
264
|
+
var formats_1 = [];
|
|
265
|
+
_this.parent.format.types.forEach(function (item) {
|
|
266
|
+
formats_1.push(item.value.toLocaleLowerCase());
|
|
267
|
+
});
|
|
268
|
+
_this.parent.fontFamily.items.forEach(function (item) {
|
|
269
|
+
fontName_1.push(item.value);
|
|
270
|
+
});
|
|
271
|
+
var toolbarStatus = ToolbarStatus.get(_this.parent.contentModule.getDocument(), _this.parent.contentModule.getEditPanel(), formats_1, null, fontName_1);
|
|
265
272
|
for (var index = 0; index < args.element.childNodes.length; index++) {
|
|
266
273
|
var divNode = _this.parent.createElement('div');
|
|
267
274
|
divNode.innerHTML = dropDown.content.trim();
|
|
268
|
-
if (divNode.textContent.trim() !== ''
|
|
269
|
-
&& args.element.childNodes[index].textContent.trim() === divNode.textContent.trim())
|
|
275
|
+
if ((divNode.textContent.trim() !== ''
|
|
276
|
+
&& args.element.childNodes[index].textContent.trim() === divNode.textContent.trim()) ||
|
|
277
|
+
((args.items[0].command === 'Formats' && !isNOU(toolbarStatus.formats) && _this.parent.format.types[index].value.toLowerCase() === toolbarStatus.formats.toLowerCase() && args.element.childNodes[index].classList.contains(_this.parent.format.types[index].cssClass))
|
|
278
|
+
|| (args.items[0].command === 'Font' && !isNOU(toolbarStatus.fontname) && _this.parent.fontFamily.items[index].value.toLowerCase() === toolbarStatus.fontname.toLowerCase() && args.element.childNodes[index].classList.contains(_this.parent.fontFamily.items[index].cssClass)))) {
|
|
270
279
|
if (!args.element.childNodes[index].classList.contains('e-active')) {
|
|
271
280
|
addClass([args.element.childNodes[index]], 'e-active');
|
|
272
281
|
}
|
|
@@ -291,6 +300,32 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
291
300
|
popupElement.setAttribute('aria-owns', this.parent.getID());
|
|
292
301
|
return dropDown;
|
|
293
302
|
};
|
|
303
|
+
ToolbarRenderer.prototype.mouseOutHandler = function () {
|
|
304
|
+
if (!isNOU(this.tooltipTargetEle)) {
|
|
305
|
+
this.tooltipTargetEle.setAttribute('title', this.tooltipTargetEle.getAttribute('data-title'));
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
var currentDocument = this.parent.iframeSettings.enable ? this.parent.contentModule.getPanel().ownerDocument :
|
|
309
|
+
this.parent.contentModule.getDocument();
|
|
310
|
+
this.tooltipTargetEle = currentDocument.querySelector('[data-title]');
|
|
311
|
+
this.tooltipTargetEle.setAttribute('title', this.tooltipTargetEle.getAttribute('data-title'));
|
|
312
|
+
}
|
|
313
|
+
this.tooltipTargetEle.removeAttribute('data-title');
|
|
314
|
+
EventHandler.remove(this.tooltipTargetEle, 'mouseout', this.mouseOutHandler);
|
|
315
|
+
};
|
|
316
|
+
ToolbarRenderer.prototype.closeTooltip = function (args) {
|
|
317
|
+
var currentDocument = this.parent.iframeSettings.enable ? this.parent.contentModule.getPanel().ownerDocument :
|
|
318
|
+
this.parent.contentModule.getDocument();
|
|
319
|
+
this.tooltipTargetEle = closest(args.target, '[data-tooltip-id]');
|
|
320
|
+
if (!isNOU(this.tooltipTargetEle) && this.parent.showTooltip && !isNOU(currentDocument.querySelector('.e-tooltip-wrap'))) {
|
|
321
|
+
this.destroyTooltip();
|
|
322
|
+
if (!this.tooltipTargetEle.closest('.e-rte-quick-popup')) {
|
|
323
|
+
this.tooltipTargetEle.setAttribute('data-title', this.tooltipTargetEle.getAttribute('title'));
|
|
324
|
+
this.tooltipTargetEle.removeAttribute('title');
|
|
325
|
+
EventHandler.add(this.tooltipTargetEle, 'mouseout', this.mouseOutHandler, this);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
};
|
|
294
329
|
/**
|
|
295
330
|
* renderListDropDown method
|
|
296
331
|
*
|
|
@@ -300,6 +335,7 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
300
335
|
* @deprecated
|
|
301
336
|
*/
|
|
302
337
|
ToolbarRenderer.prototype.renderListDropDown = function (args) {
|
|
338
|
+
var _this = this;
|
|
303
339
|
// eslint-disable-next-line
|
|
304
340
|
var proxy = this;
|
|
305
341
|
var css = CLS_RTE_ELEMENTS + ' ' + CLS_TB_BTN + ((this.parent.inlineMode) ? (' ' + CLS_INLINE_DROPDOWN) : '');
|
|
@@ -315,6 +351,37 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
315
351
|
enableRtl: this.parent.enableRtl,
|
|
316
352
|
select: this.dropDownSelected.bind(this),
|
|
317
353
|
beforeOpen: function (args) {
|
|
354
|
+
if (proxy.parent.editorMode !== 'Markdown') {
|
|
355
|
+
var startNode = proxy.parent.getRange().startContainer.parentElement;
|
|
356
|
+
var listElem = startNode.closest('LI');
|
|
357
|
+
var currentLiElem = !isNOU(listElem) ? listElem.parentElement : null;
|
|
358
|
+
if (!isNOU(currentLiElem) && (currentLiElem.nodeName === 'OL' || currentLiElem.nodeName === 'UL')) {
|
|
359
|
+
if (currentLiElem.nodeName === 'UL' && args.items[0].subCommand === 'NumberFormatList') {
|
|
360
|
+
addClass([args.element.childNodes[0]], 'e-active');
|
|
361
|
+
}
|
|
362
|
+
else if (currentLiElem.nodeName === 'OL' && args.items[0].subCommand === 'BulletFormatList') {
|
|
363
|
+
addClass([args.element.childNodes[0]], 'e-active');
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
var currentListStyle = currentLiElem.style.listStyleType.split('-').join('').toLocaleLowerCase();
|
|
367
|
+
currentListStyle = currentListStyle === 'decimal' ? 'number' : currentListStyle;
|
|
368
|
+
for (var index = 0; index < args.element.childNodes.length; index++) {
|
|
369
|
+
if (currentListStyle === args.element.childNodes[index].innerHTML.split(' ').join('').toLocaleLowerCase()) {
|
|
370
|
+
addClass([args.element.childNodes[index]], 'e-active');
|
|
371
|
+
break;
|
|
372
|
+
}
|
|
373
|
+
else if (currentListStyle === '' && args.element.childNodes[index].innerHTML !== 'None') {
|
|
374
|
+
addClass([args.element.childNodes[index]], 'e-active');
|
|
375
|
+
break;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
else {
|
|
381
|
+
addClass([args.element.childNodes[0]], 'e-active');
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
_this.closeTooltip({ target: args.event.target });
|
|
318
385
|
if (proxy.parent.readonly || !proxy.parent.enabled) {
|
|
319
386
|
args.cancel = true;
|
|
320
387
|
return;
|
|
@@ -354,39 +421,6 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
354
421
|
};
|
|
355
422
|
return dropDown;
|
|
356
423
|
};
|
|
357
|
-
// eslint-disable-next-line
|
|
358
|
-
ToolbarRenderer.prototype.onPopupOverlay = function (args) {
|
|
359
|
-
if (!isNullOrUndefined(this.popupOverlay)) {
|
|
360
|
-
closest(this.popupOverlay, '.e-popup-container').style.display = 'none';
|
|
361
|
-
this.popupOverlay.style.display = 'none';
|
|
362
|
-
removeClass([this.popupOverlay], 'e-popup-overlay');
|
|
363
|
-
}
|
|
364
|
-
};
|
|
365
|
-
ToolbarRenderer.prototype.setIsModel = function (element) {
|
|
366
|
-
if (!closest(element, '.e-popup-container')) {
|
|
367
|
-
this.popupContainer = this.parent.createElement('div', {
|
|
368
|
-
className: 'e-rte-modal-popup e-popup-container e-center'
|
|
369
|
-
});
|
|
370
|
-
element.parentNode.insertBefore(this.popupContainer, element);
|
|
371
|
-
this.popupContainer.appendChild(element);
|
|
372
|
-
this.popupContainer.style.zIndex = element.style.zIndex;
|
|
373
|
-
this.popupContainer.style.display = 'flex';
|
|
374
|
-
element.style.position = 'relative';
|
|
375
|
-
addClass([element], 'e-popup-modal');
|
|
376
|
-
this.popupOverlay = this.parent.createElement('div', { className: 'e-popup-overlay' });
|
|
377
|
-
// eslint-disable-next-line
|
|
378
|
-
this.popupOverlay.style.zIndex = (parseInt(element.style.zIndex, null) - 1).toString();
|
|
379
|
-
this.popupOverlay.style.display = 'block';
|
|
380
|
-
this.popupContainer.appendChild(this.popupOverlay);
|
|
381
|
-
EventHandler.add(this.popupOverlay, 'click touchmove', this.onPopupOverlay, this);
|
|
382
|
-
}
|
|
383
|
-
else {
|
|
384
|
-
element.parentElement.style.display = 'flex';
|
|
385
|
-
this.popupOverlay = element.nextElementSibling;
|
|
386
|
-
this.popupOverlay.style.display = 'block';
|
|
387
|
-
addClass([this.popupOverlay], 'e-popup-overlay');
|
|
388
|
-
}
|
|
389
|
-
};
|
|
390
424
|
ToolbarRenderer.prototype.paletteSelection = function (dropDownArgs, currentElement) {
|
|
391
425
|
var ele = dropDownArgs.element.querySelector('.e-control.e-colorpicker');
|
|
392
426
|
var colorbox = [].slice.call(selectAll('.e-tile', ele.parentElement));
|
|
@@ -415,7 +449,7 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
415
449
|
var proxy = this;
|
|
416
450
|
var css = CLS_RTE_ELEMENTS + ' ' + CLS_TB_BTN + ((this.parent.inlineMode) ? (' ' + CLS_INLINE_DROPDOWN) : '');
|
|
417
451
|
css += (' ' + ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_DROPDOWN : CLS_FONT_COLOR_DROPDOWN));
|
|
418
|
-
css +=
|
|
452
|
+
css += this.parent.getCssClass(true);
|
|
419
453
|
var content = proxy.parent.createElement('span', { className: CLS_COLOR_CONTENT });
|
|
420
454
|
var inlineEle = proxy.parent.createElement('span', { className: args.cssClass });
|
|
421
455
|
var range;
|
|
@@ -487,9 +521,6 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
487
521
|
if (focusEle) {
|
|
488
522
|
focusEle.focus();
|
|
489
523
|
}
|
|
490
|
-
if (Browser.isDevice) {
|
|
491
|
-
_this.popupModal(dropDownArgs.element.parentElement);
|
|
492
|
-
}
|
|
493
524
|
_this.pickerRefresh(dropDownArgs);
|
|
494
525
|
},
|
|
495
526
|
beforeClose: function (dropDownArgs) {
|
|
@@ -517,22 +548,6 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
517
548
|
},
|
|
518
549
|
close: function (dropDownArgs) {
|
|
519
550
|
proxy.parent.notify(events.selectionRestore, {});
|
|
520
|
-
var dropElement = closest(dropDownArgs.element.parentElement, '.e-popup-container');
|
|
521
|
-
if (dropElement) {
|
|
522
|
-
dropElement.style.display = 'none';
|
|
523
|
-
dropElement.lastElementChild.style.display = 'none';
|
|
524
|
-
removeClass([dropElement.lastElementChild], 'e-popup-overlay');
|
|
525
|
-
}
|
|
526
|
-
if (Browser.isDevice && !isNullOrUndefined(dropElement)) {
|
|
527
|
-
var popupEle = dropElement.querySelector('.e-dropdown-popup.e-tbar-btn.e-control');
|
|
528
|
-
if (popupEle) {
|
|
529
|
-
dropElement.parentNode.insertBefore(popupEle, dropElement.nextSibling);
|
|
530
|
-
popupEle.style.removeProperty('position');
|
|
531
|
-
removeClass([popupEle], 'e-popup-modal');
|
|
532
|
-
}
|
|
533
|
-
detach(dropElement);
|
|
534
|
-
proxy.popupContainer = undefined;
|
|
535
|
-
}
|
|
536
551
|
}
|
|
537
552
|
});
|
|
538
553
|
dropDown.isStringTemplate = true;
|
|
@@ -560,16 +575,6 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
560
575
|
popupElem.style.width = (popupElem.offsetWidth - 5).toString() + 'px';
|
|
561
576
|
}
|
|
562
577
|
};
|
|
563
|
-
ToolbarRenderer.prototype.popupModal = function (element) {
|
|
564
|
-
var popupInst = getInstance(element, Popup);
|
|
565
|
-
popupInst.relateTo = document.body;
|
|
566
|
-
popupInst.position = { X: 0, Y: 0 };
|
|
567
|
-
popupInst.targetType = 'container';
|
|
568
|
-
popupInst.collision = { X: 'fit', Y: 'fit' };
|
|
569
|
-
popupInst.offsetY = 4;
|
|
570
|
-
popupInst.dataBind();
|
|
571
|
-
this.setIsModel(element);
|
|
572
|
-
};
|
|
573
578
|
ToolbarRenderer.prototype.setColorPickerContentWidth = function (colorPicker) {
|
|
574
579
|
var colorPickerContent = colorPicker.element.nextSibling;
|
|
575
580
|
if (colorPickerContent.style.width === '0px') {
|
|
@@ -608,7 +613,7 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
608
613
|
args.element.classList.add(CLS_COLOR_PALETTE);
|
|
609
614
|
args.element.classList.add(CLS_CUSTOM_TILE);
|
|
610
615
|
if (!isNullOrUndefined(_this.parent.cssClass)) {
|
|
611
|
-
var allClassName = _this.parent.
|
|
616
|
+
var allClassName = _this.parent.getCssClass().split(' ');
|
|
612
617
|
for (var i = 0; i < allClassName.length; i++) {
|
|
613
618
|
if (allClassName[i].trim() !== '') {
|
|
614
619
|
args.element.classList.add(allClassName[i]);
|
|
@@ -23,6 +23,7 @@ export declare class Video {
|
|
|
23
23
|
private isAllowedTypes;
|
|
24
24
|
private pageX;
|
|
25
25
|
private pageY;
|
|
26
|
+
private mouseX;
|
|
26
27
|
private dialogRenderObj;
|
|
27
28
|
private deletedVid;
|
|
28
29
|
private changedWidthValue;
|
|
@@ -51,6 +52,7 @@ export declare class Video {
|
|
|
51
52
|
private vidResizePos;
|
|
52
53
|
private calcPos;
|
|
53
54
|
private setAspectRatio;
|
|
55
|
+
private updateVidEleWidth;
|
|
54
56
|
private pixToPerc;
|
|
55
57
|
private vidDupMouseMove;
|
|
56
58
|
private resizing;
|
|
@@ -59,6 +61,7 @@ export declare class Video {
|
|
|
59
61
|
private resizeBtnInit;
|
|
60
62
|
private onToolbarAction;
|
|
61
63
|
private onKeyDown;
|
|
64
|
+
private handleSelectAll;
|
|
62
65
|
private openDialog;
|
|
63
66
|
private showDialog;
|
|
64
67
|
private closeDialog;
|