@odoo/o-spreadsheet 19.0.44 → 19.0.46
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.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 19.0.
|
|
6
|
-
* @date 2026-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.0.46
|
|
6
|
+
* @date 2026-08-10T12:30:50.771Z
|
|
7
|
+
* @hash b721d1f
|
|
8
8
|
*/
|
|
9
9
|
/* Originates from src/components/top_bar/top_bar.scss */
|
|
10
10
|
@media (max-width: 1200px) {
|
|
@@ -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.0.
|
|
6
|
-
* @date 2026-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.0.46
|
|
6
|
+
* @date 2026-08-10T12:30:49.160Z
|
|
7
|
+
* @hash b721d1f
|
|
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";
|
|
@@ -3108,19 +3108,58 @@ function applyVectorization(formula, args, acceptToVectorize = void 0) {
|
|
|
3108
3108
|
}
|
|
3109
3109
|
}
|
|
3110
3110
|
if (countVectorizedCol === 1 && countVectorizedRow === 1) return formula(...args);
|
|
3111
|
-
const
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3111
|
+
const argsBuffer = new Array(args.length);
|
|
3112
|
+
const argGetters = [];
|
|
3113
|
+
const vectorizedIndices = [];
|
|
3114
|
+
for (let k = 0; k < args.length; k++) {
|
|
3115
|
+
const arg = args[k];
|
|
3116
|
+
switch (vectorArgsType?.[k]) {
|
|
3117
|
+
case "matrix":
|
|
3118
|
+
argGetters.push((i, j) => arg[i][j]);
|
|
3119
|
+
vectorizedIndices.push(k);
|
|
3120
|
+
break;
|
|
3121
|
+
case "horizontal":
|
|
3122
|
+
argGetters.push((i) => arg[i][0]);
|
|
3123
|
+
vectorizedIndices.push(k);
|
|
3124
|
+
break;
|
|
3125
|
+
case "vertical":
|
|
3126
|
+
argGetters.push((_i, j) => arg[0][j]);
|
|
3127
|
+
vectorizedIndices.push(k);
|
|
3128
|
+
break;
|
|
3129
|
+
case void 0:
|
|
3130
|
+
argsBuffer[k] = arg;
|
|
3131
|
+
break;
|
|
3117
3132
|
}
|
|
3118
|
-
}
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3133
|
+
}
|
|
3134
|
+
const nbVectorized = vectorizedIndices.length;
|
|
3135
|
+
let callFormula;
|
|
3136
|
+
switch (argsBuffer.length) {
|
|
3137
|
+
case 1:
|
|
3138
|
+
callFormula = () => formula(argsBuffer[0]);
|
|
3139
|
+
break;
|
|
3140
|
+
case 2:
|
|
3141
|
+
callFormula = () => formula(argsBuffer[0], argsBuffer[1]);
|
|
3142
|
+
break;
|
|
3143
|
+
case 3:
|
|
3144
|
+
callFormula = () => formula(argsBuffer[0], argsBuffer[1], argsBuffer[2]);
|
|
3145
|
+
break;
|
|
3146
|
+
default: callFormula = () => formula(...argsBuffer);
|
|
3147
|
+
}
|
|
3148
|
+
const result = new Array(countVectorizedCol);
|
|
3149
|
+
for (let col = 0; col < countVectorizedCol; col++) {
|
|
3150
|
+
const column = new Array(countVectorizedRow);
|
|
3151
|
+
result[col] = column;
|
|
3152
|
+
for (let row = 0; row < countVectorizedRow; row++) {
|
|
3153
|
+
if (col > vectorizedColLimit - 1 || row > vectorizedRowLimit - 1) {
|
|
3154
|
+
column[row] = new NotAvailableError(_t("Array arguments to [[FUNCTION_NAME]] are of different size."));
|
|
3155
|
+
continue;
|
|
3156
|
+
}
|
|
3157
|
+
for (let k = 0; k < nbVectorized; k++) argsBuffer[vectorizedIndices[k]] = argGetters[k](col, row);
|
|
3158
|
+
const singleCellComputeResult = callFormula();
|
|
3159
|
+
column[row] = isMatrix(singleCellComputeResult) ? singleCellComputeResult[0][0] : singleCellComputeResult;
|
|
3160
|
+
}
|
|
3161
|
+
}
|
|
3162
|
+
return result;
|
|
3124
3163
|
}
|
|
3125
3164
|
/**
|
|
3126
3165
|
* This function allows to visit arguments and stop the visit if necessary.
|
|
@@ -18510,12 +18549,15 @@ for (const category of categories) {
|
|
|
18510
18549
|
}
|
|
18511
18550
|
}
|
|
18512
18551
|
function createComputeFunction(descr) {
|
|
18552
|
+
let currentArgDefinitions = [];
|
|
18513
18553
|
function vectorizedCompute(...args) {
|
|
18514
18554
|
const acceptToVectorize = [];
|
|
18555
|
+
currentArgDefinitions = new Array(args.length);
|
|
18515
18556
|
const getArgToFocus = argTargeting(descr, args.length);
|
|
18516
18557
|
for (let i = 0; i < args.length; i++) {
|
|
18517
18558
|
const argIndex = getArgToFocus(i) ?? -1;
|
|
18518
18559
|
const argDefinition = descr.args[argIndex];
|
|
18560
|
+
currentArgDefinitions[i] = argDefinition;
|
|
18519
18561
|
const arg = args[i];
|
|
18520
18562
|
if (!isMatrix(arg) && argDefinition.acceptMatrixOnly) throw new BadExpressionError(_t("Function %s expects the parameter '%s' to be reference to a cell or range.", descr.name, (i + 1).toString()));
|
|
18521
18563
|
acceptToVectorize.push(!argDefinition.acceptMatrix);
|
|
@@ -18530,8 +18572,7 @@ function createComputeFunction(descr) {
|
|
|
18530
18572
|
function errorHandlingCompute(...args) {
|
|
18531
18573
|
for (let i = 0; i < args.length; i++) {
|
|
18532
18574
|
const arg = args[i];
|
|
18533
|
-
|
|
18534
|
-
if (!descr.args[getArgToFocus(i) || i].acceptErrors && !isMatrix(arg) && isEvaluationError(arg?.value)) return arg;
|
|
18575
|
+
if (!currentArgDefinitions[i].acceptErrors && !isMatrix(arg) && isEvaluationError(arg?.value)) return arg;
|
|
18535
18576
|
}
|
|
18536
18577
|
try {
|
|
18537
18578
|
return computeFunctionToObject.apply(this, args);
|
|
@@ -28234,7 +28275,7 @@ var FigureComponent = class extends Component {
|
|
|
28234
28275
|
case "ArrowLeft":
|
|
28235
28276
|
case "ArrowRight":
|
|
28236
28277
|
case "ArrowUp":
|
|
28237
|
-
const { col, row, offset } = this.postionInBoundary(this.props.figureUI, ev.key);
|
|
28278
|
+
const { col, row, offset } = this.postionInBoundary(this.env.model.getters.getActiveSheetId(), this.props.figureUI, ev.key);
|
|
28238
28279
|
this.env.model.dispatch("UPDATE_FIGURE", {
|
|
28239
28280
|
sheetId: this.env.model.getters.getActiveSheetId(),
|
|
28240
28281
|
figureId: this.props.figureUI.id,
|
|
@@ -28258,34 +28299,52 @@ var FigureComponent = class extends Component {
|
|
|
28258
28299
|
break;
|
|
28259
28300
|
}
|
|
28260
28301
|
}
|
|
28261
|
-
postionInBoundary(
|
|
28262
|
-
|
|
28263
|
-
let { col, row, offset } = position;
|
|
28302
|
+
postionInBoundary(sheetId, figure, key) {
|
|
28303
|
+
let { col, row, offset } = figure;
|
|
28264
28304
|
offset = { ...offset };
|
|
28305
|
+
const maxAnchor = this.env.model.getters.getMaxAnchorOffset(sheetId, figure.height, figure.width);
|
|
28265
28306
|
switch (key) {
|
|
28266
28307
|
case "ArrowUp":
|
|
28267
28308
|
if (offset.y === 0) {
|
|
28268
28309
|
row--;
|
|
28310
|
+
while (row > 0 && this.env.model.getters.isRowHiddenByUser(sheetId, row)) row--;
|
|
28269
28311
|
offset.y = this.env.model.getters.getRowSize(sheetId, row) - 1;
|
|
28270
28312
|
} else offset.y--;
|
|
28271
28313
|
break;
|
|
28272
28314
|
case "ArrowLeft":
|
|
28273
28315
|
if (offset.x === 0) {
|
|
28274
28316
|
col--;
|
|
28317
|
+
while (col > 0 && this.env.model.getters.isColHiddenByUser(sheetId, col)) col--;
|
|
28275
28318
|
offset.x = this.env.model.getters.getColSize(sheetId, col) - 1;
|
|
28276
28319
|
} else offset.x--;
|
|
28277
28320
|
break;
|
|
28278
28321
|
case "ArrowDown":
|
|
28279
28322
|
if (offset.y === this.env.model.getters.getRowSize(sheetId, row)) {
|
|
28280
28323
|
row++;
|
|
28324
|
+
while (row <= maxAnchor.row && this.env.model.getters.isRowHiddenByUser(sheetId, row)) row++;
|
|
28281
28325
|
offset.y = 0;
|
|
28282
28326
|
} else offset.y++;
|
|
28283
28327
|
break;
|
|
28284
28328
|
case "ArrowRight": if (offset.x === this.env.model.getters.getColSize(sheetId, row)) {
|
|
28285
28329
|
col++;
|
|
28330
|
+
while (col <= maxAnchor.col && this.env.model.getters.isColHiddenByUser(sheetId, col)) col++;
|
|
28286
28331
|
offset.x = 0;
|
|
28287
28332
|
} else offset.x++;
|
|
28288
28333
|
}
|
|
28334
|
+
if (col < 0) {
|
|
28335
|
+
col = 0;
|
|
28336
|
+
offset.x = 0;
|
|
28337
|
+
} else if (col > maxAnchor.col || col === maxAnchor.col && offset.x > maxAnchor.offset.x) {
|
|
28338
|
+
col = maxAnchor.col;
|
|
28339
|
+
offset.x = maxAnchor.offset.x;
|
|
28340
|
+
}
|
|
28341
|
+
if (row < 0) {
|
|
28342
|
+
row = 0;
|
|
28343
|
+
offset.y = 0;
|
|
28344
|
+
} else if (row > maxAnchor.row || row === maxAnchor.row && offset.y > maxAnchor.offset.y) {
|
|
28345
|
+
row = maxAnchor.row;
|
|
28346
|
+
offset.y = maxAnchor.offset.y;
|
|
28347
|
+
}
|
|
28289
28348
|
return {
|
|
28290
28349
|
col,
|
|
28291
28350
|
row,
|
|
@@ -67013,7 +67072,7 @@ var SheetUIPlugin = class extends UIPlugin {
|
|
|
67013
67072
|
if (contentWidth === 0) return 0;
|
|
67014
67073
|
contentWidth += 2 * 4;
|
|
67015
67074
|
if (style.wrapping === "wrap") {
|
|
67016
|
-
const colWidth = this.getters.getColSize(
|
|
67075
|
+
const colWidth = this.getters.getColSize(position.sheetId, position.col);
|
|
67017
67076
|
return Math.min(colWidth, contentWidth);
|
|
67018
67077
|
}
|
|
67019
67078
|
return contentWidth;
|
|
@@ -71277,6 +71336,10 @@ function inverseCreateFigure(cmd) {
|
|
|
71277
71336
|
}
|
|
71278
71337
|
function inverseCreateChart(cmd) {
|
|
71279
71338
|
return [{
|
|
71339
|
+
type: "DELETE_CHART",
|
|
71340
|
+
chartId: cmd.chartId,
|
|
71341
|
+
sheetId: cmd.sheetId
|
|
71342
|
+
}, {
|
|
71280
71343
|
type: "DELETE_FIGURE",
|
|
71281
71344
|
figureId: cmd.figureId,
|
|
71282
71345
|
sheetId: cmd.sheetId
|
|
@@ -72901,6 +72964,7 @@ var SpreadsheetDashboard = class extends Component {
|
|
|
72901
72964
|
return toRaw(this.clickableCellsStore.clickableCells);
|
|
72902
72965
|
}
|
|
72903
72966
|
selectClickableCell(ev, clickableCell) {
|
|
72967
|
+
if (![0, 1].includes(ev.button)) return;
|
|
72904
72968
|
const { position, action } = clickableCell;
|
|
72905
72969
|
action(position, this.env, isMiddleClickOrCtrlClick(ev));
|
|
72906
72970
|
}
|
|
@@ -79375,6 +79439,6 @@ const chartHelpers = {
|
|
|
79375
79439
|
//#endregion
|
|
79376
79440
|
export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, ClientDisconnectedError, CommandResult, CorePlugin, CoreViewPlugin, DispatchResult, EvaluationError, LocalTransportService, Model, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, SpreadsheetPivotTable, UIPlugin, __info__, addFunction, addRenderingLayer, astToFormula, chartHelpers, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, getCaretDownSvg, getCaretUpSvg, helpers, hooks, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
|
|
79377
79441
|
|
|
79378
|
-
__info__.version = "19.0.
|
|
79379
|
-
__info__.date = "2026-
|
|
79380
|
-
__info__.hash = "
|
|
79442
|
+
__info__.version = "19.0.46";
|
|
79443
|
+
__info__.date = "2026-08-10T12:30:49.160Z";
|
|
79444
|
+
__info__.hash = "b721d1f";
|
|
@@ -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.0.
|
|
6
|
-
* @date 2026-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.0.46
|
|
6
|
+
* @date 2026-08-10T12:30:49.160Z
|
|
7
|
+
* @hash b721d1f
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
(function(exports, _odoo_owl) {
|
|
@@ -3110,19 +3110,58 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
3110
3110
|
}
|
|
3111
3111
|
}
|
|
3112
3112
|
if (countVectorizedCol === 1 && countVectorizedRow === 1) return formula(...args);
|
|
3113
|
-
const
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3113
|
+
const argsBuffer = new Array(args.length);
|
|
3114
|
+
const argGetters = [];
|
|
3115
|
+
const vectorizedIndices = [];
|
|
3116
|
+
for (let k = 0; k < args.length; k++) {
|
|
3117
|
+
const arg = args[k];
|
|
3118
|
+
switch (vectorArgsType?.[k]) {
|
|
3119
|
+
case "matrix":
|
|
3120
|
+
argGetters.push((i, j) => arg[i][j]);
|
|
3121
|
+
vectorizedIndices.push(k);
|
|
3122
|
+
break;
|
|
3123
|
+
case "horizontal":
|
|
3124
|
+
argGetters.push((i) => arg[i][0]);
|
|
3125
|
+
vectorizedIndices.push(k);
|
|
3126
|
+
break;
|
|
3127
|
+
case "vertical":
|
|
3128
|
+
argGetters.push((_i, j) => arg[0][j]);
|
|
3129
|
+
vectorizedIndices.push(k);
|
|
3130
|
+
break;
|
|
3131
|
+
case void 0:
|
|
3132
|
+
argsBuffer[k] = arg;
|
|
3133
|
+
break;
|
|
3119
3134
|
}
|
|
3120
|
-
}
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3135
|
+
}
|
|
3136
|
+
const nbVectorized = vectorizedIndices.length;
|
|
3137
|
+
let callFormula;
|
|
3138
|
+
switch (argsBuffer.length) {
|
|
3139
|
+
case 1:
|
|
3140
|
+
callFormula = () => formula(argsBuffer[0]);
|
|
3141
|
+
break;
|
|
3142
|
+
case 2:
|
|
3143
|
+
callFormula = () => formula(argsBuffer[0], argsBuffer[1]);
|
|
3144
|
+
break;
|
|
3145
|
+
case 3:
|
|
3146
|
+
callFormula = () => formula(argsBuffer[0], argsBuffer[1], argsBuffer[2]);
|
|
3147
|
+
break;
|
|
3148
|
+
default: callFormula = () => formula(...argsBuffer);
|
|
3149
|
+
}
|
|
3150
|
+
const result = new Array(countVectorizedCol);
|
|
3151
|
+
for (let col = 0; col < countVectorizedCol; col++) {
|
|
3152
|
+
const column = new Array(countVectorizedRow);
|
|
3153
|
+
result[col] = column;
|
|
3154
|
+
for (let row = 0; row < countVectorizedRow; row++) {
|
|
3155
|
+
if (col > vectorizedColLimit - 1 || row > vectorizedRowLimit - 1) {
|
|
3156
|
+
column[row] = new NotAvailableError(_t("Array arguments to [[FUNCTION_NAME]] are of different size."));
|
|
3157
|
+
continue;
|
|
3158
|
+
}
|
|
3159
|
+
for (let k = 0; k < nbVectorized; k++) argsBuffer[vectorizedIndices[k]] = argGetters[k](col, row);
|
|
3160
|
+
const singleCellComputeResult = callFormula();
|
|
3161
|
+
column[row] = isMatrix(singleCellComputeResult) ? singleCellComputeResult[0][0] : singleCellComputeResult;
|
|
3162
|
+
}
|
|
3163
|
+
}
|
|
3164
|
+
return result;
|
|
3126
3165
|
}
|
|
3127
3166
|
/**
|
|
3128
3167
|
* This function allows to visit arguments and stop the visit if necessary.
|
|
@@ -18512,12 +18551,15 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
18512
18551
|
}
|
|
18513
18552
|
}
|
|
18514
18553
|
function createComputeFunction(descr) {
|
|
18554
|
+
let currentArgDefinitions = [];
|
|
18515
18555
|
function vectorizedCompute(...args) {
|
|
18516
18556
|
const acceptToVectorize = [];
|
|
18557
|
+
currentArgDefinitions = new Array(args.length);
|
|
18517
18558
|
const getArgToFocus = argTargeting(descr, args.length);
|
|
18518
18559
|
for (let i = 0; i < args.length; i++) {
|
|
18519
18560
|
const argIndex = getArgToFocus(i) ?? -1;
|
|
18520
18561
|
const argDefinition = descr.args[argIndex];
|
|
18562
|
+
currentArgDefinitions[i] = argDefinition;
|
|
18521
18563
|
const arg = args[i];
|
|
18522
18564
|
if (!isMatrix(arg) && argDefinition.acceptMatrixOnly) throw new BadExpressionError(_t("Function %s expects the parameter '%s' to be reference to a cell or range.", descr.name, (i + 1).toString()));
|
|
18523
18565
|
acceptToVectorize.push(!argDefinition.acceptMatrix);
|
|
@@ -18532,8 +18574,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
18532
18574
|
function errorHandlingCompute(...args) {
|
|
18533
18575
|
for (let i = 0; i < args.length; i++) {
|
|
18534
18576
|
const arg = args[i];
|
|
18535
|
-
|
|
18536
|
-
if (!descr.args[getArgToFocus(i) || i].acceptErrors && !isMatrix(arg) && isEvaluationError(arg?.value)) return arg;
|
|
18577
|
+
if (!currentArgDefinitions[i].acceptErrors && !isMatrix(arg) && isEvaluationError(arg?.value)) return arg;
|
|
18537
18578
|
}
|
|
18538
18579
|
try {
|
|
18539
18580
|
return computeFunctionToObject.apply(this, args);
|
|
@@ -28236,7 +28277,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
28236
28277
|
case "ArrowLeft":
|
|
28237
28278
|
case "ArrowRight":
|
|
28238
28279
|
case "ArrowUp":
|
|
28239
|
-
const { col, row, offset } = this.postionInBoundary(this.props.figureUI, ev.key);
|
|
28280
|
+
const { col, row, offset } = this.postionInBoundary(this.env.model.getters.getActiveSheetId(), this.props.figureUI, ev.key);
|
|
28240
28281
|
this.env.model.dispatch("UPDATE_FIGURE", {
|
|
28241
28282
|
sheetId: this.env.model.getters.getActiveSheetId(),
|
|
28242
28283
|
figureId: this.props.figureUI.id,
|
|
@@ -28260,34 +28301,52 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
28260
28301
|
break;
|
|
28261
28302
|
}
|
|
28262
28303
|
}
|
|
28263
|
-
postionInBoundary(
|
|
28264
|
-
|
|
28265
|
-
let { col, row, offset } = position;
|
|
28304
|
+
postionInBoundary(sheetId, figure, key) {
|
|
28305
|
+
let { col, row, offset } = figure;
|
|
28266
28306
|
offset = { ...offset };
|
|
28307
|
+
const maxAnchor = this.env.model.getters.getMaxAnchorOffset(sheetId, figure.height, figure.width);
|
|
28267
28308
|
switch (key) {
|
|
28268
28309
|
case "ArrowUp":
|
|
28269
28310
|
if (offset.y === 0) {
|
|
28270
28311
|
row--;
|
|
28312
|
+
while (row > 0 && this.env.model.getters.isRowHiddenByUser(sheetId, row)) row--;
|
|
28271
28313
|
offset.y = this.env.model.getters.getRowSize(sheetId, row) - 1;
|
|
28272
28314
|
} else offset.y--;
|
|
28273
28315
|
break;
|
|
28274
28316
|
case "ArrowLeft":
|
|
28275
28317
|
if (offset.x === 0) {
|
|
28276
28318
|
col--;
|
|
28319
|
+
while (col > 0 && this.env.model.getters.isColHiddenByUser(sheetId, col)) col--;
|
|
28277
28320
|
offset.x = this.env.model.getters.getColSize(sheetId, col) - 1;
|
|
28278
28321
|
} else offset.x--;
|
|
28279
28322
|
break;
|
|
28280
28323
|
case "ArrowDown":
|
|
28281
28324
|
if (offset.y === this.env.model.getters.getRowSize(sheetId, row)) {
|
|
28282
28325
|
row++;
|
|
28326
|
+
while (row <= maxAnchor.row && this.env.model.getters.isRowHiddenByUser(sheetId, row)) row++;
|
|
28283
28327
|
offset.y = 0;
|
|
28284
28328
|
} else offset.y++;
|
|
28285
28329
|
break;
|
|
28286
28330
|
case "ArrowRight": if (offset.x === this.env.model.getters.getColSize(sheetId, row)) {
|
|
28287
28331
|
col++;
|
|
28332
|
+
while (col <= maxAnchor.col && this.env.model.getters.isColHiddenByUser(sheetId, col)) col++;
|
|
28288
28333
|
offset.x = 0;
|
|
28289
28334
|
} else offset.x++;
|
|
28290
28335
|
}
|
|
28336
|
+
if (col < 0) {
|
|
28337
|
+
col = 0;
|
|
28338
|
+
offset.x = 0;
|
|
28339
|
+
} else if (col > maxAnchor.col || col === maxAnchor.col && offset.x > maxAnchor.offset.x) {
|
|
28340
|
+
col = maxAnchor.col;
|
|
28341
|
+
offset.x = maxAnchor.offset.x;
|
|
28342
|
+
}
|
|
28343
|
+
if (row < 0) {
|
|
28344
|
+
row = 0;
|
|
28345
|
+
offset.y = 0;
|
|
28346
|
+
} else if (row > maxAnchor.row || row === maxAnchor.row && offset.y > maxAnchor.offset.y) {
|
|
28347
|
+
row = maxAnchor.row;
|
|
28348
|
+
offset.y = maxAnchor.offset.y;
|
|
28349
|
+
}
|
|
28291
28350
|
return {
|
|
28292
28351
|
col,
|
|
28293
28352
|
row,
|
|
@@ -67015,7 +67074,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
67015
67074
|
if (contentWidth === 0) return 0;
|
|
67016
67075
|
contentWidth += 2 * 4;
|
|
67017
67076
|
if (style.wrapping === "wrap") {
|
|
67018
|
-
const colWidth = this.getters.getColSize(
|
|
67077
|
+
const colWidth = this.getters.getColSize(position.sheetId, position.col);
|
|
67019
67078
|
return Math.min(colWidth, contentWidth);
|
|
67020
67079
|
}
|
|
67021
67080
|
return contentWidth;
|
|
@@ -71279,6 +71338,10 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
71279
71338
|
}
|
|
71280
71339
|
function inverseCreateChart(cmd) {
|
|
71281
71340
|
return [{
|
|
71341
|
+
type: "DELETE_CHART",
|
|
71342
|
+
chartId: cmd.chartId,
|
|
71343
|
+
sheetId: cmd.sheetId
|
|
71344
|
+
}, {
|
|
71282
71345
|
type: "DELETE_FIGURE",
|
|
71283
71346
|
figureId: cmd.figureId,
|
|
71284
71347
|
sheetId: cmd.sheetId
|
|
@@ -72903,6 +72966,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
72903
72966
|
return (0, _odoo_owl.toRaw)(this.clickableCellsStore.clickableCells);
|
|
72904
72967
|
}
|
|
72905
72968
|
selectClickableCell(ev, clickableCell) {
|
|
72969
|
+
if (![0, 1].includes(ev.button)) return;
|
|
72906
72970
|
const { position, action } = clickableCell;
|
|
72907
72971
|
action(position, this.env, isMiddleClickOrCtrlClick(ev));
|
|
72908
72972
|
}
|
|
@@ -79428,8 +79492,8 @@ exports.stores = stores;
|
|
|
79428
79492
|
exports.tokenColors = tokenColors;
|
|
79429
79493
|
exports.tokenize = tokenize;
|
|
79430
79494
|
|
|
79431
|
-
__info__.version = "19.0.
|
|
79432
|
-
__info__.date = "2026-
|
|
79433
|
-
__info__.hash = "
|
|
79495
|
+
__info__.version = "19.0.46";
|
|
79496
|
+
__info__.date = "2026-08-10T12:30:49.160Z";
|
|
79497
|
+
__info__.hash = "b721d1f";
|
|
79434
79498
|
|
|
79435
79499
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|