@rowsncolumns/spreadsheet-state 28.0.76 → 29.1.0
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/cjs/api/anchored-objects.d.ts +122 -6
- package/dist/cjs/api/anchored-objects.d.ts.map +1 -1
- package/dist/cjs/api/anchored-objects.js +464 -43
- package/dist/cjs/api/copy-paste.d.ts +8 -2
- package/dist/cjs/api/copy-paste.d.ts.map +1 -1
- package/dist/cjs/api/copy-paste.js +4 -4
- package/dist/cjs/api/filter.d.ts +15 -1
- package/dist/cjs/api/filter.d.ts.map +1 -1
- package/dist/cjs/api/filter.js +32 -2
- package/dist/cjs/api/formula.d.ts +63 -0
- package/dist/cjs/api/formula.d.ts.map +1 -1
- package/dist/cjs/api/formula.js +278 -8
- package/dist/cjs/api/immer-utils.d.ts +11 -1
- package/dist/cjs/api/immer-utils.d.ts.map +1 -1
- package/dist/cjs/api/immer-utils.js +17 -1
- package/dist/cjs/api/insert-cut-cells.d.ts +35 -0
- package/dist/cjs/api/insert-cut-cells.d.ts.map +1 -0
- package/dist/cjs/api/insert-cut-cells.js +60 -0
- package/dist/cjs/api/merges.d.ts +8 -0
- package/dist/cjs/api/merges.d.ts.map +1 -1
- package/dist/cjs/api/merges.js +11 -0
- package/dist/cjs/api/paint-format.d.ts +22 -1
- package/dist/cjs/api/paint-format.d.ts.map +1 -1
- package/dist/cjs/api/paint-format.js +57 -1
- package/dist/cjs/api/sort.d.ts +23 -1
- package/dist/cjs/api/sort.d.ts.map +1 -1
- package/dist/cjs/api/sort.js +52 -6
- package/dist/cjs/api/structural-guards.d.ts +57 -0
- package/dist/cjs/api/structural-guards.d.ts.map +1 -1
- package/dist/cjs/api/structural-guards.js +93 -1
- package/dist/cjs/api/structural-table-refs.d.ts +58 -3
- package/dist/cjs/api/structural-table-refs.d.ts.map +1 -1
- package/dist/cjs/api/structural-table-refs.js +177 -16
- package/dist/cjs/api/subtotal.d.ts +20 -13
- package/dist/cjs/api/subtotal.d.ts.map +1 -1
- package/dist/cjs/api/subtotal.js +26 -19
- package/dist/cjs/api/table.d.ts +26 -2
- package/dist/cjs/api/table.d.ts.map +1 -1
- package/dist/cjs/api/table.js +93 -60
- package/dist/cjs/api/validation.d.ts.map +1 -1
- package/dist/cjs/api/validation.js +53 -8
- package/dist/cjs/atoms/creating-table.atom.d.ts +22 -0
- package/dist/cjs/atoms/creating-table.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/creating-table.atom.js +4 -0
- package/dist/cjs/atoms/dialog-state.atom.d.ts +8 -0
- package/dist/cjs/atoms/dialog-state.atom.d.ts.map +1 -1
- package/dist/cjs/atoms/dialog-state.atom.js +28 -0
- package/dist/cjs/atoms/editing-slicer.atom.d.ts +9 -0
- package/dist/cjs/atoms/editing-slicer.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/editing-slicer.atom.js +6 -0
- package/dist/cjs/atoms/index.d.ts +4 -0
- package/dist/cjs/atoms/index.d.ts.map +1 -1
- package/dist/cjs/atoms/index.js +4 -0
- package/dist/cjs/atoms/inserting-slicer.atom.d.ts +8 -0
- package/dist/cjs/atoms/inserting-slicer.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/inserting-slicer.atom.js +5 -0
- package/dist/cjs/atoms/resizing-table.atom.d.ts +8 -0
- package/dist/cjs/atoms/resizing-table.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/resizing-table.atom.js +5 -0
- package/dist/cjs/commands.d.ts +138 -2
- package/dist/cjs/commands.d.ts.map +1 -1
- package/dist/cjs/components/editors/embed-editor.d.ts +4 -2
- package/dist/cjs/components/editors/embed-editor.d.ts.map +1 -1
- package/dist/cjs/components/editors/embed-editor.js +38 -9
- package/dist/cjs/components/editors/slicer-editor.d.ts +15 -0
- package/dist/cjs/components/editors/slicer-editor.d.ts.map +1 -0
- package/dist/cjs/components/editors/slicer-editor.js +87 -0
- package/dist/cjs/components/editors/table-editor.d.ts +58 -2
- package/dist/cjs/components/editors/table-editor.d.ts.map +1 -1
- package/dist/cjs/components/editors/table-editor.js +261 -20
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.d.ts.map +1 -1
- package/dist/cjs/components/index.js +1 -0
- package/dist/cjs/constants.d.ts +9 -1
- package/dist/cjs/constants.d.ts.map +1 -1
- package/dist/cjs/constants.js +12 -0
- package/dist/cjs/generated-names.d.ts +13 -3
- package/dist/cjs/generated-names.d.ts.map +1 -1
- package/dist/cjs/generated-names.js +3 -1
- package/dist/cjs/helpers.d.ts +5 -0
- package/dist/cjs/helpers.d.ts.map +1 -1
- package/dist/cjs/helpers.js +10 -1
- package/dist/cjs/hooks/use-on-change-batch.d.ts +19 -2
- package/dist/cjs/hooks/use-on-change-batch.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-change-batch.js +43 -35
- package/dist/cjs/hooks/use-on-change-calculated-column.d.ts +10 -1
- package/dist/cjs/hooks/use-on-change-calculated-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-change-calculated-column.js +17 -5
- package/dist/cjs/hooks/use-on-change-table-column.d.ts +6 -1
- package/dist/cjs/hooks/use-on-change-table-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-change-table-column.js +17 -5
- package/dist/cjs/hooks/use-on-change.d.ts +36 -3
- package/dist/cjs/hooks/use-on-change.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-change.js +218 -136
- package/dist/cjs/hooks/use-on-copy.d.ts +1 -1
- package/dist/cjs/hooks/use-on-copy.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-copy.js +2 -3
- package/dist/cjs/hooks/use-on-create-custom-table-style.d.ts +17 -0
- package/dist/cjs/hooks/use-on-create-custom-table-style.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-create-custom-table-style.js +28 -0
- package/dist/cjs/hooks/use-on-create-named-range.d.ts +4 -2
- package/dist/cjs/hooks/use-on-create-named-range.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-create-named-range.js +11 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts +2 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-left.js +3 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts +2 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-up.js +3 -1
- package/dist/cjs/hooks/use-on-delete-column.d.ts +2 -1
- package/dist/cjs/hooks/use-on-delete-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-column.js +3 -1
- package/dist/cjs/hooks/use-on-delete-row.d.ts +2 -1
- package/dist/cjs/hooks/use-on-delete-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-row.js +3 -1
- package/dist/cjs/hooks/use-on-delete-sheet.d.ts +9 -1
- package/dist/cjs/hooks/use-on-delete-sheet.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-sheet.js +17 -1
- package/dist/cjs/hooks/use-on-delete-table-row.d.ts +4 -1
- package/dist/cjs/hooks/use-on-delete-table-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-table-row.js +19 -1
- package/dist/cjs/hooks/use-on-delete.d.ts +5 -2
- package/dist/cjs/hooks/use-on-delete.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete.js +5 -1
- package/dist/cjs/hooks/use-on-embeds.d.ts +7 -4
- package/dist/cjs/hooks/use-on-embeds.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-embeds.js +26 -24
- package/dist/cjs/hooks/use-on-fill.d.ts +17 -2
- package/dist/cjs/hooks/use-on-fill.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-fill.js +29 -15
- package/dist/cjs/hooks/use-on-filter-table.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-filter-table.js +209 -103
- package/dist/cjs/hooks/use-on-import-excel.d.ts +2 -1
- package/dist/cjs/hooks/use-on-import-excel.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-import-excel.js +22 -19
- package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts +2 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-down.js +3 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts +2 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-right.js +3 -1
- package/dist/cjs/hooks/use-on-insert-column.d.ts +2 -1
- package/dist/cjs/hooks/use-on-insert-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-column.js +3 -1
- package/dist/cjs/hooks/use-on-insert-row.d.ts +2 -1
- package/dist/cjs/hooks/use-on-insert-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-row.js +3 -1
- package/dist/cjs/hooks/use-on-insert-table-row.d.ts +5 -2
- package/dist/cjs/hooks/use-on-insert-table-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-table-row.js +19 -1
- package/dist/cjs/hooks/use-on-merge-unmerge-cells.d.ts +3 -2
- package/dist/cjs/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-merge-unmerge-cells.js +14 -1
- package/dist/cjs/hooks/use-on-move-columns.d.ts +4 -1
- package/dist/cjs/hooks/use-on-move-columns.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-columns.js +28 -6
- package/dist/cjs/hooks/use-on-move-rows.d.ts +18 -1
- package/dist/cjs/hooks/use-on-move-rows.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-rows.js +44 -6
- package/dist/cjs/hooks/use-on-move-selection.d.ts +9 -2
- package/dist/cjs/hooks/use-on-move-selection.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-selection.js +101 -25
- package/dist/cjs/hooks/use-on-paste.d.ts +33 -2
- package/dist/cjs/hooks/use-on-paste.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-paste.js +1005 -740
- package/dist/cjs/hooks/use-on-remove-duplicates.d.ts +5 -2
- package/dist/cjs/hooks/use-on-remove-duplicates.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-remove-duplicates.js +5 -1
- package/dist/cjs/hooks/use-on-request-create-table.d.ts +13 -0
- package/dist/cjs/hooks/use-on-request-create-table.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-request-create-table.js +44 -0
- package/dist/cjs/hooks/use-on-request-insert-slicer.d.ts +7 -0
- package/dist/cjs/hooks/use-on-request-insert-slicer.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-request-insert-slicer.js +15 -0
- package/dist/cjs/hooks/use-on-request-resize-table.d.ts +7 -0
- package/dist/cjs/hooks/use-on-request-resize-table.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-request-resize-table.js +15 -0
- package/dist/cjs/hooks/use-on-resize-table.d.ts +5 -1
- package/dist/cjs/hooks/use-on-resize-table.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-resize-table.js +110 -33
- package/dist/cjs/hooks/use-on-sort-column.d.ts +28 -3
- package/dist/cjs/hooks/use-on-sort-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-sort-column.js +136 -90
- package/dist/cjs/hooks/use-on-sort-range.d.ts +26 -3
- package/dist/cjs/hooks/use-on-sort-range.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-sort-range.js +113 -67
- package/dist/cjs/hooks/use-on-sort-table.d.ts +18 -1
- package/dist/cjs/hooks/use-on-sort-table.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-sort-table.js +128 -98
- package/dist/cjs/hooks/use-on-subtotal.d.ts +10 -3
- package/dist/cjs/hooks/use-on-subtotal.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-subtotal.js +13 -9
- package/dist/cjs/hooks/use-on-table.d.ts +39 -7
- package/dist/cjs/hooks/use-on-table.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-table.js +257 -49
- package/dist/cjs/hooks/use-on-undo-calculated-column.d.ts +23 -0
- package/dist/cjs/hooks/use-on-undo-calculated-column.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-undo-calculated-column.js +70 -0
- package/dist/cjs/hooks/use-on-undo-table-auto-expansion.d.ts +28 -0
- package/dist/cjs/hooks/use-on-undo-table-auto-expansion.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-undo-table-auto-expansion.js +96 -0
- package/dist/cjs/hooks/use-on-update-named-range.d.ts +4 -2
- package/dist/cjs/hooks/use-on-update-named-range.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-update-named-range.js +13 -1
- package/dist/cjs/hooks/use-sheet-properties.d.ts +1 -0
- package/dist/cjs/hooks/use-sheet-properties.d.ts.map +1 -1
- package/dist/cjs/hooks/use-sheet-properties.js +54 -34
- package/dist/cjs/hooks/use-slicers.d.ts +2 -2
- package/dist/cjs/hooks/use-slicers.d.ts.map +1 -1
- package/dist/cjs/hooks/use-slicers.js +17 -26
- package/dist/cjs/hooks/use-sparkline-groups.d.ts +50 -0
- package/dist/cjs/hooks/use-sparkline-groups.d.ts.map +1 -0
- package/dist/cjs/hooks/use-sparkline-groups.js +192 -0
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts +69 -12
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/cjs/hooks/use-spreadsheet-state.js +383 -84
- package/dist/cjs/hooks/use-structured-reference.d.ts.map +1 -1
- package/dist/cjs/hooks/use-structured-reference.js +17 -0
- package/dist/cjs/hooks/use-undo-redo-actions.d.ts +2 -1
- package/dist/cjs/hooks/use-undo-redo-actions.d.ts.map +1 -1
- package/dist/cjs/hooks/use-undo-redo-actions.js +10 -2
- package/dist/cjs/hooks/use-undo-redo.d.ts +12 -0
- package/dist/cjs/hooks/use-undo-redo.d.ts.map +1 -1
- package/dist/cjs/hooks/use-undo-redo.js +169 -10
- package/dist/cjs/hooks/utils/sort-rows.d.ts.map +1 -1
- package/dist/cjs/hooks/utils/sort-rows.js +4 -3
- package/dist/cjs/index.d.ts +8 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +9 -0
- package/dist/cjs/interface/apply-fill.d.ts +26 -3
- package/dist/cjs/interface/apply-fill.d.ts.map +1 -1
- package/dist/cjs/interface/apply-fill.js +207 -98
- package/dist/cjs/interface/change-batch.d.ts +1 -1
- package/dist/cjs/interface/change-batch.d.ts.map +1 -1
- package/dist/cjs/interface/change-batch.js +112 -15
- package/dist/cjs/interface/change-calculated-column.d.ts +6 -2
- package/dist/cjs/interface/change-calculated-column.d.ts.map +1 -1
- package/dist/cjs/interface/change-calculated-column.js +87 -17
- package/dist/cjs/interface/change-table-column.d.ts +81 -7
- package/dist/cjs/interface/change-table-column.d.ts.map +1 -1
- package/dist/cjs/interface/change-table-column.js +336 -76
- package/dist/cjs/interface/create-table.d.ts +15 -3
- package/dist/cjs/interface/create-table.d.ts.map +1 -1
- package/dist/cjs/interface/create-table.js +100 -25
- package/dist/cjs/interface/delete-cells-shift-left.d.ts +1 -1
- package/dist/cjs/interface/delete-cells-shift-left.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells-shift-left.js +10 -1
- package/dist/cjs/interface/delete-cells-shift-up.d.ts +1 -1
- package/dist/cjs/interface/delete-cells-shift-up.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells-shift-up.js +10 -1
- package/dist/cjs/interface/delete-cells.d.ts +1 -1
- package/dist/cjs/interface/delete-cells.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells.js +81 -25
- package/dist/cjs/interface/delete-column.d.ts +1 -1
- package/dist/cjs/interface/delete-column.d.ts.map +1 -1
- package/dist/cjs/interface/delete-column.js +29 -22
- package/dist/cjs/interface/delete-row.d.ts +1 -1
- package/dist/cjs/interface/delete-row.d.ts.map +1 -1
- package/dist/cjs/interface/delete-row.js +244 -39
- package/dist/cjs/interface/delete-sheet.d.ts +2 -2
- package/dist/cjs/interface/delete-sheet.d.ts.map +1 -1
- package/dist/cjs/interface/delete-sheet.js +118 -1
- package/dist/cjs/interface/delete-table-column.d.ts +1 -1
- package/dist/cjs/interface/delete-table-column.d.ts.map +1 -1
- package/dist/cjs/interface/delete-table-column.js +11 -1
- package/dist/cjs/interface/delete-table-row.d.ts +1 -1
- package/dist/cjs/interface/delete-table-row.d.ts.map +1 -1
- package/dist/cjs/interface/delete-table-row.js +361 -275
- package/dist/cjs/interface/duplicate-sheet.d.ts.map +1 -1
- package/dist/cjs/interface/duplicate-sheet.js +83 -31
- package/dist/cjs/interface/embeds.d.ts +10 -1
- package/dist/cjs/interface/embeds.d.ts.map +1 -1
- package/dist/cjs/interface/embeds.js +120 -6
- package/dist/cjs/interface/insert-cells-shift-down.d.ts +1 -1
- package/dist/cjs/interface/insert-cells-shift-down.d.ts.map +1 -1
- package/dist/cjs/interface/insert-cells-shift-down.js +10 -1
- package/dist/cjs/interface/insert-cells-shift-right.d.ts +1 -1
- package/dist/cjs/interface/insert-cells-shift-right.d.ts.map +1 -1
- package/dist/cjs/interface/insert-cells-shift-right.js +10 -1
- package/dist/cjs/interface/insert-column.d.ts +2 -2
- package/dist/cjs/interface/insert-column.d.ts.map +1 -1
- package/dist/cjs/interface/insert-column.js +101 -56
- package/dist/cjs/interface/insert-row.d.ts +1 -1
- package/dist/cjs/interface/insert-row.d.ts.map +1 -1
- package/dist/cjs/interface/insert-row.js +25 -7
- package/dist/cjs/interface/insert-table-row.d.ts +2 -1
- package/dist/cjs/interface/insert-table-row.d.ts.map +1 -1
- package/dist/cjs/interface/insert-table-row.js +70 -19
- package/dist/cjs/interface/remove-duplicates.d.ts +1 -1
- package/dist/cjs/interface/remove-duplicates.d.ts.map +1 -1
- package/dist/cjs/interface/remove-duplicates.js +46 -6
- package/dist/cjs/interface/remove-table.d.ts +1 -1
- package/dist/cjs/interface/remove-table.d.ts.map +1 -1
- package/dist/cjs/interface/remove-table.js +72 -16
- package/dist/cjs/interface/slicers.d.ts +12 -1
- package/dist/cjs/interface/slicers.d.ts.map +1 -1
- package/dist/cjs/interface/slicers.js +47 -2
- package/dist/cjs/interface/spreadsheet-interface.d.ts +1 -1
- package/dist/cjs/interface/spreadsheet-interface.d.ts.map +1 -1
- package/dist/cjs/interface/spreadsheet-interface.js +64 -1
- package/dist/cjs/interface/table-totalrow.d.ts +13 -1
- package/dist/cjs/interface/table-totalrow.d.ts.map +1 -1
- package/dist/cjs/interface/table-totalrow.js +107 -73
- package/dist/cjs/interface/table-utils.d.ts +59 -6
- package/dist/cjs/interface/table-utils.d.ts.map +1 -1
- package/dist/cjs/interface/table-utils.js +211 -15
- package/dist/cjs/interface/update-table.d.ts +16 -1
- package/dist/cjs/interface/update-table.d.ts.map +1 -1
- package/dist/cjs/interface/update-table.js +190 -44
- package/dist/cjs/sheet-cell.d.ts.map +1 -1
- package/dist/cjs/test-setup.d.ts.map +1 -1
- package/dist/cjs/test-setup.js +6 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/validation-schema/table.schema.d.ts +11 -0
- package/dist/cjs/validation-schema/table.schema.d.ts.map +1 -1
- package/dist/cjs/validation-schema/table.schema.js +20 -3
- package/dist/esm/api/anchored-objects.d.ts +122 -6
- package/dist/esm/api/anchored-objects.d.ts.map +1 -1
- package/dist/esm/api/anchored-objects.js +375 -15
- package/dist/esm/api/copy-paste.d.ts +8 -2
- package/dist/esm/api/copy-paste.d.ts.map +1 -1
- package/dist/esm/api/copy-paste.js +4 -4
- package/dist/esm/api/filter.d.ts +15 -1
- package/dist/esm/api/filter.d.ts.map +1 -1
- package/dist/esm/api/filter.js +28 -0
- package/dist/esm/api/formula.d.ts +63 -0
- package/dist/esm/api/formula.d.ts.map +1 -1
- package/dist/esm/api/formula.js +235 -8
- package/dist/esm/api/immer-utils.d.ts +11 -1
- package/dist/esm/api/immer-utils.d.ts.map +1 -1
- package/dist/esm/api/immer-utils.js +16 -0
- package/dist/esm/api/insert-cut-cells.d.ts +35 -0
- package/dist/esm/api/insert-cut-cells.d.ts.map +1 -0
- package/dist/esm/api/insert-cut-cells.js +67 -0
- package/dist/esm/api/merges.d.ts +8 -0
- package/dist/esm/api/merges.d.ts.map +1 -1
- package/dist/esm/api/merges.js +9 -0
- package/dist/esm/api/paint-format.d.ts +22 -1
- package/dist/esm/api/paint-format.d.ts.map +1 -1
- package/dist/esm/api/paint-format.js +44 -1
- package/dist/esm/api/sort.d.ts +23 -1
- package/dist/esm/api/sort.d.ts.map +1 -1
- package/dist/esm/api/sort.js +45 -6
- package/dist/esm/api/structural-guards.d.ts +57 -0
- package/dist/esm/api/structural-guards.d.ts.map +1 -1
- package/dist/esm/api/structural-guards.js +85 -0
- package/dist/esm/api/structural-table-refs.d.ts +58 -3
- package/dist/esm/api/structural-table-refs.d.ts.map +1 -1
- package/dist/esm/api/structural-table-refs.js +126 -6
- package/dist/esm/api/subtotal.d.ts +20 -13
- package/dist/esm/api/subtotal.d.ts.map +1 -1
- package/dist/esm/api/subtotal.js +15 -8
- package/dist/esm/api/table.d.ts +26 -2
- package/dist/esm/api/table.d.ts.map +1 -1
- package/dist/esm/api/table.js +70 -48
- package/dist/esm/api/validation.d.ts.map +1 -1
- package/dist/esm/api/validation.js +53 -8
- package/dist/esm/atoms/creating-table.atom.d.ts +22 -0
- package/dist/esm/atoms/creating-table.atom.d.ts.map +1 -0
- package/dist/esm/atoms/creating-table.atom.js +4 -0
- package/dist/esm/atoms/dialog-state.atom.d.ts +8 -0
- package/dist/esm/atoms/dialog-state.atom.d.ts.map +1 -1
- package/dist/esm/atoms/dialog-state.atom.js +12 -0
- package/dist/esm/atoms/editing-slicer.atom.d.ts +9 -0
- package/dist/esm/atoms/editing-slicer.atom.d.ts.map +1 -0
- package/dist/esm/atoms/editing-slicer.atom.js +6 -0
- package/dist/esm/atoms/index.d.ts +4 -0
- package/dist/esm/atoms/index.d.ts.map +1 -1
- package/dist/esm/atoms/index.js +4 -0
- package/dist/esm/atoms/inserting-slicer.atom.d.ts +8 -0
- package/dist/esm/atoms/inserting-slicer.atom.d.ts.map +1 -0
- package/dist/esm/atoms/inserting-slicer.atom.js +5 -0
- package/dist/esm/atoms/resizing-table.atom.d.ts +8 -0
- package/dist/esm/atoms/resizing-table.atom.d.ts.map +1 -0
- package/dist/esm/atoms/resizing-table.atom.js +5 -0
- package/dist/esm/commands.d.ts +138 -2
- package/dist/esm/commands.d.ts.map +1 -1
- package/dist/esm/components/editors/embed-editor.d.ts +4 -2
- package/dist/esm/components/editors/embed-editor.d.ts.map +1 -1
- package/dist/esm/components/editors/embed-editor.js +40 -6
- package/dist/esm/components/editors/slicer-editor.d.ts +15 -0
- package/dist/esm/components/editors/slicer-editor.d.ts.map +1 -0
- package/dist/esm/components/editors/slicer-editor.js +85 -0
- package/dist/esm/components/editors/table-editor.d.ts +58 -2
- package/dist/esm/components/editors/table-editor.d.ts.map +1 -1
- package/dist/esm/components/editors/table-editor.js +243 -19
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/constants.d.ts +9 -1
- package/dist/esm/constants.d.ts.map +1 -1
- package/dist/esm/constants.js +12 -0
- package/dist/esm/generated-names.d.ts +13 -3
- package/dist/esm/generated-names.d.ts.map +1 -1
- package/dist/esm/generated-names.js +3 -1
- package/dist/esm/helpers.d.ts +5 -0
- package/dist/esm/helpers.d.ts.map +1 -1
- package/dist/esm/helpers.js +7 -1
- package/dist/esm/hooks/use-on-change-batch.d.ts +19 -2
- package/dist/esm/hooks/use-on-change-batch.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-change-batch.js +19 -3
- package/dist/esm/hooks/use-on-change-calculated-column.d.ts +10 -1
- package/dist/esm/hooks/use-on-change-calculated-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-change-calculated-column.js +17 -5
- package/dist/esm/hooks/use-on-change-table-column.d.ts +6 -1
- package/dist/esm/hooks/use-on-change-table-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-change-table-column.js +17 -5
- package/dist/esm/hooks/use-on-change.d.ts +36 -3
- package/dist/esm/hooks/use-on-change.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-change.js +214 -124
- package/dist/esm/hooks/use-on-copy.d.ts +1 -1
- package/dist/esm/hooks/use-on-copy.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-copy.js +2 -3
- package/dist/esm/hooks/use-on-create-custom-table-style.d.ts +17 -0
- package/dist/esm/hooks/use-on-create-custom-table-style.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-create-custom-table-style.js +26 -0
- package/dist/esm/hooks/use-on-create-named-range.d.ts +4 -2
- package/dist/esm/hooks/use-on-create-named-range.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-create-named-range.js +11 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts +2 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-left.js +3 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts +2 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-up.js +3 -1
- package/dist/esm/hooks/use-on-delete-column.d.ts +2 -1
- package/dist/esm/hooks/use-on-delete-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-column.js +3 -1
- package/dist/esm/hooks/use-on-delete-row.d.ts +2 -1
- package/dist/esm/hooks/use-on-delete-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-row.js +3 -1
- package/dist/esm/hooks/use-on-delete-sheet.d.ts +9 -1
- package/dist/esm/hooks/use-on-delete-sheet.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-sheet.js +17 -1
- package/dist/esm/hooks/use-on-delete-table-row.d.ts +4 -1
- package/dist/esm/hooks/use-on-delete-table-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-table-row.js +19 -1
- package/dist/esm/hooks/use-on-delete.d.ts +5 -2
- package/dist/esm/hooks/use-on-delete.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete.js +5 -1
- package/dist/esm/hooks/use-on-embeds.d.ts +7 -4
- package/dist/esm/hooks/use-on-embeds.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-embeds.js +23 -6
- package/dist/esm/hooks/use-on-fill.d.ts +17 -2
- package/dist/esm/hooks/use-on-fill.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-fill.js +27 -1
- package/dist/esm/hooks/use-on-filter-table.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-filter-table.js +97 -26
- package/dist/esm/hooks/use-on-import-excel.d.ts +2 -1
- package/dist/esm/hooks/use-on-import-excel.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-import-excel.js +4 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts +2 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-down.js +3 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts +2 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-right.js +3 -1
- package/dist/esm/hooks/use-on-insert-column.d.ts +2 -1
- package/dist/esm/hooks/use-on-insert-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-column.js +3 -1
- package/dist/esm/hooks/use-on-insert-row.d.ts +2 -1
- package/dist/esm/hooks/use-on-insert-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-row.js +3 -1
- package/dist/esm/hooks/use-on-insert-table-row.d.ts +5 -2
- package/dist/esm/hooks/use-on-insert-table-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-table-row.js +19 -1
- package/dist/esm/hooks/use-on-merge-unmerge-cells.d.ts +3 -2
- package/dist/esm/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-merge-unmerge-cells.js +12 -1
- package/dist/esm/hooks/use-on-move-columns.d.ts +4 -1
- package/dist/esm/hooks/use-on-move-columns.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-columns.js +28 -6
- package/dist/esm/hooks/use-on-move-rows.d.ts +18 -1
- package/dist/esm/hooks/use-on-move-rows.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-rows.js +44 -6
- package/dist/esm/hooks/use-on-move-selection.d.ts +9 -2
- package/dist/esm/hooks/use-on-move-selection.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-selection.js +57 -1
- package/dist/esm/hooks/use-on-paste.d.ts +33 -2
- package/dist/esm/hooks/use-on-paste.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-paste.js +825 -643
- package/dist/esm/hooks/use-on-remove-duplicates.d.ts +5 -2
- package/dist/esm/hooks/use-on-remove-duplicates.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-remove-duplicates.js +5 -1
- package/dist/esm/hooks/use-on-request-create-table.d.ts +13 -0
- package/dist/esm/hooks/use-on-request-create-table.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-request-create-table.js +43 -0
- package/dist/esm/hooks/use-on-request-insert-slicer.d.ts +7 -0
- package/dist/esm/hooks/use-on-request-insert-slicer.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-request-insert-slicer.js +15 -0
- package/dist/esm/hooks/use-on-request-resize-table.d.ts +7 -0
- package/dist/esm/hooks/use-on-request-resize-table.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-request-resize-table.js +15 -0
- package/dist/esm/hooks/use-on-resize-table.d.ts +5 -1
- package/dist/esm/hooks/use-on-resize-table.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-resize-table.js +107 -27
- package/dist/esm/hooks/use-on-sort-column.d.ts +28 -3
- package/dist/esm/hooks/use-on-sort-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-sort-column.js +105 -68
- package/dist/esm/hooks/use-on-sort-range.d.ts +26 -3
- package/dist/esm/hooks/use-on-sort-range.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-sort-range.js +100 -64
- package/dist/esm/hooks/use-on-sort-table.d.ts +18 -1
- package/dist/esm/hooks/use-on-sort-table.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-sort-table.js +107 -86
- package/dist/esm/hooks/use-on-subtotal.d.ts +10 -3
- package/dist/esm/hooks/use-on-subtotal.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-subtotal.js +7 -5
- package/dist/esm/hooks/use-on-table.d.ts +39 -7
- package/dist/esm/hooks/use-on-table.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-table.js +234 -26
- package/dist/esm/hooks/use-on-undo-calculated-column.d.ts +23 -0
- package/dist/esm/hooks/use-on-undo-calculated-column.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-undo-calculated-column.js +62 -0
- package/dist/esm/hooks/use-on-undo-table-auto-expansion.d.ts +28 -0
- package/dist/esm/hooks/use-on-undo-table-auto-expansion.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-undo-table-auto-expansion.js +75 -0
- package/dist/esm/hooks/use-on-update-named-range.d.ts +4 -2
- package/dist/esm/hooks/use-on-update-named-range.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-update-named-range.js +13 -1
- package/dist/esm/hooks/use-sheet-properties.d.ts +1 -0
- package/dist/esm/hooks/use-sheet-properties.d.ts.map +1 -1
- package/dist/esm/hooks/use-sheet-properties.js +38 -19
- package/dist/esm/hooks/use-slicers.d.ts +2 -2
- package/dist/esm/hooks/use-slicers.d.ts.map +1 -1
- package/dist/esm/hooks/use-slicers.js +16 -8
- package/dist/esm/hooks/use-sparkline-groups.d.ts +50 -0
- package/dist/esm/hooks/use-sparkline-groups.d.ts.map +1 -0
- package/dist/esm/hooks/use-sparkline-groups.js +146 -0
- package/dist/esm/hooks/use-spreadsheet-state.d.ts +69 -12
- package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/esm/hooks/use-spreadsheet-state.js +321 -14
- package/dist/esm/hooks/use-structured-reference.d.ts.map +1 -1
- package/dist/esm/hooks/use-structured-reference.js +17 -0
- package/dist/esm/hooks/use-undo-redo-actions.d.ts +2 -1
- package/dist/esm/hooks/use-undo-redo-actions.d.ts.map +1 -1
- package/dist/esm/hooks/use-undo-redo-actions.js +8 -2
- package/dist/esm/hooks/use-undo-redo.d.ts +12 -0
- package/dist/esm/hooks/use-undo-redo.d.ts.map +1 -1
- package/dist/esm/hooks/use-undo-redo.js +158 -7
- package/dist/esm/hooks/utils/sort-rows.d.ts.map +1 -1
- package/dist/esm/hooks/utils/sort-rows.js +4 -3
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +9 -0
- package/dist/esm/interface/apply-fill.d.ts +26 -3
- package/dist/esm/interface/apply-fill.d.ts.map +1 -1
- package/dist/esm/interface/apply-fill.js +188 -88
- package/dist/esm/interface/change-batch.d.ts +1 -1
- package/dist/esm/interface/change-batch.d.ts.map +1 -1
- package/dist/esm/interface/change-batch.js +89 -8
- package/dist/esm/interface/change-calculated-column.d.ts +6 -2
- package/dist/esm/interface/change-calculated-column.d.ts.map +1 -1
- package/dist/esm/interface/change-calculated-column.js +81 -16
- package/dist/esm/interface/change-table-column.d.ts +81 -7
- package/dist/esm/interface/change-table-column.d.ts.map +1 -1
- package/dist/esm/interface/change-table-column.js +295 -67
- package/dist/esm/interface/create-table.d.ts +15 -3
- package/dist/esm/interface/create-table.d.ts.map +1 -1
- package/dist/esm/interface/create-table.js +103 -27
- package/dist/esm/interface/delete-cells-shift-left.d.ts +1 -1
- package/dist/esm/interface/delete-cells-shift-left.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells-shift-left.js +10 -1
- package/dist/esm/interface/delete-cells-shift-up.d.ts +1 -1
- package/dist/esm/interface/delete-cells-shift-up.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells-shift-up.js +10 -1
- package/dist/esm/interface/delete-cells.d.ts +1 -1
- package/dist/esm/interface/delete-cells.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells.js +47 -14
- package/dist/esm/interface/delete-column.d.ts +1 -1
- package/dist/esm/interface/delete-column.d.ts.map +1 -1
- package/dist/esm/interface/delete-column.js +26 -30
- package/dist/esm/interface/delete-row.d.ts +1 -1
- package/dist/esm/interface/delete-row.d.ts.map +1 -1
- package/dist/esm/interface/delete-row.js +191 -44
- package/dist/esm/interface/delete-sheet.d.ts +2 -2
- package/dist/esm/interface/delete-sheet.d.ts.map +1 -1
- package/dist/esm/interface/delete-sheet.js +113 -1
- package/dist/esm/interface/delete-table-column.d.ts +1 -1
- package/dist/esm/interface/delete-table-column.d.ts.map +1 -1
- package/dist/esm/interface/delete-table-column.js +11 -1
- package/dist/esm/interface/delete-table-row.d.ts +1 -1
- package/dist/esm/interface/delete-table-row.d.ts.map +1 -1
- package/dist/esm/interface/delete-table-row.js +312 -232
- package/dist/esm/interface/duplicate-sheet.d.ts.map +1 -1
- package/dist/esm/interface/duplicate-sheet.js +73 -26
- package/dist/esm/interface/embeds.d.ts +10 -1
- package/dist/esm/interface/embeds.d.ts.map +1 -1
- package/dist/esm/interface/embeds.js +84 -5
- package/dist/esm/interface/insert-cells-shift-down.d.ts +1 -1
- package/dist/esm/interface/insert-cells-shift-down.d.ts.map +1 -1
- package/dist/esm/interface/insert-cells-shift-down.js +10 -1
- package/dist/esm/interface/insert-cells-shift-right.d.ts +1 -1
- package/dist/esm/interface/insert-cells-shift-right.d.ts.map +1 -1
- package/dist/esm/interface/insert-cells-shift-right.js +10 -1
- package/dist/esm/interface/insert-column.d.ts +2 -2
- package/dist/esm/interface/insert-column.d.ts.map +1 -1
- package/dist/esm/interface/insert-column.js +70 -33
- package/dist/esm/interface/insert-row.d.ts +1 -1
- package/dist/esm/interface/insert-row.d.ts.map +1 -1
- package/dist/esm/interface/insert-row.js +22 -6
- package/dist/esm/interface/insert-table-row.d.ts +2 -1
- package/dist/esm/interface/insert-table-row.d.ts.map +1 -1
- package/dist/esm/interface/insert-table-row.js +67 -12
- package/dist/esm/interface/remove-duplicates.d.ts +1 -1
- package/dist/esm/interface/remove-duplicates.d.ts.map +1 -1
- package/dist/esm/interface/remove-duplicates.js +41 -6
- package/dist/esm/interface/remove-table.d.ts +1 -1
- package/dist/esm/interface/remove-table.d.ts.map +1 -1
- package/dist/esm/interface/remove-table.js +58 -10
- package/dist/esm/interface/slicers.d.ts +12 -1
- package/dist/esm/interface/slicers.d.ts.map +1 -1
- package/dist/esm/interface/slicers.js +44 -2
- package/dist/esm/interface/spreadsheet-interface.d.ts +1 -1
- package/dist/esm/interface/spreadsheet-interface.d.ts.map +1 -1
- package/dist/esm/interface/spreadsheet-interface.js +73 -1
- package/dist/esm/interface/table-totalrow.d.ts +13 -1
- package/dist/esm/interface/table-totalrow.d.ts.map +1 -1
- package/dist/esm/interface/table-totalrow.js +98 -68
- package/dist/esm/interface/table-utils.d.ts +59 -6
- package/dist/esm/interface/table-utils.d.ts.map +1 -1
- package/dist/esm/interface/table-utils.js +155 -14
- package/dist/esm/interface/update-table.d.ts +16 -1
- package/dist/esm/interface/update-table.d.ts.map +1 -1
- package/dist/esm/interface/update-table.js +203 -42
- package/dist/esm/sheet-cell.d.ts.map +1 -1
- package/dist/esm/test-setup.d.ts.map +1 -1
- package/dist/esm/test-setup.js +6 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/validation-schema/table.schema.d.ts +11 -0
- package/dist/esm/validation-schema/table.schema.d.ts.map +1 -1
- package/dist/esm/validation-schema/table.schema.js +15 -2
- package/package.json +25 -17
|
@@ -3,16 +3,18 @@ import { Direction } from "@rowsncolumns/grid";
|
|
|
3
3
|
import { iterateCellsInRange } from "@rowsncolumns/utils";
|
|
4
4
|
import { produceWithPatches } from "immer";
|
|
5
5
|
import { useCallback } from "react";
|
|
6
|
+
import { reorderChartsOnLineMove } from "../api/anchored-objects";
|
|
6
7
|
import { processSideEffectDependentCells } from "../api/dependency";
|
|
7
8
|
import { createSheetDraft } from "../api/immer-utils";
|
|
8
9
|
import { moveMergedCells } from "../api/merges";
|
|
9
10
|
import { updateRangedRulesOnReorder } from "../api/range-rule-helpers";
|
|
10
11
|
import { shiftTableMovingColumns } from "../api/table";
|
|
11
12
|
import { useCanEditSheet } from "./use-can-edit-cellrange";
|
|
13
|
+
import { resolveMoveReferenceIndex, } from "./use-on-move-rows";
|
|
12
14
|
export var useOnMoveColumns = function (_a) {
|
|
13
|
-
var rowCount = _a.rowCount, columnCount = _a.columnCount, locale = _a.locale, createHistory = _a.createHistory, onChangeSheetData = _a.onChangeSheetData, onChangeSheets = _a.onChangeSheets, onChangeTables = _a.onChangeTables, onChangeConditionalFormats = _a.onChangeConditionalFormats, onChangeDataValidations = _a.onChangeDataValidations, enqueueGraphOperation = _a.enqueueGraphOperation, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, getDependents = _a.getDependents, getDataRowCount = _a.getDataRowCount, getActiveCell = _a.getActiveCell, onCommand = _a.onCommand;
|
|
15
|
+
var rowCount = _a.rowCount, columnCount = _a.columnCount, locale = _a.locale, createHistory = _a.createHistory, onChangeSheetData = _a.onChangeSheetData, onChangeSheets = _a.onChangeSheets, onChangeTables = _a.onChangeTables, onChangeConditionalFormats = _a.onChangeConditionalFormats, onChangeDataValidations = _a.onChangeDataValidations, onChangeCharts = _a.onChangeCharts, enqueueGraphOperation = _a.enqueueGraphOperation, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, getDependents = _a.getDependents, getDataRowCount = _a.getDataRowCount, getActiveCell = _a.getActiveCell, onCommand = _a.onCommand;
|
|
14
16
|
var canEditSheet = useCanEditSheet();
|
|
15
|
-
return useCallback(function (sheetId, columns,
|
|
17
|
+
return useCallback(function (sheetId, columns, rawReferenceColumnIndex, options) {
|
|
16
18
|
var _a;
|
|
17
19
|
if (!canEditSheet(sheetId)) {
|
|
18
20
|
console.debug("This range is protected, users cannot edit this cell range.");
|
|
@@ -21,6 +23,10 @@ export var useOnMoveColumns = function (_a) {
|
|
|
21
23
|
if (!columns.length) {
|
|
22
24
|
return;
|
|
23
25
|
}
|
|
26
|
+
var referenceColumnIndex = resolveMoveReferenceIndex(columns, rawReferenceColumnIndex, options);
|
|
27
|
+
if (referenceColumnIndex === undefined) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
24
30
|
var saveHistory = createHistory();
|
|
25
31
|
var _b = columns, firstColumn = _b[0], _c = columns.length - 1, lastColumn = _b[_c];
|
|
26
32
|
// We need to track this for history. Precedent cells
|
|
@@ -46,11 +52,15 @@ export var useOnMoveColumns = function (_a) {
|
|
|
46
52
|
startRowIndex: 1,
|
|
47
53
|
endRowIndex: dataRowCount,
|
|
48
54
|
};
|
|
49
|
-
//
|
|
50
|
-
//
|
|
55
|
+
// The columns the move displaces (Excel: refs into them shift by ±count). Moving LEFT,
|
|
56
|
+
// columns `referenceColumnIndex..firstColumn-1` slide right; moving RIGHT, columns
|
|
57
|
+
// `lastColumn+1..referenceColumnIndex+count-1` slide left (the block lands at
|
|
58
|
+
// `referenceColumnIndex` in the post-removal frame).
|
|
51
59
|
var shiftedRange = {
|
|
52
|
-
startColumnIndex:
|
|
53
|
-
endColumnIndex:
|
|
60
|
+
startColumnIndex: direction === Direction.Left ? referenceColumnIndex : lastColumn + 1,
|
|
61
|
+
endColumnIndex: direction === Direction.Left
|
|
62
|
+
? firstColumn - 1
|
|
63
|
+
: referenceColumnIndex + count - 1,
|
|
54
64
|
startRowIndex: 1,
|
|
55
65
|
endRowIndex: dataRowCount,
|
|
56
66
|
};
|
|
@@ -334,6 +344,17 @@ export var useOnMoveColumns = function (_a) {
|
|
|
334
344
|
});
|
|
335
345
|
return nextState;
|
|
336
346
|
});
|
|
347
|
+
// Chart series / domain / data ranges follow the moved columns like formula references.
|
|
348
|
+
onChangeCharts === null || onChangeCharts === void 0 ? void 0 : onChangeCharts(function (prevCharts) {
|
|
349
|
+
var _a = __read(produceWithPatches(prevCharts, function (draft) {
|
|
350
|
+
reorderChartsOnLineMove(draft, sheetId, "column", columns, referenceColumnIndex);
|
|
351
|
+
}), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
|
|
352
|
+
if (!patches.length) {
|
|
353
|
+
return prevCharts;
|
|
354
|
+
}
|
|
355
|
+
saveHistory({ charts: { patches: patches, inversePatches: inversePatches } });
|
|
356
|
+
return nextState;
|
|
357
|
+
});
|
|
337
358
|
// Re-anchor CF / DV ranges to follow the moved columns. Matches
|
|
338
359
|
// Excel's cell-tracking semantics for single-range rules.
|
|
339
360
|
onChangeDataValidations === null || onChangeDataValidations === void 0 ? void 0 : onChangeDataValidations(function (prevValidations) {
|
|
@@ -367,6 +388,7 @@ export var useOnMoveColumns = function (_a) {
|
|
|
367
388
|
onChangeTables,
|
|
368
389
|
onChangeConditionalFormats,
|
|
369
390
|
onChangeDataValidations,
|
|
391
|
+
onChangeCharts,
|
|
370
392
|
createHistory,
|
|
371
393
|
enqueueGraphOperation,
|
|
372
394
|
enqueueCalculation,
|
|
@@ -19,12 +19,29 @@ type UseOnMoveRowsProps<T extends CellData, S extends Sheet> = {
|
|
|
19
19
|
onChangeNamedRanges: UseSpreadsheetProps<T, S>["onChangeNamedRanges"];
|
|
20
20
|
onChangeConditionalFormats?: UseSpreadsheetProps<T, S>["onChangeConditionalFormats"];
|
|
21
21
|
onChangeDataValidations?: UseSpreadsheetProps<T, S>["onChangeDataValidations"];
|
|
22
|
+
/** Chart ranges follow the moved rows the way formula references do. */
|
|
23
|
+
onChangeCharts?: UseSpreadsheetProps<T, S>["onChangeCharts"];
|
|
22
24
|
getDependents: ReturnType<typeof useCalculation>["getDependents"];
|
|
23
25
|
getDataRowCount?: ReturnType<typeof useSheetProperties>["getDataRowCount"];
|
|
24
26
|
getNonEmptyColumnCount?: ReturnType<typeof useSheetProperties>["getNonEmptyColumnCount"];
|
|
25
27
|
getActiveCell: () => CellInterface;
|
|
26
28
|
onCommand?: OnCommand;
|
|
27
29
|
};
|
|
28
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Landing semantics for a row/column move. By default `referenceIndex` is the block's FINAL
|
|
32
|
+
* position in the post-removal frame (what the header-drag hook computes). `insertBefore`
|
|
33
|
+
* selects Excel's "Insert Cut Cells" semantics instead: `referenceIndex` is the row/column the
|
|
34
|
+
* block is inserted BEFORE in the PRE-removal numbering, so a downward move lands `count` earlier
|
|
35
|
+
* (cut row 2 → Insert Cut Cells at row 6 lands the row at 5: r1 r3 r4 r5 r2 r6).
|
|
36
|
+
*/
|
|
37
|
+
export type MoveDimensionOptions = {
|
|
38
|
+
insertBefore?: boolean;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Translate an Insert-Cut-Cells reference (pre-removal numbering) into the hook's post-removal
|
|
42
|
+
* landing index. Returns `undefined` when the reference falls inside the moved block (a no-op).
|
|
43
|
+
*/
|
|
44
|
+
export declare const resolveMoveReferenceIndex: (dims: number[], referenceIndex: number, options?: MoveDimensionOptions) => number | undefined;
|
|
45
|
+
export declare const useOnMoveRows: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, createHistory, onChangeSheetData, onChangeSheets, onChangeTables, onChangeConditionalFormats, onChangeDataValidations, onChangeCharts, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, getDependents, getNonEmptyColumnCount, getActiveCell, onCommand, }: UseOnMoveRowsProps<T, S>) => (sheetId: number, rows: number[], rawReferenceRowIndex: number, options?: MoveDimensionOptions) => void;
|
|
29
46
|
export {};
|
|
30
47
|
//# sourceMappingURL=use-on-move-rows.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-on-move-rows.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-move-rows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,4BAA4B,CAAC;AAE3E,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"use-on-move-rows.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-move-rows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,4BAA4B,CAAC;AAE3E,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAWtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,KAAK,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,kBAAkB,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5E,sBAAsB,CAAC,EAAE,UAAU,CACjC,OAAO,cAAc,CACtB,CAAC,wBAAwB,CAAC,CAAC;IAC5B,qBAAqB,EAAE,UAAU,CAC/B,OAAO,cAAc,CACtB,CAAC,uBAAuB,CAAC,CAAC;IAC3B,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAClE,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACtE,0BAA0B,CAAC,EAAE,mBAAmB,CAC9C,CAAC,EACD,CAAC,CACF,CAAC,4BAA4B,CAAC,CAAC;IAChC,uBAAuB,CAAC,EAAE,mBAAmB,CAC3C,CAAC,EACD,CAAC,CACF,CAAC,yBAAyB,CAAC,CAAC;IAC7B,wEAAwE;IACxE,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,aAAa,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC;IAClE,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC3E,sBAAsB,CAAC,EAAE,UAAU,CACjC,OAAO,kBAAkB,CAC1B,CAAC,wBAAwB,CAAC,CAAC;IAC5B,aAAa,EAAE,MAAM,aAAa,CAAC;IACnC,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,MAAM,MAAM,EAAE,EACd,gBAAgB,MAAM,EACtB,UAAU,oBAAoB,KAC7B,MAAM,GAAG,SAYX,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,+SAkBhE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,eAIZ,MAAM,QACT,MAAM,EAAE,wBACQ,MAAM,YAClB,oBAAoB,SA0WnC,CAAC"}
|
|
@@ -3,16 +3,34 @@ import { Direction } from "@rowsncolumns/grid";
|
|
|
3
3
|
import { iterateCellsInRange } from "@rowsncolumns/utils";
|
|
4
4
|
import { produceWithPatches } from "immer";
|
|
5
5
|
import { useCallback } from "react";
|
|
6
|
+
import { reorderChartsOnLineMove } from "../api/anchored-objects";
|
|
6
7
|
import { processSideEffectDependentCells } from "../api/dependency";
|
|
7
8
|
import { createSheetDraft } from "../api/immer-utils";
|
|
8
9
|
import { moveMergedCells } from "../api/merges";
|
|
9
10
|
import { updateRangedRulesOnReorder } from "../api/range-rule-helpers";
|
|
10
11
|
import { shiftTableMovingRows } from "../api/table";
|
|
11
12
|
import { useCanEditSheet } from "./use-can-edit-cellrange";
|
|
13
|
+
/**
|
|
14
|
+
* Translate an Insert-Cut-Cells reference (pre-removal numbering) into the hook's post-removal
|
|
15
|
+
* landing index. Returns `undefined` when the reference falls inside the moved block (a no-op).
|
|
16
|
+
*/
|
|
17
|
+
export var resolveMoveReferenceIndex = function (dims, referenceIndex, options) {
|
|
18
|
+
if (!(options === null || options === void 0 ? void 0 : options.insertBefore)) {
|
|
19
|
+
return referenceIndex;
|
|
20
|
+
}
|
|
21
|
+
var _a = dims, first = _a[0], _b = dims.length - 1, last = _a[_b];
|
|
22
|
+
if (referenceIndex > last) {
|
|
23
|
+
return referenceIndex - dims.length;
|
|
24
|
+
}
|
|
25
|
+
if (referenceIndex > first) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
return referenceIndex;
|
|
29
|
+
};
|
|
12
30
|
export var useOnMoveRows = function (_a) {
|
|
13
|
-
var rowCount = _a.rowCount, columnCount = _a.columnCount, locale = _a.locale, createHistory = _a.createHistory, onChangeSheetData = _a.onChangeSheetData, onChangeSheets = _a.onChangeSheets, onChangeTables = _a.onChangeTables, onChangeConditionalFormats = _a.onChangeConditionalFormats, onChangeDataValidations = _a.onChangeDataValidations, enqueueGraphOperation = _a.enqueueGraphOperation, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, getDependents = _a.getDependents, getNonEmptyColumnCount = _a.getNonEmptyColumnCount, getActiveCell = _a.getActiveCell, onCommand = _a.onCommand;
|
|
31
|
+
var rowCount = _a.rowCount, columnCount = _a.columnCount, locale = _a.locale, createHistory = _a.createHistory, onChangeSheetData = _a.onChangeSheetData, onChangeSheets = _a.onChangeSheets, onChangeTables = _a.onChangeTables, onChangeConditionalFormats = _a.onChangeConditionalFormats, onChangeDataValidations = _a.onChangeDataValidations, onChangeCharts = _a.onChangeCharts, enqueueGraphOperation = _a.enqueueGraphOperation, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, getDependents = _a.getDependents, getNonEmptyColumnCount = _a.getNonEmptyColumnCount, getActiveCell = _a.getActiveCell, onCommand = _a.onCommand;
|
|
14
32
|
var canEditSheet = useCanEditSheet();
|
|
15
|
-
return useCallback(function (sheetId, rows,
|
|
33
|
+
return useCallback(function (sheetId, rows, rawReferenceRowIndex, options) {
|
|
16
34
|
if (!canEditSheet(sheetId)) {
|
|
17
35
|
console.debug("This range is protected, users cannot edit this cell range.");
|
|
18
36
|
return;
|
|
@@ -20,6 +38,10 @@ export var useOnMoveRows = function (_a) {
|
|
|
20
38
|
if (!rows.length) {
|
|
21
39
|
return;
|
|
22
40
|
}
|
|
41
|
+
var referenceRowIndex = resolveMoveReferenceIndex(rows, rawReferenceRowIndex, options);
|
|
42
|
+
if (referenceRowIndex === undefined) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
23
45
|
var saveHistory = createHistory();
|
|
24
46
|
var _a = rows, firstRow = _a[0], _b = rows.length - 1, lastRow = _a[_b];
|
|
25
47
|
// We need to track this for history. Precedent cells
|
|
@@ -129,13 +151,17 @@ export var useOnMoveRows = function (_a) {
|
|
|
129
151
|
}
|
|
130
152
|
finally { if (e_1) throw e_1.error; }
|
|
131
153
|
}
|
|
132
|
-
//
|
|
133
|
-
//
|
|
154
|
+
// The rows the move displaces (Excel: refs into them shift by ±count). Moving UP,
|
|
155
|
+
// rows `referenceRowIndex..firstRow-1` slide down; moving DOWN, rows
|
|
156
|
+
// `lastRow+1..referenceRowIndex+count-1` slide up (the block lands at
|
|
157
|
+
// `referenceRowIndex` in the post-removal frame).
|
|
134
158
|
var shiftedRange = {
|
|
135
159
|
startColumnIndex: 1,
|
|
136
160
|
endColumnIndex: columnCount,
|
|
137
|
-
startRowIndex:
|
|
138
|
-
endRowIndex:
|
|
161
|
+
startRowIndex: direction === Direction.Left ? referenceRowIndex : lastRow + 1,
|
|
162
|
+
endRowIndex: direction === Direction.Left
|
|
163
|
+
? firstRow - 1
|
|
164
|
+
: referenceRowIndex + count - 1,
|
|
139
165
|
};
|
|
140
166
|
try {
|
|
141
167
|
// Update formulas
|
|
@@ -249,6 +275,17 @@ export var useOnMoveRows = function (_a) {
|
|
|
249
275
|
});
|
|
250
276
|
return nextState;
|
|
251
277
|
});
|
|
278
|
+
// Chart series / domain / data ranges follow the moved rows like formula references.
|
|
279
|
+
onChangeCharts === null || onChangeCharts === void 0 ? void 0 : onChangeCharts(function (prevCharts) {
|
|
280
|
+
var _a = __read(produceWithPatches(prevCharts, function (draft) {
|
|
281
|
+
reorderChartsOnLineMove(draft, sheetId, "row", rows, referenceRowIndex);
|
|
282
|
+
}), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
|
|
283
|
+
if (!patches.length) {
|
|
284
|
+
return prevCharts;
|
|
285
|
+
}
|
|
286
|
+
saveHistory({ charts: { patches: patches, inversePatches: inversePatches } });
|
|
287
|
+
return nextState;
|
|
288
|
+
});
|
|
252
289
|
// Re-anchor CF / DV ranges to follow the moved rows. Matches
|
|
253
290
|
// Excel's cell-tracking semantics for single-range rules.
|
|
254
291
|
onChangeDataValidations === null || onChangeDataValidations === void 0 ? void 0 : onChangeDataValidations(function (prevValidations) {
|
|
@@ -283,6 +320,7 @@ export var useOnMoveRows = function (_a) {
|
|
|
283
320
|
onChangeTables,
|
|
284
321
|
onChangeConditionalFormats,
|
|
285
322
|
onChangeDataValidations,
|
|
323
|
+
onChangeCharts,
|
|
286
324
|
enqueueGraphOperation,
|
|
287
325
|
enqueueCalculation,
|
|
288
326
|
enqueueStructureChange,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CellInterface, SelectionArea } from "@rowsncolumns/common-types";
|
|
1
|
+
import type { CellInterface, GridRange, SelectionArea } from "@rowsncolumns/common-types";
|
|
2
2
|
import type { CellData, SelectionAttributes, Sheet, TableView } from "@rowsncolumns/spreadsheet";
|
|
3
3
|
import type { OnCommand } from "../commands";
|
|
4
4
|
import type { CalculationOperation, useCalculation } from "./use-calculation";
|
|
@@ -24,12 +24,19 @@ export type UseOnMoveSelectionProps<T extends CellData, S extends Sheet> = {
|
|
|
24
24
|
onChangeTables: UseSpreadsheetProps<T, S>["onChangeTables"];
|
|
25
25
|
onChangeSheets: UseSpreadsheetProps<T, S>["onChangeSheets"];
|
|
26
26
|
onChangeNamedRanges: UseSpreadsheetProps<T, S>["onChangeNamedRanges"];
|
|
27
|
+
/** Chart ranges wholly inside the moved block follow it (Excel re-points series like references). */
|
|
28
|
+
onChangeCharts?: UseSpreadsheetProps<T, S>["onChangeCharts"];
|
|
27
29
|
onChangeDataValidations?: UseSpreadsheetProps<T, S>["onChangeDataValidations"];
|
|
28
30
|
onChangeConditionalFormats?: UseSpreadsheetProps<T, S>["onChangeConditionalFormats"];
|
|
29
31
|
onChangePivotTables?: UseSpreadsheetProps<T, S>["onChangePivotTables"];
|
|
30
32
|
getDependents: ReturnType<typeof useCalculation>["getDependents"];
|
|
31
33
|
getActiveCell: () => CellInterface;
|
|
34
|
+
/**
|
|
35
|
+
* Merged ranges of a sheet — a drag-move whose destination (or source) covers a merge only
|
|
36
|
+
* partially is refused, like Excel ("We can't do that to a merged cell.").
|
|
37
|
+
*/
|
|
38
|
+
getSheetMerges?: (sheetId: number) => GridRange[] | undefined | null;
|
|
32
39
|
onCommand?: OnCommand;
|
|
33
40
|
};
|
|
34
|
-
export declare const useOnMoveSelection: <T extends CellData, S extends Sheet>({ rowCount, columnCount, tables, locale, cellXfsRegistry, sharedStringRegistry, getDependents, getActiveCell, onChangeTables, onChangeSheets, onChangeNamedRanges, onChangeDataValidations, onChangeConditionalFormats, onChangePivotTables, onChangeSheetData, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, isArrayFormula, getDataValidationById, onCommand, }: UseOnMoveSelectionProps<T, S>) => (sheetId: number, from: SelectionArea<SelectionAttributes>, to: SelectionArea<SelectionAttributes>) => void;
|
|
41
|
+
export declare const useOnMoveSelection: <T extends CellData, S extends Sheet>({ rowCount, columnCount, tables, locale, cellXfsRegistry, sharedStringRegistry, getDependents, getActiveCell, onChangeTables, onChangeSheets, onChangeNamedRanges, onChangeCharts, onChangeDataValidations, onChangeConditionalFormats, onChangePivotTables, onChangeSheetData, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, isArrayFormula, getDataValidationById, getSheetMerges, onCommand, }: UseOnMoveSelectionProps<T, S>) => (sheetId: number, from: SelectionArea<SelectionAttributes>, to: SelectionArea<SelectionAttributes>) => void;
|
|
35
42
|
//# sourceMappingURL=use-on-move-selection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-on-move-selection.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-move-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"use-on-move-selection.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-move-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACd,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACL,SAAS,EACV,MAAM,2BAA2B,CAAC;AAcnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAY7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,qBAAqB,CAAC,EAAE,UAAU,CAChC,OAAO,kBAAkB,CAC1B,CAAC,uBAAuB,CAAC,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,kBAAkB,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5E,sBAAsB,CAAC,EAAE,UAAU,CACjC,OAAO,cAAc,CACtB,CAAC,wBAAwB,CAAC,CAAC;IAC5B,qBAAqB,EAAE,UAAU,CAC/B,OAAO,cAAc,CACtB,CAAC,uBAAuB,CAAC,CAAC;IAC3B,cAAc,CAAC,QAAQ,EAAE,oBAAoB,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;IACpE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAClE,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACtE,qGAAqG;IACrG,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,uBAAuB,CAAC,EAAE,mBAAmB,CAC3C,CAAC,EACD,CAAC,CACF,CAAC,yBAAyB,CAAC,CAAC;IAC7B,0BAA0B,CAAC,EAAE,mBAAmB,CAC9C,CAAC,EACD,CAAC,CACF,CAAC,4BAA4B,CAAC,CAAC;IAChC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACvE,aAAa,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC;IAClE,aAAa,EAAE,MAAM,aAAa,CAAC;IACnC;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC;IACrE,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,uaAyBrE,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,eAmBjB,MAAM,QACT,aAAa,CAAC,mBAAmB,CAAC,MACpC,aAAa,CAAC,mBAAmB,CAAC,SAyjB3C,CAAC"}
|
|
@@ -4,17 +4,22 @@ import { getSelectedTableColumnFromSelection, isSelectionACell, } from "@rowsnco
|
|
|
4
4
|
import { isNil, iterateCellsInRange, rescopeSheetRangesOnMove, } from "@rowsncolumns/utils";
|
|
5
5
|
import { produceWithPatches } from "immer";
|
|
6
6
|
import { useCallback } from "react";
|
|
7
|
+
import { moveChartsOnRangeMove } from "../api/anchored-objects";
|
|
7
8
|
import { processSideEffectDependentCells } from "../api/dependency";
|
|
8
9
|
import { createSheetCellIdentifier } from "../api/formula";
|
|
9
10
|
import { createSheetDraft } from "../api/immer-utils";
|
|
11
|
+
import { findPartiallyCoveredMerge, MERGED_CELL_MOVE_ERROR } from "../api/merges";
|
|
12
|
+
import { getMoveRangeRefusal } from "../api/structural-guards";
|
|
10
13
|
import { shiftPivotsOnMove } from "../api/pivot-range";
|
|
14
|
+
import { useShowError } from "../atoms/error-state.atom";
|
|
11
15
|
import { SheetCell } from "../sheet-cell";
|
|
12
16
|
import { moveRange } from "./../api/selection";
|
|
13
17
|
import { useCanEditCellRange } from "./use-can-edit-cellrange";
|
|
14
18
|
import { useOnMoveTableColumns } from "./use-on-move-table-columns";
|
|
15
19
|
export var useOnMoveSelection = function (_a) {
|
|
16
|
-
var rowCount = _a.rowCount, columnCount = _a.columnCount, tables = _a.tables, locale = _a.locale, cellXfsRegistry = _a.cellXfsRegistry, sharedStringRegistry = _a.sharedStringRegistry, getDependents = _a.getDependents, getActiveCell = _a.getActiveCell, onChangeTables = _a.onChangeTables, onChangeSheets = _a.onChangeSheets, onChangeNamedRanges = _a.onChangeNamedRanges, onChangeDataValidations = _a.onChangeDataValidations, onChangeConditionalFormats = _a.onChangeConditionalFormats, onChangePivotTables = _a.onChangePivotTables, onChangeSheetData = _a.onChangeSheetData, createHistory = _a.createHistory, enqueueGraphOperation = _a.enqueueGraphOperation, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, isArrayFormula = _a.isArrayFormula, getDataValidationById = _a.getDataValidationById, onCommand = _a.onCommand;
|
|
20
|
+
var rowCount = _a.rowCount, columnCount = _a.columnCount, tables = _a.tables, locale = _a.locale, cellXfsRegistry = _a.cellXfsRegistry, sharedStringRegistry = _a.sharedStringRegistry, getDependents = _a.getDependents, getActiveCell = _a.getActiveCell, onChangeTables = _a.onChangeTables, onChangeSheets = _a.onChangeSheets, onChangeNamedRanges = _a.onChangeNamedRanges, onChangeCharts = _a.onChangeCharts, onChangeDataValidations = _a.onChangeDataValidations, onChangeConditionalFormats = _a.onChangeConditionalFormats, onChangePivotTables = _a.onChangePivotTables, onChangeSheetData = _a.onChangeSheetData, createHistory = _a.createHistory, enqueueGraphOperation = _a.enqueueGraphOperation, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, isArrayFormula = _a.isArrayFormula, getDataValidationById = _a.getDataValidationById, getSheetMerges = _a.getSheetMerges, onCommand = _a.onCommand;
|
|
17
21
|
var canEditCellRange = useCanEditCellRange();
|
|
22
|
+
var showError = useShowError();
|
|
18
23
|
var onMoveTableColumns = useOnMoveTableColumns({
|
|
19
24
|
rowCount: rowCount,
|
|
20
25
|
columnCount: columnCount,
|
|
@@ -34,6 +39,14 @@ export var useOnMoveSelection = function (_a) {
|
|
|
34
39
|
console.debug("This range is protected, users cannot edit this cell range.");
|
|
35
40
|
return;
|
|
36
41
|
}
|
|
42
|
+
// Excel refuses a move whose destination or source covers a merged cell only partially
|
|
43
|
+
// (the write would tear the merge); merges wholly inside the block travel with it.
|
|
44
|
+
var merges = getSheetMerges === null || getSheetMerges === void 0 ? void 0 : getSheetMerges(sheetId);
|
|
45
|
+
if (findPartiallyCoveredMerge(to.range, merges) ||
|
|
46
|
+
findPartiallyCoveredMerge(from.range, merges)) {
|
|
47
|
+
showError({ message: MERGED_CELL_MOVE_ERROR });
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
37
50
|
// Check if we are moving columns
|
|
38
51
|
// within table
|
|
39
52
|
var _a = __read(getSelectedTableColumnFromSelection(from, tables), 2), sourceTable = _a[0], sourceColumns = _a[1];
|
|
@@ -59,6 +72,18 @@ export var useOnMoveSelection = function (_a) {
|
|
|
59
72
|
});
|
|
60
73
|
return onMoveTableColumns(sheetId, sourceTable, movedColumns, to.range.startColumnIndex);
|
|
61
74
|
}
|
|
75
|
+
// Excel moves a whole table with the block but refuses moving part of a table, or landing on
|
|
76
|
+
// another table's cells (T-46) — decided before any state changes.
|
|
77
|
+
var tableRefusal = getMoveRangeRefusal({
|
|
78
|
+
sheetId: sheetId,
|
|
79
|
+
from: from.range,
|
|
80
|
+
to: to.range,
|
|
81
|
+
tables: tables,
|
|
82
|
+
});
|
|
83
|
+
if (tableRefusal) {
|
|
84
|
+
showError({ title: tableRefusal.title, message: tableRefusal.message });
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
62
87
|
enqueueStructureChange === null || enqueueStructureChange === void 0 ? void 0 : enqueueStructureChange({
|
|
63
88
|
kind: "invalidate-range",
|
|
64
89
|
sheetId: sheetId,
|
|
@@ -106,10 +131,24 @@ export var useOnMoveSelection = function (_a) {
|
|
|
106
131
|
});
|
|
107
132
|
return nextState;
|
|
108
133
|
});
|
|
134
|
+
// Move chart sources: a series / domain / data range wholly inside the moved block
|
|
135
|
+
// follows it, like the named ranges above; a partially covered range stays.
|
|
136
|
+
onChangeCharts === null || onChangeCharts === void 0 ? void 0 : onChangeCharts(function (prevCharts) {
|
|
137
|
+
var _a = __read(produceWithPatches(prevCharts, function (draft) {
|
|
138
|
+
moveChartsOnRangeMove(draft, sheetId, from.range, sheetId, to.range);
|
|
139
|
+
}), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
|
|
140
|
+
if (!patches.length) {
|
|
141
|
+
return prevCharts;
|
|
142
|
+
}
|
|
143
|
+
saveHistory({
|
|
144
|
+
charts: { patches: patches, inversePatches: inversePatches },
|
|
145
|
+
});
|
|
146
|
+
return nextState;
|
|
147
|
+
});
|
|
109
148
|
// Move tables if necessary
|
|
110
149
|
onChangeTables === null || onChangeTables === void 0 ? void 0 : onChangeTables(function (prevTables) {
|
|
111
150
|
var _a = __read(produceWithPatches(prevTables, function (draft) {
|
|
112
|
-
var e_2, _a, e_3, _b;
|
|
151
|
+
var e_2, _a, e_3, _b, e_4, _c;
|
|
113
152
|
try {
|
|
114
153
|
for (var draft_2 = __values(draft), draft_2_1 = draft_2.next(); !draft_2_1.done; draft_2_1 = draft_2.next()) {
|
|
115
154
|
var table_1 = draft_2_1.value;
|
|
@@ -120,8 +159,8 @@ export var useOnMoveSelection = function (_a) {
|
|
|
120
159
|
// Update filter and sort specs
|
|
121
160
|
if (table_1.filterSpecs) {
|
|
122
161
|
try {
|
|
123
|
-
for (var
|
|
124
|
-
var spec =
|
|
162
|
+
for (var _d = (e_3 = void 0, __values(table_1.filterSpecs)), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
163
|
+
var spec = _e.value;
|
|
125
164
|
spec.columnIndex =
|
|
126
165
|
to.range.startColumnIndex +
|
|
127
166
|
(spec.columnIndex - from.range.startColumnIndex);
|
|
@@ -130,11 +169,28 @@ export var useOnMoveSelection = function (_a) {
|
|
|
130
169
|
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
131
170
|
finally {
|
|
132
171
|
try {
|
|
133
|
-
if (
|
|
172
|
+
if (_e && !_e.done && (_b = _d.return)) _b.call(_d);
|
|
134
173
|
}
|
|
135
174
|
finally { if (e_3) throw e_3.error; }
|
|
136
175
|
}
|
|
137
176
|
}
|
|
177
|
+
if (table_1.sortSpecs) {
|
|
178
|
+
try {
|
|
179
|
+
for (var _f = (e_4 = void 0, __values(table_1.sortSpecs)), _g = _f.next(); !_g.done; _g = _f.next()) {
|
|
180
|
+
var spec = _g.value;
|
|
181
|
+
spec.dimensionIndex =
|
|
182
|
+
to.range.startColumnIndex +
|
|
183
|
+
(spec.dimensionIndex - from.range.startColumnIndex);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
187
|
+
finally {
|
|
188
|
+
try {
|
|
189
|
+
if (_g && !_g.done && (_c = _f.return)) _c.call(_f);
|
|
190
|
+
}
|
|
191
|
+
finally { if (e_4) throw e_4.error; }
|
|
192
|
+
}
|
|
193
|
+
}
|
|
138
194
|
}
|
|
139
195
|
}
|
|
140
196
|
}
|
|
@@ -158,7 +214,7 @@ export var useOnMoveSelection = function (_a) {
|
|
|
158
214
|
// overlap. Untouched rules produce no patches and no history entry.
|
|
159
215
|
onChangeDataValidations === null || onChangeDataValidations === void 0 ? void 0 : onChangeDataValidations(function (prevValidations) {
|
|
160
216
|
var _a = __read(produceWithPatches(prevValidations, function (draft) {
|
|
161
|
-
var
|
|
217
|
+
var e_5, _a;
|
|
162
218
|
var _b;
|
|
163
219
|
try {
|
|
164
220
|
for (var draft_3 = __values(draft), draft_3_1 = draft_3.next(); !draft_3_1.done; draft_3_1 = draft_3.next()) {
|
|
@@ -169,12 +225,12 @@ export var useOnMoveSelection = function (_a) {
|
|
|
169
225
|
}
|
|
170
226
|
}
|
|
171
227
|
}
|
|
172
|
-
catch (
|
|
228
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
173
229
|
finally {
|
|
174
230
|
try {
|
|
175
231
|
if (draft_3_1 && !draft_3_1.done && (_a = draft_3.return)) _a.call(draft_3);
|
|
176
232
|
}
|
|
177
|
-
finally { if (
|
|
233
|
+
finally { if (e_5) throw e_5.error; }
|
|
178
234
|
}
|
|
179
235
|
}), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
|
|
180
236
|
if (!patches.length) {
|
|
@@ -200,7 +256,7 @@ export var useOnMoveSelection = function (_a) {
|
|
|
200
256
|
// validations above.
|
|
201
257
|
onChangeConditionalFormats === null || onChangeConditionalFormats === void 0 ? void 0 : onChangeConditionalFormats(function (prevConditionalFormats) {
|
|
202
258
|
var _a = __read(produceWithPatches(prevConditionalFormats, function (draft) {
|
|
203
|
-
var
|
|
259
|
+
var e_6, _a;
|
|
204
260
|
var _b;
|
|
205
261
|
try {
|
|
206
262
|
for (var draft_4 = __values(draft), draft_4_1 = draft_4.next(); !draft_4_1.done; draft_4_1 = draft_4.next()) {
|
|
@@ -211,12 +267,12 @@ export var useOnMoveSelection = function (_a) {
|
|
|
211
267
|
}
|
|
212
268
|
}
|
|
213
269
|
}
|
|
214
|
-
catch (
|
|
270
|
+
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
215
271
|
finally {
|
|
216
272
|
try {
|
|
217
273
|
if (draft_4_1 && !draft_4_1.done && (_a = draft_4.return)) _a.call(draft_4);
|
|
218
274
|
}
|
|
219
|
-
finally { if (
|
|
275
|
+
finally { if (e_6) throw e_6.error; }
|
|
220
276
|
}
|
|
221
277
|
}), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
|
|
222
278
|
if (!patches.length) {
|
|
@@ -231,8 +287,8 @@ export var useOnMoveSelection = function (_a) {
|
|
|
231
287
|
// Move banded ranges
|
|
232
288
|
onChangeSheets === null || onChangeSheets === void 0 ? void 0 : onChangeSheets(function (prevSheets) {
|
|
233
289
|
var _a = __read(produceWithPatches(prevSheets, function (draft) {
|
|
234
|
-
var
|
|
235
|
-
var
|
|
290
|
+
var e_7, _a, e_8, _b, e_9, _c;
|
|
291
|
+
var _d, _e, _f;
|
|
236
292
|
var sheet = draft.find(function (sheet) { return sheet.sheetId === sheetId; });
|
|
237
293
|
if (sheet) {
|
|
238
294
|
var hiddenRows = new Set();
|
|
@@ -247,7 +303,7 @@ export var useOnMoveSelection = function (_a) {
|
|
|
247
303
|
sheet.rowMetadata = [];
|
|
248
304
|
}
|
|
249
305
|
for (var rowIndex = range.startRowIndex; rowIndex <= range.endRowIndex; rowIndex++) {
|
|
250
|
-
var isHidden = (
|
|
306
|
+
var isHidden = (_e = (_d = sheet.rowMetadata) === null || _d === void 0 ? void 0 : _d[rowIndex]) === null || _e === void 0 ? void 0 : _e.hiddenByFilter;
|
|
251
307
|
if (isHidden) {
|
|
252
308
|
sheet.rowMetadata[rowIndex].hiddenByFilter = false;
|
|
253
309
|
hiddenRows.add(rowIndex);
|
|
@@ -259,18 +315,18 @@ export var useOnMoveSelection = function (_a) {
|
|
|
259
315
|
var rowIndex = hiddenRows_1_1.value;
|
|
260
316
|
var newRowIndex = to.range.startRowIndex +
|
|
261
317
|
(rowIndex - from.range.startRowIndex);
|
|
262
|
-
if (!((
|
|
318
|
+
if (!((_f = sheet.rowMetadata) === null || _f === void 0 ? void 0 : _f[newRowIndex])) {
|
|
263
319
|
sheet.rowMetadata[newRowIndex] = {};
|
|
264
320
|
}
|
|
265
321
|
sheet.rowMetadata[newRowIndex].hiddenByFilter = true;
|
|
266
322
|
}
|
|
267
323
|
}
|
|
268
|
-
catch (
|
|
324
|
+
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
269
325
|
finally {
|
|
270
326
|
try {
|
|
271
327
|
if (hiddenRows_1_1 && !hiddenRows_1_1.done && (_a = hiddenRows_1.return)) _a.call(hiddenRows_1);
|
|
272
328
|
}
|
|
273
|
-
finally { if (
|
|
329
|
+
finally { if (e_7) throw e_7.error; }
|
|
274
330
|
}
|
|
275
331
|
}
|
|
276
332
|
// Move basic filter
|
|
@@ -280,19 +336,36 @@ export var useOnMoveSelection = function (_a) {
|
|
|
280
336
|
// Update filter and sort specs
|
|
281
337
|
if (sheet.basicFilter.filterSpecs) {
|
|
282
338
|
try {
|
|
283
|
-
for (var
|
|
284
|
-
var spec =
|
|
339
|
+
for (var _g = __values(sheet.basicFilter.filterSpecs), _h = _g.next(); !_h.done; _h = _g.next()) {
|
|
340
|
+
var spec = _h.value;
|
|
285
341
|
spec.columnIndex =
|
|
286
342
|
to.range.startColumnIndex +
|
|
287
343
|
(spec.columnIndex - from.range.startColumnIndex);
|
|
288
344
|
}
|
|
289
345
|
}
|
|
290
|
-
catch (
|
|
346
|
+
catch (e_8_1) { e_8 = { error: e_8_1 }; }
|
|
347
|
+
finally {
|
|
348
|
+
try {
|
|
349
|
+
if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
|
|
350
|
+
}
|
|
351
|
+
finally { if (e_8) throw e_8.error; }
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
if (sheet.basicFilter.sortSpecs) {
|
|
355
|
+
try {
|
|
356
|
+
for (var _j = __values(sheet.basicFilter.sortSpecs), _k = _j.next(); !_k.done; _k = _j.next()) {
|
|
357
|
+
var spec = _k.value;
|
|
358
|
+
spec.dimensionIndex =
|
|
359
|
+
to.range.startColumnIndex +
|
|
360
|
+
(spec.dimensionIndex - from.range.startColumnIndex);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
catch (e_9_1) { e_9 = { error: e_9_1 }; }
|
|
291
364
|
finally {
|
|
292
365
|
try {
|
|
293
|
-
if (
|
|
366
|
+
if (_k && !_k.done && (_c = _j.return)) _c.call(_j);
|
|
294
367
|
}
|
|
295
|
-
finally { if (
|
|
368
|
+
finally { if (e_9) throw e_9.error; }
|
|
296
369
|
}
|
|
297
370
|
}
|
|
298
371
|
}
|
|
@@ -321,7 +394,7 @@ export var useOnMoveSelection = function (_a) {
|
|
|
321
394
|
// Update sheet data
|
|
322
395
|
onChangeSheetData === null || onChangeSheetData === void 0 ? void 0 : onChangeSheetData(function (prevSheetData) {
|
|
323
396
|
var _a = __read(produceWithPatches(prevSheetData, function (draft) {
|
|
324
|
-
var
|
|
397
|
+
var e_10, _a;
|
|
325
398
|
var movedKeys = new Set();
|
|
326
399
|
try {
|
|
327
400
|
// Update formulas
|
|
@@ -347,12 +420,12 @@ export var useOnMoveSelection = function (_a) {
|
|
|
347
420
|
});
|
|
348
421
|
}
|
|
349
422
|
}
|
|
350
|
-
catch (
|
|
423
|
+
catch (e_10_1) { e_10 = { error: e_10_1 }; }
|
|
351
424
|
finally {
|
|
352
425
|
try {
|
|
353
426
|
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
354
427
|
}
|
|
355
|
-
finally { if (
|
|
428
|
+
finally { if (e_10) throw e_10.error; }
|
|
356
429
|
}
|
|
357
430
|
// Move values
|
|
358
431
|
var selectedRowValues = [];
|
|
@@ -460,6 +533,7 @@ export var useOnMoveSelection = function (_a) {
|
|
|
460
533
|
onChangeTables,
|
|
461
534
|
onChangeSheets,
|
|
462
535
|
onChangeNamedRanges,
|
|
536
|
+
onChangeCharts,
|
|
463
537
|
onChangeDataValidations,
|
|
464
538
|
onChangeConditionalFormats,
|
|
465
539
|
onChangePivotTables,
|
|
@@ -472,6 +546,8 @@ export var useOnMoveSelection = function (_a) {
|
|
|
472
546
|
canEditCellRange,
|
|
473
547
|
isArrayFormula,
|
|
474
548
|
getDataValidationById,
|
|
549
|
+
getSheetMerges,
|
|
550
|
+
showError,
|
|
475
551
|
onCommand,
|
|
476
552
|
]);
|
|
477
553
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Citation } from "@rowsncolumns/common-types";
|
|
2
|
-
import type { CellInterface, SelectionArea } from "@rowsncolumns/grid";
|
|
2
|
+
import type { CellInterface, GridRange, SelectionArea } from "@rowsncolumns/grid";
|
|
3
3
|
import type { CellData, DataValidationRuleRecord, SelectionAttributes, Sheet, TableView } from "@rowsncolumns/spreadsheet";
|
|
4
4
|
import type { OnCommand } from "../commands";
|
|
5
5
|
import type { GeneratedNames } from "../generated-names";
|
|
@@ -28,6 +28,22 @@ type UseOnPasteProps<T extends CellData, S extends Sheet> = {
|
|
|
28
28
|
tables?: TableView[];
|
|
29
29
|
isHiddenByFilterRow: ReturnType<typeof useSheetProperties>["isHiddenByFilterRow"];
|
|
30
30
|
createHistory: () => (patches: SpreadsheetPatch) => void;
|
|
31
|
+
/** `useUndoRedo`'s `batchHistory`: the paste and the table growth it triggers undo as one step when wired. */
|
|
32
|
+
batchHistory?: <R>(action: () => R) => R;
|
|
33
|
+
/**
|
|
34
|
+
* Excel's "Include new rows and columns in table" AutoCorrect option: a value typed, pasted or
|
|
35
|
+
* filled into the row below / column right of a table grows the table. `false` turns the
|
|
36
|
+
* auto-expansion off (the "Stop Automatically Expanding Tables" smart-tag action).
|
|
37
|
+
* @default true
|
|
38
|
+
*/
|
|
39
|
+
autoExpandTables?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Excel's "Fill formulas in tables to create calculated columns" AutoCorrect option. `false`
|
|
42
|
+
* leaves a formula typed into a table column a one-cell edit (the "Stop automatically creating
|
|
43
|
+
* calculated columns" smart-tag action).
|
|
44
|
+
* @default true
|
|
45
|
+
*/
|
|
46
|
+
autoCalculatedColumns?: boolean;
|
|
31
47
|
enqueueCalculation: ReturnType<typeof useCalculation>["enqueueCalculation"];
|
|
32
48
|
enqueueStructureChange?: ReturnType<typeof useCalculation>["enqueueStructureChange"];
|
|
33
49
|
enqueueGraphOperation: ReturnType<typeof useCalculation>["enqueueGraphOperation"];
|
|
@@ -37,6 +53,21 @@ type UseOnPasteProps<T extends CellData, S extends Sheet> = {
|
|
|
37
53
|
onChangeEmbeds: UseSpreadsheetProps<T, S>["onChangeEmbeds"];
|
|
38
54
|
onRequestFonts: UseSpreadsheetProps<T, S>["onRequestFonts"];
|
|
39
55
|
onChangeDataValidations: UseSpreadsheetProps<T, S>["onChangeDataValidations"];
|
|
56
|
+
/**
|
|
57
|
+
* Defined names wholly inside a CUT block follow it to the paste destination (Excel: `Data`
|
|
58
|
+
* over A1:A3 becomes C1:C3 after cut A1:A3 → paste C1; a partially covered name stays).
|
|
59
|
+
*/
|
|
60
|
+
onChangeNamedRanges?: UseSpreadsheetProps<T, S>["onChangeNamedRanges"];
|
|
61
|
+
/**
|
|
62
|
+
* Chart ranges wholly inside a CUT block follow it to the paste destination (and sheet),
|
|
63
|
+
* the way Excel re-points series like references; a partially covered range stays.
|
|
64
|
+
*/
|
|
65
|
+
onChangeCharts?: UseSpreadsheetProps<T, S>["onChangeCharts"];
|
|
66
|
+
/**
|
|
67
|
+
* Merged ranges of a sheet — a cut + paste whose destination (or source) covers a merge only
|
|
68
|
+
* partially is refused, like Excel ("We can't do that to a merged cell.").
|
|
69
|
+
*/
|
|
70
|
+
getSheetMerges?: (sheetId: number) => GridRange[] | undefined | null;
|
|
40
71
|
onChangeSelections: ReturnType<typeof useSheetState>["onChangeSelections"];
|
|
41
72
|
onChangeActiveCell(sheetId: number, cell: CellInterface): void;
|
|
42
73
|
getDependents: ReturnType<typeof useCalculation>["getDependents"];
|
|
@@ -74,6 +105,6 @@ type UseOnPasteProps<T extends CellData, S extends Sheet> = {
|
|
|
74
105
|
onCommand?: OnCommand;
|
|
75
106
|
generatedNames?: GeneratedNames;
|
|
76
107
|
};
|
|
77
|
-
export declare const useOnPaste: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, sheetData, tables: currentTables, maxRowCount, maxColumnCount, isHiddenByFilterRow, onRequestFonts, idCreationStrategy, createHistory, enqueueCalculation, enqueueStructureChange, enqueueGraphOperation, onChangeSheetData, onChangeSheets, onChangeTables, onChangeEmbeds, onChangeSelections, onChangeActiveCell, getDependents, getActiveCell, getUserEnteredValue, onChangeDataValidations, preserveFormatting, cellXfsRegistry, sharedStringRegistry, getDataValidationById, getSheetName, onError, citations, onChangeCitations, sanitizeHtml, onCommand, generatedNames, }: UseOnPasteProps<T, S>) => (e: ClipboardEvent | undefined, sourceSheetId: number | undefined, destinationSheetId: number, copiedSelections: SelectionArea<SelectionAttributes>[] | undefined, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[] | undefined, finalSelections: SelectionArea<SelectionAttributes>[] | undefined, isCutOperation: boolean) => Promise<void>;
|
|
108
|
+
export declare const useOnPaste: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, sheetData, tables: currentTables, maxRowCount, maxColumnCount, isHiddenByFilterRow, onRequestFonts, idCreationStrategy, createHistory, enqueueCalculation, enqueueStructureChange, enqueueGraphOperation, onChangeSheetData, onChangeSheets, onChangeTables, onChangeEmbeds, onChangeSelections, onChangeActiveCell, getDependents, getActiveCell, getUserEnteredValue, onChangeDataValidations, onChangeNamedRanges, onChangeCharts, getSheetMerges, preserveFormatting, cellXfsRegistry, sharedStringRegistry, getDataValidationById, getSheetName, onError, citations, onChangeCitations, sanitizeHtml, onCommand, generatedNames, batchHistory, autoExpandTables, autoCalculatedColumns, }: UseOnPasteProps<T, S>) => (e: ClipboardEvent | undefined, sourceSheetId: number | undefined, destinationSheetId: number, copiedSelections: SelectionArea<SelectionAttributes>[] | undefined, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[] | undefined, finalSelections: SelectionArea<SelectionAttributes>[] | undefined, isCutOperation: boolean) => Promise<void>;
|
|
78
109
|
export {};
|
|
79
110
|
//# sourceMappingURL=use-on-paste.d.ts.map
|