@odoo/o-spreadsheet 17.4.32 → 17.4.33
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 +61 -44
- package/dist/o-spreadsheet.d.ts +3 -1
- package/dist/o-spreadsheet.esm.js +61 -44
- package/dist/o-spreadsheet.iife.js +61 -44
- package/dist/o-spreadsheet.iife.min.js +8 -9
- package/dist/o_spreadsheet.xml +61 -53
- package/package.json +1 -1
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* This file is generated by o-spreadsheet build tools. Do not edit it.
|
|
4
4
|
* @see https://github.com/odoo/o-spreadsheet
|
|
5
|
-
* @version 17.4.
|
|
6
|
-
* @date 2025-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 17.4.33
|
|
6
|
+
* @date 2025-05-02T12:30:31.263Z
|
|
7
|
+
* @hash 3ba00e6
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
'use strict';
|
|
@@ -2362,6 +2362,7 @@ exports.CommandResult = void 0;
|
|
|
2362
2362
|
CommandResult["InvalidTableResize"] = "InvalidTableResize";
|
|
2363
2363
|
CommandResult["PivotIdNotFound"] = "PivotIdNotFound";
|
|
2364
2364
|
CommandResult["EmptyName"] = "EmptyName";
|
|
2365
|
+
CommandResult["InvalidPivotDataSet"] = "InvalidPivotDataSet";
|
|
2365
2366
|
})(exports.CommandResult || (exports.CommandResult = {}));
|
|
2366
2367
|
|
|
2367
2368
|
const PLAIN_TEXT_FORMAT = "@"; // see OpenXML spec §18.8.31
|
|
@@ -12243,6 +12244,7 @@ class ChartJsComponent extends owl.Component {
|
|
|
12243
12244
|
canvas = owl.useRef("graphContainer");
|
|
12244
12245
|
chart;
|
|
12245
12246
|
currentRuntime;
|
|
12247
|
+
currentDevicePixelRatio = window.devicePixelRatio;
|
|
12246
12248
|
get background() {
|
|
12247
12249
|
return this.chartRuntime.background;
|
|
12248
12250
|
}
|
|
@@ -12276,11 +12278,11 @@ class ChartJsComponent extends owl.Component {
|
|
|
12276
12278
|
}
|
|
12277
12279
|
this.currentRuntime = runtime;
|
|
12278
12280
|
}
|
|
12281
|
+
else if (this.currentDevicePixelRatio !== window.devicePixelRatio) {
|
|
12282
|
+
this.currentDevicePixelRatio = window.devicePixelRatio;
|
|
12283
|
+
this.updateChartJs(deepCopy(this.currentRuntime));
|
|
12284
|
+
}
|
|
12279
12285
|
});
|
|
12280
|
-
owl.useEffect(() => {
|
|
12281
|
-
this.currentRuntime = this.chartRuntime;
|
|
12282
|
-
this.updateChartJs(deepCopy(this.currentRuntime));
|
|
12283
|
-
}, () => [window.devicePixelRatio]);
|
|
12284
12286
|
}
|
|
12285
12287
|
createChart(chartData) {
|
|
12286
12288
|
const canvas = this.canvas.el;
|
|
@@ -22742,18 +22744,28 @@ linkMenuRegistry.add("sheet", {
|
|
|
22742
22744
|
function useInterval(callback, delay) {
|
|
22743
22745
|
let intervalId;
|
|
22744
22746
|
const { setInterval, clearInterval } = window;
|
|
22747
|
+
const pause = () => {
|
|
22748
|
+
clearInterval(intervalId);
|
|
22749
|
+
intervalId = undefined;
|
|
22750
|
+
};
|
|
22751
|
+
const safeCallback = () => {
|
|
22752
|
+
try {
|
|
22753
|
+
callback();
|
|
22754
|
+
}
|
|
22755
|
+
catch (e) {
|
|
22756
|
+
pause();
|
|
22757
|
+
throw e;
|
|
22758
|
+
}
|
|
22759
|
+
};
|
|
22745
22760
|
owl.useEffect(() => {
|
|
22746
|
-
intervalId = setInterval(
|
|
22761
|
+
intervalId = setInterval(safeCallback, delay);
|
|
22747
22762
|
return () => clearInterval(intervalId);
|
|
22748
22763
|
}, () => [delay]);
|
|
22749
22764
|
return {
|
|
22750
|
-
pause
|
|
22751
|
-
clearInterval(intervalId);
|
|
22752
|
-
intervalId = undefined;
|
|
22753
|
-
},
|
|
22765
|
+
pause,
|
|
22754
22766
|
resume: () => {
|
|
22755
22767
|
if (intervalId === undefined) {
|
|
22756
|
-
intervalId = setInterval(
|
|
22768
|
+
intervalId = setInterval(safeCallback, delay);
|
|
22757
22769
|
}
|
|
22758
22770
|
},
|
|
22759
22771
|
};
|
|
@@ -25336,9 +25348,6 @@ class BarChart extends AbstractChart {
|
|
|
25336
25348
|
};
|
|
25337
25349
|
}
|
|
25338
25350
|
getDefinitionForExcel() {
|
|
25339
|
-
// Excel does not support aggregating labels
|
|
25340
|
-
if (this.aggregated)
|
|
25341
|
-
return undefined;
|
|
25342
25351
|
const dataSets = this.dataSets
|
|
25343
25352
|
.map((ds) => toExcelDataset(this.getters, ds))
|
|
25344
25353
|
.filter((ds) => ds.range !== "" && ds.range !== CellErrorType.InvalidReference);
|
|
@@ -26415,9 +26424,6 @@ class LineChart extends AbstractChart {
|
|
|
26415
26424
|
return new LineChart(definition, this.sheetId, this.getters);
|
|
26416
26425
|
}
|
|
26417
26426
|
getDefinitionForExcel() {
|
|
26418
|
-
// Excel does not support aggregating labels
|
|
26419
|
-
if (this.aggregated)
|
|
26420
|
-
return undefined;
|
|
26421
26427
|
const dataSets = this.dataSets
|
|
26422
26428
|
.map((ds) => toExcelDataset(this.getters, ds))
|
|
26423
26429
|
.filter((ds) => ds.range !== "" && ds.range !== CellErrorType.InvalidReference);
|
|
@@ -26528,9 +26534,6 @@ class PieChart extends AbstractChart {
|
|
|
26528
26534
|
return new PieChart(definition, sheetId, this.getters);
|
|
26529
26535
|
}
|
|
26530
26536
|
getDefinitionForExcel() {
|
|
26531
|
-
// Excel does not support aggregating labels
|
|
26532
|
-
if (this.aggregated)
|
|
26533
|
-
return undefined;
|
|
26534
26537
|
const dataSets = this.dataSets
|
|
26535
26538
|
.map((ds) => toExcelDataset(this.getters, ds))
|
|
26536
26539
|
.filter((ds) => ds.range !== "" && ds.range !== CellErrorType.InvalidReference);
|
|
@@ -41000,7 +41003,7 @@ css /* scss */ `
|
|
|
41000
41003
|
position: absolute;
|
|
41001
41004
|
top: 0;
|
|
41002
41005
|
left: ${HEADER_WIDTH}px;
|
|
41003
|
-
right:
|
|
41006
|
+
right: ${SCROLLBAR_WIDTH}px;
|
|
41004
41007
|
height: ${HEADER_HEIGHT}px;
|
|
41005
41008
|
&.o-dragging {
|
|
41006
41009
|
cursor: grabbing;
|
|
@@ -41166,9 +41169,8 @@ css /* scss */ `
|
|
|
41166
41169
|
position: absolute;
|
|
41167
41170
|
top: ${HEADER_HEIGHT}px;
|
|
41168
41171
|
left: 0;
|
|
41169
|
-
|
|
41172
|
+
bottom: ${SCROLLBAR_WIDTH}px;
|
|
41170
41173
|
width: ${HEADER_WIDTH}px;
|
|
41171
|
-
height: calc(100% - ${HEADER_HEIGHT + SCROLLBAR_WIDTH}px);
|
|
41172
41174
|
&.o-dragging {
|
|
41173
41175
|
cursor: grabbing;
|
|
41174
41176
|
}
|
|
@@ -53133,6 +53135,15 @@ function adaptPivotRange(range, applyChange) {
|
|
|
53133
53135
|
}
|
|
53134
53136
|
}
|
|
53135
53137
|
class SpreadsheetPivotCorePlugin extends CorePlugin {
|
|
53138
|
+
allowDispatch(cmd) {
|
|
53139
|
+
switch (cmd.type) {
|
|
53140
|
+
case "ADD_PIVOT":
|
|
53141
|
+
case "UPDATE_PIVOT":
|
|
53142
|
+
const definition = cmd.pivot;
|
|
53143
|
+
return this.checkDataSetValidity(definition);
|
|
53144
|
+
}
|
|
53145
|
+
return "Success" /* CommandResult.Success */;
|
|
53146
|
+
}
|
|
53136
53147
|
adaptRanges(applyChange) {
|
|
53137
53148
|
for (const pivotId of this.getters.getPivotIds()) {
|
|
53138
53149
|
const definition = this.getters.getPivotCoreDefinition(pivotId);
|
|
@@ -53151,6 +53162,16 @@ class SpreadsheetPivotCorePlugin extends CorePlugin {
|
|
|
53151
53162
|
}
|
|
53152
53163
|
}
|
|
53153
53164
|
}
|
|
53165
|
+
checkDataSetValidity(definition) {
|
|
53166
|
+
if (definition.type === "SPREADSHEET" && definition.dataSet) {
|
|
53167
|
+
const { zone, sheetId } = definition.dataSet;
|
|
53168
|
+
if (!sheetId || !this.getters.tryGetSheet(sheetId) || !zone || !isZoneValid(zone)) {
|
|
53169
|
+
return "InvalidDataSet" /* CommandResult.InvalidDataSet */;
|
|
53170
|
+
}
|
|
53171
|
+
return this.getters.checkZonesExistInSheet(sheetId, [zone]);
|
|
53172
|
+
}
|
|
53173
|
+
return "Success" /* CommandResult.Success */;
|
|
53174
|
+
}
|
|
53154
53175
|
}
|
|
53155
53176
|
|
|
53156
53177
|
class TableStylePlugin extends CorePlugin {
|
|
@@ -55986,7 +56007,7 @@ class DynamicTablesPlugin extends UIPlugin {
|
|
|
55986
56007
|
tables = {};
|
|
55987
56008
|
handle(cmd) {
|
|
55988
56009
|
if (invalidateEvaluationCommands.has(cmd.type) ||
|
|
55989
|
-
(cmd.type === "UPDATE_CELL" && "content" in cmd) ||
|
|
56010
|
+
(cmd.type === "UPDATE_CELL" && ("content" in cmd || "format" in cmd)) ||
|
|
55990
56011
|
cmd.type === "EVALUATE_CELLS") {
|
|
55991
56012
|
this.tables = {};
|
|
55992
56013
|
return;
|
|
@@ -59123,7 +59144,7 @@ class TableComputedStylePlugin extends UIPlugin {
|
|
|
59123
59144
|
tableStyles = {};
|
|
59124
59145
|
handle(cmd) {
|
|
59125
59146
|
if (invalidateEvaluationCommands.has(cmd.type) ||
|
|
59126
|
-
(cmd.type === "UPDATE_CELL" && "content" in cmd) ||
|
|
59147
|
+
(cmd.type === "UPDATE_CELL" && ("content" in cmd || "format" in cmd)) ||
|
|
59127
59148
|
cmd.type === "EVALUATE_CELLS") {
|
|
59128
59149
|
this.tableStyles = {};
|
|
59129
59150
|
return;
|
|
@@ -61094,6 +61115,8 @@ class GridSelectionPlugin extends UIPlugin {
|
|
|
61094
61115
|
});
|
|
61095
61116
|
this.selectCell(col, row);
|
|
61096
61117
|
}
|
|
61118
|
+
const { col, row } = this.gridSelection.anchor.cell;
|
|
61119
|
+
this.moveClient({ sheetId: this.activeSheet.id, col, row });
|
|
61097
61120
|
}
|
|
61098
61121
|
/**
|
|
61099
61122
|
* Ensure selections are not outside sheet boundaries.
|
|
@@ -61826,8 +61849,11 @@ class SheetViewPlugin extends UIPlugin {
|
|
|
61826
61849
|
case "REMOVE_TABLE":
|
|
61827
61850
|
case "UPDATE_TABLE":
|
|
61828
61851
|
case "UPDATE_FILTER":
|
|
61829
|
-
|
|
61830
|
-
|
|
61852
|
+
case "UNFREEZE_ROWS":
|
|
61853
|
+
case "UNFREEZE_COLUMNS":
|
|
61854
|
+
case "FREEZE_COLUMNS":
|
|
61855
|
+
case "FREEZE_ROWS":
|
|
61856
|
+
case "UNFREEZE_COLUMNS_ROWS":
|
|
61831
61857
|
case "REMOVE_COLUMNS_ROWS":
|
|
61832
61858
|
case "RESIZE_COLUMNS_ROWS":
|
|
61833
61859
|
case "HIDE_COLUMNS_ROWS":
|
|
@@ -61840,11 +61866,9 @@ class SheetViewPlugin extends UIPlugin {
|
|
|
61840
61866
|
case "FOLD_HEADER_GROUPS_IN_ZONE":
|
|
61841
61867
|
case "UNFOLD_HEADER_GROUPS_IN_ZONE":
|
|
61842
61868
|
case "UNFOLD_ALL_HEADER_GROUPS":
|
|
61843
|
-
case "FOLD_ALL_HEADER_GROUPS":
|
|
61844
|
-
|
|
61845
|
-
this.sheetsWithDirtyViewports.add(sheetId);
|
|
61869
|
+
case "FOLD_ALL_HEADER_GROUPS":
|
|
61870
|
+
this.sheetsWithDirtyViewports.add(cmd.sheetId);
|
|
61846
61871
|
break;
|
|
61847
|
-
}
|
|
61848
61872
|
case "UPDATE_CELL":
|
|
61849
61873
|
// update cell content or format can change hidden rows because of data filters
|
|
61850
61874
|
if ("content" in cmd || "format" in cmd || cmd.style?.fontSize !== undefined) {
|
|
@@ -61860,13 +61884,6 @@ class SheetViewPlugin extends UIPlugin {
|
|
|
61860
61884
|
case "ACTIVATE_SHEET":
|
|
61861
61885
|
this.sheetsWithDirtyViewports.add(cmd.sheetIdTo);
|
|
61862
61886
|
break;
|
|
61863
|
-
case "UNFREEZE_ROWS":
|
|
61864
|
-
case "UNFREEZE_COLUMNS":
|
|
61865
|
-
case "FREEZE_COLUMNS":
|
|
61866
|
-
case "FREEZE_ROWS":
|
|
61867
|
-
case "UNFREEZE_COLUMNS_ROWS":
|
|
61868
|
-
this.resetViewports(this.getters.getActiveSheetId());
|
|
61869
|
-
break;
|
|
61870
61887
|
case "DELETE_SHEET":
|
|
61871
61888
|
this.sheetsWithDirtyViewports.delete(cmd.sheetId);
|
|
61872
61889
|
break;
|
|
@@ -63022,7 +63039,7 @@ class AggregateStatisticsStore extends SpreadsheetStore {
|
|
|
63022
63039
|
}
|
|
63023
63040
|
handle(cmd) {
|
|
63024
63041
|
if (invalidateEvaluationCommands.has(cmd.type) ||
|
|
63025
|
-
(cmd.type === "UPDATE_CELL" && "content" in cmd)) {
|
|
63042
|
+
(cmd.type === "UPDATE_CELL" && ("content" in cmd || "format" in cmd))) {
|
|
63026
63043
|
this.isDirty = true;
|
|
63027
63044
|
}
|
|
63028
63045
|
switch (cmd.type) {
|
|
@@ -69389,6 +69406,6 @@ exports.tokenColors = tokenColors;
|
|
|
69389
69406
|
exports.tokenize = tokenize;
|
|
69390
69407
|
|
|
69391
69408
|
|
|
69392
|
-
__info__.version = "17.4.
|
|
69393
|
-
__info__.date = "2025-
|
|
69394
|
-
__info__.hash = "
|
|
69409
|
+
__info__.version = "17.4.33";
|
|
69410
|
+
__info__.date = "2025-05-02T12:30:31.263Z";
|
|
69411
|
+
__info__.hash = "3ba00e6";
|
package/dist/o-spreadsheet.d.ts
CHANGED
|
@@ -1462,7 +1462,8 @@ declare const enum CommandResult {
|
|
|
1462
1462
|
SheetIsHidden = "SheetIsHidden",
|
|
1463
1463
|
InvalidTableResize = "InvalidTableResize",
|
|
1464
1464
|
PivotIdNotFound = "PivotIdNotFound",
|
|
1465
|
-
EmptyName = "EmptyName"
|
|
1465
|
+
EmptyName = "EmptyName",
|
|
1466
|
+
InvalidPivotDataSet = "InvalidPivotDataSet"
|
|
1466
1467
|
}
|
|
1467
1468
|
interface CommandHandler<T> {
|
|
1468
1469
|
allowDispatch(command: T): CommandResult | CommandResult[];
|
|
@@ -7989,6 +7990,7 @@ declare class ChartJsComponent extends Component<Props$J, SpreadsheetChildEnv> {
|
|
|
7989
7990
|
private canvas;
|
|
7990
7991
|
private chart?;
|
|
7991
7992
|
private currentRuntime;
|
|
7993
|
+
private currentDevicePixelRatio;
|
|
7992
7994
|
get background(): string;
|
|
7993
7995
|
get canvasStyle(): string;
|
|
7994
7996
|
get chartRuntime(): ChartJSRuntime;
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* This file is generated by o-spreadsheet build tools. Do not edit it.
|
|
4
4
|
* @see https://github.com/odoo/o-spreadsheet
|
|
5
|
-
* @version 17.4.
|
|
6
|
-
* @date 2025-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 17.4.33
|
|
6
|
+
* @date 2025-05-02T12:30:31.263Z
|
|
7
|
+
* @hash 3ba00e6
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { useEnv, useSubEnv, onWillUnmount, useComponent, status, Component, useRef, onMounted, useEffect, useState, onPatched, onWillPatch, onWillUpdateProps, useExternalListener, onWillStart, xml, useChildSubEnv, markRaw, toRaw } from '@odoo/owl';
|
|
@@ -2360,6 +2360,7 @@ var CommandResult;
|
|
|
2360
2360
|
CommandResult["InvalidTableResize"] = "InvalidTableResize";
|
|
2361
2361
|
CommandResult["PivotIdNotFound"] = "PivotIdNotFound";
|
|
2362
2362
|
CommandResult["EmptyName"] = "EmptyName";
|
|
2363
|
+
CommandResult["InvalidPivotDataSet"] = "InvalidPivotDataSet";
|
|
2363
2364
|
})(CommandResult || (CommandResult = {}));
|
|
2364
2365
|
|
|
2365
2366
|
const PLAIN_TEXT_FORMAT = "@"; // see OpenXML spec §18.8.31
|
|
@@ -12241,6 +12242,7 @@ class ChartJsComponent extends Component {
|
|
|
12241
12242
|
canvas = useRef("graphContainer");
|
|
12242
12243
|
chart;
|
|
12243
12244
|
currentRuntime;
|
|
12245
|
+
currentDevicePixelRatio = window.devicePixelRatio;
|
|
12244
12246
|
get background() {
|
|
12245
12247
|
return this.chartRuntime.background;
|
|
12246
12248
|
}
|
|
@@ -12274,11 +12276,11 @@ class ChartJsComponent extends Component {
|
|
|
12274
12276
|
}
|
|
12275
12277
|
this.currentRuntime = runtime;
|
|
12276
12278
|
}
|
|
12279
|
+
else if (this.currentDevicePixelRatio !== window.devicePixelRatio) {
|
|
12280
|
+
this.currentDevicePixelRatio = window.devicePixelRatio;
|
|
12281
|
+
this.updateChartJs(deepCopy(this.currentRuntime));
|
|
12282
|
+
}
|
|
12277
12283
|
});
|
|
12278
|
-
useEffect(() => {
|
|
12279
|
-
this.currentRuntime = this.chartRuntime;
|
|
12280
|
-
this.updateChartJs(deepCopy(this.currentRuntime));
|
|
12281
|
-
}, () => [window.devicePixelRatio]);
|
|
12282
12284
|
}
|
|
12283
12285
|
createChart(chartData) {
|
|
12284
12286
|
const canvas = this.canvas.el;
|
|
@@ -22740,18 +22742,28 @@ linkMenuRegistry.add("sheet", {
|
|
|
22740
22742
|
function useInterval(callback, delay) {
|
|
22741
22743
|
let intervalId;
|
|
22742
22744
|
const { setInterval, clearInterval } = window;
|
|
22745
|
+
const pause = () => {
|
|
22746
|
+
clearInterval(intervalId);
|
|
22747
|
+
intervalId = undefined;
|
|
22748
|
+
};
|
|
22749
|
+
const safeCallback = () => {
|
|
22750
|
+
try {
|
|
22751
|
+
callback();
|
|
22752
|
+
}
|
|
22753
|
+
catch (e) {
|
|
22754
|
+
pause();
|
|
22755
|
+
throw e;
|
|
22756
|
+
}
|
|
22757
|
+
};
|
|
22743
22758
|
useEffect(() => {
|
|
22744
|
-
intervalId = setInterval(
|
|
22759
|
+
intervalId = setInterval(safeCallback, delay);
|
|
22745
22760
|
return () => clearInterval(intervalId);
|
|
22746
22761
|
}, () => [delay]);
|
|
22747
22762
|
return {
|
|
22748
|
-
pause
|
|
22749
|
-
clearInterval(intervalId);
|
|
22750
|
-
intervalId = undefined;
|
|
22751
|
-
},
|
|
22763
|
+
pause,
|
|
22752
22764
|
resume: () => {
|
|
22753
22765
|
if (intervalId === undefined) {
|
|
22754
|
-
intervalId = setInterval(
|
|
22766
|
+
intervalId = setInterval(safeCallback, delay);
|
|
22755
22767
|
}
|
|
22756
22768
|
},
|
|
22757
22769
|
};
|
|
@@ -25334,9 +25346,6 @@ class BarChart extends AbstractChart {
|
|
|
25334
25346
|
};
|
|
25335
25347
|
}
|
|
25336
25348
|
getDefinitionForExcel() {
|
|
25337
|
-
// Excel does not support aggregating labels
|
|
25338
|
-
if (this.aggregated)
|
|
25339
|
-
return undefined;
|
|
25340
25349
|
const dataSets = this.dataSets
|
|
25341
25350
|
.map((ds) => toExcelDataset(this.getters, ds))
|
|
25342
25351
|
.filter((ds) => ds.range !== "" && ds.range !== CellErrorType.InvalidReference);
|
|
@@ -26413,9 +26422,6 @@ class LineChart extends AbstractChart {
|
|
|
26413
26422
|
return new LineChart(definition, this.sheetId, this.getters);
|
|
26414
26423
|
}
|
|
26415
26424
|
getDefinitionForExcel() {
|
|
26416
|
-
// Excel does not support aggregating labels
|
|
26417
|
-
if (this.aggregated)
|
|
26418
|
-
return undefined;
|
|
26419
26425
|
const dataSets = this.dataSets
|
|
26420
26426
|
.map((ds) => toExcelDataset(this.getters, ds))
|
|
26421
26427
|
.filter((ds) => ds.range !== "" && ds.range !== CellErrorType.InvalidReference);
|
|
@@ -26526,9 +26532,6 @@ class PieChart extends AbstractChart {
|
|
|
26526
26532
|
return new PieChart(definition, sheetId, this.getters);
|
|
26527
26533
|
}
|
|
26528
26534
|
getDefinitionForExcel() {
|
|
26529
|
-
// Excel does not support aggregating labels
|
|
26530
|
-
if (this.aggregated)
|
|
26531
|
-
return undefined;
|
|
26532
26535
|
const dataSets = this.dataSets
|
|
26533
26536
|
.map((ds) => toExcelDataset(this.getters, ds))
|
|
26534
26537
|
.filter((ds) => ds.range !== "" && ds.range !== CellErrorType.InvalidReference);
|
|
@@ -40998,7 +41001,7 @@ css /* scss */ `
|
|
|
40998
41001
|
position: absolute;
|
|
40999
41002
|
top: 0;
|
|
41000
41003
|
left: ${HEADER_WIDTH}px;
|
|
41001
|
-
right:
|
|
41004
|
+
right: ${SCROLLBAR_WIDTH}px;
|
|
41002
41005
|
height: ${HEADER_HEIGHT}px;
|
|
41003
41006
|
&.o-dragging {
|
|
41004
41007
|
cursor: grabbing;
|
|
@@ -41164,9 +41167,8 @@ css /* scss */ `
|
|
|
41164
41167
|
position: absolute;
|
|
41165
41168
|
top: ${HEADER_HEIGHT}px;
|
|
41166
41169
|
left: 0;
|
|
41167
|
-
|
|
41170
|
+
bottom: ${SCROLLBAR_WIDTH}px;
|
|
41168
41171
|
width: ${HEADER_WIDTH}px;
|
|
41169
|
-
height: calc(100% - ${HEADER_HEIGHT + SCROLLBAR_WIDTH}px);
|
|
41170
41172
|
&.o-dragging {
|
|
41171
41173
|
cursor: grabbing;
|
|
41172
41174
|
}
|
|
@@ -53131,6 +53133,15 @@ function adaptPivotRange(range, applyChange) {
|
|
|
53131
53133
|
}
|
|
53132
53134
|
}
|
|
53133
53135
|
class SpreadsheetPivotCorePlugin extends CorePlugin {
|
|
53136
|
+
allowDispatch(cmd) {
|
|
53137
|
+
switch (cmd.type) {
|
|
53138
|
+
case "ADD_PIVOT":
|
|
53139
|
+
case "UPDATE_PIVOT":
|
|
53140
|
+
const definition = cmd.pivot;
|
|
53141
|
+
return this.checkDataSetValidity(definition);
|
|
53142
|
+
}
|
|
53143
|
+
return "Success" /* CommandResult.Success */;
|
|
53144
|
+
}
|
|
53134
53145
|
adaptRanges(applyChange) {
|
|
53135
53146
|
for (const pivotId of this.getters.getPivotIds()) {
|
|
53136
53147
|
const definition = this.getters.getPivotCoreDefinition(pivotId);
|
|
@@ -53149,6 +53160,16 @@ class SpreadsheetPivotCorePlugin extends CorePlugin {
|
|
|
53149
53160
|
}
|
|
53150
53161
|
}
|
|
53151
53162
|
}
|
|
53163
|
+
checkDataSetValidity(definition) {
|
|
53164
|
+
if (definition.type === "SPREADSHEET" && definition.dataSet) {
|
|
53165
|
+
const { zone, sheetId } = definition.dataSet;
|
|
53166
|
+
if (!sheetId || !this.getters.tryGetSheet(sheetId) || !zone || !isZoneValid(zone)) {
|
|
53167
|
+
return "InvalidDataSet" /* CommandResult.InvalidDataSet */;
|
|
53168
|
+
}
|
|
53169
|
+
return this.getters.checkZonesExistInSheet(sheetId, [zone]);
|
|
53170
|
+
}
|
|
53171
|
+
return "Success" /* CommandResult.Success */;
|
|
53172
|
+
}
|
|
53152
53173
|
}
|
|
53153
53174
|
|
|
53154
53175
|
class TableStylePlugin extends CorePlugin {
|
|
@@ -55984,7 +56005,7 @@ class DynamicTablesPlugin extends UIPlugin {
|
|
|
55984
56005
|
tables = {};
|
|
55985
56006
|
handle(cmd) {
|
|
55986
56007
|
if (invalidateEvaluationCommands.has(cmd.type) ||
|
|
55987
|
-
(cmd.type === "UPDATE_CELL" && "content" in cmd) ||
|
|
56008
|
+
(cmd.type === "UPDATE_CELL" && ("content" in cmd || "format" in cmd)) ||
|
|
55988
56009
|
cmd.type === "EVALUATE_CELLS") {
|
|
55989
56010
|
this.tables = {};
|
|
55990
56011
|
return;
|
|
@@ -59121,7 +59142,7 @@ class TableComputedStylePlugin extends UIPlugin {
|
|
|
59121
59142
|
tableStyles = {};
|
|
59122
59143
|
handle(cmd) {
|
|
59123
59144
|
if (invalidateEvaluationCommands.has(cmd.type) ||
|
|
59124
|
-
(cmd.type === "UPDATE_CELL" && "content" in cmd) ||
|
|
59145
|
+
(cmd.type === "UPDATE_CELL" && ("content" in cmd || "format" in cmd)) ||
|
|
59125
59146
|
cmd.type === "EVALUATE_CELLS") {
|
|
59126
59147
|
this.tableStyles = {};
|
|
59127
59148
|
return;
|
|
@@ -61092,6 +61113,8 @@ class GridSelectionPlugin extends UIPlugin {
|
|
|
61092
61113
|
});
|
|
61093
61114
|
this.selectCell(col, row);
|
|
61094
61115
|
}
|
|
61116
|
+
const { col, row } = this.gridSelection.anchor.cell;
|
|
61117
|
+
this.moveClient({ sheetId: this.activeSheet.id, col, row });
|
|
61095
61118
|
}
|
|
61096
61119
|
/**
|
|
61097
61120
|
* Ensure selections are not outside sheet boundaries.
|
|
@@ -61824,8 +61847,11 @@ class SheetViewPlugin extends UIPlugin {
|
|
|
61824
61847
|
case "REMOVE_TABLE":
|
|
61825
61848
|
case "UPDATE_TABLE":
|
|
61826
61849
|
case "UPDATE_FILTER":
|
|
61827
|
-
|
|
61828
|
-
|
|
61850
|
+
case "UNFREEZE_ROWS":
|
|
61851
|
+
case "UNFREEZE_COLUMNS":
|
|
61852
|
+
case "FREEZE_COLUMNS":
|
|
61853
|
+
case "FREEZE_ROWS":
|
|
61854
|
+
case "UNFREEZE_COLUMNS_ROWS":
|
|
61829
61855
|
case "REMOVE_COLUMNS_ROWS":
|
|
61830
61856
|
case "RESIZE_COLUMNS_ROWS":
|
|
61831
61857
|
case "HIDE_COLUMNS_ROWS":
|
|
@@ -61838,11 +61864,9 @@ class SheetViewPlugin extends UIPlugin {
|
|
|
61838
61864
|
case "FOLD_HEADER_GROUPS_IN_ZONE":
|
|
61839
61865
|
case "UNFOLD_HEADER_GROUPS_IN_ZONE":
|
|
61840
61866
|
case "UNFOLD_ALL_HEADER_GROUPS":
|
|
61841
|
-
case "FOLD_ALL_HEADER_GROUPS":
|
|
61842
|
-
|
|
61843
|
-
this.sheetsWithDirtyViewports.add(sheetId);
|
|
61867
|
+
case "FOLD_ALL_HEADER_GROUPS":
|
|
61868
|
+
this.sheetsWithDirtyViewports.add(cmd.sheetId);
|
|
61844
61869
|
break;
|
|
61845
|
-
}
|
|
61846
61870
|
case "UPDATE_CELL":
|
|
61847
61871
|
// update cell content or format can change hidden rows because of data filters
|
|
61848
61872
|
if ("content" in cmd || "format" in cmd || cmd.style?.fontSize !== undefined) {
|
|
@@ -61858,13 +61882,6 @@ class SheetViewPlugin extends UIPlugin {
|
|
|
61858
61882
|
case "ACTIVATE_SHEET":
|
|
61859
61883
|
this.sheetsWithDirtyViewports.add(cmd.sheetIdTo);
|
|
61860
61884
|
break;
|
|
61861
|
-
case "UNFREEZE_ROWS":
|
|
61862
|
-
case "UNFREEZE_COLUMNS":
|
|
61863
|
-
case "FREEZE_COLUMNS":
|
|
61864
|
-
case "FREEZE_ROWS":
|
|
61865
|
-
case "UNFREEZE_COLUMNS_ROWS":
|
|
61866
|
-
this.resetViewports(this.getters.getActiveSheetId());
|
|
61867
|
-
break;
|
|
61868
61885
|
case "DELETE_SHEET":
|
|
61869
61886
|
this.sheetsWithDirtyViewports.delete(cmd.sheetId);
|
|
61870
61887
|
break;
|
|
@@ -63020,7 +63037,7 @@ class AggregateStatisticsStore extends SpreadsheetStore {
|
|
|
63020
63037
|
}
|
|
63021
63038
|
handle(cmd) {
|
|
63022
63039
|
if (invalidateEvaluationCommands.has(cmd.type) ||
|
|
63023
|
-
(cmd.type === "UPDATE_CELL" && "content" in cmd)) {
|
|
63040
|
+
(cmd.type === "UPDATE_CELL" && ("content" in cmd || "format" in cmd))) {
|
|
63024
63041
|
this.isDirty = true;
|
|
63025
63042
|
}
|
|
63026
63043
|
switch (cmd.type) {
|
|
@@ -69344,6 +69361,6 @@ const constants = {
|
|
|
69344
69361
|
export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, CommandResult, CorePlugin, DispatchResult, EvaluationError, Model, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, SpreadsheetPivotTable, 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 };
|
|
69345
69362
|
|
|
69346
69363
|
|
|
69347
|
-
__info__.version = "17.4.
|
|
69348
|
-
__info__.date = "2025-
|
|
69349
|
-
__info__.hash = "
|
|
69364
|
+
__info__.version = "17.4.33";
|
|
69365
|
+
__info__.date = "2025-05-02T12:30:31.263Z";
|
|
69366
|
+
__info__.hash = "3ba00e6";
|