@ai-matrx/office 0.8.30 → 0.8.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/CHANGELOG.md +15 -3
- package/dist/collab-sheets-transform.cjs +24 -21
- package/dist/collab-sheets-transform.cjs.map +1 -1
- package/dist/collab-sheets-transform.js +24 -21
- package/dist/collab-sheets-transform.js.map +1 -1
- package/dist/univer-collab.cjs +24 -21
- package/dist/univer-collab.cjs.map +1 -1
- package/dist/univer-collab.js +24 -21
- package/dist/univer-collab.js.map +1 -1
- package/package.json +2 -2
|
@@ -587,7 +587,8 @@ registerRangedResource({
|
|
|
587
587
|
}),
|
|
588
588
|
removeOf: (sheet, key) => ({ id: "sheet.mutation.delete-conditional-rule", params: { subUnitId: sheet, cfId: key, derived: true } }),
|
|
589
589
|
hasFormula: (m) => CF_FORMULA(cfRule(m)),
|
|
590
|
-
orderedAdds: true
|
|
590
|
+
orderedAdds: true,
|
|
591
|
+
setsOverwrite: true
|
|
591
592
|
});
|
|
592
593
|
var DV = { add: "data-validation.mutation.addRule", update: "data-validation.mutation.updateRule", remove: "data-validation.mutation.removeRule" };
|
|
593
594
|
var DV_RANGE = 1;
|
|
@@ -1819,6 +1820,24 @@ function transformMutation(x, y, side) {
|
|
|
1819
1820
|
return ok2([x]);
|
|
1820
1821
|
}
|
|
1821
1822
|
var blocked = (p) => !Array.isArray(p);
|
|
1823
|
+
function compactDerivedSets(ops) {
|
|
1824
|
+
if (ops.length < 2) return ops;
|
|
1825
|
+
const later = /* @__PURE__ */ new Set();
|
|
1826
|
+
const out = [];
|
|
1827
|
+
for (let i = ops.length - 1; i >= 0; i--) {
|
|
1828
|
+
const m = ops[i];
|
|
1829
|
+
const spec = rangedSpecOf(m.id);
|
|
1830
|
+
if (spec?.setsOverwrite && spec.ids[m.id] === "set") {
|
|
1831
|
+
const at = (k, facet2) => `${spec.family}|${sheetOf(m)}|${k}|${facet2}`;
|
|
1832
|
+
const facet = spec.facet?.(m) ?? "all";
|
|
1833
|
+
const keys = spec.keys(m);
|
|
1834
|
+
if (isDerived(m) && keys.every((k) => later.has(at(k, facet)) || later.has(at(k, "all")))) continue;
|
|
1835
|
+
for (const k of keys) later.add(at(k, facet));
|
|
1836
|
+
}
|
|
1837
|
+
out.push(m);
|
|
1838
|
+
}
|
|
1839
|
+
return out.length === ops.length ? ops : out.reverse();
|
|
1840
|
+
}
|
|
1822
1841
|
function tSeq(xs, ys, side, acc) {
|
|
1823
1842
|
if (xs.length === 0 || ys.length === 0) return [xs, ys];
|
|
1824
1843
|
if (xs.length === 1 && ys.length === 1) {
|
|
@@ -1842,33 +1861,17 @@ function tSeq(xs, ys, side, acc) {
|
|
|
1842
1861
|
}
|
|
1843
1862
|
const r = tSeq(curX, [y], side, acc);
|
|
1844
1863
|
if (blocked(r)) return r;
|
|
1845
|
-
curX = r[0];
|
|
1864
|
+
curX = r[0].length > 1 ? compactDerivedSets(r[0]) : r[0];
|
|
1846
1865
|
for (const m of r[1]) nextY.push(m);
|
|
1847
1866
|
}
|
|
1848
1867
|
for (const m of curX) outX.push(m);
|
|
1849
|
-
curY = nextY;
|
|
1868
|
+
curY = compactDerivedSets(nextY);
|
|
1850
1869
|
}
|
|
1851
|
-
return [outX, curY];
|
|
1852
|
-
}
|
|
1853
|
-
function tSeqOld(xs, ys, side, acc) {
|
|
1854
|
-
if (xs.length === 0 || ys.length === 0) return [xs, ys];
|
|
1855
|
-
if (xs.length === 1 && ys.length === 1) return tSeq(xs, ys, side, acc);
|
|
1856
|
-
if (xs.length > 1) {
|
|
1857
|
-
const first2 = tSeqOld([xs[0]], ys, side, acc);
|
|
1858
|
-
if (blocked(first2)) return first2;
|
|
1859
|
-
const rest2 = tSeqOld(xs.slice(1), first2[1], side, acc);
|
|
1860
|
-
if (blocked(rest2)) return rest2;
|
|
1861
|
-
return [[...first2[0], ...rest2[0]], rest2[1]];
|
|
1862
|
-
}
|
|
1863
|
-
const first = tSeqOld(xs, [ys[0]], side, acc);
|
|
1864
|
-
if (blocked(first)) return first;
|
|
1865
|
-
const rest = tSeqOld(first[0], ys.slice(1), side, acc);
|
|
1866
|
-
if (blocked(rest)) return rest;
|
|
1867
|
-
return [rest[0], [...first[1], ...rest[1]]];
|
|
1870
|
+
return [compactDerivedSets(outX), curY];
|
|
1868
1871
|
}
|
|
1869
1872
|
function transformGroup(x, y, side) {
|
|
1870
1873
|
const acc = { lost: [], dropped: [] };
|
|
1871
|
-
const r =
|
|
1874
|
+
const r = tSeq([...x], [...y], side, acc);
|
|
1872
1875
|
if (blocked(r)) return r;
|
|
1873
1876
|
return { op: r[0], lost: [...new Set(acc.lost)], dropped: [...new Set(acc.dropped)] };
|
|
1874
1877
|
}
|