@kedataindo/docflow-plugins 0.0.101 → 0.0.102
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/dist/index.cjs +11 -3
- package/dist/index.js +11 -3
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -3857,6 +3857,13 @@ function findSplitRow(measurements, pageContentPx) {
|
|
|
3857
3857
|
}
|
|
3858
3858
|
return best;
|
|
3859
3859
|
}
|
|
3860
|
+
function resolveHeadBudget(measurements, availablePx, pageContentPx) {
|
|
3861
|
+
if (measurements.length === 0) return availablePx;
|
|
3862
|
+
const totalPx = measurements[measurements.length - 1].cumulativePx;
|
|
3863
|
+
if (totalPx <= availablePx) return availablePx;
|
|
3864
|
+
if (measurements[0].heightPx <= availablePx) return availablePx;
|
|
3865
|
+
return pageContentPx;
|
|
3866
|
+
}
|
|
3860
3867
|
function rowBoundaryOffset(tableNode, splitRow) {
|
|
3861
3868
|
if (splitRow < 0 || tableNode.childCount === 0) return 0;
|
|
3862
3869
|
let boundary = 0;
|
|
@@ -3943,12 +3950,13 @@ function runSplitPass(view, editor) {
|
|
|
3943
3950
|
for (let i = 0; i < tables.length; i++) {
|
|
3944
3951
|
const { pos, node, measurements } = tables[i];
|
|
3945
3952
|
const availablePx = i === 0 ? availablePxAt(v, pos, pageContentPx) ?? pageContentPx : cursorAvailablePx ?? pageContentPx;
|
|
3946
|
-
const
|
|
3953
|
+
const headBudgetPx = resolveHeadBudget(measurements, availablePx, pageContentPx);
|
|
3954
|
+
const chain = buildSplitChain(node, measurements, headBudgetPx, pageContentPx, schema, tableType, 0);
|
|
3947
3955
|
if (chain.length > 1) pending.push({ pos, node, chain });
|
|
3948
|
-
const lastChunkPx = lastChunkHeightPx(measurements,
|
|
3956
|
+
const lastChunkPx = lastChunkHeightPx(measurements, headBudgetPx, pageContentPx);
|
|
3949
3957
|
if (lastChunkPx === null) {
|
|
3950
3958
|
const totalPx = measurements[measurements.length - 1]?.cumulativePx ?? 0;
|
|
3951
|
-
cursorAvailablePx = Math.max(0,
|
|
3959
|
+
cursorAvailablePx = Math.max(0, headBudgetPx - totalPx);
|
|
3952
3960
|
} else {
|
|
3953
3961
|
cursorAvailablePx = Math.max(0, pageContentPx - lastChunkPx);
|
|
3954
3962
|
}
|
package/dist/index.js
CHANGED
|
@@ -3747,6 +3747,13 @@ function findSplitRow(measurements, pageContentPx) {
|
|
|
3747
3747
|
}
|
|
3748
3748
|
return best;
|
|
3749
3749
|
}
|
|
3750
|
+
function resolveHeadBudget(measurements, availablePx, pageContentPx) {
|
|
3751
|
+
if (measurements.length === 0) return availablePx;
|
|
3752
|
+
const totalPx = measurements[measurements.length - 1].cumulativePx;
|
|
3753
|
+
if (totalPx <= availablePx) return availablePx;
|
|
3754
|
+
if (measurements[0].heightPx <= availablePx) return availablePx;
|
|
3755
|
+
return pageContentPx;
|
|
3756
|
+
}
|
|
3750
3757
|
function rowBoundaryOffset(tableNode, splitRow) {
|
|
3751
3758
|
if (splitRow < 0 || tableNode.childCount === 0) return 0;
|
|
3752
3759
|
let boundary = 0;
|
|
@@ -3833,12 +3840,13 @@ function runSplitPass(view, editor) {
|
|
|
3833
3840
|
for (let i = 0; i < tables.length; i++) {
|
|
3834
3841
|
const { pos, node, measurements } = tables[i];
|
|
3835
3842
|
const availablePx = i === 0 ? availablePxAt(v, pos, pageContentPx) ?? pageContentPx : cursorAvailablePx ?? pageContentPx;
|
|
3836
|
-
const
|
|
3843
|
+
const headBudgetPx = resolveHeadBudget(measurements, availablePx, pageContentPx);
|
|
3844
|
+
const chain = buildSplitChain(node, measurements, headBudgetPx, pageContentPx, schema, tableType, 0);
|
|
3837
3845
|
if (chain.length > 1) pending.push({ pos, node, chain });
|
|
3838
|
-
const lastChunkPx = lastChunkHeightPx(measurements,
|
|
3846
|
+
const lastChunkPx = lastChunkHeightPx(measurements, headBudgetPx, pageContentPx);
|
|
3839
3847
|
if (lastChunkPx === null) {
|
|
3840
3848
|
const totalPx = measurements[measurements.length - 1]?.cumulativePx ?? 0;
|
|
3841
|
-
cursorAvailablePx = Math.max(0,
|
|
3849
|
+
cursorAvailablePx = Math.max(0, headBudgetPx - totalPx);
|
|
3842
3850
|
} else {
|
|
3843
3851
|
cursorAvailablePx = Math.max(0, pageContentPx - lastChunkPx);
|
|
3844
3852
|
}
|