@odoo/o-spreadsheet 17.4.34 → 17.4.35
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 +92 -44
- package/dist/o-spreadsheet.d.ts +8 -8
- package/dist/o-spreadsheet.esm.js +92 -44
- package/dist/o-spreadsheet.iife.js +92 -44
- package/dist/o-spreadsheet.iife.min.js +347 -347
- package/dist/o_spreadsheet.xml +5 -5
- package/package.json +1 -1
|
@@ -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 2025-05-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 17.4.35
|
|
6
|
+
* @date 2025-05-13T17:49:44.553Z
|
|
7
|
+
* @hash 534c5f4
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
'use strict';
|
|
@@ -1916,7 +1916,7 @@ function isDateAfter(date, dateAfter) {
|
|
|
1916
1916
|
*/
|
|
1917
1917
|
const getFormulaNumberRegex = memoize(function getFormulaNumberRegex(decimalSeparator) {
|
|
1918
1918
|
decimalSeparator = escapeRegExp(decimalSeparator);
|
|
1919
|
-
return new RegExp(`(?:^-?\\d+(?:${decimalSeparator}?\\d*(?:e
|
|
1919
|
+
return new RegExp(`(?:^-?\\d+(?:${decimalSeparator}?\\d*(?:e(\\+|-)?\\d+)?)?|^-?${decimalSeparator}\\d+)(?!\\w|!)`);
|
|
1920
1920
|
});
|
|
1921
1921
|
const getNumberRegex = memoize(function getNumberRegex(locale) {
|
|
1922
1922
|
const decimalSeparator = escapeRegExp(locale.decimalSeparator);
|
|
@@ -5211,6 +5211,13 @@ function getDuplicateSheetName(nameToDuplicate, existingNames) {
|
|
|
5211
5211
|
}
|
|
5212
5212
|
return name;
|
|
5213
5213
|
}
|
|
5214
|
+
function isSheetNameEqual(name1, name2) {
|
|
5215
|
+
if (name1 === undefined || name2 === undefined) {
|
|
5216
|
+
return false;
|
|
5217
|
+
}
|
|
5218
|
+
return (getUnquotedSheetName(name1.trim().toUpperCase()) ===
|
|
5219
|
+
getUnquotedSheetName(name2.trim().toUpperCase()));
|
|
5220
|
+
}
|
|
5214
5221
|
|
|
5215
5222
|
function computeTextLinesHeight(textLineHeight, numberOfLines = 1) {
|
|
5216
5223
|
return numberOfLines * (textLineHeight + MIN_CELL_TEXT_MARGIN) - MIN_CELL_TEXT_MARGIN;
|
|
@@ -6512,10 +6519,9 @@ const AGGREGATOR_NAMES = {
|
|
|
6512
6519
|
avg: _t("Average"),
|
|
6513
6520
|
sum: _t("Sum"),
|
|
6514
6521
|
};
|
|
6515
|
-
const NUMBER_CHAR_AGGREGATORS = ["max", "min", "avg", "sum", "count_distinct", "count"];
|
|
6516
6522
|
const AGGREGATORS_BY_FIELD_TYPE = {
|
|
6517
|
-
integer:
|
|
6518
|
-
char:
|
|
6523
|
+
integer: ["max", "min", "avg", "sum", "count_distinct", "count"],
|
|
6524
|
+
char: ["count_distinct", "count"],
|
|
6519
6525
|
boolean: ["count_distinct", "count", "bool_and", "bool_or"],
|
|
6520
6526
|
};
|
|
6521
6527
|
const AGGREGATORS = {};
|
|
@@ -6729,8 +6735,11 @@ class CellClipboardHandler extends AbstractCellClipboardHandler {
|
|
|
6729
6735
|
const evaluatedCell = this.getters.getEvaluatedCell(position);
|
|
6730
6736
|
const pivotId = this.getters.getPivotIdFromPosition(position);
|
|
6731
6737
|
const spreader = this.getters.getArrayFormulaSpreadingOn(position);
|
|
6732
|
-
if (pivotId) {
|
|
6733
|
-
|
|
6738
|
+
if (pivotId && spreader) {
|
|
6739
|
+
const pivotZone = this.getters.getSpreadZone(spreader);
|
|
6740
|
+
if ((!deepEquals(spreader, position) || !isCopyingOneCell) &&
|
|
6741
|
+
pivotZone &&
|
|
6742
|
+
!data.zones.some((z) => isZoneInside(pivotZone, z))) {
|
|
6734
6743
|
const pivotCell = this.getters.getPivotCellFromPosition(position);
|
|
6735
6744
|
const formulaPivotId = this.getters.getPivotFormulaId(pivotId);
|
|
6736
6745
|
const pivotFormula = createPivotFormula(formulaPivotId, pivotCell);
|
|
@@ -9452,7 +9461,10 @@ function proxifyStoreMutation(store, callback) {
|
|
|
9452
9461
|
const functionProxy = new Proxy(value, {
|
|
9453
9462
|
// trap the function call
|
|
9454
9463
|
apply(target, thisArg, argArray) {
|
|
9455
|
-
Reflect.apply(target, thisStore, argArray);
|
|
9464
|
+
const res = Reflect.apply(target, thisStore, argArray);
|
|
9465
|
+
if (res === "noStateChange") {
|
|
9466
|
+
return;
|
|
9467
|
+
}
|
|
9456
9468
|
callback();
|
|
9457
9469
|
},
|
|
9458
9470
|
});
|
|
@@ -9474,7 +9486,7 @@ function getDependencyContainer(env) {
|
|
|
9474
9486
|
const ModelStore = createAbstractStore("Model");
|
|
9475
9487
|
|
|
9476
9488
|
class RendererStore {
|
|
9477
|
-
mutators = ["register", "unRegister"];
|
|
9489
|
+
mutators = ["register", "unRegister", "drawLayer"];
|
|
9478
9490
|
renderers = {};
|
|
9479
9491
|
register(renderer) {
|
|
9480
9492
|
if (!renderer.renderingLayers.length) {
|
|
@@ -9494,14 +9506,14 @@ class RendererStore {
|
|
|
9494
9506
|
}
|
|
9495
9507
|
drawLayer(context, layer) {
|
|
9496
9508
|
const renderers = this.renderers[layer];
|
|
9497
|
-
if (
|
|
9498
|
-
|
|
9499
|
-
|
|
9500
|
-
|
|
9501
|
-
|
|
9502
|
-
|
|
9503
|
-
context.ctx.restore();
|
|
9509
|
+
if (renderers) {
|
|
9510
|
+
for (const renderer of renderers) {
|
|
9511
|
+
context.ctx.save();
|
|
9512
|
+
renderer.drawLayer(context, layer);
|
|
9513
|
+
context.ctx.restore();
|
|
9514
|
+
}
|
|
9504
9515
|
}
|
|
9516
|
+
return "noStateChange";
|
|
9505
9517
|
}
|
|
9506
9518
|
}
|
|
9507
9519
|
|
|
@@ -10114,7 +10126,7 @@ class ComposerStore extends SpreadsheetStore {
|
|
|
10114
10126
|
.find((token) => {
|
|
10115
10127
|
const { xc, sheetName: sheet } = splitReference(token.value);
|
|
10116
10128
|
const sheetName = sheet || this.getters.getSheetName(this.sheetId);
|
|
10117
|
-
if (this.getters.getSheetName(activeSheetId)
|
|
10129
|
+
if (!isSheetNameEqual(this.getters.getSheetName(activeSheetId), sheetName)) {
|
|
10118
10130
|
return false;
|
|
10119
10131
|
}
|
|
10120
10132
|
const refRange = this.getters.getRangeFromSheetXC(activeSheetId, xc);
|
|
@@ -10419,27 +10431,30 @@ class ComposerFocusStore extends SpreadsheetStore {
|
|
|
10419
10431
|
}
|
|
10420
10432
|
focusTopBarComposer(selection) {
|
|
10421
10433
|
if (this.getters.isReadonly()) {
|
|
10422
|
-
return;
|
|
10434
|
+
return "noStateChange";
|
|
10423
10435
|
}
|
|
10424
10436
|
this.topBarFocus = "contentFocus";
|
|
10425
10437
|
this.gridFocusMode = "inactive";
|
|
10426
|
-
this.setComposerContent({ selection }
|
|
10438
|
+
this.setComposerContent({ selection });
|
|
10439
|
+
return;
|
|
10427
10440
|
}
|
|
10428
10441
|
focusGridComposerContent() {
|
|
10429
10442
|
if (this.getters.isReadonly()) {
|
|
10430
|
-
return;
|
|
10443
|
+
return "noStateChange";
|
|
10431
10444
|
}
|
|
10432
10445
|
this.topBarFocus = "inactive";
|
|
10433
10446
|
this.gridFocusMode = "contentFocus";
|
|
10434
10447
|
this.setComposerContent({});
|
|
10448
|
+
return;
|
|
10435
10449
|
}
|
|
10436
10450
|
focusGridComposerCell(content, selection) {
|
|
10437
10451
|
if (this.getters.isReadonly()) {
|
|
10438
|
-
return;
|
|
10452
|
+
return "noStateChange";
|
|
10439
10453
|
}
|
|
10440
10454
|
this.topBarFocus = "inactive";
|
|
10441
10455
|
this.gridFocusMode = "cellFocus";
|
|
10442
|
-
this.setComposerContent({ content, selection }
|
|
10456
|
+
this.setComposerContent({ content, selection });
|
|
10457
|
+
return;
|
|
10443
10458
|
}
|
|
10444
10459
|
/**
|
|
10445
10460
|
* Start the edition or update the content if it's already started.
|
|
@@ -20324,6 +20339,9 @@ function isEmpty(data) {
|
|
|
20324
20339
|
return data === undefined || data.value === null;
|
|
20325
20340
|
}
|
|
20326
20341
|
const getNeutral = { number: 0, string: "", boolean: false };
|
|
20342
|
+
function areAlmostEqual(value1, value2, epsilon = 2e-16) {
|
|
20343
|
+
return Math.abs(value1 - value2) < epsilon;
|
|
20344
|
+
}
|
|
20327
20345
|
const EQ = {
|
|
20328
20346
|
description: _t("Equal."),
|
|
20329
20347
|
args: [
|
|
@@ -20345,6 +20363,9 @@ const EQ = {
|
|
|
20345
20363
|
if (isEvaluationError(_value2)) {
|
|
20346
20364
|
throw value2;
|
|
20347
20365
|
}
|
|
20366
|
+
if (typeof _value1 === "number" && typeof _value2 === "number") {
|
|
20367
|
+
return areAlmostEqual(_value1, _value2);
|
|
20368
|
+
}
|
|
20348
20369
|
return _value1 === _value2;
|
|
20349
20370
|
},
|
|
20350
20371
|
};
|
|
@@ -20384,6 +20405,9 @@ const GT = {
|
|
|
20384
20405
|
],
|
|
20385
20406
|
compute: function (value1, value2) {
|
|
20386
20407
|
return applyRelationalOperator(value1, value2, (v1, v2) => {
|
|
20408
|
+
if (typeof v1 === "number" && typeof v2 === "number") {
|
|
20409
|
+
return !areAlmostEqual(v1, v2) && v1 > v2;
|
|
20410
|
+
}
|
|
20387
20411
|
return v1 > v2;
|
|
20388
20412
|
});
|
|
20389
20413
|
},
|
|
@@ -20399,6 +20423,9 @@ const GTE = {
|
|
|
20399
20423
|
],
|
|
20400
20424
|
compute: function (value1, value2) {
|
|
20401
20425
|
return applyRelationalOperator(value1, value2, (v1, v2) => {
|
|
20426
|
+
if (typeof v1 === "number" && typeof v2 === "number") {
|
|
20427
|
+
return areAlmostEqual(v1, v2) || v1 > v2;
|
|
20428
|
+
}
|
|
20402
20429
|
return v1 >= v2;
|
|
20403
20430
|
});
|
|
20404
20431
|
},
|
|
@@ -21499,10 +21526,18 @@ autoCompleteProviders.add("functions", {
|
|
|
21499
21526
|
});
|
|
21500
21527
|
|
|
21501
21528
|
class DOMFocusableElementStore {
|
|
21502
|
-
mutators = ["setFocusableElement"];
|
|
21529
|
+
mutators = ["setFocusableElement", "focus"];
|
|
21503
21530
|
focusableElement = undefined;
|
|
21504
21531
|
setFocusableElement(element) {
|
|
21505
21532
|
this.focusableElement = element;
|
|
21533
|
+
return "noStateChange";
|
|
21534
|
+
}
|
|
21535
|
+
focus() {
|
|
21536
|
+
if (this.focusableElement === document.activeElement) {
|
|
21537
|
+
return "noStateChange";
|
|
21538
|
+
}
|
|
21539
|
+
this.focusableElement?.focus();
|
|
21540
|
+
return;
|
|
21506
21541
|
}
|
|
21507
21542
|
}
|
|
21508
21543
|
|
|
@@ -21759,12 +21794,20 @@ class HoveredCellStore extends SpreadsheetStore {
|
|
|
21759
21794
|
}
|
|
21760
21795
|
}
|
|
21761
21796
|
hover(position) {
|
|
21797
|
+
if (position.col === this.col && position.row === this.row) {
|
|
21798
|
+
return "noStateChange";
|
|
21799
|
+
}
|
|
21762
21800
|
this.col = position.col;
|
|
21763
21801
|
this.row = position.row;
|
|
21802
|
+
return;
|
|
21764
21803
|
}
|
|
21765
21804
|
clear() {
|
|
21805
|
+
if (this.col === undefined && this.row === undefined) {
|
|
21806
|
+
return "noStateChange";
|
|
21807
|
+
}
|
|
21766
21808
|
this.col = undefined;
|
|
21767
21809
|
this.row = undefined;
|
|
21810
|
+
return;
|
|
21768
21811
|
}
|
|
21769
21812
|
}
|
|
21770
21813
|
|
|
@@ -21786,7 +21829,11 @@ class CellPopoverStore extends SpreadsheetStore {
|
|
|
21786
21829
|
this.persistentPopover = { col, row, sheetId, type };
|
|
21787
21830
|
}
|
|
21788
21831
|
close() {
|
|
21832
|
+
if (!this.persistentPopover) {
|
|
21833
|
+
return "noStateChange";
|
|
21834
|
+
}
|
|
21789
21835
|
this.persistentPopover = undefined;
|
|
21836
|
+
return;
|
|
21790
21837
|
}
|
|
21791
21838
|
get persistentCellPopover() {
|
|
21792
21839
|
return ((this.persistentPopover && { isOpen: true, ...this.persistentPopover }) || { isOpen: false });
|
|
@@ -37462,7 +37509,12 @@ class SpreadsheetPivot {
|
|
|
37462
37509
|
entry[field.name] = { value: null, type: CellValueType.empty };
|
|
37463
37510
|
}
|
|
37464
37511
|
else {
|
|
37465
|
-
|
|
37512
|
+
if (field.type === "char") {
|
|
37513
|
+
entry[field.name] = { ...cell, value: cell.formattedValue || null };
|
|
37514
|
+
}
|
|
37515
|
+
else {
|
|
37516
|
+
entry[field.name] = cell;
|
|
37517
|
+
}
|
|
37466
37518
|
}
|
|
37467
37519
|
}
|
|
37468
37520
|
entry["__count"] = { value: 1, type: CellValueType.number };
|
|
@@ -39657,7 +39709,7 @@ class GridComposer extends owl.Component {
|
|
|
39657
39709
|
this.isEditing = isEditing;
|
|
39658
39710
|
if (!isEditing) {
|
|
39659
39711
|
this.rect = this.defaultRect;
|
|
39660
|
-
this.DOMFocusableElementStore.
|
|
39712
|
+
this.DOMFocusableElementStore.focus();
|
|
39661
39713
|
return;
|
|
39662
39714
|
}
|
|
39663
39715
|
const position = this.env.model.getters.getActivePosition();
|
|
@@ -42093,10 +42145,6 @@ function useGridDrawing(refName, model, canvasSize) {
|
|
|
42093
42145
|
ctx.scale(dpr, dpr);
|
|
42094
42146
|
for (const layer of OrderedLayers()) {
|
|
42095
42147
|
model.drawLayer(renderingContext, layer);
|
|
42096
|
-
// @ts-ignore 'drawLayer' is not declated as a mutator because:
|
|
42097
|
-
// it does not mutate anything. Most importantly it's used
|
|
42098
|
-
// during rendering. Invoking a mutator during rendering would
|
|
42099
|
-
// trigger another rendering, ultimately resulting in an infinite loop.
|
|
42100
42148
|
rendererStore.drawLayer(renderingContext, layer);
|
|
42101
42149
|
}
|
|
42102
42150
|
}
|
|
@@ -42719,7 +42767,7 @@ class Grid extends owl.Component {
|
|
|
42719
42767
|
this.cellPopovers = useStore(CellPopoverStore);
|
|
42720
42768
|
owl.useEffect(() => {
|
|
42721
42769
|
if (!this.sidePanel.isOpen) {
|
|
42722
|
-
this.DOMFocusableElementStore.
|
|
42770
|
+
this.DOMFocusableElementStore.focus();
|
|
42723
42771
|
}
|
|
42724
42772
|
}, () => [this.sidePanel.isOpen]);
|
|
42725
42773
|
}
|
|
@@ -42923,7 +42971,7 @@ class Grid extends owl.Component {
|
|
|
42923
42971
|
focusDefaultElement() {
|
|
42924
42972
|
if (!this.env.model.getters.getSelectedFigureId() &&
|
|
42925
42973
|
this.composerStore.editionMode === "inactive") {
|
|
42926
|
-
this.DOMFocusableElementStore.
|
|
42974
|
+
this.DOMFocusableElementStore.focus();
|
|
42927
42975
|
}
|
|
42928
42976
|
}
|
|
42929
42977
|
get gridEl() {
|
|
@@ -44660,7 +44708,7 @@ function getRangeSize(reference, defaultSheetIndex, data) {
|
|
|
44660
44708
|
({ xc, sheetName } = splitReference(reference));
|
|
44661
44709
|
let rangeSheetIndex;
|
|
44662
44710
|
if (sheetName) {
|
|
44663
|
-
const index = data.sheets.findIndex((sheet) => sheet.name
|
|
44711
|
+
const index = data.sheets.findIndex((sheet) => isSheetNameEqual(sheet.name, sheetName));
|
|
44664
44712
|
if (index < 0) {
|
|
44665
44713
|
throw new Error("Unable to find a sheet with the name " + sheetName);
|
|
44666
44714
|
}
|
|
@@ -44881,7 +44929,7 @@ function convertFormula(formula, data) {
|
|
|
44881
44929
|
formula = formula.replace(externalReferenceRegex, (match, externalRefId, sheetName, cellRef) => {
|
|
44882
44930
|
externalRefId = Number(externalRefId) - 1;
|
|
44883
44931
|
cellRef = cellRef.replace(/\$/g, "");
|
|
44884
|
-
const sheetIndex = data.externalBooks[externalRefId].sheetNames.findIndex((name) => name
|
|
44932
|
+
const sheetIndex = data.externalBooks[externalRefId].sheetNames.findIndex((name) => isSheetNameEqual(name, sheetName));
|
|
44885
44933
|
if (sheetIndex === -1) {
|
|
44886
44934
|
return match;
|
|
44887
44935
|
}
|
|
@@ -45210,7 +45258,7 @@ function convertPivotTableConfig(pivotTable) {
|
|
|
45210
45258
|
*/
|
|
45211
45259
|
function convertTableFormulaReferences(convertedSheets, xlsxSheets) {
|
|
45212
45260
|
for (let tableSheet of convertedSheets) {
|
|
45213
|
-
const tables = xlsxSheets.find((s) => s.sheetName
|
|
45261
|
+
const tables = xlsxSheets.find((s) => isSheetNameEqual(s.sheetName, tableSheet.name)).tables;
|
|
45214
45262
|
for (let table of tables) {
|
|
45215
45263
|
const tabRef = table.name + "[";
|
|
45216
45264
|
for (let sheet of convertedSheets) {
|
|
@@ -50887,7 +50935,7 @@ class RangeAdapter {
|
|
|
50887
50935
|
if (range.sheetId === cmd.sheetId) {
|
|
50888
50936
|
return { changeType: "CHANGE", range };
|
|
50889
50937
|
}
|
|
50890
|
-
if (
|
|
50938
|
+
if (isSheetNameEqual(range.invalidSheetName, cmd.name)) {
|
|
50891
50939
|
const invalidSheetName = undefined;
|
|
50892
50940
|
const sheetId = cmd.sheetId;
|
|
50893
50941
|
const newRange = range.clone({ sheetId, invalidSheetName });
|
|
@@ -51458,7 +51506,7 @@ class SheetPlugin extends CorePlugin {
|
|
|
51458
51506
|
if (name) {
|
|
51459
51507
|
const unquotedName = getUnquotedSheetName(name);
|
|
51460
51508
|
for (const key in this.sheetIdsMapName) {
|
|
51461
|
-
if (key
|
|
51509
|
+
if (isSheetNameEqual(key, unquotedName)) {
|
|
51462
51510
|
return this.sheetIdsMapName[key];
|
|
51463
51511
|
}
|
|
51464
51512
|
}
|
|
@@ -51706,7 +51754,7 @@ class SheetPlugin extends CorePlugin {
|
|
|
51706
51754
|
}
|
|
51707
51755
|
const { orderedSheetIds, sheets } = this;
|
|
51708
51756
|
const name = cmd.name && cmd.name.trim().toLowerCase();
|
|
51709
|
-
if (orderedSheetIds.find((id) => sheets[id]?.name
|
|
51757
|
+
if (orderedSheetIds.find((id) => isSheetNameEqual(sheets[id]?.name, name) && id !== cmd.sheetId)) {
|
|
51710
51758
|
return "DuplicatedSheetName" /* CommandResult.DuplicatedSheetName */;
|
|
51711
51759
|
}
|
|
51712
51760
|
if (FORBIDDEN_SHEETNAME_CHARS_IN_EXCEL_REGEX.test(name)) {
|
|
@@ -63038,11 +63086,11 @@ class BottomBarSheet extends owl.Component {
|
|
|
63038
63086
|
if (ev.key === "Enter") {
|
|
63039
63087
|
ev.preventDefault();
|
|
63040
63088
|
this.stopEdition();
|
|
63041
|
-
this.DOMFocusableElementStore.
|
|
63089
|
+
this.DOMFocusableElementStore.focus();
|
|
63042
63090
|
}
|
|
63043
63091
|
if (ev.key === "Escape") {
|
|
63044
63092
|
this.cancelEdition();
|
|
63045
|
-
this.DOMFocusableElementStore.
|
|
63093
|
+
this.DOMFocusableElementStore.focus();
|
|
63046
63094
|
}
|
|
63047
63095
|
}
|
|
63048
63096
|
onMouseEventSheetName(ev) {
|
|
@@ -69515,6 +69563,6 @@ exports.tokenColors = tokenColors;
|
|
|
69515
69563
|
exports.tokenize = tokenize;
|
|
69516
69564
|
|
|
69517
69565
|
|
|
69518
|
-
__info__.version = "17.4.
|
|
69519
|
-
__info__.date = "2025-05-
|
|
69520
|
-
__info__.hash = "
|
|
69566
|
+
__info__.version = "17.4.35";
|
|
69567
|
+
__info__.date = "2025-05-13T17:49:44.553Z";
|
|
69568
|
+
__info__.hash = "534c5f4";
|
package/dist/o-spreadsheet.d.ts
CHANGED
|
@@ -7553,7 +7553,7 @@ declare class CellPopoverStore extends SpreadsheetStore {
|
|
|
7553
7553
|
};
|
|
7554
7554
|
handle(cmd: Command): void;
|
|
7555
7555
|
open({ col, row }: Position$1, type: CellPopoverType): void;
|
|
7556
|
-
close():
|
|
7556
|
+
close(): "noStateChange" | undefined;
|
|
7557
7557
|
get persistentCellPopover(): OpenCellPopover | ClosedCellPopover;
|
|
7558
7558
|
get isOpen(): boolean;
|
|
7559
7559
|
get cellPopover(): ClosedCellPopover | PositionedCellPopoverComponent;
|
|
@@ -7711,9 +7711,9 @@ declare class ComposerFocusStore extends SpreadsheetStore {
|
|
|
7711
7711
|
private gridFocusMode;
|
|
7712
7712
|
get topBarComposerFocus(): Omit<ComposerFocusType, "cellFocus">;
|
|
7713
7713
|
get gridComposerFocus(): ComposerFocusType;
|
|
7714
|
-
focusTopBarComposer(selection: ComposerSelection):
|
|
7715
|
-
focusGridComposerContent():
|
|
7716
|
-
focusGridComposerCell(content?: string, selection?: ComposerSelection):
|
|
7714
|
+
focusTopBarComposer(selection: ComposerSelection): "noStateChange" | undefined;
|
|
7715
|
+
focusGridComposerContent(): "noStateChange" | undefined;
|
|
7716
|
+
focusGridComposerCell(content?: string, selection?: ComposerSelection): "noStateChange" | undefined;
|
|
7717
7717
|
/**
|
|
7718
7718
|
* Start the edition or update the content if it's already started.
|
|
7719
7719
|
*/
|
|
@@ -8902,8 +8902,8 @@ declare class HoveredCellStore extends SpreadsheetStore {
|
|
|
8902
8902
|
col: number | undefined;
|
|
8903
8903
|
row: number | undefined;
|
|
8904
8904
|
handle(cmd: Command): void;
|
|
8905
|
-
hover(position: Position$1):
|
|
8906
|
-
clear():
|
|
8905
|
+
hover(position: Position$1): "noStateChange" | undefined;
|
|
8906
|
+
clear(): "noStateChange" | undefined;
|
|
8907
8907
|
}
|
|
8908
8908
|
|
|
8909
8909
|
/**
|
|
@@ -9614,11 +9614,11 @@ interface Renderer {
|
|
|
9614
9614
|
renderingLayers: Readonly<LayerName[]>;
|
|
9615
9615
|
}
|
|
9616
9616
|
declare class RendererStore {
|
|
9617
|
-
mutators: readonly ["register", "unRegister"];
|
|
9617
|
+
mutators: readonly ["register", "unRegister", "drawLayer"];
|
|
9618
9618
|
private renderers;
|
|
9619
9619
|
register(renderer: Renderer): void;
|
|
9620
9620
|
unRegister(renderer: Renderer): void;
|
|
9621
|
-
drawLayer(context: GridRenderingContext, layer: LayerName):
|
|
9621
|
+
drawLayer(context: GridRenderingContext, layer: LayerName): string;
|
|
9622
9622
|
}
|
|
9623
9623
|
|
|
9624
9624
|
interface RippleProps {
|