@syncfusion/ej2-richtexteditor 20.4.43 → 20.4.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/dist/ej2-richtexteditor.min.js +2 -2
- package/dist/ej2-richtexteditor.umd.min.js +2 -2
- package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es2015.js +89 -30
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +89 -30
- package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
- package/dist/global/ej2-richtexteditor.min.js +2 -2
- package/dist/global/ej2-richtexteditor.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +12 -12
- package/src/editor-manager/plugin/inserthtml.js +1 -1
- package/src/editor-manager/plugin/lists.js +6 -1
- package/src/editor-manager/plugin/selection-commands.js +57 -17
- package/src/rich-text-editor/base/rich-text-editor-model.d.ts +1 -1
- package/src/rich-text-editor/base/rich-text-editor.d.ts +1 -1
- package/src/rich-text-editor/base/rich-text-editor.js +4 -4
- package/src/rich-text-editor/models/items.js +1 -1
- package/src/rich-text-editor/renderer/audio-module.js +4 -1
- package/src/rich-text-editor/renderer/image-module.js +4 -1
- package/src/rich-text-editor/renderer/table-module.js +5 -2
- package/src/rich-text-editor/renderer/toolbar-renderer.js +3 -1
- package/src/rich-text-editor/renderer/video-module.js +4 -1
- package/styles/bootstrap-dark.css +18 -18
- package/styles/bootstrap.css +18 -18
- package/styles/bootstrap4.css +18 -18
- package/styles/bootstrap5-dark.css +18 -18
- package/styles/bootstrap5.css +18 -18
- package/styles/fabric-dark.css +18 -18
- package/styles/fabric.css +18 -18
- package/styles/fluent-dark.css +18 -18
- package/styles/fluent.css +18 -18
- package/styles/highcontrast-light.css +18 -18
- package/styles/highcontrast.css +18 -18
- package/styles/material-dark.css +18 -18
- package/styles/material.css +18 -18
- package/styles/rich-text-editor/_layout.scss +3 -3
- package/styles/rich-text-editor/bootstrap-dark.css +18 -18
- package/styles/rich-text-editor/bootstrap.css +18 -18
- package/styles/rich-text-editor/bootstrap4.css +18 -18
- package/styles/rich-text-editor/bootstrap5-dark.css +18 -18
- package/styles/rich-text-editor/bootstrap5.css +18 -18
- package/styles/rich-text-editor/fabric-dark.css +18 -18
- package/styles/rich-text-editor/fabric.css +18 -18
- package/styles/rich-text-editor/fluent-dark.css +18 -18
- package/styles/rich-text-editor/fluent.css +18 -18
- package/styles/rich-text-editor/highcontrast-light.css +18 -18
- package/styles/rich-text-editor/highcontrast.css +18 -18
- package/styles/rich-text-editor/icons/_bootstrap-dark.scss +1 -1
- package/styles/rich-text-editor/icons/_bootstrap.scss +1 -1
- package/styles/rich-text-editor/icons/_bootstrap4.scss +1 -1
- package/styles/rich-text-editor/icons/_bootstrap5.scss +1 -1
- package/styles/rich-text-editor/icons/_fabric-dark.scss +1 -1
- package/styles/rich-text-editor/icons/_fabric.scss +1 -1
- package/styles/rich-text-editor/icons/_fluent.scss +1 -1
- package/styles/rich-text-editor/icons/_fusionnew.scss +1 -1
- package/styles/rich-text-editor/icons/_highcontrast-light.scss +1 -1
- package/styles/rich-text-editor/icons/_highcontrast.scss +1 -1
- package/styles/rich-text-editor/icons/_material-dark.scss +1 -1
- package/styles/rich-text-editor/icons/_material.scss +1 -1
- package/styles/rich-text-editor/icons/_material3.scss +1 -1
- package/styles/rich-text-editor/icons/_tailwind.scss +1 -1
- package/styles/rich-text-editor/material-dark.css +18 -18
- package/styles/rich-text-editor/material.css +18 -18
- package/styles/rich-text-editor/tailwind-dark.css +18 -18
- package/styles/rich-text-editor/tailwind.css +18 -18
- package/styles/tailwind-dark.css +18 -18
- package/styles/tailwind.css +18 -18
|
@@ -1457,7 +1457,7 @@ let tools = {
|
|
|
1457
1457
|
},
|
|
1458
1458
|
'fontcolor': {
|
|
1459
1459
|
'id': 'FontColor',
|
|
1460
|
-
'icon': 'e-font-color',
|
|
1460
|
+
'icon': 'e-rte-font-color',
|
|
1461
1461
|
'tooltip': 'Font Color',
|
|
1462
1462
|
'command': 'Font',
|
|
1463
1463
|
'subCommand': 'FontColor',
|
|
@@ -3330,6 +3330,8 @@ class ToolbarRenderer {
|
|
|
3330
3330
|
target: colorPicker.element.parentElement, cssClass: css,
|
|
3331
3331
|
enablePersistence: this.parent.enablePersistence, enableRtl: this.parent.enableRtl,
|
|
3332
3332
|
beforeOpen: (dropDownArgs) => {
|
|
3333
|
+
colorPicker.inline = true;
|
|
3334
|
+
colorPicker.dataBind();
|
|
3333
3335
|
if (proxy.parent.readonly || !proxy.parent.enabled) {
|
|
3334
3336
|
dropDownArgs.cancel = true;
|
|
3335
3337
|
return;
|
|
@@ -3496,7 +3498,7 @@ class ToolbarRenderer {
|
|
|
3496
3498
|
const colorPicker = new ColorPicker({
|
|
3497
3499
|
enablePersistence: this.parent.enablePersistence,
|
|
3498
3500
|
enableRtl: this.parent.enableRtl,
|
|
3499
|
-
inline:
|
|
3501
|
+
inline: false,
|
|
3500
3502
|
value: '#fff',
|
|
3501
3503
|
created: () => {
|
|
3502
3504
|
const value = (item === 'backgroundcolor') ? proxy.parent.backgroundColor.default : proxy.parent.fontColor.default;
|
|
@@ -11182,7 +11184,7 @@ class Lists {
|
|
|
11182
11184
|
range.startContainer.parentElement.closest('LI');
|
|
11183
11185
|
const endNode = range.endContainer.nodeName === 'LI' ? range.endContainer :
|
|
11184
11186
|
range.endContainer.parentElement.closest('LI');
|
|
11185
|
-
// Checks for Image, Audio , Video Element inside List Element
|
|
11187
|
+
// Checks for Image, Audio , Video Element inside List Element
|
|
11186
11188
|
let hasMediaElem = false;
|
|
11187
11189
|
if (!isNullOrUndefined(startNode)) {
|
|
11188
11190
|
const videoElemList = startNode.querySelectorAll('.e-video-clickelem');
|
|
@@ -11809,6 +11811,11 @@ class Lists {
|
|
|
11809
11811
|
}
|
|
11810
11812
|
node.parentNode.removeChild(node);
|
|
11811
11813
|
}
|
|
11814
|
+
else if (!isNullOrUndefined(node.getAttribute('level'))) {
|
|
11815
|
+
if (node.tagName === node.previousElementSibling.tagName) {
|
|
11816
|
+
node.previousElementSibling.lastChild.append(node);
|
|
11817
|
+
}
|
|
11818
|
+
}
|
|
11812
11819
|
}
|
|
11813
11820
|
}
|
|
11814
11821
|
findUnSelected(temp, elements) {
|
|
@@ -13002,7 +13009,7 @@ class InsertHtml {
|
|
|
13002
13009
|
detach(currentNode.nextSibling);
|
|
13003
13010
|
}
|
|
13004
13011
|
}
|
|
13005
|
-
else if (currentNode.nodeName === '#text' && !isNullOrUndefined(currentNode.parentElement) &&
|
|
13012
|
+
else if ((currentNode.nodeName === '#text' || currentNode.nodeName === "BR") && !isNullOrUndefined(currentNode.parentElement) &&
|
|
13006
13013
|
(currentNode.parentElement.nodeName === 'LI' || (blockNode === editNode && currentNode.parentElement === blockNode)) &&
|
|
13007
13014
|
currentNode.parentElement.textContent.trim().length > 0) {
|
|
13008
13015
|
splitedElm = currentNode;
|
|
@@ -15622,14 +15629,17 @@ class SelectionCommands {
|
|
|
15622
15629
|
isSubSup = formatNode === null ? false : true;
|
|
15623
15630
|
}
|
|
15624
15631
|
}
|
|
15632
|
+
else if ((format === 'fontsize' || format === 'fontname' || format === 'fontcolor' || format === 'backgroundcolor') && range.startContainer.parentElement === endNode) {
|
|
15633
|
+
formatNode = null;
|
|
15634
|
+
}
|
|
15625
15635
|
if (index === 0 && formatNode === null) {
|
|
15626
15636
|
isFormat = true;
|
|
15627
15637
|
}
|
|
15628
15638
|
if (formatNode !== null && (!isFormat || isFontStyle)) {
|
|
15629
15639
|
nodes[index] = this.removeFormat(nodes, index, formatNode, isCursor, isFormat, isFontStyle, range, nodeCutter, format, value, domSelection, endNode, domNode);
|
|
15630
15640
|
}
|
|
15631
|
-
else {
|
|
15632
|
-
nodes[index] = this.insertFormat(docElement, nodes, index, formatNode, isCursor, isFormat, isFontStyle, range, nodeCutter, format, value);
|
|
15641
|
+
else if (range.startContainer.parentElement !== endNode || (range.commonAncestorContainer === endNode || nodes.length === 1)) {
|
|
15642
|
+
nodes[index] = this.insertFormat(docElement, nodes, index, formatNode, isCursor, isFormat, isFontStyle, range, nodeCutter, format, value, domNode, endNode);
|
|
15633
15643
|
}
|
|
15634
15644
|
domSelection = this.applySelection(nodes, domSelection, nodeCutter, index, isCollapsed);
|
|
15635
15645
|
}
|
|
@@ -15884,10 +15894,24 @@ class SelectionCommands {
|
|
|
15884
15894
|
}
|
|
15885
15895
|
return nodes[index];
|
|
15886
15896
|
}
|
|
15887
|
-
static insertFormat(docElement, nodes, index, formatNode, isCursor, isFormat, isFontStyle, range, nodeCutter, format, value) {
|
|
15897
|
+
static insertFormat(docElement, nodes, index, formatNode, isCursor, isFormat, isFontStyle, range, nodeCutter, format, value, domNode, endNode) {
|
|
15898
|
+
let rootElementNode;
|
|
15888
15899
|
if (!isCursor) {
|
|
15889
15900
|
if ((formatNode === null && isFormat) || isFontStyle) {
|
|
15890
15901
|
if (nodes[index].nodeName !== 'BR') {
|
|
15902
|
+
if (format === 'fontsize' || format === 'fontname' || format === 'fontcolor' || format === 'backgroundcolor') {
|
|
15903
|
+
let rangeNode = nodes[index];
|
|
15904
|
+
while (rangeNode && !domNode.isBlockNode(rangeNode) && rangeNode !== endNode) {
|
|
15905
|
+
if (domNode.isBlockNode(rangeNode.parentElement)) {
|
|
15906
|
+
rootElementNode = rangeNode;
|
|
15907
|
+
}
|
|
15908
|
+
rangeNode = rangeNode.parentElement;
|
|
15909
|
+
}
|
|
15910
|
+
if (rootElementNode && rootElementNode.nodeType !== 3) {
|
|
15911
|
+
nodeCutter.SplitNode(range, rootElementNode, true).cloneNode(true);
|
|
15912
|
+
nodeCutter.SplitNode(range, rootElementNode, false).cloneNode(false);
|
|
15913
|
+
}
|
|
15914
|
+
}
|
|
15891
15915
|
nodes[index] = nodeCutter.GetSpliceNode(range, nodes[index]);
|
|
15892
15916
|
nodes[index].textContent = nodeCutter.TrimLineBreak(nodes[index].textContent);
|
|
15893
15917
|
}
|
|
@@ -15897,24 +15921,47 @@ class SelectionCommands {
|
|
|
15897
15921
|
}
|
|
15898
15922
|
else if (!(isFontStyle === true && value === '')) {
|
|
15899
15923
|
const element = this.GetFormatNode(format, value);
|
|
15900
|
-
if (format === 'fontsize' || format === 'fontcolor') {
|
|
15901
|
-
|
|
15902
|
-
|
|
15903
|
-
|
|
15904
|
-
parentElement
|
|
15905
|
-
|
|
15924
|
+
if (format === 'fontsize' || format === 'fontcolor' || format === 'fontname' || format === 'backgroundcolor') {
|
|
15925
|
+
if (format !== 'fontname' && format !== 'backgroundcolor') {
|
|
15926
|
+
let liElement = nodes[index].parentElement;
|
|
15927
|
+
let parentElement = nodes[index].parentElement;
|
|
15928
|
+
while (!isNullOrUndefined(parentElement) && parentElement.tagName.toLowerCase() !== 'li' && parentElement !== endNode) {
|
|
15929
|
+
parentElement = parentElement.parentElement;
|
|
15930
|
+
liElement = parentElement;
|
|
15931
|
+
}
|
|
15932
|
+
if (!isNullOrUndefined(liElement) && liElement.tagName.toLowerCase() === 'li' &&
|
|
15933
|
+
liElement.textContent.trim() === nodes[index].textContent.trim()) {
|
|
15934
|
+
if (format === 'fontsize') {
|
|
15935
|
+
liElement.style.fontSize = value;
|
|
15936
|
+
}
|
|
15937
|
+
else {
|
|
15938
|
+
liElement.style.color = value;
|
|
15939
|
+
liElement.style.textDecoration = 'inherit';
|
|
15940
|
+
}
|
|
15941
|
+
}
|
|
15906
15942
|
}
|
|
15907
|
-
if (
|
|
15908
|
-
|
|
15909
|
-
|
|
15910
|
-
|
|
15943
|
+
if (rootElementNode && rootElementNode.nodeType !== 3) {
|
|
15944
|
+
const save = new NodeSelection();
|
|
15945
|
+
save.save(range, docElement);
|
|
15946
|
+
domNode.setMarker(save);
|
|
15947
|
+
var cloneNode = rootElementNode.cloneNode(true);
|
|
15948
|
+
element.appendChild(cloneNode);
|
|
15949
|
+
domNode.replaceWith(rootElementNode, element.outerHTML);
|
|
15950
|
+
const currentStartNode = endNode.querySelector('.e-editor-select-start');
|
|
15951
|
+
const currrentEndNode = endNode.querySelector('.e-editor-select-end');
|
|
15952
|
+
if (index === 0) {
|
|
15953
|
+
nodes[index] = currentStartNode ? currentStartNode.lastChild : nodes[index];
|
|
15911
15954
|
}
|
|
15912
|
-
|
|
15913
|
-
|
|
15914
|
-
|
|
15955
|
+
if (range.startContainer.parentElement === endNode) {
|
|
15956
|
+
if (nodes.length > 1) {
|
|
15957
|
+
nodes[nodes.length - 1] = currrentEndNode ? currrentEndNode.lastChild : nodes[index];
|
|
15958
|
+
}
|
|
15915
15959
|
}
|
|
15960
|
+
domNode.saveMarker(save, null);
|
|
15961
|
+
}
|
|
15962
|
+
else {
|
|
15963
|
+
nodes[index] = this.applyStyles(nodes, index, element);
|
|
15916
15964
|
}
|
|
15917
|
-
nodes[index] = this.applyStyles(nodes, index, element);
|
|
15918
15965
|
if (format === 'fontsize') {
|
|
15919
15966
|
const bg = closest(nodes[index].parentElement, 'span[style*=' + 'background-color' + ']');
|
|
15920
15967
|
if (!isNullOrUndefined(bg)) {
|
|
@@ -21963,7 +22010,6 @@ class Image {
|
|
|
21963
22010
|
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) &&
|
|
21964
22011
|
originalEvent.code !== 'KeyK') {
|
|
21965
22012
|
range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
|
|
21966
|
-
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
21967
22013
|
selectNodeEle = this.parent.formatter.editorManager.nodeSelection.getNodeCollection(range);
|
|
21968
22014
|
selectParentEle = this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range);
|
|
21969
22015
|
if (!originalEvent.ctrlKey && originalEvent.key && (originalEvent.key.length === 1 || originalEvent.action === 'enter') &&
|
|
@@ -21982,6 +22028,8 @@ class Image {
|
|
|
21982
22028
|
}
|
|
21983
22029
|
if (originalEvent.keyCode === 8 || originalEvent.keyCode === 46) {
|
|
21984
22030
|
if (selectNodeEle && selectNodeEle[0].nodeName === 'IMG' && selectNodeEle.length < 1) {
|
|
22031
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
|
|
22032
|
+
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
21985
22033
|
originalEvent.preventDefault();
|
|
21986
22034
|
const event = {
|
|
21987
22035
|
selectNode: selectNodeEle, selection: save, selectParent: selectParentEle,
|
|
@@ -22040,6 +22088,8 @@ class Image {
|
|
|
22040
22088
|
}
|
|
22041
22089
|
break;
|
|
22042
22090
|
case 'insert-image':
|
|
22091
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
|
|
22092
|
+
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
22043
22093
|
this.openDialog(true, originalEvent, save, selectNodeEle, selectParentEle);
|
|
22044
22094
|
originalEvent.preventDefault();
|
|
22045
22095
|
break;
|
|
@@ -23811,7 +23861,6 @@ class Audio {
|
|
|
23811
23861
|
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) &&
|
|
23812
23862
|
originalEvent.code !== 'KeyK') {
|
|
23813
23863
|
range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
|
|
23814
|
-
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
23815
23864
|
selectNodeEle = this.parent.formatter.editorManager.nodeSelection.getNodeCollection(range);
|
|
23816
23865
|
selectParentEle = this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range);
|
|
23817
23866
|
if (!originalEvent.ctrlKey && originalEvent.key && (originalEvent.key.length === 1 || originalEvent.action === 'enter') &&
|
|
@@ -23827,6 +23876,8 @@ class Audio {
|
|
|
23827
23876
|
}
|
|
23828
23877
|
if (originalEvent.keyCode === 8 || originalEvent.keyCode === 46) {
|
|
23829
23878
|
if (selectNodeEle && this.isAudioElem(selectNodeEle[0]) && selectNodeEle.length < 1) {
|
|
23879
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
|
|
23880
|
+
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
23830
23881
|
originalEvent.preventDefault();
|
|
23831
23882
|
const event = {
|
|
23832
23883
|
selectNode: selectNodeEle, selection: save, selectParent: selectParentEle,
|
|
@@ -23875,6 +23926,8 @@ class Audio {
|
|
|
23875
23926
|
}
|
|
23876
23927
|
break;
|
|
23877
23928
|
case 'insert-audio':
|
|
23929
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
|
|
23930
|
+
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
23878
23931
|
this.openDialog(true, originalEvent, save, selectNodeEle, selectParentEle);
|
|
23879
23932
|
originalEvent.preventDefault();
|
|
23880
23933
|
break;
|
|
@@ -25108,7 +25161,6 @@ class Video {
|
|
|
25108
25161
|
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) &&
|
|
25109
25162
|
originalEvent.code !== 'KeyK') {
|
|
25110
25163
|
range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
|
|
25111
|
-
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
25112
25164
|
selectNodeEle = this.parent.formatter.editorManager.nodeSelection.getNodeCollection(range);
|
|
25113
25165
|
selectParentEle = this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range);
|
|
25114
25166
|
if (!originalEvent.ctrlKey && originalEvent.key && (originalEvent.key.length === 1 || originalEvent.action === 'enter') &&
|
|
@@ -25128,6 +25180,8 @@ class Video {
|
|
|
25128
25180
|
}
|
|
25129
25181
|
if (originalEvent.keyCode === 8 || originalEvent.keyCode === 46) {
|
|
25130
25182
|
if (selectNodeEle && (selectNodeEle[0].nodeName === 'VIDEO' || this.isEmbedVidElem(selectNodeEle[0])) && selectNodeEle.length < 1) {
|
|
25183
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
|
|
25184
|
+
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
25131
25185
|
originalEvent.preventDefault();
|
|
25132
25186
|
const event = {
|
|
25133
25187
|
selectNode: selectNodeEle, selection: save, selectParent: selectParentEle,
|
|
@@ -25180,6 +25234,8 @@ class Video {
|
|
|
25180
25234
|
}
|
|
25181
25235
|
break;
|
|
25182
25236
|
case 'insert-video':
|
|
25237
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
|
|
25238
|
+
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
25183
25239
|
this.openDialog(true, originalEvent, save, selectNodeEle, selectParentEle);
|
|
25184
25240
|
originalEvent.preventDefault();
|
|
25185
25241
|
break;
|
|
@@ -26363,14 +26419,15 @@ class Table {
|
|
|
26363
26419
|
}
|
|
26364
26420
|
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) && this.contentModule
|
|
26365
26421
|
&& event.code !== 'KeyK') {
|
|
26422
|
+
let selection;
|
|
26366
26423
|
const range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
|
|
26367
|
-
const selection = this.parent.formatter.editorManager.
|
|
26368
|
-
nodeSelection.save(range, this.contentModule.getDocument());
|
|
26369
26424
|
let ele = this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range)[0];
|
|
26370
26425
|
ele = (ele && ele.tagName !== 'TD' && ele.tagName !== 'TH') ? ele.parentElement : ele;
|
|
26371
26426
|
if ((event.keyCode === 8 || event.keyCode === 46) ||
|
|
26372
26427
|
(event.ctrlKey && event.keyCode === 88)) {
|
|
26373
26428
|
if (ele && ele.tagName === 'TBODY') {
|
|
26429
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) && this.contentModule)
|
|
26430
|
+
selection = this.parent.formatter.editorManager.nodeSelection.save(range, this.contentModule.getDocument());
|
|
26374
26431
|
event.preventDefault();
|
|
26375
26432
|
proxy.removeTable(selection, event, true);
|
|
26376
26433
|
}
|
|
@@ -26384,6 +26441,8 @@ class Table {
|
|
|
26384
26441
|
ele = !isNullOrUndefined(closestTd) && this.parent.inputElement.contains(closestTd) ? closestTd : ele;
|
|
26385
26442
|
}
|
|
26386
26443
|
if (ele && (ele.tagName === 'TD' || ele.tagName === 'TH')) {
|
|
26444
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) && this.contentModule)
|
|
26445
|
+
selection = this.parent.formatter.editorManager.nodeSelection.save(range, this.contentModule.getDocument());
|
|
26387
26446
|
switch (event.keyCode) {
|
|
26388
26447
|
case 9:
|
|
26389
26448
|
case 37:
|
|
@@ -29687,6 +29746,10 @@ let RichTextEditor = class RichTextEditor extends Component {
|
|
|
29687
29746
|
if (this.isDestroyed || !this.isRendered) {
|
|
29688
29747
|
return;
|
|
29689
29748
|
}
|
|
29749
|
+
if (!isNullOrUndefined(this.timeInterval)) {
|
|
29750
|
+
clearInterval(this.timeInterval);
|
|
29751
|
+
this.timeInterval = null;
|
|
29752
|
+
}
|
|
29690
29753
|
if (this.element.offsetParent === null) {
|
|
29691
29754
|
if (!isNullOrUndefined(this.toolbarModule)) {
|
|
29692
29755
|
this.toolbarModule.destroy();
|
|
@@ -29696,10 +29759,6 @@ let RichTextEditor = class RichTextEditor extends Component {
|
|
|
29696
29759
|
}
|
|
29697
29760
|
this.notify(destroy, {});
|
|
29698
29761
|
this.destroyDependentModules();
|
|
29699
|
-
if (!isNullOrUndefined(this.timeInterval)) {
|
|
29700
|
-
clearInterval(this.timeInterval);
|
|
29701
|
-
this.timeInterval = null;
|
|
29702
|
-
}
|
|
29703
29762
|
this.unWireEvents();
|
|
29704
29763
|
if (this.originalElement.tagName === 'TEXTAREA') {
|
|
29705
29764
|
this.element.parentElement.insertBefore(this.valueContainer, this.element);
|