@odoo/o-spreadsheet 18.0.25 → 18.0.26
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 +9 -10
- 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 18.0.
|
|
6
|
-
* @date 2025-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.0.26
|
|
6
|
+
* @date 2025-05-02T12:30:31.966Z
|
|
7
|
+
* @hash 5bdf504
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
'use strict';
|
|
@@ -3593,6 +3593,7 @@ exports.CommandResult = void 0;
|
|
|
3593
3593
|
CommandResult["ValueCellIsInvalidFormula"] = "ValueCellIsInvalidFormula";
|
|
3594
3594
|
CommandResult["InvalidDefinition"] = "InvalidDefinition";
|
|
3595
3595
|
CommandResult["InvalidColor"] = "InvalidColor";
|
|
3596
|
+
CommandResult["InvalidPivotDataSet"] = "InvalidPivotDataSet";
|
|
3596
3597
|
})(exports.CommandResult || (exports.CommandResult = {}));
|
|
3597
3598
|
|
|
3598
3599
|
const DEFAULT_LOCALES = [
|
|
@@ -16917,6 +16918,7 @@ class ChartJsComponent extends owl.Component {
|
|
|
16917
16918
|
canvas = owl.useRef("graphContainer");
|
|
16918
16919
|
chart;
|
|
16919
16920
|
currentRuntime;
|
|
16921
|
+
currentDevicePixelRatio = window.devicePixelRatio;
|
|
16920
16922
|
get background() {
|
|
16921
16923
|
return this.chartRuntime.background;
|
|
16922
16924
|
}
|
|
@@ -16950,11 +16952,11 @@ class ChartJsComponent extends owl.Component {
|
|
|
16950
16952
|
}
|
|
16951
16953
|
this.currentRuntime = runtime;
|
|
16952
16954
|
}
|
|
16955
|
+
else if (this.currentDevicePixelRatio !== window.devicePixelRatio) {
|
|
16956
|
+
this.currentDevicePixelRatio = window.devicePixelRatio;
|
|
16957
|
+
this.updateChartJs(deepCopy(this.currentRuntime));
|
|
16958
|
+
}
|
|
16953
16959
|
});
|
|
16954
|
-
owl.useEffect(() => {
|
|
16955
|
-
this.currentRuntime = this.chartRuntime;
|
|
16956
|
-
this.updateChartJs(deepCopy(this.currentRuntime));
|
|
16957
|
-
}, () => [window.devicePixelRatio]);
|
|
16958
16960
|
}
|
|
16959
16961
|
createChart(chartData) {
|
|
16960
16962
|
const canvas = this.canvas.el;
|
|
@@ -29059,9 +29061,6 @@ class BarChart extends AbstractChart {
|
|
|
29059
29061
|
};
|
|
29060
29062
|
}
|
|
29061
29063
|
getDefinitionForExcel() {
|
|
29062
|
-
// Excel does not support aggregating labels
|
|
29063
|
-
if (this.aggregated)
|
|
29064
|
-
return undefined;
|
|
29065
29064
|
const dataSets = this.dataSets
|
|
29066
29065
|
.map((ds) => toExcelDataset(this.getters, ds))
|
|
29067
29066
|
.filter((ds) => ds.range !== "" && ds.range !== CellErrorType.InvalidReference);
|
|
@@ -30302,9 +30301,6 @@ class LineChart extends AbstractChart {
|
|
|
30302
30301
|
return new LineChart(definition, this.sheetId, this.getters);
|
|
30303
30302
|
}
|
|
30304
30303
|
getDefinitionForExcel() {
|
|
30305
|
-
// Excel does not support aggregating labels
|
|
30306
|
-
if (this.aggregated)
|
|
30307
|
-
return undefined;
|
|
30308
30304
|
const dataSets = this.dataSets
|
|
30309
30305
|
.map((ds) => toExcelDataset(this.getters, ds))
|
|
30310
30306
|
.filter((ds) => ds.range !== "" && ds.range !== CellErrorType.InvalidReference);
|
|
@@ -30415,9 +30411,6 @@ class PieChart extends AbstractChart {
|
|
|
30415
30411
|
return new PieChart(definition, sheetId, this.getters);
|
|
30416
30412
|
}
|
|
30417
30413
|
getDefinitionForExcel() {
|
|
30418
|
-
// Excel does not support aggregating labels
|
|
30419
|
-
if (this.aggregated)
|
|
30420
|
-
return undefined;
|
|
30421
30414
|
const dataSets = this.dataSets
|
|
30422
30415
|
.map((ds) => toExcelDataset(this.getters, ds))
|
|
30423
30416
|
.filter((ds) => ds.range !== "" && ds.range !== CellErrorType.InvalidReference);
|
|
@@ -32636,18 +32629,28 @@ linkMenuRegistry.add("sheet", {
|
|
|
32636
32629
|
function useInterval(callback, delay) {
|
|
32637
32630
|
let intervalId;
|
|
32638
32631
|
const { setInterval, clearInterval } = window;
|
|
32632
|
+
const pause = () => {
|
|
32633
|
+
clearInterval(intervalId);
|
|
32634
|
+
intervalId = undefined;
|
|
32635
|
+
};
|
|
32636
|
+
const safeCallback = () => {
|
|
32637
|
+
try {
|
|
32638
|
+
callback();
|
|
32639
|
+
}
|
|
32640
|
+
catch (e) {
|
|
32641
|
+
pause();
|
|
32642
|
+
throw e;
|
|
32643
|
+
}
|
|
32644
|
+
};
|
|
32639
32645
|
owl.useEffect(() => {
|
|
32640
|
-
intervalId = setInterval(
|
|
32646
|
+
intervalId = setInterval(safeCallback, delay);
|
|
32641
32647
|
return () => clearInterval(intervalId);
|
|
32642
32648
|
}, () => [delay]);
|
|
32643
32649
|
return {
|
|
32644
|
-
pause
|
|
32645
|
-
clearInterval(intervalId);
|
|
32646
|
-
intervalId = undefined;
|
|
32647
|
-
},
|
|
32650
|
+
pause,
|
|
32648
32651
|
resume: () => {
|
|
32649
32652
|
if (intervalId === undefined) {
|
|
32650
|
-
intervalId = setInterval(
|
|
32653
|
+
intervalId = setInterval(safeCallback, delay);
|
|
32651
32654
|
}
|
|
32652
32655
|
},
|
|
32653
32656
|
};
|
|
@@ -48367,7 +48370,7 @@ css /* scss */ `
|
|
|
48367
48370
|
position: absolute;
|
|
48368
48371
|
top: 0;
|
|
48369
48372
|
left: ${HEADER_WIDTH}px;
|
|
48370
|
-
right:
|
|
48373
|
+
right: ${SCROLLBAR_WIDTH}px;
|
|
48371
48374
|
height: ${HEADER_HEIGHT}px;
|
|
48372
48375
|
&.o-dragging {
|
|
48373
48376
|
cursor: grabbing;
|
|
@@ -48533,9 +48536,8 @@ css /* scss */ `
|
|
|
48533
48536
|
position: absolute;
|
|
48534
48537
|
top: ${HEADER_HEIGHT}px;
|
|
48535
48538
|
left: 0;
|
|
48536
|
-
|
|
48539
|
+
bottom: ${SCROLLBAR_WIDTH}px;
|
|
48537
48540
|
width: ${HEADER_WIDTH}px;
|
|
48538
|
-
height: calc(100% - ${HEADER_HEIGHT + SCROLLBAR_WIDTH}px);
|
|
48539
48541
|
&.o-dragging {
|
|
48540
48542
|
cursor: grabbing;
|
|
48541
48543
|
}
|
|
@@ -56620,6 +56622,15 @@ function adaptPivotRange(range, applyChange) {
|
|
|
56620
56622
|
}
|
|
56621
56623
|
}
|
|
56622
56624
|
class SpreadsheetPivotCorePlugin extends CorePlugin {
|
|
56625
|
+
allowDispatch(cmd) {
|
|
56626
|
+
switch (cmd.type) {
|
|
56627
|
+
case "ADD_PIVOT":
|
|
56628
|
+
case "UPDATE_PIVOT":
|
|
56629
|
+
const definition = cmd.pivot;
|
|
56630
|
+
return this.checkDataSetValidity(definition);
|
|
56631
|
+
}
|
|
56632
|
+
return "Success" /* CommandResult.Success */;
|
|
56633
|
+
}
|
|
56623
56634
|
adaptRanges(applyChange) {
|
|
56624
56635
|
for (const pivotId of this.getters.getPivotIds()) {
|
|
56625
56636
|
const definition = this.getters.getPivotCoreDefinition(pivotId);
|
|
@@ -56638,6 +56649,16 @@ class SpreadsheetPivotCorePlugin extends CorePlugin {
|
|
|
56638
56649
|
}
|
|
56639
56650
|
}
|
|
56640
56651
|
}
|
|
56652
|
+
checkDataSetValidity(definition) {
|
|
56653
|
+
if (definition.type === "SPREADSHEET" && definition.dataSet) {
|
|
56654
|
+
const { zone, sheetId } = definition.dataSet;
|
|
56655
|
+
if (!sheetId || !this.getters.tryGetSheet(sheetId) || !zone || !isZoneValid(zone)) {
|
|
56656
|
+
return "InvalidDataSet" /* CommandResult.InvalidDataSet */;
|
|
56657
|
+
}
|
|
56658
|
+
return this.getters.checkZonesExistInSheet(sheetId, [zone]);
|
|
56659
|
+
}
|
|
56660
|
+
return "Success" /* CommandResult.Success */;
|
|
56661
|
+
}
|
|
56641
56662
|
}
|
|
56642
56663
|
|
|
56643
56664
|
class TableStylePlugin extends CorePlugin {
|
|
@@ -59475,7 +59496,7 @@ class DynamicTablesPlugin extends UIPlugin {
|
|
|
59475
59496
|
tables = {};
|
|
59476
59497
|
handle(cmd) {
|
|
59477
59498
|
if (invalidateEvaluationCommands.has(cmd.type) ||
|
|
59478
|
-
(cmd.type === "UPDATE_CELL" && "content" in cmd) ||
|
|
59499
|
+
(cmd.type === "UPDATE_CELL" && ("content" in cmd || "format" in cmd)) ||
|
|
59479
59500
|
cmd.type === "EVALUATE_CELLS") {
|
|
59480
59501
|
this.tables = {};
|
|
59481
59502
|
return;
|
|
@@ -63279,7 +63300,7 @@ class TableComputedStylePlugin extends UIPlugin {
|
|
|
63279
63300
|
tableStyles = {};
|
|
63280
63301
|
handle(cmd) {
|
|
63281
63302
|
if (invalidateEvaluationCommands.has(cmd.type) ||
|
|
63282
|
-
(cmd.type === "UPDATE_CELL" && "content" in cmd) ||
|
|
63303
|
+
(cmd.type === "UPDATE_CELL" && ("content" in cmd || "format" in cmd)) ||
|
|
63283
63304
|
cmd.type === "EVALUATE_CELLS") {
|
|
63284
63305
|
this.tableStyles = {};
|
|
63285
63306
|
return;
|
|
@@ -65243,6 +65264,8 @@ class GridSelectionPlugin extends UIPlugin {
|
|
|
65243
65264
|
});
|
|
65244
65265
|
this.selectCell(col, row);
|
|
65245
65266
|
}
|
|
65267
|
+
const { col, row } = this.gridSelection.anchor.cell;
|
|
65268
|
+
this.moveClient({ sheetId: this.activeSheet.id, col, row });
|
|
65246
65269
|
}
|
|
65247
65270
|
/**
|
|
65248
65271
|
* Ensure selections are not outside sheet boundaries.
|
|
@@ -65975,8 +65998,11 @@ class SheetViewPlugin extends UIPlugin {
|
|
|
65975
65998
|
case "REMOVE_TABLE":
|
|
65976
65999
|
case "UPDATE_TABLE":
|
|
65977
66000
|
case "UPDATE_FILTER":
|
|
65978
|
-
|
|
65979
|
-
|
|
66001
|
+
case "UNFREEZE_ROWS":
|
|
66002
|
+
case "UNFREEZE_COLUMNS":
|
|
66003
|
+
case "FREEZE_COLUMNS":
|
|
66004
|
+
case "FREEZE_ROWS":
|
|
66005
|
+
case "UNFREEZE_COLUMNS_ROWS":
|
|
65980
66006
|
case "REMOVE_COLUMNS_ROWS":
|
|
65981
66007
|
case "RESIZE_COLUMNS_ROWS":
|
|
65982
66008
|
case "HIDE_COLUMNS_ROWS":
|
|
@@ -65989,11 +66015,9 @@ class SheetViewPlugin extends UIPlugin {
|
|
|
65989
66015
|
case "FOLD_HEADER_GROUPS_IN_ZONE":
|
|
65990
66016
|
case "UNFOLD_HEADER_GROUPS_IN_ZONE":
|
|
65991
66017
|
case "UNFOLD_ALL_HEADER_GROUPS":
|
|
65992
|
-
case "FOLD_ALL_HEADER_GROUPS":
|
|
65993
|
-
|
|
65994
|
-
this.sheetsWithDirtyViewports.add(sheetId);
|
|
66018
|
+
case "FOLD_ALL_HEADER_GROUPS":
|
|
66019
|
+
this.sheetsWithDirtyViewports.add(cmd.sheetId);
|
|
65995
66020
|
break;
|
|
65996
|
-
}
|
|
65997
66021
|
case "UPDATE_CELL":
|
|
65998
66022
|
// update cell content or format can change hidden rows because of data filters
|
|
65999
66023
|
if ("content" in cmd || "format" in cmd || cmd.style?.fontSize !== undefined) {
|
|
@@ -66009,13 +66033,6 @@ class SheetViewPlugin extends UIPlugin {
|
|
|
66009
66033
|
case "ACTIVATE_SHEET":
|
|
66010
66034
|
this.sheetsWithDirtyViewports.add(cmd.sheetIdTo);
|
|
66011
66035
|
break;
|
|
66012
|
-
case "UNFREEZE_ROWS":
|
|
66013
|
-
case "UNFREEZE_COLUMNS":
|
|
66014
|
-
case "FREEZE_COLUMNS":
|
|
66015
|
-
case "FREEZE_ROWS":
|
|
66016
|
-
case "UNFREEZE_COLUMNS_ROWS":
|
|
66017
|
-
this.resetViewports(this.getters.getActiveSheetId());
|
|
66018
|
-
break;
|
|
66019
66036
|
case "DELETE_SHEET":
|
|
66020
66037
|
this.sheetsWithDirtyViewports.delete(cmd.sheetId);
|
|
66021
66038
|
break;
|
|
@@ -67195,7 +67212,7 @@ class AggregateStatisticsStore extends SpreadsheetStore {
|
|
|
67195
67212
|
}
|
|
67196
67213
|
handle(cmd) {
|
|
67197
67214
|
if (invalidateEvaluationCommands.has(cmd.type) ||
|
|
67198
|
-
(cmd.type === "UPDATE_CELL" && "content" in cmd)) {
|
|
67215
|
+
(cmd.type === "UPDATE_CELL" && ("content" in cmd || "format" in cmd))) {
|
|
67199
67216
|
this.isDirty = true;
|
|
67200
67217
|
}
|
|
67201
67218
|
switch (cmd.type) {
|
|
@@ -73777,6 +73794,6 @@ exports.tokenColors = tokenColors;
|
|
|
73777
73794
|
exports.tokenize = tokenize;
|
|
73778
73795
|
|
|
73779
73796
|
|
|
73780
|
-
__info__.version = "18.0.
|
|
73781
|
-
__info__.date = "2025-
|
|
73782
|
-
__info__.hash = "
|
|
73797
|
+
__info__.version = "18.0.26";
|
|
73798
|
+
__info__.date = "2025-05-02T12:30:31.966Z";
|
|
73799
|
+
__info__.hash = "5bdf504";
|
package/dist/o-spreadsheet.d.ts
CHANGED
|
@@ -2688,7 +2688,8 @@ declare const enum CommandResult {
|
|
|
2688
2688
|
EmptyName = "EmptyName",
|
|
2689
2689
|
ValueCellIsInvalidFormula = "ValueCellIsInvalidFormula",
|
|
2690
2690
|
InvalidDefinition = "InvalidDefinition",
|
|
2691
|
-
InvalidColor = "InvalidColor"
|
|
2691
|
+
InvalidColor = "InvalidColor",
|
|
2692
|
+
InvalidPivotDataSet = "InvalidPivotDataSet"
|
|
2692
2693
|
}
|
|
2693
2694
|
interface CommandHandler<T> {
|
|
2694
2695
|
allowDispatch(command: T): CommandResult | CommandResult[];
|
|
@@ -8275,6 +8276,7 @@ declare class ChartJsComponent extends Component<Props$M, SpreadsheetChildEnv> {
|
|
|
8275
8276
|
private canvas;
|
|
8276
8277
|
private chart?;
|
|
8277
8278
|
private currentRuntime;
|
|
8279
|
+
private currentDevicePixelRatio;
|
|
8278
8280
|
get background(): string;
|
|
8279
8281
|
get canvasStyle(): string;
|
|
8280
8282
|
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 18.0.
|
|
6
|
-
* @date 2025-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.0.26
|
|
6
|
+
* @date 2025-05-02T12:30:31.966Z
|
|
7
|
+
* @hash 5bdf504
|
|
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';
|
|
@@ -3591,6 +3591,7 @@ var CommandResult;
|
|
|
3591
3591
|
CommandResult["ValueCellIsInvalidFormula"] = "ValueCellIsInvalidFormula";
|
|
3592
3592
|
CommandResult["InvalidDefinition"] = "InvalidDefinition";
|
|
3593
3593
|
CommandResult["InvalidColor"] = "InvalidColor";
|
|
3594
|
+
CommandResult["InvalidPivotDataSet"] = "InvalidPivotDataSet";
|
|
3594
3595
|
})(CommandResult || (CommandResult = {}));
|
|
3595
3596
|
|
|
3596
3597
|
const DEFAULT_LOCALES = [
|
|
@@ -16915,6 +16916,7 @@ class ChartJsComponent extends Component {
|
|
|
16915
16916
|
canvas = useRef("graphContainer");
|
|
16916
16917
|
chart;
|
|
16917
16918
|
currentRuntime;
|
|
16919
|
+
currentDevicePixelRatio = window.devicePixelRatio;
|
|
16918
16920
|
get background() {
|
|
16919
16921
|
return this.chartRuntime.background;
|
|
16920
16922
|
}
|
|
@@ -16948,11 +16950,11 @@ class ChartJsComponent extends Component {
|
|
|
16948
16950
|
}
|
|
16949
16951
|
this.currentRuntime = runtime;
|
|
16950
16952
|
}
|
|
16953
|
+
else if (this.currentDevicePixelRatio !== window.devicePixelRatio) {
|
|
16954
|
+
this.currentDevicePixelRatio = window.devicePixelRatio;
|
|
16955
|
+
this.updateChartJs(deepCopy(this.currentRuntime));
|
|
16956
|
+
}
|
|
16951
16957
|
});
|
|
16952
|
-
useEffect(() => {
|
|
16953
|
-
this.currentRuntime = this.chartRuntime;
|
|
16954
|
-
this.updateChartJs(deepCopy(this.currentRuntime));
|
|
16955
|
-
}, () => [window.devicePixelRatio]);
|
|
16956
16958
|
}
|
|
16957
16959
|
createChart(chartData) {
|
|
16958
16960
|
const canvas = this.canvas.el;
|
|
@@ -29057,9 +29059,6 @@ class BarChart extends AbstractChart {
|
|
|
29057
29059
|
};
|
|
29058
29060
|
}
|
|
29059
29061
|
getDefinitionForExcel() {
|
|
29060
|
-
// Excel does not support aggregating labels
|
|
29061
|
-
if (this.aggregated)
|
|
29062
|
-
return undefined;
|
|
29063
29062
|
const dataSets = this.dataSets
|
|
29064
29063
|
.map((ds) => toExcelDataset(this.getters, ds))
|
|
29065
29064
|
.filter((ds) => ds.range !== "" && ds.range !== CellErrorType.InvalidReference);
|
|
@@ -30300,9 +30299,6 @@ class LineChart extends AbstractChart {
|
|
|
30300
30299
|
return new LineChart(definition, this.sheetId, this.getters);
|
|
30301
30300
|
}
|
|
30302
30301
|
getDefinitionForExcel() {
|
|
30303
|
-
// Excel does not support aggregating labels
|
|
30304
|
-
if (this.aggregated)
|
|
30305
|
-
return undefined;
|
|
30306
30302
|
const dataSets = this.dataSets
|
|
30307
30303
|
.map((ds) => toExcelDataset(this.getters, ds))
|
|
30308
30304
|
.filter((ds) => ds.range !== "" && ds.range !== CellErrorType.InvalidReference);
|
|
@@ -30413,9 +30409,6 @@ class PieChart extends AbstractChart {
|
|
|
30413
30409
|
return new PieChart(definition, sheetId, this.getters);
|
|
30414
30410
|
}
|
|
30415
30411
|
getDefinitionForExcel() {
|
|
30416
|
-
// Excel does not support aggregating labels
|
|
30417
|
-
if (this.aggregated)
|
|
30418
|
-
return undefined;
|
|
30419
30412
|
const dataSets = this.dataSets
|
|
30420
30413
|
.map((ds) => toExcelDataset(this.getters, ds))
|
|
30421
30414
|
.filter((ds) => ds.range !== "" && ds.range !== CellErrorType.InvalidReference);
|
|
@@ -32634,18 +32627,28 @@ linkMenuRegistry.add("sheet", {
|
|
|
32634
32627
|
function useInterval(callback, delay) {
|
|
32635
32628
|
let intervalId;
|
|
32636
32629
|
const { setInterval, clearInterval } = window;
|
|
32630
|
+
const pause = () => {
|
|
32631
|
+
clearInterval(intervalId);
|
|
32632
|
+
intervalId = undefined;
|
|
32633
|
+
};
|
|
32634
|
+
const safeCallback = () => {
|
|
32635
|
+
try {
|
|
32636
|
+
callback();
|
|
32637
|
+
}
|
|
32638
|
+
catch (e) {
|
|
32639
|
+
pause();
|
|
32640
|
+
throw e;
|
|
32641
|
+
}
|
|
32642
|
+
};
|
|
32637
32643
|
useEffect(() => {
|
|
32638
|
-
intervalId = setInterval(
|
|
32644
|
+
intervalId = setInterval(safeCallback, delay);
|
|
32639
32645
|
return () => clearInterval(intervalId);
|
|
32640
32646
|
}, () => [delay]);
|
|
32641
32647
|
return {
|
|
32642
|
-
pause
|
|
32643
|
-
clearInterval(intervalId);
|
|
32644
|
-
intervalId = undefined;
|
|
32645
|
-
},
|
|
32648
|
+
pause,
|
|
32646
32649
|
resume: () => {
|
|
32647
32650
|
if (intervalId === undefined) {
|
|
32648
|
-
intervalId = setInterval(
|
|
32651
|
+
intervalId = setInterval(safeCallback, delay);
|
|
32649
32652
|
}
|
|
32650
32653
|
},
|
|
32651
32654
|
};
|
|
@@ -48365,7 +48368,7 @@ css /* scss */ `
|
|
|
48365
48368
|
position: absolute;
|
|
48366
48369
|
top: 0;
|
|
48367
48370
|
left: ${HEADER_WIDTH}px;
|
|
48368
|
-
right:
|
|
48371
|
+
right: ${SCROLLBAR_WIDTH}px;
|
|
48369
48372
|
height: ${HEADER_HEIGHT}px;
|
|
48370
48373
|
&.o-dragging {
|
|
48371
48374
|
cursor: grabbing;
|
|
@@ -48531,9 +48534,8 @@ css /* scss */ `
|
|
|
48531
48534
|
position: absolute;
|
|
48532
48535
|
top: ${HEADER_HEIGHT}px;
|
|
48533
48536
|
left: 0;
|
|
48534
|
-
|
|
48537
|
+
bottom: ${SCROLLBAR_WIDTH}px;
|
|
48535
48538
|
width: ${HEADER_WIDTH}px;
|
|
48536
|
-
height: calc(100% - ${HEADER_HEIGHT + SCROLLBAR_WIDTH}px);
|
|
48537
48539
|
&.o-dragging {
|
|
48538
48540
|
cursor: grabbing;
|
|
48539
48541
|
}
|
|
@@ -56618,6 +56620,15 @@ function adaptPivotRange(range, applyChange) {
|
|
|
56618
56620
|
}
|
|
56619
56621
|
}
|
|
56620
56622
|
class SpreadsheetPivotCorePlugin extends CorePlugin {
|
|
56623
|
+
allowDispatch(cmd) {
|
|
56624
|
+
switch (cmd.type) {
|
|
56625
|
+
case "ADD_PIVOT":
|
|
56626
|
+
case "UPDATE_PIVOT":
|
|
56627
|
+
const definition = cmd.pivot;
|
|
56628
|
+
return this.checkDataSetValidity(definition);
|
|
56629
|
+
}
|
|
56630
|
+
return "Success" /* CommandResult.Success */;
|
|
56631
|
+
}
|
|
56621
56632
|
adaptRanges(applyChange) {
|
|
56622
56633
|
for (const pivotId of this.getters.getPivotIds()) {
|
|
56623
56634
|
const definition = this.getters.getPivotCoreDefinition(pivotId);
|
|
@@ -56636,6 +56647,16 @@ class SpreadsheetPivotCorePlugin extends CorePlugin {
|
|
|
56636
56647
|
}
|
|
56637
56648
|
}
|
|
56638
56649
|
}
|
|
56650
|
+
checkDataSetValidity(definition) {
|
|
56651
|
+
if (definition.type === "SPREADSHEET" && definition.dataSet) {
|
|
56652
|
+
const { zone, sheetId } = definition.dataSet;
|
|
56653
|
+
if (!sheetId || !this.getters.tryGetSheet(sheetId) || !zone || !isZoneValid(zone)) {
|
|
56654
|
+
return "InvalidDataSet" /* CommandResult.InvalidDataSet */;
|
|
56655
|
+
}
|
|
56656
|
+
return this.getters.checkZonesExistInSheet(sheetId, [zone]);
|
|
56657
|
+
}
|
|
56658
|
+
return "Success" /* CommandResult.Success */;
|
|
56659
|
+
}
|
|
56639
56660
|
}
|
|
56640
56661
|
|
|
56641
56662
|
class TableStylePlugin extends CorePlugin {
|
|
@@ -59473,7 +59494,7 @@ class DynamicTablesPlugin extends UIPlugin {
|
|
|
59473
59494
|
tables = {};
|
|
59474
59495
|
handle(cmd) {
|
|
59475
59496
|
if (invalidateEvaluationCommands.has(cmd.type) ||
|
|
59476
|
-
(cmd.type === "UPDATE_CELL" && "content" in cmd) ||
|
|
59497
|
+
(cmd.type === "UPDATE_CELL" && ("content" in cmd || "format" in cmd)) ||
|
|
59477
59498
|
cmd.type === "EVALUATE_CELLS") {
|
|
59478
59499
|
this.tables = {};
|
|
59479
59500
|
return;
|
|
@@ -63277,7 +63298,7 @@ class TableComputedStylePlugin extends UIPlugin {
|
|
|
63277
63298
|
tableStyles = {};
|
|
63278
63299
|
handle(cmd) {
|
|
63279
63300
|
if (invalidateEvaluationCommands.has(cmd.type) ||
|
|
63280
|
-
(cmd.type === "UPDATE_CELL" && "content" in cmd) ||
|
|
63301
|
+
(cmd.type === "UPDATE_CELL" && ("content" in cmd || "format" in cmd)) ||
|
|
63281
63302
|
cmd.type === "EVALUATE_CELLS") {
|
|
63282
63303
|
this.tableStyles = {};
|
|
63283
63304
|
return;
|
|
@@ -65241,6 +65262,8 @@ class GridSelectionPlugin extends UIPlugin {
|
|
|
65241
65262
|
});
|
|
65242
65263
|
this.selectCell(col, row);
|
|
65243
65264
|
}
|
|
65265
|
+
const { col, row } = this.gridSelection.anchor.cell;
|
|
65266
|
+
this.moveClient({ sheetId: this.activeSheet.id, col, row });
|
|
65244
65267
|
}
|
|
65245
65268
|
/**
|
|
65246
65269
|
* Ensure selections are not outside sheet boundaries.
|
|
@@ -65973,8 +65996,11 @@ class SheetViewPlugin extends UIPlugin {
|
|
|
65973
65996
|
case "REMOVE_TABLE":
|
|
65974
65997
|
case "UPDATE_TABLE":
|
|
65975
65998
|
case "UPDATE_FILTER":
|
|
65976
|
-
|
|
65977
|
-
|
|
65999
|
+
case "UNFREEZE_ROWS":
|
|
66000
|
+
case "UNFREEZE_COLUMNS":
|
|
66001
|
+
case "FREEZE_COLUMNS":
|
|
66002
|
+
case "FREEZE_ROWS":
|
|
66003
|
+
case "UNFREEZE_COLUMNS_ROWS":
|
|
65978
66004
|
case "REMOVE_COLUMNS_ROWS":
|
|
65979
66005
|
case "RESIZE_COLUMNS_ROWS":
|
|
65980
66006
|
case "HIDE_COLUMNS_ROWS":
|
|
@@ -65987,11 +66013,9 @@ class SheetViewPlugin extends UIPlugin {
|
|
|
65987
66013
|
case "FOLD_HEADER_GROUPS_IN_ZONE":
|
|
65988
66014
|
case "UNFOLD_HEADER_GROUPS_IN_ZONE":
|
|
65989
66015
|
case "UNFOLD_ALL_HEADER_GROUPS":
|
|
65990
|
-
case "FOLD_ALL_HEADER_GROUPS":
|
|
65991
|
-
|
|
65992
|
-
this.sheetsWithDirtyViewports.add(sheetId);
|
|
66016
|
+
case "FOLD_ALL_HEADER_GROUPS":
|
|
66017
|
+
this.sheetsWithDirtyViewports.add(cmd.sheetId);
|
|
65993
66018
|
break;
|
|
65994
|
-
}
|
|
65995
66019
|
case "UPDATE_CELL":
|
|
65996
66020
|
// update cell content or format can change hidden rows because of data filters
|
|
65997
66021
|
if ("content" in cmd || "format" in cmd || cmd.style?.fontSize !== undefined) {
|
|
@@ -66007,13 +66031,6 @@ class SheetViewPlugin extends UIPlugin {
|
|
|
66007
66031
|
case "ACTIVATE_SHEET":
|
|
66008
66032
|
this.sheetsWithDirtyViewports.add(cmd.sheetIdTo);
|
|
66009
66033
|
break;
|
|
66010
|
-
case "UNFREEZE_ROWS":
|
|
66011
|
-
case "UNFREEZE_COLUMNS":
|
|
66012
|
-
case "FREEZE_COLUMNS":
|
|
66013
|
-
case "FREEZE_ROWS":
|
|
66014
|
-
case "UNFREEZE_COLUMNS_ROWS":
|
|
66015
|
-
this.resetViewports(this.getters.getActiveSheetId());
|
|
66016
|
-
break;
|
|
66017
66034
|
case "DELETE_SHEET":
|
|
66018
66035
|
this.sheetsWithDirtyViewports.delete(cmd.sheetId);
|
|
66019
66036
|
break;
|
|
@@ -67193,7 +67210,7 @@ class AggregateStatisticsStore extends SpreadsheetStore {
|
|
|
67193
67210
|
}
|
|
67194
67211
|
handle(cmd) {
|
|
67195
67212
|
if (invalidateEvaluationCommands.has(cmd.type) ||
|
|
67196
|
-
(cmd.type === "UPDATE_CELL" && "content" in cmd)) {
|
|
67213
|
+
(cmd.type === "UPDATE_CELL" && ("content" in cmd || "format" in cmd))) {
|
|
67197
67214
|
this.isDirty = true;
|
|
67198
67215
|
}
|
|
67199
67216
|
switch (cmd.type) {
|
|
@@ -73732,6 +73749,6 @@ const constants = {
|
|
|
73732
73749
|
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 };
|
|
73733
73750
|
|
|
73734
73751
|
|
|
73735
|
-
__info__.version = "18.0.
|
|
73736
|
-
__info__.date = "2025-
|
|
73737
|
-
__info__.hash = "
|
|
73752
|
+
__info__.version = "18.0.26";
|
|
73753
|
+
__info__.date = "2025-05-02T12:30:31.966Z";
|
|
73754
|
+
__info__.hash = "5bdf504";
|