@odoo/o-spreadsheet 19.1.0-alpha.9 → 19.1.2
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-engine.d.ts +137 -53
- package/dist/o-spreadsheet-engine.esm.js +10580 -9611
- package/dist/o-spreadsheet-engine.iife.js +10580 -9610
- package/dist/o-spreadsheet-engine.min.iife.js +313 -313
- package/dist/o-spreadsheet.d.ts +736 -907
- package/dist/o_spreadsheet.css +3293 -0
- package/dist/o_spreadsheet.esm.js +49539 -39515
- package/dist/o_spreadsheet.iife.js +97946 -87922
- package/dist/o_spreadsheet.min.iife.js +335 -317
- package/dist/o_spreadsheet.xml +911 -520
- package/package.json +14 -14
- package/readme.md +1 -0
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 19.1.
|
|
5
|
-
@date
|
|
6
|
-
@hash
|
|
4
|
+
@version 19.1.2
|
|
5
|
+
@date 2026-01-07T16:22:29.505Z
|
|
6
|
+
@hash febc3e9
|
|
7
7
|
-->
|
|
8
8
|
<odoo>
|
|
9
9
|
<t t-name="o-spreadsheet-ValidationMessages">
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
|
|
30
30
|
<t t-name="o-spreadsheet-TopBar">
|
|
31
31
|
<div
|
|
32
|
-
class="o-spreadsheet-topbar d-flex flex-column user-select-none"
|
|
32
|
+
class="o-spreadsheet-topbar d-flex flex-column user-select-none bg-white"
|
|
33
33
|
t-on-click="props.onClick">
|
|
34
|
-
<div t-if="!env.isSmall" class="o-topbar-top d-flex justify-content-between">
|
|
34
|
+
<div t-if="!env.isSmall" class="o-topbar-top d-flex justify-content-between border-bottom">
|
|
35
35
|
<!-- Menus -->
|
|
36
36
|
<div class="o-topbar-topleft d-flex">
|
|
37
37
|
<t t-foreach="menus" t-as="menu" t-key="menu_index">
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
t-key="toolbarAction_index">
|
|
83
83
|
<t t-component="toolbarAction.component" t-props="toolbarAction.props"/>
|
|
84
84
|
</t>
|
|
85
|
-
<div t-if="showDivider(category_index)" class="o-topbar-divider"/>
|
|
85
|
+
<div t-if="showDivider(category_index)" class="o-topbar-divider border-end"/>
|
|
86
86
|
</div>
|
|
87
87
|
<div
|
|
88
88
|
t-ref="moreToolsContainer"
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
</div>
|
|
101
101
|
<div
|
|
102
102
|
t-if="this.fingerprints.isEnabled"
|
|
103
|
-
class="irregularity-map d-flex align-items-center justify-content-between">
|
|
103
|
+
class="topbar-banner irregularity-map d-flex align-items-center justify-content-between border-top">
|
|
104
104
|
<div
|
|
105
105
|
t-on-click="() => this.fingerprints.disable()"
|
|
106
106
|
role="button"
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
popoverPositioning="'bottom-left'"
|
|
133
133
|
/>
|
|
134
134
|
<Popover t-if="state.toolsPopoverState.isOpen" t-props="toolsPopoverProps">
|
|
135
|
-
<div class="d-flex px-2 py-1 flex-wrap align-items-center
|
|
135
|
+
<div class="d-flex px-2 py-1 flex-wrap align-items-center bg-white">
|
|
136
136
|
<t
|
|
137
137
|
t-foreach="state.invisibleToolsCategories"
|
|
138
138
|
t-as="category"
|
|
@@ -146,13 +146,28 @@
|
|
|
146
146
|
</t>
|
|
147
147
|
<div
|
|
148
148
|
t-if="category_index < state.invisibleToolsCategories.length-1"
|
|
149
|
-
class="o-topbar-divider"
|
|
149
|
+
class="o-topbar-divider border-end"
|
|
150
150
|
/>
|
|
151
151
|
</t>
|
|
152
152
|
</div>
|
|
153
153
|
</Popover>
|
|
154
154
|
</t>
|
|
155
155
|
|
|
156
|
+
<div t-name="o-spreadsheet-TopBarZoom" t-ref="buttonRef" t-on-click.stop="">
|
|
157
|
+
<NumberEditor
|
|
158
|
+
currentValue="currentFontSize"
|
|
159
|
+
onValueChange.bind="this.setZoom"
|
|
160
|
+
class="props.class"
|
|
161
|
+
onToggle.bind="this.toggle"
|
|
162
|
+
onFocusInput.bind="this.onFocusInput"
|
|
163
|
+
valueIcon="'%'"
|
|
164
|
+
min="25"
|
|
165
|
+
max="300"
|
|
166
|
+
valueList="valueList"
|
|
167
|
+
title.translate="Zoom"
|
|
168
|
+
/>
|
|
169
|
+
</div>
|
|
170
|
+
|
|
156
171
|
<div t-name="o-spreadsheet-NumberFormatsTool" t-ref="buttonRef" t-on-click.stop="">
|
|
157
172
|
<ActionButton
|
|
158
173
|
action="formatNumberMenuItemSpec"
|
|
@@ -191,7 +206,7 @@
|
|
|
191
206
|
class="props.class"
|
|
192
207
|
/>
|
|
193
208
|
<Popover t-if="isActive" t-props="popoverProps">
|
|
194
|
-
<div class="o-dropdown-content p-1" t-if="isActive" t-on-click.stop="">
|
|
209
|
+
<div class="o-dropdown-content p-1 bg-white" t-if="isActive" t-on-click.stop="">
|
|
195
210
|
<div class="o-dropdown-line">
|
|
196
211
|
<t t-foreach="props.childActions" t-as="action" t-key="action_index">
|
|
197
212
|
<ActionButton action="action" class="props.childClass"/>
|
|
@@ -216,24 +231,32 @@
|
|
|
216
231
|
</t>
|
|
217
232
|
|
|
218
233
|
<t t-name="o-spreadsheet-TextInput">
|
|
219
|
-
<
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
234
|
+
<div class="position-relative">
|
|
235
|
+
<input
|
|
236
|
+
type="text"
|
|
237
|
+
t-ref="{{refName}}"
|
|
238
|
+
t-att-class="inputClass"
|
|
239
|
+
t-att-id="props.id"
|
|
240
|
+
t-att-placeholder="props.placeholder"
|
|
241
|
+
t-on-change="save"
|
|
242
|
+
t-on-blur="save"
|
|
243
|
+
t-on-pointerdown="onMouseDown"
|
|
244
|
+
t-on-pointerup="onMouseUp"
|
|
245
|
+
t-on-keydown="onKeyDown"
|
|
246
|
+
/>
|
|
247
|
+
<span
|
|
248
|
+
t-if="props.errorMessage"
|
|
249
|
+
class="os-input-error-icon text-danger position-absolute d-flex align-items-center"
|
|
250
|
+
t-att-title="props.errorMessage">
|
|
251
|
+
<t t-call="o-spreadsheet-Icon.ERROR"/>
|
|
252
|
+
</span>
|
|
253
|
+
</div>
|
|
231
254
|
</t>
|
|
232
255
|
|
|
233
256
|
<t t-name="o-spreadsheet-TableStylesPopover">
|
|
234
257
|
<Popover t-if="props.popoverProps" t-props="props.popoverProps">
|
|
235
258
|
<div
|
|
236
|
-
class="o-table-style-popover d-flex flex-column py-3"
|
|
259
|
+
class="o-table-style-popover d-flex flex-column py-3 bg-white"
|
|
237
260
|
t-ref="tableStyleList"
|
|
238
261
|
t-on-contextmenu.prevent="">
|
|
239
262
|
<div class="d-flex o-notebook ps-4 mb-3">
|
|
@@ -241,7 +264,7 @@
|
|
|
241
264
|
t-foreach="Object.keys(categories)"
|
|
242
265
|
t-as="category"
|
|
243
266
|
t-key="category"
|
|
244
|
-
class="o-notebook-tab d-flex align-items-center"
|
|
267
|
+
class="o-notebook-tab d-flex align-items-center border"
|
|
245
268
|
t-att-class="{ 'selected': state.selectedCategory === category }"
|
|
246
269
|
t-on-click="() => state.selectedCategory = category"
|
|
247
270
|
t-att-data-id="category"
|
|
@@ -282,7 +305,7 @@
|
|
|
282
305
|
<canvas t-ref="canvas" class="w-100 h-100"/>
|
|
283
306
|
</div>
|
|
284
307
|
<div
|
|
285
|
-
class="o-table-style-edit-button position-absolute d-none"
|
|
308
|
+
class="o-table-style-edit-button position-absolute d-none bg-white border"
|
|
286
309
|
t-if="isStyleEditable"
|
|
287
310
|
t-on-click="this.editTableStyle"
|
|
288
311
|
title="Edit custom table style">
|
|
@@ -298,7 +321,7 @@
|
|
|
298
321
|
</t>
|
|
299
322
|
|
|
300
323
|
<t t-name="o-spreadsheet-TableStylePicker">
|
|
301
|
-
<div class="o-table-style-picker d-flex flew-row justify-content-between ps-1">
|
|
324
|
+
<div class="o-table-style-picker d-flex flew-row justify-content-between ps-1 border rounded">
|
|
302
325
|
<div class="d-flex flex-row overflow-hidden ps-2">
|
|
303
326
|
<t t-foreach="getDisplayedTableStyles()" t-as="styleId" t-key="styleId">
|
|
304
327
|
<TableStylePreview
|
|
@@ -312,7 +335,7 @@
|
|
|
312
335
|
</t>
|
|
313
336
|
</div>
|
|
314
337
|
<div
|
|
315
|
-
class="o-table-style-picker-arrow d-flex align-items-center px-1"
|
|
338
|
+
class="o-table-style-picker-arrow d-flex align-items-center px-1 border-start"
|
|
316
339
|
t-on-click.stop="onArrowButtonClick">
|
|
317
340
|
<t t-call="o-spreadsheet-Icon.CARET_DOWN"/>
|
|
318
341
|
</div>
|
|
@@ -354,7 +377,7 @@
|
|
|
354
377
|
<t t-name="o-spreadsheet-Spreadsheet">
|
|
355
378
|
<div
|
|
356
379
|
class="o-spreadsheet h-100 w-100"
|
|
357
|
-
t-att-class="
|
|
380
|
+
t-att-class="getSpreadSheetClasses()"
|
|
358
381
|
t-ref="spreadsheet"
|
|
359
382
|
t-att-style="getStyle()">
|
|
360
383
|
<t t-if="env.isDashboard()">
|
|
@@ -371,10 +394,10 @@
|
|
|
371
394
|
t-att-style="gridContainerStyle"
|
|
372
395
|
t-on-click="this.focusGrid">
|
|
373
396
|
<div class="o-top-left"/>
|
|
374
|
-
<div class="o-column-groups">
|
|
397
|
+
<div class="o-column-groups o-zoomable">
|
|
375
398
|
<HeaderGroupContainer layers="colLayers" dimension="'COL'"/>
|
|
376
399
|
</div>
|
|
377
|
-
<div class="o-row-groups">
|
|
400
|
+
<div class="o-row-groups o-zoomable">
|
|
378
401
|
<HeaderGroupContainer layers="rowLayers" dimension="'ROW'"/>
|
|
379
402
|
</div>
|
|
380
403
|
<div class="o-group-grid overflow-hidden">
|
|
@@ -396,7 +419,7 @@
|
|
|
396
419
|
<RibbonMenu onClose="() => this.menuState.isOpen=false"/>
|
|
397
420
|
</t>
|
|
398
421
|
<t t-else="">
|
|
399
|
-
<div class="o-small-composer px-2 py-2 position-relative">
|
|
422
|
+
<div class="o-small-composer px-2 py-2 position-relative bg-white border">
|
|
400
423
|
<div class="w-100" t-ref="bottombarComposer">
|
|
401
424
|
<Composer t-props="composerProps"/>
|
|
402
425
|
<span
|
|
@@ -428,7 +451,7 @@
|
|
|
428
451
|
composerFocusableElement="true"
|
|
429
452
|
/>
|
|
430
453
|
</div>
|
|
431
|
-
<div class="d-flex flex-fill align-items-center bottom-bar-menu">
|
|
454
|
+
<div class="d-flex flex-fill align-items-center bottom-bar-menu border-top border-bottom">
|
|
432
455
|
<Ripple>
|
|
433
456
|
<div class="py-1 px-1 mx-2 ribbon-toggler" t-on-click="toggleRibbon">
|
|
434
457
|
<i class="o-icon fa fa-cog"/>
|
|
@@ -675,8 +698,9 @@
|
|
|
675
698
|
</t>
|
|
676
699
|
|
|
677
700
|
<t t-name="o-spreadsheet-SidePanelExtended">
|
|
678
|
-
<div class="o-sidePanel h-100">
|
|
679
|
-
<div
|
|
701
|
+
<div class="o-sidePanel h-100 bg-white border-top border-start">
|
|
702
|
+
<div
|
|
703
|
+
class="o-sidePanelHeader d-flex align-items-center justify-content-between border-bottom">
|
|
680
704
|
<div
|
|
681
705
|
t-if="props.onToggleCollapsePanel"
|
|
682
706
|
class="o-collapse-panel o-sidePanelAction rounded"
|
|
@@ -720,7 +744,9 @@
|
|
|
720
744
|
</t>
|
|
721
745
|
|
|
722
746
|
<t t-name="o-spreadsheet-SidePanelCollapsed">
|
|
723
|
-
<div
|
|
747
|
+
<div
|
|
748
|
+
class="o-sidePanel collapsed w-100 h-100 bg-white"
|
|
749
|
+
t-on-click="props.onToggleCollapsePanel">
|
|
724
750
|
<div class="d-flex flex-column align-items-center">
|
|
725
751
|
<div
|
|
726
752
|
t-if="props.onToggleCollapsePanel"
|
|
@@ -759,7 +785,7 @@
|
|
|
759
785
|
t-att-selected="currentLocale.code === locale.code"
|
|
760
786
|
/>
|
|
761
787
|
</select>
|
|
762
|
-
<div class="o-locale-preview mt-4 p-3 rounded">
|
|
788
|
+
<div class="o-locale-preview mt-4 p-3 rounded border">
|
|
763
789
|
<div>
|
|
764
790
|
<span class="o-fw-bold me-1">Number:</span>
|
|
765
791
|
<span t-esc="numberFormatPreview"/>
|
|
@@ -957,24 +983,22 @@
|
|
|
957
983
|
<div class="row mb-2 align-items-center">
|
|
958
984
|
<div class="col-6">Max rows:</div>
|
|
959
985
|
<div class="col-6 d-flex align-items-center">
|
|
960
|
-
<
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
t-on-change="(ev) => this.updatePivotStyleProperty('numberOfRows', ev.target.valueAsNumber)"
|
|
986
|
+
<NumberInput
|
|
987
|
+
value="pivotStyle.numberOfRows ?? ''"
|
|
988
|
+
class="'o-pivot-n-of-rows'"
|
|
989
|
+
placeholder.translate="e.g. 10"
|
|
990
|
+
onChange="(value) => this.updatePivotStyleNumberProperty(value, 'numberOfRows')"
|
|
966
991
|
/>
|
|
967
992
|
</div>
|
|
968
993
|
</div>
|
|
969
994
|
<div class="row mb-2 align-items-center">
|
|
970
995
|
<div class="col-6">Max columns:</div>
|
|
971
996
|
<div class="col-6 d-flex align-items-center">
|
|
972
|
-
<
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
t-on-change="(ev) => this.updatePivotStyleProperty('numberOfColumns', ev.target.valueAsNumber)"
|
|
997
|
+
<NumberInput
|
|
998
|
+
value="pivotStyle.numberOfColumns ?? ''"
|
|
999
|
+
class="'o-pivot-n-of-columns'"
|
|
1000
|
+
placeholder.translate="e.g. 5"
|
|
1001
|
+
onChange="(value) => this.updatePivotStyleNumberProperty(value, 'numberOfColumns')"
|
|
978
1002
|
/>
|
|
979
1003
|
</div>
|
|
980
1004
|
</div>
|
|
@@ -1027,13 +1051,13 @@
|
|
|
1027
1051
|
</t>
|
|
1028
1052
|
</select>
|
|
1029
1053
|
<div
|
|
1030
|
-
class="o-pivot-measure-display-description mt-3 ps-3"
|
|
1054
|
+
class="o-pivot-measure-display-description mt-3 ps-3 border-start"
|
|
1031
1055
|
t-esc="measureDisplayDescription[store.measureDisplay.type]"
|
|
1032
1056
|
/>
|
|
1033
1057
|
</Section>
|
|
1034
1058
|
|
|
1035
1059
|
<Section t-if="store.doesDisplayNeedsField" title.translate="Base field:">
|
|
1036
|
-
<div class="o-pivot-measure-display-field w-100 py-1 px-3">
|
|
1060
|
+
<div class="o-pivot-measure-display-field w-100 py-1 px-3 border">
|
|
1037
1061
|
<t t-if="store.fields.length">
|
|
1038
1062
|
<RadioSelection
|
|
1039
1063
|
choices="fieldChoices"
|
|
@@ -1051,7 +1075,7 @@
|
|
|
1051
1075
|
|
|
1052
1076
|
<t t-set="values" t-value="store.values"/>
|
|
1053
1077
|
<Section t-if="store.doesDisplayNeedsValue and values.length" title.translate="Base item:">
|
|
1054
|
-
<div class="o-pivot-measure-display-value w-100 py-1 px-3">
|
|
1078
|
+
<div class="o-pivot-measure-display-value w-100 py-1 px-3 border">
|
|
1055
1079
|
<RadioSelection
|
|
1056
1080
|
choices="values"
|
|
1057
1081
|
selectedValue="store.measureDisplay.value"
|
|
@@ -1194,7 +1218,7 @@
|
|
|
1194
1218
|
<div t-esc="sortDescription" class="pb-2"/>
|
|
1195
1219
|
<div class="d-flex flex-column gap-2">
|
|
1196
1220
|
<t t-foreach="sortValuesAndFields" t-as="valueAndField" t-key="valueAndField_index">
|
|
1197
|
-
<div class="o-sort-card d-flex gap-1 px-2">
|
|
1221
|
+
<div class="o-sort-card d-flex gap-1 px-2 border">
|
|
1198
1222
|
<t t-if="valueAndField.field">
|
|
1199
1223
|
<span class="fw-bolder" t-esc="valueAndField.field"/>
|
|
1200
1224
|
=
|
|
@@ -1306,7 +1330,7 @@
|
|
|
1306
1330
|
|
|
1307
1331
|
<t t-name="o-spreadsheet-PivotDimension">
|
|
1308
1332
|
<div
|
|
1309
|
-
class="py-1 px-2 d-flex flex-column shadow-sm pivot-dimension"
|
|
1333
|
+
class="py-1 px-2 d-flex flex-column shadow-sm pivot-dimension border rounded"
|
|
1310
1334
|
t-att-class="{'pivot-dimension-invalid': !props.dimension.isValid}">
|
|
1311
1335
|
<div class="d-flex flex-row justify-content-between align-items-center">
|
|
1312
1336
|
<div class="d-flex align-items-center overflow-hidden text-nowrap">
|
|
@@ -1339,7 +1363,7 @@
|
|
|
1339
1363
|
<button class="add-dimension o-button" t-on-click="togglePopover" t-ref="button">Add</button>
|
|
1340
1364
|
<Popover t-if="popover.isOpen" t-props="popoverProps">
|
|
1341
1365
|
<div
|
|
1342
|
-
class="p-2 bg-white border-bottom d-flex sticky-top align-items-baseline pivot-dimension-search">
|
|
1366
|
+
class="p-2 bg-white border-bottom d-flex sticky-top align-items-baseline pivot-dimension-search bg-white">
|
|
1343
1367
|
<i class="pe-1 pivot-dimension-search-field-icon text-muted">
|
|
1344
1368
|
<t t-call="o-spreadsheet-Icon.SEARCH"/>
|
|
1345
1369
|
</i>
|
|
@@ -1424,21 +1448,97 @@
|
|
|
1424
1448
|
|
|
1425
1449
|
<t t-name="o-spreadsheet-MoreFormatsPanel">
|
|
1426
1450
|
<div class="o-more-formats-panel">
|
|
1427
|
-
<
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
<
|
|
1438
|
-
|
|
1451
|
+
<Section title.translate="Format type">
|
|
1452
|
+
<BadgeSelection
|
|
1453
|
+
choices="store.categories"
|
|
1454
|
+
onChange.bind="(category) => store.changeCategory(category)"
|
|
1455
|
+
selectedValue="store.category"
|
|
1456
|
+
/>
|
|
1457
|
+
</Section>
|
|
1458
|
+
<t t-if="store.category === 'currency'" t-call="o-spreadsheet-CustomCurrencySection"/>
|
|
1459
|
+
<t t-set="proposals" t-value="store.formatProposals"/>
|
|
1460
|
+
<Section title.translate="Type" t-if="proposals.length">
|
|
1461
|
+
<div class="o-format-proposals overflow-auto border">
|
|
1462
|
+
<div
|
|
1463
|
+
t-foreach="proposals"
|
|
1464
|
+
t-as="proposal"
|
|
1465
|
+
t-key="proposal.format"
|
|
1466
|
+
t-att-data-name="proposal.format"
|
|
1467
|
+
t-on-click="() => this.store.updateFormat(proposal.format)"
|
|
1468
|
+
class="w-100 d-flex align-items-center format-preview px-2 py-1"
|
|
1469
|
+
t-att-class="{'active': (proposal.format || '') === (store.currentFormat || '')}">
|
|
1470
|
+
<span t-out="proposal.label"/>
|
|
1471
|
+
</div>
|
|
1472
|
+
</div>
|
|
1473
|
+
</Section>
|
|
1474
|
+
|
|
1475
|
+
<Section title.translate="Format" class="'o-custom-format-section'">
|
|
1476
|
+
<TextInput
|
|
1477
|
+
value="store.currentFormat || ''"
|
|
1478
|
+
onChange="(format) => this.store.updateFormat(format)"
|
|
1479
|
+
placeholder.translate="Format code"
|
|
1480
|
+
alwaysShowBorder="true"
|
|
1481
|
+
errorMessage="store.invalidFormatMessage"
|
|
1482
|
+
/>
|
|
1483
|
+
<t t-set="examples" t-value="store.formatExamples"/>
|
|
1484
|
+
<div class="o-format-examples mt-4 p-2 rounded border" t-if="examples.length">
|
|
1485
|
+
<table class="w-100">
|
|
1486
|
+
<t t-foreach="examples" t-as="example" t-key="example_index">
|
|
1487
|
+
<tr>
|
|
1488
|
+
<td class="w-25 pe-3 o-fw-bold" t-esc="example.label"/>
|
|
1489
|
+
<td class="w-75 text-truncate" t-esc="example.value"/>
|
|
1490
|
+
</tr>
|
|
1491
|
+
</t>
|
|
1492
|
+
</table>
|
|
1493
|
+
</div>
|
|
1494
|
+
</Section>
|
|
1439
1495
|
</div>
|
|
1440
1496
|
</t>
|
|
1441
1497
|
|
|
1498
|
+
<t t-name="o-spreadsheet-CustomCurrencySection">
|
|
1499
|
+
<t t-set="availableCurrencies" t-value="store.availableCurrencies"/>
|
|
1500
|
+
<Section t-if="availableCurrencies.length > 1" title.translate="Currency">
|
|
1501
|
+
<select
|
|
1502
|
+
class="o-input o-available-currencies"
|
|
1503
|
+
t-on-change="(ev) => this.updateSelectCurrency(ev)">
|
|
1504
|
+
<t t-foreach="availableCurrencies" t-as="currency" t-key="currency_index">
|
|
1505
|
+
<option
|
|
1506
|
+
t-att-value="currency_index"
|
|
1507
|
+
t-esc="currencyDisplayName(currency)"
|
|
1508
|
+
t-att-selected="currency_index === store.selectedCurrencyIndex"
|
|
1509
|
+
/>
|
|
1510
|
+
</t>
|
|
1511
|
+
</select>
|
|
1512
|
+
</Section>
|
|
1513
|
+
<Section>
|
|
1514
|
+
<div class="o-subsection-left">
|
|
1515
|
+
<div class="o-section-title">Code</div>
|
|
1516
|
+
<TextInput
|
|
1517
|
+
value="store.currencyCode"
|
|
1518
|
+
placeholder.translate="code"
|
|
1519
|
+
onChange="(code) => this.store.changeCurrencyCode(code)"
|
|
1520
|
+
alwaysShowBorder="true"
|
|
1521
|
+
/>
|
|
1522
|
+
</div>
|
|
1523
|
+
<div class="o-subsection-right">
|
|
1524
|
+
<div class="o-section-title">Symbol</div>
|
|
1525
|
+
<TextInput
|
|
1526
|
+
value="store.currencySymbol"
|
|
1527
|
+
placeholder.translate="symbol"
|
|
1528
|
+
onChange="(symbol) => this.store.changeCurrencySymbol(symbol)"
|
|
1529
|
+
alwaysShowBorder="true"
|
|
1530
|
+
/>
|
|
1531
|
+
</div>
|
|
1532
|
+
<Checkbox
|
|
1533
|
+
name="'accountingFormat'"
|
|
1534
|
+
className="'pt-2'"
|
|
1535
|
+
label.translate="Accounting format"
|
|
1536
|
+
value="store.isAccountingFormat"
|
|
1537
|
+
onChange="() => store.toggleAccountingFormat()"
|
|
1538
|
+
/>
|
|
1539
|
+
</Section>
|
|
1540
|
+
</t>
|
|
1541
|
+
|
|
1442
1542
|
<t t-name="o-spreadsheet-FindAndReplacePanel">
|
|
1443
1543
|
<div class="o-find-and-replace">
|
|
1444
1544
|
<Section title.translate="Search">
|
|
@@ -1568,7 +1668,7 @@
|
|
|
1568
1668
|
</t>
|
|
1569
1669
|
|
|
1570
1670
|
<t t-name="o-spreadsheet-DataValidationPreview">
|
|
1571
|
-
<div class="o-dv-preview p-3" t-on-click="props.onClick" t-ref="dvPreview">
|
|
1671
|
+
<div class="o-dv-preview p-3 border-bottom" t-on-click="props.onClick" t-ref="dvPreview">
|
|
1572
1672
|
<div class="d-flex justify-content-between">
|
|
1573
1673
|
<div class="o-dv-container d-flex flex-column">
|
|
1574
1674
|
<div class="o-dv-preview-description o-fw-bold text-truncate" t-esc="descriptionString"/>
|
|
@@ -1607,6 +1707,7 @@
|
|
|
1607
1707
|
t-key="state.rule.criterion.type"
|
|
1608
1708
|
criterion="state.rule.criterion"
|
|
1609
1709
|
onCriterionChanged.bind="onCriterionChanged"
|
|
1710
|
+
autofocus="state.isTypeUpdated"
|
|
1610
1711
|
/>
|
|
1611
1712
|
</div>
|
|
1612
1713
|
</Section>
|
|
@@ -1630,93 +1731,13 @@
|
|
|
1630
1731
|
</div>
|
|
1631
1732
|
</t>
|
|
1632
1733
|
|
|
1633
|
-
<t t-name="o-spreadsheet-CustomCurrencyPanel">
|
|
1634
|
-
<div class="o-custom-currency">
|
|
1635
|
-
<Section t-if="availableCurrencies.length > 1" title.translate="Currency">
|
|
1636
|
-
<select
|
|
1637
|
-
class="o-input o-available-currencies"
|
|
1638
|
-
t-on-change="(ev) => this.updateSelectCurrency(ev)">
|
|
1639
|
-
<t t-foreach="availableCurrencies" t-as="currency" t-key="currency_index">
|
|
1640
|
-
<option
|
|
1641
|
-
t-att-value="currency_index"
|
|
1642
|
-
t-esc="currencyDisplayName(currency)"
|
|
1643
|
-
t-att-selected="currency_index === state.selectedCurrencyIndex"
|
|
1644
|
-
/>
|
|
1645
|
-
</t>
|
|
1646
|
-
</select>
|
|
1647
|
-
</Section>
|
|
1648
|
-
<Section>
|
|
1649
|
-
<div class="o-subsection-left">
|
|
1650
|
-
<div class="o-section-title">Code</div>
|
|
1651
|
-
<input
|
|
1652
|
-
type="text"
|
|
1653
|
-
class="o-input"
|
|
1654
|
-
t-model="state.currencyCode"
|
|
1655
|
-
placeholder="code"
|
|
1656
|
-
t-on-input="(ev) => this.updateCode(ev)"
|
|
1657
|
-
/>
|
|
1658
|
-
</div>
|
|
1659
|
-
<div class="o-subsection-right">
|
|
1660
|
-
<div class="o-section-title">Symbol</div>
|
|
1661
|
-
<input
|
|
1662
|
-
type="text"
|
|
1663
|
-
class="o-input"
|
|
1664
|
-
placeholder="symbol"
|
|
1665
|
-
t-model="state.currencySymbol"
|
|
1666
|
-
t-on-input="(ev) => this.updateSymbol(ev)"
|
|
1667
|
-
/>
|
|
1668
|
-
</div>
|
|
1669
|
-
</Section>
|
|
1670
|
-
<Section title.translate="Format">
|
|
1671
|
-
<select
|
|
1672
|
-
class="o-input o-format-proposals mb-1"
|
|
1673
|
-
t-on-change="(ev) => this.updateSelectFormat(ev)"
|
|
1674
|
-
t-att-disabled="!formatProposals.length">
|
|
1675
|
-
<t t-foreach="formatProposals" t-as="proposal" t-key="proposal_index">
|
|
1676
|
-
<option
|
|
1677
|
-
t-att-value="proposal_index"
|
|
1678
|
-
t-esc="proposal.example"
|
|
1679
|
-
t-att-selected="proposal_index === state.selectedFormatIndex"
|
|
1680
|
-
/>
|
|
1681
|
-
</t>
|
|
1682
|
-
</select>
|
|
1683
|
-
<t t-set="accounting_format_label">Accounting format</t>
|
|
1684
|
-
<Checkbox
|
|
1685
|
-
name="'accountingFormat'"
|
|
1686
|
-
label="accounting_format_label"
|
|
1687
|
-
value="state.isAccountingFormat"
|
|
1688
|
-
onChange.bind="toggleAccountingFormat"
|
|
1689
|
-
/>
|
|
1690
|
-
<div class="o-format-examples mt-4" t-if="selectedFormat">
|
|
1691
|
-
<table class="w-100">
|
|
1692
|
-
<t t-foreach="getFormatExamples()" t-as="example" t-key="example_index">
|
|
1693
|
-
<tr>
|
|
1694
|
-
<td class="w-25 pe-3 o-fw-bold" t-esc="example.label"/>
|
|
1695
|
-
<td class="w-75 text-truncate" t-esc="example.value"/>
|
|
1696
|
-
</tr>
|
|
1697
|
-
</t>
|
|
1698
|
-
</table>
|
|
1699
|
-
</div>
|
|
1700
|
-
</Section>
|
|
1701
|
-
<Section>
|
|
1702
|
-
<div class="o-sidePanelButtons">
|
|
1703
|
-
<button
|
|
1704
|
-
class="o-button primary"
|
|
1705
|
-
t-on-click="() => this.apply()"
|
|
1706
|
-
t-att-disabled="!formatProposals.length || isSameFormat">
|
|
1707
|
-
Apply
|
|
1708
|
-
</button>
|
|
1709
|
-
</div>
|
|
1710
|
-
</Section>
|
|
1711
|
-
</div>
|
|
1712
|
-
</t>
|
|
1713
|
-
|
|
1714
1734
|
<t t-name="o-spreadsheet-ValueInRangeCriterionForm">
|
|
1715
1735
|
<SelectionInput
|
|
1716
1736
|
ranges="[props.criterion.values[0] || '']"
|
|
1717
1737
|
onSelectionChanged="(ranges) => this.onRangeChanged(ranges[0])"
|
|
1718
1738
|
required="true"
|
|
1719
1739
|
hasSingleRange="true"
|
|
1740
|
+
autofocus="props.autofocus"
|
|
1720
1741
|
/>
|
|
1721
1742
|
<t t-foreach="values" t-as="value" t-key="value_index">
|
|
1722
1743
|
<div class="o-dv-list-values p-1 d-flex align-items-center">
|
|
@@ -1786,6 +1807,7 @@
|
|
|
1786
1807
|
onValueChanged.bind="onValueChanged"
|
|
1787
1808
|
criterionType="props.criterion.type"
|
|
1788
1809
|
disableFormulas="props.disableFormulas"
|
|
1810
|
+
focused="props.autofocus"
|
|
1789
1811
|
/>
|
|
1790
1812
|
</t>
|
|
1791
1813
|
|
|
@@ -1795,6 +1817,7 @@
|
|
|
1795
1817
|
onValueChanged.bind="onFirstValueChanged"
|
|
1796
1818
|
criterionType="props.criterion.type"
|
|
1797
1819
|
disableFormulas="props.disableFormulas"
|
|
1820
|
+
focused="props.autofocus"
|
|
1798
1821
|
/>
|
|
1799
1822
|
<CriterionInput
|
|
1800
1823
|
value="props.criterion.values[1]"
|
|
@@ -1812,16 +1835,17 @@
|
|
|
1812
1835
|
t-key="dateValue.value"
|
|
1813
1836
|
t-att-value="dateValue.value"
|
|
1814
1837
|
t-esc="dateValue.title"
|
|
1815
|
-
t-att-selected="dateValue.value ===
|
|
1838
|
+
t-att-selected="dateValue.value === currentDateValue"
|
|
1816
1839
|
/>
|
|
1817
1840
|
</select>
|
|
1818
1841
|
|
|
1819
1842
|
<CriterionInput
|
|
1820
|
-
t-if="
|
|
1843
|
+
t-if="currentDateValue === 'exactDate'"
|
|
1821
1844
|
value="props.criterion.values[0]"
|
|
1822
1845
|
onValueChanged.bind="onValueChanged"
|
|
1823
1846
|
criterionType="props.criterion.type"
|
|
1824
1847
|
disableFormulas="props.disableFormulas"
|
|
1848
|
+
focused="props.autofocus"
|
|
1825
1849
|
/>
|
|
1826
1850
|
</t>
|
|
1827
1851
|
|
|
@@ -1900,47 +1924,45 @@
|
|
|
1900
1924
|
<t t-name="o-spreadsheet-ConditionalFormatPreview">
|
|
1901
1925
|
<t t-set="cf" t-value="props.conditionalFormat"/>
|
|
1902
1926
|
<div
|
|
1903
|
-
class="o-cf-preview w-100"
|
|
1927
|
+
class="o-cf-preview w-100 d-flex align-items-center border-bottom"
|
|
1904
1928
|
t-ref="cfPreview"
|
|
1905
1929
|
t-att-class="props.class"
|
|
1906
1930
|
t-att-data-id="cf.id"
|
|
1907
1931
|
t-on-click="props.onPreviewClick"
|
|
1908
1932
|
t-on-pointerdown="(ev) => this.onMouseDown(ev)">
|
|
1909
|
-
<div class="
|
|
1933
|
+
<div class="o-cf-drag-handle h-100 position-absolute d-flex align-items-center o-button-icon">
|
|
1934
|
+
<t t-call="o-spreadsheet-Icon.THIN_DRAG_HANDLE"/>
|
|
1935
|
+
</div>
|
|
1936
|
+
<t t-if="cf.rule.type==='IconSetRule'">
|
|
1910
1937
|
<div
|
|
1911
|
-
class="o-cf-
|
|
1912
|
-
<t t-call="o-spreadsheet-Icon.
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
<div class="o-cf-preview-icon d-flex justify-content-around align-items-center me-2">
|
|
1916
|
-
<t t-call="o-spreadsheet-Icon.{{icons[cf.rule.icons.upper].template}}"/>
|
|
1917
|
-
<t t-call="o-spreadsheet-Icon.{{icons[cf.rule.icons.middle].template}}"/>
|
|
1918
|
-
<t t-call="o-spreadsheet-Icon.{{icons[cf.rule.icons.lower].template}}"/>
|
|
1919
|
-
</div>
|
|
1920
|
-
</t>
|
|
1921
|
-
<t t-else="">
|
|
1922
|
-
<div
|
|
1923
|
-
t-att-style="getPreviewImageStyle(cf.rule)"
|
|
1924
|
-
class="o-cf-preview-icon d-flex justify-content-around align-items-center me-2">
|
|
1925
|
-
123
|
|
1926
|
-
</div>
|
|
1927
|
-
</t>
|
|
1928
|
-
<div class="o-cf-preview-description">
|
|
1929
|
-
<div class="o-cf-preview-ruletype">
|
|
1930
|
-
<div class="o-cf-preview-description-rule o-fw-bold text-truncate">
|
|
1931
|
-
<t t-esc="getDescription(cf)"/>
|
|
1932
|
-
</div>
|
|
1933
|
-
</div>
|
|
1934
|
-
<div class="o-cf-preview-range text-truncate" t-esc="cf.ranges"/>
|
|
1938
|
+
class="o-cf-preview-icon d-flex justify-content-around align-items-center me-3 bg-white border">
|
|
1939
|
+
<t t-call="o-spreadsheet-Icon.{{icons[cf.rule.icons.upper].template}}"/>
|
|
1940
|
+
<t t-call="o-spreadsheet-Icon.{{icons[cf.rule.icons.middle].template}}"/>
|
|
1941
|
+
<t t-call="o-spreadsheet-Icon.{{icons[cf.rule.icons.lower].template}}"/>
|
|
1935
1942
|
</div>
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1943
|
+
</t>
|
|
1944
|
+
<t t-else="">
|
|
1945
|
+
<div
|
|
1946
|
+
t-att-style="getPreviewImageStyle(cf.rule)"
|
|
1947
|
+
class="o-cf-preview-icon d-flex justify-content-around align-items-center me-3 flex-shrink-0 border">
|
|
1948
|
+
123
|
|
1949
|
+
</div>
|
|
1950
|
+
</t>
|
|
1951
|
+
<div class="o-cf-preview-description me-3 overflow-auto">
|
|
1952
|
+
<div class="o-cf-preview-ruletype">
|
|
1953
|
+
<div class="o-cf-preview-description-rule o-fw-bold text-truncate">
|
|
1954
|
+
<t t-esc="getDescription(cf)"/>
|
|
1942
1955
|
</div>
|
|
1943
1956
|
</div>
|
|
1957
|
+
<div class="o-cf-preview-range text-truncate" t-esc="cf.ranges"/>
|
|
1958
|
+
</div>
|
|
1959
|
+
<div class="o-cf-delete ms-auto">
|
|
1960
|
+
<div
|
|
1961
|
+
class="o-cf-delete-button o-button-icon"
|
|
1962
|
+
t-on-click.stop="(ev) => this.deleteConditionalFormat(cf, ev)"
|
|
1963
|
+
title="Remove rule">
|
|
1964
|
+
<t t-call="o-spreadsheet-Icon.TRASH_FILLED"/>
|
|
1965
|
+
</div>
|
|
1944
1966
|
</div>
|
|
1945
1967
|
</div>
|
|
1946
1968
|
</t>
|
|
@@ -1950,7 +1972,7 @@
|
|
|
1950
1972
|
<div class="o-section-subtitle">Icons</div>
|
|
1951
1973
|
<div class="o-cf-iconsets d-flex flex-row">
|
|
1952
1974
|
<div
|
|
1953
|
-
class="o-cf-iconset o-cf-clickable-icon d-flex flex-row justify-content-between"
|
|
1975
|
+
class="o-cf-iconset o-cf-clickable-icon d-flex flex-row justify-content-between border rounded"
|
|
1954
1976
|
t-foreach="['arrows', 'smiley', 'dots']"
|
|
1955
1977
|
t-as="iconSet"
|
|
1956
1978
|
t-key="iconSet"
|
|
@@ -1973,7 +1995,7 @@
|
|
|
1973
1995
|
<tr>
|
|
1974
1996
|
<td>
|
|
1975
1997
|
<div t-on-click.stop="(ev) => this.toggleMenu('iconSet-'+icon+'Icon', ev)">
|
|
1976
|
-
<div class="o-cf-icon-button o-cf-clickable-icon me-3">
|
|
1998
|
+
<div class="o-cf-icon-button o-cf-clickable-icon me-3 border rounded">
|
|
1977
1999
|
<t t-call="o-spreadsheet-Icon.{{icons[iconValue].template}}"/>
|
|
1978
2000
|
</div>
|
|
1979
2001
|
</div>
|
|
@@ -2056,7 +2078,7 @@
|
|
|
2056
2078
|
<tr>
|
|
2057
2079
|
<td>
|
|
2058
2080
|
<div t-on-click.stop="(ev) => this.toggleMenu('iconSet-lowerIcon', ev)">
|
|
2059
|
-
<div class="o-cf-icon-button o-cf-clickable-icon me-3">
|
|
2081
|
+
<div class="o-cf-icon-button o-cf-clickable-icon me-3 border rounded">
|
|
2060
2082
|
<t t-call="o-spreadsheet-Icon.{{icons[rule.icons.lower].template}}"/>
|
|
2061
2083
|
</div>
|
|
2062
2084
|
</div>
|
|
@@ -2171,7 +2193,7 @@
|
|
|
2171
2193
|
<t t-name="o-spreadsheet-ColorScaleRuleEditor">
|
|
2172
2194
|
<div class="o-cf-color-scale-editor">
|
|
2173
2195
|
<div class="o-section-subtitle">Preview</div>
|
|
2174
|
-
<div class="o-cf-preview-display mb-4" t-attf-style="{{
|
|
2196
|
+
<div class="o-cf-preview-display mb-4" t-attf-style="{{getColorScalePreviewStyle()}}">
|
|
2175
2197
|
Preview text
|
|
2176
2198
|
</div>
|
|
2177
2199
|
<div class="o-section-subtitle">Minpoint</div>
|
|
@@ -2250,7 +2272,7 @@
|
|
|
2250
2272
|
|
|
2251
2273
|
<t t-name="o-spreadsheet-CellIsRuleEditorPreview">
|
|
2252
2274
|
<div
|
|
2253
|
-
class="o-cf-preview-display"
|
|
2275
|
+
class="o-cf-preview-display border"
|
|
2254
2276
|
t-attf-style="font-weight:{{currentStyle.bold ?'bold':'normal'}};
|
|
2255
2277
|
text-decoration:{{getTextDecoration(currentStyle)}};
|
|
2256
2278
|
font-style:{{currentStyle.italic?'italic':'normal'}};
|
|
@@ -2278,6 +2300,7 @@
|
|
|
2278
2300
|
t-key="state.rules.cellIs.operator"
|
|
2279
2301
|
criterion="genericCriterion"
|
|
2280
2302
|
onCriterionChanged.bind="onRuleValuesChanged"
|
|
2303
|
+
autofocus="this.state.hasEditedCf"
|
|
2281
2304
|
/>
|
|
2282
2305
|
|
|
2283
2306
|
<div class="o-section-subtitle pt-3">Formatting style</div>
|
|
@@ -2323,7 +2346,7 @@
|
|
|
2323
2346
|
icon="'o-spreadsheet-Icon.TEXT_COLOR'"
|
|
2324
2347
|
class="'o-hoverable-button o-menu-item-button'"
|
|
2325
2348
|
/>
|
|
2326
|
-
<div class="o-divider"/>
|
|
2349
|
+
<div class="o-divider border-end"/>
|
|
2327
2350
|
<ColorPickerWidget
|
|
2328
2351
|
currentColor="rule.style.fillColor"
|
|
2329
2352
|
toggleColorPicker="(ev) => this.toggleMenu('cellIsRule-fillColor', ev)"
|
|
@@ -2351,7 +2374,7 @@
|
|
|
2351
2374
|
|
|
2352
2375
|
<t t-name="o-spreadsheet.RoundColorPicker">
|
|
2353
2376
|
<div
|
|
2354
|
-
class="o-round-color-picker-button rounded-circle"
|
|
2377
|
+
class="o-round-color-picker-button rounded-circle border"
|
|
2355
2378
|
t-ref="colorPickerButton"
|
|
2356
2379
|
t-on-click.stop="togglePicker"
|
|
2357
2380
|
t-att-title="props.title"
|
|
@@ -2375,6 +2398,7 @@
|
|
|
2375
2398
|
<t t-foreach="props.choices" t-as="choice" t-key="choice.value">
|
|
2376
2399
|
<label class="o-radio d-flex align-items-center me-4">
|
|
2377
2400
|
<input
|
|
2401
|
+
class="border rounded-circle"
|
|
2378
2402
|
t-att-class="{
|
|
2379
2403
|
'me-1': props.direction === 'horizontal',
|
|
2380
2404
|
'me-2': props.direction === 'vertical'}"
|
|
@@ -2442,7 +2466,7 @@
|
|
|
2442
2466
|
t-att-class="{'text-muted': props.disabled }"
|
|
2443
2467
|
t-attf-class="{{props.className}}">
|
|
2444
2468
|
<input
|
|
2445
|
-
class="me-2"
|
|
2469
|
+
class="me-2 flex-shrink-0 border"
|
|
2446
2470
|
type="checkbox"
|
|
2447
2471
|
t-att-disabled="props.disabled"
|
|
2448
2472
|
t-att-name="props.name"
|
|
@@ -2450,7 +2474,7 @@
|
|
|
2450
2474
|
t-on-change="onChange"
|
|
2451
2475
|
t-on-click.stop=""
|
|
2452
2476
|
/>
|
|
2453
|
-
<
|
|
2477
|
+
<span class="text-truncate" t-if="props.label" t-esc="props.label"/>
|
|
2454
2478
|
</label>
|
|
2455
2479
|
</t>
|
|
2456
2480
|
|
|
@@ -2484,6 +2508,9 @@
|
|
|
2484
2508
|
className="'mb-2'"
|
|
2485
2509
|
/>
|
|
2486
2510
|
</Section>
|
|
2511
|
+
<Section class="'pt-0'" title.translate="Number formatting">
|
|
2512
|
+
<ChartHumanizeNumbers t-props="props"/>
|
|
2513
|
+
</Section>
|
|
2487
2514
|
</t>
|
|
2488
2515
|
</GeneralDesignEditor>
|
|
2489
2516
|
<SeriesWithAxisDesignEditor t-props="props"/>
|
|
@@ -2523,7 +2550,7 @@
|
|
|
2523
2550
|
className="'mb-2'"
|
|
2524
2551
|
/>
|
|
2525
2552
|
</Section>
|
|
2526
|
-
<Section class="'pt-
|
|
2553
|
+
<Section class="'pt-0'" title.translate="Number formatting">
|
|
2527
2554
|
<ChartHumanizeNumbers t-props="props"/>
|
|
2528
2555
|
</Section>
|
|
2529
2556
|
</t>
|
|
@@ -2662,6 +2689,9 @@
|
|
|
2662
2689
|
hasVerticalAlign="true"
|
|
2663
2690
|
/>
|
|
2664
2691
|
</Section>
|
|
2692
|
+
<Section class="'pt-0'" title.translate="Number formatting">
|
|
2693
|
+
<ChartHumanizeNumbers t-props="props"/>
|
|
2694
|
+
</Section>
|
|
2665
2695
|
</t>
|
|
2666
2696
|
</SidePanelCollapsible>
|
|
2667
2697
|
</t>
|
|
@@ -2722,6 +2752,9 @@
|
|
|
2722
2752
|
<GeneralDesignEditor t-props="props">
|
|
2723
2753
|
<t t-set-slot="general-extension">
|
|
2724
2754
|
<ChartLegend t-props="props"/>
|
|
2755
|
+
<Section class="'pt-0'" title.translate="Number formatting">
|
|
2756
|
+
<ChartHumanizeNumbers t-props="props"/>
|
|
2757
|
+
</Section>
|
|
2725
2758
|
</t>
|
|
2726
2759
|
</GeneralDesignEditor>
|
|
2727
2760
|
|
|
@@ -2773,7 +2806,7 @@
|
|
|
2773
2806
|
<t t-set="color_down">Color Down</t>
|
|
2774
2807
|
<GeneralDesignEditor t-props="props" defaultChartTitleFontSize="defaultScorecardTitleFontSize">
|
|
2775
2808
|
<t t-set-slot="general-extension">
|
|
2776
|
-
<Section class="'pt-
|
|
2809
|
+
<Section class="'pt-0'" title.translate="Number formatting">
|
|
2777
2810
|
<ChartHumanizeNumbers t-props="props"/>
|
|
2778
2811
|
</Section>
|
|
2779
2812
|
</t>
|
|
@@ -2887,7 +2920,7 @@
|
|
|
2887
2920
|
<ChartShowValues t-props="props"/>
|
|
2888
2921
|
<ChartShowDataMarkers t-props="props"/>
|
|
2889
2922
|
</Section>
|
|
2890
|
-
<Section class="'pt-
|
|
2923
|
+
<Section class="'pt-0'" title.translate="Number formatting">
|
|
2891
2924
|
<ChartHumanizeNumbers t-props="props"/>
|
|
2892
2925
|
</Section>
|
|
2893
2926
|
</t>
|
|
@@ -2902,7 +2935,7 @@
|
|
|
2902
2935
|
<Section class="'pt-0'" title.translate="Values">
|
|
2903
2936
|
<ChartShowValues t-props="props"/>
|
|
2904
2937
|
</Section>
|
|
2905
|
-
<Section class="'pt-
|
|
2938
|
+
<Section class="'pt-0'" title.translate="Number formatting">
|
|
2906
2939
|
<ChartHumanizeNumbers t-props="props"/>
|
|
2907
2940
|
</Section>
|
|
2908
2941
|
<PieHoleSize
|
|
@@ -2934,7 +2967,7 @@
|
|
|
2934
2967
|
</div>
|
|
2935
2968
|
|
|
2936
2969
|
<t t-set="definition" t-value="getChartDefinition(this.chartId)"/>
|
|
2937
|
-
<div class="o-panel-content
|
|
2970
|
+
<div class="o-panel-content" t-ref="panelContent">
|
|
2938
2971
|
<div t-att-class="store.panel !== 'configuration' ? 'd-none' : ''">
|
|
2939
2972
|
<ChartTypePicker chartId="chartId" chartPanelStore="store"/>
|
|
2940
2973
|
<t
|
|
@@ -2977,7 +3010,7 @@
|
|
|
2977
3010
|
className="'mb-2'"
|
|
2978
3011
|
/>
|
|
2979
3012
|
</Section>
|
|
2980
|
-
<Section class="'pt-
|
|
3013
|
+
<Section class="'pt-0'" title.translate="Number formatting">
|
|
2981
3014
|
<ChartHumanizeNumbers t-props="props"/>
|
|
2982
3015
|
</Section>
|
|
2983
3016
|
</t>
|
|
@@ -3086,7 +3119,7 @@
|
|
|
3086
3119
|
<option value="left">Bottom left</option>
|
|
3087
3120
|
</select>
|
|
3088
3121
|
</Section>
|
|
3089
|
-
<Section class="'pt-
|
|
3122
|
+
<Section class="'pt-0'" title.translate="Number formatting">
|
|
3090
3123
|
<ChartHumanizeNumbers t-props="props"/>
|
|
3091
3124
|
</Section>
|
|
3092
3125
|
</t>
|
|
@@ -3094,45 +3127,10 @@
|
|
|
3094
3127
|
|
|
3095
3128
|
<SidePanelCollapsible isInitiallyCollapsed="false" title.translate="Geo chart options">
|
|
3096
3129
|
<t t-set-slot="content">
|
|
3097
|
-
<
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
<t t-foreach="colorScalesChoices" t-as="colorScale" t-key="colorScale">
|
|
3102
|
-
<option
|
|
3103
|
-
t-att-value="colorScale"
|
|
3104
|
-
t-esc="colorScale_value"
|
|
3105
|
-
t-att-selected="colorScale === selectedColorScale"
|
|
3106
|
-
/>
|
|
3107
|
-
</t>
|
|
3108
|
-
</select>
|
|
3109
|
-
|
|
3110
|
-
<t t-if="customColorScale">
|
|
3111
|
-
<div class="o-min-color d-flex align-items-center mb-2 mt-4">
|
|
3112
|
-
<RoundColorPicker
|
|
3113
|
-
currentColor="getCustomColorScaleColor('minColor')"
|
|
3114
|
-
onColorPicked="(color) => this.setCustomColorScaleColor('minColor', color)"
|
|
3115
|
-
disableNoColor="true"
|
|
3116
|
-
/>
|
|
3117
|
-
<span class="ps-2">Color of minimum values</span>
|
|
3118
|
-
</div>
|
|
3119
|
-
<div class="o-mid-color d-flex align-items-center mb-2">
|
|
3120
|
-
<RoundColorPicker
|
|
3121
|
-
currentColor="getCustomColorScaleColor('midColor')"
|
|
3122
|
-
onColorPicked="(color) => this.setCustomColorScaleColor('midColor', color)"
|
|
3123
|
-
/>
|
|
3124
|
-
<span class="ps-2">Color of middle values</span>
|
|
3125
|
-
</div>
|
|
3126
|
-
<div class="o-max-color d-flex align-items-center">
|
|
3127
|
-
<RoundColorPicker
|
|
3128
|
-
currentColor="getCustomColorScaleColor('maxColor')"
|
|
3129
|
-
onColorPicked="(color) => this.setCustomColorScaleColor('maxColor', color)"
|
|
3130
|
-
disableNoColor="true"
|
|
3131
|
-
/>
|
|
3132
|
-
<span class="ps-2">Color of maximum values</span>
|
|
3133
|
-
</div>
|
|
3134
|
-
</t>
|
|
3135
|
-
</Section>
|
|
3130
|
+
<ColorScalePicker
|
|
3131
|
+
definition="props.definition"
|
|
3132
|
+
onUpdateColorScale.bind="this.updateColorScale"
|
|
3133
|
+
/>
|
|
3136
3134
|
|
|
3137
3135
|
<Section class="'pt-0 o-missing-value'" title.translate="Countries without value">
|
|
3138
3136
|
<RoundColorPicker
|
|
@@ -3179,7 +3177,7 @@
|
|
|
3179
3177
|
<t t-name="o-spreadsheet-GaugeChartDesignPanel">
|
|
3180
3178
|
<GeneralDesignEditor t-props="props">
|
|
3181
3179
|
<t t-set-slot="general-extension">
|
|
3182
|
-
<Section class="'pt-
|
|
3180
|
+
<Section class="'pt-0'" title.translate="Number formatting">
|
|
3183
3181
|
<ChartHumanizeNumbers t-props="props"/>
|
|
3184
3182
|
</Section>
|
|
3185
3183
|
</t>
|
|
@@ -3325,7 +3323,7 @@
|
|
|
3325
3323
|
<Section class="'pt-0'" title.translate="Values">
|
|
3326
3324
|
<ChartShowValues t-props="props"/>
|
|
3327
3325
|
</Section>
|
|
3328
|
-
<Section class="'pt-
|
|
3326
|
+
<Section class="'pt-0'" title.translate="Number formatting">
|
|
3329
3327
|
<ChartHumanizeNumbers t-props="props"/>
|
|
3330
3328
|
</Section>
|
|
3331
3329
|
</t>
|
|
@@ -3365,7 +3363,7 @@
|
|
|
3365
3363
|
className="'mb-2'"
|
|
3366
3364
|
/>
|
|
3367
3365
|
</Section>
|
|
3368
|
-
<Section class="'pt-
|
|
3366
|
+
<Section class="'pt-0'" title.translate="Number formatting">
|
|
3369
3367
|
<ChartHumanizeNumbers t-props="props"/>
|
|
3370
3368
|
</Section>
|
|
3371
3369
|
</t>
|
|
@@ -3441,7 +3439,7 @@
|
|
|
3441
3439
|
<Popover t-if="state.popoverProps" t-props="state.popoverProps">
|
|
3442
3440
|
<div
|
|
3443
3441
|
t-ref="popoverRef"
|
|
3444
|
-
class="o-chart-select-popover px-3 pb-4"
|
|
3442
|
+
class="o-chart-select-popover px-3 pb-4 bg-white"
|
|
3445
3443
|
t-att-style="state.popoverStyle">
|
|
3446
3444
|
<t t-foreach="categories" t-as="category" t-key="category">
|
|
3447
3445
|
<t t-if="chartTypeByCategories[category]">
|
|
@@ -3469,148 +3467,192 @@
|
|
|
3469
3467
|
|
|
3470
3468
|
<t t-name="o-spreadsheet-ChartPreview.LINE_CHART">
|
|
3471
3469
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3472
|
-
<path fill="
|
|
3473
|
-
<path
|
|
3474
|
-
|
|
3470
|
+
<path fill="var(--os-gray-600)" d="M2,2 v44 h1 v-44 M3,45 h42 v1 h-42"/>
|
|
3471
|
+
<path
|
|
3472
|
+
stroke="var(--os-chart-preview-orange-line)"
|
|
3473
|
+
style="fill:none"
|
|
3474
|
+
d="M6,40 l12,-12 l6,6 l18,-18"
|
|
3475
|
+
/>
|
|
3476
|
+
<path
|
|
3477
|
+
stroke="var(--os-chart-preview-blue-line)"
|
|
3478
|
+
style="fill:none"
|
|
3479
|
+
d="M6,25 l12,-12 l18,18 l6,-6"
|
|
3480
|
+
/>
|
|
3475
3481
|
</svg>
|
|
3476
3482
|
</t>
|
|
3477
3483
|
<t t-name="o-spreadsheet-ChartPreview.STACKED_LINE_CHART">
|
|
3478
3484
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3479
|
-
<path
|
|
3480
|
-
|
|
3481
|
-
|
|
3485
|
+
<path
|
|
3486
|
+
stroke="var(--os-chart-preview-blue-line)"
|
|
3487
|
+
style="fill:none"
|
|
3488
|
+
d="M3,30 l12,-12 l6,6 l18,-18"
|
|
3489
|
+
/>
|
|
3490
|
+
<path
|
|
3491
|
+
stroke="var(--os-chart-preview-orange-line)"
|
|
3492
|
+
style="fill:none"
|
|
3493
|
+
d="M3,40 l12,-12 l6,6 l18,-12"
|
|
3494
|
+
/>
|
|
3495
|
+
<path fill="var(--os-gray-600)" d="M2,2 v44 h1 v-44 M3,45 h42 v1 h-42"/>
|
|
3482
3496
|
</svg>
|
|
3483
3497
|
</t>
|
|
3484
3498
|
<t t-name="o-spreadsheet-ChartPreview.AREA_CHART">
|
|
3485
3499
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3486
|
-
<path fill="
|
|
3487
|
-
<path fill="
|
|
3488
|
-
<path
|
|
3489
|
-
|
|
3490
|
-
|
|
3500
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M3,45 V25 l12,-12 l18,18 l6,-6 V45"/>
|
|
3501
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M3,45 V40 l12,-12 l6,6 l18,-18 V45"/>
|
|
3502
|
+
<path
|
|
3503
|
+
stroke="var(--os-chart-preview-orange-line)"
|
|
3504
|
+
style="fill:none"
|
|
3505
|
+
d="M3,40 l12,-12 l6,6 l18,-18"
|
|
3506
|
+
/>
|
|
3507
|
+
<path
|
|
3508
|
+
stroke="var(--os-chart-preview-blue-line)"
|
|
3509
|
+
style="fill:none"
|
|
3510
|
+
d="M3,25 l12,-12 l18,18 l6,-6"
|
|
3511
|
+
/>
|
|
3512
|
+
<path fill="var(--os-gray-600)" d="M2,2 v44 h1 v-44 M3,45 h42 v1 h-42"/>
|
|
3491
3513
|
</svg>
|
|
3492
3514
|
</t>
|
|
3493
3515
|
<t t-name="o-spreadsheet-ChartPreview.STACKED_AREA_CHART">
|
|
3494
3516
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3495
|
-
<path fill="
|
|
3496
|
-
<path
|
|
3497
|
-
|
|
3498
|
-
|
|
3499
|
-
|
|
3517
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M3,45 h36 v-39 l-18,18 l-6,-6 l-12,12"/>
|
|
3518
|
+
<path
|
|
3519
|
+
stroke="var(--os-chart-preview-blue-line)"
|
|
3520
|
+
style="fill:none"
|
|
3521
|
+
d="M3,30 l12,-12 l6,6 l18,-18"
|
|
3522
|
+
/>
|
|
3523
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M3,45 h36 v-23 l-18,12 l-6,-6 l-12,12"/>
|
|
3524
|
+
<path
|
|
3525
|
+
stroke="var(--os-chart-preview-orange-line)"
|
|
3526
|
+
style="fill:none"
|
|
3527
|
+
d="M3,40 l12,-12 l6,6 l18,-12"
|
|
3528
|
+
/>
|
|
3529
|
+
<path fill="var(--os-gray-600)" d="M2,2 v44 h1 v-44 M3,45 h42 v1 h-42"/>
|
|
3500
3530
|
</svg>
|
|
3501
3531
|
</t>
|
|
3502
3532
|
<t t-name="o-spreadsheet-ChartPreview.COLUMN_CHART">
|
|
3503
3533
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3504
|
-
<path fill="
|
|
3505
|
-
<path fill="
|
|
3506
|
-
<path fill="
|
|
3507
|
-
<path fill="
|
|
3508
|
-
<path fill="
|
|
3509
|
-
<path fill="
|
|
3510
|
-
<path fill="
|
|
3511
|
-
<path fill="
|
|
3512
|
-
<path fill="
|
|
3534
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M7,45 v-28 h6 v28"/>
|
|
3535
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M8,45 v-27 h4 v27"/>
|
|
3536
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M14,45 v-14 h6 v14"/>
|
|
3537
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M15,45 v-13 h4 v13"/>
|
|
3538
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M26,45 v-22 h6 v22"/>
|
|
3539
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M27,45 v-21 h4 v21"/>
|
|
3540
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M33,45 v-32 h6 v32"/>
|
|
3541
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M34,45 v-31 h4 v31"/>
|
|
3542
|
+
<path fill="var(--os-gray-600)" d="M2,2 v44 h1 v-44 M3,45 h42 v1 h-42"/>
|
|
3513
3543
|
</svg>
|
|
3514
3544
|
</t>
|
|
3515
3545
|
<t t-name="o-spreadsheet-ChartPreview.STACKED_COLUMN_CHART">
|
|
3516
3546
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3517
|
-
<path fill="
|
|
3518
|
-
<path fill="
|
|
3519
|
-
<path fill="
|
|
3520
|
-
<path fill="
|
|
3547
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M7,45 v-12 h8 v12"/>
|
|
3548
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M8,45 v-11 h6 v11"/>
|
|
3549
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M7,33 v-14 h8 v14"/>
|
|
3550
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M8,33 v-13 h6 v13"/>
|
|
3521
3551
|
|
|
3522
|
-
<path fill="
|
|
3523
|
-
<path fill="
|
|
3524
|
-
<path fill="
|
|
3525
|
-
<path fill="
|
|
3552
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M20,45 v-8 h8 v8"/>
|
|
3553
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M21,45 v-7 h6 v7"/>
|
|
3554
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M20,37 v-9 h8 v9"/>
|
|
3555
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M21,37 v-8 h6 v8"/>
|
|
3526
3556
|
|
|
3527
|
-
<path fill="
|
|
3528
|
-
<path fill="
|
|
3529
|
-
<path fill="
|
|
3530
|
-
<path fill="
|
|
3557
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M33,45 v-18 h8 v18"/>
|
|
3558
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M34,45 v-17 h6 v17"/>
|
|
3559
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M33,27 v-16 h8 v16"/>
|
|
3560
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M34,27 v-15 h6 v15"/>
|
|
3531
3561
|
|
|
3532
|
-
<path fill="
|
|
3562
|
+
<path fill="var(--os-gray-600)" d="M2,2 v44 h1 v-44 M3,45 h42 v1 h-42"/>
|
|
3533
3563
|
</svg>
|
|
3534
3564
|
</t>
|
|
3535
3565
|
<t t-name="o-spreadsheet-ChartPreview.BAR_CHART">
|
|
3536
3566
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3537
3567
|
<g transform="matrix(0 1 -1 0 48 3)">
|
|
3538
|
-
<path fill="
|
|
3539
|
-
<path fill="
|
|
3540
|
-
<path fill="
|
|
3541
|
-
<path fill="
|
|
3542
|
-
<path fill="
|
|
3543
|
-
<path fill="
|
|
3544
|
-
<path fill="
|
|
3545
|
-
<path fill="
|
|
3568
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M7,45 v-28 h6 v28"/>
|
|
3569
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M8,45 v-27 h4 v27"/>
|
|
3570
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M14,45 v-14 h6 v14"/>
|
|
3571
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M15,45 v-13 h4 v13"/>
|
|
3572
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M26,45 v-22 h6 v22"/>
|
|
3573
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M27,45 v-21 h4 v21"/>
|
|
3574
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M33,45 v-32 h6 v32"/>
|
|
3575
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M34,45 v-31 h4 v31"/>
|
|
3546
3576
|
</g>
|
|
3547
|
-
<path fill="
|
|
3577
|
+
<path fill="var(--os-gray-600)" d="M2,2 v44 h1 v-44 M3,45 h42 v1 h-42"/>
|
|
3548
3578
|
</svg>
|
|
3549
3579
|
</t>
|
|
3550
3580
|
<t t-name="o-spreadsheet-ChartPreview.STACKED_BAR_CHART">
|
|
3551
3581
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3552
3582
|
<g transform="matrix(0 1 -1 0 48 1)">
|
|
3553
|
-
<path fill="
|
|
3554
|
-
<path fill="
|
|
3555
|
-
<path fill="
|
|
3556
|
-
<path fill="
|
|
3557
|
-
<path fill="
|
|
3558
|
-
<path fill="
|
|
3559
|
-
<path fill="
|
|
3560
|
-
<path fill="
|
|
3561
|
-
<path fill="
|
|
3562
|
-
<path fill="
|
|
3563
|
-
<path fill="
|
|
3564
|
-
<path fill="
|
|
3583
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M7,45 v-12 h8 v12"/>
|
|
3584
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M8,45 v-11 h6 v11"/>
|
|
3585
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M7,33 v-14 h8 v14"/>
|
|
3586
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M8,33 v-13 h6 v13"/>
|
|
3587
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M20,45 v-8 h8 v8"/>
|
|
3588
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M21,45 v-7 h6 v7"/>
|
|
3589
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M20,37 v-9 h8 v9"/>
|
|
3590
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M21,37 v-8 h6 v8"/>
|
|
3591
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M33,45 v-18 h8 v18"/>
|
|
3592
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M34,45 v-17 h6 v17"/>
|
|
3593
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M33,27 v-16 h8 v16"/>
|
|
3594
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M34,27 v-15 h6 v15"/>
|
|
3565
3595
|
</g>
|
|
3566
|
-
<path fill="
|
|
3596
|
+
<path fill="var(--os-gray-600)" d="M2,2 v44 h1 v-44 M3,45 h42 v1 h-42"/>
|
|
3567
3597
|
</svg>
|
|
3568
3598
|
</t>
|
|
3569
3599
|
<t t-name="o-spreadsheet-ChartPreview.COMBO_CHART">
|
|
3570
3600
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3571
|
-
<path fill="
|
|
3572
|
-
<path fill="
|
|
3573
|
-
<path fill="
|
|
3574
|
-
<path fill="
|
|
3575
|
-
<path fill="
|
|
3576
|
-
<path fill="
|
|
3577
|
-
<path fill="
|
|
3578
|
-
<path fill="
|
|
3579
|
-
<path
|
|
3580
|
-
|
|
3601
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M7,45 v-14 h6 v14"/>
|
|
3602
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M8,45 v-13 h4 v13"/>
|
|
3603
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M14,45 v-28 h6 v28"/>
|
|
3604
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M15,45 v-27 h4 v27"/>
|
|
3605
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M26,45 v-22 h6 v22"/>
|
|
3606
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M27,45 v-21 h4 v21"/>
|
|
3607
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M33,45 v-32 h6 v32"/>
|
|
3608
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M34,45 v-31 h4 v31"/>
|
|
3609
|
+
<path
|
|
3610
|
+
stroke="var(--os-gray-500)"
|
|
3611
|
+
style="fill:none;stroke-width:1.5;"
|
|
3612
|
+
d="M4,40 l14,-12 l6,6 l20,-18"
|
|
3613
|
+
/>
|
|
3614
|
+
<path fill="var(--os-gray-600)" d="M2,2 v44 h1 v-44 M3,45 h42 v1 h-42"/>
|
|
3581
3615
|
</svg>
|
|
3582
3616
|
</t>
|
|
3583
3617
|
<t t-name="o-spreadsheet-ChartPreview.PIE_CHART">
|
|
3584
3618
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3585
|
-
<path
|
|
3586
|
-
|
|
3619
|
+
<path
|
|
3620
|
+
fill="var(--os-chart-preview-orange-fill)"
|
|
3621
|
+
stroke="var(--os-chart-preview-orange-line)"
|
|
3622
|
+
d="M41.32, 34 A20 20, 0, 1, 1, 24, 4 v20"
|
|
3623
|
+
/>
|
|
3624
|
+
<path
|
|
3625
|
+
fill="var(--os-chart-preview-blue-fill)"
|
|
3626
|
+
stroke="var(--os-chart-preview-blue-line)"
|
|
3627
|
+
d="M24,24 v-20 A20 20, 0, 0, 1, 41.32, 34 L24,24"
|
|
3628
|
+
/>
|
|
3587
3629
|
</svg>
|
|
3588
3630
|
</t>
|
|
3589
3631
|
<t t-name="o-spreadsheet-ChartPreview.DOUGHNUT_CHART">
|
|
3590
3632
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3591
3633
|
<path
|
|
3592
|
-
fill="
|
|
3593
|
-
stroke="
|
|
3634
|
+
fill="var(--os-chart-preview-orange-fill)"
|
|
3635
|
+
stroke="var(--os-chart-preview-orange-line)"
|
|
3594
3636
|
d="M41.32, 34 A20 20, 0, 1, 1, 24, 4 v8 A12,12,0,1,0,34.4,30"
|
|
3595
3637
|
/>
|
|
3596
3638
|
<path
|
|
3597
|
-
fill="
|
|
3598
|
-
stroke="
|
|
3639
|
+
fill="var(--os-chart-preview-blue-fill)"
|
|
3640
|
+
stroke="var(--os-chart-preview-blue-line)"
|
|
3599
3641
|
d="M24,12 v-8 A20 20, 0, 0, 1, 41.32, 34 L34.4,30 A12,12,0,0,0,24,12"
|
|
3600
3642
|
/>
|
|
3601
3643
|
</svg>
|
|
3602
3644
|
</t>
|
|
3603
3645
|
<t t-name="o-spreadsheet-ChartPreview.SCATTER_CHART">
|
|
3604
3646
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3605
|
-
<circle fill="
|
|
3606
|
-
<circle fill="
|
|
3607
|
-
<circle fill="
|
|
3608
|
-
<circle fill="
|
|
3609
|
-
<circle fill="
|
|
3610
|
-
<circle fill="
|
|
3611
|
-
<circle fill="
|
|
3612
|
-
<circle fill="
|
|
3613
|
-
<path fill="
|
|
3647
|
+
<circle fill="var(--os-chart-preview-blue-line)" cx="10" cy="10" r="2"/>
|
|
3648
|
+
<circle fill="var(--os-chart-preview-blue-line)" cx="15" cy="30" r="2"/>
|
|
3649
|
+
<circle fill="var(--os-chart-preview-blue-line)" cx="25" cy="36" r="2"/>
|
|
3650
|
+
<circle fill="var(--os-chart-preview-blue-line)" cx="32" cy="15" r="2"/>
|
|
3651
|
+
<circle fill="var(--os-chart-preview-orange-line)" cx="10" cy="40" r="2"/>
|
|
3652
|
+
<circle fill="var(--os-chart-preview-orange-line)" cx="18" cy="20" r="2"/>
|
|
3653
|
+
<circle fill="var(--os-chart-preview-orange-line)" cx="30" cy="25" r="2"/>
|
|
3654
|
+
<circle fill="var(--os-chart-preview-orange-line)" cx="40" cy="33" r="2"/>
|
|
3655
|
+
<path fill="var(--os-gray-600)" d="M2,2 v44 h1 v-44 M3,45 h42 v1 h-42"/>
|
|
3614
3656
|
</svg>
|
|
3615
3657
|
</t>
|
|
3616
3658
|
<t t-name="o-spreadsheet-ChartPreview.GAUGE_CHART">
|
|
@@ -3618,9 +3660,9 @@
|
|
|
3618
3660
|
viewBox="0 0 48 48"
|
|
3619
3661
|
class="o-chart-preview user-select-none"
|
|
3620
3662
|
xmlns="http://www.w3.org/2000/svg">
|
|
3621
|
-
<path fill="
|
|
3663
|
+
<path fill="var(--os-gray-400)" d="M2,32 A22,22,0,0,1,46,32 h-6 A16,16,0,0,0,8,32"/>
|
|
3622
3664
|
<path fill="#6aa84f" d="M2,32 A22,22,0,0,1,35,13 L32,18.2 A16,16,0,0,0,8,32"/>
|
|
3623
|
-
<text x="17" y="32" style="font-size:12px;">62</text>
|
|
3665
|
+
<text fill="currentColor" x="17" y="32" style="font-size:12px;">62</text>
|
|
3624
3666
|
</svg>
|
|
3625
3667
|
</t>
|
|
3626
3668
|
<t t-name="o-spreadsheet-ChartPreview.SCORECARD_CHART">
|
|
@@ -3628,61 +3670,72 @@
|
|
|
3628
3670
|
viewBox="0 0 48 48"
|
|
3629
3671
|
class="o-chart-preview user-select-none"
|
|
3630
3672
|
xmlns="http://www.w3.org/2000/svg">
|
|
3631
|
-
<path fill="
|
|
3632
|
-
<path fill="
|
|
3633
|
-
<text x="9" y="32" style="font-size:18px;">123</text>
|
|
3673
|
+
<path fill="var(--os-gray-300)" d="M1,8 h46 v32 h-46"/>
|
|
3674
|
+
<path fill="var(--os-gray-200)" d="M2,9 h44 v30 h-44"/>
|
|
3675
|
+
<text fill="currentColor" x="9" y="32" style="font-size:18px;">123</text>
|
|
3634
3676
|
</svg>
|
|
3635
3677
|
</t>
|
|
3636
3678
|
<t t-name="o-spreadsheet-ChartPreview.WATERFALL_CHART">
|
|
3637
3679
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3638
|
-
<path fill="
|
|
3639
|
-
<path fill="
|
|
3640
|
-
<path fill="
|
|
3641
|
-
<path fill="
|
|
3642
|
-
<path fill="
|
|
3643
|
-
<path fill="
|
|
3644
|
-
<path fill="
|
|
3645
|
-
<path fill="
|
|
3646
|
-
<path fill="
|
|
3647
|
-
<path fill="
|
|
3648
|
-
<path
|
|
3649
|
-
|
|
3680
|
+
<path fill="var(--os-gray-600)" d="M5,45 v-26 h6 v26"/>
|
|
3681
|
+
<path fill="var(--os-white-bg)" d="M6,45 v-25 h4 v25"/>
|
|
3682
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M13,19 v7 h6 v-7"/>
|
|
3683
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M14,20 v5 h4 v-5"/>
|
|
3684
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M21,25 v10 h6 v-10"/>
|
|
3685
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M22,26 v8 h4 v-8"/>
|
|
3686
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M29,35 v-24 h6 v24"/>
|
|
3687
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M30,34 v-22 h4 v22"/>
|
|
3688
|
+
<path fill="var(--os-gray-600)" d="M37,45 v-34 h6 v34"/>
|
|
3689
|
+
<path fill="var(--os-white-bg)" d="M38,45 v-33 h4 v33"/>
|
|
3690
|
+
<path
|
|
3691
|
+
fill="var(--os-gray-600)"
|
|
3692
|
+
d="M11,20 v-1 h2 v1 M19,26 v-1 h2 v1 M27,35 v-1 h2 v1 M35,12 v-1 h2 v1"
|
|
3693
|
+
/>
|
|
3694
|
+
<path fill="var(--os-gray-600)" d="M2,2 v44 h1 v-44 M3,45 h42 v1 h-42"/>
|
|
3650
3695
|
</svg>
|
|
3651
3696
|
</t>
|
|
3652
3697
|
<t t-name="o-spreadsheet-ChartPreview.POPULATION_PYRAMID_CHART">
|
|
3653
3698
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3654
|
-
<path fill="
|
|
3655
|
-
<path fill="
|
|
3656
|
-
<path fill="
|
|
3657
|
-
<path fill="
|
|
3658
|
-
<path fill="
|
|
3659
|
-
<path fill="
|
|
3660
|
-
<path fill="
|
|
3661
|
-
<path fill="
|
|
3662
|
-
<path fill="
|
|
3663
|
-
<path fill="
|
|
3664
|
-
|
|
3665
|
-
<path fill="
|
|
3666
|
-
<path fill="
|
|
3667
|
-
<path fill="
|
|
3668
|
-
<path fill="
|
|
3669
|
-
<path fill="
|
|
3670
|
-
<path fill="
|
|
3671
|
-
<path fill="
|
|
3672
|
-
<path fill="
|
|
3673
|
-
<path fill="
|
|
3674
|
-
<path fill="
|
|
3675
|
-
|
|
3676
|
-
<path fill="
|
|
3699
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M23,43 v-6 h22 v6"/>
|
|
3700
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M23,42 v-4 h21 v4"/>
|
|
3701
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M23,36 v-6 h18 v6"/>
|
|
3702
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M23,35 v-4 h17 v4"/>
|
|
3703
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M23,29 v-6 h12 v6"/>
|
|
3704
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M23,28 v-4 h11 v4"/>
|
|
3705
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M23,22 v-6 h8 v6"/>
|
|
3706
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M23,21 v-4 h7 v4"/>
|
|
3707
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M23,15 v-6 h4 v6"/>
|
|
3708
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M23,14 v-4 h3 v4"/>
|
|
3709
|
+
|
|
3710
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M24,43 v-6 h-20 v6"/>
|
|
3711
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M24,42 v-4 h-19 v4"/>
|
|
3712
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M24,36 v-6 h-18 v6"/>
|
|
3713
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M24,35 v-4 h-17 v4"/>
|
|
3714
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M24,29 v-6 h-12 v6"/>
|
|
3715
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M24,28 v-4 h-11 v4"/>
|
|
3716
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M24,22 v-6 h-6 v6"/>
|
|
3717
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M24,21 v-4 h-5 v4"/>
|
|
3718
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M24,15 v-6 h-4 v6"/>
|
|
3719
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M24,14 v-4 h-3 v4"/>
|
|
3720
|
+
|
|
3721
|
+
<path fill="var(--os-gray-600)" d="M23,2 v43 h1 v-43 M2,45 h44 v1 h-44"/>
|
|
3677
3722
|
</svg>
|
|
3678
3723
|
</t>
|
|
3679
3724
|
<t t-name="o-spreadsheet-ChartPreview.RADAR_CHART">
|
|
3680
3725
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3681
|
-
<path fill="none" stroke="#0074d9" d="m24 16 14.27 3.36-1.93 21.63-18.22-8.9-3.63-11.18Z"/>
|
|
3682
|
-
<path fill="none" stroke="#eb6d00" d="m24 4 7.61 17.53-4.67 6.52-12.34 8.89-7.72-18.5Z"/>
|
|
3683
3726
|
<path
|
|
3684
3727
|
fill="none"
|
|
3685
|
-
stroke="
|
|
3728
|
+
stroke="var(--os-chart-preview-blue-line)"
|
|
3729
|
+
d="m24 16 14.27 3.36-1.93 21.63-18.22-8.9-3.63-11.18Z"
|
|
3730
|
+
/>
|
|
3731
|
+
<path
|
|
3732
|
+
fill="none"
|
|
3733
|
+
stroke="var(--os-chart-preview-orange-line)"
|
|
3734
|
+
d="m24 4 7.61 17.53-4.67 6.52-12.34 8.89-7.72-18.5Z"
|
|
3735
|
+
/>
|
|
3736
|
+
<path
|
|
3737
|
+
fill="none"
|
|
3738
|
+
stroke="var(--os-gray-600)"
|
|
3686
3739
|
d="M24 2v22l20.92-6.8L24 24l12.93 17.8L24 24 11.07 41.8 24 24 3.08 17.2"
|
|
3687
3740
|
/>
|
|
3688
3741
|
</svg>
|
|
@@ -3690,14 +3743,20 @@
|
|
|
3690
3743
|
<t t-name="o-spreadsheet-ChartPreview.FILLED_RADAR_CHART">
|
|
3691
3744
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3692
3745
|
<path
|
|
3693
|
-
fill="
|
|
3694
|
-
|
|
3746
|
+
fill="var(--os-chart-preview-blue-line)"
|
|
3747
|
+
fill-opacity="0.25"
|
|
3748
|
+
stroke="var(--os-chart-preview-blue-line)"
|
|
3695
3749
|
d="m24 16 14.27 3.36-1.93 21.63-18.22-8.9-3.63-11.18Z"
|
|
3696
3750
|
/>
|
|
3697
|
-
<path
|
|
3751
|
+
<path
|
|
3752
|
+
fill="var(--os-chart-preview-orange-line)"
|
|
3753
|
+
fill-opacity="0.25"
|
|
3754
|
+
stroke="var(--os-chart-preview-orange-line)"
|
|
3755
|
+
d="m24 4 7.61 17.53-4.67 6.52-12.34 8.89-7.72-18.5Z"
|
|
3756
|
+
/>
|
|
3698
3757
|
<path
|
|
3699
3758
|
fill="none"
|
|
3700
|
-
stroke="
|
|
3759
|
+
stroke="var(--os-gray-600)"
|
|
3701
3760
|
d="M24 2v22l20.92-6.8L24 24l12.93 17.8L24 24 11.07 41.8 24 24 3.08 17.2"
|
|
3702
3761
|
/>
|
|
3703
3762
|
</svg>
|
|
@@ -3710,70 +3769,206 @@
|
|
|
3710
3769
|
fill="none"
|
|
3711
3770
|
stroke-width="0.5"
|
|
3712
3771
|
stroke-linejoin="round">
|
|
3713
|
-
<circle cx="16" cy="16" r="13" fill="
|
|
3772
|
+
<circle cx="16" cy="16" r="13" fill="var(--os-chart-preview-blue-fill)"/>
|
|
3714
3773
|
<path
|
|
3715
|
-
stroke="
|
|
3716
|
-
fill="
|
|
3774
|
+
stroke="var(--os-chart-preview-orange-line)"
|
|
3775
|
+
fill="var(--os-chart-preview-orange-fill)"
|
|
3717
3776
|
d="M12.225 16.293c0 6.8 4 9 5 9 3.5 0 2-5.293 3.5-6.793s5-.707 5-4.207-2-5-5-5c-5 0-8.5 1.5-8.5 7z"
|
|
3718
3777
|
/>
|
|
3719
3778
|
<path
|
|
3720
|
-
fill="
|
|
3779
|
+
fill="var(--os-chart-preview-orange-fill)"
|
|
3721
3780
|
d="M21.5 4.4c0 1.167-1.735 1.5-3 1.5-5.217 0-10.705 3.48-11.421 8.004C6.992 14.549 6.552 15 6 15H3.07 A 13 13 0 0 1 21.5 4.2
|
|
3722
3781
|
M3.8 20.5c.785.262 2.126 1.285 3.44 1.517.57.101 1.153.464 1.299 1.023.303 1.16.548 1.992-.239 3.58 A 13 13 0 0 1 3.8 20.5"
|
|
3723
3782
|
/>
|
|
3724
3783
|
<path
|
|
3725
|
-
stroke="
|
|
3784
|
+
stroke="var(--os-chart-preview-orange-line)"
|
|
3726
3785
|
d="M21.5 4.4c0 1.167-1.735 1.5-3 1.5-5.217 0-10.705 3.48-11.421 8.004C6.992 14.549 6.552 15 6 15H3.07
|
|
3727
3786
|
M3.8 20.5c.785.262 2.126 1.285 3.44 1.517.57.101 1.153.464 1.299 1.023.303 1.16.548 1.992-.239 3.58"
|
|
3728
3787
|
/>
|
|
3729
|
-
<circle cx="16" cy="16" r="13" stroke="
|
|
3788
|
+
<circle cx="16" cy="16" r="13" stroke="var(--os-gray-600)"/>
|
|
3730
3789
|
</svg>
|
|
3731
3790
|
</t>
|
|
3732
3791
|
<t t-name="o-spreadsheet-ChartPreview.FUNNEL_CHART">
|
|
3733
3792
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3734
|
-
<path
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3793
|
+
<path
|
|
3794
|
+
stroke="var(--os-chart-preview-blue-line)"
|
|
3795
|
+
fill="var(--os-chart-preview-blue-fill)"
|
|
3796
|
+
d="M2.5,6.5 h44 l-5,7 h-34 l-5,-7 h1"
|
|
3797
|
+
/>
|
|
3798
|
+
<path
|
|
3799
|
+
stroke="var(--os-chart-preview-orange-line)"
|
|
3800
|
+
fill="var(--os-chart-preview-orange-fill)"
|
|
3801
|
+
d="M9.5,16.5 h30 l-3,7 h-25 l-3,-7 h1"
|
|
3802
|
+
/>
|
|
3803
|
+
<path
|
|
3804
|
+
stroke="var(--os-chart-preview-blue-line)"
|
|
3805
|
+
fill="var(--os-chart-preview-blue-fill)"
|
|
3806
|
+
d="M12.5,26.5 h23 l-8,7 h-7 l-8,-7 h1"
|
|
3807
|
+
/>
|
|
3808
|
+
<path
|
|
3809
|
+
stroke="var(--os-chart-preview-orange-line)"
|
|
3810
|
+
fill="var(--os-chart-preview-orange-fill)"
|
|
3811
|
+
d="M21.5,35.5 h5 l-2.5,7 l-2.5,-7 h1"
|
|
3812
|
+
/>
|
|
3738
3813
|
</svg>
|
|
3739
3814
|
</t>
|
|
3740
3815
|
<t t-name="o-spreadsheet-ChartPreview.SUNBURST_CHART">
|
|
3741
3816
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3742
3817
|
<path
|
|
3743
|
-
fill="
|
|
3744
|
-
stroke="
|
|
3818
|
+
fill="var(--os-chart-preview-orange-fill)"
|
|
3819
|
+
stroke="var(--os-chart-preview-orange-line)"
|
|
3745
3820
|
d="M24,12 v8A4,4,0,1,0,27.46,26 L41.32, 34 A20,20,0,0,1,8.679,36.856 L14.807,31.713 A12,12,0,0,1,24,12 M34.4,30 A12,12,0,0,1,14.807,31.713"
|
|
3746
3821
|
/>
|
|
3747
3822
|
<path
|
|
3748
|
-
fill="
|
|
3749
|
-
stroke="
|
|
3823
|
+
fill="var(--os-chart-preview-blue-fill)"
|
|
3824
|
+
stroke="var(--os-chart-preview-blue-line)"
|
|
3750
3825
|
d="M24,20 v-16 A20 20, 0, 0, 1, 41.32, 34 L27.46,26 A4,4,0,0,0,24,20 M24,12 A12,12,0,0,1,34.4,30 M33.193,16.287 L39.321,11.144 M36,24 L44,24"
|
|
3751
3826
|
/>
|
|
3752
3827
|
</svg>
|
|
3753
3828
|
</t>
|
|
3754
3829
|
<t t-name="o-spreadsheet-ChartPreview.TREE_MAP_CHART">
|
|
3755
3830
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3756
|
-
<path fill="
|
|
3757
|
-
<path fill="
|
|
3758
|
-
<path fill="
|
|
3759
|
-
<path fill="
|
|
3760
|
-
<path fill="
|
|
3761
|
-
<path fill="
|
|
3762
|
-
<path fill="
|
|
3763
|
-
<path fill="
|
|
3764
|
-
<path fill="
|
|
3765
|
-
<path fill="
|
|
3766
|
-
<path fill="
|
|
3831
|
+
<path fill="var(--os-gray-600)" d="M2,4 h44 v5 h-44"/>
|
|
3832
|
+
<path fill="var(--os-gray-600)" d="M2,10 h28 v5 h-28"/>
|
|
3833
|
+
<path fill="var(--os-gray-600)" d="M31,10 h15 v5 h-15"/>
|
|
3834
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M2,16 h28 v14 h-28"/>
|
|
3835
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M3,17 h26 v12 h-26"/>
|
|
3836
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M2,31 h15 v12 h-15"/>
|
|
3837
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M3,32 h13 v10 h-13"/>
|
|
3838
|
+
<path fill="var(--os-chart-preview-blue-line)" d="M18,31 h12 v12 h-12"/>
|
|
3839
|
+
<path fill="var(--os-chart-preview-blue-fill)" d="M19,32 h10 v10 h-10"/>
|
|
3840
|
+
<path fill="var(--os-chart-preview-orange-line)" d="M31,16 h15 v27 h-15"/>
|
|
3841
|
+
<path fill="var(--os-chart-preview-orange-fill)" d="M32,17 h13 v25 h-13"/>
|
|
3842
|
+
</svg>
|
|
3843
|
+
</t>
|
|
3844
|
+
<t t-name="o-spreadsheet-ChartPreview.CALENDAR_CHART">
|
|
3845
|
+
<svg class="o-chart-preview" viewBox="0 0 48 48">
|
|
3846
|
+
<path fill="var(--os-gray-600)" d="M3 3h42v42H3zh1v41h40V4H4"/>
|
|
3847
|
+
<path
|
|
3848
|
+
fill="var(--os-chart-preview-orange-line)"
|
|
3849
|
+
d="M7 7h7v7H7m0 2h7v7H7m0 2h7v7H7m0 2h7v7H7m9-34h7v7h-7m0 2h7v7h-7m0 2h7v7h-7m0 2h7v7h-7m9-34h7v7h-7m0 11h7v7h-7m0 2h7v7h-7m9-34h7v7h-7m0 2h7v7h-7m0 2h7v7h-7m0 2h7v7h-7"
|
|
3850
|
+
/>
|
|
3851
|
+
<path
|
|
3852
|
+
fill="var(--os-chart-preview-orange-fill)"
|
|
3853
|
+
d="M8 8h5v5H8m0 13h5v5H8m9 4h5v5h-5m18-5h5v5h-5"
|
|
3854
|
+
/>
|
|
3855
|
+
<path
|
|
3856
|
+
fill="var(--os-chart-preview-orange-light)"
|
|
3857
|
+
d="M8 17h5v5H8m9-14h5v5h-5m0 13h5v5h-5m9 4h5v5h-5m9-32h5v5h-5m0 13h5v5h-5"
|
|
3858
|
+
/>
|
|
3859
|
+
<path fill="var(--os-white-bg)" d="M8 35h5v5H8"/>
|
|
3860
|
+
<path fill="var(--os-chart-preview-orange-dark)" d="M25 16h7v7h-7"/>
|
|
3767
3861
|
</svg>
|
|
3768
3862
|
</t>
|
|
3769
3863
|
|
|
3864
|
+
<t t-name="o-spreadsheet-CalendarChartDesignPanel">
|
|
3865
|
+
<GeneralDesignEditor t-props="props">
|
|
3866
|
+
<t t-set-slot="general-extension">
|
|
3867
|
+
<Section class="'pt-0'" title.translate="Legend position">
|
|
3868
|
+
<select
|
|
3869
|
+
t-att-value="props.definition.legendPosition ?? 'bottom-left'"
|
|
3870
|
+
class="o-input o-chart-legend-position"
|
|
3871
|
+
t-on-change="this.updateLegendPosition">
|
|
3872
|
+
<option value="none">None</option>
|
|
3873
|
+
<option value="right">Right</option>
|
|
3874
|
+
<option value="left">Left</option>
|
|
3875
|
+
</select>
|
|
3876
|
+
</Section>
|
|
3877
|
+
<Section class="'pt-0'" title.translate="Values">
|
|
3878
|
+
<ChartShowValues t-props="props"/>
|
|
3879
|
+
</Section>
|
|
3880
|
+
</t>
|
|
3881
|
+
</GeneralDesignEditor>
|
|
3882
|
+
<SidePanelCollapsible isInitiallyCollapsed="false" title.translate="Calendar chart options">
|
|
3883
|
+
<t t-set-slot="content">
|
|
3884
|
+
<ColorScalePicker definition="props.definition" onUpdateColorScale.bind="onColormapChange"/>
|
|
3885
|
+
<Section class="'pt-0 o-missing-value'" title.translate="Missing value color">
|
|
3886
|
+
<RoundColorPicker
|
|
3887
|
+
currentColor="selectedMissingValueColor"
|
|
3888
|
+
onColorPicked.bind="updateMissingValueColor"
|
|
3889
|
+
/>
|
|
3890
|
+
</Section>
|
|
3891
|
+
</t>
|
|
3892
|
+
</SidePanelCollapsible>
|
|
3893
|
+
<SidePanelCollapsible isInitiallyCollapsed="true" title.translate="Axes">
|
|
3894
|
+
<t t-set-slot="content">
|
|
3895
|
+
<AxisDesignEditor
|
|
3896
|
+
axesList="axesList"
|
|
3897
|
+
chartId="props.chartId"
|
|
3898
|
+
definition="props.definition"
|
|
3899
|
+
updateChart="props.updateChart"
|
|
3900
|
+
/>
|
|
3901
|
+
</t>
|
|
3902
|
+
</SidePanelCollapsible>
|
|
3903
|
+
</t>
|
|
3904
|
+
|
|
3905
|
+
<t t-name="o-spreadsheet-CalendarChartConfigPanel">
|
|
3906
|
+
<div>
|
|
3907
|
+
<ChartDataSeries
|
|
3908
|
+
ranges="this.getDataSeriesRanges()"
|
|
3909
|
+
onSelectionChanged.bind="onDataSeriesRangesChanged"
|
|
3910
|
+
onSelectionConfirmed.bind="onDataSeriesConfirmed"
|
|
3911
|
+
onSelectionReordered.bind="onDataSeriesReordered"
|
|
3912
|
+
onSelectionRemoved.bind="onDataSeriesRemoved"
|
|
3913
|
+
maxNumberOfUsedRanges="1"
|
|
3914
|
+
canChangeDatasetOrientation="false"
|
|
3915
|
+
/>
|
|
3916
|
+
<ChartLabelRange
|
|
3917
|
+
range="this.getLabelRange()"
|
|
3918
|
+
isInvalid="isLabelInvalid"
|
|
3919
|
+
onSelectionChanged.bind="onLabelRangeChanged"
|
|
3920
|
+
onSelectionConfirmed.bind="onLabelRangeConfirmed"
|
|
3921
|
+
options="this.getLabelRangeOptions()"
|
|
3922
|
+
title.translate="Date range"
|
|
3923
|
+
/>
|
|
3924
|
+
|
|
3925
|
+
<Section title.translate="Fields to group by">
|
|
3926
|
+
<div class="d-flex">
|
|
3927
|
+
<span class="w-100">Horizontal axis</span>
|
|
3928
|
+
<select
|
|
3929
|
+
t-att-value="getGroupByType('horizontal')"
|
|
3930
|
+
class="o-input o-horizontal-group-by"
|
|
3931
|
+
t-on-change="ev => this.updateGroupBy('horizontal', ev.target.value)">
|
|
3932
|
+
<t t-foreach="getGroupByOptions()" t-as="groupBy" t-key="groupBy.value">
|
|
3933
|
+
<option
|
|
3934
|
+
t-att-selected="getGroupByType('horizontal') === groupBy.value"
|
|
3935
|
+
t-att-value="groupBy.value">
|
|
3936
|
+
<t t-esc="groupBy.label"/>
|
|
3937
|
+
</option>
|
|
3938
|
+
</t>
|
|
3939
|
+
</select>
|
|
3940
|
+
</div>
|
|
3941
|
+
<div class="d-flex">
|
|
3942
|
+
<span class="w-100">Vertical axis</span>
|
|
3943
|
+
<select
|
|
3944
|
+
t-att-value="getGroupByType('vertical')"
|
|
3945
|
+
class="o-input o-vertical-group-by"
|
|
3946
|
+
t-on-change="ev => this.updateGroupBy('vertical', ev.target.value)">
|
|
3947
|
+
<t t-foreach="getGroupByOptions()" t-as="groupBy" t-key="groupBy.value">
|
|
3948
|
+
<option
|
|
3949
|
+
t-att-selected="getGroupByType('vertical') === groupBy.value"
|
|
3950
|
+
t-att-value="groupBy.value">
|
|
3951
|
+
<t t-esc="groupBy.label"/>
|
|
3952
|
+
</option>
|
|
3953
|
+
</t>
|
|
3954
|
+
</select>
|
|
3955
|
+
</div>
|
|
3956
|
+
</Section>
|
|
3957
|
+
|
|
3958
|
+
<ChartErrorSection t-if="errorMessages.length" messages="errorMessages"/>
|
|
3959
|
+
</div>
|
|
3960
|
+
</t>
|
|
3961
|
+
|
|
3770
3962
|
<t t-name="o-spreadsheet.TextStyler">
|
|
3771
3963
|
<div
|
|
3772
3964
|
class="o-chart-title-designer position-relative d-flex align-items-center"
|
|
3773
3965
|
t-att-class="props.class">
|
|
3774
3966
|
<ActionButton action="boldButtonAction" class="'o-hoverable-button'"/>
|
|
3775
3967
|
<ActionButton action="italicButtonAction" class="'o-hoverable-button'"/>
|
|
3776
|
-
<div
|
|
3968
|
+
<div
|
|
3969
|
+
class="o-divider border-start"
|
|
3970
|
+
t-if="props.hasHorizontalAlign || props.hasVerticalAlign"
|
|
3971
|
+
/>
|
|
3777
3972
|
<div class="o-dropdown position-relative" t-if="props.hasHorizontalAlign">
|
|
3778
3973
|
<ActionButton
|
|
3779
3974
|
action="horizontalAlignButtonAction"
|
|
@@ -3812,13 +4007,13 @@
|
|
|
3812
4007
|
</div>
|
|
3813
4008
|
</div>
|
|
3814
4009
|
</div>
|
|
3815
|
-
<div class="o-divider"/>
|
|
4010
|
+
<div class="o-divider border-start"/>
|
|
3816
4011
|
<FontSizeEditor
|
|
3817
4012
|
currentFontSize="currentFontSize"
|
|
3818
4013
|
onFontSizeChanged.bind="this.updateFontSize"
|
|
3819
4014
|
class="'o-hoverable-button'"
|
|
3820
4015
|
/>
|
|
3821
|
-
<div class="o-divider"/>
|
|
4016
|
+
<div class="o-divider border-start"/>
|
|
3822
4017
|
<ColorPickerWidget
|
|
3823
4018
|
currentColor="props.style.color ?? props.defaultStyle?.color"
|
|
3824
4019
|
toggleColorPicker="(ev) => this.toggleDropdownTool('fillChartColorTool', ev)"
|
|
@@ -4044,7 +4239,8 @@
|
|
|
4044
4239
|
<t t-name="o-spreadsheet-ChartHumanizeNumbers">
|
|
4045
4240
|
<Checkbox
|
|
4046
4241
|
name="'humanizeNumbers'"
|
|
4047
|
-
label.translate="
|
|
4242
|
+
label.translate="Use compact format"
|
|
4243
|
+
title="title"
|
|
4048
4244
|
value="props.definition.humanize ?? true"
|
|
4049
4245
|
onChange="(humanize) => props.updateChart(this.props.chartId, { humanize })"
|
|
4050
4246
|
/>
|
|
@@ -4142,6 +4338,85 @@
|
|
|
4142
4338
|
</Section>
|
|
4143
4339
|
</t>
|
|
4144
4340
|
|
|
4341
|
+
<t t-name="o-spreadsheet-ColorScalePicker">
|
|
4342
|
+
<Section class="'pt-0 o-color-scale'" title.translate="Color Scale">
|
|
4343
|
+
<div class="w-100" style="position:relative">
|
|
4344
|
+
<div
|
|
4345
|
+
class="color-scale-container d-flex justify-content-end"
|
|
4346
|
+
t-on-click.stop="onPointerDown">
|
|
4347
|
+
<span class="color-scale-label">
|
|
4348
|
+
<t t-esc="currentColorScaleLabel"/>
|
|
4349
|
+
</span>
|
|
4350
|
+
<div
|
|
4351
|
+
class="color-scale-preview w-100"
|
|
4352
|
+
t-att-data-test-colorscale="selectedColorScale"
|
|
4353
|
+
t-att-style="currentColorScaleStyle"
|
|
4354
|
+
/>
|
|
4355
|
+
<span class="ms-1">
|
|
4356
|
+
<t t-call="o-spreadsheet-Icon.CARET_DOWN"/>
|
|
4357
|
+
</span>
|
|
4358
|
+
</div>
|
|
4359
|
+
<Popover t-if="state.popoverProps" t-props="state.popoverProps">
|
|
4360
|
+
<table t-ref="popoverRef" class="bg-white" t-att-style="state.popoverStyle">
|
|
4361
|
+
<tr
|
|
4362
|
+
class="color-scale-container custom-color-scale-container"
|
|
4363
|
+
t-on-click="() => this.onColorScaleChange('custom')">
|
|
4364
|
+
<td class="p-1 text-end">Custom</td>
|
|
4365
|
+
<td class="w-100 p-1">
|
|
4366
|
+
<div
|
|
4367
|
+
class="color-scale-preview o-checkers-background"
|
|
4368
|
+
data-test-id="custom-color-scale"
|
|
4369
|
+
/>
|
|
4370
|
+
</td>
|
|
4371
|
+
</tr>
|
|
4372
|
+
<t t-foreach="colorScales" t-as="colorScale" t-key="colorScale.value">
|
|
4373
|
+
<tr
|
|
4374
|
+
class="color-scale-container"
|
|
4375
|
+
t-on-click="() => this.onColorScaleChange(colorScale.value)"
|
|
4376
|
+
t-att-title="colorScale.label">
|
|
4377
|
+
<td class="p-1 text-end">
|
|
4378
|
+
<t t-esc="colorScale.label"/>
|
|
4379
|
+
</td>
|
|
4380
|
+
<td class="w-100 p-1">
|
|
4381
|
+
<div
|
|
4382
|
+
class="color-scale-preview"
|
|
4383
|
+
t-att-data-test-id="colorScale.className"
|
|
4384
|
+
t-att-style="colorScalePreviewStyle(colorScale.value)"
|
|
4385
|
+
/>
|
|
4386
|
+
</td>
|
|
4387
|
+
</tr>
|
|
4388
|
+
</t>
|
|
4389
|
+
</table>
|
|
4390
|
+
</Popover>
|
|
4391
|
+
</div>
|
|
4392
|
+
<div class="ps-3 mt-2">
|
|
4393
|
+
<div class="o-min-color d-flex align-items-center mb-2">
|
|
4394
|
+
<RoundColorPicker
|
|
4395
|
+
currentColor="currentColorScale.minColor"
|
|
4396
|
+
onColorPicked="(color) => this.setCustomColorScaleColor('minColor', color)"
|
|
4397
|
+
disableNoColor="true"
|
|
4398
|
+
/>
|
|
4399
|
+
<span class="ps-2">Color of minimum values</span>
|
|
4400
|
+
</div>
|
|
4401
|
+
<div class="o-mid-color d-flex align-items-center mb-2">
|
|
4402
|
+
<RoundColorPicker
|
|
4403
|
+
currentColor="currentColorScale.midColor"
|
|
4404
|
+
onColorPicked="(color) => this.setCustomColorScaleColor('midColor', color)"
|
|
4405
|
+
/>
|
|
4406
|
+
<span class="ps-2">Color of middle values</span>
|
|
4407
|
+
</div>
|
|
4408
|
+
<div class="o-max-color d-flex align-items-center">
|
|
4409
|
+
<RoundColorPicker
|
|
4410
|
+
currentColor="currentColorScale.maxColor"
|
|
4411
|
+
onColorPicked="(color) => this.setCustomColorScaleColor('maxColor', color)"
|
|
4412
|
+
disableNoColor="true"
|
|
4413
|
+
/>
|
|
4414
|
+
<span class="ps-2">Color of maximum values</span>
|
|
4415
|
+
</div>
|
|
4416
|
+
</div>
|
|
4417
|
+
</Section>
|
|
4418
|
+
</t>
|
|
4419
|
+
|
|
4145
4420
|
<t t-name="o-spreadsheet.ChartTitle">
|
|
4146
4421
|
<Section class="'o-chart-title'" title="props.name">
|
|
4147
4422
|
<TextInput
|
|
@@ -4174,10 +4449,45 @@
|
|
|
4174
4449
|
updateStyle.bind="updateAxisTitleStyle"
|
|
4175
4450
|
name="editor_label"
|
|
4176
4451
|
style="axisTitleStyle"
|
|
4452
|
+
placeholder.translate="Add a Title"
|
|
4177
4453
|
defaultStyle="{align: 'center', color: '', fontSize: defaultFontSize}"
|
|
4178
4454
|
/>
|
|
4179
4455
|
</t>
|
|
4180
4456
|
|
|
4457
|
+
<t t-name="o-spreadsheet-BarChartDesignPanel">
|
|
4458
|
+
<GeneralDesignEditor t-props="props">
|
|
4459
|
+
<t t-set-slot="general-extension">
|
|
4460
|
+
<ChartLegend t-props="props"/>
|
|
4461
|
+
<Section class="'pt-0'" title.translate="Values">
|
|
4462
|
+
<ChartShowValues t-props="props"/>
|
|
4463
|
+
</Section>
|
|
4464
|
+
<Section t-if="isZoomable" class="'pt-0'" title.translate="Zoom">
|
|
4465
|
+
<Checkbox
|
|
4466
|
+
name="'zoomable'"
|
|
4467
|
+
label.translate="Show slicer"
|
|
4468
|
+
value="props.definition.zoomable"
|
|
4469
|
+
onChange.bind="onToggleZoom"
|
|
4470
|
+
className="'mb-2'"
|
|
4471
|
+
/>
|
|
4472
|
+
</Section>
|
|
4473
|
+
<Section class="'pt-0'" title.translate="Number formatting">
|
|
4474
|
+
<ChartHumanizeNumbers t-props="props"/>
|
|
4475
|
+
</Section>
|
|
4476
|
+
</t>
|
|
4477
|
+
</GeneralDesignEditor>
|
|
4478
|
+
<SeriesWithAxisDesignEditor t-props="props"/>
|
|
4479
|
+
<SidePanelCollapsible isInitiallyCollapsed="true" title.translate="Axes">
|
|
4480
|
+
<t t-set-slot="content">
|
|
4481
|
+
<AxisDesignEditor
|
|
4482
|
+
axesList="axesList"
|
|
4483
|
+
chartId="props.chartId"
|
|
4484
|
+
definition="props.definition"
|
|
4485
|
+
updateChart="props.updateChart"
|
|
4486
|
+
/>
|
|
4487
|
+
</t>
|
|
4488
|
+
</SidePanelCollapsible>
|
|
4489
|
+
</t>
|
|
4490
|
+
|
|
4181
4491
|
<t t-name="o-spreadsheet-BarConfigPanel">
|
|
4182
4492
|
<div>
|
|
4183
4493
|
<Section class="'pt-0'">
|
|
@@ -4230,7 +4540,7 @@
|
|
|
4230
4540
|
<div class="o-section pb-1 pt-0">
|
|
4231
4541
|
<div class="o-section-title">Carousel Sections</div>
|
|
4232
4542
|
</div>
|
|
4233
|
-
<div class="o-carousel-preview-list overflow-auto" t-ref="previewList">
|
|
4543
|
+
<div class="o-carousel-preview-list overflow-auto bg-white" t-ref="previewList">
|
|
4234
4544
|
<t t-foreach="carouselItems" t-as="item" t-key="getItemId(item)">
|
|
4235
4545
|
<div
|
|
4236
4546
|
class="o-carousel-preview border-bottom pe-2 position-relative w-100 d-flex align-items-center"
|
|
@@ -4458,9 +4768,49 @@
|
|
|
4458
4768
|
/>
|
|
4459
4769
|
</t>
|
|
4460
4770
|
|
|
4771
|
+
<t t-name="o-spreadsheet-NumberEditor">
|
|
4772
|
+
<div class="o-dropdown" t-ref="NumberEditor">
|
|
4773
|
+
<div
|
|
4774
|
+
class="o-number-editor d-flex align-items-center"
|
|
4775
|
+
t-att-class="props.class"
|
|
4776
|
+
t-att-title="props.title"
|
|
4777
|
+
t-on-click.stop="this.toggleList">
|
|
4778
|
+
<input
|
|
4779
|
+
type="number"
|
|
4780
|
+
t-att-min="props.min"
|
|
4781
|
+
t-att-max="props.max"
|
|
4782
|
+
class="o-font-size o-number-input bg-transparent border-0"
|
|
4783
|
+
t-on-keydown="onInputKeydown"
|
|
4784
|
+
t-on-wheel.prevent.stop=""
|
|
4785
|
+
t-on-click.stop="props.onFocusInput"
|
|
4786
|
+
t-on-focus.stop="onInputFocused"
|
|
4787
|
+
t-on-change="setValueFromInput"
|
|
4788
|
+
t-ref="inputNumber"
|
|
4789
|
+
/>
|
|
4790
|
+
<t t-esc="props.valueIcon"/>
|
|
4791
|
+
<span>
|
|
4792
|
+
<t t-call="o-spreadsheet-Icon.CARET_DOWN"/>
|
|
4793
|
+
</span>
|
|
4794
|
+
</div>
|
|
4795
|
+
<Popover t-if="dropdown.isOpen" t-props="popoverProps">
|
|
4796
|
+
<div class="o-text-options bg-white" t-on-click.stop="" t-ref="numberList">
|
|
4797
|
+
<t t-foreach="props.valueList" t-as="value" t-key="value">
|
|
4798
|
+
<div t-att-data-size="value" t-on-click="() => this.setValueFromList(value)">
|
|
4799
|
+
<t t-esc="value"/>
|
|
4800
|
+
<t t-esc="props.valueIcon"/>
|
|
4801
|
+
</div>
|
|
4802
|
+
</t>
|
|
4803
|
+
</div>
|
|
4804
|
+
</Popover>
|
|
4805
|
+
</div>
|
|
4806
|
+
</t>
|
|
4807
|
+
|
|
4461
4808
|
<t t-name="o-spreadsheet-Menu-Popover">
|
|
4462
4809
|
<Popover t-if="props.menuItems" t-props="popoverProps">
|
|
4463
|
-
<div
|
|
4810
|
+
<div
|
|
4811
|
+
t-ref="menu"
|
|
4812
|
+
class="o-menu-wrapper bg-white"
|
|
4813
|
+
t-on-mouseover="() => this.onMouseOverMainMenu()">
|
|
4464
4814
|
<Menu t-props="menuProps"/>
|
|
4465
4815
|
</div>
|
|
4466
4816
|
<MenuPopover
|
|
@@ -4482,7 +4832,7 @@
|
|
|
4482
4832
|
<t t-name="o-spreadsheet-Menu">
|
|
4483
4833
|
<div
|
|
4484
4834
|
t-ref="menu"
|
|
4485
|
-
class="o-menu"
|
|
4835
|
+
class="o-menu bg-white"
|
|
4486
4836
|
t-att-style="menuStyle"
|
|
4487
4837
|
t-on-scroll="props.onScroll"
|
|
4488
4838
|
t-on-wheel.stop=""
|
|
@@ -4490,7 +4840,7 @@
|
|
|
4490
4840
|
t-on-click.stop=""
|
|
4491
4841
|
t-on-contextmenu.prevent="">
|
|
4492
4842
|
<t t-foreach="menuItemsAndSeparators" t-as="menuItem" t-key="menuItem_index">
|
|
4493
|
-
<div t-if="menuItem === 'separator'" class="o-separator"/>
|
|
4843
|
+
<div t-if="menuItem === 'separator'" class="o-separator border-bottom"/>
|
|
4494
4844
|
<t t-else="">
|
|
4495
4845
|
<t t-set="isMenuRoot" t-value="isRoot(menuItem)"/>
|
|
4496
4846
|
<t t-set="isMenuEnabled" t-value="isEnabled(menuItem)"/>
|
|
@@ -4539,7 +4889,7 @@
|
|
|
4539
4889
|
|
|
4540
4890
|
<t t-name="o-spreadsheet-LinkEditor">
|
|
4541
4891
|
<div
|
|
4542
|
-
class="o-link-editor"
|
|
4892
|
+
class="o-link-editor bg-white rounded"
|
|
4543
4893
|
t-on-click.stop="() => this.menu.isOpen=false"
|
|
4544
4894
|
t-on-keydown="onKeyDown">
|
|
4545
4895
|
<div class="o-section">
|
|
@@ -4581,7 +4931,7 @@
|
|
|
4581
4931
|
<button
|
|
4582
4932
|
t-if="!link.url"
|
|
4583
4933
|
t-on-click.stop="openMenu"
|
|
4584
|
-
class="o-special-link o-button-icon"
|
|
4934
|
+
class="o-special-link o-button-icon bg-white"
|
|
4585
4935
|
t-ref="linkEditorMenuButton">
|
|
4586
4936
|
<t t-call="o-spreadsheet-Icon.LIST"/>
|
|
4587
4937
|
</button>
|
|
@@ -4604,7 +4954,7 @@
|
|
|
4604
4954
|
</t>
|
|
4605
4955
|
|
|
4606
4956
|
<t t-name="o-spreadsheet-LinkDisplay">
|
|
4607
|
-
<div class="o-link-tool d-flex align-items-center">
|
|
4957
|
+
<div class="o-link-tool d-flex align-items-center bg-white rounded">
|
|
4608
4958
|
<!-- t-key to prevent owl from re-using the previous img element when the link changes.
|
|
4609
4959
|
The wrong/previous image would be displayed while the new one loads -->
|
|
4610
4960
|
<img
|
|
@@ -5394,6 +5744,11 @@
|
|
|
5394
5744
|
<i class="fa fa-search"/>
|
|
5395
5745
|
</div>
|
|
5396
5746
|
</t>
|
|
5747
|
+
<t t-name="o-spreadsheet-Icon.ZOOM">
|
|
5748
|
+
<div class="o-icon">
|
|
5749
|
+
<i class="fa fa-search-plus"/>
|
|
5750
|
+
</div>
|
|
5751
|
+
</t>
|
|
5397
5752
|
<t t-name="o-spreadsheet-Icon.CHECK">
|
|
5398
5753
|
<svg class="o-icon" viewBox="0 0 24 24">
|
|
5399
5754
|
<path
|
|
@@ -5592,6 +5947,7 @@
|
|
|
5592
5947
|
<div class="o-icon">
|
|
5593
5948
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 224 256">
|
|
5594
5949
|
<path
|
|
5950
|
+
fill="currentColor"
|
|
5595
5951
|
d="M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 274.7 86.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"
|
|
5596
5952
|
transform="translate(0, 9) scale(0.5,0.5)"
|
|
5597
5953
|
/>
|
|
@@ -5695,9 +6051,60 @@
|
|
|
5695
6051
|
/>
|
|
5696
6052
|
</svg>
|
|
5697
6053
|
</t>
|
|
6054
|
+
<t t-name="o-spreadsheet-Icon.DARK_MODE">
|
|
6055
|
+
<div class="o-icon">
|
|
6056
|
+
<i class="fa fa-moon-o"/>
|
|
6057
|
+
</div>
|
|
6058
|
+
</t>
|
|
6059
|
+
<t t-name="o-spreadsheet-Icon.ROTATION-0">
|
|
6060
|
+
<svg
|
|
6061
|
+
width="18"
|
|
6062
|
+
height="18"
|
|
6063
|
+
viewBox="0 0 18 18"
|
|
6064
|
+
transform="rotate(270)"
|
|
6065
|
+
xmlns="http://www.w3.org/2000/svg">
|
|
6066
|
+
<path
|
|
6067
|
+
d="M5 2h1v12h1.5l-2 2-2-2H5m6-5h1v5h1.5l-2 2-2-2H11M8 2l7 2.8V6L8 8.8l-.43-1.12 1.9-.7V3.8l-1.9-.7L8 1.98m2.7 2.25v2.3l2.8-1.1z"
|
|
6068
|
+
fill="currentColor"
|
|
6069
|
+
/>
|
|
6070
|
+
</svg>
|
|
6071
|
+
</t>
|
|
6072
|
+
<t t-name="o-spreadsheet-Icon.ROTATION-45">
|
|
6073
|
+
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
|
6074
|
+
<path
|
|
6075
|
+
d="m1.95 6.879.707-.707 8.485 8.485 1.06-1.06v2.828H9.375l1.061-1.061m.706-7.778.707-.707 3.536 3.535 1.06-1.06v2.828h-2.828l1.06-1.06M4.071 4.757l6.93-2.97.848.849-2.97 6.93-1.096-.488.849-1.839-2.249-2.248-1.838.848-.488-1.096m3.5-.318 1.626 1.626 1.203-2.757z"
|
|
6076
|
+
fill="currentColor"
|
|
6077
|
+
/>
|
|
6078
|
+
</svg>
|
|
6079
|
+
</t>
|
|
6080
|
+
<t t-name="o-spreadsheet-Icon.ROTATION-90">
|
|
6081
|
+
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
|
6082
|
+
<path
|
|
6083
|
+
d="M5 2h1v12h1.5l-2 2-2-2H5m6-5h1v5h1.5l-2 2-2-2H11M8 2l7 2.8V6L8 8.8l-.43-1.12 1.9-.7V3.8l-1.9-.7L8 1.98m2.7 2.25v2.3l2.8-1.1z"
|
|
6084
|
+
fill="currentColor"
|
|
6085
|
+
/>
|
|
6086
|
+
</svg>
|
|
6087
|
+
</t>
|
|
6088
|
+
|
|
6089
|
+
<t t-name="o-spreadsheet-Icon.ROTATION-270">
|
|
6090
|
+
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
|
6091
|
+
<path
|
|
6092
|
+
d="M13 16h-1V4h-1.5l2-2 2 2H13M7 9H6V4H4.5l2-2 2 2H7m3 12-7-2.8V12l7-2.8.43 1.12-1.9.7v3.18l1.9.7-.43 1.12m-2.7-2.25v-2.3l-2.8 1.1z"
|
|
6093
|
+
fill="currentColor"
|
|
6094
|
+
/>
|
|
6095
|
+
</svg>
|
|
6096
|
+
</t>
|
|
6097
|
+
<t t-name="o-spreadsheet-Icon.ROTATION-315">
|
|
6098
|
+
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
|
6099
|
+
<path
|
|
6100
|
+
d="m6.879 16.55-.707-.707 8.485-8.485-1.06-1.06h2.828v2.828l-1.061-1.061m-7.778-.707-.707-.707 3.535-3.536-1.06-1.06h2.828v2.828l-1.06-1.06M4.757 14.429l-2.97-6.93.849-.848 6.93 2.97-.488 1.096-1.839-.849-2.248 2.249.848 1.838-1.096.488m-.318-3.5 1.626-1.626-2.757-1.203z"
|
|
6101
|
+
fill="currentColor"
|
|
6102
|
+
/>
|
|
6103
|
+
</svg>
|
|
6104
|
+
</t>
|
|
5698
6105
|
|
|
5699
6106
|
<t t-name="o-spreadsheet-IconPicker">
|
|
5700
|
-
<div class="o-icon-picker">
|
|
6107
|
+
<div class="o-icon-picker bg-white">
|
|
5701
6108
|
<t t-foreach="iconSets" t-as="iconSet" t-key="iconSet">
|
|
5702
6109
|
<div class="o-cf-icon-line">
|
|
5703
6110
|
<div
|
|
@@ -5857,13 +6264,12 @@
|
|
|
5857
6264
|
|
|
5858
6265
|
<t t-name="o-spreadsheet-RowResizer">
|
|
5859
6266
|
<div
|
|
5860
|
-
class="o-row-resizer"
|
|
6267
|
+
class="o-row-resizer o-zoomable"
|
|
5861
6268
|
t-ref="rowResizer"
|
|
5862
6269
|
t-on-pointermove.self="onMouseMove"
|
|
5863
6270
|
t-on-mouseleave="onMouseLeave"
|
|
5864
6271
|
t-on-pointerdown.self.prevent="select"
|
|
5865
6272
|
t-on-click="onClick"
|
|
5866
|
-
t-on-pointerup.self="onMouseUp"
|
|
5867
6273
|
t-on-contextmenu.self="onContextMenu"
|
|
5868
6274
|
t-att-class="{'o-grab': state.waitingForMove, 'o-dragging': state.isMoving}">
|
|
5869
6275
|
<div
|
|
@@ -5901,13 +6307,12 @@
|
|
|
5901
6307
|
|
|
5902
6308
|
<t t-name="o-spreadsheet-ColResizer">
|
|
5903
6309
|
<div
|
|
5904
|
-
class="o-col-resizer d-flex"
|
|
6310
|
+
class="o-col-resizer d-flex o-zoomable"
|
|
5905
6311
|
t-ref="colResizer"
|
|
5906
6312
|
t-on-pointermove.self="onMouseMove"
|
|
5907
6313
|
t-on-mouseleave="onMouseLeave"
|
|
5908
6314
|
t-on-pointerdown.self.prevent="select"
|
|
5909
6315
|
t-on-click="onClick"
|
|
5910
|
-
t-on-pointerup.self="onMouseUp"
|
|
5911
6316
|
t-on-contextmenu.self="onContextMenu"
|
|
5912
6317
|
t-att-class="{'o-grab': state.waitingForMove, 'o-dragging': state.isMoving, }">
|
|
5913
6318
|
<div
|
|
@@ -6056,11 +6461,11 @@
|
|
|
6056
6461
|
|
|
6057
6462
|
<t t-name="o-spreadsheet-GridOverlay">
|
|
6058
6463
|
<div class="position-absolute" t-att-style="style">
|
|
6059
|
-
<FiguresContainer
|
|
6464
|
+
<FiguresContainer/>
|
|
6060
6465
|
</div>
|
|
6061
6466
|
<div
|
|
6062
6467
|
t-ref="gridOverlay"
|
|
6063
|
-
class="o-grid-overlay overflow-hidden"
|
|
6468
|
+
class="o-grid-overlay overflow-hidden o-zoomable"
|
|
6064
6469
|
t-att-class="{'o-paint-format-cursor': isPaintingFormat}"
|
|
6065
6470
|
t-att-style="style"
|
|
6066
6471
|
t-on-pointerdown="onPointerDown"
|
|
@@ -6071,7 +6476,6 @@
|
|
|
6071
6476
|
<GridAddRowsFooter
|
|
6072
6477
|
t-if="!env.model.getters.isReadonly()"
|
|
6073
6478
|
t-key="env.model.getters.getActiveSheetId()"
|
|
6074
|
-
focusGrid="props.onFigureDeleted"
|
|
6075
6479
|
/>
|
|
6076
6480
|
<t t-slot="default"/>
|
|
6077
6481
|
</div>
|
|
@@ -6085,7 +6489,8 @@
|
|
|
6085
6489
|
<button
|
|
6086
6490
|
t-on-click="onConfirm"
|
|
6087
6491
|
t-att-disabled="state.errorFlag"
|
|
6088
|
-
class="o-button flex-grow-0 me-2"
|
|
6492
|
+
class="o-button flex-grow-0 me-2"
|
|
6493
|
+
tabindex="-1">
|
|
6089
6494
|
Add
|
|
6090
6495
|
</button>
|
|
6091
6496
|
<input
|
|
@@ -6097,6 +6502,7 @@
|
|
|
6097
6502
|
t-on-keydown.stop="onKeydown"
|
|
6098
6503
|
t-on-pointerdown.stop=""
|
|
6099
6504
|
t-on-input.stop="onInput"
|
|
6505
|
+
tabindex="-1"
|
|
6100
6506
|
/>
|
|
6101
6507
|
<span>more rows at the bottom</span>
|
|
6102
6508
|
<ValidationMessages t-if="state.errorFlag" messages="errorMessages" msgType="'error'"/>
|
|
@@ -6105,7 +6511,7 @@
|
|
|
6105
6511
|
|
|
6106
6512
|
<t t-name="o-spreadsheet-Grid">
|
|
6107
6513
|
<div
|
|
6108
|
-
class="o-grid w-100 h-100"
|
|
6514
|
+
class="o-grid w-100 h-100 o-zoomable"
|
|
6109
6515
|
tabindex="-1"
|
|
6110
6516
|
composerFocusableElement="true"
|
|
6111
6517
|
t-on-click="focusDefaultElement"
|
|
@@ -6119,8 +6525,6 @@
|
|
|
6119
6525
|
onGridResized.bind="onGridResized"
|
|
6120
6526
|
onGridMoved.bind="moveCanvas"
|
|
6121
6527
|
gridOverlayDimensions="gridOverlayDimensions"
|
|
6122
|
-
onFigureDeleted.bind="focusDefaultElement"
|
|
6123
|
-
getGridSize="props.getGridSize"
|
|
6124
6528
|
/>
|
|
6125
6529
|
<HeadersOverlay onOpenContextMenu="(type, x, y) => this.toggleContextMenu(type, x, y)"/>
|
|
6126
6530
|
<GridComposer
|
|
@@ -6168,7 +6572,7 @@
|
|
|
6168
6572
|
</t>
|
|
6169
6573
|
<VerticalScrollBar topOffset="HEADER_HEIGHT"/>
|
|
6170
6574
|
<HorizontalScrollBar leftOffset="HEADER_WIDTH"/>
|
|
6171
|
-
<div class="o-scrollbar corner"/>
|
|
6575
|
+
<div class="o-scrollbar corner border-top border-start"/>
|
|
6172
6576
|
</div>
|
|
6173
6577
|
</t>
|
|
6174
6578
|
|
|
@@ -6196,7 +6600,6 @@
|
|
|
6196
6600
|
t-component="figureComponent"
|
|
6197
6601
|
figureUI="figureUI"
|
|
6198
6602
|
isFullScreen="true"
|
|
6199
|
-
onFigureDeleted="() => {}"
|
|
6200
6603
|
t-key="figureUI.id"
|
|
6201
6604
|
/>
|
|
6202
6605
|
</t>
|
|
@@ -6206,40 +6609,17 @@
|
|
|
6206
6609
|
</t>
|
|
6207
6610
|
|
|
6208
6611
|
<t t-name="o-spreadsheet-FontSizeEditor">
|
|
6209
|
-
<
|
|
6210
|
-
|
|
6211
|
-
|
|
6212
|
-
|
|
6213
|
-
|
|
6214
|
-
|
|
6215
|
-
|
|
6216
|
-
|
|
6217
|
-
|
|
6218
|
-
|
|
6219
|
-
|
|
6220
|
-
t-on-keydown="onInputKeydown"
|
|
6221
|
-
t-on-wheel.prevent.stop=""
|
|
6222
|
-
t-on-click.stop="props.onFocusInput"
|
|
6223
|
-
t-on-focus.stop="onInputFocused"
|
|
6224
|
-
t-on-change="setSizeFromInput"
|
|
6225
|
-
t-ref="inputFontSize"
|
|
6226
|
-
/>
|
|
6227
|
-
<span>
|
|
6228
|
-
<t t-call="o-spreadsheet-Icon.CARET_DOWN"/>
|
|
6229
|
-
</span>
|
|
6230
|
-
</div>
|
|
6231
|
-
<Popover t-if="dropdown.isOpen" t-props="popoverProps">
|
|
6232
|
-
<div class="o-text-options bg-white" t-on-click.stop="" t-ref="fontSizeList">
|
|
6233
|
-
<t t-foreach="fontSizes" t-as="fontSize" t-key="fontSize">
|
|
6234
|
-
<div
|
|
6235
|
-
t-esc="fontSize"
|
|
6236
|
-
t-att-data-size="fontSize"
|
|
6237
|
-
t-on-click="() => this.setSizeFromList(fontSize)"
|
|
6238
|
-
/>
|
|
6239
|
-
</t>
|
|
6240
|
-
</div>
|
|
6241
|
-
</Popover>
|
|
6242
|
-
</div>
|
|
6612
|
+
<NumberEditor
|
|
6613
|
+
currentValue="props.currentFontSize"
|
|
6614
|
+
onValueChange="props.onFontSizeChanged"
|
|
6615
|
+
class="props.class"
|
|
6616
|
+
onToggle="props.onToggle"
|
|
6617
|
+
onFocusInput="props.onFocusInput"
|
|
6618
|
+
min="1"
|
|
6619
|
+
max="400"
|
|
6620
|
+
valueList="fontSizes"
|
|
6621
|
+
title.translate="Font Size"
|
|
6622
|
+
/>
|
|
6243
6623
|
</t>
|
|
6244
6624
|
|
|
6245
6625
|
<t t-name="o-spreadsheet-FilterMenuValueList">
|
|
@@ -6261,7 +6641,7 @@
|
|
|
6261
6641
|
</i>
|
|
6262
6642
|
</div>
|
|
6263
6643
|
<div
|
|
6264
|
-
class="o-filter-menu-list d-flex flex-column"
|
|
6644
|
+
class="o-filter-menu-list d-flex flex-column border"
|
|
6265
6645
|
t-ref="filterValueList"
|
|
6266
6646
|
t-on-click="this.clearScrolledToValue"
|
|
6267
6647
|
t-on-scroll="this.clearScrolledToValue">
|
|
@@ -6304,8 +6684,9 @@
|
|
|
6304
6684
|
name="value.toString()"
|
|
6305
6685
|
value="this.props.isChecked"
|
|
6306
6686
|
onChange="this.props.onClick"
|
|
6307
|
-
className="'p-2 w-100 pe-auto
|
|
6687
|
+
className="'p-2 w-100 pe-auto'"
|
|
6308
6688
|
label="value.toString()"
|
|
6689
|
+
title="value.toString()"
|
|
6309
6690
|
/>
|
|
6310
6691
|
</div>
|
|
6311
6692
|
</t>
|
|
@@ -6324,6 +6705,7 @@
|
|
|
6324
6705
|
criterion="state.criterion"
|
|
6325
6706
|
onCriterionChanged.bind="onCriterionChanged"
|
|
6326
6707
|
disableFormulas="true"
|
|
6708
|
+
autofocus="true"
|
|
6327
6709
|
/>
|
|
6328
6710
|
</t>
|
|
6329
6711
|
|
|
@@ -6344,7 +6726,7 @@
|
|
|
6344
6726
|
</div>
|
|
6345
6727
|
</t>
|
|
6346
6728
|
<div class="o-filter-menu-content">
|
|
6347
|
-
<div class="o-separator"/>
|
|
6729
|
+
<div class="o-separator border-bottom"/>
|
|
6348
6730
|
<SidePanelCollapsible
|
|
6349
6731
|
isInitiallyCollapsed="filterValueType !== 'criterion'"
|
|
6350
6732
|
title.translate="Filter by criterion">
|
|
@@ -6395,7 +6777,6 @@
|
|
|
6395
6777
|
t-att-style="container.inverseViewportStyle">
|
|
6396
6778
|
<t t-foreach="container.figures" t-as="figureUI" t-key="figureUI.id">
|
|
6397
6779
|
<FigureComponent
|
|
6398
|
-
onFigureDeleted="this.props.onFigureDeleted"
|
|
6399
6780
|
figureUI="figureUI"
|
|
6400
6781
|
style="getFigureStyle(figureUI)"
|
|
6401
6782
|
class="getFigureClass(figureUI)"
|
|
@@ -6542,7 +6923,6 @@
|
|
|
6542
6923
|
<t
|
|
6543
6924
|
t-component="figureRegistry.get(props.figureUI.tag).Component"
|
|
6544
6925
|
t-key="props.figureUI.id"
|
|
6545
|
-
onFigureDeleted="props.onFigureDeleted"
|
|
6546
6926
|
figureUI="props.figureUI"
|
|
6547
6927
|
editFigureStyle.bind="editWrapperStyle"
|
|
6548
6928
|
openContextMenu.bind="openContextMenu"
|
|
@@ -6679,21 +7059,24 @@
|
|
|
6679
7059
|
<div t-att-style="containerStyle">
|
|
6680
7060
|
<canvas class="o-figure-canvas w-100 h-100" t-ref="graphContainer"/>
|
|
6681
7061
|
</div>
|
|
6682
|
-
<div
|
|
7062
|
+
<div
|
|
7063
|
+
t-if="sliceable"
|
|
7064
|
+
class="o-master-chart-container m-0"
|
|
7065
|
+
t-att-style="masterChartContainerStyle">
|
|
6683
7066
|
<canvas
|
|
6684
7067
|
class="o-figure-canvas o-master-chart-canvas w-100 h-100"
|
|
6685
7068
|
t-ref="masterChartCanvas"
|
|
6686
|
-
t-on-dblclick="
|
|
6687
|
-
t-on-pointerdown="
|
|
6688
|
-
t-on-pointermove="
|
|
6689
|
-
t-on-mouseleave="
|
|
7069
|
+
t-on-dblclick="onMasterChartDoubleClick"
|
|
7070
|
+
t-on-pointerdown="onMasterChartPointerDown"
|
|
7071
|
+
t-on-pointermove="onMasterChartPointerMove"
|
|
7072
|
+
t-on-mouseleave="onMasterChartMouseLeave"
|
|
6690
7073
|
/>
|
|
6691
7074
|
</div>
|
|
6692
7075
|
</div>
|
|
6693
7076
|
</t>
|
|
6694
7077
|
|
|
6695
7078
|
<t t-name="o-spreadsheet-ErrorToolTip">
|
|
6696
|
-
<div class="o-error-tooltip">
|
|
7079
|
+
<div class="o-error-tooltip bg-white">
|
|
6697
7080
|
<t t-if="evaluationError">
|
|
6698
7081
|
<div class="o-error-tooltip-title fw-bold text-danger">Error</div>
|
|
6699
7082
|
<div class="o-error-tooltip-message">
|
|
@@ -6724,8 +7107,7 @@
|
|
|
6724
7107
|
<GridOverlay
|
|
6725
7108
|
onGridResized.bind="onGridResized"
|
|
6726
7109
|
onGridMoved.bind="moveCanvas"
|
|
6727
|
-
gridOverlayDimensions="gridOverlayDimensions"
|
|
6728
|
-
getGridSize="props.getGridSize">
|
|
7110
|
+
gridOverlayDimensions="gridOverlayDimensions">
|
|
6729
7111
|
<div
|
|
6730
7112
|
t-foreach="getClickableCells()"
|
|
6731
7113
|
t-as="clickableCell"
|
|
@@ -6770,7 +7152,7 @@
|
|
|
6770
7152
|
<t t-name="o-spreadsheet-TopBarComposer">
|
|
6771
7153
|
<div class="o-topbar-composer-container w-100">
|
|
6772
7154
|
<div
|
|
6773
|
-
class="o-topbar-composer position-relative bg-white user-select-text d-flex"
|
|
7155
|
+
class="o-topbar-composer position-relative bg-white user-select-text d-flex border"
|
|
6774
7156
|
t-att-class="{
|
|
6775
7157
|
'o-topbar-composer-readonly': env.model.getters.isReadonly(),
|
|
6776
7158
|
'o-topbar-composer-active': focus !== 'inactive',
|
|
@@ -6793,7 +7175,7 @@
|
|
|
6793
7175
|
|
|
6794
7176
|
<t t-name="o-spreadsheet-StandaloneComposer">
|
|
6795
7177
|
<div
|
|
6796
|
-
class="o-standalone-composer"
|
|
7178
|
+
class="o-standalone-composer border-bottom"
|
|
6797
7179
|
t-on-click.stop=""
|
|
6798
7180
|
t-att-class="containerClass"
|
|
6799
7181
|
t-att-title="props.title">
|
|
@@ -6810,7 +7192,7 @@
|
|
|
6810
7192
|
|
|
6811
7193
|
<t t-name="o-spreadsheet-SpeechBubble">
|
|
6812
7194
|
<t t-portal="'.o-spreadsheet'">
|
|
6813
|
-
<div class="o-speech-bubble position-absolute px-3" t-ref="bubble">
|
|
7195
|
+
<div class="o-speech-bubble position-absolute px-3 border" t-ref="bubble">
|
|
6814
7196
|
<div class="o-speech-content text-truncate pb-1" t-esc="props.content"/>
|
|
6815
7197
|
</div>
|
|
6816
7198
|
</t>
|
|
@@ -6818,7 +7200,7 @@
|
|
|
6818
7200
|
|
|
6819
7201
|
<t t-name="o-spreadsheet-GridComposer">
|
|
6820
7202
|
<div
|
|
6821
|
-
class="o-cell-reference"
|
|
7203
|
+
class="o-cell-reference rounded"
|
|
6822
7204
|
t-if="shouldDisplayCellReference"
|
|
6823
7205
|
t-att-style="cellReferenceStyle"
|
|
6824
7206
|
t-esc="cellReference"
|
|
@@ -6829,30 +7211,28 @@
|
|
|
6829
7211
|
</t>
|
|
6830
7212
|
|
|
6831
7213
|
<t t-name="o-spreadsheet-FunctionDescriptionProvider">
|
|
6832
|
-
<div
|
|
7214
|
+
<div
|
|
7215
|
+
class="o-formula-assistant-container shadow"
|
|
7216
|
+
tabindex="-1"
|
|
7217
|
+
t-on-pointerdown=""
|
|
7218
|
+
t-on-pointerup.stop=""
|
|
7219
|
+
t-on-keydown.stop=""
|
|
7220
|
+
t-on-click.stop="">
|
|
6833
7221
|
<t t-set="context" t-value="getContext()"/>
|
|
6834
|
-
<div class="o-formula-assistant" t-if="context.functionDescription.name">
|
|
7222
|
+
<div class="o-formula-assistant bg-white" t-if="context.functionDescription.name">
|
|
6835
7223
|
<div class="o-formula-assistant-head d-flex flex-row justify-content-between">
|
|
6836
7224
|
<div>
|
|
6837
|
-
<
|
|
6838
|
-
(
|
|
6839
|
-
<t t-foreach="context.functionDescription.args" t-as="arg" t-key="arg.name">
|
|
6840
|
-
<span t-if="arg_index > '0'" t-esc="formulaArgSeparator"/>
|
|
7225
|
+
<t t-foreach="formulaHeaderContent" t-as="part" t-key="part_index">
|
|
6841
7226
|
<span
|
|
6842
|
-
t-
|
|
6843
|
-
|
|
6844
|
-
|
|
6845
|
-
<span t-esc="arg.name"/>
|
|
6846
|
-
<span t-if="arg.repeating">, ...</span>
|
|
6847
|
-
<span t-if="arg.optional || arg.repeating || arg.default">]</span>
|
|
6848
|
-
</span>
|
|
6849
|
-
</span>
|
|
7227
|
+
t-esc="part.content"
|
|
7228
|
+
t-att-class="part.focused ? 'o-formula-assistant-focus' : ''"
|
|
7229
|
+
/>
|
|
6850
7230
|
</t>
|
|
6851
|
-
)
|
|
6852
7231
|
</div>
|
|
6853
7232
|
<div
|
|
6854
7233
|
class="collapsor px-2 d-flex align-items-center rounded"
|
|
6855
7234
|
t-att-class="state.isCollapsed ? 'collapsed' : ''"
|
|
7235
|
+
t-on-pointerdown.prevent=""
|
|
6856
7236
|
t-on-click="() => this.toggle()">
|
|
6857
7237
|
<span class="collapsor-arrow d-inline-block">
|
|
6858
7238
|
<t t-call="o-spreadsheet-Icon.ANGLE_DOWN"/>
|
|
@@ -6861,27 +7241,34 @@
|
|
|
6861
7241
|
</div>
|
|
6862
7242
|
|
|
6863
7243
|
<Collapse isCollapsed="state.isCollapsed">
|
|
6864
|
-
<div class="o-formula-assistant-core pb-3 m-3">
|
|
7244
|
+
<div class="o-formula-assistant-core pb-3 m-3 border-bottom">
|
|
6865
7245
|
<div class="o-formula-assistant-gray">ABOUT</div>
|
|
6866
7246
|
<div t-esc="context.functionDescription.description"/>
|
|
6867
7247
|
</div>
|
|
6868
7248
|
|
|
7249
|
+
<t
|
|
7250
|
+
t-set="firstRepeatableGroupOptional"
|
|
7251
|
+
t-value="context.functionDescription.args.some(arg => arg.repeating and arg.optional)"
|
|
7252
|
+
/>
|
|
7253
|
+
|
|
6869
7254
|
<t t-foreach="context.functionDescription.args" t-as="arg" t-key="arg.name">
|
|
6870
7255
|
<div
|
|
6871
7256
|
class="o-formula-assistant-arg p-3 pt-0 display-flex flex-column"
|
|
6872
|
-
t-att-class="{
|
|
6873
|
-
|
|
6874
|
-
|
|
6875
|
-
|
|
6876
|
-
|
|
6877
|
-
|
|
7257
|
+
t-att-class="{'o-formula-assistant-gray': context.argsToFocus.length > 0}">
|
|
7258
|
+
<div
|
|
7259
|
+
t-att-class="{'o-formula-assistant-focus': context.argsToFocus.includes(arg_index)}">
|
|
7260
|
+
<span t-if="arg.repeating">
|
|
7261
|
+
<span t-esc="arg.name + (context.repeatingArgGroupIndex + 1)"/>
|
|
7262
|
+
</span>
|
|
7263
|
+
<span t-else="">
|
|
7264
|
+
<span t-esc="arg.name"/>
|
|
7265
|
+
</span>
|
|
6878
7266
|
<span
|
|
6879
|
-
t-if="arg.optional || arg.
|
|
7267
|
+
t-if="arg.optional || arg.default || (arg.repeating and (firstRepeatableGroupOptional or context.repeatingArgGroupIndex > 0))"> - [optional] </span>
|
|
6880
7268
|
<span t-if="arg.default">
|
|
6881
7269
|
<span>default: </span>
|
|
6882
7270
|
<t t-esc="arg.defaultValue"/>
|
|
6883
7271
|
</span>
|
|
6884
|
-
<span t-if="arg.repeating">repeatable</span>
|
|
6885
7272
|
</div>
|
|
6886
7273
|
<div class="o-formula-assistant-arg-description" t-esc="arg.description"/>
|
|
6887
7274
|
</div>
|
|
@@ -6892,7 +7279,7 @@
|
|
|
6892
7279
|
</t>
|
|
6893
7280
|
|
|
6894
7281
|
<t t-name="o-spreadsheet-Composer">
|
|
6895
|
-
<div class="o-composer-container w-100 h-100">
|
|
7282
|
+
<div class="o-composer-container w-100 h-100" t-ref="composerContainer">
|
|
6896
7283
|
<t t-set="autoCompleteProposals" t-value="props.composerStore.autoCompleteProposals"/>
|
|
6897
7284
|
<t t-set="canBeToggled" t-value="props.composerStore.canBeToggled"/>
|
|
6898
7285
|
<t
|
|
@@ -6904,10 +7291,9 @@
|
|
|
6904
7291
|
t-if="props.focus !== 'inactive' and assistantIsAvailable and canBeToggled and assistant.forcedClosed"
|
|
6905
7292
|
role="button"
|
|
6906
7293
|
title="Show formula help"
|
|
6907
|
-
t-on-click="openAssistant"
|
|
7294
|
+
t-on-click.stop="openAssistant"
|
|
6908
7295
|
t-on-pointerdown.prevent.stop=""
|
|
6909
|
-
t-on-
|
|
6910
|
-
t-on-pointerup.prevent.stop=""
|
|
7296
|
+
t-on-pointerup.stop=""
|
|
6911
7297
|
class="fa-stack position-absolute translate-middle force-open-assistant fs-4">
|
|
6912
7298
|
<i class="fa fa-circle fa-stack-1x fa-inverse"/>
|
|
6913
7299
|
<i class="fa fa-question-circle fa-stack-1x"/>
|
|
@@ -6943,22 +7329,24 @@
|
|
|
6943
7329
|
t-att-style="assistantContainerStyle"
|
|
6944
7330
|
t-if="props.focus !== 'inactive' and assistantIsAvailable and !(canBeToggled and assistant.forcedClosed)"
|
|
6945
7331
|
t-on-wheel.stop=""
|
|
6946
|
-
t-on-pointerdown.
|
|
6947
|
-
t-on-pointerup.
|
|
6948
|
-
t-on-click.
|
|
7332
|
+
t-on-pointerdown.stop=""
|
|
7333
|
+
t-on-pointerup.stop=""
|
|
7334
|
+
t-on-click.stop="">
|
|
6949
7335
|
<span
|
|
6950
7336
|
t-if="canBeToggled and !assistant.forcedClosed"
|
|
6951
7337
|
role="button"
|
|
6952
7338
|
t-on-click="closeAssistant"
|
|
7339
|
+
t-on-pointerdown.prevent.stop=""
|
|
6953
7340
|
class="fa-stack position-absolute top-0 start-100 translate-middle fs-4">
|
|
6954
7341
|
<i class="fa fa-circle fa-stack-1x fa-inverse"/>
|
|
6955
|
-
<i class="fa fa-times-circle fa-stack-1x
|
|
7342
|
+
<i class="fa fa-times-circle fa-stack-1x"/>
|
|
6956
7343
|
</span>
|
|
6957
7344
|
<div class="o-composer-assistant overflow-auto" t-att-style="assistantStyle">
|
|
6958
7345
|
<FunctionDescriptionProvider
|
|
6959
7346
|
t-if="functionDescriptionState.showDescription"
|
|
6960
7347
|
functionDescription="functionDescriptionState.functionDescription"
|
|
6961
7348
|
argsToFocus="functionDescriptionState.argsToFocus"
|
|
7349
|
+
repeatingArgGroupIndex="functionDescriptionState.repeatingArgGroupIndex"
|
|
6962
7350
|
/>
|
|
6963
7351
|
<div
|
|
6964
7352
|
t-if="functionDescriptionState.showDescription and autoCompleteProposals.length"
|
|
@@ -6984,8 +7372,9 @@
|
|
|
6984
7372
|
<t t-name="o-spreadsheet-TextValueProvider">
|
|
6985
7373
|
<div
|
|
6986
7374
|
t-ref="autoCompleteList"
|
|
7375
|
+
t-on-pointerdown.prevent=""
|
|
6987
7376
|
t-att-class="{
|
|
6988
|
-
'o-autocomplete-dropdown': props.proposals.length}">
|
|
7377
|
+
'o-autocomplete-dropdown bg-white': props.proposals.length}">
|
|
6989
7378
|
<t t-foreach="props.proposals" t-as="proposal" t-key="proposal.text + proposal_index">
|
|
6990
7379
|
<div
|
|
6991
7380
|
class="d-flex flex-column text-start"
|
|
@@ -7038,7 +7427,7 @@
|
|
|
7038
7427
|
|
|
7039
7428
|
<t t-name="o-spreadsheet-ColorPicker">
|
|
7040
7429
|
<Popover t-props="popoverProps">
|
|
7041
|
-
<div class="o-color-picker" t-on-click.stop="" t-att-style="colorPickerStyle">
|
|
7430
|
+
<div class="o-color-picker bg-white" t-on-click.stop="" t-att-style="colorPickerStyle">
|
|
7042
7431
|
<div class="o-color-picker-section-name">Standard</div>
|
|
7043
7432
|
<div class="colors-grid">
|
|
7044
7433
|
<div
|
|
@@ -7057,14 +7446,14 @@
|
|
|
7057
7446
|
</div>
|
|
7058
7447
|
</div>
|
|
7059
7448
|
</div>
|
|
7060
|
-
<div class="o-separator"/>
|
|
7449
|
+
<div class="o-separator border-bottom"/>
|
|
7061
7450
|
<div
|
|
7062
7451
|
class="o-color-picker-section-name o-color-picker-toggler"
|
|
7063
7452
|
t-on-click="toggleColorPicker">
|
|
7064
7453
|
<span>Custom</span>
|
|
7065
7454
|
</div>
|
|
7066
7455
|
<div class="colors-grid o-color-picker-toggler" t-on-click.stop="toggleColorPicker">
|
|
7067
|
-
<div class="o-color-picker-line-item o-color-picker-toggler-button">
|
|
7456
|
+
<div class="o-color-picker-line-item bg-white o-color-picker-toggler-button">
|
|
7068
7457
|
<div class="o-color-picker-toggler-sign">
|
|
7069
7458
|
<t t-call="o-spreadsheet-Icon.PLUS"/>
|
|
7070
7459
|
</div>
|
|
@@ -7096,7 +7485,7 @@
|
|
|
7096
7485
|
<div class="magnifier pe-none" t-att-style="pointerStyle"/>
|
|
7097
7486
|
</div>
|
|
7098
7487
|
<div class="o-hue-container" t-on-pointerdown="dragHuePointer">
|
|
7099
|
-
<div class="o-hue-picker" t-on-click.stop=""/>
|
|
7488
|
+
<div class="o-hue-picker border rounded" t-on-click.stop=""/>
|
|
7100
7489
|
<div class="o-hue-slider pe-none" t-att-style="sliderStyle">
|
|
7101
7490
|
<t t-call="o-spreadsheet-Icon.CARET_UP"/>
|
|
7102
7491
|
</div>
|
|
@@ -7104,16 +7493,17 @@
|
|
|
7104
7493
|
<div class="o-custom-input-preview">
|
|
7105
7494
|
<input
|
|
7106
7495
|
type="text"
|
|
7496
|
+
class="border rounded"
|
|
7107
7497
|
t-att-class="{'o-wrong-color': !isHexColorInputValid }"
|
|
7108
7498
|
t-on-click.stop=""
|
|
7109
7499
|
t-att-value="state.customHexColor"
|
|
7110
7500
|
t-on-input="setHexColor"
|
|
7111
7501
|
/>
|
|
7112
|
-
<div class="o-color-preview" t-att-style="colorPreviewStyle"/>
|
|
7502
|
+
<div class="o-color-preview border rounded" t-att-style="colorPreviewStyle"/>
|
|
7113
7503
|
</div>
|
|
7114
7504
|
<div class="o-custom-input-buttons">
|
|
7115
7505
|
<button
|
|
7116
|
-
class="o-add-button"
|
|
7506
|
+
class="o-add-button border rounded"
|
|
7117
7507
|
t-att-class="{'o-disabled': !state.customHexColor or !isHexColorInputValid}"
|
|
7118
7508
|
t-on-click.stop="addCustomColor">
|
|
7119
7509
|
Add
|
|
@@ -7121,9 +7511,9 @@
|
|
|
7121
7511
|
</div>
|
|
7122
7512
|
</div>
|
|
7123
7513
|
<t t-if="!props.disableNoColor">
|
|
7124
|
-
<div class="o-separator"/>
|
|
7514
|
+
<div class="o-separator border-bottom"/>
|
|
7125
7515
|
<div class="o-buttons">
|
|
7126
|
-
<button t-on-click="resetColor" class="o-cancel">No Color</button>
|
|
7516
|
+
<button t-on-click="resetColor" class="o-cancel border rounded">No Color</button>
|
|
7127
7517
|
</div>
|
|
7128
7518
|
</t>
|
|
7129
7519
|
</div>
|
|
@@ -7136,7 +7526,7 @@
|
|
|
7136
7526
|
|
|
7137
7527
|
<t t-name="o-spreadsheet-BottomBar">
|
|
7138
7528
|
<div
|
|
7139
|
-
class="o-spreadsheet-bottom-bar o-two-columns d-flex flex-fill align-items-center overflow-hidden"
|
|
7529
|
+
class="o-spreadsheet-bottom-bar o-two-columns d-flex flex-fill align-items-center overflow-hidden border-top"
|
|
7140
7530
|
t-on-click="props.onClick"
|
|
7141
7531
|
t-ref="bottomBar"
|
|
7142
7532
|
t-on-contextmenu.prevent="">
|
|
@@ -7248,13 +7638,14 @@
|
|
|
7248
7638
|
<t t-name="o-spreadsheet-BottomBarSheet">
|
|
7249
7639
|
<Ripple>
|
|
7250
7640
|
<div
|
|
7251
|
-
class="o-sheet d-flex align-items-center user-select-none text-nowrap "
|
|
7641
|
+
class="o-sheet d-flex align-items-center user-select-none text-nowrap border-start border-end"
|
|
7252
7642
|
tabindex="-1"
|
|
7253
7643
|
composerFocusableElement="true"
|
|
7254
7644
|
t-on-pointerdown="(ev) => this.onMouseDown(ev)"
|
|
7255
7645
|
t-on-click="onClick"
|
|
7256
7646
|
t-on-contextmenu.prevent="(ev) => this.onContextMenu(ev)"
|
|
7257
7647
|
t-ref="sheetDiv"
|
|
7648
|
+
t-key="sheetName"
|
|
7258
7649
|
t-att-style="props.style"
|
|
7259
7650
|
t-att-title="sheetName"
|
|
7260
7651
|
t-att-data-id="props.sheetId"
|
|
@@ -7321,7 +7712,7 @@
|
|
|
7321
7712
|
<t t-set="border_color">Border Color</t>
|
|
7322
7713
|
<Popover t-props="popoverProps">
|
|
7323
7714
|
<div
|
|
7324
|
-
class="d-flex o-border-selector"
|
|
7715
|
+
class="d-flex o-border-selector bg-white"
|
|
7325
7716
|
t-on-click.stop=""
|
|
7326
7717
|
t-att-class="props.class ? props.class : ''">
|
|
7327
7718
|
<div class="o-border-selector-section">
|
|
@@ -7342,7 +7733,7 @@
|
|
|
7342
7733
|
</span>
|
|
7343
7734
|
</div>
|
|
7344
7735
|
</div>
|
|
7345
|
-
<div class="o-divider"/>
|
|
7736
|
+
<div class="o-divider border-end"/>
|
|
7346
7737
|
<div class="o-border-selector-section">
|
|
7347
7738
|
<div
|
|
7348
7739
|
class="m-0 p-0 d-flex align-items-center justify-content-center o-with-color o-hoverable-button"
|
|
@@ -7370,7 +7761,7 @@
|
|
|
7370
7761
|
<Popover
|
|
7371
7762
|
t-props="lineStylePickerPopoverProps"
|
|
7372
7763
|
t-if="state.activeTool === 'borderTypeTool'">
|
|
7373
|
-
<div class="o-border-style-dropdown">
|
|
7764
|
+
<div class="o-border-style-dropdown bg-white">
|
|
7374
7765
|
<t t-foreach="borderStyles" t-as="borderStyle" t-key="borderStyle">
|
|
7375
7766
|
<div
|
|
7376
7767
|
t-att-title="borderStyle"
|