@syncfusion/ej2-richtexteditor 20.4.43 → 20.4.44
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 +12 -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 +84 -27
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +84 -27
- 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 +9 -9
- 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.js +4 -4
- 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/video-module.js +4 -1
|
@@ -11272,7 +11272,7 @@ var Lists = /** @__PURE__ @class */ (function () {
|
|
|
11272
11272
|
range.startContainer.parentElement.closest('LI');
|
|
11273
11273
|
var endNode = range.endContainer.nodeName === 'LI' ? range.endContainer :
|
|
11274
11274
|
range.endContainer.parentElement.closest('LI');
|
|
11275
|
-
// Checks for Image, Audio , Video Element inside List Element
|
|
11275
|
+
// Checks for Image, Audio , Video Element inside List Element
|
|
11276
11276
|
var hasMediaElem = false;
|
|
11277
11277
|
if (!isNullOrUndefined(startNode)) {
|
|
11278
11278
|
var videoElemList = startNode.querySelectorAll('.e-video-clickelem');
|
|
@@ -11899,6 +11899,11 @@ var Lists = /** @__PURE__ @class */ (function () {
|
|
|
11899
11899
|
}
|
|
11900
11900
|
node.parentNode.removeChild(node);
|
|
11901
11901
|
}
|
|
11902
|
+
else if (!isNullOrUndefined(node.getAttribute('level'))) {
|
|
11903
|
+
if (node.tagName === node.previousElementSibling.tagName) {
|
|
11904
|
+
node.previousElementSibling.lastChild.append(node);
|
|
11905
|
+
}
|
|
11906
|
+
}
|
|
11902
11907
|
}
|
|
11903
11908
|
};
|
|
11904
11909
|
Lists.prototype.findUnSelected = function (temp, elements) {
|
|
@@ -15739,14 +15744,17 @@ var SelectionCommands = /** @__PURE__ @class */ (function () {
|
|
|
15739
15744
|
isSubSup = formatNode === null ? false : true;
|
|
15740
15745
|
}
|
|
15741
15746
|
}
|
|
15747
|
+
else if ((format === 'fontsize' || format === 'fontname' || format === 'fontcolor') && range.startContainer.parentElement === endNode) {
|
|
15748
|
+
formatNode = null;
|
|
15749
|
+
}
|
|
15742
15750
|
if (index === 0 && formatNode === null) {
|
|
15743
15751
|
isFormat = true;
|
|
15744
15752
|
}
|
|
15745
15753
|
if (formatNode !== null && (!isFormat || isFontStyle)) {
|
|
15746
15754
|
nodes[index] = this.removeFormat(nodes, index, formatNode, isCursor, isFormat, isFontStyle, range, nodeCutter, format, value, domSelection, endNode, domNode);
|
|
15747
15755
|
}
|
|
15748
|
-
else {
|
|
15749
|
-
nodes[index] = this.insertFormat(docElement, nodes, index, formatNode, isCursor, isFormat, isFontStyle, range, nodeCutter, format, value);
|
|
15756
|
+
else if (range.startContainer.parentElement !== endNode || (range.commonAncestorContainer === endNode || nodes.length === 1)) {
|
|
15757
|
+
nodes[index] = this.insertFormat(docElement, nodes, index, formatNode, isCursor, isFormat, isFontStyle, range, nodeCutter, format, value, domNode, endNode);
|
|
15750
15758
|
}
|
|
15751
15759
|
domSelection = this.applySelection(nodes, domSelection, nodeCutter, index, isCollapsed);
|
|
15752
15760
|
}
|
|
@@ -16001,10 +16009,24 @@ var SelectionCommands = /** @__PURE__ @class */ (function () {
|
|
|
16001
16009
|
}
|
|
16002
16010
|
return nodes[index];
|
|
16003
16011
|
};
|
|
16004
|
-
SelectionCommands.insertFormat = function (docElement, nodes, index, formatNode, isCursor, isFormat, isFontStyle, range, nodeCutter, format, value) {
|
|
16012
|
+
SelectionCommands.insertFormat = function (docElement, nodes, index, formatNode, isCursor, isFormat, isFontStyle, range, nodeCutter, format, value, domNode, endNode) {
|
|
16013
|
+
var rootBlockNode;
|
|
16005
16014
|
if (!isCursor) {
|
|
16006
16015
|
if ((formatNode === null && isFormat) || isFontStyle) {
|
|
16007
16016
|
if (nodes[index].nodeName !== 'BR') {
|
|
16017
|
+
if (format === 'fontsize' || format === 'fontname' || format === 'fontcolor') {
|
|
16018
|
+
var rangeNode = nodes[index];
|
|
16019
|
+
while (rangeNode && !domNode.isBlockNode(rangeNode) && rangeNode !== endNode) {
|
|
16020
|
+
if (domNode.isBlockNode(rangeNode.parentElement)) {
|
|
16021
|
+
rootBlockNode = rangeNode;
|
|
16022
|
+
}
|
|
16023
|
+
rangeNode = rangeNode.parentElement;
|
|
16024
|
+
}
|
|
16025
|
+
if (rootBlockNode && rootBlockNode.nodeType !== 3) {
|
|
16026
|
+
nodeCutter.SplitNode(range, rootBlockNode, true).cloneNode(true);
|
|
16027
|
+
nodeCutter.SplitNode(range, rootBlockNode, false).cloneNode(false);
|
|
16028
|
+
}
|
|
16029
|
+
}
|
|
16008
16030
|
nodes[index] = nodeCutter.GetSpliceNode(range, nodes[index]);
|
|
16009
16031
|
nodes[index].textContent = nodeCutter.TrimLineBreak(nodes[index].textContent);
|
|
16010
16032
|
}
|
|
@@ -16014,24 +16036,47 @@ var SelectionCommands = /** @__PURE__ @class */ (function () {
|
|
|
16014
16036
|
}
|
|
16015
16037
|
else if (!(isFontStyle === true && value === '')) {
|
|
16016
16038
|
var element = this.GetFormatNode(format, value);
|
|
16017
|
-
if (format === 'fontsize' || format === 'fontcolor') {
|
|
16018
|
-
|
|
16019
|
-
|
|
16020
|
-
|
|
16021
|
-
parentElement
|
|
16022
|
-
|
|
16039
|
+
if (format === 'fontsize' || format === 'fontcolor' || format === 'fontname') {
|
|
16040
|
+
if (format !== 'fontname') {
|
|
16041
|
+
var liElement = nodes[index].parentElement;
|
|
16042
|
+
var parentElement = nodes[index].parentElement;
|
|
16043
|
+
while (!isNullOrUndefined(parentElement) && parentElement.tagName.toLowerCase() !== 'li') {
|
|
16044
|
+
parentElement = parentElement.parentElement;
|
|
16045
|
+
liElement = parentElement;
|
|
16046
|
+
}
|
|
16047
|
+
if (!isNullOrUndefined(liElement) && liElement.tagName.toLowerCase() === 'li' &&
|
|
16048
|
+
liElement.textContent.trim() === nodes[index].textContent.trim()) {
|
|
16049
|
+
if (format === 'fontsize') {
|
|
16050
|
+
liElement.style.fontSize = value;
|
|
16051
|
+
}
|
|
16052
|
+
else {
|
|
16053
|
+
liElement.style.color = value;
|
|
16054
|
+
liElement.style.textDecoration = 'inherit';
|
|
16055
|
+
}
|
|
16056
|
+
}
|
|
16023
16057
|
}
|
|
16024
|
-
if (
|
|
16025
|
-
|
|
16026
|
-
|
|
16027
|
-
|
|
16058
|
+
if (rootBlockNode && rootBlockNode.nodeType !== 3) {
|
|
16059
|
+
var save = new NodeSelection();
|
|
16060
|
+
save.save(range, docElement);
|
|
16061
|
+
domNode.setMarker(save);
|
|
16062
|
+
var cloneNode = rootBlockNode.cloneNode(true);
|
|
16063
|
+
element.appendChild(cloneNode);
|
|
16064
|
+
domNode.replaceWith(rootBlockNode, element.outerHTML);
|
|
16065
|
+
var currentStartNode = endNode.querySelector('.e-editor-select-start');
|
|
16066
|
+
var currrentEndNode = endNode.querySelector('.e-editor-select-end');
|
|
16067
|
+
if (index === 0) {
|
|
16068
|
+
nodes[index] = currentStartNode ? currentStartNode.lastChild : nodes[index];
|
|
16028
16069
|
}
|
|
16029
|
-
|
|
16030
|
-
|
|
16031
|
-
|
|
16070
|
+
if (range.startContainer.parentElement === endNode) {
|
|
16071
|
+
if (nodes.length > 1) {
|
|
16072
|
+
nodes[nodes.length - 1] = currrentEndNode ? currrentEndNode.lastChild : nodes[index];
|
|
16073
|
+
}
|
|
16032
16074
|
}
|
|
16075
|
+
domNode.saveMarker(save, null);
|
|
16076
|
+
}
|
|
16077
|
+
else {
|
|
16078
|
+
nodes[index] = this.applyStyles(nodes, index, element);
|
|
16033
16079
|
}
|
|
16034
|
-
nodes[index] = this.applyStyles(nodes, index, element);
|
|
16035
16080
|
if (format === 'fontsize') {
|
|
16036
16081
|
var bg = closest(nodes[index].parentElement, 'span[style*=' + 'background-color' + ']');
|
|
16037
16082
|
if (!isNullOrUndefined(bg)) {
|
|
@@ -22058,7 +22103,6 @@ var Image = /** @__PURE__ @class */ (function () {
|
|
|
22058
22103
|
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) &&
|
|
22059
22104
|
originalEvent.code !== 'KeyK') {
|
|
22060
22105
|
range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
|
|
22061
|
-
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
22062
22106
|
selectNodeEle = this.parent.formatter.editorManager.nodeSelection.getNodeCollection(range);
|
|
22063
22107
|
selectParentEle = this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range);
|
|
22064
22108
|
if (!originalEvent.ctrlKey && originalEvent.key && (originalEvent.key.length === 1 || originalEvent.action === 'enter') &&
|
|
@@ -22077,6 +22121,8 @@ var Image = /** @__PURE__ @class */ (function () {
|
|
|
22077
22121
|
}
|
|
22078
22122
|
if (originalEvent.keyCode === 8 || originalEvent.keyCode === 46) {
|
|
22079
22123
|
if (selectNodeEle && selectNodeEle[0].nodeName === 'IMG' && selectNodeEle.length < 1) {
|
|
22124
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
|
|
22125
|
+
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
22080
22126
|
originalEvent.preventDefault();
|
|
22081
22127
|
var event_1 = {
|
|
22082
22128
|
selectNode: selectNodeEle, selection: save, selectParent: selectParentEle,
|
|
@@ -22135,6 +22181,8 @@ var Image = /** @__PURE__ @class */ (function () {
|
|
|
22135
22181
|
}
|
|
22136
22182
|
break;
|
|
22137
22183
|
case 'insert-image':
|
|
22184
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
|
|
22185
|
+
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
22138
22186
|
this.openDialog(true, originalEvent, save, selectNodeEle, selectParentEle);
|
|
22139
22187
|
originalEvent.preventDefault();
|
|
22140
22188
|
break;
|
|
@@ -23922,7 +23970,6 @@ var Audio = /** @__PURE__ @class */ (function () {
|
|
|
23922
23970
|
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) &&
|
|
23923
23971
|
originalEvent.code !== 'KeyK') {
|
|
23924
23972
|
range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
|
|
23925
|
-
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
23926
23973
|
selectNodeEle = this.parent.formatter.editorManager.nodeSelection.getNodeCollection(range);
|
|
23927
23974
|
selectParentEle = this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range);
|
|
23928
23975
|
if (!originalEvent.ctrlKey && originalEvent.key && (originalEvent.key.length === 1 || originalEvent.action === 'enter') &&
|
|
@@ -23938,6 +23985,8 @@ var Audio = /** @__PURE__ @class */ (function () {
|
|
|
23938
23985
|
}
|
|
23939
23986
|
if (originalEvent.keyCode === 8 || originalEvent.keyCode === 46) {
|
|
23940
23987
|
if (selectNodeEle && this.isAudioElem(selectNodeEle[0]) && selectNodeEle.length < 1) {
|
|
23988
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
|
|
23989
|
+
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
23941
23990
|
originalEvent.preventDefault();
|
|
23942
23991
|
var event_1 = {
|
|
23943
23992
|
selectNode: selectNodeEle, selection: save, selectParent: selectParentEle,
|
|
@@ -23986,6 +24035,8 @@ var Audio = /** @__PURE__ @class */ (function () {
|
|
|
23986
24035
|
}
|
|
23987
24036
|
break;
|
|
23988
24037
|
case 'insert-audio':
|
|
24038
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
|
|
24039
|
+
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
23989
24040
|
this.openDialog(true, originalEvent, save, selectNodeEle, selectParentEle);
|
|
23990
24041
|
originalEvent.preventDefault();
|
|
23991
24042
|
break;
|
|
@@ -25228,7 +25279,6 @@ var Video = /** @__PURE__ @class */ (function () {
|
|
|
25228
25279
|
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) &&
|
|
25229
25280
|
originalEvent.code !== 'KeyK') {
|
|
25230
25281
|
range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
|
|
25231
|
-
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
25232
25282
|
selectNodeEle = this.parent.formatter.editorManager.nodeSelection.getNodeCollection(range);
|
|
25233
25283
|
selectParentEle = this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range);
|
|
25234
25284
|
if (!originalEvent.ctrlKey && originalEvent.key && (originalEvent.key.length === 1 || originalEvent.action === 'enter') &&
|
|
@@ -25248,6 +25298,8 @@ var Video = /** @__PURE__ @class */ (function () {
|
|
|
25248
25298
|
}
|
|
25249
25299
|
if (originalEvent.keyCode === 8 || originalEvent.keyCode === 46) {
|
|
25250
25300
|
if (selectNodeEle && (selectNodeEle[0].nodeName === 'VIDEO' || this.isEmbedVidElem(selectNodeEle[0])) && selectNodeEle.length < 1) {
|
|
25301
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
|
|
25302
|
+
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
25251
25303
|
originalEvent.preventDefault();
|
|
25252
25304
|
var event_1 = {
|
|
25253
25305
|
selectNode: selectNodeEle, selection: save, selectParent: selectParentEle,
|
|
@@ -25300,6 +25352,8 @@ var Video = /** @__PURE__ @class */ (function () {
|
|
|
25300
25352
|
}
|
|
25301
25353
|
break;
|
|
25302
25354
|
case 'insert-video':
|
|
25355
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection))
|
|
25356
|
+
save = this.parent.formatter.editorManager.nodeSelection.save(range, this.parent.contentModule.getDocument());
|
|
25303
25357
|
this.openDialog(true, originalEvent, save, selectNodeEle, selectParentEle);
|
|
25304
25358
|
originalEvent.preventDefault();
|
|
25305
25359
|
break;
|
|
@@ -26489,14 +26543,15 @@ var Table = /** @__PURE__ @class */ (function () {
|
|
|
26489
26543
|
}
|
|
26490
26544
|
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) && this.contentModule
|
|
26491
26545
|
&& event.code !== 'KeyK') {
|
|
26546
|
+
var selection = void 0;
|
|
26492
26547
|
var range = this.parent.formatter.editorManager.nodeSelection.getRange(this.parent.contentModule.getDocument());
|
|
26493
|
-
var selection = this.parent.formatter.editorManager.
|
|
26494
|
-
nodeSelection.save(range, this.contentModule.getDocument());
|
|
26495
26548
|
var ele = this.parent.formatter.editorManager.nodeSelection.getParentNodeCollection(range)[0];
|
|
26496
26549
|
ele = (ele && ele.tagName !== 'TD' && ele.tagName !== 'TH') ? ele.parentElement : ele;
|
|
26497
26550
|
if ((event.keyCode === 8 || event.keyCode === 46) ||
|
|
26498
26551
|
(event.ctrlKey && event.keyCode === 88)) {
|
|
26499
26552
|
if (ele && ele.tagName === 'TBODY') {
|
|
26553
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) && this.contentModule)
|
|
26554
|
+
selection = this.parent.formatter.editorManager.nodeSelection.save(range, this.contentModule.getDocument());
|
|
26500
26555
|
event.preventDefault();
|
|
26501
26556
|
proxy.removeTable(selection, event, true);
|
|
26502
26557
|
}
|
|
@@ -26510,6 +26565,8 @@ var Table = /** @__PURE__ @class */ (function () {
|
|
|
26510
26565
|
ele = !isNullOrUndefined(closestTd) && this.parent.inputElement.contains(closestTd) ? closestTd : ele;
|
|
26511
26566
|
}
|
|
26512
26567
|
if (ele && (ele.tagName === 'TD' || ele.tagName === 'TH')) {
|
|
26568
|
+
if (!isNullOrUndefined(this.parent.formatter.editorManager.nodeSelection) && this.contentModule)
|
|
26569
|
+
selection = this.parent.formatter.editorManager.nodeSelection.save(range, this.contentModule.getDocument());
|
|
26513
26570
|
switch (event.keyCode) {
|
|
26514
26571
|
case 9:
|
|
26515
26572
|
case 37:
|
|
@@ -29979,6 +30036,10 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
|
|
|
29979
30036
|
if (this.isDestroyed || !this.isRendered) {
|
|
29980
30037
|
return;
|
|
29981
30038
|
}
|
|
30039
|
+
if (!isNullOrUndefined(this.timeInterval)) {
|
|
30040
|
+
clearInterval(this.timeInterval);
|
|
30041
|
+
this.timeInterval = null;
|
|
30042
|
+
}
|
|
29982
30043
|
if (this.element.offsetParent === null) {
|
|
29983
30044
|
if (!isNullOrUndefined(this.toolbarModule)) {
|
|
29984
30045
|
this.toolbarModule.destroy();
|
|
@@ -29988,10 +30049,6 @@ var RichTextEditor = /** @__PURE__ @class */ (function (_super) {
|
|
|
29988
30049
|
}
|
|
29989
30050
|
this.notify(destroy, {});
|
|
29990
30051
|
this.destroyDependentModules();
|
|
29991
|
-
if (!isNullOrUndefined(this.timeInterval)) {
|
|
29992
|
-
clearInterval(this.timeInterval);
|
|
29993
|
-
this.timeInterval = null;
|
|
29994
|
-
}
|
|
29995
30052
|
this.unWireEvents();
|
|
29996
30053
|
if (this.originalElement.tagName === 'TEXTAREA') {
|
|
29997
30054
|
this.element.parentElement.insertBefore(this.valueContainer, this.element);
|