@odoo/o-spreadsheet 17.2.0-alpha.4 → 17.2.0-alpha.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.
- package/dist/o-spreadsheet.cjs.js +40002 -38250
- package/dist/o-spreadsheet.d.ts +1092 -632
- package/dist/o-spreadsheet.esm.js +40000 -38252
- package/dist/o-spreadsheet.iife.js +39966 -38214
- package/dist/o-spreadsheet.iife.min.js +1323 -1227
- package/dist/o_spreadsheet.xml +281 -124
- 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-02-
|
|
6
|
-
@hash
|
|
4
|
+
@version 17.2.0-alpha.6
|
|
5
|
+
@date 2024-02-28T12:29:23.715Z
|
|
6
|
+
@hash 318a04e
|
|
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"/>
|
|
@@ -421,17 +421,17 @@
|
|
|
421
421
|
|
|
422
422
|
<t t-name="o-spreadsheet-TextValueProvider">
|
|
423
423
|
<div
|
|
424
|
+
t-ref="autoCompleteList"
|
|
424
425
|
t-att-class="{
|
|
425
|
-
'o-autocomplete-dropdown':props.
|
|
426
|
-
|
|
427
|
-
<t t-foreach="props.values" t-as="v" t-key="v.text">
|
|
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,19 +474,19 @@
|
|
|
474
474
|
/>
|
|
475
475
|
|
|
476
476
|
<div
|
|
477
|
-
t-if="props.focus !== 'inactive' and (autoCompleteState.
|
|
478
|
-
class="o-composer-assistant"
|
|
477
|
+
t-if="props.focus !== 'inactive' and (autoCompleteState.provider or functionDescriptionState.showDescription)"
|
|
478
|
+
class="o-composer-assistant shadow"
|
|
479
479
|
t-att-style="assistantStyle"
|
|
480
|
-
t-on-
|
|
480
|
+
t-on-wheel.stop=""
|
|
481
|
+
t-on-pointerdown.prevent.stop=""
|
|
481
482
|
t-on-click.prevent.stop=""
|
|
482
|
-
t-on-
|
|
483
|
+
t-on-pointerup.prevent.stop="">
|
|
483
484
|
<TextValueProvider
|
|
484
|
-
t-if="autoCompleteState.
|
|
485
|
-
|
|
485
|
+
t-if="autoCompleteState.provider"
|
|
486
|
+
proposals="autoCompleteState.provider.proposals"
|
|
486
487
|
selectedIndex="autoCompleteState.selectedIndex"
|
|
487
488
|
onValueSelected.bind="this.autoComplete"
|
|
488
489
|
onValueHovered.bind="this.updateAutoCompleteIndex"
|
|
489
|
-
getHtmlContent="autoCompleteState.getHtmlContent"
|
|
490
490
|
/>
|
|
491
491
|
<FunctionDescriptionProvider
|
|
492
492
|
t-if="functionDescriptionState.showDescription"
|
|
@@ -509,7 +509,7 @@
|
|
|
509
509
|
<div
|
|
510
510
|
class="o-formula-assistant bg-white"
|
|
511
511
|
t-if="context.functionName"
|
|
512
|
-
t-on-
|
|
512
|
+
t-on-pointermove="onMouseMove"
|
|
513
513
|
t-att-class="{'opacity-25': assistantState.allowCellSelectionBehind}">
|
|
514
514
|
<div class="o-formula-assistant-head">
|
|
515
515
|
<span t-esc="context.functionName"/>
|
|
@@ -663,6 +663,10 @@
|
|
|
663
663
|
<canvas class="o-figure-canvas w-100 h-100" t-att-style="canvasStyle" t-ref="graphContainer"/>
|
|
664
664
|
</t>
|
|
665
665
|
|
|
666
|
+
<t t-name="o-spreadsheet-GaugeChartComponent">
|
|
667
|
+
<canvas class="o-figure-canvas w-100 h-100" t-ref="chartContainer"/>
|
|
668
|
+
</t>
|
|
669
|
+
|
|
666
670
|
<t t-name="o-spreadsheet-ScorecardChart">
|
|
667
671
|
<canvas class="o-figure-canvas w-100 h-100" t-ref="chartContainer"/>
|
|
668
672
|
</t>
|
|
@@ -671,7 +675,7 @@
|
|
|
671
675
|
<div class="o-figure-wrapper pe-auto" t-att-style="wrapperStyle">
|
|
672
676
|
<div
|
|
673
677
|
class="o-figure w-100 h-100"
|
|
674
|
-
t-on-
|
|
678
|
+
t-on-pointerdown.stop="(ev) => this.onMouseDown(ev)"
|
|
675
679
|
t-on-contextmenu.prevent.stop="(ev) => !env.model.getters.isReadonly() and this.onContextMenu(ev)"
|
|
676
680
|
t-ref="figure"
|
|
677
681
|
t-att-style="props.style"
|
|
@@ -707,42 +711,42 @@
|
|
|
707
711
|
<div
|
|
708
712
|
class="o-fig-anchor o-top"
|
|
709
713
|
t-att-style="this.getResizerPosition('top')"
|
|
710
|
-
t-on-
|
|
714
|
+
t-on-pointerdown="(ev) => this.clickAnchor(0,-1, ev)"
|
|
711
715
|
/>
|
|
712
716
|
<div
|
|
713
717
|
class="o-fig-anchor o-topRight"
|
|
714
718
|
t-att-style="this.getResizerPosition('top right')"
|
|
715
|
-
t-on-
|
|
719
|
+
t-on-pointerdown="(ev) => this.clickAnchor(1,-1, ev)"
|
|
716
720
|
/>
|
|
717
721
|
<div
|
|
718
722
|
class="o-fig-anchor o-right"
|
|
719
723
|
t-att-style="this.getResizerPosition('right')"
|
|
720
|
-
t-on-
|
|
724
|
+
t-on-pointerdown="(ev) => this.clickAnchor(1,0, ev)"
|
|
721
725
|
/>
|
|
722
726
|
<div
|
|
723
727
|
class="o-fig-anchor o-bottomRight"
|
|
724
728
|
t-att-style="this.getResizerPosition('bottom right')"
|
|
725
|
-
t-on-
|
|
729
|
+
t-on-pointerdown="(ev) => this.clickAnchor(1,1, ev)"
|
|
726
730
|
/>
|
|
727
731
|
<div
|
|
728
732
|
class="o-fig-anchor o-bottom"
|
|
729
733
|
t-att-style="this.getResizerPosition('bottom')"
|
|
730
|
-
t-on-
|
|
734
|
+
t-on-pointerdown="(ev) => this.clickAnchor(0,1, ev)"
|
|
731
735
|
/>
|
|
732
736
|
<div
|
|
733
737
|
class="o-fig-anchor o-bottomLeft"
|
|
734
738
|
t-att-style="this.getResizerPosition('bottom left')"
|
|
735
|
-
t-on-
|
|
739
|
+
t-on-pointerdown="(ev) => this.clickAnchor(-1,1, ev)"
|
|
736
740
|
/>
|
|
737
741
|
<div
|
|
738
742
|
class="o-fig-anchor o-left"
|
|
739
743
|
t-att-style="this.getResizerPosition('left')"
|
|
740
|
-
t-on-
|
|
744
|
+
t-on-pointerdown="(ev) => this.clickAnchor(-1,0, ev)"
|
|
741
745
|
/>
|
|
742
746
|
<div
|
|
743
747
|
class="o-fig-anchor o-topLeft"
|
|
744
748
|
t-att-style="this.getResizerPosition('top left')"
|
|
745
|
-
t-on-
|
|
749
|
+
t-on-pointerdown="(ev) => this.clickAnchor(-1,-1, ev)"
|
|
746
750
|
/>
|
|
747
751
|
</t>
|
|
748
752
|
</div>
|
|
@@ -802,7 +806,7 @@
|
|
|
802
806
|
</t>
|
|
803
807
|
|
|
804
808
|
<t t-name="o-spreadsheet-FilterIcon">
|
|
805
|
-
<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">
|
|
806
810
|
<t t-if="isFilterActive" t-call="o-spreadsheet-Icon.FILTER_ICON_ACTIVE"/>
|
|
807
811
|
<t t-else="" t-call="o-spreadsheet-Icon.FILTER_ICON"/>
|
|
808
812
|
</div>
|
|
@@ -882,7 +886,7 @@
|
|
|
882
886
|
<t t-name="o-spreadsheet-FilterMenuValueItem">
|
|
883
887
|
<div
|
|
884
888
|
t-on-click="this.props.onClick"
|
|
885
|
-
t-on-
|
|
889
|
+
t-on-pointermove="this.props.onMouseMove"
|
|
886
890
|
class="o-filter-menu-item o-filter-menu-value"
|
|
887
891
|
t-ref="menuValueItem"
|
|
888
892
|
t-att-class="{'selected': this.props.isSelected}">
|
|
@@ -909,7 +913,7 @@
|
|
|
909
913
|
type="number"
|
|
910
914
|
min="1"
|
|
911
915
|
max="400"
|
|
912
|
-
class="o-font-size bg-transparent border-0"
|
|
916
|
+
class="o-font-size o-number-input bg-transparent border-0"
|
|
913
917
|
t-on-keydown="onInputKeydown"
|
|
914
918
|
t-on-click.stop=""
|
|
915
919
|
t-on-focus.stop="onInputFocused"
|
|
@@ -1003,7 +1007,7 @@
|
|
|
1003
1007
|
<div
|
|
1004
1008
|
class="o-grid-add-rows mt-2 ms-2 w-100 d-flex position-relative align-items-center"
|
|
1005
1009
|
t-att-style="addRowsPosition"
|
|
1006
|
-
t-on-
|
|
1010
|
+
t-on-pointerdown.stop.prevent="">
|
|
1007
1011
|
<button t-on-click="onConfirm" t-att-disabled="state.errorFlag" class="o-button">Add</button>
|
|
1008
1012
|
<input
|
|
1009
1013
|
type="text"
|
|
@@ -1012,7 +1016,7 @@
|
|
|
1012
1016
|
value="100"
|
|
1013
1017
|
t-on-click.stop=""
|
|
1014
1018
|
t-on-keydown.stop="onKeydown"
|
|
1015
|
-
t-on-
|
|
1019
|
+
t-on-pointerdown.stop=""
|
|
1016
1020
|
t-on-input.stop="onInput"
|
|
1017
1021
|
/>
|
|
1018
1022
|
<span>more rows at the bottom</span>
|
|
@@ -1035,7 +1039,7 @@
|
|
|
1035
1039
|
class="o-grid-overlay overflow-hidden"
|
|
1036
1040
|
t-att-class="{'o-paint-format-cursor': isPaintingFormat}"
|
|
1037
1041
|
t-att-style="style"
|
|
1038
|
-
t-on-
|
|
1042
|
+
t-on-pointerdown="onMouseDown"
|
|
1039
1043
|
t-on-dblclick.self="onDoubleClick"
|
|
1040
1044
|
t-on-contextmenu.stop.prevent="onContextMenu">
|
|
1041
1045
|
<FiguresContainer onFigureDeleted="props.onFigureDeleted"/>
|
|
@@ -1161,18 +1165,18 @@
|
|
|
1161
1165
|
<div class="o-overlay">
|
|
1162
1166
|
<ColResizer onOpenContextMenu="props.onOpenContextMenu"/>
|
|
1163
1167
|
<RowResizer onOpenContextMenu="props.onOpenContextMenu"/>
|
|
1164
|
-
<div class="all" t-on-
|
|
1168
|
+
<div class="all" t-on-pointerdown.self="selectAll"/>
|
|
1165
1169
|
</div>
|
|
1166
1170
|
</t>
|
|
1167
1171
|
|
|
1168
1172
|
<t t-name="o-spreadsheet-RowResizer">
|
|
1169
1173
|
<div
|
|
1170
1174
|
class="o-row-resizer"
|
|
1171
|
-
t-on-
|
|
1175
|
+
t-on-pointermove.self="onMouseMove"
|
|
1172
1176
|
t-on-mouseleave="onMouseLeave"
|
|
1173
|
-
t-on-
|
|
1177
|
+
t-on-pointerdown.self.prevent="select"
|
|
1174
1178
|
t-ref="rowResizer"
|
|
1175
|
-
t-on-
|
|
1179
|
+
t-on-pointerup.self="onMouseUp"
|
|
1176
1180
|
t-on-contextmenu.self="onContextMenu"
|
|
1177
1181
|
t-att-class="{'o-grab': state.waitingForMove, 'o-dragging': state.isMoving}">
|
|
1178
1182
|
<div
|
|
@@ -1188,7 +1192,7 @@
|
|
|
1188
1192
|
<t t-if="state.resizerIsActive">
|
|
1189
1193
|
<div
|
|
1190
1194
|
class="o-handle"
|
|
1191
|
-
t-on-
|
|
1195
|
+
t-on-pointerdown="onMouseDown"
|
|
1192
1196
|
t-on-dblclick="onDblClick"
|
|
1193
1197
|
t-on-contextmenu.prevent=""
|
|
1194
1198
|
t-attf-style="top:{{state.draggerLinePosition - 2}}px;">
|
|
@@ -1227,11 +1231,11 @@
|
|
|
1227
1231
|
<t t-name="o-spreadsheet-ColResizer">
|
|
1228
1232
|
<div
|
|
1229
1233
|
class="o-col-resizer"
|
|
1230
|
-
t-on-
|
|
1234
|
+
t-on-pointermove.self="onMouseMove"
|
|
1231
1235
|
t-on-mouseleave="onMouseLeave"
|
|
1232
|
-
t-on-
|
|
1236
|
+
t-on-pointerdown.self.prevent="select"
|
|
1233
1237
|
t-ref="colResizer"
|
|
1234
|
-
t-on-
|
|
1238
|
+
t-on-pointerup.self="onMouseUp"
|
|
1235
1239
|
t-on-contextmenu.self="onContextMenu"
|
|
1236
1240
|
t-att-class="{'o-grab': state.waitingForMove, 'o-dragging': state.isMoving, }">
|
|
1237
1241
|
<div
|
|
@@ -1247,7 +1251,7 @@
|
|
|
1247
1251
|
<t t-if="state.resizerIsActive">
|
|
1248
1252
|
<div
|
|
1249
1253
|
class="o-handle"
|
|
1250
|
-
t-on-
|
|
1254
|
+
t-on-pointerdown="onMouseDown"
|
|
1251
1255
|
t-on-dblclick="onDblClick"
|
|
1252
1256
|
t-on-contextmenu.prevent=""
|
|
1253
1257
|
t-attf-style="left:{{state.draggerLinePosition - 2}}px;">
|
|
@@ -1286,7 +1290,7 @@
|
|
|
1286
1290
|
<t t-name="o-spreadsheet-Border">
|
|
1287
1291
|
<div
|
|
1288
1292
|
class="o-border"
|
|
1289
|
-
t-on-
|
|
1293
|
+
t-on-pointerdown.prevent="onMouseDown"
|
|
1290
1294
|
t-att-style="style"
|
|
1291
1295
|
t-att-class="{
|
|
1292
1296
|
'o-moving': props.isMoving,
|
|
@@ -1301,7 +1305,7 @@
|
|
|
1301
1305
|
<t t-name="o-spreadsheet-Corner">
|
|
1302
1306
|
<div
|
|
1303
1307
|
class="o-corner"
|
|
1304
|
-
t-on-
|
|
1308
|
+
t-on-pointerdown.prevent="onMouseDown"
|
|
1305
1309
|
t-att-style="style"
|
|
1306
1310
|
t-att-class="{
|
|
1307
1311
|
'o-resizing': props.isResizing,
|
|
@@ -1488,15 +1492,15 @@
|
|
|
1488
1492
|
/>
|
|
1489
1493
|
</svg>
|
|
1490
1494
|
</t>
|
|
1491
|
-
<t t-name="o-spreadsheet-Icon.
|
|
1492
|
-
<svg class="o-icon">
|
|
1493
|
-
<path
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
/>
|
|
1495
|
+
<t t-name="o-spreadsheet-Icon.SHOW">
|
|
1496
|
+
<svg class="o-icon" viewBox="0 0 24 24" fill="none" stroke="currentcolor">
|
|
1497
|
+
<path stroke-width="1.35" d="M1,12 S11.5,0 23,12 M1,12 S11.5,24 23,12"/>
|
|
1498
|
+
<path d="M1.26,11.7 A .4 .3 1 0 0 1.2,12.3"/>
|
|
1499
|
+
<path d="M22.8,11.7 A .4 .3 1 0 1 22.75,12.3"/>
|
|
1500
|
+
<circle stroke-width="1.35" stroke="currentcolor" cx="12" cy="12" r="3"/>
|
|
1497
1501
|
</svg>
|
|
1498
1502
|
</t>
|
|
1499
|
-
<t t-name="o-spreadsheet-Icon.
|
|
1503
|
+
<t t-name="o-spreadsheet-Icon.FORMULA">
|
|
1500
1504
|
<svg class="o-icon">
|
|
1501
1505
|
<path
|
|
1502
1506
|
fill="currentColor"
|
|
@@ -2127,12 +2131,7 @@ https://fontawesome.com/license -->
|
|
|
2127
2131
|
</svg>
|
|
2128
2132
|
</t>
|
|
2129
2133
|
<t t-name="o-spreadsheet-Icon.FILTER_ICON">
|
|
2130
|
-
<svg
|
|
2131
|
-
class="o-cf-icon filter-icon"
|
|
2132
|
-
width="10"
|
|
2133
|
-
height="10"
|
|
2134
|
-
focusable="false"
|
|
2135
|
-
viewBox="0 0 850 850">
|
|
2134
|
+
<svg class="o-cf-icon filter-icon" viewBox="0 0 850 850">
|
|
2136
2135
|
<path
|
|
2137
2136
|
fill="currentColor"
|
|
2138
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"
|
|
@@ -2140,33 +2139,7 @@ https://fontawesome.com/license -->
|
|
|
2140
2139
|
</svg>
|
|
2141
2140
|
</t>
|
|
2142
2141
|
<t t-name="o-spreadsheet-Icon.FILTER_ICON_ACTIVE">
|
|
2143
|
-
<svg
|
|
2144
|
-
class="o-cf-icon filter-icon-active"
|
|
2145
|
-
width="10"
|
|
2146
|
-
height="10"
|
|
2147
|
-
focusable="false"
|
|
2148
|
-
viewBox="0 0 512 512">
|
|
2149
|
-
<path
|
|
2150
|
-
fill="currentColor"
|
|
2151
|
-
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"
|
|
2152
|
-
/>
|
|
2153
|
-
</svg>
|
|
2154
|
-
</t>
|
|
2155
|
-
<t t-name="o-spreadsheet-Icon.FILTER_ICON_INACTIVE">
|
|
2156
|
-
<svg
|
|
2157
|
-
class="o-cf-icon filter-icon-inactive"
|
|
2158
|
-
width="10"
|
|
2159
|
-
height="10"
|
|
2160
|
-
focusable="false"
|
|
2161
|
-
viewBox="0 0 512 512">
|
|
2162
|
-
<path
|
|
2163
|
-
fill="currentColor"
|
|
2164
|
-
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"
|
|
2165
|
-
/>
|
|
2166
|
-
</svg>
|
|
2167
|
-
</t>
|
|
2168
|
-
<t t-name="o-spreadsheet-Icon.MENU_FILTER_ICON">
|
|
2169
|
-
<svg class="o-icon">
|
|
2142
|
+
<svg class="o-cf-icon filter-icon-active" viewBox="0 0 18 18">
|
|
2170
2143
|
<path
|
|
2171
2144
|
fill="currentColor"
|
|
2172
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"
|
|
@@ -2315,6 +2288,30 @@ https://fontawesome.com/license -->
|
|
|
2315
2288
|
<circle cx="2" cy="12.5" r="1"/>
|
|
2316
2289
|
</svg>
|
|
2317
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>
|
|
2318
2315
|
|
|
2319
2316
|
<t t-name="o-spreadsheet-LinkDisplay">
|
|
2320
2317
|
<div class="o-link-tool d-flex align-items-center">
|
|
@@ -2971,26 +2968,26 @@ https://fontawesome.com/license -->
|
|
|
2971
2968
|
</t>
|
|
2972
2969
|
|
|
2973
2970
|
<t t-name="o-spreadsheet-ChartPanel">
|
|
2974
|
-
<div class="o-chart">
|
|
2971
|
+
<div class="o-chart" t-if="figureId">
|
|
2975
2972
|
<div class="o-panel">
|
|
2976
2973
|
<div
|
|
2977
2974
|
class="o-panel-element o-panel-configuration"
|
|
2978
|
-
t-att-class="
|
|
2979
|
-
t-on-click="() => this.activatePanel('configuration')">
|
|
2975
|
+
t-att-class="store.panel !== 'configuration' ? 'inactive' : ''"
|
|
2976
|
+
t-on-click="() => this.store.activatePanel('configuration')">
|
|
2980
2977
|
<i class="fa fa-sliders"/>
|
|
2981
2978
|
Configuration
|
|
2982
2979
|
</div>
|
|
2983
2980
|
<div
|
|
2984
2981
|
class="o-panel-element o-panel-design"
|
|
2985
|
-
t-att-class="
|
|
2986
|
-
t-on-click="() => this.activatePanel('design')">
|
|
2982
|
+
t-att-class="store.panel !== 'design' ? 'inactive' : ''"
|
|
2983
|
+
t-on-click="() => this.store.activatePanel('design')">
|
|
2987
2984
|
<i class="fa fa-paint-brush"/>
|
|
2988
2985
|
Design
|
|
2989
2986
|
</div>
|
|
2990
2987
|
</div>
|
|
2991
2988
|
|
|
2992
|
-
<t t-set="definition" t-value="getChartDefinition()"/>
|
|
2993
|
-
<t t-if="
|
|
2989
|
+
<t t-set="definition" t-value="getChartDefinition(this.figureId)"/>
|
|
2990
|
+
<t t-if="store.panel === 'configuration'">
|
|
2994
2991
|
<Section>
|
|
2995
2992
|
<t t-set-slot="title">Chart type</t>
|
|
2996
2993
|
<t t-set="types" t-value="chartTypes"/>
|
|
@@ -3032,12 +3029,12 @@ https://fontawesome.com/license -->
|
|
|
3032
3029
|
<t t-name="o-spreadsheet-ScatterConfigPanel">
|
|
3033
3030
|
<div>
|
|
3034
3031
|
<ChartDataSeries
|
|
3035
|
-
ranges="
|
|
3032
|
+
ranges="this.getDataSeriesRanges()"
|
|
3036
3033
|
onSelectionChanged="(ranges) => this.onDataSeriesRangesChanged(ranges)"
|
|
3037
3034
|
onSelectionConfirmed="() => this.onDataSeriesConfirmed()"
|
|
3038
3035
|
/>
|
|
3039
3036
|
<ChartLabelRange
|
|
3040
|
-
range="
|
|
3037
|
+
range="this.getLabelRange()"
|
|
3041
3038
|
isInvalid="isLabelInvalid"
|
|
3042
3039
|
onSelectionChanged="(ranges) => this.onLabelRangeChanged(ranges)"
|
|
3043
3040
|
onSelectionConfirmed="() => this.onLabelRangeConfirmed()"
|
|
@@ -3142,9 +3139,13 @@ https://fontawesome.com/license -->
|
|
|
3142
3139
|
</t>
|
|
3143
3140
|
|
|
3144
3141
|
<t t-name="o-spreadsheet.Checkbox">
|
|
3145
|
-
<label
|
|
3142
|
+
<label
|
|
3143
|
+
class="o-checkbox"
|
|
3144
|
+
t-att-title="props.title"
|
|
3145
|
+
t-att-class="{'text-muted': props.disabled }">
|
|
3146
3146
|
<input
|
|
3147
3147
|
type="checkbox"
|
|
3148
|
+
t-att-disabled="props.disabled"
|
|
3148
3149
|
t-att-name="props.name"
|
|
3149
3150
|
t-att-checked="props.value"
|
|
3150
3151
|
t-on-change="onChange"
|
|
@@ -3552,7 +3553,7 @@ https://fontawesome.com/license -->
|
|
|
3552
3553
|
t-att-class="props.class"
|
|
3553
3554
|
t-att-data-id="cf.id"
|
|
3554
3555
|
t-on-click="props.onPreviewClick"
|
|
3555
|
-
t-on-
|
|
3556
|
+
t-on-pointerdown="(ev) => this.onMouseDown(ev)">
|
|
3556
3557
|
<div class="position-relative h-100 w-100 d-flex align-items-center">
|
|
3557
3558
|
<div class="o-cf-drag-handle h-100 position-absolute d-flex align-items-center text-muted">
|
|
3558
3559
|
<t t-call="o-spreadsheet-Icon.THIN_DRAG_HANDLE"/>
|
|
@@ -4076,7 +4077,7 @@ https://fontawesome.com/license -->
|
|
|
4076
4077
|
<select
|
|
4077
4078
|
t-att-class="props.class"
|
|
4078
4079
|
t-ref="select"
|
|
4079
|
-
t-on-
|
|
4080
|
+
t-on-pointerdown.stop.prevent=""
|
|
4080
4081
|
t-on-click="onClick">
|
|
4081
4082
|
<option selected="true" t-esc="props.selectedValue"/>
|
|
4082
4083
|
</select>
|
|
@@ -4121,24 +4122,24 @@ https://fontawesome.com/license -->
|
|
|
4121
4122
|
</t>
|
|
4122
4123
|
|
|
4123
4124
|
<t t-name="o-spreadsheet-SidePanel">
|
|
4124
|
-
<div class="o-sidePanel">
|
|
4125
|
+
<div class="o-sidePanel" t-if="sidePanelStore.isOpen">
|
|
4125
4126
|
<div class="o-sidePanelHeader">
|
|
4126
4127
|
<div class="o-sidePanelTitle" t-esc="getTitle()"/>
|
|
4127
|
-
<div class="o-sidePanelClose" t-on-click="
|
|
4128
|
+
<div class="o-sidePanelClose" t-on-click="close">✕</div>
|
|
4128
4129
|
</div>
|
|
4129
4130
|
<div class="o-sidePanelBody">
|
|
4130
4131
|
<t
|
|
4131
|
-
t-component="
|
|
4132
|
-
t-props="
|
|
4133
|
-
onCloseSidePanel="
|
|
4134
|
-
t-key="'Body_' +
|
|
4132
|
+
t-component="panel.Body"
|
|
4133
|
+
t-props="sidePanelStore.panelProps"
|
|
4134
|
+
onCloseSidePanel.bind="close"
|
|
4135
|
+
t-key="'Body_' + sidePanelStore.componentTag"
|
|
4135
4136
|
/>
|
|
4136
4137
|
</div>
|
|
4137
|
-
<div class="o-sidePanelFooter" t-if="
|
|
4138
|
+
<div class="o-sidePanelFooter" t-if="panel?.Footer">
|
|
4138
4139
|
<t
|
|
4139
|
-
t-component="
|
|
4140
|
-
t-props="
|
|
4141
|
-
t-key="'Footer_' +
|
|
4140
|
+
t-component="panel.Footer"
|
|
4141
|
+
t-props="sidePanelStore.panelProps"
|
|
4142
|
+
t-key="'Footer_' + sidePanelStore.componentTag"
|
|
4142
4143
|
/>
|
|
4143
4144
|
</div>
|
|
4144
4145
|
</div>
|
|
@@ -4190,6 +4191,90 @@ https://fontawesome.com/license -->
|
|
|
4190
4191
|
</div>
|
|
4191
4192
|
</t>
|
|
4192
4193
|
|
|
4194
|
+
<t t-name="o-spreadsheet-TablePanel">
|
|
4195
|
+
<div class="o-table-panel">
|
|
4196
|
+
<Section>
|
|
4197
|
+
<t t-set-slot="title">Style options</t>
|
|
4198
|
+
<div class="d-flex flex-row">
|
|
4199
|
+
<div class="w-50">
|
|
4200
|
+
<div class="d-flex align-items-center">
|
|
4201
|
+
<Checkbox
|
|
4202
|
+
label="getCheckboxLabel('headerRow')"
|
|
4203
|
+
name="'headerRow'"
|
|
4204
|
+
value="tableConfig.numberOfHeaders > 0"
|
|
4205
|
+
onChange.bind="this.updateHasHeaders"
|
|
4206
|
+
/>
|
|
4207
|
+
<input
|
|
4208
|
+
t-if="tableConfig.numberOfHeaders > 0"
|
|
4209
|
+
t-att-value="tableConfig.numberOfHeaders"
|
|
4210
|
+
type="number"
|
|
4211
|
+
class="o-table-n-of-headers ms-2 o-number-input"
|
|
4212
|
+
t-on-change="onChangeNumberOfHeaders"
|
|
4213
|
+
/>
|
|
4214
|
+
</div>
|
|
4215
|
+
<Checkbox
|
|
4216
|
+
label="getCheckboxLabel('totalRow')"
|
|
4217
|
+
name="'totalRow'"
|
|
4218
|
+
value="tableConfig.totalRow"
|
|
4219
|
+
onChange="(val) => this.updateTableConfig('totalRow', val)"
|
|
4220
|
+
/>
|
|
4221
|
+
<Checkbox
|
|
4222
|
+
label="getCheckboxLabel('bandedRows')"
|
|
4223
|
+
name="'bandedRows'"
|
|
4224
|
+
value="tableConfig.bandedRows"
|
|
4225
|
+
onChange="(val) => this.updateTableConfig('bandedRows', val)"
|
|
4226
|
+
/>
|
|
4227
|
+
<Checkbox
|
|
4228
|
+
label="getCheckboxLabel('hasFilters')"
|
|
4229
|
+
name="'hasFilters'"
|
|
4230
|
+
value="tableConfig.hasFilters"
|
|
4231
|
+
title="hasFilterCheckboxTooltip"
|
|
4232
|
+
disabled="!this.canHaveFilters"
|
|
4233
|
+
onChange.bind="this.updateHasFilters"
|
|
4234
|
+
/>
|
|
4235
|
+
</div>
|
|
4236
|
+
<div>
|
|
4237
|
+
<Checkbox
|
|
4238
|
+
label="getCheckboxLabel('firstColumn')"
|
|
4239
|
+
name="'firstColumn'"
|
|
4240
|
+
value="tableConfig.firstColumn"
|
|
4241
|
+
onChange="(val) => this.updateTableConfig('firstColumn', val)"
|
|
4242
|
+
/>
|
|
4243
|
+
<Checkbox
|
|
4244
|
+
label="getCheckboxLabel('lastColumn')"
|
|
4245
|
+
name="'lastColumn'"
|
|
4246
|
+
value="tableConfig.lastColumn"
|
|
4247
|
+
onChange="(val) => this.updateTableConfig('lastColumn', val)"
|
|
4248
|
+
/>
|
|
4249
|
+
<Checkbox
|
|
4250
|
+
label="getCheckboxLabel('bandedColumns')"
|
|
4251
|
+
name="'bandedColumns'"
|
|
4252
|
+
value="tableConfig.bandedColumns"
|
|
4253
|
+
onChange="(val) => this.updateTableConfig('bandedColumns', val)"
|
|
4254
|
+
/>
|
|
4255
|
+
</div>
|
|
4256
|
+
</div>
|
|
4257
|
+
</Section>
|
|
4258
|
+
<Section>
|
|
4259
|
+
<TableStylePicker table="props.table"/>
|
|
4260
|
+
</Section>
|
|
4261
|
+
<Section>
|
|
4262
|
+
<t t-set-slot="title">Data range</t>
|
|
4263
|
+
<SelectionInput
|
|
4264
|
+
t-key="props.table.id"
|
|
4265
|
+
ranges="[this.state.tableXc]"
|
|
4266
|
+
hasSingleRange="true"
|
|
4267
|
+
onSelectionChanged="(ranges) => this.onRangeChanged(ranges)"
|
|
4268
|
+
onSelectionConfirmed.bind="this.onRangeConfirmed"
|
|
4269
|
+
/>
|
|
4270
|
+
<ValidationMessages messages="errorMessages" msgType="'error'"/>
|
|
4271
|
+
</Section>
|
|
4272
|
+
<div class="o-sidePanelButtons">
|
|
4273
|
+
<button t-on-click="deleteTable" class="o-table-delete o-button">Delete table</button>
|
|
4274
|
+
</div>
|
|
4275
|
+
</div>
|
|
4276
|
+
</t>
|
|
4277
|
+
|
|
4193
4278
|
<t t-name="o-spreadsheet-Spreadsheet">
|
|
4194
4279
|
<div
|
|
4195
4280
|
class="o-spreadsheet"
|
|
@@ -4214,23 +4299,94 @@ https://fontawesome.com/license -->
|
|
|
4214
4299
|
<HeaderGroupContainer layers="rowLayers" dimension="'ROW'"/>
|
|
4215
4300
|
</div>
|
|
4216
4301
|
<div class="o-group-grid overflow-hidden">
|
|
4217
|
-
<Grid
|
|
4218
|
-
sidePanelIsOpen="sidePanel.isOpen"
|
|
4219
|
-
exposeFocus="(focus) => this._focusGrid = focus"
|
|
4220
|
-
/>
|
|
4302
|
+
<Grid exposeFocus="(focus) => this._focusGrid = focus"/>
|
|
4221
4303
|
</div>
|
|
4222
4304
|
</div>
|
|
4223
|
-
<SidePanel
|
|
4224
|
-
t-if="sidePanel.isOpen"
|
|
4225
|
-
onCloseSidePanel="() => this.closeSidePanel()"
|
|
4226
|
-
component="sidePanel.component"
|
|
4227
|
-
panelProps="sidePanel.panelProps"
|
|
4228
|
-
/>
|
|
4305
|
+
<SidePanel/>
|
|
4229
4306
|
<BottomBar onClick="() => this.focusGrid()"/>
|
|
4230
4307
|
</t>
|
|
4231
4308
|
</div>
|
|
4232
4309
|
</t>
|
|
4233
4310
|
|
|
4311
|
+
<t t-name="o-spreadsheet-TableDropdownButton">
|
|
4312
|
+
<div class="o-table-widget d-flex align-item-center">
|
|
4313
|
+
<ActionButton
|
|
4314
|
+
action="action"
|
|
4315
|
+
hasTriangleDownIcon="true"
|
|
4316
|
+
t-on-click="onClick"
|
|
4317
|
+
class="'o-hoverable-button'"
|
|
4318
|
+
/>
|
|
4319
|
+
</div>
|
|
4320
|
+
<TableStylesPopover
|
|
4321
|
+
tableConfig="tableConfig"
|
|
4322
|
+
onStylePicked.bind="onStylePicked"
|
|
4323
|
+
popoverProps="state.popoverProps"
|
|
4324
|
+
closePopover.bind="closePopover"
|
|
4325
|
+
/>
|
|
4326
|
+
</t>
|
|
4327
|
+
|
|
4328
|
+
<t t-name="o-spreadsheet-TableStylePicker">
|
|
4329
|
+
<div class="o-table-style-picker d-flex flew-row justify-content-between ps-1">
|
|
4330
|
+
<div class="d-flex flex-row overflow-hidden">
|
|
4331
|
+
<div
|
|
4332
|
+
class="o-table-style-list-item"
|
|
4333
|
+
t-att-class="{ 'selected': styleId === props.table.config.styleId }"
|
|
4334
|
+
t-foreach="getDisplayedTableStyles()"
|
|
4335
|
+
t-as="styleId"
|
|
4336
|
+
t-key="styleId"
|
|
4337
|
+
t-att-title="getStyleName(styleId)"
|
|
4338
|
+
t-on-click="() => this.onStylePicked(styleId)">
|
|
4339
|
+
<div class="o-table-style-picker-preview">
|
|
4340
|
+
<TableStylePreview tableConfig="getTableConfig(styleId)"/>
|
|
4341
|
+
</div>
|
|
4342
|
+
</div>
|
|
4343
|
+
</div>
|
|
4344
|
+
<div
|
|
4345
|
+
class="o-table-style-picker-arrow d-flex align-items-center px-1"
|
|
4346
|
+
t-on-click.stop="onArrowButtonClick">
|
|
4347
|
+
<t t-call="o-spreadsheet-Icon.TRIANGLE_DOWN"/>
|
|
4348
|
+
</div>
|
|
4349
|
+
</div>
|
|
4350
|
+
<TableStylesPopover
|
|
4351
|
+
tableConfig="props.table.config"
|
|
4352
|
+
selectedStyleId="props.table.config.styleId"
|
|
4353
|
+
onStylePicked.bind="onStylePicked"
|
|
4354
|
+
popoverProps="state.popoverProps"
|
|
4355
|
+
closePopover.bind="closePopover"
|
|
4356
|
+
/>
|
|
4357
|
+
</t>
|
|
4358
|
+
|
|
4359
|
+
<t t-name="o-spreadsheet-TableStylePreview">
|
|
4360
|
+
<canvas t-ref="canvas" class="w-100 h-100"/>
|
|
4361
|
+
</t>
|
|
4362
|
+
|
|
4363
|
+
<t t-name="o-spreadsheet-TableStylesPopover">
|
|
4364
|
+
<Popover t-if="props.popoverProps" t-props="props.popoverProps">
|
|
4365
|
+
<div class="o-table-style-popover d-flex flex-column px-4 py-1" t-ref="tableStyleList">
|
|
4366
|
+
<div t-foreach="categories" t-as="category" t-key="category">
|
|
4367
|
+
<div class="mt-2 mb-1">
|
|
4368
|
+
<b t-esc="category_value"/>
|
|
4369
|
+
</div>
|
|
4370
|
+
<div class="d-flex flex-wrap">
|
|
4371
|
+
<div
|
|
4372
|
+
class="o-table-style-list-item"
|
|
4373
|
+
t-att-class="{ 'selected': styleId === props.selectedStyleId }"
|
|
4374
|
+
t-foreach="getPresetsByCategory(category)"
|
|
4375
|
+
t-as="styleId"
|
|
4376
|
+
t-key="styleId"
|
|
4377
|
+
t-att-title="getStyleName(styleId)"
|
|
4378
|
+
t-on-click="() => this.props.onStylePicked(styleId)">
|
|
4379
|
+
<div class="o-table-style-popover-preview">
|
|
4380
|
+
<TableStylePreview tableConfig="getTableConfig(styleId)"/>
|
|
4381
|
+
</div>
|
|
4382
|
+
</div>
|
|
4383
|
+
</div>
|
|
4384
|
+
<hr t-if="!category_last" class="hr mt-2 mb-0"/>
|
|
4385
|
+
</div>
|
|
4386
|
+
</div>
|
|
4387
|
+
</Popover>
|
|
4388
|
+
</t>
|
|
4389
|
+
|
|
4234
4390
|
<t t-name="o-spreadsheet-TopBar">
|
|
4235
4391
|
<t t-set="text_color">Text Color</t>
|
|
4236
4392
|
<t t-set="fill_color">Fill Color</t>
|
|
@@ -4396,7 +4552,8 @@ https://fontawesome.com/license -->
|
|
|
4396
4552
|
|
|
4397
4553
|
<div class="o-divider"/>
|
|
4398
4554
|
|
|
4399
|
-
<
|
|
4555
|
+
<TableDropdownButton/>
|
|
4556
|
+
<ActionButton action="DATA.createRemoveFilterTool" class="'o-hoverable-button'"/>
|
|
4400
4557
|
</div>
|
|
4401
4558
|
</div>
|
|
4402
4559
|
<TopBarComposer/>
|