@syncfusion/ej2-richtexteditor 25.1.37 → 25.1.38
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 +14 -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 +43 -35
- package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
- package/dist/es6/ej2-richtexteditor.es5.js +42 -34
- 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 +10 -10
- package/src/editor-manager/plugin/inserthtml.js +16 -19
- package/src/editor-manager/plugin/lists.js +19 -11
- package/src/rich-text-editor/actions/html-editor.js +0 -3
- package/src/rich-text-editor/actions/quick-toolbar.js +4 -0
- package/src/rich-text-editor/renderer/toolbar-renderer.js +3 -1
- package/styles/bootstrap-dark.css +10 -7
- package/styles/bootstrap.css +3 -3
- package/styles/fluent-dark.css +17 -5
- package/styles/fluent.css +17 -5
- package/styles/material-dark.css +1 -1
- package/styles/material.css +1 -1
- package/styles/rich-text-editor/_bootstrap-dark-definition.scss +4 -4
- package/styles/rich-text-editor/_bootstrap-definition.scss +2 -2
- package/styles/rich-text-editor/_fluent-definition.scss +5 -5
- package/styles/rich-text-editor/_layout.scss +3 -3
- package/styles/rich-text-editor/_tailwind-definition.scss +5 -5
- package/styles/rich-text-editor/_theme.scss +21 -0
- package/styles/rich-text-editor/bootstrap-dark.css +10 -7
- package/styles/rich-text-editor/bootstrap.css +3 -3
- package/styles/rich-text-editor/fluent-dark.css +17 -5
- package/styles/rich-text-editor/fluent.css +17 -5
- package/styles/rich-text-editor/material-dark.css +1 -1
- package/styles/rich-text-editor/material.css +1 -1
- package/styles/rich-text-editor/tailwind-dark.css +9 -9
- package/styles/rich-text-editor/tailwind.css +9 -9
- package/styles/tailwind-dark.css +9 -9
- package/styles/tailwind.css +9 -9
|
@@ -3945,9 +3945,11 @@ class ToolbarRenderer {
|
|
|
3945
3945
|
for (let index = 0; index < args.element.childNodes.length; index++) {
|
|
3946
3946
|
if (currentListStyle === args.element.childNodes[index].innerHTML.split(' ').join('').toLocaleLowerCase()) {
|
|
3947
3947
|
addClass([args.element.childNodes[index]], 'e-active');
|
|
3948
|
+
break;
|
|
3948
3949
|
}
|
|
3949
|
-
else if (currentListStyle === '') {
|
|
3950
|
+
else if (currentListStyle === '' && args.element.childNodes[index].innerHTML !== 'None') {
|
|
3950
3951
|
addClass([args.element.childNodes[index]], 'e-active');
|
|
3952
|
+
break;
|
|
3951
3953
|
}
|
|
3952
3954
|
}
|
|
3953
3955
|
}
|
|
@@ -7065,6 +7067,10 @@ class QuickToolbar {
|
|
|
7065
7067
|
}
|
|
7066
7068
|
keyDownHandler(e) {
|
|
7067
7069
|
const preventHide = e.args.altKey;
|
|
7070
|
+
if (this.parent.inlineMode.enable && e.args.metaKey && e.args.keyCode === 65) {
|
|
7071
|
+
this.showInlineQTBar(this.offsetX, this.offsetY, e.args.target);
|
|
7072
|
+
return;
|
|
7073
|
+
}
|
|
7068
7074
|
if (!preventHide) {
|
|
7069
7075
|
if ((this.parent.inlineMode.enable && (!Browser.isDevice || isIDevice()))
|
|
7070
7076
|
&& !isNullOrUndefined(select('.' + CLS_INLINE_POP, document))) {
|
|
@@ -12407,6 +12413,7 @@ class Lists {
|
|
|
12407
12413
|
endNode = endNode.nodeName === 'BR' ? endNode.parentElement : endNode;
|
|
12408
12414
|
startNode = startNode.nodeName !== 'LI' && !isNullOrUndefined(startNode.closest('LI')) ? startNode.closest('LI') : startNode;
|
|
12409
12415
|
endNode = endNode.nodeName !== 'LI' && endNode.nodeName !== '#text' && !isNullOrUndefined(endNode.closest('LI')) ? endNode.closest('LI') : endNode;
|
|
12416
|
+
const parentList = (range.startContainer.nodeName === '#text') ? range.startContainer.parentElement.closest('li') : range.startContainer.closest('li');
|
|
12410
12417
|
if (((range.commonAncestorContainer.nodeName === 'OL' || range.commonAncestorContainer.nodeName === 'UL' || range.commonAncestorContainer.nodeName === 'LI') &&
|
|
12411
12418
|
isNullOrUndefined(endNode.nextElementSibling) && endNode.textContent.length === range.endOffset &&
|
|
12412
12419
|
isNullOrUndefined(startNode.previousElementSibling) && range.startOffset === 0) ||
|
|
@@ -12423,6 +12430,12 @@ class Lists {
|
|
|
12423
12430
|
}
|
|
12424
12431
|
e.event.preventDefault();
|
|
12425
12432
|
}
|
|
12433
|
+
else if (!isNullOrUndefined(parentList) && parentList.textContent === range.startContainer.textContent && parentList.closest('li').previousElementSibling === null) {
|
|
12434
|
+
range.deleteContents();
|
|
12435
|
+
this.parent.editableElement.querySelectorAll('li:empty').forEach((e) => e.remove());
|
|
12436
|
+
this.parent.editableElement.querySelectorAll('ol:empty').forEach((e) => e.remove());
|
|
12437
|
+
e.event.preventDefault();
|
|
12438
|
+
}
|
|
12426
12439
|
}
|
|
12427
12440
|
onKeyUp() {
|
|
12428
12441
|
if (!isNullOrUndefined(this.commonLIParent) && !isNullOrUndefined(this.commonLIParent.querySelector('.removeList'))) {
|
|
@@ -12462,7 +12475,7 @@ class Lists {
|
|
|
12462
12475
|
if (e.event.which === 8) {
|
|
12463
12476
|
this.backspaceList(e);
|
|
12464
12477
|
}
|
|
12465
|
-
if (e.event.which === 46 && e.event.action === 'delete') {
|
|
12478
|
+
if ((e.event.which === 46 && e.event.action === 'delete') || (e.event.which === 88 && e.event.action === 'cut')) {
|
|
12466
12479
|
const range = this.parent.nodeSelection.getRange(this.parent.currentDocument);
|
|
12467
12480
|
const commonAncestor = range.commonAncestorContainer;
|
|
12468
12481
|
const startEle = range.startContainer;
|
|
@@ -13051,18 +13064,19 @@ class Lists {
|
|
|
13051
13064
|
if (DEFAULT_TAG && 0 === element.querySelectorAll(BLOCK_TAGS.join(', ')).length) {
|
|
13052
13065
|
const wrapperclass = isNullOrUndefined(className) ? ' class="e-rte-wrap-inner"' :
|
|
13053
13066
|
' class="' + className + ' e-rte-wrap-inner"';
|
|
13054
|
-
|
|
13055
|
-
if (
|
|
13056
|
-
|
|
13057
|
-
|
|
13058
|
-
|
|
13059
|
-
|
|
13060
|
-
|
|
13061
|
-
|
|
13062
|
-
|
|
13067
|
+
const parentElement = parentNode;
|
|
13068
|
+
if (elements.length === parentElement.querySelectorAll('li').length) {
|
|
13069
|
+
if (!isNullOrUndefined(parentElement.style.listStyleType)) {
|
|
13070
|
+
parentNode.style.removeProperty('list-style-type');
|
|
13071
|
+
}
|
|
13072
|
+
if (!isNullOrUndefined(parentElement.style.listStyleImage)) {
|
|
13073
|
+
parentNode.style.removeProperty('list-style-image');
|
|
13074
|
+
}
|
|
13075
|
+
if (parentElement.style.length === 0) {
|
|
13076
|
+
parentNode.removeAttribute('style');
|
|
13077
|
+
}
|
|
13063
13078
|
}
|
|
13064
|
-
const wrapper = '<' + DEFAULT_TAG + wrapperclass +
|
|
13065
|
-
this.domNode.attributes(parentElement) + '></' + DEFAULT_TAG + '>';
|
|
13079
|
+
const wrapper = '<' + DEFAULT_TAG + wrapperclass + '></' + DEFAULT_TAG + '>';
|
|
13066
13080
|
if (e.enterAction !== 'BR') {
|
|
13067
13081
|
this.domNode.wrapInner(element, this.domNode.parseHTMLFragment(wrapper));
|
|
13068
13082
|
}
|
|
@@ -14015,25 +14029,22 @@ class InsertHtml {
|
|
|
14015
14029
|
TABLE_BLOCK_TAGS.indexOf(closestParentNode.tagName.toLocaleLowerCase()) !== -1))
|
|
14016
14030
|
|| (node.nodeName.toLowerCase() === 'table' && closestParentNode &&
|
|
14017
14031
|
TABLE_BLOCK_TAGS.indexOf(closestParentNode.tagName.toLocaleLowerCase()) === -1))) {
|
|
14018
|
-
|
|
14019
|
-
|
|
14020
|
-
|
|
14021
|
-
|
|
14022
|
-
|
|
14023
|
-
|
|
14024
|
-
|
|
14025
|
-
|
|
14026
|
-
|
|
14027
|
-
|
|
14028
|
-
|
|
14029
|
-
|
|
14030
|
-
|
|
14031
|
-
|
|
14032
|
-
|
|
14033
|
-
|
|
14034
|
-
lasNode.textContent.length : lasNode.childNodes.length);
|
|
14035
|
-
range = nodeSelection.getRange(docElement);
|
|
14036
|
-
isSingleNode = false;
|
|
14032
|
+
preNode = nodeCutter.GetSpliceNode(range, closestParentNode);
|
|
14033
|
+
if (!isNullOrUndefined(preNode)) {
|
|
14034
|
+
sibNode = isNullOrUndefined(preNode.previousSibling) ? preNode.parentNode.previousSibling : preNode.previousSibling;
|
|
14035
|
+
if (nodes.length === 1) {
|
|
14036
|
+
nodeSelection.setSelectionContents(docElement, preNode);
|
|
14037
|
+
range = nodeSelection.getRange(docElement);
|
|
14038
|
+
isSingleNode = true;
|
|
14039
|
+
}
|
|
14040
|
+
else {
|
|
14041
|
+
lasNode = nodeCutter.GetSpliceNode(range, nodes[nodes.length - 1].parentElement);
|
|
14042
|
+
lasNode = isNullOrUndefined(lasNode) ? preNode : lasNode;
|
|
14043
|
+
nodeSelection.setSelectionText(docElement, preNode, lasNode, 0, (lasNode.nodeType === 3) ?
|
|
14044
|
+
lasNode.textContent.length : lasNode.childNodes.length);
|
|
14045
|
+
range = nodeSelection.getRange(docElement);
|
|
14046
|
+
isSingleNode = false;
|
|
14047
|
+
}
|
|
14037
14048
|
}
|
|
14038
14049
|
}
|
|
14039
14050
|
let containsBlockNode = false;
|
|
@@ -21465,9 +21476,6 @@ class HtmlEditor {
|
|
|
21465
21476
|
}
|
|
21466
21477
|
onSelectionRestore(e) {
|
|
21467
21478
|
this.parent.isBlur = false;
|
|
21468
|
-
if (isNullOrUndefined(this.saveSelection) || isNullOrUndefined(closest(this.saveSelection.range.startContainer.parentElement, ".e-img-caption")) ? true : !(closest(this.saveSelection.range.startContainer.parentElement, ".e-img-caption").getAttribute("contenteditable") == "false")) {
|
|
21469
|
-
this.contentRenderer.getEditPanel().focus();
|
|
21470
|
-
}
|
|
21471
21479
|
if (isNullOrUndefined(e.items) || e.items) {
|
|
21472
21480
|
this.saveSelection.restore();
|
|
21473
21481
|
}
|