@odoo/o-spreadsheet 19.4.12 → 19.4.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.
@@ -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.12
5
- @date 2026-09-10T05:38:02.876Z
6
- @hash cdb63b4
4
+ @version 19.4.14
5
+ @date 2026-10-01T07:47:36.964Z
6
+ @hash 67c7fe5
7
7
  -->
8
8
  <odoo>
9
9
  <t t-name="o-spreadsheet-ValidationMessages">
@@ -200,14 +200,14 @@
200
200
 
201
201
  <div t-name="o-spreadsheet-TopBarZoom" t-on-click.stop="">
202
202
  <NumberEditor
203
- currentValue="this.currentFontSize"
203
+ currentValue="this.getZoomLevel()"
204
204
  onValueChange.bind="this.setZoom"
205
205
  class="this.props.class"
206
206
  onToggle.bind="this.toggle"
207
207
  onFocusInput.bind="this.onFocusInput"
208
208
  valueIcon="'%'"
209
- min="25"
210
- max="300"
209
+ min="this.minZoom"
210
+ max="this.maxZoom"
211
211
  valueList="this.valueList"
212
212
  title.translate="Zoom"
213
213
  />
@@ -5404,7 +5404,7 @@
5404
5404
  </t>
5405
5405
 
5406
5406
  <t t-name="o_spreadsheet.PivotHTMLRenderer">
5407
- <div class="o_pivot_html_renderer">
5407
+ <div class="w-100">
5408
5408
  <Checkbox
5409
5409
  name="'missing_values'"
5410
5410
  label.translate="Display missing cells only"
@@ -27,6 +27,11 @@ export declare class NumberEditor extends Component<SpreadsheetChildEnv> {
27
27
  private rootEditorRef;
28
28
  private valueListRef;
29
29
  private DOMFocusableElementStore;
30
+ /**
31
+ * Skips the change event triggered when moving focus out of the input.
32
+ * The value has already been committed by `onInputKeydown`.
33
+ */
34
+ private skipNextInputChange;
30
35
  setup(): void;
31
36
  get popoverProps(): PropsOf<Popover>;
32
37
  onExternalClick(ev: MouseEvent): void;
@@ -12,9 +12,11 @@ export declare class ToolBarZoom extends Component<SpreadsheetChildEnv> {
12
12
  }>;
13
13
  topBarToolStore: ToolBarDropdownStore;
14
14
  valueList: number[];
15
+ minZoom: number;
16
+ maxZoom: number;
15
17
  setup(): void;
16
- get currentFontSize(): number;
17
- setZoom(fontSize: number): void;
18
+ getZoomLevel(): number;
19
+ setZoom(zoomPercentage: number): void;
18
20
  toggle(): void;
19
21
  onFocusInput(): void;
20
22
  }
@@ -64,6 +64,8 @@ export declare const DESKTOP_MENU_ITEM_HEIGHT = 26;
64
64
  export declare const MENU_SEPARATOR_BORDER_WIDTH = 1;
65
65
  export declare const MENU_SEPARATOR_PADDING = 5;
66
66
  export declare const MENU_SEPARATOR_HEIGHT: number;
67
+ export declare const MIN_ZOOM_LEVEL = 0.5;
68
+ export declare const MAX_ZOOM_LEVEL = 2;
67
69
  export declare const ZOOM_VALUES: number[];
68
70
  export declare const DEFAULT_STYLE: {
69
71
  align: "default";
@@ -0,0 +1,42 @@
1
+ import { PivotDimension, PivotNode } from "../../../types/pivot";
2
+ import { DataEntries } from "./data_entry_spreadsheet_pivot";
3
+ /**
4
+ * Index of the data entries of a spreadsheet pivot, used to retrieve the
5
+ * entries matching a pivot domain without scanning all the entries.
6
+ *
7
+ * Starting with the row dimensions, one can descend either in the
8
+ * next row dimension (`rowChildren`) or in the first column dimension
9
+ * (`colChildren`).
10
+ *
11
+ * e.g. with the rows ["continent", "city"] and the columns ["team"]
12
+ *
13
+ * root -> all the entries
14
+ * ├── (col) Team 1 -> [team=Team 1]
15
+ * ├── (col) Team 2 -> [team=Team 2]
16
+ * ├── (row) Europe -> [continent=Europe]
17
+ * │ ├── (col) Team 1 -> [continent=Europe, team=Team 1]
18
+ * │ ├── (row) Brussels -> [continent=Europe, city=Brussels]
19
+ * │ │ └── (col) Team 1 -> [continent=Europe, city=Brussels, team=Team 1]
20
+ * │ └── (row) Paris
21
+ * │ └── ...
22
+ * └── (row) North America
23
+ * └── ...
24
+ *
25
+ * Each entry is inserted once per couple (row prefix, column prefix) it belongs
26
+ * to, which is exactly the number of pivot cells it contributes to.
27
+ */
28
+ export declare class PivotDataEntriesIndex {
29
+ private rowDimensions;
30
+ private colDimensions;
31
+ private root;
32
+ constructor(dataEntries: DataEntries, rowDimensions: PivotDimension[], colDimensions: PivotDimension[]);
33
+ /**
34
+ * Get the data entries matching the given domain.
35
+ */
36
+ getDataEntries(domain: PivotNode[]): DataEntries;
37
+ private addEntry;
38
+ /**
39
+ * Add the entry to the given row node, and to each of its column prefixes.
40
+ */
41
+ private addEntryToColumns;
42
+ }
@@ -37,6 +37,11 @@ export declare class SpreadsheetPivot implements Pivot<SpreadsheetPivotRuntimeDe
37
37
  * This is the subset used for rendering and pivot calculations.
38
38
  */
39
39
  private filteredDataEntries;
40
+ /**
41
+ * This index is used to retrieve the data entries matching a pivot domain
42
+ * without scanning all the data entries.
43
+ */
44
+ private dataEntriesIndex;
40
45
  /**
41
46
  * This object contains the pivot table structure. It is created from the
42
47
  * data entries and the pivot definition.
@@ -84,8 +89,7 @@ export declare class SpreadsheetPivot implements Pivot<SpreadsheetPivotRuntimeDe
84
89
  private loadDataEntries;
85
90
  private loadFilteredDataEntries;
86
91
  private getTypeOfDimension;
87
- private filterDataEntriesFromDomain;
88
- private filterDataEntriesFromDomainNode;
92
+ private getDataEntriesFromDomain;
89
93
  private getDimension;
90
94
  private getTypeFromZone;
91
95
  private assertCellIsValidField;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odoo/o-spreadsheet",
3
- "version": "19.4.12",
3
+ "version": "19.4.14",
4
4
  "description": "A spreadsheet component",
5
5
  "type": "module",
6
6
  "main": "dist/o_spreadsheet.cjs",
@@ -184,6 +184,6 @@
184
184
  ]
185
185
  },
186
186
  "publishConfig": {
187
- "tag": "latest"
187
+ "tag": "19-4"
188
188
  }
189
189
  }