@odoo/o-spreadsheet 19.1.0-alpha.12 → 19.1.0-alpha.13
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 +37 -21
- package/dist/o-spreadsheet-engine.esm.js +174 -77
- package/dist/o-spreadsheet-engine.iife.js +174 -77
- package/dist/o-spreadsheet-engine.min.iife.js +312 -312
- package/dist/o-spreadsheet.d.ts +343 -374
- package/dist/o_spreadsheet.esm.js +35506 -25515
- package/dist/o_spreadsheet.iife.js +35507 -25516
- package/dist/o_spreadsheet.min.iife.js +335 -317
- package/dist/o_spreadsheet.xml +407 -200
- package/package.json +1 -1
package/dist/o_spreadsheet.xml
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
This file is generated by o-spreadsheet build tools. Do not edit it.
|
|
3
3
|
@see https://github.com/odoo/o-spreadsheet
|
|
4
|
-
@version 19.1.0-alpha.
|
|
5
|
-
@date 2025-11-
|
|
6
|
-
@hash
|
|
4
|
+
@version 19.1.0-alpha.13
|
|
5
|
+
@date 2025-11-24T07:54:06.099Z
|
|
6
|
+
@hash e232982
|
|
7
7
|
-->
|
|
8
8
|
<odoo>
|
|
9
9
|
<t t-name="o-spreadsheet-ValidationMessages">
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
<div
|
|
32
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="topbar-banner 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"
|
|
@@ -146,7 +146,7 @@
|
|
|
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>
|
|
@@ -231,18 +231,26 @@
|
|
|
231
231
|
</t>
|
|
232
232
|
|
|
233
233
|
<t t-name="o-spreadsheet-TextInput">
|
|
234
|
-
<
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
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>
|
|
246
254
|
</t>
|
|
247
255
|
|
|
248
256
|
<t t-name="o-spreadsheet-TableStylesPopover">
|
|
@@ -256,7 +264,7 @@
|
|
|
256
264
|
t-foreach="Object.keys(categories)"
|
|
257
265
|
t-as="category"
|
|
258
266
|
t-key="category"
|
|
259
|
-
class="o-notebook-tab d-flex align-items-center"
|
|
267
|
+
class="o-notebook-tab d-flex align-items-center border"
|
|
260
268
|
t-att-class="{ 'selected': state.selectedCategory === category }"
|
|
261
269
|
t-on-click="() => state.selectedCategory = category"
|
|
262
270
|
t-att-data-id="category"
|
|
@@ -297,7 +305,7 @@
|
|
|
297
305
|
<canvas t-ref="canvas" class="w-100 h-100"/>
|
|
298
306
|
</div>
|
|
299
307
|
<div
|
|
300
|
-
class="o-table-style-edit-button position-absolute d-none bg-white"
|
|
308
|
+
class="o-table-style-edit-button position-absolute d-none bg-white border"
|
|
301
309
|
t-if="isStyleEditable"
|
|
302
310
|
t-on-click="this.editTableStyle"
|
|
303
311
|
title="Edit custom table style">
|
|
@@ -313,7 +321,7 @@
|
|
|
313
321
|
</t>
|
|
314
322
|
|
|
315
323
|
<t t-name="o-spreadsheet-TableStylePicker">
|
|
316
|
-
<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">
|
|
317
325
|
<div class="d-flex flex-row overflow-hidden ps-2">
|
|
318
326
|
<t t-foreach="getDisplayedTableStyles()" t-as="styleId" t-key="styleId">
|
|
319
327
|
<TableStylePreview
|
|
@@ -327,7 +335,7 @@
|
|
|
327
335
|
</t>
|
|
328
336
|
</div>
|
|
329
337
|
<div
|
|
330
|
-
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"
|
|
331
339
|
t-on-click.stop="onArrowButtonClick">
|
|
332
340
|
<t t-call="o-spreadsheet-Icon.CARET_DOWN"/>
|
|
333
341
|
</div>
|
|
@@ -411,7 +419,7 @@
|
|
|
411
419
|
<RibbonMenu onClose="() => this.menuState.isOpen=false"/>
|
|
412
420
|
</t>
|
|
413
421
|
<t t-else="">
|
|
414
|
-
<div class="o-small-composer px-2 py-2 position-relative bg-white">
|
|
422
|
+
<div class="o-small-composer px-2 py-2 position-relative bg-white border">
|
|
415
423
|
<div class="w-100" t-ref="bottombarComposer">
|
|
416
424
|
<Composer t-props="composerProps"/>
|
|
417
425
|
<span
|
|
@@ -443,7 +451,7 @@
|
|
|
443
451
|
composerFocusableElement="true"
|
|
444
452
|
/>
|
|
445
453
|
</div>
|
|
446
|
-
<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">
|
|
447
455
|
<Ripple>
|
|
448
456
|
<div class="py-1 px-1 mx-2 ribbon-toggler" t-on-click="toggleRibbon">
|
|
449
457
|
<i class="o-icon fa fa-cog"/>
|
|
@@ -690,8 +698,9 @@
|
|
|
690
698
|
</t>
|
|
691
699
|
|
|
692
700
|
<t t-name="o-spreadsheet-SidePanelExtended">
|
|
693
|
-
<div class="o-sidePanel h-100 bg-white">
|
|
694
|
-
<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">
|
|
695
704
|
<div
|
|
696
705
|
t-if="props.onToggleCollapsePanel"
|
|
697
706
|
class="o-collapse-panel o-sidePanelAction rounded"
|
|
@@ -776,7 +785,7 @@
|
|
|
776
785
|
t-att-selected="currentLocale.code === locale.code"
|
|
777
786
|
/>
|
|
778
787
|
</select>
|
|
779
|
-
<div class="o-locale-preview mt-4 p-3 rounded">
|
|
788
|
+
<div class="o-locale-preview mt-4 p-3 rounded border">
|
|
780
789
|
<div>
|
|
781
790
|
<span class="o-fw-bold me-1">Number:</span>
|
|
782
791
|
<span t-esc="numberFormatPreview"/>
|
|
@@ -1042,13 +1051,13 @@
|
|
|
1042
1051
|
</t>
|
|
1043
1052
|
</select>
|
|
1044
1053
|
<div
|
|
1045
|
-
class="o-pivot-measure-display-description mt-3 ps-3"
|
|
1054
|
+
class="o-pivot-measure-display-description mt-3 ps-3 border-start"
|
|
1046
1055
|
t-esc="measureDisplayDescription[store.measureDisplay.type]"
|
|
1047
1056
|
/>
|
|
1048
1057
|
</Section>
|
|
1049
1058
|
|
|
1050
1059
|
<Section t-if="store.doesDisplayNeedsField" title.translate="Base field:">
|
|
1051
|
-
<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">
|
|
1052
1061
|
<t t-if="store.fields.length">
|
|
1053
1062
|
<RadioSelection
|
|
1054
1063
|
choices="fieldChoices"
|
|
@@ -1066,7 +1075,7 @@
|
|
|
1066
1075
|
|
|
1067
1076
|
<t t-set="values" t-value="store.values"/>
|
|
1068
1077
|
<Section t-if="store.doesDisplayNeedsValue and values.length" title.translate="Base item:">
|
|
1069
|
-
<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">
|
|
1070
1079
|
<RadioSelection
|
|
1071
1080
|
choices="values"
|
|
1072
1081
|
selectedValue="store.measureDisplay.value"
|
|
@@ -1209,7 +1218,7 @@
|
|
|
1209
1218
|
<div t-esc="sortDescription" class="pb-2"/>
|
|
1210
1219
|
<div class="d-flex flex-column gap-2">
|
|
1211
1220
|
<t t-foreach="sortValuesAndFields" t-as="valueAndField" t-key="valueAndField_index">
|
|
1212
|
-
<div class="o-sort-card d-flex gap-1 px-2">
|
|
1221
|
+
<div class="o-sort-card d-flex gap-1 px-2 border">
|
|
1213
1222
|
<t t-if="valueAndField.field">
|
|
1214
1223
|
<span class="fw-bolder" t-esc="valueAndField.field"/>
|
|
1215
1224
|
=
|
|
@@ -1321,7 +1330,7 @@
|
|
|
1321
1330
|
|
|
1322
1331
|
<t t-name="o-spreadsheet-PivotDimension">
|
|
1323
1332
|
<div
|
|
1324
|
-
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"
|
|
1325
1334
|
t-att-class="{'pivot-dimension-invalid': !props.dimension.isValid}">
|
|
1326
1335
|
<div class="d-flex flex-row justify-content-between align-items-center">
|
|
1327
1336
|
<div class="d-flex align-items-center overflow-hidden text-nowrap">
|
|
@@ -1439,21 +1448,97 @@
|
|
|
1439
1448
|
|
|
1440
1449
|
<t t-name="o-spreadsheet-MoreFormatsPanel">
|
|
1441
1450
|
<div class="o-more-formats-panel">
|
|
1442
|
-
<
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
<
|
|
1453
|
-
|
|
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>
|
|
1454
1495
|
</div>
|
|
1455
1496
|
</t>
|
|
1456
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
|
+
|
|
1457
1542
|
<t t-name="o-spreadsheet-FindAndReplacePanel">
|
|
1458
1543
|
<div class="o-find-and-replace">
|
|
1459
1544
|
<Section title.translate="Search">
|
|
@@ -1583,7 +1668,7 @@
|
|
|
1583
1668
|
</t>
|
|
1584
1669
|
|
|
1585
1670
|
<t t-name="o-spreadsheet-DataValidationPreview">
|
|
1586
|
-
<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">
|
|
1587
1672
|
<div class="d-flex justify-content-between">
|
|
1588
1673
|
<div class="o-dv-container d-flex flex-column">
|
|
1589
1674
|
<div class="o-dv-preview-description o-fw-bold text-truncate" t-esc="descriptionString"/>
|
|
@@ -1646,87 +1731,6 @@
|
|
|
1646
1731
|
</div>
|
|
1647
1732
|
</t>
|
|
1648
1733
|
|
|
1649
|
-
<t t-name="o-spreadsheet-CustomCurrencyPanel">
|
|
1650
|
-
<div class="o-custom-currency">
|
|
1651
|
-
<Section t-if="availableCurrencies.length > 1" title.translate="Currency">
|
|
1652
|
-
<select
|
|
1653
|
-
class="o-input o-available-currencies"
|
|
1654
|
-
t-on-change="(ev) => this.updateSelectCurrency(ev)">
|
|
1655
|
-
<t t-foreach="availableCurrencies" t-as="currency" t-key="currency_index">
|
|
1656
|
-
<option
|
|
1657
|
-
t-att-value="currency_index"
|
|
1658
|
-
t-esc="currencyDisplayName(currency)"
|
|
1659
|
-
t-att-selected="currency_index === state.selectedCurrencyIndex"
|
|
1660
|
-
/>
|
|
1661
|
-
</t>
|
|
1662
|
-
</select>
|
|
1663
|
-
</Section>
|
|
1664
|
-
<Section>
|
|
1665
|
-
<div class="o-subsection-left">
|
|
1666
|
-
<div class="o-section-title">Code</div>
|
|
1667
|
-
<input
|
|
1668
|
-
type="text"
|
|
1669
|
-
class="o-input"
|
|
1670
|
-
t-model="state.currencyCode"
|
|
1671
|
-
placeholder="code"
|
|
1672
|
-
t-on-input="(ev) => this.updateCode(ev)"
|
|
1673
|
-
/>
|
|
1674
|
-
</div>
|
|
1675
|
-
<div class="o-subsection-right">
|
|
1676
|
-
<div class="o-section-title">Symbol</div>
|
|
1677
|
-
<input
|
|
1678
|
-
type="text"
|
|
1679
|
-
class="o-input"
|
|
1680
|
-
placeholder="symbol"
|
|
1681
|
-
t-model="state.currencySymbol"
|
|
1682
|
-
t-on-input="(ev) => this.updateSymbol(ev)"
|
|
1683
|
-
/>
|
|
1684
|
-
</div>
|
|
1685
|
-
</Section>
|
|
1686
|
-
<Section title.translate="Format">
|
|
1687
|
-
<select
|
|
1688
|
-
class="o-input o-format-proposals mb-1"
|
|
1689
|
-
t-on-change="(ev) => this.updateSelectFormat(ev)"
|
|
1690
|
-
t-att-disabled="!formatProposals.length">
|
|
1691
|
-
<t t-foreach="formatProposals" t-as="proposal" t-key="proposal_index">
|
|
1692
|
-
<option
|
|
1693
|
-
t-att-value="proposal_index"
|
|
1694
|
-
t-esc="proposal.example"
|
|
1695
|
-
t-att-selected="proposal_index === state.selectedFormatIndex"
|
|
1696
|
-
/>
|
|
1697
|
-
</t>
|
|
1698
|
-
</select>
|
|
1699
|
-
<t t-set="accounting_format_label">Accounting format</t>
|
|
1700
|
-
<Checkbox
|
|
1701
|
-
name="'accountingFormat'"
|
|
1702
|
-
label="accounting_format_label"
|
|
1703
|
-
value="state.isAccountingFormat"
|
|
1704
|
-
onChange.bind="toggleAccountingFormat"
|
|
1705
|
-
/>
|
|
1706
|
-
<div class="o-format-examples mt-4" t-if="selectedFormat">
|
|
1707
|
-
<table class="w-100">
|
|
1708
|
-
<t t-foreach="getFormatExamples()" t-as="example" t-key="example_index">
|
|
1709
|
-
<tr>
|
|
1710
|
-
<td class="w-25 pe-3 o-fw-bold" t-esc="example.label"/>
|
|
1711
|
-
<td class="w-75 text-truncate" t-esc="example.value"/>
|
|
1712
|
-
</tr>
|
|
1713
|
-
</t>
|
|
1714
|
-
</table>
|
|
1715
|
-
</div>
|
|
1716
|
-
</Section>
|
|
1717
|
-
<Section>
|
|
1718
|
-
<div class="o-sidePanelButtons">
|
|
1719
|
-
<button
|
|
1720
|
-
class="o-button primary"
|
|
1721
|
-
t-on-click="() => this.apply()"
|
|
1722
|
-
t-att-disabled="!formatProposals.length || isSameFormat">
|
|
1723
|
-
Apply
|
|
1724
|
-
</button>
|
|
1725
|
-
</div>
|
|
1726
|
-
</Section>
|
|
1727
|
-
</div>
|
|
1728
|
-
</t>
|
|
1729
|
-
|
|
1730
1734
|
<t t-name="o-spreadsheet-ValueInRangeCriterionForm">
|
|
1731
1735
|
<SelectionInput
|
|
1732
1736
|
ranges="[props.criterion.values[0] || '']"
|
|
@@ -1920,7 +1924,7 @@
|
|
|
1920
1924
|
<t t-name="o-spreadsheet-ConditionalFormatPreview">
|
|
1921
1925
|
<t t-set="cf" t-value="props.conditionalFormat"/>
|
|
1922
1926
|
<div
|
|
1923
|
-
class="o-cf-preview w-100"
|
|
1927
|
+
class="o-cf-preview w-100 border-bottom"
|
|
1924
1928
|
t-ref="cfPreview"
|
|
1925
1929
|
t-att-class="props.class"
|
|
1926
1930
|
t-att-data-id="cf.id"
|
|
@@ -1933,7 +1937,7 @@
|
|
|
1933
1937
|
</div>
|
|
1934
1938
|
<t t-if="cf.rule.type==='IconSetRule'">
|
|
1935
1939
|
<div
|
|
1936
|
-
class="o-cf-preview-icon d-flex justify-content-around align-items-center me-2 bg-white">
|
|
1940
|
+
class="o-cf-preview-icon d-flex justify-content-around align-items-center me-2 bg-white border">
|
|
1937
1941
|
<t t-call="o-spreadsheet-Icon.{{icons[cf.rule.icons.upper].template}}"/>
|
|
1938
1942
|
<t t-call="o-spreadsheet-Icon.{{icons[cf.rule.icons.middle].template}}"/>
|
|
1939
1943
|
<t t-call="o-spreadsheet-Icon.{{icons[cf.rule.icons.lower].template}}"/>
|
|
@@ -1942,7 +1946,7 @@
|
|
|
1942
1946
|
<t t-else="">
|
|
1943
1947
|
<div
|
|
1944
1948
|
t-att-style="getPreviewImageStyle(cf.rule)"
|
|
1945
|
-
class="o-cf-preview-icon d-flex justify-content-around align-items-center me-2 bg-white">
|
|
1949
|
+
class="o-cf-preview-icon d-flex justify-content-around align-items-center me-2 bg-white border">
|
|
1946
1950
|
123
|
|
1947
1951
|
</div>
|
|
1948
1952
|
</t>
|
|
@@ -1971,7 +1975,7 @@
|
|
|
1971
1975
|
<div class="o-section-subtitle">Icons</div>
|
|
1972
1976
|
<div class="o-cf-iconsets d-flex flex-row">
|
|
1973
1977
|
<div
|
|
1974
|
-
class="o-cf-iconset o-cf-clickable-icon d-flex flex-row justify-content-between"
|
|
1978
|
+
class="o-cf-iconset o-cf-clickable-icon d-flex flex-row justify-content-between border rounded"
|
|
1975
1979
|
t-foreach="['arrows', 'smiley', 'dots']"
|
|
1976
1980
|
t-as="iconSet"
|
|
1977
1981
|
t-key="iconSet"
|
|
@@ -1994,7 +1998,7 @@
|
|
|
1994
1998
|
<tr>
|
|
1995
1999
|
<td>
|
|
1996
2000
|
<div t-on-click.stop="(ev) => this.toggleMenu('iconSet-'+icon+'Icon', ev)">
|
|
1997
|
-
<div class="o-cf-icon-button o-cf-clickable-icon me-3">
|
|
2001
|
+
<div class="o-cf-icon-button o-cf-clickable-icon me-3 border rounded">
|
|
1998
2002
|
<t t-call="o-spreadsheet-Icon.{{icons[iconValue].template}}"/>
|
|
1999
2003
|
</div>
|
|
2000
2004
|
</div>
|
|
@@ -2077,7 +2081,7 @@
|
|
|
2077
2081
|
<tr>
|
|
2078
2082
|
<td>
|
|
2079
2083
|
<div t-on-click.stop="(ev) => this.toggleMenu('iconSet-lowerIcon', ev)">
|
|
2080
|
-
<div class="o-cf-icon-button o-cf-clickable-icon me-3">
|
|
2084
|
+
<div class="o-cf-icon-button o-cf-clickable-icon me-3 border rounded">
|
|
2081
2085
|
<t t-call="o-spreadsheet-Icon.{{icons[rule.icons.lower].template}}"/>
|
|
2082
2086
|
</div>
|
|
2083
2087
|
</div>
|
|
@@ -2271,7 +2275,7 @@
|
|
|
2271
2275
|
|
|
2272
2276
|
<t t-name="o-spreadsheet-CellIsRuleEditorPreview">
|
|
2273
2277
|
<div
|
|
2274
|
-
class="o-cf-preview-display"
|
|
2278
|
+
class="o-cf-preview-display border"
|
|
2275
2279
|
t-attf-style="font-weight:{{currentStyle.bold ?'bold':'normal'}};
|
|
2276
2280
|
text-decoration:{{getTextDecoration(currentStyle)}};
|
|
2277
2281
|
font-style:{{currentStyle.italic?'italic':'normal'}};
|
|
@@ -2345,7 +2349,7 @@
|
|
|
2345
2349
|
icon="'o-spreadsheet-Icon.TEXT_COLOR'"
|
|
2346
2350
|
class="'o-hoverable-button o-menu-item-button'"
|
|
2347
2351
|
/>
|
|
2348
|
-
<div class="o-divider"/>
|
|
2352
|
+
<div class="o-divider border-end"/>
|
|
2349
2353
|
<ColorPickerWidget
|
|
2350
2354
|
currentColor="rule.style.fillColor"
|
|
2351
2355
|
toggleColorPicker="(ev) => this.toggleMenu('cellIsRule-fillColor', ev)"
|
|
@@ -2373,7 +2377,7 @@
|
|
|
2373
2377
|
|
|
2374
2378
|
<t t-name="o-spreadsheet.RoundColorPicker">
|
|
2375
2379
|
<div
|
|
2376
|
-
class="o-round-color-picker-button rounded-circle"
|
|
2380
|
+
class="o-round-color-picker-button rounded-circle border"
|
|
2377
2381
|
t-ref="colorPickerButton"
|
|
2378
2382
|
t-on-click.stop="togglePicker"
|
|
2379
2383
|
t-att-title="props.title"
|
|
@@ -2397,6 +2401,7 @@
|
|
|
2397
2401
|
<t t-foreach="props.choices" t-as="choice" t-key="choice.value">
|
|
2398
2402
|
<label class="o-radio d-flex align-items-center me-4">
|
|
2399
2403
|
<input
|
|
2404
|
+
class="border rounded-circle"
|
|
2400
2405
|
t-att-class="{
|
|
2401
2406
|
'me-1': props.direction === 'horizontal',
|
|
2402
2407
|
'me-2': props.direction === 'vertical'}"
|
|
@@ -2464,7 +2469,7 @@
|
|
|
2464
2469
|
t-att-class="{'text-muted': props.disabled }"
|
|
2465
2470
|
t-attf-class="{{props.className}}">
|
|
2466
2471
|
<input
|
|
2467
|
-
class="me-2 flex-shrink-0"
|
|
2472
|
+
class="me-2 flex-shrink-0 border"
|
|
2468
2473
|
type="checkbox"
|
|
2469
2474
|
t-att-disabled="props.disabled"
|
|
2470
2475
|
t-att-name="props.name"
|
|
@@ -2965,7 +2970,7 @@
|
|
|
2965
2970
|
</div>
|
|
2966
2971
|
|
|
2967
2972
|
<t t-set="definition" t-value="getChartDefinition(this.chartId)"/>
|
|
2968
|
-
<div class="o-panel-content
|
|
2973
|
+
<div class="o-panel-content" t-ref="panelContent">
|
|
2969
2974
|
<div t-att-class="store.panel !== 'configuration' ? 'd-none' : ''">
|
|
2970
2975
|
<ChartTypePicker chartId="chartId" chartPanelStore="store"/>
|
|
2971
2976
|
<t
|
|
@@ -3125,45 +3130,10 @@
|
|
|
3125
3130
|
|
|
3126
3131
|
<SidePanelCollapsible isInitiallyCollapsed="false" title.translate="Geo chart options">
|
|
3127
3132
|
<t t-set-slot="content">
|
|
3128
|
-
<
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
<t t-foreach="colorScalesChoices" t-as="colorScale" t-key="colorScale">
|
|
3133
|
-
<option
|
|
3134
|
-
t-att-value="colorScale"
|
|
3135
|
-
t-esc="colorScale_value"
|
|
3136
|
-
t-att-selected="colorScale === selectedColorScale"
|
|
3137
|
-
/>
|
|
3138
|
-
</t>
|
|
3139
|
-
</select>
|
|
3140
|
-
|
|
3141
|
-
<t t-if="customColorScale">
|
|
3142
|
-
<div class="o-min-color d-flex align-items-center mb-2 mt-4">
|
|
3143
|
-
<RoundColorPicker
|
|
3144
|
-
currentColor="getCustomColorScaleColor('minColor')"
|
|
3145
|
-
onColorPicked="(color) => this.setCustomColorScaleColor('minColor', color)"
|
|
3146
|
-
disableNoColor="true"
|
|
3147
|
-
/>
|
|
3148
|
-
<span class="ps-2">Color of minimum values</span>
|
|
3149
|
-
</div>
|
|
3150
|
-
<div class="o-mid-color d-flex align-items-center mb-2">
|
|
3151
|
-
<RoundColorPicker
|
|
3152
|
-
currentColor="getCustomColorScaleColor('midColor')"
|
|
3153
|
-
onColorPicked="(color) => this.setCustomColorScaleColor('midColor', color)"
|
|
3154
|
-
/>
|
|
3155
|
-
<span class="ps-2">Color of middle values</span>
|
|
3156
|
-
</div>
|
|
3157
|
-
<div class="o-max-color d-flex align-items-center">
|
|
3158
|
-
<RoundColorPicker
|
|
3159
|
-
currentColor="getCustomColorScaleColor('maxColor')"
|
|
3160
|
-
onColorPicked="(color) => this.setCustomColorScaleColor('maxColor', color)"
|
|
3161
|
-
disableNoColor="true"
|
|
3162
|
-
/>
|
|
3163
|
-
<span class="ps-2">Color of maximum values</span>
|
|
3164
|
-
</div>
|
|
3165
|
-
</t>
|
|
3166
|
-
</Section>
|
|
3133
|
+
<ColorScalePicker
|
|
3134
|
+
definition="props.definition"
|
|
3135
|
+
onUpdateColorScale.bind="this.updateColorScale"
|
|
3136
|
+
/>
|
|
3167
3137
|
|
|
3168
3138
|
<Section class="'pt-0 o-missing-value'" title.translate="Countries without value">
|
|
3169
3139
|
<RoundColorPicker
|
|
@@ -3874,6 +3844,120 @@
|
|
|
3874
3844
|
<path fill="var(--os-chart-preview-orange-fill)" d="M32,17 h13 v25 h-13"/>
|
|
3875
3845
|
</svg>
|
|
3876
3846
|
</t>
|
|
3847
|
+
<t t-name="o-spreadsheet-ChartPreview.CALENDAR_CHART">
|
|
3848
|
+
<svg class="o-chart-preview" viewBox="0 0 48 48">
|
|
3849
|
+
<path fill="#444" d="M3 3h42v42H3zh1v41h40V4H4"/>
|
|
3850
|
+
<path
|
|
3851
|
+
fill="#eb6d00"
|
|
3852
|
+
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"
|
|
3853
|
+
/>
|
|
3854
|
+
<path fill="#ffe1c8" d="M8 8h5v5H8m0 13h5v5H8m9 4h5v5h-5m18-5h5v5h-5"/>
|
|
3855
|
+
<path
|
|
3856
|
+
fill="#FFA85C"
|
|
3857
|
+
d="M8 17h5v5H8m9-14h5v5h-5m0 13h5v5h-5m9 4h5v5h-5m9-32h5v5h-5m0 13h5v5h-5"
|
|
3858
|
+
/>
|
|
3859
|
+
<path fill="#fff" d="M8 35h5v5H8"/>
|
|
3860
|
+
<path fill="#A34C00" d="M25 16h7v7h-7"/>
|
|
3861
|
+
</svg>
|
|
3862
|
+
</t>
|
|
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>
|
|
3877
3961
|
|
|
3878
3962
|
<t t-name="o-spreadsheet.TextStyler">
|
|
3879
3963
|
<div
|
|
@@ -3881,7 +3965,10 @@
|
|
|
3881
3965
|
t-att-class="props.class">
|
|
3882
3966
|
<ActionButton action="boldButtonAction" class="'o-hoverable-button'"/>
|
|
3883
3967
|
<ActionButton action="italicButtonAction" class="'o-hoverable-button'"/>
|
|
3884
|
-
<div
|
|
3968
|
+
<div
|
|
3969
|
+
class="o-divider border-start"
|
|
3970
|
+
t-if="props.hasHorizontalAlign || props.hasVerticalAlign"
|
|
3971
|
+
/>
|
|
3885
3972
|
<div class="o-dropdown position-relative" t-if="props.hasHorizontalAlign">
|
|
3886
3973
|
<ActionButton
|
|
3887
3974
|
action="horizontalAlignButtonAction"
|
|
@@ -3920,13 +4007,13 @@
|
|
|
3920
4007
|
</div>
|
|
3921
4008
|
</div>
|
|
3922
4009
|
</div>
|
|
3923
|
-
<div class="o-divider"/>
|
|
4010
|
+
<div class="o-divider border-start"/>
|
|
3924
4011
|
<FontSizeEditor
|
|
3925
4012
|
currentFontSize="currentFontSize"
|
|
3926
4013
|
onFontSizeChanged.bind="this.updateFontSize"
|
|
3927
4014
|
class="'o-hoverable-button'"
|
|
3928
4015
|
/>
|
|
3929
|
-
<div class="o-divider"/>
|
|
4016
|
+
<div class="o-divider border-start"/>
|
|
3930
4017
|
<ColorPickerWidget
|
|
3931
4018
|
currentColor="props.style.color ?? props.defaultStyle?.color"
|
|
3932
4019
|
toggleColorPicker="(ev) => this.toggleDropdownTool('fillChartColorTool', ev)"
|
|
@@ -4251,6 +4338,85 @@
|
|
|
4251
4338
|
</Section>
|
|
4252
4339
|
</t>
|
|
4253
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
|
+
|
|
4254
4420
|
<t t-name="o-spreadsheet.ChartTitle">
|
|
4255
4421
|
<Section class="'o-chart-title'" title="props.name">
|
|
4256
4422
|
<TextInput
|
|
@@ -4640,7 +4806,7 @@
|
|
|
4640
4806
|
t-on-click.stop=""
|
|
4641
4807
|
t-on-contextmenu.prevent="">
|
|
4642
4808
|
<t t-foreach="menuItemsAndSeparators" t-as="menuItem" t-key="menuItem_index">
|
|
4643
|
-
<div t-if="menuItem === 'separator'" class="o-separator"/>
|
|
4809
|
+
<div t-if="menuItem === 'separator'" class="o-separator border-bottom"/>
|
|
4644
4810
|
<t t-else="">
|
|
4645
4811
|
<t t-set="isMenuRoot" t-value="isRoot(menuItem)"/>
|
|
4646
4812
|
<t t-set="isMenuEnabled" t-value="isEnabled(menuItem)"/>
|
|
@@ -4689,7 +4855,7 @@
|
|
|
4689
4855
|
|
|
4690
4856
|
<t t-name="o-spreadsheet-LinkEditor">
|
|
4691
4857
|
<div
|
|
4692
|
-
class="o-link-editor bg-white"
|
|
4858
|
+
class="o-link-editor bg-white rounded"
|
|
4693
4859
|
t-on-click.stop="() => this.menu.isOpen=false"
|
|
4694
4860
|
t-on-keydown="onKeyDown">
|
|
4695
4861
|
<div class="o-section">
|
|
@@ -4754,7 +4920,7 @@
|
|
|
4754
4920
|
</t>
|
|
4755
4921
|
|
|
4756
4922
|
<t t-name="o-spreadsheet-LinkDisplay">
|
|
4757
|
-
<div class="o-link-tool d-flex align-items-center bg-white">
|
|
4923
|
+
<div class="o-link-tool d-flex align-items-center bg-white rounded">
|
|
4758
4924
|
<!-- t-key to prevent owl from re-using the previous img element when the link changes.
|
|
4759
4925
|
The wrong/previous image would be displayed while the new one loads -->
|
|
4760
4926
|
<img
|
|
@@ -5856,6 +6022,46 @@
|
|
|
5856
6022
|
<i class="fa fa-moon-o"/>
|
|
5857
6023
|
</div>
|
|
5858
6024
|
</t>
|
|
6025
|
+
<t t-name="o-spreadsheet-Icon.ROTATION-0">
|
|
6026
|
+
<svg
|
|
6027
|
+
width="18"
|
|
6028
|
+
height="18"
|
|
6029
|
+
viewBox="0 0 18 18"
|
|
6030
|
+
transform="rotate(270)"
|
|
6031
|
+
xmlns="http://www.w3.org/2000/svg">
|
|
6032
|
+
<path
|
|
6033
|
+
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"
|
|
6034
|
+
/>
|
|
6035
|
+
</svg>
|
|
6036
|
+
</t>
|
|
6037
|
+
<t t-name="o-spreadsheet-Icon.ROTATION-45">
|
|
6038
|
+
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
|
6039
|
+
<path
|
|
6040
|
+
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"
|
|
6041
|
+
/>
|
|
6042
|
+
</svg>
|
|
6043
|
+
</t>
|
|
6044
|
+
<t t-name="o-spreadsheet-Icon.ROTATION-90">
|
|
6045
|
+
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
|
6046
|
+
<path
|
|
6047
|
+
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"
|
|
6048
|
+
/>
|
|
6049
|
+
</svg>
|
|
6050
|
+
</t>
|
|
6051
|
+
<t t-name="o-spreadsheet-Icon.ROTATION-270">
|
|
6052
|
+
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
|
6053
|
+
<path
|
|
6054
|
+
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"
|
|
6055
|
+
/>
|
|
6056
|
+
</svg>
|
|
6057
|
+
</t>
|
|
6058
|
+
<t t-name="o-spreadsheet-Icon.ROTATION-315">
|
|
6059
|
+
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
|
6060
|
+
<path
|
|
6061
|
+
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"
|
|
6062
|
+
/>
|
|
6063
|
+
</svg>
|
|
6064
|
+
</t>
|
|
5859
6065
|
|
|
5860
6066
|
<t t-name="o-spreadsheet-IconPicker">
|
|
5861
6067
|
<div class="o-icon-picker bg-white">
|
|
@@ -6329,7 +6535,7 @@
|
|
|
6329
6535
|
</t>
|
|
6330
6536
|
<VerticalScrollBar topOffset="HEADER_HEIGHT"/>
|
|
6331
6537
|
<HorizontalScrollBar leftOffset="HEADER_WIDTH"/>
|
|
6332
|
-
<div class="o-scrollbar corner"/>
|
|
6538
|
+
<div class="o-scrollbar corner border-top border-start"/>
|
|
6333
6539
|
</div>
|
|
6334
6540
|
</t>
|
|
6335
6541
|
|
|
@@ -6399,7 +6605,7 @@
|
|
|
6399
6605
|
</i>
|
|
6400
6606
|
</div>
|
|
6401
6607
|
<div
|
|
6402
|
-
class="o-filter-menu-list d-flex flex-column"
|
|
6608
|
+
class="o-filter-menu-list d-flex flex-column border"
|
|
6403
6609
|
t-ref="filterValueList"
|
|
6404
6610
|
t-on-click="this.clearScrolledToValue"
|
|
6405
6611
|
t-on-scroll="this.clearScrolledToValue">
|
|
@@ -6484,7 +6690,7 @@
|
|
|
6484
6690
|
</div>
|
|
6485
6691
|
</t>
|
|
6486
6692
|
<div class="o-filter-menu-content">
|
|
6487
|
-
<div class="o-separator"/>
|
|
6693
|
+
<div class="o-separator border-bottom"/>
|
|
6488
6694
|
<SidePanelCollapsible
|
|
6489
6695
|
isInitiallyCollapsed="filterValueType !== 'criterion'"
|
|
6490
6696
|
title.translate="Filter by criterion">
|
|
@@ -6910,7 +7116,7 @@
|
|
|
6910
7116
|
<t t-name="o-spreadsheet-TopBarComposer">
|
|
6911
7117
|
<div class="o-topbar-composer-container w-100">
|
|
6912
7118
|
<div
|
|
6913
|
-
class="o-topbar-composer position-relative bg-white user-select-text d-flex"
|
|
7119
|
+
class="o-topbar-composer position-relative bg-white user-select-text d-flex border"
|
|
6914
7120
|
t-att-class="{
|
|
6915
7121
|
'o-topbar-composer-readonly': env.model.getters.isReadonly(),
|
|
6916
7122
|
'o-topbar-composer-active': focus !== 'inactive',
|
|
@@ -6933,7 +7139,7 @@
|
|
|
6933
7139
|
|
|
6934
7140
|
<t t-name="o-spreadsheet-StandaloneComposer">
|
|
6935
7141
|
<div
|
|
6936
|
-
class="o-standalone-composer"
|
|
7142
|
+
class="o-standalone-composer border-bottom"
|
|
6937
7143
|
t-on-click.stop=""
|
|
6938
7144
|
t-att-class="containerClass"
|
|
6939
7145
|
t-att-title="props.title">
|
|
@@ -6950,7 +7156,7 @@
|
|
|
6950
7156
|
|
|
6951
7157
|
<t t-name="o-spreadsheet-SpeechBubble">
|
|
6952
7158
|
<t t-portal="'.o-spreadsheet'">
|
|
6953
|
-
<div class="o-speech-bubble position-absolute px-3" t-ref="bubble">
|
|
7159
|
+
<div class="o-speech-bubble position-absolute px-3 border" t-ref="bubble">
|
|
6954
7160
|
<div class="o-speech-content text-truncate pb-1" t-esc="props.content"/>
|
|
6955
7161
|
</div>
|
|
6956
7162
|
</t>
|
|
@@ -6958,7 +7164,7 @@
|
|
|
6958
7164
|
|
|
6959
7165
|
<t t-name="o-spreadsheet-GridComposer">
|
|
6960
7166
|
<div
|
|
6961
|
-
class="o-cell-reference"
|
|
7167
|
+
class="o-cell-reference rounded"
|
|
6962
7168
|
t-if="shouldDisplayCellReference"
|
|
6963
7169
|
t-att-style="cellReferenceStyle"
|
|
6964
7170
|
t-esc="cellReference"
|
|
@@ -6992,7 +7198,7 @@
|
|
|
6992
7198
|
</div>
|
|
6993
7199
|
|
|
6994
7200
|
<Collapse isCollapsed="state.isCollapsed">
|
|
6995
|
-
<div class="o-formula-assistant-core pb-3 m-3">
|
|
7201
|
+
<div class="o-formula-assistant-core pb-3 m-3 border-bottom">
|
|
6996
7202
|
<div class="o-formula-assistant-gray">ABOUT</div>
|
|
6997
7203
|
<div t-esc="context.functionDescription.description"/>
|
|
6998
7204
|
</div>
|
|
@@ -7196,7 +7402,7 @@
|
|
|
7196
7402
|
</div>
|
|
7197
7403
|
</div>
|
|
7198
7404
|
</div>
|
|
7199
|
-
<div class="o-separator"/>
|
|
7405
|
+
<div class="o-separator border-bottom"/>
|
|
7200
7406
|
<div
|
|
7201
7407
|
class="o-color-picker-section-name o-color-picker-toggler"
|
|
7202
7408
|
t-on-click="toggleColorPicker">
|
|
@@ -7235,7 +7441,7 @@
|
|
|
7235
7441
|
<div class="magnifier pe-none" t-att-style="pointerStyle"/>
|
|
7236
7442
|
</div>
|
|
7237
7443
|
<div class="o-hue-container" t-on-pointerdown="dragHuePointer">
|
|
7238
|
-
<div class="o-hue-picker" t-on-click.stop=""/>
|
|
7444
|
+
<div class="o-hue-picker border rounded" t-on-click.stop=""/>
|
|
7239
7445
|
<div class="o-hue-slider pe-none" t-att-style="sliderStyle">
|
|
7240
7446
|
<t t-call="o-spreadsheet-Icon.CARET_UP"/>
|
|
7241
7447
|
</div>
|
|
@@ -7243,16 +7449,17 @@
|
|
|
7243
7449
|
<div class="o-custom-input-preview">
|
|
7244
7450
|
<input
|
|
7245
7451
|
type="text"
|
|
7452
|
+
class="border rounded"
|
|
7246
7453
|
t-att-class="{'o-wrong-color': !isHexColorInputValid }"
|
|
7247
7454
|
t-on-click.stop=""
|
|
7248
7455
|
t-att-value="state.customHexColor"
|
|
7249
7456
|
t-on-input="setHexColor"
|
|
7250
7457
|
/>
|
|
7251
|
-
<div class="o-color-preview" t-att-style="colorPreviewStyle"/>
|
|
7458
|
+
<div class="o-color-preview border rounded" t-att-style="colorPreviewStyle"/>
|
|
7252
7459
|
</div>
|
|
7253
7460
|
<div class="o-custom-input-buttons">
|
|
7254
7461
|
<button
|
|
7255
|
-
class="o-add-button"
|
|
7462
|
+
class="o-add-button border rounded"
|
|
7256
7463
|
t-att-class="{'o-disabled': !state.customHexColor or !isHexColorInputValid}"
|
|
7257
7464
|
t-on-click.stop="addCustomColor">
|
|
7258
7465
|
Add
|
|
@@ -7260,9 +7467,9 @@
|
|
|
7260
7467
|
</div>
|
|
7261
7468
|
</div>
|
|
7262
7469
|
<t t-if="!props.disableNoColor">
|
|
7263
|
-
<div class="o-separator"/>
|
|
7470
|
+
<div class="o-separator border-bottom"/>
|
|
7264
7471
|
<div class="o-buttons">
|
|
7265
|
-
<button t-on-click="resetColor" class="o-cancel">No Color</button>
|
|
7472
|
+
<button t-on-click="resetColor" class="o-cancel border rounded">No Color</button>
|
|
7266
7473
|
</div>
|
|
7267
7474
|
</t>
|
|
7268
7475
|
</div>
|
|
@@ -7275,7 +7482,7 @@
|
|
|
7275
7482
|
|
|
7276
7483
|
<t t-name="o-spreadsheet-BottomBar">
|
|
7277
7484
|
<div
|
|
7278
|
-
class="o-spreadsheet-bottom-bar o-two-columns d-flex flex-fill align-items-center overflow-hidden"
|
|
7485
|
+
class="o-spreadsheet-bottom-bar o-two-columns d-flex flex-fill align-items-center overflow-hidden border-top"
|
|
7279
7486
|
t-on-click="props.onClick"
|
|
7280
7487
|
t-ref="bottomBar"
|
|
7281
7488
|
t-on-contextmenu.prevent="">
|
|
@@ -7387,7 +7594,7 @@
|
|
|
7387
7594
|
<t t-name="o-spreadsheet-BottomBarSheet">
|
|
7388
7595
|
<Ripple>
|
|
7389
7596
|
<div
|
|
7390
|
-
class="o-sheet d-flex align-items-center user-select-none text-nowrap "
|
|
7597
|
+
class="o-sheet d-flex align-items-center user-select-none text-nowrap border-start border-end"
|
|
7391
7598
|
tabindex="-1"
|
|
7392
7599
|
composerFocusableElement="true"
|
|
7393
7600
|
t-on-pointerdown="(ev) => this.onMouseDown(ev)"
|
|
@@ -7481,7 +7688,7 @@
|
|
|
7481
7688
|
</span>
|
|
7482
7689
|
</div>
|
|
7483
7690
|
</div>
|
|
7484
|
-
<div class="o-divider"/>
|
|
7691
|
+
<div class="o-divider border-end"/>
|
|
7485
7692
|
<div class="o-border-selector-section">
|
|
7486
7693
|
<div
|
|
7487
7694
|
class="m-0 p-0 d-flex align-items-center justify-content-center o-with-color o-hoverable-button"
|