@syncfusion/ej2-richtexteditor 27.2.3 → 27.2.4
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 +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 +46 -16
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +46 -16
- 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/nodecutter.js +5 -0
- package/src/editor-manager/plugin/selection-commands.js +14 -3
- package/src/rich-text-editor/actions/dropdown-buttons.js +4 -4
- package/src/rich-text-editor/actions/html-editor.js +14 -3
- package/src/rich-text-editor/base/util.js +6 -3
- package/src/rich-text-editor/renderer/toolbar-renderer.js +3 -3
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version : 27.2.
|
|
3
|
+
* version : 27.2.4
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2023. All rights reserved.
|
|
5
5
|
* Use of this code is subject to the terms of our license.
|
|
6
6
|
* A copy of the current license can be obtained at any time by e-mailing
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_from": "@syncfusion/ej2-richtexteditor@*",
|
|
3
|
-
"_id": "@syncfusion/ej2-richtexteditor@27.2.
|
|
3
|
+
"_id": "@syncfusion/ej2-richtexteditor@27.2.3",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-pp9x/DFwkNSSE2Tan2Lp5VmSNG56ukyqIdbHdqMEBOKVTCqX5nlYCpEjTU4T6piBi4BlbeiEcjasWJxtc3ZhNw==",
|
|
6
6
|
"_location": "/@syncfusion/ej2-richtexteditor",
|
|
7
7
|
"_phantomChildren": {},
|
|
8
8
|
"_requested": {
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"/@syncfusion/ej2-react-richtexteditor",
|
|
26
26
|
"/@syncfusion/ej2-vue-richtexteditor"
|
|
27
27
|
],
|
|
28
|
-
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-richtexteditor/-/ej2-richtexteditor-27.2.
|
|
29
|
-
"_shasum": "
|
|
28
|
+
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-richtexteditor/-/ej2-richtexteditor-27.2.3.tgz",
|
|
29
|
+
"_shasum": "c4636a9f71acd2f9a8a0a63cbfb22593f71ac168",
|
|
30
30
|
"_spec": "@syncfusion/ej2-richtexteditor@*",
|
|
31
31
|
"_where": "/jenkins/workspace/elease-automation_release_27.1.1/packages/included",
|
|
32
32
|
"author": {
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"bundleDependencies": false,
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@syncfusion/ej2-base": "~27.2.2",
|
|
41
|
-
"@syncfusion/ej2-buttons": "~27.2.
|
|
42
|
-
"@syncfusion/ej2-dropdowns": "~27.2.
|
|
41
|
+
"@syncfusion/ej2-buttons": "~27.2.4",
|
|
42
|
+
"@syncfusion/ej2-dropdowns": "~27.2.4",
|
|
43
43
|
"@syncfusion/ej2-filemanager": "~27.2.3",
|
|
44
|
-
"@syncfusion/ej2-inputs": "~27.2.
|
|
45
|
-
"@syncfusion/ej2-navigations": "~27.2.
|
|
44
|
+
"@syncfusion/ej2-inputs": "~27.2.4",
|
|
45
|
+
"@syncfusion/ej2-navigations": "~27.2.4",
|
|
46
46
|
"@syncfusion/ej2-popups": "~27.2.2",
|
|
47
47
|
"@syncfusion/ej2-splitbuttons": "~27.2.2"
|
|
48
48
|
},
|
|
@@ -80,6 +80,6 @@
|
|
|
80
80
|
"url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
|
|
81
81
|
},
|
|
82
82
|
"typings": "index.d.ts",
|
|
83
|
-
"version": "27.2.
|
|
83
|
+
"version": "27.2.4",
|
|
84
84
|
"sideEffects": false
|
|
85
85
|
}
|
|
@@ -76,6 +76,11 @@ var NodeCutter = /** @class */ (function () {
|
|
|
76
76
|
if (node) {
|
|
77
77
|
InsertMethods.AppendBefore(fragment, node, true);
|
|
78
78
|
}
|
|
79
|
+
else if (parent_1.childNodes.length > 1 && parent_1.childNodes.length !== index) {
|
|
80
|
+
node = parent_1.childNodes[parent_1.childNodes.length - 1];
|
|
81
|
+
InsertMethods.AppendBefore(fragment, node, true);
|
|
82
|
+
node = node.nextSibling;
|
|
83
|
+
}
|
|
79
84
|
else {
|
|
80
85
|
parent_1.appendChild(fragment);
|
|
81
86
|
var divNode = document.createElement('div');
|
|
@@ -284,8 +284,10 @@ var SelectionCommands = /** @class */ (function () {
|
|
|
284
284
|
range.startContainer.textContent.substring(range.startOffset, range.startContainer.textContent.length) :
|
|
285
285
|
range.startContainer.textContent;
|
|
286
286
|
var nodeText = nodes[index].textContent;
|
|
287
|
+
var isParentNodeSameAsParentElement = nodes[0].parentElement.nodeName === nodes[0].parentElement.parentElement.nodeName;
|
|
287
288
|
if (!(range.startContainer === range.endContainer && range.startOffset === 0
|
|
288
|
-
&& range.endOffset === range.startContainer.length
|
|
289
|
+
&& range.endOffset === range.startContainer.length
|
|
290
|
+
&& (range.startContainer.textContent === formatNode.textContent || isParentNodeSameAsParentElement))) {
|
|
289
291
|
var nodeIndex = [];
|
|
290
292
|
var cloneNode = nodes[index];
|
|
291
293
|
var clonedElement = cloneNode;
|
|
@@ -306,10 +308,19 @@ var SelectionCommands = /** @class */ (function () {
|
|
|
306
308
|
if (!isCursor) {
|
|
307
309
|
while (cloneNode && cloneNode.childNodes.length > 0 && ((nodeIndex.length - 1) >= 0)
|
|
308
310
|
&& (cloneNode.childNodes.length > nodeIndex[nodeIndex.length - 1])) {
|
|
309
|
-
|
|
310
|
-
|
|
311
|
+
if (cloneNode.childNodes.length > 1 && nodeIndex.length > 1) {
|
|
312
|
+
cloneNode = cloneNode.childNodes[nodeIndex[nodeIndex.length - 2]];
|
|
313
|
+
break;
|
|
314
|
+
}
|
|
315
|
+
else {
|
|
316
|
+
cloneNode = cloneNode.childNodes[nodeIndex[nodeIndex.length - 1]];
|
|
317
|
+
nodeIndex.pop();
|
|
318
|
+
}
|
|
311
319
|
}
|
|
312
320
|
if (nodes[index].nodeName !== 'BR') {
|
|
321
|
+
while (cloneNode.nodeType === 1 && cloneNode.childNodes.length > 0) {
|
|
322
|
+
cloneNode = cloneNode.childNodes[0];
|
|
323
|
+
}
|
|
313
324
|
if (cloneNode.nodeType === 3 && !(isCursor && cloneNode.nodeValue === '')) {
|
|
314
325
|
nodes[index] = cloneNode;
|
|
315
326
|
}
|
|
@@ -113,11 +113,11 @@ var DropDownButtons = /** @class */ (function () {
|
|
|
113
113
|
command: { value: 'Font', enumerable: true }, subCommand: { value: 'FontName', enumerable: true }
|
|
114
114
|
});
|
|
115
115
|
});
|
|
116
|
-
var fontNameContent = isNullOrUndefined(_this.parent.fontFamily.default) ? fontItem[0].text :
|
|
116
|
+
var fontNameContent = isNullOrUndefined(_this.parent.fontFamily.default) ? fontItem.length === 0 ? '' : fontItem[0].text :
|
|
117
117
|
_this.parent.fontFamily.default;
|
|
118
118
|
_this.fontNameDropDown = _this.toolbarRenderer.renderDropDownButton({
|
|
119
119
|
iconCss: ((type === 'quick') ? 'e-font-name e-icons' : ''),
|
|
120
|
-
content: _this.dropdownContent(_this.parent.fontFamily.width, type, ((type === 'quick') ? '' : (getDropDownValue(fontItem, fontNameContent, 'text', 'text') === 'Default' ? _this.i10n.getConstant('fontName') : getDropDownValue(fontItem, fontNameContent, 'text', 'text')))),
|
|
120
|
+
content: _this.dropdownContent(_this.parent.fontFamily.width, type, ((fontItem.length === 0) ? _this.i10n.getConstant('fontName') : (type === 'quick') ? '' : (getDropDownValue(fontItem, fontNameContent, 'text', 'text') === 'Default' ? _this.i10n.getConstant('fontName') : getDropDownValue(fontItem, fontNameContent, 'text', 'text')))),
|
|
121
121
|
cssClass: classes.CLS_DROPDOWN_POPUP + ' ' + classes.CLS_DROPDOWN_ITEMS + ' ' + classes.CLS_FONT_NAME_TB_BTN,
|
|
122
122
|
itemName: 'FontName', items: fontItem, element: targetElement
|
|
123
123
|
});
|
|
@@ -136,11 +136,11 @@ var DropDownButtons = /** @class */ (function () {
|
|
|
136
136
|
command: { value: 'Font', enumerable: true }, subCommand: { value: 'FontSize', enumerable: true }
|
|
137
137
|
});
|
|
138
138
|
});
|
|
139
|
-
var fontSizeContent = isNullOrUndefined(_this.parent.fontSize.default) ? fontsize[0].text :
|
|
139
|
+
var fontSizeContent = isNullOrUndefined(_this.parent.fontSize.default) ? fontsize.length === 0 ? '' : fontsize[0].text :
|
|
140
140
|
_this.parent.fontSize.default;
|
|
141
141
|
var fontSizeDropDownContent = ((fontSizeContent === 'Default') ? getDropDownValue(fontsize, fontSizeContent.replace(/\s/g, ''), 'text', 'text') : getDropDownValue(fontsize, fontSizeContent.replace(/\s/g, ''), 'value', 'text'));
|
|
142
142
|
_this.fontSizeDropDown = _this.toolbarRenderer.renderDropDownButton({
|
|
143
|
-
content: _this.dropdownContent(_this.parent.fontSize.width, type, getFormattedFontSize((fontSizeDropDownContent === 'Default') ? _this.i10n.getConstant('fontSize') : fontSizeDropDownContent)),
|
|
143
|
+
content: _this.dropdownContent(_this.parent.fontSize.width, type, fontsize.length === 0 ? _this.i10n.getConstant('fontSize') : (getFormattedFontSize((fontSizeDropDownContent === 'Default') ? _this.i10n.getConstant('fontSize') : fontSizeDropDownContent))),
|
|
144
144
|
cssClass: classes.CLS_DROPDOWN_POPUP + ' ' + classes.CLS_DROPDOWN_ITEMS + ' ' + classes.CLS_FONT_SIZE_TB_BTN,
|
|
145
145
|
itemName: 'FontSize', items: fontsize, element: targetElement
|
|
146
146
|
});
|
|
@@ -584,10 +584,21 @@ var HtmlEditor = /** @class */ (function () {
|
|
|
584
584
|
// eslint-disable-next-line
|
|
585
585
|
lastNode, lastNode.textContent.length);
|
|
586
586
|
}
|
|
587
|
-
|
|
588
|
-
|
|
587
|
+
var checkParent = false;
|
|
588
|
+
if (this.oldRangeElement && this.oldRangeElement.nodeName !== '#text' && this.oldRangeElement.querySelectorAll('BR').length === 1) {
|
|
589
|
+
var brElement = this.oldRangeElement.querySelector('BR');
|
|
590
|
+
if (brElement) {
|
|
591
|
+
var brParentElement = brElement.parentNode;
|
|
592
|
+
var currentState = this.oldRangeElement.innerHTML;
|
|
593
|
+
this.parent.formatter.saveData(currentState);
|
|
594
|
+
detach(brElement);
|
|
595
|
+
if (brParentElement && brParentElement.childNodes.length === 0) {
|
|
596
|
+
detach(brParentElement);
|
|
597
|
+
checkParent = true;
|
|
598
|
+
}
|
|
599
|
+
}
|
|
589
600
|
}
|
|
590
|
-
if (!isNOU(this.rangeElement) && this.oldRangeElement !== this.rangeElement) {
|
|
601
|
+
if (!isNOU(this.rangeElement) && this.oldRangeElement !== this.rangeElement && !checkParent) {
|
|
591
602
|
while (this.rangeElement.firstChild) {
|
|
592
603
|
if (this.oldRangeElement.nodeName === '#text') {
|
|
593
604
|
this.oldRangeElement.parentElement.appendChild(this.rangeElement.childNodes[0]);
|
|
@@ -54,6 +54,9 @@ export function hasClass(element, className) {
|
|
|
54
54
|
export function getDropDownValue(items, value, type, returnType) {
|
|
55
55
|
var data;
|
|
56
56
|
var result;
|
|
57
|
+
if (items.length === 0 && value === 'FontSize') {
|
|
58
|
+
return 'Font Size';
|
|
59
|
+
}
|
|
57
60
|
for (var k = 0; k < items.length; k++) {
|
|
58
61
|
if (type === 'value' && items[k].value.toLocaleLowerCase() === value.toLocaleLowerCase()) {
|
|
59
62
|
data = items[k];
|
|
@@ -202,7 +205,7 @@ export function setToolbarStatus(e, isPopToolbar, self) {
|
|
|
202
205
|
}
|
|
203
206
|
var fontNameItems = e.parent.fontFamily.items;
|
|
204
207
|
result = value === 'empty' ? '' : getDropDownValue(fontNameItems, value, 'value', 'text');
|
|
205
|
-
var fontNameContent = isNOU(e.parent.fontFamily.default) ? fontNameItems[0].text :
|
|
208
|
+
var fontNameContent = isNOU(e.parent.fontFamily.default) ? (fontNameItems.length === 0) ? self.serviceLocator.getService('rteLocale').getConstant('fontName') : fontNameItems[0].text :
|
|
206
209
|
e.parent.fontFamily.default;
|
|
207
210
|
var name_1 = (isNOU(result) ? fontNameContent : result) === 'Default' ? self.serviceLocator.getService('rteLocale').getConstant('fontName')
|
|
208
211
|
: (isNOU(result) ? fontNameContent : result);
|
|
@@ -219,9 +222,9 @@ export function setToolbarStatus(e, isPopToolbar, self) {
|
|
|
219
222
|
break;
|
|
220
223
|
}
|
|
221
224
|
var fontSizeItems = e.parent.fontSize.items;
|
|
222
|
-
var fontSizeContent = isNOU(e.parent.fontSize.default) ? fontSizeItems[0].text :
|
|
225
|
+
var fontSizeContent = isNOU(e.parent.fontSize.default) ? (fontSizeItems.length === 0) ? self.serviceLocator.getService('rteLocale').getConstant('fontSize') : fontSizeItems[0].text :
|
|
223
226
|
e.parent.fontSize.default;
|
|
224
|
-
var fontSizeToolbarText = getDropDownValue(fontSizeItems, (value === '' ? fontSizeContent.replace(/\s/g, '') : value), (fontSizeContent.replace(/\s/g, '') === fontSizeItems[0].text && value === '') ? 'text' : 'value', 'text');
|
|
227
|
+
var fontSizeToolbarText = getDropDownValue(fontSizeItems, (value === '' ? fontSizeContent.replace(/\s/g, '') : value), (fontSizeItems.length > 0 && fontSizeItems[0] && fontSizeContent.replace(/\s/g, '') === fontSizeItems[0].text && value === '') ? 'text' : 'value', 'text');
|
|
225
228
|
result = value === 'empty' ? '' : (fontSizeToolbarText === 'Default') ? self.serviceLocator.getService('rteLocale').getConstant('fontSize') : fontSizeToolbarText;
|
|
226
229
|
dropDown.fontSizeDropDown.content = ('<span style="display: inline-flex;' +
|
|
227
230
|
'width:' + e.parent.fontSize.width + '" >' +
|
|
@@ -227,7 +227,7 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
227
227
|
alignEle = alignEle.parentElement;
|
|
228
228
|
}
|
|
229
229
|
var alignStyle = window.getComputedStyle(alignEle).textAlign;
|
|
230
|
-
if (args.items[0].command === 'Alignments') {
|
|
230
|
+
if (!isNOU(args.items[0]) && args.items[0].command === 'Alignments') {
|
|
231
231
|
if ((args.items[0].text === 'Align Left' && (alignStyle === 'left') || alignStyle === 'start')) {
|
|
232
232
|
addClass([args.element.childNodes[0]], 'e-active');
|
|
233
233
|
break;
|
|
@@ -250,7 +250,7 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
250
250
|
//image preselect
|
|
251
251
|
var closestNode = startNode.closest('img');
|
|
252
252
|
var imageEle = closestNode ? closestNode : startNode.querySelector('img');
|
|
253
|
-
if (args.items[0].command === 'Images') {
|
|
253
|
+
if (!isNOU(args.items[0]) && args.items[0].command === 'Images') {
|
|
254
254
|
if (!isNOU(imageEle)) {
|
|
255
255
|
var index = void 0;
|
|
256
256
|
if (imageEle.classList.contains('e-imgleft') || imageEle.classList.contains('e-imginline')) {
|
|
@@ -268,7 +268,7 @@ var ToolbarRenderer = /** @class */ (function () {
|
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
270
|
//Formats preselect
|
|
271
|
-
if (args.items[0].command === 'Formats' || args.items[0].command === 'Font') {
|
|
271
|
+
if (!isNOU(args.items[0]) && (args.items[0].command === 'Formats' || args.items[0].command === 'Font')) {
|
|
272
272
|
var fontName_1 = [];
|
|
273
273
|
var formats_1 = [];
|
|
274
274
|
var hasUpdatedActive = false;
|