@hailin-zheng/editor-core 1.1.30 → 1.1.32

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/index-cjs.js CHANGED
@@ -681,7 +681,9 @@ function insertEle(ele) {
681
681
  // return;
682
682
  // }
683
683
  appendToOps(options.doc, ele, {
684
- insert: ele.clone(true)
684
+ //如果当前插入的为单元格,由于新插入的单元格,内部的内容没有补足,导致后续计算索引会出现问题
685
+ //之前为ele.clone(true);
686
+ insert: ele
685
687
  });
686
688
  }
687
689
  function removeEle(ele) {
@@ -701,19 +703,18 @@ function appendToOps(doc, ele, ops) {
701
703
  if (!array) {
702
704
  docOpsMap.set(doc, array = []);
703
705
  }
706
+ const log = getOpsLog(ele, ops);
707
+ array.push(log);
708
+ }
709
+ function getOpsLog(ele, ops) {
704
710
  const prevEle = ElementUtil.getPrevSiblingElement(ele);
705
- const log = {
711
+ return {
706
712
  index: ElementUtil.getControlIndex(ele, true),
707
713
  parentIndex: ElementUtil.getControlIndex(ele.parent, true),
708
714
  prevIndex: prevEle ? ElementUtil.getControlIndex(prevEle, true) : -1,
709
715
  ele,
710
716
  ops
711
717
  };
712
- if (log.prevIndex === -1) {
713
- const nextEle = ElementUtil.getNextSiblingElement(ele);
714
- log.nextIndex = nextEle ? ElementUtil.getControlIndex(nextEle, true) : -1;
715
- }
716
- array.push(log);
717
718
  }
718
719
  function inputText(ele, startIndex, input) {
719
720
  const options = getDocCtx(ele);
@@ -803,14 +804,15 @@ function generatePatch(doc) {
803
804
  if (!ops || !ops.length) {
804
805
  return [];
805
806
  }
806
- const delOpsMap = getDeleteEleOps(ops);
807
+ getDeleteEleOps(ops);
807
808
  for (let i = 0; i < ops.length; i++) {
808
809
  const op = ops[i];
809
810
  const ele = op.ele;
810
811
  //修改样式
811
812
  if ('format' in op.ops) {
812
813
  //修改插入或者删除的不做处理
813
- if (insertOpsMap.has(ele) || delOpsMap.has(ele)) {
814
+ //|| delOpsMap.has(ele)
815
+ if (insertOpsMap.has(ele)) {
814
816
  continue;
815
817
  }
816
818
  //合并操作属性
@@ -821,6 +823,13 @@ function generatePatch(doc) {
821
823
  }
822
824
  formatOpsMap.set(ele, op);
823
825
  }
826
+ if ('insert' in op.ops) {
827
+ op.ops.insert = ele.clone(true);
828
+ const log = getOpsLog(ele, op.ops);
829
+ op.index = log.index;
830
+ op.prevIndex = log.prevIndex;
831
+ op.parentIndex = log.parentIndex;
832
+ }
824
833
  patchs.push({ index: op.index, parentIndex: op.parentIndex, prevIndex: op.prevIndex, ops: op.ops });
825
834
  }
826
835
  //清空
@@ -5147,8 +5156,8 @@ class TableUtil {
5147
5156
  const hMergeEndIndex = this.getHMergeEndIndex(tb, i, colIndex);
5148
5157
  //当前单元格处于合并行的最后一行,并且合并的行数为2行
5149
5158
  if (hMergeEndIndex === colIndex && hMergeEndIndex - hMergeStartIndex === 1) {
5150
- const masterVMergeCell = tb.getChild(hMergeStartIndex).getChild(i);
5151
- masterVMergeCell.props.hMerge = null;
5159
+ const masterHMergeCell = tb.getChild(i).getChild(hMergeStartIndex);
5160
+ masterHMergeCell.props.hMerge = null;
5152
5161
  }
5153
5162
  }
5154
5163
  row.removeChild(cell);