@odoo/o-spreadsheet 17.2.0 → 17.2.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.cjs.js +46 -36
- package/dist/o-spreadsheet.d.ts +4 -3
- package/dist/o-spreadsheet.esm.js +46 -36
- package/dist/o-spreadsheet.iife.js +46 -36
- package/dist/o-spreadsheet.iife.min.js +335 -330
- package/dist/o_spreadsheet.xml +29 -20
- package/package.json +1 -1
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* This file is generated by o-spreadsheet build tools. Do not edit it.
|
|
5
5
|
* @see https://github.com/odoo/o-spreadsheet
|
|
6
|
-
* @version 17.2.
|
|
7
|
-
* @date 2024-03-
|
|
8
|
-
* @hash
|
|
6
|
+
* @version 17.2.1
|
|
7
|
+
* @date 2024-03-25T09:41:58.737Z
|
|
8
|
+
* @hash f97284c
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
@@ -31,7 +31,6 @@ const DEFAULT_COLOR_SCALE_MIDPOINT_COLOR = 0xb6d7a8;
|
|
|
31
31
|
const LINK_COLOR = "#017E84";
|
|
32
32
|
const FILTERS_COLOR = "#188038";
|
|
33
33
|
const BACKGROUND_HEADER_FILTER_COLOR = "#E6F4EA";
|
|
34
|
-
const BACKGROUND_HEADER_SELECTED_FILTER_COLOR = "#CEEAD6";
|
|
35
34
|
const SEPARATOR_COLOR = "#E0E2E4";
|
|
36
35
|
const ICONS_COLOR = "#4A4F59";
|
|
37
36
|
const HEADER_GROUPING_BACKGROUND_COLOR = "#F5F5F5";
|
|
@@ -8005,6 +8004,9 @@ class DependencyContainer {
|
|
|
8005
8004
|
instantiate(Store, ...args) {
|
|
8006
8005
|
return this.factory.build(Store, ...args);
|
|
8007
8006
|
}
|
|
8007
|
+
resetStores() {
|
|
8008
|
+
this.dependencies.clear();
|
|
8009
|
+
}
|
|
8008
8010
|
}
|
|
8009
8011
|
class StoreFactory {
|
|
8010
8012
|
get;
|
|
@@ -24215,14 +24217,19 @@ const categorieFunctionAll = {
|
|
|
24215
24217
|
children: [allFunctionListMenuBuilder],
|
|
24216
24218
|
};
|
|
24217
24219
|
function allFunctionListMenuBuilder() {
|
|
24218
|
-
const fnNames = functionRegistry.getKeys();
|
|
24220
|
+
const fnNames = functionRegistry.getKeys().filter((key) => !functionRegistry.get(key).hidden);
|
|
24219
24221
|
return createFormulaFunctions(fnNames);
|
|
24220
24222
|
}
|
|
24221
24223
|
const categoriesFunctionListMenuBuilder = () => {
|
|
24222
24224
|
const functions = functionRegistry.content;
|
|
24223
|
-
const categories = [
|
|
24225
|
+
const categories = [
|
|
24226
|
+
...new Set(functionRegistry
|
|
24227
|
+
.getAll()
|
|
24228
|
+
.filter((fn) => !fn.hidden)
|
|
24229
|
+
.map((fn) => fn.category)),
|
|
24230
|
+
].filter(isDefined$1);
|
|
24224
24231
|
return categories.sort().map((category, i) => {
|
|
24225
|
-
const functionsInCategory = Object.keys(functions).filter((key) => functions[key].category === category);
|
|
24232
|
+
const functionsInCategory = Object.keys(functions).filter((key) => functions[key].category === category && !functions[key].hidden);
|
|
24226
24233
|
return {
|
|
24227
24234
|
name: category,
|
|
24228
24235
|
children: createFormulaFunctions(functionsInCategory),
|
|
@@ -28380,11 +28387,9 @@ css /* scss */ `
|
|
|
28380
28387
|
}
|
|
28381
28388
|
.o-cell-is-operator {
|
|
28382
28389
|
margin-bottom: 5px;
|
|
28383
|
-
width: 96%;
|
|
28384
28390
|
}
|
|
28385
28391
|
.o-cell-is-value {
|
|
28386
28392
|
margin-bottom: 5px;
|
|
28387
|
-
width: 96%;
|
|
28388
28393
|
}
|
|
28389
28394
|
.o-color-picker-widget .o-color-picker-button {
|
|
28390
28395
|
pointer-events: all;
|
|
@@ -31086,6 +31091,9 @@ class FigureComponent extends owl.Component {
|
|
|
31086
31091
|
el?.focus({ preventScroll: true });
|
|
31087
31092
|
}
|
|
31088
31093
|
}, () => [this.env.model.getters.getSelectedFigureId(), this.props.figure.id, this.figureRef.el]);
|
|
31094
|
+
owl.onWillUnmount(() => {
|
|
31095
|
+
this.props.onFigureDeleted();
|
|
31096
|
+
});
|
|
31089
31097
|
}
|
|
31090
31098
|
clickAnchor(dirX, dirY, ev) {
|
|
31091
31099
|
this.props.onClickAnchor(dirX, dirY, ev);
|
|
@@ -31104,6 +31112,7 @@ class FigureComponent extends owl.Component {
|
|
|
31104
31112
|
this.props.onFigureDeleted();
|
|
31105
31113
|
ev.stopPropagation();
|
|
31106
31114
|
ev.preventDefault();
|
|
31115
|
+
ev.stopPropagation();
|
|
31107
31116
|
break;
|
|
31108
31117
|
case "ArrowDown":
|
|
31109
31118
|
case "ArrowLeft":
|
|
@@ -31124,6 +31133,7 @@ class FigureComponent extends owl.Component {
|
|
|
31124
31133
|
});
|
|
31125
31134
|
ev.stopPropagation();
|
|
31126
31135
|
ev.preventDefault();
|
|
31136
|
+
ev.stopPropagation();
|
|
31127
31137
|
break;
|
|
31128
31138
|
}
|
|
31129
31139
|
}
|
|
@@ -31791,6 +31801,7 @@ function compareContentToSpanElement(content, node) {
|
|
|
31791
31801
|
// -----------------------------------------------------------------------------
|
|
31792
31802
|
css /* scss */ `
|
|
31793
31803
|
.o-formula-assistant {
|
|
31804
|
+
background: #ffffff;
|
|
31794
31805
|
.o-formula-assistant-head {
|
|
31795
31806
|
background-color: #f2f2f2;
|
|
31796
31807
|
padding: 10px;
|
|
@@ -31846,6 +31857,9 @@ class FunctionDescriptionProvider extends owl.Component {
|
|
|
31846
31857
|
this.assistantState.allowCellSelectionBehind = false;
|
|
31847
31858
|
}, 2000);
|
|
31848
31859
|
}
|
|
31860
|
+
get formulaArgSeparator() {
|
|
31861
|
+
return this.env.model.getters.getLocale().formulaArgSeparator + " ";
|
|
31862
|
+
}
|
|
31849
31863
|
}
|
|
31850
31864
|
|
|
31851
31865
|
const functions$2 = functionRegistry.content;
|
|
@@ -34615,19 +34629,16 @@ class GridRenderer {
|
|
|
34615
34629
|
for (let col = left; col <= right; col++) {
|
|
34616
34630
|
const colZone = { left: col, right: col, top: 0, bottom: numberOfRows - 1 };
|
|
34617
34631
|
const { x, width } = this.getters.getVisibleRect(colZone);
|
|
34618
|
-
const colHasFilter = this.getters.doesZonesContainFilter(sheetId, [colZone]);
|
|
34619
34632
|
const isColActive = activeCols.has(col);
|
|
34620
34633
|
const isColSelected = selectedCols.has(col);
|
|
34621
34634
|
if (isColActive) {
|
|
34622
|
-
ctx.fillStyle =
|
|
34635
|
+
ctx.fillStyle = BACKGROUND_HEADER_ACTIVE_COLOR;
|
|
34623
34636
|
}
|
|
34624
34637
|
else if (isColSelected) {
|
|
34625
|
-
ctx.fillStyle =
|
|
34626
|
-
? BACKGROUND_HEADER_SELECTED_FILTER_COLOR
|
|
34627
|
-
: BACKGROUND_HEADER_SELECTED_COLOR;
|
|
34638
|
+
ctx.fillStyle = BACKGROUND_HEADER_SELECTED_COLOR;
|
|
34628
34639
|
}
|
|
34629
34640
|
else {
|
|
34630
|
-
ctx.fillStyle =
|
|
34641
|
+
ctx.fillStyle = BACKGROUND_HEADER_COLOR;
|
|
34631
34642
|
}
|
|
34632
34643
|
ctx.fillRect(x, 0, width, HEADER_HEIGHT);
|
|
34633
34644
|
}
|
|
@@ -34635,19 +34646,16 @@ class GridRenderer {
|
|
|
34635
34646
|
for (let row = top; row <= bottom; row++) {
|
|
34636
34647
|
const rowZone = { top: row, bottom: row, left: 0, right: numberOfCols - 1 };
|
|
34637
34648
|
const { y, height } = this.getters.getVisibleRect(rowZone);
|
|
34638
|
-
const rowHasFilter = this.getters.doesZonesContainFilter(sheetId, [rowZone]);
|
|
34639
34649
|
const isRowActive = activeRows.has(row);
|
|
34640
34650
|
const isRowSelected = selectedRows.has(row);
|
|
34641
34651
|
if (isRowActive) {
|
|
34642
|
-
ctx.fillStyle =
|
|
34652
|
+
ctx.fillStyle = BACKGROUND_HEADER_ACTIVE_COLOR;
|
|
34643
34653
|
}
|
|
34644
34654
|
else if (isRowSelected) {
|
|
34645
|
-
ctx.fillStyle =
|
|
34646
|
-
? BACKGROUND_HEADER_SELECTED_FILTER_COLOR
|
|
34647
|
-
: BACKGROUND_HEADER_SELECTED_COLOR;
|
|
34655
|
+
ctx.fillStyle = BACKGROUND_HEADER_SELECTED_COLOR;
|
|
34648
34656
|
}
|
|
34649
34657
|
else {
|
|
34650
|
-
ctx.fillStyle =
|
|
34658
|
+
ctx.fillStyle = BACKGROUND_HEADER_COLOR;
|
|
34651
34659
|
}
|
|
34652
34660
|
ctx.fillRect(0, y, HEADER_WIDTH, height);
|
|
34653
34661
|
}
|
|
@@ -44820,7 +44828,6 @@ class SheetPlugin extends CorePlugin {
|
|
|
44820
44828
|
|
|
44821
44829
|
class TablePlugin extends CorePlugin {
|
|
44822
44830
|
static getters = [
|
|
44823
|
-
"doesZonesContainFilter",
|
|
44824
44831
|
"getFilter",
|
|
44825
44832
|
"getFilters",
|
|
44826
44833
|
"getTable",
|
|
@@ -44977,10 +44984,6 @@ class TablePlugin extends CorePlugin {
|
|
|
44977
44984
|
getTablesOverlappingZones(sheetId, zones) {
|
|
44978
44985
|
return this.getTables(sheetId).filter((table) => zones.some((zone) => overlap(table.range.zone, zone)));
|
|
44979
44986
|
}
|
|
44980
|
-
doesZonesContainFilter(sheetId, zones) {
|
|
44981
|
-
return (this.getTablesOverlappingZones(sheetId, zones).filter((table) => table.config.hasFilters)
|
|
44982
|
-
.length > 0);
|
|
44983
|
-
}
|
|
44984
44987
|
getFilterHeaders(sheetId) {
|
|
44985
44988
|
const headers = [];
|
|
44986
44989
|
for (const table of this.getTables(sheetId)) {
|
|
@@ -52475,6 +52478,7 @@ class GridSelectionPlugin extends UIPlugin {
|
|
|
52475
52478
|
this.gridSelection.zones = this.gridSelection.zones.map((z) => this.getters.expandZone(sheetId, z));
|
|
52476
52479
|
this.gridSelection.anchor.zone = this.getters.expandZone(sheetId, this.gridSelection.anchor.zone);
|
|
52477
52480
|
this.setSelectionMixin(this.gridSelection.anchor, this.gridSelection.zones);
|
|
52481
|
+
this.selectedFigureId = null;
|
|
52478
52482
|
break;
|
|
52479
52483
|
}
|
|
52480
52484
|
/** Any change to the selection has to be reflected in the selection processor. */
|
|
@@ -56093,9 +56097,6 @@ css /* scss */ `
|
|
|
56093
56097
|
.text-muted {
|
|
56094
56098
|
color: grey !important;
|
|
56095
56099
|
}
|
|
56096
|
-
button {
|
|
56097
|
-
color: #333;
|
|
56098
|
-
}
|
|
56099
56100
|
.o-disabled {
|
|
56100
56101
|
opacity: 0.4;
|
|
56101
56102
|
pointer: default;
|
|
@@ -56216,17 +56217,17 @@ css /* scss */ `
|
|
|
56216
56217
|
}
|
|
56217
56218
|
|
|
56218
56219
|
.o-button {
|
|
56219
|
-
border: 1px solid
|
|
56220
|
+
border: 1px solid;
|
|
56220
56221
|
padding: 0px 20px 0px 20px;
|
|
56221
56222
|
border-radius: 4px;
|
|
56222
56223
|
font-weight: 500;
|
|
56223
56224
|
font-size: 14px;
|
|
56224
56225
|
height: 30px;
|
|
56225
56226
|
line-height: 16px;
|
|
56226
|
-
background: white;
|
|
56227
56227
|
margin-right: 8px;
|
|
56228
|
-
|
|
56229
|
-
|
|
56228
|
+
|
|
56229
|
+
&:not(:hover) {
|
|
56230
|
+
background-color: transparent;
|
|
56230
56231
|
}
|
|
56231
56232
|
|
|
56232
56233
|
&:enabled {
|
|
@@ -56240,6 +56241,15 @@ css /* scss */ `
|
|
|
56240
56241
|
&:last-child {
|
|
56241
56242
|
margin-right: 0px;
|
|
56242
56243
|
}
|
|
56244
|
+
|
|
56245
|
+
&.o-button-grey {
|
|
56246
|
+
border-color: lightgrey;
|
|
56247
|
+
background: #ffffff;
|
|
56248
|
+
color: #333;
|
|
56249
|
+
&:hover:enabled {
|
|
56250
|
+
background-color: rgba(0, 0, 0, 0.08);
|
|
56251
|
+
}
|
|
56252
|
+
}
|
|
56243
56253
|
}
|
|
56244
56254
|
|
|
56245
56255
|
.o-input {
|
|
@@ -60167,6 +60177,6 @@ exports.tokenColors = tokenColors;
|
|
|
60167
60177
|
exports.tokenize = tokenize;
|
|
60168
60178
|
|
|
60169
60179
|
|
|
60170
|
-
__info__.version = "17.2.
|
|
60171
|
-
__info__.date = "2024-03-
|
|
60172
|
-
__info__.hash = "
|
|
60180
|
+
__info__.version = "17.2.1";
|
|
60181
|
+
__info__.date = "2024-03-25T09:41:58.737Z";
|
|
60182
|
+
__info__.hash = "f97284c";
|
package/dist/o-spreadsheet.d.ts
CHANGED
|
@@ -76,6 +76,7 @@ declare class DependencyContainer {
|
|
|
76
76
|
*/
|
|
77
77
|
get<T>(Store: StoreConstructor<T>): T;
|
|
78
78
|
instantiate<T>(Store: StoreConstructor<T>, ...args: StoreParams<StoreConstructor<T>>): T;
|
|
79
|
+
resetStores(): void;
|
|
79
80
|
}
|
|
80
81
|
|
|
81
82
|
/**
|
|
@@ -3030,7 +3031,7 @@ interface TableState {
|
|
|
3030
3031
|
tables: Record<UID, Record<TableId, Table | undefined>>;
|
|
3031
3032
|
}
|
|
3032
3033
|
declare class TablePlugin extends CorePlugin<TableState> implements TableState {
|
|
3033
|
-
static getters: readonly ["
|
|
3034
|
+
static getters: readonly ["getFilter", "getFilters", "getTable", "getTables", "getTablesInZone", "getTablesOverlappingZones", "getFilterId", "getFilterHeaders", "isFilterHeader"];
|
|
3034
3035
|
readonly tables: Record<UID, Record<TableId, Table | undefined>>;
|
|
3035
3036
|
adaptRanges(applyChange: ApplyRangeChange, sheetId?: UID): void;
|
|
3036
3037
|
allowDispatch(cmd: CoreCommand): CommandResult | CommandResult[];
|
|
@@ -3043,7 +3044,6 @@ declare class TablePlugin extends CorePlugin<TableState> implements TableState {
|
|
|
3043
3044
|
/** Get the filter tables that are fully inside the given zone */
|
|
3044
3045
|
getTablesInZone(sheetId: UID, zone: Zone): Table[];
|
|
3045
3046
|
getTablesOverlappingZones(sheetId: UID, zones: Zone[]): Table[];
|
|
3046
|
-
doesZonesContainFilter(sheetId: UID, zones: Zone[]): boolean;
|
|
3047
3047
|
getFilterHeaders(sheetId: UID): Position$1[];
|
|
3048
3048
|
isFilterHeader({ sheetId, col, row }: CellPosition): boolean;
|
|
3049
3049
|
/** Extend a table down one row */
|
|
@@ -6647,7 +6647,7 @@ interface Props$z {
|
|
|
6647
6647
|
interface AssistantState {
|
|
6648
6648
|
allowCellSelectionBehind: boolean;
|
|
6649
6649
|
}
|
|
6650
|
-
declare class FunctionDescriptionProvider extends Component<Props$z> {
|
|
6650
|
+
declare class FunctionDescriptionProvider extends Component<Props$z, SpreadsheetChildEnv> {
|
|
6651
6651
|
static template: string;
|
|
6652
6652
|
static props: {
|
|
6653
6653
|
functionName: StringConstructor;
|
|
@@ -6659,6 +6659,7 @@ declare class FunctionDescriptionProvider extends Component<Props$z> {
|
|
|
6659
6659
|
setup(): void;
|
|
6660
6660
|
getContext(): Props$z;
|
|
6661
6661
|
onMouseMove(): void;
|
|
6662
|
+
get formulaArgSeparator(): string;
|
|
6662
6663
|
}
|
|
6663
6664
|
|
|
6664
6665
|
type HtmlContent = {
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* This file is generated by o-spreadsheet build tools. Do not edit it.
|
|
5
5
|
* @see https://github.com/odoo/o-spreadsheet
|
|
6
|
-
* @version 17.2.
|
|
7
|
-
* @date 2024-03-
|
|
8
|
-
* @hash
|
|
6
|
+
* @version 17.2.1
|
|
7
|
+
* @date 2024-03-25T09:41:58.737Z
|
|
8
|
+
* @hash f97284c
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { reactive, useEnv, useSubEnv, useState, onWillUnmount, markRaw, toRaw, Component, useRef, onMounted, useEffect, onPatched, useComponent, onWillPatch, onWillUpdateProps, useExternalListener, onWillStart, xml, useChildSubEnv } from '@odoo/owl';
|
|
@@ -29,7 +29,6 @@ const DEFAULT_COLOR_SCALE_MIDPOINT_COLOR = 0xb6d7a8;
|
|
|
29
29
|
const LINK_COLOR = "#017E84";
|
|
30
30
|
const FILTERS_COLOR = "#188038";
|
|
31
31
|
const BACKGROUND_HEADER_FILTER_COLOR = "#E6F4EA";
|
|
32
|
-
const BACKGROUND_HEADER_SELECTED_FILTER_COLOR = "#CEEAD6";
|
|
33
32
|
const SEPARATOR_COLOR = "#E0E2E4";
|
|
34
33
|
const ICONS_COLOR = "#4A4F59";
|
|
35
34
|
const HEADER_GROUPING_BACKGROUND_COLOR = "#F5F5F5";
|
|
@@ -8003,6 +8002,9 @@ class DependencyContainer {
|
|
|
8003
8002
|
instantiate(Store, ...args) {
|
|
8004
8003
|
return this.factory.build(Store, ...args);
|
|
8005
8004
|
}
|
|
8005
|
+
resetStores() {
|
|
8006
|
+
this.dependencies.clear();
|
|
8007
|
+
}
|
|
8006
8008
|
}
|
|
8007
8009
|
class StoreFactory {
|
|
8008
8010
|
get;
|
|
@@ -24213,14 +24215,19 @@ const categorieFunctionAll = {
|
|
|
24213
24215
|
children: [allFunctionListMenuBuilder],
|
|
24214
24216
|
};
|
|
24215
24217
|
function allFunctionListMenuBuilder() {
|
|
24216
|
-
const fnNames = functionRegistry.getKeys();
|
|
24218
|
+
const fnNames = functionRegistry.getKeys().filter((key) => !functionRegistry.get(key).hidden);
|
|
24217
24219
|
return createFormulaFunctions(fnNames);
|
|
24218
24220
|
}
|
|
24219
24221
|
const categoriesFunctionListMenuBuilder = () => {
|
|
24220
24222
|
const functions = functionRegistry.content;
|
|
24221
|
-
const categories = [
|
|
24223
|
+
const categories = [
|
|
24224
|
+
...new Set(functionRegistry
|
|
24225
|
+
.getAll()
|
|
24226
|
+
.filter((fn) => !fn.hidden)
|
|
24227
|
+
.map((fn) => fn.category)),
|
|
24228
|
+
].filter(isDefined$1);
|
|
24222
24229
|
return categories.sort().map((category, i) => {
|
|
24223
|
-
const functionsInCategory = Object.keys(functions).filter((key) => functions[key].category === category);
|
|
24230
|
+
const functionsInCategory = Object.keys(functions).filter((key) => functions[key].category === category && !functions[key].hidden);
|
|
24224
24231
|
return {
|
|
24225
24232
|
name: category,
|
|
24226
24233
|
children: createFormulaFunctions(functionsInCategory),
|
|
@@ -28378,11 +28385,9 @@ css /* scss */ `
|
|
|
28378
28385
|
}
|
|
28379
28386
|
.o-cell-is-operator {
|
|
28380
28387
|
margin-bottom: 5px;
|
|
28381
|
-
width: 96%;
|
|
28382
28388
|
}
|
|
28383
28389
|
.o-cell-is-value {
|
|
28384
28390
|
margin-bottom: 5px;
|
|
28385
|
-
width: 96%;
|
|
28386
28391
|
}
|
|
28387
28392
|
.o-color-picker-widget .o-color-picker-button {
|
|
28388
28393
|
pointer-events: all;
|
|
@@ -31084,6 +31089,9 @@ class FigureComponent extends Component {
|
|
|
31084
31089
|
el?.focus({ preventScroll: true });
|
|
31085
31090
|
}
|
|
31086
31091
|
}, () => [this.env.model.getters.getSelectedFigureId(), this.props.figure.id, this.figureRef.el]);
|
|
31092
|
+
onWillUnmount(() => {
|
|
31093
|
+
this.props.onFigureDeleted();
|
|
31094
|
+
});
|
|
31087
31095
|
}
|
|
31088
31096
|
clickAnchor(dirX, dirY, ev) {
|
|
31089
31097
|
this.props.onClickAnchor(dirX, dirY, ev);
|
|
@@ -31102,6 +31110,7 @@ class FigureComponent extends Component {
|
|
|
31102
31110
|
this.props.onFigureDeleted();
|
|
31103
31111
|
ev.stopPropagation();
|
|
31104
31112
|
ev.preventDefault();
|
|
31113
|
+
ev.stopPropagation();
|
|
31105
31114
|
break;
|
|
31106
31115
|
case "ArrowDown":
|
|
31107
31116
|
case "ArrowLeft":
|
|
@@ -31122,6 +31131,7 @@ class FigureComponent extends Component {
|
|
|
31122
31131
|
});
|
|
31123
31132
|
ev.stopPropagation();
|
|
31124
31133
|
ev.preventDefault();
|
|
31134
|
+
ev.stopPropagation();
|
|
31125
31135
|
break;
|
|
31126
31136
|
}
|
|
31127
31137
|
}
|
|
@@ -31789,6 +31799,7 @@ function compareContentToSpanElement(content, node) {
|
|
|
31789
31799
|
// -----------------------------------------------------------------------------
|
|
31790
31800
|
css /* scss */ `
|
|
31791
31801
|
.o-formula-assistant {
|
|
31802
|
+
background: #ffffff;
|
|
31792
31803
|
.o-formula-assistant-head {
|
|
31793
31804
|
background-color: #f2f2f2;
|
|
31794
31805
|
padding: 10px;
|
|
@@ -31844,6 +31855,9 @@ class FunctionDescriptionProvider extends Component {
|
|
|
31844
31855
|
this.assistantState.allowCellSelectionBehind = false;
|
|
31845
31856
|
}, 2000);
|
|
31846
31857
|
}
|
|
31858
|
+
get formulaArgSeparator() {
|
|
31859
|
+
return this.env.model.getters.getLocale().formulaArgSeparator + " ";
|
|
31860
|
+
}
|
|
31847
31861
|
}
|
|
31848
31862
|
|
|
31849
31863
|
const functions$2 = functionRegistry.content;
|
|
@@ -34613,19 +34627,16 @@ class GridRenderer {
|
|
|
34613
34627
|
for (let col = left; col <= right; col++) {
|
|
34614
34628
|
const colZone = { left: col, right: col, top: 0, bottom: numberOfRows - 1 };
|
|
34615
34629
|
const { x, width } = this.getters.getVisibleRect(colZone);
|
|
34616
|
-
const colHasFilter = this.getters.doesZonesContainFilter(sheetId, [colZone]);
|
|
34617
34630
|
const isColActive = activeCols.has(col);
|
|
34618
34631
|
const isColSelected = selectedCols.has(col);
|
|
34619
34632
|
if (isColActive) {
|
|
34620
|
-
ctx.fillStyle =
|
|
34633
|
+
ctx.fillStyle = BACKGROUND_HEADER_ACTIVE_COLOR;
|
|
34621
34634
|
}
|
|
34622
34635
|
else if (isColSelected) {
|
|
34623
|
-
ctx.fillStyle =
|
|
34624
|
-
? BACKGROUND_HEADER_SELECTED_FILTER_COLOR
|
|
34625
|
-
: BACKGROUND_HEADER_SELECTED_COLOR;
|
|
34636
|
+
ctx.fillStyle = BACKGROUND_HEADER_SELECTED_COLOR;
|
|
34626
34637
|
}
|
|
34627
34638
|
else {
|
|
34628
|
-
ctx.fillStyle =
|
|
34639
|
+
ctx.fillStyle = BACKGROUND_HEADER_COLOR;
|
|
34629
34640
|
}
|
|
34630
34641
|
ctx.fillRect(x, 0, width, HEADER_HEIGHT);
|
|
34631
34642
|
}
|
|
@@ -34633,19 +34644,16 @@ class GridRenderer {
|
|
|
34633
34644
|
for (let row = top; row <= bottom; row++) {
|
|
34634
34645
|
const rowZone = { top: row, bottom: row, left: 0, right: numberOfCols - 1 };
|
|
34635
34646
|
const { y, height } = this.getters.getVisibleRect(rowZone);
|
|
34636
|
-
const rowHasFilter = this.getters.doesZonesContainFilter(sheetId, [rowZone]);
|
|
34637
34647
|
const isRowActive = activeRows.has(row);
|
|
34638
34648
|
const isRowSelected = selectedRows.has(row);
|
|
34639
34649
|
if (isRowActive) {
|
|
34640
|
-
ctx.fillStyle =
|
|
34650
|
+
ctx.fillStyle = BACKGROUND_HEADER_ACTIVE_COLOR;
|
|
34641
34651
|
}
|
|
34642
34652
|
else if (isRowSelected) {
|
|
34643
|
-
ctx.fillStyle =
|
|
34644
|
-
? BACKGROUND_HEADER_SELECTED_FILTER_COLOR
|
|
34645
|
-
: BACKGROUND_HEADER_SELECTED_COLOR;
|
|
34653
|
+
ctx.fillStyle = BACKGROUND_HEADER_SELECTED_COLOR;
|
|
34646
34654
|
}
|
|
34647
34655
|
else {
|
|
34648
|
-
ctx.fillStyle =
|
|
34656
|
+
ctx.fillStyle = BACKGROUND_HEADER_COLOR;
|
|
34649
34657
|
}
|
|
34650
34658
|
ctx.fillRect(0, y, HEADER_WIDTH, height);
|
|
34651
34659
|
}
|
|
@@ -44818,7 +44826,6 @@ class SheetPlugin extends CorePlugin {
|
|
|
44818
44826
|
|
|
44819
44827
|
class TablePlugin extends CorePlugin {
|
|
44820
44828
|
static getters = [
|
|
44821
|
-
"doesZonesContainFilter",
|
|
44822
44829
|
"getFilter",
|
|
44823
44830
|
"getFilters",
|
|
44824
44831
|
"getTable",
|
|
@@ -44975,10 +44982,6 @@ class TablePlugin extends CorePlugin {
|
|
|
44975
44982
|
getTablesOverlappingZones(sheetId, zones) {
|
|
44976
44983
|
return this.getTables(sheetId).filter((table) => zones.some((zone) => overlap(table.range.zone, zone)));
|
|
44977
44984
|
}
|
|
44978
|
-
doesZonesContainFilter(sheetId, zones) {
|
|
44979
|
-
return (this.getTablesOverlappingZones(sheetId, zones).filter((table) => table.config.hasFilters)
|
|
44980
|
-
.length > 0);
|
|
44981
|
-
}
|
|
44982
44985
|
getFilterHeaders(sheetId) {
|
|
44983
44986
|
const headers = [];
|
|
44984
44987
|
for (const table of this.getTables(sheetId)) {
|
|
@@ -52473,6 +52476,7 @@ class GridSelectionPlugin extends UIPlugin {
|
|
|
52473
52476
|
this.gridSelection.zones = this.gridSelection.zones.map((z) => this.getters.expandZone(sheetId, z));
|
|
52474
52477
|
this.gridSelection.anchor.zone = this.getters.expandZone(sheetId, this.gridSelection.anchor.zone);
|
|
52475
52478
|
this.setSelectionMixin(this.gridSelection.anchor, this.gridSelection.zones);
|
|
52479
|
+
this.selectedFigureId = null;
|
|
52476
52480
|
break;
|
|
52477
52481
|
}
|
|
52478
52482
|
/** Any change to the selection has to be reflected in the selection processor. */
|
|
@@ -56091,9 +56095,6 @@ css /* scss */ `
|
|
|
56091
56095
|
.text-muted {
|
|
56092
56096
|
color: grey !important;
|
|
56093
56097
|
}
|
|
56094
|
-
button {
|
|
56095
|
-
color: #333;
|
|
56096
|
-
}
|
|
56097
56098
|
.o-disabled {
|
|
56098
56099
|
opacity: 0.4;
|
|
56099
56100
|
pointer: default;
|
|
@@ -56214,17 +56215,17 @@ css /* scss */ `
|
|
|
56214
56215
|
}
|
|
56215
56216
|
|
|
56216
56217
|
.o-button {
|
|
56217
|
-
border: 1px solid
|
|
56218
|
+
border: 1px solid;
|
|
56218
56219
|
padding: 0px 20px 0px 20px;
|
|
56219
56220
|
border-radius: 4px;
|
|
56220
56221
|
font-weight: 500;
|
|
56221
56222
|
font-size: 14px;
|
|
56222
56223
|
height: 30px;
|
|
56223
56224
|
line-height: 16px;
|
|
56224
|
-
background: white;
|
|
56225
56225
|
margin-right: 8px;
|
|
56226
|
-
|
|
56227
|
-
|
|
56226
|
+
|
|
56227
|
+
&:not(:hover) {
|
|
56228
|
+
background-color: transparent;
|
|
56228
56229
|
}
|
|
56229
56230
|
|
|
56230
56231
|
&:enabled {
|
|
@@ -56238,6 +56239,15 @@ css /* scss */ `
|
|
|
56238
56239
|
&:last-child {
|
|
56239
56240
|
margin-right: 0px;
|
|
56240
56241
|
}
|
|
56242
|
+
|
|
56243
|
+
&.o-button-grey {
|
|
56244
|
+
border-color: lightgrey;
|
|
56245
|
+
background: #ffffff;
|
|
56246
|
+
color: #333;
|
|
56247
|
+
&:hover:enabled {
|
|
56248
|
+
background-color: rgba(0, 0, 0, 0.08);
|
|
56249
|
+
}
|
|
56250
|
+
}
|
|
56241
56251
|
}
|
|
56242
56252
|
|
|
56243
56253
|
.o-input {
|
|
@@ -60124,6 +60134,6 @@ const constants = {
|
|
|
60124
60134
|
export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, CommandResult, CorePlugin, DispatchResult, EvaluationError, Model, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, UIPlugin, __info__, addFunction, addRenderingLayer, astToFormula, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, hooks, invalidateCFEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
|
|
60125
60135
|
|
|
60126
60136
|
|
|
60127
|
-
__info__.version = "17.2.
|
|
60128
|
-
__info__.date = "2024-03-
|
|
60129
|
-
__info__.hash = "
|
|
60137
|
+
__info__.version = "17.2.1";
|
|
60138
|
+
__info__.date = "2024-03-25T09:41:58.737Z";
|
|
60139
|
+
__info__.hash = "f97284c";
|