@odoo/o-spreadsheet 17.1.27 → 17.1.29

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.
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * This file is generated by o-spreadsheet build tools. Do not edit it.
4
4
  * @see https://github.com/odoo/o-spreadsheet
5
- * @version 17.1.27
6
- * @date 2024-08-09T12:20:52.051Z
7
- * @hash c626332
5
+ * @version 17.1.29
6
+ * @date 2024-08-26T13:49:00.557Z
7
+ * @hash 52753da
8
8
  */
9
9
 
10
10
  'use strict';
@@ -1895,6 +1895,7 @@ const coreTypes = new Set([
1895
1895
  "UPDATE_CELL",
1896
1896
  "UPDATE_CELL_POSITION",
1897
1897
  "CLEAR_CELL",
1898
+ "CLEAR_CELLS",
1898
1899
  "DELETE_CONTENT",
1899
1900
  /** GRID SHAPE */
1900
1901
  "ADD_COLUMNS_ROWS",
@@ -35672,7 +35673,7 @@ function parse(str) {
35672
35673
  }
35673
35674
  function parseTokens(tokens) {
35674
35675
  tokens = tokens.filter((x) => x.type !== "SPACE");
35675
- if (tokens[0].value === "=") {
35676
+ if (tokens[0]?.value === "=") {
35676
35677
  tokens.splice(0, 1);
35677
35678
  }
35678
35679
  const result = parseExpression(tokens);
@@ -36239,6 +36240,9 @@ class CellPlugin extends CorePlugin {
36239
36240
  format: "",
36240
36241
  });
36241
36242
  break;
36243
+ case "CLEAR_CELLS":
36244
+ this.clearCells(cmd.sheetId, cmd.target);
36245
+ break;
36242
36246
  }
36243
36247
  }
36244
36248
  /**
@@ -36277,6 +36281,25 @@ class CellPlugin extends CorePlugin {
36277
36281
  }
36278
36282
  }
36279
36283
  }
36284
+ /**
36285
+ * Clear the styles, the format and the content of zones
36286
+ */
36287
+ clearCells(sheetId, zones) {
36288
+ for (const zone of zones) {
36289
+ for (let col = zone.left; col <= zone.right; col++) {
36290
+ for (let row = zone.top; row <= zone.bottom; row++) {
36291
+ this.dispatch("UPDATE_CELL", {
36292
+ sheetId: sheetId,
36293
+ col,
36294
+ row,
36295
+ content: "",
36296
+ style: null,
36297
+ format: "",
36298
+ });
36299
+ }
36300
+ }
36301
+ }
36302
+ }
36280
36303
  /**
36281
36304
  * Copy the style of the reference column/row to the new columns/rows.
36282
36305
  */
@@ -37979,7 +38002,10 @@ class HeaderSizePlugin extends CorePlugin {
37979
38002
  handle(cmd) {
37980
38003
  switch (cmd.type) {
37981
38004
  case "CREATE_SHEET": {
37982
- this.history.update("sizes", cmd.sheetId, { COL: [], ROW: [] });
38005
+ this.history.update("sizes", cmd.sheetId, {
38006
+ COL: Array(this.getters.getNumberCols(cmd.sheetId)).fill(undefined),
38007
+ ROW: Array(this.getters.getNumberRows(cmd.sheetId)).fill(undefined),
38008
+ });
37983
38009
  break;
37984
38010
  }
37985
38011
  case "DUPLICATE_SHEET":
@@ -40012,19 +40038,23 @@ class SheetPlugin extends CorePlugin {
40012
40038
  }
40013
40039
  }
40014
40040
  moveCellOnColumnsDeletion(sheet, deletedColumn) {
40041
+ this.dispatch("CLEAR_CELLS", {
40042
+ sheetId: sheet.id,
40043
+ target: [
40044
+ {
40045
+ left: deletedColumn,
40046
+ top: 0,
40047
+ right: deletedColumn,
40048
+ bottom: sheet.rows.length - 1,
40049
+ },
40050
+ ],
40051
+ });
40015
40052
  for (let rowIndex = 0; rowIndex < sheet.rows.length; rowIndex++) {
40016
40053
  const row = sheet.rows[rowIndex];
40017
40054
  for (let i in row.cells) {
40018
40055
  const colIndex = Number(i);
40019
40056
  const cellId = row.cells[i];
40020
40057
  if (cellId) {
40021
- if (colIndex === deletedColumn) {
40022
- this.dispatch("CLEAR_CELL", {
40023
- sheetId: sheet.id,
40024
- col: colIndex,
40025
- row: rowIndex,
40026
- });
40027
- }
40028
40058
  if (colIndex > deletedColumn) {
40029
40059
  this.setNewPosition(cellId, sheet.id, colIndex - 1, rowIndex);
40030
40060
  }
@@ -40070,22 +40100,20 @@ class SheetPlugin extends CorePlugin {
40070
40100
  *
40071
40101
  */
40072
40102
  moveCellOnRowsDeletion(sheet, deleteFromRow, deleteToRow) {
40103
+ this.dispatch("CLEAR_CELLS", {
40104
+ sheetId: sheet.id,
40105
+ target: [
40106
+ {
40107
+ left: 0,
40108
+ top: deleteFromRow,
40109
+ right: this.getters.getNumberCols(sheet.id),
40110
+ bottom: deleteToRow,
40111
+ },
40112
+ ],
40113
+ });
40073
40114
  const numberRows = deleteToRow - deleteFromRow + 1;
40074
40115
  for (let rowIndex = 0; rowIndex < sheet.rows.length; rowIndex++) {
40075
40116
  const row = sheet.rows[rowIndex];
40076
- if (rowIndex >= deleteFromRow && rowIndex <= deleteToRow) {
40077
- for (let i in row.cells) {
40078
- const colIndex = Number(i);
40079
- const cellId = row.cells[i];
40080
- if (cellId) {
40081
- this.dispatch("CLEAR_CELL", {
40082
- sheetId: sheet.id,
40083
- col: colIndex,
40084
- row: rowIndex,
40085
- });
40086
- }
40087
- }
40088
- }
40089
40117
  if (rowIndex > deleteToRow) {
40090
40118
  for (let i in row.cells) {
40091
40119
  const colIndex = Number(i);
@@ -44914,7 +44942,7 @@ class Session extends EventBus {
44914
44942
  */
44915
44943
  leave(data) {
44916
44944
  if (Object.keys(this.clients).length === 1 && this.processedRevisions.size) {
44917
- this.snapshot(data);
44945
+ this.snapshot(data());
44918
44946
  }
44919
44947
  delete this.clients[this.clientId];
44920
44948
  this.transportService.leave(this.clientId);
@@ -45587,13 +45615,10 @@ class ClipboardCellsState extends ClipboardCellsAbstractState {
45587
45615
  * Clear the clipped zones: remove the cells and clear the formatting
45588
45616
  */
45589
45617
  clearClippedZones() {
45590
- for (const row of this.cells) {
45591
- for (const cell of row) {
45592
- if (cell?.cell) {
45593
- this.dispatch("CLEAR_CELL", cell.position);
45594
- }
45595
- }
45596
- }
45618
+ this.dispatch("CLEAR_CELLS", {
45619
+ sheetId: this.sheetId,
45620
+ target: this.zones,
45621
+ });
45597
45622
  this.dispatch("CLEAR_FORMATTING", {
45598
45623
  sheetId: this.sheetId,
45599
45624
  target: this.zones,
@@ -45942,9 +45967,7 @@ class DataCleanupPlugin extends UIPlugin {
45942
45967
  bottom: rowIndex,
45943
45968
  }));
45944
45969
  const state = new ClipboardCellsState(rowsToKeep, "COPY", this.getters, this.dispatch, this.selection);
45945
- for (const { col, row } of positions(zone)) {
45946
- this.dispatch("CLEAR_CELL", { col, row, sheetId });
45947
- }
45970
+ this.dispatch("CLEAR_CELLS", { target: [zone], sheetId });
45948
45971
  const zonePasted = {
45949
45972
  left: zone.left,
45950
45973
  top: zone.top,
@@ -47969,6 +47992,9 @@ class SheetUIPlugin extends UIPlugin {
47969
47992
  if (showFormula && cell?.isFormula) {
47970
47993
  return localizeFormula(cell.content, this.getters.getLocale());
47971
47994
  }
47995
+ else if (showFormula && !cell?.content) {
47996
+ return "";
47997
+ }
47972
47998
  else {
47973
47999
  return this.getters.getEvaluatedCell(position).formattedValue;
47974
48000
  }
@@ -48216,6 +48242,7 @@ function repeatGroupHeadersCommand(getters, cmd) {
48216
48242
  const repeatCommandTransformRegistry = new Registry();
48217
48243
  repeatCommandTransformRegistry.add("UPDATE_CELL", genericRepeat);
48218
48244
  repeatCommandTransformRegistry.add("CLEAR_CELL", genericRepeat);
48245
+ repeatCommandTransformRegistry.add("CLEAR_CELLS", genericRepeat);
48219
48246
  repeatCommandTransformRegistry.add("DELETE_CONTENT", genericRepeat);
48220
48247
  repeatCommandTransformRegistry.add("ADD_MERGE", genericRepeat);
48221
48248
  repeatCommandTransformRegistry.add("REMOVE_MERGE", genericRepeat);
@@ -48957,9 +48984,10 @@ class ClipboardPlugin extends UIPlugin {
48957
48984
  case "DELETE_CELL": {
48958
48985
  const { cut, paste } = this.getDeleteCellsTargets(cmd.zone, cmd.shiftDimension);
48959
48986
  if (!isZoneValid(cut[0])) {
48960
- for (const { col, row } of positions(cmd.zone)) {
48961
- this.dispatch("CLEAR_CELL", { col, row, sheetId: this.getters.getActiveSheetId() });
48962
- }
48987
+ this.dispatch("CLEAR_CELLS", {
48988
+ target: [cmd.zone],
48989
+ sheetId: this.getters.getActiveSheetId(),
48990
+ });
48963
48991
  break;
48964
48992
  }
48965
48993
  const state = this.getClipboardStateForCopyCells(cut, "CUT");
@@ -57391,7 +57419,7 @@ class Model extends EventBus {
57391
57419
  this.session.join(this.config.client);
57392
57420
  }
57393
57421
  leaveSession() {
57394
- this.session.leave(this.exportData());
57422
+ this.session.leave(lazy(() => this.exportData()));
57395
57423
  }
57396
57424
  setupUiPlugin(Plugin) {
57397
57425
  const plugin = new Plugin(this.uiPluginConfig);
@@ -57903,6 +57931,6 @@ exports.setTranslationMethod = setTranslationMethod;
57903
57931
  exports.tokenize = tokenize;
57904
57932
 
57905
57933
 
57906
- __info__.version = "17.1.27";
57907
- __info__.date = "2024-08-09T12:20:52.051Z";
57908
- __info__.hash = "c626332";
57934
+ __info__.version = "17.1.29";
57935
+ __info__.date = "2024-08-26T13:49:00.557Z";
57936
+ __info__.hash = "52753da";
@@ -841,7 +841,7 @@ declare class Session extends EventBus<CollaborativeEvent> {
841
841
  /**
842
842
  * Notify the server that the user client left the collaborative session
843
843
  */
844
- leave(data: WorkbookData): void;
844
+ leave(data: Lazy<WorkbookData>): void;
845
845
  /**
846
846
  * Send a snapshot of the spreadsheet to the collaboration server
847
847
  */
@@ -1694,11 +1694,11 @@ interface ZoneDependentCommand {
1694
1694
  sheetId: UID;
1695
1695
  zone: Zone;
1696
1696
  }
1697
- declare const invalidateEvaluationCommands: Set<"SORT_CELLS" | "UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1698
- declare const invalidateDependenciesCommands: Set<"SORT_CELLS" | "UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1699
- declare const invalidateCFEvaluationCommands: Set<"SORT_CELLS" | "UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1700
- declare const readonlyAllowedCommands: Set<"SORT_CELLS" | "UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1701
- declare const coreTypes: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE">;
1697
+ declare const invalidateEvaluationCommands: Set<"SORT_CELLS" | "UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "CLEAR_CELLS" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1698
+ declare const invalidateDependenciesCommands: Set<"SORT_CELLS" | "UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "CLEAR_CELLS" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1699
+ declare const invalidateCFEvaluationCommands: Set<"SORT_CELLS" | "UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "CLEAR_CELLS" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1700
+ declare const readonlyAllowedCommands: Set<"SORT_CELLS" | "UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "CLEAR_CELLS" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1701
+ declare const coreTypes: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "CLEAR_CELLS" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE">;
1702
1702
  interface UpdateCellCommand extends PositionDependentCommand {
1703
1703
  type: "UPDATE_CELL";
1704
1704
  content?: string;
@@ -2078,6 +2078,9 @@ interface DeleteContentCommand {
2078
2078
  interface ClearCellCommand extends PositionDependentCommand {
2079
2079
  type: "CLEAR_CELL";
2080
2080
  }
2081
+ interface ClearCellsCommand extends TargetDependentCommand {
2082
+ type: "CLEAR_CELLS";
2083
+ }
2081
2084
  interface UndoCommand {
2082
2085
  type: "UNDO";
2083
2086
  commands: readonly CoreCommand[];
@@ -2293,7 +2296,7 @@ interface SplitTextIntoColumnsCommand {
2293
2296
  }
2294
2297
  type CoreCommand =
2295
2298
  /** CELLS */
2296
- UpdateCellCommand | UpdateCellPositionCommand | ClearCellCommand | DeleteContentCommand
2299
+ UpdateCellCommand | UpdateCellPositionCommand | ClearCellCommand | ClearCellsCommand | DeleteContentCommand
2297
2300
  /** GRID SHAPE */
2298
2301
  | AddColumnsRowsCommand | RemoveColumnsRowsCommand | ResizeColumnsRowsCommand | HideColumnsRowsCommand | UnhideColumnsRowsCommand | SetGridLinesVisibilityCommand | FreezeColumnsCommand | FreezeRowsCommand | UnfreezeColumnsRowsCommand | UnfreezeColumnsCommand | UnfreezeRowsCommand
2299
2302
  /** MERGE */
@@ -3292,6 +3295,10 @@ declare class CellPlugin extends CorePlugin<CoreState> implements CoreState {
3292
3295
  * Clear the styles and format of zones
3293
3296
  */
3294
3297
  private clearFormatting;
3298
+ /**
3299
+ * Clear the styles, the format and the content of zones
3300
+ */
3301
+ private clearCells;
3295
3302
  /**
3296
3303
  * Copy the style of the reference column/row to the new columns/rows.
3297
3304
  */
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * This file is generated by o-spreadsheet build tools. Do not edit it.
4
4
  * @see https://github.com/odoo/o-spreadsheet
5
- * @version 17.1.27
6
- * @date 2024-08-09T12:20:52.051Z
7
- * @hash c626332
5
+ * @version 17.1.29
6
+ * @date 2024-08-26T13:49:00.557Z
7
+ * @hash 52753da
8
8
  */
9
9
 
10
10
  import { Component, useRef, onMounted, onWillUnmount, useEffect, onWillPatch, useState, onWillUpdateProps, onPatched, useComponent, useExternalListener, onWillStart, xml, useChildSubEnv, useSubEnv, markRaw } from '@odoo/owl';
@@ -1893,6 +1893,7 @@ const coreTypes = new Set([
1893
1893
  "UPDATE_CELL",
1894
1894
  "UPDATE_CELL_POSITION",
1895
1895
  "CLEAR_CELL",
1896
+ "CLEAR_CELLS",
1896
1897
  "DELETE_CONTENT",
1897
1898
  /** GRID SHAPE */
1898
1899
  "ADD_COLUMNS_ROWS",
@@ -35670,7 +35671,7 @@ function parse(str) {
35670
35671
  }
35671
35672
  function parseTokens(tokens) {
35672
35673
  tokens = tokens.filter((x) => x.type !== "SPACE");
35673
- if (tokens[0].value === "=") {
35674
+ if (tokens[0]?.value === "=") {
35674
35675
  tokens.splice(0, 1);
35675
35676
  }
35676
35677
  const result = parseExpression(tokens);
@@ -36237,6 +36238,9 @@ class CellPlugin extends CorePlugin {
36237
36238
  format: "",
36238
36239
  });
36239
36240
  break;
36241
+ case "CLEAR_CELLS":
36242
+ this.clearCells(cmd.sheetId, cmd.target);
36243
+ break;
36240
36244
  }
36241
36245
  }
36242
36246
  /**
@@ -36275,6 +36279,25 @@ class CellPlugin extends CorePlugin {
36275
36279
  }
36276
36280
  }
36277
36281
  }
36282
+ /**
36283
+ * Clear the styles, the format and the content of zones
36284
+ */
36285
+ clearCells(sheetId, zones) {
36286
+ for (const zone of zones) {
36287
+ for (let col = zone.left; col <= zone.right; col++) {
36288
+ for (let row = zone.top; row <= zone.bottom; row++) {
36289
+ this.dispatch("UPDATE_CELL", {
36290
+ sheetId: sheetId,
36291
+ col,
36292
+ row,
36293
+ content: "",
36294
+ style: null,
36295
+ format: "",
36296
+ });
36297
+ }
36298
+ }
36299
+ }
36300
+ }
36278
36301
  /**
36279
36302
  * Copy the style of the reference column/row to the new columns/rows.
36280
36303
  */
@@ -37977,7 +38000,10 @@ class HeaderSizePlugin extends CorePlugin {
37977
38000
  handle(cmd) {
37978
38001
  switch (cmd.type) {
37979
38002
  case "CREATE_SHEET": {
37980
- this.history.update("sizes", cmd.sheetId, { COL: [], ROW: [] });
38003
+ this.history.update("sizes", cmd.sheetId, {
38004
+ COL: Array(this.getters.getNumberCols(cmd.sheetId)).fill(undefined),
38005
+ ROW: Array(this.getters.getNumberRows(cmd.sheetId)).fill(undefined),
38006
+ });
37981
38007
  break;
37982
38008
  }
37983
38009
  case "DUPLICATE_SHEET":
@@ -40010,19 +40036,23 @@ class SheetPlugin extends CorePlugin {
40010
40036
  }
40011
40037
  }
40012
40038
  moveCellOnColumnsDeletion(sheet, deletedColumn) {
40039
+ this.dispatch("CLEAR_CELLS", {
40040
+ sheetId: sheet.id,
40041
+ target: [
40042
+ {
40043
+ left: deletedColumn,
40044
+ top: 0,
40045
+ right: deletedColumn,
40046
+ bottom: sheet.rows.length - 1,
40047
+ },
40048
+ ],
40049
+ });
40013
40050
  for (let rowIndex = 0; rowIndex < sheet.rows.length; rowIndex++) {
40014
40051
  const row = sheet.rows[rowIndex];
40015
40052
  for (let i in row.cells) {
40016
40053
  const colIndex = Number(i);
40017
40054
  const cellId = row.cells[i];
40018
40055
  if (cellId) {
40019
- if (colIndex === deletedColumn) {
40020
- this.dispatch("CLEAR_CELL", {
40021
- sheetId: sheet.id,
40022
- col: colIndex,
40023
- row: rowIndex,
40024
- });
40025
- }
40026
40056
  if (colIndex > deletedColumn) {
40027
40057
  this.setNewPosition(cellId, sheet.id, colIndex - 1, rowIndex);
40028
40058
  }
@@ -40068,22 +40098,20 @@ class SheetPlugin extends CorePlugin {
40068
40098
  *
40069
40099
  */
40070
40100
  moveCellOnRowsDeletion(sheet, deleteFromRow, deleteToRow) {
40101
+ this.dispatch("CLEAR_CELLS", {
40102
+ sheetId: sheet.id,
40103
+ target: [
40104
+ {
40105
+ left: 0,
40106
+ top: deleteFromRow,
40107
+ right: this.getters.getNumberCols(sheet.id),
40108
+ bottom: deleteToRow,
40109
+ },
40110
+ ],
40111
+ });
40071
40112
  const numberRows = deleteToRow - deleteFromRow + 1;
40072
40113
  for (let rowIndex = 0; rowIndex < sheet.rows.length; rowIndex++) {
40073
40114
  const row = sheet.rows[rowIndex];
40074
- if (rowIndex >= deleteFromRow && rowIndex <= deleteToRow) {
40075
- for (let i in row.cells) {
40076
- const colIndex = Number(i);
40077
- const cellId = row.cells[i];
40078
- if (cellId) {
40079
- this.dispatch("CLEAR_CELL", {
40080
- sheetId: sheet.id,
40081
- col: colIndex,
40082
- row: rowIndex,
40083
- });
40084
- }
40085
- }
40086
- }
40087
40115
  if (rowIndex > deleteToRow) {
40088
40116
  for (let i in row.cells) {
40089
40117
  const colIndex = Number(i);
@@ -44912,7 +44940,7 @@ class Session extends EventBus {
44912
44940
  */
44913
44941
  leave(data) {
44914
44942
  if (Object.keys(this.clients).length === 1 && this.processedRevisions.size) {
44915
- this.snapshot(data);
44943
+ this.snapshot(data());
44916
44944
  }
44917
44945
  delete this.clients[this.clientId];
44918
44946
  this.transportService.leave(this.clientId);
@@ -45585,13 +45613,10 @@ class ClipboardCellsState extends ClipboardCellsAbstractState {
45585
45613
  * Clear the clipped zones: remove the cells and clear the formatting
45586
45614
  */
45587
45615
  clearClippedZones() {
45588
- for (const row of this.cells) {
45589
- for (const cell of row) {
45590
- if (cell?.cell) {
45591
- this.dispatch("CLEAR_CELL", cell.position);
45592
- }
45593
- }
45594
- }
45616
+ this.dispatch("CLEAR_CELLS", {
45617
+ sheetId: this.sheetId,
45618
+ target: this.zones,
45619
+ });
45595
45620
  this.dispatch("CLEAR_FORMATTING", {
45596
45621
  sheetId: this.sheetId,
45597
45622
  target: this.zones,
@@ -45940,9 +45965,7 @@ class DataCleanupPlugin extends UIPlugin {
45940
45965
  bottom: rowIndex,
45941
45966
  }));
45942
45967
  const state = new ClipboardCellsState(rowsToKeep, "COPY", this.getters, this.dispatch, this.selection);
45943
- for (const { col, row } of positions(zone)) {
45944
- this.dispatch("CLEAR_CELL", { col, row, sheetId });
45945
- }
45968
+ this.dispatch("CLEAR_CELLS", { target: [zone], sheetId });
45946
45969
  const zonePasted = {
45947
45970
  left: zone.left,
45948
45971
  top: zone.top,
@@ -47967,6 +47990,9 @@ class SheetUIPlugin extends UIPlugin {
47967
47990
  if (showFormula && cell?.isFormula) {
47968
47991
  return localizeFormula(cell.content, this.getters.getLocale());
47969
47992
  }
47993
+ else if (showFormula && !cell?.content) {
47994
+ return "";
47995
+ }
47970
47996
  else {
47971
47997
  return this.getters.getEvaluatedCell(position).formattedValue;
47972
47998
  }
@@ -48214,6 +48240,7 @@ function repeatGroupHeadersCommand(getters, cmd) {
48214
48240
  const repeatCommandTransformRegistry = new Registry();
48215
48241
  repeatCommandTransformRegistry.add("UPDATE_CELL", genericRepeat);
48216
48242
  repeatCommandTransformRegistry.add("CLEAR_CELL", genericRepeat);
48243
+ repeatCommandTransformRegistry.add("CLEAR_CELLS", genericRepeat);
48217
48244
  repeatCommandTransformRegistry.add("DELETE_CONTENT", genericRepeat);
48218
48245
  repeatCommandTransformRegistry.add("ADD_MERGE", genericRepeat);
48219
48246
  repeatCommandTransformRegistry.add("REMOVE_MERGE", genericRepeat);
@@ -48955,9 +48982,10 @@ class ClipboardPlugin extends UIPlugin {
48955
48982
  case "DELETE_CELL": {
48956
48983
  const { cut, paste } = this.getDeleteCellsTargets(cmd.zone, cmd.shiftDimension);
48957
48984
  if (!isZoneValid(cut[0])) {
48958
- for (const { col, row } of positions(cmd.zone)) {
48959
- this.dispatch("CLEAR_CELL", { col, row, sheetId: this.getters.getActiveSheetId() });
48960
- }
48985
+ this.dispatch("CLEAR_CELLS", {
48986
+ target: [cmd.zone],
48987
+ sheetId: this.getters.getActiveSheetId(),
48988
+ });
48961
48989
  break;
48962
48990
  }
48963
48991
  const state = this.getClipboardStateForCopyCells(cut, "CUT");
@@ -57389,7 +57417,7 @@ class Model extends EventBus {
57389
57417
  this.session.join(this.config.client);
57390
57418
  }
57391
57419
  leaveSession() {
57392
- this.session.leave(this.exportData());
57420
+ this.session.leave(lazy(() => this.exportData()));
57393
57421
  }
57394
57422
  setupUiPlugin(Plugin) {
57395
57423
  const plugin = new Plugin(this.uiPluginConfig);
@@ -57865,6 +57893,6 @@ const constants = {
57865
57893
  export { AbstractChart, CellErrorType, CommandResult, CorePlugin, DispatchResult, EvaluationError, Model, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, UIPlugin, __info__, addFunction, astToFormula, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, hooks, invalidateCFEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, tokenize };
57866
57894
 
57867
57895
 
57868
- __info__.version = "17.1.27";
57869
- __info__.date = "2024-08-09T12:20:52.051Z";
57870
- __info__.hash = "c626332";
57896
+ __info__.version = "17.1.29";
57897
+ __info__.date = "2024-08-26T13:49:00.557Z";
57898
+ __info__.hash = "52753da";