@odoo/o-spreadsheet 17.4.4 → 17.4.5
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 +75 -43
- package/dist/o-spreadsheet.d.ts +28 -13
- package/dist/o-spreadsheet.esm.js +75 -43
- package/dist/o-spreadsheet.iife.js +75 -43
- package/dist/o-spreadsheet.iife.min.js +63 -63
- 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.4.
|
|
6
|
-
* @date 2024-08-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 17.4.5
|
|
6
|
+
* @date 2024-08-19T08:12:00.492Z
|
|
7
|
+
* @hash 28579ad
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { useEnv, useSubEnv, onWillUnmount, useComponent, status, Component, useRef, onMounted, useEffect, useState, onPatched, onWillPatch, onWillUpdateProps, useExternalListener, onWillStart, xml, useChildSubEnv, markRaw, toRaw } from '@odoo/owl';
|
|
@@ -2008,6 +2008,7 @@ const coreTypes = new Set([
|
|
|
2008
2008
|
"UPDATE_CELL",
|
|
2009
2009
|
"UPDATE_CELL_POSITION",
|
|
2010
2010
|
"CLEAR_CELL",
|
|
2011
|
+
"CLEAR_CELLS",
|
|
2011
2012
|
"DELETE_CONTENT",
|
|
2012
2013
|
/** GRID SHAPE */
|
|
2013
2014
|
"ADD_COLUMNS_ROWS",
|
|
@@ -6743,13 +6744,10 @@ class CellClipboardHandler extends AbstractCellClipboardHandler {
|
|
|
6743
6744
|
* Clear the clipped zones: remove the cells and clear the formatting
|
|
6744
6745
|
*/
|
|
6745
6746
|
clearClippedZones(content) {
|
|
6746
|
-
|
|
6747
|
-
|
|
6748
|
-
|
|
6749
|
-
|
|
6750
|
-
}
|
|
6751
|
-
}
|
|
6752
|
-
}
|
|
6747
|
+
this.dispatch("CLEAR_CELLS", {
|
|
6748
|
+
sheetId: content.sheetId,
|
|
6749
|
+
target: content.zones,
|
|
6750
|
+
});
|
|
6753
6751
|
this.dispatch("CLEAR_FORMATTING", {
|
|
6754
6752
|
sheetId: content.sheetId,
|
|
6755
6753
|
target: content.zones,
|
|
@@ -7717,7 +7715,7 @@ function parse(str) {
|
|
|
7717
7715
|
}
|
|
7718
7716
|
function parseTokens(tokens) {
|
|
7719
7717
|
tokens = tokens.filter((x) => x.type !== "SPACE");
|
|
7720
|
-
if (tokens[0]
|
|
7718
|
+
if (tokens[0]?.value === "=") {
|
|
7721
7719
|
tokens.splice(0, 1);
|
|
7722
7720
|
}
|
|
7723
7721
|
const result = parseExpression(tokens);
|
|
@@ -9951,7 +9949,7 @@ class ComposerStore extends SpreadsheetStore {
|
|
|
9951
9949
|
if (pivotId && pivotCell.type !== "EMPTY" && !cell?.isFormula) {
|
|
9952
9950
|
const formulaPivotId = this.getters.getPivotFormulaId(pivotId);
|
|
9953
9951
|
const formula = createPivotFormula(formulaPivotId, pivotCell);
|
|
9954
|
-
return formula.slice(1); // strip leading =
|
|
9952
|
+
return localizeFormula(formula, this.getters.getLocale()).slice(1); // strip leading =
|
|
9955
9953
|
}
|
|
9956
9954
|
}
|
|
9957
9955
|
const range = this.getters.getRangeFromZone(sheetId, zone);
|
|
@@ -44354,6 +44352,7 @@ function convertChartData(chartData) {
|
|
|
44354
44352
|
return {
|
|
44355
44353
|
dataRange: convertExcelRangeToSheetXC(data.range, dataSetsHaveTitle),
|
|
44356
44354
|
label,
|
|
44355
|
+
backgroundColor: data.backgroundColor,
|
|
44357
44356
|
};
|
|
44358
44357
|
});
|
|
44359
44358
|
// For doughnut charts, in chartJS first dataset = outer dataset, in excel first dataset = inner dataset
|
|
@@ -45547,11 +45546,13 @@ class XlsxChartExtractor extends XlsxBaseExtractor {
|
|
|
45547
45546
|
label = { text };
|
|
45548
45547
|
}
|
|
45549
45548
|
}
|
|
45549
|
+
const color = this.extractChildAttr(chartDataElement, "c:spPr a:solidFill a:srgbClr", "val");
|
|
45550
45550
|
return {
|
|
45551
45551
|
label,
|
|
45552
45552
|
range: this.extractChildTextContent(chartDataElement, "c:val c:f", {
|
|
45553
45553
|
required: true,
|
|
45554
45554
|
}),
|
|
45555
|
+
backgroundColor: color ? `${toHex(color.asString())}` : undefined,
|
|
45555
45556
|
};
|
|
45556
45557
|
});
|
|
45557
45558
|
})
|
|
@@ -47757,6 +47758,9 @@ class CellPlugin extends CorePlugin {
|
|
|
47757
47758
|
format: "",
|
|
47758
47759
|
});
|
|
47759
47760
|
break;
|
|
47761
|
+
case "CLEAR_CELLS":
|
|
47762
|
+
this.clearCells(cmd.sheetId, cmd.target);
|
|
47763
|
+
break;
|
|
47760
47764
|
case "DELETE_CONTENT":
|
|
47761
47765
|
this.clearZones(cmd.sheetId, cmd.target);
|
|
47762
47766
|
break;
|
|
@@ -47815,6 +47819,25 @@ class CellPlugin extends CorePlugin {
|
|
|
47815
47819
|
}
|
|
47816
47820
|
}
|
|
47817
47821
|
}
|
|
47822
|
+
/**
|
|
47823
|
+
* Clear the styles, the format and the content of zones
|
|
47824
|
+
*/
|
|
47825
|
+
clearCells(sheetId, zones) {
|
|
47826
|
+
for (const zone of zones) {
|
|
47827
|
+
for (let col = zone.left; col <= zone.right; col++) {
|
|
47828
|
+
for (let row = zone.top; row <= zone.bottom; row++) {
|
|
47829
|
+
this.dispatch("UPDATE_CELL", {
|
|
47830
|
+
sheetId: sheetId,
|
|
47831
|
+
col,
|
|
47832
|
+
row,
|
|
47833
|
+
content: "",
|
|
47834
|
+
style: null,
|
|
47835
|
+
format: "",
|
|
47836
|
+
});
|
|
47837
|
+
}
|
|
47838
|
+
}
|
|
47839
|
+
}
|
|
47840
|
+
}
|
|
47818
47841
|
/**
|
|
47819
47842
|
* Copy the style of the reference column/row to the new columns/rows.
|
|
47820
47843
|
*/
|
|
@@ -51275,19 +51298,23 @@ class SheetPlugin extends CorePlugin {
|
|
|
51275
51298
|
}
|
|
51276
51299
|
}
|
|
51277
51300
|
moveCellOnColumnsDeletion(sheet, deletedColumn) {
|
|
51301
|
+
this.dispatch("CLEAR_CELLS", {
|
|
51302
|
+
sheetId: sheet.id,
|
|
51303
|
+
target: [
|
|
51304
|
+
{
|
|
51305
|
+
left: deletedColumn,
|
|
51306
|
+
top: 0,
|
|
51307
|
+
right: deletedColumn,
|
|
51308
|
+
bottom: sheet.rows.length - 1,
|
|
51309
|
+
},
|
|
51310
|
+
],
|
|
51311
|
+
});
|
|
51278
51312
|
for (let rowIndex = 0; rowIndex < sheet.rows.length; rowIndex++) {
|
|
51279
51313
|
const row = sheet.rows[rowIndex];
|
|
51280
51314
|
for (let i in row.cells) {
|
|
51281
51315
|
const colIndex = Number(i);
|
|
51282
51316
|
const cellId = row.cells[i];
|
|
51283
51317
|
if (cellId) {
|
|
51284
|
-
if (colIndex === deletedColumn) {
|
|
51285
|
-
this.dispatch("CLEAR_CELL", {
|
|
51286
|
-
sheetId: sheet.id,
|
|
51287
|
-
col: colIndex,
|
|
51288
|
-
row: rowIndex,
|
|
51289
|
-
});
|
|
51290
|
-
}
|
|
51291
51318
|
if (colIndex > deletedColumn) {
|
|
51292
51319
|
this.setNewPosition(cellId, sheet.id, colIndex - 1, rowIndex);
|
|
51293
51320
|
}
|
|
@@ -51333,22 +51360,20 @@ class SheetPlugin extends CorePlugin {
|
|
|
51333
51360
|
*
|
|
51334
51361
|
*/
|
|
51335
51362
|
moveCellOnRowsDeletion(sheet, deleteFromRow, deleteToRow) {
|
|
51363
|
+
this.dispatch("CLEAR_CELLS", {
|
|
51364
|
+
sheetId: sheet.id,
|
|
51365
|
+
target: [
|
|
51366
|
+
{
|
|
51367
|
+
left: 0,
|
|
51368
|
+
top: deleteFromRow,
|
|
51369
|
+
right: this.getters.getNumberCols(sheet.id),
|
|
51370
|
+
bottom: deleteToRow,
|
|
51371
|
+
},
|
|
51372
|
+
],
|
|
51373
|
+
});
|
|
51336
51374
|
const numberRows = deleteToRow - deleteFromRow + 1;
|
|
51337
51375
|
for (let rowIndex = 0; rowIndex < sheet.rows.length; rowIndex++) {
|
|
51338
51376
|
const row = sheet.rows[rowIndex];
|
|
51339
|
-
if (rowIndex >= deleteFromRow && rowIndex <= deleteToRow) {
|
|
51340
|
-
for (let i in row.cells) {
|
|
51341
|
-
const colIndex = Number(i);
|
|
51342
|
-
const cellId = row.cells[i];
|
|
51343
|
-
if (cellId) {
|
|
51344
|
-
this.dispatch("CLEAR_CELL", {
|
|
51345
|
-
sheetId: sheet.id,
|
|
51346
|
-
col: colIndex,
|
|
51347
|
-
row: rowIndex,
|
|
51348
|
-
});
|
|
51349
|
-
}
|
|
51350
|
-
}
|
|
51351
|
-
}
|
|
51352
51377
|
if (rowIndex > deleteToRow) {
|
|
51353
51378
|
for (let i in row.cells) {
|
|
51354
51379
|
const colIndex = Number(i);
|
|
@@ -55768,6 +55793,10 @@ class PivotUIPlugin extends UIPlugin {
|
|
|
55768
55793
|
this.setupPivot(cmd.pivotId, { recreate: true });
|
|
55769
55794
|
break;
|
|
55770
55795
|
}
|
|
55796
|
+
case "REMOVE_PIVOT": {
|
|
55797
|
+
delete this.pivots[cmd.pivotId];
|
|
55798
|
+
break;
|
|
55799
|
+
}
|
|
55771
55800
|
case "DELETE_SHEET":
|
|
55772
55801
|
case "UPDATE_CELL": {
|
|
55773
55802
|
this.unusedPivots = undefined;
|
|
@@ -57202,7 +57231,7 @@ class Session extends EventBus {
|
|
|
57202
57231
|
*/
|
|
57203
57232
|
leave(data) {
|
|
57204
57233
|
if (Object.keys(this.clients).length === 1 && this.processedRevisions.size) {
|
|
57205
|
-
this.snapshot(data);
|
|
57234
|
+
this.snapshot(data());
|
|
57206
57235
|
}
|
|
57207
57236
|
delete this.clients[this.clientId];
|
|
57208
57237
|
this.transportService.leave(this.clientId);
|
|
@@ -57624,9 +57653,7 @@ class DataCleanupPlugin extends UIPlugin {
|
|
|
57624
57653
|
if (!data) {
|
|
57625
57654
|
return;
|
|
57626
57655
|
}
|
|
57627
|
-
|
|
57628
|
-
this.dispatch("CLEAR_CELL", { col, row, sheetId });
|
|
57629
|
-
}
|
|
57656
|
+
this.dispatch("CLEAR_CELLS", { target: [zone], sheetId });
|
|
57630
57657
|
const zonePasted = {
|
|
57631
57658
|
left: zone.left,
|
|
57632
57659
|
top: zone.top,
|
|
@@ -58299,6 +58326,9 @@ class SheetUIPlugin extends UIPlugin {
|
|
|
58299
58326
|
if (showFormula && cell?.isFormula) {
|
|
58300
58327
|
return localizeFormula(cell.content, this.getters.getLocale());
|
|
58301
58328
|
}
|
|
58329
|
+
else if (showFormula && !cell?.content) {
|
|
58330
|
+
return "";
|
|
58331
|
+
}
|
|
58302
58332
|
else {
|
|
58303
58333
|
return this.getters.getEvaluatedCell(position).formattedValue;
|
|
58304
58334
|
}
|
|
@@ -58797,6 +58827,7 @@ function repeatGroupHeadersCommand(getters, cmd) {
|
|
|
58797
58827
|
const repeatCommandTransformRegistry = new Registry();
|
|
58798
58828
|
repeatCommandTransformRegistry.add("UPDATE_CELL", genericRepeat);
|
|
58799
58829
|
repeatCommandTransformRegistry.add("CLEAR_CELL", genericRepeat);
|
|
58830
|
+
repeatCommandTransformRegistry.add("CLEAR_CELLS", genericRepeat);
|
|
58800
58831
|
repeatCommandTransformRegistry.add("DELETE_CONTENT", genericRepeat);
|
|
58801
58832
|
repeatCommandTransformRegistry.add("ADD_MERGE", genericRepeat);
|
|
58802
58833
|
repeatCommandTransformRegistry.add("REMOVE_MERGE", genericRepeat);
|
|
@@ -59421,9 +59452,10 @@ class ClipboardPlugin extends UIPlugin {
|
|
|
59421
59452
|
case "DELETE_CELL": {
|
|
59422
59453
|
const { cut, paste } = this.getDeleteCellsTargets(cmd.zone, cmd.shiftDimension);
|
|
59423
59454
|
if (!isZoneValid(cut[0])) {
|
|
59424
|
-
|
|
59425
|
-
|
|
59426
|
-
|
|
59455
|
+
this.dispatch("CLEAR_CELLS", {
|
|
59456
|
+
target: [cmd.zone],
|
|
59457
|
+
sheetId: this.getters.getActiveSheetId(),
|
|
59458
|
+
});
|
|
59427
59459
|
break;
|
|
59428
59460
|
}
|
|
59429
59461
|
const copiedData = this.copy(cut);
|
|
@@ -67825,7 +67857,7 @@ class Model extends EventBus {
|
|
|
67825
67857
|
this.session.join(this.config.client);
|
|
67826
67858
|
}
|
|
67827
67859
|
leaveSession() {
|
|
67828
|
-
this.session.leave(this.exportData());
|
|
67860
|
+
this.session.leave(lazy(() => this.exportData()));
|
|
67829
67861
|
}
|
|
67830
67862
|
setupUiPlugin(Plugin) {
|
|
67831
67863
|
const plugin = new Plugin(this.uiPluginConfig);
|
|
@@ -68384,6 +68416,6 @@ const constants = {
|
|
|
68384
68416
|
export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, CommandResult, CorePlugin, DispatchResult, EvaluationError, Model, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, SpreadsheetPivotTable, UIPlugin, __info__, addFunction, addRenderingLayer, astToFormula, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, hooks, invalidateCFEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
|
|
68385
68417
|
|
|
68386
68418
|
|
|
68387
|
-
__info__.version = "17.4.
|
|
68388
|
-
__info__.date = "2024-08-
|
|
68389
|
-
__info__.hash = "
|
|
68419
|
+
__info__.version = "17.4.5";
|
|
68420
|
+
__info__.date = "2024-08-19T08:12:00.492Z";
|
|
68421
|
+
__info__.hash = "28579ad";
|
|
@@ -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.4.
|
|
6
|
-
* @date 2024-08-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 17.4.5
|
|
6
|
+
* @date 2024-08-19T08:12:00.492Z
|
|
7
|
+
* @hash 28579ad
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
(function (exports, owl) {
|
|
@@ -2009,6 +2009,7 @@
|
|
|
2009
2009
|
"UPDATE_CELL",
|
|
2010
2010
|
"UPDATE_CELL_POSITION",
|
|
2011
2011
|
"CLEAR_CELL",
|
|
2012
|
+
"CLEAR_CELLS",
|
|
2012
2013
|
"DELETE_CONTENT",
|
|
2013
2014
|
/** GRID SHAPE */
|
|
2014
2015
|
"ADD_COLUMNS_ROWS",
|
|
@@ -6744,13 +6745,10 @@
|
|
|
6744
6745
|
* Clear the clipped zones: remove the cells and clear the formatting
|
|
6745
6746
|
*/
|
|
6746
6747
|
clearClippedZones(content) {
|
|
6747
|
-
|
|
6748
|
-
|
|
6749
|
-
|
|
6750
|
-
|
|
6751
|
-
}
|
|
6752
|
-
}
|
|
6753
|
-
}
|
|
6748
|
+
this.dispatch("CLEAR_CELLS", {
|
|
6749
|
+
sheetId: content.sheetId,
|
|
6750
|
+
target: content.zones,
|
|
6751
|
+
});
|
|
6754
6752
|
this.dispatch("CLEAR_FORMATTING", {
|
|
6755
6753
|
sheetId: content.sheetId,
|
|
6756
6754
|
target: content.zones,
|
|
@@ -7718,7 +7716,7 @@
|
|
|
7718
7716
|
}
|
|
7719
7717
|
function parseTokens(tokens) {
|
|
7720
7718
|
tokens = tokens.filter((x) => x.type !== "SPACE");
|
|
7721
|
-
if (tokens[0]
|
|
7719
|
+
if (tokens[0]?.value === "=") {
|
|
7722
7720
|
tokens.splice(0, 1);
|
|
7723
7721
|
}
|
|
7724
7722
|
const result = parseExpression(tokens);
|
|
@@ -9952,7 +9950,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
9952
9950
|
if (pivotId && pivotCell.type !== "EMPTY" && !cell?.isFormula) {
|
|
9953
9951
|
const formulaPivotId = this.getters.getPivotFormulaId(pivotId);
|
|
9954
9952
|
const formula = createPivotFormula(formulaPivotId, pivotCell);
|
|
9955
|
-
return formula.slice(1); // strip leading =
|
|
9953
|
+
return localizeFormula(formula, this.getters.getLocale()).slice(1); // strip leading =
|
|
9956
9954
|
}
|
|
9957
9955
|
}
|
|
9958
9956
|
const range = this.getters.getRangeFromZone(sheetId, zone);
|
|
@@ -44355,6 +44353,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
44355
44353
|
return {
|
|
44356
44354
|
dataRange: convertExcelRangeToSheetXC(data.range, dataSetsHaveTitle),
|
|
44357
44355
|
label,
|
|
44356
|
+
backgroundColor: data.backgroundColor,
|
|
44358
44357
|
};
|
|
44359
44358
|
});
|
|
44360
44359
|
// For doughnut charts, in chartJS first dataset = outer dataset, in excel first dataset = inner dataset
|
|
@@ -45548,11 +45547,13 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
45548
45547
|
label = { text };
|
|
45549
45548
|
}
|
|
45550
45549
|
}
|
|
45550
|
+
const color = this.extractChildAttr(chartDataElement, "c:spPr a:solidFill a:srgbClr", "val");
|
|
45551
45551
|
return {
|
|
45552
45552
|
label,
|
|
45553
45553
|
range: this.extractChildTextContent(chartDataElement, "c:val c:f", {
|
|
45554
45554
|
required: true,
|
|
45555
45555
|
}),
|
|
45556
|
+
backgroundColor: color ? `${toHex(color.asString())}` : undefined,
|
|
45556
45557
|
};
|
|
45557
45558
|
});
|
|
45558
45559
|
})
|
|
@@ -47758,6 +47759,9 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
47758
47759
|
format: "",
|
|
47759
47760
|
});
|
|
47760
47761
|
break;
|
|
47762
|
+
case "CLEAR_CELLS":
|
|
47763
|
+
this.clearCells(cmd.sheetId, cmd.target);
|
|
47764
|
+
break;
|
|
47761
47765
|
case "DELETE_CONTENT":
|
|
47762
47766
|
this.clearZones(cmd.sheetId, cmd.target);
|
|
47763
47767
|
break;
|
|
@@ -47816,6 +47820,25 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
47816
47820
|
}
|
|
47817
47821
|
}
|
|
47818
47822
|
}
|
|
47823
|
+
/**
|
|
47824
|
+
* Clear the styles, the format and the content of zones
|
|
47825
|
+
*/
|
|
47826
|
+
clearCells(sheetId, zones) {
|
|
47827
|
+
for (const zone of zones) {
|
|
47828
|
+
for (let col = zone.left; col <= zone.right; col++) {
|
|
47829
|
+
for (let row = zone.top; row <= zone.bottom; row++) {
|
|
47830
|
+
this.dispatch("UPDATE_CELL", {
|
|
47831
|
+
sheetId: sheetId,
|
|
47832
|
+
col,
|
|
47833
|
+
row,
|
|
47834
|
+
content: "",
|
|
47835
|
+
style: null,
|
|
47836
|
+
format: "",
|
|
47837
|
+
});
|
|
47838
|
+
}
|
|
47839
|
+
}
|
|
47840
|
+
}
|
|
47841
|
+
}
|
|
47819
47842
|
/**
|
|
47820
47843
|
* Copy the style of the reference column/row to the new columns/rows.
|
|
47821
47844
|
*/
|
|
@@ -51276,19 +51299,23 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
51276
51299
|
}
|
|
51277
51300
|
}
|
|
51278
51301
|
moveCellOnColumnsDeletion(sheet, deletedColumn) {
|
|
51302
|
+
this.dispatch("CLEAR_CELLS", {
|
|
51303
|
+
sheetId: sheet.id,
|
|
51304
|
+
target: [
|
|
51305
|
+
{
|
|
51306
|
+
left: deletedColumn,
|
|
51307
|
+
top: 0,
|
|
51308
|
+
right: deletedColumn,
|
|
51309
|
+
bottom: sheet.rows.length - 1,
|
|
51310
|
+
},
|
|
51311
|
+
],
|
|
51312
|
+
});
|
|
51279
51313
|
for (let rowIndex = 0; rowIndex < sheet.rows.length; rowIndex++) {
|
|
51280
51314
|
const row = sheet.rows[rowIndex];
|
|
51281
51315
|
for (let i in row.cells) {
|
|
51282
51316
|
const colIndex = Number(i);
|
|
51283
51317
|
const cellId = row.cells[i];
|
|
51284
51318
|
if (cellId) {
|
|
51285
|
-
if (colIndex === deletedColumn) {
|
|
51286
|
-
this.dispatch("CLEAR_CELL", {
|
|
51287
|
-
sheetId: sheet.id,
|
|
51288
|
-
col: colIndex,
|
|
51289
|
-
row: rowIndex,
|
|
51290
|
-
});
|
|
51291
|
-
}
|
|
51292
51319
|
if (colIndex > deletedColumn) {
|
|
51293
51320
|
this.setNewPosition(cellId, sheet.id, colIndex - 1, rowIndex);
|
|
51294
51321
|
}
|
|
@@ -51334,22 +51361,20 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
51334
51361
|
*
|
|
51335
51362
|
*/
|
|
51336
51363
|
moveCellOnRowsDeletion(sheet, deleteFromRow, deleteToRow) {
|
|
51364
|
+
this.dispatch("CLEAR_CELLS", {
|
|
51365
|
+
sheetId: sheet.id,
|
|
51366
|
+
target: [
|
|
51367
|
+
{
|
|
51368
|
+
left: 0,
|
|
51369
|
+
top: deleteFromRow,
|
|
51370
|
+
right: this.getters.getNumberCols(sheet.id),
|
|
51371
|
+
bottom: deleteToRow,
|
|
51372
|
+
},
|
|
51373
|
+
],
|
|
51374
|
+
});
|
|
51337
51375
|
const numberRows = deleteToRow - deleteFromRow + 1;
|
|
51338
51376
|
for (let rowIndex = 0; rowIndex < sheet.rows.length; rowIndex++) {
|
|
51339
51377
|
const row = sheet.rows[rowIndex];
|
|
51340
|
-
if (rowIndex >= deleteFromRow && rowIndex <= deleteToRow) {
|
|
51341
|
-
for (let i in row.cells) {
|
|
51342
|
-
const colIndex = Number(i);
|
|
51343
|
-
const cellId = row.cells[i];
|
|
51344
|
-
if (cellId) {
|
|
51345
|
-
this.dispatch("CLEAR_CELL", {
|
|
51346
|
-
sheetId: sheet.id,
|
|
51347
|
-
col: colIndex,
|
|
51348
|
-
row: rowIndex,
|
|
51349
|
-
});
|
|
51350
|
-
}
|
|
51351
|
-
}
|
|
51352
|
-
}
|
|
51353
51378
|
if (rowIndex > deleteToRow) {
|
|
51354
51379
|
for (let i in row.cells) {
|
|
51355
51380
|
const colIndex = Number(i);
|
|
@@ -55769,6 +55794,10 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
55769
55794
|
this.setupPivot(cmd.pivotId, { recreate: true });
|
|
55770
55795
|
break;
|
|
55771
55796
|
}
|
|
55797
|
+
case "REMOVE_PIVOT": {
|
|
55798
|
+
delete this.pivots[cmd.pivotId];
|
|
55799
|
+
break;
|
|
55800
|
+
}
|
|
55772
55801
|
case "DELETE_SHEET":
|
|
55773
55802
|
case "UPDATE_CELL": {
|
|
55774
55803
|
this.unusedPivots = undefined;
|
|
@@ -57203,7 +57232,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
57203
57232
|
*/
|
|
57204
57233
|
leave(data) {
|
|
57205
57234
|
if (Object.keys(this.clients).length === 1 && this.processedRevisions.size) {
|
|
57206
|
-
this.snapshot(data);
|
|
57235
|
+
this.snapshot(data());
|
|
57207
57236
|
}
|
|
57208
57237
|
delete this.clients[this.clientId];
|
|
57209
57238
|
this.transportService.leave(this.clientId);
|
|
@@ -57625,9 +57654,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
57625
57654
|
if (!data) {
|
|
57626
57655
|
return;
|
|
57627
57656
|
}
|
|
57628
|
-
|
|
57629
|
-
this.dispatch("CLEAR_CELL", { col, row, sheetId });
|
|
57630
|
-
}
|
|
57657
|
+
this.dispatch("CLEAR_CELLS", { target: [zone], sheetId });
|
|
57631
57658
|
const zonePasted = {
|
|
57632
57659
|
left: zone.left,
|
|
57633
57660
|
top: zone.top,
|
|
@@ -58300,6 +58327,9 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
58300
58327
|
if (showFormula && cell?.isFormula) {
|
|
58301
58328
|
return localizeFormula(cell.content, this.getters.getLocale());
|
|
58302
58329
|
}
|
|
58330
|
+
else if (showFormula && !cell?.content) {
|
|
58331
|
+
return "";
|
|
58332
|
+
}
|
|
58303
58333
|
else {
|
|
58304
58334
|
return this.getters.getEvaluatedCell(position).formattedValue;
|
|
58305
58335
|
}
|
|
@@ -58798,6 +58828,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
58798
58828
|
const repeatCommandTransformRegistry = new Registry();
|
|
58799
58829
|
repeatCommandTransformRegistry.add("UPDATE_CELL", genericRepeat);
|
|
58800
58830
|
repeatCommandTransformRegistry.add("CLEAR_CELL", genericRepeat);
|
|
58831
|
+
repeatCommandTransformRegistry.add("CLEAR_CELLS", genericRepeat);
|
|
58801
58832
|
repeatCommandTransformRegistry.add("DELETE_CONTENT", genericRepeat);
|
|
58802
58833
|
repeatCommandTransformRegistry.add("ADD_MERGE", genericRepeat);
|
|
58803
58834
|
repeatCommandTransformRegistry.add("REMOVE_MERGE", genericRepeat);
|
|
@@ -59422,9 +59453,10 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
59422
59453
|
case "DELETE_CELL": {
|
|
59423
59454
|
const { cut, paste } = this.getDeleteCellsTargets(cmd.zone, cmd.shiftDimension);
|
|
59424
59455
|
if (!isZoneValid(cut[0])) {
|
|
59425
|
-
|
|
59426
|
-
|
|
59427
|
-
|
|
59456
|
+
this.dispatch("CLEAR_CELLS", {
|
|
59457
|
+
target: [cmd.zone],
|
|
59458
|
+
sheetId: this.getters.getActiveSheetId(),
|
|
59459
|
+
});
|
|
59428
59460
|
break;
|
|
59429
59461
|
}
|
|
59430
59462
|
const copiedData = this.copy(cut);
|
|
@@ -67826,7 +67858,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
67826
67858
|
this.session.join(this.config.client);
|
|
67827
67859
|
}
|
|
67828
67860
|
leaveSession() {
|
|
67829
|
-
this.session.leave(this.exportData());
|
|
67861
|
+
this.session.leave(lazy(() => this.exportData()));
|
|
67830
67862
|
}
|
|
67831
67863
|
setupUiPlugin(Plugin) {
|
|
67832
67864
|
const plugin = new Plugin(this.uiPluginConfig);
|
|
@@ -68428,9 +68460,9 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
68428
68460
|
exports.tokenize = tokenize;
|
|
68429
68461
|
|
|
68430
68462
|
|
|
68431
|
-
__info__.version = "17.4.
|
|
68432
|
-
__info__.date = "2024-08-
|
|
68433
|
-
__info__.hash = "
|
|
68463
|
+
__info__.version = "17.4.5";
|
|
68464
|
+
__info__.date = "2024-08-19T08:12:00.492Z";
|
|
68465
|
+
__info__.hash = "28579ad";
|
|
68434
68466
|
|
|
68435
68467
|
|
|
68436
68468
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|