@odoo/o-spreadsheet 17.0.34 → 17.0.36

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.0.34
6
- * @date 2024-08-09T12:20:17.042Z
7
- * @hash 1573912
5
+ * @version 17.0.36
6
+ * @date 2024-08-26T13:49:04.635Z
7
+ * @hash 6d5069e
8
8
  */
9
9
 
10
10
  'use strict';
@@ -1955,6 +1955,7 @@ const coreTypes = new Set([
1955
1955
  "UPDATE_CELL",
1956
1956
  "UPDATE_CELL_POSITION",
1957
1957
  "CLEAR_CELL",
1958
+ "CLEAR_CELLS",
1958
1959
  "DELETE_CONTENT",
1959
1960
  /** GRID SHAPE */
1960
1961
  "ADD_COLUMNS_ROWS",
@@ -35188,7 +35189,7 @@ function parse(str) {
35188
35189
  }
35189
35190
  function parseTokens(tokens) {
35190
35191
  tokens = tokens.filter((x) => x.type !== "SPACE");
35191
- if (tokens[0].value === "=") {
35192
+ if (tokens[0]?.value === "=") {
35192
35193
  tokens.splice(0, 1);
35193
35194
  }
35194
35195
  const result = parseExpression(tokens);
@@ -35778,6 +35779,9 @@ class CellPlugin extends CorePlugin {
35778
35779
  format: "",
35779
35780
  });
35780
35781
  break;
35782
+ case "CLEAR_CELLS":
35783
+ this.clearCells(cmd.sheetId, cmd.target);
35784
+ break;
35781
35785
  }
35782
35786
  }
35783
35787
  /**
@@ -35816,6 +35820,25 @@ class CellPlugin extends CorePlugin {
35816
35820
  }
35817
35821
  }
35818
35822
  }
35823
+ /**
35824
+ * Clear the styles, the format and the content of zones
35825
+ */
35826
+ clearCells(sheetId, zones) {
35827
+ for (const zone of zones) {
35828
+ for (let col = zone.left; col <= zone.right; col++) {
35829
+ for (let row = zone.top; row <= zone.bottom; row++) {
35830
+ this.dispatch("UPDATE_CELL", {
35831
+ sheetId: sheetId,
35832
+ col,
35833
+ row,
35834
+ content: "",
35835
+ style: null,
35836
+ format: "",
35837
+ });
35838
+ }
35839
+ }
35840
+ }
35841
+ }
35819
35842
  /**
35820
35843
  * Copy the style of the reference column/row to the new columns/rows.
35821
35844
  */
@@ -37515,7 +37538,10 @@ class HeaderSizePlugin extends CorePlugin {
37515
37538
  handle(cmd) {
37516
37539
  switch (cmd.type) {
37517
37540
  case "CREATE_SHEET": {
37518
- this.history.update("sizes", cmd.sheetId, { COL: [], ROW: [] });
37541
+ this.history.update("sizes", cmd.sheetId, {
37542
+ COL: Array(this.getters.getNumberCols(cmd.sheetId)).fill(undefined),
37543
+ ROW: Array(this.getters.getNumberRows(cmd.sheetId)).fill(undefined),
37544
+ });
37519
37545
  break;
37520
37546
  }
37521
37547
  case "DUPLICATE_SHEET":
@@ -39548,19 +39574,23 @@ class SheetPlugin extends CorePlugin {
39548
39574
  }
39549
39575
  }
39550
39576
  moveCellOnColumnsDeletion(sheet, deletedColumn) {
39577
+ this.dispatch("CLEAR_CELLS", {
39578
+ sheetId: sheet.id,
39579
+ target: [
39580
+ {
39581
+ left: deletedColumn,
39582
+ top: 0,
39583
+ right: deletedColumn,
39584
+ bottom: sheet.rows.length - 1,
39585
+ },
39586
+ ],
39587
+ });
39551
39588
  for (let rowIndex = 0; rowIndex < sheet.rows.length; rowIndex++) {
39552
39589
  const row = sheet.rows[rowIndex];
39553
39590
  for (let i in row.cells) {
39554
39591
  const colIndex = Number(i);
39555
39592
  const cellId = row.cells[i];
39556
39593
  if (cellId) {
39557
- if (colIndex === deletedColumn) {
39558
- this.dispatch("CLEAR_CELL", {
39559
- sheetId: sheet.id,
39560
- col: colIndex,
39561
- row: rowIndex,
39562
- });
39563
- }
39564
39594
  if (colIndex > deletedColumn) {
39565
39595
  this.setNewPosition(cellId, sheet.id, colIndex - 1, rowIndex);
39566
39596
  }
@@ -39606,22 +39636,20 @@ class SheetPlugin extends CorePlugin {
39606
39636
  *
39607
39637
  */
39608
39638
  moveCellOnRowsDeletion(sheet, deleteFromRow, deleteToRow) {
39639
+ this.dispatch("CLEAR_CELLS", {
39640
+ sheetId: sheet.id,
39641
+ target: [
39642
+ {
39643
+ left: 0,
39644
+ top: deleteFromRow,
39645
+ right: this.getters.getNumberCols(sheet.id),
39646
+ bottom: deleteToRow,
39647
+ },
39648
+ ],
39649
+ });
39609
39650
  const numberRows = deleteToRow - deleteFromRow + 1;
39610
39651
  for (let rowIndex = 0; rowIndex < sheet.rows.length; rowIndex++) {
39611
39652
  const row = sheet.rows[rowIndex];
39612
- if (rowIndex >= deleteFromRow && rowIndex <= deleteToRow) {
39613
- for (let i in row.cells) {
39614
- const colIndex = Number(i);
39615
- const cellId = row.cells[i];
39616
- if (cellId) {
39617
- this.dispatch("CLEAR_CELL", {
39618
- sheetId: sheet.id,
39619
- col: colIndex,
39620
- row: rowIndex,
39621
- });
39622
- }
39623
- }
39624
- }
39625
39653
  if (rowIndex > deleteToRow) {
39626
39654
  for (let i in row.cells) {
39627
39655
  const colIndex = Number(i);
@@ -44457,7 +44485,7 @@ class Session extends EventBus {
44457
44485
  */
44458
44486
  leave(data) {
44459
44487
  if (Object.keys(this.clients).length === 1 && this.processedRevisions.size) {
44460
- this.snapshot(data);
44488
+ this.snapshot(data());
44461
44489
  }
44462
44490
  delete this.clients[this.clientId];
44463
44491
  this.transportService.leave(this.clientId);
@@ -45128,13 +45156,10 @@ class ClipboardCellsState extends ClipboardCellsAbstractState {
45128
45156
  * Clear the clipped zones: remove the cells and clear the formatting
45129
45157
  */
45130
45158
  clearClippedZones() {
45131
- for (const row of this.cells) {
45132
- for (const cell of row) {
45133
- if (cell?.cell) {
45134
- this.dispatch("CLEAR_CELL", cell.position);
45135
- }
45136
- }
45137
- }
45159
+ this.dispatch("CLEAR_CELLS", {
45160
+ sheetId: this.sheetId,
45161
+ target: this.zones,
45162
+ });
45138
45163
  this.dispatch("CLEAR_FORMATTING", {
45139
45164
  sheetId: this.sheetId,
45140
45165
  target: this.zones,
@@ -45183,9 +45208,7 @@ class ClipboardCellsState extends ClipboardCellsAbstractState {
45183
45208
  const { sheetId, col, row } = target;
45184
45209
  const targetCell = this.getters.getEvaluatedCell(target);
45185
45210
  if (clipboardOption?.pasteOption === "onlyValue") {
45186
- const locale = this.getters.getLocale();
45187
- const content = formatValue(origin.evaluatedCell.value, { locale });
45188
- this.dispatch("UPDATE_CELL", { ...target, content });
45211
+ this.dispatch("UPDATE_CELL", { ...target, content: origin.evaluatedCell.value.toString() });
45189
45212
  return;
45190
45213
  }
45191
45214
  const targetBorders = this.getters.getCellBorder(target);
@@ -45482,9 +45505,7 @@ class DataCleanupPlugin extends UIPlugin {
45482
45505
  bottom: rowIndex,
45483
45506
  }));
45484
45507
  const state = new ClipboardCellsState(rowsToKeep, "COPY", this.getters, this.dispatch, this.selection);
45485
- for (const { col, row } of positions(zone)) {
45486
- this.dispatch("CLEAR_CELL", { col, row, sheetId });
45487
- }
45508
+ this.dispatch("CLEAR_CELLS", { target: [zone], sheetId });
45488
45509
  const zonePasted = {
45489
45510
  left: zone.left,
45490
45511
  top: zone.top,
@@ -47556,6 +47577,9 @@ class SheetUIPlugin extends UIPlugin {
47556
47577
  if (showFormula && cell?.isFormula) {
47557
47578
  return localizeFormula(cell.content, this.getters.getLocale());
47558
47579
  }
47580
+ else if (showFormula && !cell?.content) {
47581
+ return "";
47582
+ }
47559
47583
  else {
47560
47584
  return this.getters.getEvaluatedCell(position).formattedValue;
47561
47585
  }
@@ -47751,6 +47775,7 @@ function repeatGroupHeadersCommand(getters, cmd) {
47751
47775
  const repeatCommandTransformRegistry = new Registry();
47752
47776
  repeatCommandTransformRegistry.add("UPDATE_CELL", genericRepeat);
47753
47777
  repeatCommandTransformRegistry.add("CLEAR_CELL", genericRepeat);
47778
+ repeatCommandTransformRegistry.add("CLEAR_CELLS", genericRepeat);
47754
47779
  repeatCommandTransformRegistry.add("DELETE_CONTENT", genericRepeat);
47755
47780
  repeatCommandTransformRegistry.add("ADD_MERGE", genericRepeat);
47756
47781
  repeatCommandTransformRegistry.add("REMOVE_MERGE", genericRepeat);
@@ -48490,9 +48515,10 @@ class ClipboardPlugin extends UIPlugin {
48490
48515
  case "DELETE_CELL": {
48491
48516
  const { cut, paste } = this.getDeleteCellsTargets(cmd.zone, cmd.shiftDimension);
48492
48517
  if (!isZoneValid(cut[0])) {
48493
- for (const { col, row } of positions(cmd.zone)) {
48494
- this.dispatch("CLEAR_CELL", { col, row, sheetId: this.getters.getActiveSheetId() });
48495
- }
48518
+ this.dispatch("CLEAR_CELLS", {
48519
+ target: [cmd.zone],
48520
+ sheetId: this.getters.getActiveSheetId(),
48521
+ });
48496
48522
  break;
48497
48523
  }
48498
48524
  const state = this.getClipboardStateForCopyCells(cut, "CUT");
@@ -57093,7 +57119,7 @@ class Model extends EventBus {
57093
57119
  this.session.join(this.config.client);
57094
57120
  }
57095
57121
  leaveSession() {
57096
- this.session.leave(this.exportData());
57122
+ this.session.leave(lazy(() => this.exportData()));
57097
57123
  }
57098
57124
  setupUiPlugin(Plugin) {
57099
57125
  const plugin = new Plugin(this.uiPluginConfig);
@@ -57596,6 +57622,6 @@ exports.setTranslationMethod = setTranslationMethod;
57596
57622
  exports.tokenize = tokenize;
57597
57623
 
57598
57624
 
57599
- __info__.version = "17.0.34";
57600
- __info__.date = "2024-08-09T12:20:17.042Z";
57601
- __info__.hash = "1573912";
57625
+ __info__.version = "17.0.36";
57626
+ __info__.date = "2024-08-26T13:49:04.635Z";
57627
+ __info__.hash = "6d5069e";
@@ -852,7 +852,7 @@ declare class Session extends EventBus<CollaborativeEvent> {
852
852
  /**
853
853
  * Notify the server that the user client left the collaborative session
854
854
  */
855
- leave(data: WorkbookData): void;
855
+ leave(data: Lazy<WorkbookData>): void;
856
856
  /**
857
857
  * Send a snapshot of the spreadsheet to the collaboration server
858
858
  */
@@ -1771,11 +1771,11 @@ interface ZoneDependentCommand {
1771
1771
  sheetId: UID;
1772
1772
  zone: Zone;
1773
1773
  }
1774
- 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">;
1775
- 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">;
1776
- 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">;
1777
- 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">;
1778
- 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">;
1774
+ 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">;
1775
+ 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">;
1776
+ 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">;
1777
+ 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">;
1778
+ 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">;
1779
1779
  interface UpdateCellCommand extends PositionDependentCommand {
1780
1780
  type: "UPDATE_CELL";
1781
1781
  content?: string;
@@ -2161,6 +2161,9 @@ interface DeleteContentCommand {
2161
2161
  interface ClearCellCommand extends PositionDependentCommand {
2162
2162
  type: "CLEAR_CELL";
2163
2163
  }
2164
+ interface ClearCellsCommand extends TargetDependentCommand {
2165
+ type: "CLEAR_CELLS";
2166
+ }
2164
2167
  interface UndoCommand {
2165
2168
  type: "UNDO";
2166
2169
  commands: readonly CoreCommand[];
@@ -2376,7 +2379,7 @@ interface SplitTextIntoColumnsCommand {
2376
2379
  }
2377
2380
  type CoreCommand =
2378
2381
  /** CELLS */
2379
- UpdateCellCommand | UpdateCellPositionCommand | ClearCellCommand | DeleteContentCommand
2382
+ UpdateCellCommand | UpdateCellPositionCommand | ClearCellCommand | ClearCellsCommand | DeleteContentCommand
2380
2383
  /** GRID SHAPE */
2381
2384
  | AddColumnsRowsCommand | RemoveColumnsRowsCommand | ResizeColumnsRowsCommand | HideColumnsRowsCommand | UnhideColumnsRowsCommand | SetGridLinesVisibilityCommand | FreezeColumnsCommand | FreezeRowsCommand | UnfreezeColumnsRowsCommand | UnfreezeColumnsCommand | UnfreezeRowsCommand
2382
2385
  /** MERGE */
@@ -3420,6 +3423,10 @@ declare class CellPlugin extends CorePlugin<CoreState> implements CoreState {
3420
3423
  * Clear the styles and format of zones
3421
3424
  */
3422
3425
  private clearFormatting;
3426
+ /**
3427
+ * Clear the styles, the format and the content of zones
3428
+ */
3429
+ private clearCells;
3423
3430
  /**
3424
3431
  * Copy the style of the reference column/row to the new columns/rows.
3425
3432
  */
@@ -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.0.34
6
- * @date 2024-08-09T12:20:17.042Z
7
- * @hash 1573912
5
+ * @version 17.0.36
6
+ * @date 2024-08-26T13:49:04.635Z
7
+ * @hash 6d5069e
8
8
  */
9
9
 
10
10
  import { Component, useRef, onMounted, useEffect, onWillPatch, useState, onWillUpdateProps, onPatched, useComponent, useExternalListener, onWillUnmount, onWillStart, xml, useChildSubEnv, useSubEnv, markRaw } from '@odoo/owl';
@@ -1953,6 +1953,7 @@ const coreTypes = new Set([
1953
1953
  "UPDATE_CELL",
1954
1954
  "UPDATE_CELL_POSITION",
1955
1955
  "CLEAR_CELL",
1956
+ "CLEAR_CELLS",
1956
1957
  "DELETE_CONTENT",
1957
1958
  /** GRID SHAPE */
1958
1959
  "ADD_COLUMNS_ROWS",
@@ -35186,7 +35187,7 @@ function parse(str) {
35186
35187
  }
35187
35188
  function parseTokens(tokens) {
35188
35189
  tokens = tokens.filter((x) => x.type !== "SPACE");
35189
- if (tokens[0].value === "=") {
35190
+ if (tokens[0]?.value === "=") {
35190
35191
  tokens.splice(0, 1);
35191
35192
  }
35192
35193
  const result = parseExpression(tokens);
@@ -35776,6 +35777,9 @@ class CellPlugin extends CorePlugin {
35776
35777
  format: "",
35777
35778
  });
35778
35779
  break;
35780
+ case "CLEAR_CELLS":
35781
+ this.clearCells(cmd.sheetId, cmd.target);
35782
+ break;
35779
35783
  }
35780
35784
  }
35781
35785
  /**
@@ -35814,6 +35818,25 @@ class CellPlugin extends CorePlugin {
35814
35818
  }
35815
35819
  }
35816
35820
  }
35821
+ /**
35822
+ * Clear the styles, the format and the content of zones
35823
+ */
35824
+ clearCells(sheetId, zones) {
35825
+ for (const zone of zones) {
35826
+ for (let col = zone.left; col <= zone.right; col++) {
35827
+ for (let row = zone.top; row <= zone.bottom; row++) {
35828
+ this.dispatch("UPDATE_CELL", {
35829
+ sheetId: sheetId,
35830
+ col,
35831
+ row,
35832
+ content: "",
35833
+ style: null,
35834
+ format: "",
35835
+ });
35836
+ }
35837
+ }
35838
+ }
35839
+ }
35817
35840
  /**
35818
35841
  * Copy the style of the reference column/row to the new columns/rows.
35819
35842
  */
@@ -37513,7 +37536,10 @@ class HeaderSizePlugin extends CorePlugin {
37513
37536
  handle(cmd) {
37514
37537
  switch (cmd.type) {
37515
37538
  case "CREATE_SHEET": {
37516
- this.history.update("sizes", cmd.sheetId, { COL: [], ROW: [] });
37539
+ this.history.update("sizes", cmd.sheetId, {
37540
+ COL: Array(this.getters.getNumberCols(cmd.sheetId)).fill(undefined),
37541
+ ROW: Array(this.getters.getNumberRows(cmd.sheetId)).fill(undefined),
37542
+ });
37517
37543
  break;
37518
37544
  }
37519
37545
  case "DUPLICATE_SHEET":
@@ -39546,19 +39572,23 @@ class SheetPlugin extends CorePlugin {
39546
39572
  }
39547
39573
  }
39548
39574
  moveCellOnColumnsDeletion(sheet, deletedColumn) {
39575
+ this.dispatch("CLEAR_CELLS", {
39576
+ sheetId: sheet.id,
39577
+ target: [
39578
+ {
39579
+ left: deletedColumn,
39580
+ top: 0,
39581
+ right: deletedColumn,
39582
+ bottom: sheet.rows.length - 1,
39583
+ },
39584
+ ],
39585
+ });
39549
39586
  for (let rowIndex = 0; rowIndex < sheet.rows.length; rowIndex++) {
39550
39587
  const row = sheet.rows[rowIndex];
39551
39588
  for (let i in row.cells) {
39552
39589
  const colIndex = Number(i);
39553
39590
  const cellId = row.cells[i];
39554
39591
  if (cellId) {
39555
- if (colIndex === deletedColumn) {
39556
- this.dispatch("CLEAR_CELL", {
39557
- sheetId: sheet.id,
39558
- col: colIndex,
39559
- row: rowIndex,
39560
- });
39561
- }
39562
39592
  if (colIndex > deletedColumn) {
39563
39593
  this.setNewPosition(cellId, sheet.id, colIndex - 1, rowIndex);
39564
39594
  }
@@ -39604,22 +39634,20 @@ class SheetPlugin extends CorePlugin {
39604
39634
  *
39605
39635
  */
39606
39636
  moveCellOnRowsDeletion(sheet, deleteFromRow, deleteToRow) {
39637
+ this.dispatch("CLEAR_CELLS", {
39638
+ sheetId: sheet.id,
39639
+ target: [
39640
+ {
39641
+ left: 0,
39642
+ top: deleteFromRow,
39643
+ right: this.getters.getNumberCols(sheet.id),
39644
+ bottom: deleteToRow,
39645
+ },
39646
+ ],
39647
+ });
39607
39648
  const numberRows = deleteToRow - deleteFromRow + 1;
39608
39649
  for (let rowIndex = 0; rowIndex < sheet.rows.length; rowIndex++) {
39609
39650
  const row = sheet.rows[rowIndex];
39610
- if (rowIndex >= deleteFromRow && rowIndex <= deleteToRow) {
39611
- for (let i in row.cells) {
39612
- const colIndex = Number(i);
39613
- const cellId = row.cells[i];
39614
- if (cellId) {
39615
- this.dispatch("CLEAR_CELL", {
39616
- sheetId: sheet.id,
39617
- col: colIndex,
39618
- row: rowIndex,
39619
- });
39620
- }
39621
- }
39622
- }
39623
39651
  if (rowIndex > deleteToRow) {
39624
39652
  for (let i in row.cells) {
39625
39653
  const colIndex = Number(i);
@@ -44455,7 +44483,7 @@ class Session extends EventBus {
44455
44483
  */
44456
44484
  leave(data) {
44457
44485
  if (Object.keys(this.clients).length === 1 && this.processedRevisions.size) {
44458
- this.snapshot(data);
44486
+ this.snapshot(data());
44459
44487
  }
44460
44488
  delete this.clients[this.clientId];
44461
44489
  this.transportService.leave(this.clientId);
@@ -45126,13 +45154,10 @@ class ClipboardCellsState extends ClipboardCellsAbstractState {
45126
45154
  * Clear the clipped zones: remove the cells and clear the formatting
45127
45155
  */
45128
45156
  clearClippedZones() {
45129
- for (const row of this.cells) {
45130
- for (const cell of row) {
45131
- if (cell?.cell) {
45132
- this.dispatch("CLEAR_CELL", cell.position);
45133
- }
45134
- }
45135
- }
45157
+ this.dispatch("CLEAR_CELLS", {
45158
+ sheetId: this.sheetId,
45159
+ target: this.zones,
45160
+ });
45136
45161
  this.dispatch("CLEAR_FORMATTING", {
45137
45162
  sheetId: this.sheetId,
45138
45163
  target: this.zones,
@@ -45181,9 +45206,7 @@ class ClipboardCellsState extends ClipboardCellsAbstractState {
45181
45206
  const { sheetId, col, row } = target;
45182
45207
  const targetCell = this.getters.getEvaluatedCell(target);
45183
45208
  if (clipboardOption?.pasteOption === "onlyValue") {
45184
- const locale = this.getters.getLocale();
45185
- const content = formatValue(origin.evaluatedCell.value, { locale });
45186
- this.dispatch("UPDATE_CELL", { ...target, content });
45209
+ this.dispatch("UPDATE_CELL", { ...target, content: origin.evaluatedCell.value.toString() });
45187
45210
  return;
45188
45211
  }
45189
45212
  const targetBorders = this.getters.getCellBorder(target);
@@ -45480,9 +45503,7 @@ class DataCleanupPlugin extends UIPlugin {
45480
45503
  bottom: rowIndex,
45481
45504
  }));
45482
45505
  const state = new ClipboardCellsState(rowsToKeep, "COPY", this.getters, this.dispatch, this.selection);
45483
- for (const { col, row } of positions(zone)) {
45484
- this.dispatch("CLEAR_CELL", { col, row, sheetId });
45485
- }
45506
+ this.dispatch("CLEAR_CELLS", { target: [zone], sheetId });
45486
45507
  const zonePasted = {
45487
45508
  left: zone.left,
45488
45509
  top: zone.top,
@@ -47554,6 +47575,9 @@ class SheetUIPlugin extends UIPlugin {
47554
47575
  if (showFormula && cell?.isFormula) {
47555
47576
  return localizeFormula(cell.content, this.getters.getLocale());
47556
47577
  }
47578
+ else if (showFormula && !cell?.content) {
47579
+ return "";
47580
+ }
47557
47581
  else {
47558
47582
  return this.getters.getEvaluatedCell(position).formattedValue;
47559
47583
  }
@@ -47749,6 +47773,7 @@ function repeatGroupHeadersCommand(getters, cmd) {
47749
47773
  const repeatCommandTransformRegistry = new Registry();
47750
47774
  repeatCommandTransformRegistry.add("UPDATE_CELL", genericRepeat);
47751
47775
  repeatCommandTransformRegistry.add("CLEAR_CELL", genericRepeat);
47776
+ repeatCommandTransformRegistry.add("CLEAR_CELLS", genericRepeat);
47752
47777
  repeatCommandTransformRegistry.add("DELETE_CONTENT", genericRepeat);
47753
47778
  repeatCommandTransformRegistry.add("ADD_MERGE", genericRepeat);
47754
47779
  repeatCommandTransformRegistry.add("REMOVE_MERGE", genericRepeat);
@@ -48488,9 +48513,10 @@ class ClipboardPlugin extends UIPlugin {
48488
48513
  case "DELETE_CELL": {
48489
48514
  const { cut, paste } = this.getDeleteCellsTargets(cmd.zone, cmd.shiftDimension);
48490
48515
  if (!isZoneValid(cut[0])) {
48491
- for (const { col, row } of positions(cmd.zone)) {
48492
- this.dispatch("CLEAR_CELL", { col, row, sheetId: this.getters.getActiveSheetId() });
48493
- }
48516
+ this.dispatch("CLEAR_CELLS", {
48517
+ target: [cmd.zone],
48518
+ sheetId: this.getters.getActiveSheetId(),
48519
+ });
48494
48520
  break;
48495
48521
  }
48496
48522
  const state = this.getClipboardStateForCopyCells(cut, "CUT");
@@ -57091,7 +57117,7 @@ class Model extends EventBus {
57091
57117
  this.session.join(this.config.client);
57092
57118
  }
57093
57119
  leaveSession() {
57094
- this.session.leave(this.exportData());
57120
+ this.session.leave(lazy(() => this.exportData()));
57095
57121
  }
57096
57122
  setupUiPlugin(Plugin) {
57097
57123
  const plugin = new Plugin(this.uiPluginConfig);
@@ -57559,6 +57585,6 @@ const constants = {
57559
57585
  export { AbstractChart, 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 };
57560
57586
 
57561
57587
 
57562
- __info__.version = "17.0.34";
57563
- __info__.date = "2024-08-09T12:20:17.042Z";
57564
- __info__.hash = "1573912";
57588
+ __info__.version = "17.0.36";
57589
+ __info__.date = "2024-08-26T13:49:04.635Z";
57590
+ __info__.hash = "6d5069e";