@syncfusion/ej2-richtexteditor 22.2.12 → 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 +39 -1
- 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 +365 -263
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +365 -259
- 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.js +1 -1
- package/src/rich-text-editor/renderer/image-module.js +8 -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 +5 -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;
|
|
@@ -25344,6 +25549,9 @@ class Image {
|
|
|
25344
25549
|
if (this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
|
|
25345
25550
|
this.quickToolObj.inlineQTBar.hidePopup();
|
|
25346
25551
|
}
|
|
25552
|
+
if (this.quickToolObj.textQTBar && this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
|
|
25553
|
+
this.quickToolObj.textQTBar.hidePopup();
|
|
25554
|
+
}
|
|
25347
25555
|
}
|
|
25348
25556
|
}
|
|
25349
25557
|
// eslint-disable-next-line
|
|
@@ -25609,10 +25817,8 @@ class Image {
|
|
|
25609
25817
|
});
|
|
25610
25818
|
uploadParentEle.appendChild(uploadEle);
|
|
25611
25819
|
let altText;
|
|
25612
|
-
let rawFile;
|
|
25613
25820
|
let selectArgs;
|
|
25614
25821
|
let filesData;
|
|
25615
|
-
let beforeUploadArgs;
|
|
25616
25822
|
this.uploadObj = new Uploader({
|
|
25617
25823
|
asyncSettings: { saveUrl: this.parent.insertImageSettings.saveUrl, removeUrl: this.parent.insertImageSettings.removeUrl },
|
|
25618
25824
|
dropArea: span, multiple: false, enableRtl: this.parent.enableRtl, cssClass: this.parent.cssClass,
|
|
@@ -25620,13 +25826,8 @@ class Image {
|
|
|
25620
25826
|
selected: (e) => {
|
|
25621
25827
|
proxy.isImgUploaded = true;
|
|
25622
25828
|
selectArgs = e;
|
|
25829
|
+
// eslint-disable-next-line
|
|
25623
25830
|
filesData = e.filesData;
|
|
25624
|
-
if (this.parent.isServerRendered) {
|
|
25625
|
-
selectArgs = JSON.parse(JSON.stringify(e));
|
|
25626
|
-
e.cancel = true;
|
|
25627
|
-
rawFile = e.filesData;
|
|
25628
|
-
selectArgs.filesData = rawFile;
|
|
25629
|
-
}
|
|
25630
25831
|
this.parent.trigger(imageSelected, selectArgs, (selectArgs) => {
|
|
25631
25832
|
if (!selectArgs.cancel) {
|
|
25632
25833
|
this.checkExtension(selectArgs.filesData[0]);
|
|
@@ -25657,35 +25858,11 @@ class Image {
|
|
|
25657
25858
|
});
|
|
25658
25859
|
reader.readAsDataURL(selectArgs.filesData[0].rawFile);
|
|
25659
25860
|
}
|
|
25660
|
-
if (this.parent.isServerRendered) {
|
|
25661
|
-
/* eslint-disable */
|
|
25662
|
-
this.uploadObj._internalRenderSelect(selectArgs, rawFile);
|
|
25663
|
-
/* eslint-enable */
|
|
25664
|
-
}
|
|
25665
25861
|
}
|
|
25666
25862
|
});
|
|
25667
25863
|
},
|
|
25668
25864
|
beforeUpload: (args) => {
|
|
25669
|
-
|
|
25670
|
-
beforeUploadArgs = JSON.parse(JSON.stringify(args));
|
|
25671
|
-
beforeUploadArgs.filesData = filesData;
|
|
25672
|
-
args.cancel = true;
|
|
25673
|
-
this.parent.trigger(imageUploading, beforeUploadArgs, (beforeUploadArgs) => {
|
|
25674
|
-
if (beforeUploadArgs.cancel) {
|
|
25675
|
-
return;
|
|
25676
|
-
}
|
|
25677
|
-
/* eslint-disable */
|
|
25678
|
-
this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
|
|
25679
|
-
beforeUploadArgs.currentRequest : this.uploadObj.currentRequestHeader;
|
|
25680
|
-
this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
|
|
25681
|
-
beforeUploadArgs.customFormData : this.uploadObj.customFormDatas;
|
|
25682
|
-
this.uploadObj.uploadFiles(rawFile, null);
|
|
25683
|
-
/* eslint-enable */
|
|
25684
|
-
});
|
|
25685
|
-
}
|
|
25686
|
-
else {
|
|
25687
|
-
this.parent.trigger(beforeImageUpload, args);
|
|
25688
|
-
}
|
|
25865
|
+
this.parent.trigger(beforeImageUpload, args);
|
|
25689
25866
|
},
|
|
25690
25867
|
uploading: (e) => {
|
|
25691
25868
|
if (!this.parent.isServerRendered) {
|
|
@@ -25999,8 +26176,6 @@ class Image {
|
|
|
25999
26176
|
setTimeout(() => {
|
|
26000
26177
|
proxy.refreshPopup(imageElement);
|
|
26001
26178
|
}, timeOut);
|
|
26002
|
-
let rawFile;
|
|
26003
|
-
let beforeUploadArgs;
|
|
26004
26179
|
this.uploadObj = new Uploader({
|
|
26005
26180
|
asyncSettings: {
|
|
26006
26181
|
saveUrl: this.parent.insertImageSettings.saveUrl,
|
|
@@ -26026,33 +26201,9 @@ class Image {
|
|
|
26026
26201
|
}, 900);
|
|
26027
26202
|
},
|
|
26028
26203
|
beforeUpload: (args) => {
|
|
26029
|
-
|
|
26030
|
-
|
|
26031
|
-
|
|
26032
|
-
isUploading = true;
|
|
26033
|
-
args.cancel = true;
|
|
26034
|
-
this.parent.trigger(imageUploading, beforeUploadArgs, (beforeUploadArgs) => {
|
|
26035
|
-
if (beforeUploadArgs.cancel) {
|
|
26036
|
-
return;
|
|
26037
|
-
}
|
|
26038
|
-
if (!this.parent.inlineMode.enable) {
|
|
26039
|
-
this.parent.toolbarModule.baseToolbar.toolbarObj.disable(true);
|
|
26040
|
-
}
|
|
26041
|
-
/* eslint-disable */
|
|
26042
|
-
this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
|
|
26043
|
-
beforeUploadArgs.currentRequest : this.uploadObj.currentRequestHeader;
|
|
26044
|
-
this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
|
|
26045
|
-
beforeUploadArgs.customFormData : this.uploadObj.customFormDatas;
|
|
26046
|
-
this.uploadObj.uploadFiles(rawFile, null);
|
|
26047
|
-
this.parent.inputElement.contentEditable = 'false';
|
|
26048
|
-
/* eslint-enable */
|
|
26049
|
-
});
|
|
26050
|
-
}
|
|
26051
|
-
else {
|
|
26052
|
-
this.parent.trigger(beforeImageUpload, args);
|
|
26053
|
-
if (!this.parent.inlineMode.enable) {
|
|
26054
|
-
this.parent.toolbarModule.baseToolbar.toolbarObj.disable(true);
|
|
26055
|
-
}
|
|
26204
|
+
this.parent.trigger(beforeImageUpload, args);
|
|
26205
|
+
if (!this.parent.inlineMode.enable) {
|
|
26206
|
+
this.parent.toolbarModule.baseToolbar.toolbarObj.disable(true);
|
|
26056
26207
|
}
|
|
26057
26208
|
},
|
|
26058
26209
|
uploading: (e) => {
|
|
@@ -26077,9 +26228,6 @@ class Image {
|
|
|
26077
26228
|
if (isUploading) {
|
|
26078
26229
|
e.cancel = true;
|
|
26079
26230
|
}
|
|
26080
|
-
if (this.parent.isServerRendered) {
|
|
26081
|
-
rawFile = e.filesData;
|
|
26082
|
-
}
|
|
26083
26231
|
},
|
|
26084
26232
|
failure: (e) => {
|
|
26085
26233
|
isUploading = false;
|
|
@@ -26860,6 +27008,9 @@ class Audio {
|
|
|
26860
27008
|
if (this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
|
|
26861
27009
|
this.quickToolObj.inlineQTBar.hidePopup();
|
|
26862
27010
|
}
|
|
27011
|
+
if (this.quickToolObj.textQTBar && this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
|
|
27012
|
+
this.quickToolObj.textQTBar.hidePopup();
|
|
27013
|
+
}
|
|
26863
27014
|
}
|
|
26864
27015
|
}
|
|
26865
27016
|
// eslint-disable-next-line
|
|
@@ -26927,10 +27078,8 @@ class Audio {
|
|
|
26927
27078
|
});
|
|
26928
27079
|
uploadParentEle.appendChild(uploadEle);
|
|
26929
27080
|
let fileName;
|
|
26930
|
-
let rawFile;
|
|
26931
27081
|
let selectArgs;
|
|
26932
27082
|
let filesData;
|
|
26933
|
-
let beforeUploadArgs;
|
|
26934
27083
|
this.uploadObj = new Uploader({
|
|
26935
27084
|
asyncSettings: { saveUrl: this.parent.insertAudioSettings.saveUrl, removeUrl: this.parent.insertAudioSettings.removeUrl },
|
|
26936
27085
|
dropArea: span, multiple: false, enableRtl: this.parent.enableRtl,
|
|
@@ -26938,13 +27087,8 @@ class Audio {
|
|
|
26938
27087
|
selected: (e) => {
|
|
26939
27088
|
proxy.isAudioUploaded = true;
|
|
26940
27089
|
selectArgs = e;
|
|
27090
|
+
// eslint-disable-next-line
|
|
26941
27091
|
filesData = e.filesData;
|
|
26942
|
-
if (this.parent.isServerRendered) {
|
|
26943
|
-
selectArgs = JSON.parse(JSON.stringify(e));
|
|
26944
|
-
e.cancel = true;
|
|
26945
|
-
rawFile = e.filesData;
|
|
26946
|
-
selectArgs.filesData = rawFile;
|
|
26947
|
-
}
|
|
26948
27092
|
this.parent.trigger(fileSelected, selectArgs, (selectArgs) => {
|
|
26949
27093
|
if (!selectArgs.cancel) {
|
|
26950
27094
|
this.checkExtension(selectArgs.filesData[0]);
|
|
@@ -26967,35 +27111,11 @@ class Audio {
|
|
|
26967
27111
|
});
|
|
26968
27112
|
reader.readAsDataURL(selectArgs.filesData[0].rawFile);
|
|
26969
27113
|
}
|
|
26970
|
-
if (this.parent.isServerRendered) {
|
|
26971
|
-
/* eslint-disable */
|
|
26972
|
-
this.uploadObj._internalRenderSelect(selectArgs, rawFile);
|
|
26973
|
-
/* eslint-enable */
|
|
26974
|
-
}
|
|
26975
27114
|
}
|
|
26976
27115
|
});
|
|
26977
27116
|
},
|
|
26978
27117
|
beforeUpload: (args) => {
|
|
26979
|
-
|
|
26980
|
-
beforeUploadArgs = JSON.parse(JSON.stringify(args));
|
|
26981
|
-
beforeUploadArgs.filesData = filesData;
|
|
26982
|
-
args.cancel = true;
|
|
26983
|
-
this.parent.trigger(fileUploading, beforeUploadArgs, (beforeUploadArgs) => {
|
|
26984
|
-
if (beforeUploadArgs.cancel) {
|
|
26985
|
-
return;
|
|
26986
|
-
}
|
|
26987
|
-
/* eslint-disable */
|
|
26988
|
-
this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
|
|
26989
|
-
beforeUploadArgs.currentRequest : this.uploadObj.currentRequestHeader;
|
|
26990
|
-
this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
|
|
26991
|
-
beforeUploadArgs.customFormData : this.uploadObj.customFormDatas;
|
|
26992
|
-
this.uploadObj.uploadFiles(rawFile, null);
|
|
26993
|
-
/* eslint-enable */
|
|
26994
|
-
});
|
|
26995
|
-
}
|
|
26996
|
-
else {
|
|
26997
|
-
this.parent.trigger(beforeFileUpload, args);
|
|
26998
|
-
}
|
|
27118
|
+
this.parent.trigger(beforeFileUpload, args);
|
|
26999
27119
|
},
|
|
27000
27120
|
uploading: (e) => {
|
|
27001
27121
|
if (!this.parent.isServerRendered) {
|
|
@@ -28223,6 +28343,9 @@ class Video {
|
|
|
28223
28343
|
if (this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
|
|
28224
28344
|
this.quickToolObj.inlineQTBar.hidePopup();
|
|
28225
28345
|
}
|
|
28346
|
+
if (this.quickToolObj.textQTBar && this.parent.element.ownerDocument.body.contains(this.quickToolObj.textQTBar.element)) {
|
|
28347
|
+
this.quickToolObj.textQTBar.hidePopup();
|
|
28348
|
+
}
|
|
28226
28349
|
}
|
|
28227
28350
|
}
|
|
28228
28351
|
// eslint-disable-next-line
|
|
@@ -28332,10 +28455,8 @@ class Video {
|
|
|
28332
28455
|
});
|
|
28333
28456
|
uploadParentEle.appendChild(uploadEle);
|
|
28334
28457
|
let fileName;
|
|
28335
|
-
let rawFile;
|
|
28336
28458
|
let selectArgs;
|
|
28337
28459
|
let filesData;
|
|
28338
|
-
let beforeUploadArgs;
|
|
28339
28460
|
this.uploadObj = new Uploader({
|
|
28340
28461
|
asyncSettings: { saveUrl: this.parent.insertVideoSettings.saveUrl, removeUrl: this.parent.insertVideoSettings.removeUrl },
|
|
28341
28462
|
dropArea: span, multiple: false, enableRtl: this.parent.enableRtl,
|
|
@@ -28343,13 +28464,8 @@ class Video {
|
|
|
28343
28464
|
selected: (e) => {
|
|
28344
28465
|
proxy.isVideoUploaded = true;
|
|
28345
28466
|
selectArgs = e;
|
|
28467
|
+
// eslint-disable-next-line
|
|
28346
28468
|
filesData = e.filesData;
|
|
28347
|
-
if (this.parent.isServerRendered) {
|
|
28348
|
-
selectArgs = JSON.parse(JSON.stringify(e));
|
|
28349
|
-
e.cancel = true;
|
|
28350
|
-
rawFile = e.filesData;
|
|
28351
|
-
selectArgs.filesData = rawFile;
|
|
28352
|
-
}
|
|
28353
28469
|
this.parent.trigger(fileSelected, selectArgs, (selectArgs) => {
|
|
28354
28470
|
if (!selectArgs.cancel) {
|
|
28355
28471
|
this.checkExtension(selectArgs.filesData[0]);
|
|
@@ -28373,35 +28489,11 @@ class Video {
|
|
|
28373
28489
|
});
|
|
28374
28490
|
reader.readAsDataURL(selectArgs.filesData[0].rawFile);
|
|
28375
28491
|
}
|
|
28376
|
-
if (this.parent.isServerRendered) {
|
|
28377
|
-
/* eslint-disable */
|
|
28378
|
-
this.uploadObj._internalRenderSelect(selectArgs, rawFile);
|
|
28379
|
-
/* eslint-enable */
|
|
28380
|
-
}
|
|
28381
28492
|
}
|
|
28382
28493
|
});
|
|
28383
28494
|
},
|
|
28384
28495
|
beforeUpload: (args) => {
|
|
28385
|
-
|
|
28386
|
-
beforeUploadArgs = JSON.parse(JSON.stringify(args));
|
|
28387
|
-
beforeUploadArgs.filesData = filesData;
|
|
28388
|
-
args.cancel = true;
|
|
28389
|
-
this.parent.trigger(fileUploading, beforeUploadArgs, (beforeUploadArgs) => {
|
|
28390
|
-
if (beforeUploadArgs.cancel) {
|
|
28391
|
-
return;
|
|
28392
|
-
}
|
|
28393
|
-
/* eslint-disable */
|
|
28394
|
-
this.uploadObj.currentRequestHeader = beforeUploadArgs.currentRequest ?
|
|
28395
|
-
beforeUploadArgs.currentRequest : this.uploadObj.currentRequestHeader;
|
|
28396
|
-
this.uploadObj.customFormDatas = beforeUploadArgs.customFormData && beforeUploadArgs.customFormData.length > 0 ?
|
|
28397
|
-
beforeUploadArgs.customFormData : this.uploadObj.customFormDatas;
|
|
28398
|
-
this.uploadObj.uploadFiles(rawFile, null);
|
|
28399
|
-
/* eslint-enable */
|
|
28400
|
-
});
|
|
28401
|
-
}
|
|
28402
|
-
else {
|
|
28403
|
-
this.parent.trigger(beforeFileUpload, args);
|
|
28404
|
-
}
|
|
28496
|
+
this.parent.trigger(beforeFileUpload, args);
|
|
28405
28497
|
},
|
|
28406
28498
|
uploading: (e) => {
|
|
28407
28499
|
if (!this.parent.isServerRendered) {
|
|
@@ -28647,6 +28739,7 @@ class ViewSource {
|
|
|
28647
28739
|
* @deprecated
|
|
28648
28740
|
*/
|
|
28649
28741
|
sourceCode(args) {
|
|
28742
|
+
this.parent.notify(hidePopup, {});
|
|
28650
28743
|
this.parent.isBlur = false;
|
|
28651
28744
|
this.parent.trigger(actionBegin, { requestType: 'SourceCode', targetItem: 'SourceCode', args: args });
|
|
28652
28745
|
const tbItems = selectAll('.' + CLS_TB_ITEM, this.parent.element);
|
|
@@ -29278,14 +29371,17 @@ class Table {
|
|
|
29278
29371
|
let pageX;
|
|
29279
29372
|
let pageY;
|
|
29280
29373
|
if (Browser.isDevice && e.args.touches) {
|
|
29281
|
-
pageX =
|
|
29282
|
-
|
|
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;
|
|
29283
29379
|
}
|
|
29284
29380
|
else {
|
|
29285
29381
|
pageX = (this.parent.iframeSettings.enable) ? window.pageXOffset
|
|
29286
29382
|
+ this.parent.element.getBoundingClientRect().left + args.clientX : args.pageX;
|
|
29287
|
-
pageY = (this.parent.iframeSettings.enable) ? window.pageYOffset +
|
|
29288
|
-
this.parent.
|
|
29383
|
+
pageY = (this.parent.iframeSettings.enable) ? window.pageYOffset + this.parent.element.getBoundingClientRect().top +
|
|
29384
|
+
this.parent.toolbarModule.getToolbarHeight() + args.clientY : args.pageY;
|
|
29289
29385
|
}
|
|
29290
29386
|
this.quickToolObj.tableQTBar.showPopup(pageX, pageY, target);
|
|
29291
29387
|
this.parent.formatter.editorManager.nodeSelection.restore();
|
|
@@ -29684,7 +29780,7 @@ class Table {
|
|
|
29684
29780
|
const width = parseFloat(this.columnEle.offsetWidth.toString());
|
|
29685
29781
|
const cellRow = this.curTable.rows[0].cells[0].nodeName === 'TH' ? 1 : 0;
|
|
29686
29782
|
let currentTableWidth;
|
|
29687
|
-
if (this.curTable.style.width
|
|
29783
|
+
if (this.curTable.style.width !== '') {
|
|
29688
29784
|
currentTableWidth = parseFloat(this.curTable.style.width.split('%')[0]);
|
|
29689
29785
|
}
|
|
29690
29786
|
else {
|
|
@@ -29747,6 +29843,7 @@ class Table {
|
|
|
29747
29843
|
let isMergedEleResize = false;
|
|
29748
29844
|
let leftTableCell;
|
|
29749
29845
|
let rightTableCell;
|
|
29846
|
+
/* eslint-disable */
|
|
29750
29847
|
for (let j = 0; j < currentRow.cells.length; j++) {
|
|
29751
29848
|
if (currentRow.cells[j].hasAttribute('rowspan') && j <= this.colIndex) {
|
|
29752
29849
|
isRowCellsMerged = true;
|
|
@@ -29805,6 +29902,7 @@ class Table {
|
|
|
29805
29902
|
this.convertPixelToPercentage(rightColWidth, tableWidth) + '%';
|
|
29806
29903
|
}
|
|
29807
29904
|
}
|
|
29905
|
+
/* eslint-enable */
|
|
29808
29906
|
}
|
|
29809
29907
|
}
|
|
29810
29908
|
}
|
|
@@ -29939,7 +30037,8 @@ class Table {
|
|
|
29939
30037
|
this.hideTableQuickToolbar();
|
|
29940
30038
|
}
|
|
29941
30039
|
renderDlgContent(args) {
|
|
29942
|
-
|
|
30040
|
+
const argsTarget = args.args.originalEvent.target;
|
|
30041
|
+
if (Browser.isDevice || this.parent.inlineMode.enable || !isNullOrUndefined(closest(argsTarget, '.e-rte-text-popup'))) {
|
|
29943
30042
|
this.insertTableDialog(args);
|
|
29944
30043
|
return;
|
|
29945
30044
|
}
|
|
@@ -30193,6 +30292,10 @@ class Table {
|
|
|
30193
30292
|
if (this.quickToolObj && this.quickToolObj.inlineQTBar && document.body.contains(this.quickToolObj.inlineQTBar.element)) {
|
|
30194
30293
|
this.quickToolObj.inlineQTBar.hidePopup();
|
|
30195
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
|
+
}
|
|
30196
30299
|
}
|
|
30197
30300
|
customTable(args, e) {
|
|
30198
30301
|
const proxy = (this.self) ? this.self : this;
|
|
@@ -30200,7 +30303,8 @@ class Table {
|
|
|
30200
30303
|
const argument = ((Browser.isDevice || (!isNullOrUndefined(args.args)
|
|
30201
30304
|
&& !isNullOrUndefined(args.args.originalEvent) &&
|
|
30202
30305
|
args.args.originalEvent.action === 'insert-table')
|
|
30203
|
-
|| proxy.parent.inlineMode.enable) ? args :
|
|
30306
|
+
|| proxy.parent.inlineMode.enable || !isNullOrUndefined(proxy.parent.quickToolbarSettings.text)) ? args :
|
|
30307
|
+
this);
|
|
30204
30308
|
proxy.tableInsert(proxy.rowTextBox.value, proxy.columnTextBox.value, e, argument);
|
|
30205
30309
|
}
|
|
30206
30310
|
}
|
|
@@ -30365,7 +30469,7 @@ class DialogRenderer {
|
|
|
30365
30469
|
this.parent.trigger(beforeDialogOpen, args, this.beforeOpenCallback.bind(this, args));
|
|
30366
30470
|
}
|
|
30367
30471
|
handleEnterKeyDown(args) {
|
|
30368
|
-
if (args.code ===
|
|
30472
|
+
if (args.code === 'Enter') {
|
|
30369
30473
|
args.preventDefault();
|
|
30370
30474
|
}
|
|
30371
30475
|
}
|
|
@@ -30845,7 +30949,7 @@ __decorate$2([
|
|
|
30845
30949
|
Property(['VideoReplace', 'VideoAlign', 'VideoRemove', 'VideoLayoutOption', 'VideoDimension'])
|
|
30846
30950
|
], QuickToolbarSettings.prototype, "video", void 0);
|
|
30847
30951
|
__decorate$2([
|
|
30848
|
-
Property(
|
|
30952
|
+
Property(null)
|
|
30849
30953
|
], QuickToolbarSettings.prototype, "text", void 0);
|
|
30850
30954
|
__decorate$2([
|
|
30851
30955
|
Property(['TableHeader', 'TableRows', 'TableColumns', 'BackgroundColor', '-', 'TableRemove', 'Alignments', 'TableCellVerticalAlign', 'Styles'])
|
|
@@ -31216,8 +31320,12 @@ class EnterKeyAction {
|
|
|
31216
31320
|
(this.range.startContainer.previousSibling.nodeName === 'IMG' || this.range.startContainer.previousSibling.nodeName === 'BR'))) {
|
|
31217
31321
|
let isNearBlockLengthZero;
|
|
31218
31322
|
let newElem;
|
|
31219
|
-
if (!isNullOrUndefined(this.range.startContainer.childNodes) &&
|
|
31220
|
-
|
|
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')) ||
|
|
31221
31329
|
this.range.startContainer.nodeName === 'IMG' || this.range.startContainer.nodeName === 'TABLE')) {
|
|
31222
31330
|
newElem = this.createInsertElement(shiftKey);
|
|
31223
31331
|
isMediaNode = true;
|
|
@@ -32574,9 +32682,6 @@ let RichTextEditor = class RichTextEditor extends Component {
|
|
|
32574
32682
|
this.removeAttributes();
|
|
32575
32683
|
super.destroy();
|
|
32576
32684
|
this.isRendered = false;
|
|
32577
|
-
if (this.enablePersistence) {
|
|
32578
|
-
window.localStorage.removeItem(this.getModuleName() + this.element.id);
|
|
32579
|
-
}
|
|
32580
32685
|
}
|
|
32581
32686
|
removeHtmlAttributes() {
|
|
32582
32687
|
if (this.htmlAttributes) {
|
|
@@ -32705,9 +32810,10 @@ let RichTextEditor = class RichTextEditor extends Component {
|
|
|
32705
32810
|
else {
|
|
32706
32811
|
nVal = newProp[prop];
|
|
32707
32812
|
}
|
|
32813
|
+
nVal = this.serializeValue(nVal);
|
|
32708
32814
|
const val = this.editorMode === 'HTML' ? getEditValue(nVal, this) : nVal;
|
|
32709
32815
|
if ((!isNullOrUndefined(nVal) && nVal !== '') || prop === 'enterKey') {
|
|
32710
|
-
this.value
|
|
32816
|
+
this.setProperties({ value: ((this.enableHtmlEncode) ? this.encode(decode(val)) : val) }, true);
|
|
32711
32817
|
}
|
|
32712
32818
|
this.updatePanelValue();
|
|
32713
32819
|
if (this.inputElement) {
|
|
@@ -33253,10 +33359,6 @@ let RichTextEditor = class RichTextEditor extends Component {
|
|
|
33253
33359
|
// eslint-disable-next-line
|
|
33254
33360
|
const imgPadding = 12;
|
|
33255
33361
|
const imgResizeBorder = 2;
|
|
33256
|
-
if (isNullOrUndefined(this.contentModule) || isNullOrUndefined(this.contentModule.getEditPanel())) {
|
|
33257
|
-
EventHandler.remove(this.contentModule.getDocument(), Browser.touchMoveEvent, this.imageModule.resizing);
|
|
33258
|
-
return maxWidth;
|
|
33259
|
-
}
|
|
33260
33362
|
const editEle = this.contentModule.getEditPanel();
|
|
33261
33363
|
const eleStyle = window.getComputedStyle(editEle);
|
|
33262
33364
|
const editEleMaxWidth = editEle.offsetWidth - (imgPadding + imgResizeBorder +
|
|
@@ -34253,5 +34355,5 @@ RichTextEditor = __decorate$1([
|
|
|
34253
34355
|
* Rich Text Editor component exported items
|
|
34254
34356
|
*/
|
|
34255
34357
|
|
|
34256
|
-
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 };
|
|
34257
34359
|
//# sourceMappingURL=ej2-richtexteditor.es2015.js.map
|