@rowsncolumns/spreadsheet-state 28.0.67 → 28.0.69

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.
Files changed (41) hide show
  1. package/dist/cjs/helpers/sheet-title.d.ts +3 -0
  2. package/dist/cjs/helpers/sheet-title.d.ts.map +1 -1
  3. package/dist/cjs/helpers/sheet-title.js +10 -1
  4. package/dist/cjs/hooks/use-on-copy.d.ts +8 -1
  5. package/dist/cjs/hooks/use-on-copy.d.ts.map +1 -1
  6. package/dist/cjs/hooks/use-on-copy.js +248 -153
  7. package/dist/cjs/hooks/use-on-rename-sheet.js +2 -2
  8. package/dist/cjs/hooks/use-spreadsheet-state.d.ts +1 -1
  9. package/dist/cjs/interface/delete-column.d.ts.map +1 -1
  10. package/dist/cjs/interface/delete-column.js +62 -60
  11. package/dist/cjs/interface/delete-table-column.d.ts.map +1 -1
  12. package/dist/cjs/interface/delete-table-column.js +4 -3
  13. package/dist/cjs/interface/delete-table-row.d.ts.map +1 -1
  14. package/dist/cjs/interface/delete-table-row.js +19 -8
  15. package/dist/cjs/interface/insert-column.d.ts.map +1 -1
  16. package/dist/cjs/interface/insert-column.js +5 -4
  17. package/dist/cjs/interface/insert-table-row.d.ts.map +1 -1
  18. package/dist/cjs/interface/insert-table-row.js +19 -9
  19. package/dist/cjs/interface/update-sheet.d.ts.map +1 -1
  20. package/dist/cjs/interface/update-sheet.js +4 -1
  21. package/dist/esm/helpers/sheet-title.d.ts +3 -0
  22. package/dist/esm/helpers/sheet-title.d.ts.map +1 -1
  23. package/dist/esm/helpers/sheet-title.js +9 -0
  24. package/dist/esm/hooks/use-on-copy.d.ts +8 -1
  25. package/dist/esm/hooks/use-on-copy.d.ts.map +1 -1
  26. package/dist/esm/hooks/use-on-copy.js +196 -145
  27. package/dist/esm/hooks/use-on-rename-sheet.js +2 -2
  28. package/dist/esm/hooks/use-spreadsheet-state.d.ts +1 -1
  29. package/dist/esm/interface/delete-column.d.ts.map +1 -1
  30. package/dist/esm/interface/delete-column.js +30 -18
  31. package/dist/esm/interface/delete-table-column.d.ts.map +1 -1
  32. package/dist/esm/interface/delete-table-column.js +4 -2
  33. package/dist/esm/interface/delete-table-row.d.ts.map +1 -1
  34. package/dist/esm/interface/delete-table-row.js +17 -8
  35. package/dist/esm/interface/insert-column.d.ts.map +1 -1
  36. package/dist/esm/interface/insert-column.js +5 -3
  37. package/dist/esm/interface/insert-table-row.d.ts.map +1 -1
  38. package/dist/esm/interface/insert-table-row.js +17 -9
  39. package/dist/esm/interface/update-sheet.d.ts.map +1 -1
  40. package/dist/esm/interface/update-sheet.js +4 -1
  41. package/package.json +24 -24
@@ -1 +1 @@
1
- {"version":3,"file":"insert-table-row.d.ts","sourceRoot":"","sources":["../../../interface/insert-table-row.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAa5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAIjF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,iTAkBjE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,MAE7B,WAAW,SAAS,EACpB,mBAAmB,MAAM,EACzB,UAAU,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,SA+axD,CAAC"}
1
+ {"version":3,"file":"insert-table-row.d.ts","sourceRoot":"","sources":["../../../interface/insert-table-row.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAa5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAIjF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,iTAkBjE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,MAE7B,WAAW,SAAS,EACpB,mBAAmB,MAAM,EACzB,UAAU,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,SAubxD,CAAC"}
@@ -15,6 +15,9 @@ export const insertTableRow = ({ rowCount, columnCount, locale, cellXfsRegistry,
15
15
  tableView.range.endRowIndex - tableView.range.startRowIndex + 1);
16
16
  const numRows = rowData?.length ?? 1;
17
17
  const { sheetId } = tableView;
18
+ const { startColumnIndex, endColumnIndex } = tableView.range;
19
+ const isInsideColumnBand = (range) => range.startColumnIndex >= startColumnIndex &&
20
+ range.endColumnIndex <= endColumnIndex;
18
21
  enqueueStructureChange?.({
19
22
  kind: "insert-table-row",
20
23
  sheetId,
@@ -31,15 +34,15 @@ export const insertTableRow = ({ rowCount, columnCount, locale, cellXfsRegistry,
31
34
  onChangeTables?.((prevTables) => {
32
35
  const [nextState, patches, inversePatches] = produceWithPatches(prevTables, (draft) => {
33
36
  for (const table of draft) {
34
- const startRowIndex = table.range.startRowIndex;
35
- const endRowIndex = table.range.endRowIndex;
36
- if (referenceRowIndex < startRowIndex) {
37
- moveFilterView(table, numRows, Direction.Down);
37
+ if (table.sheetId !== sheetId || !isInsideColumnBand(table.range)) {
38
+ continue;
38
39
  }
39
- if (referenceRowIndex >= startRowIndex &&
40
- referenceRowIndex <= endRowIndex + 1) {
40
+ if (table.id === tableView.id) {
41
41
  table.range.endRowIndex += numRows;
42
42
  }
43
+ else if (referenceRowIndex <= table.range.startRowIndex) {
44
+ moveFilterView(table, numRows, Direction.Down);
45
+ }
43
46
  }
44
47
  });
45
48
  // Save history
@@ -54,7 +57,9 @@ export const insertTableRow = ({ rowCount, columnCount, locale, cellXfsRegistry,
54
57
  for (let idx = draft.length - 1; idx >= 0; idx--) {
55
58
  const rule = draft[idx];
56
59
  const ranges = rule.ranges
57
- ?.map((range) => updateSheetRangeOnInsert(range, "row", referenceRowIndex, numRows, sheetId))
60
+ ?.map((range) => isInsideColumnBand(range)
61
+ ? updateSheetRangeOnInsert(range, "row", referenceRowIndex, numRows, sheetId)
62
+ : range)
58
63
  .filter((range) => !!range) ??
59
64
  [];
60
65
  if (ranges.length) {
@@ -76,7 +81,9 @@ export const insertTableRow = ({ rowCount, columnCount, locale, cellXfsRegistry,
76
81
  for (let idx = draft.length - 1; idx >= 0; idx--) {
77
82
  const rule = draft[idx];
78
83
  const ranges = rule.ranges
79
- ?.map((range) => updateSheetRangeOnInsert(range, "row", referenceRowIndex, numRows, sheetId))
84
+ ?.map((range) => isInsideColumnBand(range)
85
+ ? updateSheetRangeOnInsert(range, "row", referenceRowIndex, numRows, sheetId)
86
+ : range)
80
87
  .filter((range) => !!range) ??
81
88
  [];
82
89
  if (ranges.length) {
@@ -101,7 +108,8 @@ export const insertTableRow = ({ rowCount, columnCount, locale, cellXfsRegistry,
101
108
  const newRowMetaData = [...Array(numRows)].map((_, index) => sheet.rowMetadata?.[referenceRowIndex + index]);
102
109
  sheet.rowMetadata.splice(referenceRowIndex, 0, ...newRowMetaData);
103
110
  }
104
- if (sheet.basicFilter) {
111
+ if (sheet.basicFilter &&
112
+ isInsideColumnBand(sheet.basicFilter.range)) {
105
113
  // Check if basicFilter needs to be moved
106
114
  if (sheet.basicFilter.range.startRowIndex >= referenceRowIndex) {
107
115
  moveFilterView(sheet.basicFilter, numRows, Direction.Down);
@@ -1 +1 @@
1
- {"version":3,"file":"update-sheet.d.ts","sourceRoot":"","sources":["../../../interface/update-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAMjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IAClE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnE,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAC,CAAC;IACzE,aAAa,CAAC,EAAE,CACd,MAAM,EAAE,cAAc,KACnB,CAAC,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAC,EAAE,CAAC;IAC/C,aAAa,IAAI,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,qGAQ9D,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,MACf,SAAS,MAAM,EAAE,WAAW,OAAO,CAAC,CAAC,CAAC,kBAkF/C,CAAC"}
1
+ {"version":3,"file":"update-sheet.d.ts","sourceRoot":"","sources":["../../../interface/update-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAMjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IAClE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnE,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAC,CAAC;IACzE,aAAa,CAAC,EAAE,CACd,MAAM,EAAE,cAAc,KACnB,CAAC,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAC,EAAE,CAAC;IAC/C,aAAa,IAAI,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,qGAQ9D,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,MACf,SAAS,MAAM,EAAE,WAAW,OAAO,CAAC,CAAC,CAAC,kBAsF/C,CAAC"}
@@ -3,12 +3,15 @@ import { updateFormulaSheetReferences } from "../api/rename-sheet";
3
3
  import { sanitizeSheetSpecTitle } from "../helpers/sheet-title";
4
4
  export const updateSheet = ({ sheets, locale, onChangeSheets, onChangeSheetData, getGraphNodes, getPrecedents, createHistory, }) => {
5
5
  return (sheetId, sheetSpec) => {
6
- const saveHistory = createHistory();
7
6
  const sanitizedSheetSpec = sanitizeSheetSpecTitle(sheetSpec);
8
7
  const curSheet = sheets?.find((sheet) => sheet.sheetId === sheetId);
9
8
  if (!curSheet) {
10
9
  return undefined;
11
10
  }
11
+ if (Object.keys(sanitizedSheetSpec).length === 0) {
12
+ return curSheet;
13
+ }
14
+ const saveHistory = createHistory();
12
15
  const oldTitle = curSheet.title;
13
16
  const newTitle = sanitizedSheetSpec.title;
14
17
  const isTitleChanging = newTitle !== undefined && newTitle !== oldTitle && oldTitle !== undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rowsncolumns/spreadsheet-state",
3
- "version": "28.0.67",
3
+ "version": "28.0.69",
4
4
  "main": "./dist/cjs/index.js",
5
5
  "module": "./dist/esm/index.js",
6
6
  "types": "./dist/esm/index.d.ts",
@@ -52,33 +52,33 @@
52
52
  "dist"
53
53
  ],
54
54
  "peerDependencies": {
55
- "@rowsncolumns/calculator": ">=7.2.29",
56
- "@rowsncolumns/common-types": ">=5.2.29",
57
- "@rowsncolumns/dag": ">=7.2.29",
58
- "@rowsncolumns/fast-formula-parser": "6.2.32",
59
- "@rowsncolumns/grid": ">=13.2.32",
60
- "@rowsncolumns/icons": ">=7.2.30",
61
- "@rowsncolumns/spreadsheet": ">=10.2.68",
62
- "@rowsncolumns/toolkit": ">=24.4.1",
63
- "@rowsncolumns/ui": ">=15.0.38",
64
- "@rowsncolumns/utils": ">=9.2.36"
55
+ "@rowsncolumns/calculator": ">=7.2.30",
56
+ "@rowsncolumns/common-types": ">=5.2.30",
57
+ "@rowsncolumns/dag": ">=7.2.30",
58
+ "@rowsncolumns/fast-formula-parser": "6.2.33",
59
+ "@rowsncolumns/grid": ">=13.2.33",
60
+ "@rowsncolumns/icons": ">=7.2.31",
61
+ "@rowsncolumns/spreadsheet": ">=10.2.70",
62
+ "@rowsncolumns/toolkit": ">=24.4.2",
63
+ "@rowsncolumns/ui": ">=15.0.39",
64
+ "@rowsncolumns/utils": ">=9.2.37"
65
65
  },
66
66
  "devDependencies": {
67
- "@rowsncolumns/calculator": ">=7.2.29",
68
- "@rowsncolumns/common-types": ">=5.2.29",
69
- "@rowsncolumns/dag": ">=7.2.29",
70
- "@rowsncolumns/fast-formula-parser": ">=6.2.32",
71
- "@rowsncolumns/grid": ">=13.2.32",
72
- "@rowsncolumns/icons": ">=7.2.30",
73
- "@rowsncolumns/spreadsheet": ">=10.2.68",
74
- "@rowsncolumns/ui": ">=15.0.38",
75
- "@rowsncolumns/utils": ">=9.2.36"
67
+ "@rowsncolumns/calculator": ">=7.2.30",
68
+ "@rowsncolumns/common-types": ">=5.2.30",
69
+ "@rowsncolumns/dag": ">=7.2.30",
70
+ "@rowsncolumns/fast-formula-parser": ">=6.2.33",
71
+ "@rowsncolumns/grid": ">=13.2.33",
72
+ "@rowsncolumns/icons": ">=7.2.31",
73
+ "@rowsncolumns/spreadsheet": ">=10.2.70",
74
+ "@rowsncolumns/ui": ">=15.0.39",
75
+ "@rowsncolumns/utils": ">=9.2.37"
76
76
  },
77
77
  "dependencies": {
78
- "@rowsncolumns/calculation-worker": ">=9.0.29",
79
- "@rowsncolumns/date-parser": ">=12.0.30",
80
- "@rowsncolumns/functions": ">=14.0.29",
81
- "@rowsncolumns/toolkit": ">=24.4.1",
78
+ "@rowsncolumns/calculation-worker": ">=9.0.30",
79
+ "@rowsncolumns/date-parser": ">=12.0.31",
80
+ "@rowsncolumns/functions": ">=14.0.30",
81
+ "@rowsncolumns/toolkit": ">=24.4.2",
82
82
  "formik": "^2.4.6",
83
83
  "immer": "^10.1.1",
84
84
  "jotai": "^2.12.4",