@syncfusion/ej2-richtexteditor 26.2.11 → 26.2.13

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.
@@ -21969,8 +21969,6 @@ class Lists {
21969
21969
  this.saveSelection = this.parent.nodeSelection.save(range, this.parent.currentDocument);
21970
21970
  }
21971
21971
  let blockNodes;
21972
- const startOffset = range.startOffset;
21973
- const endOffset = range.endOffset;
21974
21972
  const startNode = this.parent.domNode.getSelectedNode(range.startContainer, range.startOffset);
21975
21973
  const endNode = this.parent.domNode.getSelectedNode(range.endContainer, range.endOffset);
21976
21974
  if ((startNode === endNode && (startNode.nodeName === 'BR' || startNode.nodeName === '#text') &&
@@ -23039,7 +23037,7 @@ class Formats {
23039
23037
  }
23040
23038
  else {
23041
23039
  const nodeCutter = new NodeCutter();
23042
- const newElem = nodeCutter.SplitNode(range, startParent.parentElement, false).cloneNode(true);
23040
+ nodeCutter.SplitNode(range, startParent.parentElement, false).cloneNode(true);
23043
23041
  this.paraFocus(startParent.parentElement === this.parent.editableElement ?
23044
23042
  startParent : startParent.parentElement);
23045
23043
  }
@@ -23690,7 +23688,8 @@ class InsertHtml {
23690
23688
  preNode.parentNode.replaceChild(fragment, preNode);
23691
23689
  }
23692
23690
  else {
23693
- const startContainerParent = editNode === range.startContainer ? range.startContainer : range.startContainer.parentNode;
23691
+ const startContainerParent = editNode === range.startContainer ? range.startContainer
23692
+ : range.startContainer.parentNode;
23694
23693
  // Get the index of the start container among its siblings
23695
23694
  const startIndex = Array.prototype.indexOf.call(startContainerParent.childNodes, (Browser.userAgent.indexOf('Firefox') !== -1 && editNode === range.startContainer) ? range.startContainer.firstChild : range.startContainer);
23696
23695
  range.deleteContents();
@@ -23901,6 +23900,12 @@ class InsertHtml {
23901
23900
  currentNode.nextSibling.nodeName === 'BR') {
23902
23901
  detach(currentNode.nextSibling);
23903
23902
  }
23903
+ if (currentNode.parentElement.nodeName === 'LI' && currentNode.parentElement.textContent === '') {
23904
+ this.removeListfromPaste(range);
23905
+ range.insertNode(node);
23906
+ this.contentsDeleted = true;
23907
+ return;
23908
+ }
23904
23909
  }
23905
23910
  else if ((currentNode.nodeName === '#text' || currentNode.nodeName === 'BR') && !isNullOrUndefined(currentNode.parentElement) &&
23906
23911
  (currentNode.parentElement.nodeName === 'LI' || currentNode.parentElement.closest('LI') || (blockNode === editNode && currentNode.parentElement === blockNode)) &&
@@ -23911,13 +23916,7 @@ class InsertHtml {
23911
23916
  detach(currentNode.nextSibling);
23912
23917
  }
23913
23918
  if (!range.collapsed) {
23914
- range.deleteContents();
23915
- const value = range.startContainer;
23916
- if (!isNullOrUndefined(value) && value.nodeName === 'LI' && !isNullOrUndefined(value.parentElement) && (value.parentElement.nodeName === 'OL' || value.parentElement.nodeName === 'UL') && value.textContent.trim() === '') {
23917
- value.parentElement.querySelectorAll('li').forEach((item) => {
23918
- item.remove();
23919
- });
23920
- }
23919
+ this.removeListfromPaste(range);
23921
23920
  }
23922
23921
  range.insertNode(node);
23923
23922
  this.contentsDeleted = true;
@@ -24066,6 +24065,17 @@ class InsertHtml {
24066
24065
  }
24067
24066
  }
24068
24067
  }
24068
+ static removeListfromPaste(range) {
24069
+ range.deleteContents();
24070
+ const value = range.startContainer;
24071
+ if (!isNullOrUndefined(value) && value.nodeName === 'LI' && !isNullOrUndefined(value.parentElement) && (value.parentElement.nodeName === 'OL' || value.parentElement.nodeName === 'UL') && value.textContent.trim() === '') {
24072
+ value.parentElement.querySelectorAll('li').forEach((item) => {
24073
+ if (item.textContent.trim() === '') {
24074
+ item.remove();
24075
+ }
24076
+ });
24077
+ }
24078
+ }
24069
24079
  }
24070
24080
  /**
24071
24081
  * Insert method
@@ -26045,7 +26055,7 @@ class TableCommand {
26045
26055
  detach(selectedCells[i]);
26046
26056
  }
26047
26057
  for (let i = 0; i < this.curTable.rows.length; i++) {
26048
- if (this.curTable.rows[i].innerHTML === '') {
26058
+ if (this.curTable.rows[i].innerHTML.trim() === '') {
26049
26059
  detach(this.curTable.rows[i]);
26050
26060
  }
26051
26061
  }
@@ -31166,6 +31176,10 @@ class HtmlEditor {
31166
31176
  else {
31167
31177
  this.oldRangeElement = this.rangeElement.previousElementSibling;
31168
31178
  }
31179
+ const findBlockElement = this.parent.formatter.editorManager.domNode.blockNodes();
31180
+ if (!isNullOrUndefined(findBlockElement[0]) && currentRange.collapsed && currentRange.startOffset === 0 && currentRange.endOffset === 0 && findBlockElement[0].style.marginLeft !== '') {
31181
+ findBlockElement[0].style.marginLeft = (parseInt(findBlockElement[0].style.marginLeft, 10) <= 20) ? '' : (parseInt(findBlockElement[0].style.marginLeft, 10) - 20 + 'px');
31182
+ }
31169
31183
  if (isNullOrUndefined(this.oldRangeElement)) {
31170
31184
  return;
31171
31185
  }
@@ -35761,7 +35775,7 @@ class EnterKeyAction {
35761
35775
  this.range.insertNode(brElm);
35762
35776
  }
35763
35777
  }
35764
- if (isEmptyBrInserted || (!isNullOrUndefined(brElm.nextElementSibling) && brElm.nextElementSibling.tagName === 'BR') || (!isNullOrUndefined(brElm.nextSibling) && brElm.nextSibling.textContent.length > 0)) {
35778
+ if (isEmptyBrInserted || (!isNullOrUndefined(brElm.nextElementSibling) && brElm.nextElementSibling.tagName === 'BR') || (!isNullOrUndefined(brElm.nextSibling) && (brElm.nextSibling.textContent.length > 0 || (brElm.nextSibling.nodeName === '#text' && brElm.nextSibling.textContent.trim().length === 0 && !isNullOrUndefined(brElm.nextSibling.nextSibling) && brElm.nextSibling.nextSibling.textContent.trim().length > 0)))) {
35765
35779
  this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(), !isNullOrUndefined(brElm.nextSibling) && isFocusTextNode ? brElm.nextSibling : brElm, 0);
35766
35780
  isEmptyBrInserted = false;
35767
35781
  }