@syncfusion/ej2-richtexteditor 25.1.40 → 25.1.41-85815
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +259 -259
- package/CHANGELOG.md +2067 -1973
- package/README.md +76 -76
- package/dist/ej2-richtexteditor.umd.min.js +1 -10
- package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es2015.js +760 -307
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +861 -405
- package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
- package/ej2-richtexteditor-component.sln +30 -0
- package/helpers/e2e/index.js +3 -3
- package/helpers/e2e/rte-helper.js +13 -13
- package/license +9 -9
- package/package.json +74 -74
- package/src/common/interface.d.ts +22 -8
- package/src/common/util.d.ts +8 -0
- package/src/common/util.js +56 -1
- package/src/editor-manager/base/classes.d.ts +1 -1
- package/src/editor-manager/base/classes.js +1 -1
- package/src/editor-manager/base/editor-manager.d.ts +3 -3
- package/src/editor-manager/base/editor-manager.js +8 -6
- package/src/editor-manager/base/enum.d.ts +2 -2
- package/src/editor-manager/base/interface.d.ts +9 -9
- package/src/editor-manager/base/types.d.ts +1 -1
- package/src/editor-manager/plugin/alignments.d.ts +2 -2
- package/src/editor-manager/plugin/alignments.js +5 -2
- package/src/editor-manager/plugin/audio.d.ts +3 -3
- package/src/editor-manager/plugin/audio.js +3 -3
- package/src/editor-manager/plugin/clearformat-exec.d.ts +2 -2
- package/src/editor-manager/plugin/clearformat-exec.js +2 -2
- package/src/editor-manager/plugin/clearformat.d.ts +1 -1
- package/src/editor-manager/plugin/clearformat.js +1 -1
- package/src/editor-manager/plugin/dom-node.d.ts +54 -34
- package/src/editor-manager/plugin/dom-node.js +139 -36
- package/src/editor-manager/plugin/format-painter-actions.d.ts +1 -1
- package/src/editor-manager/plugin/format-painter-actions.js +1 -1
- package/src/editor-manager/plugin/formats.d.ts +2 -2
- package/src/editor-manager/plugin/formats.js +3 -3
- package/src/editor-manager/plugin/image.d.ts +3 -3
- package/src/editor-manager/plugin/image.js +3 -3
- package/src/editor-manager/plugin/indents.d.ts +2 -2
- package/src/editor-manager/plugin/indents.js +5 -2
- package/src/editor-manager/plugin/insert-methods.d.ts +4 -4
- package/src/editor-manager/plugin/insert-methods.js +4 -4
- package/src/editor-manager/plugin/insert-text.d.ts +2 -2
- package/src/editor-manager/plugin/insert-text.js +2 -2
- package/src/editor-manager/plugin/inserthtml-exec.d.ts +2 -2
- package/src/editor-manager/plugin/inserthtml-exec.js +2 -2
- package/src/editor-manager/plugin/inserthtml.d.ts +2 -2
- package/src/editor-manager/plugin/inserthtml.js +13 -4
- package/src/editor-manager/plugin/isformatted.d.ts +8 -8
- package/src/editor-manager/plugin/isformatted.js +8 -8
- package/src/editor-manager/plugin/link.d.ts +2 -2
- package/src/editor-manager/plugin/link.js +2 -2
- package/src/editor-manager/plugin/lists.d.ts +2 -2
- package/src/editor-manager/plugin/lists.js +84 -61
- package/src/editor-manager/plugin/ms-word-clean-up.d.ts +1 -1
- package/src/editor-manager/plugin/ms-word-clean-up.js +4 -4
- package/src/editor-manager/plugin/nodecutter.d.ts +6 -6
- package/src/editor-manager/plugin/nodecutter.js +8 -8
- package/src/editor-manager/plugin/selection-commands.d.ts +1 -1
- package/src/editor-manager/plugin/selection-commands.js +1 -1
- package/src/editor-manager/plugin/selection-exec.d.ts +2 -2
- package/src/editor-manager/plugin/selection-exec.js +2 -2
- package/src/editor-manager/plugin/table.d.ts +2 -2
- package/src/editor-manager/plugin/table.js +2 -2
- package/src/editor-manager/plugin/toolbar-status.d.ts +2 -2
- package/src/editor-manager/plugin/toolbar-status.js +2 -2
- package/src/editor-manager/plugin/undo.d.ts +6 -6
- package/src/editor-manager/plugin/undo.js +9 -7
- package/src/editor-manager/plugin/video.d.ts +3 -3
- package/src/editor-manager/plugin/video.js +3 -3
- package/src/markdown-parser/base/interface.d.ts +10 -10
- package/src/markdown-parser/base/markdown-parser.d.ts +3 -3
- package/src/markdown-parser/base/markdown-parser.js +3 -3
- package/src/markdown-parser/base/types.d.ts +1 -1
- package/src/markdown-parser/plugin/clearformat.d.ts +2 -2
- package/src/markdown-parser/plugin/clearformat.js +2 -2
- package/src/markdown-parser/plugin/formats.d.ts +2 -2
- package/src/markdown-parser/plugin/formats.js +2 -2
- package/src/markdown-parser/plugin/insert-text.d.ts +2 -2
- package/src/markdown-parser/plugin/insert-text.js +2 -2
- package/src/markdown-parser/plugin/link.d.ts +2 -2
- package/src/markdown-parser/plugin/link.js +2 -2
- package/src/markdown-parser/plugin/markdown-selection.d.ts +14 -14
- package/src/markdown-parser/plugin/markdown-selection.js +14 -14
- package/src/markdown-parser/plugin/md-selection-formats.d.ts +1 -1
- package/src/markdown-parser/plugin/md-selection-formats.js +1 -1
- package/src/markdown-parser/plugin/table.d.ts +3 -3
- package/src/markdown-parser/plugin/table.js +3 -3
- package/src/markdown-parser/plugin/undo.d.ts +6 -6
- package/src/markdown-parser/plugin/undo.js +6 -6
- package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +9 -9
- package/src/rich-text-editor/actions/base-quick-toolbar.js +9 -9
- package/src/rich-text-editor/actions/base-toolbar.d.ts +3 -3
- package/src/rich-text-editor/actions/base-toolbar.js +3 -3
- package/src/rich-text-editor/actions/color-picker.d.ts +2 -2
- package/src/rich-text-editor/actions/color-picker.js +2 -2
- package/src/rich-text-editor/actions/count.d.ts +3 -3
- package/src/rich-text-editor/actions/count.js +3 -3
- package/src/rich-text-editor/actions/dropdown-buttons.d.ts +2 -2
- package/src/rich-text-editor/actions/dropdown-buttons.js +2 -2
- package/src/rich-text-editor/actions/emoji-picker.d.ts +1 -1
- package/src/rich-text-editor/actions/emoji-picker.js +2 -2
- package/src/rich-text-editor/actions/enter-key.d.ts +5 -0
- package/src/rich-text-editor/actions/enter-key.js +107 -13
- package/src/rich-text-editor/actions/full-screen.d.ts +3 -3
- package/src/rich-text-editor/actions/full-screen.js +3 -9
- package/src/rich-text-editor/actions/html-editor.d.ts +5 -3
- package/src/rich-text-editor/actions/html-editor.js +106 -26
- package/src/rich-text-editor/actions/keyboard-model.d.ts +16 -16
- package/src/rich-text-editor/actions/keyboard.d.ts +1 -1
- package/src/rich-text-editor/actions/keyboard.js +20 -20
- package/src/rich-text-editor/actions/markdown-editor.d.ts +2 -2
- package/src/rich-text-editor/actions/markdown-editor.js +2 -2
- package/src/rich-text-editor/actions/paste-clean-up.d.ts +2 -1
- package/src/rich-text-editor/actions/paste-clean-up.js +57 -16
- package/src/rich-text-editor/actions/quick-toolbar.d.ts +9 -9
- package/src/rich-text-editor/actions/quick-toolbar.js +9 -9
- package/src/rich-text-editor/actions/toolbar.d.ts +13 -13
- package/src/rich-text-editor/actions/toolbar.js +13 -13
- package/src/rich-text-editor/actions/xhtml-validation.d.ts +1 -1
- package/src/rich-text-editor/actions/xhtml-validation.js +1 -1
- package/src/rich-text-editor/base/classes.d.ts +121 -121
- package/src/rich-text-editor/base/classes.js +121 -121
- package/src/rich-text-editor/base/constant.d.ts +158 -158
- package/src/rich-text-editor/base/constant.js +158 -158
- package/src/rich-text-editor/base/enum.d.ts +5 -5
- package/src/rich-text-editor/base/enum.js +10 -10
- package/src/rich-text-editor/base/interface.d.ts +53 -53
- package/src/rich-text-editor/base/interface.js +1 -1
- package/src/rich-text-editor/base/rich-text-editor-model.d.ts +891 -891
- package/src/rich-text-editor/base/rich-text-editor.d.ts +63 -61
- package/src/rich-text-editor/base/rich-text-editor.js +89 -67
- package/src/rich-text-editor/base/util.d.ts +1 -1
- package/src/rich-text-editor/base/util.js +1 -1
- package/src/rich-text-editor/formatter/formatter.d.ts +8 -8
- package/src/rich-text-editor/formatter/formatter.js +8 -8
- package/src/rich-text-editor/formatter/html-formatter.d.ts +2 -2
- package/src/rich-text-editor/formatter/html-formatter.js +15 -15
- package/src/rich-text-editor/formatter/markdown-formatter.d.ts +2 -2
- package/src/rich-text-editor/formatter/markdown-formatter.js +15 -15
- package/src/rich-text-editor/models/iframe-settings-model.d.ts +26 -26
- package/src/rich-text-editor/models/iframe-settings.js +19 -19
- package/src/rich-text-editor/models/inline-mode-model.d.ts +11 -11
- package/src/rich-text-editor/models/inline-mode.js +19 -19
- package/src/rich-text-editor/models/toolbar-settings-model.d.ts +760 -760
- package/src/rich-text-editor/models/toolbar-settings.js +19 -19
- package/src/rich-text-editor/renderer/audio-module.d.ts +1 -1
- package/src/rich-text-editor/renderer/audio-module.js +7 -2
- package/src/rich-text-editor/renderer/content-renderer.d.ts +6 -6
- package/src/rich-text-editor/renderer/content-renderer.js +6 -6
- package/src/rich-text-editor/renderer/dialog-renderer.d.ts +2 -2
- package/src/rich-text-editor/renderer/dialog-renderer.js +2 -2
- package/src/rich-text-editor/renderer/iframe-content-renderer.d.ts +4 -4
- package/src/rich-text-editor/renderer/iframe-content-renderer.js +18 -18
- package/src/rich-text-editor/renderer/image-module.d.ts +1 -1
- package/src/rich-text-editor/renderer/image-module.js +13 -8
- package/src/rich-text-editor/renderer/link-module.d.ts +1 -1
- package/src/rich-text-editor/renderer/link-module.js +4 -1
- package/src/rich-text-editor/renderer/markdown-renderer.d.ts +6 -6
- package/src/rich-text-editor/renderer/markdown-renderer.js +6 -6
- package/src/rich-text-editor/renderer/popup-renderer.d.ts +5 -5
- package/src/rich-text-editor/renderer/popup-renderer.js +5 -5
- package/src/rich-text-editor/renderer/render.d.ts +2 -2
- package/src/rich-text-editor/renderer/render.js +2 -2
- package/src/rich-text-editor/renderer/table-module.d.ts +1 -1
- package/src/rich-text-editor/renderer/table-module.js +6 -2
- package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +11 -9
- package/src/rich-text-editor/renderer/toolbar-renderer.js +23 -19
- package/src/rich-text-editor/renderer/video-module.d.ts +1 -1
- package/src/rich-text-editor/renderer/video-module.js +7 -2
- package/src/rich-text-editor/renderer/view-source.d.ts +6 -6
- package/src/rich-text-editor/renderer/view-source.js +6 -6
- package/src/rich-text-editor/services/renderer-factory.d.ts +3 -3
- package/src/rich-text-editor/services/renderer-factory.js +3 -3
- package/src/rich-text-editor/services/service-locator.d.ts +3 -3
- package/src/rich-text-editor/services/service-locator.js +3 -3
- package/src/selection/selection.d.ts +22 -22
- package/src/selection/selection.js +22 -22
- package/styles/_all.scss +1 -1
- package/styles/bootstrap-dark.css +739 -801
- package/styles/bootstrap-dark.scss +4 -1
- package/styles/bootstrap.css +723 -801
- package/styles/bootstrap.scss +4 -1
- package/styles/bootstrap4.css +726 -803
- package/styles/bootstrap4.scss +4 -1
- package/styles/bootstrap5-dark.css +750 -840
- package/styles/bootstrap5-dark.scss +4 -1
- package/styles/bootstrap5.css +749 -839
- package/styles/bootstrap5.scss +4 -1
- package/styles/fabric-dark.css +724 -797
- package/styles/fabric-dark.scss +4 -1
- package/styles/fabric.css +720 -797
- package/styles/fabric.scss +4 -1
- package/styles/fluent-dark.css +727 -820
- package/styles/fluent-dark.scss +4 -1
- package/styles/fluent.css +726 -819
- package/styles/fluent.scss +4 -1
- package/styles/fluent2.css +4255 -0
- package/styles/fluent2.scss +4 -0
- package/styles/highcontrast-light.css +695 -795
- package/styles/highcontrast-light.scss +4 -1
- package/styles/highcontrast.css +717 -797
- package/styles/highcontrast.scss +4 -1
- package/styles/material-dark.css +716 -798
- package/styles/material-dark.scss +4 -1
- package/styles/material.css +713 -800
- package/styles/material.scss +4 -1
- package/styles/material3-dark.css +751 -857
- package/styles/material3-dark.scss +4 -1
- package/styles/material3.css +751 -857
- package/styles/material3.scss +4 -1
- package/styles/rich-text-editor/_all.scss +2 -2
- package/styles/rich-text-editor/_bds-definition.scss +290 -285
- package/styles/rich-text-editor/_bigger.scss +610 -0
- package/styles/rich-text-editor/_bootstrap-dark-definition.scss +291 -287
- package/styles/rich-text-editor/_bootstrap-definition.scss +349 -343
- package/styles/rich-text-editor/_bootstrap4-definition.scss +476 -470
- package/styles/rich-text-editor/_bootstrap5-definition.scss +278 -272
- package/styles/rich-text-editor/_bootstrap5.3-definition.scss +278 -0
- package/styles/rich-text-editor/_fabric-dark-definition.scss +275 -269
- package/styles/rich-text-editor/_fabric-definition.scss +273 -267
- package/styles/rich-text-editor/_fluent-definition.scss +279 -273
- package/styles/rich-text-editor/_fluent2-definition.scss +287 -0
- package/styles/rich-text-editor/_fusionnew-definition.scss +276 -271
- package/styles/rich-text-editor/_highcontrast-definition.scss +274 -267
- package/styles/rich-text-editor/_highcontrast-light-definition.scss +273 -267
- package/styles/rich-text-editor/_layout.scss +2175 -2268
- package/styles/rich-text-editor/_material-dark-definition.scss +278 -272
- package/styles/rich-text-editor/_material-definition.scss +276 -270
- package/styles/rich-text-editor/_material3-definition.scss +278 -272
- package/styles/rich-text-editor/_tailwind-definition.scss +273 -267
- package/styles/rich-text-editor/_tailwind4-definition.scss +278 -0
- package/styles/rich-text-editor/_theme.scss +844 -927
- package/styles/rich-text-editor/bootstrap-dark.css +739 -801
- package/styles/rich-text-editor/bootstrap.css +723 -801
- package/styles/rich-text-editor/bootstrap4.css +726 -803
- package/styles/rich-text-editor/bootstrap5-dark.css +750 -840
- package/styles/rich-text-editor/bootstrap5.css +749 -839
- package/styles/rich-text-editor/fabric-dark.css +724 -797
- package/styles/rich-text-editor/fabric.css +720 -797
- package/styles/rich-text-editor/fluent-dark.css +727 -820
- package/styles/rich-text-editor/fluent.css +726 -819
- package/styles/rich-text-editor/fluent2.css +4255 -0
- package/styles/rich-text-editor/fluent2.scss +4 -0
- package/styles/rich-text-editor/highcontrast-light.css +695 -795
- package/styles/rich-text-editor/highcontrast.css +717 -797
- package/styles/rich-text-editor/icons/_bds.scss +372 -351
- package/styles/rich-text-editor/icons/_bootstrap-dark.scss +373 -352
- package/styles/rich-text-editor/icons/_bootstrap.scss +373 -352
- package/styles/rich-text-editor/icons/_bootstrap4.scss +373 -352
- package/styles/rich-text-editor/icons/_bootstrap5.3.scss +372 -0
- package/styles/rich-text-editor/icons/_bootstrap5.scss +372 -351
- package/styles/rich-text-editor/icons/_fabric-dark.scss +373 -352
- package/styles/rich-text-editor/icons/_fabric.scss +373 -352
- package/styles/rich-text-editor/icons/_fluent.scss +372 -351
- package/styles/rich-text-editor/icons/_fluent2.scss +369 -0
- package/styles/rich-text-editor/icons/_fusionnew.scss +357 -348
- package/styles/rich-text-editor/icons/_highcontrast-light.scss +361 -352
- package/styles/rich-text-editor/icons/_highcontrast.scss +373 -352
- package/styles/rich-text-editor/icons/_material-dark.scss +373 -352
- package/styles/rich-text-editor/icons/_material.scss +373 -352
- package/styles/rich-text-editor/icons/_material3.scss +372 -351
- package/styles/rich-text-editor/icons/_tailwind.scss +372 -351
- package/styles/rich-text-editor/icons/_tailwind4.scss +372 -0
- package/styles/rich-text-editor/material-dark.css +716 -798
- package/styles/rich-text-editor/material.css +713 -800
- package/styles/rich-text-editor/material3-dark.css +751 -857
- package/styles/rich-text-editor/material3-dark.scss +1 -1
- package/styles/rich-text-editor/material3.css +751 -857
- package/styles/rich-text-editor/material3.scss +1 -1
- package/styles/rich-text-editor/tailwind-dark.css +740 -829
- package/styles/rich-text-editor/tailwind.css +740 -829
- package/styles/tailwind-dark.css +740 -829
- package/styles/tailwind-dark.scss +4 -1
- package/styles/tailwind.css +740 -829
- package/styles/tailwind.scss +4 -1
- package/dist/ej2-richtexteditor.min.js +0 -10
- package/dist/global/ej2-richtexteditor.min.js +0 -11
- package/dist/global/ej2-richtexteditor.min.js.map +0 -1
- package/dist/global/index.d.ts +0 -14
- package/tslint.json +0 -111
|
@@ -778,18 +778,18 @@ const closeTooltip = 'closeTooltip';
|
|
|
778
778
|
* @hidden
|
|
779
779
|
* @deprecated
|
|
780
780
|
*/
|
|
781
|
-
const blockEmptyNodes = `address:empty, article:empty, aside:empty, blockquote:empty,
|
|
782
|
-
details:empty, dd:empty, div:empty, dl:empty, dt:empty, fieldset:empty, footer:empty,form:empty, h1:empty,
|
|
783
|
-
h2:empty, h3:empty, h4:empty, h5:empty, h6:empty, header:empty, hgroup:empty, li:empty, main:empty, nav:empty,
|
|
781
|
+
const blockEmptyNodes = `address:empty, article:empty, aside:empty, blockquote:empty,
|
|
782
|
+
details:empty, dd:empty, div:empty, dl:empty, dt:empty, fieldset:empty, footer:empty,form:empty, h1:empty,
|
|
783
|
+
h2:empty, h3:empty, h4:empty, h5:empty, h6:empty, header:empty, hgroup:empty, li:empty, main:empty, nav:empty,
|
|
784
784
|
noscript:empty, output:empty, p:empty, pre:empty, section:empty, td:empty, th:empty`;
|
|
785
785
|
/**
|
|
786
786
|
* @hidden
|
|
787
787
|
* @deprecated
|
|
788
788
|
*/
|
|
789
|
-
const inlineEmptyNodes = `a:empty, abbr:empty, acronym:empty, b:empty, bdi:empty, bdo:empty, big:empty, button:empty,
|
|
790
|
-
canvas:empty, cite:empty, code:empty, data:empty, datalist:empty, del:empty, dfn:empty, em:empty, font:empty, i:empty, iframe:empty,
|
|
791
|
-
ins:empty, kbd:empty, label:empty, map:empty, mark:empty, meter:empty, noscript:empty, object:empty, output:empty, picture:empty, progress:empty,
|
|
792
|
-
q:empty, ruby:empty, s:empty, samp:empty, script:empty, select:empty, slot:empty, small:empty, span:empty, strong:empty, strike:empty, sub:empty, sup:empty, svg:empty,
|
|
789
|
+
const inlineEmptyNodes = `a:empty, abbr:empty, acronym:empty, b:empty, bdi:empty, bdo:empty, big:empty, button:empty,
|
|
790
|
+
canvas:empty, cite:empty, code:empty, data:empty, datalist:empty, del:empty, dfn:empty, em:empty, font:empty, i:empty, iframe:empty,
|
|
791
|
+
ins:empty, kbd:empty, label:empty, map:empty, mark:empty, meter:empty, noscript:empty, object:empty, output:empty, picture:empty, progress:empty,
|
|
792
|
+
q:empty, ruby:empty, s:empty, samp:empty, script:empty, select:empty, slot:empty, small:empty, span:empty, strong:empty, strike:empty, sub:empty, sup:empty, svg:empty,
|
|
793
793
|
template:empty, textarea:empty, time:empty, u:empty, tt:empty, var:empty, wbr:empty`;
|
|
794
794
|
/**
|
|
795
795
|
* @hidden
|
|
@@ -1651,15 +1651,15 @@ var DialogType;
|
|
|
1651
1651
|
/**
|
|
1652
1652
|
* Defines types to be used as inserted image.
|
|
1653
1653
|
*/
|
|
1654
|
-
var
|
|
1655
|
-
(function (
|
|
1656
|
-
/** Defines
|
|
1657
|
-
|
|
1658
|
-
/** Defines
|
|
1659
|
-
|
|
1660
|
-
/** Defines
|
|
1661
|
-
|
|
1662
|
-
})(
|
|
1654
|
+
var ImageInputSource;
|
|
1655
|
+
(function (ImageInputSource) {
|
|
1656
|
+
/** Defines ImageInputSource as Uploaded */
|
|
1657
|
+
ImageInputSource["Uploaded"] = "Uploaded";
|
|
1658
|
+
/** Defines ImageInputSource as Dropped */
|
|
1659
|
+
ImageInputSource["Dropped"] = "Dropped";
|
|
1660
|
+
/** Defines ImageInputSource as Pasted */
|
|
1661
|
+
ImageInputSource["Pasted"] = "Pasted";
|
|
1662
|
+
})(ImageInputSource || (ImageInputSource = {}));
|
|
1663
1663
|
|
|
1664
1664
|
/* eslint-disable */
|
|
1665
1665
|
/**
|
|
@@ -4477,6 +4477,10 @@ function updateTextNode$1(value, enterAction) {
|
|
|
4477
4477
|
tableElm[i].classList.remove('e-rte-paste-onenote-table');
|
|
4478
4478
|
continue;
|
|
4479
4479
|
}
|
|
4480
|
+
else if (tableElm[i].classList.contains('e-rte-paste-html-table')) {
|
|
4481
|
+
tableElm[i].classList.remove('e-rte-paste-html-table');
|
|
4482
|
+
continue;
|
|
4483
|
+
}
|
|
4480
4484
|
}
|
|
4481
4485
|
}
|
|
4482
4486
|
const imageElm = resultElm.querySelectorAll('img');
|
|
@@ -4570,17 +4574,68 @@ function nestedListCleanUp(range) {
|
|
|
4570
4574
|
item.remove();
|
|
4571
4575
|
});
|
|
4572
4576
|
}
|
|
4577
|
+
else {
|
|
4578
|
+
break;
|
|
4579
|
+
}
|
|
4573
4580
|
}
|
|
4574
4581
|
let liElem = (range.startContainer.nodeName === "#text" ? range.startContainer.parentElement : range.startContainer).querySelectorAll("li");
|
|
4575
4582
|
if (liElem.length > 0) {
|
|
4576
4583
|
liElem.forEach((item) => {
|
|
4577
|
-
if (item.firstChild.nodeName === "OL" || item.firstChild.nodeName === "UL") {
|
|
4584
|
+
if (!isNullOrUndefined(item.firstChild) && (item.firstChild.nodeName === "OL" || item.firstChild.nodeName === "UL")) {
|
|
4578
4585
|
item.style.listStyleType = "none";
|
|
4579
4586
|
}
|
|
4580
4587
|
});
|
|
4581
4588
|
}
|
|
4582
4589
|
}
|
|
4583
4590
|
}
|
|
4591
|
+
/**
|
|
4592
|
+
* Method to scroll the content to the cursor position
|
|
4593
|
+
*
|
|
4594
|
+
* @param {Document} document - specifies the document.
|
|
4595
|
+
* @param {HTMLElement | HTMLBodyElement} inputElement - specifies the input element.
|
|
4596
|
+
* @returns {void}
|
|
4597
|
+
*/
|
|
4598
|
+
function scrollToCursor(document, inputElement) {
|
|
4599
|
+
const rootElement = inputElement.nodeName === 'BODY' ?
|
|
4600
|
+
inputElement.ownerDocument.defaultView.frameElement.closest('.e-richtexteditor') :
|
|
4601
|
+
inputElement.closest('.e-richtexteditor');
|
|
4602
|
+
const height = rootElement.style.height;
|
|
4603
|
+
if (document.getSelection().rangeCount === 0) {
|
|
4604
|
+
return;
|
|
4605
|
+
}
|
|
4606
|
+
const range = document.getSelection().getRangeAt(0);
|
|
4607
|
+
const finalFocusElement = range.startContainer.nodeName === '#text' ? range.startContainer.parentElement :
|
|
4608
|
+
range.startContainer;
|
|
4609
|
+
const rect = finalFocusElement.getBoundingClientRect();
|
|
4610
|
+
const cursorTop = rect.top;
|
|
4611
|
+
const cursorBottom = rect.bottom;
|
|
4612
|
+
const rootRect = rootElement.getBoundingClientRect();
|
|
4613
|
+
const hasMargin = rootElement.querySelectorAll('.e-count-enabled, .e-resize-enabled').length > 0;
|
|
4614
|
+
if (inputElement.nodeName === 'BODY') {
|
|
4615
|
+
if (height === 'auto') {
|
|
4616
|
+
if (window.innerHeight < cursorTop) {
|
|
4617
|
+
finalFocusElement.scrollIntoView(false);
|
|
4618
|
+
}
|
|
4619
|
+
}
|
|
4620
|
+
else {
|
|
4621
|
+
if (cursorTop > inputElement.getBoundingClientRect().height) {
|
|
4622
|
+
finalFocusElement.scrollIntoView({ block: 'nearest', inline: 'nearest' });
|
|
4623
|
+
}
|
|
4624
|
+
}
|
|
4625
|
+
}
|
|
4626
|
+
else {
|
|
4627
|
+
if (height === 'auto') {
|
|
4628
|
+
if (window.innerHeight < cursorTop) {
|
|
4629
|
+
finalFocusElement.scrollIntoView({ block: 'end', inline: 'nearest' });
|
|
4630
|
+
}
|
|
4631
|
+
}
|
|
4632
|
+
else {
|
|
4633
|
+
if (cursorBottom > rootRect.bottom) {
|
|
4634
|
+
rootElement.querySelector('.e-rte-content').scrollTop += (cursorBottom - rootRect.bottom) + (hasMargin ? 20 : 0);
|
|
4635
|
+
}
|
|
4636
|
+
}
|
|
4637
|
+
}
|
|
4638
|
+
}
|
|
4584
4639
|
|
|
4585
4640
|
/**
|
|
4586
4641
|
* Update Toolbar Status
|
|
@@ -5091,6 +5146,7 @@ class ToolbarRenderer {
|
|
|
5091
5146
|
openDelay: 400,
|
|
5092
5147
|
opensOn: 'Hover',
|
|
5093
5148
|
beforeRender: this.tooltipBeforeRender.bind(this),
|
|
5149
|
+
beforeOpen: this.tooltipBeforeOpen.bind(this),
|
|
5094
5150
|
cssClass: this.parent.getCssClass(),
|
|
5095
5151
|
windowCollision: true,
|
|
5096
5152
|
position: 'BottomCenter'
|
|
@@ -5212,7 +5268,7 @@ class ToolbarRenderer {
|
|
|
5212
5268
|
if ((divNode.textContent.trim() !== ''
|
|
5213
5269
|
&& args.element.childNodes[index].textContent.trim() === divNode.textContent.trim()) ||
|
|
5214
5270
|
((args.items[0].command === 'Formats' && !isNullOrUndefined(toolbarStatus.formats) && this.parent.format.types[index].value.toLowerCase() === toolbarStatus.formats.toLowerCase() && args.element.childNodes[index].classList.contains(this.parent.format.types[index].cssClass))
|
|
5215
|
-
|| (args.items[0].command === 'Font' && !isNullOrUndefined(toolbarStatus.fontname) && this.parent.fontFamily.items[index].value.toLowerCase() === toolbarStatus.fontname.toLowerCase() && args.element.childNodes[index].classList.contains(this.parent.fontFamily.items[index].cssClass)))) {
|
|
5271
|
+
|| (args.items[0].subCommand === 'FontName' && args.items[0].command === 'Font' && !isNullOrUndefined(toolbarStatus.fontname) && !isNullOrUndefined(this.parent.fontFamily.items[index]) && this.parent.fontFamily.items[index].value.toLowerCase() === toolbarStatus.fontname.toLowerCase() && args.element.childNodes[index].classList.contains(this.parent.fontFamily.items[index].cssClass)))) {
|
|
5216
5272
|
if (!args.element.childNodes[index].classList.contains('e-active')) {
|
|
5217
5273
|
addClass([args.element.childNodes[index]], 'e-active');
|
|
5218
5274
|
}
|
|
@@ -5396,8 +5452,6 @@ class ToolbarRenderer {
|
|
|
5396
5452
|
target: colorPicker.element.parentElement, cssClass: css,
|
|
5397
5453
|
enablePersistence: this.parent.enablePersistence, enableRtl: this.parent.enableRtl,
|
|
5398
5454
|
beforeOpen: (dropDownArgs) => {
|
|
5399
|
-
colorPicker.inline = true;
|
|
5400
|
-
colorPicker.dataBind();
|
|
5401
5455
|
if (proxy.parent.readonly || !proxy.parent.enabled) {
|
|
5402
5456
|
dropDownArgs.cancel = true;
|
|
5403
5457
|
return;
|
|
@@ -5535,14 +5589,18 @@ class ToolbarRenderer {
|
|
|
5535
5589
|
const colorPicker = new ColorPicker({
|
|
5536
5590
|
enablePersistence: this.parent.enablePersistence,
|
|
5537
5591
|
enableRtl: this.parent.enableRtl,
|
|
5538
|
-
inline:
|
|
5539
|
-
value:
|
|
5592
|
+
inline: true,
|
|
5593
|
+
value: null,
|
|
5594
|
+
cssClass: ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass + ' ' + 'e-rte-picker-init',
|
|
5540
5595
|
created: () => {
|
|
5541
5596
|
const value = (item === 'backgroundcolor') ? proxy.parent.backgroundColor.default : proxy.parent.fontColor.default;
|
|
5542
|
-
colorPicker.
|
|
5597
|
+
colorPicker.cssClass = ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass;
|
|
5598
|
+
colorPicker.value = value;
|
|
5543
5599
|
},
|
|
5544
5600
|
mode: ((item === 'backgroundcolor') ? proxy.parent.backgroundColor.mode : proxy.parent.fontColor.mode),
|
|
5545
5601
|
modeSwitcher: ((item === 'backgroundcolor') ? proxy.parent.backgroundColor.modeSwitcher : proxy.parent.fontColor.modeSwitcher),
|
|
5602
|
+
presetColors: (item === 'backgroundcolor') ? this.parent.backgroundColor.colorCode : this.parent.fontColor.colorCode,
|
|
5603
|
+
columns: (item === 'backgroundcolor') ? this.parent.backgroundColor.columns : this.parent.fontColor.columns,
|
|
5546
5604
|
beforeTileRender: (args) => {
|
|
5547
5605
|
args.element.classList.add(CLS_COLOR_PALETTE);
|
|
5548
5606
|
args.element.classList.add(CLS_CUSTOM_TILE);
|
|
@@ -5587,14 +5645,15 @@ class ToolbarRenderer {
|
|
|
5587
5645
|
}
|
|
5588
5646
|
});
|
|
5589
5647
|
colorPicker.isStringTemplate = true;
|
|
5590
|
-
colorPicker.columns = (item === 'backgroundcolor') ? this.parent.backgroundColor.columns : this.parent.fontColor.columns;
|
|
5591
|
-
colorPicker.presetColors = (item === 'backgroundcolor') ? this.parent.backgroundColor.colorCode :
|
|
5592
|
-
this.parent.fontColor.colorCode;
|
|
5593
|
-
colorPicker.cssClass = ((item === 'backgroundcolor') ? CLS_BACKGROUND_COLOR_PICKER : CLS_FONT_COLOR_PICKER) + ' ' + args.cssClass;
|
|
5594
5648
|
colorPicker.createElement = this.parent.createElement;
|
|
5595
5649
|
colorPicker.appendTo(document.getElementById(args.target));
|
|
5596
5650
|
return colorPicker;
|
|
5597
5651
|
}
|
|
5652
|
+
tooltipBeforeOpen(args) {
|
|
5653
|
+
if (args.element) {
|
|
5654
|
+
args.element.setAttribute('data-rte-id', this.parent.getID());
|
|
5655
|
+
}
|
|
5656
|
+
}
|
|
5598
5657
|
/**
|
|
5599
5658
|
* The function is used to render Rich Text Editor toolbar
|
|
5600
5659
|
*
|
|
@@ -7152,12 +7211,12 @@ class Toolbar$2 {
|
|
|
7152
7211
|
}
|
|
7153
7212
|
}
|
|
7154
7213
|
|
|
7155
|
-
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
7156
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
7157
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
7158
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
7159
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7160
|
-
};
|
|
7214
|
+
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
7215
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
7216
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
7217
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
7218
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7219
|
+
};
|
|
7161
7220
|
var KeyboardEvents_1;
|
|
7162
7221
|
const keyCode = {
|
|
7163
7222
|
'backspace': 8,
|
|
@@ -12192,7 +12251,7 @@ class DOMNode {
|
|
|
12192
12251
|
unWrap(element) {
|
|
12193
12252
|
const parent = element.parentNode;
|
|
12194
12253
|
let unWrapNode = [];
|
|
12195
|
-
while (element.firstChild) {
|
|
12254
|
+
while (element.firstChild && (element.previousSibling !== this.parent.querySelector('.e-mention-chip') || element.textContent !== ' ')) {
|
|
12196
12255
|
unWrapNode.push(element.firstChild);
|
|
12197
12256
|
parent.insertBefore(element.firstChild, element);
|
|
12198
12257
|
}
|
|
@@ -12542,6 +12601,109 @@ class DOMNode {
|
|
|
12542
12601
|
}
|
|
12543
12602
|
return null;
|
|
12544
12603
|
}
|
|
12604
|
+
/**
|
|
12605
|
+
* Method to wrap the inline and text node with block node.
|
|
12606
|
+
*
|
|
12607
|
+
* @param {HTMLElement} node - specifies the element sent to wrap the node around it with block nodes.
|
|
12608
|
+
* @param {string} wrapperElement - specifies which block nodes to wrap around.
|
|
12609
|
+
* @returns {HTMLElement} - returns the wrapped element.
|
|
12610
|
+
* @hidden
|
|
12611
|
+
* @deprecated
|
|
12612
|
+
*/
|
|
12613
|
+
gatherElementsAround(node, wrapperElement) {
|
|
12614
|
+
const newWrapElem = createElement(wrapperElement);
|
|
12615
|
+
// Insert the new div element before the current node.
|
|
12616
|
+
let currentNode = node.previousSibling;
|
|
12617
|
+
const currentNodeParent = node.parentElement;
|
|
12618
|
+
if (currentNodeParent.className === 'e-editor-select-start') {
|
|
12619
|
+
currentNodeParent.parentNode.insertBefore(newWrapElem, currentNodeParent);
|
|
12620
|
+
}
|
|
12621
|
+
else if (currentNodeParent) {
|
|
12622
|
+
currentNodeParent.insertBefore(newWrapElem, node);
|
|
12623
|
+
}
|
|
12624
|
+
let i = 0;
|
|
12625
|
+
while (currentNode !== null && currentNode.nodeName !== 'BR' &&
|
|
12626
|
+
!this.isBlockNode(currentNode)) {
|
|
12627
|
+
const prevSibling = currentNode.previousSibling;
|
|
12628
|
+
if (currentNode.nodeType === 3 || currentNode.nodeType === 1) {
|
|
12629
|
+
if (i === 0) {
|
|
12630
|
+
newWrapElem.appendChild(currentNode);
|
|
12631
|
+
}
|
|
12632
|
+
else {
|
|
12633
|
+
newWrapElem.insertBefore(currentNode, newWrapElem.firstChild);
|
|
12634
|
+
}
|
|
12635
|
+
}
|
|
12636
|
+
currentNode = prevSibling;
|
|
12637
|
+
i++;
|
|
12638
|
+
}
|
|
12639
|
+
// Add the current node to the new div
|
|
12640
|
+
newWrapElem.appendChild(node);
|
|
12641
|
+
// Gather text and inline elements after the currentNode
|
|
12642
|
+
currentNode = newWrapElem.nextSibling ? newWrapElem.nextSibling :
|
|
12643
|
+
newWrapElem.parentElement.nextSibling;
|
|
12644
|
+
while (currentNode !== null && currentNode.nodeName !== 'BR' &&
|
|
12645
|
+
!this.isBlockNode(currentNode)) {
|
|
12646
|
+
const nextSibling = currentNode.nextSibling ?
|
|
12647
|
+
currentNode.nextSibling : currentNode.parentElement.nextSibling;
|
|
12648
|
+
if (currentNode.nodeType === 3 || currentNode.nodeType === 1) {
|
|
12649
|
+
newWrapElem.appendChild(currentNode);
|
|
12650
|
+
}
|
|
12651
|
+
currentNode = nextSibling;
|
|
12652
|
+
}
|
|
12653
|
+
return newWrapElem;
|
|
12654
|
+
}
|
|
12655
|
+
/**
|
|
12656
|
+
* Method to convert all the inline nodes between the selection to block nodes.
|
|
12657
|
+
*
|
|
12658
|
+
* @param {Node[]} selectedNodes - specifies the nodes of the start and end selection.
|
|
12659
|
+
* @param {boolean} fromList - specifies if the method is called from list module.
|
|
12660
|
+
* @returns {Node[]} - returns the selected list of elements as block nodes.
|
|
12661
|
+
* @hidden
|
|
12662
|
+
* @deprecated
|
|
12663
|
+
*/
|
|
12664
|
+
convertToBlockNodes(selectedNodes, fromList) {
|
|
12665
|
+
if (selectedNodes.length > 1) {
|
|
12666
|
+
let i = 0;
|
|
12667
|
+
let currentSelectedNode = selectedNodes[0];
|
|
12668
|
+
while (!isNullOrUndefined(currentSelectedNode)) {
|
|
12669
|
+
if (currentSelectedNode.nodeName === 'BR') {
|
|
12670
|
+
const nextNode = currentSelectedNode.nextSibling;
|
|
12671
|
+
detach(currentSelectedNode);
|
|
12672
|
+
currentSelectedNode = nextNode;
|
|
12673
|
+
}
|
|
12674
|
+
if (!isNullOrUndefined(currentSelectedNode)) {
|
|
12675
|
+
if (fromList) {
|
|
12676
|
+
selectedNodes[i] = currentSelectedNode.nodeName === 'LI' || this.isBlockNode(currentSelectedNode) ?
|
|
12677
|
+
currentSelectedNode :
|
|
12678
|
+
this.gatherElementsAround(currentSelectedNode, (fromList ? 'p' : 'div'));
|
|
12679
|
+
}
|
|
12680
|
+
else {
|
|
12681
|
+
selectedNodes[i] = !this.isBlockNode(selectedNodes[i]) ?
|
|
12682
|
+
this.gatherElementsAround(currentSelectedNode, (fromList ? 'p' : 'div')) :
|
|
12683
|
+
selectedNodes[i];
|
|
12684
|
+
}
|
|
12685
|
+
const currentProcessNode = selectedNodes[i].nodeName === 'LI' ? selectedNodes[i].parentElement : selectedNodes[i];
|
|
12686
|
+
const currentElementCheckNode = currentProcessNode.nodeName === '#text' ? currentProcessNode.parentElement : currentProcessNode;
|
|
12687
|
+
currentSelectedNode = !isNullOrUndefined(currentElementCheckNode.querySelector('.e-editor-select-end')) ||
|
|
12688
|
+
!isNullOrUndefined(closest(currentSelectedNode, '.e-editor-select-end')) ?
|
|
12689
|
+
null : currentProcessNode.nextSibling;
|
|
12690
|
+
if (currentSelectedNode === null && !isNullOrUndefined(currentProcessNode.nextSibling) && currentProcessNode.nextSibling.nodeName === 'BR') {
|
|
12691
|
+
detach(currentProcessNode.nextSibling);
|
|
12692
|
+
}
|
|
12693
|
+
}
|
|
12694
|
+
i++;
|
|
12695
|
+
}
|
|
12696
|
+
}
|
|
12697
|
+
else {
|
|
12698
|
+
if (!this.isBlockNode(selectedNodes[0])) {
|
|
12699
|
+
selectedNodes[0] = this.gatherElementsAround(selectedNodes[0], (fromList ? 'p' : 'div'));
|
|
12700
|
+
if (!isNullOrUndefined(selectedNodes[0].nextSibling) && (selectedNodes[0].nextSibling.nodeName === 'BR')) {
|
|
12701
|
+
detach(selectedNodes[0].nextSibling);
|
|
12702
|
+
}
|
|
12703
|
+
}
|
|
12704
|
+
}
|
|
12705
|
+
return selectedNodes;
|
|
12706
|
+
}
|
|
12545
12707
|
/**
|
|
12546
12708
|
* blockNodes method
|
|
12547
12709
|
*
|
|
@@ -13049,7 +13211,7 @@ class Lists {
|
|
|
13049
13211
|
e.event.preventDefault();
|
|
13050
13212
|
}
|
|
13051
13213
|
}
|
|
13052
|
-
onKeyUp() {
|
|
13214
|
+
onKeyUp(e) {
|
|
13053
13215
|
if (!isNullOrUndefined(this.commonLIParent) && !isNullOrUndefined(this.commonLIParent.querySelector('.removeList'))) {
|
|
13054
13216
|
const currentLIElem = this.commonLIParent.querySelector('.removeList');
|
|
13055
13217
|
while (!isNullOrUndefined(currentLIElem.firstChild)) {
|
|
@@ -13057,6 +13219,14 @@ class Lists {
|
|
|
13057
13219
|
}
|
|
13058
13220
|
detach(currentLIElem);
|
|
13059
13221
|
}
|
|
13222
|
+
if (e.event.keyCode === 13) {
|
|
13223
|
+
const listElements = this.parent.editableElement.querySelectorAll('UL, OL');
|
|
13224
|
+
for (let i = 0; i < listElements.length; i++) {
|
|
13225
|
+
if (!isNullOrUndefined(listElements[i]) && !isNullOrUndefined(listElements[i].parentElement) && !isNullOrUndefined(listElements[i].previousElementSibling) && (listElements[i].parentElement.nodeName === 'UL' || listElements[i].parentElement.nodeName === 'OL')) {
|
|
13226
|
+
listElements[i].previousElementSibling.appendChild(listElements[i]);
|
|
13227
|
+
}
|
|
13228
|
+
}
|
|
13229
|
+
}
|
|
13060
13230
|
}
|
|
13061
13231
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
13062
13232
|
firstListBackSpace(range, _e) {
|
|
@@ -13298,6 +13468,8 @@ class Lists {
|
|
|
13298
13468
|
else {
|
|
13299
13469
|
if (prevSibling.tagName === 'LI') {
|
|
13300
13470
|
const nestedElement = createElement(elements[i].parentNode.tagName);
|
|
13471
|
+
nestedElement.style.listStyleType =
|
|
13472
|
+
elements[i].parentNode.style.listStyleType;
|
|
13301
13473
|
append([nestedElement], prevSibling);
|
|
13302
13474
|
append([elements[i]], nestedElement);
|
|
13303
13475
|
}
|
|
@@ -13347,61 +13519,7 @@ class Lists {
|
|
|
13347
13519
|
let listsNodes = this.domNode.blockNodes(true);
|
|
13348
13520
|
if (e.enterAction === 'BR') {
|
|
13349
13521
|
this.setSelectionBRConfig();
|
|
13350
|
-
|
|
13351
|
-
const selectedNodes = this.parent.nodeSelection.getSelectionNodes(allSelectedNode);
|
|
13352
|
-
const currentFormatNodes = [];
|
|
13353
|
-
if (selectedNodes.length === 0) {
|
|
13354
|
-
selectedNodes.push(listsNodes[0]);
|
|
13355
|
-
}
|
|
13356
|
-
for (let i = 0; i < selectedNodes.length; i++) {
|
|
13357
|
-
let currentNode = selectedNodes[i];
|
|
13358
|
-
let previousCurrentNode;
|
|
13359
|
-
while (!this.parent.domNode.isBlockNode(currentNode) && currentNode !== this.parent.editableElement) {
|
|
13360
|
-
previousCurrentNode = currentNode;
|
|
13361
|
-
currentNode = currentNode.parentElement;
|
|
13362
|
-
}
|
|
13363
|
-
if (this.parent.domNode.isBlockNode(currentNode) && currentNode === this.parent.editableElement) {
|
|
13364
|
-
currentFormatNodes.push(previousCurrentNode);
|
|
13365
|
-
}
|
|
13366
|
-
}
|
|
13367
|
-
for (let i = 0; i < currentFormatNodes.length; i++) {
|
|
13368
|
-
if (!this.parent.domNode.isBlockNode(currentFormatNodes[i])) {
|
|
13369
|
-
let currentNode = currentFormatNodes[i];
|
|
13370
|
-
let previousNode = currentNode;
|
|
13371
|
-
while (currentNode === this.parent.editableElement) {
|
|
13372
|
-
previousNode = currentNode;
|
|
13373
|
-
currentNode = currentNode.parentElement;
|
|
13374
|
-
}
|
|
13375
|
-
let tempElem;
|
|
13376
|
-
if (this.parent.domNode.isBlockNode(previousNode.parentElement) &&
|
|
13377
|
-
previousNode.parentElement === this.parent.editableElement) {
|
|
13378
|
-
tempElem = createElement('p');
|
|
13379
|
-
previousNode.parentElement.insertBefore(tempElem, previousNode);
|
|
13380
|
-
tempElem.appendChild(previousNode);
|
|
13381
|
-
}
|
|
13382
|
-
else {
|
|
13383
|
-
tempElem = previousNode;
|
|
13384
|
-
}
|
|
13385
|
-
let preNode = tempElem.previousSibling;
|
|
13386
|
-
while (!isNullOrUndefined(preNode) && preNode.nodeName !== 'BR' &&
|
|
13387
|
-
!this.parent.domNode.isBlockNode(preNode)) {
|
|
13388
|
-
tempElem.firstChild.parentElement.insertBefore(preNode, tempElem.firstChild);
|
|
13389
|
-
preNode = tempElem.previousSibling;
|
|
13390
|
-
}
|
|
13391
|
-
if (!isNullOrUndefined(preNode) && preNode.nodeName === 'BR') {
|
|
13392
|
-
detach(preNode);
|
|
13393
|
-
}
|
|
13394
|
-
let postNode = tempElem.nextSibling;
|
|
13395
|
-
while (!isNullOrUndefined(postNode) && postNode.nodeName !== 'BR' &&
|
|
13396
|
-
!this.parent.domNode.isBlockNode(postNode)) {
|
|
13397
|
-
tempElem.appendChild(postNode);
|
|
13398
|
-
postNode = tempElem.nextSibling;
|
|
13399
|
-
}
|
|
13400
|
-
if (!isNullOrUndefined(postNode) && postNode.nodeName === 'BR') {
|
|
13401
|
-
detach(postNode);
|
|
13402
|
-
}
|
|
13403
|
-
}
|
|
13404
|
-
}
|
|
13522
|
+
this.parent.domNode.convertToBlockNodes(this.parent.domNode.blockNodes(), true);
|
|
13405
13523
|
this.setSelectionBRConfig();
|
|
13406
13524
|
listsNodes = this.parent.domNode.blockNodes();
|
|
13407
13525
|
}
|
|
@@ -13458,7 +13576,7 @@ class Lists {
|
|
|
13458
13576
|
}
|
|
13459
13577
|
let elemAtt;
|
|
13460
13578
|
elements[i].style.removeProperty('margin-left');
|
|
13461
|
-
elemAtt = elements[i].tagName === 'IMG' ? '' : this.domNode.attributes(elements[i]);
|
|
13579
|
+
elemAtt = elements[i].tagName === 'IMG' || elements[i].classList.contains('e-editor-select-start') ? '' : this.domNode.attributes(elements[i]);
|
|
13462
13580
|
if (elements[i].getAttribute('contenteditable') === 'true'
|
|
13463
13581
|
&& elements[i].childNodes.length === 1 && elements[i].childNodes[0].nodeName === 'TABLE') {
|
|
13464
13582
|
const listEle = document.createElement(type);
|
|
@@ -13500,6 +13618,16 @@ class Lists {
|
|
|
13500
13618
|
}
|
|
13501
13619
|
}
|
|
13502
13620
|
this.cleanNode();
|
|
13621
|
+
if (e.enterAction === 'BR') {
|
|
13622
|
+
const spansToRemove = document.querySelectorAll('span#removeSpan');
|
|
13623
|
+
spansToRemove.forEach((span) => {
|
|
13624
|
+
const fragment = document.createDocumentFragment();
|
|
13625
|
+
while (span.firstChild) {
|
|
13626
|
+
fragment.appendChild(span.firstChild);
|
|
13627
|
+
}
|
|
13628
|
+
span.parentNode.replaceChild(fragment, span);
|
|
13629
|
+
});
|
|
13630
|
+
}
|
|
13503
13631
|
this.parent.editableElement.focus();
|
|
13504
13632
|
if (isIDevice$1()) {
|
|
13505
13633
|
setEditFrameFocus(this.parent.editableElement, selector);
|
|
@@ -13569,6 +13697,13 @@ class Lists {
|
|
|
13569
13697
|
for (let c = 0; c < liParents.length; c++) {
|
|
13570
13698
|
const node = liParents[c];
|
|
13571
13699
|
let toFindtopOlUl = true;
|
|
13700
|
+
let containsListElements = node;
|
|
13701
|
+
while (containsListElements.parentElement) {
|
|
13702
|
+
if (containsListElements.parentElement && containsListElements.parentElement.tagName !== 'LI' && containsListElements.parentElement.tagName !== 'OL' && containsListElements.parentElement.tagName !== 'UL') {
|
|
13703
|
+
break;
|
|
13704
|
+
}
|
|
13705
|
+
containsListElements = containsListElements.parentElement;
|
|
13706
|
+
}
|
|
13572
13707
|
if (toFindtopOlUl && (liParents[c].parentElement.parentElement.nodeName === 'OL' || liParents[c].parentElement.parentElement.nodeName === 'UL')) {
|
|
13573
13708
|
toFindtopOlUl = false;
|
|
13574
13709
|
const preElement = liParents[c].parentElement.parentElement;
|
|
@@ -13588,9 +13723,43 @@ class Lists {
|
|
|
13588
13723
|
node.previousElementSibling.lastChild.append(node);
|
|
13589
13724
|
}
|
|
13590
13725
|
}
|
|
13726
|
+
else if (this.domNode.isList(node.previousElementSibling) && containsListElements.contains(node.previousElementSibling) && ((node.tagName === 'OL' || node.tagName === 'UL') && (node.previousElementSibling.nodeName === 'OL' || node.previousElementSibling.nodeName === 'UL'))) {
|
|
13727
|
+
const contentNodes = this.domNode.contents(node);
|
|
13728
|
+
for (let f = 0; f < contentNodes.length; f++) {
|
|
13729
|
+
node.previousElementSibling.appendChild(contentNodes[f]);
|
|
13730
|
+
}
|
|
13731
|
+
node.parentNode.removeChild(node);
|
|
13732
|
+
}
|
|
13591
13733
|
}
|
|
13592
13734
|
if (firstNodeOL) {
|
|
13593
13735
|
firstNodeOL.style.listStyleType = listStyleType;
|
|
13736
|
+
const range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
|
|
13737
|
+
let listOlUlElements = [];
|
|
13738
|
+
if (range.commonAncestorContainer.nodeName === 'UL' || range.commonAncestorContainer.nodeName === 'OL') {
|
|
13739
|
+
if (range.commonAncestorContainer instanceof Element) {
|
|
13740
|
+
listOlUlElements.push(range.commonAncestorContainer);
|
|
13741
|
+
}
|
|
13742
|
+
listOlUlElements = listOlUlElements.concat(Array.from(range.commonAncestorContainer.querySelectorAll('ol, ul')));
|
|
13743
|
+
}
|
|
13744
|
+
else {
|
|
13745
|
+
listOlUlElements = Array.from(range.commonAncestorContainer.querySelectorAll('ol, ul'));
|
|
13746
|
+
}
|
|
13747
|
+
for (let k = 0; k < listOlUlElements.length; k++) {
|
|
13748
|
+
let listStyle;
|
|
13749
|
+
let listElements = listOlUlElements[k];
|
|
13750
|
+
while (listElements) {
|
|
13751
|
+
if (listElements.nodeName === 'OL' || listElements.nodeName === 'OL') {
|
|
13752
|
+
if (listElements.style.listStyleType !== '' && listElements.style.listStyleType !== 'none' && listElements.nodeName !== 'LI') {
|
|
13753
|
+
listStyle = listElements.style.listStyleType;
|
|
13754
|
+
}
|
|
13755
|
+
else if (!isNullOrUndefined(listStyle) && (listElements.style.listStyleType === '' || listElements.style.listStyleType === 'none') &&
|
|
13756
|
+
listElements.nodeName !== 'LI' && (listElements.nodeName === 'UL' || listElements.nodeName === 'OL')) {
|
|
13757
|
+
listElements.style.listStyleType = listStyle;
|
|
13758
|
+
}
|
|
13759
|
+
}
|
|
13760
|
+
listElements = listElements.querySelector('UL,OL');
|
|
13761
|
+
}
|
|
13762
|
+
}
|
|
13594
13763
|
}
|
|
13595
13764
|
}
|
|
13596
13765
|
findUnSelected(temp, elements) {
|
|
@@ -13693,10 +13862,16 @@ class Lists {
|
|
|
13693
13862
|
parentNode.removeAttribute("style");
|
|
13694
13863
|
}
|
|
13695
13864
|
}
|
|
13696
|
-
const wrapper = '<' +
|
|
13865
|
+
const wrapper = '<' + e.enterAction + wrapperclass + this.domNode.attributes(element) + '></' + e.enterAction + '>';
|
|
13697
13866
|
if (e.enterAction !== 'BR') {
|
|
13698
13867
|
this.domNode.wrapInner(element, this.domNode.parseHTMLFragment(wrapper));
|
|
13699
13868
|
}
|
|
13869
|
+
else {
|
|
13870
|
+
const wrapperSpan = '<span class=e-rte-wrap-inner id=removeSpan></span>';
|
|
13871
|
+
const br = document.createElement('br');
|
|
13872
|
+
this.domNode.wrapInner(element, this.domNode.parseHTMLFragment(wrapperSpan));
|
|
13873
|
+
element.appendChild(br);
|
|
13874
|
+
}
|
|
13700
13875
|
}
|
|
13701
13876
|
else if (this.domNode.contents(element)[0].nodeType === 3) {
|
|
13702
13877
|
const replace = this.domNode.createTagString(DEFAULT_TAG, parentNode, this.parent.domNode.encode(this.domNode.contents(element)[0].textContent));
|
|
@@ -13709,8 +13884,18 @@ class Lists {
|
|
|
13709
13884
|
}
|
|
13710
13885
|
else {
|
|
13711
13886
|
const childNode = element.firstChild;
|
|
13887
|
+
if (childNode) {
|
|
13888
|
+
const attributes$$1 = element.parentElement.attributes;
|
|
13889
|
+
if (attributes$$1.length > 0) {
|
|
13890
|
+
for (let d = 0; d < attributes$$1.length; d++) {
|
|
13891
|
+
const e = attributes$$1[d];
|
|
13892
|
+
const existingValue = childNode.getAttribute(e.nodeName);
|
|
13893
|
+
const parentValue = (element.parentElement).getAttribute(e.nodeName);
|
|
13894
|
+
childNode.setAttribute(e.nodeName, existingValue ? parentValue + ' ' + existingValue : parentValue);
|
|
13895
|
+
}
|
|
13896
|
+
}
|
|
13897
|
+
}
|
|
13712
13898
|
className = childNode.getAttribute('class');
|
|
13713
|
-
attributes(childNode, this.domNode.rawAttributes(parentNode));
|
|
13714
13899
|
if (className && childNode.getAttribute('class')) {
|
|
13715
13900
|
attributes(childNode, { 'class': className + ' ' + childNode.getAttribute('class') });
|
|
13716
13901
|
}
|
|
@@ -13875,7 +14060,7 @@ class NodeCutter {
|
|
|
13875
14060
|
fragment = this.spliceEmptyNode(fragment, false);
|
|
13876
14061
|
if (fragment && fragment.childNodes.length > 0) {
|
|
13877
14062
|
const isEmpty = (fragment.childNodes.length === 1 && fragment.childNodes[0].nodeName !== 'IMG' && !(fragment.querySelectorAll('img').length > 0)
|
|
13878
|
-
&& this.isRteElm(fragment) && fragment.textContent === '') ? true : false;
|
|
14063
|
+
&& this.isRteElm(fragment) && fragment.textContent.trim() === '') ? true : false;
|
|
13879
14064
|
if (!isEmpty) {
|
|
13880
14065
|
if (node) {
|
|
13881
14066
|
InsertMethods.AppendBefore(fragment, node);
|
|
@@ -13896,7 +14081,7 @@ class NodeCutter {
|
|
|
13896
14081
|
fragment = this.spliceEmptyNode(fragment, true);
|
|
13897
14082
|
if (fragment && fragment.childNodes.length > 0) {
|
|
13898
14083
|
const isEmpty = (fragment.childNodes.length === 1 && fragment.childNodes[0].nodeName !== 'IMG'
|
|
13899
|
-
&& this.isRteElm(fragment) && fragment.textContent === '') ? true : false;
|
|
14084
|
+
&& this.isRteElm(fragment) && fragment.textContent.trim() === '') ? true : false;
|
|
13900
14085
|
if (!isEmpty) {
|
|
13901
14086
|
if (node) {
|
|
13902
14087
|
InsertMethods.AppendBefore(fragment, node, true);
|
|
@@ -14085,8 +14270,8 @@ class Formats {
|
|
|
14085
14270
|
}
|
|
14086
14271
|
}
|
|
14087
14272
|
}
|
|
14088
|
-
if (e.enterAction !== 'BR' && !isNullOrUndefined(range.startContainer) && !isNullOrUndefined(range.startContainer.parentElement) && range.startContainer === range.endContainer && range.startContainer.nodeName === '#text' && range.startContainer.parentElement.classList.contains(
|
|
14089
|
-
|
|
14273
|
+
if (e.enterAction !== 'BR' && !isNullOrUndefined(range.startContainer) && !isNullOrUndefined(range.startContainer.parentElement) && range.startContainer === range.endContainer && range.startContainer.nodeName === '#text' && range.startContainer.parentElement.classList.contains('e-content') && range.startContainer.parentElement.isContentEditable) {
|
|
14274
|
+
const pTag = createElement(e.enterAction);
|
|
14090
14275
|
range.startContainer.parentElement.insertBefore(pTag, range.startContainer);
|
|
14091
14276
|
pTag.appendChild(range.startContainer);
|
|
14092
14277
|
this.parent.nodeSelection.setCursorPoint(this.parent.currentDocument, pTag, 1);
|
|
@@ -14498,11 +14683,14 @@ class InsertHtml {
|
|
|
14498
14683
|
range.startContainer === range.endContainer;
|
|
14499
14684
|
const isCollapsed = range.collapsed;
|
|
14500
14685
|
const nodes = this.getNodeCollection(range, nodeSelection, node);
|
|
14501
|
-
const closestParentNode = (node.nodeName.toLowerCase() === 'table') ? this.closestEle(nodes[0].parentNode, editNode) : nodes[0];
|
|
14686
|
+
const closestParentNode = (node.nodeName.toLowerCase() === 'table') ? (!isNullOrUndefined(nodes[0]) ? this.closestEle(nodes[0].parentNode, editNode) : range.startContainer) : nodes[0];
|
|
14502
14687
|
if (closestParentNode && closestParentNode.nodeName === 'LI' && node.nodeName.toLowerCase() === 'table') {
|
|
14503
14688
|
this.insertTableInList(range, node, closestParentNode, nodes[0], nodeCutter);
|
|
14504
14689
|
return;
|
|
14505
14690
|
}
|
|
14691
|
+
if (isCursor && range.startContainer.textContent === '' && range.startContainer.nodeName !== 'BR' && enterAction !== 'BR' && node.nodeName !== '#text' && !isNullOrUndefined(node.children[0]) && !isNullOrUndefined(node.children[0].tagName) && node.children[0].tagName === 'IMG' && node.children.length === 1) {
|
|
14692
|
+
range.startContainer.innerHTML = '';
|
|
14693
|
+
}
|
|
14506
14694
|
if (isExternal || (!isNullOrUndefined(node) && !isNullOrUndefined(node.classList) &&
|
|
14507
14695
|
node.classList.contains('pasteContent'))) {
|
|
14508
14696
|
this.pasteInsertHTML(nodes, node, range, nodeSelection, nodeCutter, docElement, isCollapsed, closestParentNode, editNode, enterAction);
|
|
@@ -14543,7 +14731,7 @@ class InsertHtml {
|
|
|
14543
14731
|
nodes[index].parentNode.removeChild(nodes[index]);
|
|
14544
14732
|
}
|
|
14545
14733
|
}
|
|
14546
|
-
if (sibNode) {
|
|
14734
|
+
if (!isNullOrUndefined(sibNode) && !isNullOrUndefined(sibNode.parentNode)) {
|
|
14547
14735
|
InsertMethods.AppendBefore(node, sibNode, true);
|
|
14548
14736
|
}
|
|
14549
14737
|
else {
|
|
@@ -14794,6 +14982,12 @@ class InsertHtml {
|
|
|
14794
14982
|
node.parentNode.replaceChild(fragment, node);
|
|
14795
14983
|
}
|
|
14796
14984
|
}
|
|
14985
|
+
if (lastSelectionNode.nodeName === 'TABLE') {
|
|
14986
|
+
const pTag = createElement('p');
|
|
14987
|
+
pTag.appendChild(createElement('br'));
|
|
14988
|
+
lastSelectionNode.parentElement.insertBefore(pTag, lastSelectionNode.nextSibling);
|
|
14989
|
+
lastSelectionNode = pTag;
|
|
14990
|
+
}
|
|
14797
14991
|
if (lastSelectionNode.nodeName === '#text') {
|
|
14798
14992
|
this.placeCursorEnd(lastSelectionNode, node, nodeSelection, docElement, editNode);
|
|
14799
14993
|
}
|
|
@@ -15420,7 +15614,10 @@ class Alignments {
|
|
|
15420
15614
|
let save = this.parent.nodeSelection.save(range, this.parent.currentDocument);
|
|
15421
15615
|
if (!isTableAlign) {
|
|
15422
15616
|
this.parent.domNode.setMarker(save);
|
|
15423
|
-
|
|
15617
|
+
let alignmentNodes = this.parent.domNode.blockNodes();
|
|
15618
|
+
if (e.enterAction === 'BR') {
|
|
15619
|
+
alignmentNodes = this.parent.domNode.convertToBlockNodes(alignmentNodes, false);
|
|
15620
|
+
}
|
|
15424
15621
|
for (let i = 0; i < alignmentNodes.length; i++) {
|
|
15425
15622
|
const parentNode = alignmentNodes[i];
|
|
15426
15623
|
setStyleAttribute(parentNode, { 'text-align': this.alignments[e.subCommand] });
|
|
@@ -15502,7 +15699,10 @@ class Indents {
|
|
|
15502
15699
|
const range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
|
|
15503
15700
|
let save = this.parent.nodeSelection.save(range, this.parent.currentDocument);
|
|
15504
15701
|
this.parent.domNode.setMarker(save);
|
|
15505
|
-
|
|
15702
|
+
let indentsNodes = this.parent.domNode.blockNodes();
|
|
15703
|
+
if (e.enterAction === 'BR') {
|
|
15704
|
+
indentsNodes = this.parent.domNode.convertToBlockNodes(indentsNodes, false);
|
|
15705
|
+
}
|
|
15506
15706
|
const parentNodes = indentsNodes.slice();
|
|
15507
15707
|
const listsNodes = [];
|
|
15508
15708
|
for (let i = 0; i < parentNodes.length; i++) {
|
|
@@ -18895,6 +19095,7 @@ class UndoRedoManager {
|
|
|
18895
19095
|
this.parent.editableElement.innerHTML = '';
|
|
18896
19096
|
this.parent.editableElement.appendChild(removedContent.cloneNode(true));
|
|
18897
19097
|
this.parent.editableElement.focus();
|
|
19098
|
+
scrollToCursor(this.parent.currentDocument, this.parent.editableElement);
|
|
18898
19099
|
if (isIDevice$1()) {
|
|
18899
19100
|
setEditFrameFocus(this.parent.editableElement, e.selector);
|
|
18900
19101
|
}
|
|
@@ -18927,6 +19128,7 @@ class UndoRedoManager {
|
|
|
18927
19128
|
this.parent.editableElement.innerHTML = '';
|
|
18928
19129
|
this.parent.editableElement.appendChild(addedContent.cloneNode(true));
|
|
18929
19130
|
this.parent.editableElement.focus();
|
|
19131
|
+
scrollToCursor(this.parent.currentDocument, this.parent.editableElement);
|
|
18930
19132
|
if (isIDevice$1()) {
|
|
18931
19133
|
setEditFrameFocus(this.parent.editableElement, e.selector);
|
|
18932
19134
|
}
|
|
@@ -19027,9 +19229,9 @@ class MsWordPaste {
|
|
|
19027
19229
|
const patern2 = /class="?Mso|style="[^ ]*\bmso-/i;
|
|
19028
19230
|
const patern3 = /(class="?Mso|class='?Mso|class="?Xl|class='?Xl|class=Xl|style="[^"]*\bmso-|style='[^']*\bmso-|w:WordDocument)/gi;
|
|
19029
19231
|
const pattern4 = /style='mso-width-source:/i;
|
|
19232
|
+
const source = this.findSource(elm);
|
|
19030
19233
|
if (patern.test(tempHTMLContent) || patern2.test(tempHTMLContent) || patern3.test(tempHTMLContent) ||
|
|
19031
19234
|
pattern4.test(tempHTMLContent)) {
|
|
19032
|
-
const source = this.findSource(elm);
|
|
19033
19235
|
tempHTMLContent = tempHTMLContent.replace(/<img[^>]+>/i, '');
|
|
19034
19236
|
this.addListClass(elm);
|
|
19035
19237
|
listNodes = this.cleanUp(elm, listNodes);
|
|
@@ -19054,7 +19256,7 @@ class MsWordPaste {
|
|
|
19054
19256
|
e.callBack(elm.innerHTML, this.cropImageDimensions, source);
|
|
19055
19257
|
}
|
|
19056
19258
|
else {
|
|
19057
|
-
e.callBack(elm.innerHTML);
|
|
19259
|
+
e.callBack(elm.innerHTML, null, source);
|
|
19058
19260
|
}
|
|
19059
19261
|
}
|
|
19060
19262
|
addDoubleBr(elm) {
|
|
@@ -19782,7 +19984,7 @@ class MsWordPaste {
|
|
|
19782
19984
|
!isNormalList) {
|
|
19783
19985
|
prevList = null;
|
|
19784
19986
|
}
|
|
19785
|
-
const pElement = createElement('p', { className: '
|
|
19987
|
+
const pElement = createElement('p', { className: 'MsoNoSpacing' });
|
|
19786
19988
|
pElement.innerHTML = collection[index].content.join(' ');
|
|
19787
19989
|
if ((collection[index].nestedLevel === 1) &&
|
|
19788
19990
|
(listCount === 0 || lfo !== collection[index].listFormatOverride) &&
|
|
@@ -20858,12 +21060,14 @@ class EditorManager {
|
|
|
20858
21060
|
case 'alignments':
|
|
20859
21061
|
this.observer.notify(ALIGNMENT_TYPE, {
|
|
20860
21062
|
subCommand: value, event: event, callBack: callBack,
|
|
20861
|
-
selector: selector,
|
|
20862
|
-
value: exeValue
|
|
21063
|
+
selector: selector, value: exeValue, enterAction: enterAction
|
|
20863
21064
|
});
|
|
20864
21065
|
break;
|
|
20865
21066
|
case 'indents':
|
|
20866
|
-
this.observer.notify(INDENT_TYPE, {
|
|
21067
|
+
this.observer.notify(INDENT_TYPE, {
|
|
21068
|
+
subCommand: value, event: event, callBack: callBack,
|
|
21069
|
+
selector: selector, enterAction: enterAction
|
|
21070
|
+
});
|
|
20867
21071
|
break;
|
|
20868
21072
|
case 'links':
|
|
20869
21073
|
this.observer.notify(LINK, { command: command, value: value, item: exeValue, event: event, callBack: callBack });
|
|
@@ -21192,115 +21396,116 @@ class ContentRender {
|
|
|
21192
21396
|
}
|
|
21193
21397
|
}
|
|
21194
21398
|
|
|
21195
|
-
const IFRAMEHEADER = `
|
|
21196
|
-
<!DOCTYPE html>
|
|
21197
|
-
<html>
|
|
21198
|
-
<head>
|
|
21199
|
-
<meta charset='utf-8' />
|
|
21200
|
-
<style>
|
|
21201
|
-
@charset "UTF-8";
|
|
21202
|
-
body {
|
|
21203
|
-
font-family: "Roboto", sans-serif;
|
|
21204
|
-
font-size: 14px;
|
|
21205
|
-
}
|
|
21206
|
-
html, body{height: 100%;margin: 0;}
|
|
21207
|
-
body.e-cursor{cursor:default}
|
|
21208
|
-
span.e-selected-node {background-color: #939393;color: white;}
|
|
21209
|
-
span.e-selected-node.e-highlight {background-color: #1d9dd8;}
|
|
21210
|
-
body{color:#333;word-wrap:break-word;padding: 8px;box-sizing: border-box;}
|
|
21211
|
-
.e-rte-image, .e-rte-video {border: 0;cursor: pointer;display:
|
|
21212
|
-
block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
|
|
21213
|
-
.e-rte-audio {border: 0;cursor: pointer;display:
|
|
21214
|
-
block;float: none;margin: 5px auto;max-width: 100%;position: relative;}
|
|
21215
|
-
.e-rte-image.e-imginline, .e-rte-audio.e-audio-inline, .e-rte-video.e-video-inline {display: inline-block;float: none;
|
|
21216
|
-
margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));padding: 1px;vertical-align: bottom;}
|
|
21217
|
-
.e-rte-image.e-imgcenter, .e-rte-video.e-video-center {cursor: pointer;display: block;float: none;margin: 5px auto;max-width: 100%;position: relative;}
|
|
21218
|
-
.e-rte-image.e-imgright, .e-rte-video.e-video-right { float: right; margin: 0 auto;margin-left: 5px;text-align: right;}
|
|
21219
|
-
.e-rte-image.e-imgleft, .e-rte-video.e-video-left {float: left;margin: 0 auto;margin-right: 5px;text-align: left;}
|
|
21220
|
-
.e-img-caption { display: inline-block; float: none; margin: 5px auto; max-width: 100%;position: relative;}
|
|
21221
|
-
.e-img-caption.e-caption-inline {display: inline-block;float: none;
|
|
21222
|
-
margin: 5px auto;margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));
|
|
21223
|
-
position: relativetext-align: center;vertical-align: bottom;}
|
|
21224
|
-
.e-rte-img-caption.e-imgcenter {display: contents; margin-left: auto; margin-right: auto;}
|
|
21225
|
-
.e-rte-img-caption.e-imgright {display: contents; margin-left: auto; margin-right: 0;}
|
|
21226
|
-
.e-rte-img-caption.e-imgleft {display: contents;margin-left: 0;margin-right: auto;}
|
|
21227
|
-
.e-img-caption.e-rte-img-caption.e-imgbreak {display: contents;}
|
|
21228
|
-
.e-img-inner {box-sizing: border-box;display: block;font-size: 16px;font-weight: initial;
|
|
21229
|
-
margin: auto;opacity: .9;text-align: center;width: 100%;}
|
|
21230
|
-
.e-img-wrap {display: inline-block;margin: auto;padding: 0;text-align: center;width: 100%;}
|
|
21231
|
-
.e-imgleft, .e-video-left {float: left;margin: 0 5px 0 0;text-align: left;}
|
|
21232
|
-
.e-imgright, .e-video-right {float: right;margin: 0 0 0 5px;text-align: right;}
|
|
21233
|
-
.e-imgcenter, .e-video-center {cursor: pointer;display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
|
|
21234
|
-
.e-control img:not(.e-resize) {border: 2px solid transparent; z-index: 1000}
|
|
21235
|
-
.e-imginline , .e-audio-inline, .e-video-inline {display: inline-block;float: none;margin-left: 5px;margin-right: 5px;
|
|
21236
|
-
max-width: calc(100% - (2 * 5px));vertical-align: bottom;}
|
|
21237
|
-
.e-imgbreak, .e-audio-break, .e-video-break {border: 0;cursor: pointer;
|
|
21238
|
-
display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
|
|
21239
|
-
.e-rte-image.e-img-focus:not(.e-resize), .e-audio-focus:not(.e-resize), .e-video-focus:not(.e-resize) {border: solid 2px #4a90e2;}
|
|
21240
|
-
img.e-img-focus::selection, audio.e-audio-focus::selection, .e-video-focus::selection { background: transparent;color: transparent;}
|
|
21241
|
-
span.e-rte-imageboxmark, span.e-rte-videoboxmark { width: 10px; height: 10px; position: absolute; display: block;
|
|
21242
|
-
background: #4a90e2; border: 1px solid #fff; z-index: 1000;}
|
|
21243
|
-
.e-mob-rte.e-mob-span span.e-rte-imageboxmark, .e-mob-rte.e-mob-span span.e-rte-videoboxmark { background: #4a90e2; border: 1px solid #fff; }
|
|
21244
|
-
.e-mob-rte span.e-rte-imageboxmark, .e-mob-rte span.e-rte-videoboxmark { background: #fff; border: 1px solid #4a90e2;
|
|
21245
|
-
border-radius: 15px; height: 20px; width: 20px; }
|
|
21246
|
-
.e-mob-rte.e-mob-span span.e-rte-imageboxmark, .e-mob-rte.e-mob-span span.e-rte-videoboxmark { background: #4a90e2; border: 1px solid #fff; }
|
|
21247
|
-
.e-rte-content .e-content img.e-resize, .e-rte-content .e-content video.e-resize { z-index: 1000; }
|
|
21248
|
-
.e-img-caption .e-img-inner { outline: 0; }
|
|
21249
|
-
.e-rte-img-caption.e-imgleft .e-img-inner { float: left; text-align: left; }
|
|
21250
|
-
.e-rte-img-caption.e-imgright .e-img-inner { float: right; text-align: right; }
|
|
21251
|
-
.e-rte-img-caption.e-imgleft .e-img-wrap, .e-rte-img-caption.e-imgright .e-img-wrap { display: contents; }
|
|
21252
|
-
.e-img-caption a:focus-visible { outline: none; }
|
|
21253
|
-
.e-rte-img-caption .e-rte-image.e-imgright { margin-left: auto; margin-right: 0; }
|
|
21254
|
-
.e-rte-img-caption .e-rte-image.e-imgleft { margin: 0; }
|
|
21255
|
-
body{box-sizing: border-box;min-height: 100px;outline: 0 solid transparent;
|
|
21256
|
-
overflow-x: auto;padding: 16px;position: relative;text-align: inherit;z-index: 2;}
|
|
21257
|
-
p{margin: 0 0 10px;margin-bottom: 10px;}
|
|
21258
|
-
li{margin-bottom: 10px;}
|
|
21259
|
-
|
|
21260
|
-
|
|
21261
|
-
|
|
21262
|
-
|
|
21263
|
-
|
|
21264
|
-
|
|
21265
|
-
|
|
21266
|
-
|
|
21267
|
-
|
|
21268
|
-
|
|
21269
|
-
|
|
21270
|
-
|
|
21271
|
-
a
|
|
21272
|
-
|
|
21273
|
-
|
|
21274
|
-
|
|
21275
|
-
|
|
21276
|
-
table
|
|
21277
|
-
table
|
|
21278
|
-
table
|
|
21279
|
-
table
|
|
21280
|
-
table .e-
|
|
21281
|
-
|
|
21282
|
-
span.e-table-box
|
|
21283
|
-
.e-
|
|
21284
|
-
|
|
21285
|
-
|
|
21286
|
-
.e-
|
|
21287
|
-
.e-table-rhelper
|
|
21288
|
-
.e-table-rhelper.e-
|
|
21289
|
-
.e-
|
|
21290
|
-
|
|
21291
|
-
|
|
21292
|
-
|
|
21293
|
-
|
|
21294
|
-
|
|
21295
|
-
|
|
21296
|
-
.e-row-helper.e-reicon::
|
|
21297
|
-
|
|
21298
|
-
span.e-table-box
|
|
21299
|
-
.e-table-
|
|
21300
|
-
.e-
|
|
21301
|
-
.e-
|
|
21302
|
-
|
|
21303
|
-
|
|
21399
|
+
const IFRAMEHEADER = `
|
|
21400
|
+
<!DOCTYPE html>
|
|
21401
|
+
<html>
|
|
21402
|
+
<head>
|
|
21403
|
+
<meta charset='utf-8' />
|
|
21404
|
+
<style>
|
|
21405
|
+
@charset "UTF-8";
|
|
21406
|
+
body {
|
|
21407
|
+
font-family: "Roboto", sans-serif;
|
|
21408
|
+
font-size: 14px;
|
|
21409
|
+
}
|
|
21410
|
+
html, body{height: 100%;margin: 0;}
|
|
21411
|
+
body.e-cursor{cursor:default}
|
|
21412
|
+
span.e-selected-node {background-color: #939393;color: white;}
|
|
21413
|
+
span.e-selected-node.e-highlight {background-color: #1d9dd8;}
|
|
21414
|
+
body{color:#333;word-wrap:break-word;padding: 8px;box-sizing: border-box;}
|
|
21415
|
+
.e-rte-image, .e-rte-video {border: 0;cursor: pointer;display:
|
|
21416
|
+
block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
|
|
21417
|
+
.e-rte-audio {border: 0;cursor: pointer;display:
|
|
21418
|
+
block;float: none;margin: 5px auto;max-width: 100%;position: relative;}
|
|
21419
|
+
.e-rte-image.e-imginline, .e-rte-audio.e-audio-inline, .e-rte-video.e-video-inline {display: inline-block;float: none;
|
|
21420
|
+
margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));padding: 1px;vertical-align: bottom;}
|
|
21421
|
+
.e-rte-image.e-imgcenter, .e-rte-video.e-video-center {cursor: pointer;display: block;float: none;margin: 5px auto;max-width: 100%;position: relative;}
|
|
21422
|
+
.e-rte-image.e-imgright, .e-rte-video.e-video-right { float: right; margin: 0 auto;margin-left: 5px;text-align: right;}
|
|
21423
|
+
.e-rte-image.e-imgleft, .e-rte-video.e-video-left {float: left;margin: 0 auto;margin-right: 5px;text-align: left;}
|
|
21424
|
+
.e-img-caption { display: inline-block; float: none; margin: 5px auto; max-width: 100%;position: relative;}
|
|
21425
|
+
.e-img-caption.e-caption-inline {display: inline-block;float: none;
|
|
21426
|
+
margin: 5px auto;margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));
|
|
21427
|
+
position: relativetext-align: center;vertical-align: bottom;}
|
|
21428
|
+
.e-rte-img-caption.e-imgcenter {display: contents; margin-left: auto; margin-right: auto;}
|
|
21429
|
+
.e-rte-img-caption.e-imgright {display: contents; margin-left: auto; margin-right: 0;}
|
|
21430
|
+
.e-rte-img-caption.e-imgleft {display: contents;margin-left: 0;margin-right: auto;}
|
|
21431
|
+
.e-img-caption.e-rte-img-caption.e-imgbreak {display: contents;}
|
|
21432
|
+
.e-img-inner {box-sizing: border-box;display: block;font-size: 16px;font-weight: initial;
|
|
21433
|
+
margin: auto;opacity: .9;text-align: center;width: 100%;}
|
|
21434
|
+
.e-img-wrap {display: inline-block;margin: auto;padding: 0;text-align: center;width: 100%;}
|
|
21435
|
+
.e-imgleft, .e-video-left {float: left;margin: 0 5px 0 0;text-align: left;}
|
|
21436
|
+
.e-imgright, .e-video-right {float: right;margin: 0 0 0 5px;text-align: right;}
|
|
21437
|
+
.e-imgcenter, .e-video-center {cursor: pointer;display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
|
|
21438
|
+
.e-control img:not(.e-resize) {border: 2px solid transparent; z-index: 1000}
|
|
21439
|
+
.e-imginline , .e-audio-inline, .e-video-inline {display: inline-block;float: none;margin-left: 5px;margin-right: 5px;
|
|
21440
|
+
max-width: calc(100% - (2 * 5px));vertical-align: bottom;}
|
|
21441
|
+
.e-imgbreak, .e-audio-break, .e-video-break {border: 0;cursor: pointer;
|
|
21442
|
+
display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
|
|
21443
|
+
.e-rte-image.e-img-focus:not(.e-resize), .e-audio-focus:not(.e-resize), .e-video-focus:not(.e-resize) {border: solid 2px #4a90e2;}
|
|
21444
|
+
img.e-img-focus::selection, audio.e-audio-focus::selection, .e-video-focus::selection { background: transparent;color: transparent;}
|
|
21445
|
+
span.e-rte-imageboxmark, span.e-rte-videoboxmark { width: 10px; height: 10px; position: absolute; display: block;
|
|
21446
|
+
background: #4a90e2; border: 1px solid #fff; z-index: 1000;}
|
|
21447
|
+
.e-mob-rte.e-mob-span span.e-rte-imageboxmark, .e-mob-rte.e-mob-span span.e-rte-videoboxmark { background: #4a90e2; border: 1px solid #fff; }
|
|
21448
|
+
.e-mob-rte span.e-rte-imageboxmark, .e-mob-rte span.e-rte-videoboxmark { background: #fff; border: 1px solid #4a90e2;
|
|
21449
|
+
border-radius: 15px; height: 20px; width: 20px; }
|
|
21450
|
+
.e-mob-rte.e-mob-span span.e-rte-imageboxmark, .e-mob-rte.e-mob-span span.e-rte-videoboxmark { background: #4a90e2; border: 1px solid #fff; }
|
|
21451
|
+
.e-rte-content .e-content img.e-resize, .e-rte-content .e-content video.e-resize { z-index: 1000; }
|
|
21452
|
+
.e-img-caption .e-img-inner { outline: 0; }
|
|
21453
|
+
.e-rte-img-caption.e-imgleft .e-img-inner { float: left; text-align: left; }
|
|
21454
|
+
.e-rte-img-caption.e-imgright .e-img-inner { float: right; text-align: right; }
|
|
21455
|
+
.e-rte-img-caption.e-imgleft .e-img-wrap, .e-rte-img-caption.e-imgright .e-img-wrap { display: contents; }
|
|
21456
|
+
.e-img-caption a:focus-visible { outline: none; }
|
|
21457
|
+
.e-rte-img-caption .e-rte-image.e-imgright { margin-left: auto; margin-right: 0; }
|
|
21458
|
+
.e-rte-img-caption .e-rte-image.e-imgleft { margin: 0; }
|
|
21459
|
+
body{box-sizing: border-box;min-height: 100px;outline: 0 solid transparent;
|
|
21460
|
+
overflow-x: auto;padding: 16px;position: relative;text-align: inherit;z-index: 2;}
|
|
21461
|
+
p{margin: 0 0 10px;margin-bottom: 10px;}
|
|
21462
|
+
li{margin-bottom: 10px;}
|
|
21463
|
+
table{margin-bottom: 10px;}
|
|
21464
|
+
h1{font-size: 2.17em;font-weight: 400;line-height: 1;margin: 10px 0;}
|
|
21465
|
+
h2{font-size: 1.74em;font-weight: 400;margin: 10px 0;}
|
|
21466
|
+
h3{font-size: 1.31em;font-weight: 400;margin: 10px 0;}
|
|
21467
|
+
h4{font-size: 16px;font-weight: 400;line-height: 1.5;margin: 0;}
|
|
21468
|
+
h5{font-size: 00.8em;font-weight: 400;margin: 0;}
|
|
21469
|
+
h6{font-size: 00.65em;font-weight: 400;margin: 0;}
|
|
21470
|
+
blockquote{margin: 10px 0;margin-left: 0;padding-left: 5px;border-left: solid 2px #5c5c5c;}
|
|
21471
|
+
pre{background-color: inherit;border: 0;border-radius: 0;color: #333;
|
|
21472
|
+
font-size: inherit;line-height: inherit;margin: 0 0 10px;overflow: visible;padding: 0;
|
|
21473
|
+
white-space: pre-wrap;word-break: inherit;word-wrap: break-word;}
|
|
21474
|
+
strong, b{font-weight: 700;}
|
|
21475
|
+
a{text-decoration: none;user-select: auto;}
|
|
21476
|
+
a:hover{text-decoration: underline;};
|
|
21477
|
+
p:last-child, pre:last-child, blockquote:last-child{margin-bottom: 0;}
|
|
21478
|
+
h3+h4, h4+h5, h5+h6{margin-top: 00.6em;}
|
|
21479
|
+
ul:last-child{margin-bottom: 0;}
|
|
21480
|
+
table { border-collapse: collapse; empty-cells: show;}
|
|
21481
|
+
table td,table th {border: 1px solid #BDBDBD; height: 20px; padding: 2px 5px; vertical-align: middle;}
|
|
21482
|
+
table.e-alternate-border tbody tr:nth-child(2n) {background-color: #F5F5F5;}
|
|
21483
|
+
table th {background-color: #E0E0E0;}
|
|
21484
|
+
table.e-dashed-border td,table.e-dashed-border th { border: 1px dashed #BDBDBD}
|
|
21485
|
+
table .e-cell-select {border: 1px double #4a90e2;}
|
|
21486
|
+
span.e-table-box { cursor: nwse-resize; display: block; height: 10px; position: absolute; width: 10px; }
|
|
21487
|
+
span.e-table-box.e-rmob {height: 14px;width: 14px;}
|
|
21488
|
+
.e-row-resize, .e-column-resize { background-color: transparent; background-repeat: repeat;
|
|
21489
|
+
bottom: 0;cursor: col-resize;height: 1px;overflow: visible;position: absolute;width: 1px; }
|
|
21490
|
+
.e-row-resize { cursor: row-resize; height: 1px;}
|
|
21491
|
+
.e-table-rhelper { cursor: col-resize; opacity: .87;position: absolute;}
|
|
21492
|
+
.e-table-rhelper.e-column-helper { width: 1px; }
|
|
21493
|
+
.e-table-rhelper.e-row-helper {height: 1px;}
|
|
21494
|
+
.e-reicon::before { border-bottom: 6px solid transparent; border-right: 6px solid;
|
|
21495
|
+
border-top: 6px solid transparent; content: ''; display: block; height: 0;
|
|
21496
|
+
position: absolute; right: 4px; top: 4px; width: 20px; }
|
|
21497
|
+
.e-reicon::after { border-bottom: 6px solid transparent; border-left: 6px solid;
|
|
21498
|
+
border-top: 6px solid transparent; content: ''; display: block;
|
|
21499
|
+
height: 0; left: 4px; position: absolute; top: 4px; width: 20px; z-index: 3; }
|
|
21500
|
+
.e-row-helper.e-reicon::after { top: 10px; transform: rotate(90deg); }
|
|
21501
|
+
.e-row-helper.e-reicon::before { left: 4px; top: -20px; transform: rotate(90deg); }
|
|
21502
|
+
span.e-table-box { background-color: #ffffff; border: 1px solid #BDBDBD; }
|
|
21503
|
+
span.e-table-box.e-rbox-select { background-color: #BDBDBD; border: 1px solid #BDBDBD; }
|
|
21504
|
+
.e-table-rhelper { background-color: #4a90e2;}
|
|
21505
|
+
.e-rtl { direction: rtl; }
|
|
21506
|
+
.e-rte-placeholder::before { content: attr(placeholder); opacity: 0.54; overflow: hidden; padding-top: 16px; position: absolute; text-align: start; top: 0; z-index: 1; }
|
|
21507
|
+
li ol, li ul { margin-block-start: 10px;}
|
|
21508
|
+
</style>
|
|
21304
21509
|
</head>`;
|
|
21305
21510
|
/**
|
|
21306
21511
|
* Content module is used to render Rich Text Editor content
|
|
@@ -21738,8 +21943,14 @@ class HtmlEditor {
|
|
|
21738
21943
|
range.insertNode(tempSpan);
|
|
21739
21944
|
}
|
|
21740
21945
|
let currentChild = this.parent.inputElement.firstChild;
|
|
21741
|
-
while (!isNullOrUndefined(currentChild)
|
|
21742
|
-
currentChild.
|
|
21946
|
+
while (!isNullOrUndefined(currentChild)) {
|
|
21947
|
+
if (currentChild.nodeName === '#text') {
|
|
21948
|
+
currentChild = currentChild.nextElementSibling;
|
|
21949
|
+
continue;
|
|
21950
|
+
}
|
|
21951
|
+
if (currentChild.textContent.replace(regEx, '').trim().length > 0) {
|
|
21952
|
+
currentChild.innerHTML = currentChild.innerHTML.replace(regEx, '');
|
|
21953
|
+
}
|
|
21743
21954
|
currentChild = currentChild.nextElementSibling;
|
|
21744
21955
|
}
|
|
21745
21956
|
let tempSpanToRemove = this.parent.inputElement.querySelector('.tempSpan');
|
|
@@ -21802,25 +22013,54 @@ class HtmlEditor {
|
|
|
21802
22013
|
this.deleteCleanup(e, currentRange);
|
|
21803
22014
|
}
|
|
21804
22015
|
if (args.keyCode === 9 && this.parent.enableTabKey) {
|
|
22016
|
+
this.parent.formatter.saveData(e);
|
|
21805
22017
|
if (!isNullOrUndefined(args.target) && isNullOrUndefined(closest(args.target, '.e-rte-toolbar'))) {
|
|
21806
22018
|
const range = this.nodeSelectionObj.getRange(this.contentRenderer.getDocument());
|
|
21807
22019
|
const parentNode = this.nodeSelectionObj.getParentNodeCollection(range);
|
|
21808
22020
|
if (!((parentNode[0].nodeName === 'LI' || closest(parentNode[0], 'li') ||
|
|
21809
|
-
closest(parentNode[0], 'table'))
|
|
22021
|
+
closest(parentNode[0], 'table')))) {
|
|
21810
22022
|
args.preventDefault();
|
|
21811
|
-
|
|
21812
|
-
|
|
21813
|
-
|
|
22023
|
+
const selection = this.contentRenderer.getDocument().getSelection().getRangeAt(0);
|
|
22024
|
+
let alignmentNodes = this.parent.formatter.editorManager.domNode.blockNodes();
|
|
22025
|
+
if (this.parent.enterKey === 'BR') {
|
|
22026
|
+
if (selection.startOffset !== selection.endOffset && selection.startOffset === 0) {
|
|
22027
|
+
let save = this.nodeSelectionObj.save(range, this.contentRenderer.getDocument());
|
|
22028
|
+
this.parent.formatter.editorManager.domNode.setMarker(save);
|
|
22029
|
+
alignmentNodes = this.parent.formatter.editorManager.domNode.blockNodes();
|
|
22030
|
+
this.parent.formatter.editorManager.domNode.convertToBlockNodes(alignmentNodes, false);
|
|
22031
|
+
this.marginTabAdd(args.shiftKey, alignmentNodes);
|
|
22032
|
+
save = this.parent.formatter.editorManager.domNode.saveMarker(save);
|
|
22033
|
+
save.restore();
|
|
22034
|
+
}
|
|
22035
|
+
else {
|
|
22036
|
+
InsertHtml.Insert(this.contentRenderer.getDocument(), ' ');
|
|
22037
|
+
this.rangeCollection.push(this.nodeSelectionObj.getRange(this.contentRenderer.getDocument()));
|
|
22038
|
+
}
|
|
21814
22039
|
}
|
|
21815
|
-
else
|
|
21816
|
-
|
|
21817
|
-
|
|
21818
|
-
|
|
21819
|
-
|
|
21820
|
-
|
|
22040
|
+
else {
|
|
22041
|
+
if (!args.shiftKey) {
|
|
22042
|
+
if (selection.startOffset !== selection.endOffset && selection.startOffset === 0) {
|
|
22043
|
+
this.marginTabAdd(args.shiftKey, alignmentNodes);
|
|
22044
|
+
}
|
|
22045
|
+
else {
|
|
22046
|
+
InsertHtml.Insert(this.contentRenderer.getDocument(), ' ');
|
|
22047
|
+
this.rangeCollection.push(this.nodeSelectionObj.getRange(this.contentRenderer.getDocument()));
|
|
22048
|
+
}
|
|
22049
|
+
}
|
|
22050
|
+
else if (this.rangeCollection.length > 0 &&
|
|
22051
|
+
this.rangeCollection[this.rangeCollection.length - 1].startContainer.textContent.length === 4) {
|
|
22052
|
+
const textCont = this.rangeCollection[this.rangeCollection.length - 1].startContainer;
|
|
22053
|
+
this.nodeSelectionObj.setSelectionText(this.contentRenderer.getDocument(), textCont, textCont, 0, textCont.textContent.length);
|
|
22054
|
+
InsertHtml.Insert(this.contentRenderer.getDocument(), document.createTextNode(''));
|
|
22055
|
+
this.rangeCollection.pop();
|
|
22056
|
+
}
|
|
22057
|
+
else {
|
|
22058
|
+
this.marginTabAdd(args.shiftKey, alignmentNodes);
|
|
22059
|
+
}
|
|
21821
22060
|
}
|
|
21822
22061
|
}
|
|
21823
22062
|
}
|
|
22063
|
+
this.parent.formatter.saveData(e);
|
|
21824
22064
|
}
|
|
21825
22065
|
if (e.args.action === 'space' ||
|
|
21826
22066
|
e.args.action === 'enter' ||
|
|
@@ -21837,15 +22077,7 @@ class HtmlEditor {
|
|
|
21837
22077
|
}
|
|
21838
22078
|
else {
|
|
21839
22079
|
this.parent.notify(enterHandler, { args: e.args });
|
|
21840
|
-
|
|
21841
|
-
if (!isNullOrUndefined(newRange.startContainer) && this.parent.height !== 'auto' && newRange.startContainer.nodeName !== '#text'
|
|
21842
|
-
&& !this.parent.iframeSettings.enable && newRange.startContainer.getBoundingClientRect().bottom > this.parent.element.getBoundingClientRect().bottom) {
|
|
21843
|
-
this.parent.element.querySelector('.e-rte-content').scrollTop += newRange.startContainer.getBoundingClientRect().bottom - this.parent.element.getBoundingClientRect().bottom;
|
|
21844
|
-
}
|
|
21845
|
-
else if (!isNullOrUndefined(newRange.startContainer) && this.parent.height === 'auto' && newRange.startContainer.nodeName !== '#text'
|
|
21846
|
-
&& !this.parent.iframeSettings.enable && window.innerHeight < newRange.startContainer.getBoundingClientRect().top) {
|
|
21847
|
-
newRange.startContainer.scrollIntoView({ block: 'end', inline: 'nearest' });
|
|
21848
|
-
}
|
|
22080
|
+
scrollToCursor(this.parent.contentModule.getDocument(), this.parent.inputElement);
|
|
21849
22081
|
}
|
|
21850
22082
|
}
|
|
21851
22083
|
}
|
|
@@ -21854,7 +22086,11 @@ class HtmlEditor {
|
|
|
21854
22086
|
const editorValue = currentRange.startContainer.textContent.slice(0, currentRange.startOffset);
|
|
21855
22087
|
const orderedList = this.isOrderedList(editorValue);
|
|
21856
22088
|
const unOrderedList = this.isUnOrderedList(editorValue);
|
|
21857
|
-
|
|
22089
|
+
let hasSplitedText = false;
|
|
22090
|
+
if (orderedList || unOrderedList) {
|
|
22091
|
+
hasSplitedText = this.hasMultipleTextNode(currentRange);
|
|
22092
|
+
}
|
|
22093
|
+
if (!hasSplitedText && (orderedList && !unOrderedList || unOrderedList && !orderedList)) {
|
|
21858
22094
|
const eventArgs = {
|
|
21859
22095
|
callBack: null,
|
|
21860
22096
|
event: e.args,
|
|
@@ -21919,6 +22155,31 @@ class HtmlEditor {
|
|
|
21919
22155
|
}
|
|
21920
22156
|
return false;
|
|
21921
22157
|
}
|
|
22158
|
+
hasMultipleTextNode(range) {
|
|
22159
|
+
if (range && range.startContainer && range.startContainer.parentNode) {
|
|
22160
|
+
const parentNode = range.startContainer.parentNode;
|
|
22161
|
+
if (range.startContainer.previousElementSibling &&
|
|
22162
|
+
range.startContainer.previousElementSibling.classList.contains('e-mention-chip')
|
|
22163
|
+
&& !range.startContainer.previousElementSibling.isContentEditable) {
|
|
22164
|
+
return true;
|
|
22165
|
+
}
|
|
22166
|
+
if (this.parent.enterKey === 'BR' || closest(parentNode, 'table')) {
|
|
22167
|
+
return false;
|
|
22168
|
+
}
|
|
22169
|
+
const childNodes = parentNode.childNodes;
|
|
22170
|
+
const textNodes = [];
|
|
22171
|
+
for (let i = 0; i < childNodes.length; i++) {
|
|
22172
|
+
const node = childNodes[i];
|
|
22173
|
+
if (node && node.nodeType === Node.TEXT_NODE) {
|
|
22174
|
+
textNodes.push(node);
|
|
22175
|
+
if (textNodes.length > 1) {
|
|
22176
|
+
return true;
|
|
22177
|
+
}
|
|
22178
|
+
}
|
|
22179
|
+
}
|
|
22180
|
+
}
|
|
22181
|
+
return false;
|
|
22182
|
+
}
|
|
21922
22183
|
backSpaceCleanup(e, currentRange) {
|
|
21923
22184
|
let isLiElement = false;
|
|
21924
22185
|
let isPreviousNotContentEditable = true;
|
|
@@ -22490,6 +22751,30 @@ class HtmlEditor {
|
|
|
22490
22751
|
getSelectedHtml(e) {
|
|
22491
22752
|
e.callBack(this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument()).toString());
|
|
22492
22753
|
}
|
|
22754
|
+
marginTabAdd(val, alignmentNodes) {
|
|
22755
|
+
for (let index = 0; index < alignmentNodes.length; index++) {
|
|
22756
|
+
const element = alignmentNodes[index];
|
|
22757
|
+
if (element.closest('li')) {
|
|
22758
|
+
continue;
|
|
22759
|
+
}
|
|
22760
|
+
if (element.style.marginLeft) {
|
|
22761
|
+
let count$$1 = parseInt(element.style.marginLeft, 10);
|
|
22762
|
+
if (val) {
|
|
22763
|
+
count$$1 -= 20;
|
|
22764
|
+
}
|
|
22765
|
+
else {
|
|
22766
|
+
count$$1 += 20;
|
|
22767
|
+
}
|
|
22768
|
+
element.style.marginLeft = count$$1.toString() + 'px';
|
|
22769
|
+
if (element.style.marginLeft === '0px') {
|
|
22770
|
+
element.removeAttribute('style');
|
|
22771
|
+
}
|
|
22772
|
+
}
|
|
22773
|
+
else if (!val) {
|
|
22774
|
+
element.style.marginLeft = '20px';
|
|
22775
|
+
}
|
|
22776
|
+
}
|
|
22777
|
+
}
|
|
22493
22778
|
}
|
|
22494
22779
|
|
|
22495
22780
|
/**
|
|
@@ -22877,12 +23162,14 @@ class PasteCleanup {
|
|
|
22877
23162
|
popupObj.close();
|
|
22878
23163
|
}
|
|
22879
23164
|
this.parent.trigger(imageUploadFailed, e);
|
|
22880
|
-
uploadObj.
|
|
23165
|
+
if (uploadObj && document.body.contains(uploadObj.element)) {
|
|
23166
|
+
uploadObj.destroy();
|
|
23167
|
+
}
|
|
22881
23168
|
}
|
|
22882
23169
|
popupClose(popupObj, uploadObj, imgElem, e) {
|
|
22883
23170
|
this.parent.inputElement.contentEditable = 'true';
|
|
22884
23171
|
e.element = imgElem;
|
|
22885
|
-
e.
|
|
23172
|
+
e.detectImageSource = ImageInputSource.Pasted;
|
|
22886
23173
|
this.parent.trigger(imageUploadSuccess, e, (e) => {
|
|
22887
23174
|
if (!isNullOrUndefined(this.parent.insertImageSettings.path)) {
|
|
22888
23175
|
const url = this.parent.insertImageSettings.path + e.file.name;
|
|
@@ -22892,7 +23179,7 @@ class PasteCleanup {
|
|
|
22892
23179
|
});
|
|
22893
23180
|
popupObj.close();
|
|
22894
23181
|
imgElem.style.opacity = '1';
|
|
22895
|
-
if (
|
|
23182
|
+
if (uploadObj && document.body.contains(uploadObj.element)) {
|
|
22896
23183
|
uploadObj.destroy();
|
|
22897
23184
|
}
|
|
22898
23185
|
this.toolbarEnableDisable(false);
|
|
@@ -23141,7 +23428,8 @@ class PasteCleanup {
|
|
|
23141
23428
|
clipBoardElem = this.allowedStyle(clipBoardElem);
|
|
23142
23429
|
}
|
|
23143
23430
|
this.saveSelection.restore();
|
|
23144
|
-
|
|
23431
|
+
const newText = clipBoardElem.innerHTML.split("&").join("&");
|
|
23432
|
+
clipBoardElem.innerHTML = this.sanitizeHelper(newText);
|
|
23145
23433
|
const allImg = clipBoardElem.querySelectorAll('img');
|
|
23146
23434
|
for (let i = 0; i < allImg.length; i++) {
|
|
23147
23435
|
if (!isNullOrUndefined(allImg[i].getAttribute('src'))) {
|
|
@@ -23190,11 +23478,34 @@ class PasteCleanup {
|
|
|
23190
23478
|
extend(args, { elements: returnArgs.elements, imageElements: returnArgs.imgElem }, true);
|
|
23191
23479
|
this.parent.formatter.onSuccess(this.parent, args);
|
|
23192
23480
|
}, clipBoardElem, null, null, this.parent.enterKey);
|
|
23481
|
+
scrollToCursor(this.parent.contentModule.getDocument(), this.parent.inputElement);
|
|
23193
23482
|
this.removeTempClass();
|
|
23194
23483
|
this.parent.notify(toolbarRefresh, {});
|
|
23195
23484
|
this.cropImageHandler(this.parent.inputElement);
|
|
23196
23485
|
}
|
|
23197
23486
|
}
|
|
23487
|
+
convertBlobToBase64(element) {
|
|
23488
|
+
const imgElem = element.querySelectorAll('img');
|
|
23489
|
+
for (let i = 0; i < imgElem.length; i++) {
|
|
23490
|
+
if (imgElem[i].getAttribute('src') &&
|
|
23491
|
+
imgElem[i].getAttribute('src').startsWith("blob")) {
|
|
23492
|
+
let blobImageUrl = imgElem[i].getAttribute('src');
|
|
23493
|
+
let img = new Image();
|
|
23494
|
+
const onImageLoadEvent = () => {
|
|
23495
|
+
let canvas = document.createElement('canvas');
|
|
23496
|
+
let ctx = canvas.getContext('2d');
|
|
23497
|
+
canvas.width = img.width;
|
|
23498
|
+
canvas.height = img.height;
|
|
23499
|
+
ctx.drawImage(img, 0, 0);
|
|
23500
|
+
let base64String = canvas.toDataURL('image/png');
|
|
23501
|
+
imgElem[i].src = base64String;
|
|
23502
|
+
img.removeEventListener('load', onImageLoadEvent);
|
|
23503
|
+
};
|
|
23504
|
+
img.src = blobImageUrl;
|
|
23505
|
+
img.addEventListener('load', onImageLoadEvent);
|
|
23506
|
+
}
|
|
23507
|
+
}
|
|
23508
|
+
}
|
|
23198
23509
|
cropImageHandler(element) {
|
|
23199
23510
|
const allImgElm = element.querySelectorAll('.e-img-cropped');
|
|
23200
23511
|
if (allImgElm.length > 0) {
|
|
@@ -23233,22 +23544,33 @@ class PasteCleanup {
|
|
|
23233
23544
|
}
|
|
23234
23545
|
}
|
|
23235
23546
|
else {
|
|
23236
|
-
this.
|
|
23237
|
-
|
|
23238
|
-
|
|
23547
|
+
if (!isNullOrUndefined(this.parent.insertImageSettings.saveUrl) && !isNullOrUndefined(this.parent.insertImageSettings.path) && !isNullOrUndefined(this.parent.inputElement.querySelectorAll("img")) && this.parent.inputElement.querySelectorAll("img")[0].src.startsWith("blob")) {
|
|
23548
|
+
this.convertBlobToBase64(this.parent.inputElement);
|
|
23549
|
+
setTimeout(() => {
|
|
23550
|
+
this.imgUploading(this.parent.inputElement);
|
|
23551
|
+
if (this.parent.iframeSettings.enable) {
|
|
23552
|
+
this.parent.updateValue();
|
|
23553
|
+
}
|
|
23554
|
+
}, 20);
|
|
23555
|
+
}
|
|
23556
|
+
else {
|
|
23557
|
+
this.imgUploading(this.parent.inputElement);
|
|
23558
|
+
if (this.parent.iframeSettings.enable) {
|
|
23559
|
+
this.parent.updateValue();
|
|
23560
|
+
}
|
|
23239
23561
|
}
|
|
23240
23562
|
}
|
|
23241
23563
|
}
|
|
23242
23564
|
addTableClass(element, source) {
|
|
23243
|
-
source = isNullOrUndefined(source) ? '' : source;
|
|
23244
23565
|
const tableElement = element.querySelectorAll('table');
|
|
23245
23566
|
for (let i = 0; i < tableElement.length; i++) {
|
|
23246
|
-
|
|
23247
|
-
|
|
23248
|
-
}
|
|
23249
|
-
else if (source && source !== 'html') {
|
|
23567
|
+
const isMSTeamsTable = tableElement[i].parentElement.nodeName === 'FIGURE';
|
|
23568
|
+
if (this.parent.pasteCleanupSettings.keepFormat && source && !isMSTeamsTable) {
|
|
23250
23569
|
tableElement[i].classList.add('e-rte-paste-' + source + '-table');
|
|
23251
23570
|
}
|
|
23571
|
+
else if (!tableElement[i].classList.contains('e-rte-table')) {
|
|
23572
|
+
tableElement[i].classList.add('e-rte-table');
|
|
23573
|
+
}
|
|
23252
23574
|
}
|
|
23253
23575
|
return element;
|
|
23254
23576
|
}
|
|
@@ -24015,9 +24337,6 @@ class FullScreen {
|
|
|
24015
24337
|
&& !isNullOrUndefined(this.parent.quickToolbarModule)) {
|
|
24016
24338
|
this.parent.quickToolbarModule.hideQuickToolbars();
|
|
24017
24339
|
}
|
|
24018
|
-
if (this.parent.showTooltip && !isNullOrUndefined(document.querySelector('.e-tooltip-wrap'))) {
|
|
24019
|
-
this.parent.notify(destroyTooltip, { args: event });
|
|
24020
|
-
}
|
|
24021
24340
|
this.scrollableParent = getScrollableParent(this.parent.element);
|
|
24022
24341
|
if (!this.parent.element.classList.contains(CLS_FULL_SCREEN)) {
|
|
24023
24342
|
const evenArgs = {
|
|
@@ -24069,9 +24388,6 @@ class FullScreen {
|
|
|
24069
24388
|
&& !isNullOrUndefined(this.parent.quickToolbarModule)) {
|
|
24070
24389
|
this.parent.quickToolbarModule.hideQuickToolbars();
|
|
24071
24390
|
}
|
|
24072
|
-
if (this.parent.showTooltip && !isNullOrUndefined(document.querySelector('.e-tooltip-wrap'))) {
|
|
24073
|
-
this.parent.notify(destroyTooltip, { args: event });
|
|
24074
|
-
}
|
|
24075
24391
|
if (this.parent.element.classList.contains(CLS_FULL_SCREEN)) {
|
|
24076
24392
|
const evenArgs = {
|
|
24077
24393
|
cancel: false,
|
|
@@ -25142,7 +25458,7 @@ class EmojiPicker {
|
|
|
25142
25458
|
const popupHeight = 330;
|
|
25143
25459
|
let popupTop = cursorTop;
|
|
25144
25460
|
const popupLeft = cursorLeft + rect.width;
|
|
25145
|
-
if (rteEle.getBoundingClientRect().top < 0) {
|
|
25461
|
+
if (rteEle.getBoundingClientRect().top < 0 && !this.parent.inlineMode.enable) {
|
|
25146
25462
|
popupTop = popupTop + rteContent.getBoundingClientRect().top - toolbarHeight;
|
|
25147
25463
|
}
|
|
25148
25464
|
if (rect.top < popupHeight) {
|
|
@@ -25809,7 +26125,10 @@ class Link {
|
|
|
25809
26125
|
this.selection.restore();
|
|
25810
26126
|
}
|
|
25811
26127
|
else {
|
|
26128
|
+
const x = window.scrollX;
|
|
26129
|
+
const y = window.scrollY;
|
|
25812
26130
|
this.selfLink.parent.contentModule.getEditPanel().focus();
|
|
26131
|
+
window.scrollTo(x, y);
|
|
25813
26132
|
}
|
|
25814
26133
|
}
|
|
25815
26134
|
onDocumentClick(e) {
|
|
@@ -26469,13 +26788,13 @@ class Image$1 {
|
|
|
26469
26788
|
selectParentEle = this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range);
|
|
26470
26789
|
if (!originalEvent.ctrlKey && originalEvent.key && (originalEvent.key.length === 1 || originalEvent.action === 'enter') &&
|
|
26471
26790
|
(!isNullOrUndefined(selectParentEle[0]) && selectParentEle[0].tagName === 'IMG') && selectParentEle[0].parentElement) {
|
|
26472
|
-
const prev = selectParentEle[0].parentElement.childNodes[0];
|
|
26473
26791
|
if (this.contentModule.getEditPanel().querySelector('.e-img-resize')) {
|
|
26474
26792
|
this.removeResizeEle();
|
|
26475
26793
|
}
|
|
26476
|
-
this.parent.formatter.editorManager.nodeSelection.setSelectionText(this.contentModule.getDocument(), prev, prev, prev.textContent.length, prev.textContent.length);
|
|
26477
26794
|
removeClass([selectParentEle[0]], 'e-img-focus');
|
|
26478
|
-
this.quickToolObj.imageQTBar
|
|
26795
|
+
if (this.quickToolObj && this.quickToolObj.imageQTBar) {
|
|
26796
|
+
this.quickToolObj.imageQTBar.hidePopup();
|
|
26797
|
+
}
|
|
26479
26798
|
}
|
|
26480
26799
|
}
|
|
26481
26800
|
if (originalEvent.ctrlKey && (originalEvent.keyCode === 89 || originalEvent.keyCode === 90)) {
|
|
@@ -27236,7 +27555,12 @@ class Image$1 {
|
|
|
27236
27555
|
animationSettings: { effect: 'None' },
|
|
27237
27556
|
close: (event) => {
|
|
27238
27557
|
if (this.isImgUploaded) {
|
|
27239
|
-
this.
|
|
27558
|
+
if (this.dialogObj.element.querySelector('.e-file-abort-btn')) {
|
|
27559
|
+
this.dialogObj.element.querySelector('.e-file-abort-btn').click();
|
|
27560
|
+
}
|
|
27561
|
+
else {
|
|
27562
|
+
this.uploadObj.remove();
|
|
27563
|
+
}
|
|
27240
27564
|
}
|
|
27241
27565
|
this.parent.isBlur = false;
|
|
27242
27566
|
if (event && !isNullOrUndefined(event.event) && event.event.returnValue) {
|
|
@@ -27634,7 +27958,7 @@ class Image$1 {
|
|
|
27634
27958
|
}
|
|
27635
27959
|
},
|
|
27636
27960
|
success: (e) => {
|
|
27637
|
-
e.
|
|
27961
|
+
e.detectImageSource = ImageInputSource.Uploaded;
|
|
27638
27962
|
this.parent.trigger(imageUploadSuccess, e, (e) => {
|
|
27639
27963
|
if (!isNullOrUndefined(this.parent.insertImageSettings.path)) {
|
|
27640
27964
|
const url = this.parent.insertImageSettings.path + e.file.name;
|
|
@@ -28074,7 +28398,7 @@ class Image$1 {
|
|
|
28074
28398
|
imageElement.style.opacity = '1';
|
|
28075
28399
|
imageElement.classList.add(CLS_IMG_FOCUS);
|
|
28076
28400
|
e.element = imageElement;
|
|
28077
|
-
e.
|
|
28401
|
+
e.detectImageSource = ImageInputSource.Dropped;
|
|
28078
28402
|
this.parent.trigger(imageUploadSuccess, e, (e) => {
|
|
28079
28403
|
if (!isNullOrUndefined(this.parent.insertImageSettings.path)) {
|
|
28080
28404
|
const url = this.parent.insertImageSettings.path + e.file.name;
|
|
@@ -28743,7 +29067,12 @@ class Audio {
|
|
|
28743
29067
|
animationSettings: { effect: 'None' },
|
|
28744
29068
|
close: (event) => {
|
|
28745
29069
|
if (this.isAudioUploaded) {
|
|
28746
|
-
this.
|
|
29070
|
+
if (this.dialogObj.element.querySelector('.e-file-abort-btn')) {
|
|
29071
|
+
this.dialogObj.element.querySelector('.e-file-abort-btn').click();
|
|
29072
|
+
}
|
|
29073
|
+
else {
|
|
29074
|
+
this.uploadObj.remove();
|
|
29075
|
+
}
|
|
28747
29076
|
}
|
|
28748
29077
|
this.parent.isBlur = false;
|
|
28749
29078
|
if (event && !isNullOrUndefined(event.event) && event.event.returnValue) {
|
|
@@ -30094,7 +30423,12 @@ class Video {
|
|
|
30094
30423
|
animationSettings: { effect: 'None' },
|
|
30095
30424
|
close: (event) => {
|
|
30096
30425
|
if (this.isVideoUploaded) {
|
|
30097
|
-
this.
|
|
30426
|
+
if (this.dialogObj.element.querySelector('.e-file-abort-btn')) {
|
|
30427
|
+
this.dialogObj.element.querySelector('.e-file-abort-btn').click();
|
|
30428
|
+
}
|
|
30429
|
+
else {
|
|
30430
|
+
this.uploadObj.remove();
|
|
30431
|
+
}
|
|
30098
30432
|
}
|
|
30099
30433
|
this.parent.isBlur = false;
|
|
30100
30434
|
if (event && !isNullOrUndefined(event.event) && event.event.returnValue) {
|
|
@@ -31341,8 +31675,11 @@ class Table {
|
|
|
31341
31675
|
if (proxy.editdlgObj) {
|
|
31342
31676
|
proxy.editdlgObj.hide();
|
|
31343
31677
|
}
|
|
31678
|
+
const x = window.scrollX;
|
|
31679
|
+
const y = window.scrollY;
|
|
31344
31680
|
proxy.parent.formatter.process(proxy.parent, selectionObj.args, selectionObj.args.originalEvent, value);
|
|
31345
31681
|
proxy.contentModule.getEditPanel().focus();
|
|
31682
|
+
window.scrollTo(x, y);
|
|
31346
31683
|
proxy.parent.on(mouseDown, proxy.cellSelect, proxy);
|
|
31347
31684
|
}
|
|
31348
31685
|
cellSelect(e) {
|
|
@@ -32318,7 +32655,8 @@ class Table {
|
|
|
32318
32655
|
const argument = ((Browser.isDevice || (!isNullOrUndefined(args.args)
|
|
32319
32656
|
&& !isNullOrUndefined(args.args.originalEvent) &&
|
|
32320
32657
|
args.args.originalEvent.action === 'insert-table')
|
|
32321
|
-
|| proxy.parent.inlineMode.enable || !isNullOrUndefined(proxy.parent.quickToolbarSettings.text))
|
|
32658
|
+
|| proxy.parent.inlineMode.enable || ((!isNullOrUndefined(proxy.parent.quickToolbarSettings.text)) &&
|
|
32659
|
+
!(args instanceof PointerEvent))) ? args :
|
|
32322
32660
|
this);
|
|
32323
32661
|
proxy.tableInsert(proxy.rowTextBox.value, proxy.columnTextBox.value, e, argument);
|
|
32324
32662
|
}
|
|
@@ -32767,12 +33105,12 @@ const executeGroup = {
|
|
|
32767
33105
|
}
|
|
32768
33106
|
};
|
|
32769
33107
|
|
|
32770
|
-
var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
32771
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
32772
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
32773
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
32774
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
32775
|
-
};
|
|
33108
|
+
var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
33109
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
33110
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
33111
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
33112
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
33113
|
+
};
|
|
32776
33114
|
/**
|
|
32777
33115
|
* Configures the toolbar settings of the RichTextEditor.
|
|
32778
33116
|
*/
|
|
@@ -33162,12 +33500,12 @@ __decorate$2([
|
|
|
33162
33500
|
Property(bulletFormatList)
|
|
33163
33501
|
], BulletFormatList.prototype, "types", void 0);
|
|
33164
33502
|
|
|
33165
|
-
var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
33166
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
33167
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
33168
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
33169
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
33170
|
-
};
|
|
33503
|
+
var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
33504
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
33505
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
33506
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
33507
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
33508
|
+
};
|
|
33171
33509
|
/**
|
|
33172
33510
|
* Objects used for configuring the iframe resources properties.
|
|
33173
33511
|
*/
|
|
@@ -33194,12 +33532,12 @@ __decorate$3([
|
|
|
33194
33532
|
Complex({}, Resources)
|
|
33195
33533
|
], IFrameSettings.prototype, "resources", void 0);
|
|
33196
33534
|
|
|
33197
|
-
var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
33198
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
33199
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
33200
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
33201
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
33202
|
-
};
|
|
33535
|
+
var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
33536
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
33537
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
33538
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
33539
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
33540
|
+
};
|
|
33203
33541
|
/**
|
|
33204
33542
|
* Configures the inlineMode property of the RTE.
|
|
33205
33543
|
*/
|
|
@@ -33250,16 +33588,18 @@ class EnterKeyAction {
|
|
|
33250
33588
|
this.getRangeNode();
|
|
33251
33589
|
let isTableEnter = true;
|
|
33252
33590
|
this.formatTags = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote'];
|
|
33253
|
-
const
|
|
33254
|
-
|
|
33255
|
-
|
|
33256
|
-
|
|
33257
|
-
|
|
33258
|
-
|
|
33259
|
-
|
|
33260
|
-
if (
|
|
33261
|
-
this.
|
|
33262
|
-
|
|
33591
|
+
const tableImagCursor = this.processedTableImageCursor();
|
|
33592
|
+
if (tableImagCursor.start || tableImagCursor.end) {
|
|
33593
|
+
if (tableImagCursor.startName === 'TABLE' || tableImagCursor.endName === 'TABLE') { // Default browser action prevented and hanled manually.
|
|
33594
|
+
this.handleCursorAtTableSide(e, tableImagCursor.start, tableImagCursor.end);
|
|
33595
|
+
return;
|
|
33596
|
+
}
|
|
33597
|
+
}
|
|
33598
|
+
if (tableImagCursor.start || tableImagCursor.end || this.range.startContainer.nodeName === 'IMG') {
|
|
33599
|
+
if (this.parent.enterKey === 'BR' && (tableImagCursor.startName === 'IMG' || tableImagCursor.endName === 'IMG' || this.range.startContainer.nodeName === 'IMG')) { // Default browser action prevented and hanled manually.
|
|
33600
|
+
this.handleEnterKeyAtImageSide(e, tableImagCursor.start, tableImagCursor.end);
|
|
33601
|
+
return;
|
|
33602
|
+
}
|
|
33263
33603
|
}
|
|
33264
33604
|
if (!isNullOrUndefined(this.startNode.closest('TABLE')) && !isNullOrUndefined(this.endNode.closest('TABLE'))) {
|
|
33265
33605
|
isTableEnter = false;
|
|
@@ -33575,6 +33915,7 @@ class EnterKeyAction {
|
|
|
33575
33915
|
else {
|
|
33576
33916
|
currentParent = this.startNode;
|
|
33577
33917
|
}
|
|
33918
|
+
const currentParentStyle = window.getComputedStyle(currentParent);
|
|
33578
33919
|
this.removeBRElement(currentParent);
|
|
33579
33920
|
let currentParentLastChild = currentParent.lastChild;
|
|
33580
33921
|
while (!isNullOrUndefined(currentParentLastChild) && !(currentParentLastChild.nodeName === '#text' || currentParentLastChild.nodeName === 'BR'
|
|
@@ -33626,7 +33967,6 @@ class EnterKeyAction {
|
|
|
33626
33967
|
const outerBRElem = this.parent.createElement('br');
|
|
33627
33968
|
if (this.range.startOffset === 0 && this.range.endOffset === 0 &&
|
|
33628
33969
|
!isNullOrUndefined(currentParent.previousSibling) && currentParent.previousSibling.nodeName === 'BR' && currentParent.nodeName !== 'P' && currentParent.nodeName !== 'DIV') {
|
|
33629
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
33630
33970
|
newElem = this.parent.formatter.editorManager.nodeCutter.SplitNode(this.range, currentParent, false).cloneNode(true);
|
|
33631
33971
|
this.parent.formatter.editorManager.domNode.insertAfter(outerBRElem, currentParent);
|
|
33632
33972
|
this.insertFocusContent();
|
|
@@ -33638,6 +33978,14 @@ class EnterKeyAction {
|
|
|
33638
33978
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
33639
33979
|
|
|
33640
33980
|
}
|
|
33981
|
+
else if (currentParent !== this.parent.inputElement &&
|
|
33982
|
+
(currentParentStyle.display === 'inline' || currentParentStyle.display === 'inline-block')) {
|
|
33983
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
33984
|
+
newElem = this.parent.formatter.editorManager.nodeCutter.SplitNode(this.range, currentParent, true).cloneNode(true);
|
|
33985
|
+
currentParent.parentElement.insertBefore(outerBRElem, currentParent);
|
|
33986
|
+
this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(), currentParent, 0);
|
|
33987
|
+
this.insertFocusContent();
|
|
33988
|
+
}
|
|
33641
33989
|
else {
|
|
33642
33990
|
this.insertBRElement();
|
|
33643
33991
|
}
|
|
@@ -33648,7 +33996,7 @@ class EnterKeyAction {
|
|
|
33648
33996
|
}
|
|
33649
33997
|
e.args.preventDefault();
|
|
33650
33998
|
}
|
|
33651
|
-
this.
|
|
33999
|
+
this.triggerActionComplete(e, shiftKey);
|
|
33652
34000
|
}
|
|
33653
34001
|
});
|
|
33654
34002
|
}
|
|
@@ -33718,6 +34066,9 @@ class EnterKeyAction {
|
|
|
33718
34066
|
}
|
|
33719
34067
|
return insertElem;
|
|
33720
34068
|
}
|
|
34069
|
+
triggerActionComplete(e, shiftKey) {
|
|
34070
|
+
this.parent.trigger(actionComplete, { requestType: shiftKey ? 'ShiftEnterAction' : 'EnterAction', args: e.args });
|
|
34071
|
+
}
|
|
33721
34072
|
handleCursorAtTableSide(e, isStart, isEnd) {
|
|
33722
34073
|
if (this.parent.enterKey !== 'BR') {
|
|
33723
34074
|
const shiftKey = e.args.shiftKey;
|
|
@@ -33747,19 +34098,99 @@ class EnterKeyAction {
|
|
|
33747
34098
|
}
|
|
33748
34099
|
this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(), newElement, 0);
|
|
33749
34100
|
e.args.preventDefault();
|
|
33750
|
-
this.
|
|
34101
|
+
this.triggerActionComplete(e, shiftKey);
|
|
33751
34102
|
}
|
|
33752
34103
|
});
|
|
33753
34104
|
}
|
|
33754
34105
|
}
|
|
34106
|
+
handleEnterKeyAtImageSide(e, isStart, isEnd) {
|
|
34107
|
+
const actionBeginArgs = {
|
|
34108
|
+
cancel: false,
|
|
34109
|
+
name: actionBegin,
|
|
34110
|
+
requestType: e.args.shiftKey ? 'ShiftEnterAction' : 'EnterAction',
|
|
34111
|
+
originalEvent: e.args
|
|
34112
|
+
};
|
|
34113
|
+
let directRange = false;
|
|
34114
|
+
if (this.range.startContainer.nodeName === 'IMG' && this.range.startOffset === 0) {
|
|
34115
|
+
directRange = true;
|
|
34116
|
+
}
|
|
34117
|
+
this.parent.trigger(actionBegin, actionBeginArgs, (actionBeginArgs) => {
|
|
34118
|
+
if (!actionBeginArgs.cancel) {
|
|
34119
|
+
if (this.parent.enterKey === 'BR') {
|
|
34120
|
+
const newElement = this.parent.createElement('BR');
|
|
34121
|
+
let imageElement;
|
|
34122
|
+
if (directRange) {
|
|
34123
|
+
imageElement = this.range.startContainer;
|
|
34124
|
+
imageElement.parentElement.insertBefore(newElement, imageElement);
|
|
34125
|
+
this.parent.formatter.editorManager.nodeSelection.
|
|
34126
|
+
setCursorPoint(this.parent.contentModule.getDocument(), imageElement, 0);
|
|
34127
|
+
}
|
|
34128
|
+
if (isStart) {
|
|
34129
|
+
imageElement = this.range.startContainer.childNodes[this.range.startOffset];
|
|
34130
|
+
imageElement.parentElement.insertBefore(newElement, imageElement);
|
|
34131
|
+
this.parent.formatter.editorManager.nodeSelection.
|
|
34132
|
+
setCursorPoint(this.parent.contentModule.getDocument(), imageElement, 0);
|
|
34133
|
+
}
|
|
34134
|
+
if (isEnd) {
|
|
34135
|
+
imageElement = this.range.startContainer.childNodes[this.range.startOffset - 1];
|
|
34136
|
+
if (!isNullOrUndefined(imageElement.nextSibling)) {
|
|
34137
|
+
imageElement.parentElement.insertBefore(newElement, imageElement.nextSibling);
|
|
34138
|
+
this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(), newElement.nextSibling, 0);
|
|
34139
|
+
}
|
|
34140
|
+
else if (isNullOrUndefined(imageElement.nextSibling)) {
|
|
34141
|
+
imageElement.parentElement.appendChild(newElement);
|
|
34142
|
+
const brElement = this.parent.createElement('BR');
|
|
34143
|
+
imageElement.parentElement.appendChild(brElement);
|
|
34144
|
+
this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(), brElement, 0);
|
|
34145
|
+
}
|
|
34146
|
+
}
|
|
34147
|
+
e.args.preventDefault();
|
|
34148
|
+
this.triggerActionComplete(e, e.args.shiftKey);
|
|
34149
|
+
}
|
|
34150
|
+
}
|
|
34151
|
+
});
|
|
34152
|
+
}
|
|
34153
|
+
isTableOrImageStart() {
|
|
34154
|
+
const customHandlerElements = ['IMG', 'TABLE'];
|
|
34155
|
+
const startContainer = this.range.startContainer;
|
|
34156
|
+
const startOffset = this.range.startOffset;
|
|
34157
|
+
const isCursorAtStart = this.range.collapsed && (startContainer.nodeType === 1) &&
|
|
34158
|
+
startContainer.isContentEditable && startContainer.childNodes[startOffset] &&
|
|
34159
|
+
(customHandlerElements.indexOf(startContainer.childNodes[startOffset].nodeName) > -1);
|
|
34160
|
+
if (isCursorAtStart) {
|
|
34161
|
+
return { start: isCursorAtStart, startNodeName: startContainer.childNodes[startOffset].nodeName };
|
|
34162
|
+
}
|
|
34163
|
+
else {
|
|
34164
|
+
return { start: false, startNodeName: '' };
|
|
34165
|
+
}
|
|
34166
|
+
}
|
|
34167
|
+
isTableOrImageEnd() {
|
|
34168
|
+
const customHandlerElements = ['IMG', 'TABLE'];
|
|
34169
|
+
const startContainer = this.range.startContainer;
|
|
34170
|
+
const startOffset = this.range.startOffset;
|
|
34171
|
+
const isCursorAtEnd = this.range.collapsed && (startContainer.nodeType === 1) &&
|
|
34172
|
+
startContainer.isContentEditable && startContainer.childNodes[startOffset - 1] &&
|
|
34173
|
+
(customHandlerElements.indexOf(startContainer.childNodes[startOffset - 1].nodeName) > -1);
|
|
34174
|
+
if (isCursorAtEnd) {
|
|
34175
|
+
return { end: isCursorAtEnd, endNodeName: startContainer.childNodes[startOffset - 1].nodeName };
|
|
34176
|
+
}
|
|
34177
|
+
else {
|
|
34178
|
+
return { end: false, endNodeName: '' };
|
|
34179
|
+
}
|
|
34180
|
+
}
|
|
34181
|
+
processedTableImageCursor() {
|
|
34182
|
+
const { start, startNodeName } = this.isTableOrImageStart();
|
|
34183
|
+
const { end, endNodeName } = this.isTableOrImageEnd();
|
|
34184
|
+
return { start, startName: startNodeName, end, endName: endNodeName };
|
|
34185
|
+
}
|
|
33755
34186
|
}
|
|
33756
34187
|
|
|
33757
|
-
var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
33758
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
33759
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
33760
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
33761
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
33762
|
-
};
|
|
34188
|
+
var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
34189
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
34190
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
34191
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
34192
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
34193
|
+
};
|
|
33763
34194
|
/**
|
|
33764
34195
|
* Represents the Rich Text Editor component.
|
|
33765
34196
|
* ```html
|
|
@@ -33897,6 +34328,7 @@ let RichTextEditor = class RichTextEditor extends Component {
|
|
|
33897
34328
|
this.persistData();
|
|
33898
34329
|
setStyleAttribute(this.element, { 'width': formatUnit(this.width) });
|
|
33899
34330
|
attributes(this.element, { role: 'application', 'aria-label': 'Rich Text Editor' });
|
|
34331
|
+
this.beforeRenderClassValue = this.element.getAttribute('class');
|
|
33900
34332
|
}
|
|
33901
34333
|
persistData() {
|
|
33902
34334
|
if (this.enablePersistence && this.originalElement.tagName === 'TEXTAREA') {
|
|
@@ -34767,10 +35199,21 @@ let RichTextEditor = class RichTextEditor extends Component {
|
|
|
34767
35199
|
if (this.isDestroyed || !this.isRendered) {
|
|
34768
35200
|
return;
|
|
34769
35201
|
}
|
|
35202
|
+
this.element.className = this.beforeRenderClassValue;
|
|
35203
|
+
this.removeHtmlAttributes();
|
|
35204
|
+
this.removeAttributes();
|
|
35205
|
+
this.beforeRenderClassValue = null;
|
|
34770
35206
|
if (!isNullOrUndefined(this.timeInterval)) {
|
|
34771
35207
|
clearInterval(this.timeInterval);
|
|
34772
35208
|
this.timeInterval = null;
|
|
34773
35209
|
}
|
|
35210
|
+
const tooltipElements = document.querySelectorAll('[data-rte-id="' + this.getID() + '"]');
|
|
35211
|
+
for (let i = 0; i < tooltipElements.length; i++) {
|
|
35212
|
+
const tooltipEle = tooltipElements[i];
|
|
35213
|
+
if (this.getID() === tooltipEle.getAttribute('data-rte-id')) {
|
|
35214
|
+
detach(tooltipEle);
|
|
35215
|
+
}
|
|
35216
|
+
}
|
|
34774
35217
|
if (this.element.offsetParent === null) {
|
|
34775
35218
|
if (!isNullOrUndefined(this.toolbarModule)) {
|
|
34776
35219
|
this.toolbarModule.destroy();
|
|
@@ -34827,8 +35270,6 @@ let RichTextEditor = class RichTextEditor extends Component {
|
|
|
34827
35270
|
}
|
|
34828
35271
|
}
|
|
34829
35272
|
}
|
|
34830
|
-
this.removeHtmlAttributes();
|
|
34831
|
-
this.removeAttributes();
|
|
34832
35273
|
super.destroy();
|
|
34833
35274
|
this.isRendered = false;
|
|
34834
35275
|
}
|
|
@@ -34859,6 +35300,7 @@ let RichTextEditor = class RichTextEditor extends Component {
|
|
|
34859
35300
|
this.element.removeAttribute('aria-disabled');
|
|
34860
35301
|
this.element.removeAttribute('role');
|
|
34861
35302
|
this.element.removeAttribute('tabindex');
|
|
35303
|
+
this.element.removeAttribute('aria-label');
|
|
34862
35304
|
}
|
|
34863
35305
|
destroyDependentModules() {
|
|
34864
35306
|
/* destroy dependent modules */
|
|
@@ -35112,7 +35554,7 @@ let RichTextEditor = class RichTextEditor extends Component {
|
|
|
35112
35554
|
}
|
|
35113
35555
|
}
|
|
35114
35556
|
updatePanelValue() {
|
|
35115
|
-
let value = this.value;
|
|
35557
|
+
let value = this.listOrderCorrection(this.value);
|
|
35116
35558
|
value = (this.enableHtmlEncode && this.value) ? decode(value) : value;
|
|
35117
35559
|
const getTextArea = this.element.querySelector('.' + CLS_RTE_SOURCE_CODE_TXTAREA);
|
|
35118
35560
|
if (value) {
|
|
@@ -35156,6 +35598,17 @@ let RichTextEditor = class RichTextEditor extends Component {
|
|
|
35156
35598
|
this.countModule.refresh();
|
|
35157
35599
|
}
|
|
35158
35600
|
}
|
|
35601
|
+
listOrderCorrection(value) {
|
|
35602
|
+
const valueElementWrapper = this.createElement('div');
|
|
35603
|
+
valueElementWrapper.innerHTML = value;
|
|
35604
|
+
const listElements = valueElementWrapper.querySelectorAll('UL, OL');
|
|
35605
|
+
for (let i = 0; i < listElements.length; i++) {
|
|
35606
|
+
if (!isNullOrUndefined(listElements[i]) && !isNullOrUndefined(listElements[i].parentElement) && !isNullOrUndefined(listElements[i].previousElementSibling) && (listElements[i].parentElement.nodeName === 'UL' || listElements[i].parentElement.nodeName === 'OL')) {
|
|
35607
|
+
listElements[i].previousElementSibling.appendChild(listElements[i]);
|
|
35608
|
+
}
|
|
35609
|
+
}
|
|
35610
|
+
return valueElementWrapper.innerHTML;
|
|
35611
|
+
}
|
|
35159
35612
|
setHeight(height) {
|
|
35160
35613
|
if (height !== 'auto') {
|
|
35161
35614
|
this.element.style.height = formatUnit(height);
|
|
@@ -36622,5 +37075,5 @@ RichTextEditor = __decorate$1([
|
|
|
36622
37075
|
* Rich Text Editor component exported items
|
|
36623
37076
|
*/
|
|
36624
37077
|
|
|
36625
|
-
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,
|
|
37078
|
+
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, ImageInputSource, 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, destroyTooltip, hidePopup, cleanupResizeElements, afterKeyDown, updateValueOnIdle, documentClickClosedBy, showColorPicker, closeTooltip, blockEmptyNodes, inlineEmptyNodes, supportedUnits, conversionFactors, onHandleFontsizeChange, CLS_RTE, CLS_RTL, CLS_CONTENT, CLS_DISABLED, CLS_SCRIPT_SHEET, CLS_STYLE_SHEET, CLS_TOOLBAR, CLS_TB_FIXED, CLS_TB_FLOAT, CLS_INLINE, CLS_TB_INLINE, CLS_RTE_EXPAND_TB, CLS_FULL_SCREEN, CLS_QUICK_TB, CLS_TEXT_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, CLS_RTE_SOURCE_CODE_TXTAREA, 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, PASTE_SOURCE, 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, imageResizeFactor, 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, MOUSE_DOWN };
|
|
36626
37079
|
//# sourceMappingURL=ej2-richtexteditor.es2015.js.map
|