@odoo/o-spreadsheet 16.1.15 → 16.1.17
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 +77 -49
- package/dist/o-spreadsheet.d.ts +6 -6
- package/dist/o-spreadsheet.esm.js +77 -49
- package/dist/o-spreadsheet.iife.js +77 -49
- package/dist/o-spreadsheet.iife.min.js +287 -282
- package/package.json +1 -1
|
@@ -109,7 +109,7 @@ const SELECTION_BORDER_COLOR = "#3266ca";
|
|
|
109
109
|
const HEADER_BORDER_COLOR = "#C0C0C0";
|
|
110
110
|
const CELL_BORDER_COLOR = "#E2E3E3";
|
|
111
111
|
const BACKGROUND_CHART_COLOR = "#FFFFFF";
|
|
112
|
-
const
|
|
112
|
+
const DISABLED_TEXT_COLOR = "#CACACA";
|
|
113
113
|
const DEFAULT_COLOR_SCALE_MIDPOINT_COLOR = 0xb6d7a8;
|
|
114
114
|
const LINK_COLOR = "#01666b";
|
|
115
115
|
const FILTERS_COLOR = "#188038";
|
|
@@ -3459,7 +3459,6 @@ const readonlyAllowedCommands = new Set([
|
|
|
3459
3459
|
"SET_VIEWPORT_OFFSET",
|
|
3460
3460
|
"SELECT_SEARCH_NEXT_MATCH",
|
|
3461
3461
|
"SELECT_SEARCH_PREVIOUS_MATCH",
|
|
3462
|
-
"REFRESH_SEARCH",
|
|
3463
3462
|
"UPDATE_SEARCH",
|
|
3464
3463
|
"CLEAR_SEARCH",
|
|
3465
3464
|
"EVALUATE_CELLS",
|
|
@@ -5967,7 +5966,7 @@ css /* scss */ `
|
|
|
5967
5966
|
}
|
|
5968
5967
|
}
|
|
5969
5968
|
&.disabled {
|
|
5970
|
-
color: ${
|
|
5969
|
+
color: ${DISABLED_TEXT_COLOR};
|
|
5971
5970
|
cursor: not-allowed;
|
|
5972
5971
|
}
|
|
5973
5972
|
}
|
|
@@ -21719,11 +21718,16 @@ class FindAndReplacePanel extends owl.Component {
|
|
|
21719
21718
|
}
|
|
21720
21719
|
setup() {
|
|
21721
21720
|
this.showFormulaState = this.env.model.getters.shouldShowFormulas();
|
|
21721
|
+
this.debouncedUpdateSearch = debounce(this.updateSearch.bind(this), 200);
|
|
21722
21722
|
owl.onMounted(() => this.focusInput());
|
|
21723
21723
|
owl.onWillUnmount(() => {
|
|
21724
21724
|
this.env.model.dispatch("CLEAR_SEARCH");
|
|
21725
21725
|
this.env.model.dispatch("SET_FORMULA_VISIBILITY", { show: this.showFormulaState });
|
|
21726
21726
|
});
|
|
21727
|
+
owl.useEffect(() => {
|
|
21728
|
+
this.state.searchOptions.searchFormulas = this.env.model.getters.shouldShowFormulas();
|
|
21729
|
+
this.searchFormulas();
|
|
21730
|
+
}, () => [this.env.model.getters.shouldShowFormulas()]);
|
|
21727
21731
|
}
|
|
21728
21732
|
onInput(ev) {
|
|
21729
21733
|
this.state.toSearch = ev.target.value;
|
|
@@ -21743,10 +21747,6 @@ class FindAndReplacePanel extends owl.Component {
|
|
|
21743
21747
|
this.replace();
|
|
21744
21748
|
}
|
|
21745
21749
|
}
|
|
21746
|
-
onFocusSidePanel() {
|
|
21747
|
-
this.state.searchOptions.searchFormulas = this.env.model.getters.shouldShowFormulas();
|
|
21748
|
-
this.env.model.dispatch("REFRESH_SEARCH");
|
|
21749
|
-
}
|
|
21750
21750
|
searchFormulas() {
|
|
21751
21751
|
this.env.model.dispatch("SET_FORMULA_VISIBILITY", {
|
|
21752
21752
|
show: this.state.searchOptions.searchFormulas,
|
|
@@ -21765,13 +21765,6 @@ class FindAndReplacePanel extends owl.Component {
|
|
|
21765
21765
|
searchOptions: this.state.searchOptions,
|
|
21766
21766
|
});
|
|
21767
21767
|
}
|
|
21768
|
-
debouncedUpdateSearch() {
|
|
21769
|
-
clearTimeout(this.debounceTimeoutId);
|
|
21770
|
-
this.debounceTimeoutId = setTimeout(() => {
|
|
21771
|
-
this.updateSearch();
|
|
21772
|
-
this.debounceTimeoutId = undefined;
|
|
21773
|
-
}, 400);
|
|
21774
|
-
}
|
|
21775
21768
|
replace() {
|
|
21776
21769
|
this.env.model.dispatch("REPLACE_SEARCH", {
|
|
21777
21770
|
replaceWith: this.state.replaceWith,
|
|
@@ -22275,6 +22268,14 @@ class FiguresContainer extends owl.Component {
|
|
|
22275
22268
|
if (dirY < 0) {
|
|
22276
22269
|
this.dnd.y = dndInitialY + figure.height * fraction;
|
|
22277
22270
|
}
|
|
22271
|
+
if (this.dnd.x < 0) {
|
|
22272
|
+
this.dnd.width += this.dnd.x;
|
|
22273
|
+
this.dnd.x = 0;
|
|
22274
|
+
}
|
|
22275
|
+
if (this.dnd.y < 0) {
|
|
22276
|
+
this.dnd.height += this.dnd.y;
|
|
22277
|
+
this.dnd.y = 0;
|
|
22278
|
+
}
|
|
22278
22279
|
};
|
|
22279
22280
|
}
|
|
22280
22281
|
else {
|
|
@@ -22290,6 +22291,14 @@ class FiguresContainer extends owl.Component {
|
|
|
22290
22291
|
if (dirY < 0) {
|
|
22291
22292
|
this.dnd.y = dndInitialY - deltaY;
|
|
22292
22293
|
}
|
|
22294
|
+
if (this.dnd.x < 0) {
|
|
22295
|
+
this.dnd.width += this.dnd.x;
|
|
22296
|
+
this.dnd.x = 0;
|
|
22297
|
+
}
|
|
22298
|
+
if (this.dnd.y < 0) {
|
|
22299
|
+
this.dnd.height += this.dnd.y;
|
|
22300
|
+
this.dnd.y = 0;
|
|
22301
|
+
}
|
|
22293
22302
|
};
|
|
22294
22303
|
}
|
|
22295
22304
|
const onMouseUp = (ev) => {
|
|
@@ -29780,7 +29789,7 @@ class HeaderSizePlugin extends CorePlugin {
|
|
|
29780
29789
|
this.sizes = {};
|
|
29781
29790
|
}
|
|
29782
29791
|
handle(cmd) {
|
|
29783
|
-
var _a, _b
|
|
29792
|
+
var _a, _b;
|
|
29784
29793
|
switch (cmd.type) {
|
|
29785
29794
|
case "CREATE_SHEET": {
|
|
29786
29795
|
const computedSizes = this.computeSheetSizes(cmd.sheetId);
|
|
@@ -29868,7 +29877,8 @@ class HeaderSizePlugin extends CorePlugin {
|
|
|
29868
29877
|
}
|
|
29869
29878
|
break;
|
|
29870
29879
|
case "UPDATE_CELL":
|
|
29871
|
-
|
|
29880
|
+
const row = (_b = (_a = this.sizes[cmd.sheetId]) === null || _a === void 0 ? void 0 : _a["ROW"]) === null || _b === void 0 ? void 0 : _b[cmd.row];
|
|
29881
|
+
if (row && !row.manualSize) {
|
|
29872
29882
|
const { sheetId, row } = cmd;
|
|
29873
29883
|
this.history.update("sizes", sheetId, "ROW", row, "computedSize", lazy(() => this.getRowTallestCellSize(sheetId, row)));
|
|
29874
29884
|
}
|
|
@@ -34884,6 +34894,7 @@ class FindAndReplacePlugin extends UIPlugin {
|
|
|
34884
34894
|
searchFormulas: false,
|
|
34885
34895
|
};
|
|
34886
34896
|
this.toSearch = "";
|
|
34897
|
+
this.isSearchDirty = false;
|
|
34887
34898
|
}
|
|
34888
34899
|
// ---------------------------------------------------------------------------
|
|
34889
34900
|
// Command Handling
|
|
@@ -34908,18 +34919,33 @@ class FindAndReplacePlugin extends UIPlugin {
|
|
|
34908
34919
|
case "REPLACE_ALL_SEARCH":
|
|
34909
34920
|
this.replaceAll(cmd.replaceWith);
|
|
34910
34921
|
break;
|
|
34922
|
+
case "EVALUATE_CELLS":
|
|
34923
|
+
case "UPDATE_CELL":
|
|
34924
|
+
case "REMOVE_FILTER_TABLE":
|
|
34925
|
+
case "UPDATE_FILTER":
|
|
34926
|
+
this.isSearchDirty = true;
|
|
34927
|
+
break;
|
|
34911
34928
|
case "UNDO":
|
|
34912
34929
|
case "REDO":
|
|
34913
34930
|
case "REMOVE_COLUMNS_ROWS":
|
|
34931
|
+
case "HIDE_COLUMNS_ROWS":
|
|
34932
|
+
case "UNHIDE_COLUMNS_ROWS":
|
|
34914
34933
|
case "ADD_COLUMNS_ROWS":
|
|
34915
|
-
|
|
34934
|
+
case "EVALUATE_CELLS":
|
|
34935
|
+
case "UPDATE_CELL":
|
|
34936
|
+
this.isSearchDirty = true;
|
|
34916
34937
|
break;
|
|
34917
34938
|
case "ACTIVATE_SHEET":
|
|
34918
|
-
case "REFRESH_SEARCH":
|
|
34919
34939
|
this.refreshSearch();
|
|
34920
34940
|
break;
|
|
34921
34941
|
}
|
|
34922
34942
|
}
|
|
34943
|
+
finalize() {
|
|
34944
|
+
if (this.isSearchDirty) {
|
|
34945
|
+
this.refreshSearch();
|
|
34946
|
+
this.isSearchDirty = false;
|
|
34947
|
+
}
|
|
34948
|
+
}
|
|
34923
34949
|
// ---------------------------------------------------------------------------
|
|
34924
34950
|
// Getters
|
|
34925
34951
|
// ---------------------------------------------------------------------------
|
|
@@ -34975,6 +35001,11 @@ class FindAndReplacePlugin extends UIPlugin {
|
|
|
34975
35001
|
if (this.toSearch) {
|
|
34976
35002
|
for (const cell of Object.values(cells)) {
|
|
34977
35003
|
const { col, row } = this.getters.getCellPosition(cell.id);
|
|
35004
|
+
const isColHidden = this.getters.isColHidden(sheetId, col);
|
|
35005
|
+
const isRowHidden = this.getters.isRowHidden(sheetId, row);
|
|
35006
|
+
if (isColHidden || isRowHidden) {
|
|
35007
|
+
continue;
|
|
35008
|
+
}
|
|
34978
35009
|
if (cell &&
|
|
34979
35010
|
this.currentSearchRegex &&
|
|
34980
35011
|
this.currentSearchRegex.test(this.getSearchableString({ sheetId, col, row }))) {
|
|
@@ -35034,37 +35065,31 @@ class FindAndReplacePlugin extends UIPlugin {
|
|
|
35034
35065
|
// ---------------------------------------------------------------------------
|
|
35035
35066
|
// Replace
|
|
35036
35067
|
// ---------------------------------------------------------------------------
|
|
35037
|
-
|
|
35038
|
-
|
|
35039
|
-
*/
|
|
35040
|
-
replace(replaceWith) {
|
|
35041
|
-
if (this.selectedMatchIndex === null || !this.currentSearchRegex) {
|
|
35068
|
+
replaceMatch(selectedMatch, replaceWith) {
|
|
35069
|
+
if (!this.currentSearchRegex) {
|
|
35042
35070
|
return;
|
|
35043
35071
|
}
|
|
35044
|
-
const matches = this.searchMatches;
|
|
35045
|
-
const selectedMatch = matches[this.selectedMatchIndex];
|
|
35046
35072
|
const sheetId = this.getters.getActiveSheetId();
|
|
35047
35073
|
const cell = this.getters.getCell({ sheetId, ...selectedMatch });
|
|
35074
|
+
const { col, row } = selectedMatch;
|
|
35048
35075
|
if ((cell === null || cell === void 0 ? void 0 : cell.isFormula) && !this.searchOptions.searchFormulas) {
|
|
35049
|
-
|
|
35076
|
+
return;
|
|
35050
35077
|
}
|
|
35051
|
-
|
|
35052
|
-
|
|
35053
|
-
|
|
35054
|
-
|
|
35055
|
-
|
|
35056
|
-
|
|
35057
|
-
|
|
35058
|
-
|
|
35059
|
-
|
|
35060
|
-
|
|
35061
|
-
|
|
35062
|
-
row: selectedMatch.row,
|
|
35063
|
-
content: newContent,
|
|
35064
|
-
});
|
|
35065
|
-
this.searchMatches.splice(this.selectedMatchIndex, 1);
|
|
35066
|
-
this.selectNextCell(Direction.current);
|
|
35078
|
+
const replaceRegex = new RegExp(this.currentSearchRegex.source, this.currentSearchRegex.flags + "g");
|
|
35079
|
+
const toReplace = this.getSearchableString({ sheetId, col, row });
|
|
35080
|
+
const content = toReplace.replace(replaceRegex, replaceWith);
|
|
35081
|
+
this.dispatch("UPDATE_CELL", { sheetId, col, row, content });
|
|
35082
|
+
}
|
|
35083
|
+
/**
|
|
35084
|
+
* Replace the value of the currently selected match
|
|
35085
|
+
*/
|
|
35086
|
+
replace(replaceWith) {
|
|
35087
|
+
if (this.selectedMatchIndex === null) {
|
|
35088
|
+
return;
|
|
35067
35089
|
}
|
|
35090
|
+
const selectedMatch = this.searchMatches[this.selectedMatchIndex];
|
|
35091
|
+
this.replaceMatch(selectedMatch, replaceWith);
|
|
35092
|
+
this.selectNextCell(Direction.next);
|
|
35068
35093
|
}
|
|
35069
35094
|
/**
|
|
35070
35095
|
* Apply the replace function to all the matches one time.
|
|
@@ -35072,7 +35097,7 @@ class FindAndReplacePlugin extends UIPlugin {
|
|
|
35072
35097
|
replaceAll(replaceWith) {
|
|
35073
35098
|
const matchCount = this.searchMatches.length;
|
|
35074
35099
|
for (let i = 0; i < matchCount; i++) {
|
|
35075
|
-
this.
|
|
35100
|
+
this.replaceMatch(this.searchMatches[i], replaceWith);
|
|
35076
35101
|
}
|
|
35077
35102
|
}
|
|
35078
35103
|
getSearchableString(position) {
|
|
@@ -37417,10 +37442,8 @@ class SortPlugin extends UIPlugin {
|
|
|
37417
37442
|
}
|
|
37418
37443
|
updateCellCommands.push(newCellValues);
|
|
37419
37444
|
}
|
|
37420
|
-
for (const cmd of updateCellCommands) {
|
|
37421
|
-
this.dispatch("UPDATE_CELL", cmd);
|
|
37422
|
-
}
|
|
37423
37445
|
}
|
|
37446
|
+
updateCellCommands.forEach((cmdPayload) => this.dispatch("UPDATE_CELL", cmdPayload));
|
|
37424
37447
|
}
|
|
37425
37448
|
/**
|
|
37426
37449
|
* Return the distances between main merge cells in the zone.
|
|
@@ -39747,6 +39770,11 @@ css /* scss */ `
|
|
|
39747
39770
|
.o-sidePanelButton:enabled {
|
|
39748
39771
|
cursor: pointer;
|
|
39749
39772
|
}
|
|
39773
|
+
|
|
39774
|
+
.o-sidePanelButton:disabled {
|
|
39775
|
+
color: ${DISABLED_TEXT_COLOR};
|
|
39776
|
+
}
|
|
39777
|
+
|
|
39750
39778
|
.o-sidePanelButton:last-child {
|
|
39751
39779
|
margin-right: 0px;
|
|
39752
39780
|
}
|
|
@@ -44284,6 +44312,6 @@ exports.setTranslationMethod = setTranslationMethod;
|
|
|
44284
44312
|
exports.tokenize = tokenize;
|
|
44285
44313
|
|
|
44286
44314
|
|
|
44287
|
-
__info__.version = '16.1.
|
|
44288
|
-
__info__.date = '2023-
|
|
44289
|
-
__info__.hash = '
|
|
44315
|
+
__info__.version = '16.1.17';
|
|
44316
|
+
__info__.date = '2023-08-07T09:00:57.212Z';
|
|
44317
|
+
__info__.hash = '2a79aa8';
|
package/dist/o-spreadsheet.d.ts
CHANGED
|
@@ -1325,7 +1325,9 @@ declare class FindAndReplacePlugin extends UIPlugin {
|
|
|
1325
1325
|
private currentSearchRegex;
|
|
1326
1326
|
private searchOptions;
|
|
1327
1327
|
private toSearch;
|
|
1328
|
+
private isSearchDirty;
|
|
1328
1329
|
handle(cmd: Command): void;
|
|
1330
|
+
finalize(): void;
|
|
1329
1331
|
getSearchMatches(): SearchMatch[];
|
|
1330
1332
|
getCurrentSelectedMatchIndex(): number | null;
|
|
1331
1333
|
/**
|
|
@@ -1357,6 +1359,7 @@ declare class FindAndReplacePlugin extends UIPlugin {
|
|
|
1357
1359
|
*/
|
|
1358
1360
|
private selectNextCell;
|
|
1359
1361
|
private clearSearch;
|
|
1362
|
+
private replaceMatch;
|
|
1360
1363
|
/**
|
|
1361
1364
|
* Replace the value of the currently selected match
|
|
1362
1365
|
*/
|
|
@@ -1589,8 +1592,8 @@ interface PositionDependentCommand {
|
|
|
1589
1592
|
col: number;
|
|
1590
1593
|
row: number;
|
|
1591
1594
|
}
|
|
1592
|
-
declare const invalidateEvaluationCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "MOVE_CONDITIONAL_FORMAT" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "PASTE_CONDITIONAL_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "PREPARE_SELECTION_INPUT_EXPANSION" | "STOP_SELECTION_INPUT" | "EVALUATE_CELLS" | "CHANGE_HIGHLIGHT" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "
|
|
1593
|
-
declare const readonlyAllowedCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "MOVE_CONDITIONAL_FORMAT" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "PASTE_CONDITIONAL_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "PREPARE_SELECTION_INPUT_EXPANSION" | "STOP_SELECTION_INPUT" | "EVALUATE_CELLS" | "CHANGE_HIGHLIGHT" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "
|
|
1595
|
+
declare const invalidateEvaluationCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "MOVE_CONDITIONAL_FORMAT" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "PASTE_CONDITIONAL_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "PREPARE_SELECTION_INPUT_EXPANSION" | "STOP_SELECTION_INPUT" | "EVALUATE_CELLS" | "CHANGE_HIGHLIGHT" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SORT_CELLS" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER">;
|
|
1596
|
+
declare const readonlyAllowedCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "MOVE_CONDITIONAL_FORMAT" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "PASTE_CONDITIONAL_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "PREPARE_SELECTION_INPUT_EXPANSION" | "STOP_SELECTION_INPUT" | "EVALUATE_CELLS" | "CHANGE_HIGHLIGHT" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SORT_CELLS" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER">;
|
|
1594
1597
|
declare const coreTypes: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "MOVE_CONDITIONAL_FORMAT" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE">;
|
|
1595
1598
|
interface UpdateCellCommand extends PositionDependentCommand {
|
|
1596
1599
|
type: "UPDATE_CELL";
|
|
@@ -2035,9 +2038,6 @@ interface UpdateSearchCommand {
|
|
|
2035
2038
|
interface ClearSearchCommand {
|
|
2036
2039
|
type: "CLEAR_SEARCH";
|
|
2037
2040
|
}
|
|
2038
|
-
interface RefreshSearchCommand {
|
|
2039
|
-
type: "REFRESH_SEARCH";
|
|
2040
|
-
}
|
|
2041
2041
|
interface SelectSearchPreviousCommand {
|
|
2042
2042
|
type: "SELECT_SEARCH_PREVIOUS_MATCH";
|
|
2043
2043
|
}
|
|
@@ -2147,7 +2147,7 @@ UpdateCellCommand | UpdateCellPositionCommand | ClearCellCommand | DeleteContent
|
|
|
2147
2147
|
| CreateImageOverCommand
|
|
2148
2148
|
/** FILTERS */
|
|
2149
2149
|
| CreateFilterTableCommand | RemoveFilterTableCommand;
|
|
2150
|
-
type LocalCommand = RequestUndoCommand | RequestRedoCommand | UndoCommand | RedoCommand | NewInputCommand | RemoveInputCommand | UnfocusInputCommand | FocusInputCommand | AddEmptyRangeCommand | RemoveRangeCommand | ChangeRangeCommand | CopyCommand | CutCommand | PasteCommand | CleanClipBoardHighlightCommand | AutoFillCellCommand | PasteFromOSClipboardCommand | ActivatePaintFormatCommand | PasteCFCommand | AutoresizeColumnsCommand | AutoresizeRowsCommand | MoveColumnsRowsCommand | ActivateSheetCommand | PrepareExpansionCommand | StopSelectionCommand | EvaluateCellsCommand | ChangeHighlightCommand | StartChangeHighlightCommand | SetColorCommand | StopComposerSelectionCommand | StartEditionCommand | StopEditionCommand | SetCurrentContentCommand | ChangeComposerSelectionCommand | ReplaceComposerSelectionCommand | CycleEditionReferencesCommand | StartCommand | AutofillCommand | AutofillSelectCommand | ShowFormulaCommand | AutofillAutoCommand | SelectFigureCommand | UpdateSearchCommand |
|
|
2150
|
+
type LocalCommand = RequestUndoCommand | RequestRedoCommand | UndoCommand | RedoCommand | NewInputCommand | RemoveInputCommand | UnfocusInputCommand | FocusInputCommand | AddEmptyRangeCommand | RemoveRangeCommand | ChangeRangeCommand | CopyCommand | CutCommand | PasteCommand | CleanClipBoardHighlightCommand | AutoFillCellCommand | PasteFromOSClipboardCommand | ActivatePaintFormatCommand | PasteCFCommand | AutoresizeColumnsCommand | AutoresizeRowsCommand | MoveColumnsRowsCommand | ActivateSheetCommand | PrepareExpansionCommand | StopSelectionCommand | EvaluateCellsCommand | ChangeHighlightCommand | StartChangeHighlightCommand | SetColorCommand | StopComposerSelectionCommand | StartEditionCommand | StopEditionCommand | SetCurrentContentCommand | ChangeComposerSelectionCommand | ReplaceComposerSelectionCommand | CycleEditionReferencesCommand | StartCommand | AutofillCommand | AutofillSelectCommand | ShowFormulaCommand | AutofillAutoCommand | SelectFigureCommand | UpdateSearchCommand | ClearSearchCommand | SelectSearchPreviousCommand | SelectSearchNextCommand | ReplaceSearchCommand | ReplaceAllSearchCommand | SortCommand | SetDecimalCommand | ResizeViewportCommand | SumSelectionCommand | DeleteCellCommand | InsertCellCommand | SetViewportOffsetCommand | MoveViewportDownCommand | MoveViewportUpCommand | OpenCellPopoverCommand | CloseCellPopoverCommand | ActivateNextSheetCommand | ActivatePreviousSheetCommand | UpdateFilterCommand;
|
|
2151
2151
|
type Command = CoreCommand | LocalCommand;
|
|
2152
2152
|
/**
|
|
2153
2153
|
* Holds the result of a command dispatch.
|
|
@@ -105,7 +105,7 @@ const SELECTION_BORDER_COLOR = "#3266ca";
|
|
|
105
105
|
const HEADER_BORDER_COLOR = "#C0C0C0";
|
|
106
106
|
const CELL_BORDER_COLOR = "#E2E3E3";
|
|
107
107
|
const BACKGROUND_CHART_COLOR = "#FFFFFF";
|
|
108
|
-
const
|
|
108
|
+
const DISABLED_TEXT_COLOR = "#CACACA";
|
|
109
109
|
const DEFAULT_COLOR_SCALE_MIDPOINT_COLOR = 0xb6d7a8;
|
|
110
110
|
const LINK_COLOR = "#01666b";
|
|
111
111
|
const FILTERS_COLOR = "#188038";
|
|
@@ -3455,7 +3455,6 @@ const readonlyAllowedCommands = new Set([
|
|
|
3455
3455
|
"SET_VIEWPORT_OFFSET",
|
|
3456
3456
|
"SELECT_SEARCH_NEXT_MATCH",
|
|
3457
3457
|
"SELECT_SEARCH_PREVIOUS_MATCH",
|
|
3458
|
-
"REFRESH_SEARCH",
|
|
3459
3458
|
"UPDATE_SEARCH",
|
|
3460
3459
|
"CLEAR_SEARCH",
|
|
3461
3460
|
"EVALUATE_CELLS",
|
|
@@ -5963,7 +5962,7 @@ css /* scss */ `
|
|
|
5963
5962
|
}
|
|
5964
5963
|
}
|
|
5965
5964
|
&.disabled {
|
|
5966
|
-
color: ${
|
|
5965
|
+
color: ${DISABLED_TEXT_COLOR};
|
|
5967
5966
|
cursor: not-allowed;
|
|
5968
5967
|
}
|
|
5969
5968
|
}
|
|
@@ -21715,11 +21714,16 @@ class FindAndReplacePanel extends Component {
|
|
|
21715
21714
|
}
|
|
21716
21715
|
setup() {
|
|
21717
21716
|
this.showFormulaState = this.env.model.getters.shouldShowFormulas();
|
|
21717
|
+
this.debouncedUpdateSearch = debounce(this.updateSearch.bind(this), 200);
|
|
21718
21718
|
onMounted(() => this.focusInput());
|
|
21719
21719
|
onWillUnmount(() => {
|
|
21720
21720
|
this.env.model.dispatch("CLEAR_SEARCH");
|
|
21721
21721
|
this.env.model.dispatch("SET_FORMULA_VISIBILITY", { show: this.showFormulaState });
|
|
21722
21722
|
});
|
|
21723
|
+
useEffect(() => {
|
|
21724
|
+
this.state.searchOptions.searchFormulas = this.env.model.getters.shouldShowFormulas();
|
|
21725
|
+
this.searchFormulas();
|
|
21726
|
+
}, () => [this.env.model.getters.shouldShowFormulas()]);
|
|
21723
21727
|
}
|
|
21724
21728
|
onInput(ev) {
|
|
21725
21729
|
this.state.toSearch = ev.target.value;
|
|
@@ -21739,10 +21743,6 @@ class FindAndReplacePanel extends Component {
|
|
|
21739
21743
|
this.replace();
|
|
21740
21744
|
}
|
|
21741
21745
|
}
|
|
21742
|
-
onFocusSidePanel() {
|
|
21743
|
-
this.state.searchOptions.searchFormulas = this.env.model.getters.shouldShowFormulas();
|
|
21744
|
-
this.env.model.dispatch("REFRESH_SEARCH");
|
|
21745
|
-
}
|
|
21746
21746
|
searchFormulas() {
|
|
21747
21747
|
this.env.model.dispatch("SET_FORMULA_VISIBILITY", {
|
|
21748
21748
|
show: this.state.searchOptions.searchFormulas,
|
|
@@ -21761,13 +21761,6 @@ class FindAndReplacePanel extends Component {
|
|
|
21761
21761
|
searchOptions: this.state.searchOptions,
|
|
21762
21762
|
});
|
|
21763
21763
|
}
|
|
21764
|
-
debouncedUpdateSearch() {
|
|
21765
|
-
clearTimeout(this.debounceTimeoutId);
|
|
21766
|
-
this.debounceTimeoutId = setTimeout(() => {
|
|
21767
|
-
this.updateSearch();
|
|
21768
|
-
this.debounceTimeoutId = undefined;
|
|
21769
|
-
}, 400);
|
|
21770
|
-
}
|
|
21771
21764
|
replace() {
|
|
21772
21765
|
this.env.model.dispatch("REPLACE_SEARCH", {
|
|
21773
21766
|
replaceWith: this.state.replaceWith,
|
|
@@ -22271,6 +22264,14 @@ class FiguresContainer extends Component {
|
|
|
22271
22264
|
if (dirY < 0) {
|
|
22272
22265
|
this.dnd.y = dndInitialY + figure.height * fraction;
|
|
22273
22266
|
}
|
|
22267
|
+
if (this.dnd.x < 0) {
|
|
22268
|
+
this.dnd.width += this.dnd.x;
|
|
22269
|
+
this.dnd.x = 0;
|
|
22270
|
+
}
|
|
22271
|
+
if (this.dnd.y < 0) {
|
|
22272
|
+
this.dnd.height += this.dnd.y;
|
|
22273
|
+
this.dnd.y = 0;
|
|
22274
|
+
}
|
|
22274
22275
|
};
|
|
22275
22276
|
}
|
|
22276
22277
|
else {
|
|
@@ -22286,6 +22287,14 @@ class FiguresContainer extends Component {
|
|
|
22286
22287
|
if (dirY < 0) {
|
|
22287
22288
|
this.dnd.y = dndInitialY - deltaY;
|
|
22288
22289
|
}
|
|
22290
|
+
if (this.dnd.x < 0) {
|
|
22291
|
+
this.dnd.width += this.dnd.x;
|
|
22292
|
+
this.dnd.x = 0;
|
|
22293
|
+
}
|
|
22294
|
+
if (this.dnd.y < 0) {
|
|
22295
|
+
this.dnd.height += this.dnd.y;
|
|
22296
|
+
this.dnd.y = 0;
|
|
22297
|
+
}
|
|
22289
22298
|
};
|
|
22290
22299
|
}
|
|
22291
22300
|
const onMouseUp = (ev) => {
|
|
@@ -29776,7 +29785,7 @@ class HeaderSizePlugin extends CorePlugin {
|
|
|
29776
29785
|
this.sizes = {};
|
|
29777
29786
|
}
|
|
29778
29787
|
handle(cmd) {
|
|
29779
|
-
var _a, _b
|
|
29788
|
+
var _a, _b;
|
|
29780
29789
|
switch (cmd.type) {
|
|
29781
29790
|
case "CREATE_SHEET": {
|
|
29782
29791
|
const computedSizes = this.computeSheetSizes(cmd.sheetId);
|
|
@@ -29864,7 +29873,8 @@ class HeaderSizePlugin extends CorePlugin {
|
|
|
29864
29873
|
}
|
|
29865
29874
|
break;
|
|
29866
29875
|
case "UPDATE_CELL":
|
|
29867
|
-
|
|
29876
|
+
const row = (_b = (_a = this.sizes[cmd.sheetId]) === null || _a === void 0 ? void 0 : _a["ROW"]) === null || _b === void 0 ? void 0 : _b[cmd.row];
|
|
29877
|
+
if (row && !row.manualSize) {
|
|
29868
29878
|
const { sheetId, row } = cmd;
|
|
29869
29879
|
this.history.update("sizes", sheetId, "ROW", row, "computedSize", lazy(() => this.getRowTallestCellSize(sheetId, row)));
|
|
29870
29880
|
}
|
|
@@ -34880,6 +34890,7 @@ class FindAndReplacePlugin extends UIPlugin {
|
|
|
34880
34890
|
searchFormulas: false,
|
|
34881
34891
|
};
|
|
34882
34892
|
this.toSearch = "";
|
|
34893
|
+
this.isSearchDirty = false;
|
|
34883
34894
|
}
|
|
34884
34895
|
// ---------------------------------------------------------------------------
|
|
34885
34896
|
// Command Handling
|
|
@@ -34904,18 +34915,33 @@ class FindAndReplacePlugin extends UIPlugin {
|
|
|
34904
34915
|
case "REPLACE_ALL_SEARCH":
|
|
34905
34916
|
this.replaceAll(cmd.replaceWith);
|
|
34906
34917
|
break;
|
|
34918
|
+
case "EVALUATE_CELLS":
|
|
34919
|
+
case "UPDATE_CELL":
|
|
34920
|
+
case "REMOVE_FILTER_TABLE":
|
|
34921
|
+
case "UPDATE_FILTER":
|
|
34922
|
+
this.isSearchDirty = true;
|
|
34923
|
+
break;
|
|
34907
34924
|
case "UNDO":
|
|
34908
34925
|
case "REDO":
|
|
34909
34926
|
case "REMOVE_COLUMNS_ROWS":
|
|
34927
|
+
case "HIDE_COLUMNS_ROWS":
|
|
34928
|
+
case "UNHIDE_COLUMNS_ROWS":
|
|
34910
34929
|
case "ADD_COLUMNS_ROWS":
|
|
34911
|
-
|
|
34930
|
+
case "EVALUATE_CELLS":
|
|
34931
|
+
case "UPDATE_CELL":
|
|
34932
|
+
this.isSearchDirty = true;
|
|
34912
34933
|
break;
|
|
34913
34934
|
case "ACTIVATE_SHEET":
|
|
34914
|
-
case "REFRESH_SEARCH":
|
|
34915
34935
|
this.refreshSearch();
|
|
34916
34936
|
break;
|
|
34917
34937
|
}
|
|
34918
34938
|
}
|
|
34939
|
+
finalize() {
|
|
34940
|
+
if (this.isSearchDirty) {
|
|
34941
|
+
this.refreshSearch();
|
|
34942
|
+
this.isSearchDirty = false;
|
|
34943
|
+
}
|
|
34944
|
+
}
|
|
34919
34945
|
// ---------------------------------------------------------------------------
|
|
34920
34946
|
// Getters
|
|
34921
34947
|
// ---------------------------------------------------------------------------
|
|
@@ -34971,6 +34997,11 @@ class FindAndReplacePlugin extends UIPlugin {
|
|
|
34971
34997
|
if (this.toSearch) {
|
|
34972
34998
|
for (const cell of Object.values(cells)) {
|
|
34973
34999
|
const { col, row } = this.getters.getCellPosition(cell.id);
|
|
35000
|
+
const isColHidden = this.getters.isColHidden(sheetId, col);
|
|
35001
|
+
const isRowHidden = this.getters.isRowHidden(sheetId, row);
|
|
35002
|
+
if (isColHidden || isRowHidden) {
|
|
35003
|
+
continue;
|
|
35004
|
+
}
|
|
34974
35005
|
if (cell &&
|
|
34975
35006
|
this.currentSearchRegex &&
|
|
34976
35007
|
this.currentSearchRegex.test(this.getSearchableString({ sheetId, col, row }))) {
|
|
@@ -35030,37 +35061,31 @@ class FindAndReplacePlugin extends UIPlugin {
|
|
|
35030
35061
|
// ---------------------------------------------------------------------------
|
|
35031
35062
|
// Replace
|
|
35032
35063
|
// ---------------------------------------------------------------------------
|
|
35033
|
-
|
|
35034
|
-
|
|
35035
|
-
*/
|
|
35036
|
-
replace(replaceWith) {
|
|
35037
|
-
if (this.selectedMatchIndex === null || !this.currentSearchRegex) {
|
|
35064
|
+
replaceMatch(selectedMatch, replaceWith) {
|
|
35065
|
+
if (!this.currentSearchRegex) {
|
|
35038
35066
|
return;
|
|
35039
35067
|
}
|
|
35040
|
-
const matches = this.searchMatches;
|
|
35041
|
-
const selectedMatch = matches[this.selectedMatchIndex];
|
|
35042
35068
|
const sheetId = this.getters.getActiveSheetId();
|
|
35043
35069
|
const cell = this.getters.getCell({ sheetId, ...selectedMatch });
|
|
35070
|
+
const { col, row } = selectedMatch;
|
|
35044
35071
|
if ((cell === null || cell === void 0 ? void 0 : cell.isFormula) && !this.searchOptions.searchFormulas) {
|
|
35045
|
-
|
|
35072
|
+
return;
|
|
35046
35073
|
}
|
|
35047
|
-
|
|
35048
|
-
|
|
35049
|
-
|
|
35050
|
-
|
|
35051
|
-
|
|
35052
|
-
|
|
35053
|
-
|
|
35054
|
-
|
|
35055
|
-
|
|
35056
|
-
|
|
35057
|
-
|
|
35058
|
-
row: selectedMatch.row,
|
|
35059
|
-
content: newContent,
|
|
35060
|
-
});
|
|
35061
|
-
this.searchMatches.splice(this.selectedMatchIndex, 1);
|
|
35062
|
-
this.selectNextCell(Direction.current);
|
|
35074
|
+
const replaceRegex = new RegExp(this.currentSearchRegex.source, this.currentSearchRegex.flags + "g");
|
|
35075
|
+
const toReplace = this.getSearchableString({ sheetId, col, row });
|
|
35076
|
+
const content = toReplace.replace(replaceRegex, replaceWith);
|
|
35077
|
+
this.dispatch("UPDATE_CELL", { sheetId, col, row, content });
|
|
35078
|
+
}
|
|
35079
|
+
/**
|
|
35080
|
+
* Replace the value of the currently selected match
|
|
35081
|
+
*/
|
|
35082
|
+
replace(replaceWith) {
|
|
35083
|
+
if (this.selectedMatchIndex === null) {
|
|
35084
|
+
return;
|
|
35063
35085
|
}
|
|
35086
|
+
const selectedMatch = this.searchMatches[this.selectedMatchIndex];
|
|
35087
|
+
this.replaceMatch(selectedMatch, replaceWith);
|
|
35088
|
+
this.selectNextCell(Direction.next);
|
|
35064
35089
|
}
|
|
35065
35090
|
/**
|
|
35066
35091
|
* Apply the replace function to all the matches one time.
|
|
@@ -35068,7 +35093,7 @@ class FindAndReplacePlugin extends UIPlugin {
|
|
|
35068
35093
|
replaceAll(replaceWith) {
|
|
35069
35094
|
const matchCount = this.searchMatches.length;
|
|
35070
35095
|
for (let i = 0; i < matchCount; i++) {
|
|
35071
|
-
this.
|
|
35096
|
+
this.replaceMatch(this.searchMatches[i], replaceWith);
|
|
35072
35097
|
}
|
|
35073
35098
|
}
|
|
35074
35099
|
getSearchableString(position) {
|
|
@@ -37413,10 +37438,8 @@ class SortPlugin extends UIPlugin {
|
|
|
37413
37438
|
}
|
|
37414
37439
|
updateCellCommands.push(newCellValues);
|
|
37415
37440
|
}
|
|
37416
|
-
for (const cmd of updateCellCommands) {
|
|
37417
|
-
this.dispatch("UPDATE_CELL", cmd);
|
|
37418
|
-
}
|
|
37419
37441
|
}
|
|
37442
|
+
updateCellCommands.forEach((cmdPayload) => this.dispatch("UPDATE_CELL", cmdPayload));
|
|
37420
37443
|
}
|
|
37421
37444
|
/**
|
|
37422
37445
|
* Return the distances between main merge cells in the zone.
|
|
@@ -39743,6 +39766,11 @@ css /* scss */ `
|
|
|
39743
39766
|
.o-sidePanelButton:enabled {
|
|
39744
39767
|
cursor: pointer;
|
|
39745
39768
|
}
|
|
39769
|
+
|
|
39770
|
+
.o-sidePanelButton:disabled {
|
|
39771
|
+
color: ${DISABLED_TEXT_COLOR};
|
|
39772
|
+
}
|
|
39773
|
+
|
|
39746
39774
|
.o-sidePanelButton:last-child {
|
|
39747
39775
|
margin-right: 0px;
|
|
39748
39776
|
}
|
|
@@ -44252,6 +44280,6 @@ function addFunction(functionName, functionDescription) {
|
|
|
44252
44280
|
export { AbstractChart, CommandResult, CorePlugin, DATETIME_FORMAT, DispatchResult, EvaluationError, Model, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, UIPlugin, __info__, addFunction, astToFormula, compile, components, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, invalidateEvaluationCommands, links, load, parse, readonlyAllowedCommands, registries, setTranslationMethod, tokenize };
|
|
44253
44281
|
|
|
44254
44282
|
|
|
44255
|
-
__info__.version = '16.1.
|
|
44256
|
-
__info__.date = '2023-
|
|
44257
|
-
__info__.hash = '
|
|
44283
|
+
__info__.version = '16.1.17';
|
|
44284
|
+
__info__.date = '2023-08-07T09:00:57.212Z';
|
|
44285
|
+
__info__.hash = '2a79aa8';
|