@ai-matrx/office 0.8.30 → 0.8.31

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 CHANGED
@@ -1,10 +1,21 @@
1
1
  # Changelog
2
2
 
3
- ## 0.8.30
3
+ ## 0.8.31
4
4
 
5
5
  UNVERIFIED: this release has no Unreleased entry and the source comparison could not be made (the caller supplied no source comparison). Whether source changed is unknown; consumer action is unknown.
6
6
  Check the package's gitHead on npm against this version's gitHead: `git diff <previous gitHead> <this gitHead> -- apps/shared/office/src`.
7
7
 
8
+ ## 0.8.30
9
+
10
+ SOURCE CHANGED WITH NO RELEASE NOTE. This release shipped source changes that nobody described in an Unreleased entry,
11
+ so they may include breaking API changes. Consumer action is UNKNOWN: read the diff before upgrading.
12
+ Diff: `git diff acce3dd470 149d6b9267 -- apps/shared/office/src`
13
+
14
+ Changed shipped source files (3):
15
+ - `apps/shared/office/src/docs/document-model.ts`
16
+ - `apps/shared/office/src/sheets/comment-anchors.ts`
17
+ - `apps/shared/office/src/univer/collab/sheets-ot/univer-port.ts`
18
+
8
19
  ## 0.8.29
9
20
 
10
21
  SOURCE CHANGED WITH NO RELEASE NOTE. This release shipped source changes that nobody described in an Unreleased entry,
@@ -632,7 +632,8 @@ registerRangedResource({
632
632
  }),
633
633
  removeOf: (sheet, key) => ({ id: "sheet.mutation.delete-conditional-rule", params: { subUnitId: sheet, cfId: key, derived: true } }),
634
634
  hasFormula: (m) => CF_FORMULA(cfRule(m)),
635
- orderedAdds: true
635
+ orderedAdds: true,
636
+ setsOverwrite: true
636
637
  });
637
638
  var DV = { add: "data-validation.mutation.addRule", update: "data-validation.mutation.updateRule", remove: "data-validation.mutation.removeRule" };
638
639
  var DV_RANGE = 1;
@@ -1864,6 +1865,24 @@ function transformMutation(x, y, side) {
1864
1865
  return ok2([x]);
1865
1866
  }
1866
1867
  var blocked = (p) => !Array.isArray(p);
1868
+ function compactDerivedSets(ops) {
1869
+ if (ops.length < 2) return ops;
1870
+ const later = /* @__PURE__ */ new Set();
1871
+ const out = [];
1872
+ for (let i = ops.length - 1; i >= 0; i--) {
1873
+ const m = ops[i];
1874
+ const spec = rangedSpecOf(m.id);
1875
+ if (spec?.setsOverwrite && spec.ids[m.id] === "set") {
1876
+ const at = (k, facet2) => `${spec.family}|${sheetOf(m)}|${k}|${facet2}`;
1877
+ const facet = spec.facet?.(m) ?? "all";
1878
+ const keys = spec.keys(m);
1879
+ if (isDerived(m) && keys.every((k) => later.has(at(k, facet)) || later.has(at(k, "all")))) continue;
1880
+ for (const k of keys) later.add(at(k, facet));
1881
+ }
1882
+ out.push(m);
1883
+ }
1884
+ return out.length === ops.length ? ops : out.reverse();
1885
+ }
1867
1886
  function tSeq(xs, ys, side, acc) {
1868
1887
  if (xs.length === 0 || ys.length === 0) return [xs, ys];
1869
1888
  if (xs.length === 1 && ys.length === 1) {
@@ -1887,33 +1906,17 @@ function tSeq(xs, ys, side, acc) {
1887
1906
  }
1888
1907
  const r = tSeq(curX, [y], side, acc);
1889
1908
  if (blocked(r)) return r;
1890
- curX = r[0];
1909
+ curX = r[0].length > 1 ? compactDerivedSets(r[0]) : r[0];
1891
1910
  for (const m of r[1]) nextY.push(m);
1892
1911
  }
1893
1912
  for (const m of curX) outX.push(m);
1894
- curY = nextY;
1913
+ curY = compactDerivedSets(nextY);
1895
1914
  }
1896
- return [outX, curY];
1897
- }
1898
- function tSeqOld(xs, ys, side, acc) {
1899
- if (xs.length === 0 || ys.length === 0) return [xs, ys];
1900
- if (xs.length === 1 && ys.length === 1) return tSeq(xs, ys, side, acc);
1901
- if (xs.length > 1) {
1902
- const first2 = tSeqOld([xs[0]], ys, side, acc);
1903
- if (blocked(first2)) return first2;
1904
- const rest2 = tSeqOld(xs.slice(1), first2[1], side, acc);
1905
- if (blocked(rest2)) return rest2;
1906
- return [[...first2[0], ...rest2[0]], rest2[1]];
1907
- }
1908
- const first = tSeqOld(xs, [ys[0]], side, acc);
1909
- if (blocked(first)) return first;
1910
- const rest = tSeqOld(first[0], ys.slice(1), side, acc);
1911
- if (blocked(rest)) return rest;
1912
- return [rest[0], [...first[1], ...rest[1]]];
1915
+ return [compactDerivedSets(outX), curY];
1913
1916
  }
1914
1917
  function transformGroup(x, y, side) {
1915
1918
  const acc = { lost: [], dropped: [] };
1916
- const r = (process.env.OLD_TSEQ ? tSeqOld : tSeq)([...x], [...y], side, acc);
1919
+ const r = tSeq([...x], [...y], side, acc);
1917
1920
  if (blocked(r)) return r;
1918
1921
  return { op: r[0], lost: [...new Set(acc.lost)], dropped: [...new Set(acc.dropped)] };
1919
1922
  }