@odoo/o-spreadsheet 19.1.3 → 19.1.4
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-engine.d.ts +33 -27
- package/dist/o-spreadsheet-engine.esm.js +121 -101
- package/dist/o-spreadsheet-engine.iife.js +121 -101
- package/dist/o-spreadsheet-engine.min.iife.js +165 -165
- package/dist/o-spreadsheet.d.ts +39 -33
- package/dist/o_spreadsheet.css +3 -3
- package/dist/o_spreadsheet.esm.js +159 -144
- package/dist/o_spreadsheet.iife.js +159 -144
- package/dist/o_spreadsheet.min.iife.js +32 -32
- package/dist/o_spreadsheet.xml +3 -3
- 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 19.1.
|
|
6
|
-
* @date 2026-01-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.1.4
|
|
6
|
+
* @date 2026-01-21T11:07:17.372Z
|
|
7
|
+
* @hash ceae12a
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
(function (exports, owl) {
|
|
@@ -3842,7 +3842,11 @@
|
|
|
3842
3842
|
if (operator === "<>" || operator === "=") {
|
|
3843
3843
|
let result;
|
|
3844
3844
|
if (typeof value === typeof operand) {
|
|
3845
|
-
if (
|
|
3845
|
+
if (value === "" && operand === "") {
|
|
3846
|
+
// fast path to avoid regex evaluation
|
|
3847
|
+
result = true;
|
|
3848
|
+
}
|
|
3849
|
+
else if (typeof value === "string" && typeof operand === "string") {
|
|
3846
3850
|
result = wildcardToRegExp(operand).test(value);
|
|
3847
3851
|
}
|
|
3848
3852
|
else {
|
|
@@ -4196,7 +4200,16 @@
|
|
|
4196
4200
|
}
|
|
4197
4201
|
acceptToVectorize.push(!argDefinition.acceptMatrix);
|
|
4198
4202
|
}
|
|
4199
|
-
return applyVectorization(errorHandlingCompute.bind(this), args, acceptToVectorize);
|
|
4203
|
+
return replaceErrorPlaceholderInResult(applyVectorization(errorHandlingCompute.bind(this), args, acceptToVectorize));
|
|
4204
|
+
}
|
|
4205
|
+
function replaceErrorPlaceholderInResult(result) {
|
|
4206
|
+
if (!isMatrix(result)) {
|
|
4207
|
+
replaceFunctionNamePlaceholder(result, descr.name);
|
|
4208
|
+
}
|
|
4209
|
+
else {
|
|
4210
|
+
matrixForEach(result, (result) => replaceFunctionNamePlaceholder(result, descr.name));
|
|
4211
|
+
}
|
|
4212
|
+
return result;
|
|
4200
4213
|
}
|
|
4201
4214
|
function errorHandlingCompute(...args) {
|
|
4202
4215
|
for (let i = 0; i < args.length; i++) {
|
|
@@ -4225,13 +4238,12 @@
|
|
|
4225
4238
|
const result = descr.compute.apply(this, args);
|
|
4226
4239
|
if (!isMatrix(result)) {
|
|
4227
4240
|
if (typeof result === "object" && result !== null && "value" in result) {
|
|
4228
|
-
replaceFunctionNamePlaceholder(result, descr.name);
|
|
4229
4241
|
return result;
|
|
4230
4242
|
}
|
|
4243
|
+
descr.name;
|
|
4231
4244
|
return { value: result };
|
|
4232
4245
|
}
|
|
4233
4246
|
if (typeof result[0][0] === "object" && result[0][0] !== null && "value" in result[0][0]) {
|
|
4234
|
-
matrixForEach(result, (result) => replaceFunctionNamePlaceholder(result, descr.name));
|
|
4235
4247
|
return result;
|
|
4236
4248
|
}
|
|
4237
4249
|
return matrixMap(result, (row) => ({ value: row }));
|
|
@@ -18342,7 +18354,8 @@
|
|
|
18342
18354
|
return children
|
|
18343
18355
|
.map((child) => (typeof child === "function" ? child(env) : child))
|
|
18344
18356
|
.flat()
|
|
18345
|
-
.map(createAction)
|
|
18357
|
+
.map(createAction)
|
|
18358
|
+
.sort((a, b) => a.sequence - b.sequence);
|
|
18346
18359
|
}
|
|
18347
18360
|
: () => [],
|
|
18348
18361
|
isReadonlyAllowed: item.isReadonlyAllowed || false,
|
|
@@ -20003,7 +20016,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
20003
20016
|
const groups = groupConsecutive(elements);
|
|
20004
20017
|
return (range) => {
|
|
20005
20018
|
if (range.sheetId !== cmd.sheetId) {
|
|
20006
|
-
return { changeType: "NONE" };
|
|
20019
|
+
return { changeType: "NONE", range };
|
|
20007
20020
|
}
|
|
20008
20021
|
let newRange = range;
|
|
20009
20022
|
let changeType = "NONE";
|
|
@@ -20030,10 +20043,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
20030
20043
|
newRange = createAdaptedRange(newRange, dimension, changeType, -(max - min + 1));
|
|
20031
20044
|
}
|
|
20032
20045
|
}
|
|
20033
|
-
|
|
20034
|
-
return { changeType, range: newRange };
|
|
20035
|
-
}
|
|
20036
|
-
return { changeType: "NONE" };
|
|
20046
|
+
return { changeType, range: newRange };
|
|
20037
20047
|
};
|
|
20038
20048
|
}
|
|
20039
20049
|
function getApplyRangeChangeAddColRow(cmd) {
|
|
@@ -20042,7 +20052,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
20042
20052
|
const dimension = cmd.dimension === "COL" ? "columns" : "rows";
|
|
20043
20053
|
return (range) => {
|
|
20044
20054
|
if (range.sheetId !== cmd.sheetId) {
|
|
20045
|
-
return { changeType: "NONE" };
|
|
20055
|
+
return { changeType: "NONE", range };
|
|
20046
20056
|
}
|
|
20047
20057
|
if (cmd.position === "after") {
|
|
20048
20058
|
if (range.zone[start] <= cmd.base && cmd.base < range.zone[end]) {
|
|
@@ -20072,13 +20082,13 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
20072
20082
|
};
|
|
20073
20083
|
}
|
|
20074
20084
|
}
|
|
20075
|
-
return { changeType: "NONE" };
|
|
20085
|
+
return { changeType: "NONE", range };
|
|
20076
20086
|
};
|
|
20077
20087
|
}
|
|
20078
20088
|
function getApplyRangeChangeDeleteSheet(cmd) {
|
|
20079
20089
|
return (range) => {
|
|
20080
20090
|
if (range.sheetId !== cmd.sheetId && range.invalidSheetName !== cmd.sheetName) {
|
|
20081
|
-
return { changeType: "NONE" };
|
|
20091
|
+
return { changeType: "NONE", range };
|
|
20082
20092
|
}
|
|
20083
20093
|
const invalidSheetName = cmd.sheetName;
|
|
20084
20094
|
range = {
|
|
@@ -20105,14 +20115,14 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
20105
20115
|
const newRange = { ...range, sheetId, invalidSheetName };
|
|
20106
20116
|
return { changeType: "CHANGE", range: newRange };
|
|
20107
20117
|
}
|
|
20108
|
-
return { changeType: "NONE" };
|
|
20118
|
+
return { changeType: "NONE", range };
|
|
20109
20119
|
};
|
|
20110
20120
|
}
|
|
20111
20121
|
function getApplyRangeChangeMoveRange(cmd) {
|
|
20112
20122
|
const originZone = cmd.target[0];
|
|
20113
20123
|
return (range) => {
|
|
20114
20124
|
if (range.sheetId !== cmd.sheetId || !isZoneInside(range.zone, originZone)) {
|
|
20115
|
-
return { changeType: "NONE" };
|
|
20125
|
+
return { changeType: "NONE", range };
|
|
20116
20126
|
}
|
|
20117
20127
|
const targetSheetId = cmd.targetSheetId;
|
|
20118
20128
|
const offsetX = cmd.col - originZone.left;
|
|
@@ -20233,11 +20243,20 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
20233
20243
|
/**
|
|
20234
20244
|
* Get the default height of the cell given its style.
|
|
20235
20245
|
*/
|
|
20236
|
-
function getDefaultCellHeight(ctx, cell, style, colSize) {
|
|
20246
|
+
function getDefaultCellHeight(ctx, cell, style, locale, colSize) {
|
|
20237
20247
|
if (!cell || (!cell.isFormula && !cell.content)) {
|
|
20238
20248
|
return DEFAULT_CELL_HEIGHT;
|
|
20239
20249
|
}
|
|
20240
|
-
|
|
20250
|
+
let content = "";
|
|
20251
|
+
try {
|
|
20252
|
+
if (!cell.isFormula) {
|
|
20253
|
+
const localeFormat = { format: cell.format, locale };
|
|
20254
|
+
content = formatValue(parseLiteral(cell.content, locale), localeFormat);
|
|
20255
|
+
}
|
|
20256
|
+
}
|
|
20257
|
+
catch {
|
|
20258
|
+
content = CellErrorType.GenericError;
|
|
20259
|
+
}
|
|
20241
20260
|
return getCellContentHeight(ctx, content, style, colSize);
|
|
20242
20261
|
}
|
|
20243
20262
|
function getCellContentHeight(ctx, content, style, colSize) {
|
|
@@ -21104,7 +21123,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
21104
21123
|
continue;
|
|
21105
21124
|
}
|
|
21106
21125
|
const sheetXC = tokens[tokenIdx].value;
|
|
21107
|
-
const newSheetXC = adaptStringRange(defaultSheetId, sheetXC, applyChange);
|
|
21126
|
+
const newSheetXC = adaptStringRange(defaultSheetId, sheetXC, applyChange).range;
|
|
21108
21127
|
if (sheetXC !== newSheetXC) {
|
|
21109
21128
|
tokens[tokenIdx] = {
|
|
21110
21129
|
value: newSheetXC,
|
|
@@ -21114,23 +21133,30 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
21114
21133
|
}
|
|
21115
21134
|
return concat$1(tokens.map((token) => token.value));
|
|
21116
21135
|
}
|
|
21117
|
-
function adaptStringRange(defaultSheetId, sheetXC,
|
|
21136
|
+
function adaptStringRange(defaultSheetId, sheetXC, rangeAdapter) {
|
|
21118
21137
|
const sheetName = splitReference(sheetXC).sheetName;
|
|
21119
21138
|
if (sheetName
|
|
21120
|
-
? !isSheetNameEqual(sheetName,
|
|
21121
|
-
: defaultSheetId !==
|
|
21122
|
-
return sheetXC;
|
|
21139
|
+
? !isSheetNameEqual(sheetName, rangeAdapter.sheetName.old)
|
|
21140
|
+
: defaultSheetId !== rangeAdapter.sheetId) {
|
|
21141
|
+
return { changeType: "NONE", range: sheetXC };
|
|
21123
21142
|
}
|
|
21124
|
-
const sheetId = sheetName ?
|
|
21143
|
+
const sheetId = sheetName ? rangeAdapter.sheetId : defaultSheetId;
|
|
21125
21144
|
const range = getRange(sheetXC, sheetId);
|
|
21126
21145
|
if (range.invalidXc) {
|
|
21127
|
-
return sheetXC;
|
|
21146
|
+
return { changeType: "NONE", range: sheetXC };
|
|
21128
21147
|
}
|
|
21129
|
-
const change =
|
|
21148
|
+
const change = rangeAdapter.applyChange(range);
|
|
21130
21149
|
if (change.changeType === "NONE" || change.changeType === "REMOVE") {
|
|
21131
|
-
return sheetXC;
|
|
21150
|
+
return { changeType: change.changeType, range: sheetXC };
|
|
21132
21151
|
}
|
|
21133
|
-
|
|
21152
|
+
const rangeStr = getRangeString(change.range, defaultSheetId, getSheetNameGetter(rangeAdapter));
|
|
21153
|
+
if (rangeStr === CellErrorType.InvalidReference) {
|
|
21154
|
+
return { changeType: "REMOVE", range: rangeStr };
|
|
21155
|
+
}
|
|
21156
|
+
return {
|
|
21157
|
+
changeType: change.changeType,
|
|
21158
|
+
range: rangeStr,
|
|
21159
|
+
};
|
|
21134
21160
|
}
|
|
21135
21161
|
function getSheetNameGetter(applyChange) {
|
|
21136
21162
|
return (sheetId) => {
|
|
@@ -21235,8 +21261,6 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
21235
21261
|
}
|
|
21236
21262
|
const change = applyChange(range);
|
|
21237
21263
|
switch (change.changeType) {
|
|
21238
|
-
case "NONE":
|
|
21239
|
-
return range;
|
|
21240
21264
|
case "REMOVE":
|
|
21241
21265
|
return undefined;
|
|
21242
21266
|
default:
|
|
@@ -21388,16 +21412,16 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
21388
21412
|
function transformChartDefinitionWithDataSetsWithZone(chartSheetId, definition, applyChange) {
|
|
21389
21413
|
let labelRange;
|
|
21390
21414
|
if (definition.labelRange) {
|
|
21391
|
-
const adaptedRange = adaptStringRange(chartSheetId, definition.labelRange, applyChange);
|
|
21392
|
-
if (
|
|
21415
|
+
const { changeType, range: adaptedRange } = adaptStringRange(chartSheetId, definition.labelRange, applyChange);
|
|
21416
|
+
if (changeType !== "REMOVE") {
|
|
21393
21417
|
labelRange = adaptedRange;
|
|
21394
21418
|
}
|
|
21395
21419
|
}
|
|
21396
21420
|
const dataSets = [];
|
|
21397
21421
|
for (const dataSet of definition.dataSets) {
|
|
21398
21422
|
const newDataSet = { ...dataSet };
|
|
21399
|
-
const adaptedRange = adaptStringRange(chartSheetId, dataSet.dataRange, applyChange);
|
|
21400
|
-
if (
|
|
21423
|
+
const { changeType, range: adaptedRange } = adaptStringRange(chartSheetId, dataSet.dataRange, applyChange);
|
|
21424
|
+
if (changeType !== "REMOVE") {
|
|
21401
21425
|
newDataSet.dataRange = adaptedRange;
|
|
21402
21426
|
dataSets.push(newDataSet);
|
|
21403
21427
|
}
|
|
@@ -31891,7 +31915,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
31891
31915
|
cmd.cf.rule = {
|
|
31892
31916
|
...rule,
|
|
31893
31917
|
rangeValues: rule.rangeValues
|
|
31894
|
-
? adaptStringRange(cmd.sheetId, rule.rangeValues, applyChange)
|
|
31918
|
+
? adaptStringRange(cmd.sheetId, rule.rangeValues, applyChange).range
|
|
31895
31919
|
: undefined,
|
|
31896
31920
|
};
|
|
31897
31921
|
}
|
|
@@ -34513,6 +34537,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
34513
34537
|
: undefined,
|
|
34514
34538
|
wrapText: style.wrapping === "wrap" || content?.includes(NEWLINE) ? true : undefined,
|
|
34515
34539
|
textRotation: style.rotation ? rotationToXLSX(style.rotation) : undefined,
|
|
34540
|
+
shrinkToFit: style.wrapping === "clip" ? true : undefined,
|
|
34516
34541
|
},
|
|
34517
34542
|
};
|
|
34518
34543
|
styles.font["strike"] = !!style?.strikethrough || undefined;
|
|
@@ -34557,6 +34582,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
34557
34582
|
horizontal: styles.alignment.horizontal,
|
|
34558
34583
|
wrapText: styles.alignment.wrapText,
|
|
34559
34584
|
textRotation: styles.alignment.textRotation,
|
|
34585
|
+
shrinkToFit: styles.alignment.shrinkToFit,
|
|
34560
34586
|
},
|
|
34561
34587
|
};
|
|
34562
34588
|
return pushElement(style, construct.styles);
|
|
@@ -38844,7 +38870,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
38844
38870
|
* @param sheetId an sheetId to adapt either range of that sheet specifically, or ranges pointing to that sheet
|
|
38845
38871
|
* @param sheetName couple of old and new sheet names to adapt ranges pointing to that sheet
|
|
38846
38872
|
*/
|
|
38847
|
-
adaptRanges(
|
|
38873
|
+
adaptRanges(rangeAdapterFunctions, sheetId, sheetName) { }
|
|
38848
38874
|
}
|
|
38849
38875
|
|
|
38850
38876
|
class BordersPlugin extends CorePlugin {
|
|
@@ -38918,7 +38944,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
38918
38944
|
}
|
|
38919
38945
|
}
|
|
38920
38946
|
}
|
|
38921
|
-
adaptRanges(applyChange, sheetId) {
|
|
38947
|
+
adaptRanges({ applyChange }, sheetId) {
|
|
38922
38948
|
const newBorders = [];
|
|
38923
38949
|
for (const border of this.borders[sheetId] ?? []) {
|
|
38924
38950
|
const change = applyChange(this.getters.getRangeFromZone(sheetId, border.zone));
|
|
@@ -39399,7 +39425,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
39399
39425
|
];
|
|
39400
39426
|
nextId = 1;
|
|
39401
39427
|
cells = {};
|
|
39402
|
-
adaptRanges(applyChange, sheetId, sheetName) {
|
|
39428
|
+
adaptRanges({ applyChange }, sheetId, sheetName) {
|
|
39403
39429
|
for (const sheet of Object.keys(this.cells)) {
|
|
39404
39430
|
for (const cell of Object.values(this.cells[sheet] || {})) {
|
|
39405
39431
|
if (cell.isFormula) {
|
|
@@ -39960,12 +39986,12 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
39960
39986
|
charts = {};
|
|
39961
39987
|
createChart = chartFactory(this.getters);
|
|
39962
39988
|
validateChartDefinition = (cmd) => validateChartDefinition(this, cmd.definition);
|
|
39963
|
-
adaptRanges(
|
|
39989
|
+
adaptRanges(rangeAdapters) {
|
|
39964
39990
|
for (const [chartId, chart] of Object.entries(this.charts)) {
|
|
39965
39991
|
if (!chart) {
|
|
39966
39992
|
continue;
|
|
39967
39993
|
}
|
|
39968
|
-
const newChart = chart.chart.updateRanges(
|
|
39994
|
+
const newChart = chart.chart.updateRanges(rangeAdapters);
|
|
39969
39995
|
this.history.update("charts", chartId, newChart ? { figureId: chart.figureId, chart: newChart } : undefined);
|
|
39970
39996
|
}
|
|
39971
39997
|
}
|
|
@@ -40786,7 +40812,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
40786
40812
|
"getAdaptedCfRanges",
|
|
40787
40813
|
];
|
|
40788
40814
|
cfRules = {};
|
|
40789
|
-
adaptCFFormulas(applyChange) {
|
|
40815
|
+
adaptCFFormulas({ applyChange, adaptFormulaString }) {
|
|
40790
40816
|
for (const sheetId in this.cfRules) {
|
|
40791
40817
|
for (const rule of this.cfRules[sheetId]) {
|
|
40792
40818
|
if (rule.rule.type === "DataBarRule" && rule.rule.rangeValues) {
|
|
@@ -40810,7 +40836,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
40810
40836
|
for (let i = 0; i < rule.rule.values.length; i++) {
|
|
40811
40837
|
this.history.update("cfRules", sheetId, this.cfRules[sheetId].indexOf(rule), "rule",
|
|
40812
40838
|
//@ts-expect-error
|
|
40813
|
-
"values", i,
|
|
40839
|
+
"values", i, adaptFormulaString(sheetId, rule.rule.values[i]));
|
|
40814
40840
|
}
|
|
40815
40841
|
}
|
|
40816
40842
|
else if (rule.rule.type === "IconSetRule") {
|
|
@@ -40818,7 +40844,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
40818
40844
|
if (rule.rule[inflectionPoint].type === "formula") {
|
|
40819
40845
|
this.history.update("cfRules", sheetId, this.cfRules[sheetId].indexOf(rule), "rule",
|
|
40820
40846
|
//@ts-expect-error
|
|
40821
|
-
inflectionPoint, "value",
|
|
40847
|
+
inflectionPoint, "value", adaptFormulaString(sheetId, rule.rule[inflectionPoint].value));
|
|
40822
40848
|
}
|
|
40823
40849
|
}
|
|
40824
40850
|
}
|
|
@@ -40828,14 +40854,14 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
40828
40854
|
if (ruleValue?.type === "formula" && ruleValue?.value) {
|
|
40829
40855
|
this.history.update("cfRules", sheetId, this.cfRules[sheetId].indexOf(rule), "rule",
|
|
40830
40856
|
//@ts-expect-error
|
|
40831
|
-
value, "value",
|
|
40857
|
+
value, "value", adaptFormulaString(sheetId, ruleValue.value));
|
|
40832
40858
|
}
|
|
40833
40859
|
}
|
|
40834
40860
|
}
|
|
40835
40861
|
}
|
|
40836
40862
|
}
|
|
40837
40863
|
}
|
|
40838
|
-
adaptCFRanges(sheetId, applyChange) {
|
|
40864
|
+
adaptCFRanges(sheetId, { applyChange }) {
|
|
40839
40865
|
for (const rule of this.cfRules[sheetId]) {
|
|
40840
40866
|
for (const range of rule.ranges) {
|
|
40841
40867
|
const change = applyChange(range);
|
|
@@ -40859,12 +40885,12 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
40859
40885
|
}
|
|
40860
40886
|
}
|
|
40861
40887
|
}
|
|
40862
|
-
adaptRanges(
|
|
40888
|
+
adaptRanges(rangeAdapters, sheetId) {
|
|
40863
40889
|
const sheetIds = sheetId ? [sheetId] : Object.keys(this.cfRules);
|
|
40864
40890
|
for (const sheetId of sheetIds) {
|
|
40865
|
-
this.adaptCFRanges(sheetId,
|
|
40891
|
+
this.adaptCFRanges(sheetId, rangeAdapters);
|
|
40866
40892
|
}
|
|
40867
|
-
this.adaptCFFormulas(
|
|
40893
|
+
this.adaptCFFormulas(rangeAdapters);
|
|
40868
40894
|
}
|
|
40869
40895
|
// ---------------------------------------------------------------------------
|
|
40870
40896
|
// Command Handling
|
|
@@ -41241,23 +41267,23 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
41241
41267
|
"getValidationRuleForCell",
|
|
41242
41268
|
];
|
|
41243
41269
|
rules = {};
|
|
41244
|
-
adaptRanges(
|
|
41245
|
-
this.adaptDVRanges(sheetId,
|
|
41246
|
-
this.adaptDVFormulas(
|
|
41270
|
+
adaptRanges(rangeAdapters, sheetId) {
|
|
41271
|
+
this.adaptDVRanges(sheetId, rangeAdapters);
|
|
41272
|
+
this.adaptDVFormulas(rangeAdapters);
|
|
41247
41273
|
}
|
|
41248
|
-
adaptDVFormulas(
|
|
41274
|
+
adaptDVFormulas({ adaptFormulaString }) {
|
|
41249
41275
|
for (const sheetId in this.rules) {
|
|
41250
41276
|
const rules = this.rules[sheetId];
|
|
41251
41277
|
for (let ruleIndex = rules.length - 1; ruleIndex >= 0; ruleIndex--) {
|
|
41252
41278
|
const rule = this.rules[sheetId][ruleIndex];
|
|
41253
41279
|
for (let valueIndex = 0; valueIndex < rule.criterion.values.length; valueIndex++) {
|
|
41254
|
-
const value =
|
|
41280
|
+
const value = adaptFormulaString(sheetId, rule.criterion.values[valueIndex]);
|
|
41255
41281
|
this.history.update("rules", sheetId, ruleIndex, "criterion", "values", valueIndex, value);
|
|
41256
41282
|
}
|
|
41257
41283
|
}
|
|
41258
41284
|
}
|
|
41259
41285
|
}
|
|
41260
|
-
adaptDVRanges(sheetId, applyChange) {
|
|
41286
|
+
adaptDVRanges(sheetId, { applyChange }) {
|
|
41261
41287
|
const rules = this.rules[sheetId];
|
|
41262
41288
|
for (let ruleIndex = rules.length - 1; ruleIndex >= 0; ruleIndex--) {
|
|
41263
41289
|
const rule = this.rules[sheetId][ruleIndex];
|
|
@@ -41531,7 +41557,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
41531
41557
|
// ---------------------------------------------------------------------------
|
|
41532
41558
|
// Command Handling
|
|
41533
41559
|
// ---------------------------------------------------------------------------
|
|
41534
|
-
adaptRanges(applyChange, sheetId) {
|
|
41560
|
+
adaptRanges({ applyChange }, sheetId) {
|
|
41535
41561
|
for (const figure of this.getFigures(sheetId)) {
|
|
41536
41562
|
const change = applyChange(this.getters.getRangeFromZone(sheetId, {
|
|
41537
41563
|
left: figure.col,
|
|
@@ -42771,8 +42797,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
42771
42797
|
break;
|
|
42772
42798
|
}
|
|
42773
42799
|
}
|
|
42774
|
-
adaptRanges(
|
|
42775
|
-
this.applyRangeChangeOnSheet(sheetId,
|
|
42800
|
+
adaptRanges(rangeAdapters, sheetId) {
|
|
42801
|
+
this.applyRangeChangeOnSheet(sheetId, rangeAdapters);
|
|
42776
42802
|
}
|
|
42777
42803
|
// ---------------------------------------------------------------------------
|
|
42778
42804
|
// Getters
|
|
@@ -43072,7 +43098,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
43072
43098
|
/**
|
|
43073
43099
|
* Apply a range change on merges of a particular sheet.
|
|
43074
43100
|
*/
|
|
43075
|
-
applyRangeChangeOnSheet(sheetId, applyChange) {
|
|
43101
|
+
applyRangeChangeOnSheet(sheetId, { applyChange }) {
|
|
43076
43102
|
const merges = Object.entries(this.merges[sheetId] || {});
|
|
43077
43103
|
for (const [mergeId, range] of merges) {
|
|
43078
43104
|
if (range) {
|
|
@@ -44691,8 +44717,6 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
44691
44717
|
}
|
|
44692
44718
|
const change = applyChange(range);
|
|
44693
44719
|
switch (change.changeType) {
|
|
44694
|
-
case "NONE":
|
|
44695
|
-
return range;
|
|
44696
44720
|
case "REMOVE":
|
|
44697
44721
|
return undefined;
|
|
44698
44722
|
default:
|
|
@@ -44801,7 +44825,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
44801
44825
|
}
|
|
44802
44826
|
}
|
|
44803
44827
|
}
|
|
44804
|
-
adaptRanges(applyChange) {
|
|
44828
|
+
adaptRanges({ applyChange, adaptFormulaString }) {
|
|
44805
44829
|
for (const pivotId in this.pivots) {
|
|
44806
44830
|
const definition = deepCopy(this.pivots[pivotId]?.definition);
|
|
44807
44831
|
if (!definition) {
|
|
@@ -44821,19 +44845,13 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
44821
44845
|
continue;
|
|
44822
44846
|
}
|
|
44823
44847
|
const sheetId = measure.computedBy.sheetId;
|
|
44824
|
-
const compiledFormula = this.compiledMeasureFormulas[pivotId][measureId]
|
|
44825
|
-
|
|
44826
|
-
|
|
44827
|
-
|
|
44828
|
-
|
|
44829
|
-
newDependencies.push(range);
|
|
44830
|
-
}
|
|
44831
|
-
else {
|
|
44832
|
-
newDependencies.push(change.range);
|
|
44833
|
-
}
|
|
44834
|
-
}
|
|
44835
|
-
const newFormulaString = this.getters.getFormulaString(sheetId, compiledFormula.tokens, newDependencies);
|
|
44848
|
+
const { formula: compiledFormula, dependencies: indirectDependencies } = this.compiledMeasureFormulas[pivotId][measureId];
|
|
44849
|
+
// adapt direct dependencies
|
|
44850
|
+
this.history.update("compiledMeasureFormulas", pivotId, measureId, "formula", "dependencies", compiledFormula.dependencies.map((range) => applyChange(range).range));
|
|
44851
|
+
// adapt all dependencies (including indirect)
|
|
44852
|
+
this.history.update("compiledMeasureFormulas", pivotId, measure.id, "dependencies", indirectDependencies.map((range) => applyChange(range).range));
|
|
44836
44853
|
const oldFormulaString = measure.computedBy.formula;
|
|
44854
|
+
const newFormulaString = adaptFormulaString(sheetId, oldFormulaString);
|
|
44837
44855
|
if (newFormulaString !== oldFormulaString) {
|
|
44838
44856
|
this.replaceMeasureFormula(pivotId, measure, newFormulaString);
|
|
44839
44857
|
}
|
|
@@ -44995,7 +45013,6 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
44995
45013
|
formula: newFormulaString,
|
|
44996
45014
|
sheetId: measure.computedBy.sheetId,
|
|
44997
45015
|
});
|
|
44998
|
-
this.compileCalculatedMeasures(pivotId, pivot.definition.measures);
|
|
44999
45016
|
}
|
|
45000
45017
|
checkSortedColumnInMeasures(definition) {
|
|
45001
45018
|
const measures = definition.measures.map((measure) => measure.id);
|
|
@@ -46082,7 +46099,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
46082
46099
|
break;
|
|
46083
46100
|
}
|
|
46084
46101
|
}
|
|
46085
|
-
adaptRanges(applyChange, sheetId) {
|
|
46102
|
+
adaptRanges({ applyChange }, sheetId) {
|
|
46086
46103
|
const newStyles = [];
|
|
46087
46104
|
for (const style of this.styles[sheetId] ?? []) {
|
|
46088
46105
|
const change = applyChange(this.getters.getRangeFromZone(sheetId, style.zone));
|
|
@@ -46595,7 +46612,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
46595
46612
|
static getters = ["getCoreTable", "getCoreTables", "getCoreTableMatchingTopLeft"];
|
|
46596
46613
|
tables = {};
|
|
46597
46614
|
nextTableId = 1;
|
|
46598
|
-
adaptRanges(applyChange, sheetId) {
|
|
46615
|
+
adaptRanges({ applyChange }, sheetId) {
|
|
46599
46616
|
for (const table of this.getCoreTables(sheetId)) {
|
|
46600
46617
|
this.applyRangeChangeOnTable(sheetId, table, applyChange);
|
|
46601
46618
|
}
|
|
@@ -48427,11 +48444,16 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
48427
48444
|
return this.arrayFormulasToResults.get(formulasPosition);
|
|
48428
48445
|
}
|
|
48429
48446
|
/**
|
|
48430
|
-
* Remove a
|
|
48447
|
+
* Remove a spreading relation for a given array formula position
|
|
48448
|
+
* and its result zone
|
|
48431
48449
|
*/
|
|
48432
48450
|
removeNode(position) {
|
|
48451
|
+
const resultZone = this.arrayFormulasToResults.get(position);
|
|
48452
|
+
if (!resultZone) {
|
|
48453
|
+
return;
|
|
48454
|
+
}
|
|
48433
48455
|
this.resultsToArrayFormulas.remove({
|
|
48434
|
-
boundingBox: { sheetId: position.sheetId, zone:
|
|
48456
|
+
boundingBox: { sheetId: position.sheetId, zone: resultZone },
|
|
48435
48457
|
data: position,
|
|
48436
48458
|
});
|
|
48437
48459
|
this.arrayFormulasToResults.delete(position);
|
|
@@ -48758,6 +48780,10 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
48758
48780
|
// empty matrix
|
|
48759
48781
|
return createEvaluatedCell({ value: 0 }, this.getters.getLocale(), cellData);
|
|
48760
48782
|
}
|
|
48783
|
+
if (nbRows === 1 && nbColumns === 1) {
|
|
48784
|
+
// single value matrix
|
|
48785
|
+
return createEvaluatedCell(validateNumberValue(formulaReturn[0][0]), this.getters.getLocale(), cellData);
|
|
48786
|
+
}
|
|
48761
48787
|
const resultZone = {
|
|
48762
48788
|
top: formulaPosition.row,
|
|
48763
48789
|
bottom: formulaPosition.row + nbRows - 1,
|
|
@@ -50363,14 +50389,14 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
50363
50389
|
let baseline;
|
|
50364
50390
|
let keyValue;
|
|
50365
50391
|
if (definition.baseline) {
|
|
50366
|
-
const adaptedRange = adaptStringRange(chartSheetId, definition.baseline, applyChange);
|
|
50367
|
-
if (
|
|
50392
|
+
const { changeType, range: adaptedRange } = adaptStringRange(chartSheetId, definition.baseline, applyChange);
|
|
50393
|
+
if (changeType !== "REMOVE") {
|
|
50368
50394
|
baseline = adaptedRange;
|
|
50369
50395
|
}
|
|
50370
50396
|
}
|
|
50371
50397
|
if (definition.keyValue) {
|
|
50372
|
-
const adaptedRange = adaptStringRange(chartSheetId, definition.keyValue, applyChange);
|
|
50373
|
-
if (
|
|
50398
|
+
const { changeType, range: adaptedRange } = adaptStringRange(chartSheetId, definition.keyValue, applyChange);
|
|
50399
|
+
if (changeType !== "REMOVE") {
|
|
50374
50400
|
keyValue = adaptedRange;
|
|
50375
50401
|
}
|
|
50376
50402
|
}
|
|
@@ -50427,7 +50453,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
50427
50453
|
// This kind of graph is not exportable in Excel
|
|
50428
50454
|
return undefined;
|
|
50429
50455
|
}
|
|
50430
|
-
updateRanges(applyChange) {
|
|
50456
|
+
updateRanges({ applyChange }) {
|
|
50431
50457
|
const baseline = adaptChartRange(this.baseline, applyChange);
|
|
50432
50458
|
const keyValue = adaptChartRange(this.keyValue, applyChange);
|
|
50433
50459
|
if (this.baseline === baseline && this.keyValue === keyValue) {
|
|
@@ -50880,15 +50906,15 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
50880
50906
|
if (!extensionsLoaded) {
|
|
50881
50907
|
registerChartJSExtensions();
|
|
50882
50908
|
}
|
|
50883
|
-
|
|
50884
|
-
|
|
50909
|
+
const config = deepCopy(runtime.chartJsConfig);
|
|
50910
|
+
config.plugins = [backgroundColorChartJSPlugin];
|
|
50911
|
+
if (!globalThis.Chart.registry.controllers.get(config.type)) {
|
|
50912
|
+
console.log(`Chart of type "${config.type}" is not registered in Chart.js library.`);
|
|
50885
50913
|
if (!extensionsLoaded) {
|
|
50886
50914
|
unregisterChartJsExtensions();
|
|
50887
50915
|
}
|
|
50888
50916
|
return imageUrl;
|
|
50889
50917
|
}
|
|
50890
|
-
const config = deepCopy(runtime.chartJsConfig);
|
|
50891
|
-
config.plugins = [backgroundColorChartJSPlugin];
|
|
50892
50918
|
const chart = new globalThis.Chart(canvas, config);
|
|
50893
50919
|
try {
|
|
50894
50920
|
imageUrl = await canvasToObjectUrl(canvas);
|
|
@@ -50928,15 +50954,15 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
50928
50954
|
if (!extensionsLoaded) {
|
|
50929
50955
|
registerChartJSExtensions();
|
|
50930
50956
|
}
|
|
50931
|
-
|
|
50932
|
-
|
|
50957
|
+
const config = deepCopy(runtime.chartJsConfig);
|
|
50958
|
+
config.plugins = [backgroundColorChartJSPlugin];
|
|
50959
|
+
if (!globalThis.Chart.registry.controllers.get(config.type)) {
|
|
50960
|
+
console.log(`Chart of type "${config.type}" is not registered in Chart.js library.`);
|
|
50933
50961
|
if (!extensionsLoaded) {
|
|
50934
50962
|
unregisterChartJsExtensions();
|
|
50935
50963
|
}
|
|
50936
50964
|
return chartBlob;
|
|
50937
50965
|
}
|
|
50938
|
-
const config = deepCopy(runtime.chartJsConfig);
|
|
50939
|
-
config.plugins = [backgroundColorChartJSPlugin];
|
|
50940
50966
|
const chart = new globalThis.Chart(canvas, config);
|
|
50941
50967
|
try {
|
|
50942
50968
|
chartBlob = await canvasToBlob(canvas);
|
|
@@ -51601,6 +51627,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
51601
51627
|
handle(cmd) {
|
|
51602
51628
|
switch (cmd.type) {
|
|
51603
51629
|
case "START":
|
|
51630
|
+
case "UPDATE_LOCALE":
|
|
51604
51631
|
for (const sheetId of this.getters.getSheetIds()) {
|
|
51605
51632
|
this.initializeSheet(sheetId);
|
|
51606
51633
|
}
|
|
@@ -51738,7 +51765,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
51738
51765
|
const cell = this.getters.getCell(position);
|
|
51739
51766
|
const style = this.getters.getCellStyle(position);
|
|
51740
51767
|
const colSize = this.getters.getColSize(position.sheetId, position.col);
|
|
51741
|
-
return getDefaultCellHeight(this.ctx, cell, style, colSize);
|
|
51768
|
+
return getDefaultCellHeight(this.ctx, cell, style, this.getters.getLocale(), colSize);
|
|
51742
51769
|
}
|
|
51743
51770
|
isInMultiRowMerge(position) {
|
|
51744
51771
|
const merge = this.getters.getMerge(position);
|
|
@@ -59330,7 +59357,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
59330
59357
|
.add("pivot_ui", PivotUIPlugin)
|
|
59331
59358
|
.add("cell_icon", CellIconPlugin);
|
|
59332
59359
|
|
|
59333
|
-
class
|
|
59360
|
+
class RangeAdapterPlugin {
|
|
59334
59361
|
getters;
|
|
59335
59362
|
providers = [];
|
|
59336
59363
|
isAdaptingRanges = false;
|
|
@@ -59338,7 +59365,6 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
59338
59365
|
this.getters = getters;
|
|
59339
59366
|
}
|
|
59340
59367
|
static getters = [
|
|
59341
|
-
"adaptFormulaStringDependencies",
|
|
59342
59368
|
"copyFormulaStringForSheet",
|
|
59343
59369
|
"extendRange",
|
|
59344
59370
|
"getRangeString",
|
|
@@ -59369,8 +59395,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
59369
59395
|
throw new Error("Plugins cannot dispatch commands during adaptRanges phase");
|
|
59370
59396
|
}
|
|
59371
59397
|
const rangeAdapter = getRangeAdapter(cmd);
|
|
59372
|
-
if (rangeAdapter
|
|
59373
|
-
this.executeOnAllRanges(rangeAdapter
|
|
59398
|
+
if (rangeAdapter) {
|
|
59399
|
+
this.executeOnAllRanges(rangeAdapter);
|
|
59374
59400
|
}
|
|
59375
59401
|
}
|
|
59376
59402
|
finalize() { }
|
|
@@ -59389,11 +59415,15 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
59389
59415
|
return result;
|
|
59390
59416
|
};
|
|
59391
59417
|
}
|
|
59392
|
-
executeOnAllRanges(
|
|
59418
|
+
executeOnAllRanges(rangeAdapter) {
|
|
59393
59419
|
this.isAdaptingRanges = true;
|
|
59394
|
-
const
|
|
59420
|
+
const adapterFunctions = {
|
|
59421
|
+
applyChange: this.verifyRangeRemoved(rangeAdapter.applyChange),
|
|
59422
|
+
adaptRangeString: (defaultSheetId, sheetXC) => adaptStringRange(defaultSheetId, sheetXC, rangeAdapter),
|
|
59423
|
+
adaptFormulaString: (defaultSheetId, formula) => adaptFormulaStringRanges(defaultSheetId, formula, rangeAdapter),
|
|
59424
|
+
};
|
|
59395
59425
|
for (const provider of this.providers) {
|
|
59396
|
-
provider(
|
|
59426
|
+
provider(adapterFunctions, rangeAdapter.sheetId, rangeAdapter.sheetName);
|
|
59397
59427
|
}
|
|
59398
59428
|
this.isAdaptingRanges = false;
|
|
59399
59429
|
}
|
|
@@ -59561,18 +59591,6 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
59561
59591
|
const unionOfZones = unionUnboundedZones(...zones);
|
|
59562
59592
|
return this.getRangeFromZone(ranges[0].sheetId, unionOfZones);
|
|
59563
59593
|
}
|
|
59564
|
-
adaptFormulaStringDependencies(sheetId, formula, applyChange) {
|
|
59565
|
-
if (!formula.startsWith("=")) {
|
|
59566
|
-
return formula;
|
|
59567
|
-
}
|
|
59568
|
-
const compiledFormula = compile(formula);
|
|
59569
|
-
const updatedDependencies = compiledFormula.dependencies.map((dep) => {
|
|
59570
|
-
const range = this.getters.getRangeFromSheetXC(sheetId, dep);
|
|
59571
|
-
const changedRange = applyChange(range);
|
|
59572
|
-
return changedRange.changeType === "NONE" ? range : changedRange.range;
|
|
59573
|
-
});
|
|
59574
|
-
return this.getters.getFormulaString(sheetId, compiledFormula.tokens, updatedDependencies);
|
|
59575
|
-
}
|
|
59576
59594
|
/**
|
|
59577
59595
|
* Copy a formula string to another sheet.
|
|
59578
59596
|
*
|
|
@@ -62017,6 +62035,9 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
62017
62035
|
if (style.alignment && style.alignment.textRotation) {
|
|
62018
62036
|
alignAttrs.push(["textRotation", style.alignment.textRotation]);
|
|
62019
62037
|
}
|
|
62038
|
+
if (style.alignment && style.alignment.shrinkToFit) {
|
|
62039
|
+
alignAttrs.push(["shrinkToFit", "1"]);
|
|
62040
|
+
}
|
|
62020
62041
|
if (alignAttrs.length > 0) {
|
|
62021
62042
|
attributes.push(["applyAlignment", "1"]); // for Libre Office
|
|
62022
62043
|
styleNodes.push(escapeXml /*xml*/ `<xf ${formatAttributes(attributes)}><alignment ${formatAttributes(alignAttrs)} /></xf> `);
|
|
@@ -62811,7 +62832,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
62811
62832
|
this.config = this.setupConfig(config);
|
|
62812
62833
|
this.session = this.setupSession(workbookData.revisionId);
|
|
62813
62834
|
this.coreGetters = {};
|
|
62814
|
-
this.range = new
|
|
62835
|
+
this.range = new RangeAdapterPlugin(this.coreGetters);
|
|
62815
62836
|
this.coreGetters.getRangeString = this.range.getRangeString.bind(this.range);
|
|
62816
62837
|
this.coreGetters.getRangeFromSheetXC = this.range.getRangeFromSheetXC.bind(this.range);
|
|
62817
62838
|
this.coreGetters.createAdaptedRanges = this.range.createAdaptedRanges.bind(this.range);
|
|
@@ -62825,8 +62846,6 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
62825
62846
|
this.coreGetters.extendRange = this.range.extendRange.bind(this.range);
|
|
62826
62847
|
this.coreGetters.getRangesUnion = this.range.getRangesUnion.bind(this.range);
|
|
62827
62848
|
this.coreGetters.removeRangesSheetPrefix = this.range.removeRangesSheetPrefix.bind(this.range);
|
|
62828
|
-
this.coreGetters.adaptFormulaStringDependencies =
|
|
62829
|
-
this.range.adaptFormulaStringDependencies.bind(this.range);
|
|
62830
62849
|
this.coreGetters.copyFormulaStringForSheet = this.range.copyFormulaStringForSheet.bind(this.range);
|
|
62831
62850
|
this.getters = {
|
|
62832
62851
|
isReadonly: () => this.config.mode === "readonly" || this.config.mode === "dashboard",
|
|
@@ -66954,7 +66973,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
66954
66973
|
verticalAxis: getDefinedAxis(definition),
|
|
66955
66974
|
};
|
|
66956
66975
|
}
|
|
66957
|
-
updateRanges(applyChange) {
|
|
66976
|
+
updateRanges({ applyChange }) {
|
|
66958
66977
|
const { dataSets, labelRange, isStale } = updateChartRangesWithDataSets(this.getters, applyChange, this.dataSets, this.labelRange);
|
|
66959
66978
|
if (!isStale) {
|
|
66960
66979
|
return this;
|
|
@@ -67065,8 +67084,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
67065
67084
|
static transformDefinition(chartSheetId, definition, applyChange) {
|
|
67066
67085
|
let dataRange;
|
|
67067
67086
|
if (definition.dataRange) {
|
|
67068
|
-
const adaptedRange = adaptStringRange(chartSheetId, definition.dataRange, applyChange);
|
|
67069
|
-
if (
|
|
67087
|
+
const { changeType, range: adaptedRange } = adaptStringRange(chartSheetId, definition.dataRange, applyChange);
|
|
67088
|
+
if (changeType !== "REMOVE") {
|
|
67070
67089
|
dataRange = adaptedRange;
|
|
67071
67090
|
}
|
|
67072
67091
|
}
|
|
@@ -67143,13 +67162,9 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
67143
67162
|
: undefined,
|
|
67144
67163
|
};
|
|
67145
67164
|
}
|
|
67146
|
-
updateRanges(applyChange,
|
|
67165
|
+
updateRanges({ applyChange, adaptFormulaString }) {
|
|
67147
67166
|
const dataRange = adaptChartRange(this.dataRange, applyChange);
|
|
67148
|
-
const adaptFormula = (formula) =>
|
|
67149
|
-
applyChange,
|
|
67150
|
-
sheetId,
|
|
67151
|
-
sheetName: adaptSheetName,
|
|
67152
|
-
});
|
|
67167
|
+
const adaptFormula = (formula) => adaptFormulaString(this.sheetId, formula);
|
|
67153
67168
|
const sectionRule = adaptSectionRuleFormulas(this.sectionRule, adaptFormula);
|
|
67154
67169
|
const definition = this.getDefinitionWithSpecificRanges(dataRange, sectionRule);
|
|
67155
67170
|
return new GaugeChart(definition, this.sheetId, this.getters);
|
|
@@ -67391,7 +67406,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
67391
67406
|
: undefined,
|
|
67392
67407
|
};
|
|
67393
67408
|
}
|
|
67394
|
-
updateRanges(applyChange) {
|
|
67409
|
+
updateRanges({ applyChange }) {
|
|
67395
67410
|
const { dataSets, labelRange, isStale } = updateChartRangesWithDataSets(this.getters, applyChange, this.dataSets, this.labelRange);
|
|
67396
67411
|
if (!isStale) {
|
|
67397
67412
|
return this;
|
|
@@ -67548,7 +67563,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
67548
67563
|
labelRange,
|
|
67549
67564
|
};
|
|
67550
67565
|
}
|
|
67551
|
-
updateRanges(applyChange) {
|
|
67566
|
+
updateRanges({ applyChange }) {
|
|
67552
67567
|
const { dataSets, labelRange, isStale } = updateChartRangesWithDataSets(this.getters, applyChange, this.dataSets, this.labelRange);
|
|
67553
67568
|
if (!isStale) {
|
|
67554
67569
|
return this;
|
|
@@ -67713,7 +67728,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
67713
67728
|
// TODO: implement export excel
|
|
67714
67729
|
return undefined;
|
|
67715
67730
|
}
|
|
67716
|
-
updateRanges(applyChange) {
|
|
67731
|
+
updateRanges({ applyChange }) {
|
|
67717
67732
|
const { dataSets, labelRange, isStale } = updateChartRangesWithDataSets(this.getters, applyChange, this.dataSets, this.labelRange);
|
|
67718
67733
|
if (!isStale) {
|
|
67719
67734
|
return this;
|
|
@@ -72089,7 +72104,6 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
72089
72104
|
});
|
|
72090
72105
|
}
|
|
72091
72106
|
handleEvent(event) {
|
|
72092
|
-
this.hideHelp();
|
|
72093
72107
|
const sheetId = this.getters.getActiveSheetId();
|
|
72094
72108
|
let unboundedZone;
|
|
72095
72109
|
if (event.options.unbounded) {
|
|
@@ -72411,6 +72425,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
72411
72425
|
this.colorIndexByRange = {};
|
|
72412
72426
|
this.hoveredTokens = [];
|
|
72413
72427
|
this.hoveredContentEvaluation = "";
|
|
72428
|
+
this.hideHelp();
|
|
72414
72429
|
}
|
|
72415
72430
|
/**
|
|
72416
72431
|
* Reset the current content to the active cell content
|
|
@@ -84437,7 +84452,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
84437
84452
|
});
|
|
84438
84453
|
dataRange = this.props.definition.dataRange;
|
|
84439
84454
|
get configurationErrorMessages() {
|
|
84440
|
-
const cancelledReasons = [...(this.state.dataRangeDispatchResult?.reasons || [])];
|
|
84455
|
+
const cancelledReasons = [...(this.state.dataRangeDispatchResult?.reasons || [])].filter((reason) => reason !== "NoChanges" /* CommandResult.NoChanges */);
|
|
84441
84456
|
return cancelledReasons.map((error) => ChartTerms.Errors[error] || ChartTerms.Errors.Unexpected);
|
|
84442
84457
|
}
|
|
84443
84458
|
get isDataRangeInvalid() {
|
|
@@ -84479,7 +84494,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
84479
84494
|
});
|
|
84480
84495
|
}
|
|
84481
84496
|
get designErrorMessages() {
|
|
84482
|
-
const cancelledReasons = [...(this.state.sectionRuleCancelledReasons || [])];
|
|
84497
|
+
const cancelledReasons = [...(this.state.sectionRuleCancelledReasons || [])].filter((reason) => reason !== "NoChanges" /* CommandResult.NoChanges */);
|
|
84483
84498
|
return cancelledReasons.map((error) => ChartTerms.Errors[error] || ChartTerms.Errors.Unexpected);
|
|
84484
84499
|
}
|
|
84485
84500
|
get isRangeMinInvalid() {
|
|
@@ -84855,7 +84870,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
84855
84870
|
: undefined,
|
|
84856
84871
|
};
|
|
84857
84872
|
}
|
|
84858
|
-
updateRanges(applyChange) {
|
|
84873
|
+
updateRanges({ applyChange }) {
|
|
84859
84874
|
const { dataSets, labelRange, isStale } = updateChartRangesWithDataSets(this.getters, applyChange, this.dataSets, this.labelRange);
|
|
84860
84875
|
if (!isStale) {
|
|
84861
84876
|
return this;
|
|
@@ -84960,7 +84975,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
84960
84975
|
const cancelledReasons = [
|
|
84961
84976
|
...(this.state.keyValueDispatchResult?.reasons || []),
|
|
84962
84977
|
...(this.state.baselineDispatchResult?.reasons || []),
|
|
84963
|
-
];
|
|
84978
|
+
].filter((reason) => reason !== "NoChanges" /* CommandResult.NoChanges */);
|
|
84964
84979
|
return cancelledReasons.map((error) => ChartTerms.Errors[error] || ChartTerms.Errors.Unexpected);
|
|
84965
84980
|
}
|
|
84966
84981
|
get isKeyValueInvalid() {
|
|
@@ -95474,7 +95489,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
95474
95489
|
getDefinitionForExcel() {
|
|
95475
95490
|
return undefined;
|
|
95476
95491
|
}
|
|
95477
|
-
updateRanges(applyChange) {
|
|
95492
|
+
updateRanges({ applyChange }) {
|
|
95478
95493
|
const { dataSets, labelRange, isStale } = updateChartRangesWithDataSets(this.getters, applyChange, this.dataSets, this.labelRange);
|
|
95479
95494
|
if (!isStale) {
|
|
95480
95495
|
return this;
|
|
@@ -95602,7 +95617,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
95602
95617
|
verticalAxis: getDefinedAxis(definition),
|
|
95603
95618
|
};
|
|
95604
95619
|
}
|
|
95605
|
-
updateRanges(applyChange) {
|
|
95620
|
+
updateRanges({ applyChange }) {
|
|
95606
95621
|
const { dataSets, labelRange, isStale } = updateChartRangesWithDataSets(this.getters, applyChange, this.dataSets, this.labelRange);
|
|
95607
95622
|
if (!isStale) {
|
|
95608
95623
|
return this;
|
|
@@ -95778,7 +95793,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
95778
95793
|
getDefinitionForExcel() {
|
|
95779
95794
|
return undefined;
|
|
95780
95795
|
}
|
|
95781
|
-
updateRanges(applyChange) {
|
|
95796
|
+
updateRanges({ applyChange }) {
|
|
95782
95797
|
const { dataSets, labelRange, isStale } = updateChartRangesWithDataSets(this.getters, applyChange, this.dataSets, this.labelRange);
|
|
95783
95798
|
if (!isStale) {
|
|
95784
95799
|
return this;
|
|
@@ -95909,7 +95924,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
95909
95924
|
getDefinitionForExcel() {
|
|
95910
95925
|
return undefined;
|
|
95911
95926
|
}
|
|
95912
|
-
updateRanges(applyChange) {
|
|
95927
|
+
updateRanges({ applyChange }) {
|
|
95913
95928
|
const { dataSets, labelRange, isStale } = updateChartRangesWithDataSets(this.getters, applyChange, this.dataSets, this.labelRange);
|
|
95914
95929
|
if (!isStale) {
|
|
95915
95930
|
return this;
|
|
@@ -96060,7 +96075,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
96060
96075
|
maxValue,
|
|
96061
96076
|
};
|
|
96062
96077
|
}
|
|
96063
|
-
updateRanges(applyChange) {
|
|
96078
|
+
updateRanges({ applyChange }) {
|
|
96064
96079
|
const { dataSets, labelRange, isStale } = updateChartRangesWithDataSets(this.getters, applyChange, this.dataSets, this.labelRange);
|
|
96065
96080
|
if (!isStale) {
|
|
96066
96081
|
return this;
|
|
@@ -96210,7 +96225,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
96210
96225
|
labelRange,
|
|
96211
96226
|
};
|
|
96212
96227
|
}
|
|
96213
|
-
updateRanges(applyChange) {
|
|
96228
|
+
updateRanges({ applyChange }) {
|
|
96214
96229
|
const { dataSets, labelRange, isStale } = updateChartRangesWithDataSets(this.getters, applyChange, this.dataSets, this.labelRange);
|
|
96215
96230
|
if (!isStale) {
|
|
96216
96231
|
return this;
|
|
@@ -96347,7 +96362,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
96347
96362
|
getDefinitionForExcel() {
|
|
96348
96363
|
return undefined;
|
|
96349
96364
|
}
|
|
96350
|
-
updateRanges(applyChange) {
|
|
96365
|
+
updateRanges({ applyChange }) {
|
|
96351
96366
|
const { dataSets, labelRange, isStale } = updateChartRangesWithDataSets(this.getters, applyChange, this.dataSets, this.labelRange);
|
|
96352
96367
|
if (!isStale) {
|
|
96353
96368
|
return this;
|
|
@@ -96497,7 +96512,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
96497
96512
|
getDefinitionForExcel() {
|
|
96498
96513
|
return undefined;
|
|
96499
96514
|
}
|
|
96500
|
-
updateRanges(applyChange) {
|
|
96515
|
+
updateRanges({ applyChange }) {
|
|
96501
96516
|
const { dataSets, labelRange, isStale } = updateChartRangesWithDataSets(this.getters, applyChange, this.dataSets, this.labelRange);
|
|
96502
96517
|
if (!isStale) {
|
|
96503
96518
|
return this;
|
|
@@ -98087,9 +98102,9 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
98087
98102
|
exports.tokenize = tokenize;
|
|
98088
98103
|
|
|
98089
98104
|
|
|
98090
|
-
__info__.version = "19.1.
|
|
98091
|
-
__info__.date = "2026-01-
|
|
98092
|
-
__info__.hash = "
|
|
98105
|
+
__info__.version = "19.1.4";
|
|
98106
|
+
__info__.date = "2026-01-21T11:07:17.372Z";
|
|
98107
|
+
__info__.hash = "ceae12a";
|
|
98093
98108
|
|
|
98094
98109
|
|
|
98095
98110
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|