@odoo/o-spreadsheet 18.4.19 → 18.4.23
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 +158 -145
- package/dist/o-spreadsheet.d.ts +14 -32
- package/dist/o-spreadsheet.esm.js +158 -145
- package/dist/o-spreadsheet.iife.js +158 -145
- package/dist/o-spreadsheet.iife.min.js +171 -182
- package/dist/o_spreadsheet.css +192 -0
- package/dist/o_spreadsheet.xml +33 -42
- package/package.json +3 -2
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
|
|
2
|
+
/*
|
|
3
|
+
* This file is generated by o-spreadsheet build tools. Do not edit it.
|
|
4
|
+
* @see https://github.com/odoo/o-spreadsheet
|
|
5
|
+
* @version 18.4.23
|
|
6
|
+
* @date 2026-01-07T16:22:01.801Z
|
|
7
|
+
* @hash a0135e8
|
|
8
|
+
*/
|
|
9
|
+
/* Originates from src/components/top_bar/top_bar.scss */
|
|
10
|
+
@media (max-width: 1200px) {
|
|
11
|
+
.o-spreadsheet .o-topbar-responsive {
|
|
12
|
+
flex-direction: column !important;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
@media (max-width: 768px) {
|
|
16
|
+
.o-spreadsheet .irregularity-map span {
|
|
17
|
+
overflow: auto;
|
|
18
|
+
align-items: normal !important;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
.o-spreadsheet .tool-container {
|
|
22
|
+
display: flex;
|
|
23
|
+
justify-content: center;
|
|
24
|
+
align-items: center;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/* Originates from src/components/top_bar/dropdown_action/dropdown_action.scss */
|
|
28
|
+
.o-spreadsheet .o-dropdown {
|
|
29
|
+
position: relative;
|
|
30
|
+
display: flex;
|
|
31
|
+
align-items: center;
|
|
32
|
+
}
|
|
33
|
+
.o-spreadsheet .o-dropdown-content {
|
|
34
|
+
background-color: white;
|
|
35
|
+
}
|
|
36
|
+
.o-spreadsheet .o-dropdown-content .o-dropdown-line {
|
|
37
|
+
display: flex;
|
|
38
|
+
}
|
|
39
|
+
.o-spreadsheet .o-dropdown-content .o-dropdown-line > span {
|
|
40
|
+
padding: 4px;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* Originates from src/components/spreadsheet/spreadsheet.scss */
|
|
44
|
+
.o-spreadsheet {
|
|
45
|
+
color: #374151;
|
|
46
|
+
}
|
|
47
|
+
.o-spreadsheet input {
|
|
48
|
+
background-color: white;
|
|
49
|
+
}
|
|
50
|
+
.o-spreadsheet.o-spreadsheet-mobile .o-spreadsheet-topbar-wrapper,
|
|
51
|
+
.o-spreadsheet .o-spreadsheet-bottombar-wrapper {
|
|
52
|
+
box-shadow: 0 0 3px 1px lightgray;
|
|
53
|
+
}
|
|
54
|
+
.o-spreadsheet .o-spreadsheet-bottombar-wrapper {
|
|
55
|
+
overscroll-behavior: none;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* Originates from src/components/small_bottom_bar/small_bottom_bar.scss */
|
|
59
|
+
.o-spreadsheet .o-spreadsheet-small-bottom-bar {
|
|
60
|
+
background-color: #f5f5f5;
|
|
61
|
+
border-bottom: #f2f2f2;
|
|
62
|
+
}
|
|
63
|
+
.o-spreadsheet .o-spreadsheet-small-bottom-bar .o-selection-button {
|
|
64
|
+
border-radius: 2px;
|
|
65
|
+
background-color: #e7e9ed;
|
|
66
|
+
}
|
|
67
|
+
.o-spreadsheet .o-spreadsheet-small-bottom-bar .o-selection-button .o-icon {
|
|
68
|
+
width: 24px;
|
|
69
|
+
height: 24px;
|
|
70
|
+
color: #6aa84f;
|
|
71
|
+
}
|
|
72
|
+
.o-spreadsheet .o-spreadsheet-small-bottom-bar .o-small-composer {
|
|
73
|
+
background-color: white;
|
|
74
|
+
border: lightgrey solid 1px;
|
|
75
|
+
line-height: 26px;
|
|
76
|
+
display: flex;
|
|
77
|
+
}
|
|
78
|
+
.o-spreadsheet .o-spreadsheet-small-bottom-bar .bottom-bar-menu {
|
|
79
|
+
background-color: #f5f5f5;
|
|
80
|
+
border-top: 1px solid lightgrey;
|
|
81
|
+
border-bottom: 1px solid lightgrey;
|
|
82
|
+
}
|
|
83
|
+
.o-spreadsheet .o-spreadsheet-small-bottom-bar .o-spreadsheet-bottom-bar {
|
|
84
|
+
border: none;
|
|
85
|
+
}
|
|
86
|
+
.o-spreadsheet .o-spreadsheet-small-bottom-bar .o-composer {
|
|
87
|
+
overscroll-behavior: contain;
|
|
88
|
+
}
|
|
89
|
+
.o-spreadsheet .o-spreadsheet-small-bottom-bar .o-composer-assistant-container {
|
|
90
|
+
transform: translateY(calc(-26px - 100%));
|
|
91
|
+
}
|
|
92
|
+
.o-spreadsheet .o-spreadsheet-small-bottom-bar .o-spreadsheet-editor-symbol {
|
|
93
|
+
height: 33px;
|
|
94
|
+
cursor: pointer;
|
|
95
|
+
user-select: none;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/* Originates from src/components/small_bottom_bar/ribbon_menu/ribbon_menu.scss */
|
|
99
|
+
.o-spreadsheet .o-ribbon-menu {
|
|
100
|
+
height: 250px;
|
|
101
|
+
}
|
|
102
|
+
.o-spreadsheet .o-ribbon-menu .o-ribbon-title {
|
|
103
|
+
background-color: white;
|
|
104
|
+
border-bottom: 2px solid #e0e2e4;
|
|
105
|
+
}
|
|
106
|
+
.o-spreadsheet .o-ribbon-menu .o-previous-button {
|
|
107
|
+
background-color: #f5f5f5;
|
|
108
|
+
}
|
|
109
|
+
.o-spreadsheet .o-ribbon-menu .o-ribbon-menu-wrapper {
|
|
110
|
+
max-height: 100%;
|
|
111
|
+
}
|
|
112
|
+
.o-spreadsheet .o-ribbon-menu .o-ribbon-menu-wrapper.scroll-top::before {
|
|
113
|
+
width: 100%;
|
|
114
|
+
height: 15px;
|
|
115
|
+
content: "";
|
|
116
|
+
background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent);
|
|
117
|
+
position: absolute;
|
|
118
|
+
pointer-events: none;
|
|
119
|
+
}
|
|
120
|
+
.o-spreadsheet .o-ribbon-menu .o-ribbon-menu-wrapper.scroll-bottom::after {
|
|
121
|
+
width: 100%;
|
|
122
|
+
height: 15px;
|
|
123
|
+
content: "";
|
|
124
|
+
background: linear-gradient(to top, rgba(0, 0, 0, 0.2), transparent);
|
|
125
|
+
position: absolute;
|
|
126
|
+
pointer-events: none;
|
|
127
|
+
z-index: 1;
|
|
128
|
+
bottom: 0;
|
|
129
|
+
}
|
|
130
|
+
.o-spreadsheet .o-ribbon-menu .o-menu-item {
|
|
131
|
+
height: 40px;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/* Originates from src/components/side_panel/chart/building_blocks/pie_hole_size/pie_hole_size.scss */
|
|
135
|
+
.o-spreadsheet .o-sidePanel .o-pie-hole-size-input {
|
|
136
|
+
width: 40px;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/* Originates from src/components/full_screen_chart/full_screen_chart.scss */
|
|
140
|
+
.o-spreadsheet .o-fullscreen-chart-overlay {
|
|
141
|
+
z-index: 34; /* TODO: use css variables once ComponentsImportance is available in the scss. */
|
|
142
|
+
background-color: rgba(0, 0, 0, 0.4);
|
|
143
|
+
padding: 60px;
|
|
144
|
+
}
|
|
145
|
+
.o-spreadsheet .o-fullscreen-chart-overlay .o-figure:not(:hover) .o-dashboard-chart-select {
|
|
146
|
+
display: block !important;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/* Originates from src/components/filters/filter_menu_value_list/filter_menu_value_list.scss */
|
|
150
|
+
.o-spreadsheet .o-filter-menu .o-search-icon {
|
|
151
|
+
right: 5px;
|
|
152
|
+
top: 3px;
|
|
153
|
+
opacity: 0.4;
|
|
154
|
+
}
|
|
155
|
+
.o-spreadsheet .o-filter-menu .o-search-icon svg {
|
|
156
|
+
height: 16px;
|
|
157
|
+
width: 16px;
|
|
158
|
+
vertical-align: middle;
|
|
159
|
+
}
|
|
160
|
+
.o-spreadsheet .o-filter-menu .o-filter-menu-actions {
|
|
161
|
+
display: flex;
|
|
162
|
+
flex-direction: row;
|
|
163
|
+
margin-bottom: 4px;
|
|
164
|
+
}
|
|
165
|
+
.o-spreadsheet .o-filter-menu .o-filter-menu-list {
|
|
166
|
+
flex: auto;
|
|
167
|
+
overflow-y: auto;
|
|
168
|
+
border: 1px solid #d8dadd;
|
|
169
|
+
height: 130px;
|
|
170
|
+
}
|
|
171
|
+
.o-spreadsheet .o-filter-menu .o-filter-menu-list .o-filter-menu-no-values {
|
|
172
|
+
color: #949494;
|
|
173
|
+
font-style: italic;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/* Originates from src/components/figures/chart/chart_dashboard_menu/chart_dashboard_menu.scss */
|
|
177
|
+
.o-spreadsheet .o-figure:not(:hover) .o-dashboard-chart-select {
|
|
178
|
+
display: none !important;
|
|
179
|
+
}
|
|
180
|
+
.o-spreadsheet .o-figure .o-dashboard-chart-select {
|
|
181
|
+
cursor: default;
|
|
182
|
+
}
|
|
183
|
+
.o-spreadsheet .o-figure .o-dashboard-chart-select .o-chart-dashboard-item {
|
|
184
|
+
opacity: 0.3;
|
|
185
|
+
}
|
|
186
|
+
.o-spreadsheet .o-figure .o-dashboard-chart-select .o-chart-dashboard-item.active, .o-spreadsheet .o-figure .o-dashboard-chart-select .o-chart-dashboard-item:hover, .o-spreadsheet .o-figure .o-dashboard-chart-select .o-chart-dashboard-item:target {
|
|
187
|
+
background: #e6f2f3;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.o-spreadsheet.o-spreadsheet-mobile .o-figure .o-dashboard-chart-select {
|
|
191
|
+
display: block !important;
|
|
192
|
+
}
|
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 18.4.
|
|
5
|
-
@date
|
|
6
|
-
@hash
|
|
4
|
+
@version 18.4.23
|
|
5
|
+
@date 2026-01-07T16:22:00.962Z
|
|
6
|
+
@hash a0135e8
|
|
7
7
|
-->
|
|
8
8
|
<odoo>
|
|
9
9
|
<t t-name="o-spreadsheet-ValidationMessages">
|
|
@@ -1740,46 +1740,43 @@
|
|
|
1740
1740
|
<t t-name="o-spreadsheet-ConditionalFormatPreview">
|
|
1741
1741
|
<t t-set="cf" t-value="props.conditionalFormat"/>
|
|
1742
1742
|
<div
|
|
1743
|
-
class="o-cf-preview w-100"
|
|
1743
|
+
class="o-cf-preview w-100 d-flex align-items-center"
|
|
1744
1744
|
t-ref="cfPreview"
|
|
1745
1745
|
t-att-class="props.class"
|
|
1746
1746
|
t-att-data-id="cf.id"
|
|
1747
1747
|
t-on-click="props.onPreviewClick"
|
|
1748
1748
|
t-on-pointerdown="(ev) => this.onMouseDown(ev)">
|
|
1749
|
-
<div class="
|
|
1749
|
+
<div class="o-cf-drag-handle h-100 position-absolute d-flex align-items-center o-button-icon">
|
|
1750
|
+
<t t-call="o-spreadsheet-Icon.THIN_DRAG_HANDLE"/>
|
|
1751
|
+
</div>
|
|
1752
|
+
<t t-if="cf.rule.type==='IconSetRule'">
|
|
1753
|
+
<div class="o-cf-preview-icon d-flex justify-content-around align-items-center me-3">
|
|
1754
|
+
<t t-call="o-spreadsheet-Icon.{{icons[cf.rule.icons.upper].template}}"/>
|
|
1755
|
+
<t t-call="o-spreadsheet-Icon.{{icons[cf.rule.icons.middle].template}}"/>
|
|
1756
|
+
<t t-call="o-spreadsheet-Icon.{{icons[cf.rule.icons.lower].template}}"/>
|
|
1757
|
+
</div>
|
|
1758
|
+
</t>
|
|
1759
|
+
<t t-else="">
|
|
1750
1760
|
<div
|
|
1751
|
-
|
|
1752
|
-
|
|
1761
|
+
t-att-style="getPreviewImageStyle(cf.rule)"
|
|
1762
|
+
class="o-cf-preview-icon d-flex justify-content-around align-items-center me-3 flex-shrink-0">
|
|
1763
|
+
123
|
|
1753
1764
|
</div>
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
<t t-
|
|
1759
|
-
</div>
|
|
1760
|
-
</t>
|
|
1761
|
-
<t t-else="">
|
|
1762
|
-
<div
|
|
1763
|
-
t-att-style="getPreviewImageStyle(cf.rule)"
|
|
1764
|
-
class="o-cf-preview-icon d-flex justify-content-around align-items-center me-2">
|
|
1765
|
-
123
|
|
1766
|
-
</div>
|
|
1767
|
-
</t>
|
|
1768
|
-
<div class="o-cf-preview-description">
|
|
1769
|
-
<div class="o-cf-preview-ruletype">
|
|
1770
|
-
<div class="o-cf-preview-description-rule o-fw-bold text-truncate">
|
|
1771
|
-
<t t-esc="getDescription(cf)"/>
|
|
1772
|
-
</div>
|
|
1765
|
+
</t>
|
|
1766
|
+
<div class="o-cf-preview-description me-3 overflow-auto">
|
|
1767
|
+
<div class="o-cf-preview-ruletype">
|
|
1768
|
+
<div class="o-cf-preview-description-rule o-fw-bold text-truncate">
|
|
1769
|
+
<t t-esc="getDescription(cf)"/>
|
|
1773
1770
|
</div>
|
|
1774
|
-
<div class="o-cf-preview-range text-truncate" t-esc="cf.ranges"/>
|
|
1775
1771
|
</div>
|
|
1776
|
-
<div class="o-cf-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1772
|
+
<div class="o-cf-preview-range text-truncate" t-esc="cf.ranges"/>
|
|
1773
|
+
</div>
|
|
1774
|
+
<div class="o-cf-delete ms-auto">
|
|
1775
|
+
<div
|
|
1776
|
+
class="o-cf-delete-button o-button-icon"
|
|
1777
|
+
t-on-click.stop="(ev) => this.deleteConditionalFormat(cf, ev)"
|
|
1778
|
+
title="Remove rule">
|
|
1779
|
+
<t t-call="o-spreadsheet-Icon.TRASH_FILLED"/>
|
|
1783
1780
|
</div>
|
|
1784
1781
|
</div>
|
|
1785
1782
|
</div>
|
|
@@ -5669,7 +5666,7 @@
|
|
|
5669
5666
|
|
|
5670
5667
|
<t t-name="o-spreadsheet-GridOverlay">
|
|
5671
5668
|
<div class="position-absolute" t-att-style="style">
|
|
5672
|
-
<FiguresContainer
|
|
5669
|
+
<FiguresContainer/>
|
|
5673
5670
|
</div>
|
|
5674
5671
|
<div
|
|
5675
5672
|
t-ref="gridOverlay"
|
|
@@ -5684,7 +5681,6 @@
|
|
|
5684
5681
|
<GridAddRowsFooter
|
|
5685
5682
|
t-if="!env.model.getters.isReadonly()"
|
|
5686
5683
|
t-key="env.model.getters.getActiveSheetId()"
|
|
5687
|
-
focusGrid="props.onFigureDeleted"
|
|
5688
5684
|
/>
|
|
5689
5685
|
<t t-slot="default"/>
|
|
5690
5686
|
</div>
|
|
@@ -5732,8 +5728,6 @@
|
|
|
5732
5728
|
onGridResized.bind="onGridResized"
|
|
5733
5729
|
onGridMoved.bind="moveCanvas"
|
|
5734
5730
|
gridOverlayDimensions="gridOverlayDimensions"
|
|
5735
|
-
onFigureDeleted.bind="focusDefaultElement"
|
|
5736
|
-
getGridSize="props.getGridSize"
|
|
5737
5731
|
/>
|
|
5738
5732
|
<HeadersOverlay onOpenContextMenu="(type, x, y) => this.toggleContextMenu(type, x, y)"/>
|
|
5739
5733
|
<GridComposer
|
|
@@ -6010,7 +6004,6 @@
|
|
|
6010
6004
|
t-att-style="container.inverseViewportStyle">
|
|
6011
6005
|
<t t-foreach="container.figures" t-as="figureUI" t-key="figureUI.id">
|
|
6012
6006
|
<FigureComponent
|
|
6013
|
-
onFigureDeleted="this.props.onFigureDeleted"
|
|
6014
6007
|
figureUI="figureUI"
|
|
6015
6008
|
style="getFigureStyle(figureUI)"
|
|
6016
6009
|
onMouseDown="(ev) => this.startDraggingFigure(figureUI, ev)"
|
|
@@ -6066,7 +6059,6 @@
|
|
|
6066
6059
|
<t
|
|
6067
6060
|
t-component="figureRegistry.get(props.figureUI.tag).Component"
|
|
6068
6061
|
t-key="props.figureUI.id"
|
|
6069
|
-
onFigureDeleted="props.onFigureDeleted"
|
|
6070
6062
|
figureUI="props.figureUI"
|
|
6071
6063
|
/>
|
|
6072
6064
|
<div class="o-figure-menu position-absolute m-2" t-if="!env.isDashboard()">
|
|
@@ -6206,8 +6198,7 @@
|
|
|
6206
6198
|
<GridOverlay
|
|
6207
6199
|
onGridResized.bind="onGridResized"
|
|
6208
6200
|
onGridMoved.bind="moveCanvas"
|
|
6209
|
-
gridOverlayDimensions="gridOverlayDimensions"
|
|
6210
|
-
getGridSize="props.getGridSize">
|
|
6201
|
+
gridOverlayDimensions="gridOverlayDimensions">
|
|
6211
6202
|
<div
|
|
6212
6203
|
t-foreach="getClickableCells()"
|
|
6213
6204
|
t-as="clickableCell"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@odoo/o-spreadsheet",
|
|
3
|
-
"version": "18.4.
|
|
3
|
+
"version": "18.4.23",
|
|
4
4
|
"description": "A spreadsheet component",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/o-spreadsheet.cjs.js",
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
"files": [
|
|
11
11
|
"dist/*.js",
|
|
12
12
|
"dist/*.d.ts",
|
|
13
|
-
"dist/*.xml"
|
|
13
|
+
"dist/*.xml",
|
|
14
|
+
"dist/*.css"
|
|
14
15
|
],
|
|
15
16
|
"scripts": {
|
|
16
17
|
"serve-static": "live-server --open=demo --watch=build/o_spreadsheet.iife.js,build/o_spreadsheet.xml,build/o_spreadsheet.css,main.css,demo",
|