@odoo/o-spreadsheet 17.2.0-alpha.5 → 17.2.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.
- package/dist/o-spreadsheet.cjs.js +38645 -36799
- package/dist/o-spreadsheet.d.ts +1197 -746
- package/dist/o-spreadsheet.esm.js +38645 -36801
- package/dist/o-spreadsheet.iife.js +38780 -36934
- package/dist/o-spreadsheet.iife.min.js +1342 -1245
- package/dist/o_spreadsheet.xml +270 -97
- package/package.json +1 -1
package/dist/o_spreadsheet.xml
CHANGED
|
@@ -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.2.0-alpha.
|
|
5
|
-
@date 2024-
|
|
6
|
-
@hash
|
|
4
|
+
@version 17.2.0-alpha.8
|
|
5
|
+
@date 2024-03-15T11:01:39.365Z
|
|
6
|
+
@hash 11cf381
|
|
7
7
|
-->
|
|
8
8
|
<odoo>
|
|
9
9
|
<t t-name="o-spreadsheet-ActionButton">
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
<div
|
|
54
54
|
class="o-autofill-handler"
|
|
55
55
|
t-att-style="handlerStyle"
|
|
56
|
-
t-on-
|
|
56
|
+
t-on-pointerdown="onMouseDown"
|
|
57
57
|
t-on-dblclick="onDblClick"
|
|
58
58
|
/>
|
|
59
59
|
<t t-set="tooltip" t-value="getTooltip()"/>
|
|
@@ -260,7 +260,7 @@
|
|
|
260
260
|
<Ripple>
|
|
261
261
|
<div
|
|
262
262
|
class="o-sheet d-flex align-items-center user-select-none text-nowrap "
|
|
263
|
-
t-on-
|
|
263
|
+
t-on-pointerdown="(ev) => this.onMouseDown(ev)"
|
|
264
264
|
t-on-contextmenu.prevent="(ev) => this.onContextMenu(ev)"
|
|
265
265
|
t-ref="sheetDiv"
|
|
266
266
|
t-att-style="props.style"
|
|
@@ -356,13 +356,13 @@
|
|
|
356
356
|
<div
|
|
357
357
|
class="o-gradient"
|
|
358
358
|
t-on-click.stop=""
|
|
359
|
-
t-on-
|
|
359
|
+
t-on-pointerdown="dragGradientPointer"
|
|
360
360
|
t-att-style="gradientHueStyle">
|
|
361
361
|
<div class="saturation w-100 h-100 position-absolute pe-none"/>
|
|
362
362
|
<div class="lightness w-100 h-100 position-absolute pe-none"/>
|
|
363
363
|
<div class="magnifier pe-none" t-att-style="pointerStyle"/>
|
|
364
364
|
</div>
|
|
365
|
-
<div class="o-hue-container" t-on-
|
|
365
|
+
<div class="o-hue-container" t-on-pointerdown="dragHuePointer">
|
|
366
366
|
<div class="o-hue-picker" t-on-click.stop=""/>
|
|
367
367
|
<div class="o-hue-slider pe-none" t-att-style="sliderStyle">
|
|
368
368
|
<t t-call="o-spreadsheet-Icon.TRIANGLE_UP"/>
|
|
@@ -423,15 +423,15 @@
|
|
|
423
423
|
<div
|
|
424
424
|
t-ref="autoCompleteList"
|
|
425
425
|
t-att-class="{
|
|
426
|
-
'o-autocomplete-dropdown':props.
|
|
427
|
-
<t t-foreach="props.
|
|
426
|
+
'o-autocomplete-dropdown': props.proposals.length}">
|
|
427
|
+
<t t-foreach="props.proposals" t-as="proposal" t-key="proposal.text">
|
|
428
428
|
<div
|
|
429
429
|
class="d-flex flex-column text-start"
|
|
430
|
-
t-att-class="{'o-autocomplete-value-focus': props.selectedIndex ===
|
|
431
|
-
t-on-click="() => this.props.onValueSelected(
|
|
432
|
-
t-on-
|
|
430
|
+
t-att-class="{'o-autocomplete-value-focus': props.selectedIndex === proposal_index}"
|
|
431
|
+
t-on-click="() => this.props.onValueSelected(proposal.text)"
|
|
432
|
+
t-on-pointermove="() => this.props.onValueHovered(proposal_index)">
|
|
433
433
|
<div class="o-autocomplete-value text-truncate">
|
|
434
|
-
<t t-set="htmlContent" t-value="
|
|
434
|
+
<t t-set="htmlContent" t-value="proposal.htmlContent || [{ value: proposal.text}]"/>
|
|
435
435
|
<span
|
|
436
436
|
t-foreach="htmlContent"
|
|
437
437
|
t-as="content"
|
|
@@ -443,8 +443,8 @@
|
|
|
443
443
|
</div>
|
|
444
444
|
<div
|
|
445
445
|
class="o-autocomplete-description text-truncate"
|
|
446
|
-
t-esc="
|
|
447
|
-
t-if="props.selectedIndex ===
|
|
446
|
+
t-esc="proposal.description"
|
|
447
|
+
t-if="props.selectedIndex === proposal_index"
|
|
448
448
|
/>
|
|
449
449
|
</div>
|
|
450
450
|
</t>
|
|
@@ -464,7 +464,7 @@
|
|
|
464
464
|
t-on-keydown="onKeydown"
|
|
465
465
|
t-on-mousewheel.stop=""
|
|
466
466
|
t-on-input="onInput"
|
|
467
|
-
t-on-
|
|
467
|
+
t-on-pointerdown="onMousedown"
|
|
468
468
|
t-on-click="onClick"
|
|
469
469
|
t-on-keyup="onKeyup"
|
|
470
470
|
t-on-paste="onPaste"
|
|
@@ -474,20 +474,19 @@
|
|
|
474
474
|
/>
|
|
475
475
|
|
|
476
476
|
<div
|
|
477
|
-
t-if="props.focus !== 'inactive' and (autoCompleteState.
|
|
477
|
+
t-if="props.focus !== 'inactive' and (autoCompleteState.provider or functionDescriptionState.showDescription)"
|
|
478
478
|
class="o-composer-assistant shadow"
|
|
479
479
|
t-att-style="assistantStyle"
|
|
480
480
|
t-on-wheel.stop=""
|
|
481
|
-
t-on-
|
|
481
|
+
t-on-pointerdown.prevent.stop=""
|
|
482
482
|
t-on-click.prevent.stop=""
|
|
483
|
-
t-on-
|
|
483
|
+
t-on-pointerup.prevent.stop="">
|
|
484
484
|
<TextValueProvider
|
|
485
|
-
t-if="autoCompleteState.
|
|
486
|
-
|
|
485
|
+
t-if="autoCompleteState.provider"
|
|
486
|
+
proposals="autoCompleteState.provider.proposals"
|
|
487
487
|
selectedIndex="autoCompleteState.selectedIndex"
|
|
488
488
|
onValueSelected.bind="this.autoComplete"
|
|
489
489
|
onValueHovered.bind="this.updateAutoCompleteIndex"
|
|
490
|
-
getHtmlContent="autoCompleteState.getHtmlContent"
|
|
491
490
|
/>
|
|
492
491
|
<FunctionDescriptionProvider
|
|
493
492
|
t-if="functionDescriptionState.showDescription"
|
|
@@ -510,7 +509,7 @@
|
|
|
510
509
|
<div
|
|
511
510
|
class="o-formula-assistant bg-white"
|
|
512
511
|
t-if="context.functionName"
|
|
513
|
-
t-on-
|
|
512
|
+
t-on-pointermove="onMouseMove"
|
|
514
513
|
t-att-class="{'opacity-25': assistantState.allowCellSelectionBehind}">
|
|
515
514
|
<div class="o-formula-assistant-head">
|
|
516
515
|
<span t-esc="context.functionName"/>
|
|
@@ -664,6 +663,10 @@
|
|
|
664
663
|
<canvas class="o-figure-canvas w-100 h-100" t-att-style="canvasStyle" t-ref="graphContainer"/>
|
|
665
664
|
</t>
|
|
666
665
|
|
|
666
|
+
<t t-name="o-spreadsheet-GaugeChartComponent">
|
|
667
|
+
<canvas class="o-figure-canvas w-100 h-100" t-ref="chartContainer"/>
|
|
668
|
+
</t>
|
|
669
|
+
|
|
667
670
|
<t t-name="o-spreadsheet-ScorecardChart">
|
|
668
671
|
<canvas class="o-figure-canvas w-100 h-100" t-ref="chartContainer"/>
|
|
669
672
|
</t>
|
|
@@ -672,7 +675,7 @@
|
|
|
672
675
|
<div class="o-figure-wrapper pe-auto" t-att-style="wrapperStyle">
|
|
673
676
|
<div
|
|
674
677
|
class="o-figure w-100 h-100"
|
|
675
|
-
t-on-
|
|
678
|
+
t-on-pointerdown.stop="(ev) => this.onMouseDown(ev)"
|
|
676
679
|
t-on-contextmenu.prevent.stop="(ev) => !env.model.getters.isReadonly() and this.onContextMenu(ev)"
|
|
677
680
|
t-ref="figure"
|
|
678
681
|
t-att-style="props.style"
|
|
@@ -708,42 +711,42 @@
|
|
|
708
711
|
<div
|
|
709
712
|
class="o-fig-anchor o-top"
|
|
710
713
|
t-att-style="this.getResizerPosition('top')"
|
|
711
|
-
t-on-
|
|
714
|
+
t-on-pointerdown="(ev) => this.clickAnchor(0,-1, ev)"
|
|
712
715
|
/>
|
|
713
716
|
<div
|
|
714
717
|
class="o-fig-anchor o-topRight"
|
|
715
718
|
t-att-style="this.getResizerPosition('top right')"
|
|
716
|
-
t-on-
|
|
719
|
+
t-on-pointerdown="(ev) => this.clickAnchor(1,-1, ev)"
|
|
717
720
|
/>
|
|
718
721
|
<div
|
|
719
722
|
class="o-fig-anchor o-right"
|
|
720
723
|
t-att-style="this.getResizerPosition('right')"
|
|
721
|
-
t-on-
|
|
724
|
+
t-on-pointerdown="(ev) => this.clickAnchor(1,0, ev)"
|
|
722
725
|
/>
|
|
723
726
|
<div
|
|
724
727
|
class="o-fig-anchor o-bottomRight"
|
|
725
728
|
t-att-style="this.getResizerPosition('bottom right')"
|
|
726
|
-
t-on-
|
|
729
|
+
t-on-pointerdown="(ev) => this.clickAnchor(1,1, ev)"
|
|
727
730
|
/>
|
|
728
731
|
<div
|
|
729
732
|
class="o-fig-anchor o-bottom"
|
|
730
733
|
t-att-style="this.getResizerPosition('bottom')"
|
|
731
|
-
t-on-
|
|
734
|
+
t-on-pointerdown="(ev) => this.clickAnchor(0,1, ev)"
|
|
732
735
|
/>
|
|
733
736
|
<div
|
|
734
737
|
class="o-fig-anchor o-bottomLeft"
|
|
735
738
|
t-att-style="this.getResizerPosition('bottom left')"
|
|
736
|
-
t-on-
|
|
739
|
+
t-on-pointerdown="(ev) => this.clickAnchor(-1,1, ev)"
|
|
737
740
|
/>
|
|
738
741
|
<div
|
|
739
742
|
class="o-fig-anchor o-left"
|
|
740
743
|
t-att-style="this.getResizerPosition('left')"
|
|
741
|
-
t-on-
|
|
744
|
+
t-on-pointerdown="(ev) => this.clickAnchor(-1,0, ev)"
|
|
742
745
|
/>
|
|
743
746
|
<div
|
|
744
747
|
class="o-fig-anchor o-topLeft"
|
|
745
748
|
t-att-style="this.getResizerPosition('top left')"
|
|
746
|
-
t-on-
|
|
749
|
+
t-on-pointerdown="(ev) => this.clickAnchor(-1,-1, ev)"
|
|
747
750
|
/>
|
|
748
751
|
</t>
|
|
749
752
|
</div>
|
|
@@ -803,7 +806,7 @@
|
|
|
803
806
|
</t>
|
|
804
807
|
|
|
805
808
|
<t t-name="o-spreadsheet-FilterIcon">
|
|
806
|
-
<div class="o-filter-icon" t-on-click.stop="onClick">
|
|
809
|
+
<div class="o-filter-icon" t-att-class="iconClass" t-on-click.stop="onClick">
|
|
807
810
|
<t t-if="isFilterActive" t-call="o-spreadsheet-Icon.FILTER_ICON_ACTIVE"/>
|
|
808
811
|
<t t-else="" t-call="o-spreadsheet-Icon.FILTER_ICON"/>
|
|
809
812
|
</div>
|
|
@@ -883,7 +886,7 @@
|
|
|
883
886
|
<t t-name="o-spreadsheet-FilterMenuValueItem">
|
|
884
887
|
<div
|
|
885
888
|
t-on-click="this.props.onClick"
|
|
886
|
-
t-on-
|
|
889
|
+
t-on-pointermove="this.props.onMouseMove"
|
|
887
890
|
class="o-filter-menu-item o-filter-menu-value"
|
|
888
891
|
t-ref="menuValueItem"
|
|
889
892
|
t-att-class="{'selected': this.props.isSelected}">
|
|
@@ -910,7 +913,7 @@
|
|
|
910
913
|
type="number"
|
|
911
914
|
min="1"
|
|
912
915
|
max="400"
|
|
913
|
-
class="o-font-size bg-transparent border-0"
|
|
916
|
+
class="o-font-size o-number-input bg-transparent border-0"
|
|
914
917
|
t-on-keydown="onInputKeydown"
|
|
915
918
|
t-on-click.stop=""
|
|
916
919
|
t-on-focus.stop="onInputFocused"
|
|
@@ -1004,7 +1007,7 @@
|
|
|
1004
1007
|
<div
|
|
1005
1008
|
class="o-grid-add-rows mt-2 ms-2 w-100 d-flex position-relative align-items-center"
|
|
1006
1009
|
t-att-style="addRowsPosition"
|
|
1007
|
-
t-on-
|
|
1010
|
+
t-on-pointerdown.stop.prevent="">
|
|
1008
1011
|
<button t-on-click="onConfirm" t-att-disabled="state.errorFlag" class="o-button">Add</button>
|
|
1009
1012
|
<input
|
|
1010
1013
|
type="text"
|
|
@@ -1013,7 +1016,7 @@
|
|
|
1013
1016
|
value="100"
|
|
1014
1017
|
t-on-click.stop=""
|
|
1015
1018
|
t-on-keydown.stop="onKeydown"
|
|
1016
|
-
t-on-
|
|
1019
|
+
t-on-pointerdown.stop=""
|
|
1017
1020
|
t-on-input.stop="onInput"
|
|
1018
1021
|
/>
|
|
1019
1022
|
<span>more rows at the bottom</span>
|
|
@@ -1036,7 +1039,7 @@
|
|
|
1036
1039
|
class="o-grid-overlay overflow-hidden"
|
|
1037
1040
|
t-att-class="{'o-paint-format-cursor': isPaintingFormat}"
|
|
1038
1041
|
t-att-style="style"
|
|
1039
|
-
t-on-
|
|
1042
|
+
t-on-pointerdown="onMouseDown"
|
|
1040
1043
|
t-on-dblclick.self="onDoubleClick"
|
|
1041
1044
|
t-on-contextmenu.stop.prevent="onContextMenu">
|
|
1042
1045
|
<FiguresContainer onFigureDeleted="props.onFigureDeleted"/>
|
|
@@ -1162,18 +1165,18 @@
|
|
|
1162
1165
|
<div class="o-overlay">
|
|
1163
1166
|
<ColResizer onOpenContextMenu="props.onOpenContextMenu"/>
|
|
1164
1167
|
<RowResizer onOpenContextMenu="props.onOpenContextMenu"/>
|
|
1165
|
-
<div class="all" t-on-
|
|
1168
|
+
<div class="all" t-on-pointerdown.self="selectAll"/>
|
|
1166
1169
|
</div>
|
|
1167
1170
|
</t>
|
|
1168
1171
|
|
|
1169
1172
|
<t t-name="o-spreadsheet-RowResizer">
|
|
1170
1173
|
<div
|
|
1171
1174
|
class="o-row-resizer"
|
|
1172
|
-
t-on-
|
|
1175
|
+
t-on-pointermove.self="onMouseMove"
|
|
1173
1176
|
t-on-mouseleave="onMouseLeave"
|
|
1174
|
-
t-on-
|
|
1177
|
+
t-on-pointerdown.self.prevent="select"
|
|
1175
1178
|
t-ref="rowResizer"
|
|
1176
|
-
t-on-
|
|
1179
|
+
t-on-pointerup.self="onMouseUp"
|
|
1177
1180
|
t-on-contextmenu.self="onContextMenu"
|
|
1178
1181
|
t-att-class="{'o-grab': state.waitingForMove, 'o-dragging': state.isMoving}">
|
|
1179
1182
|
<div
|
|
@@ -1189,7 +1192,7 @@
|
|
|
1189
1192
|
<t t-if="state.resizerIsActive">
|
|
1190
1193
|
<div
|
|
1191
1194
|
class="o-handle"
|
|
1192
|
-
t-on-
|
|
1195
|
+
t-on-pointerdown="onMouseDown"
|
|
1193
1196
|
t-on-dblclick="onDblClick"
|
|
1194
1197
|
t-on-contextmenu.prevent=""
|
|
1195
1198
|
t-attf-style="top:{{state.draggerLinePosition - 2}}px;">
|
|
@@ -1228,11 +1231,11 @@
|
|
|
1228
1231
|
<t t-name="o-spreadsheet-ColResizer">
|
|
1229
1232
|
<div
|
|
1230
1233
|
class="o-col-resizer"
|
|
1231
|
-
t-on-
|
|
1234
|
+
t-on-pointermove.self="onMouseMove"
|
|
1232
1235
|
t-on-mouseleave="onMouseLeave"
|
|
1233
|
-
t-on-
|
|
1236
|
+
t-on-pointerdown.self.prevent="select"
|
|
1234
1237
|
t-ref="colResizer"
|
|
1235
|
-
t-on-
|
|
1238
|
+
t-on-pointerup.self="onMouseUp"
|
|
1236
1239
|
t-on-contextmenu.self="onContextMenu"
|
|
1237
1240
|
t-att-class="{'o-grab': state.waitingForMove, 'o-dragging': state.isMoving, }">
|
|
1238
1241
|
<div
|
|
@@ -1248,7 +1251,7 @@
|
|
|
1248
1251
|
<t t-if="state.resizerIsActive">
|
|
1249
1252
|
<div
|
|
1250
1253
|
class="o-handle"
|
|
1251
|
-
t-on-
|
|
1254
|
+
t-on-pointerdown="onMouseDown"
|
|
1252
1255
|
t-on-dblclick="onDblClick"
|
|
1253
1256
|
t-on-contextmenu.prevent=""
|
|
1254
1257
|
t-attf-style="left:{{state.draggerLinePosition - 2}}px;">
|
|
@@ -1287,7 +1290,7 @@
|
|
|
1287
1290
|
<t t-name="o-spreadsheet-Border">
|
|
1288
1291
|
<div
|
|
1289
1292
|
class="o-border"
|
|
1290
|
-
t-on-
|
|
1293
|
+
t-on-pointerdown.prevent="onMouseDown"
|
|
1291
1294
|
t-att-style="style"
|
|
1292
1295
|
t-att-class="{
|
|
1293
1296
|
'o-moving': props.isMoving,
|
|
@@ -1302,7 +1305,7 @@
|
|
|
1302
1305
|
<t t-name="o-spreadsheet-Corner">
|
|
1303
1306
|
<div
|
|
1304
1307
|
class="o-corner"
|
|
1305
|
-
t-on-
|
|
1308
|
+
t-on-pointerdown.prevent="onMouseDown"
|
|
1306
1309
|
t-att-style="style"
|
|
1307
1310
|
t-att-class="{
|
|
1308
1311
|
'o-resizing': props.isResizing,
|
|
@@ -2015,7 +2018,7 @@ https://fontawesome.com/license -->
|
|
|
2015
2018
|
focusable="false"
|
|
2016
2019
|
viewBox="0 0 448 512">
|
|
2017
2020
|
<path
|
|
2018
|
-
fill="#
|
|
2021
|
+
fill="#E06666"
|
|
2019
2022
|
t-att-style="color"
|
|
2020
2023
|
d="M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"
|
|
2021
2024
|
/>
|
|
@@ -2024,7 +2027,7 @@ https://fontawesome.com/license -->
|
|
|
2024
2027
|
<t t-name="o-spreadsheet-Icon.ARROW_UP">
|
|
2025
2028
|
<svg class="o-cf-icon arrow-up" width="10" height="10" focusable="false" viewBox="0 0 448 512">
|
|
2026
2029
|
<path
|
|
2027
|
-
fill="#
|
|
2030
|
+
fill="#6AA84F"
|
|
2028
2031
|
t-att-style="color"
|
|
2029
2032
|
d="M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"
|
|
2030
2033
|
/>
|
|
@@ -2047,7 +2050,7 @@ https://fontawesome.com/license -->
|
|
|
2047
2050
|
<t t-name="o-spreadsheet-Icon.SMILE">
|
|
2048
2051
|
<svg class="o-cf-icon smile" width="10" height="10" focusable="false" viewBox="0 0 496 512">
|
|
2049
2052
|
<path
|
|
2050
|
-
fill="#
|
|
2053
|
+
fill="#6AA84F"
|
|
2051
2054
|
d="M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z"
|
|
2052
2055
|
/>
|
|
2053
2056
|
</svg>
|
|
@@ -2063,7 +2066,7 @@ https://fontawesome.com/license -->
|
|
|
2063
2066
|
<t t-name="o-spreadsheet-Icon.FROWN">
|
|
2064
2067
|
<svg class="o-cf-icon frown" width="10" height="10" focusable="false" viewBox="0 0 496 512">
|
|
2065
2068
|
<path
|
|
2066
|
-
fill="#
|
|
2069
|
+
fill="#E06666"
|
|
2067
2070
|
d="M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z"
|
|
2068
2071
|
/>
|
|
2069
2072
|
</svg>
|
|
@@ -2072,7 +2075,7 @@ https://fontawesome.com/license -->
|
|
|
2072
2075
|
<t t-name="o-spreadsheet-Icon.GREEN_DOT">
|
|
2073
2076
|
<svg class="o-cf-icon green-dot" width="10" height="10" focusable="false" viewBox="0 0 512 512">
|
|
2074
2077
|
<path
|
|
2075
|
-
fill="#
|
|
2078
|
+
fill="#6AA84F"
|
|
2076
2079
|
d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z"
|
|
2077
2080
|
/>
|
|
2078
2081
|
</svg>
|
|
@@ -2093,7 +2096,7 @@ https://fontawesome.com/license -->
|
|
|
2093
2096
|
<t t-name="o-spreadsheet-Icon.RED_DOT">
|
|
2094
2097
|
<svg class="o-cf-icon red-dot" width="10" height="10" focusable="false" viewBox="0 0 512 512">
|
|
2095
2098
|
<path
|
|
2096
|
-
fill="#
|
|
2099
|
+
fill="#E06666"
|
|
2097
2100
|
d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z"
|
|
2098
2101
|
/>
|
|
2099
2102
|
</svg>
|
|
@@ -2128,12 +2131,7 @@ https://fontawesome.com/license -->
|
|
|
2128
2131
|
</svg>
|
|
2129
2132
|
</t>
|
|
2130
2133
|
<t t-name="o-spreadsheet-Icon.FILTER_ICON">
|
|
2131
|
-
<svg
|
|
2132
|
-
class="o-cf-icon filter-icon"
|
|
2133
|
-
width="10"
|
|
2134
|
-
height="10"
|
|
2135
|
-
focusable="false"
|
|
2136
|
-
viewBox="0 0 850 850">
|
|
2134
|
+
<svg class="o-cf-icon filter-icon" viewBox="0 0 850 850">
|
|
2137
2135
|
<path
|
|
2138
2136
|
fill="currentColor"
|
|
2139
2137
|
d="M 339.667 681 L 510.333 681 L 510.333 595.667 L 339.667 595.667 L 339.667 681 Z M 41 169 L 41 254.333 L 809 254.333 L 809 169 L 41 169 Z M 169 467.667 L 681 467.667 L 681 382.333 L 169 382.333 L 169 467.667 Z"
|
|
@@ -2141,33 +2139,7 @@ https://fontawesome.com/license -->
|
|
|
2141
2139
|
</svg>
|
|
2142
2140
|
</t>
|
|
2143
2141
|
<t t-name="o-spreadsheet-Icon.FILTER_ICON_ACTIVE">
|
|
2144
|
-
<svg
|
|
2145
|
-
class="o-cf-icon filter-icon-active"
|
|
2146
|
-
width="10"
|
|
2147
|
-
height="10"
|
|
2148
|
-
focusable="false"
|
|
2149
|
-
viewBox="0 0 512 512">
|
|
2150
|
-
<path
|
|
2151
|
-
fill="currentColor"
|
|
2152
|
-
d="M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z"
|
|
2153
|
-
/>
|
|
2154
|
-
</svg>
|
|
2155
|
-
</t>
|
|
2156
|
-
<t t-name="o-spreadsheet-Icon.FILTER_ICON_INACTIVE">
|
|
2157
|
-
<svg
|
|
2158
|
-
class="o-cf-icon filter-icon-inactive"
|
|
2159
|
-
width="10"
|
|
2160
|
-
height="10"
|
|
2161
|
-
focusable="false"
|
|
2162
|
-
viewBox="0 0 512 512">
|
|
2163
|
-
<path
|
|
2164
|
-
fill="currentColor"
|
|
2165
|
-
d="M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z"
|
|
2166
|
-
/>
|
|
2167
|
-
</svg>
|
|
2168
|
-
</t>
|
|
2169
|
-
<t t-name="o-spreadsheet-Icon.MENU_FILTER_ICON">
|
|
2170
|
-
<svg class="o-icon">
|
|
2142
|
+
<svg class="o-cf-icon filter-icon-active" viewBox="0 0 18 18">
|
|
2171
2143
|
<path
|
|
2172
2144
|
fill="currentColor"
|
|
2173
2145
|
d="M16.6.5H1.29C.59.5.23 1.35.73 1.85l6.1 6.1v6.8c0 .26.13.5.34.65l2.64 1.85a.79.79 0 0 0 1.25-.65V7.96l6.1-6.1A.79.79 0 0 0 16.6.51"
|
|
@@ -2316,6 +2288,30 @@ https://fontawesome.com/license -->
|
|
|
2316
2288
|
<circle cx="2" cy="12.5" r="1"/>
|
|
2317
2289
|
</svg>
|
|
2318
2290
|
</t>
|
|
2291
|
+
<t t-name="o-spreadsheet-Icon.EDIT_TABLE">
|
|
2292
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18">
|
|
2293
|
+
<path
|
|
2294
|
+
fill="currentColor"
|
|
2295
|
+
d="M2.5 1A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15H7l1.5-1.5H7v-2.75h3.5v.75l2.25-2.25H12v-2.5h3.5v.75c.1-.2.45-.05.5.02l1 1V2.5A1.5 1.5 0 0 0 15.5 1m-13 1.5h13v2.75h-13m0 1.5h3v2.5h-3M7 6.75h3.5v2.5H7m-4.5 1.5h3v2.75h-3 M8.2 15.7v1.8h1.8l5.4-5.4-1.8-1.8-5.4 5.4Zm8.8-5.2a.5.5 0 0 0 0-.7l-1.1-1.1a.5.5 0 0 0-.7 0l-.9.9 1.8 1.8.9-.9Z"
|
|
2296
|
+
/>
|
|
2297
|
+
</svg>
|
|
2298
|
+
</t>
|
|
2299
|
+
<t t-name="o-spreadsheet-Icon.DELETE_TABLE">
|
|
2300
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18">
|
|
2301
|
+
<path
|
|
2302
|
+
fill="currentColor"
|
|
2303
|
+
d="M2.5 1A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15H7l1.5-1.5H7V6.75h3.5v.75L12 9V6.75h3.5l1.5 1.5V2.5A1.5 1.5 0 0 0 15.5 1m-13 1.5h13v2.75h-13m0 1.5h3v2.5h-3m0 1.5h3v2.75h-3m10-2.25 3-3 1.5 1.5-3 3 3 3-1.5 1.5-3-3-3 3-1.5-1.5 3-3-3-3 1.5-1.5"
|
|
2304
|
+
/>
|
|
2305
|
+
</svg>
|
|
2306
|
+
</t>
|
|
2307
|
+
<t t-name="o-spreadsheet-Icon.PAINT_TABLE">
|
|
2308
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18">
|
|
2309
|
+
<path
|
|
2310
|
+
fill="currentColor"
|
|
2311
|
+
d="M2.5 1A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15h5c0-.5 0-1 .5-1.5H7v-2.75h3.5v.75l2.25-2.25H12v-2.5h3.5v.75c1-.7 1.5-.4 1.5-.4V2.5A1.5 1.5 0 0 0 15.5 1m-13 1.5h13v2.75h-13m0 1.5h3v2.5h-3M7 6.75h3.5v2.5H7m-4.5 1.5h3v2.75h-3m7.5-.3c.7-.3 1.5-.1 2.1.6.6.7.8 1.4.5 1.9-.6 1.4-3.7 1.6-4 1.7l-.6.1.3-.5s.5-.8.5-2.1c0-.7.5-1.4 1.1-1.7Zm6.7-5.1a.9.9 0 0 1 1 1c-.1 1.3-2.5 3.7-4.3 5.3a3.9 3.9 0 0 0-.6-1.1c-.4-.4-.8-.7-1.3-.8 1.5-1.7 4-4.3 5.4-4.4"
|
|
2312
|
+
/>
|
|
2313
|
+
</svg>
|
|
2314
|
+
</t>
|
|
2319
2315
|
|
|
2320
2316
|
<t t-name="o-spreadsheet-LinkDisplay">
|
|
2321
2317
|
<div class="o-link-tool d-flex align-items-center">
|
|
@@ -2414,6 +2410,7 @@ https://fontawesome.com/license -->
|
|
|
2414
2410
|
t-on-scroll="onScroll"
|
|
2415
2411
|
t-on-wheel.stop=""
|
|
2416
2412
|
t-on-click.stop=""
|
|
2413
|
+
t-on-mouseover="onMouseOverMainMenu"
|
|
2417
2414
|
t-on-contextmenu.prevent="">
|
|
2418
2415
|
<t t-foreach="menuItemsAndSeparators" t-as="menuItem" t-key="menuItem_index">
|
|
2419
2416
|
<div t-if="menuItem === 'separator'" class="o-separator"/>
|
|
@@ -2425,9 +2422,10 @@ https://fontawesome.com/license -->
|
|
|
2425
2422
|
t-att-data-name="menuItem.id"
|
|
2426
2423
|
t-on-click="(ev) => this.onClickMenu(menuItem, ev)"
|
|
2427
2424
|
t-on-mouseenter="(ev) => this.onMouseEnter(menuItem, ev)"
|
|
2425
|
+
t-on-mouseover="(ev) => this.onMouseOver(menuItem, ev)"
|
|
2428
2426
|
t-on-mouseleave="(ev) => this.onMouseLeave(menuItem)"
|
|
2429
|
-
class="o-menu-item d-flex align-items-center"
|
|
2430
|
-
t-att-class="{
|
|
2427
|
+
class="o-menu-item d-flex justify-content-between align-items-center"
|
|
2428
|
+
t-att-class="{'disabled': !isMenuEnabled, 'o-menu-item-active': isActive(menuItem)}"
|
|
2431
2429
|
t-att-style="getColor(menuItem)">
|
|
2432
2430
|
<div class="d-flex w-100">
|
|
2433
2431
|
<div t-if="childrenHaveIcon" class="o-menu-item-icon align-middle">
|
|
@@ -2463,8 +2461,9 @@ https://fontawesome.com/license -->
|
|
|
2463
2461
|
depth="props.depth + 1"
|
|
2464
2462
|
maxHeight="props.maxHeight"
|
|
2465
2463
|
onMenuClicked="props.onMenuClicked"
|
|
2466
|
-
onClose="
|
|
2464
|
+
onClose.bind="close"
|
|
2467
2465
|
menuId="props.menuId"
|
|
2466
|
+
onMouseOver.bind="onMouseOverChildMenu"
|
|
2468
2467
|
/>
|
|
2469
2468
|
</Popover>
|
|
2470
2469
|
</t>
|
|
@@ -3143,9 +3142,13 @@ https://fontawesome.com/license -->
|
|
|
3143
3142
|
</t>
|
|
3144
3143
|
|
|
3145
3144
|
<t t-name="o-spreadsheet.Checkbox">
|
|
3146
|
-
<label
|
|
3145
|
+
<label
|
|
3146
|
+
class="o-checkbox"
|
|
3147
|
+
t-att-title="props.title"
|
|
3148
|
+
t-att-class="{'text-muted': props.disabled }">
|
|
3147
3149
|
<input
|
|
3148
3150
|
type="checkbox"
|
|
3151
|
+
t-att-disabled="props.disabled"
|
|
3149
3152
|
t-att-name="props.name"
|
|
3150
3153
|
t-att-checked="props.value"
|
|
3151
3154
|
t-on-change="onChange"
|
|
@@ -3553,7 +3556,7 @@ https://fontawesome.com/license -->
|
|
|
3553
3556
|
t-att-class="props.class"
|
|
3554
3557
|
t-att-data-id="cf.id"
|
|
3555
3558
|
t-on-click="props.onPreviewClick"
|
|
3556
|
-
t-on-
|
|
3559
|
+
t-on-pointerdown="(ev) => this.onMouseDown(ev)">
|
|
3557
3560
|
<div class="position-relative h-100 w-100 d-flex align-items-center">
|
|
3558
3561
|
<div class="o-cf-drag-handle h-100 position-absolute d-flex align-items-center text-muted">
|
|
3559
3562
|
<t t-call="o-spreadsheet-Icon.THIN_DRAG_HANDLE"/>
|
|
@@ -4077,7 +4080,7 @@ https://fontawesome.com/license -->
|
|
|
4077
4080
|
<select
|
|
4078
4081
|
t-att-class="props.class"
|
|
4079
4082
|
t-ref="select"
|
|
4080
|
-
t-on-
|
|
4083
|
+
t-on-pointerdown.stop.prevent=""
|
|
4081
4084
|
t-on-click="onClick">
|
|
4082
4085
|
<option selected="true" t-esc="props.selectedValue"/>
|
|
4083
4086
|
</select>
|
|
@@ -4132,7 +4135,7 @@ https://fontawesome.com/license -->
|
|
|
4132
4135
|
t-component="panel.Body"
|
|
4133
4136
|
t-props="sidePanelStore.panelProps"
|
|
4134
4137
|
onCloseSidePanel.bind="close"
|
|
4135
|
-
t-key="'Body_' + sidePanelStore.componentTag"
|
|
4138
|
+
t-key="'Body_' + sidePanelStore.componentTag + sidePanelStore.panelKey"
|
|
4136
4139
|
/>
|
|
4137
4140
|
</div>
|
|
4138
4141
|
<div class="o-sidePanelFooter" t-if="panel?.Footer">
|
|
@@ -4191,6 +4194,96 @@ https://fontawesome.com/license -->
|
|
|
4191
4194
|
</div>
|
|
4192
4195
|
</t>
|
|
4193
4196
|
|
|
4197
|
+
<t t-name="o-spreadsheet-TablePanel">
|
|
4198
|
+
<div class="o-table-panel">
|
|
4199
|
+
<Section>
|
|
4200
|
+
<t t-set-slot="title">Style options</t>
|
|
4201
|
+
<div class="d-flex flex-row">
|
|
4202
|
+
<div class="w-50">
|
|
4203
|
+
<div class="d-flex align-items-center">
|
|
4204
|
+
<Checkbox
|
|
4205
|
+
label="getCheckboxLabel('headerRow')"
|
|
4206
|
+
name="'headerRow'"
|
|
4207
|
+
value="tableConfig.numberOfHeaders > 0"
|
|
4208
|
+
onChange.bind="this.updateHasHeaders"
|
|
4209
|
+
/>
|
|
4210
|
+
<input
|
|
4211
|
+
t-if="tableConfig.numberOfHeaders > 0"
|
|
4212
|
+
t-att-value="tableConfig.numberOfHeaders"
|
|
4213
|
+
type="number"
|
|
4214
|
+
class="o-table-n-of-headers ms-2 o-number-input"
|
|
4215
|
+
t-on-change="onChangeNumberOfHeaders"
|
|
4216
|
+
/>
|
|
4217
|
+
</div>
|
|
4218
|
+
<Checkbox
|
|
4219
|
+
label="getCheckboxLabel('totalRow')"
|
|
4220
|
+
name="'totalRow'"
|
|
4221
|
+
value="tableConfig.totalRow"
|
|
4222
|
+
onChange="(val) => this.updateTableConfig('totalRow', val)"
|
|
4223
|
+
/>
|
|
4224
|
+
<Checkbox
|
|
4225
|
+
label="getCheckboxLabel('bandedRows')"
|
|
4226
|
+
name="'bandedRows'"
|
|
4227
|
+
value="tableConfig.bandedRows"
|
|
4228
|
+
onChange="(val) => this.updateTableConfig('bandedRows', val)"
|
|
4229
|
+
/>
|
|
4230
|
+
<Checkbox
|
|
4231
|
+
label="getCheckboxLabel('hasFilters')"
|
|
4232
|
+
name="'hasFilters'"
|
|
4233
|
+
value="tableConfig.hasFilters"
|
|
4234
|
+
title="hasFilterCheckboxTooltip"
|
|
4235
|
+
disabled="!this.canHaveFilters"
|
|
4236
|
+
onChange.bind="this.updateHasFilters"
|
|
4237
|
+
/>
|
|
4238
|
+
</div>
|
|
4239
|
+
<div>
|
|
4240
|
+
<Checkbox
|
|
4241
|
+
label="getCheckboxLabel('firstColumn')"
|
|
4242
|
+
name="'firstColumn'"
|
|
4243
|
+
value="tableConfig.firstColumn"
|
|
4244
|
+
onChange="(val) => this.updateTableConfig('firstColumn', val)"
|
|
4245
|
+
/>
|
|
4246
|
+
<Checkbox
|
|
4247
|
+
label="getCheckboxLabel('lastColumn')"
|
|
4248
|
+
name="'lastColumn'"
|
|
4249
|
+
value="tableConfig.lastColumn"
|
|
4250
|
+
onChange="(val) => this.updateTableConfig('lastColumn', val)"
|
|
4251
|
+
/>
|
|
4252
|
+
<Checkbox
|
|
4253
|
+
label="getCheckboxLabel('bandedColumns')"
|
|
4254
|
+
name="'bandedColumns'"
|
|
4255
|
+
value="tableConfig.bandedColumns"
|
|
4256
|
+
onChange="(val) => this.updateTableConfig('bandedColumns', val)"
|
|
4257
|
+
/>
|
|
4258
|
+
</div>
|
|
4259
|
+
</div>
|
|
4260
|
+
</Section>
|
|
4261
|
+
<Section>
|
|
4262
|
+
<TableStylePicker table="props.table"/>
|
|
4263
|
+
</Section>
|
|
4264
|
+
<Section>
|
|
4265
|
+
<t t-set-slot="title">Data range</t>
|
|
4266
|
+
<SelectionInput
|
|
4267
|
+
t-key="props.table.id"
|
|
4268
|
+
ranges="[this.state.tableXc]"
|
|
4269
|
+
hasSingleRange="true"
|
|
4270
|
+
onSelectionChanged="(ranges) => this.onRangeChanged(ranges)"
|
|
4271
|
+
onSelectionConfirmed.bind="this.onRangeConfirmed"
|
|
4272
|
+
/>
|
|
4273
|
+
<ValidationMessages messages="errorMessages" msgType="'error'"/>
|
|
4274
|
+
<Checkbox
|
|
4275
|
+
label="getCheckboxLabel('automaticAutofill')"
|
|
4276
|
+
name="'automaticAutofill'"
|
|
4277
|
+
value="tableConfig.automaticAutofill"
|
|
4278
|
+
onChange="(val) => this.updateTableConfig('automaticAutofill', val)"
|
|
4279
|
+
/>
|
|
4280
|
+
</Section>
|
|
4281
|
+
<div class="o-sidePanelButtons">
|
|
4282
|
+
<button t-on-click="deleteTable" class="o-table-delete o-button">Delete table</button>
|
|
4283
|
+
</div>
|
|
4284
|
+
</div>
|
|
4285
|
+
</t>
|
|
4286
|
+
|
|
4194
4287
|
<t t-name="o-spreadsheet-Spreadsheet">
|
|
4195
4288
|
<div
|
|
4196
4289
|
class="o-spreadsheet"
|
|
@@ -4218,12 +4311,91 @@ https://fontawesome.com/license -->
|
|
|
4218
4311
|
<Grid exposeFocus="(focus) => this._focusGrid = focus"/>
|
|
4219
4312
|
</div>
|
|
4220
4313
|
</div>
|
|
4221
|
-
<SidePanel
|
|
4314
|
+
<SidePanel/>
|
|
4222
4315
|
<BottomBar onClick="() => this.focusGrid()"/>
|
|
4223
4316
|
</t>
|
|
4224
4317
|
</div>
|
|
4225
4318
|
</t>
|
|
4226
4319
|
|
|
4320
|
+
<t t-name="o-spreadsheet-TableDropdownButton">
|
|
4321
|
+
<div class="o-table-widget d-flex align-item-center">
|
|
4322
|
+
<ActionButton
|
|
4323
|
+
action="action"
|
|
4324
|
+
hasTriangleDownIcon="true"
|
|
4325
|
+
t-on-click="onClick"
|
|
4326
|
+
class="'o-hoverable-button'"
|
|
4327
|
+
/>
|
|
4328
|
+
</div>
|
|
4329
|
+
<TableStylesPopover
|
|
4330
|
+
tableConfig="tableConfig"
|
|
4331
|
+
onStylePicked.bind="onStylePicked"
|
|
4332
|
+
popoverProps="state.popoverProps"
|
|
4333
|
+
closePopover.bind="closePopover"
|
|
4334
|
+
/>
|
|
4335
|
+
</t>
|
|
4336
|
+
|
|
4337
|
+
<t t-name="o-spreadsheet-TableStylePicker">
|
|
4338
|
+
<div class="o-table-style-picker d-flex flew-row justify-content-between ps-1">
|
|
4339
|
+
<div class="d-flex flex-row overflow-hidden">
|
|
4340
|
+
<div
|
|
4341
|
+
class="o-table-style-list-item"
|
|
4342
|
+
t-att-class="{ 'selected': styleId === props.table.config.styleId }"
|
|
4343
|
+
t-foreach="getDisplayedTableStyles()"
|
|
4344
|
+
t-as="styleId"
|
|
4345
|
+
t-key="styleId"
|
|
4346
|
+
t-att-title="getStyleName(styleId)"
|
|
4347
|
+
t-on-click="() => this.onStylePicked(styleId)">
|
|
4348
|
+
<div class="o-table-style-picker-preview">
|
|
4349
|
+
<TableStylePreview tableConfig="getTableConfig(styleId)"/>
|
|
4350
|
+
</div>
|
|
4351
|
+
</div>
|
|
4352
|
+
</div>
|
|
4353
|
+
<div
|
|
4354
|
+
class="o-table-style-picker-arrow d-flex align-items-center px-1"
|
|
4355
|
+
t-on-click.stop="onArrowButtonClick">
|
|
4356
|
+
<t t-call="o-spreadsheet-Icon.TRIANGLE_DOWN"/>
|
|
4357
|
+
</div>
|
|
4358
|
+
</div>
|
|
4359
|
+
<TableStylesPopover
|
|
4360
|
+
tableConfig="props.table.config"
|
|
4361
|
+
selectedStyleId="props.table.config.styleId"
|
|
4362
|
+
onStylePicked.bind="onStylePicked"
|
|
4363
|
+
popoverProps="state.popoverProps"
|
|
4364
|
+
closePopover.bind="closePopover"
|
|
4365
|
+
/>
|
|
4366
|
+
</t>
|
|
4367
|
+
|
|
4368
|
+
<t t-name="o-spreadsheet-TableStylePreview">
|
|
4369
|
+
<canvas t-ref="canvas" class="w-100 h-100"/>
|
|
4370
|
+
</t>
|
|
4371
|
+
|
|
4372
|
+
<t t-name="o-spreadsheet-TableStylesPopover">
|
|
4373
|
+
<Popover t-if="props.popoverProps" t-props="props.popoverProps">
|
|
4374
|
+
<div class="o-table-style-popover d-flex flex-column px-4 py-1" t-ref="tableStyleList">
|
|
4375
|
+
<div t-foreach="categories" t-as="category" t-key="category">
|
|
4376
|
+
<div class="mt-2 mb-1">
|
|
4377
|
+
<b t-esc="category_value"/>
|
|
4378
|
+
</div>
|
|
4379
|
+
<div class="d-flex flex-wrap">
|
|
4380
|
+
<div
|
|
4381
|
+
class="o-table-style-list-item"
|
|
4382
|
+
t-att-class="{ 'selected': styleId === props.selectedStyleId }"
|
|
4383
|
+
t-foreach="getPresetsByCategory(category)"
|
|
4384
|
+
t-as="styleId"
|
|
4385
|
+
t-key="styleId"
|
|
4386
|
+
t-att-title="getStyleName(styleId)"
|
|
4387
|
+
t-on-click="() => this.props.onStylePicked(styleId)">
|
|
4388
|
+
<div class="o-table-style-popover-preview">
|
|
4389
|
+
<TableStylePreview tableConfig="getTableConfig(styleId)"/>
|
|
4390
|
+
</div>
|
|
4391
|
+
</div>
|
|
4392
|
+
</div>
|
|
4393
|
+
<hr t-if="!category_last" class="hr mt-2 mb-0"/>
|
|
4394
|
+
</div>
|
|
4395
|
+
</div>
|
|
4396
|
+
</Popover>
|
|
4397
|
+
</t>
|
|
4398
|
+
|
|
4227
4399
|
<t t-name="o-spreadsheet-TopBar">
|
|
4228
4400
|
<t t-set="text_color">Text Color</t>
|
|
4229
4401
|
<t t-set="fill_color">Fill Color</t>
|
|
@@ -4389,7 +4561,8 @@ https://fontawesome.com/license -->
|
|
|
4389
4561
|
|
|
4390
4562
|
<div class="o-divider"/>
|
|
4391
4563
|
|
|
4392
|
-
<
|
|
4564
|
+
<TableDropdownButton/>
|
|
4565
|
+
<ActionButton action="DATA.createRemoveFilterTool" class="'o-hoverable-button'"/>
|
|
4393
4566
|
</div>
|
|
4394
4567
|
</div>
|
|
4395
4568
|
<TopBarComposer/>
|