@odoo/o-spreadsheet 17.2.12 → 17.2.14

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.12
7
- * @date 2024-06-21T19:58:15.248Z
8
- * @hash 1aaacc4
6
+ * @version 17.2.14
7
+ * @date 2024-07-02T10:35:53.850Z
8
+ * @hash fb0d979
9
9
  */
10
10
 
11
11
  (function (exports, owl) {
@@ -1817,9 +1817,10 @@
1817
1817
  sortedValues[indexLow] * (indexSup - percentIndex));
1818
1818
  }
1819
1819
 
1820
- // define a mock translation function, when o-spreadsheet runs in standalone it doesn't translate any string
1821
- let _translate = (s) => s;
1822
- let _loaded = () => false;
1820
+ const defaultTranslate = (s) => s;
1821
+ const defaultLoaded = () => false;
1822
+ let _translate = defaultTranslate;
1823
+ let _loaded = defaultLoaded;
1823
1824
  function sprintf(s, ...values) {
1824
1825
  if (values.length === 1 && typeof values[0] === "object" && !(values[0] instanceof String)) {
1825
1826
  const valuesDict = values[0];
@@ -1831,7 +1832,8 @@
1831
1832
  return s;
1832
1833
  }
1833
1834
  /***
1834
- * Allow to inject a translation function from outside o-spreadsheet.
1835
+ * Allow to inject a translation function from outside o-spreadsheet. This should be called before instantiating
1836
+ * a model.
1835
1837
  * @param tfn the function that will do the translation
1836
1838
  * @param loaded a function that returns true when the translation is loaded
1837
1839
  */
@@ -1839,6 +1841,18 @@
1839
1841
  _translate = tfn;
1840
1842
  _loaded = loaded;
1841
1843
  }
1844
+ /**
1845
+ * If no translation function has been set, this will mark the translation are loaded.
1846
+ *
1847
+ * By default, the translations should not be set as loaded, otherwise top-level translated constants will never be
1848
+ * translated. But if by the time the model is instantiated no custom translation function has been set, we can set
1849
+ * the default translation function as loaded so o-spreadsheet can be run in standalone with no translations.
1850
+ */
1851
+ function setDefaultTranslationMethod() {
1852
+ if (_translate === defaultTranslate && _loaded === defaultLoaded) {
1853
+ _loaded = () => true;
1854
+ }
1855
+ }
1842
1856
  const _t = function (s, ...values) {
1843
1857
  if (!_loaded()) {
1844
1858
  return new LazyTranslatedString(s, values);
@@ -29852,6 +29866,7 @@ stores.inject(MyMetaStore, storeInstance);
29852
29866
  currentSearchRegex = null;
29853
29867
  isSearchDirty = false;
29854
29868
  initialShowFormulaState;
29869
+ preserveSelectedMatchIndex = false;
29855
29870
  // fixme: why do we make selectedMatchIndex on top of a selected
29856
29871
  // property in the matches?
29857
29872
  selectedMatchIndex = null;
@@ -29961,7 +29976,9 @@ stores.inject(MyMetaStore, storeInstance);
29961
29976
  * refresh the matches according to the current search options
29962
29977
  */
29963
29978
  refreshSearch(jumpToMatchSheet = true) {
29964
- this.selectedMatchIndex = null;
29979
+ if (!this.preserveSelectedMatchIndex) {
29980
+ this.selectedMatchIndex = null;
29981
+ }
29965
29982
  this.findMatches();
29966
29983
  this.selectNextCell(Direction.current, jumpToMatchSheet);
29967
29984
  }
@@ -30060,10 +30077,16 @@ stores.inject(MyMetaStore, storeInstance);
30060
30077
  const selectedMatch = matches[nextIndex];
30061
30078
  // Switch to the sheet where the match is located
30062
30079
  if (jumpToMatchSheet && this.getters.getActiveSheetId() !== selectedMatch.sheetId) {
30080
+ // We set `preserveSelectedMatchIndex` to true to avoid resetting the selected search
30081
+ // index in the `refreshSearch` function when a new sheet is activated. The reason being
30082
+ // that, when we automatically go back to previous sheet while performing a search, the
30083
+ // search index is reset to the first occurrence each time.
30084
+ this.preserveSelectedMatchIndex = true;
30063
30085
  this.model.dispatch("ACTIVATE_SHEET", {
30064
30086
  sheetIdFrom: this.getters.getActiveSheetId(),
30065
30087
  sheetIdTo: selectedMatch.sheetId,
30066
30088
  });
30089
+ this.preserveSelectedMatchIndex = false;
30067
30090
  // We do not want to reset the selection at finalize in this case
30068
30091
  this.isSearchDirty = false;
30069
30092
  }
@@ -36469,6 +36492,8 @@ stores.inject(MyMetaStore, storeInstance);
36469
36492
  "BITOR",
36470
36493
  "BITRSHIFT",
36471
36494
  "BITXOR",
36495
+ "BYCOL",
36496
+ "BYROW",
36472
36497
  "CEILING.MATH",
36473
36498
  "CEILING.PRECISE",
36474
36499
  "CHISQ.DIST",
@@ -36476,6 +36501,8 @@ stores.inject(MyMetaStore, storeInstance);
36476
36501
  "CHISQ.INV",
36477
36502
  "CHISQ.INV.RT",
36478
36503
  "CHISQ.TEST",
36504
+ "CHOOSECOLS",
36505
+ "CHOOSEROWS",
36479
36506
  "COMBINA",
36480
36507
  "CONCAT",
36481
36508
  "CONFIDENCE.NORM",
@@ -36488,14 +36515,17 @@ stores.inject(MyMetaStore, storeInstance);
36488
36515
  "CSCH",
36489
36516
  "DAYS",
36490
36517
  "DECIMAL",
36518
+ "DROP",
36491
36519
  "ERF.PRECISE",
36492
36520
  "ERFC.PRECISE",
36521
+ "EXPAND",
36493
36522
  "EXPON.DIST",
36494
36523
  "F.DIST",
36495
36524
  "F.DIST.RT",
36496
36525
  "F.INV",
36497
36526
  "F.INV.RT",
36498
36527
  "F.TEST",
36528
+ "FIELDVALUE",
36499
36529
  "FILTERXML",
36500
36530
  "FLOOR.MATH",
36501
36531
  "FLOOR.PRECISE",
@@ -36510,6 +36540,7 @@ stores.inject(MyMetaStore, storeInstance);
36510
36540
  "GAMMA.INV",
36511
36541
  "GAMMALN.PRECISE",
36512
36542
  "GAUSS",
36543
+ "HSTACK",
36513
36544
  "HYPGEOM.DIST",
36514
36545
  "IFNA",
36515
36546
  "IFS",
@@ -36522,9 +36553,14 @@ stores.inject(MyMetaStore, storeInstance);
36522
36553
  "IMSINH",
36523
36554
  "IMTAN",
36524
36555
  "ISFORMULA",
36556
+ "ISOMITTED",
36525
36557
  "ISOWEEKNUM",
36558
+ "LAMBDA",
36559
+ "LET",
36526
36560
  "LOGNORM.DIST",
36527
36561
  "LOGNORM.INV",
36562
+ "MAKEARRAY",
36563
+ "MAP",
36528
36564
  "MAXIFS",
36529
36565
  "MINIFS",
36530
36566
  "MODE.MULT",
@@ -36544,17 +36580,26 @@ stores.inject(MyMetaStore, storeInstance);
36544
36580
  "PERMUTATIONA",
36545
36581
  "PHI",
36546
36582
  "POISSON.DIST",
36583
+ "PQSOURCE",
36584
+ "PYTHON_STR",
36585
+ "PYTHON_TYPE",
36586
+ "PYTHON_TYPENAME",
36547
36587
  "QUARTILE.EXC",
36548
36588
  "QUARTILE.INC",
36549
36589
  "QUERYSTRING",
36590
+ "RANDARRAY",
36550
36591
  "RANK.AVG",
36551
36592
  "RANK.EQ",
36593
+ "REDUCE",
36552
36594
  "RRI",
36595
+ "SCAN",
36553
36596
  "SEC",
36554
36597
  "SECH",
36598
+ "SEQUENCE",
36555
36599
  "SHEET",
36556
36600
  "SHEETS",
36557
36601
  "SKEW.P",
36602
+ "SORTBY",
36558
36603
  "STDEV.P",
36559
36604
  "STDEV.S",
36560
36605
  "SWITCH",
@@ -36564,13 +36609,24 @@ stores.inject(MyMetaStore, storeInstance);
36564
36609
  "T.INV",
36565
36610
  "T.INV.2T",
36566
36611
  "T.TEST",
36612
+ "TAKE",
36613
+ "TEXTAFTER",
36614
+ "TEXTBEFORE",
36567
36615
  "TEXTJOIN",
36616
+ "TEXTSPLIT",
36617
+ "TOCOL",
36618
+ "TOROW",
36568
36619
  "UNICHAR",
36569
36620
  "UNICODE",
36621
+ "UNIQUE",
36570
36622
  "VAR.P",
36571
36623
  "VAR.S",
36624
+ "VSTACK",
36572
36625
  "WEBSERVICE",
36573
36626
  "WEIBULL.DIST",
36627
+ "WRAPCOLS",
36628
+ "WRAPROWS",
36629
+ "XLOOKUP",
36574
36630
  "XOR",
36575
36631
  "Z.TEST",
36576
36632
  ];
@@ -54979,7 +55035,7 @@ stores.inject(MyMetaStore, storeInstance);
54979
55035
  this.DOMFocusableElementStore.focus();
54980
55036
  }
54981
55037
  }
54982
- onClickSheetName(ev) {
55038
+ onMouseEventSheetName(ev) {
54983
55039
  if (this.state.isEditing)
54984
55040
  ev.stopPropagation();
54985
55041
  }
@@ -60151,6 +60207,7 @@ stores.inject(MyMetaStore, storeInstance);
60151
60207
  coreHandlers = [];
60152
60208
  constructor(data = {}, config = {}, stateUpdateMessages = [], uuidGenerator = new UuidGenerator(), verboseImport = true) {
60153
60209
  super();
60210
+ setDefaultTranslationMethod();
60154
60211
  stateUpdateMessages = repairInitialMessages(data, stateUpdateMessages);
60155
60212
  const workbookData = load(data, verboseImport);
60156
60213
  this.state = new StateObserver();
@@ -60783,9 +60840,9 @@ stores.inject(MyMetaStore, storeInstance);
60783
60840
  exports.tokenize = tokenize;
60784
60841
 
60785
60842
 
60786
- __info__.version = "17.2.12";
60787
- __info__.date = "2024-06-21T19:58:15.248Z";
60788
- __info__.hash = "1aaacc4";
60843
+ __info__.version = "17.2.14";
60844
+ __info__.date = "2024-07-02T10:35:53.850Z";
60845
+ __info__.hash = "fb0d979";
60789
60846
 
60790
60847
 
60791
60848
  })(this.o_spreadsheet = this.o_spreadsheet || {}, owl);