@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
|
@@ -3128,6 +3128,9 @@ function hasClass(element, className) {
|
|
|
3128
3128
|
function getDropDownValue(items, value, type, returnType) {
|
|
3129
3129
|
var data;
|
|
3130
3130
|
var result;
|
|
3131
|
+
if (items.length === 0 && value === 'FontSize') {
|
|
3132
|
+
return 'Font Size';
|
|
3133
|
+
}
|
|
3131
3134
|
for (var k = 0; k < items.length; k++) {
|
|
3132
3135
|
if (type === 'value' && items[k].value.toLocaleLowerCase() === value.toLocaleLowerCase()) {
|
|
3133
3136
|
data = items[k];
|
|
@@ -3276,7 +3279,7 @@ function setToolbarStatus(e, isPopToolbar, self) {
|
|
|
3276
3279
|
}
|
|
3277
3280
|
var fontNameItems = e.parent.fontFamily.items;
|
|
3278
3281
|
result = value === 'empty' ? '' : getDropDownValue(fontNameItems, value, 'value', 'text');
|
|
3279
|
-
var fontNameContent = isNullOrUndefined(e.parent.fontFamily.default) ? fontNameItems[0].text :
|
|
3282
|
+
var fontNameContent = isNullOrUndefined(e.parent.fontFamily.default) ? (fontNameItems.length === 0) ? self.serviceLocator.getService('rteLocale').getConstant('fontName') : fontNameItems[0].text :
|
|
3280
3283
|
e.parent.fontFamily.default;
|
|
3281
3284
|
var name_1 = (isNullOrUndefined(result) ? fontNameContent : result) === 'Default' ? self.serviceLocator.getService('rteLocale').getConstant('fontName')
|
|
3282
3285
|
: (isNullOrUndefined(result) ? fontNameContent : result);
|
|
@@ -3293,9 +3296,9 @@ function setToolbarStatus(e, isPopToolbar, self) {
|
|
|
3293
3296
|
break;
|
|
3294
3297
|
}
|
|
3295
3298
|
var fontSizeItems = e.parent.fontSize.items;
|
|
3296
|
-
var fontSizeContent = isNullOrUndefined(e.parent.fontSize.default) ? fontSizeItems[0].text :
|
|
3299
|
+
var fontSizeContent = isNullOrUndefined(e.parent.fontSize.default) ? (fontSizeItems.length === 0) ? self.serviceLocator.getService('rteLocale').getConstant('fontSize') : fontSizeItems[0].text :
|
|
3297
3300
|
e.parent.fontSize.default;
|
|
3298
|
-
var fontSizeToolbarText = getDropDownValue(fontSizeItems, (value === '' ? fontSizeContent.replace(/\s/g, '') : value), (fontSizeContent.replace(/\s/g, '') === fontSizeItems[0].text && value === '') ? 'text' : 'value', 'text');
|
|
3301
|
+
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');
|
|
3299
3302
|
result = value === 'empty' ? '' : (fontSizeToolbarText === 'Default') ? self.serviceLocator.getService('rteLocale').getConstant('fontSize') : fontSizeToolbarText;
|
|
3300
3303
|
dropDown.fontSizeDropDown.content = ('<span style="display: inline-flex;' +
|
|
3301
3304
|
'width:' + e.parent.fontSize.width + '" >' +
|
|
@@ -5684,7 +5687,7 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
|
|
|
5684
5687
|
alignEle = alignEle.parentElement;
|
|
5685
5688
|
}
|
|
5686
5689
|
var alignStyle = window.getComputedStyle(alignEle).textAlign;
|
|
5687
|
-
if (args.items[0].command === 'Alignments') {
|
|
5690
|
+
if (!isNullOrUndefined(args.items[0]) && args.items[0].command === 'Alignments') {
|
|
5688
5691
|
if ((args.items[0].text === 'Align Left' && (alignStyle === 'left') || alignStyle === 'start')) {
|
|
5689
5692
|
addClass([args.element.childNodes[0]], 'e-active');
|
|
5690
5693
|
break;
|
|
@@ -5707,7 +5710,7 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
|
|
|
5707
5710
|
//image preselect
|
|
5708
5711
|
var closestNode = startNode.closest('img');
|
|
5709
5712
|
var imageEle = closestNode ? closestNode : startNode.querySelector('img');
|
|
5710
|
-
if (args.items[0].command === 'Images') {
|
|
5713
|
+
if (!isNullOrUndefined(args.items[0]) && args.items[0].command === 'Images') {
|
|
5711
5714
|
if (!isNullOrUndefined(imageEle)) {
|
|
5712
5715
|
var index = void 0;
|
|
5713
5716
|
if (imageEle.classList.contains('e-imgleft') || imageEle.classList.contains('e-imginline')) {
|
|
@@ -5725,7 +5728,7 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
|
|
|
5725
5728
|
}
|
|
5726
5729
|
}
|
|
5727
5730
|
//Formats preselect
|
|
5728
|
-
if (args.items[0].command === 'Formats' || args.items[0].command === 'Font') {
|
|
5731
|
+
if (!isNullOrUndefined(args.items[0]) && (args.items[0].command === 'Formats' || args.items[0].command === 'Font')) {
|
|
5729
5732
|
var fontName_1 = [];
|
|
5730
5733
|
var formats_1 = [];
|
|
5731
5734
|
var hasUpdatedActive = false;
|
|
@@ -15705,11 +15708,11 @@ var DropDownButtons = /** @__PURE__ @class */ (function () {
|
|
|
15705
15708
|
command: { value: 'Font', enumerable: true }, subCommand: { value: 'FontName', enumerable: true }
|
|
15706
15709
|
});
|
|
15707
15710
|
});
|
|
15708
|
-
var fontNameContent = isNullOrUndefined(_this.parent.fontFamily.default) ? fontItem[0].text :
|
|
15711
|
+
var fontNameContent = isNullOrUndefined(_this.parent.fontFamily.default) ? fontItem.length === 0 ? '' : fontItem[0].text :
|
|
15709
15712
|
_this.parent.fontFamily.default;
|
|
15710
15713
|
_this.fontNameDropDown = _this.toolbarRenderer.renderDropDownButton({
|
|
15711
15714
|
iconCss: ((type === 'quick') ? 'e-font-name e-icons' : ''),
|
|
15712
|
-
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')))),
|
|
15715
|
+
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')))),
|
|
15713
15716
|
cssClass: CLS_DROPDOWN_POPUP + ' ' + CLS_DROPDOWN_ITEMS + ' ' + CLS_FONT_NAME_TB_BTN,
|
|
15714
15717
|
itemName: 'FontName', items: fontItem, element: targetElement
|
|
15715
15718
|
});
|
|
@@ -15728,11 +15731,11 @@ var DropDownButtons = /** @__PURE__ @class */ (function () {
|
|
|
15728
15731
|
command: { value: 'Font', enumerable: true }, subCommand: { value: 'FontSize', enumerable: true }
|
|
15729
15732
|
});
|
|
15730
15733
|
});
|
|
15731
|
-
var fontSizeContent = isNullOrUndefined(_this.parent.fontSize.default) ? fontsize[0].text :
|
|
15734
|
+
var fontSizeContent = isNullOrUndefined(_this.parent.fontSize.default) ? fontsize.length === 0 ? '' : fontsize[0].text :
|
|
15732
15735
|
_this.parent.fontSize.default;
|
|
15733
15736
|
var fontSizeDropDownContent = ((fontSizeContent === 'Default') ? getDropDownValue(fontsize, fontSizeContent.replace(/\s/g, ''), 'text', 'text') : getDropDownValue(fontsize, fontSizeContent.replace(/\s/g, ''), 'value', 'text'));
|
|
15734
15737
|
_this.fontSizeDropDown = _this.toolbarRenderer.renderDropDownButton({
|
|
15735
|
-
content: _this.dropdownContent(_this.parent.fontSize.width, type, getFormattedFontSize((fontSizeDropDownContent === 'Default') ? _this.i10n.getConstant('fontSize') : fontSizeDropDownContent)),
|
|
15738
|
+
content: _this.dropdownContent(_this.parent.fontSize.width, type, fontsize.length === 0 ? _this.i10n.getConstant('fontSize') : (getFormattedFontSize((fontSizeDropDownContent === 'Default') ? _this.i10n.getConstant('fontSize') : fontSizeDropDownContent))),
|
|
15736
15739
|
cssClass: CLS_DROPDOWN_POPUP + ' ' + CLS_DROPDOWN_ITEMS + ' ' + CLS_FONT_SIZE_TB_BTN,
|
|
15737
15740
|
itemName: 'FontSize', items: fontsize, element: targetElement
|
|
15738
15741
|
});
|
|
@@ -23506,6 +23509,11 @@ var NodeCutter = /** @__PURE__ @class */ (function () {
|
|
|
23506
23509
|
if (node) {
|
|
23507
23510
|
InsertMethods.AppendBefore(fragment, node, true);
|
|
23508
23511
|
}
|
|
23512
|
+
else if (parent_1.childNodes.length > 1 && parent_1.childNodes.length !== index) {
|
|
23513
|
+
node = parent_1.childNodes[parent_1.childNodes.length - 1];
|
|
23514
|
+
InsertMethods.AppendBefore(fragment, node, true);
|
|
23515
|
+
node = node.nextSibling;
|
|
23516
|
+
}
|
|
23509
23517
|
else {
|
|
23510
23518
|
parent_1.appendChild(fragment);
|
|
23511
23519
|
var divNode = document.createElement('div');
|
|
@@ -27759,8 +27767,10 @@ var SelectionCommands = /** @__PURE__ @class */ (function () {
|
|
|
27759
27767
|
range.startContainer.textContent.substring(range.startOffset, range.startContainer.textContent.length) :
|
|
27760
27768
|
range.startContainer.textContent;
|
|
27761
27769
|
var nodeText = nodes[index].textContent;
|
|
27770
|
+
var isParentNodeSameAsParentElement = nodes[0].parentElement.nodeName === nodes[0].parentElement.parentElement.nodeName;
|
|
27762
27771
|
if (!(range.startContainer === range.endContainer && range.startOffset === 0
|
|
27763
|
-
&& range.endOffset === range.startContainer.length
|
|
27772
|
+
&& range.endOffset === range.startContainer.length
|
|
27773
|
+
&& (range.startContainer.textContent === formatNode.textContent || isParentNodeSameAsParentElement))) {
|
|
27764
27774
|
var nodeIndex = [];
|
|
27765
27775
|
var cloneNode = nodes[index];
|
|
27766
27776
|
var clonedElement = cloneNode;
|
|
@@ -27781,10 +27791,19 @@ var SelectionCommands = /** @__PURE__ @class */ (function () {
|
|
|
27781
27791
|
if (!isCursor) {
|
|
27782
27792
|
while (cloneNode && cloneNode.childNodes.length > 0 && ((nodeIndex.length - 1) >= 0)
|
|
27783
27793
|
&& (cloneNode.childNodes.length > nodeIndex[nodeIndex.length - 1])) {
|
|
27784
|
-
|
|
27785
|
-
|
|
27794
|
+
if (cloneNode.childNodes.length > 1 && nodeIndex.length > 1) {
|
|
27795
|
+
cloneNode = cloneNode.childNodes[nodeIndex[nodeIndex.length - 2]];
|
|
27796
|
+
break;
|
|
27797
|
+
}
|
|
27798
|
+
else {
|
|
27799
|
+
cloneNode = cloneNode.childNodes[nodeIndex[nodeIndex.length - 1]];
|
|
27800
|
+
nodeIndex.pop();
|
|
27801
|
+
}
|
|
27786
27802
|
}
|
|
27787
27803
|
if (nodes[index].nodeName !== 'BR') {
|
|
27804
|
+
while (cloneNode.nodeType === 1 && cloneNode.childNodes.length > 0) {
|
|
27805
|
+
cloneNode = cloneNode.childNodes[0];
|
|
27806
|
+
}
|
|
27788
27807
|
if (cloneNode.nodeType === 3 && !(isCursor && cloneNode.nodeValue === '')) {
|
|
27789
27808
|
nodes[index] = cloneNode;
|
|
27790
27809
|
}
|
|
@@ -32253,10 +32272,21 @@ var HtmlEditor = /** @__PURE__ @class */ (function () {
|
|
|
32253
32272
|
// eslint-disable-next-line
|
|
32254
32273
|
lastNode, lastNode.textContent.length);
|
|
32255
32274
|
}
|
|
32256
|
-
|
|
32257
|
-
|
|
32275
|
+
var checkParent = false;
|
|
32276
|
+
if (this.oldRangeElement && this.oldRangeElement.nodeName !== '#text' && this.oldRangeElement.querySelectorAll('BR').length === 1) {
|
|
32277
|
+
var brElement = this.oldRangeElement.querySelector('BR');
|
|
32278
|
+
if (brElement) {
|
|
32279
|
+
var brParentElement = brElement.parentNode;
|
|
32280
|
+
var currentState = this.oldRangeElement.innerHTML;
|
|
32281
|
+
this.parent.formatter.saveData(currentState);
|
|
32282
|
+
detach(brElement);
|
|
32283
|
+
if (brParentElement && brParentElement.childNodes.length === 0) {
|
|
32284
|
+
detach(brParentElement);
|
|
32285
|
+
checkParent = true;
|
|
32286
|
+
}
|
|
32287
|
+
}
|
|
32258
32288
|
}
|
|
32259
|
-
if (!isNullOrUndefined(this.rangeElement) && this.oldRangeElement !== this.rangeElement) {
|
|
32289
|
+
if (!isNullOrUndefined(this.rangeElement) && this.oldRangeElement !== this.rangeElement && !checkParent) {
|
|
32260
32290
|
while (this.rangeElement.firstChild) {
|
|
32261
32291
|
if (this.oldRangeElement.nodeName === '#text') {
|
|
32262
32292
|
this.oldRangeElement.parentElement.appendChild(this.rangeElement.childNodes[0]);
|