@odoo/o-spreadsheet 17.0.75 → 17.0.77
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 +28 -17
- package/dist/o-spreadsheet.esm.js +28 -17
- package/dist/o-spreadsheet.iife.js +28 -17
- package/dist/o-spreadsheet.iife.min.js +6 -6
- package/dist/o_spreadsheet.xml +3 -3
- package/package.json +2 -2
|
@@ -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.0.
|
|
6
|
-
* @date 2025-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 17.0.77
|
|
6
|
+
* @date 2025-11-12T14:14:11.932Z
|
|
7
|
+
* @hash 789de5e
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
'use strict';
|
|
@@ -2284,7 +2284,17 @@ function tryCastAsNumberMatrix(data, argName) {
|
|
|
2284
2284
|
data.forEach((row) => {
|
|
2285
2285
|
row.forEach((cell) => {
|
|
2286
2286
|
if (typeof cell !== "number") {
|
|
2287
|
-
|
|
2287
|
+
let message = "";
|
|
2288
|
+
if (typeof cell === "object") {
|
|
2289
|
+
message = _t("Function [[FUNCTION_NAME]] expects number values for %s, but got an empty value.", argName);
|
|
2290
|
+
}
|
|
2291
|
+
else if (typeof cell === "string") {
|
|
2292
|
+
message = _t("Function [[FUNCTION_NAME]] expects number values for %s, but got a string.", argName);
|
|
2293
|
+
}
|
|
2294
|
+
else if (typeof cell === "boolean") {
|
|
2295
|
+
message = _t("Function [[FUNCTION_NAME]] expects number values for %s, but got a boolean.", argName);
|
|
2296
|
+
}
|
|
2297
|
+
throw new Error(message);
|
|
2288
2298
|
}
|
|
2289
2299
|
});
|
|
2290
2300
|
});
|
|
@@ -9249,6 +9259,7 @@ function getChartTimeOptions(labels, labelFormat, locale) {
|
|
|
9249
9259
|
parser: luxonFormat,
|
|
9250
9260
|
displayFormats,
|
|
9251
9261
|
unit: timeUnit ?? false,
|
|
9262
|
+
tooltipFormat: luxonFormat,
|
|
9252
9263
|
};
|
|
9253
9264
|
}
|
|
9254
9265
|
/**
|
|
@@ -13825,7 +13836,7 @@ const GROWTH = {
|
|
|
13825
13836
|
returns: ["NUMBER"],
|
|
13826
13837
|
compute: function (knownDataY, knownDataX = [], newDataX = [], b = true) {
|
|
13827
13838
|
assertNonEmptyMatrix(knownDataY, "known_data_y");
|
|
13828
|
-
return expM(predictLinearValues(logM(tryCastAsNumberMatrix(knownDataY, "
|
|
13839
|
+
return expM(predictLinearValues(logM(tryCastAsNumberMatrix(knownDataY, "known_data_y")), tryCastAsNumberMatrix(knownDataX, "known_data_x"), tryCastAsNumberMatrix(newDataX, "new_data_y"), toBoolean(b)));
|
|
13829
13840
|
},
|
|
13830
13841
|
};
|
|
13831
13842
|
// -----------------------------------------------------------------------------
|
|
@@ -13893,7 +13904,7 @@ const LINEST = {
|
|
|
13893
13904
|
returns: ["NUMBER"],
|
|
13894
13905
|
compute: function (dataY, dataX = [], calculateB = true, verbose = false) {
|
|
13895
13906
|
assertNonEmptyMatrix(dataY, "data_y");
|
|
13896
|
-
return fullLinearRegression(tryCastAsNumberMatrix(dataX, "
|
|
13907
|
+
return fullLinearRegression(tryCastAsNumberMatrix(dataX, "data_x"), tryCastAsNumberMatrix(dataY, "data_y"), toBoolean(calculateB), toBoolean(verbose));
|
|
13897
13908
|
},
|
|
13898
13909
|
isExported: true,
|
|
13899
13910
|
};
|
|
@@ -13911,7 +13922,7 @@ const LOGEST = {
|
|
|
13911
13922
|
returns: ["NUMBER"],
|
|
13912
13923
|
compute: function (dataY, dataX = [], calculateB = true, verbose = false) {
|
|
13913
13924
|
assertNonEmptyMatrix(dataY, "data_y");
|
|
13914
|
-
const coeffs = fullLinearRegression(tryCastAsNumberMatrix(dataX, "
|
|
13925
|
+
const coeffs = fullLinearRegression(tryCastAsNumberMatrix(dataX, "data_x"), logM(tryCastAsNumberMatrix(dataY, "data_y")), toBoolean(calculateB), toBoolean(verbose));
|
|
13915
13926
|
for (let i = 0; i < coeffs.length; i++) {
|
|
13916
13927
|
coeffs[i][0] = Math.exp(coeffs[i][0]);
|
|
13917
13928
|
}
|
|
@@ -14549,7 +14560,7 @@ const TREND = {
|
|
|
14549
14560
|
returns: ["NUMBER"],
|
|
14550
14561
|
compute: function (knownDataY, knownDataX = [], newDataX = [], b = true) {
|
|
14551
14562
|
assertNonEmptyMatrix(knownDataY, "known_data_y");
|
|
14552
|
-
return predictLinearValues(tryCastAsNumberMatrix(knownDataY, "
|
|
14563
|
+
return predictLinearValues(tryCastAsNumberMatrix(knownDataY, "known_data_y"), tryCastAsNumberMatrix(knownDataX, "known_data_x"), tryCastAsNumberMatrix(newDataX, "new_data_y"), toBoolean(b));
|
|
14553
14564
|
},
|
|
14554
14565
|
};
|
|
14555
14566
|
// -----------------------------------------------------------------------------
|
|
@@ -25665,12 +25676,13 @@ class DataValidationEditor extends owl.Component {
|
|
|
25665
25676
|
static template = "o-spreadsheet-DataValidationEditor";
|
|
25666
25677
|
static components = { SelectionInput, SelectMenu };
|
|
25667
25678
|
state = owl.useState({ rule: this.defaultDataValidationRule });
|
|
25679
|
+
editingSheetId;
|
|
25668
25680
|
setup() {
|
|
25681
|
+
this.editingSheetId = this.env.model.getters.getActiveSheetId();
|
|
25669
25682
|
if (this.props.rule) {
|
|
25670
|
-
const sheetId = this.env.model.getters.getActiveSheetId();
|
|
25671
25683
|
this.state.rule = {
|
|
25672
25684
|
...this.props.rule,
|
|
25673
|
-
ranges: this.props.rule.ranges.map((range) => this.env.model.getters.getRangeString(range,
|
|
25685
|
+
ranges: this.props.rule.ranges.map((range) => this.env.model.getters.getRangeString(range, this.editingSheetId)),
|
|
25674
25686
|
};
|
|
25675
25687
|
this.state.rule.criterion.type = this.props.rule.criterion.type;
|
|
25676
25688
|
}
|
|
@@ -25704,7 +25716,6 @@ class DataValidationEditor extends owl.Component {
|
|
|
25704
25716
|
const locale = this.env.model.getters.getLocale();
|
|
25705
25717
|
const criterion = rule.criterion;
|
|
25706
25718
|
const criterionEvaluator = dataValidationEvaluatorRegistry.get(criterion.type);
|
|
25707
|
-
const sheetId = this.env.model.getters.getActiveSheetId();
|
|
25708
25719
|
const values = criterion.values
|
|
25709
25720
|
.slice(0, criterionEvaluator.numberOfValues(criterion))
|
|
25710
25721
|
.map((value) => value?.trim())
|
|
@@ -25712,8 +25723,8 @@ class DataValidationEditor extends owl.Component {
|
|
|
25712
25723
|
.map((value) => canonicalizeContent(value, locale));
|
|
25713
25724
|
rule.criterion = { ...criterion, values };
|
|
25714
25725
|
return {
|
|
25715
|
-
sheetId,
|
|
25716
|
-
ranges: this.state.rule.ranges.map((xc) => this.env.model.getters.getRangeDataFromXc(
|
|
25726
|
+
sheetId: this.editingSheetId,
|
|
25727
|
+
ranges: this.state.rule.ranges.map((xc) => this.env.model.getters.getRangeDataFromXc(this.editingSheetId, xc)),
|
|
25717
25728
|
rule,
|
|
25718
25729
|
};
|
|
25719
25730
|
}
|
|
@@ -39603,7 +39614,7 @@ class RangeAdapter {
|
|
|
39603
39614
|
let sheetName = "";
|
|
39604
39615
|
if (prefixSheet) {
|
|
39605
39616
|
if (rangeImpl.invalidSheetName) {
|
|
39606
|
-
sheetName = rangeImpl.invalidSheetName;
|
|
39617
|
+
sheetName = getCanonicalSheetName(rangeImpl.invalidSheetName);
|
|
39607
39618
|
}
|
|
39608
39619
|
else {
|
|
39609
39620
|
sheetName = getCanonicalSheetName(this.getters.getSheetName(rangeImpl.sheetId));
|
|
@@ -58500,6 +58511,6 @@ exports.setTranslationMethod = setTranslationMethod;
|
|
|
58500
58511
|
exports.tokenize = tokenize;
|
|
58501
58512
|
|
|
58502
58513
|
|
|
58503
|
-
__info__.version = "17.0.
|
|
58504
|
-
__info__.date = "2025-
|
|
58505
|
-
__info__.hash = "
|
|
58514
|
+
__info__.version = "17.0.77";
|
|
58515
|
+
__info__.date = "2025-11-12T14:14:11.932Z";
|
|
58516
|
+
__info__.hash = "789de5e";
|
|
@@ -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.0.
|
|
6
|
-
* @date 2025-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 17.0.77
|
|
6
|
+
* @date 2025-11-12T14:14:11.932Z
|
|
7
|
+
* @hash 789de5e
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { Component, useRef, onMounted, useEffect, onWillPatch, useState, onWillUpdateProps, onPatched, useComponent, useExternalListener, onWillUnmount, onWillStart, xml, useChildSubEnv, useSubEnv, markRaw } from '@odoo/owl';
|
|
@@ -2282,7 +2282,17 @@ function tryCastAsNumberMatrix(data, argName) {
|
|
|
2282
2282
|
data.forEach((row) => {
|
|
2283
2283
|
row.forEach((cell) => {
|
|
2284
2284
|
if (typeof cell !== "number") {
|
|
2285
|
-
|
|
2285
|
+
let message = "";
|
|
2286
|
+
if (typeof cell === "object") {
|
|
2287
|
+
message = _t("Function [[FUNCTION_NAME]] expects number values for %s, but got an empty value.", argName);
|
|
2288
|
+
}
|
|
2289
|
+
else if (typeof cell === "string") {
|
|
2290
|
+
message = _t("Function [[FUNCTION_NAME]] expects number values for %s, but got a string.", argName);
|
|
2291
|
+
}
|
|
2292
|
+
else if (typeof cell === "boolean") {
|
|
2293
|
+
message = _t("Function [[FUNCTION_NAME]] expects number values for %s, but got a boolean.", argName);
|
|
2294
|
+
}
|
|
2295
|
+
throw new Error(message);
|
|
2286
2296
|
}
|
|
2287
2297
|
});
|
|
2288
2298
|
});
|
|
@@ -9247,6 +9257,7 @@ function getChartTimeOptions(labels, labelFormat, locale) {
|
|
|
9247
9257
|
parser: luxonFormat,
|
|
9248
9258
|
displayFormats,
|
|
9249
9259
|
unit: timeUnit ?? false,
|
|
9260
|
+
tooltipFormat: luxonFormat,
|
|
9250
9261
|
};
|
|
9251
9262
|
}
|
|
9252
9263
|
/**
|
|
@@ -13823,7 +13834,7 @@ const GROWTH = {
|
|
|
13823
13834
|
returns: ["NUMBER"],
|
|
13824
13835
|
compute: function (knownDataY, knownDataX = [], newDataX = [], b = true) {
|
|
13825
13836
|
assertNonEmptyMatrix(knownDataY, "known_data_y");
|
|
13826
|
-
return expM(predictLinearValues(logM(tryCastAsNumberMatrix(knownDataY, "
|
|
13837
|
+
return expM(predictLinearValues(logM(tryCastAsNumberMatrix(knownDataY, "known_data_y")), tryCastAsNumberMatrix(knownDataX, "known_data_x"), tryCastAsNumberMatrix(newDataX, "new_data_y"), toBoolean(b)));
|
|
13827
13838
|
},
|
|
13828
13839
|
};
|
|
13829
13840
|
// -----------------------------------------------------------------------------
|
|
@@ -13891,7 +13902,7 @@ const LINEST = {
|
|
|
13891
13902
|
returns: ["NUMBER"],
|
|
13892
13903
|
compute: function (dataY, dataX = [], calculateB = true, verbose = false) {
|
|
13893
13904
|
assertNonEmptyMatrix(dataY, "data_y");
|
|
13894
|
-
return fullLinearRegression(tryCastAsNumberMatrix(dataX, "
|
|
13905
|
+
return fullLinearRegression(tryCastAsNumberMatrix(dataX, "data_x"), tryCastAsNumberMatrix(dataY, "data_y"), toBoolean(calculateB), toBoolean(verbose));
|
|
13895
13906
|
},
|
|
13896
13907
|
isExported: true,
|
|
13897
13908
|
};
|
|
@@ -13909,7 +13920,7 @@ const LOGEST = {
|
|
|
13909
13920
|
returns: ["NUMBER"],
|
|
13910
13921
|
compute: function (dataY, dataX = [], calculateB = true, verbose = false) {
|
|
13911
13922
|
assertNonEmptyMatrix(dataY, "data_y");
|
|
13912
|
-
const coeffs = fullLinearRegression(tryCastAsNumberMatrix(dataX, "
|
|
13923
|
+
const coeffs = fullLinearRegression(tryCastAsNumberMatrix(dataX, "data_x"), logM(tryCastAsNumberMatrix(dataY, "data_y")), toBoolean(calculateB), toBoolean(verbose));
|
|
13913
13924
|
for (let i = 0; i < coeffs.length; i++) {
|
|
13914
13925
|
coeffs[i][0] = Math.exp(coeffs[i][0]);
|
|
13915
13926
|
}
|
|
@@ -14547,7 +14558,7 @@ const TREND = {
|
|
|
14547
14558
|
returns: ["NUMBER"],
|
|
14548
14559
|
compute: function (knownDataY, knownDataX = [], newDataX = [], b = true) {
|
|
14549
14560
|
assertNonEmptyMatrix(knownDataY, "known_data_y");
|
|
14550
|
-
return predictLinearValues(tryCastAsNumberMatrix(knownDataY, "
|
|
14561
|
+
return predictLinearValues(tryCastAsNumberMatrix(knownDataY, "known_data_y"), tryCastAsNumberMatrix(knownDataX, "known_data_x"), tryCastAsNumberMatrix(newDataX, "new_data_y"), toBoolean(b));
|
|
14551
14562
|
},
|
|
14552
14563
|
};
|
|
14553
14564
|
// -----------------------------------------------------------------------------
|
|
@@ -25663,12 +25674,13 @@ class DataValidationEditor extends Component {
|
|
|
25663
25674
|
static template = "o-spreadsheet-DataValidationEditor";
|
|
25664
25675
|
static components = { SelectionInput, SelectMenu };
|
|
25665
25676
|
state = useState({ rule: this.defaultDataValidationRule });
|
|
25677
|
+
editingSheetId;
|
|
25666
25678
|
setup() {
|
|
25679
|
+
this.editingSheetId = this.env.model.getters.getActiveSheetId();
|
|
25667
25680
|
if (this.props.rule) {
|
|
25668
|
-
const sheetId = this.env.model.getters.getActiveSheetId();
|
|
25669
25681
|
this.state.rule = {
|
|
25670
25682
|
...this.props.rule,
|
|
25671
|
-
ranges: this.props.rule.ranges.map((range) => this.env.model.getters.getRangeString(range,
|
|
25683
|
+
ranges: this.props.rule.ranges.map((range) => this.env.model.getters.getRangeString(range, this.editingSheetId)),
|
|
25672
25684
|
};
|
|
25673
25685
|
this.state.rule.criterion.type = this.props.rule.criterion.type;
|
|
25674
25686
|
}
|
|
@@ -25702,7 +25714,6 @@ class DataValidationEditor extends Component {
|
|
|
25702
25714
|
const locale = this.env.model.getters.getLocale();
|
|
25703
25715
|
const criterion = rule.criterion;
|
|
25704
25716
|
const criterionEvaluator = dataValidationEvaluatorRegistry.get(criterion.type);
|
|
25705
|
-
const sheetId = this.env.model.getters.getActiveSheetId();
|
|
25706
25717
|
const values = criterion.values
|
|
25707
25718
|
.slice(0, criterionEvaluator.numberOfValues(criterion))
|
|
25708
25719
|
.map((value) => value?.trim())
|
|
@@ -25710,8 +25721,8 @@ class DataValidationEditor extends Component {
|
|
|
25710
25721
|
.map((value) => canonicalizeContent(value, locale));
|
|
25711
25722
|
rule.criterion = { ...criterion, values };
|
|
25712
25723
|
return {
|
|
25713
|
-
sheetId,
|
|
25714
|
-
ranges: this.state.rule.ranges.map((xc) => this.env.model.getters.getRangeDataFromXc(
|
|
25724
|
+
sheetId: this.editingSheetId,
|
|
25725
|
+
ranges: this.state.rule.ranges.map((xc) => this.env.model.getters.getRangeDataFromXc(this.editingSheetId, xc)),
|
|
25715
25726
|
rule,
|
|
25716
25727
|
};
|
|
25717
25728
|
}
|
|
@@ -39601,7 +39612,7 @@ class RangeAdapter {
|
|
|
39601
39612
|
let sheetName = "";
|
|
39602
39613
|
if (prefixSheet) {
|
|
39603
39614
|
if (rangeImpl.invalidSheetName) {
|
|
39604
|
-
sheetName = rangeImpl.invalidSheetName;
|
|
39615
|
+
sheetName = getCanonicalSheetName(rangeImpl.invalidSheetName);
|
|
39605
39616
|
}
|
|
39606
39617
|
else {
|
|
39607
39618
|
sheetName = getCanonicalSheetName(this.getters.getSheetName(rangeImpl.sheetId));
|
|
@@ -58463,6 +58474,6 @@ const constants = {
|
|
|
58463
58474
|
export { AbstractChart, CommandResult, CorePlugin, DispatchResult, EvaluationError, Model, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, UIPlugin, __info__, addFunction, astToFormula, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, hooks, invalidateCFEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, tokenize };
|
|
58464
58475
|
|
|
58465
58476
|
|
|
58466
|
-
__info__.version = "17.0.
|
|
58467
|
-
__info__.date = "2025-
|
|
58468
|
-
__info__.hash = "
|
|
58477
|
+
__info__.version = "17.0.77";
|
|
58478
|
+
__info__.date = "2025-11-12T14:14:11.932Z";
|
|
58479
|
+
__info__.hash = "789de5e";
|
|
@@ -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.0.
|
|
6
|
-
* @date 2025-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 17.0.77
|
|
6
|
+
* @date 2025-11-12T14:14:11.932Z
|
|
7
|
+
* @hash 789de5e
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
(function (exports, owl) {
|
|
@@ -2283,7 +2283,17 @@
|
|
|
2283
2283
|
data.forEach((row) => {
|
|
2284
2284
|
row.forEach((cell) => {
|
|
2285
2285
|
if (typeof cell !== "number") {
|
|
2286
|
-
|
|
2286
|
+
let message = "";
|
|
2287
|
+
if (typeof cell === "object") {
|
|
2288
|
+
message = _t("Function [[FUNCTION_NAME]] expects number values for %s, but got an empty value.", argName);
|
|
2289
|
+
}
|
|
2290
|
+
else if (typeof cell === "string") {
|
|
2291
|
+
message = _t("Function [[FUNCTION_NAME]] expects number values for %s, but got a string.", argName);
|
|
2292
|
+
}
|
|
2293
|
+
else if (typeof cell === "boolean") {
|
|
2294
|
+
message = _t("Function [[FUNCTION_NAME]] expects number values for %s, but got a boolean.", argName);
|
|
2295
|
+
}
|
|
2296
|
+
throw new Error(message);
|
|
2287
2297
|
}
|
|
2288
2298
|
});
|
|
2289
2299
|
});
|
|
@@ -9248,6 +9258,7 @@
|
|
|
9248
9258
|
parser: luxonFormat,
|
|
9249
9259
|
displayFormats,
|
|
9250
9260
|
unit: timeUnit ?? false,
|
|
9261
|
+
tooltipFormat: luxonFormat,
|
|
9251
9262
|
};
|
|
9252
9263
|
}
|
|
9253
9264
|
/**
|
|
@@ -13824,7 +13835,7 @@
|
|
|
13824
13835
|
returns: ["NUMBER"],
|
|
13825
13836
|
compute: function (knownDataY, knownDataX = [], newDataX = [], b = true) {
|
|
13826
13837
|
assertNonEmptyMatrix(knownDataY, "known_data_y");
|
|
13827
|
-
return expM(predictLinearValues(logM(tryCastAsNumberMatrix(knownDataY, "
|
|
13838
|
+
return expM(predictLinearValues(logM(tryCastAsNumberMatrix(knownDataY, "known_data_y")), tryCastAsNumberMatrix(knownDataX, "known_data_x"), tryCastAsNumberMatrix(newDataX, "new_data_y"), toBoolean(b)));
|
|
13828
13839
|
},
|
|
13829
13840
|
};
|
|
13830
13841
|
// -----------------------------------------------------------------------------
|
|
@@ -13892,7 +13903,7 @@
|
|
|
13892
13903
|
returns: ["NUMBER"],
|
|
13893
13904
|
compute: function (dataY, dataX = [], calculateB = true, verbose = false) {
|
|
13894
13905
|
assertNonEmptyMatrix(dataY, "data_y");
|
|
13895
|
-
return fullLinearRegression(tryCastAsNumberMatrix(dataX, "
|
|
13906
|
+
return fullLinearRegression(tryCastAsNumberMatrix(dataX, "data_x"), tryCastAsNumberMatrix(dataY, "data_y"), toBoolean(calculateB), toBoolean(verbose));
|
|
13896
13907
|
},
|
|
13897
13908
|
isExported: true,
|
|
13898
13909
|
};
|
|
@@ -13910,7 +13921,7 @@
|
|
|
13910
13921
|
returns: ["NUMBER"],
|
|
13911
13922
|
compute: function (dataY, dataX = [], calculateB = true, verbose = false) {
|
|
13912
13923
|
assertNonEmptyMatrix(dataY, "data_y");
|
|
13913
|
-
const coeffs = fullLinearRegression(tryCastAsNumberMatrix(dataX, "
|
|
13924
|
+
const coeffs = fullLinearRegression(tryCastAsNumberMatrix(dataX, "data_x"), logM(tryCastAsNumberMatrix(dataY, "data_y")), toBoolean(calculateB), toBoolean(verbose));
|
|
13914
13925
|
for (let i = 0; i < coeffs.length; i++) {
|
|
13915
13926
|
coeffs[i][0] = Math.exp(coeffs[i][0]);
|
|
13916
13927
|
}
|
|
@@ -14548,7 +14559,7 @@
|
|
|
14548
14559
|
returns: ["NUMBER"],
|
|
14549
14560
|
compute: function (knownDataY, knownDataX = [], newDataX = [], b = true) {
|
|
14550
14561
|
assertNonEmptyMatrix(knownDataY, "known_data_y");
|
|
14551
|
-
return predictLinearValues(tryCastAsNumberMatrix(knownDataY, "
|
|
14562
|
+
return predictLinearValues(tryCastAsNumberMatrix(knownDataY, "known_data_y"), tryCastAsNumberMatrix(knownDataX, "known_data_x"), tryCastAsNumberMatrix(newDataX, "new_data_y"), toBoolean(b));
|
|
14552
14563
|
},
|
|
14553
14564
|
};
|
|
14554
14565
|
// -----------------------------------------------------------------------------
|
|
@@ -25664,12 +25675,13 @@
|
|
|
25664
25675
|
static template = "o-spreadsheet-DataValidationEditor";
|
|
25665
25676
|
static components = { SelectionInput, SelectMenu };
|
|
25666
25677
|
state = owl.useState({ rule: this.defaultDataValidationRule });
|
|
25678
|
+
editingSheetId;
|
|
25667
25679
|
setup() {
|
|
25680
|
+
this.editingSheetId = this.env.model.getters.getActiveSheetId();
|
|
25668
25681
|
if (this.props.rule) {
|
|
25669
|
-
const sheetId = this.env.model.getters.getActiveSheetId();
|
|
25670
25682
|
this.state.rule = {
|
|
25671
25683
|
...this.props.rule,
|
|
25672
|
-
ranges: this.props.rule.ranges.map((range) => this.env.model.getters.getRangeString(range,
|
|
25684
|
+
ranges: this.props.rule.ranges.map((range) => this.env.model.getters.getRangeString(range, this.editingSheetId)),
|
|
25673
25685
|
};
|
|
25674
25686
|
this.state.rule.criterion.type = this.props.rule.criterion.type;
|
|
25675
25687
|
}
|
|
@@ -25703,7 +25715,6 @@
|
|
|
25703
25715
|
const locale = this.env.model.getters.getLocale();
|
|
25704
25716
|
const criterion = rule.criterion;
|
|
25705
25717
|
const criterionEvaluator = dataValidationEvaluatorRegistry.get(criterion.type);
|
|
25706
|
-
const sheetId = this.env.model.getters.getActiveSheetId();
|
|
25707
25718
|
const values = criterion.values
|
|
25708
25719
|
.slice(0, criterionEvaluator.numberOfValues(criterion))
|
|
25709
25720
|
.map((value) => value?.trim())
|
|
@@ -25711,8 +25722,8 @@
|
|
|
25711
25722
|
.map((value) => canonicalizeContent(value, locale));
|
|
25712
25723
|
rule.criterion = { ...criterion, values };
|
|
25713
25724
|
return {
|
|
25714
|
-
sheetId,
|
|
25715
|
-
ranges: this.state.rule.ranges.map((xc) => this.env.model.getters.getRangeDataFromXc(
|
|
25725
|
+
sheetId: this.editingSheetId,
|
|
25726
|
+
ranges: this.state.rule.ranges.map((xc) => this.env.model.getters.getRangeDataFromXc(this.editingSheetId, xc)),
|
|
25716
25727
|
rule,
|
|
25717
25728
|
};
|
|
25718
25729
|
}
|
|
@@ -39602,7 +39613,7 @@
|
|
|
39602
39613
|
let sheetName = "";
|
|
39603
39614
|
if (prefixSheet) {
|
|
39604
39615
|
if (rangeImpl.invalidSheetName) {
|
|
39605
|
-
sheetName = rangeImpl.invalidSheetName;
|
|
39616
|
+
sheetName = getCanonicalSheetName(rangeImpl.invalidSheetName);
|
|
39606
39617
|
}
|
|
39607
39618
|
else {
|
|
39608
39619
|
sheetName = getCanonicalSheetName(this.getters.getSheetName(rangeImpl.sheetId));
|
|
@@ -58499,9 +58510,9 @@
|
|
|
58499
58510
|
exports.tokenize = tokenize;
|
|
58500
58511
|
|
|
58501
58512
|
|
|
58502
|
-
__info__.version = "17.0.
|
|
58503
|
-
__info__.date = "2025-
|
|
58504
|
-
__info__.hash = "
|
|
58513
|
+
__info__.version = "17.0.77";
|
|
58514
|
+
__info__.date = "2025-11-12T14:14:11.932Z";
|
|
58515
|
+
__info__.hash = "789de5e";
|
|
58505
58516
|
|
|
58506
58517
|
|
|
58507
58518
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|