@odoo/o-spreadsheet 18.1.10 → 18.1.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 18.1.10
5
- @date 2025-03-07T10:35:21.396Z
6
- @hash 31e4526
4
+ @version 18.1.12
5
+ @date 2025-03-19T08:24:31.065Z
6
+ @hash 32f788f
7
7
  -->
8
8
  <odoo>
9
9
  <t t-name="o-spreadsheet-ActionButton">
@@ -179,7 +179,11 @@
179
179
  </div>
180
180
  </Ripple>
181
181
  <Ripple>
182
- <div class="o-sheet-item o-list-sheets me-2 p-1" t-on-click="clickListSheets">
182
+ <div
183
+ class="o-sheet-item o-list-sheets me-2 p-1"
184
+ composerFocusableElement="true"
185
+ tabindex="-1"
186
+ t-on-click="clickListSheets">
183
187
  <t t-call="o-spreadsheet-Icon.LIST"/>
184
188
  </div>
185
189
  </Ripple>
@@ -274,14 +278,16 @@
274
278
  t-att-class="{'o-sheet-name-editable': state.isEditing }"
275
279
  t-ref="sheetNameSpan"
276
280
  t-esc="sheetName"
277
- t-on-click="(ev) => this.onMouseEventSheetName(ev)"
278
281
  t-on-pointerdown="(ev) => this.onMouseEventSheetName(ev)"
279
282
  t-on-dblclick="() => this.onDblClick()"
280
283
  t-on-focusout="() => this.onFocusOut()"
281
284
  t-on-keydown="(ev) => this.onKeyDown(ev)"
282
285
  t-att-contenteditable="state.isEditing ? 'true': 'false'"
283
286
  />
284
- <span class="o-sheet-icon ms-1" t-on-click.stop="(ev) => this.onIconClick(ev)">
287
+ <span
288
+ class="o-sheet-icon ms-1"
289
+ tabindex="-1"
290
+ t-on-click.stop="(ev) => this.onIconClick(ev)">
285
291
  <t t-call="o-spreadsheet-Icon.CARET_DOWN"/>
286
292
  </span>
287
293
  <div
@@ -1251,7 +1257,7 @@
1251
1257
 
1252
1258
  <t t-name="o-spreadsheet-RowResizer">
1253
1259
  <div
1254
- class="o-row-resizer"
1260
+ class="o-row-resizer overflow-hidden"
1255
1261
  t-on-pointermove.self="onMouseMove"
1256
1262
  t-on-mouseleave="onMouseLeave"
1257
1263
  t-on-pointerdown.self.prevent="select"
@@ -1279,8 +1285,9 @@
1279
1285
  <div class="dragging-resizer" t-if="state.isResizing"/>
1280
1286
  </div>
1281
1287
  </t>
1288
+ <t t-set="viewportZone" t-value="env.model.getters.getActiveMainViewport()"/>
1282
1289
  <t
1283
- t-foreach="env.model.getters.getHiddenRowsGroups(env.model.getters.getActiveSheetId())"
1290
+ t-foreach="env.model.getters.getHiddenRowsGroups(sheetId)"
1284
1291
  t-as="hiddenItem"
1285
1292
  t-key="hiddenItem_index">
1286
1293
  <div
@@ -1288,15 +1295,17 @@
1288
1295
  t-att-style="getUnhideButtonStyle(hiddenItem[0])">
1289
1296
  <div
1290
1297
  class="o-unhide rounded mb-1"
1291
- t-att-class="{'invisible': hiddenItem.includes(0)}"
1298
+ t-att-class="{'invisible': !env.model.getters.isVisibleInViewport({sheetId, col:viewportZone.left, row:hiddenItem[0]-1})}"
1292
1299
  t-att-data-index="hiddenItem_index"
1300
+ t-att-data-direction="'up'"
1293
1301
  t-on-click="() => this.unhide(hiddenItem)">
1294
1302
  <t t-call="o-spreadsheet-Icon.CARET_UP"/>
1295
1303
  </div>
1296
1304
  <div
1297
1305
  class="o-unhide rounded"
1298
- t-att-class="{'invisible': hiddenItem.includes(env.model.getters.getNumberRows(env.model.getters.getActiveSheetId())-1)}"
1306
+ t-att-class="{'invisible': !env.model.getters.isVisibleInViewport({sheetId, col: viewportZone.left, row: hiddenItem[hiddenItem.length-1]+1})}"
1299
1307
  t-att-data-index="hiddenItem_index"
1308
+ t-att-data-direction="'down'"
1300
1309
  t-on-click="() => this.unhide(hiddenItem)">
1301
1310
  <t t-call="o-spreadsheet-Icon.CARET_DOWN"/>
1302
1311
  </div>
@@ -1307,7 +1316,7 @@
1307
1316
 
1308
1317
  <t t-name="o-spreadsheet-ColResizer">
1309
1318
  <div
1310
- class="o-col-resizer"
1319
+ class="o-col-resizer overflow-hidden"
1311
1320
  t-on-pointermove.self="onMouseMove"
1312
1321
  t-on-mouseleave="onMouseLeave"
1313
1322
  t-on-pointerdown.self.prevent="select"
@@ -1335,8 +1344,9 @@
1335
1344
  <div class="dragging-resizer" t-if="state.isResizing"/>
1336
1345
  </div>
1337
1346
  </t>
1347
+ <t t-set="viewportZone" t-value="env.model.getters.getActiveMainViewport()"/>
1338
1348
  <t
1339
- t-foreach="env.model.getters.getHiddenColsGroups(env.model.getters.getActiveSheetId())"
1349
+ t-foreach="env.model.getters.getHiddenColsGroups(sheetId)"
1340
1350
  t-as="hiddenItem"
1341
1351
  t-key="hiddenItem_index">
1342
1352
  <div
@@ -1344,15 +1354,17 @@
1344
1354
  t-att-style="getUnhideButtonStyle(hiddenItem[0])">
1345
1355
  <div
1346
1356
  class="o-unhide rounded"
1347
- t-att-class="{'invisible': hiddenItem.includes(0)}"
1357
+ t-att-class="{'invisible': !env.model.getters.isVisibleInViewport({sheetId, col: hiddenItem[0]-1, row: viewportZone.top})}"
1348
1358
  t-att-data-index="hiddenItem_index"
1359
+ t-att-data-direction="'left'"
1349
1360
  t-on-click="() => this.unhide(hiddenItem)">
1350
1361
  <t t-call="o-spreadsheet-Icon.CARET_LEFT"/>
1351
1362
  </div>
1352
1363
  <div
1353
1364
  class="o-unhide rounded"
1354
- t-att-class="{'invisible': hiddenItem.includes(env.model.getters.getNumberCols(env.model.getters.getActiveSheetId())-1)}"
1365
+ t-att-class="{'invisible': !env.model.getters.isVisibleInViewport({sheetId, col: hiddenItem[hiddenItem.length-1]+1, row: viewportZone.top})}"
1355
1366
  t-att-data-index="hiddenItem_index"
1367
+ t-att-data-direction="'right'"
1356
1368
  t-on-click="() => this.unhide(hiddenItem)">
1357
1369
  <t t-call="o-spreadsheet-Icon.CARET_RIGHT"/>
1358
1370
  </div>
@@ -2516,6 +2528,7 @@
2516
2528
  t-att-style="menuStyle"
2517
2529
  t-on-scroll="onScroll"
2518
2530
  t-on-wheel.stop=""
2531
+ t-on-pointerdown.prevent=""
2519
2532
  t-on-click.stop=""
2520
2533
  t-on-mouseover="onMouseOverMainMenu"
2521
2534
  t-on-contextmenu.prevent="">
@@ -5812,7 +5825,7 @@
5812
5825
  </t>
5813
5826
 
5814
5827
  <t t-name="o-spreadsheet-Spreadsheet">
5815
- <div class="o-spreadsheet" t-ref="spreadsheet" t-att-style="getStyle()">
5828
+ <div class="o-spreadsheet h-100 w-100" t-ref="spreadsheet" t-att-style="getStyle()">
5816
5829
  <t t-if="env.isDashboard()">
5817
5830
  <SpreadsheetDashboard/>
5818
5831
  </t>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odoo/o-spreadsheet",
3
- "version": "18.1.10",
3
+ "version": "18.1.12",
4
4
  "description": "A spreadsheet component",
5
5
  "type": "module",
6
6
  "main": "dist/o-spreadsheet.cjs.js",