@odoo/o-spreadsheet 19.0.4 → 19.0.6

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.0.4
5
- @date 2025-09-23T12:38:19.168Z
6
- @hash 87b774d
4
+ @version 19.0.6
5
+ @date 2025-10-16T06:40:27.140Z
6
+ @hash 0d4315a
7
7
  -->
8
8
  <odoo>
9
9
  <t t-name="o-spreadsheet-ValidationMessages">
@@ -361,7 +361,7 @@
361
361
  t-att-style="getStyle()">
362
362
  <t t-if="env.isDashboard()">
363
363
  <SpreadsheetDashboard getGridSize.bind="getGridSize"/>
364
- <FullScreenChart/>
364
+ <FullScreenFigure/>
365
365
  </t>
366
366
  <t t-else="">
367
367
  <div class="o-spreadsheet-topbar-wrapper o-two-columns">
@@ -398,9 +398,14 @@
398
398
  <RibbonMenu onClose="() => this.menuState.isOpen=false"/>
399
399
  </t>
400
400
  <t t-else="">
401
- <div class="o-small-composer px-2 py-2">
401
+ <div class="o-small-composer px-2 py-2 position-relative">
402
402
  <div class="w-100" t-ref="bottombarComposer">
403
403
  <Composer t-props="composerProps"/>
404
+ <span
405
+ t-if="showFxIcon"
406
+ class="position-absolute top-50 translate-middle-y ps-2 pe-none">
407
+ <t t-call="o-spreadsheet-Icon.FX_SVG"/>
408
+ </span>
404
409
  </div>
405
410
  <span
406
411
  class="align-items-center d-flex justify-content-center o-selection-button"
@@ -448,7 +453,10 @@
448
453
  </div>
449
454
  <span class="d-flex align-items-center" t-esc="state.title"/>
450
455
  </div>
451
- <div class="o-ribbon-menu-wrapper overflow-auto">
456
+ <div
457
+ class="o-ribbon-menu-wrapper overflow-auto"
458
+ t-ref="container"
459
+ t-on-scroll="updateShadows">
452
460
  <Menu t-props="menuProps"/>
453
461
  </div>
454
462
  </div>
@@ -5553,6 +5561,14 @@
5553
5561
  />
5554
5562
  </svg>
5555
5563
  </t>
5564
+ <t t-name="o-spreadsheet-Icon.FX_SVG">
5565
+ <svg class="o-icon" viewBox="0 0 121.8 122.9">
5566
+ <path
5567
+ fill="#BDBDBD"
5568
+ d='m28 34-4 5v2h10l-6 40c-4 22-6 28-7 30-2 2-3 3-5 3-3 0-7-2-9-4H4c-2 2-4 4-4 7s4 6 8 6 9-2 15-8c8-7 13-17 18-39l7-35 13-1 3-6H49c4-23 7-27 11-27 2 0 5 2 8 6h4c1-1 4-4 4-7 0-2-3-6-9-6-5 0-13 4-20 10-6 7-9 14-11 24h-8zm41 16c4-5 7-7 8-7s2 1 5 9l3 12c-7 11-12 17-16 17l-3-1-2-1c-3 0-6 3-6 7s3 7 7 7c6 0 12-6 22-23l3 10c3 9 6 13 10 13 5 0 11-4 18-15l-3-4c-4 6-7 8-8 8-2 0-4-3-6-10l-5-15 8-10 6-4 3 1 3 2c2 0 6-3 6-7s-2-7-6-7c-6 0-11 5-21 20l-2-6c-3-9-5-14-9-14-5 0-12 6-18 15l3 3z'
5569
+ />
5570
+ </svg>
5571
+ </t>
5556
5572
 
5557
5573
  <t t-name="o-spreadsheet-IconPicker">
5558
5574
  <div class="o-icon-picker">
@@ -6030,8 +6046,8 @@
6030
6046
  </div>
6031
6047
  </t>
6032
6048
 
6033
- <t t-name="o-spreadsheet-FullScreenChart">
6034
- <div class="position-absolute o-fullscreen-chart-overlay w-100 h-100 d-flex" t-if="chartId">
6049
+ <t t-name="o-spreadsheet-FullScreenFigure">
6050
+ <div class="position-absolute o-fullscreen-figure-overlay w-100 h-100 d-flex" t-if="figureUI">
6035
6051
  <div
6036
6052
  class="position-absolute top-0 start-0 end-0 bottom-0"
6037
6053
  t-on-click="exitFullScreen"
@@ -6044,15 +6060,20 @@
6044
6060
  </button>
6045
6061
  <div class="flex-fill">
6046
6062
  <div
6047
- class="o-fullscreen-chart o-figure position-relative border rounded shadow"
6063
+ class="o-fullscreen-figure o-figure position-relative border rounded shadow"
6048
6064
  tabindex="1"
6049
- t-ref="fullScreenChart"
6065
+ t-ref="fullScreenFigure"
6050
6066
  t-on-click.stop=""
6051
6067
  t-on-keydown="(ev) => this.onKeyDown(ev)">
6052
- <t t-component="chartComponent" chartId="chartId" isFullScreen="true" t-key="chartId"/>
6053
- <div class="position-absolute top-0 end-0">
6054
- <ChartDashboardMenu chartId="chartId"/>
6055
- </div>
6068
+ <t>
6069
+ <t
6070
+ t-component="figureComponent"
6071
+ figureUI="figureUI"
6072
+ isFullScreen="true"
6073
+ onFigureDeleted="() => {}"
6074
+ t-key="figureUI.id"
6075
+ />
6076
+ </t>
6056
6077
  </div>
6057
6078
  </div>
6058
6079
  </div>
@@ -6279,7 +6300,12 @@
6279
6300
 
6280
6301
  <t t-name="o-spreadsheet-ChartFigure">
6281
6302
  <div class="o-chart-container w-100 h-100" t-on-dblclick="onDoubleClick">
6282
- <t t-component="chartComponent" chartId="chartId" t-key="chartId"/>
6303
+ <t
6304
+ t-component="chartComponent"
6305
+ chartId="chartId"
6306
+ t-key="chartId"
6307
+ isFullScreen="props.isFullScreen"
6308
+ />
6283
6309
  </div>
6284
6310
  <div t-if="env.isDashboard()" class="position-absolute top-0 end-0">
6285
6311
  <ChartDashboardMenu chartId="chartId"/>
@@ -6303,7 +6329,7 @@
6303
6329
  t-att-style="titleStyle"
6304
6330
  />
6305
6331
  <div class="o-carousel-tabs d-flex flex-fill justify-content-end" t-ref="carouselTabs">
6306
- <t t-foreach="carousel.items" t-as="item" t-key="item_index">
6332
+ <t t-foreach="visibleCarouselItems" t-as="item" t-key="item_index">
6307
6333
  <div
6308
6334
  class="o-carousel-tab text-truncate px-2 mt-1 flex-shrink-0"
6309
6335
  t-att-class="{ 'selected': isItemSelected(item) }"
@@ -6313,7 +6339,7 @@
6313
6339
  </t>
6314
6340
  </div>
6315
6341
  <div
6316
- class="o-carousel-tabs-dropdown flex-shrink-0 rounded"
6342
+ class="o-carousel-tabs-dropdown o-carousel-button flex-shrink-0 rounded p-1"
6317
6343
  t-att-class="{'active': menuState.isOpen}"
6318
6344
  t-ref="carouselTabsDropdown"
6319
6345
  t-on-click="toggleMenu">
@@ -6327,6 +6353,22 @@
6327
6353
  popoverPositioning="'bottom-left'"
6328
6354
  />
6329
6355
  </div>
6356
+ <div
6357
+ t-if="env.isDashboard()"
6358
+ t-att-title="fullScreenButtonTitle"
6359
+ class="o-carousel-full-screen-button fa o-carousel-button rounded p-1 ms-1"
6360
+ t-att-class="{
6361
+ 'fa-compress': props.isFullScreen,
6362
+ 'fa-expand': !props.isFullScreen,
6363
+ 'invisible': selectedCarouselItem?.type !== 'chart',
6364
+ }"
6365
+ t-on-click="toggleFullScreen"
6366
+ />
6367
+ <div
6368
+ t-if="!env.isDashboard()"
6369
+ class="o-carousel-menu-button o-carousel-button fa fa-ellipsis-v rounded ms-1"
6370
+ t-on-click="openContextMenu"
6371
+ />
6330
6372
  </div>
6331
6373
  <div
6332
6374
  t-if="!selectedItem"
@@ -6340,12 +6382,14 @@
6340
6382
  <t
6341
6383
  t-component="chartComponent"
6342
6384
  chartId="selectedItem.chartId"
6385
+ isFullScreen="props.isFullScreen"
6343
6386
  t-key="selectedItem.chartId"
6344
6387
  />
6345
6388
  </div>
6346
6389
  <ChartDashboardMenu
6347
6390
  t-if="env.isDashboard()"
6348
6391
  chartId="selectedItem.chartId"
6392
+ hasFullScreenButton="false"
6349
6393
  t-key="selectedItem.chartId"
6350
6394
  />
6351
6395
  </div>
@@ -6372,6 +6416,7 @@
6372
6416
  onFigureDeleted="props.onFigureDeleted"
6373
6417
  figureUI="props.figureUI"
6374
6418
  editFigureStyle.bind="editWrapperStyle"
6419
+ openContextMenu.bind="openContextMenu"
6375
6420
  />
6376
6421
  <div class="o-figure-menu position-absolute m-2" t-if="!env.isDashboard()">
6377
6422
  <div
@@ -6605,6 +6650,9 @@
6605
6650
  composerStore="composerStore"
6606
6651
  placeholder="composerStore.placeholder"
6607
6652
  />
6653
+ <span t-if="showFxIcon" class="position-absolute top-50 translate-middle-y ps-2 pe-none">
6654
+ <t t-call="o-spreadsheet-Icon.FX_SVG"/>
6655
+ </span>
6608
6656
  </div>
6609
6657
  </div>
6610
6658
  </t>
@@ -7083,6 +7131,7 @@
7083
7131
  t-ref="sheetNameSpan"
7084
7132
  t-esc="sheetName"
7085
7133
  t-on-pointerdown="(ev) => this.onMouseEventSheetName(ev)"
7134
+ t-on-click="(ev) => this.onMouseEventSheetName(ev)"
7086
7135
  t-on-dblclick="() => this.onDblClick()"
7087
7136
  t-on-focusout="() => this.onFocusOut()"
7088
7137
  t-on-keydown="(ev) => this.onKeyDown(ev)"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odoo/o-spreadsheet",
3
- "version": "19.0.4",
3
+ "version": "19.0.6",
4
4
  "description": "A spreadsheet component",
5
5
  "type": "module",
6
6
  "main": "dist/o-spreadsheet.cjs.js",