@odoo/o-spreadsheet 17.2.21 → 17.2.22

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.
@@ -3,9 +3,9 @@
3
3
  /**
4
4
  * This file is generated by o-spreadsheet build tools. Do not edit it.
5
5
  * @see https://github.com/odoo/o-spreadsheet
6
- * @version 17.2.21
7
- * @date 2024-08-19T08:10:10.580Z
8
- * @hash fb17f9c
6
+ * @version 17.2.22
7
+ * @date 2024-08-26T13:48:03.927Z
8
+ * @hash 4157fb8
9
9
  */
10
10
 
11
11
  'use strict';
@@ -29878,7 +29878,6 @@ class FindAndReplaceStore extends SpreadsheetStore {
29878
29878
  searchScope: "allSheets",
29879
29879
  specificRange: undefined,
29880
29880
  };
29881
- updateSearchContent = debounce(this._updateSearchContent.bind(this), 200);
29882
29881
  constructor(get) {
29883
29882
  super(get);
29884
29883
  this.initialShowFormulaState = this.model.getters.shouldShowFormulas();
@@ -29887,7 +29886,6 @@ class FindAndReplaceStore extends SpreadsheetStore {
29887
29886
  highlightStore.register(this);
29888
29887
  this.onDispose(() => {
29889
29888
  this.model.dispatch("SET_FORMULA_VISIBILITY", { show: this.initialShowFormulaState });
29890
- this.updateSearchContent.stopDebounce();
29891
29889
  highlightStore.unRegister(this);
29892
29890
  });
29893
29891
  }
@@ -29901,7 +29899,7 @@ class FindAndReplaceStore extends SpreadsheetStore {
29901
29899
  return this.specificRangeMatches;
29902
29900
  }
29903
29901
  }
29904
- _updateSearchContent(toSearch) {
29902
+ updateSearchContent(toSearch) {
29905
29903
  this._updateSearch(toSearch, this.searchOptions);
29906
29904
  }
29907
29905
  updateSearchOptions(searchOptions) {
@@ -29917,9 +29915,6 @@ class FindAndReplaceStore extends SpreadsheetStore {
29917
29915
  selectNextMatch() {
29918
29916
  this.selectNextCell(Direction.next);
29919
29917
  }
29920
- get pendingSearch() {
29921
- return this.updateSearchContent.isDebouncePending();
29922
- }
29923
29918
  handle(cmd) {
29924
29919
  switch (cmd.type) {
29925
29920
  case "SET_FORMULA_VISIBILITY":
@@ -30197,6 +30192,7 @@ class FindAndReplacePanel extends owl.Component {
30197
30192
  searchInput = owl.useRef("searchInput");
30198
30193
  store;
30199
30194
  state;
30195
+ updateSearchContent;
30200
30196
  get hasSearchResult() {
30201
30197
  return this.store.selectedMatchIndex !== null;
30202
30198
  }
@@ -30228,12 +30224,14 @@ class FindAndReplacePanel extends owl.Component {
30228
30224
  this.store = useLocalStore(FindAndReplaceStore);
30229
30225
  this.state = owl.useState({ dataRange: "" });
30230
30226
  owl.onMounted(() => this.searchInput.el?.focus());
30227
+ owl.onWillUnmount(() => this.updateSearchContent.stopDebounce());
30228
+ this.updateSearchContent = debounce(this.store.updateSearchContent, 200);
30231
30229
  }
30232
30230
  onFocusSearch() {
30233
30231
  this.updateDataRange();
30234
30232
  }
30235
30233
  onSearchInput(ev) {
30236
- this.store.updateSearchContent(ev.target?.value || "");
30234
+ this.updateSearchContent(ev.target.value);
30237
30235
  }
30238
30236
  onKeydownSearch(ev) {
30239
30237
  if (ev.key === "Enter") {
@@ -30272,6 +30270,9 @@ class FindAndReplacePanel extends owl.Component {
30272
30270
  const specificRange = this.env.model.getters.getRangeFromSheetXC(this.env.model.getters.getActiveSheetId(), this.state.dataRange);
30273
30271
  this.store.updateSearchOptions({ specificRange });
30274
30272
  }
30273
+ get pendingSearch() {
30274
+ return this.updateSearchContent.isDebouncePending();
30275
+ }
30275
30276
  }
30276
30277
 
30277
30278
  css /* scss */ `
@@ -31074,10 +31075,6 @@ class TablePanel extends owl.Component {
31074
31075
  });
31075
31076
  }
31076
31077
  onRangeChanged(ranges) {
31077
- if (!ranges[0] || !ranges[0].match(rangeReference)) {
31078
- this.state.tableZoneErrors = ["InvalidRange" /* CommandResult.InvalidRange */];
31079
- return;
31080
- }
31081
31078
  const sheetId = this.env.model.getters.getActiveSheetId();
31082
31079
  this.state.tableXc = ranges[0];
31083
31080
  this.state.tableZoneErrors = this.env.model.canDispatch("UPDATE_TABLE", {
@@ -31101,10 +31098,6 @@ class TablePanel extends owl.Component {
31101
31098
  cell: position,
31102
31099
  });
31103
31100
  }
31104
- this.state.tableZoneErrors = [];
31105
- this.state.tableXc = result.isSuccessful
31106
- ? this.state.tableXc
31107
- : this.env.model.getters.getRangeString(this.props.table.range, sheetId);
31108
31101
  }
31109
31102
  deleteTable() {
31110
31103
  const sheetId = this.env.model.getters.getActiveSheetId();
@@ -42998,7 +42991,10 @@ class HeaderSizePlugin extends CorePlugin {
42998
42991
  handle(cmd) {
42999
42992
  switch (cmd.type) {
43000
42993
  case "CREATE_SHEET": {
43001
- this.history.update("sizes", cmd.sheetId, { COL: [], ROW: [] });
42994
+ this.history.update("sizes", cmd.sheetId, {
42995
+ COL: Array(this.getters.getNumberCols(cmd.sheetId)).fill(undefined),
42996
+ ROW: Array(this.getters.getNumberRows(cmd.sheetId)).fill(undefined),
42997
+ });
43002
42998
  break;
43003
42999
  }
43004
43000
  case "DUPLICATE_SHEET":
@@ -52364,6 +52360,7 @@ class ClipboardPlugin extends UIPlugin {
52364
52360
  this.status = "invisible";
52365
52361
  if (this._isCutOperation) {
52366
52362
  this.copiedData = undefined;
52363
+ this._isCutOperation = false;
52367
52364
  }
52368
52365
  break;
52369
52366
  }
@@ -52461,6 +52458,7 @@ class ClipboardPlugin extends UIPlugin {
52461
52458
  }
52462
52459
  case "ACTIVATE_PAINT_FORMAT": {
52463
52460
  const zones = this.getters.getSelectedZones();
52461
+ this._isCutOperation = false;
52464
52462
  this.copiedData = this.copy(zones);
52465
52463
  this.status = "visible";
52466
52464
  if (cmd.persistent) {
@@ -60924,6 +60922,6 @@ exports.tokenColors = tokenColors;
60924
60922
  exports.tokenize = tokenize;
60925
60923
 
60926
60924
 
60927
- __info__.version = "17.2.21";
60928
- __info__.date = "2024-08-19T08:10:10.580Z";
60929
- __info__.hash = "fb17f9c";
60925
+ __info__.version = "17.2.22";
60926
+ __info__.date = "2024-08-26T13:48:03.927Z";
60927
+ __info__.hash = "4157fb8";
@@ -7968,15 +7968,13 @@ declare class FindAndReplaceStore extends SpreadsheetStore implements HighlightP
7968
7968
  toSearch: string;
7969
7969
  toReplace: string;
7970
7970
  searchOptions: SearchOptions;
7971
- updateSearchContent: DebouncedFunction<(toSearch: string) => void>;
7972
7971
  constructor(get: Get);
7973
7972
  get searchMatches(): CellPosition[];
7974
- private _updateSearchContent;
7973
+ updateSearchContent(toSearch: string): void;
7975
7974
  updateSearchOptions(searchOptions: Partial<SearchOptions>): void;
7976
7975
  searchFormulas(showFormula: boolean): void;
7977
7976
  selectPreviousMatch(): void;
7978
7977
  selectNextMatch(): void;
7979
- get pendingSearch(): boolean;
7980
7978
  handle(cmd: Command): void;
7981
7979
  finalize(): void;
7982
7980
  get allSheetMatchesCount(): number;
@@ -3,9 +3,9 @@
3
3
  /**
4
4
  * This file is generated by o-spreadsheet build tools. Do not edit it.
5
5
  * @see https://github.com/odoo/o-spreadsheet
6
- * @version 17.2.21
7
- * @date 2024-08-19T08:10:10.580Z
8
- * @hash fb17f9c
6
+ * @version 17.2.22
7
+ * @date 2024-08-26T13:48:03.927Z
8
+ * @hash 4157fb8
9
9
  */
10
10
 
11
11
  import { useEnv, useSubEnv, onWillUnmount, useComponent, status, Component, useRef, onMounted, useEffect, useState, onPatched, onWillPatch, onWillUpdateProps, useExternalListener, onWillStart, xml, useChildSubEnv, markRaw } from '@odoo/owl';
@@ -29876,7 +29876,6 @@ class FindAndReplaceStore extends SpreadsheetStore {
29876
29876
  searchScope: "allSheets",
29877
29877
  specificRange: undefined,
29878
29878
  };
29879
- updateSearchContent = debounce(this._updateSearchContent.bind(this), 200);
29880
29879
  constructor(get) {
29881
29880
  super(get);
29882
29881
  this.initialShowFormulaState = this.model.getters.shouldShowFormulas();
@@ -29885,7 +29884,6 @@ class FindAndReplaceStore extends SpreadsheetStore {
29885
29884
  highlightStore.register(this);
29886
29885
  this.onDispose(() => {
29887
29886
  this.model.dispatch("SET_FORMULA_VISIBILITY", { show: this.initialShowFormulaState });
29888
- this.updateSearchContent.stopDebounce();
29889
29887
  highlightStore.unRegister(this);
29890
29888
  });
29891
29889
  }
@@ -29899,7 +29897,7 @@ class FindAndReplaceStore extends SpreadsheetStore {
29899
29897
  return this.specificRangeMatches;
29900
29898
  }
29901
29899
  }
29902
- _updateSearchContent(toSearch) {
29900
+ updateSearchContent(toSearch) {
29903
29901
  this._updateSearch(toSearch, this.searchOptions);
29904
29902
  }
29905
29903
  updateSearchOptions(searchOptions) {
@@ -29915,9 +29913,6 @@ class FindAndReplaceStore extends SpreadsheetStore {
29915
29913
  selectNextMatch() {
29916
29914
  this.selectNextCell(Direction.next);
29917
29915
  }
29918
- get pendingSearch() {
29919
- return this.updateSearchContent.isDebouncePending();
29920
- }
29921
29916
  handle(cmd) {
29922
29917
  switch (cmd.type) {
29923
29918
  case "SET_FORMULA_VISIBILITY":
@@ -30195,6 +30190,7 @@ class FindAndReplacePanel extends Component {
30195
30190
  searchInput = useRef("searchInput");
30196
30191
  store;
30197
30192
  state;
30193
+ updateSearchContent;
30198
30194
  get hasSearchResult() {
30199
30195
  return this.store.selectedMatchIndex !== null;
30200
30196
  }
@@ -30226,12 +30222,14 @@ class FindAndReplacePanel extends Component {
30226
30222
  this.store = useLocalStore(FindAndReplaceStore);
30227
30223
  this.state = useState({ dataRange: "" });
30228
30224
  onMounted(() => this.searchInput.el?.focus());
30225
+ onWillUnmount(() => this.updateSearchContent.stopDebounce());
30226
+ this.updateSearchContent = debounce(this.store.updateSearchContent, 200);
30229
30227
  }
30230
30228
  onFocusSearch() {
30231
30229
  this.updateDataRange();
30232
30230
  }
30233
30231
  onSearchInput(ev) {
30234
- this.store.updateSearchContent(ev.target?.value || "");
30232
+ this.updateSearchContent(ev.target.value);
30235
30233
  }
30236
30234
  onKeydownSearch(ev) {
30237
30235
  if (ev.key === "Enter") {
@@ -30270,6 +30268,9 @@ class FindAndReplacePanel extends Component {
30270
30268
  const specificRange = this.env.model.getters.getRangeFromSheetXC(this.env.model.getters.getActiveSheetId(), this.state.dataRange);
30271
30269
  this.store.updateSearchOptions({ specificRange });
30272
30270
  }
30271
+ get pendingSearch() {
30272
+ return this.updateSearchContent.isDebouncePending();
30273
+ }
30273
30274
  }
30274
30275
 
30275
30276
  css /* scss */ `
@@ -31072,10 +31073,6 @@ class TablePanel extends Component {
31072
31073
  });
31073
31074
  }
31074
31075
  onRangeChanged(ranges) {
31075
- if (!ranges[0] || !ranges[0].match(rangeReference)) {
31076
- this.state.tableZoneErrors = ["InvalidRange" /* CommandResult.InvalidRange */];
31077
- return;
31078
- }
31079
31076
  const sheetId = this.env.model.getters.getActiveSheetId();
31080
31077
  this.state.tableXc = ranges[0];
31081
31078
  this.state.tableZoneErrors = this.env.model.canDispatch("UPDATE_TABLE", {
@@ -31099,10 +31096,6 @@ class TablePanel extends Component {
31099
31096
  cell: position,
31100
31097
  });
31101
31098
  }
31102
- this.state.tableZoneErrors = [];
31103
- this.state.tableXc = result.isSuccessful
31104
- ? this.state.tableXc
31105
- : this.env.model.getters.getRangeString(this.props.table.range, sheetId);
31106
31099
  }
31107
31100
  deleteTable() {
31108
31101
  const sheetId = this.env.model.getters.getActiveSheetId();
@@ -42996,7 +42989,10 @@ class HeaderSizePlugin extends CorePlugin {
42996
42989
  handle(cmd) {
42997
42990
  switch (cmd.type) {
42998
42991
  case "CREATE_SHEET": {
42999
- this.history.update("sizes", cmd.sheetId, { COL: [], ROW: [] });
42992
+ this.history.update("sizes", cmd.sheetId, {
42993
+ COL: Array(this.getters.getNumberCols(cmd.sheetId)).fill(undefined),
42994
+ ROW: Array(this.getters.getNumberRows(cmd.sheetId)).fill(undefined),
42995
+ });
43000
42996
  break;
43001
42997
  }
43002
42998
  case "DUPLICATE_SHEET":
@@ -52362,6 +52358,7 @@ class ClipboardPlugin extends UIPlugin {
52362
52358
  this.status = "invisible";
52363
52359
  if (this._isCutOperation) {
52364
52360
  this.copiedData = undefined;
52361
+ this._isCutOperation = false;
52365
52362
  }
52366
52363
  break;
52367
52364
  }
@@ -52459,6 +52456,7 @@ class ClipboardPlugin extends UIPlugin {
52459
52456
  }
52460
52457
  case "ACTIVATE_PAINT_FORMAT": {
52461
52458
  const zones = this.getters.getSelectedZones();
52459
+ this._isCutOperation = false;
52462
52460
  this.copiedData = this.copy(zones);
52463
52461
  this.status = "visible";
52464
52462
  if (cmd.persistent) {
@@ -60881,6 +60879,6 @@ const constants = {
60881
60879
  export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, CommandResult, CorePlugin, DispatchResult, EvaluationError, Model, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, UIPlugin, __info__, addFunction, addRenderingLayer, astToFormula, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, hooks, invalidateCFEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
60882
60880
 
60883
60881
 
60884
- __info__.version = "17.2.21";
60885
- __info__.date = "2024-08-19T08:10:10.580Z";
60886
- __info__.hash = "fb17f9c";
60882
+ __info__.version = "17.2.22";
60883
+ __info__.date = "2024-08-26T13:48:03.927Z";
60884
+ __info__.hash = "4157fb8";
@@ -3,9 +3,9 @@
3
3
  /**
4
4
  * This file is generated by o-spreadsheet build tools. Do not edit it.
5
5
  * @see https://github.com/odoo/o-spreadsheet
6
- * @version 17.2.21
7
- * @date 2024-08-19T08:10:10.580Z
8
- * @hash fb17f9c
6
+ * @version 17.2.22
7
+ * @date 2024-08-26T13:48:03.927Z
8
+ * @hash 4157fb8
9
9
  */
10
10
 
11
11
  (function (exports, owl) {
@@ -29877,7 +29877,6 @@ stores.inject(MyMetaStore, storeInstance);
29877
29877
  searchScope: "allSheets",
29878
29878
  specificRange: undefined,
29879
29879
  };
29880
- updateSearchContent = debounce(this._updateSearchContent.bind(this), 200);
29881
29880
  constructor(get) {
29882
29881
  super(get);
29883
29882
  this.initialShowFormulaState = this.model.getters.shouldShowFormulas();
@@ -29886,7 +29885,6 @@ stores.inject(MyMetaStore, storeInstance);
29886
29885
  highlightStore.register(this);
29887
29886
  this.onDispose(() => {
29888
29887
  this.model.dispatch("SET_FORMULA_VISIBILITY", { show: this.initialShowFormulaState });
29889
- this.updateSearchContent.stopDebounce();
29890
29888
  highlightStore.unRegister(this);
29891
29889
  });
29892
29890
  }
@@ -29900,7 +29898,7 @@ stores.inject(MyMetaStore, storeInstance);
29900
29898
  return this.specificRangeMatches;
29901
29899
  }
29902
29900
  }
29903
- _updateSearchContent(toSearch) {
29901
+ updateSearchContent(toSearch) {
29904
29902
  this._updateSearch(toSearch, this.searchOptions);
29905
29903
  }
29906
29904
  updateSearchOptions(searchOptions) {
@@ -29916,9 +29914,6 @@ stores.inject(MyMetaStore, storeInstance);
29916
29914
  selectNextMatch() {
29917
29915
  this.selectNextCell(Direction.next);
29918
29916
  }
29919
- get pendingSearch() {
29920
- return this.updateSearchContent.isDebouncePending();
29921
- }
29922
29917
  handle(cmd) {
29923
29918
  switch (cmd.type) {
29924
29919
  case "SET_FORMULA_VISIBILITY":
@@ -30196,6 +30191,7 @@ stores.inject(MyMetaStore, storeInstance);
30196
30191
  searchInput = owl.useRef("searchInput");
30197
30192
  store;
30198
30193
  state;
30194
+ updateSearchContent;
30199
30195
  get hasSearchResult() {
30200
30196
  return this.store.selectedMatchIndex !== null;
30201
30197
  }
@@ -30227,12 +30223,14 @@ stores.inject(MyMetaStore, storeInstance);
30227
30223
  this.store = useLocalStore(FindAndReplaceStore);
30228
30224
  this.state = owl.useState({ dataRange: "" });
30229
30225
  owl.onMounted(() => this.searchInput.el?.focus());
30226
+ owl.onWillUnmount(() => this.updateSearchContent.stopDebounce());
30227
+ this.updateSearchContent = debounce(this.store.updateSearchContent, 200);
30230
30228
  }
30231
30229
  onFocusSearch() {
30232
30230
  this.updateDataRange();
30233
30231
  }
30234
30232
  onSearchInput(ev) {
30235
- this.store.updateSearchContent(ev.target?.value || "");
30233
+ this.updateSearchContent(ev.target.value);
30236
30234
  }
30237
30235
  onKeydownSearch(ev) {
30238
30236
  if (ev.key === "Enter") {
@@ -30271,6 +30269,9 @@ stores.inject(MyMetaStore, storeInstance);
30271
30269
  const specificRange = this.env.model.getters.getRangeFromSheetXC(this.env.model.getters.getActiveSheetId(), this.state.dataRange);
30272
30270
  this.store.updateSearchOptions({ specificRange });
30273
30271
  }
30272
+ get pendingSearch() {
30273
+ return this.updateSearchContent.isDebouncePending();
30274
+ }
30274
30275
  }
30275
30276
 
30276
30277
  css /* scss */ `
@@ -31073,10 +31074,6 @@ stores.inject(MyMetaStore, storeInstance);
31073
31074
  });
31074
31075
  }
31075
31076
  onRangeChanged(ranges) {
31076
- if (!ranges[0] || !ranges[0].match(rangeReference)) {
31077
- this.state.tableZoneErrors = ["InvalidRange" /* CommandResult.InvalidRange */];
31078
- return;
31079
- }
31080
31077
  const sheetId = this.env.model.getters.getActiveSheetId();
31081
31078
  this.state.tableXc = ranges[0];
31082
31079
  this.state.tableZoneErrors = this.env.model.canDispatch("UPDATE_TABLE", {
@@ -31100,10 +31097,6 @@ stores.inject(MyMetaStore, storeInstance);
31100
31097
  cell: position,
31101
31098
  });
31102
31099
  }
31103
- this.state.tableZoneErrors = [];
31104
- this.state.tableXc = result.isSuccessful
31105
- ? this.state.tableXc
31106
- : this.env.model.getters.getRangeString(this.props.table.range, sheetId);
31107
31100
  }
31108
31101
  deleteTable() {
31109
31102
  const sheetId = this.env.model.getters.getActiveSheetId();
@@ -42997,7 +42990,10 @@ stores.inject(MyMetaStore, storeInstance);
42997
42990
  handle(cmd) {
42998
42991
  switch (cmd.type) {
42999
42992
  case "CREATE_SHEET": {
43000
- this.history.update("sizes", cmd.sheetId, { COL: [], ROW: [] });
42993
+ this.history.update("sizes", cmd.sheetId, {
42994
+ COL: Array(this.getters.getNumberCols(cmd.sheetId)).fill(undefined),
42995
+ ROW: Array(this.getters.getNumberRows(cmd.sheetId)).fill(undefined),
42996
+ });
43001
42997
  break;
43002
42998
  }
43003
42999
  case "DUPLICATE_SHEET":
@@ -52363,6 +52359,7 @@ stores.inject(MyMetaStore, storeInstance);
52363
52359
  this.status = "invisible";
52364
52360
  if (this._isCutOperation) {
52365
52361
  this.copiedData = undefined;
52362
+ this._isCutOperation = false;
52366
52363
  }
52367
52364
  break;
52368
52365
  }
@@ -52460,6 +52457,7 @@ stores.inject(MyMetaStore, storeInstance);
52460
52457
  }
52461
52458
  case "ACTIVATE_PAINT_FORMAT": {
52462
52459
  const zones = this.getters.getSelectedZones();
52460
+ this._isCutOperation = false;
52463
52461
  this.copiedData = this.copy(zones);
52464
52462
  this.status = "visible";
52465
52463
  if (cmd.persistent) {
@@ -60923,9 +60921,9 @@ stores.inject(MyMetaStore, storeInstance);
60923
60921
  exports.tokenize = tokenize;
60924
60922
 
60925
60923
 
60926
- __info__.version = "17.2.21";
60927
- __info__.date = "2024-08-19T08:10:10.580Z";
60928
- __info__.hash = "fb17f9c";
60924
+ __info__.version = "17.2.22";
60925
+ __info__.date = "2024-08-26T13:48:03.927Z";
60926
+ __info__.hash = "4157fb8";
60929
60927
 
60930
60928
 
60931
60929
  })(this.o_spreadsheet = this.o_spreadsheet || {}, owl);