@syncfusion/ej2-richtexteditor 22.2.10 → 23.1.36
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/CHANGELOG.md +46 -0
- package/dist/ej2-richtexteditor.min.js +2 -2
- package/dist/ej2-richtexteditor.umd.min.js +2 -2
- package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es2015.js +381 -262
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +381 -258
- package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
- package/dist/global/ej2-richtexteditor.min.js +2 -2
- package/dist/global/ej2-richtexteditor.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +13 -13
- package/src/editor-manager/plugin/dom-node.js +6 -5
- package/src/editor-manager/plugin/ms-word-clean-up.d.ts +2 -0
- package/src/editor-manager/plugin/ms-word-clean-up.js +68 -11
- package/src/editor-manager/plugin/table.js +1 -1
- package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +2 -1
- package/src/rich-text-editor/actions/base-quick-toolbar.js +10 -6
- package/src/rich-text-editor/actions/emoji-picker.js +29 -14
- package/src/rich-text-editor/actions/enter-key.js +6 -2
- package/src/rich-text-editor/actions/format-painter.js +12 -6
- package/src/rich-text-editor/actions/html-editor.js +14 -1
- package/src/rich-text-editor/actions/paste-clean-up.d.ts +2 -0
- package/src/rich-text-editor/actions/paste-clean-up.js +63 -32
- package/src/rich-text-editor/actions/quick-toolbar.js +32 -2
- package/src/rich-text-editor/actions/toolbar.js +1 -1
- package/src/rich-text-editor/actions/xhtml-validation.js +1 -1
- package/src/rich-text-editor/base/classes.d.ts +5 -0
- package/src/rich-text-editor/base/classes.js +5 -0
- package/src/rich-text-editor/base/constant.d.ts +5 -0
- package/src/rich-text-editor/base/constant.js +5 -0
- package/src/rich-text-editor/base/enum.d.ts +4 -0
- package/src/rich-text-editor/base/interface.d.ts +10 -22
- package/src/rich-text-editor/base/rich-text-editor-model.d.ts +1 -39
- package/src/rich-text-editor/base/rich-text-editor.d.ts +1 -39
- package/src/rich-text-editor/base/rich-text-editor.js +2 -8
- package/src/rich-text-editor/base/util.js +5 -1
- package/src/rich-text-editor/models/items.js +34 -22
- package/src/rich-text-editor/models/toolbar-settings-model.d.ts +4 -5
- package/src/rich-text-editor/models/toolbar-settings.d.ts +4 -5
- package/src/rich-text-editor/models/toolbar-settings.js +1 -1
- package/src/rich-text-editor/renderer/audio-module.js +5 -33
- package/src/rich-text-editor/renderer/dialog-renderer.d.ts +2 -0
- package/src/rich-text-editor/renderer/dialog-renderer.js +16 -1
- package/src/rich-text-editor/renderer/image-module.js +9 -65
- package/src/rich-text-editor/renderer/link-module.js +3 -0
- package/src/rich-text-editor/renderer/table-module.js +18 -7
- package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +5 -1
- package/src/rich-text-editor/renderer/toolbar-renderer.js +28 -2
- package/src/rich-text-editor/renderer/video-module.js +6 -33
- package/src/rich-text-editor/renderer/view-source.js +1 -0
- package/styles/material-dark.css +0 -1
- package/styles/material.css +0 -1
- package/styles/material3-dark.css +0 -1
- package/styles/material3-dark.scss +1 -1
- package/styles/material3.css +0 -1
- package/styles/material3.scss +1 -1
- package/styles/rich-text-editor/bootstrap-dark.scss +1 -1
- package/styles/rich-text-editor/bootstrap.scss +1 -1
- package/styles/rich-text-editor/bootstrap4.scss +1 -1
- package/styles/rich-text-editor/bootstrap5-dark.scss +1 -1
- package/styles/rich-text-editor/bootstrap5.scss +1 -1
- package/styles/rich-text-editor/fabric-dark.scss +1 -1
- package/styles/rich-text-editor/fabric.scss +1 -1
- package/styles/rich-text-editor/fluent-dark.scss +1 -1
- package/styles/rich-text-editor/fluent.scss +1 -1
- package/styles/rich-text-editor/highcontrast-light.scss +1 -1
- package/styles/rich-text-editor/highcontrast.scss +1 -1
- package/styles/rich-text-editor/material-dark.css +0 -1
- package/styles/rich-text-editor/material-dark.scss +1 -1
- package/styles/rich-text-editor/material.css +0 -1
- package/styles/rich-text-editor/material.scss +1 -1
- package/styles/rich-text-editor/material3-dark.css +0 -1
- package/styles/rich-text-editor/material3-dark.scss +1 -1
- package/styles/rich-text-editor/material3.css +0 -1
- package/styles/rich-text-editor/material3.scss +1 -1
- package/styles/rich-text-editor/tailwind-dark.css +0 -1
- package/styles/rich-text-editor/tailwind-dark.scss +1 -1
- package/styles/rich-text-editor/tailwind.css +0 -1
- package/styles/rich-text-editor/tailwind.scss +1 -1
- package/styles/tailwind-dark.css +0 -1
- package/styles/tailwind.css +0 -1
|
@@ -739,6 +739,11 @@ const emojiPicker = 'emojiPicker';
|
|
|
739
739
|
* @deprecated
|
|
740
740
|
*/
|
|
741
741
|
const maximizeMinimizeClick = 'maximizeMinimizeClick';
|
|
742
|
+
/**
|
|
743
|
+
* @hidden
|
|
744
|
+
* @deprecated
|
|
745
|
+
*/
|
|
746
|
+
const hidePopup = 'hidePopup';
|
|
742
747
|
/**
|
|
743
748
|
* @hidden
|
|
744
749
|
* @deprecated
|
|
@@ -860,6 +865,11 @@ const CLS_QUICK_DROPDOWN = 'e-quick-dropdown';
|
|
|
860
865
|
* @deprecated
|
|
861
866
|
*/
|
|
862
867
|
const CLS_IMAGE_POP = 'e-rte-image-popup';
|
|
868
|
+
/**
|
|
869
|
+
* @hidden
|
|
870
|
+
* @deprecated
|
|
871
|
+
*/
|
|
872
|
+
const CLS_TEXT_POP = 'e-rte-text-popup';
|
|
863
873
|
/**
|
|
864
874
|
* @hidden
|
|
865
875
|
* @deprecated
|
|
@@ -2177,29 +2187,41 @@ function updateDropDownLocale(self) {
|
|
|
2177
2187
|
});
|
|
2178
2188
|
}
|
|
2179
2189
|
let windowKeys = {
|
|
2180
|
-
'Insert Link': 'Ctrl
|
|
2181
|
-
'Insert Image': 'Ctrl
|
|
2182
|
-
'Create Table': 'Ctrl
|
|
2183
|
-
'Undo': 'Ctrl
|
|
2184
|
-
'Redo': 'Ctrl
|
|
2185
|
-
'Copy': 'Ctrl
|
|
2186
|
-
'Cut': 'Ctrl
|
|
2187
|
-
'Paste': 'Ctrl
|
|
2188
|
-
'Bold': 'Ctrl
|
|
2189
|
-
'Italic': 'Ctrl
|
|
2190
|
-
'Underline': 'Ctrl
|
|
2191
|
-
'Strikethrough': 'Ctrl
|
|
2192
|
-
'Upper Case': 'Ctrl
|
|
2193
|
-
'Lower Case': 'Ctrl
|
|
2194
|
-
'Superscript': 'Ctrl
|
|
2195
|
-
'Subscript': 'Ctrl
|
|
2196
|
-
'
|
|
2197
|
-
'Maximize': 'Ctrl
|
|
2190
|
+
'Insert Link': 'Ctrl+K',
|
|
2191
|
+
'Insert Image': 'Ctrl+Shift+I',
|
|
2192
|
+
'Create Table': 'Ctrl+Shift+E',
|
|
2193
|
+
'Undo': 'Ctrl+Z',
|
|
2194
|
+
'Redo': 'Ctrl+Y',
|
|
2195
|
+
'Copy': 'Ctrl+C',
|
|
2196
|
+
'Cut': 'Ctrl+X',
|
|
2197
|
+
'Paste': 'Ctrl+V',
|
|
2198
|
+
'Bold': 'Ctrl+B',
|
|
2199
|
+
'Italic': 'Ctrl+I',
|
|
2200
|
+
'Underline': 'Ctrl+U',
|
|
2201
|
+
'Strikethrough': 'Ctrl+Shift+S',
|
|
2202
|
+
'Upper Case': 'Ctrl+Shift+U',
|
|
2203
|
+
'Lower Case': 'Ctrl+Shift+L',
|
|
2204
|
+
'Superscript': 'Ctrl+Shift+=',
|
|
2205
|
+
'Subscript': 'Ctrl+=',
|
|
2206
|
+
'Code View': 'Ctrl+Shift+H',
|
|
2207
|
+
'Maximize': 'Ctrl+Shift+F',
|
|
2198
2208
|
'Minimize': 'Esc',
|
|
2199
|
-
'Clear Format': 'Ctrl
|
|
2200
|
-
'Numbered List': 'Ctrl
|
|
2201
|
-
'Bulleted List': 'Ctrl
|
|
2202
|
-
'Format
|
|
2209
|
+
'Clear Format': 'Ctrl+Shift+R',
|
|
2210
|
+
'Numbered List': 'Ctrl+Shift+O',
|
|
2211
|
+
'Bulleted List': 'Ctrl+Alt+O',
|
|
2212
|
+
'Number Format List': 'Ctrl+Shift+O',
|
|
2213
|
+
'Bullet Format List': 'Ctrl+Alt+O',
|
|
2214
|
+
'Insert Audio': 'Ctrl+Shift+A',
|
|
2215
|
+
'Insert Video': 'Ctrl+Shift+V',
|
|
2216
|
+
'Increase Indent': 'Ctrl+]',
|
|
2217
|
+
'Decrease Indent': 'Ctrl+[',
|
|
2218
|
+
'Decrease Fontsize': 'Ctrl+Shift+<',
|
|
2219
|
+
'Increase Fontsize': 'Ctrl+Shift+>',
|
|
2220
|
+
'Justify Center': 'Ctrl+E',
|
|
2221
|
+
'Justify Full': 'Ctrl+J',
|
|
2222
|
+
'Justify Left': 'Ctrl+L',
|
|
2223
|
+
'Justify Right': 'Ctrl+R',
|
|
2224
|
+
'Format Painter': 'Alt+Shift+C, Alt+Shift+V'
|
|
2203
2225
|
};
|
|
2204
2226
|
const defaultEmojiIcons = [{
|
|
2205
2227
|
name: 'Smilies & People', code: '1F600', iconCss: 'e-emoji', icons: [{ code: '1F600', desc: 'Grinning face' },
|
|
@@ -2869,7 +2891,7 @@ function setToolbarStatus(e, isPopToolbar, self) {
|
|
|
2869
2891
|
}
|
|
2870
2892
|
}
|
|
2871
2893
|
else if ((typeof data[`${key}`] === 'string' || data[`${key}`] === null) &&
|
|
2872
|
-
getIndex(key, e.parent.toolbarSettings.items)
|
|
2894
|
+
getIndex(key, e.parent.toolbarSettings.items) >= -1) {
|
|
2873
2895
|
const value = ((data[`${key}`]) ? data[`${key}`] : '');
|
|
2874
2896
|
let result = '';
|
|
2875
2897
|
switch (key) {
|
|
@@ -2934,6 +2956,10 @@ function setToolbarStatus(e, isPopToolbar, self) {
|
|
|
2934
2956
|
dropDown.fontSizeDropDown.dataBind();
|
|
2935
2957
|
break;
|
|
2936
2958
|
}
|
|
2959
|
+
case 'bulletFormatList':
|
|
2960
|
+
case 'numberFormatList': {
|
|
2961
|
+
removeClass([e.tbElements[j]], [CLS_ACTIVE]);
|
|
2962
|
+
}
|
|
2937
2963
|
}
|
|
2938
2964
|
}
|
|
2939
2965
|
}
|
|
@@ -3298,9 +3324,13 @@ class ToolbarRenderer {
|
|
|
3298
3324
|
* Constructor for toolbar renderer module
|
|
3299
3325
|
*
|
|
3300
3326
|
* @param {IRichTextEditor} parent - specifies the parent element.
|
|
3327
|
+
* @param {ServiceLocator} serviceLocator - specifies the serviceLocator
|
|
3301
3328
|
*/
|
|
3302
|
-
constructor(parent) {
|
|
3329
|
+
constructor(parent, serviceLocator) {
|
|
3303
3330
|
this.parent = parent;
|
|
3331
|
+
if (serviceLocator) {
|
|
3332
|
+
this.l10n = serviceLocator.getService('rteLocale');
|
|
3333
|
+
}
|
|
3304
3334
|
this.wireEvent();
|
|
3305
3335
|
}
|
|
3306
3336
|
wireEvent() {
|
|
@@ -3308,7 +3338,11 @@ class ToolbarRenderer {
|
|
|
3308
3338
|
this.parent.on(maximizeMinimizeClick, this.destroyTooltip, this);
|
|
3309
3339
|
}
|
|
3310
3340
|
destroyTooltip() {
|
|
3311
|
-
|
|
3341
|
+
if (!isNullOrUndefined(document.querySelector('.e-tooltip-wrap')) && !isNullOrUndefined(document.querySelector(' [data-tooltip-id]'))) {
|
|
3342
|
+
const tooltipTargetEle = document.querySelector('#' + (this.parent.element).id + ' [data-tooltip-id]');
|
|
3343
|
+
const event = new MouseEvent('mouseleave', { bubbles: true, cancelable: true });
|
|
3344
|
+
tooltipTargetEle.dispatchEvent(event);
|
|
3345
|
+
}
|
|
3312
3346
|
}
|
|
3313
3347
|
unWireEvent() {
|
|
3314
3348
|
this.parent.off(destroy, this.unWireEvent);
|
|
@@ -3344,6 +3378,22 @@ class ToolbarRenderer {
|
|
|
3344
3378
|
}
|
|
3345
3379
|
this.parent.notify(beforeDropDownItemRender, args);
|
|
3346
3380
|
}
|
|
3381
|
+
tooltipBeforeRender(args) {
|
|
3382
|
+
if (!isNullOrUndefined(args.target.getAttribute('title'))) {
|
|
3383
|
+
const tooltipTarget = args.target.getAttribute('title');
|
|
3384
|
+
let tooltipText;
|
|
3385
|
+
switch (tooltipTarget) {
|
|
3386
|
+
case 'Minimize':
|
|
3387
|
+
tooltipText = this.l10n.getConstant('minimize');
|
|
3388
|
+
args.target.setAttribute('title', tooltipText + ' (Esc)');
|
|
3389
|
+
break;
|
|
3390
|
+
case 'Maximize':
|
|
3391
|
+
tooltipText = this.l10n.getConstant('maximize');
|
|
3392
|
+
args.target.setAttribute('title', tooltipText + ' (Ctrl+Shift+F)');
|
|
3393
|
+
break;
|
|
3394
|
+
}
|
|
3395
|
+
}
|
|
3396
|
+
}
|
|
3347
3397
|
dropDownOpen(args) {
|
|
3348
3398
|
if (args.element.parentElement.getAttribute('id').indexOf('TableCell') > -1 && !isNullOrUndefined(args.element.parentElement.querySelector('.e-cell-merge')) &&
|
|
3349
3399
|
(!isNullOrUndefined(args.element.parentElement.querySelector('.e-cell-horizontal-split')) || !isNullOrUndefined(args.element.parentElement.querySelector('.e-cell-vertical-split')))) {
|
|
@@ -3409,6 +3459,8 @@ class ToolbarRenderer {
|
|
|
3409
3459
|
target: '#' + this.parent.getID() + '_toolbar_wrapper [title]',
|
|
3410
3460
|
showTipPointer: true,
|
|
3411
3461
|
openDelay: 400,
|
|
3462
|
+
opensOn: 'Hover',
|
|
3463
|
+
beforeRender: this.tooltipBeforeRender.bind(this),
|
|
3412
3464
|
cssClass: this.parent.cssClass,
|
|
3413
3465
|
windowCollision: true,
|
|
3414
3466
|
position: 'BottomCenter'
|
|
@@ -4754,7 +4806,7 @@ class Toolbar$2 {
|
|
|
4754
4806
|
this.renderFactory = this.locator.getService('rendererFactory');
|
|
4755
4807
|
updateDropDownLocale(this.parent);
|
|
4756
4808
|
updateDropDownFontFormatLocale(this.parent);
|
|
4757
|
-
this.renderFactory.addRenderer(RenderType.Toolbar, new ToolbarRenderer(this.parent));
|
|
4809
|
+
this.renderFactory.addRenderer(RenderType.Toolbar, new ToolbarRenderer(this.parent, this.locator));
|
|
4758
4810
|
this.toolbarRenderer = this.renderFactory.getRenderer(RenderType.Toolbar);
|
|
4759
4811
|
this.baseToolbar = new BaseToolbar(this.parent, this.locator);
|
|
4760
4812
|
this.addEventListener();
|
|
@@ -5926,6 +5978,9 @@ class BaseQuickToolbar {
|
|
|
5926
5978
|
else if (args.popupType === 'Inline') {
|
|
5927
5979
|
className = CLS_INLINE_POP;
|
|
5928
5980
|
}
|
|
5981
|
+
else if (args.popupType === 'Text') {
|
|
5982
|
+
className = CLS_TEXT_POP;
|
|
5983
|
+
}
|
|
5929
5984
|
else {
|
|
5930
5985
|
className = '';
|
|
5931
5986
|
}
|
|
@@ -6005,7 +6060,7 @@ class BaseQuickToolbar {
|
|
|
6005
6060
|
case 'bottom': {
|
|
6006
6061
|
let posY;
|
|
6007
6062
|
if (viewPort === 'document') {
|
|
6008
|
-
if (type === 'inline') {
|
|
6063
|
+
if (type === 'inline' || type === 'text') {
|
|
6009
6064
|
posY = (e.y - e.popHeight - 10);
|
|
6010
6065
|
}
|
|
6011
6066
|
else {
|
|
@@ -6034,7 +6089,7 @@ class BaseQuickToolbar {
|
|
|
6034
6089
|
break;
|
|
6035
6090
|
}
|
|
6036
6091
|
case 'right':
|
|
6037
|
-
if (type === 'inline') {
|
|
6092
|
+
if (type === 'inline' || type === 'text') {
|
|
6038
6093
|
x = window.pageXOffset + (e.windowWidth - (e.popWidth + e.bodyRightSpace + 10));
|
|
6039
6094
|
}
|
|
6040
6095
|
else {
|
|
@@ -6042,7 +6097,7 @@ class BaseQuickToolbar {
|
|
|
6042
6097
|
}
|
|
6043
6098
|
break;
|
|
6044
6099
|
case 'left':
|
|
6045
|
-
if (type === 'inline') {
|
|
6100
|
+
if (type === 'inline' || type === 'text') {
|
|
6046
6101
|
x = 0;
|
|
6047
6102
|
}
|
|
6048
6103
|
else {
|
|
@@ -6061,11 +6116,12 @@ class BaseQuickToolbar {
|
|
|
6061
6116
|
* @param {number} x - specifies the x value
|
|
6062
6117
|
* @param {number} y - specifies the y value
|
|
6063
6118
|
* @param {Element} target - specifies the element
|
|
6119
|
+
* @param {string} type - specifies the type
|
|
6064
6120
|
* @returns {void}
|
|
6065
6121
|
* @hidden
|
|
6066
6122
|
* @deprecated
|
|
6067
6123
|
*/
|
|
6068
|
-
showPopup(x, y, target) {
|
|
6124
|
+
showPopup(x, y, target, type) {
|
|
6069
6125
|
const eventArgs = { popup: this.popupObj, cancel: false, targetElement: target,
|
|
6070
6126
|
positionX: x, positionY: y };
|
|
6071
6127
|
this.parent.trigger(beforeQuickToolbarOpen, eventArgs, (beforeQuickToolbarArgs) => {
|
|
@@ -6095,7 +6151,7 @@ class BaseQuickToolbar {
|
|
|
6095
6151
|
editPanelTop = (cntEle) ? cntEle.scrollTop : 0;
|
|
6096
6152
|
editPanelHeight = (cntEle) ? cntEle.offsetHeight : 0;
|
|
6097
6153
|
}
|
|
6098
|
-
if (!this.parent.inlineMode.enable && !closest(target, 'table')) {
|
|
6154
|
+
if (!this.parent.inlineMode.enable && !closest(target, 'table') && type !== 'text') {
|
|
6099
6155
|
this.parent.disableToolbarItem(this.parent.toolbarSettings.items);
|
|
6100
6156
|
this.parent.enableToolbarItem(['Undo', 'Redo']);
|
|
6101
6157
|
}
|
|
@@ -6148,7 +6204,7 @@ class BaseQuickToolbar {
|
|
|
6148
6204
|
if (!this.parent.inlineMode.enable) {
|
|
6149
6205
|
this.checkCollision(showPopupData, 'parent', '');
|
|
6150
6206
|
}
|
|
6151
|
-
this.checkCollision(showPopupData, 'document', ((this.parent.inlineMode.enable) ? 'inline' : ''));
|
|
6207
|
+
this.checkCollision(showPopupData, 'document', ((this.parent.inlineMode.enable) ? 'inline' : (type === 'text') ? 'text' : ''));
|
|
6152
6208
|
this.popupObj.element.classList.remove('e-popup-open');
|
|
6153
6209
|
removeClass([this.element], [CLS_HIDE]);
|
|
6154
6210
|
this.popupObj.show({ name: 'ZoomIn', duration: (Browser.isIE ? 250 : 400) });
|
|
@@ -6475,8 +6531,10 @@ class QuickToolbar {
|
|
|
6475
6531
|
}
|
|
6476
6532
|
this.linkQTBar = this.createQTBar('Link', 'Scrollable', this.parent.quickToolbarSettings.link, RenderType.LinkToolbar);
|
|
6477
6533
|
this.renderFactory.addRenderer(RenderType.LinkToolbar, this.linkQTBar);
|
|
6478
|
-
|
|
6479
|
-
|
|
6534
|
+
if (!isNullOrUndefined(this.parent.quickToolbarSettings.text) && !this.parent.inlineMode.enable) {
|
|
6535
|
+
this.textQTBar = this.createQTBar('Text', 'MultiRow', this.parent.quickToolbarSettings.text, RenderType.TextToolbar);
|
|
6536
|
+
this.renderFactory.addRenderer(RenderType.TextToolbar, this.textQTBar);
|
|
6537
|
+
}
|
|
6480
6538
|
this.imageQTBar = this.createQTBar('Image', 'MultiRow', this.parent.quickToolbarSettings.image, RenderType.ImageToolbar);
|
|
6481
6539
|
this.renderFactory.addRenderer(RenderType.ImageToolbar, this.imageQTBar);
|
|
6482
6540
|
this.audioQTBar = this.createQTBar('Audio', 'MultiRow', this.parent.quickToolbarSettings.audio, RenderType.AudioToolbar);
|
|
@@ -6617,6 +6675,24 @@ class QuickToolbar {
|
|
|
6617
6675
|
}
|
|
6618
6676
|
}
|
|
6619
6677
|
}
|
|
6678
|
+
if (!isNullOrUndefined(this.textQTBar) && !isNullOrUndefined(this.parent.quickToolbarSettings.text) && !this.parent.inlineMode.enable) {
|
|
6679
|
+
const args = e.args.touches ?
|
|
6680
|
+
e.args.changedTouches[0] : e.args;
|
|
6681
|
+
const target = e.args.target;
|
|
6682
|
+
this.hideQuickToolbars();
|
|
6683
|
+
const parentLeft = this.parent.element.getBoundingClientRect().left;
|
|
6684
|
+
this.offsetX = this.parent.iframeSettings.enable ? this.parent.element.ownerDocument.documentElement.scrollLeft
|
|
6685
|
+
+ parentLeft + args.clientX : args.pageX;
|
|
6686
|
+
this.offsetY = pageYOffset(args, this.parent.element, this.parent.iframeSettings.enable);
|
|
6687
|
+
const range = this.parent.getRange();
|
|
6688
|
+
if ((range.endContainer.parentElement.tagName === range.startContainer.parentElement.tagName && (range.startContainer.parentElement.tagName === 'A' && range.endContainer.parentElement.tagName === 'A')) ||
|
|
6689
|
+
(target.tagName === 'IMG') || (target.tagName === 'VIDEO') || (target.tagName === 'AUDIO') || (target.childNodes[0].nodeType === 1 && target.childNodes[0].classList.contains('e-rte-audio')) ||
|
|
6690
|
+
(this.parent.getRange().startOffset === this.parent.getRange().endOffset)) {
|
|
6691
|
+
return;
|
|
6692
|
+
}
|
|
6693
|
+
this.target = target;
|
|
6694
|
+
this.textQTBar.showPopup(this.offsetX, this.offsetY, target, 'text');
|
|
6695
|
+
}
|
|
6620
6696
|
}
|
|
6621
6697
|
keyDownHandler() {
|
|
6622
6698
|
if ((this.parent.inlineMode.enable && (!Browser.isDevice || isIDevice()))
|
|
@@ -6629,6 +6705,11 @@ class QuickToolbar {
|
|
|
6629
6705
|
&& !isNullOrUndefined(select('.' + CLS_INLINE_POP, document))) {
|
|
6630
6706
|
this.hideInlineQTBar();
|
|
6631
6707
|
}
|
|
6708
|
+
if (!isNullOrUndefined(this.parent.quickToolbarSettings.text)) {
|
|
6709
|
+
if (this.textQTBar && !hasClass(this.textQTBar.element, 'e-popup-close') && document.body.contains(this.textQTBar.element)) {
|
|
6710
|
+
this.textQTBar.hidePopup();
|
|
6711
|
+
}
|
|
6712
|
+
}
|
|
6632
6713
|
}
|
|
6633
6714
|
keyUpHandler(e) {
|
|
6634
6715
|
if (this.parent.inlineMode.enable && !Browser.isDevice) {
|
|
@@ -6786,6 +6867,7 @@ class QuickToolbar {
|
|
|
6786
6867
|
this.parent.on(keyDown, this.onKeyDown, this);
|
|
6787
6868
|
this.parent.on(rtlMode, this.setRtl, this);
|
|
6788
6869
|
this.parent.on(bindCssClass, this.setCssClass, this);
|
|
6870
|
+
this.parent.on(hidePopup, this.hideQuickToolbars, this);
|
|
6789
6871
|
}
|
|
6790
6872
|
onKeyDown(e) {
|
|
6791
6873
|
const args = e.args;
|
|
@@ -6839,6 +6921,9 @@ class QuickToolbar {
|
|
|
6839
6921
|
if (this.linkQTBar) {
|
|
6840
6922
|
this.linkQTBar.quickTBarObj.toolbarObj.setProperties({ enableRtl: args.enableRtl });
|
|
6841
6923
|
}
|
|
6924
|
+
if (this.textQTBar) {
|
|
6925
|
+
this.textQTBar.quickTBarObj.toolbarObj.setProperties({ enableRtl: args.enableRtl });
|
|
6926
|
+
}
|
|
6842
6927
|
}
|
|
6843
6928
|
/**
|
|
6844
6929
|
* removeEventListener
|
|
@@ -6867,6 +6952,7 @@ class QuickToolbar {
|
|
|
6867
6952
|
this.parent.off(keyDown, this.onKeyDown);
|
|
6868
6953
|
this.parent.off(rtlMode, this.setRtl);
|
|
6869
6954
|
this.parent.off(bindCssClass, this.setCssClass);
|
|
6955
|
+
this.parent.off(hidePopup, this.hideQuickToolbars);
|
|
6870
6956
|
}
|
|
6871
6957
|
/**
|
|
6872
6958
|
* Called internally if any of the property value changed.
|
|
@@ -11150,11 +11236,12 @@ class DOMNode {
|
|
|
11150
11236
|
let startTextNode;
|
|
11151
11237
|
let endTextNode;
|
|
11152
11238
|
if (start.textContent === '' && isNullOrUndefined(end) && action !== 'tab') {
|
|
11153
|
-
|
|
11154
|
-
|
|
11155
|
-
|
|
11156
|
-
|
|
11157
|
-
|
|
11239
|
+
// To Do Apply Heading and Back space press in empty content.
|
|
11240
|
+
// if (isNOU(action) && save.range.startContainer.nodeType === 1 &&
|
|
11241
|
+
// (save.range.startContainer as HTMLElement).querySelectorAll('audio,video,image').length === 0) {
|
|
11242
|
+
// start.innerHTML = '<br>';
|
|
11243
|
+
// }
|
|
11244
|
+
if (start.childNodes.length === 1 && start.childNodes[0].nodeName === 'BR') {
|
|
11158
11245
|
start.innerHTML = '<br>';
|
|
11159
11246
|
}
|
|
11160
11247
|
else {
|
|
@@ -14887,7 +14974,7 @@ class TableCommand {
|
|
|
14887
14974
|
calculateStyleValue(value) {
|
|
14888
14975
|
let styleValue;
|
|
14889
14976
|
if (typeof (value) === 'string') {
|
|
14890
|
-
if (value.indexOf('px') || value.indexOf('%') || value.indexOf('auto')) {
|
|
14977
|
+
if (value.indexOf('px') >= 0 || value.indexOf('%') >= 0 || value.indexOf('auto') >= 0) {
|
|
14891
14978
|
styleValue = value;
|
|
14892
14979
|
}
|
|
14893
14980
|
else {
|
|
@@ -17371,6 +17458,7 @@ class MsWordPaste {
|
|
|
17371
17458
|
'μ', 'ν', 'ξ', 'ο', 'π', 'ρ', 'σ', 'τ', 'υ', 'φ', 'χ', 'ψ', 'ω'];
|
|
17372
17459
|
this.removableElements = ['o:p', 'style'];
|
|
17373
17460
|
this.listContents = [];
|
|
17461
|
+
this.cropImageDimensions = [];
|
|
17374
17462
|
this.parent = parent;
|
|
17375
17463
|
this.addEventListener();
|
|
17376
17464
|
}
|
|
@@ -17420,20 +17508,20 @@ class MsWordPaste {
|
|
|
17420
17508
|
}
|
|
17421
17509
|
}
|
|
17422
17510
|
}
|
|
17423
|
-
e.callBack(elm.innerHTML);
|
|
17511
|
+
e.callBack(elm.innerHTML, this.cropImageDimensions);
|
|
17424
17512
|
}
|
|
17425
17513
|
else {
|
|
17426
17514
|
e.callBack(elm.innerHTML);
|
|
17427
17515
|
}
|
|
17428
17516
|
}
|
|
17429
17517
|
cleanList(elm, listTag) {
|
|
17430
|
-
|
|
17518
|
+
const replacableElem = elm.querySelectorAll(listTag + ' div');
|
|
17431
17519
|
for (let j = replacableElem.length - 1; j >= 0; j--) {
|
|
17432
17520
|
const parentElem = replacableElem[j].parentNode;
|
|
17433
17521
|
while (replacableElem[j].firstChild) {
|
|
17434
17522
|
parentElem.insertBefore(replacableElem[j].firstChild, replacableElem[j]);
|
|
17435
17523
|
}
|
|
17436
|
-
|
|
17524
|
+
const closestListElem = this.findClosestListElem(replacableElem[j]);
|
|
17437
17525
|
if (closestListElem) {
|
|
17438
17526
|
this.insertAfter(replacableElem[j], closestListElem);
|
|
17439
17527
|
}
|
|
@@ -17488,7 +17576,8 @@ class MsWordPaste {
|
|
|
17488
17576
|
imgElem[i].getAttribute('v:shapes').indexOf('Grafik') < 0 &&
|
|
17489
17577
|
imgElem[i].getAttribute('v:shapes').toLowerCase().indexOf('image') < 0 &&
|
|
17490
17578
|
imgElem[i].getAttribute('v:shapes').indexOf('Graphic') < 0 &&
|
|
17491
|
-
imgElem[i].getAttribute('v:shapes').indexOf('_x0000_s') < 0
|
|
17579
|
+
imgElem[i].getAttribute('v:shapes').indexOf('_x0000_s') < 0 &&
|
|
17580
|
+
imgElem[i].getAttribute('v:shapes').indexOf('_x0000_i') < 0) {
|
|
17492
17581
|
detach(imgElem[i]);
|
|
17493
17582
|
}
|
|
17494
17583
|
}
|
|
@@ -17505,14 +17594,36 @@ class MsWordPaste {
|
|
|
17505
17594
|
}
|
|
17506
17595
|
const hexValue = this.hexConversion(rtfData);
|
|
17507
17596
|
for (let i = 0; i < hexValue.length; i++) {
|
|
17508
|
-
base64Src.push(
|
|
17597
|
+
base64Src.push({
|
|
17598
|
+
base64Data: !isNullOrUndefined(hexValue[i].hex) ? this.convertToBase64(hexValue[i]) : null,
|
|
17599
|
+
isCroppedImage: hexValue[i].isCroppedImage
|
|
17600
|
+
});
|
|
17601
|
+
if (hexValue[i].isCroppedImage) {
|
|
17602
|
+
this.cropImageDimensions.push({
|
|
17603
|
+
goalWidth: hexValue[i].goalWidth,
|
|
17604
|
+
goalHeight: hexValue[i].goalHeight,
|
|
17605
|
+
cropLength: hexValue[i].cropLength,
|
|
17606
|
+
cropTop: hexValue[i].cropTop,
|
|
17607
|
+
cropR: hexValue[i].cropR,
|
|
17608
|
+
cropB: hexValue[i].cropB
|
|
17609
|
+
});
|
|
17610
|
+
}
|
|
17509
17611
|
}
|
|
17510
17612
|
for (let i = 0; i < imgElem.length; i++) {
|
|
17511
17613
|
if (imgSrc[i].match(linkRegex)) {
|
|
17512
17614
|
imgElem[i].setAttribute('src', imgSrc[i]);
|
|
17513
17615
|
}
|
|
17514
17616
|
else {
|
|
17515
|
-
|
|
17617
|
+
if (!isNullOrUndefined(base64Src[i]) && !isNullOrUndefined(base64Src[i].base64Data)) {
|
|
17618
|
+
imgElem[i].setAttribute('src', base64Src[i].base64Data);
|
|
17619
|
+
}
|
|
17620
|
+
else {
|
|
17621
|
+
imgElem[i].removeAttribute('src');
|
|
17622
|
+
imgElem[i].setAttribute('alt', 'Unsupported file format');
|
|
17623
|
+
}
|
|
17624
|
+
if (!isNullOrUndefined(base64Src[i]) && base64Src[i].isCroppedImage) {
|
|
17625
|
+
imgElem[i].classList.add('e-img-cropped');
|
|
17626
|
+
}
|
|
17516
17627
|
}
|
|
17517
17628
|
imgElem[i].setAttribute('id', 'msWordImg-' + imgName[i]);
|
|
17518
17629
|
}
|
|
@@ -17589,6 +17700,13 @@ class MsWordPaste {
|
|
|
17589
17700
|
const result = [];
|
|
17590
17701
|
if (!isNullOrUndefined(fullImg)) {
|
|
17591
17702
|
for (let i = 0; i < fullImg.length; i++) {
|
|
17703
|
+
let isCroppedImage = false;
|
|
17704
|
+
let goalWidth = 0;
|
|
17705
|
+
let goalHeight = 0;
|
|
17706
|
+
let cropLength = 0;
|
|
17707
|
+
let cropTop = 0;
|
|
17708
|
+
let cropR = 0;
|
|
17709
|
+
let cropB = 0;
|
|
17592
17710
|
if (picHead.test(fullImg[i])) {
|
|
17593
17711
|
if (fullImg[i].indexOf('\\pngblip') !== -1) {
|
|
17594
17712
|
imgType = 'image/png';
|
|
@@ -17596,20 +17714,45 @@ class MsWordPaste {
|
|
|
17596
17714
|
else if (fullImg[i].indexOf('\\jpegblip') !== -1) {
|
|
17597
17715
|
imgType = 'image/jpeg';
|
|
17598
17716
|
}
|
|
17717
|
+
else if (fullImg[i].indexOf('\\picprop') !== -1) {
|
|
17718
|
+
imgType = null;
|
|
17719
|
+
}
|
|
17599
17720
|
else {
|
|
17600
17721
|
continue;
|
|
17601
17722
|
}
|
|
17723
|
+
isCroppedImage = this.extractCropValue('cropl', fullImg[i]) > 0 &&
|
|
17724
|
+
this.extractCropValue('cropt', fullImg[i]) > 0 ? true : false;
|
|
17725
|
+
if (isCroppedImage) {
|
|
17726
|
+
goalWidth = this.extractCropValue('wgoal', fullImg[i]);
|
|
17727
|
+
goalHeight = this.extractCropValue('hgoal', fullImg[i]);
|
|
17728
|
+
cropLength = this.extractCropValue('cropl', fullImg[i]);
|
|
17729
|
+
cropTop = this.extractCropValue('cropt', fullImg[i]);
|
|
17730
|
+
cropR = this.extractCropValue('cropr', fullImg[i]);
|
|
17731
|
+
cropB = this.extractCropValue('cropb', fullImg[i]);
|
|
17732
|
+
}
|
|
17602
17733
|
result.push({
|
|
17603
17734
|
hex: imgType ? fullImg[i].replace(picHead, '').replace(/[^\da-fA-F]/g, '') : null,
|
|
17604
|
-
type: imgType
|
|
17735
|
+
type: imgType,
|
|
17736
|
+
isCroppedImage: isCroppedImage,
|
|
17737
|
+
goalWidth: goalWidth,
|
|
17738
|
+
goalHeight: goalHeight,
|
|
17739
|
+
cropLength: cropLength,
|
|
17740
|
+
cropTop: cropTop,
|
|
17741
|
+
cropR: cropR,
|
|
17742
|
+
cropB: cropB
|
|
17605
17743
|
});
|
|
17606
17744
|
}
|
|
17607
17745
|
}
|
|
17608
17746
|
}
|
|
17609
17747
|
return result;
|
|
17610
17748
|
}
|
|
17749
|
+
extractCropValue(crop, rtfData) {
|
|
17750
|
+
// eslint-disable-next-line security/detect-non-literal-regexp
|
|
17751
|
+
const result = new RegExp('\\\\pic' + crop + '(\\-?\\d+)\\\\').exec(rtfData.replace('\r\n\\', '\\'))[1];
|
|
17752
|
+
return parseInt(result, 10);
|
|
17753
|
+
}
|
|
17611
17754
|
removeClassName(elm) {
|
|
17612
|
-
const elmWithClass = elm.querySelectorAll('*[class]');
|
|
17755
|
+
const elmWithClass = elm.querySelectorAll('*[class]:not(.e-img-cropped)');
|
|
17613
17756
|
for (let i = 0; i < elmWithClass.length; i++) {
|
|
17614
17757
|
elmWithClass[i].removeAttribute('class');
|
|
17615
17758
|
}
|
|
@@ -17946,8 +18089,10 @@ class MsWordPaste {
|
|
|
17946
18089
|
currentListStyle = listNodes[i].getAttribute('style');
|
|
17947
18090
|
}
|
|
17948
18091
|
}
|
|
17949
|
-
collection.push({
|
|
17950
|
-
|
|
18092
|
+
collection.push({
|
|
18093
|
+
listType: type, content: tempNode, nestedLevel: level, class: currentClassName,
|
|
18094
|
+
listStyle: currentListStyle, listStyleTypeName: listStyleType, start: startAttr, styleMarginLeft: styleMarginLeft
|
|
18095
|
+
});
|
|
17951
18096
|
}
|
|
17952
18097
|
}
|
|
17953
18098
|
stNode = listNodes.shift();
|
|
@@ -18075,8 +18220,7 @@ class MsWordPaste {
|
|
|
18075
18220
|
}
|
|
18076
18221
|
else {
|
|
18077
18222
|
if (collection[index].nestedLevel > pLevel && isNormalList) {
|
|
18078
|
-
|
|
18079
|
-
initialNode = createElement(collection[index].listType);
|
|
18223
|
+
const initialNode = createElement(collection[index].listType);
|
|
18080
18224
|
prevList = createElement('li');
|
|
18081
18225
|
initialNode.appendChild(prevList);
|
|
18082
18226
|
initialNode.style.listStyleType = 'none';
|
|
@@ -18163,11 +18307,11 @@ class MsWordPaste {
|
|
|
18163
18307
|
else {
|
|
18164
18308
|
//Add to support separate list which looks like same list and also to add all tags as it is inside list
|
|
18165
18309
|
if (firstChild.childNodes.length > 0) {
|
|
18166
|
-
|
|
18310
|
+
const listIgnoreTag = firstChild.querySelectorAll('[style*="mso-list"]');
|
|
18167
18311
|
for (let i = 0; i < listIgnoreTag.length; i++) {
|
|
18168
|
-
listIgnoreTag[i].setAttribute('style', listIgnoreTag[i].getAttribute('style').replace(/\n/g,
|
|
18312
|
+
listIgnoreTag[i].setAttribute('style', listIgnoreTag[i].getAttribute('style').replace(/\n/g, ''));
|
|
18169
18313
|
}
|
|
18170
|
-
|
|
18314
|
+
const listOrder = firstChild.querySelector('span[style="mso-list:Ignore"]');
|
|
18171
18315
|
if (!isNullOrUndefined(listOrder)) {
|
|
18172
18316
|
this.listContents.push(listOrder.textContent.trim());
|
|
18173
18317
|
detach(listOrder);
|
|
@@ -19829,7 +19973,7 @@ class XhtmlValidation {
|
|
|
19829
19973
|
*/
|
|
19830
19974
|
selfEncloseValidation(currentValue, valueLength) {
|
|
19831
19975
|
if (valueLength === 0 && currentValue.indexOf('table') < 0 && currentValue.indexOf('img') < 0 &&
|
|
19832
|
-
currentValue
|
|
19976
|
+
currentValue.includes(' ')) {
|
|
19833
19977
|
const arrayValue = currentValue.split(' ');
|
|
19834
19978
|
arrayValue[arrayValue.length - 1] = '​' + arrayValue[arrayValue.length - 1];
|
|
19835
19979
|
currentValue = arrayValue.join('');
|
|
@@ -20070,11 +20214,24 @@ class HtmlEditor {
|
|
|
20070
20214
|
const currentLength = this.parent.inputElement.innerHTML.replace(regEx, '').length;
|
|
20071
20215
|
let focusNode = range.startContainer;
|
|
20072
20216
|
if (previousLength > currentLength && !isRootParent) {
|
|
20217
|
+
if (focusNode.textContent.trim().length !== 0 && focusNode.previousSibling) {
|
|
20218
|
+
const tempSpan = document.createElement('span');
|
|
20219
|
+
tempSpan.className = 'tempSpan';
|
|
20220
|
+
range.insertNode(tempSpan);
|
|
20221
|
+
}
|
|
20073
20222
|
let currentChild = this.parent.inputElement.firstChild;
|
|
20074
20223
|
while (!isNullOrUndefined(currentChild) && currentChild.textContent.replace(regEx, '').trim().length > 0) {
|
|
20075
20224
|
currentChild.innerHTML = currentChild.innerHTML.replace(regEx, '');
|
|
20076
20225
|
currentChild = currentChild.nextElementSibling;
|
|
20077
20226
|
}
|
|
20227
|
+
let tempSpanToRemove = this.parent.inputElement.querySelector('.tempSpan');
|
|
20228
|
+
if (tempSpanToRemove && tempSpanToRemove.previousSibling && focusNode.textContent.trim().length !== 0) {
|
|
20229
|
+
focusNode = tempSpanToRemove.previousSibling;
|
|
20230
|
+
pointer = tempSpanToRemove.previousSibling.textContent.length;
|
|
20231
|
+
const parentElement = tempSpanToRemove.parentNode;
|
|
20232
|
+
parentElement.removeChild(tempSpanToRemove);
|
|
20233
|
+
tempSpanToRemove = null;
|
|
20234
|
+
}
|
|
20078
20235
|
const currentChildNode = this.parent.inputElement.querySelector('.currentStartMark').childNodes;
|
|
20079
20236
|
if (currentChildNode.length > 1) {
|
|
20080
20237
|
for (let i = 0; i < currentChildNode.length; i++) {
|
|
@@ -20527,7 +20684,7 @@ class HtmlEditor {
|
|
|
20527
20684
|
const item = args.item;
|
|
20528
20685
|
const closestElement = closest(args.originalEvent.target, '.e-rte-quick-popup');
|
|
20529
20686
|
if (item.command !== 'FormatPainter') {
|
|
20530
|
-
if (closestElement && !closestElement.classList.contains('e-rte-inline-popup')) {
|
|
20687
|
+
if (closestElement && !closestElement.classList.contains('e-rte-inline-popup') && !closestElement.classList.contains('e-rte-text-popup')) {
|
|
20531
20688
|
if (!(item.subCommand === 'SourceCode' || item.subCommand === 'Preview' ||
|
|
20532
20689
|
item.subCommand === 'FontColor' || item.subCommand === 'BackgroundColor')) {
|
|
20533
20690
|
if (isIDevice$1() && item.command === 'Images') {
|
|
@@ -20798,6 +20955,7 @@ class PasteCleanup {
|
|
|
20798
20955
|
'header', 'article', 'nav', 'footer', 'section', 'aside', 'main', 'figure', 'figcaption'];
|
|
20799
20956
|
this.isNotFromHtml = false;
|
|
20800
20957
|
this.containsHtml = false;
|
|
20958
|
+
this.cropImageData = [];
|
|
20801
20959
|
this.parent = parent;
|
|
20802
20960
|
this.locator = serviceLocator;
|
|
20803
20961
|
this.renderFactory = this.locator.getService('rendererFactory');
|
|
@@ -20877,8 +21035,9 @@ class PasteCleanup {
|
|
|
20877
21035
|
args: e.args,
|
|
20878
21036
|
text: e.text,
|
|
20879
21037
|
allowedStylePropertiesArray: this.parent.pasteCleanupSettings.allowedStyleProps,
|
|
20880
|
-
callBack: (a) => {
|
|
21038
|
+
callBack: (a, cropImageData) => {
|
|
20881
21039
|
value = a.trim();
|
|
21040
|
+
this.cropImageData = cropImageData;
|
|
20882
21041
|
}
|
|
20883
21042
|
});
|
|
20884
21043
|
}
|
|
@@ -20926,7 +21085,9 @@ class PasteCleanup {
|
|
|
20926
21085
|
currentFocusNode = currentFocusNode.childNodes[this.nodeSelectionObj.getRange(this.contentRenderer.getDocument()).startOffset];
|
|
20927
21086
|
}
|
|
20928
21087
|
if (currentFocusNode.previousSibling.nodeName === 'IMG') {
|
|
20929
|
-
currentFocusNode.previousSibling.
|
|
21088
|
+
if (!isNullOrUndefined(currentFocusNode.previousSibling.getAttribute('src'))) {
|
|
21089
|
+
currentFocusNode.previousSibling.classList.add('pasteContent_Img');
|
|
21090
|
+
}
|
|
20930
21091
|
currentFocusNode.previousSibling.classList.add(CLS_RTE_IMAGE);
|
|
20931
21092
|
if (this.parent.insertImageSettings.display === 'inline') {
|
|
20932
21093
|
currentFocusNode.previousSibling.classList.add(CLS_IMGINLINE);
|
|
@@ -20958,6 +21119,7 @@ class PasteCleanup {
|
|
|
20958
21119
|
makeSpace(enterSplitText) {
|
|
20959
21120
|
let contentWithSpace = '';
|
|
20960
21121
|
let spaceBetweenContent = true;
|
|
21122
|
+
enterSplitText = enterSplitText.replace(/\t/g, ' ');
|
|
20961
21123
|
const spaceSplit = enterSplitText.split(' ');
|
|
20962
21124
|
for (let j = 0; j < spaceSplit.length; j++) {
|
|
20963
21125
|
if (spaceSplit[j].trim() === '') {
|
|
@@ -20977,7 +21139,8 @@ class PasteCleanup {
|
|
|
20977
21139
|
const imgName = [];
|
|
20978
21140
|
const uploadImg = [];
|
|
20979
21141
|
for (let i = 0; i < allImgElm.length; i++) {
|
|
20980
|
-
if (allImgElm[i].getAttribute('src')
|
|
21142
|
+
if (!isNullOrUndefined(allImgElm[i].getAttribute('src')) &&
|
|
21143
|
+
allImgElm[i].getAttribute('src').split(',')[0].indexOf('base64') >= 0) {
|
|
20981
21144
|
base64Src.push(allImgElm[i].getAttribute('src'));
|
|
20982
21145
|
imgName.push(getUniqueID('rte_image'));
|
|
20983
21146
|
uploadImg.push(allImgElm[i]);
|
|
@@ -21057,8 +21220,6 @@ class PasteCleanup {
|
|
|
21057
21220
|
setTimeout(() => {
|
|
21058
21221
|
this.refreshPopup(imgElem, this.popupObj);
|
|
21059
21222
|
}, timeOut);
|
|
21060
|
-
let rawFile;
|
|
21061
|
-
let beforeUploadArgs;
|
|
21062
21223
|
this.uploadObj = new Uploader({
|
|
21063
21224
|
asyncSettings: {
|
|
21064
21225
|
saveUrl: this.parent.insertImageSettings.saveUrl,
|
|
@@ -21090,28 +21251,8 @@ class PasteCleanup {
|
|
|
21090
21251
|
}
|
|
21091
21252
|
},
|
|
21092
21253
|
beforeUpload: (args) => {
|
|
21093
|
-
|
|
21094
|
-
|
|
21095
|
-
beforeUploadArgs.filesData = rawFile;
|
|
21096
|
-
args.cancel = true;
|
|
21097
|
-
this.parent.trigger(imageUploading, beforeUploadArgs, (beforeUploadArgs) => {
|
|
21098
|
-
if (beforeUploadArgs.cancel) {
|
|
21099
|
-
return;
|
|
21100
|
-
}
|
|
21101
|
-
this.toolbarEnableDisable(true);
|
|
21102
|
-
/* eslint-disable */
|
|
21103
|
-
this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
|
|
21104
|
-
beforeUploadArgs.currentRequest : this.uploadObj.currentRequestHeader;
|
|
21105
|
-
this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
|
|
21106
|
-
beforeUploadArgs.customFormData : this.uploadObj.customFormDatas;
|
|
21107
|
-
this.uploadObj.uploadFiles(rawFile, null);
|
|
21108
|
-
/* eslint-enable */
|
|
21109
|
-
});
|
|
21110
|
-
}
|
|
21111
|
-
else {
|
|
21112
|
-
this.parent.trigger(beforeImageUpload, args);
|
|
21113
|
-
this.toolbarEnableDisable(true);
|
|
21114
|
-
}
|
|
21254
|
+
this.parent.trigger(beforeImageUpload, args);
|
|
21255
|
+
this.toolbarEnableDisable(true);
|
|
21115
21256
|
},
|
|
21116
21257
|
// eslint-disable-next-line
|
|
21117
21258
|
failure: (e) => {
|
|
@@ -21129,9 +21270,6 @@ class PasteCleanup {
|
|
|
21129
21270
|
},
|
|
21130
21271
|
selected: (e) => {
|
|
21131
21272
|
e.cancel = true;
|
|
21132
|
-
if (this.parent.isServerRendered) {
|
|
21133
|
-
rawFile = e.filesData;
|
|
21134
|
-
}
|
|
21135
21273
|
},
|
|
21136
21274
|
removing: () => {
|
|
21137
21275
|
this.parent.inputElement.contentEditable = 'true';
|
|
@@ -21153,8 +21291,6 @@ class PasteCleanup {
|
|
|
21153
21291
|
statusCode: '1'
|
|
21154
21292
|
}];
|
|
21155
21293
|
this.uploadObj.createFileList(fileData);
|
|
21156
|
-
/* eslint-enable */
|
|
21157
|
-
rawFile = fileData;
|
|
21158
21294
|
this.uploadObj.upload(fileData);
|
|
21159
21295
|
this.popupObj.element.getElementsByClassName('e-file-select-wrap')[0].style.display = 'none';
|
|
21160
21296
|
detach(this.popupObj.element.querySelector('.e-rte-dialog-upload .e-file-select-wrap'));
|
|
@@ -21228,7 +21364,9 @@ class PasteCleanup {
|
|
|
21228
21364
|
* @deprecated
|
|
21229
21365
|
*/
|
|
21230
21366
|
imageFormatting(pasteArgs, imgElement) {
|
|
21231
|
-
imgElement.elements[0].
|
|
21367
|
+
if (!isNullOrUndefined(imgElement.elements[0].getAttribute('src'))) {
|
|
21368
|
+
imgElement.elements[0].classList.add('pasteContent_Img');
|
|
21369
|
+
}
|
|
21232
21370
|
const imageElement = this.parent.createElement('span');
|
|
21233
21371
|
imageElement.appendChild(imgElement.elements[0]);
|
|
21234
21372
|
const imageValue = imageElement.innerHTML;
|
|
@@ -21419,7 +21557,9 @@ class PasteCleanup {
|
|
|
21419
21557
|
clipBoardElem.innerHTML = this.sanitizeHelper(clipBoardElem.innerHTML);
|
|
21420
21558
|
const allImg = clipBoardElem.querySelectorAll('img');
|
|
21421
21559
|
for (let i = 0; i < allImg.length; i++) {
|
|
21422
|
-
allImg[i].
|
|
21560
|
+
if (!isNullOrUndefined(allImg[i].getAttribute('src'))) {
|
|
21561
|
+
allImg[i].classList.add('pasteContent_Img');
|
|
21562
|
+
}
|
|
21423
21563
|
this.setImageProperties(allImg[i]);
|
|
21424
21564
|
}
|
|
21425
21565
|
this.addTempClass(clipBoardElem);
|
|
@@ -21462,6 +21602,47 @@ class PasteCleanup {
|
|
|
21462
21602
|
}, clipBoardElem, null, null, this.parent.enterKey);
|
|
21463
21603
|
this.removeTempClass();
|
|
21464
21604
|
this.parent.notify(toolbarRefresh, {});
|
|
21605
|
+
this.cropImageHandler(this.parent.inputElement);
|
|
21606
|
+
}
|
|
21607
|
+
}
|
|
21608
|
+
cropImageHandler(element) {
|
|
21609
|
+
const allImgElm = element.querySelectorAll('.e-img-cropped');
|
|
21610
|
+
if (allImgElm.length > 0) {
|
|
21611
|
+
for (let i = 0; i < allImgElm.length; i++) {
|
|
21612
|
+
if (allImgElm[i].getAttribute('src').split(',')[0].indexOf('base64') >= 0) {
|
|
21613
|
+
const image = new Image();
|
|
21614
|
+
image.src = allImgElm[i].getAttribute('src');
|
|
21615
|
+
const canvas = document.createElement('canvas');
|
|
21616
|
+
const ctx = canvas.getContext('2d');
|
|
21617
|
+
image.onload = () => {
|
|
21618
|
+
const wGoalWidth = this.cropImageData[i].goalWidth / image.naturalWidth;
|
|
21619
|
+
const hGoalHeight = this.cropImageData[i].goalHeight / image.naturalHeight;
|
|
21620
|
+
const cropLength = this.cropImageData[i].cropLength / wGoalWidth;
|
|
21621
|
+
const cropTop = this.cropImageData[i].cropTop / hGoalHeight;
|
|
21622
|
+
const cropWidth = (this.cropImageData[i].goalWidth -
|
|
21623
|
+
this.cropImageData[i].cropLength -
|
|
21624
|
+
this.cropImageData[i].cropR) / wGoalWidth;
|
|
21625
|
+
const cropHeight = (this.cropImageData[i].goalHeight -
|
|
21626
|
+
this.cropImageData[i].cropTop -
|
|
21627
|
+
this.cropImageData[i].cropB) / hGoalHeight;
|
|
21628
|
+
canvas.width = cropWidth;
|
|
21629
|
+
canvas.height = cropHeight;
|
|
21630
|
+
// Draw the cropped portion of the image onto the canvas
|
|
21631
|
+
ctx.drawImage(image, cropLength, cropTop, cropWidth, cropHeight, 0, 0, cropWidth, cropHeight);
|
|
21632
|
+
// Convert the cropped canvas to a base64 encoded image
|
|
21633
|
+
const croppedBase64 = canvas.toDataURL('image/png');
|
|
21634
|
+
// Call the provided callback with the cropped base64 data
|
|
21635
|
+
allImgElm[i].setAttribute('src', croppedBase64);
|
|
21636
|
+
allImgElm[i].classList.remove('e-img-cropped');
|
|
21637
|
+
this.imgUploading(this.parent.inputElement);
|
|
21638
|
+
if (this.parent.iframeSettings.enable) {
|
|
21639
|
+
this.parent.updateValue();
|
|
21640
|
+
}
|
|
21641
|
+
};
|
|
21642
|
+
}
|
|
21643
|
+
}
|
|
21644
|
+
}
|
|
21645
|
+
else {
|
|
21465
21646
|
this.imgUploading(this.parent.inputElement);
|
|
21466
21647
|
if (this.parent.iframeSettings.enable) {
|
|
21467
21648
|
this.parent.updateValue();
|
|
@@ -22403,6 +22584,10 @@ class FormatPainter {
|
|
|
22403
22584
|
clickargs.args.action = 'escape';
|
|
22404
22585
|
this.actionHandler(clickargs, 'keyBoard');
|
|
22405
22586
|
}
|
|
22587
|
+
if (this.parent.quickToolbarModule && !isNullOrUndefined(this.parent.quickToolbarSettings.text) &&
|
|
22588
|
+
this.parent.element.ownerDocument.contains(this.parent.quickToolbarModule.textQTBar.element)) {
|
|
22589
|
+
this.parent.quickToolbarModule.textQTBar.hidePopup();
|
|
22590
|
+
}
|
|
22406
22591
|
}
|
|
22407
22592
|
toolbarDoubleClick(args) {
|
|
22408
22593
|
this.isActive = true;
|
|
@@ -22481,12 +22666,14 @@ class FormatPainter {
|
|
|
22481
22666
|
}
|
|
22482
22667
|
}
|
|
22483
22668
|
updateToolbarBtn(enable) {
|
|
22484
|
-
|
|
22485
|
-
|
|
22486
|
-
|
|
22487
|
-
|
|
22488
|
-
|
|
22489
|
-
|
|
22669
|
+
if (!isNullOrUndefined(this.parent.element.querySelector('.e-rte-format-painter'))) {
|
|
22670
|
+
const toolbarBtn = this.parent.element.querySelector('.e-rte-format-painter').parentElement.parentElement;
|
|
22671
|
+
if (enable) {
|
|
22672
|
+
addClass([toolbarBtn], 'e-active');
|
|
22673
|
+
}
|
|
22674
|
+
else if (!this.isSticky) {
|
|
22675
|
+
removeClass([toolbarBtn], 'e-active');
|
|
22676
|
+
}
|
|
22490
22677
|
}
|
|
22491
22678
|
}
|
|
22492
22679
|
editAreaClick(args) {
|
|
@@ -22556,7 +22743,13 @@ class EmojiPicker {
|
|
|
22556
22743
|
}
|
|
22557
22744
|
// eslint-disable-next-line
|
|
22558
22745
|
toolbarClick(args) {
|
|
22559
|
-
|
|
22746
|
+
let spanElement;
|
|
22747
|
+
if (!isNullOrUndefined(this.parent.element.querySelector('.e-emoji'))) {
|
|
22748
|
+
spanElement = this.parent.element.querySelector('.e-emoji');
|
|
22749
|
+
}
|
|
22750
|
+
else if (this.parent.inlineMode.enable) {
|
|
22751
|
+
spanElement = this.parent.element.ownerDocument.querySelector('.e-emoji');
|
|
22752
|
+
}
|
|
22560
22753
|
this.divElement = spanElement.closest('div');
|
|
22561
22754
|
const range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
|
|
22562
22755
|
this.save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
@@ -22571,7 +22764,12 @@ class EmojiPicker {
|
|
|
22571
22764
|
this.popupObj.hide();
|
|
22572
22765
|
}
|
|
22573
22766
|
this.popDiv = this.parent.createElement('div', { className: 'e-rte-emojipicker-popup', id: this.parent.getID() + '_emojiPicker' });
|
|
22574
|
-
this.parent.getToolbar()
|
|
22767
|
+
if (!isNullOrUndefined(this.parent.getToolbar()) && !this.parent.inlineMode.enable) {
|
|
22768
|
+
this.parent.getToolbar().appendChild(this.popDiv);
|
|
22769
|
+
}
|
|
22770
|
+
else if (this.parent.inlineMode.enable) {
|
|
22771
|
+
this.parent.inputElement.appendChild(this.popDiv);
|
|
22772
|
+
}
|
|
22575
22773
|
EventHandler.add(this.popDiv, 'keydown', this.onKeyDown, this);
|
|
22576
22774
|
EventHandler.add(this.popDiv, 'keyup', this.searchFilter, this);
|
|
22577
22775
|
const extendEle = this.parent.element.querySelector('.e-toolbar-extended');
|
|
@@ -22586,13 +22784,14 @@ class EmojiPicker {
|
|
|
22586
22784
|
let target;
|
|
22587
22785
|
let xValue;
|
|
22588
22786
|
let yValue;
|
|
22589
|
-
if (!isNullOrUndefined(args.args)
|
|
22787
|
+
if (!isNullOrUndefined(args.args) && !this.parent.inlineMode.enable &&
|
|
22788
|
+
isNullOrUndefined(this.parent.quickToolbarSettings.text)) {
|
|
22590
22789
|
target = args.args.originalEvent.target;
|
|
22591
22790
|
target = target.classList.contains('e-toolbar-item') ? target.firstChild : target.parentElement;
|
|
22592
22791
|
xValue = 'left';
|
|
22593
22792
|
yValue = 'bottom';
|
|
22594
22793
|
}
|
|
22595
|
-
else if (isNullOrUndefined(args.x) && isNullOrUndefined(args.y)) {
|
|
22794
|
+
else if (isNullOrUndefined(args.x) && isNullOrUndefined(args.y) && !this.parent.inlineMode.enable && isNullOrUndefined(this.parent.quickToolbarSettings.text)) {
|
|
22596
22795
|
target = this.parent.inputElement;
|
|
22597
22796
|
if (window.getSelection().rangeCount > 0) {
|
|
22598
22797
|
const coordinates = this.getCoordinates();
|
|
@@ -22600,6 +22799,14 @@ class EmojiPicker {
|
|
|
22600
22799
|
yValue = coordinates.top;
|
|
22601
22800
|
}
|
|
22602
22801
|
}
|
|
22802
|
+
else if (isNullOrUndefined(args.x) && isNullOrUndefined(args.y) && (this.parent.inlineMode.enable || !isNullOrUndefined(this.parent.quickToolbarSettings.text))) {
|
|
22803
|
+
this.parent.notify(hidePopup, {});
|
|
22804
|
+
if (window.getSelection().rangeCount > 0) {
|
|
22805
|
+
const coordinates = this.getCoordinates();
|
|
22806
|
+
xValue = coordinates.left;
|
|
22807
|
+
yValue = coordinates.top;
|
|
22808
|
+
}
|
|
22809
|
+
}
|
|
22603
22810
|
else {
|
|
22604
22811
|
target = this.parent.inputElement;
|
|
22605
22812
|
xValue = args.x;
|
|
@@ -22626,7 +22833,8 @@ class EmojiPicker {
|
|
|
22626
22833
|
addClass([this.popupObj.element], 'e-popup-open');
|
|
22627
22834
|
this.popupObj.refreshPosition(target);
|
|
22628
22835
|
// header search element
|
|
22629
|
-
if ((!isNullOrUndefined(args.args) || (isNullOrUndefined(args.x) && isNullOrUndefined(args.y))) &&
|
|
22836
|
+
if ((!isNullOrUndefined(args.args) || (isNullOrUndefined(args.x) && isNullOrUndefined(args.y))) &&
|
|
22837
|
+
this.parent.emojiPickerSettings.showSearchBox) {
|
|
22630
22838
|
const inputEle = createElement('input', { id: 'e-rte-emoji-search', className: 'e-rte-emoji-search' });
|
|
22631
22839
|
this.popDiv.append(inputEle);
|
|
22632
22840
|
const inputobj = new TextBox({
|
|
@@ -22662,7 +22870,8 @@ class EmojiPicker {
|
|
|
22662
22870
|
this.popDiv.appendChild(emojiBtnDiv);
|
|
22663
22871
|
let height;
|
|
22664
22872
|
const popupBorder = window.getComputedStyle(this.popDiv);
|
|
22665
|
-
if ((isNullOrUndefined(args.args) && !(isNullOrUndefined(args.x) && isNullOrUndefined(args.y))) ||
|
|
22873
|
+
if ((isNullOrUndefined(args.args) && !(isNullOrUndefined(args.x) && isNullOrUndefined(args.y))) ||
|
|
22874
|
+
!this.parent.emojiPickerSettings.showSearchBox) {
|
|
22666
22875
|
height = (this.popDiv.getBoundingClientRect().height - emojiToolBar.getBoundingClientRect().height - (2 * parseFloat(popupBorder.borderWidth))) + 'px';
|
|
22667
22876
|
emojiBtnDiv.style.setProperty('height', height, 'important');
|
|
22668
22877
|
}
|
|
@@ -22708,13 +22917,6 @@ class EmojiPicker {
|
|
|
22708
22917
|
if (!isNullOrUndefined(popup)) {
|
|
22709
22918
|
scrollTop = Math.round(popup.scrollTop);
|
|
22710
22919
|
}
|
|
22711
|
-
for (let i = 0; i < toolbarName.length; i++) {
|
|
22712
|
-
/* eslint-disable */
|
|
22713
|
-
if (toolbarName[i].classList.contains('e-selected')) {
|
|
22714
|
-
removeClass([toolbarName[i]], 'e-selected');
|
|
22715
|
-
}
|
|
22716
|
-
/* eslint-enable */
|
|
22717
|
-
}
|
|
22718
22920
|
if (scrollTop < toolbarName[0].offsetHeight) {
|
|
22719
22921
|
addClass([toolbarName[0]], 'e-selected');
|
|
22720
22922
|
}
|
|
@@ -23169,7 +23371,7 @@ class EmojiPicker {
|
|
|
23169
23371
|
const startOffset = this.save.startOffset;
|
|
23170
23372
|
const textContent = this.save.range.startContainer.textContent;
|
|
23171
23373
|
const previousText = textContent.substring(startOffset, startOffset + 1);
|
|
23172
|
-
// When toolbar action is clicked then only restore the range.
|
|
23374
|
+
// When toolbar action is clicked then only restore the range.
|
|
23173
23375
|
if (!isNullOrUndefined(this.clickEvent) || previousText !== ':') {
|
|
23174
23376
|
this.save.restore();
|
|
23175
23377
|
}
|
|
@@ -23747,6 +23949,9 @@ class Link {
|
|
|
23747
23949
|
if (this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
|
|
23748
23950
|
this.quickToolObj.inlineQTBar.hidePopup();
|
|
23749
23951
|
}
|
|
23952
|
+
if (this.quickToolObj.textQTBar && this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
|
|
23953
|
+
this.quickToolObj.textQTBar.hidePopup();
|
|
23954
|
+
}
|
|
23750
23955
|
}
|
|
23751
23956
|
}
|
|
23752
23957
|
// eslint-disable-next-line
|
|
@@ -23938,7 +24143,7 @@ class Link {
|
|
|
23938
24143
|
/**
|
|
23939
24144
|
* `Image` module is used to handle image actions.
|
|
23940
24145
|
*/
|
|
23941
|
-
class Image {
|
|
24146
|
+
class Image$1 {
|
|
23942
24147
|
constructor(parent, serviceLocator) {
|
|
23943
24148
|
this.isImgUploaded = false;
|
|
23944
24149
|
this.isAllowedTypes = true;
|
|
@@ -24021,6 +24226,7 @@ class Image {
|
|
|
24021
24226
|
EventHandler.remove(this.parent.contentModule.getEditPanel(), Browser.touchStartEvent, this.resizeStart);
|
|
24022
24227
|
EventHandler.remove(this.parent.element.ownerDocument, 'mousedown', this.onDocumentClick);
|
|
24023
24228
|
EventHandler.remove(this.contentModule.getEditPanel(), 'cut', this.onCutHandler);
|
|
24229
|
+
EventHandler.remove(this.contentModule.getDocument(), Browser.touchMoveEvent, this.resizing);
|
|
24024
24230
|
}
|
|
24025
24231
|
}
|
|
24026
24232
|
}
|
|
@@ -25343,6 +25549,9 @@ class Image {
|
|
|
25343
25549
|
if (this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
|
|
25344
25550
|
this.quickToolObj.inlineQTBar.hidePopup();
|
|
25345
25551
|
}
|
|
25552
|
+
if (this.quickToolObj.textQTBar && this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
|
|
25553
|
+
this.quickToolObj.textQTBar.hidePopup();
|
|
25554
|
+
}
|
|
25346
25555
|
}
|
|
25347
25556
|
}
|
|
25348
25557
|
// eslint-disable-next-line
|
|
@@ -25608,10 +25817,8 @@ class Image {
|
|
|
25608
25817
|
});
|
|
25609
25818
|
uploadParentEle.appendChild(uploadEle);
|
|
25610
25819
|
let altText;
|
|
25611
|
-
let rawFile;
|
|
25612
25820
|
let selectArgs;
|
|
25613
25821
|
let filesData;
|
|
25614
|
-
let beforeUploadArgs;
|
|
25615
25822
|
this.uploadObj = new Uploader({
|
|
25616
25823
|
asyncSettings: { saveUrl: this.parent.insertImageSettings.saveUrl, removeUrl: this.parent.insertImageSettings.removeUrl },
|
|
25617
25824
|
dropArea: span, multiple: false, enableRtl: this.parent.enableRtl, cssClass: this.parent.cssClass,
|
|
@@ -25619,13 +25826,8 @@ class Image {
|
|
|
25619
25826
|
selected: (e) => {
|
|
25620
25827
|
proxy.isImgUploaded = true;
|
|
25621
25828
|
selectArgs = e;
|
|
25829
|
+
// eslint-disable-next-line
|
|
25622
25830
|
filesData = e.filesData;
|
|
25623
|
-
if (this.parent.isServerRendered) {
|
|
25624
|
-
selectArgs = JSON.parse(JSON.stringify(e));
|
|
25625
|
-
e.cancel = true;
|
|
25626
|
-
rawFile = e.filesData;
|
|
25627
|
-
selectArgs.filesData = rawFile;
|
|
25628
|
-
}
|
|
25629
25831
|
this.parent.trigger(imageSelected, selectArgs, (selectArgs) => {
|
|
25630
25832
|
if (!selectArgs.cancel) {
|
|
25631
25833
|
this.checkExtension(selectArgs.filesData[0]);
|
|
@@ -25656,35 +25858,11 @@ class Image {
|
|
|
25656
25858
|
});
|
|
25657
25859
|
reader.readAsDataURL(selectArgs.filesData[0].rawFile);
|
|
25658
25860
|
}
|
|
25659
|
-
if (this.parent.isServerRendered) {
|
|
25660
|
-
/* eslint-disable */
|
|
25661
|
-
this.uploadObj._internalRenderSelect(selectArgs, rawFile);
|
|
25662
|
-
/* eslint-enable */
|
|
25663
|
-
}
|
|
25664
25861
|
}
|
|
25665
25862
|
});
|
|
25666
25863
|
},
|
|
25667
25864
|
beforeUpload: (args) => {
|
|
25668
|
-
|
|
25669
|
-
beforeUploadArgs = JSON.parse(JSON.stringify(args));
|
|
25670
|
-
beforeUploadArgs.filesData = filesData;
|
|
25671
|
-
args.cancel = true;
|
|
25672
|
-
this.parent.trigger(imageUploading, beforeUploadArgs, (beforeUploadArgs) => {
|
|
25673
|
-
if (beforeUploadArgs.cancel) {
|
|
25674
|
-
return;
|
|
25675
|
-
}
|
|
25676
|
-
/* eslint-disable */
|
|
25677
|
-
this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
|
|
25678
|
-
beforeUploadArgs.currentRequest : this.uploadObj.currentRequestHeader;
|
|
25679
|
-
this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
|
|
25680
|
-
beforeUploadArgs.customFormData : this.uploadObj.customFormDatas;
|
|
25681
|
-
this.uploadObj.uploadFiles(rawFile, null);
|
|
25682
|
-
/* eslint-enable */
|
|
25683
|
-
});
|
|
25684
|
-
}
|
|
25685
|
-
else {
|
|
25686
|
-
this.parent.trigger(beforeImageUpload, args);
|
|
25687
|
-
}
|
|
25865
|
+
this.parent.trigger(beforeImageUpload, args);
|
|
25688
25866
|
},
|
|
25689
25867
|
uploading: (e) => {
|
|
25690
25868
|
if (!this.parent.isServerRendered) {
|
|
@@ -25998,8 +26176,6 @@ class Image {
|
|
|
25998
26176
|
setTimeout(() => {
|
|
25999
26177
|
proxy.refreshPopup(imageElement);
|
|
26000
26178
|
}, timeOut);
|
|
26001
|
-
let rawFile;
|
|
26002
|
-
let beforeUploadArgs;
|
|
26003
26179
|
this.uploadObj = new Uploader({
|
|
26004
26180
|
asyncSettings: {
|
|
26005
26181
|
saveUrl: this.parent.insertImageSettings.saveUrl,
|
|
@@ -26025,33 +26201,9 @@ class Image {
|
|
|
26025
26201
|
}, 900);
|
|
26026
26202
|
},
|
|
26027
26203
|
beforeUpload: (args) => {
|
|
26028
|
-
|
|
26029
|
-
|
|
26030
|
-
|
|
26031
|
-
isUploading = true;
|
|
26032
|
-
args.cancel = true;
|
|
26033
|
-
this.parent.trigger(imageUploading, beforeUploadArgs, (beforeUploadArgs) => {
|
|
26034
|
-
if (beforeUploadArgs.cancel) {
|
|
26035
|
-
return;
|
|
26036
|
-
}
|
|
26037
|
-
if (!this.parent.inlineMode.enable) {
|
|
26038
|
-
this.parent.toolbarModule.baseToolbar.toolbarObj.disable(true);
|
|
26039
|
-
}
|
|
26040
|
-
/* eslint-disable */
|
|
26041
|
-
this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
|
|
26042
|
-
beforeUploadArgs.currentRequest : this.uploadObj.currentRequestHeader;
|
|
26043
|
-
this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
|
|
26044
|
-
beforeUploadArgs.customFormData : this.uploadObj.customFormDatas;
|
|
26045
|
-
this.uploadObj.uploadFiles(rawFile, null);
|
|
26046
|
-
this.parent.inputElement.contentEditable = 'false';
|
|
26047
|
-
/* eslint-enable */
|
|
26048
|
-
});
|
|
26049
|
-
}
|
|
26050
|
-
else {
|
|
26051
|
-
this.parent.trigger(beforeImageUpload, args);
|
|
26052
|
-
if (!this.parent.inlineMode.enable) {
|
|
26053
|
-
this.parent.toolbarModule.baseToolbar.toolbarObj.disable(true);
|
|
26054
|
-
}
|
|
26204
|
+
this.parent.trigger(beforeImageUpload, args);
|
|
26205
|
+
if (!this.parent.inlineMode.enable) {
|
|
26206
|
+
this.parent.toolbarModule.baseToolbar.toolbarObj.disable(true);
|
|
26055
26207
|
}
|
|
26056
26208
|
},
|
|
26057
26209
|
uploading: (e) => {
|
|
@@ -26076,9 +26228,6 @@ class Image {
|
|
|
26076
26228
|
if (isUploading) {
|
|
26077
26229
|
e.cancel = true;
|
|
26078
26230
|
}
|
|
26079
|
-
if (this.parent.isServerRendered) {
|
|
26080
|
-
rawFile = e.filesData;
|
|
26081
|
-
}
|
|
26082
26231
|
},
|
|
26083
26232
|
failure: (e) => {
|
|
26084
26233
|
isUploading = false;
|
|
@@ -26859,6 +27008,9 @@ class Audio {
|
|
|
26859
27008
|
if (this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
|
|
26860
27009
|
this.quickToolObj.inlineQTBar.hidePopup();
|
|
26861
27010
|
}
|
|
27011
|
+
if (this.quickToolObj.textQTBar && this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
|
|
27012
|
+
this.quickToolObj.textQTBar.hidePopup();
|
|
27013
|
+
}
|
|
26862
27014
|
}
|
|
26863
27015
|
}
|
|
26864
27016
|
// eslint-disable-next-line
|
|
@@ -26926,10 +27078,8 @@ class Audio {
|
|
|
26926
27078
|
});
|
|
26927
27079
|
uploadParentEle.appendChild(uploadEle);
|
|
26928
27080
|
let fileName;
|
|
26929
|
-
let rawFile;
|
|
26930
27081
|
let selectArgs;
|
|
26931
27082
|
let filesData;
|
|
26932
|
-
let beforeUploadArgs;
|
|
26933
27083
|
this.uploadObj = new Uploader({
|
|
26934
27084
|
asyncSettings: { saveUrl: this.parent.insertAudioSettings.saveUrl, removeUrl: this.parent.insertAudioSettings.removeUrl },
|
|
26935
27085
|
dropArea: span, multiple: false, enableRtl: this.parent.enableRtl,
|
|
@@ -26937,13 +27087,8 @@ class Audio {
|
|
|
26937
27087
|
selected: (e) => {
|
|
26938
27088
|
proxy.isAudioUploaded = true;
|
|
26939
27089
|
selectArgs = e;
|
|
27090
|
+
// eslint-disable-next-line
|
|
26940
27091
|
filesData = e.filesData;
|
|
26941
|
-
if (this.parent.isServerRendered) {
|
|
26942
|
-
selectArgs = JSON.parse(JSON.stringify(e));
|
|
26943
|
-
e.cancel = true;
|
|
26944
|
-
rawFile = e.filesData;
|
|
26945
|
-
selectArgs.filesData = rawFile;
|
|
26946
|
-
}
|
|
26947
27092
|
this.parent.trigger(fileSelected, selectArgs, (selectArgs) => {
|
|
26948
27093
|
if (!selectArgs.cancel) {
|
|
26949
27094
|
this.checkExtension(selectArgs.filesData[0]);
|
|
@@ -26966,35 +27111,11 @@ class Audio {
|
|
|
26966
27111
|
});
|
|
26967
27112
|
reader.readAsDataURL(selectArgs.filesData[0].rawFile);
|
|
26968
27113
|
}
|
|
26969
|
-
if (this.parent.isServerRendered) {
|
|
26970
|
-
/* eslint-disable */
|
|
26971
|
-
this.uploadObj._internalRenderSelect(selectArgs, rawFile);
|
|
26972
|
-
/* eslint-enable */
|
|
26973
|
-
}
|
|
26974
27114
|
}
|
|
26975
27115
|
});
|
|
26976
27116
|
},
|
|
26977
27117
|
beforeUpload: (args) => {
|
|
26978
|
-
|
|
26979
|
-
beforeUploadArgs = JSON.parse(JSON.stringify(args));
|
|
26980
|
-
beforeUploadArgs.filesData = filesData;
|
|
26981
|
-
args.cancel = true;
|
|
26982
|
-
this.parent.trigger(fileUploading, beforeUploadArgs, (beforeUploadArgs) => {
|
|
26983
|
-
if (beforeUploadArgs.cancel) {
|
|
26984
|
-
return;
|
|
26985
|
-
}
|
|
26986
|
-
/* eslint-disable */
|
|
26987
|
-
this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
|
|
26988
|
-
beforeUploadArgs.currentRequest : this.uploadObj.currentRequestHeader;
|
|
26989
|
-
this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
|
|
26990
|
-
beforeUploadArgs.customFormData : this.uploadObj.customFormDatas;
|
|
26991
|
-
this.uploadObj.uploadFiles(rawFile, null);
|
|
26992
|
-
/* eslint-enable */
|
|
26993
|
-
});
|
|
26994
|
-
}
|
|
26995
|
-
else {
|
|
26996
|
-
this.parent.trigger(beforeFileUpload, args);
|
|
26997
|
-
}
|
|
27118
|
+
this.parent.trigger(beforeFileUpload, args);
|
|
26998
27119
|
},
|
|
26999
27120
|
uploading: (e) => {
|
|
27000
27121
|
if (!this.parent.isServerRendered) {
|
|
@@ -27183,6 +27304,7 @@ class Video {
|
|
|
27183
27304
|
EventHandler.remove(this.parent.contentModule.getEditPanel(), Browser.touchStartEvent, this.resizeStart);
|
|
27184
27305
|
EventHandler.remove(this.parent.element.ownerDocument, 'mousedown', this.onDocumentClick);
|
|
27185
27306
|
EventHandler.remove(this.contentModule.getEditPanel(), 'cut', this.onCutHandler);
|
|
27307
|
+
EventHandler.remove(this.contentModule.getDocument(), Browser.touchMoveEvent, this.resizing);
|
|
27186
27308
|
}
|
|
27187
27309
|
}
|
|
27188
27310
|
}
|
|
@@ -28221,6 +28343,9 @@ class Video {
|
|
|
28221
28343
|
if (this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
|
|
28222
28344
|
this.quickToolObj.inlineQTBar.hidePopup();
|
|
28223
28345
|
}
|
|
28346
|
+
if (this.quickToolObj.textQTBar && this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
|
|
28347
|
+
this.quickToolObj.textQTBar.hidePopup();
|
|
28348
|
+
}
|
|
28224
28349
|
}
|
|
28225
28350
|
}
|
|
28226
28351
|
// eslint-disable-next-line
|
|
@@ -28330,10 +28455,8 @@ class Video {
|
|
|
28330
28455
|
});
|
|
28331
28456
|
uploadParentEle.appendChild(uploadEle);
|
|
28332
28457
|
let fileName;
|
|
28333
|
-
let rawFile;
|
|
28334
28458
|
let selectArgs;
|
|
28335
28459
|
let filesData;
|
|
28336
|
-
let beforeUploadArgs;
|
|
28337
28460
|
this.uploadObj = new Uploader({
|
|
28338
28461
|
asyncSettings: { saveUrl: this.parent.insertVideoSettings.saveUrl, removeUrl: this.parent.insertVideoSettings.removeUrl },
|
|
28339
28462
|
dropArea: span, multiple: false, enableRtl: this.parent.enableRtl,
|
|
@@ -28341,13 +28464,8 @@ class Video {
|
|
|
28341
28464
|
selected: (e) => {
|
|
28342
28465
|
proxy.isVideoUploaded = true;
|
|
28343
28466
|
selectArgs = e;
|
|
28467
|
+
// eslint-disable-next-line
|
|
28344
28468
|
filesData = e.filesData;
|
|
28345
|
-
if (this.parent.isServerRendered) {
|
|
28346
|
-
selectArgs = JSON.parse(JSON.stringify(e));
|
|
28347
|
-
e.cancel = true;
|
|
28348
|
-
rawFile = e.filesData;
|
|
28349
|
-
selectArgs.filesData = rawFile;
|
|
28350
|
-
}
|
|
28351
28469
|
this.parent.trigger(fileSelected, selectArgs, (selectArgs) => {
|
|
28352
28470
|
if (!selectArgs.cancel) {
|
|
28353
28471
|
this.checkExtension(selectArgs.filesData[0]);
|
|
@@ -28371,35 +28489,11 @@ class Video {
|
|
|
28371
28489
|
});
|
|
28372
28490
|
reader.readAsDataURL(selectArgs.filesData[0].rawFile);
|
|
28373
28491
|
}
|
|
28374
|
-
if (this.parent.isServerRendered) {
|
|
28375
|
-
/* eslint-disable */
|
|
28376
|
-
this.uploadObj._internalRenderSelect(selectArgs, rawFile);
|
|
28377
|
-
/* eslint-enable */
|
|
28378
|
-
}
|
|
28379
28492
|
}
|
|
28380
28493
|
});
|
|
28381
28494
|
},
|
|
28382
28495
|
beforeUpload: (args) => {
|
|
28383
|
-
|
|
28384
|
-
beforeUploadArgs = JSON.parse(JSON.stringify(args));
|
|
28385
|
-
beforeUploadArgs.filesData = filesData;
|
|
28386
|
-
args.cancel = true;
|
|
28387
|
-
this.parent.trigger(fileUploading, beforeUploadArgs, (beforeUploadArgs) => {
|
|
28388
|
-
if (beforeUploadArgs.cancel) {
|
|
28389
|
-
return;
|
|
28390
|
-
}
|
|
28391
|
-
/* eslint-disable */
|
|
28392
|
-
this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
|
|
28393
|
-
beforeUploadArgs.currentRequest : this.uploadObj.currentRequestHeader;
|
|
28394
|
-
this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
|
|
28395
|
-
beforeUploadArgs.customFormData : this.uploadObj.customFormDatas;
|
|
28396
|
-
this.uploadObj.uploadFiles(rawFile, null);
|
|
28397
|
-
/* eslint-enable */
|
|
28398
|
-
});
|
|
28399
|
-
}
|
|
28400
|
-
else {
|
|
28401
|
-
this.parent.trigger(beforeFileUpload, args);
|
|
28402
|
-
}
|
|
28496
|
+
this.parent.trigger(beforeFileUpload, args);
|
|
28403
28497
|
},
|
|
28404
28498
|
uploading: (e) => {
|
|
28405
28499
|
if (!this.parent.isServerRendered) {
|
|
@@ -28645,6 +28739,7 @@ class ViewSource {
|
|
|
28645
28739
|
* @deprecated
|
|
28646
28740
|
*/
|
|
28647
28741
|
sourceCode(args) {
|
|
28742
|
+
this.parent.notify(hidePopup, {});
|
|
28648
28743
|
this.parent.isBlur = false;
|
|
28649
28744
|
this.parent.trigger(actionBegin, { requestType: 'SourceCode', targetItem: 'SourceCode', args: args });
|
|
28650
28745
|
const tbItems = selectAll('.' + CLS_TB_ITEM, this.parent.element);
|
|
@@ -29276,14 +29371,17 @@ class Table {
|
|
|
29276
29371
|
let pageX;
|
|
29277
29372
|
let pageY;
|
|
29278
29373
|
if (Browser.isDevice && e.args.touches) {
|
|
29279
|
-
pageX =
|
|
29280
|
-
|
|
29374
|
+
pageX = (this.parent.iframeSettings.enable) ? window.pageXOffset + this.parent.element.getBoundingClientRect().left +
|
|
29375
|
+
e.args.changedTouches[0].clientX : e.args.changedTouches[0].pageX;
|
|
29376
|
+
pageY = (this.parent.iframeSettings.enable) ? window.pageYOffset + this.parent.element.getBoundingClientRect().top +
|
|
29377
|
+
(!this.parent.inlineMode.enable ? this.parent.toolbarModule.getToolbarHeight() : 0)
|
|
29378
|
+
+ e.args.changedTouches[0].clientY : e.args.changedTouches[0].pageY;
|
|
29281
29379
|
}
|
|
29282
29380
|
else {
|
|
29283
29381
|
pageX = (this.parent.iframeSettings.enable) ? window.pageXOffset
|
|
29284
29382
|
+ this.parent.element.getBoundingClientRect().left + args.clientX : args.pageX;
|
|
29285
|
-
pageY = (this.parent.iframeSettings.enable) ? window.pageYOffset +
|
|
29286
|
-
this.parent.
|
|
29383
|
+
pageY = (this.parent.iframeSettings.enable) ? window.pageYOffset + this.parent.element.getBoundingClientRect().top +
|
|
29384
|
+
this.parent.toolbarModule.getToolbarHeight() + args.clientY : args.pageY;
|
|
29287
29385
|
}
|
|
29288
29386
|
this.quickToolObj.tableQTBar.showPopup(pageX, pageY, target);
|
|
29289
29387
|
this.parent.formatter.editorManager.nodeSelection.restore();
|
|
@@ -29682,7 +29780,7 @@ class Table {
|
|
|
29682
29780
|
const width = parseFloat(this.columnEle.offsetWidth.toString());
|
|
29683
29781
|
const cellRow = this.curTable.rows[0].cells[0].nodeName === 'TH' ? 1 : 0;
|
|
29684
29782
|
let currentTableWidth;
|
|
29685
|
-
if (this.curTable.style.width
|
|
29783
|
+
if (this.curTable.style.width !== '') {
|
|
29686
29784
|
currentTableWidth = parseFloat(this.curTable.style.width.split('%')[0]);
|
|
29687
29785
|
}
|
|
29688
29786
|
else {
|
|
@@ -29745,6 +29843,7 @@ class Table {
|
|
|
29745
29843
|
let isMergedEleResize = false;
|
|
29746
29844
|
let leftTableCell;
|
|
29747
29845
|
let rightTableCell;
|
|
29846
|
+
/* eslint-disable */
|
|
29748
29847
|
for (let j = 0; j < currentRow.cells.length; j++) {
|
|
29749
29848
|
if (currentRow.cells[j].hasAttribute('rowspan') && j <= this.colIndex) {
|
|
29750
29849
|
isRowCellsMerged = true;
|
|
@@ -29803,6 +29902,7 @@ class Table {
|
|
|
29803
29902
|
this.convertPixelToPercentage(rightColWidth, tableWidth) + '%';
|
|
29804
29903
|
}
|
|
29805
29904
|
}
|
|
29905
|
+
/* eslint-enable */
|
|
29806
29906
|
}
|
|
29807
29907
|
}
|
|
29808
29908
|
}
|
|
@@ -29937,7 +30037,8 @@ class Table {
|
|
|
29937
30037
|
this.hideTableQuickToolbar();
|
|
29938
30038
|
}
|
|
29939
30039
|
renderDlgContent(args) {
|
|
29940
|
-
|
|
30040
|
+
const argsTarget = args.args.originalEvent.target;
|
|
30041
|
+
if (Browser.isDevice || this.parent.inlineMode.enable || !isNullOrUndefined(closest(argsTarget, '.e-rte-text-popup'))) {
|
|
29941
30042
|
this.insertTableDialog(args);
|
|
29942
30043
|
return;
|
|
29943
30044
|
}
|
|
@@ -30191,6 +30292,10 @@ class Table {
|
|
|
30191
30292
|
if (this.quickToolObj && this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
|
|
30192
30293
|
this.quickToolObj.inlineQTBar.hidePopup();
|
|
30193
30294
|
}
|
|
30295
|
+
if (this.quickToolObj && this.quickToolObj.textQTBar &&
|
|
30296
|
+
this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
|
|
30297
|
+
this.quickToolObj.textQTBar.hidePopup();
|
|
30298
|
+
}
|
|
30194
30299
|
}
|
|
30195
30300
|
customTable(args, e) {
|
|
30196
30301
|
const proxy = (this.self) ? this.self : this;
|
|
@@ -30198,7 +30303,8 @@ class Table {
|
|
|
30198
30303
|
const argument = ((Browser.isDevice || (!isNullOrUndefined(args.args)
|
|
30199
30304
|
&& !isNullOrUndefined(args.args.originalEvent) &&
|
|
30200
30305
|
args.args.originalEvent.action === 'insert-table')
|
|
30201
|
-
|| proxy.parent.inlineMode.enable) ? args :
|
|
30306
|
+
|| proxy.parent.inlineMode.enable || !isNullOrUndefined(proxy.parent.quickToolbarSettings.text)) ? args :
|
|
30307
|
+
this);
|
|
30202
30308
|
proxy.tableInsert(proxy.rowTextBox.value, proxy.columnTextBox.value, e, argument);
|
|
30203
30309
|
}
|
|
30204
30310
|
}
|
|
@@ -30353,8 +30459,20 @@ class DialogRenderer {
|
|
|
30353
30459
|
return dlgObj;
|
|
30354
30460
|
}
|
|
30355
30461
|
beforeOpen(args) {
|
|
30462
|
+
if (args.element.classList.contains('e-dialog')) {
|
|
30463
|
+
const formEle = closest(args.target, 'form');
|
|
30464
|
+
if (!isNullOrUndefined(formEle)) {
|
|
30465
|
+
this.dialogEle = args.element;
|
|
30466
|
+
this.dialogEle.addEventListener('keydown', this.handleEnterKeyDown);
|
|
30467
|
+
}
|
|
30468
|
+
}
|
|
30356
30469
|
this.parent.trigger(beforeDialogOpen, args, this.beforeOpenCallback.bind(this, args));
|
|
30357
30470
|
}
|
|
30471
|
+
handleEnterKeyDown(args) {
|
|
30472
|
+
if (args.code === 'Enter') {
|
|
30473
|
+
args.preventDefault();
|
|
30474
|
+
}
|
|
30475
|
+
}
|
|
30358
30476
|
beforeOpenCallback(args) {
|
|
30359
30477
|
if (args.cancel) {
|
|
30360
30478
|
this.parent.notify(clearDialogObj, null);
|
|
@@ -30364,6 +30482,9 @@ class DialogRenderer {
|
|
|
30364
30482
|
this.parent.trigger(dialogOpen, args);
|
|
30365
30483
|
}
|
|
30366
30484
|
beforeClose(args) {
|
|
30485
|
+
if (this.dialogEle) {
|
|
30486
|
+
this.dialogEle.removeEventListener('keydown', this.handleEnterKeyDown);
|
|
30487
|
+
}
|
|
30367
30488
|
this.parent.trigger(beforeDialogClose, args, (closeArgs) => {
|
|
30368
30489
|
if (!closeArgs.cancel) {
|
|
30369
30490
|
if (closeArgs.container.classList.contains('e-popup-close')) {
|
|
@@ -30828,7 +30949,7 @@ __decorate$2([
|
|
|
30828
30949
|
Property(['VideoReplace', 'VideoAlign', 'VideoRemove', 'VideoLayoutOption', 'VideoDimension'])
|
|
30829
30950
|
], QuickToolbarSettings.prototype, "video", void 0);
|
|
30830
30951
|
__decorate$2([
|
|
30831
|
-
Property(
|
|
30952
|
+
Property(null)
|
|
30832
30953
|
], QuickToolbarSettings.prototype, "text", void 0);
|
|
30833
30954
|
__decorate$2([
|
|
30834
30955
|
Property(['TableHeader', 'TableRows', 'TableColumns', 'BackgroundColor', '-', 'TableRemove', 'Alignments', 'TableCellVerticalAlign', 'Styles'])
|
|
@@ -31199,8 +31320,12 @@ class EnterKeyAction {
|
|
|
31199
31320
|
(this.range.startContainer.previousSibling.nodeName === 'IMG' || this.range.startContainer.previousSibling.nodeName === 'BR'))) {
|
|
31200
31321
|
let isNearBlockLengthZero;
|
|
31201
31322
|
let newElem;
|
|
31202
|
-
if (!isNullOrUndefined(this.range.startContainer.childNodes) &&
|
|
31203
|
-
|
|
31323
|
+
if (!isNullOrUndefined(this.range.startContainer.childNodes) &&
|
|
31324
|
+
(this.range.startContainer.textContent.length === 0 ||
|
|
31325
|
+
(this.range.startContainer.nodeName !== '#text' && !isNullOrUndefined(this.range.startContainer.querySelector('.e-video-clickelem')) &&
|
|
31326
|
+
this.range.startContainer.querySelector('.e-video-clickelem').textContent.length === 0)) &&
|
|
31327
|
+
(this.range.startContainer.querySelectorAll('img, audio, video').length > 0 ||
|
|
31328
|
+
!isNullOrUndefined(this.range.startContainer.querySelector('.e-video-clickelem')) ||
|
|
31204
31329
|
this.range.startContainer.nodeName === 'IMG' || this.range.startContainer.nodeName === 'TABLE')) {
|
|
31205
31330
|
newElem = this.createInsertElement(shiftKey);
|
|
31206
31331
|
isMediaNode = true;
|
|
@@ -32557,9 +32682,6 @@ let RichTextEditor = class RichTextEditor extends Component {
|
|
|
32557
32682
|
this.removeAttributes();
|
|
32558
32683
|
super.destroy();
|
|
32559
32684
|
this.isRendered = false;
|
|
32560
|
-
if (this.enablePersistence) {
|
|
32561
|
-
window.localStorage.removeItem(this.getModuleName() + this.element.id);
|
|
32562
|
-
}
|
|
32563
32685
|
}
|
|
32564
32686
|
removeHtmlAttributes() {
|
|
32565
32687
|
if (this.htmlAttributes) {
|
|
@@ -32688,9 +32810,10 @@ let RichTextEditor = class RichTextEditor extends Component {
|
|
|
32688
32810
|
else {
|
|
32689
32811
|
nVal = newProp[prop];
|
|
32690
32812
|
}
|
|
32813
|
+
nVal = this.serializeValue(nVal);
|
|
32691
32814
|
const val = this.editorMode === 'HTML' ? getEditValue(nVal, this) : nVal;
|
|
32692
32815
|
if ((!isNullOrUndefined(nVal) && nVal !== '') || prop === 'enterKey') {
|
|
32693
|
-
this.value
|
|
32816
|
+
this.setProperties({ value: ((this.enableHtmlEncode) ? this.encode(decode(val)) : val) }, true);
|
|
32694
32817
|
}
|
|
32695
32818
|
this.updatePanelValue();
|
|
32696
32819
|
if (this.inputElement) {
|
|
@@ -33236,10 +33359,6 @@ let RichTextEditor = class RichTextEditor extends Component {
|
|
|
33236
33359
|
// eslint-disable-next-line
|
|
33237
33360
|
const imgPadding = 12;
|
|
33238
33361
|
const imgResizeBorder = 2;
|
|
33239
|
-
if (isNullOrUndefined(this.contentModule) || isNullOrUndefined(this.contentModule.getEditPanel())) {
|
|
33240
|
-
EventHandler.remove(this.contentModule.getDocument(), Browser.touchMoveEvent, this.imageModule.resizing);
|
|
33241
|
-
return maxWidth;
|
|
33242
|
-
}
|
|
33243
33362
|
const editEle = this.contentModule.getEditPanel();
|
|
33244
33363
|
const eleStyle = window.getComputedStyle(editEle);
|
|
33245
33364
|
const editEleMaxWidth = editEle.offsetWidth - (imgPadding + imgResizeBorder +
|
|
@@ -34236,5 +34355,5 @@ RichTextEditor = __decorate$1([
|
|
|
34236
34355
|
* Rich Text Editor component exported items
|
|
34237
34356
|
*/
|
|
34238
34357
|
|
|
34239
|
-
export { Toolbar$2 as Toolbar, KeyboardEvents$1 as KeyboardEvents, BaseToolbar, BaseQuickToolbar, QuickToolbar, Count, ColorPickerInput, MarkdownToolbarStatus, ExecCommandCallBack, ToolbarAction, MarkdownEditor, HtmlEditor, PasteCleanup, Resize, DropDownButtons, FileManager$1 as FileManager, FullScreen, setAttributes, HtmlToolbarStatus, XhtmlValidation, FormatPainter, EmojiPicker, HTMLFormatter, Formatter, MarkdownFormatter, ContentRender, Render, ToolbarRenderer, Link, Image, Audio, Video, ViewSource, Table, DialogRenderer, IframeContentRender, MarkdownRender, PopupRenderer, RichTextEditor, RenderType, ToolbarType, DialogType, executeGroup, created, destroyed, tableclass, load, initialLoad, contentChanged, initialEnd, iframeMouseDown, destroy, toolbarClick, toolbarRefresh, refreshBegin, toolbarUpdated, bindOnEnd, renderColorPicker, htmlToolbarClick, markdownToolbarClick, destroyColorPicker, modelChanged, tableModulekeyUp, keyUp, keyDown, mouseUp, toolbarCreated, toolbarRenderComplete, enableFullScreen, disableFullScreen, dropDownSelect, beforeDropDownItemRender, execCommandCallBack, imageToolbarAction, audioToolbarAction, videoToolbarAction, linkToolbarAction, windowResize, resizeStart, onResize, resizeStop, undo, redo, insertLink, unLink, editLink, openLink, actionBegin, actionComplete, updatedToolbarStatus, actionSuccess, updateToolbarItem, insertImage, insertAudio, insertVideo, insertCompleted, imageLeft, imageRight, imageCenter, imageBreak, imageInline, imageLink, imageAlt, imageDelete, audioDelete, videoDelete, imageCaption, imageSize, videoSize, sourceCode, updateSource, toolbarOpen, beforeDropDownOpen, selectionSave, selectionRestore, expandPopupClick, count, contentFocus, contentBlur, mouseDown, sourceCodeMouseDown, editAreaClick, scroll, contentscroll, colorPickerChanged, tableColorPickerChanged, focusChange, selectAll$1 as selectAll, selectRange, getSelectedHtml, renderInlineToolbar, paste, imgModule, rtlMode, createTable, docClick, tableToolbarAction, checkUndo, readOnlyMode, moduleDestroy, pasteClean, enterHandler, beforeDialogOpen, clearDialogObj, dialogOpen, beforeDialogClose, dialogClose, beforeQuickToolbarOpen, quickToolbarOpen, quickToolbarClose, popupHide, imageSelected, imageUploading, imageUploadSuccess, imageUploadFailed, imageRemoving, fileSelected, fileUploading, fileUploadSuccess, fileUploadFailed, fileRemoving, afterImageDelete, afterMediaDelete, drop, xhtmlValidation, beforeImageUpload, beforeFileUpload, resizeInitialized, renderFileManager, beforeImageDrop, dynamicModule, beforePasteCleanup, afterPasteCleanup, updateTbItemsStatus, showLinkDialog, closeLinkDialog, showImageDialog, showAudioDialog, showVideoDialog, closeImageDialog, closeAudioDialog, closeVideoDialog, showTableDialog, closeTableDialog, bindCssClass, formatPainterClick, formatPainterDoubleClick, emojiPicker, maximizeMinimizeClick, blockEmptyNodes, inlineEmptyNodes, CLS_RTE, CLS_RTL, CLS_CONTENT, CLS_DISABLED, CLS_SCRIPT_SHEET, CLS_STYLE_SHEET, CLS_TOOLBAR, CLS_TB_FIXED, CLS_TB_FLOAT, CLS_TB_ABS_FLOAT, CLS_INLINE, CLS_TB_INLINE, CLS_RTE_EXPAND_TB, CLS_FULL_SCREEN, CLS_QUICK_TB, CLS_POP, CLS_TB_STATIC, CLS_QUICK_POP, CLS_QUICK_DROPDOWN, CLS_IMAGE_POP, CLS_INLINE_POP, CLS_INLINE_DROPDOWN, CLS_DROPDOWN_POPUP, CLS_DROPDOWN_ICONS, CLS_DROPDOWN_ITEMS, CLS_DROPDOWN_BTN, CLS_RTE_CONTENT, CLS_TB_ITEM, CLS_TB_EXTENDED, CLS_TB_WRAP, CLS_POPUP, CLS_SEPARATOR, CLS_MINIMIZE, CLS_MAXIMIZE, CLS_BACK, CLS_SHOW, CLS_HIDE, CLS_VISIBLE, CLS_FOCUS, CLS_RM_WHITE_SPACE, CLS_IMGRIGHT, CLS_IMGLEFT, CLS_IMGCENTER, CLS_IMGBREAK, CLS_AUDIOBREAK, CLS_CLICKELEM, CLS_VID_CLICK_ELEM, CLS_AUDIOWRAP, CLS_VIDEOWRAP, CLS_VIDEOBREAK, CLS_CAPTION, CLS_RTE_CAPTION, CLS_CAPINLINE, CLS_IMGINLINE, CLS_AUDIOINLINE, CLS_VIDEOINLINE, CLS_COUNT, CLS_WARNING, CLS_ERROR, CLS_ICONS, CLS_ACTIVE, CLS_EXPAND_OPEN, CLS_RTE_ELEMENTS, CLS_TB_BTN, CLS_HR_SEPARATOR, CLS_TB_IOS_FIX, CLS_LIST_PRIMARY_CONTENT, CLS_NUMBERFORMATLIST_TB_BTN, CLS_BULLETFORMATLIST_TB_BTN, CLS_FORMATS_TB_BTN, CLS_FONT_NAME_TB_BTN, CLS_FONT_SIZE_TB_BTN, CLS_ALIGN_TB_BTN, CLS_FONT_COLOR_TARGET, CLS_BACKGROUND_COLOR_TARGET, CLS_COLOR_CONTENT, CLS_FONT_COLOR_DROPDOWN, CLS_BACKGROUND_COLOR_DROPDOWN, CLS_COLOR_PALETTE, CLS_FONT_COLOR_PICKER, CLS_BACKGROUND_COLOR_PICKER, CLS_RTE_READONLY, CLS_TABLE_SEL, CLS_TB_DASH_BOR, CLS_TB_ALT_BOR, CLS_TB_COL_RES, CLS_TB_ROW_RES, CLS_TB_BOX_RES, CLS_RTE_HIDDEN, CLS_RTE_PASTE_KEEP_FORMAT, CLS_RTE_PASTE_REMOVE_FORMAT, CLS_RTE_PASTE_PLAIN_FORMAT, CLS_RTE_PASTE_OK, CLS_RTE_PASTE_CANCEL, CLS_RTE_DIALOG_MIN_HEIGHT, CLS_RTE_RES_HANDLE, CLS_RTE_RES_EAST, CLS_RTE_IMAGE, CLS_RESIZE, CLS_IMG_FOCUS, CLS_AUD_FOCUS, CLS_VID_FOCUS, CLS_RTE_DRAG_IMAGE, CLS_RTE_UPLOAD_POPUP, CLS_POPUP_OPEN, CLS_IMG_RESIZE, CLS_DROPAREA, CLS_IMG_INNER, CLS_UPLOAD_FILES, CLS_RTE_DIALOG_UPLOAD, CLS_RTE_RES_CNT, CLS_CUSTOM_TILE, CLS_NOCOLOR_ITEM, CLS_TABLE, CLS_TABLE_BORDER, CLS_RTE_TABLE_RESIZE, CLS_RTE_FIXED_TB_EXPAND, CLS_RTE_TB_ENABLED, CLS_RTE_RES_WEST, getIndex, hasClass, getDropDownValue, isIDevice, getFormattedFontSize, pageYOffset, getTooltipText, setToolbarStatus, getCollection, getTBarItemsIndex, updateUndoRedoStatus, dispatchEvent, parseHtml, getTextNodesUnder, toObjectLowerCase, getEditValue, updateTextNode, getDefaultValue, isEditableValueEmpty, decode, sanitizeHelper, convertToBlob, getLocaleFontFormat, updateDropDownFontFormatLocale, ServiceLocator, RendererFactory, EditorManager, IMAGE, AUDIO, VIDEO, TABLE, LINK, INSERT_ROW, INSERT_COLUMN, DELETEROW, DELETECOLUMN, REMOVETABLE, TABLEHEADER, TABLE_VERTICAL_ALIGN, TABLE_MERGE, TABLE_VERTICAL_SPLIT, TABLE_HORIZONTAL_SPLIT, TABLE_MOVE, ALIGNMENT_TYPE, INDENT_TYPE, DEFAULT_TAG, BLOCK_TAGS, IGNORE_BLOCK_TAGS, TABLE_BLOCK_TAGS, SELECTION_TYPE, INSERTHTML_TYPE, INSERT_TEXT_TYPE, CLEAR_TYPE, SELF_CLOSING_TAGS, CLASS_IMAGE_RIGHT, CLASS_IMAGE_LEFT, CLASS_IMAGE_CENTER, CLASS_VIDEO_RIGHT, CLASS_VIDEO_LEFT, CLASS_VIDEO_CENTER, CLASS_IMAGE_BREAK, CLASS_AUDIO_BREAK, CLASS_VIDEO_BREAK, CLASS_CAPTION, CLASS_RTE_CAPTION, CLASS_CAPTION_INLINE, CLASS_IMAGE_INLINE, CLASS_AUDIO_INLINE, CLASS_CLICK_ELEM, CLASS_VIDEO_CLICK_ELEM, CLASS_AUDIO, CLASS_VIDEO, CLASS_AUDIO_WRAP, CLASS_VIDEO_WRAP, CLASS_EMBED_VIDEO_WRAP, CLASS_AUDIO_FOCUS, CLASS_VIDEO_FOCUS, CLASS_VIDEO_INLINE, Lists, markerClassName, DOMNode, Alignments, Indents, Formats, LinkCommand, InsertMethods, InsertTextExec, InsertHtmlExec, InsertHtml, IsFormatted, MsWordPaste, NodeCutter, ImageCommand, AudioCommand, VideoCommand, SelectionCommands, SelectionBasedExec, ClearFormatExec, UndoRedoManager, TableCommand, statusCollection, ToolbarStatus, FormatPainterActions, EmojiPickerAction, NodeSelection, MarkdownParser, LISTS_COMMAND, selectionCommand, LINK_COMMAND, CLEAR_COMMAND, MD_TABLE, INSERT_TEXT_COMMAND, ClearFormat, MDLists, MDFormats, MarkdownSelection, UndoRedoCommands, MDSelectionFormats, MDLink, MDTable, markdownFormatTags, markdownSelectionTags, markdownListsTags, htmlKeyConfig, markdownKeyConfig, pasteCleanupGroupingTags, listConversionFilters, selfClosingTags, KEY_DOWN, ACTION, FORMAT_TYPE, KEY_DOWN_HANDLER, LIST_TYPE, KEY_UP_HANDLER, KEY_UP, MODEL_CHANGED_PLUGIN, MODEL_CHANGED, MS_WORD_CLEANUP_PLUGIN, MS_WORD_CLEANUP, ON_BEGIN, SPACE_ACTION, FORMAT_PAINTER_ACTIONS, EMOJI_PICKER_ACTIONS };
|
|
34358
|
+
export { Toolbar$2 as Toolbar, KeyboardEvents$1 as KeyboardEvents, BaseToolbar, BaseQuickToolbar, QuickToolbar, Count, ColorPickerInput, MarkdownToolbarStatus, ExecCommandCallBack, ToolbarAction, MarkdownEditor, HtmlEditor, PasteCleanup, Resize, DropDownButtons, FileManager$1 as FileManager, FullScreen, setAttributes, HtmlToolbarStatus, XhtmlValidation, FormatPainter, EmojiPicker, HTMLFormatter, Formatter, MarkdownFormatter, ContentRender, Render, ToolbarRenderer, Link, Image$1 as Image, Audio, Video, ViewSource, Table, DialogRenderer, IframeContentRender, MarkdownRender, PopupRenderer, RichTextEditor, RenderType, ToolbarType, DialogType, executeGroup, created, destroyed, tableclass, load, initialLoad, contentChanged, initialEnd, iframeMouseDown, destroy, toolbarClick, toolbarRefresh, refreshBegin, toolbarUpdated, bindOnEnd, renderColorPicker, htmlToolbarClick, markdownToolbarClick, destroyColorPicker, modelChanged, tableModulekeyUp, keyUp, keyDown, mouseUp, toolbarCreated, toolbarRenderComplete, enableFullScreen, disableFullScreen, dropDownSelect, beforeDropDownItemRender, execCommandCallBack, imageToolbarAction, audioToolbarAction, videoToolbarAction, linkToolbarAction, windowResize, resizeStart, onResize, resizeStop, undo, redo, insertLink, unLink, editLink, openLink, actionBegin, actionComplete, updatedToolbarStatus, actionSuccess, updateToolbarItem, insertImage, insertAudio, insertVideo, insertCompleted, imageLeft, imageRight, imageCenter, imageBreak, imageInline, imageLink, imageAlt, imageDelete, audioDelete, videoDelete, imageCaption, imageSize, videoSize, sourceCode, updateSource, toolbarOpen, beforeDropDownOpen, selectionSave, selectionRestore, expandPopupClick, count, contentFocus, contentBlur, mouseDown, sourceCodeMouseDown, editAreaClick, scroll, contentscroll, colorPickerChanged, tableColorPickerChanged, focusChange, selectAll$1 as selectAll, selectRange, getSelectedHtml, renderInlineToolbar, paste, imgModule, rtlMode, createTable, docClick, tableToolbarAction, checkUndo, readOnlyMode, moduleDestroy, pasteClean, enterHandler, beforeDialogOpen, clearDialogObj, dialogOpen, beforeDialogClose, dialogClose, beforeQuickToolbarOpen, quickToolbarOpen, quickToolbarClose, popupHide, imageSelected, imageUploading, imageUploadSuccess, imageUploadFailed, imageRemoving, fileSelected, fileUploading, fileUploadSuccess, fileUploadFailed, fileRemoving, afterImageDelete, afterMediaDelete, drop, xhtmlValidation, beforeImageUpload, beforeFileUpload, resizeInitialized, renderFileManager, beforeImageDrop, dynamicModule, beforePasteCleanup, afterPasteCleanup, updateTbItemsStatus, showLinkDialog, closeLinkDialog, showImageDialog, showAudioDialog, showVideoDialog, closeImageDialog, closeAudioDialog, closeVideoDialog, showTableDialog, closeTableDialog, bindCssClass, formatPainterClick, formatPainterDoubleClick, emojiPicker, maximizeMinimizeClick, hidePopup, blockEmptyNodes, inlineEmptyNodes, CLS_RTE, CLS_RTL, CLS_CONTENT, CLS_DISABLED, CLS_SCRIPT_SHEET, CLS_STYLE_SHEET, CLS_TOOLBAR, CLS_TB_FIXED, CLS_TB_FLOAT, CLS_TB_ABS_FLOAT, CLS_INLINE, CLS_TB_INLINE, CLS_RTE_EXPAND_TB, CLS_FULL_SCREEN, CLS_QUICK_TB, CLS_POP, CLS_TB_STATIC, CLS_QUICK_POP, CLS_QUICK_DROPDOWN, CLS_IMAGE_POP, CLS_TEXT_POP, CLS_INLINE_POP, CLS_INLINE_DROPDOWN, CLS_DROPDOWN_POPUP, CLS_DROPDOWN_ICONS, CLS_DROPDOWN_ITEMS, CLS_DROPDOWN_BTN, CLS_RTE_CONTENT, CLS_TB_ITEM, CLS_TB_EXTENDED, CLS_TB_WRAP, CLS_POPUP, CLS_SEPARATOR, CLS_MINIMIZE, CLS_MAXIMIZE, CLS_BACK, CLS_SHOW, CLS_HIDE, CLS_VISIBLE, CLS_FOCUS, CLS_RM_WHITE_SPACE, CLS_IMGRIGHT, CLS_IMGLEFT, CLS_IMGCENTER, CLS_IMGBREAK, CLS_AUDIOBREAK, CLS_CLICKELEM, CLS_VID_CLICK_ELEM, CLS_AUDIOWRAP, CLS_VIDEOWRAP, CLS_VIDEOBREAK, CLS_CAPTION, CLS_RTE_CAPTION, CLS_CAPINLINE, CLS_IMGINLINE, CLS_AUDIOINLINE, CLS_VIDEOINLINE, CLS_COUNT, CLS_WARNING, CLS_ERROR, CLS_ICONS, CLS_ACTIVE, CLS_EXPAND_OPEN, CLS_RTE_ELEMENTS, CLS_TB_BTN, CLS_HR_SEPARATOR, CLS_TB_IOS_FIX, CLS_LIST_PRIMARY_CONTENT, CLS_NUMBERFORMATLIST_TB_BTN, CLS_BULLETFORMATLIST_TB_BTN, CLS_FORMATS_TB_BTN, CLS_FONT_NAME_TB_BTN, CLS_FONT_SIZE_TB_BTN, CLS_ALIGN_TB_BTN, CLS_FONT_COLOR_TARGET, CLS_BACKGROUND_COLOR_TARGET, CLS_COLOR_CONTENT, CLS_FONT_COLOR_DROPDOWN, CLS_BACKGROUND_COLOR_DROPDOWN, CLS_COLOR_PALETTE, CLS_FONT_COLOR_PICKER, CLS_BACKGROUND_COLOR_PICKER, CLS_RTE_READONLY, CLS_TABLE_SEL, CLS_TB_DASH_BOR, CLS_TB_ALT_BOR, CLS_TB_COL_RES, CLS_TB_ROW_RES, CLS_TB_BOX_RES, CLS_RTE_HIDDEN, CLS_RTE_PASTE_KEEP_FORMAT, CLS_RTE_PASTE_REMOVE_FORMAT, CLS_RTE_PASTE_PLAIN_FORMAT, CLS_RTE_PASTE_OK, CLS_RTE_PASTE_CANCEL, CLS_RTE_DIALOG_MIN_HEIGHT, CLS_RTE_RES_HANDLE, CLS_RTE_RES_EAST, CLS_RTE_IMAGE, CLS_RESIZE, CLS_IMG_FOCUS, CLS_AUD_FOCUS, CLS_VID_FOCUS, CLS_RTE_DRAG_IMAGE, CLS_RTE_UPLOAD_POPUP, CLS_POPUP_OPEN, CLS_IMG_RESIZE, CLS_DROPAREA, CLS_IMG_INNER, CLS_UPLOAD_FILES, CLS_RTE_DIALOG_UPLOAD, CLS_RTE_RES_CNT, CLS_CUSTOM_TILE, CLS_NOCOLOR_ITEM, CLS_TABLE, CLS_TABLE_BORDER, CLS_RTE_TABLE_RESIZE, CLS_RTE_FIXED_TB_EXPAND, CLS_RTE_TB_ENABLED, CLS_RTE_RES_WEST, getIndex, hasClass, getDropDownValue, isIDevice, getFormattedFontSize, pageYOffset, getTooltipText, setToolbarStatus, getCollection, getTBarItemsIndex, updateUndoRedoStatus, dispatchEvent, parseHtml, getTextNodesUnder, toObjectLowerCase, getEditValue, updateTextNode, getDefaultValue, isEditableValueEmpty, decode, sanitizeHelper, convertToBlob, getLocaleFontFormat, updateDropDownFontFormatLocale, ServiceLocator, RendererFactory, EditorManager, IMAGE, AUDIO, VIDEO, TABLE, LINK, INSERT_ROW, INSERT_COLUMN, DELETEROW, DELETECOLUMN, REMOVETABLE, TABLEHEADER, TABLE_VERTICAL_ALIGN, TABLE_MERGE, TABLE_VERTICAL_SPLIT, TABLE_HORIZONTAL_SPLIT, TABLE_MOVE, ALIGNMENT_TYPE, INDENT_TYPE, DEFAULT_TAG, BLOCK_TAGS, IGNORE_BLOCK_TAGS, TABLE_BLOCK_TAGS, SELECTION_TYPE, INSERTHTML_TYPE, INSERT_TEXT_TYPE, CLEAR_TYPE, SELF_CLOSING_TAGS, CLASS_IMAGE_RIGHT, CLASS_IMAGE_LEFT, CLASS_IMAGE_CENTER, CLASS_VIDEO_RIGHT, CLASS_VIDEO_LEFT, CLASS_VIDEO_CENTER, CLASS_IMAGE_BREAK, CLASS_AUDIO_BREAK, CLASS_VIDEO_BREAK, CLASS_CAPTION, CLASS_RTE_CAPTION, CLASS_CAPTION_INLINE, CLASS_IMAGE_INLINE, CLASS_AUDIO_INLINE, CLASS_CLICK_ELEM, CLASS_VIDEO_CLICK_ELEM, CLASS_AUDIO, CLASS_VIDEO, CLASS_AUDIO_WRAP, CLASS_VIDEO_WRAP, CLASS_EMBED_VIDEO_WRAP, CLASS_AUDIO_FOCUS, CLASS_VIDEO_FOCUS, CLASS_VIDEO_INLINE, Lists, markerClassName, DOMNode, Alignments, Indents, Formats, LinkCommand, InsertMethods, InsertTextExec, InsertHtmlExec, InsertHtml, IsFormatted, MsWordPaste, NodeCutter, ImageCommand, AudioCommand, VideoCommand, SelectionCommands, SelectionBasedExec, ClearFormatExec, UndoRedoManager, TableCommand, statusCollection, ToolbarStatus, FormatPainterActions, EmojiPickerAction, NodeSelection, MarkdownParser, LISTS_COMMAND, selectionCommand, LINK_COMMAND, CLEAR_COMMAND, MD_TABLE, INSERT_TEXT_COMMAND, ClearFormat, MDLists, MDFormats, MarkdownSelection, UndoRedoCommands, MDSelectionFormats, MDLink, MDTable, markdownFormatTags, markdownSelectionTags, markdownListsTags, htmlKeyConfig, markdownKeyConfig, pasteCleanupGroupingTags, listConversionFilters, selfClosingTags, KEY_DOWN, ACTION, FORMAT_TYPE, KEY_DOWN_HANDLER, LIST_TYPE, KEY_UP_HANDLER, KEY_UP, MODEL_CHANGED_PLUGIN, MODEL_CHANGED, MS_WORD_CLEANUP_PLUGIN, MS_WORD_CLEANUP, ON_BEGIN, SPACE_ACTION, FORMAT_PAINTER_ACTIONS, EMOJI_PICKER_ACTIONS };
|
|
34240
34359
|
//# sourceMappingURL=ej2-richtexteditor.es2015.js.map
|