@odoo/o-spreadsheet 19.1.0-alpha.9 → 19.1.1
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 +136 -53
- package/dist/o-spreadsheet-engine.esm.js +10527 -9595
- package/dist/o-spreadsheet-engine.iife.js +10527 -9594
- package/dist/o-spreadsheet-engine.min.iife.js +313 -313
- package/dist/o-spreadsheet.d.ts +730 -899
- package/dist/o_spreadsheet.css +3293 -0
- package/dist/o_spreadsheet.esm.js +49484 -39495
- package/dist/o_spreadsheet.iife.js +97911 -87922
- package/dist/o_spreadsheet.min.iife.js +335 -317
- package/dist/o_spreadsheet.xml +910 -517
- 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 2025-
|
|
6
|
-
@hash
|
|
4
|
+
@version 19.1.1
|
|
5
|
+
@date 2025-12-26T10:27:38.116Z
|
|
6
|
+
@hash e6313bd
|
|
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,7 +6525,6 @@
|
|
|
6119
6525
|
onGridResized.bind="onGridResized"
|
|
6120
6526
|
onGridMoved.bind="moveCanvas"
|
|
6121
6527
|
gridOverlayDimensions="gridOverlayDimensions"
|
|
6122
|
-
onFigureDeleted.bind="focusDefaultElement"
|
|
6123
6528
|
getGridSize="props.getGridSize"
|
|
6124
6529
|
/>
|
|
6125
6530
|
<HeadersOverlay onOpenContextMenu="(type, x, y) => this.toggleContextMenu(type, x, y)"/>
|
|
@@ -6168,7 +6573,7 @@
|
|
|
6168
6573
|
</t>
|
|
6169
6574
|
<VerticalScrollBar topOffset="HEADER_HEIGHT"/>
|
|
6170
6575
|
<HorizontalScrollBar leftOffset="HEADER_WIDTH"/>
|
|
6171
|
-
<div class="o-scrollbar corner"/>
|
|
6576
|
+
<div class="o-scrollbar corner border-top border-start"/>
|
|
6172
6577
|
</div>
|
|
6173
6578
|
</t>
|
|
6174
6579
|
|
|
@@ -6196,7 +6601,6 @@
|
|
|
6196
6601
|
t-component="figureComponent"
|
|
6197
6602
|
figureUI="figureUI"
|
|
6198
6603
|
isFullScreen="true"
|
|
6199
|
-
onFigureDeleted="() => {}"
|
|
6200
6604
|
t-key="figureUI.id"
|
|
6201
6605
|
/>
|
|
6202
6606
|
</t>
|
|
@@ -6206,40 +6610,17 @@
|
|
|
6206
6610
|
</t>
|
|
6207
6611
|
|
|
6208
6612
|
<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>
|
|
6613
|
+
<NumberEditor
|
|
6614
|
+
currentValue="props.currentFontSize"
|
|
6615
|
+
onValueChange="props.onFontSizeChanged"
|
|
6616
|
+
class="props.class"
|
|
6617
|
+
onToggle="props.onToggle"
|
|
6618
|
+
onFocusInput="props.onFocusInput"
|
|
6619
|
+
min="1"
|
|
6620
|
+
max="400"
|
|
6621
|
+
valueList="fontSizes"
|
|
6622
|
+
title.translate="Font Size"
|
|
6623
|
+
/>
|
|
6243
6624
|
</t>
|
|
6244
6625
|
|
|
6245
6626
|
<t t-name="o-spreadsheet-FilterMenuValueList">
|
|
@@ -6261,7 +6642,7 @@
|
|
|
6261
6642
|
</i>
|
|
6262
6643
|
</div>
|
|
6263
6644
|
<div
|
|
6264
|
-
class="o-filter-menu-list d-flex flex-column"
|
|
6645
|
+
class="o-filter-menu-list d-flex flex-column border"
|
|
6265
6646
|
t-ref="filterValueList"
|
|
6266
6647
|
t-on-click="this.clearScrolledToValue"
|
|
6267
6648
|
t-on-scroll="this.clearScrolledToValue">
|
|
@@ -6304,8 +6685,9 @@
|
|
|
6304
6685
|
name="value.toString()"
|
|
6305
6686
|
value="this.props.isChecked"
|
|
6306
6687
|
onChange="this.props.onClick"
|
|
6307
|
-
className="'p-2 w-100 pe-auto
|
|
6688
|
+
className="'p-2 w-100 pe-auto'"
|
|
6308
6689
|
label="value.toString()"
|
|
6690
|
+
title="value.toString()"
|
|
6309
6691
|
/>
|
|
6310
6692
|
</div>
|
|
6311
6693
|
</t>
|
|
@@ -6324,6 +6706,7 @@
|
|
|
6324
6706
|
criterion="state.criterion"
|
|
6325
6707
|
onCriterionChanged.bind="onCriterionChanged"
|
|
6326
6708
|
disableFormulas="true"
|
|
6709
|
+
autofocus="true"
|
|
6327
6710
|
/>
|
|
6328
6711
|
</t>
|
|
6329
6712
|
|
|
@@ -6344,7 +6727,7 @@
|
|
|
6344
6727
|
</div>
|
|
6345
6728
|
</t>
|
|
6346
6729
|
<div class="o-filter-menu-content">
|
|
6347
|
-
<div class="o-separator"/>
|
|
6730
|
+
<div class="o-separator border-bottom"/>
|
|
6348
6731
|
<SidePanelCollapsible
|
|
6349
6732
|
isInitiallyCollapsed="filterValueType !== 'criterion'"
|
|
6350
6733
|
title.translate="Filter by criterion">
|
|
@@ -6395,7 +6778,6 @@
|
|
|
6395
6778
|
t-att-style="container.inverseViewportStyle">
|
|
6396
6779
|
<t t-foreach="container.figures" t-as="figureUI" t-key="figureUI.id">
|
|
6397
6780
|
<FigureComponent
|
|
6398
|
-
onFigureDeleted="this.props.onFigureDeleted"
|
|
6399
6781
|
figureUI="figureUI"
|
|
6400
6782
|
style="getFigureStyle(figureUI)"
|
|
6401
6783
|
class="getFigureClass(figureUI)"
|
|
@@ -6542,7 +6924,6 @@
|
|
|
6542
6924
|
<t
|
|
6543
6925
|
t-component="figureRegistry.get(props.figureUI.tag).Component"
|
|
6544
6926
|
t-key="props.figureUI.id"
|
|
6545
|
-
onFigureDeleted="props.onFigureDeleted"
|
|
6546
6927
|
figureUI="props.figureUI"
|
|
6547
6928
|
editFigureStyle.bind="editWrapperStyle"
|
|
6548
6929
|
openContextMenu.bind="openContextMenu"
|
|
@@ -6679,21 +7060,24 @@
|
|
|
6679
7060
|
<div t-att-style="containerStyle">
|
|
6680
7061
|
<canvas class="o-figure-canvas w-100 h-100" t-ref="graphContainer"/>
|
|
6681
7062
|
</div>
|
|
6682
|
-
<div
|
|
7063
|
+
<div
|
|
7064
|
+
t-if="sliceable"
|
|
7065
|
+
class="o-master-chart-container m-0"
|
|
7066
|
+
t-att-style="masterChartContainerStyle">
|
|
6683
7067
|
<canvas
|
|
6684
7068
|
class="o-figure-canvas o-master-chart-canvas w-100 h-100"
|
|
6685
7069
|
t-ref="masterChartCanvas"
|
|
6686
|
-
t-on-dblclick="
|
|
6687
|
-
t-on-pointerdown="
|
|
6688
|
-
t-on-pointermove="
|
|
6689
|
-
t-on-mouseleave="
|
|
7070
|
+
t-on-dblclick="onMasterChartDoubleClick"
|
|
7071
|
+
t-on-pointerdown="onMasterChartPointerDown"
|
|
7072
|
+
t-on-pointermove="onMasterChartPointerMove"
|
|
7073
|
+
t-on-mouseleave="onMasterChartMouseLeave"
|
|
6690
7074
|
/>
|
|
6691
7075
|
</div>
|
|
6692
7076
|
</div>
|
|
6693
7077
|
</t>
|
|
6694
7078
|
|
|
6695
7079
|
<t t-name="o-spreadsheet-ErrorToolTip">
|
|
6696
|
-
<div class="o-error-tooltip">
|
|
7080
|
+
<div class="o-error-tooltip bg-white">
|
|
6697
7081
|
<t t-if="evaluationError">
|
|
6698
7082
|
<div class="o-error-tooltip-title fw-bold text-danger">Error</div>
|
|
6699
7083
|
<div class="o-error-tooltip-message">
|
|
@@ -6770,7 +7154,7 @@
|
|
|
6770
7154
|
<t t-name="o-spreadsheet-TopBarComposer">
|
|
6771
7155
|
<div class="o-topbar-composer-container w-100">
|
|
6772
7156
|
<div
|
|
6773
|
-
class="o-topbar-composer position-relative bg-white user-select-text d-flex"
|
|
7157
|
+
class="o-topbar-composer position-relative bg-white user-select-text d-flex border"
|
|
6774
7158
|
t-att-class="{
|
|
6775
7159
|
'o-topbar-composer-readonly': env.model.getters.isReadonly(),
|
|
6776
7160
|
'o-topbar-composer-active': focus !== 'inactive',
|
|
@@ -6793,7 +7177,7 @@
|
|
|
6793
7177
|
|
|
6794
7178
|
<t t-name="o-spreadsheet-StandaloneComposer">
|
|
6795
7179
|
<div
|
|
6796
|
-
class="o-standalone-composer"
|
|
7180
|
+
class="o-standalone-composer border-bottom"
|
|
6797
7181
|
t-on-click.stop=""
|
|
6798
7182
|
t-att-class="containerClass"
|
|
6799
7183
|
t-att-title="props.title">
|
|
@@ -6810,7 +7194,7 @@
|
|
|
6810
7194
|
|
|
6811
7195
|
<t t-name="o-spreadsheet-SpeechBubble">
|
|
6812
7196
|
<t t-portal="'.o-spreadsheet'">
|
|
6813
|
-
<div class="o-speech-bubble position-absolute px-3" t-ref="bubble">
|
|
7197
|
+
<div class="o-speech-bubble position-absolute px-3 border" t-ref="bubble">
|
|
6814
7198
|
<div class="o-speech-content text-truncate pb-1" t-esc="props.content"/>
|
|
6815
7199
|
</div>
|
|
6816
7200
|
</t>
|
|
@@ -6818,7 +7202,7 @@
|
|
|
6818
7202
|
|
|
6819
7203
|
<t t-name="o-spreadsheet-GridComposer">
|
|
6820
7204
|
<div
|
|
6821
|
-
class="o-cell-reference"
|
|
7205
|
+
class="o-cell-reference rounded"
|
|
6822
7206
|
t-if="shouldDisplayCellReference"
|
|
6823
7207
|
t-att-style="cellReferenceStyle"
|
|
6824
7208
|
t-esc="cellReference"
|
|
@@ -6829,30 +7213,28 @@
|
|
|
6829
7213
|
</t>
|
|
6830
7214
|
|
|
6831
7215
|
<t t-name="o-spreadsheet-FunctionDescriptionProvider">
|
|
6832
|
-
<div
|
|
7216
|
+
<div
|
|
7217
|
+
class="o-formula-assistant-container shadow"
|
|
7218
|
+
tabindex="-1"
|
|
7219
|
+
t-on-pointerdown=""
|
|
7220
|
+
t-on-pointerup.stop=""
|
|
7221
|
+
t-on-keydown.stop=""
|
|
7222
|
+
t-on-click.stop="">
|
|
6833
7223
|
<t t-set="context" t-value="getContext()"/>
|
|
6834
|
-
<div class="o-formula-assistant" t-if="context.functionDescription.name">
|
|
7224
|
+
<div class="o-formula-assistant bg-white" t-if="context.functionDescription.name">
|
|
6835
7225
|
<div class="o-formula-assistant-head d-flex flex-row justify-content-between">
|
|
6836
7226
|
<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"/>
|
|
7227
|
+
<t t-foreach="formulaHeaderContent" t-as="part" t-key="part_index">
|
|
6841
7228
|
<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>
|
|
7229
|
+
t-esc="part.content"
|
|
7230
|
+
t-att-class="part.focused ? 'o-formula-assistant-focus' : ''"
|
|
7231
|
+
/>
|
|
6850
7232
|
</t>
|
|
6851
|
-
)
|
|
6852
7233
|
</div>
|
|
6853
7234
|
<div
|
|
6854
7235
|
class="collapsor px-2 d-flex align-items-center rounded"
|
|
6855
7236
|
t-att-class="state.isCollapsed ? 'collapsed' : ''"
|
|
7237
|
+
t-on-pointerdown.prevent=""
|
|
6856
7238
|
t-on-click="() => this.toggle()">
|
|
6857
7239
|
<span class="collapsor-arrow d-inline-block">
|
|
6858
7240
|
<t t-call="o-spreadsheet-Icon.ANGLE_DOWN"/>
|
|
@@ -6861,27 +7243,34 @@
|
|
|
6861
7243
|
</div>
|
|
6862
7244
|
|
|
6863
7245
|
<Collapse isCollapsed="state.isCollapsed">
|
|
6864
|
-
<div class="o-formula-assistant-core pb-3 m-3">
|
|
7246
|
+
<div class="o-formula-assistant-core pb-3 m-3 border-bottom">
|
|
6865
7247
|
<div class="o-formula-assistant-gray">ABOUT</div>
|
|
6866
7248
|
<div t-esc="context.functionDescription.description"/>
|
|
6867
7249
|
</div>
|
|
6868
7250
|
|
|
7251
|
+
<t
|
|
7252
|
+
t-set="firstRepeatableGroupOptional"
|
|
7253
|
+
t-value="context.functionDescription.args.some(arg => arg.repeating and arg.optional)"
|
|
7254
|
+
/>
|
|
7255
|
+
|
|
6869
7256
|
<t t-foreach="context.functionDescription.args" t-as="arg" t-key="arg.name">
|
|
6870
7257
|
<div
|
|
6871
7258
|
class="o-formula-assistant-arg p-3 pt-0 display-flex flex-column"
|
|
6872
|
-
t-att-class="{
|
|
6873
|
-
|
|
6874
|
-
|
|
6875
|
-
|
|
6876
|
-
|
|
6877
|
-
|
|
7259
|
+
t-att-class="{'o-formula-assistant-gray': context.argsToFocus.length > 0}">
|
|
7260
|
+
<div
|
|
7261
|
+
t-att-class="{'o-formula-assistant-focus': context.argsToFocus.includes(arg_index)}">
|
|
7262
|
+
<span t-if="arg.repeating">
|
|
7263
|
+
<span t-esc="arg.name + (context.repeatingArgGroupIndex + 1)"/>
|
|
7264
|
+
</span>
|
|
7265
|
+
<span t-else="">
|
|
7266
|
+
<span t-esc="arg.name"/>
|
|
7267
|
+
</span>
|
|
6878
7268
|
<span
|
|
6879
|
-
t-if="arg.optional || arg.
|
|
7269
|
+
t-if="arg.optional || arg.default || (arg.repeating and (firstRepeatableGroupOptional or context.repeatingArgGroupIndex > 0))"> - [optional] </span>
|
|
6880
7270
|
<span t-if="arg.default">
|
|
6881
7271
|
<span>default: </span>
|
|
6882
7272
|
<t t-esc="arg.defaultValue"/>
|
|
6883
7273
|
</span>
|
|
6884
|
-
<span t-if="arg.repeating">repeatable</span>
|
|
6885
7274
|
</div>
|
|
6886
7275
|
<div class="o-formula-assistant-arg-description" t-esc="arg.description"/>
|
|
6887
7276
|
</div>
|
|
@@ -6892,7 +7281,7 @@
|
|
|
6892
7281
|
</t>
|
|
6893
7282
|
|
|
6894
7283
|
<t t-name="o-spreadsheet-Composer">
|
|
6895
|
-
<div class="o-composer-container w-100 h-100">
|
|
7284
|
+
<div class="o-composer-container w-100 h-100" t-ref="composerContainer">
|
|
6896
7285
|
<t t-set="autoCompleteProposals" t-value="props.composerStore.autoCompleteProposals"/>
|
|
6897
7286
|
<t t-set="canBeToggled" t-value="props.composerStore.canBeToggled"/>
|
|
6898
7287
|
<t
|
|
@@ -6904,10 +7293,9 @@
|
|
|
6904
7293
|
t-if="props.focus !== 'inactive' and assistantIsAvailable and canBeToggled and assistant.forcedClosed"
|
|
6905
7294
|
role="button"
|
|
6906
7295
|
title="Show formula help"
|
|
6907
|
-
t-on-click="openAssistant"
|
|
7296
|
+
t-on-click.stop="openAssistant"
|
|
6908
7297
|
t-on-pointerdown.prevent.stop=""
|
|
6909
|
-
t-on-
|
|
6910
|
-
t-on-pointerup.prevent.stop=""
|
|
7298
|
+
t-on-pointerup.stop=""
|
|
6911
7299
|
class="fa-stack position-absolute translate-middle force-open-assistant fs-4">
|
|
6912
7300
|
<i class="fa fa-circle fa-stack-1x fa-inverse"/>
|
|
6913
7301
|
<i class="fa fa-question-circle fa-stack-1x"/>
|
|
@@ -6943,22 +7331,24 @@
|
|
|
6943
7331
|
t-att-style="assistantContainerStyle"
|
|
6944
7332
|
t-if="props.focus !== 'inactive' and assistantIsAvailable and !(canBeToggled and assistant.forcedClosed)"
|
|
6945
7333
|
t-on-wheel.stop=""
|
|
6946
|
-
t-on-pointerdown.
|
|
6947
|
-
t-on-pointerup.
|
|
6948
|
-
t-on-click.
|
|
7334
|
+
t-on-pointerdown.stop=""
|
|
7335
|
+
t-on-pointerup.stop=""
|
|
7336
|
+
t-on-click.stop="">
|
|
6949
7337
|
<span
|
|
6950
7338
|
t-if="canBeToggled and !assistant.forcedClosed"
|
|
6951
7339
|
role="button"
|
|
6952
7340
|
t-on-click="closeAssistant"
|
|
7341
|
+
t-on-pointerdown.prevent.stop=""
|
|
6953
7342
|
class="fa-stack position-absolute top-0 start-100 translate-middle fs-4">
|
|
6954
7343
|
<i class="fa fa-circle fa-stack-1x fa-inverse"/>
|
|
6955
|
-
<i class="fa fa-times-circle fa-stack-1x
|
|
7344
|
+
<i class="fa fa-times-circle fa-stack-1x"/>
|
|
6956
7345
|
</span>
|
|
6957
7346
|
<div class="o-composer-assistant overflow-auto" t-att-style="assistantStyle">
|
|
6958
7347
|
<FunctionDescriptionProvider
|
|
6959
7348
|
t-if="functionDescriptionState.showDescription"
|
|
6960
7349
|
functionDescription="functionDescriptionState.functionDescription"
|
|
6961
7350
|
argsToFocus="functionDescriptionState.argsToFocus"
|
|
7351
|
+
repeatingArgGroupIndex="functionDescriptionState.repeatingArgGroupIndex"
|
|
6962
7352
|
/>
|
|
6963
7353
|
<div
|
|
6964
7354
|
t-if="functionDescriptionState.showDescription and autoCompleteProposals.length"
|
|
@@ -6984,8 +7374,9 @@
|
|
|
6984
7374
|
<t t-name="o-spreadsheet-TextValueProvider">
|
|
6985
7375
|
<div
|
|
6986
7376
|
t-ref="autoCompleteList"
|
|
7377
|
+
t-on-pointerdown.prevent=""
|
|
6987
7378
|
t-att-class="{
|
|
6988
|
-
'o-autocomplete-dropdown': props.proposals.length}">
|
|
7379
|
+
'o-autocomplete-dropdown bg-white': props.proposals.length}">
|
|
6989
7380
|
<t t-foreach="props.proposals" t-as="proposal" t-key="proposal.text + proposal_index">
|
|
6990
7381
|
<div
|
|
6991
7382
|
class="d-flex flex-column text-start"
|
|
@@ -7038,7 +7429,7 @@
|
|
|
7038
7429
|
|
|
7039
7430
|
<t t-name="o-spreadsheet-ColorPicker">
|
|
7040
7431
|
<Popover t-props="popoverProps">
|
|
7041
|
-
<div class="o-color-picker" t-on-click.stop="" t-att-style="colorPickerStyle">
|
|
7432
|
+
<div class="o-color-picker bg-white" t-on-click.stop="" t-att-style="colorPickerStyle">
|
|
7042
7433
|
<div class="o-color-picker-section-name">Standard</div>
|
|
7043
7434
|
<div class="colors-grid">
|
|
7044
7435
|
<div
|
|
@@ -7057,14 +7448,14 @@
|
|
|
7057
7448
|
</div>
|
|
7058
7449
|
</div>
|
|
7059
7450
|
</div>
|
|
7060
|
-
<div class="o-separator"/>
|
|
7451
|
+
<div class="o-separator border-bottom"/>
|
|
7061
7452
|
<div
|
|
7062
7453
|
class="o-color-picker-section-name o-color-picker-toggler"
|
|
7063
7454
|
t-on-click="toggleColorPicker">
|
|
7064
7455
|
<span>Custom</span>
|
|
7065
7456
|
</div>
|
|
7066
7457
|
<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">
|
|
7458
|
+
<div class="o-color-picker-line-item bg-white o-color-picker-toggler-button">
|
|
7068
7459
|
<div class="o-color-picker-toggler-sign">
|
|
7069
7460
|
<t t-call="o-spreadsheet-Icon.PLUS"/>
|
|
7070
7461
|
</div>
|
|
@@ -7096,7 +7487,7 @@
|
|
|
7096
7487
|
<div class="magnifier pe-none" t-att-style="pointerStyle"/>
|
|
7097
7488
|
</div>
|
|
7098
7489
|
<div class="o-hue-container" t-on-pointerdown="dragHuePointer">
|
|
7099
|
-
<div class="o-hue-picker" t-on-click.stop=""/>
|
|
7490
|
+
<div class="o-hue-picker border rounded" t-on-click.stop=""/>
|
|
7100
7491
|
<div class="o-hue-slider pe-none" t-att-style="sliderStyle">
|
|
7101
7492
|
<t t-call="o-spreadsheet-Icon.CARET_UP"/>
|
|
7102
7493
|
</div>
|
|
@@ -7104,16 +7495,17 @@
|
|
|
7104
7495
|
<div class="o-custom-input-preview">
|
|
7105
7496
|
<input
|
|
7106
7497
|
type="text"
|
|
7498
|
+
class="border rounded"
|
|
7107
7499
|
t-att-class="{'o-wrong-color': !isHexColorInputValid }"
|
|
7108
7500
|
t-on-click.stop=""
|
|
7109
7501
|
t-att-value="state.customHexColor"
|
|
7110
7502
|
t-on-input="setHexColor"
|
|
7111
7503
|
/>
|
|
7112
|
-
<div class="o-color-preview" t-att-style="colorPreviewStyle"/>
|
|
7504
|
+
<div class="o-color-preview border rounded" t-att-style="colorPreviewStyle"/>
|
|
7113
7505
|
</div>
|
|
7114
7506
|
<div class="o-custom-input-buttons">
|
|
7115
7507
|
<button
|
|
7116
|
-
class="o-add-button"
|
|
7508
|
+
class="o-add-button border rounded"
|
|
7117
7509
|
t-att-class="{'o-disabled': !state.customHexColor or !isHexColorInputValid}"
|
|
7118
7510
|
t-on-click.stop="addCustomColor">
|
|
7119
7511
|
Add
|
|
@@ -7121,9 +7513,9 @@
|
|
|
7121
7513
|
</div>
|
|
7122
7514
|
</div>
|
|
7123
7515
|
<t t-if="!props.disableNoColor">
|
|
7124
|
-
<div class="o-separator"/>
|
|
7516
|
+
<div class="o-separator border-bottom"/>
|
|
7125
7517
|
<div class="o-buttons">
|
|
7126
|
-
<button t-on-click="resetColor" class="o-cancel">No Color</button>
|
|
7518
|
+
<button t-on-click="resetColor" class="o-cancel border rounded">No Color</button>
|
|
7127
7519
|
</div>
|
|
7128
7520
|
</t>
|
|
7129
7521
|
</div>
|
|
@@ -7136,7 +7528,7 @@
|
|
|
7136
7528
|
|
|
7137
7529
|
<t t-name="o-spreadsheet-BottomBar">
|
|
7138
7530
|
<div
|
|
7139
|
-
class="o-spreadsheet-bottom-bar o-two-columns d-flex flex-fill align-items-center overflow-hidden"
|
|
7531
|
+
class="o-spreadsheet-bottom-bar o-two-columns d-flex flex-fill align-items-center overflow-hidden border-top"
|
|
7140
7532
|
t-on-click="props.onClick"
|
|
7141
7533
|
t-ref="bottomBar"
|
|
7142
7534
|
t-on-contextmenu.prevent="">
|
|
@@ -7248,13 +7640,14 @@
|
|
|
7248
7640
|
<t t-name="o-spreadsheet-BottomBarSheet">
|
|
7249
7641
|
<Ripple>
|
|
7250
7642
|
<div
|
|
7251
|
-
class="o-sheet d-flex align-items-center user-select-none text-nowrap "
|
|
7643
|
+
class="o-sheet d-flex align-items-center user-select-none text-nowrap border-start border-end"
|
|
7252
7644
|
tabindex="-1"
|
|
7253
7645
|
composerFocusableElement="true"
|
|
7254
7646
|
t-on-pointerdown="(ev) => this.onMouseDown(ev)"
|
|
7255
7647
|
t-on-click="onClick"
|
|
7256
7648
|
t-on-contextmenu.prevent="(ev) => this.onContextMenu(ev)"
|
|
7257
7649
|
t-ref="sheetDiv"
|
|
7650
|
+
t-key="sheetName"
|
|
7258
7651
|
t-att-style="props.style"
|
|
7259
7652
|
t-att-title="sheetName"
|
|
7260
7653
|
t-att-data-id="props.sheetId"
|
|
@@ -7321,7 +7714,7 @@
|
|
|
7321
7714
|
<t t-set="border_color">Border Color</t>
|
|
7322
7715
|
<Popover t-props="popoverProps">
|
|
7323
7716
|
<div
|
|
7324
|
-
class="d-flex o-border-selector"
|
|
7717
|
+
class="d-flex o-border-selector bg-white"
|
|
7325
7718
|
t-on-click.stop=""
|
|
7326
7719
|
t-att-class="props.class ? props.class : ''">
|
|
7327
7720
|
<div class="o-border-selector-section">
|
|
@@ -7342,7 +7735,7 @@
|
|
|
7342
7735
|
</span>
|
|
7343
7736
|
</div>
|
|
7344
7737
|
</div>
|
|
7345
|
-
<div class="o-divider"/>
|
|
7738
|
+
<div class="o-divider border-end"/>
|
|
7346
7739
|
<div class="o-border-selector-section">
|
|
7347
7740
|
<div
|
|
7348
7741
|
class="m-0 p-0 d-flex align-items-center justify-content-center o-with-color o-hoverable-button"
|
|
@@ -7370,7 +7763,7 @@
|
|
|
7370
7763
|
<Popover
|
|
7371
7764
|
t-props="lineStylePickerPopoverProps"
|
|
7372
7765
|
t-if="state.activeTool === 'borderTypeTool'">
|
|
7373
|
-
<div class="o-border-style-dropdown">
|
|
7766
|
+
<div class="o-border-style-dropdown bg-white">
|
|
7374
7767
|
<t t-foreach="borderStyles" t-as="borderStyle" t-key="borderStyle">
|
|
7375
7768
|
<div
|
|
7376
7769
|
t-att-title="borderStyle"
|