@odoo/o-spreadsheet 19.4.3 → 19.4.5

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.
@@ -1,9 +1,9 @@
1
1
  <!--
2
2
  This file is generated by o-spreadsheet build tools. Do not edit it.
3
3
  @see https://github.com/odoo/o-spreadsheet
4
- @version 19.4.3
5
- @date 2026-07-20T11:02:37.915Z
6
- @hash d32e61b
4
+ @version 19.4.5
5
+ @date 2026-07-30T06:55:40.786Z
6
+ @hash 9308e17
7
7
  -->
8
8
  <odoo>
9
9
  <t t-name="o-spreadsheet-ValidationMessages">
@@ -1473,7 +1473,7 @@
1473
1473
  />
1474
1474
  </t>
1475
1475
  <div t-if="measure.computedBy" class="d-flex flex-row small">
1476
- <div class="d-flex flex-column py-2 px-2 w-100" t-on-pointerdown.stop="">
1476
+ <div class="d-flex flex-column py-2 px-2 w-100">
1477
1477
  <StandaloneComposer
1478
1478
  onConfirm.bind="this.updateMeasureFormula"
1479
1479
  composerContent="measure.computedBy.formula"
@@ -1552,7 +1552,7 @@
1552
1552
  />
1553
1553
  <span t-else="1" class="o-fw-bold text-truncate" t-out="this.dimensionDisplayName"/>
1554
1554
  </div>
1555
- <div class="d-flex flex-rows" t-on-pointerdown.stop="">
1555
+ <div class="d-flex flex-rows">
1556
1556
  <t t-call-slot="upper-right-icons"/>
1557
1557
  <i
1558
1558
  class="o-button-icon fa fa-trash pe-1 ps-2"
@@ -1661,9 +1661,7 @@
1661
1661
  t-as="group"
1662
1662
  t-key="group_index"
1663
1663
  class="o-pivot-custom-group pb-1">
1664
- <div
1665
- class="d-flex align-items-center justify-content-between small"
1666
- t-on-pointerdown.stop="">
1664
+ <div class="d-flex align-items-center justify-content-between small">
1667
1665
  <TextInput
1668
1666
  value="group.name"
1669
1667
  onChange="(newName) => this.onRenameGroup(group_index, newName)"
@@ -7451,10 +7449,7 @@
7451
7449
  />
7452
7450
  <canvas t-ref="this.canvasRef" class="os-theme-dependant pe-none"/>
7453
7451
  <t t-set="focused" t-value="this.focusedClients"/>
7454
- <t
7455
- t-foreach="this.env.model.getters.getClientsToDisplay()"
7456
- t-as="client"
7457
- t-key="this.getClientPositionKey(client)">
7452
+ <t t-foreach="this.clientsToDisplay" t-as="client" t-key="this.getClientPositionKey(client)">
7458
7453
  <ClientTag
7459
7454
  name="client.name"
7460
7455
  color="client.color"
@@ -120,4 +120,5 @@ export declare class Grid extends Component<SpreadsheetChildEnv> {
120
120
  onComposerContentFocused(): void;
121
121
  get staticTables(): Table[];
122
122
  get displaySelectionHandler(): boolean;
123
+ get clientsToDisplay(): Required<Client>[];
123
124
  }
@@ -44,3 +44,5 @@ export declare function isMiddleClickOrCtrlClick(ev: MouseEvent): boolean;
44
44
  export declare function downloadFile(dataUrl: string, fileName: string): void;
45
45
  export declare function isIOS(): boolean;
46
46
  export declare function isMobileOS(): boolean;
47
+ /** Check if there is an interactive element (input, select, button, ...) between the event.target and event.currentTarget (inclusive)*/
48
+ export declare function hasInteractiveElementInEventTree(event: Event): boolean;
@@ -39,9 +39,7 @@ export declare class PivotLayoutConfigurator extends Component<SpreadsheetChildE
39
39
  private dimensionsRef;
40
40
  private dragAndDrop;
41
41
  AGGREGATORS: {};
42
- private composerFocus;
43
42
  isDateOrDatetimeField: typeof isDateOrDatetimeField;
44
- setup(): void;
45
43
  startDragAndDrop(dimension: PivotDimensionType, event: MouseEvent): void;
46
44
  getGranularitiesFor(field: PivotField): string[];
47
45
  startDragAndDropMeasures(measure: PivotMeasure, event: MouseEvent): void;
@@ -233,6 +233,7 @@ import { StandaloneComposer } from "./components/composer/standalone_composer/st
233
233
  import { Select } from "./components/select/select";
234
234
  import { ChartRangeDataSourceComponent } from "./components/side_panel/chart/building_blocks/range_data_source/range_data_source";
235
235
  import { TopBar } from "./components/top_bar/top_bar";
236
+ import { PositionMap } from "./helpers/cells/position_map";
236
237
  import { parseFormat } from "./helpers/format/format_parser";
237
238
  import { replaceSymbolInFormula } from "./helpers/formulas";
238
239
  import { getFirstPivotFunction, getNumberOfPivotFunctions } from "./helpers/pivot/pivot_composer_helpers";
@@ -312,6 +313,7 @@ export declare const helpers: {
312
313
  collapseHierarchicalDisplayName: typeof collapseHierarchicalDisplayName;
313
314
  getCanonicalSymbolName: typeof getCanonicalSymbolName;
314
315
  fuzzyLookup: typeof fuzzyLookup;
316
+ PositionMap: typeof PositionMap;
315
317
  replaceSymbolInFormula: typeof replaceSymbolInFormula;
316
318
  };
317
319
  export declare const links: {
@@ -15,9 +15,12 @@ export declare class PivotUIPlugin extends CoreViewPlugin {
15
15
  private pivots;
16
16
  private unusedPivotsInFormulas?;
17
17
  private custom;
18
+ private pivotPositionCache;
19
+ private shouldInvalidateCache;
18
20
  constructor(config: CoreViewPluginConfig);
19
21
  beforeHandle(cmd: Command): void;
20
22
  handle(cmd: Command): void;
23
+ finalize(): void;
21
24
  /**
22
25
  * Get the id of the first pivot in the formula at the given position. Returns undefined if there
23
26
  * is no pivot at this position
@@ -1,3 +1,4 @@
1
+ import { UID } from "../..";
1
2
  import { Client, ClientId, ClientWithColor } from "../../types/collaborative/session";
2
3
  import { GridRenderingContext } from "../../types/rendering";
3
4
  import { UIPlugin, UIPluginConfig } from "../ui_plugin";
@@ -18,7 +19,7 @@ export declare class CollaborativePlugin extends UIPlugin {
18
19
  * Get the list of others connected clients which are present in the same sheet
19
20
  * and with a valid position
20
21
  */
21
- getClientsToDisplay(): ClientToDisplay[];
22
+ getClientsToDisplay(sheetId: UID): ClientToDisplay[];
22
23
  drawLayer(renderingContext: GridRenderingContext): void;
23
24
  }
24
25
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odoo/o-spreadsheet",
3
- "version": "19.4.3",
3
+ "version": "19.4.5",
4
4
  "description": "A spreadsheet component",
5
5
  "type": "module",
6
6
  "main": "dist/o_spreadsheet.cjs",