@odoo/o-spreadsheet 19.0.9 → 19.0.10

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 19.0.9
6
- * @date 2025-11-03T12:32:15.473Z
7
- * @hash 10359f4
5
+ * @version 19.0.10
6
+ * @date 2025-11-12T14:15:51.076Z
7
+ * @hash 18ac688
8
8
  */
9
9
 
10
10
  import { useEnv, useSubEnv, onWillUnmount, useComponent, status, Component, useRef, onMounted, useEffect, App, blockDom, useState, onPatched, useExternalListener, onWillUpdateProps, onWillStart, onWillPatch, xml, useChildSubEnv, markRaw, toRaw } from '@odoo/owl';
@@ -2499,7 +2499,10 @@ function isInside(col, row, zone) {
2499
2499
  * Check if a zone is inside another
2500
2500
  */
2501
2501
  function isZoneInside(smallZone, biggerZone) {
2502
- return isEqual(union(biggerZone, smallZone), biggerZone);
2502
+ return (smallZone.left >= biggerZone.left &&
2503
+ smallZone.right <= biggerZone.right &&
2504
+ smallZone.top >= biggerZone.top &&
2505
+ smallZone.bottom <= biggerZone.bottom);
2503
2506
  }
2504
2507
  function zoneToDimension(zone) {
2505
2508
  return {
@@ -6902,7 +6905,7 @@ function getRangeString(range, forSheetId, getSheetName, options = { useBoundedR
6902
6905
  let sheetName = "";
6903
6906
  if (prefixSheet) {
6904
6907
  if (range.invalidSheetName) {
6905
- sheetName = range.invalidSheetName;
6908
+ sheetName = getCanonicalSymbolName(range.invalidSheetName);
6906
6909
  }
6907
6910
  else {
6908
6911
  sheetName = getCanonicalSymbolName(getSheetName(range.sheetId));
@@ -24418,7 +24421,7 @@ let ScorecardChart$1 = class ScorecardChart extends AbstractChart {
24418
24421
  return {
24419
24422
  background: context.background,
24420
24423
  type: "scorecard",
24421
- keyValue: context.range ? context.range[0].dataRange : undefined,
24424
+ keyValue: context.range?.[0]?.dataRange,
24422
24425
  title: context.title || { text: "" },
24423
24426
  baselineMode: DEFAULT_SCORECARD_BASELINE_MODE,
24424
24427
  baselineColorUp: DEFAULT_SCORECARD_BASELINE_COLOR_UP,
@@ -29127,7 +29130,7 @@ class GaugeChart extends AbstractChart {
29127
29130
  background: context.background,
29128
29131
  title: context.title || { text: "" },
29129
29132
  type: "gauge",
29130
- dataRange: context.range ? context.range[0].dataRange : undefined,
29133
+ dataRange: context.range?.[0]?.dataRange,
29131
29134
  sectionRule: {
29132
29135
  colors: {
29133
29136
  lowerColor: DEFAULT_GAUGE_LOWER_COLOR,
@@ -31019,8 +31022,7 @@ function generateMasterChartConfig(chartJsConfig) {
31019
31022
  .filter((ds) => !isTrendLineAxis(ds["xAxisID"]))
31020
31023
  .map((ds) => ({
31021
31024
  ...ds,
31022
- pointRadius: 0,
31023
- showLine: true,
31025
+ pointRadius: ds.showLine === false ? 2 : 0, // Show points only for scatter plots
31024
31026
  })),
31025
31027
  },
31026
31028
  options: {
@@ -35162,6 +35164,7 @@ class AbstractComposerStore extends SpreadsheetStore {
35162
35164
  this.highlightStore.register(this);
35163
35165
  this.onDispose(() => {
35164
35166
  this.highlightStore.unRegister(this);
35167
+ this._cancelEdition();
35165
35168
  });
35166
35169
  }
35167
35170
  handleEvent(event) {
@@ -52189,6 +52192,9 @@ class GridRenderer extends SpreadsheetStore {
52189
52192
  break;
52190
52193
  }
52191
52194
  }
52195
+ finalize() {
52196
+ this.zonesWithPreventedAnimationsInNextFrame = recomputeZones(this.zonesWithPreventedAnimationsInNextFrame);
52197
+ }
52192
52198
  get renderingLayers() {
52193
52199
  return ["Background", "Headers"];
52194
52200
  }
@@ -80486,6 +80492,7 @@ topbarMenuRegistry
80486
80492
  .add("file", {
80487
80493
  name: _t("File"),
80488
80494
  sequence: 10,
80495
+ isReadonlyAllowed: true,
80489
80496
  })
80490
80497
  .addChild("settings", ["file"], {
80491
80498
  name: _t("Settings"),
@@ -80500,6 +80507,7 @@ topbarMenuRegistry
80500
80507
  .add("edit", {
80501
80508
  name: _t("Edit"),
80502
80509
  sequence: 20,
80510
+ isReadonlyAllowed: true,
80503
80511
  })
80504
80512
  .addChild("undo", ["edit"], {
80505
80513
  ...undo,
@@ -80584,6 +80592,7 @@ topbarMenuRegistry
80584
80592
  .add("view", {
80585
80593
  name: _t("View"),
80586
80594
  sequence: 30,
80595
+ isReadonlyAllowed: true,
80587
80596
  })
80588
80597
  .addChild("unfreeze_panes", ["view"], {
80589
80598
  ...unFreezePane,
@@ -80675,6 +80684,7 @@ topbarMenuRegistry
80675
80684
  .add("insert", {
80676
80685
  name: _t("Insert"),
80677
80686
  sequence: 40,
80687
+ isReadonlyAllowed: true,
80678
80688
  })
80679
80689
  .addChild("insert_row", ["insert"], {
80680
80690
  ...insertRow,
@@ -80786,7 +80796,11 @@ topbarMenuRegistry
80786
80796
  // ---------------------------------------------------------------------
80787
80797
  // FORMAT MENU ITEMS
80788
80798
  // ---------------------------------------------------------------------
80789
- .add("format", { name: _t("Format"), sequence: 50 })
80799
+ .add("format", {
80800
+ name: _t("Format"),
80801
+ sequence: 50,
80802
+ isReadonlyAllowed: true,
80803
+ })
80790
80804
  .addChild("format_number", ["format"], {
80791
80805
  ...formatNumberMenuItemSpec,
80792
80806
  name: _t("Number"),
@@ -80878,6 +80892,7 @@ topbarMenuRegistry
80878
80892
  .add("data", {
80879
80893
  name: _t("Data"),
80880
80894
  sequence: 60,
80895
+ isReadonlyAllowed: true,
80881
80896
  })
80882
80897
  .addChild("sort_range", ["data"], {
80883
80898
  ...sortRange,
@@ -88917,6 +88932,6 @@ const chartHelpers = { ...CHART_HELPERS, ...CHART_RUNTIME_HELPERS };
88917
88932
  export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, ClientDisconnectedError, CommandResult, CorePlugin, CoreViewPlugin, DispatchResult, EvaluationError, LocalTransportService, Model, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, SpreadsheetPivotTable, UIPlugin, __info__, addFunction, addRenderingLayer, astToFormula, chartHelpers, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, getCaretDownSvg, getCaretUpSvg, helpers, hooks, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
88918
88933
 
88919
88934
 
88920
- __info__.version = "19.0.9";
88921
- __info__.date = "2025-11-03T12:32:15.473Z";
88922
- __info__.hash = "10359f4";
88935
+ __info__.version = "19.0.10";
88936
+ __info__.date = "2025-11-12T14:15:51.076Z";
88937
+ __info__.hash = "18ac688";
@@ -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 19.0.9
6
- * @date 2025-11-03T12:32:15.473Z
7
- * @hash 10359f4
5
+ * @version 19.0.10
6
+ * @date 2025-11-12T14:15:51.076Z
7
+ * @hash 18ac688
8
8
  */
9
9
 
10
10
  (function (exports, owl) {
@@ -2500,7 +2500,10 @@
2500
2500
  * Check if a zone is inside another
2501
2501
  */
2502
2502
  function isZoneInside(smallZone, biggerZone) {
2503
- return isEqual(union(biggerZone, smallZone), biggerZone);
2503
+ return (smallZone.left >= biggerZone.left &&
2504
+ smallZone.right <= biggerZone.right &&
2505
+ smallZone.top >= biggerZone.top &&
2506
+ smallZone.bottom <= biggerZone.bottom);
2504
2507
  }
2505
2508
  function zoneToDimension(zone) {
2506
2509
  return {
@@ -6903,7 +6906,7 @@
6903
6906
  let sheetName = "";
6904
6907
  if (prefixSheet) {
6905
6908
  if (range.invalidSheetName) {
6906
- sheetName = range.invalidSheetName;
6909
+ sheetName = getCanonicalSymbolName(range.invalidSheetName);
6907
6910
  }
6908
6911
  else {
6909
6912
  sheetName = getCanonicalSymbolName(getSheetName(range.sheetId));
@@ -24419,7 +24422,7 @@ stores.inject(MyMetaStore, storeInstance);
24419
24422
  return {
24420
24423
  background: context.background,
24421
24424
  type: "scorecard",
24422
- keyValue: context.range ? context.range[0].dataRange : undefined,
24425
+ keyValue: context.range?.[0]?.dataRange,
24423
24426
  title: context.title || { text: "" },
24424
24427
  baselineMode: DEFAULT_SCORECARD_BASELINE_MODE,
24425
24428
  baselineColorUp: DEFAULT_SCORECARD_BASELINE_COLOR_UP,
@@ -29128,7 +29131,7 @@ stores.inject(MyMetaStore, storeInstance);
29128
29131
  background: context.background,
29129
29132
  title: context.title || { text: "" },
29130
29133
  type: "gauge",
29131
- dataRange: context.range ? context.range[0].dataRange : undefined,
29134
+ dataRange: context.range?.[0]?.dataRange,
29132
29135
  sectionRule: {
29133
29136
  colors: {
29134
29137
  lowerColor: DEFAULT_GAUGE_LOWER_COLOR,
@@ -31020,8 +31023,7 @@ stores.inject(MyMetaStore, storeInstance);
31020
31023
  .filter((ds) => !isTrendLineAxis(ds["xAxisID"]))
31021
31024
  .map((ds) => ({
31022
31025
  ...ds,
31023
- pointRadius: 0,
31024
- showLine: true,
31026
+ pointRadius: ds.showLine === false ? 2 : 0, // Show points only for scatter plots
31025
31027
  })),
31026
31028
  },
31027
31029
  options: {
@@ -35163,6 +35165,7 @@ stores.inject(MyMetaStore, storeInstance);
35163
35165
  this.highlightStore.register(this);
35164
35166
  this.onDispose(() => {
35165
35167
  this.highlightStore.unRegister(this);
35168
+ this._cancelEdition();
35166
35169
  });
35167
35170
  }
35168
35171
  handleEvent(event) {
@@ -52190,6 +52193,9 @@ stores.inject(MyMetaStore, storeInstance);
52190
52193
  break;
52191
52194
  }
52192
52195
  }
52196
+ finalize() {
52197
+ this.zonesWithPreventedAnimationsInNextFrame = recomputeZones(this.zonesWithPreventedAnimationsInNextFrame);
52198
+ }
52193
52199
  get renderingLayers() {
52194
52200
  return ["Background", "Headers"];
52195
52201
  }
@@ -80487,6 +80493,7 @@ stores.inject(MyMetaStore, storeInstance);
80487
80493
  .add("file", {
80488
80494
  name: _t("File"),
80489
80495
  sequence: 10,
80496
+ isReadonlyAllowed: true,
80490
80497
  })
80491
80498
  .addChild("settings", ["file"], {
80492
80499
  name: _t("Settings"),
@@ -80501,6 +80508,7 @@ stores.inject(MyMetaStore, storeInstance);
80501
80508
  .add("edit", {
80502
80509
  name: _t("Edit"),
80503
80510
  sequence: 20,
80511
+ isReadonlyAllowed: true,
80504
80512
  })
80505
80513
  .addChild("undo", ["edit"], {
80506
80514
  ...undo,
@@ -80585,6 +80593,7 @@ stores.inject(MyMetaStore, storeInstance);
80585
80593
  .add("view", {
80586
80594
  name: _t("View"),
80587
80595
  sequence: 30,
80596
+ isReadonlyAllowed: true,
80588
80597
  })
80589
80598
  .addChild("unfreeze_panes", ["view"], {
80590
80599
  ...unFreezePane,
@@ -80676,6 +80685,7 @@ stores.inject(MyMetaStore, storeInstance);
80676
80685
  .add("insert", {
80677
80686
  name: _t("Insert"),
80678
80687
  sequence: 40,
80688
+ isReadonlyAllowed: true,
80679
80689
  })
80680
80690
  .addChild("insert_row", ["insert"], {
80681
80691
  ...insertRow,
@@ -80787,7 +80797,11 @@ stores.inject(MyMetaStore, storeInstance);
80787
80797
  // ---------------------------------------------------------------------
80788
80798
  // FORMAT MENU ITEMS
80789
80799
  // ---------------------------------------------------------------------
80790
- .add("format", { name: _t("Format"), sequence: 50 })
80800
+ .add("format", {
80801
+ name: _t("Format"),
80802
+ sequence: 50,
80803
+ isReadonlyAllowed: true,
80804
+ })
80791
80805
  .addChild("format_number", ["format"], {
80792
80806
  ...formatNumberMenuItemSpec,
80793
80807
  name: _t("Number"),
@@ -80879,6 +80893,7 @@ stores.inject(MyMetaStore, storeInstance);
80879
80893
  .add("data", {
80880
80894
  name: _t("Data"),
80881
80895
  sequence: 60,
80896
+ isReadonlyAllowed: true,
80882
80897
  })
80883
80898
  .addChild("sort_range", ["data"], {
80884
80899
  ...sortRange,
@@ -88968,9 +88983,9 @@ stores.inject(MyMetaStore, storeInstance);
88968
88983
  exports.tokenize = tokenize;
88969
88984
 
88970
88985
 
88971
- __info__.version = "19.0.9";
88972
- __info__.date = "2025-11-03T12:32:15.473Z";
88973
- __info__.hash = "10359f4";
88986
+ __info__.version = "19.0.10";
88987
+ __info__.date = "2025-11-12T14:15:51.076Z";
88988
+ __info__.hash = "18ac688";
88974
88989
 
88975
88990
 
88976
88991
  })(this.o_spreadsheet = this.o_spreadsheet || {}, owl);