@rowsncolumns/spreadsheet-state 29.1.4 → 29.1.6
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/circular-reference.d.ts +31 -0
- package/dist/cjs/api/circular-reference.d.ts.map +1 -0
- package/dist/cjs/api/circular-reference.js +85 -0
- package/dist/cjs/api/copy-paste.d.ts +6 -0
- package/dist/cjs/api/copy-paste.d.ts.map +1 -1
- package/dist/cjs/api/copy-paste.js +24 -15
- package/dist/cjs/api/datatype.d.ts +2 -0
- package/dist/cjs/api/datatype.d.ts.map +1 -1
- package/dist/cjs/api/datatype.js +50 -27
- package/dist/cjs/api/decimals.d.ts +10 -0
- package/dist/cjs/api/decimals.d.ts.map +1 -1
- package/dist/cjs/api/decimals.js +34 -11
- package/dist/cjs/api/dependency.d.ts +19 -1
- package/dist/cjs/api/dependency.d.ts.map +1 -1
- package/dist/cjs/api/dependency.js +30 -14
- package/dist/cjs/api/filter-condition.d.ts +58 -0
- package/dist/cjs/api/filter-condition.d.ts.map +1 -0
- package/dist/cjs/api/filter-condition.js +157 -0
- package/dist/cjs/api/formula.d.ts.map +1 -1
- package/dist/cjs/api/formula.js +9 -7
- package/dist/cjs/api/image-embed.d.ts +41 -0
- package/dist/cjs/api/image-embed.d.ts.map +1 -0
- package/dist/cjs/api/image-embed.js +55 -0
- package/dist/cjs/api/immer-utils.d.ts.map +1 -1
- package/dist/cjs/api/immer-utils.js +43 -15
- package/dist/cjs/api/named-range-structural.d.ts +29 -3
- package/dist/cjs/api/named-range-structural.d.ts.map +1 -1
- package/dist/cjs/api/named-range-structural.js +36 -11
- package/dist/cjs/api/parse-html.d.ts.map +1 -1
- package/dist/cjs/api/parse-html.js +11 -5
- package/dist/cjs/api/structural-formula-update.d.ts +20 -1
- package/dist/cjs/api/structural-formula-update.d.ts.map +1 -1
- package/dist/cjs/api/structural-formula-update.js +264 -90
- package/dist/cjs/api/structural-guards.d.ts +11 -0
- package/dist/cjs/api/structural-guards.d.ts.map +1 -1
- package/dist/cjs/api/structural-guards.js +45 -1
- package/dist/cjs/api/structural-table-refs.d.ts +15 -2
- package/dist/cjs/api/structural-table-refs.d.ts.map +1 -1
- package/dist/cjs/api/structural-table-refs.js +79 -35
- package/dist/cjs/commands.d.ts +17 -3
- package/dist/cjs/commands.d.ts.map +1 -1
- package/dist/cjs/components/editors/conditional-format-rule-editor.d.ts.map +1 -1
- package/dist/cjs/components/editors/conditional-format-rule-editor.js +19 -7
- package/dist/cjs/constants.d.ts +4 -1
- package/dist/cjs/constants.d.ts.map +1 -1
- package/dist/cjs/constants.js +4 -0
- package/dist/cjs/helpers/sheet-title.d.ts +2 -1
- package/dist/cjs/helpers/sheet-title.d.ts.map +1 -1
- package/dist/cjs/helpers/sheet-title.js +3 -1
- package/dist/cjs/hooks/use-can-edit-cellrange.d.ts +1 -1
- package/dist/cjs/hooks/use-can-edit-cellrange.d.ts.map +1 -1
- package/dist/cjs/hooks/use-can-edit-cellrange.js +1 -1
- package/dist/cjs/hooks/use-on-calculation-success.d.ts +5 -1
- package/dist/cjs/hooks/use-on-calculation-success.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-calculation-success.js +20 -3
- package/dist/cjs/hooks/use-on-copy.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-copy.js +23 -25
- package/dist/cjs/hooks/use-on-create-sheet.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-create-sheet.js +11 -1
- package/dist/cjs/hooks/use-on-delete.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete.js +15 -3
- package/dist/cjs/hooks/use-on-drag-n-drop.d.ts +5 -0
- package/dist/cjs/hooks/use-on-drag-n-drop.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-drag-n-drop.js +6 -5
- package/dist/cjs/hooks/use-on-filter-table.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-filter-table.js +6 -1
- package/dist/cjs/hooks/use-on-find-replace.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-find-replace.js +111 -23
- package/dist/cjs/hooks/use-on-insert-image.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-image.js +20 -33
- package/dist/cjs/hooks/use-on-paste.d.ts +2 -1
- package/dist/cjs/hooks/use-on-paste.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-paste.js +53 -24
- package/dist/cjs/hooks/use-on-rename-sheet.d.ts +3 -1
- package/dist/cjs/hooks/use-on-rename-sheet.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-rename-sheet.js +19 -9
- package/dist/cjs/hooks/use-on-sort-column.d.ts +7 -1
- package/dist/cjs/hooks/use-on-sort-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-sort-column.js +25 -8
- package/dist/cjs/hooks/use-on-sort-range.d.ts +16 -2
- package/dist/cjs/hooks/use-on-sort-range.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-sort-range.js +72 -40
- package/dist/cjs/hooks/use-on-sort-table.d.ts +7 -2
- package/dist/cjs/hooks/use-on-sort-table.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-sort-table.js +25 -4
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts +5 -3
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/cjs/hooks/use-spreadsheet-state.js +7 -0
- package/dist/cjs/hooks/utils/sort-rows.d.ts +15 -0
- package/dist/cjs/hooks/utils/sort-rows.d.ts.map +1 -1
- package/dist/cjs/hooks/utils/sort-rows.js +16 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/interface/delete-column.d.ts.map +1 -1
- package/dist/cjs/interface/delete-column.js +254 -101
- package/dist/cjs/interface/delete-row.d.ts.map +1 -1
- package/dist/cjs/interface/delete-row.js +233 -81
- package/dist/cjs/interface/duplicate-sheet.d.ts.map +1 -1
- package/dist/cjs/interface/duplicate-sheet.js +4 -9
- package/dist/cjs/interface/insert-column.d.ts.map +1 -1
- package/dist/cjs/interface/insert-column.js +1 -1
- package/dist/cjs/interface/insert-row.d.ts.map +1 -1
- package/dist/cjs/interface/insert-row.js +1 -1
- package/dist/cjs/interface/new-sheet.d.ts.map +1 -1
- package/dist/cjs/interface/new-sheet.js +6 -13
- package/dist/cjs/sheet-cell.d.ts +9 -0
- package/dist/cjs/sheet-cell.d.ts.map +1 -1
- package/dist/cjs/sheet-cell.js +46 -9
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/api/circular-reference.d.ts +31 -0
- package/dist/esm/api/circular-reference.d.ts.map +1 -0
- package/dist/esm/api/circular-reference.js +55 -0
- package/dist/esm/api/copy-paste.d.ts +6 -0
- package/dist/esm/api/copy-paste.d.ts.map +1 -1
- package/dist/esm/api/copy-paste.js +26 -14
- package/dist/esm/api/datatype.d.ts +2 -0
- package/dist/esm/api/datatype.d.ts.map +1 -1
- package/dist/esm/api/datatype.js +50 -27
- package/dist/esm/api/decimals.d.ts +10 -0
- package/dist/esm/api/decimals.d.ts.map +1 -1
- package/dist/esm/api/decimals.js +31 -10
- package/dist/esm/api/dependency.d.ts +19 -1
- package/dist/esm/api/dependency.d.ts.map +1 -1
- package/dist/esm/api/dependency.js +15 -10
- package/dist/esm/api/filter-condition.d.ts +58 -0
- package/dist/esm/api/filter-condition.d.ts.map +1 -0
- package/dist/esm/api/filter-condition.js +146 -0
- package/dist/esm/api/formula.d.ts.map +1 -1
- package/dist/esm/api/formula.js +9 -7
- package/dist/esm/api/image-embed.d.ts +41 -0
- package/dist/esm/api/image-embed.d.ts.map +1 -0
- package/dist/esm/api/image-embed.js +52 -0
- package/dist/esm/api/immer-utils.d.ts.map +1 -1
- package/dist/esm/api/immer-utils.js +43 -14
- package/dist/esm/api/named-range-structural.d.ts +29 -3
- package/dist/esm/api/named-range-structural.d.ts.map +1 -1
- package/dist/esm/api/named-range-structural.js +35 -11
- package/dist/esm/api/parse-html.d.ts.map +1 -1
- package/dist/esm/api/parse-html.js +14 -5
- package/dist/esm/api/structural-formula-update.d.ts +20 -1
- package/dist/esm/api/structural-formula-update.d.ts.map +1 -1
- package/dist/esm/api/structural-formula-update.js +151 -55
- package/dist/esm/api/structural-guards.d.ts +11 -0
- package/dist/esm/api/structural-guards.d.ts.map +1 -1
- package/dist/esm/api/structural-guards.js +31 -0
- package/dist/esm/api/structural-table-refs.d.ts +15 -2
- package/dist/esm/api/structural-table-refs.d.ts.map +1 -1
- package/dist/esm/api/structural-table-refs.js +49 -18
- package/dist/esm/commands.d.ts +17 -3
- package/dist/esm/commands.d.ts.map +1 -1
- package/dist/esm/components/editors/conditional-format-rule-editor.d.ts.map +1 -1
- package/dist/esm/components/editors/conditional-format-rule-editor.js +18 -7
- package/dist/esm/constants.d.ts +4 -1
- package/dist/esm/constants.d.ts.map +1 -1
- package/dist/esm/constants.js +4 -0
- package/dist/esm/helpers/sheet-title.d.ts +2 -1
- package/dist/esm/helpers/sheet-title.d.ts.map +1 -1
- package/dist/esm/helpers/sheet-title.js +3 -1
- package/dist/esm/hooks/use-can-edit-cellrange.d.ts +1 -1
- package/dist/esm/hooks/use-can-edit-cellrange.d.ts.map +1 -1
- package/dist/esm/hooks/use-can-edit-cellrange.js +1 -1
- package/dist/esm/hooks/use-on-calculation-success.d.ts +5 -1
- package/dist/esm/hooks/use-on-calculation-success.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-calculation-success.js +19 -3
- package/dist/esm/hooks/use-on-copy.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-copy.js +17 -17
- package/dist/esm/hooks/use-on-create-sheet.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-create-sheet.js +11 -1
- package/dist/esm/hooks/use-on-delete.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete.js +15 -3
- package/dist/esm/hooks/use-on-drag-n-drop.d.ts +5 -0
- package/dist/esm/hooks/use-on-drag-n-drop.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-drag-n-drop.js +7 -4
- package/dist/esm/hooks/use-on-filter-table.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-filter-table.js +13 -2
- package/dist/esm/hooks/use-on-find-replace.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-find-replace.js +111 -23
- package/dist/esm/hooks/use-on-insert-image.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-image.js +15 -25
- package/dist/esm/hooks/use-on-paste.d.ts +2 -1
- package/dist/esm/hooks/use-on-paste.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-paste.js +46 -15
- package/dist/esm/hooks/use-on-rename-sheet.d.ts +3 -1
- package/dist/esm/hooks/use-on-rename-sheet.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-rename-sheet.js +19 -9
- package/dist/esm/hooks/use-on-sort-column.d.ts +7 -1
- package/dist/esm/hooks/use-on-sort-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-sort-column.js +18 -1
- package/dist/esm/hooks/use-on-sort-range.d.ts +16 -2
- package/dist/esm/hooks/use-on-sort-range.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-sort-range.js +30 -3
- package/dist/esm/hooks/use-on-sort-table.d.ts +7 -2
- package/dist/esm/hooks/use-on-sort-table.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-sort-table.js +25 -4
- package/dist/esm/hooks/use-spreadsheet-state.d.ts +5 -3
- package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/esm/hooks/use-spreadsheet-state.js +7 -0
- package/dist/esm/hooks/utils/sort-rows.d.ts +15 -0
- package/dist/esm/hooks/utils/sort-rows.d.ts.map +1 -1
- package/dist/esm/hooks/utils/sort-rows.js +15 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -0
- package/dist/esm/interface/delete-column.d.ts.map +1 -1
- package/dist/esm/interface/delete-column.js +111 -80
- package/dist/esm/interface/delete-row.d.ts.map +1 -1
- package/dist/esm/interface/delete-row.js +91 -59
- package/dist/esm/interface/duplicate-sheet.d.ts.map +1 -1
- package/dist/esm/interface/duplicate-sheet.js +4 -9
- package/dist/esm/interface/insert-column.d.ts.map +1 -1
- package/dist/esm/interface/insert-column.js +1 -1
- package/dist/esm/interface/insert-row.d.ts.map +1 -1
- package/dist/esm/interface/insert-row.js +1 -1
- package/dist/esm/interface/new-sheet.d.ts.map +1 -1
- package/dist/esm/interface/new-sheet.js +6 -13
- package/dist/esm/sheet-cell.d.ts +9 -0
- package/dist/esm/sheet-cell.d.ts.map +1 -1
- package/dist/esm/sheet-cell.js +46 -7
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +9 -9
|
@@ -95,7 +95,8 @@ type UseOnPasteProps<T extends CellData, S extends Sheet> = {
|
|
|
95
95
|
*/
|
|
96
96
|
onChangeCitations?: UseSpreadsheetProps<T, S>["onChangeCitations"];
|
|
97
97
|
/**
|
|
98
|
-
* Optional HTML sanitizer for clipboard paste operations
|
|
98
|
+
* Optional additional HTML sanitizer for clipboard paste operations. The
|
|
99
|
+
* built-in sanitizer always runs afterwards; this can only tighten it.
|
|
99
100
|
*/
|
|
100
101
|
sanitizeHtml?: (html: string) => string;
|
|
101
102
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-on-paste.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-paste.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EACV,QAAQ,EACR,wBAAwB,EAExB,mBAAmB,EACnB,KAAK,EACL,SAAS,EACV,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"use-on-paste.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-paste.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { __assign, __awaiter, __generator, __read, __rest, __spreadArray, __valu
|
|
|
2
2
|
import { isStaticNode } from "@rowsncolumns/dag";
|
|
3
3
|
import { areaInsideArea, areaIntersects, isAreasEqual } from "@rowsncolumns/grid";
|
|
4
4
|
import { selectionFromActiveCell } from "@rowsncolumns/grid";
|
|
5
|
-
import { DEFAULT_COLUMN_COUNT, DEFAULT_ROW_COUNT, findActiveTableWithinCell, loadWebFont, MAX_COLUMN_COUNT, MAX_ROW_COUNT, useFocusEmbedOrChart, useGetFinalRowHeight, useRedrawGrid, } from "@rowsncolumns/spreadsheet";
|
|
5
|
+
import { DEFAULT_COLUMN_COUNT, DEFAULT_ROW_COUNT, findActiveTableWithinCell, loadWebFont, MAX_COLUMN_COUNT, MAX_ROW_COUNT, useFocusEmbedOrChart, useGetFinalRowHeight, useGetSheetDimensions, useRedrawGrid, } from "@rowsncolumns/spreadsheet";
|
|
6
6
|
import { isSelectionACell, useGetEffectiveValuesFromRange, } from "@rowsncolumns/spreadsheet";
|
|
7
7
|
import { error, getCellFormattedValue, getCellUserEnteredFormat, getCellUserEnteredValue, getExtendedValueBool, getExtendedValueFormula, getExtendedValueNumber, getExtendedValueString, isNil, iterateCellsInRange, uuidString, } from "@rowsncolumns/utils";
|
|
8
8
|
import { produceWithPatches } from "immer";
|
|
@@ -75,9 +75,10 @@ export var useOnPaste = function (_a) {
|
|
|
75
75
|
});
|
|
76
76
|
var redrawGrid = useRedrawGrid();
|
|
77
77
|
var getFinalRowHeight = useGetFinalRowHeight();
|
|
78
|
+
var getSheetDimensions = useGetSheetDimensions();
|
|
78
79
|
var _h = useCalculationQueue({ enqueueCalculation: enqueueCalculation }), enqueue = _h.enqueue, processQueue = _h.processQueue;
|
|
79
80
|
return useCallback(function (e, sourceSheetId, destinationSheetId, copiedSelections, activeCell, selections, finalSelections, isCutOperation) { return __awaiter(void 0, void 0, void 0, function () {
|
|
80
|
-
var pasteSpecial, pasteMode, pasteOperation, pasteEvent, forcePlainText, activeSheetName, from, merges, embeds, tables, columnWidths, rowHeights, selectedRowValues, rowIndex, start, end, pasteResults, fontFamilies, fontFamiliesWithWeights, err_1;
|
|
81
|
+
var pasteSpecial, pasteMode, pasteOperation, pasteEvent, forcePlainText, activeSheetName, from, merges, embeds, tables, columnWidths, rowHeights, selectedRowValues, rowIndex, start, end, pasteResults, insertEmbeds, anchorRange, fontFamilies, fontFamiliesWithWeights, err_1;
|
|
81
82
|
var _a, _b, _c, _d, _e;
|
|
82
83
|
return __generator(this, function (_f) {
|
|
83
84
|
switch (_f.label) {
|
|
@@ -99,7 +100,7 @@ export var useOnPaste = function (_a) {
|
|
|
99
100
|
selectedRowValues.push((_d = (_c = (_b = (_a = sheetData === null || sheetData === void 0 ? void 0 : sheetData[sourceSheetId]) === null || _a === void 0 ? void 0 : _a[rowIndex]) === null || _b === void 0 ? void 0 : _b.values) === null || _c === void 0 ? void 0 : _c.slice(start, end)) !== null && _d !== void 0 ? _d : []);
|
|
100
101
|
}
|
|
101
102
|
return [3 /*break*/, 3];
|
|
102
|
-
case 1: return [4 /*yield*/, generateDataFromClipboard(e, activeCell, destinationSheetId, activeSheetName, preserveFormatting, locale, idCreationStrategy, forcePlainText, sanitizeHtml)];
|
|
103
|
+
case 1: return [4 /*yield*/, generateDataFromClipboard(e, activeCell, destinationSheetId, activeSheetName, preserveFormatting, locale, idCreationStrategy, forcePlainText, sanitizeHtml, { imageViewport: getSheetDimensions === null || getSheetDimensions === void 0 ? void 0 : getSheetDimensions() })];
|
|
103
104
|
case 2:
|
|
104
105
|
pasteResults = _f.sent();
|
|
105
106
|
selectedRowValues = (_e = pasteResults === null || pasteResults === void 0 ? void 0 : pasteResults.results) !== null && _e !== void 0 ? _e : [];
|
|
@@ -114,6 +115,32 @@ export var useOnPaste = function (_a) {
|
|
|
114
115
|
if (isNil(selectedRowValues)) {
|
|
115
116
|
return [2 /*return*/];
|
|
116
117
|
}
|
|
118
|
+
insertEmbeds = function (saveHistory, pastedEmbeds) {
|
|
119
|
+
var firstEmbedId = pastedEmbeds[0].embedId;
|
|
120
|
+
onChangeEmbeds === null || onChangeEmbeds === void 0 ? void 0 : onChangeEmbeds(function (prevEmbeds) {
|
|
121
|
+
var _a = __read(produceWithPatches(prevEmbeds, function (draft) {
|
|
122
|
+
draft.push.apply(draft, __spreadArray([], __read(pastedEmbeds), false));
|
|
123
|
+
}), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
|
|
124
|
+
saveHistory({
|
|
125
|
+
embeds: { patches: patches, inversePatches: inversePatches },
|
|
126
|
+
selectedEmbedOrChart: { redo: firstEmbedId, undo: undefined },
|
|
127
|
+
});
|
|
128
|
+
return nextState;
|
|
129
|
+
});
|
|
130
|
+
// Selected first embed
|
|
131
|
+
focusEmbedOrChart(firstEmbedId);
|
|
132
|
+
};
|
|
133
|
+
// An image paste writes NO cells: the picture floats over the grid anchored at the active
|
|
134
|
+
// cell (Excel / Google Sheets Ctrl+V of a picture), so it skips the cell-paste pipeline.
|
|
135
|
+
if (!selectedRowValues.length && (embeds === null || embeds === void 0 ? void 0 : embeds.length)) {
|
|
136
|
+
anchorRange = selectionFromActiveCell(activeCell)[0].range;
|
|
137
|
+
if (!canEditCellRange(destinationSheetId, anchorRange)) {
|
|
138
|
+
console.debug("Protected range, You cannot paste on to protected cells.");
|
|
139
|
+
return [2 /*return*/];
|
|
140
|
+
}
|
|
141
|
+
insertEmbeds(createHistory(), embeds);
|
|
142
|
+
return [2 /*return*/];
|
|
143
|
+
}
|
|
117
144
|
if (pasteSpecial.transpose && selectedRowValues.length) {
|
|
118
145
|
selectedRowValues = transpose(selectedRowValues);
|
|
119
146
|
}
|
|
@@ -694,7 +721,7 @@ export var useOnPaste = function (_a) {
|
|
|
694
721
|
onChangeSheets === null || onChangeSheets === void 0 ? void 0 : onChangeSheets(function (prevSheets) {
|
|
695
722
|
var _a = __read(produceWithPatches(prevSheets, function (draft) {
|
|
696
723
|
var e_8, _a, e_9, _b, e_10, _c;
|
|
697
|
-
var _d, _e, _f, _g, _h;
|
|
724
|
+
var _d, _e, _f, _g, _h, _j, _k, _l;
|
|
698
725
|
var sheet = draft.find(function (sheet) { return sheet.sheetId === destinationSheetId; });
|
|
699
726
|
if (sheet) {
|
|
700
727
|
sheet.rowCount = Math.min(maxRowCount, Math.max((_d = sheet.rowCount) !== null && _d !== void 0 ? _d : DEFAULT_ROW_COUNT, to.range.endRowIndex));
|
|
@@ -733,8 +760,8 @@ export var useOnPaste = function (_a) {
|
|
|
733
760
|
// Extract merged cells from source range
|
|
734
761
|
var cutMerges = [];
|
|
735
762
|
try {
|
|
736
|
-
for (var
|
|
737
|
-
var merge =
|
|
763
|
+
for (var _m = __values(sourceSheet.merges), _o = _m.next(); !_o.done; _o = _m.next()) {
|
|
764
|
+
var merge = _o.value;
|
|
738
765
|
// Check if merge intersects with the cut range
|
|
739
766
|
if (areaIntersects(merge, from.range)) {
|
|
740
767
|
// Calculate new merge coordinates relative to destination
|
|
@@ -750,7 +777,7 @@ export var useOnPaste = function (_a) {
|
|
|
750
777
|
catch (e_8_1) { e_8 = { error: e_8_1 }; }
|
|
751
778
|
finally {
|
|
752
779
|
try {
|
|
753
|
-
if (
|
|
780
|
+
if (_o && !_o.done && (_a = _m.return)) _a.call(_m);
|
|
754
781
|
}
|
|
755
782
|
finally { if (e_8) throw e_8.error; }
|
|
756
783
|
}
|
|
@@ -764,9 +791,16 @@ export var useOnPaste = function (_a) {
|
|
|
764
791
|
}
|
|
765
792
|
}
|
|
766
793
|
}
|
|
794
|
+
// The landed block replaces the merge geometry it covers (Excel: pasting a
|
|
795
|
+
// block over a merged cell unmerges it so every pasted value is visible; a
|
|
796
|
+
// cut block's merges travel with it, and a partial cover was refused above).
|
|
797
|
+
// A single copied cell pasted onto a merged cell keeps the merge and fills it.
|
|
798
|
+
if (((_f = sheet.merges) === null || _f === void 0 ? void 0 : _f.length) && rowSpan * colSpan > 1) {
|
|
799
|
+
sheet.merges = sheet.merges.filter(function (merge) { return !areaIntersects(merge, to.range); });
|
|
800
|
+
}
|
|
767
801
|
// Update merges
|
|
768
802
|
if (mergesToAdd) {
|
|
769
|
-
sheet.merges = (
|
|
803
|
+
sheet.merges = (_g = sheet.merges) !== null && _g !== void 0 ? _g : [];
|
|
770
804
|
var _loop_4 = function (merge) {
|
|
771
805
|
var exists = sheet.merges.find(function (range) {
|
|
772
806
|
return isAreasEqual(range, merge);
|
|
@@ -826,10 +860,16 @@ export var useOnPaste = function (_a) {
|
|
|
826
860
|
colSpan > 0) {
|
|
827
861
|
try {
|
|
828
862
|
for (var destinationRows_3 = __values(destinationRows), destinationRows_3_1 = destinationRows_3.next(); !destinationRows_3_1.done; destinationRows_3_1 = destinationRows_3.next()) {
|
|
829
|
-
var
|
|
863
|
+
var _p = destinationRows_3_1.value, rowIndex = _p.rowIndex, dataRowIndex = _p.dataRowIndex;
|
|
830
864
|
// Clipboard-provided row heights win.
|
|
831
865
|
if (clipboardSizedRows.has(rowIndex))
|
|
832
866
|
continue;
|
|
867
|
+
// Excel keeps a custom (user-dragged) height: only auto-height
|
|
868
|
+
// rows refit to pasted wrapped / multi-line text. The grid's
|
|
869
|
+
// measurer also skips pinned rows — the guard here keeps the
|
|
870
|
+
// rule at the write site so no measurer can clobber the pin.
|
|
871
|
+
if ((_j = (_h = sheet.rowMetadata) === null || _h === void 0 ? void 0 : _h[rowIndex]) === null || _j === void 0 ? void 0 : _j.resizedByUser)
|
|
872
|
+
continue;
|
|
833
873
|
var rowData = selectedRowValues[dataRowIndex];
|
|
834
874
|
if (!rowData)
|
|
835
875
|
continue;
|
|
@@ -868,7 +908,7 @@ export var useOnPaste = function (_a) {
|
|
|
868
908
|
continue;
|
|
869
909
|
}
|
|
870
910
|
var ue = getCellUserEnteredValue(bestCell);
|
|
871
|
-
var overrideText = (
|
|
911
|
+
var overrideText = (_k = getExtendedValueString(ue)) !== null && _k !== void 0 ? _k : "";
|
|
872
912
|
var uf = getCellUserEnteredFormat(bestCell);
|
|
873
913
|
var height = getFinalRowHeight(destinationSheetId, rowIndex, bestColumnIndex, {
|
|
874
914
|
textOverride: String(overrideText),
|
|
@@ -905,7 +945,7 @@ export var useOnPaste = function (_a) {
|
|
|
905
945
|
continue;
|
|
906
946
|
}
|
|
907
947
|
var columnIndex = to.range.startColumnIndex + index;
|
|
908
|
-
if (!((
|
|
948
|
+
if (!((_l = sheet.columnMetadata) === null || _l === void 0 ? void 0 : _l[columnIndex])) {
|
|
909
949
|
sheet.columnMetadata[columnIndex] = {};
|
|
910
950
|
}
|
|
911
951
|
sheet.columnMetadata[columnIndex].size =
|
|
@@ -1071,19 +1111,7 @@ export var useOnPaste = function (_a) {
|
|
|
1071
1111
|
}
|
|
1072
1112
|
// Embeds
|
|
1073
1113
|
if (embeds === null || embeds === void 0 ? void 0 : embeds.length) {
|
|
1074
|
-
|
|
1075
|
-
onChangeEmbeds === null || onChangeEmbeds === void 0 ? void 0 : onChangeEmbeds(function (prevEmbeds) {
|
|
1076
|
-
var _a = __read(produceWithPatches(prevEmbeds, function (draft) {
|
|
1077
|
-
draft.push.apply(draft, __spreadArray([], __read(embeds), false));
|
|
1078
|
-
}), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
|
|
1079
|
-
saveHistory({
|
|
1080
|
-
embeds: { patches: patches, inversePatches: inversePatches },
|
|
1081
|
-
selectedEmbedOrChart: { redo: firstEmbedId_1, undo: undefined },
|
|
1082
|
-
});
|
|
1083
|
-
return nextState;
|
|
1084
|
-
});
|
|
1085
|
-
// Selected first embed
|
|
1086
|
-
focusEmbedOrChart(embeds[0].embedId);
|
|
1114
|
+
insertEmbeds(saveHistory, embeds);
|
|
1087
1115
|
}
|
|
1088
1116
|
// Tables
|
|
1089
1117
|
if (tables === null || tables === void 0 ? void 0 : tables.length) {
|
|
@@ -1290,6 +1318,7 @@ export var useOnPaste = function (_a) {
|
|
|
1290
1318
|
getUserEnteredValue,
|
|
1291
1319
|
focusEmbedOrChart,
|
|
1292
1320
|
redrawGrid,
|
|
1321
|
+
getSheetDimensions,
|
|
1293
1322
|
processQueue,
|
|
1294
1323
|
enqueue,
|
|
1295
1324
|
isHiddenByFilterRow,
|
|
@@ -7,6 +7,8 @@ import type { UseSpreadsheetProps } from "./use-spreadsheet-state";
|
|
|
7
7
|
import type { SpreadsheetPatch } from "./use-undo-redo";
|
|
8
8
|
type UseOnRenameSheetProps<T extends CellData, S extends Sheet> = {
|
|
9
9
|
locale?: string;
|
|
10
|
+
/** The workbook's sheets — a rename to a title another sheet holds (case-insensitively) is refused. */
|
|
11
|
+
sheets: S[];
|
|
10
12
|
onChangeSheetData: UseSpreadsheetProps<T, S>["onChangeSheetData"];
|
|
11
13
|
onChangeSheets: UseSpreadsheetProps<T, S>["onChangeSheets"];
|
|
12
14
|
onChangeActiveCell(sheetId: number, cell: CellInterface): void;
|
|
@@ -16,6 +18,6 @@ type UseOnRenameSheetProps<T extends CellData, S extends Sheet> = {
|
|
|
16
18
|
createHistory(): (patches: SpreadsheetPatch) => void;
|
|
17
19
|
onCommand?: OnCommand;
|
|
18
20
|
};
|
|
19
|
-
export declare const useOnRenameSheet: <T extends CellData, S extends Sheet>({ locale, onChangeSheetData, onChangeSheets, onChangeActiveCell, getActiveCell, getGraphNodes, getPrecedents, createHistory, onCommand, }: UseOnRenameSheetProps<T, S>) => (sheetId: number, name: string, oldName: string) => void;
|
|
21
|
+
export declare const useOnRenameSheet: <T extends CellData, S extends Sheet>({ locale, sheets, onChangeSheetData, onChangeSheets, onChangeActiveCell, getActiveCell, getGraphNodes, getPrecedents, createHistory, onCommand, }: UseOnRenameSheetProps<T, S>) => (sheetId: number, name: string, oldName: string) => void;
|
|
20
22
|
export {};
|
|
21
23
|
//# sourceMappingURL=use-on-rename-sheet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-on-rename-sheet.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-rename-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"use-on-rename-sheet.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-rename-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAOtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,KAAK,qBAAqB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uGAAuG;IACvG,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,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,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/D,aAAa,IAAI,aAAa,CAAC;IAC/B,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAC,CAAC;IACpE,aAAa,CACX,MAAM,EAAE,cAAc,GACrB,CAAC,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAC,EAAE,CAAC;IAC7C,aAAa,IAAI,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACrD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,mJAWnE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,eAKhB,MAAM,QAAQ,MAAM,WAAW,MAAM,SAiGlD,CAAC"}
|
|
@@ -1,20 +1,28 @@
|
|
|
1
1
|
import { __assign, __read } from "tslib";
|
|
2
|
+
import { validateSheetName } from "@rowsncolumns/utils";
|
|
2
3
|
import { produceWithPatches } from "immer";
|
|
3
4
|
import { useCallback } from "react";
|
|
4
5
|
import { updateFormulaSheetReferences } from "../api/rename-sheet";
|
|
5
|
-
import {
|
|
6
|
+
import { useShowError } from "../atoms/error-state.atom";
|
|
6
7
|
import { useCanEditSheet, useCanEditWorkbook } from "./use-can-edit-cellrange";
|
|
7
8
|
export var useOnRenameSheet = function (_a) {
|
|
8
|
-
var locale = _a.locale, onChangeSheetData = _a.onChangeSheetData, onChangeSheets = _a.onChangeSheets, onChangeActiveCell = _a.onChangeActiveCell, getActiveCell = _a.getActiveCell, getGraphNodes = _a.getGraphNodes, getPrecedents = _a.getPrecedents, createHistory = _a.createHistory, onCommand = _a.onCommand;
|
|
9
|
+
var locale = _a.locale, sheets = _a.sheets, onChangeSheetData = _a.onChangeSheetData, onChangeSheets = _a.onChangeSheets, onChangeActiveCell = _a.onChangeActiveCell, getActiveCell = _a.getActiveCell, getGraphNodes = _a.getGraphNodes, getPrecedents = _a.getPrecedents, createHistory = _a.createHistory, onCommand = _a.onCommand;
|
|
9
10
|
var canEditSheet = useCanEditSheet();
|
|
10
11
|
var canEditWorkbook = useCanEditWorkbook();
|
|
12
|
+
var showError = useShowError();
|
|
11
13
|
return useCallback(function (sheetId, name, oldName) {
|
|
12
|
-
//
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
// Excel's worksheet-name rules (rowsncolumns/spreadsheet#939 U-01): at most 31 characters,
|
|
15
|
+
// none of `\ / ? * [ ] :`, no leading / trailing apostrophe, not `History`, and unique
|
|
16
|
+
// case-insensitively (the calc engine's sheet registry folds case too: `SHEET1` beside
|
|
17
|
+
// `Sheet1` would alias one engine sheet). Every refusal shows Excel's dialog text; a blank
|
|
18
|
+
// name is a silent no-op (the tab editor's "nothing typed").
|
|
19
|
+
var validation = validateSheetName(name, sheets, sheetId);
|
|
20
|
+
if (!validation.ok) {
|
|
21
|
+
if (validation.reason !== "blank") {
|
|
22
|
+
showError({ title: "Error", message: validation.message });
|
|
23
|
+
}
|
|
15
24
|
return;
|
|
16
25
|
}
|
|
17
|
-
var truncatedName = truncateSheetTitle(name);
|
|
18
26
|
if (!canEditWorkbook()) {
|
|
19
27
|
console.debug("Workbook is structurally protected, cannot rename a sheet.");
|
|
20
28
|
return;
|
|
@@ -29,7 +37,7 @@ export var useOnRenameSheet = function (_a) {
|
|
|
29
37
|
var _a = __read(produceWithPatches(prevSheets, function (draft) {
|
|
30
38
|
var sheet = draft.find(function (sheet) { return sheet.sheetId === sheetId; });
|
|
31
39
|
if (sheet) {
|
|
32
|
-
sheet.title =
|
|
40
|
+
sheet.title = name;
|
|
33
41
|
}
|
|
34
42
|
}), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
|
|
35
43
|
// Save sheets history
|
|
@@ -44,7 +52,7 @@ export var useOnRenameSheet = function (_a) {
|
|
|
44
52
|
updateFormulaSheetReferences(draft, {
|
|
45
53
|
sheetId: sheetId,
|
|
46
54
|
oldName: oldName,
|
|
47
|
-
newName:
|
|
55
|
+
newName: name,
|
|
48
56
|
locale: locale,
|
|
49
57
|
getGraphNodes: getGraphNodes,
|
|
50
58
|
getPrecedents: getPrecedents,
|
|
@@ -61,11 +69,12 @@ export var useOnRenameSheet = function (_a) {
|
|
|
61
69
|
onCommand === null || onCommand === void 0 ? void 0 : onCommand({
|
|
62
70
|
command: "rename-sheet",
|
|
63
71
|
sheetId: sheetId,
|
|
64
|
-
name:
|
|
72
|
+
name: name,
|
|
65
73
|
oldName: oldName,
|
|
66
74
|
});
|
|
67
75
|
}, [
|
|
68
76
|
locale,
|
|
77
|
+
sheets,
|
|
69
78
|
onChangeActiveCell,
|
|
70
79
|
onChangeSheetData,
|
|
71
80
|
onChangeSheets,
|
|
@@ -75,6 +84,7 @@ export var useOnRenameSheet = function (_a) {
|
|
|
75
84
|
createHistory,
|
|
76
85
|
canEditSheet,
|
|
77
86
|
canEditWorkbook,
|
|
87
|
+
showError,
|
|
78
88
|
onCommand,
|
|
79
89
|
]);
|
|
80
90
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { GridRange } from "@rowsncolumns/common-types";
|
|
1
2
|
import { type CellData, type Sheet, type SortOrder, type SpreadsheetTheme } from "@rowsncolumns/spreadsheet";
|
|
2
3
|
import type { OnCommand } from "../commands";
|
|
3
4
|
import type { useCalculation } from "./use-calculation";
|
|
@@ -41,6 +42,11 @@ export type UseOnSortColumnProps<T extends CellData, S extends Sheet = Sheet> =
|
|
|
41
42
|
getCellData(sheetId: number, rowIndex: number, columnIndex: number): T | null | undefined;
|
|
42
43
|
/** Length of the sheet's committed data array — the last row a sort touches. */
|
|
43
44
|
getDataRowCount(sheetId: number): number | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* The sheet's merged regions. Excel refuses a sort over merged cells that
|
|
47
|
+
* are not laid out identically on every row of the sorted block.
|
|
48
|
+
*/
|
|
49
|
+
getMerges?(sheetId: number): GridRange[] | null | undefined;
|
|
44
50
|
/**
|
|
45
51
|
* Any hidden row (by the user, a filter, or a collapsed group). Used as
|
|
46
52
|
* the pin predicate only when `isManuallyHiddenRow` is not supplied.
|
|
@@ -74,5 +80,5 @@ export type UseOnSortColumnProps<T extends CellData, S extends Sheet = Sheet> =
|
|
|
74
80
|
* @param param0
|
|
75
81
|
* @returns
|
|
76
82
|
*/
|
|
77
|
-
export declare const useOnSortColumn: <T extends CellData, S extends Sheet = Sheet>({ rowCount, columnCount, locale, sharedStringRegistry, createHistory, enqueueCalculation, enqueueStructureChange, enqueueGraphOperation, onChangeSheetData, onChangeSheets, getCellData, getDataRowCount, isHiddenRow, isManuallyHiddenRow, getDependents, getFrozenRowCount, getSheetName, getEffectiveFormat, theme, enableSortTimingLogs, onCommand, }: UseOnSortColumnProps<T, S>) => (sheetId: number, sortedColumnIndex: number, sortOrder: SortOrder, options?: SortColumnOptions, additionalLevels?: SortColumnLevel[]) => void;
|
|
83
|
+
export declare const useOnSortColumn: <T extends CellData, S extends Sheet = Sheet>({ rowCount, columnCount, locale, sharedStringRegistry, createHistory, enqueueCalculation, enqueueStructureChange, enqueueGraphOperation, onChangeSheetData, onChangeSheets, getCellData, getDataRowCount, getMerges, isHiddenRow, isManuallyHiddenRow, getDependents, getFrozenRowCount, getSheetName, getEffectiveFormat, theme, enableSortTimingLogs, onCommand, }: UseOnSortColumnProps<T, S>) => (sheetId: number, sortedColumnIndex: number, sortOrder: SortOrder, options?: SortColumnOptions, additionalLevels?: SortColumnLevel[]) => void;
|
|
78
84
|
//# sourceMappingURL=use-on-sort-column.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-on-sort-column.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-sort-column.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-on-sort-column.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-sort-column.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { produceWithPatches } from "immer";
|
|
|
5
5
|
import { useCallback } from "react";
|
|
6
6
|
import { createSheetCellIdentifier } from "../api/formula";
|
|
7
7
|
import { getCellSortValue } from "../api/sort";
|
|
8
|
+
import { getSortMergeRefusal } from "../api/structural-guards";
|
|
8
9
|
import { createSheetDraft } from "../api/immer-utils";
|
|
9
10
|
import { SheetCell } from "../sheet-cell";
|
|
10
11
|
import { useShowError } from "../atoms/error-state.atom";
|
|
@@ -36,7 +37,7 @@ var buildSortValue = function (options, fallbackValue, getEffectiveFormat, theme
|
|
|
36
37
|
* @returns
|
|
37
38
|
*/
|
|
38
39
|
export var useOnSortColumn = function (_a) {
|
|
39
|
-
var rowCount = _a.rowCount, columnCount = _a.columnCount, locale = _a.locale, sharedStringRegistry = _a.sharedStringRegistry, createHistory = _a.createHistory, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, enqueueGraphOperation = _a.enqueueGraphOperation, onChangeSheetData = _a.onChangeSheetData, onChangeSheets = _a.onChangeSheets, getCellData = _a.getCellData, getDataRowCount = _a.getDataRowCount, isHiddenRow = _a.isHiddenRow, isManuallyHiddenRow = _a.isManuallyHiddenRow, getDependents = _a.getDependents, getFrozenRowCount = _a.getFrozenRowCount, getSheetName = _a.getSheetName, getEffectiveFormat = _a.getEffectiveFormat, theme = _a.theme, enableSortTimingLogs = _a.enableSortTimingLogs, onCommand = _a.onCommand;
|
|
40
|
+
var rowCount = _a.rowCount, columnCount = _a.columnCount, locale = _a.locale, sharedStringRegistry = _a.sharedStringRegistry, createHistory = _a.createHistory, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, enqueueGraphOperation = _a.enqueueGraphOperation, onChangeSheetData = _a.onChangeSheetData, onChangeSheets = _a.onChangeSheets, getCellData = _a.getCellData, getDataRowCount = _a.getDataRowCount, getMerges = _a.getMerges, isHiddenRow = _a.isHiddenRow, isManuallyHiddenRow = _a.isManuallyHiddenRow, getDependents = _a.getDependents, getFrozenRowCount = _a.getFrozenRowCount, getSheetName = _a.getSheetName, getEffectiveFormat = _a.getEffectiveFormat, theme = _a.theme, enableSortTimingLogs = _a.enableSortTimingLogs, onCommand = _a.onCommand;
|
|
40
41
|
var canEditSheet = useCanEditSheet();
|
|
41
42
|
var canPerformSheetAction = useCanPerformSheetAction();
|
|
42
43
|
var showError = useShowError();
|
|
@@ -47,7 +48,7 @@ export var useOnSortColumn = function (_a) {
|
|
|
47
48
|
* column. Omitting this keeps the single-column behavior identical.
|
|
48
49
|
*/
|
|
49
50
|
additionalLevels) {
|
|
50
|
-
var _a, _b;
|
|
51
|
+
var _a, _b, _c;
|
|
51
52
|
if (!canEditSheet(sheetId)) {
|
|
52
53
|
console.debug("This range is protected, users cannot edit this cell range.");
|
|
53
54
|
return;
|
|
@@ -64,6 +65,21 @@ export var useOnSortColumn = function (_a) {
|
|
|
64
65
|
? performance.now.bind(performance)
|
|
65
66
|
: Date.now;
|
|
66
67
|
var activeSheetName = getSheetName(sheetId);
|
|
68
|
+
// Excel refuses to sort a block whose merged cells differ in layout between rows — the
|
|
69
|
+
// anchor values would move while the merge outlines stayed behind.
|
|
70
|
+
var mergeRefusal = getSortMergeRefusal({
|
|
71
|
+
range: {
|
|
72
|
+
startRowIndex: 1,
|
|
73
|
+
endRowIndex: (_a = getDataRowCount(sheetId)) !== null && _a !== void 0 ? _a : 0,
|
|
74
|
+
startColumnIndex: 1,
|
|
75
|
+
endColumnIndex: columnCount,
|
|
76
|
+
},
|
|
77
|
+
merges: getMerges === null || getMerges === void 0 ? void 0 : getMerges(sheetId),
|
|
78
|
+
});
|
|
79
|
+
if (mergeRefusal) {
|
|
80
|
+
showError(mergeRefusal);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
67
83
|
// We need to track this for history. Precedent cells
|
|
68
84
|
var recalcCells = new Map();
|
|
69
85
|
// History
|
|
@@ -88,10 +104,10 @@ export var useOnSortColumn = function (_a) {
|
|
|
88
104
|
// Gather the sort keys from the committed cell data. Pinned rows
|
|
89
105
|
// contribute no entry and are never rewritten.
|
|
90
106
|
var buildStart = now();
|
|
91
|
-
var dataRowCount = (
|
|
107
|
+
var dataRowCount = (_b = getDataRowCount(sheetId)) !== null && _b !== void 0 ? _b : 0;
|
|
92
108
|
var rowEntries = [];
|
|
93
109
|
var _loop_1 = function (rowIndex) {
|
|
94
|
-
var e_1,
|
|
110
|
+
var e_1, _d;
|
|
95
111
|
if (isPinnedRow(rowIndex)) {
|
|
96
112
|
return "continue";
|
|
97
113
|
}
|
|
@@ -106,15 +122,15 @@ export var useOnSortColumn = function (_a) {
|
|
|
106
122
|
buildLevelValue(sortedColumnIndex, options),
|
|
107
123
|
];
|
|
108
124
|
try {
|
|
109
|
-
for (var
|
|
110
|
-
var level =
|
|
125
|
+
for (var _e = (e_1 = void 0, __values(additionalLevels !== null && additionalLevels !== void 0 ? additionalLevels : [])), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
126
|
+
var level = _f.value;
|
|
111
127
|
sortValues.push(buildLevelValue(level.columnIndex, level));
|
|
112
128
|
}
|
|
113
129
|
}
|
|
114
130
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
115
131
|
finally {
|
|
116
132
|
try {
|
|
117
|
-
if (
|
|
133
|
+
if (_f && !_f.done && (_d = _e.return)) _d.call(_e);
|
|
118
134
|
}
|
|
119
135
|
finally { if (e_1) throw e_1.error; }
|
|
120
136
|
}
|
|
@@ -136,7 +152,7 @@ export var useOnSortColumn = function (_a) {
|
|
|
136
152
|
var specs = __spreadArray([
|
|
137
153
|
{
|
|
138
154
|
sortOrder: sortOrder,
|
|
139
|
-
sortBy: (
|
|
155
|
+
sortBy: (_c = options === null || options === void 0 ? void 0 : options.sortBy) !== null && _c !== void 0 ? _c : "value",
|
|
140
156
|
// Pre-resolve the target color the same way the cell sort
|
|
141
157
|
// values are resolved, so sort-rows.ts can compare strings.
|
|
142
158
|
sortColor: getStringifiedColor(options === null || options === void 0 ? void 0 : options.sortColor, theme),
|
|
@@ -331,6 +347,7 @@ export var useOnSortColumn = function (_a) {
|
|
|
331
347
|
onChangeSheets,
|
|
332
348
|
getCellData,
|
|
333
349
|
getDataRowCount,
|
|
350
|
+
getMerges,
|
|
334
351
|
isHiddenRow,
|
|
335
352
|
isManuallyHiddenRow,
|
|
336
353
|
getDependents,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { SelectionArea } from "@rowsncolumns/common-types";
|
|
1
|
+
import type { GridRange, SelectionArea } from "@rowsncolumns/common-types";
|
|
2
|
+
import { type CellInterface } from "@rowsncolumns/grid";
|
|
2
3
|
import { type CellData, type Sheet, type SelectionAttributes, type SortOrder, type SpreadsheetTheme } from "@rowsncolumns/spreadsheet";
|
|
3
4
|
import type { OnCommand } from "../commands";
|
|
4
5
|
import type { useCalculation } from "./use-calculation";
|
|
@@ -42,6 +43,12 @@ export type UseOnSortRangeProps<T extends CellData, S extends Sheet = Sheet> = {
|
|
|
42
43
|
getDependents: ReturnType<typeof useCalculation>["getDependents"];
|
|
43
44
|
getFrozenRowCount(sheetId: number): number;
|
|
44
45
|
getSheetName(sheetId: number): string;
|
|
46
|
+
/**
|
|
47
|
+
* The sheet's merged regions. A range whose merges are not laid out
|
|
48
|
+
* identically on every row is refused (Excel), because the sort would move
|
|
49
|
+
* the anchor values without their merge outlines.
|
|
50
|
+
*/
|
|
51
|
+
getMerges?(sheetId: number): GridRange[] | null | undefined;
|
|
45
52
|
/**
|
|
46
53
|
* Optional — needed when callers pass per-column specs using
|
|
47
54
|
* `sortBy: "cellColor" | "fontColor" | "icon"`. Without it those sort
|
|
@@ -54,6 +61,13 @@ export type UseOnSortRangeProps<T extends CellData, S extends Sheet = Sheet> = {
|
|
|
54
61
|
*/
|
|
55
62
|
theme: SpreadsheetTheme;
|
|
56
63
|
onCommand?: OnCommand;
|
|
64
|
+
/**
|
|
65
|
+
* The cursor at sort time. When it stands inside the sorted range (and no
|
|
66
|
+
* per-column `specs` are given) its column is the sort key — Excel / Sheets
|
|
67
|
+
* "Sort A to Z" sorts the range by the column the user is in, not by its
|
|
68
|
+
* leftmost column. Without it the legacy leftmost-column-first order applies.
|
|
69
|
+
*/
|
|
70
|
+
getActiveCell?: () => CellInterface | null | undefined;
|
|
57
71
|
};
|
|
58
72
|
/**
|
|
59
73
|
* Sorts a column range.
|
|
@@ -61,5 +75,5 @@ export type UseOnSortRangeProps<T extends CellData, S extends Sheet = Sheet> = {
|
|
|
61
75
|
* @param param0
|
|
62
76
|
* @returns
|
|
63
77
|
*/
|
|
64
|
-
export declare const useOnSortRange: <T extends CellData, S extends Sheet = Sheet>({ locale, sharedStringRegistry, createHistory, enqueueStructureChange, enqueueGraphOperation, enqueueCalculation, onChangeSheetData, onChangeSheets, getCellData, getDependents, isHiddenRow, isManuallyHiddenRow, getFrozenRowCount, getSheetName, getEffectiveFormat, theme, onCommand, }: UseOnSortRangeProps<T, S>) => (sheetId: number, selections: SelectionArea<SelectionAttributes>[], sortOrder: SortOrder, specs?: DimensionSortSpec[]) => void;
|
|
78
|
+
export declare const useOnSortRange: <T extends CellData, S extends Sheet = Sheet>({ locale, sharedStringRegistry, createHistory, enqueueStructureChange, enqueueGraphOperation, enqueueCalculation, onChangeSheetData, onChangeSheets, getCellData, getDependents, isHiddenRow, isManuallyHiddenRow, getFrozenRowCount, getSheetName, getMerges, getEffectiveFormat, theme, onCommand, getActiveCell, }: UseOnSortRangeProps<T, S>) => (sheetId: number, selections: SelectionArea<SelectionAttributes>[], sortOrder: SortOrder, specs?: DimensionSortSpec[]) => void;
|
|
65
79
|
//# sourceMappingURL=use-on-sort-range.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-on-sort-range.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-sort-range.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"use-on-sort-range.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-sort-range.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,EAAE,KAAK,aAAa,EAAsB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,KAAK,EAIV,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AASnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,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;AACxD,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,KAAK,GAAG,KAAK,IACrB;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,aAAa,IAAI,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACrD,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,kBAAkB,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5E,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAC/D;;;;OAIG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D;;;;OAIG;IACH,WAAW,CACT,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IACxB;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD;;;;;OAKG;IACH,mBAAmB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACjE,aAAa,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC;IAClE,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC;;;;OAIG;IACH,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5D;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,UAAU,CAC7B,OAAO,kBAAkB,CAC1B,CAAC,oBAAoB,CAAC,CAAC;IACxB;;;OAGG;IACH,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC;CACxD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,uTAoBzE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,eAMb,MAAM,cACH,aAAa,CAAC,mBAAmB,CAAC,EAAE,aACrC,SAAS,UAQZ,iBAAiB,EAAE,SAgWhC,CAAC"}
|