@odoo/o-spreadsheet 17.0.50 → 17.0.52

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 17.0.50
5
- @date 2025-02-14T08:38:07.000Z
6
- @hash cc1037d
4
+ @version 17.0.52
5
+ @date 2025-03-07T10:30:37.763Z
6
+ @hash c19cd9a
7
7
  -->
8
8
  <odoo>
9
9
  <t t-name="o-spreadsheet-ActionButton">
@@ -478,29 +478,32 @@
478
478
  t-on-contextmenu="onContextMenu"
479
479
  />
480
480
 
481
- <div
482
- t-if="props.focus !== 'inactive' and (autoCompleteState.showProvider or functionDescriptionState.showDescription)"
483
- class="o-composer-assistant shadow"
484
- t-att-style="assistantStyle"
485
- t-on-wheel.stop=""
486
- t-on-mousedown.prevent.stop=""
487
- t-on-click.prevent.stop=""
488
- t-on-mouseup.prevent.stop="">
489
- <TextValueProvider
490
- t-if="autoCompleteState.showProvider"
491
- values="autoCompleteState.values"
492
- selectedIndex="autoCompleteState.selectedIndex"
493
- onValueSelected.bind="this.autoComplete"
494
- onValueHovered.bind="this.updateAutoCompleteIndex"
495
- getHtmlContent="autoCompleteState.getHtmlContent"
496
- />
497
- <FunctionDescriptionProvider
498
- t-if="functionDescriptionState.showDescription"
499
- functionName="functionDescriptionState.functionName"
500
- functionDescription="functionDescriptionState.functionDescription"
501
- argToFocus="functionDescriptionState.argToFocus"
502
- />
503
- </div>
481
+ <Popover
482
+ t-props="popoverProps"
483
+ t-if="props.focus !== 'inactive' and (autoCompleteState.showProvider or functionDescriptionState.showDescription)">
484
+ <div
485
+ class="o-composer-assistant"
486
+ t-att-style="assistantStyle"
487
+ t-on-wheel.stop=""
488
+ t-on-mousedown.prevent.stop=""
489
+ t-on-click.prevent.stop=""
490
+ t-on-mouseup.prevent.stop="">
491
+ <TextValueProvider
492
+ t-if="autoCompleteState.showProvider"
493
+ values="autoCompleteState.values"
494
+ selectedIndex="autoCompleteState.selectedIndex"
495
+ onValueSelected.bind="this.autoComplete"
496
+ onValueHovered.bind="this.updateAutoCompleteIndex"
497
+ getHtmlContent="autoCompleteState.getHtmlContent"
498
+ />
499
+ <FunctionDescriptionProvider
500
+ t-if="functionDescriptionState.showDescription"
501
+ functionName="functionDescriptionState.functionName"
502
+ functionDescription="functionDescriptionState.functionDescription"
503
+ argToFocus="functionDescriptionState.argToFocus"
504
+ />
505
+ </div>
506
+ </Popover>
504
507
  </div>
505
508
  </t>
506
509
 
@@ -1189,7 +1192,7 @@
1189
1192
 
1190
1193
  <t t-name="o-spreadsheet-RowResizer">
1191
1194
  <div
1192
- class="o-row-resizer"
1195
+ class="o-row-resizer overflow-hidden"
1193
1196
  t-on-mousemove.self="onMouseMove"
1194
1197
  t-on-mouseleave="onMouseLeave"
1195
1198
  t-on-mousedown.self.prevent="select"
@@ -1217,25 +1220,29 @@
1217
1220
  <div class="dragging-resizer" t-if="state.isResizing"/>
1218
1221
  </div>
1219
1222
  </t>
1223
+ <t t-set="viewportZone" t-value="env.model.getters.getActiveMainViewport()"/>
1220
1224
  <t
1221
- t-foreach="env.model.getters.getHiddenRowsGroups(env.model.getters.getActiveSheetId())"
1225
+ t-foreach="env.model.getters.getHiddenRowsGroups(sheetId)"
1222
1226
  t-as="hiddenItem"
1223
1227
  t-key="hiddenItem_index">
1224
- <t t-if="!hiddenItem.includes(0)">
1228
+ <t
1229
+ t-if="env.model.getters.isVisibleInViewport({sheetId, col:viewportZone.left, row:hiddenItem[0]-1})">
1225
1230
  <div
1226
1231
  class="o-unhide"
1227
1232
  t-att-data-index="hiddenItem_index"
1233
+ t-att-data-direction="'up'"
1228
1234
  t-attf-style="top:{{unhideStyleValue(hiddenItem[0]) - 17}}px;"
1229
1235
  t-on-click="() => this.unhide(hiddenItem)">
1230
1236
  <t t-call="o-spreadsheet-Icon.TRIANGLE_UP"/>
1231
1237
  </div>
1232
1238
  </t>
1233
1239
  <t
1234
- t-if="!hiddenItem.includes(env.model.getters.getNumberRows(env.model.getters.getActiveSheetId())-1)">
1240
+ t-if="env.model.getters.isVisibleInViewport({sheetId, col:viewportZone.left, row:hiddenItem[hiddenItem.length-1]+1})">
1235
1241
  <div
1236
1242
  class="o-unhide"
1237
1243
  t-att-data-index="hiddenItem_index"
1238
- t-attf-style="top:{{unhideStyleValue(hiddenItem[0]) + 3}}px;"
1244
+ t-att-data-direction="'down'"
1245
+ t-attf-style="top:{{unhideStyleValue(hiddenItem[0]) + 2}}px;"
1239
1246
  t-on-click="() => this.unhide(hiddenItem)">
1240
1247
  <t t-call="o-spreadsheet-Icon.TRIANGLE_DOWN"/>
1241
1248
  </div>
@@ -1246,7 +1253,7 @@
1246
1253
 
1247
1254
  <t t-name="o-spreadsheet-ColResizer">
1248
1255
  <div
1249
- class="o-col-resizer"
1256
+ class="o-col-resizer overflow-hidden"
1250
1257
  t-on-mousemove.self="onMouseMove"
1251
1258
  t-on-mouseleave="onMouseLeave"
1252
1259
  t-on-mousedown.self.prevent="select"
@@ -1274,25 +1281,29 @@
1274
1281
  <div class="dragging-resizer" t-if="state.isResizing"/>
1275
1282
  </div>
1276
1283
  </t>
1284
+ <t t-set="viewportZone" t-value="env.model.getters.getActiveMainViewport()"/>
1277
1285
  <t
1278
- t-foreach="env.model.getters.getHiddenColsGroups(env.model.getters.getActiveSheetId())"
1286
+ t-foreach="env.model.getters.getHiddenColsGroups(sheetId)"
1279
1287
  t-as="hiddenItem"
1280
1288
  t-key="hiddenItem_index">
1281
- <t t-if="!hiddenItem.includes(0)">
1289
+ <t
1290
+ t-if="env.model.getters.isVisibleInViewport({sheetId, col: hiddenItem[0]-1, row: viewportZone.top})">
1282
1291
  <div
1283
1292
  class="o-unhide"
1284
1293
  t-att-data-index="hiddenItem_index"
1294
+ t-att-data-direction="'left'"
1285
1295
  t-attf-style="left:{{unhideStyleValue(hiddenItem[0]) - 17}}px; margin-right:6px;"
1286
1296
  t-on-click="() => this.unhide(hiddenItem)">
1287
1297
  <t t-call="o-spreadsheet-Icon.TRIANGLE_LEFT"/>
1288
1298
  </div>
1289
1299
  </t>
1290
1300
  <t
1291
- t-if="!hiddenItem.includes(env.model.getters.getNumberCols(env.model.getters.getActiveSheetId())-1)">
1301
+ t-if="env.model.getters.isVisibleInViewport({sheetId, col: hiddenItem[hiddenItem.length-1]+1, row: viewportZone.top})">
1292
1302
  <div
1293
1303
  class="o-unhide"
1294
1304
  t-att-data-index="hiddenItem_index"
1295
- t-attf-style="left:{{unhideStyleValue(hiddenItem[0]) + 3}}px;"
1305
+ t-att-data-direction="'right'"
1306
+ t-attf-style="left:{{unhideStyleValue(hiddenItem[0]) + 2}}px;"
1296
1307
  t-on-click="() => this.unhide(hiddenItem)">
1297
1308
  <t t-call="o-spreadsheet-Icon.TRIANGLE_RIGHT"/>
1298
1309
  </div>
@@ -2452,6 +2463,7 @@ https://fontawesome.com/license -->
2452
2463
  </div>
2453
2464
  <Menu
2454
2465
  t-if="subMenu.isOpen"
2466
+ t-key="subMenu.parentMenu.id"
2455
2467
  position="subMenuPosition"
2456
2468
  menuItems="subMenu.menuItems"
2457
2469
  depth="props.depth + 1"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odoo/o-spreadsheet",
3
- "version": "17.0.50",
3
+ "version": "17.0.52",
4
4
  "description": "A spreadsheet component",
5
5
  "type": "module",
6
6
  "main": "dist/o-spreadsheet.cjs.js",
@@ -22,6 +22,7 @@
22
22
  "build": "npm-run-all build:js build:bundleJs \"build:bundleXml -- --outDir build\"",
23
23
  "doc": "typedoc",
24
24
  "precommit": "npm run prettier && npm run doc",
25
+ "monkey": "SPREADSHEET_MONKEY_COUNT=$npm_config_monkey_count jest 'tests/collaborative/collaborative_monkey_party.test.ts'",
25
26
  "test": "tsc --noEmit --project tsconfig.jest.json && jest",
26
27
  "test:watch": "jest --watch",
27
28
  "prettier": "prettier . --write",