@odoo/o-spreadsheet 19.4.0-alpha.11 → 19.4.0-alpha.12

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.0-alpha.11
5
- @date 2026-06-03T11:42:35.691Z
6
- @hash 6f35bc7
4
+ @version 19.4.0-alpha.12
5
+ @date 2026-06-06T06:24:49.297Z
6
+ @hash a71f829
7
7
  -->
8
8
  <odoo>
9
9
  <t t-name="o-spreadsheet-ValidationMessages">
@@ -446,7 +446,7 @@
446
446
  </div>
447
447
  <div class="o-sidePanel flex-shrink-0 bg-white border-top border-start d-print-none">
448
448
  <div class="o-sidePanelBody pt-4">
449
- <Section t-if="!this.env.isDashboard()">
449
+ <Section t-if="!this.env.model.getters.isDashboard()">
450
450
  <div class="o-section-title">Print content</div>
451
451
  <Select
452
452
  selectedValue="this.printStore.printSelection"
@@ -485,7 +485,7 @@
485
485
  />
486
486
  </Section>
487
487
 
488
- <Section t-if="!this.env.isDashboard()">
488
+ <Section t-if="!this.env.model.getters.isDashboard()">
489
489
  <div class="o-section-title">Formatting</div>
490
490
  <Checkbox
491
491
  name="'showGridLines'"
@@ -510,7 +510,7 @@
510
510
  <t t-if="this.state.printModeEnabled">
511
511
  <SpreadsheetPrint onExitPrintMode.bind="this.exitPrintMode"/>
512
512
  </t>
513
- <t t-elif="this.env.isDashboard()">
513
+ <t t-elif="this.env.model.getters.isDashboard()">
514
514
  <SpreadsheetDashboard getGridSize.bind="this.getGridSize"/>
515
515
  <FullScreenFigure/>
516
516
  </t>
@@ -1352,7 +1352,11 @@
1352
1352
  availableGranularities="this.props.unusedGranularities[row.fieldName]"
1353
1353
  allGranularities="this.getGranularitiesFor(row)"
1354
1354
  />
1355
- <PivotDimensionOrder dimension="row" onUpdated.bind="this.updateOrder"/>
1355
+ <PivotDimensionOrder
1356
+ dimension="row"
1357
+ onUpdated.bind="this.updateOrder"
1358
+ isMeasureSorted="this.hasSortedColumn"
1359
+ />
1356
1360
  <PivotCustomGroupsCollapsible
1357
1361
  t-if="row.isCustomField"
1358
1362
  pivotId="this.props.pivotId"
@@ -1476,7 +1480,7 @@
1476
1480
  <Select
1477
1481
  class="'flex-grow-1'"
1478
1482
  values="this.orderSelectOptions"
1479
- selectedValue="this.props.dimension.order || ''"
1483
+ selectedValue="this.selectedValue"
1480
1484
  onChange="(value) => this.props.onUpdated(this.props.dimension, value)"
1481
1485
  />
1482
1486
  </div>
@@ -7621,7 +7625,7 @@
7621
7625
  isFullScreen="this.props.isFullScreen"
7622
7626
  />
7623
7627
  </div>
7624
- <div t-if="this.env.isDashboard()" class="position-absolute top-0 end-0">
7628
+ <div t-if="this.env.model.getters.isDashboard()" class="position-absolute top-0 end-0">
7625
7629
  <ChartDashboardMenu chartId="this.chartId"/>
7626
7630
  </div>
7627
7631
  </t>
@@ -7634,8 +7638,8 @@
7634
7638
  <div
7635
7639
  class="o-carousel-header d-flex align-items-baseline flex-shrink-0 pe-1 pe-auto"
7636
7640
  t-att-class="{
7637
- 'border-bottom': this.env.isDashboard(),
7638
- 'o-carousel-header-floating': !this.env.isDashboard() and selectedItem?.type === 'carouselDataView',
7641
+ 'border-bottom': this.env.model.getters.isDashboard(),
7642
+ 'o-carousel-header-floating': !this.env.model.getters.isDashboard() and selectedItem?.type === 'carouselDataView',
7639
7643
  }"
7640
7644
  t-att-style="this.headerStyle">
7641
7645
  <div
@@ -7673,7 +7677,7 @@
7673
7677
  />
7674
7678
  </div>
7675
7679
  <div
7676
- t-if="this.env.isDashboard()"
7680
+ t-if="this.env.model.getters.isDashboard()"
7677
7681
  t-att-title="this.fullScreenButtonTitle"
7678
7682
  class="o-carousel-full-screen-button fa o-carousel-button rounded p-1 ms-1"
7679
7683
  t-att-class="{
@@ -7684,7 +7688,7 @@
7684
7688
  t-on-click="this.toggleFullScreen"
7685
7689
  />
7686
7690
  <div
7687
- t-if="!this.env.isDashboard()"
7691
+ t-if="!this.env.model.getters.isDashboard()"
7688
7692
  class="o-carousel-menu-button o-carousel-button fa fa-ellipsis-v rounded ms-1"
7689
7693
  t-on-click="this.openContextMenu"
7690
7694
  />
@@ -7706,7 +7710,7 @@
7706
7710
  />
7707
7711
  </div>
7708
7712
  <ChartDashboardMenu
7709
- t-if="this.env.isDashboard()"
7713
+ t-if="this.env.model.getters.isDashboard()"
7710
7714
  chartId="selectedItem.chartId"
7711
7715
  hasFullScreenButton="false"
7712
7716
  t-key="selectedItem.chartId"
@@ -7740,7 +7744,9 @@
7740
7744
  editFigureStyle.bind="this.editWrapperStyle"
7741
7745
  openContextMenu.bind="this.openContextMenu"
7742
7746
  />
7743
- <div class="o-figure-menu position-absolute m-2" t-if="!this.env.isDashboard()">
7747
+ <div
7748
+ class="o-figure-menu position-absolute m-2"
7749
+ t-if="!this.env.model.getters.isDashboard()">
7744
7750
  <div
7745
7751
  class="o-figure-menu-item d-flex-align-items-center"
7746
7752
  t-if="!this.env.model.getters.isReadonly() and this.props.figureUI.tag !== 'carousel'"
@@ -7757,7 +7763,7 @@
7757
7763
  />
7758
7764
  </div>
7759
7765
  <div
7760
- t-if="!this.env.isDashboard()"
7766
+ t-if="!this.env.model.getters.isDashboard()"
7761
7767
  class="position-absolute top-0 start-0 pe-none w-100 h-100">
7762
7768
  <div
7763
7769
  class="o-figure-border pe-auto w-100 h-0 position-absolute pb-2"
@@ -14,7 +14,7 @@ export interface GenericInputProps {
14
14
  resetOnBlur?: boolean;
15
15
  }
16
16
  export declare const genericInputPropsDefinition: {
17
- value: string | number;
17
+ value: any;
18
18
  onChange: (value: string) => void;
19
19
  "onFocused?": () => void;
20
20
  "onBlur?": () => void;
@@ -135,6 +135,7 @@ export declare const types: {
135
135
  any: () => any;
136
136
  array: {
137
137
  (): any[];
138
+ <T>(): T[];
138
139
  <T>(elementType: T): T[];
139
140
  };
140
141
  boolean: () => boolean;
@@ -143,14 +144,16 @@ export declare const types: {
143
144
  function: {
144
145
  (): (...parameters: any[]) => any;
145
146
  <const P extends any[]>(parameters: P): (...parameters: P) => void;
147
+ <const P extends any[], R>(): (...parameters: P) => R;
146
148
  <const P extends any[], R>(parameters: P, result: R): (...parameters: P) => R;
147
149
  };
148
150
  instanceOf: <T extends import("@odoo/owl").Constructor>(constructor: T) => InstanceType<T>;
149
151
  literal: <const T extends import("@odoo/owl").LiteralTypes>(literal: T) => T;
150
- number: () => number;
152
+ number: <T extends number = number>() => T;
151
153
  object: {
152
154
  (): Record<string, any>;
153
155
  <const Keys extends string[]>(keys: Keys): import("@odoo/owl").ResolveOptionalEntries<import("@odoo/owl").KeyedObject<Keys>>;
156
+ <Shape extends {}>(): import("@odoo/owl").ResolveOptionalEntries<Shape>;
154
157
  <Shape extends {}>(shape: Shape): import("@odoo/owl").ResolveOptionalEntries<Shape>;
155
158
  };
156
159
  or: <T extends any[]>(types: T) => T[number];
@@ -169,13 +172,14 @@ export declare const types: {
169
172
  selection: <const T extends import("@odoo/owl").LiteralTypes>(literals: T[]) => T;
170
173
  signal: {
171
174
  (): import("@odoo/owl").ReactiveValue<any>;
175
+ <T>(): import("@odoo/owl").ReactiveValue<T>;
172
176
  <T>(type: T): import("@odoo/owl").ReactiveValue<T>;
173
177
  };
174
178
  strictObject: {
175
179
  <const Keys extends string[]>(keys: Keys): import("@odoo/owl").ResolveOptionalEntries<import("@odoo/owl").KeyedObject<Keys>>;
176
180
  <Shape extends {}>(shape: Shape): import("@odoo/owl").ResolveOptionalEntries<Shape>;
177
181
  };
178
- string: () => string;
182
+ string: <T extends string = string>() => T;
179
183
  tuple: <const T extends any[]>(types: T) => T;
180
184
  };
181
185
  export {};
@@ -30,7 +30,9 @@ export declare class SunburstChartDesignPanel extends Component<SpreadsheetChild
30
30
  defaults: {
31
31
  showValues: boolean;
32
32
  showLabels: boolean;
33
- valuesDesign: import("../../../..").ChartStyle;
33
+ valuesDesign: import("../../../..").ChartStyle & {
34
+ fontSize: number;
35
+ };
34
36
  };
35
37
  get showValues(): boolean;
36
38
  get showLabels(): boolean;
@@ -32,10 +32,19 @@ export declare class TreeMapChartDesignPanel extends Component<SpreadsheetChildE
32
32
  private savedColors;
33
33
  defaults: {
34
34
  showHeaders: boolean;
35
- headerDesign: import("../../../..").TitleDesign;
35
+ headerDesign: {
36
+ align: "center";
37
+ fillColor: string;
38
+ bold: true;
39
+ fontSize: number;
40
+ };
36
41
  showValues: boolean;
37
42
  showLabels: boolean;
38
- valuesDesign: import("../../../..").TitleDesign;
43
+ valuesDesign: {
44
+ align: "left";
45
+ verticalAlign: "bottom";
46
+ fontSize: number;
47
+ };
39
48
  coloringOptions: TreeMapCategoryColorOptions;
40
49
  };
41
50
  get showHeaders(): boolean;
@@ -8,9 +8,11 @@ export declare class PivotDimensionOrder extends Component<SpreadsheetChildEnv>
8
8
  protected props: import("@odoo/owl").Props<{
9
9
  dimension: PivotDimension;
10
10
  onUpdated: (dimension: PivotDimension, ev: InputEvent) => void;
11
+ isMeasureSorted?: boolean | undefined;
11
12
  }>;
12
13
  static components: {
13
14
  Select: typeof Select;
14
15
  };
15
16
  get orderSelectOptions(): ValueAndLabel[];
17
+ get selectedValue(): "" | import("../../../../..").SortDirection | "measures";
16
18
  }
@@ -64,4 +64,5 @@ export declare class PivotLayoutConfigurator extends Component<SpreadsheetChildE
64
64
  updateOrder(updateDimension: PivotDimensionType, order?: SortDirection): void;
65
65
  updateGranularity(dimension: PivotDimensionType, granularity: Granularity): void;
66
66
  getHugeDimensionErrorMessage(dimension: PivotDimensionType): string | undefined;
67
+ get hasSortedColumn(): boolean;
67
68
  }
@@ -207,6 +207,18 @@ export declare const registries: {
207
207
  unregister: (chart: import("./types/chart/chartjs").GlobalChart) => void;
208
208
  }>;
209
209
  onIterationEndEvaluationRegistry: import(".").Registry<(getters: import(".").Getters) => void>;
210
+ specificRangeTransformRegistry: {
211
+ add<C extends import(".").CoreCommand>(cmdType: C["type"], fn: (cmd: C, rangeAdapters: import(".").RangeAdapterFunctions) => C): /*elided*/ any;
212
+ replace<C extends import(".").CoreCommand>(cmdType: C["type"], fn: (cmd: C, rangeAdapters: import(".").RangeAdapterFunctions) => C): /*elided*/ any;
213
+ get<C extends import(".").CoreCommand>(cmdType: C["type"]): (cmd: import(".").CoreCommand, rangeAdapters: import(".").RangeAdapterFunctions) => import(".").CoreCommand;
214
+ content: {
215
+ [key: string]: (cmd: import(".").CoreCommand, rangeAdapters: import(".").RangeAdapterFunctions) => import(".").CoreCommand;
216
+ };
217
+ contains(key: string): boolean;
218
+ getAll(): ((cmd: import(".").CoreCommand, rangeAdapters: import(".").RangeAdapterFunctions) => import(".").CoreCommand)[];
219
+ getKeys(): string[];
220
+ remove(key: string): void;
221
+ };
210
222
  };
211
223
  /** Registries Population */
212
224
  import "./clipboard_handlers/clipboard_handler_registrations";
@@ -32,7 +32,9 @@ export interface SunburstTreeNode extends SunburstChartRawData {
32
32
  export declare const SunburstChartDefaults: {
33
33
  showValues: boolean;
34
34
  showLabels: boolean;
35
- valuesDesign: ChartStyle;
35
+ valuesDesign: ChartStyle & {
36
+ fontSize: number;
37
+ };
36
38
  };
37
39
  export interface SunburstChartJSDataset extends ChartDataset<"doughnut"> {
38
40
  groupColors: {
@@ -44,9 +44,18 @@ export type TreeMapItem = {
44
44
  };
45
45
  export declare const TreeMapChartDefaults: {
46
46
  showHeaders: boolean;
47
- headerDesign: TitleDesign;
47
+ headerDesign: {
48
+ align: "center";
49
+ fillColor: string;
50
+ bold: true;
51
+ fontSize: number;
52
+ };
48
53
  showValues: boolean;
49
54
  showLabels: boolean;
50
- valuesDesign: TitleDesign;
55
+ valuesDesign: {
56
+ align: "left";
57
+ verticalAlign: "bottom";
58
+ fontSize: number;
59
+ };
51
60
  coloringOptions: TreeMapCategoryColorOptions;
52
61
  };
@@ -8,7 +8,6 @@ import { NotificationStoreMethods } from "./stores/notification_store_methods";
8
8
  export interface SpreadsheetChildEnv extends NotificationStoreMethods {
9
9
  model: Model;
10
10
  imageProvider?: ImageProviderInterface;
11
- isDashboard: () => boolean;
12
11
  openSidePanel: (panel: string, panelProps?: any) => void;
13
12
  replaceSidePanel: (panel: string, currentPanel: string, panelProps?: any) => void;
14
13
  toggleSidePanel: (panel: string, panelProps?: any) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odoo/o-spreadsheet",
3
- "version": "19.4.0-alpha.11",
3
+ "version": "19.4.0-alpha.12",
4
4
  "description": "A spreadsheet component",
5
5
  "type": "module",
6
6
  "main": "dist/o_spreadsheet.cjs",
@@ -138,7 +138,7 @@
138
138
  "xmlSelfClosingSpace": false
139
139
  },
140
140
  "dependencies": {
141
- "@odoo/owl": "3.0.0-alpha.33",
141
+ "@odoo/owl": "3.0.0-alpha.34",
142
142
  "bootstrap": "5.3.3",
143
143
  "font-awesome": "^4.7.0",
144
144
  "rbush": "^3.0.1"