@syncfusion/ej2-richtexteditor 27.1.52 → 27.1.55
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/dist/ej2-richtexteditor.min.js +10 -0
- 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 +141 -37
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +143 -37
- 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/base/editor-manager.js +1 -1
- package/src/editor-manager/base/interface.d.ts +2 -2
- package/src/editor-manager/plugin/clearformat.js +1 -1
- package/src/editor-manager/plugin/dom-node.js +1 -1
- package/src/editor-manager/plugin/image.js +2 -0
- package/src/editor-manager/plugin/inserthtml.d.ts +1 -0
- package/src/editor-manager/plugin/inserthtml.js +34 -10
- package/src/editor-manager/plugin/link.js +2 -2
- package/src/editor-manager/plugin/lists.js +1 -1
- package/src/editor-manager/plugin/selection-commands.js +2 -2
- package/src/editor-manager/plugin/toolbar-status.js +1 -1
- package/src/editor-manager/plugin/undo.js +3 -3
- package/src/rich-text-editor/actions/enter-key.js +10 -5
- package/src/rich-text-editor/actions/html-editor.js +2 -2
- package/src/rich-text-editor/actions/import-export.js +1 -1
- package/src/rich-text-editor/actions/paste-clean-up.js +1 -1
- package/src/rich-text-editor/actions/resize.d.ts +3 -0
- package/src/rich-text-editor/actions/resize.js +13 -0
- package/src/rich-text-editor/base/interface.d.ts +13 -1
- package/src/rich-text-editor/base/rich-text-editor.js +11 -0
- package/src/rich-text-editor/renderer/image-module.js +6 -2
- package/src/rich-text-editor/renderer/link-module.js +5 -1
- package/src/rich-text-editor/renderer/slash-menu.js +1 -1
- package/src/rich-text-editor/renderer/video-module.js +1 -1
- package/src/selection/selection.d.ts +5 -0
- package/src/selection/selection.js +44 -1
|
@@ -3,9 +3,10 @@ import { isNullOrUndefined } from '@syncfusion/ej2-base';
|
|
|
3
3
|
* `Selection` module is used to handle RTE Selections.
|
|
4
4
|
*/
|
|
5
5
|
var NodeSelection = /** @class */ (function () {
|
|
6
|
-
function NodeSelection() {
|
|
6
|
+
function NodeSelection(editElement) {
|
|
7
7
|
this.startNodeName = [];
|
|
8
8
|
this.endNodeName = [];
|
|
9
|
+
this.editableElement = editElement;
|
|
9
10
|
}
|
|
10
11
|
NodeSelection.prototype.saveInstance = function (range, body) {
|
|
11
12
|
this.range = range.cloneRange();
|
|
@@ -85,6 +86,9 @@ var NodeSelection = /** @class */ (function () {
|
|
|
85
86
|
return false;
|
|
86
87
|
};
|
|
87
88
|
NodeSelection.prototype.getNode = function (startNode, endNode, nodeCollection) {
|
|
89
|
+
if (this.editableElement && (!this.editableElement.contains(startNode) || this.editableElement === startNode)) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
88
92
|
if (endNode === startNode &&
|
|
89
93
|
(startNode.nodeType === 3 || !startNode.firstChild || nodeCollection.indexOf(startNode.firstChild) !== -1
|
|
90
94
|
|| this.isChildNode(nodeCollection, startNode))) {
|
|
@@ -119,6 +123,12 @@ var NodeSelection = /** @class */ (function () {
|
|
|
119
123
|
|| range.startContainer;
|
|
120
124
|
var endNode = range.endContainer.childNodes[(range.endOffset > 0) ? (range.endOffset - 1) : range.endOffset]
|
|
121
125
|
|| range.endContainer;
|
|
126
|
+
var tableCursor = this.processedTableImageCursor(range);
|
|
127
|
+
if (tableCursor.start || tableCursor.end) {
|
|
128
|
+
if (tableCursor.startName === 'TABLE' || tableCursor.endName === 'TABLE') {
|
|
129
|
+
return [];
|
|
130
|
+
}
|
|
131
|
+
}
|
|
122
132
|
if ((startNode === endNode || (startNode.nodeName === 'BR' && startNode === range.endContainer.childNodes[range.endOffset])) &&
|
|
123
133
|
startNode.childNodes.length === 0) {
|
|
124
134
|
return [startNode];
|
|
@@ -438,6 +448,39 @@ var NodeSelection = /** @class */ (function () {
|
|
|
438
448
|
selection.removeAllRanges();
|
|
439
449
|
selection.addRange(range);
|
|
440
450
|
};
|
|
451
|
+
NodeSelection.prototype.isTableOrImageStart = function (range) {
|
|
452
|
+
var customHandlerElements = ['TABLE'];
|
|
453
|
+
var startContainer = range.startContainer;
|
|
454
|
+
var startOffset = range.startOffset;
|
|
455
|
+
var isCursorAtStart = range.collapsed && (startContainer.nodeType === 1) &&
|
|
456
|
+
startContainer.isContentEditable && startContainer.childNodes[startOffset] &&
|
|
457
|
+
(customHandlerElements.indexOf(startContainer.childNodes[startOffset].nodeName) > -1);
|
|
458
|
+
if (isCursorAtStart) {
|
|
459
|
+
return { start: isCursorAtStart, startNodeName: startContainer.childNodes[startOffset].nodeName };
|
|
460
|
+
}
|
|
461
|
+
else {
|
|
462
|
+
return { start: false, startNodeName: '' };
|
|
463
|
+
}
|
|
464
|
+
};
|
|
465
|
+
NodeSelection.prototype.isTableOrImageEnd = function (range) {
|
|
466
|
+
var customHandlerElements = ['TABLE'];
|
|
467
|
+
var startContainer = range.startContainer;
|
|
468
|
+
var startOffset = range.startOffset;
|
|
469
|
+
var isCursorAtEnd = range.collapsed && (startContainer.nodeType === 1) &&
|
|
470
|
+
startContainer.isContentEditable && startContainer.childNodes[startOffset - 1] &&
|
|
471
|
+
(customHandlerElements.indexOf(startContainer.childNodes[startOffset - 1].nodeName) > -1);
|
|
472
|
+
if (isCursorAtEnd) {
|
|
473
|
+
return { end: isCursorAtEnd, endNodeName: startContainer.childNodes[startOffset - 1].nodeName };
|
|
474
|
+
}
|
|
475
|
+
else {
|
|
476
|
+
return { end: false, endNodeName: '' };
|
|
477
|
+
}
|
|
478
|
+
};
|
|
479
|
+
NodeSelection.prototype.processedTableImageCursor = function (range) {
|
|
480
|
+
var _a = this.isTableOrImageStart(range), start = _a.start, startNodeName = _a.startNodeName;
|
|
481
|
+
var _b = this.isTableOrImageEnd(range), end = _b.end, endNodeName = _b.endNodeName;
|
|
482
|
+
return { start: start, startName: startNodeName, end: end, endName: endNodeName };
|
|
483
|
+
};
|
|
441
484
|
return NodeSelection;
|
|
442
485
|
}());
|
|
443
486
|
export { NodeSelection };
|