@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
package/dist/univer-collab.js
CHANGED
|
@@ -2304,7 +2304,8 @@ registerRangedResource({
|
|
|
2304
2304
|
}),
|
|
2305
2305
|
removeOf: (sheet, key) => ({ id: "sheet.mutation.delete-conditional-rule", params: { subUnitId: sheet, cfId: key, derived: true } }),
|
|
2306
2306
|
hasFormula: (m) => CF_FORMULA(cfRule(m)),
|
|
2307
|
-
orderedAdds: true
|
|
2307
|
+
orderedAdds: true,
|
|
2308
|
+
setsOverwrite: true
|
|
2308
2309
|
});
|
|
2309
2310
|
var DV = { add: "data-validation.mutation.addRule", update: "data-validation.mutation.updateRule", remove: "data-validation.mutation.removeRule" };
|
|
2310
2311
|
var DV_RANGE = 1;
|
|
@@ -3536,6 +3537,24 @@ function transformMutation(x, y, side) {
|
|
|
3536
3537
|
return ok2([x]);
|
|
3537
3538
|
}
|
|
3538
3539
|
var blocked = (p) => !Array.isArray(p);
|
|
3540
|
+
function compactDerivedSets(ops) {
|
|
3541
|
+
if (ops.length < 2) return ops;
|
|
3542
|
+
const later = /* @__PURE__ */ new Set();
|
|
3543
|
+
const out = [];
|
|
3544
|
+
for (let i = ops.length - 1; i >= 0; i--) {
|
|
3545
|
+
const m = ops[i];
|
|
3546
|
+
const spec = rangedSpecOf(m.id);
|
|
3547
|
+
if (spec?.setsOverwrite && spec.ids[m.id] === "set") {
|
|
3548
|
+
const at = (k, facet2) => `${spec.family}|${sheetOf(m)}|${k}|${facet2}`;
|
|
3549
|
+
const facet = spec.facet?.(m) ?? "all";
|
|
3550
|
+
const keys = spec.keys(m);
|
|
3551
|
+
if (isDerived(m) && keys.every((k) => later.has(at(k, facet)) || later.has(at(k, "all")))) continue;
|
|
3552
|
+
for (const k of keys) later.add(at(k, facet));
|
|
3553
|
+
}
|
|
3554
|
+
out.push(m);
|
|
3555
|
+
}
|
|
3556
|
+
return out.length === ops.length ? ops : out.reverse();
|
|
3557
|
+
}
|
|
3539
3558
|
function tSeq(xs, ys, side, acc) {
|
|
3540
3559
|
if (xs.length === 0 || ys.length === 0) return [xs, ys];
|
|
3541
3560
|
if (xs.length === 1 && ys.length === 1) {
|
|
@@ -3559,33 +3578,17 @@ function tSeq(xs, ys, side, acc) {
|
|
|
3559
3578
|
}
|
|
3560
3579
|
const r = tSeq(curX, [y], side, acc);
|
|
3561
3580
|
if (blocked(r)) return r;
|
|
3562
|
-
curX = r[0];
|
|
3581
|
+
curX = r[0].length > 1 ? compactDerivedSets(r[0]) : r[0];
|
|
3563
3582
|
for (const m of r[1]) nextY.push(m);
|
|
3564
3583
|
}
|
|
3565
3584
|
for (const m of curX) outX.push(m);
|
|
3566
|
-
curY = nextY;
|
|
3585
|
+
curY = compactDerivedSets(nextY);
|
|
3567
3586
|
}
|
|
3568
|
-
return [outX, curY];
|
|
3569
|
-
}
|
|
3570
|
-
function tSeqOld(xs, ys, side, acc) {
|
|
3571
|
-
if (xs.length === 0 || ys.length === 0) return [xs, ys];
|
|
3572
|
-
if (xs.length === 1 && ys.length === 1) return tSeq(xs, ys, side, acc);
|
|
3573
|
-
if (xs.length > 1) {
|
|
3574
|
-
const first2 = tSeqOld([xs[0]], ys, side, acc);
|
|
3575
|
-
if (blocked(first2)) return first2;
|
|
3576
|
-
const rest2 = tSeqOld(xs.slice(1), first2[1], side, acc);
|
|
3577
|
-
if (blocked(rest2)) return rest2;
|
|
3578
|
-
return [[...first2[0], ...rest2[0]], rest2[1]];
|
|
3579
|
-
}
|
|
3580
|
-
const first = tSeqOld(xs, [ys[0]], side, acc);
|
|
3581
|
-
if (blocked(first)) return first;
|
|
3582
|
-
const rest = tSeqOld(first[0], ys.slice(1), side, acc);
|
|
3583
|
-
if (blocked(rest)) return rest;
|
|
3584
|
-
return [rest[0], [...first[1], ...rest[1]]];
|
|
3587
|
+
return [compactDerivedSets(outX), curY];
|
|
3585
3588
|
}
|
|
3586
3589
|
function transformGroup(x, y, side) {
|
|
3587
3590
|
const acc = { lost: [], dropped: [] };
|
|
3588
|
-
const r =
|
|
3591
|
+
const r = tSeq([...x], [...y], side, acc);
|
|
3589
3592
|
if (blocked(r)) return r;
|
|
3590
3593
|
return { op: r[0], lost: [...new Set(acc.lost)], dropped: [...new Set(acc.dropped)] };
|
|
3591
3594
|
}
|