@odoo/o-spreadsheet 19.0.49 → 19.0.50

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.49
6
- * @date 2026-09-04T07:28:56.108Z
7
- * @hash 3926688
5
+ * @version 19.0.50
6
+ * @date 2026-09-10T05:35:45.664Z
7
+ * @hash e499258
8
8
  */
9
9
  /* Originates from src/components/top_bar/top_bar.scss */
10
10
  @media (max-width: 1200px) {
@@ -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.49
6
- * @date 2026-09-04T07:28:54.520Z
7
- * @hash 3926688
5
+ * @version 19.0.50
6
+ * @date 2026-09-10T05:35:44.046Z
7
+ * @hash e499258
8
8
  */
9
9
 
10
10
  import { App, Component, blockDom, markRaw, onMounted, onPatched, onWillPatch, onWillStart, onWillUnmount, onWillUpdateProps, status, toRaw, useChildSubEnv, useComponent, useEffect, useEnv, useExternalListener, useRef, useState, useSubEnv, xml } from "@odoo/owl";
@@ -16420,7 +16420,7 @@ const RemoveDuplicateTerms = { Errors: {
16420
16420
  ["MoreThanOneRangeSelected"]: _t("Please select only one range of cells"),
16421
16421
  ["EmptyTarget"]: _t("Please select a range of cells containing values."),
16422
16422
  ["NoColumnsProvided"]: _t("Please select at latest one column to analyze."),
16423
- ["WillRemoveExistingMerge"]: _t("This operation is not possible due to a merge. Please remove the merges first than try again.")
16423
+ ["WillRemoveExistingMerge"]: _t("Cannot perform this action on merged cells. Unmerge the cells and try again.")
16424
16424
  } };
16425
16425
  const DVTerms = {
16426
16426
  DateIs: {
@@ -19419,6 +19419,7 @@ const chartShowValuesPlugin = {
19419
19419
  case "doughnut":
19420
19420
  drawPieChartValues(chart, options, ctx);
19421
19421
  break;
19422
+ case "combo":
19422
19423
  case "bar":
19423
19424
  case "line":
19424
19425
  case "radar":
@@ -19449,7 +19450,7 @@ function drawLineOrBarOrRadarChartValues(chart, options, ctx) {
19449
19450
  const point = dataset.data[i];
19450
19451
  const xPosition = point.x;
19451
19452
  let yPosition = 0;
19452
- if (chart.config.type === "line" || chart.config.type === "radar") yPosition = value < 0 ? point.y + 10 : point.y - 10;
19453
+ if (dataset.type === "line" || dataset.type === "radar") yPosition = value < 0 ? point.y + 10 : point.y - 10;
19453
19454
  else {
19454
19455
  const yZeroLine = yAxisScale.getPixelForValue(0);
19455
19456
  const distanceFromAxisOrigin = Math.abs(yZeroLine - point.y);
@@ -45272,6 +45273,11 @@ var GridOverlay = class extends Component {
45272
45273
  });
45273
45274
  return icon?.onClick ? icon : void 0;
45274
45275
  }
45276
+ get isFooterVisible() {
45277
+ const { y } = this.env.model.getters.getMainViewportCoordinates();
45278
+ const { height } = this.env.model.getters.getSheetViewDimension();
45279
+ return !this.env.model.getters.isReadonly() && height - y > 46;
45280
+ }
45275
45281
  };
45276
45282
 
45277
45283
  //#endregion
@@ -51908,7 +51914,7 @@ var FindAndReplacePanel = class extends Component {
51908
51914
  }
51909
51915
  get specificRangeMatchesCount() {
51910
51916
  const range = this.searchOptions.specificRange;
51911
- if (!range) return "";
51917
+ if (!range || range.invalidSheetName || range.invalidXc) return "";
51912
51918
  const { sheetId, zone } = range;
51913
51919
  return _t("%(matches)s matches in range %(range)s of %(sheetName)s", {
51914
51920
  matches: this.store.specificRangeMatchesCount,
@@ -66595,7 +66601,8 @@ var GeoFeaturePlugin = class extends UIPlugin {
66595
66601
  static getters = [
66596
66602
  "getGeoJsonFeatures",
66597
66603
  "geoFeatureNameToId",
66598
- "getGeoChartAvailableRegions"
66604
+ "getGeoChartAvailableRegions",
66605
+ "loadUsedGeoJsonFeatures"
66599
66606
  ];
66600
66607
  geoJsonService;
66601
66608
  geoJsonCache = {};
@@ -66632,6 +66639,23 @@ var GeoFeaturePlugin = class extends UIPlugin {
66632
66639
  }
66633
66640
  return this.geoJsonService.geoFeatureNameToId(region, featureName);
66634
66641
  }
66642
+ loadUsedGeoJsonFeatures() {
66643
+ const regions = this.getters.getSheetIds().flatMap((sheetId) => this.getters.getChartIds(sheetId).map((chartId) => {
66644
+ const definition = this.getters.getChartDefinition(chartId);
66645
+ return definition.type === "geo" ? definition.region || this.getters.getGeoChartAvailableRegions()[0]?.id : void 0;
66646
+ })).filter(isDefined);
66647
+ const uniqueRegions = Array.from(new Set(regions));
66648
+ if (uniqueRegions.length && !this.geoJsonService) {
66649
+ console.error("No geoJsonService provided to the model");
66650
+ return Promise.resolve();
66651
+ }
66652
+ for (const region of uniqueRegions) this.getGeoJsonFeatures(region);
66653
+ const promises = uniqueRegions.map((region) => {
66654
+ const cachedGeoJson = this.geoJsonCache[region];
66655
+ return cachedGeoJson instanceof Promise ? cachedGeoJson : Promise.resolve();
66656
+ });
66657
+ return Promise.all(promises).then(() => {});
66658
+ }
66635
66659
  convertToGeoJson(json) {
66636
66660
  if (!json) return null;
66637
66661
  if (json.type === "Topology") {
@@ -69646,7 +69670,7 @@ var InternalViewport = class {
69646
69670
  let height = lastRowEnd - this.offsetCorrectionY;
69647
69671
  if (this.canScrollVertically) {
69648
69672
  height = Math.max(height, this.viewportHeight);
69649
- if (lastRowEnd + 46 > height && !this.getters.isReadonly()) height += 46;
69673
+ if (lastRowEnd + 46 > height && !this.getters.isReadonly() && this.viewportHeight > 46) height += 46;
69650
69674
  }
69651
69675
  return {
69652
69676
  width,
@@ -79492,6 +79516,6 @@ const chartHelpers = {
79492
79516
  //#endregion
79493
79517
  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 };
79494
79518
 
79495
- __info__.version = "19.0.49";
79496
- __info__.date = "2026-09-04T07:28:54.520Z";
79497
- __info__.hash = "3926688";
79519
+ __info__.version = "19.0.50";
79520
+ __info__.date = "2026-09-10T05:35:44.046Z";
79521
+ __info__.hash = "e499258";
@@ -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.49
6
- * @date 2026-09-04T07:28:54.520Z
7
- * @hash 3926688
5
+ * @version 19.0.50
6
+ * @date 2026-09-10T05:35:44.046Z
7
+ * @hash e499258
8
8
  */
9
9
 
10
10
  (function(exports, _odoo_owl) {
@@ -16422,7 +16422,7 @@ stores.inject(MyMetaStore, storeInstance);
16422
16422
  ["MoreThanOneRangeSelected"]: _t("Please select only one range of cells"),
16423
16423
  ["EmptyTarget"]: _t("Please select a range of cells containing values."),
16424
16424
  ["NoColumnsProvided"]: _t("Please select at latest one column to analyze."),
16425
- ["WillRemoveExistingMerge"]: _t("This operation is not possible due to a merge. Please remove the merges first than try again.")
16425
+ ["WillRemoveExistingMerge"]: _t("Cannot perform this action on merged cells. Unmerge the cells and try again.")
16426
16426
  } };
16427
16427
  const DVTerms = {
16428
16428
  DateIs: {
@@ -19421,6 +19421,7 @@ stores.inject(MyMetaStore, storeInstance);
19421
19421
  case "doughnut":
19422
19422
  drawPieChartValues(chart, options, ctx);
19423
19423
  break;
19424
+ case "combo":
19424
19425
  case "bar":
19425
19426
  case "line":
19426
19427
  case "radar":
@@ -19451,7 +19452,7 @@ stores.inject(MyMetaStore, storeInstance);
19451
19452
  const point = dataset.data[i];
19452
19453
  const xPosition = point.x;
19453
19454
  let yPosition = 0;
19454
- if (chart.config.type === "line" || chart.config.type === "radar") yPosition = value < 0 ? point.y + 10 : point.y - 10;
19455
+ if (dataset.type === "line" || dataset.type === "radar") yPosition = value < 0 ? point.y + 10 : point.y - 10;
19455
19456
  else {
19456
19457
  const yZeroLine = yAxisScale.getPixelForValue(0);
19457
19458
  const distanceFromAxisOrigin = Math.abs(yZeroLine - point.y);
@@ -45274,6 +45275,11 @@ stores.inject(MyMetaStore, storeInstance);
45274
45275
  });
45275
45276
  return icon?.onClick ? icon : void 0;
45276
45277
  }
45278
+ get isFooterVisible() {
45279
+ const { y } = this.env.model.getters.getMainViewportCoordinates();
45280
+ const { height } = this.env.model.getters.getSheetViewDimension();
45281
+ return !this.env.model.getters.isReadonly() && height - y > 46;
45282
+ }
45277
45283
  };
45278
45284
 
45279
45285
  //#endregion
@@ -51910,7 +51916,7 @@ stores.inject(MyMetaStore, storeInstance);
51910
51916
  }
51911
51917
  get specificRangeMatchesCount() {
51912
51918
  const range = this.searchOptions.specificRange;
51913
- if (!range) return "";
51919
+ if (!range || range.invalidSheetName || range.invalidXc) return "";
51914
51920
  const { sheetId, zone } = range;
51915
51921
  return _t("%(matches)s matches in range %(range)s of %(sheetName)s", {
51916
51922
  matches: this.store.specificRangeMatchesCount,
@@ -66597,7 +66603,8 @@ stores.inject(MyMetaStore, storeInstance);
66597
66603
  static getters = [
66598
66604
  "getGeoJsonFeatures",
66599
66605
  "geoFeatureNameToId",
66600
- "getGeoChartAvailableRegions"
66606
+ "getGeoChartAvailableRegions",
66607
+ "loadUsedGeoJsonFeatures"
66601
66608
  ];
66602
66609
  geoJsonService;
66603
66610
  geoJsonCache = {};
@@ -66634,6 +66641,23 @@ stores.inject(MyMetaStore, storeInstance);
66634
66641
  }
66635
66642
  return this.geoJsonService.geoFeatureNameToId(region, featureName);
66636
66643
  }
66644
+ loadUsedGeoJsonFeatures() {
66645
+ const regions = this.getters.getSheetIds().flatMap((sheetId) => this.getters.getChartIds(sheetId).map((chartId) => {
66646
+ const definition = this.getters.getChartDefinition(chartId);
66647
+ return definition.type === "geo" ? definition.region || this.getters.getGeoChartAvailableRegions()[0]?.id : void 0;
66648
+ })).filter(isDefined);
66649
+ const uniqueRegions = Array.from(new Set(regions));
66650
+ if (uniqueRegions.length && !this.geoJsonService) {
66651
+ console.error("No geoJsonService provided to the model");
66652
+ return Promise.resolve();
66653
+ }
66654
+ for (const region of uniqueRegions) this.getGeoJsonFeatures(region);
66655
+ const promises = uniqueRegions.map((region) => {
66656
+ const cachedGeoJson = this.geoJsonCache[region];
66657
+ return cachedGeoJson instanceof Promise ? cachedGeoJson : Promise.resolve();
66658
+ });
66659
+ return Promise.all(promises).then(() => {});
66660
+ }
66637
66661
  convertToGeoJson(json) {
66638
66662
  if (!json) return null;
66639
66663
  if (json.type === "Topology") {
@@ -69648,7 +69672,7 @@ stores.inject(MyMetaStore, storeInstance);
69648
69672
  let height = lastRowEnd - this.offsetCorrectionY;
69649
69673
  if (this.canScrollVertically) {
69650
69674
  height = Math.max(height, this.viewportHeight);
69651
- if (lastRowEnd + 46 > height && !this.getters.isReadonly()) height += 46;
69675
+ if (lastRowEnd + 46 > height && !this.getters.isReadonly() && this.viewportHeight > 46) height += 46;
69652
69676
  }
69653
69677
  return {
69654
69678
  width,
@@ -79545,8 +79569,8 @@ exports.stores = stores;
79545
79569
  exports.tokenColors = tokenColors;
79546
79570
  exports.tokenize = tokenize;
79547
79571
 
79548
- __info__.version = "19.0.49";
79549
- __info__.date = "2026-09-04T07:28:54.520Z";
79550
- __info__.hash = "3926688";
79572
+ __info__.version = "19.0.50";
79573
+ __info__.date = "2026-09-10T05:35:44.046Z";
79574
+ __info__.hash = "e499258";
79551
79575
 
79552
79576
  })(this.o_spreadsheet = this.o_spreadsheet || {}, owl);