@odoo/o-spreadsheet 19.0.41 → 19.0.43

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.41
6
- * @date 2026-07-01T05:03:21.811Z
7
- * @hash 346d3c0
5
+ * @version 19.0.43
6
+ * @date 2026-07-20T10:59:58.033Z
7
+ * @hash 23b4f32
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.41
6
- * @date 2026-07-01T05:03:20.304Z
7
- * @hash 346d3c0
5
+ * @version 19.0.43
6
+ * @date 2026-07-20T10:59:56.737Z
7
+ * @hash 23b4f32
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";
@@ -43214,7 +43214,8 @@ var Autofill = class extends Component {
43214
43214
  const { left, top } = this.state.handler ? this.state.position : this.props.position;
43215
43215
  return cssPropertiesToCss({
43216
43216
  top: `${top}px`,
43217
- left: `${left}px`
43217
+ left: `${left}px`,
43218
+ visibility: this.props.isVisible ? "visible" : "hidden"
43218
43219
  });
43219
43220
  }
43220
43221
  get styleNextValue() {
@@ -49525,7 +49526,7 @@ var ScorecardChartConfigPanel = class extends Component {
49525
49526
  return !!this.state.keyValueDispatchResult?.isCancelledBecause("InvalidScorecardKeyValue");
49526
49527
  }
49527
49528
  get isBaselineInvalid() {
49528
- return !!this.state.keyValueDispatchResult?.isCancelledBecause("InvalidScorecardBaseline");
49529
+ return !!this.state.baselineDispatchResult?.isCancelledBecause("InvalidScorecardBaseline");
49529
49530
  }
49530
49531
  onKeyValueRangeChanged(ranges) {
49531
49532
  this.keyValue = ranges[0];
@@ -62601,13 +62602,13 @@ var EvaluationConditionalFormatPlugin = class extends CoreViewPlugin {
62601
62602
  const minValue = this.parsePoint(sheetId, range, rule.minimum, "min");
62602
62603
  const midValue = rule.midpoint ? this.parsePoint(sheetId, range, rule.midpoint) : null;
62603
62604
  const maxValue = this.parsePoint(sheetId, range, rule.maximum, "max");
62604
- if (minValue === null || maxValue === null || minValue >= maxValue || midValue && (minValue >= midValue || midValue >= maxValue)) return;
62605
+ if (minValue === null || maxValue === null || minValue >= maxValue || midValue !== null && (minValue >= midValue || midValue >= maxValue)) return;
62605
62606
  const zone = this.getters.getRangeFromSheetXC(sheetId, range).zone;
62606
62607
  const colorThresholds = [{
62607
62608
  value: minValue,
62608
62609
  color: rule.minimum.color
62609
62610
  }];
62610
- if (rule.midpoint && midValue) colorThresholds.push({
62611
+ if (rule.midpoint && midValue !== null) colorThresholds.push({
62611
62612
  value: midValue,
62612
62613
  color: rule.midpoint.color
62613
62614
  });
@@ -63867,6 +63868,8 @@ var PivotUIPlugin = class extends CoreViewPlugin {
63867
63868
  pivots = {};
63868
63869
  unusedPivots;
63869
63870
  custom;
63871
+ pivotPositionCache = new PositionMap();
63872
+ shouldInvalidateCache = false;
63870
63873
  constructor(config) {
63871
63874
  super(config);
63872
63875
  this.custom = config.custom;
@@ -63877,7 +63880,11 @@ var PivotUIPlugin = class extends CoreViewPlugin {
63877
63880
  }
63878
63881
  }
63879
63882
  handle(cmd) {
63880
- if (invalidateEvaluationCommands.has(cmd.type)) for (const pivotId of this.getters.getPivotIds()) this.setupPivot(pivotId, { recreate: true });
63883
+ if (invalidateEvaluationCommands.has(cmd.type)) {
63884
+ this.shouldInvalidateCache = true;
63885
+ for (const pivotId of this.getters.getPivotIds()) this.setupPivot(pivotId, { recreate: true });
63886
+ }
63887
+ if (cmd.type === "UPDATE_CELL") this.shouldInvalidateCache = true;
63881
63888
  switch (cmd.type) {
63882
63889
  case "REFRESH_PIVOT":
63883
63890
  this.refreshPivot(cmd.id);
@@ -63917,6 +63924,12 @@ var PivotUIPlugin = class extends CoreViewPlugin {
63917
63924
  break;
63918
63925
  }
63919
63926
  }
63927
+ finalize() {
63928
+ if (this.shouldInvalidateCache) {
63929
+ this.pivotPositionCache = new PositionMap();
63930
+ this.shouldInvalidateCache = false;
63931
+ }
63932
+ }
63920
63933
  /**
63921
63934
  * Get the id of the first pivot in the formula at the given position. Returns undefined if there
63922
63935
  * is no pivot at this position
@@ -63928,9 +63941,14 @@ var PivotUIPlugin = class extends CoreViewPlugin {
63928
63941
  * Get all of the ids of the pivot present in the formula at the given position.
63929
63942
  */
63930
63943
  getPivotIdsFromPosition(position) {
63931
- const cell = this.getters.getCorrespondingFormulaCell(position);
63932
- if (cell && cell.isFormula) return this.getPivotIdsFromFormula(position.sheetId, cell.compiledFormula);
63933
- return [];
63944
+ if (!this.pivotPositionCache.has(position)) {
63945
+ const cell = this.getters.getCorrespondingFormulaCell(position);
63946
+ if (cell && cell.isFormula) {
63947
+ const pivotIds = this.getPivotIdsFromFormula(position.sheetId, cell.compiledFormula);
63948
+ this.pivotPositionCache.set(position, pivotIds);
63949
+ }
63950
+ }
63951
+ return this.pivotPositionCache.get(position) || [];
63934
63952
  }
63935
63953
  getPivotIdsFromFormula(sheetId, formula) {
63936
63954
  return this.getPivotFunctions(sheetId, formula.tokens).map((pivotFunction) => {
@@ -79241,7 +79259,8 @@ const helpers = {
79241
79259
  getUniqueText,
79242
79260
  isNumber,
79243
79261
  isDateTime,
79244
- createCustomFields
79262
+ createCustomFields,
79263
+ PositionMap
79245
79264
  };
79246
79265
  const links = {
79247
79266
  isMarkdownLink,
@@ -79356,6 +79375,6 @@ const chartHelpers = {
79356
79375
  //#endregion
79357
79376
  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 };
79358
79377
 
79359
- __info__.version = "19.0.41";
79360
- __info__.date = "2026-07-01T05:03:20.304Z";
79361
- __info__.hash = "346d3c0";
79378
+ __info__.version = "19.0.43";
79379
+ __info__.date = "2026-07-20T10:59:56.737Z";
79380
+ __info__.hash = "23b4f32";
@@ -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.41
6
- * @date 2026-07-01T05:03:20.304Z
7
- * @hash 346d3c0
5
+ * @version 19.0.43
6
+ * @date 2026-07-20T10:59:56.737Z
7
+ * @hash 23b4f32
8
8
  */
9
9
 
10
10
  (function(exports, _odoo_owl) {
@@ -43216,7 +43216,8 @@ stores.inject(MyMetaStore, storeInstance);
43216
43216
  const { left, top } = this.state.handler ? this.state.position : this.props.position;
43217
43217
  return cssPropertiesToCss({
43218
43218
  top: `${top}px`,
43219
- left: `${left}px`
43219
+ left: `${left}px`,
43220
+ visibility: this.props.isVisible ? "visible" : "hidden"
43220
43221
  });
43221
43222
  }
43222
43223
  get styleNextValue() {
@@ -49527,7 +49528,7 @@ stores.inject(MyMetaStore, storeInstance);
49527
49528
  return !!this.state.keyValueDispatchResult?.isCancelledBecause("InvalidScorecardKeyValue");
49528
49529
  }
49529
49530
  get isBaselineInvalid() {
49530
- return !!this.state.keyValueDispatchResult?.isCancelledBecause("InvalidScorecardBaseline");
49531
+ return !!this.state.baselineDispatchResult?.isCancelledBecause("InvalidScorecardBaseline");
49531
49532
  }
49532
49533
  onKeyValueRangeChanged(ranges) {
49533
49534
  this.keyValue = ranges[0];
@@ -62603,13 +62604,13 @@ stores.inject(MyMetaStore, storeInstance);
62603
62604
  const minValue = this.parsePoint(sheetId, range, rule.minimum, "min");
62604
62605
  const midValue = rule.midpoint ? this.parsePoint(sheetId, range, rule.midpoint) : null;
62605
62606
  const maxValue = this.parsePoint(sheetId, range, rule.maximum, "max");
62606
- if (minValue === null || maxValue === null || minValue >= maxValue || midValue && (minValue >= midValue || midValue >= maxValue)) return;
62607
+ if (minValue === null || maxValue === null || minValue >= maxValue || midValue !== null && (minValue >= midValue || midValue >= maxValue)) return;
62607
62608
  const zone = this.getters.getRangeFromSheetXC(sheetId, range).zone;
62608
62609
  const colorThresholds = [{
62609
62610
  value: minValue,
62610
62611
  color: rule.minimum.color
62611
62612
  }];
62612
- if (rule.midpoint && midValue) colorThresholds.push({
62613
+ if (rule.midpoint && midValue !== null) colorThresholds.push({
62613
62614
  value: midValue,
62614
62615
  color: rule.midpoint.color
62615
62616
  });
@@ -63869,6 +63870,8 @@ stores.inject(MyMetaStore, storeInstance);
63869
63870
  pivots = {};
63870
63871
  unusedPivots;
63871
63872
  custom;
63873
+ pivotPositionCache = new PositionMap();
63874
+ shouldInvalidateCache = false;
63872
63875
  constructor(config) {
63873
63876
  super(config);
63874
63877
  this.custom = config.custom;
@@ -63879,7 +63882,11 @@ stores.inject(MyMetaStore, storeInstance);
63879
63882
  }
63880
63883
  }
63881
63884
  handle(cmd) {
63882
- if (invalidateEvaluationCommands.has(cmd.type)) for (const pivotId of this.getters.getPivotIds()) this.setupPivot(pivotId, { recreate: true });
63885
+ if (invalidateEvaluationCommands.has(cmd.type)) {
63886
+ this.shouldInvalidateCache = true;
63887
+ for (const pivotId of this.getters.getPivotIds()) this.setupPivot(pivotId, { recreate: true });
63888
+ }
63889
+ if (cmd.type === "UPDATE_CELL") this.shouldInvalidateCache = true;
63883
63890
  switch (cmd.type) {
63884
63891
  case "REFRESH_PIVOT":
63885
63892
  this.refreshPivot(cmd.id);
@@ -63919,6 +63926,12 @@ stores.inject(MyMetaStore, storeInstance);
63919
63926
  break;
63920
63927
  }
63921
63928
  }
63929
+ finalize() {
63930
+ if (this.shouldInvalidateCache) {
63931
+ this.pivotPositionCache = new PositionMap();
63932
+ this.shouldInvalidateCache = false;
63933
+ }
63934
+ }
63922
63935
  /**
63923
63936
  * Get the id of the first pivot in the formula at the given position. Returns undefined if there
63924
63937
  * is no pivot at this position
@@ -63930,9 +63943,14 @@ stores.inject(MyMetaStore, storeInstance);
63930
63943
  * Get all of the ids of the pivot present in the formula at the given position.
63931
63944
  */
63932
63945
  getPivotIdsFromPosition(position) {
63933
- const cell = this.getters.getCorrespondingFormulaCell(position);
63934
- if (cell && cell.isFormula) return this.getPivotIdsFromFormula(position.sheetId, cell.compiledFormula);
63935
- return [];
63946
+ if (!this.pivotPositionCache.has(position)) {
63947
+ const cell = this.getters.getCorrespondingFormulaCell(position);
63948
+ if (cell && cell.isFormula) {
63949
+ const pivotIds = this.getPivotIdsFromFormula(position.sheetId, cell.compiledFormula);
63950
+ this.pivotPositionCache.set(position, pivotIds);
63951
+ }
63952
+ }
63953
+ return this.pivotPositionCache.get(position) || [];
63936
63954
  }
63937
63955
  getPivotIdsFromFormula(sheetId, formula) {
63938
63956
  return this.getPivotFunctions(sheetId, formula.tokens).map((pivotFunction) => {
@@ -79243,7 +79261,8 @@ stores.inject(MyMetaStore, storeInstance);
79243
79261
  getUniqueText,
79244
79262
  isNumber,
79245
79263
  isDateTime,
79246
- createCustomFields
79264
+ createCustomFields,
79265
+ PositionMap
79247
79266
  };
79248
79267
  const links = {
79249
79268
  isMarkdownLink,
@@ -79409,8 +79428,8 @@ exports.stores = stores;
79409
79428
  exports.tokenColors = tokenColors;
79410
79429
  exports.tokenize = tokenize;
79411
79430
 
79412
- __info__.version = "19.0.41";
79413
- __info__.date = "2026-07-01T05:03:20.304Z";
79414
- __info__.hash = "346d3c0";
79431
+ __info__.version = "19.0.43";
79432
+ __info__.date = "2026-07-20T10:59:56.737Z";
79433
+ __info__.hash = "23b4f32";
79415
79434
 
79416
79435
  })(this.o_spreadsheet = this.o_spreadsheet || {}, owl);