@odoo/o-spreadsheet 19.5.0-alpha.7 → 19.5.0-alpha.8

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.
Files changed (42) hide show
  1. package/dist/o_spreadsheet.cjs +27312 -26508
  2. package/dist/o_spreadsheet.css +47 -17
  3. package/dist/o_spreadsheet.esm.js +27312 -26508
  4. package/dist/o_spreadsheet.iife.js +27302 -26498
  5. package/dist/o_spreadsheet.min.iife.js +396 -396
  6. package/dist/o_spreadsheet.xml +120 -52
  7. package/dist/types/collaborative/ot/ot_helpers.d.ts +3 -1
  8. package/dist/types/components/clickable_cells_overlay/clickable_cells_overlay.d.ts +20 -0
  9. package/dist/types/components/dashboard/dashboard.d.ts +5 -12
  10. package/dist/types/components/error_tooltip/error_tooltip.d.ts +2 -0
  11. package/dist/types/components/figures/figure/figure.d.ts +3 -6
  12. package/dist/types/components/figures/figure_carousel/figure_carousel.d.ts +9 -2
  13. package/dist/types/components/figures/figure_chart/figure_chart.d.ts +1 -2
  14. package/dist/types/components/figures/figure_image/figure_image.d.ts +1 -2
  15. package/dist/types/components/filters/filter_menu/filter_menu.d.ts +1 -0
  16. package/dist/types/components/grid/grid.d.ts +2 -0
  17. package/dist/types/components/grid_overlay/grid_overlay.d.ts +6 -5
  18. package/dist/types/components/helpers/wheel_hook.d.ts +1 -1
  19. package/dist/types/components/link/link_display/link_display.d.ts +1 -0
  20. package/dist/types/components/link/link_editor/link_editor.d.ts +1 -0
  21. package/dist/types/components/scrollbar/scrollbar_vertical.d.ts +2 -1
  22. package/dist/types/components/side_panel/carousel_panel/carousel_panel.d.ts +6 -1
  23. package/dist/types/components/standalone_viewport/standalone_viewport.d.ts +55 -0
  24. package/dist/types/components/standalone_viewport/standalone_viewport_store.d.ts +28 -0
  25. package/dist/types/components/tables/hovered_table_store.d.ts +3 -6
  26. package/dist/types/helpers/internal_viewport.d.ts +19 -10
  27. package/dist/types/helpers/misc.d.ts +1 -0
  28. package/dist/types/helpers/viewport_collection.d.ts +40 -9
  29. package/dist/types/helpers/zones.d.ts +1 -0
  30. package/dist/types/index.d.ts +4 -0
  31. package/dist/types/plugins/core/carousel.d.ts +8 -4
  32. package/dist/types/plugins/ui_feature/ui_sheet.d.ts +2 -1
  33. package/dist/types/plugins/ui_stateful/header_positions.d.ts +2 -1
  34. package/dist/types/store_engine/dependency_container.d.ts +5 -0
  35. package/dist/types/store_engine/store_hooks.d.ts +6 -0
  36. package/dist/types/stores/main_viewport_store.d.ts +11 -0
  37. package/dist/types/stores/viewports_store.d.ts +18 -3
  38. package/dist/types/types/commands.d.ts +3 -3
  39. package/dist/types/types/figure.d.ts +26 -3
  40. package/dist/types/types/getters.d.ts +22 -0
  41. package/dist/types/types/misc.d.ts +4 -0
  42. package/package.json +2 -2
@@ -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.5.0-alpha.7
5
- @date 2026-07-30T06:59:22.954Z
6
- @hash 5b6f8b6
4
+ @version 19.5.0-alpha.8
5
+ @date 2026-08-04T07:11:41.047Z
6
+ @hash c1baebe
7
7
  -->
8
8
  <odoo>
9
9
  <t t-name="o-spreadsheet-ValidationMessages">
@@ -432,6 +432,49 @@
432
432
  />
433
433
  </t>
434
434
 
435
+ <t t-name="o-spreadsheet-StandaloneViewport">
436
+ <div
437
+ class="o-standalone-viewport h-100 w-100 overflow-hidden d-flex"
438
+ t-on-wheel="this.onMouseWheel">
439
+ <div
440
+ class="o-standalone-viewport-content position-relative flex-grow-1 overflow-hidden"
441
+ t-ref="this.containerRef">
442
+ <GridOverlay
443
+ onCellDoubleClicked.bind="this.onCellDoubleClicked"
444
+ onGridResized="() => {}"
445
+ hasFooter="false"
446
+ gridOverlayDimensions="this.gridOverlayDimensions">
447
+ <div
448
+ t-if="this.props.canResizeColumns"
449
+ t-foreach="this.colResizers"
450
+ t-as="colResizer"
451
+ t-key="colResizer_index"
452
+ class="o-col-resizer h-100"
453
+ t-att-class="{ 'dragging': this.dndState.col === colResizer.col }"
454
+ t-att-style="colResizer.style"
455
+ t-on-pointerdown.stop="(ev) => this.onResizerPointerDown(ev, colResizer)"
456
+ t-on-dblclick.stop="(ev) => this.onResizerDoubleClick(ev, colResizer)">
457
+ <div class="o-col-resizer-handle position-absolute h-100"/>
458
+ </div>
459
+
460
+ <ClickableCellsOverlay t-if="this.env.model.getters.isDashboard()"/>
461
+ </GridOverlay>
462
+ <GridPopover
463
+ gridRect="this.getGridRect()"
464
+ onMouseWheel.bind="this.onMouseWheel"
465
+ onClosePopover="() => this.cellPopoverStore.close()"
466
+ />
467
+ <canvas class="" t-ref="this.canvasRef"/>
468
+ </div>
469
+ <div
470
+ class="position-relative"
471
+ t-if="this.hasVerticalScrollBar"
472
+ t-att-style="this.scrollBarContainerStyle">
473
+ <VerticalScrollBar hasFooter="false"/>
474
+ </div>
475
+ </div>
476
+ </t>
477
+
435
478
  <t t-name="o-spreadsheet-StandaloneGridCanvas">
436
479
  <canvas t-ref="this.canvasRef"/>
437
480
  </t>
@@ -5286,7 +5329,7 @@
5286
5329
  <div class="o-carousel-preview-list overflow-auto bg-white" t-ref="this.previewListRef">
5287
5330
  <t t-foreach="this.carouselItems" t-as="item" t-key="this.getItemId(item)">
5288
5331
  <div
5289
- class="o-carousel-preview border-bottom pe-2 position-relative w-100 d-flex align-items-center"
5332
+ class="o-carousel-preview border-bottom pe-2 position-relative w-100 d-flex flex-column"
5290
5333
  t-att-class="{
5291
5334
  'o-dragging border-top': this.dragAndDrop.draggedItemId === this.getItemId(item),
5292
5335
  'o-selected': this.isCarouselItemActive(item)
@@ -5297,21 +5340,32 @@
5297
5340
  t-on-pointerdown.stop.prevent="(ev) => this.onDragHandleMouseDown(item, ev)">
5298
5341
  <t t-call="o-spreadsheet-Icon.THIN_DRAG_HANDLE"/>
5299
5342
  </div>
5300
- <div
5301
- class="o-carousel-preview-icon ms-3 flex-shrink-0 d-flex align-items-center justify-content-center">
5302
- <t t-call="{{this.getItemPreview(item)}}"/>
5343
+ <div class="d-flex o-preview-content align-items-center justify-content-center">
5344
+ <div
5345
+ class="o-carousel-preview-icon ms-3 flex-shrink-0 d-flex align-items-center justify-content-center">
5346
+ <t t-call="{{this.getItemPreview(item)}}"/>
5347
+ </div>
5348
+ <div class="o-carousel-preview-title text-truncate ms-2">
5349
+ <TextInput
5350
+ value="this.getItemTitle(item)"
5351
+ onChange="(newName) => this.renameCarouselItem(item, newName)"
5352
+ selectContentOnFocus="true"
5353
+ />
5354
+ </div>
5355
+ <div class="ms-auto"/>
5356
+ <div class="flex-shrink-0 d-flex me-1">
5357
+ <CogWheelMenu items="this.getCogWheelMenuItems(item)"/>
5358
+ </div>
5303
5359
  </div>
5304
- <div class="o-carousel-preview-title text-truncate ms-2">
5305
- <TextInput
5306
- value="this.getItemTitle(item)"
5307
- onChange="(newName) => this.renameCarouselItem(item, newName)"
5308
- selectContentOnFocus="true"
5360
+ <div class="ms-4 mb-2" t-if="item.type === 'carouselDataView'">
5361
+ <SelectionInput
5362
+ ranges="[this.getItemRangeString(item)]"
5363
+ hasSingleRange="true"
5364
+ required="true"
5365
+ onSelectionChanged.bind="this.onSelectionInputChanged"
5366
+ onSelectionConfirmed.bind="this.onSelectionInputConfirmed"
5309
5367
  />
5310
5368
  </div>
5311
- <div class="ms-auto"/>
5312
- <div class="flex-shrink-0 d-flex me-1">
5313
- <CogWheelMenu items="this.getCogWheelMenuItems(item)"/>
5314
- </div>
5315
5369
  </div>
5316
5370
  </t>
5317
5371
  </div>
@@ -5327,8 +5381,7 @@
5327
5381
  <div
5328
5382
  t-if="!this.hasDataView"
5329
5383
  class="o-button-link o-carousel-add-data-view float-end my-4 me-4"
5330
- t-on-click="this.addDataViewToCarousel"
5331
- t-att-title="this.carouselDataViewMessage">
5384
+ t-on-click="this.addDataViewToCarousel">
5332
5385
  + Add data view
5333
5386
  </div>
5334
5387
  </div>
@@ -7452,9 +7505,6 @@
7452
7505
  </t>
7453
7506
 
7454
7507
  <t t-name="o-spreadsheet-GridOverlay">
7455
- <div class="position-absolute" t-att-style="this.style">
7456
- <FiguresContainer/>
7457
- </div>
7458
7508
  <div
7459
7509
  t-ref="this.gridOverlayRef"
7460
7510
  class="o-grid-overlay overflow-hidden o-zoomable"
@@ -7466,8 +7516,8 @@
7466
7516
  t-on-dblclick.self="this.onDoubleClick"
7467
7517
  t-on-contextmenu.stop.prevent="this.onContextMenu">
7468
7518
  <GridAddRowsFooter
7469
- t-if="!this.env.model.getters.isReadonly()"
7470
- t-key="this.env.model.getters.getActiveSheetId()"
7519
+ t-if="!this.env.model.getters.isReadonly() and this.props.hasFooter"
7520
+ t-key="this.viewStore.displayedSheetId"
7471
7521
  />
7472
7522
  <t t-call-slot="default"/>
7473
7523
  </div>
@@ -7514,6 +7564,9 @@
7514
7564
  t-on-keydown="this.onKeydown"
7515
7565
  t-on-wheel.prevent="this.onMouseWheel"
7516
7566
  t-ref="this.gridRef">
7567
+ <div class="position-absolute" t-att-style="this.gridOverlayDimensions">
7568
+ <FiguresContainer/>
7569
+ </div>
7517
7570
  <GridOverlay
7518
7571
  onCellClicked.bind="this.onCellClicked"
7519
7572
  onCellDoubleClicked.bind="this.onCellDoubleClicked"
@@ -7870,16 +7923,11 @@
7870
7923
 
7871
7924
  <t t-name="o-spreadsheet-CarouselFigure">
7872
7925
  <div
7873
- class="o-carousel w-100 h-100 d-flex flex-column"
7926
+ class="o-carousel w-100 h-100 d-flex flex-column px-4 py-2"
7927
+ t-att-style="this.carouselStyle"
7874
7928
  t-on-dblclick="this.onCarouselDoubleClick">
7875
7929
  <t t-set="selectedItem" t-value="this.selectedCarouselItem"/>
7876
- <div
7877
- class="o-carousel-header d-flex align-items-baseline flex-shrink-0 pe-1 pe-auto"
7878
- t-att-class="{
7879
- 'border-bottom': this.env.model.getters.isDashboard(),
7880
- 'o-carousel-header-floating': !this.env.model.getters.isDashboard() and selectedItem?.type === 'carouselDataView',
7881
- }"
7882
- t-att-style="this.headerStyle">
7930
+ <div class="o-carousel-header d-flex align-items-baseline flex-shrink-0 pt-1 pe-auto">
7883
7931
  <div
7884
7932
  class="o-carousel-title text-truncate flex-shrink-0 pe-2"
7885
7933
  t-out="this.title"
@@ -7889,7 +7937,11 @@
7889
7937
  <div
7890
7938
  class="o-carousel-tabs d-flex flex-fill justify-content-end"
7891
7939
  t-ref="this.carouselTabsRef">
7892
- <t t-foreach="this.visibleCarouselItems" t-as="item" t-key="item_index">
7940
+ <t
7941
+ t-foreach="this.carousel.items"
7942
+ t-as="item"
7943
+ t-key="item_index"
7944
+ t-if="this.carousel.items.length > 1">
7893
7945
  <div
7894
7946
  class="o-carousel-tab text-truncate px-2 mt-1 flex-shrink-0"
7895
7947
  t-att-class="{ 'selected': this.isItemSelected(item) }"
@@ -7921,7 +7973,6 @@
7921
7973
  t-att-class="{
7922
7974
  'fa-compress': this.props.isFullScreen,
7923
7975
  'fa-expand': !this.props.isFullScreen,
7924
- 'invisible': this.selectedCarouselItem?.type !== 'chart',
7925
7976
  }"
7926
7977
  t-on-click="this.toggleFullScreen"
7927
7978
  />
@@ -7931,9 +7982,10 @@
7931
7982
  t-on-click="this.openContextMenu"
7932
7983
  />
7933
7984
  </div>
7985
+ <div t-if="this.title" class="w-100 mt-2 border-bottom"/>
7934
7986
  <div
7935
7987
  t-if="!selectedItem"
7936
- class="o-carousel-empty w-100 flex-fill d-flex align-items-center justify-content-center">
7988
+ class="o-carousel-empty o-carousel-content w-100 flex-fill d-flex align-items-center justify-content-center">
7937
7989
  <t t-call="o-spreadsheet-Icon.CAROUSEL"/>
7938
7990
  </div>
7939
7991
  <div
@@ -7956,6 +8008,17 @@
7956
8008
  t-key="selectedItem.chartId"
7957
8009
  />
7958
8010
  </div>
8011
+ <div
8012
+ t-elif="selectedItem.type === 'carouselDataView' and selectedItem.range"
8013
+ class="o-carousel-content mb-2 mt-3 h-100 w-100 overflow-hidden">
8014
+ <StandaloneViewport
8015
+ range="this.removeEmptyHeadersFromRange(selectedItem.range)"
8016
+ columnWeights="selectedItem.columnWeights"
8017
+ canResizeColumns="this.canResizeDataViewColumns"
8018
+ onResizeColumns.bind="this.onResizeColumns"
8019
+ zoomLevel="this.viewStore.zoomLevel"
8020
+ />
8021
+ </div>
7959
8022
  </div>
7960
8023
  </t>
7961
8024
 
@@ -7963,8 +8026,7 @@
7963
8026
  <div
7964
8027
  class="o-figure-wrapper os-theme-dependant"
7965
8028
  t-att-class="{'o-figure-selected': this.isSelected}"
7966
- t-att-style="this.wrapperStyle"
7967
- t-ref="this.figureWrapperRef">
8029
+ t-att-style="this.wrapperStyle">
7968
8030
  <div
7969
8031
  class="o-figure w-100 h-100"
7970
8032
  t-att-class="this.props.class"
@@ -7981,7 +8043,6 @@
7981
8043
  t-component="this.figureRegistry.get(this.props.figureUI.tag).Component"
7982
8044
  t-key="this.props.figureUI.id"
7983
8045
  figureUI="this.props.figureUI"
7984
- editFigureStyle.bind="this.editWrapperStyle"
7985
8046
  openContextMenu.bind="this.openContextMenu"
7986
8047
  />
7987
8048
  <MenuPopover
@@ -8210,24 +8271,13 @@
8210
8271
  class="mx-auto h-100 position-relative"
8211
8272
  t-ref="this.gridRef"
8212
8273
  t-att-style="this.gridContainer">
8274
+ <div class="position-absolute" t-att-style="this.gridOverlayDimensions">
8275
+ <FiguresContainer/>
8276
+ </div>
8213
8277
  <GridOverlay
8214
8278
  onGridResized.bind="this.onGridResized"
8215
8279
  gridOverlayDimensions="this.gridOverlayDimensions">
8216
- <div
8217
- t-foreach="this.getClickableCells()"
8218
- t-as="clickableCell"
8219
- t-key="clickableCell_index"
8220
- class="o-dashboard-clickable-cell"
8221
- t-att-title="clickableCell.title"
8222
- t-on-click="(ev) => this.selectClickableCell(ev, clickableCell)"
8223
- t-on-auxclick="(ev) => this.selectClickableCell(ev, clickableCell)"
8224
- t-att-style="this.getCellClickableStyle(clickableCell.coordinates)">
8225
- <t
8226
- t-if="clickableCell.component"
8227
- t-component="clickableCell.component"
8228
- t-props="clickableCell.componentProps"
8229
- />
8230
- </div>
8280
+ <ClickableCellsOverlay/>
8231
8281
  </GridOverlay>
8232
8282
  <canvas t-ref="this.canvasRef" class="os-theme-dependant"/>
8233
8283
  <GridPopover
@@ -8655,6 +8705,24 @@
8655
8705
  />
8656
8706
  </t>
8657
8707
 
8708
+ <t t-name="o-spreadsheet-ClickableCellsOverlay">
8709
+ <div
8710
+ t-foreach="this.getClickableCells()"
8711
+ t-as="clickableCell"
8712
+ t-key="clickableCell_index"
8713
+ class="o-dashboard-clickable-cell"
8714
+ t-att-title="clickableCell.title"
8715
+ t-on-click="(ev) => this.selectClickableCell(ev, clickableCell)"
8716
+ t-on-auxclick="(ev) => this.selectClickableCell(ev, clickableCell)"
8717
+ t-att-style="this.getCellClickableStyle(clickableCell.coordinates)">
8718
+ <t
8719
+ t-if="clickableCell.component"
8720
+ t-component="clickableCell.component"
8721
+ t-props="clickableCell.componentProps"
8722
+ />
8723
+ </div>
8724
+ </t>
8725
+
8658
8726
  <t t-name="o-spreadsheet-BottomBar">
8659
8727
  <div
8660
8728
  class="o-spreadsheet-bottom-bar o-two-columns d-flex flex-fill align-items-center overflow-hidden border-top"
@@ -1,5 +1,7 @@
1
- import { CoreCommand } from "../../types/commands";
1
+ import { CoreCommand, SheetDependentCommand } from "../../types/commands";
2
2
  import { UnboundedZone, Zone } from "../../types/misc";
3
3
  import { RangeData } from "../../types/range";
4
+ export type TransformResult = "SKIP_TRANSFORMATION" | "IGNORE_COMMAND";
4
5
  export declare function transformZone<Z extends Zone | UnboundedZone>(zone: Z, executed: CoreCommand): Z | undefined;
5
6
  export declare function transformRangeData(range: RangeData, executed: CoreCommand): RangeData | undefined;
7
+ export declare function transformSheetId(toTransform: Extract<CoreCommand, SheetDependentCommand>, executed: CoreCommand): CoreCommand | TransformResult;
@@ -0,0 +1,20 @@
1
+ import { Component } from "../../owl3_compatibility_layer";
2
+ import { Rect } from "../../types/rendering";
3
+ import { SpreadsheetChildEnv } from "../../types/spreadsheet_env";
4
+ import { Store } from "../../types/store_engine";
5
+ import { ClickableCell, ClickableCellsStore } from "../dashboard/clickable_cell_store";
6
+ export declare class ClickableCellsOverlay extends Component<SpreadsheetChildEnv> {
7
+ static template: string;
8
+ static components: {};
9
+ clickableCellsStore: Store<ClickableCellsStore>;
10
+ setup(): void;
11
+ getCellClickableStyle(coordinates: Rect): string;
12
+ /**
13
+ * Get all the boxes for the cell in the sheet view that are clickable.
14
+ * This function is used to render an overlay over each clickable cell in
15
+ * order to display a pointer cursor.
16
+ *
17
+ */
18
+ getClickableCells(): ClickableCell[];
19
+ selectClickableCell(ev: MouseEvent, clickableCell: ClickableCell): void;
20
+ }
@@ -1,7 +1,9 @@
1
1
  import { Component } from "../../owl3_compatibility_layer";
2
- import { DOMCoordinates, DOMDimension, Rect } from "../../types/rendering";
2
+ import { DOMCoordinates, DOMDimension } from "../../types/rendering";
3
3
  import { SpreadsheetChildEnv } from "../../types/spreadsheet_env";
4
4
  import { Store } from "../../types/store_engine";
5
+ import { ClickableCellsOverlay } from "../clickable_cells_overlay/clickable_cells_overlay";
6
+ import { FiguresContainer } from "../figures/figure_container/figure_container";
5
7
  import { DelayedHoveredCellStore } from "../grid/delayed_hovered_cell_store";
6
8
  import { GridOverlay } from "../grid_overlay/grid_overlay";
7
9
  import { GridPopover } from "../grid_popover/grid_popover";
@@ -9,7 +11,6 @@ import { CellPopoverStore } from "../popover/cell_popover_store";
9
11
  import { Popover } from "../popover/popover";
10
12
  import { HorizontalScrollBar } from "../scrollbar/scrollbar_horizontal";
11
13
  import { VerticalScrollBar } from "../scrollbar/scrollbar_vertical";
12
- import { ClickableCell, ClickableCellsStore } from "./clickable_cell_store";
13
14
  export declare class SpreadsheetDashboard extends Component<SpreadsheetChildEnv> {
14
15
  static template: string;
15
16
  static components: {
@@ -18,6 +19,8 @@ export declare class SpreadsheetDashboard extends Component<SpreadsheetChildEnv>
18
19
  Popover: typeof Popover;
19
20
  VerticalScrollBar: typeof VerticalScrollBar;
20
21
  HorizontalScrollBar: typeof HorizontalScrollBar;
22
+ ClickableCellsOverlay: typeof ClickableCellsOverlay;
23
+ FiguresContainer: typeof FiguresContainer;
21
24
  };
22
25
  protected props: import("@odoo/owl").Props<{
23
26
  getGridSize: () => DOMDimension;
@@ -26,22 +29,12 @@ export declare class SpreadsheetDashboard extends Component<SpreadsheetChildEnv>
26
29
  onMouseWheel: (ev: WheelEvent) => void;
27
30
  canvasPosition: DOMCoordinates;
28
31
  hoveredCell: Store<DelayedHoveredCellStore>;
29
- clickableCellsStore: Store<ClickableCellsStore>;
30
32
  private viewStore;
31
33
  private gridRef;
32
34
  private canvasRef;
33
35
  setup(): void;
34
36
  get gridContainer(): string;
35
37
  get gridOverlayDimensions(): string;
36
- getCellClickableStyle(coordinates: Rect): string;
37
- /**
38
- * Get all the boxes for the cell in the sheet view that are clickable.
39
- * This function is used to render an overlay over each clickable cell in
40
- * order to display a pointer cursor.
41
- *
42
- */
43
- getClickableCells(): ClickableCell[];
44
- selectClickableCell(ev: MouseEvent, clickableCell: ClickableCell): void;
45
38
  onClosePopover(): void;
46
39
  onGridResized(): void;
47
40
  private moveCanvas;
@@ -10,6 +10,8 @@ export declare class ErrorToolTip extends Component<SpreadsheetChildEnv> {
10
10
  cellPosition: import("../..").CellPosition;
11
11
  onClosed?: (() => void) | undefined;
12
12
  }>;
13
+ private viewStore;
14
+ setup(): void;
13
15
  get dataValidationErrorMessage(): string | undefined;
14
16
  get evaluationError(): import("../..").EvaluatedCell | undefined;
15
17
  get errorOriginPositionString(): string;
@@ -1,6 +1,5 @@
1
1
  import { Component } from "../../../owl3_compatibility_layer";
2
- import { ResizeDirection } from "../../../types/figure";
3
- import { CSSProperties } from "../../../types/misc";
2
+ import { FigureUI, ResizeDirection } from "../../../types/figure";
4
3
  import { Rect } from "../../../types/rendering";
5
4
  import { SpreadsheetChildEnv } from "../../../types/spreadsheet_env";
6
5
  import { MenuPopover } from "../../menu_popover/menu_popover";
@@ -11,7 +10,7 @@ export declare class FigureComponent extends Component<SpreadsheetChildEnv> {
11
10
  MenuPopover: typeof MenuPopover;
12
11
  };
13
12
  protected props: import("@odoo/owl").PropsWithDefaults<{
14
- figureUI: import("../../..").FigureUI;
13
+ figureUI: FigureUI;
15
14
  style: string;
16
15
  class: string;
17
16
  onMouseDown: (ev: MouseEvent) => void;
@@ -19,7 +18,6 @@ export declare class FigureComponent extends Component<SpreadsheetChildEnv> {
19
18
  }, "onMouseDown" | "onClickAnchor">;
20
19
  private menuState;
21
20
  private figureRef;
22
- private figureWrapperRef;
23
21
  private borderWidth;
24
22
  get isSelected(): boolean;
25
23
  get figureRegistry(): import("../../..").Registry<import("../../../registries/figures_registry").FigureContent>;
@@ -32,10 +30,9 @@ export declare class FigureComponent extends Component<SpreadsheetChildEnv> {
32
30
  onMouseDown(ev: MouseEvent): void;
33
31
  onClick(ev: MouseEvent): void;
34
32
  onKeyDown(ev: KeyboardEvent): void;
35
- private postionInBoundary;
33
+ private positionInBoundary;
36
34
  onContextMenu(ev: MouseEvent): void;
37
35
  openContextMenu(anchorRect: Rect): void;
38
- editWrapperStyle(properties: CSSProperties): void;
39
36
  get isFigureResizable(): boolean;
40
37
  }
41
38
  export {};
@@ -1,10 +1,13 @@
1
1
  import { Component } from "../../../owl3_compatibility_layer";
2
+ import { ViewportsStore } from "../../../stores/viewports_store";
2
3
  import { Carousel, CarouselItem } from "../../../types/figure";
3
4
  import { CSSProperties, MenuMouseEvent } from "../../../types/misc";
5
+ import { Range } from "../../../types/range";
4
6
  import { Rect } from "../../../types/rendering";
5
7
  import { SpreadsheetChildEnv } from "../../../types/spreadsheet_env";
6
8
  import { Store } from "../../../types/store_engine";
7
9
  import { MenuPopover } from "../../menu_popover/menu_popover";
10
+ import { StandaloneViewport } from "../../standalone_viewport/standalone_viewport";
8
11
  import { ChartAnimationStore } from "../chart/chartJs/chartjs_animation_store";
9
12
  import { ChartMenu } from "../chart/chart_menu/chart_menu";
10
13
  export declare class CarouselFigure extends Component<SpreadsheetChildEnv> {
@@ -12,6 +15,7 @@ export declare class CarouselFigure extends Component<SpreadsheetChildEnv> {
12
15
  static components: {
13
16
  ChartMenu: typeof ChartMenu;
14
17
  MenuPopover: typeof MenuPopover;
18
+ StandaloneViewport: typeof StandaloneViewport;
15
19
  };
16
20
  protected props: import("@odoo/owl").Props<{
17
21
  figureUI: import("../../..").FigureUI;
@@ -25,6 +29,7 @@ export declare class CarouselFigure extends Component<SpreadsheetChildEnv> {
25
29
  private hiddenItems;
26
30
  protected animationStore: Store<ChartAnimationStore> | undefined;
27
31
  private fullScreenFigureStore;
32
+ viewStore: Store<ViewportsStore>;
28
33
  setup(): void;
29
34
  get carousel(): Carousel;
30
35
  get selectedCarouselItem(): CarouselItem | undefined;
@@ -34,7 +39,7 @@ export declare class CarouselFigure extends Component<SpreadsheetChildEnv> {
34
39
  isItemSelected(item: CarouselItem): boolean;
35
40
  getItemTitle(item: CarouselItem): string;
36
41
  onCarouselTabClick(item: CarouselItem): void;
37
- get headerStyle(): string;
42
+ get carouselStyle(): string;
38
43
  get title(): string;
39
44
  get titleStyle(): string;
40
45
  private updateTabsVisibility;
@@ -42,6 +47,8 @@ export declare class CarouselFigure extends Component<SpreadsheetChildEnv> {
42
47
  toggleMenu(ev: MenuMouseEvent): void;
43
48
  toggleFullScreen(): void;
44
49
  get fullScreenButtonTitle(): string;
45
- get visibleCarouselItems(): CarouselItem[];
46
50
  openContextMenu(event: MenuMouseEvent): void;
51
+ removeEmptyHeadersFromRange(range: Range): Range;
52
+ onResizeColumns(columnWeights: number[]): void;
53
+ get canResizeDataViewColumns(): boolean;
47
54
  }
@@ -1,5 +1,5 @@
1
1
  import { ChartType } from "../../../types/chart/chart";
2
- import { CSSProperties, UID } from "../../../types/misc";
2
+ import { UID } from "../../../types/misc";
3
3
  import { Rect } from "../../../types/rendering";
4
4
  import { SpreadsheetChildEnv } from "../../../types/spreadsheet_env";
5
5
  import { ChartMenu } from "../chart/chart_menu/chart_menu";
@@ -11,7 +11,6 @@ export declare class ChartFigure extends Component<SpreadsheetChildEnv> {
11
11
  };
12
12
  protected props: import("@odoo/owl").Props<{
13
13
  figureUI: import("../../..").FigureUI;
14
- editFigureStyle?: ((properties: CSSProperties) => void) | undefined;
15
14
  isFullScreen?: boolean | undefined;
16
15
  openContextMenu?: ((anchorRect: Rect, onClose?: () => void) => void) | undefined;
17
16
  }>;
@@ -1,4 +1,4 @@
1
- import { CSSProperties, UID } from "../../../types/misc";
1
+ import { UID } from "../../../types/misc";
2
2
  import { Rect } from "../../../types/rendering";
3
3
  import { SpreadsheetChildEnv } from "../../../types/spreadsheet_env";
4
4
  import { Component } from "../../../owl3_compatibility_layer";
@@ -7,7 +7,6 @@ export declare class ImageFigure extends Component<SpreadsheetChildEnv> {
7
7
  protected props: import("@odoo/owl").Props<{
8
8
  figureUI: import("../../..").FigureUI;
9
9
  openContextMenu: (anchorRect: Rect, onClose?: () => void) => void;
10
- editFigureStyle?: ((properties: CSSProperties) => void) | undefined;
11
10
  }>;
12
11
  private menuButtonRef;
13
12
  showMenu(ev: MouseEvent): void;
@@ -17,6 +17,7 @@ export declare class FilterMenu extends Component<SpreadsheetChildEnv> {
17
17
  private state;
18
18
  private criterionCategory;
19
19
  private updatedCriterionValue;
20
+ private viewStore;
20
21
  setup(): void;
21
22
  get isSortable(): boolean;
22
23
  get table(): import("../../..").Table | undefined;
@@ -10,6 +10,7 @@ import { Autofill } from "../autofill/autofill";
10
10
  import { ClientTag } from "../collaborative_client_tag/collaborative_client_tag";
11
11
  import { ComposerSelection } from "../composer/composer/abstract_composer_store";
12
12
  import { GridComposer } from "../composer/grid_composer/grid_composer";
13
+ import { FiguresContainer } from "../figures/figure_container/figure_container";
13
14
  import { GridOverlay } from "../grid_overlay/grid_overlay";
14
15
  import { GridPopover } from "../grid_popover/grid_popover";
15
16
  import { HeadersOverlay } from "../headers_overlay/headers_overlay";
@@ -50,6 +51,7 @@ export declare class Grid extends Component<SpreadsheetChildEnv> {
50
51
  HorizontalScrollBar: typeof HorizontalScrollBar;
51
52
  TableResizer: typeof TableResizer;
52
53
  Selection: typeof Selection;
54
+ FiguresContainer: typeof FiguresContainer;
53
55
  };
54
56
  protected props: import("@odoo/owl").Props<{
55
57
  exposeFocus: (focus: () => void) => void;
@@ -1,28 +1,29 @@
1
1
  import { Component } from "../../owl3_compatibility_layer";
2
+ import { ViewportsStore } from "../../stores/viewports_store";
2
3
  import { GridClickModifiers, HeaderIndex } from "../../types/misc";
3
4
  import { DOMCoordinates } from "../../types/rendering";
4
5
  import { SpreadsheetChildEnv } from "../../types/spreadsheet_env";
5
- import { FiguresContainer } from "../figures/figure_container/figure_container";
6
+ import { Store } from "../../types/store_engine";
6
7
  import { GridAddRowsFooter } from "../grid_add_rows_footer/grid_add_rows_footer";
7
8
  import { ZoomedMouseEvent } from "../helpers/zoom";
8
9
  export declare class GridOverlay extends Component<SpreadsheetChildEnv> {
9
10
  static template: string;
10
11
  static components: {
11
- FiguresContainer: typeof FiguresContainer;
12
12
  GridAddRowsFooter: typeof GridAddRowsFooter;
13
13
  };
14
14
  protected props: import("@odoo/owl").PropsWithDefaults<{
15
- onCellDoubleClicked: (col: HeaderIndex, row: HeaderIndex) => void;
15
+ onCellDoubleClicked: (col: HeaderIndex, row: HeaderIndex, ev: MouseEvent) => void;
16
16
  onCellClicked: (col: HeaderIndex, row: HeaderIndex, modifiers: GridClickModifiers, zoomedMouseEvent: ZoomedMouseEvent<MouseEvent | PointerEvent>) => void;
17
17
  onCellRightClicked: (col: HeaderIndex, row: HeaderIndex, coordinates: DOMCoordinates) => void;
18
18
  onGridResized: () => void;
19
19
  gridOverlayDimensions: string;
20
- }, "onCellDoubleClicked" | "onCellClicked" | "onCellRightClicked" | "onGridResized">;
20
+ hasFooter: boolean;
21
+ }, "onCellDoubleClicked" | "onCellClicked" | "onCellRightClicked" | "onGridResized" | "hasFooter">;
21
22
  private gridOverlayRef;
22
23
  private cellPopovers;
23
24
  private paintFormatStore;
24
25
  private hoveredIconStore;
25
- private viewStore;
26
+ viewStore: Store<ViewportsStore>;
26
27
  setup(): void;
27
28
  get gridOverlayEl(): HTMLElement;
28
29
  get style(): string;
@@ -1 +1 @@
1
- export declare function useWheelHandler(handler: (deltaX: number, deltaY: number) => void): (ev: WheelEvent) => void;
1
+ export declare function useWheelHandler(handler: (deltaX: number, deltaY: number, ev: WheelEvent) => void): (ev: WheelEvent) => void;
@@ -12,6 +12,7 @@ export declare class LinkDisplay extends Component<SpreadsheetChildEnv> {
12
12
  onClosed?: (() => void) | undefined;
13
13
  }>;
14
14
  protected cellPopovers: Store<CellPopoverStore>;
15
+ private viewStore;
15
16
  setup(): void;
16
17
  get cell(): EvaluatedCell;
17
18
  get link(): Link;
@@ -33,6 +33,7 @@ export declare class LinkEditor extends Component<SpreadsheetChildEnv> {
33
33
  suggestionListRef: import("@odoo/owl").Signal<HTMLElement | null>;
34
34
  urlInputContainer: import("@odoo/owl").Signal<HTMLElement | null>;
35
35
  private state;
36
+ private viewStore;
36
37
  setup(): void;
37
38
  computeLinks(): void;
38
39
  get linkProposalByCategory(): Record<string, LinkProposal>;
@@ -10,7 +10,8 @@ export declare class VerticalScrollBar extends Component<SpreadsheetChildEnv> {
10
10
  setup(): void;
11
11
  protected props: import("@odoo/owl").PropsWithDefaults<{
12
12
  topOffset: number;
13
- }, "topOffset">;
13
+ hasFooter: boolean;
14
+ }, "hasFooter" | "topOffset">;
14
15
  get offset(): import("../..").Pixel;
15
16
  get height(): import("../..").Pixel;
16
17
  get isDisplayed(): boolean;
@@ -6,6 +6,7 @@ import { UID } from "../../../types/misc";
6
6
  import { PropsOf } from "../../../types/props_of";
7
7
  import { SpreadsheetChildEnv } from "../../../types/spreadsheet_env";
8
8
  import { Popover } from "../../popover/popover";
9
+ import { SelectionInput } from "../../selection_input/selection_input";
9
10
  import { TextInput } from "../../text_input/text_input";
10
11
  import { TextStyler } from "../chart/building_blocks/text_styler/text_styler";
11
12
  import { ChartTypePickerPopover } from "../chart/chart_type_picker_popover/chart_type_picker_popover";
@@ -13,6 +14,7 @@ import { CogWheelMenu } from "../components/cog_wheel_menu/cog_wheel_menu";
13
14
  import { Section } from "../components/section/section";
14
15
  interface CarouselPanelState {
15
16
  popoverProps: PropsOf<Popover> | undefined;
17
+ currentRange?: string;
16
18
  }
17
19
  export declare class CarouselPanel extends Component<SpreadsheetChildEnv> {
18
20
  static template: string;
@@ -22,6 +24,7 @@ export declare class CarouselPanel extends Component<SpreadsheetChildEnv> {
22
24
  TextStyler: typeof TextStyler;
23
25
  CogWheelMenu: typeof CogWheelMenu;
24
26
  ChartTypePickerPopover: typeof ChartTypePickerPopover;
27
+ SelectionInput: typeof SelectionInput;
25
28
  };
26
29
  protected props: import("@odoo/owl").Props<{
27
30
  onCloseSidePanel: () => void;
@@ -64,6 +67,8 @@ export declare class CarouselPanel extends Component<SpreadsheetChildEnv> {
64
67
  get carouselAddChartInfoMessage(): string;
65
68
  getCogWheelMenuItems(item: CarouselItem): ActionSpec[];
66
69
  get carouselSheetId(): UID;
67
- get carouselDataViewMessage(): string;
70
+ getItemRangeString(item: CarouselItem): string;
71
+ onSelectionInputChanged(ranges: string[]): void;
72
+ onSelectionInputConfirmed(): void;
68
73
  }
69
74
  export {};