@odoo/o-spreadsheet 18.5.0-alpha.8 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/o-spreadsheet.cjs.js +9842 -8458
- package/dist/o-spreadsheet.d.ts +5509 -5498
- package/dist/o-spreadsheet.esm.js +9842 -8458
- package/dist/o-spreadsheet.iife.js +10622 -9238
- package/dist/o-spreadsheet.iife.min.js +596 -591
- package/dist/o_spreadsheet.xml +178 -73
- package/package.json +2 -2
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
|
|
5
|
-
@date 2025-
|
|
6
|
-
@hash
|
|
4
|
+
@version 19.0.0
|
|
5
|
+
@date 2025-09-11T07:19:39.737Z
|
|
6
|
+
@hash 0ac0e86
|
|
7
7
|
-->
|
|
8
8
|
<odoo>
|
|
9
9
|
<t t-name="o-spreadsheet-ValidationMessages">
|
|
@@ -53,8 +53,13 @@
|
|
|
53
53
|
</div>
|
|
54
54
|
</div>
|
|
55
55
|
<!-- Toolbar and Cell Content -->
|
|
56
|
-
<div
|
|
57
|
-
|
|
56
|
+
<div
|
|
57
|
+
class="d-flex o-topbar-responsive"
|
|
58
|
+
t-att-class="{'o-topbar-responsive': !env.model.getters.isReadonly()}"
|
|
59
|
+
t-ref="toolBarContainer">
|
|
60
|
+
<div
|
|
61
|
+
class="o-topbar-toolbar d-flex"
|
|
62
|
+
t-att-class="{'flex-shrink-0': env.model.getters.isReadonly()}">
|
|
58
63
|
<!-- Toolbar -->
|
|
59
64
|
<div
|
|
60
65
|
t-if="env.model.getters.isReadonly()"
|
|
@@ -215,7 +220,7 @@
|
|
|
215
220
|
t-ref="input"
|
|
216
221
|
class="os-input w-100"
|
|
217
222
|
type="text"
|
|
218
|
-
t-att-class="
|
|
223
|
+
t-att-class="inputClass"
|
|
219
224
|
t-att-id="props.id"
|
|
220
225
|
t-att-placeholder="props.placeholder"
|
|
221
226
|
t-att-value="props.value"
|
|
@@ -2410,6 +2415,9 @@
|
|
|
2410
2415
|
className="'mb-2'"
|
|
2411
2416
|
/>
|
|
2412
2417
|
</Section>
|
|
2418
|
+
<Section class="'pt-1'" title.translate="Number formatting">
|
|
2419
|
+
<ChartHumanizeNumbers t-props="props"/>
|
|
2420
|
+
</Section>
|
|
2413
2421
|
</t>
|
|
2414
2422
|
</GeneralDesignEditor>
|
|
2415
2423
|
<SidePanelCollapsible isInitiallyCollapsed="true" title.translate="Waterfall design">
|
|
@@ -2658,12 +2666,7 @@
|
|
|
2658
2666
|
<GeneralDesignEditor t-props="props" defaultChartTitleFontSize="defaultScorecardTitleFontSize">
|
|
2659
2667
|
<t t-set-slot="general-extension">
|
|
2660
2668
|
<Section class="'pt-1'" title.translate="Number formatting">
|
|
2661
|
-
<
|
|
2662
|
-
name="'humanizeNumbers'"
|
|
2663
|
-
label="humanizeNumbersLabel"
|
|
2664
|
-
value="props.definition.humanize"
|
|
2665
|
-
onChange.bind="updateHumanizeNumbers"
|
|
2666
|
-
/>
|
|
2669
|
+
<ChartHumanizeNumbers t-props="props"/>
|
|
2667
2670
|
</Section>
|
|
2668
2671
|
</t>
|
|
2669
2672
|
</GeneralDesignEditor>
|
|
@@ -2776,6 +2779,9 @@
|
|
|
2776
2779
|
<ChartShowValues t-props="props"/>
|
|
2777
2780
|
<ChartShowDataMarkers t-props="props"/>
|
|
2778
2781
|
</Section>
|
|
2782
|
+
<Section class="'pt-1'" title.translate="Number formatting">
|
|
2783
|
+
<ChartHumanizeNumbers t-props="props"/>
|
|
2784
|
+
</Section>
|
|
2779
2785
|
</t>
|
|
2780
2786
|
</GeneralDesignEditor>
|
|
2781
2787
|
<SeriesDesignEditor t-props="props"/>
|
|
@@ -2788,6 +2794,9 @@
|
|
|
2788
2794
|
<Section class="'pt-0'" title.translate="Values">
|
|
2789
2795
|
<ChartShowValues t-props="props"/>
|
|
2790
2796
|
</Section>
|
|
2797
|
+
<Section class="'pt-1'" title.translate="Number formatting">
|
|
2798
|
+
<ChartHumanizeNumbers t-props="props"/>
|
|
2799
|
+
</Section>
|
|
2791
2800
|
<PieHoleSize
|
|
2792
2801
|
t-if="props.definition.isDoughnut"
|
|
2793
2802
|
value="props.definition.pieHolePercentage ?? this.defaultHoleSize"
|
|
@@ -2860,6 +2869,9 @@
|
|
|
2860
2869
|
className="'mb-2'"
|
|
2861
2870
|
/>
|
|
2862
2871
|
</Section>
|
|
2872
|
+
<Section class="'pt-1'" title.translate="Number formatting">
|
|
2873
|
+
<ChartHumanizeNumbers t-props="props"/>
|
|
2874
|
+
</Section>
|
|
2863
2875
|
</t>
|
|
2864
2876
|
</GeneralDesignEditor>
|
|
2865
2877
|
<SeriesWithAxisDesignEditor t-props="props"/>
|
|
@@ -2966,6 +2978,9 @@
|
|
|
2966
2978
|
<option value="left">Bottom left</option>
|
|
2967
2979
|
</select>
|
|
2968
2980
|
</Section>
|
|
2981
|
+
<Section class="'pt-1'" title.translate="Number formatting">
|
|
2982
|
+
<ChartHumanizeNumbers t-props="props"/>
|
|
2983
|
+
</Section>
|
|
2969
2984
|
</t>
|
|
2970
2985
|
</GeneralDesignEditor>
|
|
2971
2986
|
|
|
@@ -3054,7 +3069,13 @@
|
|
|
3054
3069
|
</t>
|
|
3055
3070
|
|
|
3056
3071
|
<t t-name="o-spreadsheet-GaugeChartDesignPanel">
|
|
3057
|
-
<GeneralDesignEditor t-props="props"
|
|
3072
|
+
<GeneralDesignEditor t-props="props">
|
|
3073
|
+
<t t-set-slot="general-extension">
|
|
3074
|
+
<Section class="'pt-1'" title.translate="Number formatting">
|
|
3075
|
+
<ChartHumanizeNumbers t-props="props"/>
|
|
3076
|
+
</Section>
|
|
3077
|
+
</t>
|
|
3078
|
+
</GeneralDesignEditor>
|
|
3058
3079
|
<SidePanelCollapsible isInitiallyCollapsed="false" title.translate="Gauge Design">
|
|
3059
3080
|
<t t-set-slot="content">
|
|
3060
3081
|
<Section class="'pt-0'" title.translate="Range">
|
|
@@ -3196,6 +3217,9 @@
|
|
|
3196
3217
|
<Section class="'pt-0'" title.translate="Values">
|
|
3197
3218
|
<ChartShowValues t-props="props"/>
|
|
3198
3219
|
</Section>
|
|
3220
|
+
<Section class="'pt-1'" title.translate="Number formatting">
|
|
3221
|
+
<ChartHumanizeNumbers t-props="props"/>
|
|
3222
|
+
</Section>
|
|
3199
3223
|
</t>
|
|
3200
3224
|
</GeneralDesignEditor>
|
|
3201
3225
|
|
|
@@ -3233,6 +3257,9 @@
|
|
|
3233
3257
|
className="'mb-2'"
|
|
3234
3258
|
/>
|
|
3235
3259
|
</Section>
|
|
3260
|
+
<Section class="'pt-1'" title.translate="Number formatting">
|
|
3261
|
+
<ChartHumanizeNumbers t-props="props"/>
|
|
3262
|
+
</Section>
|
|
3236
3263
|
</t>
|
|
3237
3264
|
</GeneralDesignEditor>
|
|
3238
3265
|
<SeriesWithAxisDesignEditor t-props="props">
|
|
@@ -3267,6 +3294,9 @@
|
|
|
3267
3294
|
<Section class="'pt-0'" title.translate="Values">
|
|
3268
3295
|
<ChartShowValues t-props="props"/>
|
|
3269
3296
|
</Section>
|
|
3297
|
+
<Section class="'pt-1'" title.translate="Number formatting">
|
|
3298
|
+
<ChartHumanizeNumbers t-props="props"/>
|
|
3299
|
+
</Section>
|
|
3270
3300
|
</t>
|
|
3271
3301
|
</GeneralDesignEditor>
|
|
3272
3302
|
<SeriesWithAxisDesignEditor t-props="props"/>
|
|
@@ -3904,6 +3934,15 @@
|
|
|
3904
3934
|
</Section>
|
|
3905
3935
|
</t>
|
|
3906
3936
|
|
|
3937
|
+
<t t-name="o-spreadsheet-ChartHumanizeNumbers">
|
|
3938
|
+
<Checkbox
|
|
3939
|
+
name="'humanizeNumbers'"
|
|
3940
|
+
label.translate="Make numbers human-readable"
|
|
3941
|
+
value="props.definition.humanize ?? true"
|
|
3942
|
+
onChange="(humanize) => props.updateChart(this.props.chartId, { humanize })"
|
|
3943
|
+
/>
|
|
3944
|
+
</t>
|
|
3945
|
+
|
|
3907
3946
|
<t t-name="o-spreadsheet-GenericChartConfigPanel">
|
|
3908
3947
|
<div>
|
|
3909
3948
|
<ChartDataSeries
|
|
@@ -4067,11 +4106,31 @@
|
|
|
4067
4106
|
|
|
4068
4107
|
<t t-name="o-spreadsheet-CarouselPanel">
|
|
4069
4108
|
<div class="o-carousel-panel h-100 overflow-auto">
|
|
4109
|
+
<Section title.translate="Carousel Title" class="'o-carousel-title'">
|
|
4110
|
+
<TextInput
|
|
4111
|
+
value="title?.text ?? ''"
|
|
4112
|
+
onChange.bind="updateTitleText"
|
|
4113
|
+
placeholder.translate="Add a Title"
|
|
4114
|
+
alwaysShowBorder="true"
|
|
4115
|
+
/>
|
|
4116
|
+
<TextStyler
|
|
4117
|
+
style="title ?? {}"
|
|
4118
|
+
updateStyle.bind="updateTitleStyle"
|
|
4119
|
+
defaultStyle="DEFAULT_CAROUSEL_TITLE_STYLE"
|
|
4120
|
+
hasHorizontalAlign="false"
|
|
4121
|
+
/>
|
|
4122
|
+
</Section>
|
|
4123
|
+
<div class="o-section pb-1 pt-0">
|
|
4124
|
+
<div class="o-section-title">Carousel Sections</div>
|
|
4125
|
+
</div>
|
|
4070
4126
|
<div class="o-carousel-preview-list overflow-auto" t-ref="previewList">
|
|
4071
4127
|
<t t-foreach="carouselItems" t-as="item" t-key="getItemId(item)">
|
|
4072
4128
|
<div
|
|
4073
4129
|
class="o-carousel-preview border-bottom pe-2 position-relative w-100 d-flex align-items-center"
|
|
4074
|
-
t-att-class="{
|
|
4130
|
+
t-att-class="{
|
|
4131
|
+
'o-dragging': dragAndDrop.draggedItemId === getItemId(item),
|
|
4132
|
+
'o-selected': isCarouselItemActive(item)
|
|
4133
|
+
}"
|
|
4075
4134
|
t-att-style="getPreviewDivStyle(item)">
|
|
4076
4135
|
<div
|
|
4077
4136
|
class="o-drag-handle h-100 position-absolute d-flex align-items-center o-button-icon ps-1 flex-shrink-0"
|
|
@@ -4089,33 +4148,23 @@
|
|
|
4089
4148
|
/>
|
|
4090
4149
|
</div>
|
|
4091
4150
|
<div class="ms-auto"/>
|
|
4092
|
-
<div
|
|
4093
|
-
|
|
4094
|
-
class="o-edit-button o-button-icon pe-2 ps-1 flex-shrink-0 fa fa-pencil"
|
|
4095
|
-
t-on-click.stop="(ev) => this.editCarouselItem(item, ev)"
|
|
4096
|
-
title="Edit chart"
|
|
4097
|
-
/>
|
|
4098
|
-
<div
|
|
4099
|
-
class="o-delete-button o-button-icon pe-2 ps-1 flex-shrink-0"
|
|
4100
|
-
t-on-click.stop="(ev) => this.deleteCarouselItem(item, ev)"
|
|
4101
|
-
title="Remove chart">
|
|
4102
|
-
<t t-call="o-spreadsheet-Icon.TRASH_FILLED"/>
|
|
4151
|
+
<div class="flex-shrink-0 d-flex align-self-start me-1">
|
|
4152
|
+
<CogWheelMenu items="getCogWheelMenuItems(item)"/>
|
|
4103
4153
|
</div>
|
|
4104
4154
|
</div>
|
|
4105
4155
|
</t>
|
|
4106
4156
|
</div>
|
|
4107
4157
|
<div
|
|
4108
|
-
class="o-button-link o-carousel-add-chart float-end d-flex align-items-center
|
|
4109
|
-
t-on-click="addNewChartToCarousel"
|
|
4158
|
+
class="o-button-link o-carousel-add-chart float-end d-flex align-items-center py-4 pe-4 gap-2"
|
|
4159
|
+
t-on-click="addNewChartToCarousel"
|
|
4160
|
+
t-att-title="carouselAddChartInfoMessage">
|
|
4110
4161
|
+ Add chart
|
|
4111
|
-
<span t-att-title="carouselAddChartInfoMessage">
|
|
4112
|
-
<t t-call="o-spreadsheet-Icon.CIRCLE_INFO"/>
|
|
4113
|
-
</span>
|
|
4114
4162
|
</div>
|
|
4115
4163
|
<div
|
|
4116
4164
|
t-if="!hasDataView"
|
|
4117
|
-
class="o-button-link o-carousel-add-data-view float-end
|
|
4118
|
-
t-on-click="addDataViewToCarousel"
|
|
4165
|
+
class="o-button-link o-carousel-add-data-view float-end py-4 pe-4"
|
|
4166
|
+
t-on-click="addDataViewToCarousel"
|
|
4167
|
+
t-att-title="carouselDataViewMessage">
|
|
4119
4168
|
+ Add data view
|
|
4120
4169
|
</div>
|
|
4121
4170
|
</div>
|
|
@@ -4349,12 +4398,12 @@
|
|
|
4349
4398
|
<t t-set="secondaryIcon" t-value="menuItem.secondaryIcon(env)"/>
|
|
4350
4399
|
<div
|
|
4351
4400
|
t-if="isMenuRoot"
|
|
4352
|
-
class="o-menu-item-root align-
|
|
4401
|
+
class="o-menu-item-root ms-auto align-items-center d-flex"
|
|
4353
4402
|
t-call="o-spreadsheet-Icon.CARET_RIGHT"
|
|
4354
4403
|
/>
|
|
4355
4404
|
<div
|
|
4356
4405
|
t-elif="secondaryIcon"
|
|
4357
|
-
class="o-menu-item-root align-
|
|
4406
|
+
class="o-menu-item-root ms-auto align-items-center d-flex"
|
|
4358
4407
|
t-call="{{secondaryIcon}}"
|
|
4359
4408
|
/>
|
|
4360
4409
|
</div>
|
|
@@ -5045,6 +5094,11 @@
|
|
|
5045
5094
|
<i class="fa fa-pencil-square-o"/>
|
|
5046
5095
|
</div>
|
|
5047
5096
|
</t>
|
|
5097
|
+
<t t-name="o-spreadsheet-Icon.EXTERNAL">
|
|
5098
|
+
<div class="o-icon">
|
|
5099
|
+
<i class="fa fa-external-link"/>
|
|
5100
|
+
</div>
|
|
5101
|
+
</t>
|
|
5048
5102
|
<t t-name="o-spreadsheet-Icon.UNLINK">
|
|
5049
5103
|
<div class="o-icon">
|
|
5050
5104
|
<i class="fa fa-chain-broken"/>
|
|
@@ -5485,6 +5539,14 @@
|
|
|
5485
5539
|
/>
|
|
5486
5540
|
</svg>
|
|
5487
5541
|
</t>
|
|
5542
|
+
<t t-name="o-spreadsheet-Icon.DATA">
|
|
5543
|
+
<svg class="o-icon" viewBox="0 0 18 18">
|
|
5544
|
+
<path
|
|
5545
|
+
fill="currentColor"
|
|
5546
|
+
d="M.5 1.5a1 1 0 0 1 1-1h15a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1h-15a1 1 0 0 1-1-1zM6 6V1.5H1.5V6m10 0V1.5h-5V6m10 0V1.5H12V6m-6 5.5v-5H1.5v5m10 0v-5h-5v5m10 0v-5H12v5m-6 5V12H1.5v4.5m10 0V12h-5v4.5m10 0V12H12v4.5"
|
|
5547
|
+
/>
|
|
5548
|
+
</svg>
|
|
5549
|
+
</t>
|
|
5488
5550
|
|
|
5489
5551
|
<t t-name="o-spreadsheet-IconPicker">
|
|
5490
5552
|
<div class="o-icon-picker">
|
|
@@ -5963,18 +6025,20 @@
|
|
|
5963
6025
|
</t>
|
|
5964
6026
|
|
|
5965
6027
|
<t t-name="o-spreadsheet-FullScreenChart">
|
|
5966
|
-
<div
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
|
|
6028
|
+
<div class="position-absolute o-fullscreen-chart-overlay w-100 h-100 d-flex" t-if="chartId">
|
|
6029
|
+
<div
|
|
6030
|
+
class="position-absolute top-0 start-0 end-0 bottom-0"
|
|
6031
|
+
t-on-click="exitFullScreen"
|
|
6032
|
+
aria-hidden="true"
|
|
6033
|
+
/>
|
|
5970
6034
|
<button
|
|
5971
|
-
class="o-exit top-0 end-0 position-absolute o-button primary m-1"
|
|
6035
|
+
class="o-exit top-0 end-0 position-absolute o-button primary m-1 shadow"
|
|
5972
6036
|
t-on-click="exitFullScreen">
|
|
5973
6037
|
Exit fullscreen
|
|
5974
6038
|
</button>
|
|
5975
6039
|
<div class="flex-fill">
|
|
5976
6040
|
<div
|
|
5977
|
-
class="o-fullscreen-chart o-figure position-relative"
|
|
6041
|
+
class="o-fullscreen-chart o-figure position-relative border rounded shadow"
|
|
5978
6042
|
tabindex="1"
|
|
5979
6043
|
t-ref="fullScreenChart"
|
|
5980
6044
|
t-on-click.stop=""
|
|
@@ -6217,30 +6281,35 @@
|
|
|
6217
6281
|
</t>
|
|
6218
6282
|
|
|
6219
6283
|
<t t-name="o-spreadsheet-CarouselFigure">
|
|
6220
|
-
<div class="o-carousel w-100 h-100" t-on-dblclick="onCarouselDoubleClick">
|
|
6284
|
+
<div class="o-carousel w-100 h-100 d-flex flex-column" t-on-dblclick="onCarouselDoubleClick">
|
|
6221
6285
|
<t t-set="selectedItem" t-value="selectedCarouselItem"/>
|
|
6222
6286
|
<div
|
|
6223
|
-
class="o-carousel-header
|
|
6287
|
+
class="o-carousel-header d-flex align-items-baseline flex-shrink-0 pe-1 pe-auto"
|
|
6224
6288
|
t-att-class="{
|
|
6289
|
+
'border-bottom': env.isDashboard(),
|
|
6225
6290
|
'o-carousel-header-floating': !env.isDashboard() and selectedItem?.type === 'carouselDataView',
|
|
6226
6291
|
}"
|
|
6227
|
-
t-att-style="headerStyle"
|
|
6228
|
-
t-
|
|
6229
|
-
<
|
|
6230
|
-
<
|
|
6231
|
-
|
|
6232
|
-
|
|
6233
|
-
|
|
6234
|
-
|
|
6235
|
-
|
|
6236
|
-
|
|
6292
|
+
t-att-style="headerStyle">
|
|
6293
|
+
<div class="o-carousel-title text-truncate" t-esc="title" t-att-style="titleStyle"/>
|
|
6294
|
+
<div class="ms-auto d-flex">
|
|
6295
|
+
<t t-foreach="carousel.items" t-as="item" t-key="item_index">
|
|
6296
|
+
<div
|
|
6297
|
+
class="o-carousel-tab text-truncate px-2 mt-1 flex-shrink-0"
|
|
6298
|
+
t-att-class="{ 'selected': isItemSelected(item) }"
|
|
6299
|
+
t-esc="getItemTitle(item)"
|
|
6300
|
+
t-on-click.stop="() => this.onCarouselTabClick(item)"
|
|
6301
|
+
/>
|
|
6302
|
+
</t>
|
|
6303
|
+
</div>
|
|
6237
6304
|
</div>
|
|
6238
6305
|
<div
|
|
6239
6306
|
t-if="!selectedItem"
|
|
6240
|
-
class="o-carousel-empty w-100
|
|
6307
|
+
class="o-carousel-empty w-100 flex-fill d-flex align-items-center justify-content-center">
|
|
6241
6308
|
<t t-call="o-spreadsheet-Icon.CAROUSEL"/>
|
|
6242
6309
|
</div>
|
|
6243
|
-
<div
|
|
6310
|
+
<div
|
|
6311
|
+
t-elif="selectedItem.type === 'chart'"
|
|
6312
|
+
class="o-carousel-content w-100 flex-fill position-relative">
|
|
6244
6313
|
<div class="o-chart-container w-100 h-100">
|
|
6245
6314
|
<t
|
|
6246
6315
|
t-component="chartComponent"
|
|
@@ -6248,6 +6317,11 @@
|
|
|
6248
6317
|
t-key="selectedItem.chartId"
|
|
6249
6318
|
/>
|
|
6250
6319
|
</div>
|
|
6320
|
+
<ChartDashboardMenu
|
|
6321
|
+
t-if="env.isDashboard()"
|
|
6322
|
+
chartId="selectedItem.chartId"
|
|
6323
|
+
t-key="selectedItem.chartId"
|
|
6324
|
+
/>
|
|
6251
6325
|
</div>
|
|
6252
6326
|
</div>
|
|
6253
6327
|
</t>
|
|
@@ -6275,7 +6349,7 @@
|
|
|
6275
6349
|
/>
|
|
6276
6350
|
<div class="o-figure-menu position-absolute m-2" t-if="!env.isDashboard()">
|
|
6277
6351
|
<div
|
|
6278
|
-
class="o-figure-menu-item"
|
|
6352
|
+
class="o-figure-menu-item d-flex-align-items-center"
|
|
6279
6353
|
t-if="!env.model.getters.isReadonly() and props.figureUI.tag !== 'carousel'"
|
|
6280
6354
|
t-on-click="showMenu"
|
|
6281
6355
|
t-ref="menuButton"
|
|
@@ -6289,46 +6363,63 @@
|
|
|
6289
6363
|
onClose="() => this.menuState.isOpen=false"
|
|
6290
6364
|
/>
|
|
6291
6365
|
</div>
|
|
6366
|
+
<div t-if="!env.isDashboard()" class="position-absolute top-0 start-0 pe-none w-100 h-100">
|
|
6367
|
+
<div
|
|
6368
|
+
class="o-figure-border pe-auto w-100 h-0 position-absolute pb-2"
|
|
6369
|
+
t-att-style="getBorderStyle('top')"
|
|
6370
|
+
/>
|
|
6371
|
+
<div
|
|
6372
|
+
class="o-figure-border pe-auto h-100 position-absolute start-0 ps-2"
|
|
6373
|
+
t-att-style="getBorderStyle('left')"
|
|
6374
|
+
/>
|
|
6375
|
+
<div
|
|
6376
|
+
class="o-figure-border pe-auto w-100 position-absolute bottom-0 pt-2"
|
|
6377
|
+
t-att-style="getBorderStyle('bottom')"
|
|
6378
|
+
/>
|
|
6379
|
+
<div
|
|
6380
|
+
class="o-figure-border pe-auto h-100 position-absolute end-0 pe-2"
|
|
6381
|
+
t-att-style="getBorderStyle('right')"
|
|
6382
|
+
/>
|
|
6383
|
+
</div>
|
|
6292
6384
|
</div>
|
|
6293
|
-
<div class="o-figure-border w-100 h-100 position-absolute pe-none" t-att-style="borderStyle"/>
|
|
6294
6385
|
<t t-if="isSelected and !env.isMobile()">
|
|
6295
6386
|
<div
|
|
6296
|
-
class="o-fig-anchor o-top"
|
|
6387
|
+
class="o-fig-anchor o-top pe-auto"
|
|
6297
6388
|
t-att-style="this.getResizerPosition('top')"
|
|
6298
6389
|
t-on-pointerdown="(ev) => this.clickAnchor(0,-1, ev)"
|
|
6299
6390
|
/>
|
|
6300
6391
|
<div
|
|
6301
|
-
class="o-fig-anchor o-topRight"
|
|
6392
|
+
class="o-fig-anchor o-topRight pe-auto"
|
|
6302
6393
|
t-att-style="this.getResizerPosition('top right')"
|
|
6303
6394
|
t-on-pointerdown="(ev) => this.clickAnchor(1,-1, ev)"
|
|
6304
6395
|
/>
|
|
6305
6396
|
<div
|
|
6306
|
-
class="o-fig-anchor o-right"
|
|
6397
|
+
class="o-fig-anchor o-right pe-auto"
|
|
6307
6398
|
t-att-style="this.getResizerPosition('right')"
|
|
6308
6399
|
t-on-pointerdown="(ev) => this.clickAnchor(1,0, ev)"
|
|
6309
6400
|
/>
|
|
6310
6401
|
<div
|
|
6311
|
-
class="o-fig-anchor o-bottomRight"
|
|
6402
|
+
class="o-fig-anchor o-bottomRight pe-auto"
|
|
6312
6403
|
t-att-style="this.getResizerPosition('bottom right')"
|
|
6313
6404
|
t-on-pointerdown="(ev) => this.clickAnchor(1,1, ev)"
|
|
6314
6405
|
/>
|
|
6315
6406
|
<div
|
|
6316
|
-
class="o-fig-anchor o-bottom"
|
|
6407
|
+
class="o-fig-anchor o-bottom pe-auto"
|
|
6317
6408
|
t-att-style="this.getResizerPosition('bottom')"
|
|
6318
6409
|
t-on-pointerdown="(ev) => this.clickAnchor(0,1, ev)"
|
|
6319
6410
|
/>
|
|
6320
6411
|
<div
|
|
6321
|
-
class="o-fig-anchor o-bottomLeft"
|
|
6412
|
+
class="o-fig-anchor o-bottomLeft pe-auto"
|
|
6322
6413
|
t-att-style="this.getResizerPosition('bottom left')"
|
|
6323
6414
|
t-on-pointerdown="(ev) => this.clickAnchor(-1,1, ev)"
|
|
6324
6415
|
/>
|
|
6325
6416
|
<div
|
|
6326
|
-
class="o-fig-anchor o-left"
|
|
6417
|
+
class="o-fig-anchor o-left pe-auto"
|
|
6327
6418
|
t-att-style="this.getResizerPosition('left')"
|
|
6328
6419
|
t-on-pointerdown="(ev) => this.clickAnchor(-1,0, ev)"
|
|
6329
6420
|
/>
|
|
6330
6421
|
<div
|
|
6331
|
-
class="o-fig-anchor o-topLeft"
|
|
6422
|
+
class="o-fig-anchor o-topLeft pe-auto"
|
|
6332
6423
|
t-att-style="this.getResizerPosition('top left')"
|
|
6333
6424
|
t-on-pointerdown="(ev) => this.clickAnchor(-1,-1, ev)"
|
|
6334
6425
|
/>
|
|
@@ -6350,18 +6441,19 @@
|
|
|
6350
6441
|
|
|
6351
6442
|
<t t-name="o-spreadsheet-ChartDashboardMenu">
|
|
6352
6443
|
<div class="o-dashboard-chart-select position-absolute top-0 end-0" t-on-click.stop="">
|
|
6353
|
-
<div class="d-flex
|
|
6444
|
+
<div class="d-flex align-items-center gap-1 p-1 rounded" t-att-style="backgroundColor">
|
|
6354
6445
|
<t t-foreach="getMenuItems()" t-as="item" t-key="item.id">
|
|
6355
|
-
<
|
|
6356
|
-
t-attf-class=" {{item.
|
|
6357
|
-
class="o-chart-dashboard-item btn
|
|
6446
|
+
<div
|
|
6447
|
+
t-attf-class=" {{item.class}}"
|
|
6448
|
+
class="o-chart-dashboard-item btn border-0 lh-1 p-1 d-flex align-items-center justify-content-center"
|
|
6358
6449
|
t-att-title="item.label"
|
|
6359
6450
|
t-on-click="item.onClick"
|
|
6360
|
-
t-att-data-id="item.id"
|
|
6361
|
-
|
|
6451
|
+
t-att-data-id="item.id">
|
|
6452
|
+
<t t-if="item.preview" t-call="{{item.preview}}"/>
|
|
6453
|
+
</div>
|
|
6362
6454
|
</t>
|
|
6363
6455
|
<button
|
|
6364
|
-
class="o-chart-dashboard-item btn
|
|
6456
|
+
class="o-chart-dashboard-item btn text-muted lh-1 p-1 fa fa-ellipsis-v"
|
|
6365
6457
|
t-on-click="openContextMenu"
|
|
6366
6458
|
/>
|
|
6367
6459
|
</div>
|
|
@@ -6439,8 +6531,13 @@
|
|
|
6439
6531
|
t-on-click="(ev) => this.selectClickableCell(ev, clickableCell)"
|
|
6440
6532
|
t-on-auxclick="(ev) => this.selectClickableCell(ev, clickableCell)"
|
|
6441
6533
|
t-on-contextmenu.prevent=""
|
|
6442
|
-
t-att-style="getCellClickableStyle(clickableCell.coordinates)"
|
|
6443
|
-
|
|
6534
|
+
t-att-style="getCellClickableStyle(clickableCell.coordinates)">
|
|
6535
|
+
<t
|
|
6536
|
+
t-if="clickableCell.component"
|
|
6537
|
+
t-component="clickableCell.component"
|
|
6538
|
+
t-props="clickableCell.componentProps"
|
|
6539
|
+
/>
|
|
6540
|
+
</div>
|
|
6444
6541
|
</GridOverlay>
|
|
6445
6542
|
<canvas t-ref="canvas"/>
|
|
6446
6543
|
<GridPopover
|
|
@@ -6455,6 +6552,14 @@
|
|
|
6455
6552
|
</div>
|
|
6456
6553
|
</t>
|
|
6457
6554
|
|
|
6555
|
+
<t t-name="o-spreadsheet-ClickableCellSortIcon">
|
|
6556
|
+
<div class="w-100 h-100 d-flex flex-column align-items-end justify-content-end">
|
|
6557
|
+
<span class="o-icon h-100 sorting-icon pb-1" t-att-style="style">
|
|
6558
|
+
<i class="fa fa-small" t-att-class="icon"/>
|
|
6559
|
+
</span>
|
|
6560
|
+
</div>
|
|
6561
|
+
</t>
|
|
6562
|
+
|
|
6458
6563
|
<t t-name="o-spreadsheet-TopBarComposer">
|
|
6459
6564
|
<div class="o-topbar-composer-container w-100">
|
|
6460
6565
|
<div
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@odoo/o-spreadsheet",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "19.0.0",
|
|
4
4
|
"description": "A spreadsheet component",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/o-spreadsheet.cjs.js",
|
|
@@ -147,6 +147,6 @@
|
|
|
147
147
|
]
|
|
148
148
|
},
|
|
149
149
|
"publishConfig": {
|
|
150
|
-
"tag": "
|
|
150
|
+
"tag": "latest"
|
|
151
151
|
}
|
|
152
152
|
}
|