@odoo/o-spreadsheet 19.2.11 → 19.2.13
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 +105 -6
- package/dist/o_spreadsheet.css +3 -3
- package/dist/o_spreadsheet.esm.js +105 -6
- package/dist/o_spreadsheet.iife.js +105 -6
- package/dist/o_spreadsheet.iife.min.js +11 -11
- package/dist/o_spreadsheet.xml +4 -4
- package/package.json +20 -20
|
@@ -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.2.
|
|
6
|
-
* @date 2026-05-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.2.13
|
|
6
|
+
* @date 2026-05-15T07:07:37.391Z
|
|
7
|
+
* @hash fece642
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
(function(exports, _odoo_owl) {
|
|
@@ -2063,6 +2063,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2063
2063
|
}
|
|
2064
2064
|
};
|
|
2065
2065
|
var StoreFactory = class {
|
|
2066
|
+
get;
|
|
2066
2067
|
pendingBuilds = /* @__PURE__ */ new Set();
|
|
2067
2068
|
constructor(get) {
|
|
2068
2069
|
this.get = get;
|
|
@@ -2107,6 +2108,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
2107
2108
|
return MetaStore;
|
|
2108
2109
|
}
|
|
2109
2110
|
var DisposableStore = class {
|
|
2111
|
+
get;
|
|
2110
2112
|
disposeCallbacks = [];
|
|
2111
2113
|
constructor(get) {
|
|
2112
2114
|
this.get = get;
|
|
@@ -2862,6 +2864,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
2862
2864
|
else return ALTERNATING_COLORS_XL;
|
|
2863
2865
|
}
|
|
2864
2866
|
var ColorGenerator = class {
|
|
2867
|
+
preferredColors;
|
|
2865
2868
|
currentColorIndex = 0;
|
|
2866
2869
|
palette;
|
|
2867
2870
|
constructor(paletteSize, preferredColors = []) {
|
|
@@ -3580,6 +3583,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
3580
3583
|
return sprintf(_translate(s), ...values);
|
|
3581
3584
|
};
|
|
3582
3585
|
var LazyTranslatedString = class extends String {
|
|
3586
|
+
values;
|
|
3583
3587
|
constructor(str, values) {
|
|
3584
3588
|
super(str);
|
|
3585
3589
|
this.values = values;
|
|
@@ -3609,6 +3613,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
3609
3613
|
};
|
|
3610
3614
|
const errorTypes = new Set(Object.values(CellErrorType));
|
|
3611
3615
|
var EvaluationError = class {
|
|
3616
|
+
message;
|
|
3617
|
+
value;
|
|
3612
3618
|
constructor(message = _t("Error"), value = CellErrorType.GenericError) {
|
|
3613
3619
|
this.message = message;
|
|
3614
3620
|
this.value = value;
|
|
@@ -3641,6 +3647,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
3641
3647
|
}
|
|
3642
3648
|
};
|
|
3643
3649
|
var SplillBlockedError = class extends EvaluationError {
|
|
3650
|
+
errorOriginPosition;
|
|
3644
3651
|
constructor(message = _t("Spill range is not empty"), errorOriginPosition) {
|
|
3645
3652
|
super(message, CellErrorType.SpilledBlocked);
|
|
3646
3653
|
this.errorOriginPosition = errorOriginPosition;
|
|
@@ -10136,6 +10143,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
10136
10143
|
}, runtime).computeDesign();
|
|
10137
10144
|
}
|
|
10138
10145
|
var ScorecardChartConfigBuilder = class {
|
|
10146
|
+
runtime;
|
|
10139
10147
|
context;
|
|
10140
10148
|
width;
|
|
10141
10149
|
height;
|
|
@@ -16215,6 +16223,10 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
16215
16223
|
* Animation interpolating values using the ease-out quartic curve function (chartJS default easing)
|
|
16216
16224
|
*/
|
|
16217
16225
|
var Animation = class {
|
|
16226
|
+
startValue;
|
|
16227
|
+
endValue;
|
|
16228
|
+
duration;
|
|
16229
|
+
callback;
|
|
16218
16230
|
startTime = void 0;
|
|
16219
16231
|
animationFrameId = null;
|
|
16220
16232
|
constructor(startValue, endValue, duration, callback) {
|
|
@@ -16681,6 +16693,11 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
16681
16693
|
}
|
|
16682
16694
|
};
|
|
16683
16695
|
var PopoverPositionContext = class {
|
|
16696
|
+
anchorRect;
|
|
16697
|
+
containerRect;
|
|
16698
|
+
propsMaxSize;
|
|
16699
|
+
spreadsheetOffset;
|
|
16700
|
+
lastPosition;
|
|
16684
16701
|
constructor(anchorRect, containerRect, propsMaxSize, spreadsheetOffset, lastPosition) {
|
|
16685
16702
|
this.anchorRect = anchorRect;
|
|
16686
16703
|
this.containerRect = containerRect;
|
|
@@ -25785,6 +25802,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
25785
25802
|
* Represent a raw XML string
|
|
25786
25803
|
*/
|
|
25787
25804
|
var XMLString = class {
|
|
25805
|
+
xmlString;
|
|
25788
25806
|
/**
|
|
25789
25807
|
* @param xmlString should be a well formed, properly escaped XML string
|
|
25790
25808
|
*/
|
|
@@ -34023,6 +34041,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
34023
34041
|
//#endregion
|
|
34024
34042
|
//#region src/components/composer/standalone_composer/standalone_composer_store.ts
|
|
34025
34043
|
var StandaloneComposerStore = class extends AbstractComposerStore {
|
|
34044
|
+
args;
|
|
34026
34045
|
constructor(get, args) {
|
|
34027
34046
|
super(get);
|
|
34028
34047
|
this.args = args;
|
|
@@ -34926,6 +34945,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
34926
34945
|
}
|
|
34927
34946
|
};
|
|
34928
34947
|
var ContainerWrapper = class {
|
|
34948
|
+
el;
|
|
34929
34949
|
constructor(el) {
|
|
34930
34950
|
this.el = el;
|
|
34931
34951
|
}
|
|
@@ -34997,6 +35017,10 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
34997
35017
|
* This plugin handles this internal state.
|
|
34998
35018
|
*/
|
|
34999
35019
|
var SelectionInputStore = class extends SpreadsheetStore {
|
|
35020
|
+
initialRanges;
|
|
35021
|
+
inputHasSingleRange;
|
|
35022
|
+
colors;
|
|
35023
|
+
disabledRanges;
|
|
35000
35024
|
mutators = [
|
|
35001
35025
|
"resetWithRanges",
|
|
35002
35026
|
"focusById",
|
|
@@ -43090,6 +43114,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
43090
43114
|
//#endregion
|
|
43091
43115
|
//#region src/components/side_panel/pivot/pivot_measure_display_panel/pivot_measure_display_panel_store.ts
|
|
43092
43116
|
var PivotMeasureDisplayPanelStore = class extends SpreadsheetStore {
|
|
43117
|
+
pivotId;
|
|
43118
|
+
initialMeasure;
|
|
43093
43119
|
mutators = [
|
|
43094
43120
|
"cancelMeasureDisplayEdition",
|
|
43095
43121
|
"updateMeasureDisplayType",
|
|
@@ -43572,6 +43598,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
43572
43598
|
//#endregion
|
|
43573
43599
|
//#region src/formulas/code_builder.ts
|
|
43574
43600
|
var FunctionCodeBuilder = class {
|
|
43601
|
+
scope;
|
|
43575
43602
|
code = "";
|
|
43576
43603
|
constructor(scope = new Scope()) {
|
|
43577
43604
|
this.scope = scope;
|
|
@@ -43587,6 +43614,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
43587
43614
|
}
|
|
43588
43615
|
};
|
|
43589
43616
|
var FunctionCodeImpl = class {
|
|
43617
|
+
scope;
|
|
43618
|
+
returnExpression;
|
|
43590
43619
|
code;
|
|
43591
43620
|
constructor(scope, code, returnExpression) {
|
|
43592
43621
|
this.scope = scope;
|
|
@@ -43669,6 +43698,13 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
43669
43698
|
* without recompiling it (for example when the formula is copied to another cell, or when we want to replace literal values but keep the same structure).
|
|
43670
43699
|
* */
|
|
43671
43700
|
var CompiledFormula = class CompiledFormula {
|
|
43701
|
+
sheetId;
|
|
43702
|
+
tokens;
|
|
43703
|
+
literalValues;
|
|
43704
|
+
symbols;
|
|
43705
|
+
isBadExpression;
|
|
43706
|
+
normalizedFormula;
|
|
43707
|
+
execute;
|
|
43672
43708
|
rangeDependencies;
|
|
43673
43709
|
hasDependencies;
|
|
43674
43710
|
constructor(sheetId, tokens, literalValues, symbols, dependencies, isBadExpression, normalizedFormula, execute) {
|
|
@@ -44553,13 +44589,30 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
44553
44589
|
break;
|
|
44554
44590
|
}
|
|
44555
44591
|
return {
|
|
44592
|
+
/**
|
|
44593
|
+
* Get the id of the measure, as it is stored in the pivot formula
|
|
44594
|
+
*/
|
|
44556
44595
|
id: measure.id,
|
|
44596
|
+
/**
|
|
44597
|
+
* Display name of the measure
|
|
44598
|
+
* e.g. "__count" -> "Count", "amount_total" -> "Total Amount"
|
|
44599
|
+
*/
|
|
44557
44600
|
get displayName() {
|
|
44558
44601
|
return measure.userDefinedName ?? field?.string ?? measure.fieldName;
|
|
44559
44602
|
},
|
|
44560
44603
|
userDefinedName: measure.userDefinedName,
|
|
44604
|
+
/**
|
|
44605
|
+
* Get the name of the field of the measure
|
|
44606
|
+
*/
|
|
44561
44607
|
fieldName,
|
|
44608
|
+
/**
|
|
44609
|
+
* Get the aggregator of the measure
|
|
44610
|
+
*/
|
|
44562
44611
|
aggregator,
|
|
44612
|
+
/**
|
|
44613
|
+
* Get the type of the measure field
|
|
44614
|
+
* e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
|
|
44615
|
+
*/
|
|
44563
44616
|
type: fieldName === "__count" ? "integer" : field?.type ?? "integer",
|
|
44564
44617
|
isValid,
|
|
44565
44618
|
isHidden: measure.isHidden,
|
|
@@ -44573,10 +44626,30 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
44573
44626
|
const type = field?.type ?? "integer";
|
|
44574
44627
|
const granularity = field && isDateOrDatetimeField(field) ? dimension.granularity : void 0;
|
|
44575
44628
|
return {
|
|
44629
|
+
/**
|
|
44630
|
+
* Get the display name of the dimension
|
|
44631
|
+
* e.g. "stage_id" -> "Stage", "create_date:month" -> "Create Date"
|
|
44632
|
+
*/
|
|
44576
44633
|
displayName: field?.string ?? dimension.fieldName,
|
|
44634
|
+
/**
|
|
44635
|
+
* Get the name of the dimension, as it is stored in the pivot formula
|
|
44636
|
+
* e.g. "stage_id", "create_date:month"
|
|
44637
|
+
*/
|
|
44577
44638
|
nameWithGranularity: dimension.fieldName + (granularity ? `:${granularity}` : ""),
|
|
44639
|
+
/**
|
|
44640
|
+
* Get the name of the field of the dimension
|
|
44641
|
+
* e.g. "stage_id" -> "stage_id", "create_date:month" -> "create_date"
|
|
44642
|
+
*/
|
|
44578
44643
|
fieldName: dimension.fieldName,
|
|
44644
|
+
/**
|
|
44645
|
+
* Get the aggregate operator of the dimension
|
|
44646
|
+
* e.g. "stage_id" -> undefined, "create_date:month" -> "month"
|
|
44647
|
+
*/
|
|
44579
44648
|
granularity,
|
|
44649
|
+
/**
|
|
44650
|
+
* Get the type of the field of the dimension
|
|
44651
|
+
* e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
|
|
44652
|
+
*/
|
|
44580
44653
|
type: field?.isCustomField ? "custom" : type,
|
|
44581
44654
|
order: dimension.order,
|
|
44582
44655
|
isValid: !!field,
|
|
@@ -45798,6 +45871,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
45798
45871
|
//#endregion
|
|
45799
45872
|
//#region src/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.ts
|
|
45800
45873
|
var PivotSidePanelStore = class extends SpreadsheetStore {
|
|
45874
|
+
pivotId;
|
|
45875
|
+
updateMode;
|
|
45801
45876
|
mutators = [
|
|
45802
45877
|
"reset",
|
|
45803
45878
|
"deferUpdates",
|
|
@@ -60109,6 +60184,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
60109
60184
|
return new CompilationParametersBuilder(context, getters, computeCell).getParameters();
|
|
60110
60185
|
}
|
|
60111
60186
|
var CompilationParametersBuilder = class {
|
|
60187
|
+
getters;
|
|
60188
|
+
computeCell;
|
|
60112
60189
|
evalContext;
|
|
60113
60190
|
rangeCache = {};
|
|
60114
60191
|
constructor(context, getters, computeCell) {
|
|
@@ -61055,6 +61132,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
61055
61132
|
}));
|
|
61056
61133
|
const EMPTY_CELL = Object.freeze(createEvaluatedCell({ value: null }));
|
|
61057
61134
|
var Evaluator = class {
|
|
61135
|
+
context;
|
|
61058
61136
|
getters;
|
|
61059
61137
|
compilationParams;
|
|
61060
61138
|
evaluatedCells = new PositionMap();
|
|
@@ -63687,6 +63765,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
63687
63765
|
//#endregion
|
|
63688
63766
|
//#region src/clipboard_handlers/abstract_clipboard_handler.ts
|
|
63689
63767
|
var ClipboardHandler = class {
|
|
63768
|
+
getters;
|
|
63769
|
+
dispatch;
|
|
63690
63770
|
constructor(getters, dispatch) {
|
|
63691
63771
|
this.getters = getters;
|
|
63692
63772
|
this.dispatch = dispatch;
|
|
@@ -65981,6 +66061,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
65981
66061
|
//#endregion
|
|
65982
66062
|
//#region src/collaborative/revisions.ts
|
|
65983
66063
|
var Revision = class {
|
|
66064
|
+
rootCommand;
|
|
66065
|
+
timestamp;
|
|
65984
66066
|
id;
|
|
65985
66067
|
clientId;
|
|
65986
66068
|
_commands = [];
|
|
@@ -66017,6 +66099,9 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
66017
66099
|
//#region src/collaborative/session.ts
|
|
66018
66100
|
var ClientDisconnectedError = class extends Error {};
|
|
66019
66101
|
var Session = class extends EventBus {
|
|
66102
|
+
revisions;
|
|
66103
|
+
transportService;
|
|
66104
|
+
serverRevisionId;
|
|
66020
66105
|
/**
|
|
66021
66106
|
* Positions of the others client.
|
|
66022
66107
|
*/
|
|
@@ -69596,6 +69681,9 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
69596
69681
|
//#endregion
|
|
69597
69682
|
//#region src/helpers/internal_viewport.ts
|
|
69598
69683
|
var InternalViewport = class {
|
|
69684
|
+
getters;
|
|
69685
|
+
sheetId;
|
|
69686
|
+
boundaries;
|
|
69599
69687
|
top;
|
|
69600
69688
|
bottom;
|
|
69601
69689
|
left;
|
|
@@ -74406,6 +74494,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
74406
74494
|
return new WebClipboardWrapper(navigator.clipboard);
|
|
74407
74495
|
}
|
|
74408
74496
|
var WebClipboardWrapper = class {
|
|
74497
|
+
clipboard;
|
|
74409
74498
|
constructor(clipboard) {
|
|
74410
74499
|
this.clipboard = clipboard;
|
|
74411
74500
|
}
|
|
@@ -74677,6 +74766,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
74677
74766
|
//#endregion
|
|
74678
74767
|
//#region src/collaborative/readonly_transport_filter.ts
|
|
74679
74768
|
var ReadonlyTransportFilter = class {
|
|
74769
|
+
transportService;
|
|
74680
74770
|
constructor(transportService) {
|
|
74681
74771
|
this.transportService = transportService;
|
|
74682
74772
|
}
|
|
@@ -74708,6 +74798,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
74708
74798
|
* @param operations initial operations
|
|
74709
74799
|
*/
|
|
74710
74800
|
var Branch = class Branch {
|
|
74801
|
+
buildTransformation;
|
|
74802
|
+
operations;
|
|
74711
74803
|
constructor(buildTransformation, operations = []) {
|
|
74712
74804
|
this.buildTransformation = buildTransformation;
|
|
74713
74805
|
this.operations = operations;
|
|
@@ -74824,6 +74916,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
74824
74916
|
* to revert it).
|
|
74825
74917
|
*/
|
|
74826
74918
|
var Operation = class {
|
|
74919
|
+
id;
|
|
74920
|
+
data;
|
|
74827
74921
|
constructor(id, data) {
|
|
74828
74922
|
this.id = id;
|
|
74829
74923
|
this.data = data;
|
|
@@ -74833,6 +74927,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
74833
74927
|
}
|
|
74834
74928
|
};
|
|
74835
74929
|
var LazyOperation = class LazyOperation {
|
|
74930
|
+
id;
|
|
74931
|
+
lazyData;
|
|
74836
74932
|
constructor(id, lazyData) {
|
|
74837
74933
|
this.id = id;
|
|
74838
74934
|
this.lazyData = lazyData;
|
|
@@ -74858,6 +74954,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
74858
74954
|
* ```
|
|
74859
74955
|
*/
|
|
74860
74956
|
var OperationSequence = class OperationSequence {
|
|
74957
|
+
operations;
|
|
74861
74958
|
constructor(operations) {
|
|
74862
74959
|
this.operations = operations;
|
|
74863
74960
|
}
|
|
@@ -74933,6 +75030,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
74933
75030
|
*
|
|
74934
75031
|
*/
|
|
74935
75032
|
var Tree = class {
|
|
75033
|
+
buildTransformation;
|
|
74936
75034
|
branches;
|
|
74937
75035
|
branchingOperationIds = /* @__PURE__ */ new Map();
|
|
74938
75036
|
constructor(buildTransformation, initialBranch) {
|
|
@@ -75747,6 +75845,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
75747
75845
|
* with the new selected anchor
|
|
75748
75846
|
*/
|
|
75749
75847
|
var SelectionStreamProcessorImpl = class {
|
|
75848
|
+
getters;
|
|
75750
75849
|
stream;
|
|
75751
75850
|
/**
|
|
75752
75851
|
* "Active" anchor used as a reference to compute new anchors
|
|
@@ -81564,8 +81663,8 @@ exports.stores = stores;
|
|
|
81564
81663
|
exports.tokenColors = tokenColors;
|
|
81565
81664
|
exports.tokenize = tokenize;
|
|
81566
81665
|
|
|
81567
|
-
__info__.version = "19.2.
|
|
81568
|
-
__info__.date = "2026-05-
|
|
81569
|
-
__info__.hash = "
|
|
81666
|
+
__info__.version = "19.2.13";
|
|
81667
|
+
__info__.date = "2026-05-15T07:07:37.391Z";
|
|
81668
|
+
__info__.hash = "fece642";
|
|
81570
81669
|
|
|
81571
81670
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|