@odoo/o-spreadsheet 18.3.50 → 18.3.51
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.
|
@@ -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.3.
|
|
6
|
-
* @date 2026-06-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.3.51
|
|
6
|
+
* @date 2026-06-17T08:49:41.496Z
|
|
7
|
+
* @hash 233f3ea
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
@@ -42013,9 +42013,9 @@ var FindAndReplaceStore = class extends SpreadsheetStore {
|
|
|
42013
42013
|
allSheetsMatches = [];
|
|
42014
42014
|
activeSheetMatches = [];
|
|
42015
42015
|
specificRangeMatches = [];
|
|
42016
|
+
selectedMatchPosition = null;
|
|
42016
42017
|
currentSearchRegex = null;
|
|
42017
42018
|
initialShowFormulaState;
|
|
42018
|
-
preserveSelectedMatchIndex = false;
|
|
42019
42019
|
irreplaceableMatchCount = 0;
|
|
42020
42020
|
isSearchDirty = false;
|
|
42021
42021
|
shouldFinalizeUpdateSelection = false;
|
|
@@ -42137,7 +42137,10 @@ var FindAndReplaceStore = class extends SpreadsheetStore {
|
|
|
42137
42137
|
*/
|
|
42138
42138
|
_updateSearch(toSearch, searchOptions) {
|
|
42139
42139
|
this.searchOptions = searchOptions;
|
|
42140
|
-
if (toSearch !== this.toSearch)
|
|
42140
|
+
if (toSearch !== this.toSearch) {
|
|
42141
|
+
this.selectedMatchIndex = null;
|
|
42142
|
+
this.selectedMatchPosition = null;
|
|
42143
|
+
}
|
|
42141
42144
|
this.toSearch = toSearch;
|
|
42142
42145
|
this.currentSearchRegex = getSearchRegex(this.toSearch, this.searchOptions);
|
|
42143
42146
|
this.refreshSearch({
|
|
@@ -42149,8 +42152,14 @@ var FindAndReplaceStore = class extends SpreadsheetStore {
|
|
|
42149
42152
|
* refresh the matches according to the current search options
|
|
42150
42153
|
*/
|
|
42151
42154
|
refreshSearch(options) {
|
|
42152
|
-
if (!this.preserveSelectedMatchIndex) this.selectedMatchIndex = null;
|
|
42153
42155
|
this.findMatches();
|
|
42156
|
+
if (this.selectedMatchPosition) if (this.selectedMatchPosition.sheetId !== this.getters.getActiveSheetId()) {
|
|
42157
|
+
this.selectedMatchIndex = null;
|
|
42158
|
+
this.selectedMatchPosition = null;
|
|
42159
|
+
} else {
|
|
42160
|
+
const index = this.searchMatches.findIndex((match) => match.sheetId === this.selectedMatchPosition?.sheetId && match.col === this.selectedMatchPosition?.col && match.row === this.selectedMatchPosition?.row);
|
|
42161
|
+
if (index !== -1) this.selectedMatchIndex = index;
|
|
42162
|
+
}
|
|
42154
42163
|
this.selectNextCell(0, options);
|
|
42155
42164
|
}
|
|
42156
42165
|
getSheetsInSearchOrder() {
|
|
@@ -42218,6 +42227,7 @@ var FindAndReplaceStore = class extends SpreadsheetStore {
|
|
|
42218
42227
|
const matches = this.searchMatches;
|
|
42219
42228
|
if (!matches.length) {
|
|
42220
42229
|
this.selectedMatchIndex = null;
|
|
42230
|
+
this.selectedMatchPosition = null;
|
|
42221
42231
|
return;
|
|
42222
42232
|
}
|
|
42223
42233
|
let nextIndex;
|
|
@@ -42231,14 +42241,13 @@ var FindAndReplaceStore = class extends SpreadsheetStore {
|
|
|
42231
42241
|
} else nextIndex = this.selectedMatchIndex + indexChange;
|
|
42232
42242
|
nextIndex = (nextIndex + matches.length) % matches.length;
|
|
42233
42243
|
this.selectedMatchIndex = nextIndex;
|
|
42244
|
+
this.selectedMatchPosition = matches[this.selectedMatchIndex];
|
|
42234
42245
|
const selectedMatch = matches[nextIndex];
|
|
42235
42246
|
if (options.jumpToMatchSheet && this.getters.getActiveSheetId() !== selectedMatch.sheetId) {
|
|
42236
|
-
this.preserveSelectedMatchIndex = true;
|
|
42237
42247
|
this.model.dispatch("ACTIVATE_SHEET", {
|
|
42238
42248
|
sheetIdFrom: this.getters.getActiveSheetId(),
|
|
42239
42249
|
sheetIdTo: selectedMatch.sheetId
|
|
42240
42250
|
});
|
|
42241
|
-
this.preserveSelectedMatchIndex = false;
|
|
42242
42251
|
this.isSearchDirty = false;
|
|
42243
42252
|
}
|
|
42244
42253
|
this.model.selection.getBackToDefault();
|
|
@@ -42249,7 +42258,6 @@ var FindAndReplaceStore = class extends SpreadsheetStore {
|
|
|
42249
42258
|
*/
|
|
42250
42259
|
replace() {
|
|
42251
42260
|
if (this.selectedMatchIndex === null) return;
|
|
42252
|
-
this.preserveSelectedMatchIndex = true;
|
|
42253
42261
|
this.shouldFinalizeUpdateSelection = true;
|
|
42254
42262
|
this.model.dispatch("REPLACE_SEARCH", {
|
|
42255
42263
|
searchString: this.toSearch,
|
|
@@ -42257,7 +42265,6 @@ var FindAndReplaceStore = class extends SpreadsheetStore {
|
|
|
42257
42265
|
matches: [this.searchMatches[this.selectedMatchIndex]],
|
|
42258
42266
|
searchOptions: this.searchOptions
|
|
42259
42267
|
});
|
|
42260
|
-
this.preserveSelectedMatchIndex = false;
|
|
42261
42268
|
}
|
|
42262
42269
|
/**
|
|
42263
42270
|
* Apply the replace function to all the matches one time.
|
|
@@ -46879,8 +46886,12 @@ var CellComposerStore = class extends AbstractComposerStore {
|
|
|
46879
46886
|
}
|
|
46880
46887
|
stopEdition(direction) {
|
|
46881
46888
|
if (this.canStopEdition()) {
|
|
46889
|
+
const { col, row } = this.currentEditedCell;
|
|
46882
46890
|
this._stopEdition();
|
|
46883
|
-
if (direction)
|
|
46891
|
+
if (direction) {
|
|
46892
|
+
this.model.selection.selectCell(col, row);
|
|
46893
|
+
this.model.selection.moveAnchorCell(direction, 1);
|
|
46894
|
+
}
|
|
46884
46895
|
return;
|
|
46885
46896
|
}
|
|
46886
46897
|
const editedCell = this.currentEditedCell;
|
|
@@ -72454,6 +72465,6 @@ exports.stores = stores;
|
|
|
72454
72465
|
exports.tokenColors = tokenColors;
|
|
72455
72466
|
exports.tokenize = tokenize;
|
|
72456
72467
|
|
|
72457
|
-
__info__.version = "18.3.
|
|
72458
|
-
__info__.date = "2026-06-
|
|
72459
|
-
__info__.hash = "
|
|
72468
|
+
__info__.version = "18.3.51";
|
|
72469
|
+
__info__.date = "2026-06-17T08:49:41.496Z";
|
|
72470
|
+
__info__.hash = "233f3ea";
|
package/dist/o_spreadsheet.css
CHANGED
|
@@ -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.3.
|
|
6
|
-
* @date 2026-06-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.3.51
|
|
6
|
+
* @date 2026-06-17T08:49:43.226Z
|
|
7
|
+
* @hash 233f3ea
|
|
8
8
|
*/
|
|
9
9
|
/* Originates from src/components/top_bar/top_bar.scss */
|
|
10
10
|
@media (max-width: 900px) {
|
|
@@ -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.3.
|
|
6
|
-
* @date 2026-06-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.3.51
|
|
6
|
+
* @date 2026-06-17T08:49:41.496Z
|
|
7
|
+
* @hash 233f3ea
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { App, Component, blockDom, markRaw, onMounted, onPatched, onWillPatch, onWillStart, onWillUnmount, onWillUpdateProps, status, toRaw, useChildSubEnv, useComponent, useEffect, useEnv, useExternalListener, useRef, useState, useSubEnv, xml } from "@odoo/owl";
|
|
@@ -42012,9 +42012,9 @@ var FindAndReplaceStore = class extends SpreadsheetStore {
|
|
|
42012
42012
|
allSheetsMatches = [];
|
|
42013
42013
|
activeSheetMatches = [];
|
|
42014
42014
|
specificRangeMatches = [];
|
|
42015
|
+
selectedMatchPosition = null;
|
|
42015
42016
|
currentSearchRegex = null;
|
|
42016
42017
|
initialShowFormulaState;
|
|
42017
|
-
preserveSelectedMatchIndex = false;
|
|
42018
42018
|
irreplaceableMatchCount = 0;
|
|
42019
42019
|
isSearchDirty = false;
|
|
42020
42020
|
shouldFinalizeUpdateSelection = false;
|
|
@@ -42136,7 +42136,10 @@ var FindAndReplaceStore = class extends SpreadsheetStore {
|
|
|
42136
42136
|
*/
|
|
42137
42137
|
_updateSearch(toSearch, searchOptions) {
|
|
42138
42138
|
this.searchOptions = searchOptions;
|
|
42139
|
-
if (toSearch !== this.toSearch)
|
|
42139
|
+
if (toSearch !== this.toSearch) {
|
|
42140
|
+
this.selectedMatchIndex = null;
|
|
42141
|
+
this.selectedMatchPosition = null;
|
|
42142
|
+
}
|
|
42140
42143
|
this.toSearch = toSearch;
|
|
42141
42144
|
this.currentSearchRegex = getSearchRegex(this.toSearch, this.searchOptions);
|
|
42142
42145
|
this.refreshSearch({
|
|
@@ -42148,8 +42151,14 @@ var FindAndReplaceStore = class extends SpreadsheetStore {
|
|
|
42148
42151
|
* refresh the matches according to the current search options
|
|
42149
42152
|
*/
|
|
42150
42153
|
refreshSearch(options) {
|
|
42151
|
-
if (!this.preserveSelectedMatchIndex) this.selectedMatchIndex = null;
|
|
42152
42154
|
this.findMatches();
|
|
42155
|
+
if (this.selectedMatchPosition) if (this.selectedMatchPosition.sheetId !== this.getters.getActiveSheetId()) {
|
|
42156
|
+
this.selectedMatchIndex = null;
|
|
42157
|
+
this.selectedMatchPosition = null;
|
|
42158
|
+
} else {
|
|
42159
|
+
const index = this.searchMatches.findIndex((match) => match.sheetId === this.selectedMatchPosition?.sheetId && match.col === this.selectedMatchPosition?.col && match.row === this.selectedMatchPosition?.row);
|
|
42160
|
+
if (index !== -1) this.selectedMatchIndex = index;
|
|
42161
|
+
}
|
|
42153
42162
|
this.selectNextCell(0, options);
|
|
42154
42163
|
}
|
|
42155
42164
|
getSheetsInSearchOrder() {
|
|
@@ -42217,6 +42226,7 @@ var FindAndReplaceStore = class extends SpreadsheetStore {
|
|
|
42217
42226
|
const matches = this.searchMatches;
|
|
42218
42227
|
if (!matches.length) {
|
|
42219
42228
|
this.selectedMatchIndex = null;
|
|
42229
|
+
this.selectedMatchPosition = null;
|
|
42220
42230
|
return;
|
|
42221
42231
|
}
|
|
42222
42232
|
let nextIndex;
|
|
@@ -42230,14 +42240,13 @@ var FindAndReplaceStore = class extends SpreadsheetStore {
|
|
|
42230
42240
|
} else nextIndex = this.selectedMatchIndex + indexChange;
|
|
42231
42241
|
nextIndex = (nextIndex + matches.length) % matches.length;
|
|
42232
42242
|
this.selectedMatchIndex = nextIndex;
|
|
42243
|
+
this.selectedMatchPosition = matches[this.selectedMatchIndex];
|
|
42233
42244
|
const selectedMatch = matches[nextIndex];
|
|
42234
42245
|
if (options.jumpToMatchSheet && this.getters.getActiveSheetId() !== selectedMatch.sheetId) {
|
|
42235
|
-
this.preserveSelectedMatchIndex = true;
|
|
42236
42246
|
this.model.dispatch("ACTIVATE_SHEET", {
|
|
42237
42247
|
sheetIdFrom: this.getters.getActiveSheetId(),
|
|
42238
42248
|
sheetIdTo: selectedMatch.sheetId
|
|
42239
42249
|
});
|
|
42240
|
-
this.preserveSelectedMatchIndex = false;
|
|
42241
42250
|
this.isSearchDirty = false;
|
|
42242
42251
|
}
|
|
42243
42252
|
this.model.selection.getBackToDefault();
|
|
@@ -42248,7 +42257,6 @@ var FindAndReplaceStore = class extends SpreadsheetStore {
|
|
|
42248
42257
|
*/
|
|
42249
42258
|
replace() {
|
|
42250
42259
|
if (this.selectedMatchIndex === null) return;
|
|
42251
|
-
this.preserveSelectedMatchIndex = true;
|
|
42252
42260
|
this.shouldFinalizeUpdateSelection = true;
|
|
42253
42261
|
this.model.dispatch("REPLACE_SEARCH", {
|
|
42254
42262
|
searchString: this.toSearch,
|
|
@@ -42256,7 +42264,6 @@ var FindAndReplaceStore = class extends SpreadsheetStore {
|
|
|
42256
42264
|
matches: [this.searchMatches[this.selectedMatchIndex]],
|
|
42257
42265
|
searchOptions: this.searchOptions
|
|
42258
42266
|
});
|
|
42259
|
-
this.preserveSelectedMatchIndex = false;
|
|
42260
42267
|
}
|
|
42261
42268
|
/**
|
|
42262
42269
|
* Apply the replace function to all the matches one time.
|
|
@@ -46878,8 +46885,12 @@ var CellComposerStore = class extends AbstractComposerStore {
|
|
|
46878
46885
|
}
|
|
46879
46886
|
stopEdition(direction) {
|
|
46880
46887
|
if (this.canStopEdition()) {
|
|
46888
|
+
const { col, row } = this.currentEditedCell;
|
|
46881
46889
|
this._stopEdition();
|
|
46882
|
-
if (direction)
|
|
46890
|
+
if (direction) {
|
|
46891
|
+
this.model.selection.selectCell(col, row);
|
|
46892
|
+
this.model.selection.moveAnchorCell(direction, 1);
|
|
46893
|
+
}
|
|
46883
46894
|
return;
|
|
46884
46895
|
}
|
|
46885
46896
|
const editedCell = this.currentEditedCell;
|
|
@@ -72222,6 +72233,6 @@ const chartHelpers = {
|
|
|
72222
72233
|
//#endregion
|
|
72223
72234
|
export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, CommandResult, CorePlugin, CoreViewPlugin, DispatchResult, EvaluationError, Model, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, SpreadsheetPivotTable, UIPlugin, __info__, addFunction, addRenderingLayer, astToFormula, chartHelpers, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, hooks, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
|
|
72224
72235
|
|
|
72225
|
-
__info__.version = "18.3.
|
|
72226
|
-
__info__.date = "2026-06-
|
|
72227
|
-
__info__.hash = "
|
|
72236
|
+
__info__.version = "18.3.51";
|
|
72237
|
+
__info__.date = "2026-06-17T08:49:41.496Z";
|
|
72238
|
+
__info__.hash = "233f3ea";
|
|
@@ -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.3.
|
|
6
|
-
* @date 2026-06-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.3.51
|
|
6
|
+
* @date 2026-06-17T08:49:41.496Z
|
|
7
|
+
* @hash 233f3ea
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
(function(exports, _odoo_owl) {
|
|
@@ -42014,9 +42014,9 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
42014
42014
|
allSheetsMatches = [];
|
|
42015
42015
|
activeSheetMatches = [];
|
|
42016
42016
|
specificRangeMatches = [];
|
|
42017
|
+
selectedMatchPosition = null;
|
|
42017
42018
|
currentSearchRegex = null;
|
|
42018
42019
|
initialShowFormulaState;
|
|
42019
|
-
preserveSelectedMatchIndex = false;
|
|
42020
42020
|
irreplaceableMatchCount = 0;
|
|
42021
42021
|
isSearchDirty = false;
|
|
42022
42022
|
shouldFinalizeUpdateSelection = false;
|
|
@@ -42138,7 +42138,10 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
42138
42138
|
*/
|
|
42139
42139
|
_updateSearch(toSearch, searchOptions) {
|
|
42140
42140
|
this.searchOptions = searchOptions;
|
|
42141
|
-
if (toSearch !== this.toSearch)
|
|
42141
|
+
if (toSearch !== this.toSearch) {
|
|
42142
|
+
this.selectedMatchIndex = null;
|
|
42143
|
+
this.selectedMatchPosition = null;
|
|
42144
|
+
}
|
|
42142
42145
|
this.toSearch = toSearch;
|
|
42143
42146
|
this.currentSearchRegex = getSearchRegex(this.toSearch, this.searchOptions);
|
|
42144
42147
|
this.refreshSearch({
|
|
@@ -42150,8 +42153,14 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
42150
42153
|
* refresh the matches according to the current search options
|
|
42151
42154
|
*/
|
|
42152
42155
|
refreshSearch(options) {
|
|
42153
|
-
if (!this.preserveSelectedMatchIndex) this.selectedMatchIndex = null;
|
|
42154
42156
|
this.findMatches();
|
|
42157
|
+
if (this.selectedMatchPosition) if (this.selectedMatchPosition.sheetId !== this.getters.getActiveSheetId()) {
|
|
42158
|
+
this.selectedMatchIndex = null;
|
|
42159
|
+
this.selectedMatchPosition = null;
|
|
42160
|
+
} else {
|
|
42161
|
+
const index = this.searchMatches.findIndex((match) => match.sheetId === this.selectedMatchPosition?.sheetId && match.col === this.selectedMatchPosition?.col && match.row === this.selectedMatchPosition?.row);
|
|
42162
|
+
if (index !== -1) this.selectedMatchIndex = index;
|
|
42163
|
+
}
|
|
42155
42164
|
this.selectNextCell(0, options);
|
|
42156
42165
|
}
|
|
42157
42166
|
getSheetsInSearchOrder() {
|
|
@@ -42219,6 +42228,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
42219
42228
|
const matches = this.searchMatches;
|
|
42220
42229
|
if (!matches.length) {
|
|
42221
42230
|
this.selectedMatchIndex = null;
|
|
42231
|
+
this.selectedMatchPosition = null;
|
|
42222
42232
|
return;
|
|
42223
42233
|
}
|
|
42224
42234
|
let nextIndex;
|
|
@@ -42232,14 +42242,13 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
42232
42242
|
} else nextIndex = this.selectedMatchIndex + indexChange;
|
|
42233
42243
|
nextIndex = (nextIndex + matches.length) % matches.length;
|
|
42234
42244
|
this.selectedMatchIndex = nextIndex;
|
|
42245
|
+
this.selectedMatchPosition = matches[this.selectedMatchIndex];
|
|
42235
42246
|
const selectedMatch = matches[nextIndex];
|
|
42236
42247
|
if (options.jumpToMatchSheet && this.getters.getActiveSheetId() !== selectedMatch.sheetId) {
|
|
42237
|
-
this.preserveSelectedMatchIndex = true;
|
|
42238
42248
|
this.model.dispatch("ACTIVATE_SHEET", {
|
|
42239
42249
|
sheetIdFrom: this.getters.getActiveSheetId(),
|
|
42240
42250
|
sheetIdTo: selectedMatch.sheetId
|
|
42241
42251
|
});
|
|
42242
|
-
this.preserveSelectedMatchIndex = false;
|
|
42243
42252
|
this.isSearchDirty = false;
|
|
42244
42253
|
}
|
|
42245
42254
|
this.model.selection.getBackToDefault();
|
|
@@ -42250,7 +42259,6 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
42250
42259
|
*/
|
|
42251
42260
|
replace() {
|
|
42252
42261
|
if (this.selectedMatchIndex === null) return;
|
|
42253
|
-
this.preserveSelectedMatchIndex = true;
|
|
42254
42262
|
this.shouldFinalizeUpdateSelection = true;
|
|
42255
42263
|
this.model.dispatch("REPLACE_SEARCH", {
|
|
42256
42264
|
searchString: this.toSearch,
|
|
@@ -42258,7 +42266,6 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
42258
42266
|
matches: [this.searchMatches[this.selectedMatchIndex]],
|
|
42259
42267
|
searchOptions: this.searchOptions
|
|
42260
42268
|
});
|
|
42261
|
-
this.preserveSelectedMatchIndex = false;
|
|
42262
42269
|
}
|
|
42263
42270
|
/**
|
|
42264
42271
|
* Apply the replace function to all the matches one time.
|
|
@@ -46880,8 +46887,12 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
46880
46887
|
}
|
|
46881
46888
|
stopEdition(direction) {
|
|
46882
46889
|
if (this.canStopEdition()) {
|
|
46890
|
+
const { col, row } = this.currentEditedCell;
|
|
46883
46891
|
this._stopEdition();
|
|
46884
|
-
if (direction)
|
|
46892
|
+
if (direction) {
|
|
46893
|
+
this.model.selection.selectCell(col, row);
|
|
46894
|
+
this.model.selection.moveAnchorCell(direction, 1);
|
|
46895
|
+
}
|
|
46885
46896
|
return;
|
|
46886
46897
|
}
|
|
46887
46898
|
const editedCell = this.currentEditedCell;
|
|
@@ -72271,8 +72282,8 @@ exports.stores = stores;
|
|
|
72271
72282
|
exports.tokenColors = tokenColors;
|
|
72272
72283
|
exports.tokenize = tokenize;
|
|
72273
72284
|
|
|
72274
|
-
__info__.version = "18.3.
|
|
72275
|
-
__info__.date = "2026-06-
|
|
72276
|
-
__info__.hash = "
|
|
72285
|
+
__info__.version = "18.3.51";
|
|
72286
|
+
__info__.date = "2026-06-17T08:49:41.496Z";
|
|
72287
|
+
__info__.hash = "233f3ea";
|
|
72277
72288
|
|
|
72278
72289
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|
|
@@ -1252,7 +1252,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
1252
1252
|
}
|
|
1253
1253
|
}
|
|
1254
1254
|
}
|
|
1255
|
-
`;var NR=class extends t.Component{static template=`o-spreadsheet-DataValidationPreview`;static props={onClick:Function,rule:Object};ref=(0,t.useRef)(`dvPreview`);setup(){cR(this.ref,this)}deleteDataValidation(){let e=this.env.model.getters.getActiveSheetId();this.env.model.dispatch(`REMOVE_DATA_VALIDATION_RULE`,{sheetId:e,id:this.props.rule.id})}get highlights(){return this.props.rule.ranges.map(e=>({sheetId:this.env.model.getters.getActiveSheetId(),zone:e.zone,color:_,fillAlpha:.06}))}get rangesString(){let e=this.env.model.getters.getActiveSheetId();return this.props.rule.ranges.map(t=>this.env.model.getters.getRangeString(t,e)).join(`, `)}get descriptionString(){return $.get(this.props.rule.criterion.type).getPreview(this.props.rule.criterion,this.env.model.getters)}},PR=class extends t.Component{static template=`o-spreadsheet-DataValidationPanel`;static props={onCloseSidePanel:Function};static components={DataValidationPreview:NR,DataValidationEditor:MR};state=(0,t.useState)({mode:`list`,activeRule:void 0});onPreviewClick(e){let t=this.env.model.getters.getActiveSheetId(),n=this.env.model.getters.getDataValidationRule(t,e);n&&(this.state.mode=`edit`,this.state.activeRule=n)}addDataValidationRule(){this.state.mode=`edit`,this.state.activeRule=void 0}onExitEditMode(){this.state.mode=`list`,this.state.activeRule=void 0}localizeDVRule(e){return e&&Xl(e,this.env.model.getters.getLocale())}get validationRules(){let e=this.env.model.getters.getActiveSheetId();return this.env.model.getters.getDataValidationRules(e)}};let FR=`#8B008B`;var IR=class extends ef{mutators=[`updateSearchOptions`,`updateSearchContent`,`searchFormulas`,`selectPreviousMatch`,`selectNextMatch`,`replace`];allSheetsMatches=[];activeSheetMatches=[];specificRangeMatches=[];currentSearchRegex=null;initialShowFormulaState;
|
|
1255
|
+
`;var NR=class extends t.Component{static template=`o-spreadsheet-DataValidationPreview`;static props={onClick:Function,rule:Object};ref=(0,t.useRef)(`dvPreview`);setup(){cR(this.ref,this)}deleteDataValidation(){let e=this.env.model.getters.getActiveSheetId();this.env.model.dispatch(`REMOVE_DATA_VALIDATION_RULE`,{sheetId:e,id:this.props.rule.id})}get highlights(){return this.props.rule.ranges.map(e=>({sheetId:this.env.model.getters.getActiveSheetId(),zone:e.zone,color:_,fillAlpha:.06}))}get rangesString(){let e=this.env.model.getters.getActiveSheetId();return this.props.rule.ranges.map(t=>this.env.model.getters.getRangeString(t,e)).join(`, `)}get descriptionString(){return $.get(this.props.rule.criterion.type).getPreview(this.props.rule.criterion,this.env.model.getters)}},PR=class extends t.Component{static template=`o-spreadsheet-DataValidationPanel`;static props={onCloseSidePanel:Function};static components={DataValidationPreview:NR,DataValidationEditor:MR};state=(0,t.useState)({mode:`list`,activeRule:void 0});onPreviewClick(e){let t=this.env.model.getters.getActiveSheetId(),n=this.env.model.getters.getDataValidationRule(t,e);n&&(this.state.mode=`edit`,this.state.activeRule=n)}addDataValidationRule(){this.state.mode=`edit`,this.state.activeRule=void 0}onExitEditMode(){this.state.mode=`list`,this.state.activeRule=void 0}localizeDVRule(e){return e&&Xl(e,this.env.model.getters.getLocale())}get validationRules(){let e=this.env.model.getters.getActiveSheetId();return this.env.model.getters.getDataValidationRules(e)}};let FR=`#8B008B`;var IR=class extends ef{mutators=[`updateSearchOptions`,`updateSearchContent`,`searchFormulas`,`selectPreviousMatch`,`selectNextMatch`,`replace`];allSheetsMatches=[];activeSheetMatches=[];specificRangeMatches=[];selectedMatchPosition=null;currentSearchRegex=null;initialShowFormulaState;irreplaceableMatchCount=0;isSearchDirty=!1;shouldFinalizeUpdateSelection=!1;notificationStore=this.get(dC);selectedMatchIndex=null;toSearch=``;toReplace=``;searchOptions={matchCase:!1,exactMatch:!1,searchFormulas:!1,searchScope:`activeSheet`,specificRange:void 0};constructor(e){super(e),this.initialShowFormulaState=this.model.getters.shouldShowFormulas(),this.searchOptions.searchFormulas=this.initialShowFormulaState;let t=e(uC);t.register(this),this.onDispose(()=>{this.model.dispatch(`SET_FORMULA_VISIBILITY`,{show:this.initialShowFormulaState}),t.unRegister(this)})}get searchMatches(){switch(this.searchOptions.searchScope){case`allSheets`:return this.allSheetsMatches;case`activeSheet`:return this.activeSheetMatches;case`specificRange`:return this.specificRangeMatches}}updateSearchContent(e){this._updateSearch(e,this.searchOptions)}updateSearchOptions(e){this._updateSearch(this.toSearch,{...this.searchOptions,...e})}searchFormulas(e){this.model.dispatch(`SET_FORMULA_VISIBILITY`,{show:e}),this.updateSearchOptions({searchFormulas:e})}selectPreviousMatch(){this.selectNextCell(-1,{jumpToMatchSheet:!0,updateSelection:!0})}selectNextMatch(){this.selectNextCell(1,{jumpToMatchSheet:!0,updateSelection:!0})}handle(e){switch(e.type){case`SET_FORMULA_VISIBILITY`:this.updateSearchOptions({searchFormulas:e.show});break;case`UNDO`:case`REDO`:case`REMOVE_TABLE`:case`UPDATE_FILTER`:case`REMOVE_COLUMNS_ROWS`:case`HIDE_COLUMNS_ROWS`:case`UNHIDE_COLUMNS_ROWS`:case`ADD_COLUMNS_ROWS`:case`EVALUATE_CELLS`:case`UPDATE_CELL`:this.isSearchDirty=!0;break;case`ACTIVATE_SHEET`:this.isSearchDirty=!0,this.shouldFinalizeUpdateSelection=!0,this.searchOptions.specificRange&&(this.searchOptions.specificRange={...this.searchOptions.specificRange,sheetId:this.getters.getActiveSheetId()});break;case`DELETE_SHEET`:this.searchOptions.searchScope===`specificRange`&&this.searchOptions.specificRange?.sheetId===e.sheetId&&(this.searchOptions={...this.searchOptions,specificRange:void 0}),this.isSearchDirty=!0;break;case`REPLACE_SEARCH`:for(let t of e.matches)this.replaceMatch(t,e.searchString,e.replaceWith,e.searchOptions);this.irreplaceableMatchCount>0&&this.showReplaceWarningMessage(e.matches.length,this.irreplaceableMatchCount),this.irreplaceableMatchCount=0;break}}finalize(){this.isSearchDirty&&=(this.refreshSearch({jumpToMatchSheet:!1,updateSelection:this.shouldFinalizeUpdateSelection}),this.shouldFinalizeUpdateSelection=!1,!1)}get allSheetMatchesCount(){return this.allSheetsMatches.length}get activeSheetMatchesCount(){return this.activeSheetMatches.length}get specificRangeMatchesCount(){return this.specificRangeMatches.length}_updateSearch(e,t){this.searchOptions=t,e!==this.toSearch&&(this.selectedMatchIndex=null,this.selectedMatchPosition=null),this.toSearch=e,this.currentSearchRegex=qt(this.toSearch,this.searchOptions),this.refreshSearch({jumpToMatchSheet:!0,updateSelection:!0})}refreshSearch(e){if(this.findMatches(),this.selectedMatchPosition)if(this.selectedMatchPosition.sheetId!==this.getters.getActiveSheetId())this.selectedMatchIndex=null,this.selectedMatchPosition=null;else{let e=this.searchMatches.findIndex(e=>e.sheetId===this.selectedMatchPosition?.sheetId&&e.col===this.selectedMatchPosition?.col&&e.row===this.selectedMatchPosition?.row);e!==-1&&(this.selectedMatchIndex=e)}this.selectNextCell(0,e)}getSheetsInSearchOrder(){switch(this.searchOptions.searchScope){case`allSheets`:let e=this.getters.getSheetIds(),t=e.findIndex(e=>e===this.getters.getActiveSheetId());return[e[t],...e.slice(t+1),...e.slice(0,t)];case`activeSheet`:return[this.getters.getActiveSheetId()];case`specificRange`:let n=this.searchOptions.specificRange;return n&&n?[n.sheetId]:[]}}findMatches(){let e=[];if(this.toSearch)for(let t of this.getters.getSheetIds())e.push(...this.findMatchesInSheet(t));if(this.allSheetsMatches=e,this.activeSheetMatches=e.filter(e=>e.sheetId===this.getters.getActiveSheetId()),this.searchOptions.specificRange){let{sheetId:t,zone:n}=this.searchOptions.specificRange;this.specificRangeMatches=e.filter(e=>e.sheetId===t&&vr(e.col,e.row,n))}else this.specificRangeMatches=[]}findMatchesInSheet(e){let t=[],{left:n,right:r,top:i,bottom:a}=this.getters.getSheetZone(e);for(let o=i;o<=a;o++)for(let i=n;i<=r;i++){let n=this.getters.isColHidden(e,i),r=this.getters.isRowHidden(e,o);if(n||r)continue;let a={sheetId:e,col:i,row:o};if(this.currentSearchRegex?.test(this.getSearchableString(a))){let n={sheetId:e,col:i,row:o};t.push(n)}}return t}selectNextCell(e,t){let n=this.searchMatches;if(!n.length){this.selectedMatchIndex=null,this.selectedMatchPosition=null;return}let r;if(this.selectedMatchIndex===null){let e=-1;for(let t of this.getSheetsInSearchOrder())if(e=n.findIndex(e=>e.sheetId===t),e!==-1)break;r=e}else r=this.selectedMatchIndex+e;r=(r+n.length)%n.length,this.selectedMatchIndex=r,this.selectedMatchPosition=n[this.selectedMatchIndex];let i=n[r];t.jumpToMatchSheet&&this.getters.getActiveSheetId()!==i.sheetId&&(this.model.dispatch(`ACTIVATE_SHEET`,{sheetIdFrom:this.getters.getActiveSheetId(),sheetIdTo:i.sheetId}),this.isSearchDirty=!1),this.model.selection.getBackToDefault(),t.updateSelection&&this.model.selection.selectCell(i.col,i.row)}replace(){this.selectedMatchIndex!==null&&(this.shouldFinalizeUpdateSelection=!0,this.model.dispatch(`REPLACE_SEARCH`,{searchString:this.toSearch,replaceWith:this.toReplace,matches:[this.searchMatches[this.selectedMatchIndex]],searchOptions:this.searchOptions}))}replaceAll(){this.model.dispatch(`REPLACE_SEARCH`,{searchString:this.toSearch,replaceWith:this.toReplace,matches:this.searchMatches,searchOptions:this.searchOptions})}showReplaceWarningMessage(e,t){let n=e-t;n===0?this.notificationStore.notifyUser({type:`warning`,sticky:!1,text:O(`Match(es) cannot be replaced as they are part of a formula.`)}):this.notificationStore.notifyUser({type:`warning`,sticky:!1,text:O(`%(replaceable_count)s match(es) replaced. %(irreplaceable_count)s match(es) cannot be replaced as they are part of a formula.`,{replaceable_count:n,irreplaceable_count:t})})}replaceMatch(e,t,n,r){let i=this.getters.getCell(e);if(!i?.content)return;if(i?.isFormula&&!r.searchFormulas){this.irreplaceableMatchCount++;return}let a=qt(t,r),o=new RegExp(a.source,a.flags+`g`),s=Ll(this.getters.getCellText(e,{showFormula:r.searchFormulas}).replace(o,n),this.getters.getLocale());this.model.dispatch(`UPDATE_CELL`,{...e,content:s})}getSearchableString(e){return this.getters.getCellText(e,{showFormula:this.searchOptions.searchFormulas})}get highlights(){let e=[],t=this.getters.getActiveSheetId();for(let[n,r]of this.searchMatches.entries()){if(r.sheetId!==t)continue;let i=E(r),a=this.getters.expandZone(t,i),{width:o,height:s}=this.getters.getVisibleRect(a);o>0&&s>0&&e.push({sheetId:t,zone:a,color:FR,noBorder:n!==this.selectedMatchIndex,thinLine:!0,fillAlpha:.2})}if(this.searchOptions.searchScope===`specificRange`){let n=this.searchOptions.specificRange;n&&n.sheetId===t&&e.push({sheetId:t,zone:n.zone,color:FR,noFill:!0,thinLine:!0})}return e}};H`
|
|
1256
1256
|
.o-find-and-replace {
|
|
1257
1257
|
outline: none;
|
|
1258
1258
|
height: 100%;
|
|
@@ -1631,7 +1631,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
1631
1631
|
color: white;
|
|
1632
1632
|
pointer-events: none;
|
|
1633
1633
|
}
|
|
1634
|
-
`;var gB=class extends t.Component{static template=`o-spreadsheet-ClientTag`;static props={active:Boolean,name:String,color:String,col:Number,row:Number};get tagStyle(){let{col:e,row:t,color:n}=this.props,{height:r}=this.env.model.getters.getSheetViewDimensionWithHeaders(),{x:i,y:a}=this.env.model.getters.getVisibleRect({left:e,top:t,right:e,bottom:t});return U({bottom:`${r-a+15}px`,left:`${i-1}px`,border:`1px solid ${n}`,"background-color":n})}};let _B=O(`The cell you are trying to edit has been deleted.`);var vB=class extends hC{canStopEdition(){return this.editionMode===`inactive`?!0:this.checkDataValidation()}stopEdition(e){if(this.canStopEdition()){this._stopEdition(),e&&this.model.selection.moveAnchorCell(e,1);return}let t=this.currentEditedCell,n=T(t.col,t.row),r=this.getters.getValidationRuleForCell(t);if(!r)return;let i=$.get(r.criterion.type).getErrorString(r.criterion,this.getters,t.sheetId);this.notificationStore.raiseError(O(`The data you entered in %s violates the data validation rule set on the cell:
|
|
1634
|
+
`;var gB=class extends t.Component{static template=`o-spreadsheet-ClientTag`;static props={active:Boolean,name:String,color:String,col:Number,row:Number};get tagStyle(){let{col:e,row:t,color:n}=this.props,{height:r}=this.env.model.getters.getSheetViewDimensionWithHeaders(),{x:i,y:a}=this.env.model.getters.getVisibleRect({left:e,top:t,right:e,bottom:t});return U({bottom:`${r-a+15}px`,left:`${i-1}px`,border:`1px solid ${n}`,"background-color":n})}};let _B=O(`The cell you are trying to edit has been deleted.`);var vB=class extends hC{canStopEdition(){return this.editionMode===`inactive`?!0:this.checkDataValidation()}stopEdition(e){if(this.canStopEdition()){let{col:t,row:n}=this.currentEditedCell;this._stopEdition(),e&&(this.model.selection.selectCell(t,n),this.model.selection.moveAnchorCell(e,1));return}let t=this.currentEditedCell,n=T(t.col,t.row),r=this.getters.getValidationRuleForCell(t);if(!r)return;let i=$.get(r.criterion.type).getErrorString(r.criterion,this.getters,t.sheetId);this.notificationStore.raiseError(O(`The data you entered in %s violates the data validation rule set on the cell:
|
|
1635
1635
|
%s`,n,i)),this.cancelEdition()}handle(e){switch(super.handle(e),e.type){case`SET_FORMATTING`:this.cancelEdition();break;case`ADD_COLUMNS_ROWS`:this.onAddElements(e);break;case`REMOVE_COLUMNS_ROWS`:e.dimension===`COL`?this.onColumnsRemoved(e):this.onRowsRemoved(e);break;case`ACTIVATE_SHEET`:if(en(this._currentContent)||(this._cancelEdition(),this.resetContent()),e.sheetIdFrom!==e.sheetIdTo){let t=this.getters.getActivePosition(),{col:n,row:r}=this.getters.getNextVisibleCellPosition({sheetId:e.sheetIdTo,col:t.col,row:t.row}),i=this.getters.expandZone(e.sheetIdTo,E({col:n,row:r}));this.model.selection.resetAnchor(this,{cell:{col:n,row:r},zone:i})}break;case`DELETE_SHEET`:case`UNDO`:case`REDO`:!this.getters.tryGetSheet(this.sheetId)&&this.editionMode!==`inactive`&&(this.sheetId=this.getters.getActiveSheetId(),this.resetContent(),this.cancelEditionAndActivateSheet(),this.notificationStore.raiseError(_B));break}}get placeholder(){let e=this.getters.getActivePosition(),t=this.model.getters.getArrayFormulaSpreadingOn(e);if(t)return this.getters.getCellText(t,{showFormula:!0})}get currentEditedCell(){return{sheetId:this.sheetId,col:this.col,row:this.row}}onColumnsRemoved(e){if(e.elements.includes(this.col)&&this.editionMode!==`inactive`){this.cancelEdition(),this.notificationStore.raiseError(_B);return}let{top:t,left:n}=dr({left:this.col,right:this.col,top:this.row,bottom:this.row},`left`,[...e.elements]);this.col=n,this.row=t}onRowsRemoved(e){if(e.elements.includes(this.row)&&this.editionMode!==`inactive`){this.cancelEdition(),this.notificationStore.raiseError(_B);return}let{top:t,left:n}=dr({left:this.col,right:this.col,top:this.row,bottom:this.row},`top`,[...e.elements]);this.col=n,this.row=t}onAddElements(e){let{top:t,left:n}=ur({left:this.col,right:this.col,top:this.row,bottom:this.row},e.dimension===`COL`?`left`:`top`,e.base,e.position,e.quantity);this.col=n,this.row=t}confirmEdition(e){if(e){let t=this.getters.getActiveSheetId(),n=this.getters.getEvaluatedCell({sheetId:t,col:this.col,row:this.row});n.link&&!en(e)&&(e=vt(e,n.link.url)),this.addHeadersForSpreadingFormula(e),this.model.dispatch(`UPDATE_CELL`,{...this.currentEditedCell,content:e})}else this.model.dispatch(`UPDATE_CELL`,{...this.currentEditedCell,content:``});this.model.dispatch(`AUTOFILL_TABLE_COLUMN`,{...this.currentEditedCell}),this.setContent(``)}getComposerContent(e){let t=this.getters.getLocale(),n=this.getters.getCell(e);if(n?.isFormula)return Hl(n.content,t);if(this.model.getters.getArrayFormulaSpreadingOn(e))return``;let{format:r,value:i,type:a,formattedValue:o}=this.getters.getEvaluatedCell(e);switch(a){case`empty`:return``;case`text`:case`error`:return i;case`boolean`:return o;case`number`:return r&&ls(r)?si(o,t)===null?B(i,{locale:t,format:Number.isInteger(i)?t.dateFormat:$l(t)}):o:this.numberComposerContent(i,r,t)}}numberComposerContent(e,t,n){return t?.includes(`%`)?`${cs(e*100,n.decimalSeparator)}%`:cs(e,n.decimalSeparator)}addHeadersForSpreadingFormula(e){if(!en(e))return;let t=this.getters.evaluateFormula(this.sheetId,e,{sheetId:this.sheetId,col:this.col,row:this.row});if(!A(t))return;let n=this.getters.getNumberRows(this.sheetId),r=this.getters.getNumberCols(this.sheetId),i=this.row+t[0].length-n,a=this.col+t.length-r;a>0&&this.model.dispatch(`ADD_COLUMNS_ROWS`,{sheetId:this.sheetId,sheetName:this.getters.getSheetName(this.sheetId),dimension:`COL`,base:r-1,position:`after`,quantity:a+20}),i>0&&this.model.dispatch(`ADD_COLUMNS_ROWS`,{sheetId:this.sheetId,sheetName:this.getters.getSheetName(this.sheetId),dimension:`ROW`,base:n-1,position:`after`,quantity:i+50})}checkDataValidation(){let e={sheetId:this.sheetId,col:this.col,row:this.row},t=this.getCurrentCanonicalContent(),n=en(t)?this.getters.evaluateFormula(this.sheetId,t):Ns(t,this.getters.getLocale());if(A(n))return!0;let r=this.getters.getValidationResultForCellValue(n,e);return!(!r.isValid&&r.rule.isBlocking)}evaluateCanonicalFormula(e){return this.getters.evaluateFormulaResult(this.sheetId,e,{sheetId:this.sheetId,col:this.col,row:this.row})}};let yB=3*.4*window.devicePixelRatio||1;H`
|
|
1636
1636
|
div.o-grid-composer {
|
|
1637
1637
|
z-index: ${20};
|
|
@@ -3382,4 +3382,4 @@ You can download it directly instead.`,5),sticky:!1,type:`warning`});return}r=aw
|
|
|
3382
3382
|
<Relationships xmlns="${iO.Relationships}">
|
|
3383
3383
|
<Relationship ${q(e)} />
|
|
3384
3384
|
</Relationships>
|
|
3385
|
-
`),`_rels/.rels`)}function IK(e){let t={},n=[];for(let r of e.sheets){let e=r.name.slice(0,31);e=$t(e,n,{compute:(e,t)=>e.slice(0,31-String(t).length)+t}),n.push(e),e!==r.name&&(t[r.name]=e,r.name=e)}if(!Object.keys(t).length)return e;let r=Object.keys(t).sort((e,t)=>t.length-e.length),i=JSON.stringify(e);for(let e of r){let n=RegExp(`'?${at(e)}'?!`,`g`);i=i.replaceAll(n,n=>{let r=t[e];return n.replace(e,r)})}return JSON.parse(i)}function LK(e){for(let t of e.sheets)t.tables=t.tables.filter(e=>br(ar(e.range)).numberOfRows>1);return e}var RK=class extends Hd{corePlugins=[];statefulUIPlugins=[];range;session;isReplayingCommand=!1;renderers={};status=0;config;corePluginConfig;coreViewPluginConfig;uiPluginConfig;state;selection;getters;coreGetters;uuidGenerator;handlers=[];uiHandlers=[];coreHandlers=[];constructor(e={},n={},r=[],i=new al,a=!1){let o=performance.now();console.debug(`##### Model creation #####`),super(),qi(),r=Pj(e,r);let s=Ej(e,a);this.state=new rG,this.uuidGenerator=i,this.config=this.setupConfig(n),this.session=this.setupSession(s.revisionId),this.coreGetters={},this.range=new jV(this.coreGetters),this.coreGetters.getRangeString=this.range.getRangeString.bind(this.range),this.coreGetters.getRangeFromSheetXC=this.range.getRangeFromSheetXC.bind(this.range),this.coreGetters.createAdaptedRanges=this.range.createAdaptedRanges.bind(this.range),this.coreGetters.getRangeData=this.range.getRangeData.bind(this.range),this.coreGetters.getRangeDataFromXc=this.range.getRangeDataFromXc.bind(this.range),this.coreGetters.getRangeDataFromZone=this.range.getRangeDataFromZone.bind(this.range),this.coreGetters.getRangeFromRangeData=this.range.getRangeFromRangeData.bind(this.range),this.coreGetters.getRangeFromZone=this.range.getRangeFromZone.bind(this.range),this.coreGetters.recomputeRanges=this.range.recomputeRanges.bind(this.range),this.coreGetters.isRangeValid=this.range.isRangeValid.bind(this.range),this.coreGetters.extendRange=this.range.extendRange.bind(this.range),this.coreGetters.getRangesUnion=this.range.getRangesUnion.bind(this.range),this.coreGetters.removeRangesSheetPrefix=this.range.removeRangesSheetPrefix.bind(this.range),this.coreGetters.copyFormulaStringForSheet=this.range.copyFormulaStringForSheet.bind(this.range),this.getters={isReadonly:()=>this.config.mode===`readonly`||this.config.mode===`dashboard`,isDashboard:()=>this.config.mode===`dashboard`},this.selection=new tG(this.getters),this.coreHandlers.push(this.range),this.handlers.push(this.range),this.corePluginConfig=this.setupCorePluginConfig(),this.coreViewPluginConfig=this.setupCoreViewPluginConfig(),this.uiPluginConfig=this.setupUiPluginConfig();for(let e of nW.getAll())this.setupCorePlugin(e,s);Object.assign(this.getters,this.coreGetters),this.session.loadInitialMessages(r);for(let e of aW.getAll()){let t=this.setupCoreViewPlugin(e);this.handlers.push(t),this.uiHandlers.push(t),this.coreHandlers.push(t)}for(let e of iW.getAll()){let t=this.setupUiPlugin(e);this.statefulUIPlugins.push(t),this.handlers.push(t),this.uiHandlers.push(t)}for(let e of rW.getAll()){let t=this.setupUiPlugin(e);this.handlers.push(t),this.uiHandlers.push(t)}if(this.dispatch(`START`),this.selection.observe(this,{handleEvent:()=>this.trigger(`update`)}),this.setupSessionEvents(),this.joinSession(),n.snapshotRequested||e[`[Content_Types].xml`]&&!this.getters.isReadonly()){let e=performance.now();console.debug(`Snapshot requested`),this.session.snapshot(this.exportData()),this.garbageCollectExternalResources(),console.debug(`Snapshot taken in`,performance.now()-e,`ms`)}(0,t.markRaw)(this),console.debug(`Model created in`,performance.now()-o,`ms`),console.debug(`######`)}joinSession(){this.session.join(this.config.client)}async leaveSession(){let e=this.getters.isReadonly()?void 0:kt(()=>this.exportData());await this.session.leave(e)}setupUiPlugin(e){let t=new e(this.uiPluginConfig);for(let n of e.getters){if(!(n in t))throw Error(`Invalid getter name: ${n} for plugin ${t.constructor}`);if(n in this.getters)throw Error(`Getter "${n}" is already defined.`);this.getters[n]=t[n].bind(t)}for(let n of e.layers)this.renderers[n]||(this.renderers[n]=[]),this.renderers[n].push(t);return t}setupCoreViewPlugin(e){let t=new e(this.coreViewPluginConfig);for(let n of e.getters){if(!(n in t))throw Error(`Invalid getter name: ${n} for plugin ${t.constructor}`);if(n in this.getters)throw Error(`Getter "${n}" is already defined.`);this.getters[n]=t[n].bind(t)}return t}setupCorePlugin(e,t){let n=new e(this.corePluginConfig);for(let t of e.getters){if(!(t in n))throw Error(`Invalid getter name: ${t} for plugin ${n.constructor}`);if(t in this.coreGetters)throw Error(`Getter "${t}" is already defined.`);this.coreGetters[t]=n[t].bind(n)}n.import(t),this.corePlugins.push(n),this.coreHandlers.push(n),this.handlers.push(n)}onRemoteRevisionReceived({commands:e}){for(let t of e){let e=this.status;this.status=2,this.dispatchToHandlers(this.statefulUIPlugins,t),this.status=e}this.finalize()}setupSession(e){return new iU(ZW({initialRevisionId:e,recordChanges:this.state.recordChanges.bind(this.state),dispatch:e=>{if(!this.checkDispatchAllowed(e).isSuccessful){this.dispatchToHandlers(this.coreHandlers,{type:`UNDO`,commands:[e]});return}this.isReplayingCommand=!0,this.dispatchToHandlers(this.coreHandlers,e),this.isReplayingCommand=!1}}),this.config.transportService,e)}setupSessionEvents(){this.session.on(`remote-revision-received`,this,this.onRemoteRevisionReceived),this.session.on(`revision-undone`,this,({commands:e})=>{this.dispatchFromCorePlugin(`UNDO`,{commands:e}),this.finalize()}),this.session.on(`revision-redone`,this,({commands:e})=>{this.dispatchFromCorePlugin(`REDO`,{commands:e}),this.finalize()}),this.session.on(`unexpected-revision-id`,this,()=>this.trigger(`unexpected-revision-id`)),this.session.on(`collaborative-event-received`,this,()=>{this.trigger(`update`)})}setupConfig(e){let t=e.client||{id:this.uuidGenerator.smallUuid(),name:O(`Anonymous`).toString()},n=e.transportService||new UW;return{...e,mode:e.mode||`normal`,custom:e.custom||{},external:this.setupExternalConfig(e.external||{}),transportService:n,client:t,moveClient:()=>{},snapshotRequested:!1,notifyUI:e=>this.trigger(`notify-ui`,e),raiseBlockingErrorUI:e=>this.trigger(`raise-error-ui`,{text:e}),customColors:e.customColors||[]}}setupExternalConfig(e){let t=e.loadLocales||(()=>Promise.resolve(pa));return{...e,loadLocales:t}}setupCorePluginConfig(){return{getters:this.coreGetters,stateObserver:this.state,range:this.range,dispatch:this.dispatchFromCorePlugin,canDispatch:this.canDispatch,custom:this.config.custom,external:this.config.external}}setupCoreViewPluginConfig(){return{getters:this.getters,stateObserver:this.state,selection:this.selection,moveClient:this.session.move.bind(this.session),custom:this.config.custom,uiActions:this.config,session:this.session,defaultCurrency:this.config.defaultCurrency,customColors:this.config.customColors||[],external:this.config.external}}setupUiPluginConfig(){return{getters:this.getters,stateObserver:this.state,dispatch:this.dispatch,canDispatch:this.canDispatch,selection:this.selection,moveClient:this.session.move.bind(this.session),custom:this.config.custom,uiActions:this.config,session:this.session,defaultCurrency:this.config.defaultCurrency,customColors:this.config.customColors||[],external:this.config.external}}checkDispatchAllowed(e){let t=ca(e)?this.checkDispatchAllowedCoreCommand(e):this.checkDispatchAllowedLocalCommand(e);return t.some(e=>e!==`Success`)?new ua(t.flat()):ua.Success}checkDispatchAllowedCoreCommand(e){let t=this.corePlugins.map(t=>t.allowDispatch(e));return t.push(this.range.allowDispatch(e)),t}checkDispatchAllowedLocalCommand(e){return this.uiHandlers.map(t=>t.allowDispatch(e))}finalize(){this.status=3;for(let e of this.handlers)e.finalize();this.status=0,this.trigger(`command-finalized`)}canDispatch=(e,t)=>this.checkDispatchAllowed(zK(e,t));dispatch=(e,t)=>{let n=zK(e,t),r=this.status;if(this.getters.isReadonly()&&!la(n))return new ua(`Readonly`);if(!this.session.canApplyOptimisticUpdate())return new ua(`WaitingSessionConfirmation`);switch(r){case 0:let t=this.checkDispatchAllowed(n);if(!t.isSuccessful)return this.trigger(`update`),t;this.status=1;let{changes:r,commands:i}=this.state.recordChanges(()=>{let t=performance.now();ca(n)&&this.state.addCommand(n),this.dispatchToHandlers(this.handlers,n),this.finalize();let r=performance.now()-t;r>5&&console.debug(e,r,`ms`)});this.session.save(n,i,r),this.status=0,this.trigger(`update`);break;case 1:if(ca(n)){let e=this.checkDispatchAllowed(n);if(!e.isSuccessful)return e;this.state.addCommand(n)}this.dispatchToHandlers(this.handlers,n);break;case 3:throw Error(`Cannot dispatch commands in the finalize state`);case 2:if(ca(n))throw Error(`A UI plugin cannot dispatch ${e} while handling a core command`);this.dispatchToHandlers(this.handlers,n)}return ua.Success};dispatchFromCorePlugin=(e,t)=>{let n=zK(e,t),r=this.status;this.status=2;let i=this.isReplayingCommand?this.coreHandlers:this.handlers;return this.dispatchToHandlers(i,n),this.status=r,ua.Success};dispatchToHandlers(e,t){let n=ca(t);for(let r of e)!n&&r instanceof hV||r.beforeHandle(t);for(let r of e)!n&&r instanceof hV||r.handle(t);this.trigger(`command-dispatched`,t)}drawLayer(e,t){let n=this.renderers[t];if(n)for(let r of n)e.ctx.save(),r.drawLayer(e,t),e.ctx.restore()}exportData(){let e=Vj();for(let t of this.handlers)t instanceof hV&&t.export(e);return e.revisionId=this.session.getRevisionId()||`START_REVISION`,e=b(e),e}updateMode(e){this.config.mode=e,this.trigger(`update`)}exportXLSX(){this.dispatch(`EVALUATE_CELLS`);let e=Uj();for(let t of this.handlers)t instanceof mV&&t.exportForExcel(e);return e=b(e),DK(e)}garbageCollectExternalResources(){for(let e of this.corePlugins)e.garbageCollectExternalResources()}};function zK(e,t={}){let n=b(t);return n.type=e,n}let BK={},VK={MIN_ROW_HEIGHT:10,MIN_COL_WIDTH:5,HEADER_HEIGHT:26,HEADER_WIDTH:48,BOTTOMBAR_HEIGHT:36,DEFAULT_CELL_WIDTH:96,DEFAULT_CELL_HEIGHT:23,SCROLLBAR_WIDTH:15},HK={autoCompleteProviders:oC,autofillModifiersRegistry:AC,autofillRulesRegistry:jC,cellMenuRegistry:NP,colMenuRegistry:EI,errorTypes:va,linkMenuRegistry:pM,functionRegistry:ix,featurePluginRegistry:rW,iconsOnCellRegistry:gO,statefulUIPluginRegistry:iW,coreViewsPluginRegistry:aW,corePluginRegistry:nW,rowMenuRegistry:jI,sidePanelRegistry:rB,figureRegistry:AD,chartSidePanelComponentRegistry:tR,chartComponentRegistry:zE,chartRegistry:RE,chartSubtypeRegistry:VE,topbarMenuRegistry:FI,topbarComponentRegistry:LI,clickableCellRegistry:oW,otRegistry:II,inverseCommandRegistry:ID,urlRegistry:ho,cellPopoverRegistry:VC,numberFormatMenuRegistry:DI,repeatLocalCommandTransformRegistry:RU,repeatCommandTransformRegistry:LU,clipboardHandlersRegistries:zd,pivotRegistry:xz,pivotTimeAdapterRegistry:qu,pivotSidePanelRegistry:Dz,pivotNormalizationValueRegistry:wd,supportedPivotPositionalFormulaRegistry:TC,pivotToFunctionValueRegistry:Td,migrationStepRegistry:xj,chartJsExtensionRegistry:pf},UK={arg:W,isEvaluationError:P,toBoolean:L,toJsDate:R,toNumber:F,toString:I,toNormalizedPivotValue:bd,toFunctionPivotValue:Sd,toXC:T,toZone:ar,toUnboundedZone:ir,toCartesian:Jn,numberToLetters:zn,lettersToNumber:Bn,UuidGenerator:al,formatValue:B,createCurrencyFormat:gs,ColorGenerator:Pn,computeTextWidth:Vc,createEmptyWorkbookData:Vj,createEmptySheet:Bj,createEmptyExcelSheet:Hj,rgbaToHex:mn,colorToRGBA:hn,positionToZone:E,isDefined:C,isMatrix:A,lazy:kt,genericRepeat:zU,createAction:m,createActions:f,transformRangeData:Vd,deepEquals:w,overlap:_r,union:pr,isInside:vr,deepCopy:b,expandZoneOnInsertion:lr,reduceZoneOnDeletion:fr,unquote:ct,getMaxObjectId:fd,getFunctionsFromTokens:kx,getFirstPivotFunction:SC,getNumberOfPivotFunctions:wC,parseDimension:hd,isDateOrDatetimeField:gd,makeFieldProposal:_C,insertTokenAfterArgSeparator:yC,insertTokenAfterLeftParenthesis:bC,mergeContiguousZones:zr,getPivotHighlights:NI,pivotTimeAdapter:Ju,UNDO_REDO_PIVOT_COMMANDS:vH,createPivotFormula:yd,areDomainArgsFieldsValid:vd,splitReference:ac,sanitizeSheetName:ut,getUniqueText:$t,isNumber:Li,isDateTime:ai},WK={isMarkdownLink:gt,parseMarkdownLink:yt,markdownLink:vt,openLink:bo,urlRepresentation:yo},GK={Checkbox:Xj,Section:Q,RoundColorPicker:fL,ChartDataSeries:YI,ChartErrorSection:ZI,ChartLabelRange:QI,ChartTitle:lL,ChartPanel:iR,ChartFigure:UE,ChartJsComponent:HS,Grid:fV,GridOverlay:HB,ScorecardChart:aC,LineConfigPanel:HL,BarConfigPanel:eL,PieChartDesignPanel:UL,GenericChartConfigPanel:$I,ChartWithAxisDesignPanel:_L,GaugeChartConfigPanel:xL,GaugeChartDesignPanel:IL,ScorecardChartConfigPanel:KL,ScorecardChartDesignPanel:qL,GeoChartDesignPanel:BL,RadarChartDesignPanel:WL,WaterfallChartDesignPanel:eR,ComboChartDesignPanel:vL,FunnelChartDesignPanel:bL,ChartTypePicker:nR,FigureComponent:iB,Menu:DM,Popover:CM,SelectionInput:JI,ValidationMessages:XI,AddDimensionButton:WR,PivotDimensionGranularity:JR,PivotDimensionOrder:YR,PivotDimension:qR,PivotLayoutConfigurator:$R,PivotHTMLRenderer:pV,PivotDeferUpdate:HR,PivotTitleSection:ez,CogWheelMenu:KR,TextInput:GR,SidePanelCollapsible:nL,RadioSelection:dL,GeoChartRegionSelectSection:LL},KK={useDragAndDropListItems:zI,useHighlights:lR,useHighlightsOnHover:cR},qK={useStoreProvider:qd,DependencyContainer:Ud,CellPopoverStore:nM,ComposerFocusStore:nf,CellComposerStore:vB,FindAndReplaceStore:IR,HighlightStore:uC,DelayedHoveredCellStore:tM,HoveredTableStore:BB,ModelStore:Qd,NotificationStore:dC,RendererStore:$d,SelectionInputStore:qI,SpreadsheetStore:ef,useStore:V,useLocalStore:Jd,SidePanelStore:cV,PivotSidePanelStore:Tz,PivotMeasureDisplayPanelStore:BR};function JK(e,t){return ix.add(e,t),{addFunction:(e,t)=>JK(e,t)}}let YK={DEFAULT_LOCALE:k,HIGHLIGHT_COLOR:_,PIVOT_TABLE_CONFIG:et,ChartTerms:dw},XK={...hD,...nE};e.AbstractCellClipboardHandler=gl,e.AbstractChart=US,e.AbstractFigureClipboardHandler=Ad,e.CellErrorType=j,e.CommandResult=fa,e.CorePlugin=hV,e.CoreViewPlugin=zV,e.DispatchResult=ua,e.EvaluationError=M,e.Model=RK,e.PivotRuntimeDefinition=tz,e.Registry=h,e.Revision=nU,e.SPREADSHEET_DIMENSIONS=VK,e.Spreadsheet=HW,e.SpreadsheetPivotTable=az,e.UIPlugin=xH,e.__info__=BK,e.addFunction=JK,e.addRenderingLayer=_a,e.astToFormula=zv,e.chartHelpers=XK,e.compile=bx,e.compileTokens=xx,e.components=GK,e.constants=YK,e.convertAstNodes=Fv,e.coreTypes=sa,e.findCellInNewZone=kr,e.functionCache=yx,e.helpers=UK,e.hooks=KK,e.invalidateCFEvaluationCommands=ia,e.invalidateChartEvaluationCommands=na,e.invalidateDependenciesCommands=ra,e.invalidateEvaluationCommands=ta,e.iterateAstNodes=Iv,e.links=WK,e.load=Ej,e.parse=Nv,e.parseTokens=Pv,e.readonlyAllowedCommands=oa,e.registries=HK,e.setDefaultSheetViewSize=Qe,e.setTranslationMethod=Ki,e.stores=qK,e.tokenColors=mC,e.tokenize=bl,BK.version=`18.3.50`,BK.date=`2026-06-06T06:20:54.573Z`,BK.hash=`d8ca64d`})(this.o_spreadsheet=this.o_spreadsheet||{},owl);
|
|
3385
|
+
`),`_rels/.rels`)}function IK(e){let t={},n=[];for(let r of e.sheets){let e=r.name.slice(0,31);e=$t(e,n,{compute:(e,t)=>e.slice(0,31-String(t).length)+t}),n.push(e),e!==r.name&&(t[r.name]=e,r.name=e)}if(!Object.keys(t).length)return e;let r=Object.keys(t).sort((e,t)=>t.length-e.length),i=JSON.stringify(e);for(let e of r){let n=RegExp(`'?${at(e)}'?!`,`g`);i=i.replaceAll(n,n=>{let r=t[e];return n.replace(e,r)})}return JSON.parse(i)}function LK(e){for(let t of e.sheets)t.tables=t.tables.filter(e=>br(ar(e.range)).numberOfRows>1);return e}var RK=class extends Hd{corePlugins=[];statefulUIPlugins=[];range;session;isReplayingCommand=!1;renderers={};status=0;config;corePluginConfig;coreViewPluginConfig;uiPluginConfig;state;selection;getters;coreGetters;uuidGenerator;handlers=[];uiHandlers=[];coreHandlers=[];constructor(e={},n={},r=[],i=new al,a=!1){let o=performance.now();console.debug(`##### Model creation #####`),super(),qi(),r=Pj(e,r);let s=Ej(e,a);this.state=new rG,this.uuidGenerator=i,this.config=this.setupConfig(n),this.session=this.setupSession(s.revisionId),this.coreGetters={},this.range=new jV(this.coreGetters),this.coreGetters.getRangeString=this.range.getRangeString.bind(this.range),this.coreGetters.getRangeFromSheetXC=this.range.getRangeFromSheetXC.bind(this.range),this.coreGetters.createAdaptedRanges=this.range.createAdaptedRanges.bind(this.range),this.coreGetters.getRangeData=this.range.getRangeData.bind(this.range),this.coreGetters.getRangeDataFromXc=this.range.getRangeDataFromXc.bind(this.range),this.coreGetters.getRangeDataFromZone=this.range.getRangeDataFromZone.bind(this.range),this.coreGetters.getRangeFromRangeData=this.range.getRangeFromRangeData.bind(this.range),this.coreGetters.getRangeFromZone=this.range.getRangeFromZone.bind(this.range),this.coreGetters.recomputeRanges=this.range.recomputeRanges.bind(this.range),this.coreGetters.isRangeValid=this.range.isRangeValid.bind(this.range),this.coreGetters.extendRange=this.range.extendRange.bind(this.range),this.coreGetters.getRangesUnion=this.range.getRangesUnion.bind(this.range),this.coreGetters.removeRangesSheetPrefix=this.range.removeRangesSheetPrefix.bind(this.range),this.coreGetters.copyFormulaStringForSheet=this.range.copyFormulaStringForSheet.bind(this.range),this.getters={isReadonly:()=>this.config.mode===`readonly`||this.config.mode===`dashboard`,isDashboard:()=>this.config.mode===`dashboard`},this.selection=new tG(this.getters),this.coreHandlers.push(this.range),this.handlers.push(this.range),this.corePluginConfig=this.setupCorePluginConfig(),this.coreViewPluginConfig=this.setupCoreViewPluginConfig(),this.uiPluginConfig=this.setupUiPluginConfig();for(let e of nW.getAll())this.setupCorePlugin(e,s);Object.assign(this.getters,this.coreGetters),this.session.loadInitialMessages(r);for(let e of aW.getAll()){let t=this.setupCoreViewPlugin(e);this.handlers.push(t),this.uiHandlers.push(t),this.coreHandlers.push(t)}for(let e of iW.getAll()){let t=this.setupUiPlugin(e);this.statefulUIPlugins.push(t),this.handlers.push(t),this.uiHandlers.push(t)}for(let e of rW.getAll()){let t=this.setupUiPlugin(e);this.handlers.push(t),this.uiHandlers.push(t)}if(this.dispatch(`START`),this.selection.observe(this,{handleEvent:()=>this.trigger(`update`)}),this.setupSessionEvents(),this.joinSession(),n.snapshotRequested||e[`[Content_Types].xml`]&&!this.getters.isReadonly()){let e=performance.now();console.debug(`Snapshot requested`),this.session.snapshot(this.exportData()),this.garbageCollectExternalResources(),console.debug(`Snapshot taken in`,performance.now()-e,`ms`)}(0,t.markRaw)(this),console.debug(`Model created in`,performance.now()-o,`ms`),console.debug(`######`)}joinSession(){this.session.join(this.config.client)}async leaveSession(){let e=this.getters.isReadonly()?void 0:kt(()=>this.exportData());await this.session.leave(e)}setupUiPlugin(e){let t=new e(this.uiPluginConfig);for(let n of e.getters){if(!(n in t))throw Error(`Invalid getter name: ${n} for plugin ${t.constructor}`);if(n in this.getters)throw Error(`Getter "${n}" is already defined.`);this.getters[n]=t[n].bind(t)}for(let n of e.layers)this.renderers[n]||(this.renderers[n]=[]),this.renderers[n].push(t);return t}setupCoreViewPlugin(e){let t=new e(this.coreViewPluginConfig);for(let n of e.getters){if(!(n in t))throw Error(`Invalid getter name: ${n} for plugin ${t.constructor}`);if(n in this.getters)throw Error(`Getter "${n}" is already defined.`);this.getters[n]=t[n].bind(t)}return t}setupCorePlugin(e,t){let n=new e(this.corePluginConfig);for(let t of e.getters){if(!(t in n))throw Error(`Invalid getter name: ${t} for plugin ${n.constructor}`);if(t in this.coreGetters)throw Error(`Getter "${t}" is already defined.`);this.coreGetters[t]=n[t].bind(n)}n.import(t),this.corePlugins.push(n),this.coreHandlers.push(n),this.handlers.push(n)}onRemoteRevisionReceived({commands:e}){for(let t of e){let e=this.status;this.status=2,this.dispatchToHandlers(this.statefulUIPlugins,t),this.status=e}this.finalize()}setupSession(e){return new iU(ZW({initialRevisionId:e,recordChanges:this.state.recordChanges.bind(this.state),dispatch:e=>{if(!this.checkDispatchAllowed(e).isSuccessful){this.dispatchToHandlers(this.coreHandlers,{type:`UNDO`,commands:[e]});return}this.isReplayingCommand=!0,this.dispatchToHandlers(this.coreHandlers,e),this.isReplayingCommand=!1}}),this.config.transportService,e)}setupSessionEvents(){this.session.on(`remote-revision-received`,this,this.onRemoteRevisionReceived),this.session.on(`revision-undone`,this,({commands:e})=>{this.dispatchFromCorePlugin(`UNDO`,{commands:e}),this.finalize()}),this.session.on(`revision-redone`,this,({commands:e})=>{this.dispatchFromCorePlugin(`REDO`,{commands:e}),this.finalize()}),this.session.on(`unexpected-revision-id`,this,()=>this.trigger(`unexpected-revision-id`)),this.session.on(`collaborative-event-received`,this,()=>{this.trigger(`update`)})}setupConfig(e){let t=e.client||{id:this.uuidGenerator.smallUuid(),name:O(`Anonymous`).toString()},n=e.transportService||new UW;return{...e,mode:e.mode||`normal`,custom:e.custom||{},external:this.setupExternalConfig(e.external||{}),transportService:n,client:t,moveClient:()=>{},snapshotRequested:!1,notifyUI:e=>this.trigger(`notify-ui`,e),raiseBlockingErrorUI:e=>this.trigger(`raise-error-ui`,{text:e}),customColors:e.customColors||[]}}setupExternalConfig(e){let t=e.loadLocales||(()=>Promise.resolve(pa));return{...e,loadLocales:t}}setupCorePluginConfig(){return{getters:this.coreGetters,stateObserver:this.state,range:this.range,dispatch:this.dispatchFromCorePlugin,canDispatch:this.canDispatch,custom:this.config.custom,external:this.config.external}}setupCoreViewPluginConfig(){return{getters:this.getters,stateObserver:this.state,selection:this.selection,moveClient:this.session.move.bind(this.session),custom:this.config.custom,uiActions:this.config,session:this.session,defaultCurrency:this.config.defaultCurrency,customColors:this.config.customColors||[],external:this.config.external}}setupUiPluginConfig(){return{getters:this.getters,stateObserver:this.state,dispatch:this.dispatch,canDispatch:this.canDispatch,selection:this.selection,moveClient:this.session.move.bind(this.session),custom:this.config.custom,uiActions:this.config,session:this.session,defaultCurrency:this.config.defaultCurrency,customColors:this.config.customColors||[],external:this.config.external}}checkDispatchAllowed(e){let t=ca(e)?this.checkDispatchAllowedCoreCommand(e):this.checkDispatchAllowedLocalCommand(e);return t.some(e=>e!==`Success`)?new ua(t.flat()):ua.Success}checkDispatchAllowedCoreCommand(e){let t=this.corePlugins.map(t=>t.allowDispatch(e));return t.push(this.range.allowDispatch(e)),t}checkDispatchAllowedLocalCommand(e){return this.uiHandlers.map(t=>t.allowDispatch(e))}finalize(){this.status=3;for(let e of this.handlers)e.finalize();this.status=0,this.trigger(`command-finalized`)}canDispatch=(e,t)=>this.checkDispatchAllowed(zK(e,t));dispatch=(e,t)=>{let n=zK(e,t),r=this.status;if(this.getters.isReadonly()&&!la(n))return new ua(`Readonly`);if(!this.session.canApplyOptimisticUpdate())return new ua(`WaitingSessionConfirmation`);switch(r){case 0:let t=this.checkDispatchAllowed(n);if(!t.isSuccessful)return this.trigger(`update`),t;this.status=1;let{changes:r,commands:i}=this.state.recordChanges(()=>{let t=performance.now();ca(n)&&this.state.addCommand(n),this.dispatchToHandlers(this.handlers,n),this.finalize();let r=performance.now()-t;r>5&&console.debug(e,r,`ms`)});this.session.save(n,i,r),this.status=0,this.trigger(`update`);break;case 1:if(ca(n)){let e=this.checkDispatchAllowed(n);if(!e.isSuccessful)return e;this.state.addCommand(n)}this.dispatchToHandlers(this.handlers,n);break;case 3:throw Error(`Cannot dispatch commands in the finalize state`);case 2:if(ca(n))throw Error(`A UI plugin cannot dispatch ${e} while handling a core command`);this.dispatchToHandlers(this.handlers,n)}return ua.Success};dispatchFromCorePlugin=(e,t)=>{let n=zK(e,t),r=this.status;this.status=2;let i=this.isReplayingCommand?this.coreHandlers:this.handlers;return this.dispatchToHandlers(i,n),this.status=r,ua.Success};dispatchToHandlers(e,t){let n=ca(t);for(let r of e)!n&&r instanceof hV||r.beforeHandle(t);for(let r of e)!n&&r instanceof hV||r.handle(t);this.trigger(`command-dispatched`,t)}drawLayer(e,t){let n=this.renderers[t];if(n)for(let r of n)e.ctx.save(),r.drawLayer(e,t),e.ctx.restore()}exportData(){let e=Vj();for(let t of this.handlers)t instanceof hV&&t.export(e);return e.revisionId=this.session.getRevisionId()||`START_REVISION`,e=b(e),e}updateMode(e){this.config.mode=e,this.trigger(`update`)}exportXLSX(){this.dispatch(`EVALUATE_CELLS`);let e=Uj();for(let t of this.handlers)t instanceof mV&&t.exportForExcel(e);return e=b(e),DK(e)}garbageCollectExternalResources(){for(let e of this.corePlugins)e.garbageCollectExternalResources()}};function zK(e,t={}){let n=b(t);return n.type=e,n}let BK={},VK={MIN_ROW_HEIGHT:10,MIN_COL_WIDTH:5,HEADER_HEIGHT:26,HEADER_WIDTH:48,BOTTOMBAR_HEIGHT:36,DEFAULT_CELL_WIDTH:96,DEFAULT_CELL_HEIGHT:23,SCROLLBAR_WIDTH:15},HK={autoCompleteProviders:oC,autofillModifiersRegistry:AC,autofillRulesRegistry:jC,cellMenuRegistry:NP,colMenuRegistry:EI,errorTypes:va,linkMenuRegistry:pM,functionRegistry:ix,featurePluginRegistry:rW,iconsOnCellRegistry:gO,statefulUIPluginRegistry:iW,coreViewsPluginRegistry:aW,corePluginRegistry:nW,rowMenuRegistry:jI,sidePanelRegistry:rB,figureRegistry:AD,chartSidePanelComponentRegistry:tR,chartComponentRegistry:zE,chartRegistry:RE,chartSubtypeRegistry:VE,topbarMenuRegistry:FI,topbarComponentRegistry:LI,clickableCellRegistry:oW,otRegistry:II,inverseCommandRegistry:ID,urlRegistry:ho,cellPopoverRegistry:VC,numberFormatMenuRegistry:DI,repeatLocalCommandTransformRegistry:RU,repeatCommandTransformRegistry:LU,clipboardHandlersRegistries:zd,pivotRegistry:xz,pivotTimeAdapterRegistry:qu,pivotSidePanelRegistry:Dz,pivotNormalizationValueRegistry:wd,supportedPivotPositionalFormulaRegistry:TC,pivotToFunctionValueRegistry:Td,migrationStepRegistry:xj,chartJsExtensionRegistry:pf},UK={arg:W,isEvaluationError:P,toBoolean:L,toJsDate:R,toNumber:F,toString:I,toNormalizedPivotValue:bd,toFunctionPivotValue:Sd,toXC:T,toZone:ar,toUnboundedZone:ir,toCartesian:Jn,numberToLetters:zn,lettersToNumber:Bn,UuidGenerator:al,formatValue:B,createCurrencyFormat:gs,ColorGenerator:Pn,computeTextWidth:Vc,createEmptyWorkbookData:Vj,createEmptySheet:Bj,createEmptyExcelSheet:Hj,rgbaToHex:mn,colorToRGBA:hn,positionToZone:E,isDefined:C,isMatrix:A,lazy:kt,genericRepeat:zU,createAction:m,createActions:f,transformRangeData:Vd,deepEquals:w,overlap:_r,union:pr,isInside:vr,deepCopy:b,expandZoneOnInsertion:lr,reduceZoneOnDeletion:fr,unquote:ct,getMaxObjectId:fd,getFunctionsFromTokens:kx,getFirstPivotFunction:SC,getNumberOfPivotFunctions:wC,parseDimension:hd,isDateOrDatetimeField:gd,makeFieldProposal:_C,insertTokenAfterArgSeparator:yC,insertTokenAfterLeftParenthesis:bC,mergeContiguousZones:zr,getPivotHighlights:NI,pivotTimeAdapter:Ju,UNDO_REDO_PIVOT_COMMANDS:vH,createPivotFormula:yd,areDomainArgsFieldsValid:vd,splitReference:ac,sanitizeSheetName:ut,getUniqueText:$t,isNumber:Li,isDateTime:ai},WK={isMarkdownLink:gt,parseMarkdownLink:yt,markdownLink:vt,openLink:bo,urlRepresentation:yo},GK={Checkbox:Xj,Section:Q,RoundColorPicker:fL,ChartDataSeries:YI,ChartErrorSection:ZI,ChartLabelRange:QI,ChartTitle:lL,ChartPanel:iR,ChartFigure:UE,ChartJsComponent:HS,Grid:fV,GridOverlay:HB,ScorecardChart:aC,LineConfigPanel:HL,BarConfigPanel:eL,PieChartDesignPanel:UL,GenericChartConfigPanel:$I,ChartWithAxisDesignPanel:_L,GaugeChartConfigPanel:xL,GaugeChartDesignPanel:IL,ScorecardChartConfigPanel:KL,ScorecardChartDesignPanel:qL,GeoChartDesignPanel:BL,RadarChartDesignPanel:WL,WaterfallChartDesignPanel:eR,ComboChartDesignPanel:vL,FunnelChartDesignPanel:bL,ChartTypePicker:nR,FigureComponent:iB,Menu:DM,Popover:CM,SelectionInput:JI,ValidationMessages:XI,AddDimensionButton:WR,PivotDimensionGranularity:JR,PivotDimensionOrder:YR,PivotDimension:qR,PivotLayoutConfigurator:$R,PivotHTMLRenderer:pV,PivotDeferUpdate:HR,PivotTitleSection:ez,CogWheelMenu:KR,TextInput:GR,SidePanelCollapsible:nL,RadioSelection:dL,GeoChartRegionSelectSection:LL},KK={useDragAndDropListItems:zI,useHighlights:lR,useHighlightsOnHover:cR},qK={useStoreProvider:qd,DependencyContainer:Ud,CellPopoverStore:nM,ComposerFocusStore:nf,CellComposerStore:vB,FindAndReplaceStore:IR,HighlightStore:uC,DelayedHoveredCellStore:tM,HoveredTableStore:BB,ModelStore:Qd,NotificationStore:dC,RendererStore:$d,SelectionInputStore:qI,SpreadsheetStore:ef,useStore:V,useLocalStore:Jd,SidePanelStore:cV,PivotSidePanelStore:Tz,PivotMeasureDisplayPanelStore:BR};function JK(e,t){return ix.add(e,t),{addFunction:(e,t)=>JK(e,t)}}let YK={DEFAULT_LOCALE:k,HIGHLIGHT_COLOR:_,PIVOT_TABLE_CONFIG:et,ChartTerms:dw},XK={...hD,...nE};e.AbstractCellClipboardHandler=gl,e.AbstractChart=US,e.AbstractFigureClipboardHandler=Ad,e.CellErrorType=j,e.CommandResult=fa,e.CorePlugin=hV,e.CoreViewPlugin=zV,e.DispatchResult=ua,e.EvaluationError=M,e.Model=RK,e.PivotRuntimeDefinition=tz,e.Registry=h,e.Revision=nU,e.SPREADSHEET_DIMENSIONS=VK,e.Spreadsheet=HW,e.SpreadsheetPivotTable=az,e.UIPlugin=xH,e.__info__=BK,e.addFunction=JK,e.addRenderingLayer=_a,e.astToFormula=zv,e.chartHelpers=XK,e.compile=bx,e.compileTokens=xx,e.components=GK,e.constants=YK,e.convertAstNodes=Fv,e.coreTypes=sa,e.findCellInNewZone=kr,e.functionCache=yx,e.helpers=UK,e.hooks=KK,e.invalidateCFEvaluationCommands=ia,e.invalidateChartEvaluationCommands=na,e.invalidateDependenciesCommands=ra,e.invalidateEvaluationCommands=ta,e.iterateAstNodes=Iv,e.links=WK,e.load=Ej,e.parse=Nv,e.parseTokens=Pv,e.readonlyAllowedCommands=oa,e.registries=HK,e.setDefaultSheetViewSize=Qe,e.setTranslationMethod=Ki,e.stores=qK,e.tokenColors=mC,e.tokenize=bl,BK.version=`18.3.51`,BK.date=`2026-06-17T08:49:41.496Z`,BK.hash=`233f3ea`})(this.o_spreadsheet=this.o_spreadsheet||{},owl);
|
package/dist/o_spreadsheet.xml
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
This file is generated by o-spreadsheet build tools. Do not edit it.
|
|
3
3
|
@see https://github.com/odoo/o-spreadsheet
|
|
4
|
-
@version 18.3.
|
|
5
|
-
@date 2026-06-
|
|
6
|
-
@hash
|
|
4
|
+
@version 18.3.51
|
|
5
|
+
@date 2026-06-17T08:49:42.326Z
|
|
6
|
+
@hash 233f3ea
|
|
7
7
|
-->
|
|
8
8
|
<odoo>
|
|
9
9
|
<t t-name="o-spreadsheet-ValidationMessages">
|