@univerjs/sheets-find-replace 0.1.12 → 0.1.13

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/lib/es/index.js CHANGED
@@ -1,139 +1,118 @@
1
- var ue = Object.defineProperty;
2
- var ge = (h, e, t) => e in h ? ue(h, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : h[e] = t;
3
- var g = (h, e, t) => (ge(h, typeof e != "symbol" ? e + "" : e, t), t);
4
- import { CommandType as B, IUndoRedoService as fe, ICommandService as H, Rectangle as _e, OnLifecycle as me, LifecycleStages as Se, ThemeService as pe, Disposable as z, EDITOR_ACTIVATED as ve, IContextService as J, IUniverInstanceService as Z, UniverInstanceType as q, fromCallback as U, ColorKit as Ie, rotate as $, groupBy as Ce, ObjectMatrix as Re, Tools as we, replaceInDocumentBody as be, Plugin as Me, PluginService as ke } from "@univerjs/core";
5
- import { Inject as p, Injector as O } from "@wendellhu/redi";
6
- import { FindReplaceController as ye, IFindReplaceService as xe, FindModel as Ue, FindBy as k, FindScope as C, FindDirection as b, UniverFindReplacePlugin as Pe } from "@univerjs/find-replace";
7
- import { Shape as Be, Rect as Fe, IRenderManagerService as We, RENDER_RAW_FORMULA_KEY as He } from "@univerjs/engine-render";
8
- import { SetRangeValuesCommand as ee, SelectionManagerService as Oe, SetWorksheetActiveOperation as Te, SetSelectionsOperation as Ee, SetWorksheetActivateCommand as Ae } from "@univerjs/sheets";
9
- import { SheetSkeletonManagerService as Ne, getCoordByCell as L, getSheetObject as De, ScrollToCellCommand as $e } from "@univerjs/sheets-ui";
10
- import { filter as y, Subject as j, throttleTime as Le, merge as je, skip as Ve, debounceTime as Qe } from "rxjs";
11
- const mt = {
12
- "sheet-find-replace": {
13
- replace: {
14
- "partial-failure": "Failed to replace some cells",
15
- failure: "Failed to replace all cells"
16
- }
17
- }
18
- }, St = {
19
- "sheet-find-replace": {
20
- replace: {
21
- "partial-failure": "部分单元格替换失败",
22
- failure: "替换失败"
23
- }
24
- }
25
- }, pt = {
26
- "sheet-find-replace": {
27
- replace: {
28
- "partial-failure": "Не удалось заменить некоторые ячейки",
29
- failure: "Не удалось заменить все ячейки"
30
- }
31
- }
32
- };
33
- class Xe extends Be {
34
- constructor(t, i) {
35
- super(t, i);
1
+ var ge = Object.defineProperty;
2
+ var _e = (t, e, i) => e in t ? ge(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i;
3
+ var g = (t, e, i) => (_e(t, typeof e != "symbol" ? e + "" : e, i), i);
4
+ import { CommandType as H, IUndoRedoService as fe, ICommandService as O, Rectangle as Se, OnLifecycle as me, LifecycleStages as pe, ThemeService as ve, Disposable as q, EDITOR_ACTIVATED as Ce, IContextService as E, IUniverInstanceService as ee, UniverInstanceType as T, fromCallback as W, ColorKit as Ie, rotate as L, groupBy as Re, ObjectMatrix as we, Tools as ke, replaceInDocumentBody as be, Plugin as Me, PluginService as ye } from "@univerjs/core";
5
+ import { Inject as p, Injector as D } from "@wendellhu/redi";
6
+ import { FindReplaceController as xe, IFindReplaceService as Pe, FindModel as We, FindBy as y, FindScope as I, FindDirection as b, UniverFindReplacePlugin as Ue } from "@univerjs/find-replace";
7
+ import { Shape as He, Rect as Fe, IRenderManagerService as Be, RENDER_RAW_FORMULA_KEY as Oe } from "@univerjs/engine-render";
8
+ import { SetRangeValuesCommand as te, SelectionManagerService as Te, SetWorksheetActiveOperation as De, SetSelectionsOperation as Ae, SetWorksheetActivateCommand as Ne } from "@univerjs/sheets";
9
+ import { SheetSkeletonManagerService as $e, getCoordByCell as G, getSheetObject as Ve, ScrollToCellCommand as je } from "@univerjs/sheets-ui";
10
+ import { filter as x, Subject as Q, throttleTime as Le, merge as Ge, skip as Qe, debounceTime as Xe } from "rxjs";
11
+ var ie = /* @__PURE__ */ ((t) => (t[t.View = 0] = "View", t[t.Edit = 1] = "Edit", t[t.ManageCollaborator = 2] = "ManageCollaborator", t[t.Print = 3] = "Print", t[t.Duplicate = 4] = "Duplicate", t[t.Comment = 5] = "Comment", t[t.Copy = 6] = "Copy", t[t.Share = 7] = "Share", t[t.Export = 8] = "Export", t[t.MoveWorksheet = 9] = "MoveWorksheet", t[t.DeleteWorksheet = 10] = "DeleteWorksheet", t[t.HideWorksheet = 11] = "HideWorksheet", t[t.RenameWorksheet = 12] = "RenameWorksheet", t[t.CreateWorksheet = 13] = "CreateWorksheet", t[t.SetWorksheetStyle = 14] = "SetWorksheetStyle", t[t.EditWorksheetCell = 15] = "EditWorksheetCell", t[t.InsertHyperlink = 16] = "InsertHyperlink", t[t.Sort = 17] = "Sort", t[t.Filter = 18] = "Filter", t[t.PivotTable = 19] = "PivotTable", t[t.FloatImg = 20] = "FloatImg", t[t.History = 21] = "History", t[t.RwHgtClWdt = 22] = "RwHgtClWdt", t[t.ViemRwHgtClWdt = 23] = "ViemRwHgtClWdt", t[t.ViewFilter = 24] = "ViewFilter", t[t.MoveSheet = 25] = "MoveSheet", t[t.DeleteSheet = 26] = "DeleteSheet", t[t.HideSheet = 27] = "HideSheet", t[t.CopySheet = 28] = "CopySheet", t[t.RenameSheet = 29] = "RenameSheet", t[t.CreateSheet = 30] = "CreateSheet", t[t.SelectProtectedCells = 31] = "SelectProtectedCells", t[t.SelectUnProtectedCells = 32] = "SelectUnProtectedCells", t[t.SetCellStyle = 33] = "SetCellStyle", t[t.SetCellValue = 34] = "SetCellValue", t[t.SetRowStyle = 35] = "SetRowStyle", t[t.SetColumnStyle = 36] = "SetColumnStyle", t[t.InsertRow = 37] = "InsertRow", t[t.InsertColumn = 38] = "InsertColumn", t[t.DeleteRow = 39] = "DeleteRow", t[t.DeleteColumn = 40] = "DeleteColumn", t[t.EditExtraObject = 41] = "EditExtraObject", t[t.UNRECOGNIZED = -1] = "UNRECOGNIZED", t))(ie || {});
12
+ class Ye extends He {
13
+ constructor(i, n) {
14
+ super(i, n);
36
15
  g(this, "_activated", !1);
37
16
  g(this, "_inHiddenRange", !1);
38
17
  g(this, "_color");
39
- i && this.setShapeProps(i);
18
+ n && this.setShapeProps(n);
40
19
  }
41
- setShapeProps(t) {
42
- this._activated = !!t.activated, typeof t.inHiddenRange < "u" && (this._inHiddenRange = t.inHiddenRange), typeof t.color < "u" && (this._color = t.color), this.transformByState({
43
- width: t.width,
44
- height: t.height
20
+ setShapeProps(i) {
21
+ this._activated = !!i.activated, typeof i.inHiddenRange < "u" && (this._inHiddenRange = i.inHiddenRange), typeof i.color < "u" && (this._color = i.color), this.transformByState({
22
+ width: i.width,
23
+ height: i.height
45
24
  });
46
25
  }
47
- _draw(t) {
48
- const i = this._activated, n = `rgba(${this._color.r}, ${this._color.g}, ${this._color.b}, 0.35)`, r = `rgb(${this._color.r}, ${this._color.g}, ${this._color.b})`;
49
- Fe.drawWith(t, {
26
+ _draw(i) {
27
+ const n = this._activated, s = `rgba(${this._color.r}, ${this._color.g}, ${this._color.b}, 0.35)`, o = `rgb(${this._color.r}, ${this._color.g}, ${this._color.b})`;
28
+ Fe.drawWith(i, {
50
29
  width: this.width,
51
30
  height: this.height,
52
- fill: n,
53
- stroke: i ? r : void 0,
54
- strokeWidth: i ? 2 : 0,
31
+ fill: s,
32
+ stroke: n ? o : void 0,
33
+ strokeWidth: n ? 2 : 0,
55
34
  evented: !1
56
35
  });
57
36
  }
58
37
  }
59
- const te = {
38
+ const ne = {
60
39
  id: "sheet.command.replace",
61
- type: B.COMMAND,
62
- handler: async (h, e) => {
63
- const t = h.get(fe), i = h.get(H), { unitId: n, replacements: r } = e, s = t.__tempBatchingUndoRedo(n), o = await Promise.all(r.map((c) => i.executeCommand(ee.id, {
64
- unitId: n,
40
+ type: H.COMMAND,
41
+ handler: async (t, e) => {
42
+ const i = t.get(fe), n = t.get(O), { unitId: s, replacements: o } = e, r = i.__tempBatchingUndoRedo(s), h = await Promise.all(o.map((c) => n.executeCommand(te.id, {
43
+ unitId: s,
65
44
  subUnitId: c.subUnitId,
66
45
  value: c.value
67
46
  })));
68
- return s.dispose(), Ye(o, r);
47
+ return r.dispose(), Ze(h, o);
69
48
  }
70
49
  };
71
- function Ye(h, e) {
72
- let t = 0, i = 0;
73
- return h.forEach((n, r) => {
74
- const s = e[r].count;
75
- n ? t += s : i += s;
76
- }), { success: t, failure: i };
50
+ function Ze(t, e) {
51
+ let i = 0, n = 0;
52
+ return t.forEach((s, o) => {
53
+ const r = e[o].count;
54
+ s ? i += r : n += r;
55
+ }), { success: i, failure: n };
77
56
  }
78
- function V(h, e) {
79
- return h.startRow === e.startRow && h.startColumn === e.startColumn;
57
+ function X(t, e) {
58
+ return t.startRow === e.startRow && t.startColumn === e.startColumn;
80
59
  }
81
- function Q(h, e) {
82
- return h.startRow < e.startRow || h.startRow === e.startRow && h.startColumn <= e.startColumn;
60
+ function Y(t, e) {
61
+ return t.startRow < e.startRow || t.startRow === e.startRow && t.startColumn <= e.startColumn;
83
62
  }
84
- function X(h, e) {
85
- return h.startColumn < e.startColumn || h.startColumn === e.startColumn && h.startRow <= e.startRow;
63
+ function Z(t, e) {
64
+ return t.startColumn < e.startColumn || t.startColumn === e.startColumn && t.startRow <= e.startRow;
86
65
  }
87
- function Ge(h, e) {
88
- return h.startRow > e.startRow || h.startRow === e.startRow && h.startColumn >= e.startColumn;
66
+ function Ke(t, e) {
67
+ return t.startRow > e.startRow || t.startRow === e.startRow && t.startColumn >= e.startColumn;
89
68
  }
90
- function Ke(h, e) {
91
- return h.startColumn > e.startColumn || h.startColumn === e.startColumn && h.startRow >= e.startRow;
69
+ function ze(t, e) {
70
+ return t.startColumn > e.startColumn || t.startColumn === e.startColumn && t.startRow >= e.startRow;
92
71
  }
93
- function ze(h, e) {
94
- const { range: t } = h, { startRow: i, startColumn: n } = t, r = e.getMergedCell(i, n);
95
- return r ? _e.equals(t, r) : t.endRow === t.startRow && t.endColumn === t.startColumn;
72
+ function Je(t, e) {
73
+ const { range: i } = t, { startRow: n, startColumn: s } = i, o = e.getMergedCell(n, s);
74
+ return o ? Se.equals(i, o) : i.endRow === i.startRow && i.endColumn === i.startColumn;
96
75
  }
97
- var Je = Object.defineProperty, Ze = Object.getOwnPropertyDescriptor, T = (h, e, t, i) => {
98
- for (var n = i > 1 ? void 0 : i ? Ze(e, t) : e, r = h.length - 1, s; r >= 0; r--)
99
- (s = h[r]) && (n = (i ? s(e, t, n) : s(n)) || n);
100
- return i && n && Je(e, t, n), n;
101
- }, _ = (h, e) => (t, i) => e(t, i, h);
102
- let x = class extends z {
103
- constructor(e, t, i, n, r) {
76
+ var qe = Object.defineProperty, Ee = Object.getOwnPropertyDescriptor, A = (t, e, i, n) => {
77
+ for (var s = n > 1 ? void 0 : n ? Ee(e, i) : e, o = t.length - 1, r; o >= 0; o--)
78
+ (r = t[o]) && (s = (n ? r(e, i, s) : r(s)) || s);
79
+ return n && s && qe(e, i, s), s;
80
+ }, f = (t, e) => (i, n) => e(i, n, t);
81
+ let w = class extends q {
82
+ constructor(e, i, n, s, o) {
104
83
  super();
105
84
  g(this, "_provider");
106
- this._injector = e, this._findReplaceController = t, this._contextService = i, this._findReplaceService = n, this._commandService = r, this._init(), this._initCommands();
85
+ this._injector = e, this._findReplaceController = i, this._contextService = n, this._findReplaceService = s, this._commandService = o, this._init(), this._initCommands();
107
86
  }
108
87
  dispose() {
109
88
  super.dispose(), this._provider.dispose();
110
89
  }
111
90
  _init() {
112
- const e = this._injector.createInstance(W);
91
+ const e = this._injector.createInstance(B);
113
92
  this._provider = e, this.disposeWithMe(this._findReplaceService.registerFindReplaceProvider(e)), this.disposeWithMe(
114
- this._contextService.subscribeContextValue$(ve).pipe(y((t) => !!t)).subscribe(() => this._findReplaceController.closePanel())
93
+ this._contextService.subscribeContextValue$(Ce).pipe(x((i) => !!i)).subscribe(() => this._findReplaceController.closePanel())
115
94
  );
116
95
  }
117
96
  _initCommands() {
118
- [te].forEach((e) => this.disposeWithMe(this._commandService.registerCommand(e)));
97
+ [ne].forEach((e) => this.disposeWithMe(this._commandService.registerCommand(e)));
119
98
  }
120
99
  };
121
- x = T([
122
- me(Se.Steady, x),
123
- _(0, p(O)),
124
- _(1, p(ye)),
125
- _(2, J),
126
- _(3, xe),
127
- _(4, H)
128
- ], x);
129
- const qe = "sheets-find-replace-provider", et = 1e4;
130
- let F = class extends Ue {
131
- constructor(e, t, i, n, r, s, o, c) {
100
+ w = A([
101
+ me(pe.Steady, w),
102
+ f(0, p(D)),
103
+ f(1, p(xe)),
104
+ f(2, E),
105
+ f(3, Pe),
106
+ f(4, O)
107
+ ], w);
108
+ const et = "sheets-find-replace-provider", tt = 1e4;
109
+ let F = class extends We {
110
+ constructor(e, i, n, s, o, r, h, c, a) {
132
111
  super();
133
112
  // We can directly inject the `FindReplaceService` here, and call its methods instead of using the observables.
134
- g(this, "_matchesUpdate$", new j());
113
+ g(this, "_matchesUpdate$", new Q());
135
114
  g(this, "matchesUpdate$", this._matchesUpdate$.asObservable());
136
- g(this, "_activelyChangingMatch$", new j());
115
+ g(this, "_activelyChangingMatch$", new Q());
137
116
  g(this, "activelyChangingMatch$", this._activelyChangingMatch$.asObservable());
138
117
  /** Hold matches by the worksheet they are in. Make it easier to track the next (or previous) match when searching in the whole workbook. */
139
118
  g(this, "_matchesByWorksheet", /* @__PURE__ */ new Map());
@@ -146,7 +125,7 @@ let F = class extends Ue {
146
125
  g(this, "_currentHighlightShape", null);
147
126
  /** This properties holds the query params during this searching session. */
148
127
  g(this, "_query", null);
149
- this._workbook = e, this._univerInstanceService = t, this._renderManagerService = i, this._commandService = n, this._contextService = r, this._themeService = s, this._sheetSkeletonManagerService = o, this._selectionManagerService = c;
128
+ this._workbook = e, this._univerInstanceService = i, this._renderManagerService = n, this._commandService = s, this._contextService = o, this._themeService = r, this._sheetSkeletonManagerService = h, this._selectionManagerService = c, this._findReplaceController = a;
150
129
  }
151
130
  get _matchesCount() {
152
131
  return this._matches.length;
@@ -170,18 +149,18 @@ let F = class extends Ue {
170
149
  return this._matches;
171
150
  }
172
151
  start(e) {
173
- switch (this._query = e, e.findBy === k.FORMULA ? this._toggleDisplayRawFormula(!0) : this._toggleDisplayRawFormula(!1), e.findScope) {
174
- case C.UNIT:
152
+ switch (this._query = e, e.findBy === y.FORMULA ? this._toggleDisplayRawFormula(!0) : this._toggleDisplayRawFormula(!1), e.findScope) {
153
+ case I.UNIT:
175
154
  this.findInWorkbook(e);
176
155
  break;
177
- case C.SUBUNIT:
156
+ case I.SUBUNIT:
178
157
  default:
179
158
  this.findInActiveWorksheet(e);
180
159
  break;
181
160
  }
182
161
  }
183
162
  _toggleDisplayRawFormula(e) {
184
- this._contextService.setContextValue(He, e);
163
+ this._contextService.setContextValue(Oe, e);
185
164
  }
186
165
  /**
187
166
  * Find all matches in the current workbook no matter which worksheet is activated.
@@ -189,41 +168,41 @@ let F = class extends Ue {
189
168
  * @returns the query complete event
190
169
  */
191
170
  findInWorkbook(e) {
192
- const t = this._workbook.getUnitId();
193
- let i, n = !0;
194
- const r = () => {
195
- const s = this._workbook.getSheets().filter((o) => !o.isSheetHidden()).map((o) => {
196
- const c = this._findInWorksheet(o, e, t), l = o.getSheetId(), { results: a } = c;
197
- return a.length ? this._matchesByWorksheet.set(l, c.results) : this._matchesByWorksheet.delete(l), c;
171
+ const i = this._workbook.getUnitId();
172
+ let n, s = !0;
173
+ const o = () => {
174
+ const r = this._workbook.getSheets().filter((h) => !h.isSheetHidden()).map((h) => {
175
+ const c = this._findInWorksheet(h, e, i), a = h.getSheetId(), { results: l } = c;
176
+ return l.length ? this._matchesByWorksheet.set(a, c.results) : this._matchesByWorksheet.delete(a), c;
198
177
  });
199
- this._matches = s.map((o) => o.results).flat(), this._updateFindHighlight(), n ? (i = { results: this._matches }, n = !1) : this._matchesUpdate$.next(this._matches);
178
+ this._matches = r.map((h) => h.results).flat(), this._updateFindHighlight(), s ? (n = { results: this._matches }, s = !1) : this._matchesUpdate$.next(this._matches);
200
179
  };
201
180
  return this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(() => {
202
181
  this._updateFindHighlight(), this._updateCurrentHighlightShape(this._activeHighlightIndex);
203
182
  })), this.disposeWithMe(
204
- U(this._commandService.onCommandExecuted).pipe(
205
- y(([s, o]) => s.id === Te.id && !(o != null && o.fromFindReplace))
183
+ W(this._commandService.onCommandExecuted).pipe(
184
+ x(([r, h]) => r.id === De.id && !(h != null && h.fromFindReplace))
206
185
  ).subscribe(() => {
207
- const s = this._workbook.getActiveSheet(), o = s.getSheetId();
208
- this._matchesByWorksheet.has(o) && this._findNextMatchOnActiveSheetChange(s);
186
+ const r = this._workbook.getActiveSheet(), h = r.getSheetId();
187
+ this._matchesByWorksheet.has(h) && this._findNextMatchOnActiveSheetChange(r);
209
188
  })
210
189
  ), this.disposeWithMe(
211
- U(this._commandService.onCommandExecuted).pipe(
212
- y(
213
- ([s]) => s.type === B.MUTATION && s.params.unitId === this._workbook.getUnitId()
190
+ W(this._commandService.onCommandExecuted).pipe(
191
+ x(
192
+ ([r]) => r.type === H.MUTATION && r.params.unitId === this._workbook.getUnitId()
214
193
  ),
215
194
  Le(600, void 0, { leading: !1, trailing: !0 })
216
- ).subscribe(() => r())
217
- ), r(), i;
195
+ ).subscribe(() => o())
196
+ ), o(), n;
218
197
  }
219
198
  /**
220
199
  * This method is used in `findInWorkbook`. When the active sheet changes, this method helps to find the next match
221
200
  * in the new worksheet.
222
201
  */
223
202
  _findNextMatchOnActiveSheetChange(e) {
224
- let t, i, n = 0;
225
- const r = this._matchesByWorksheet.get(e.getSheetId()), s = this._selectionManagerService.getSelections();
226
- s != null && s.length ? ([t, n] = this._findNextMatchByRange(r, s[0].range), i = r.findIndex((o) => o === t)) : (t = r[0], i = 0, n = this._matches.findIndex((o) => o === t)), this._matchesPosition = n + 1, this._activelyChangingMatch$.next(t), this._activeHighlightIndex = i, this._updateFindHighlight(), this._updateCurrentHighlightShape(i);
203
+ let i, n, s = 0;
204
+ const o = this._matchesByWorksheet.get(e.getSheetId()), r = this._selectionManagerService.getSelections();
205
+ r != null && r.length ? ([i, s] = this._findNextMatchByRange(o, r[0].range), n = o.findIndex((h) => h === i)) : (i = o[0], n = 0, s = this._matches.findIndex((h) => h === i)), this._matchesPosition = s + 1, this._activelyChangingMatch$.next(i), this._activeHighlightIndex = n, this._updateFindHighlight(), this._updateCurrentHighlightShape(n);
227
206
  }
228
207
  /**
229
208
  * Find all matches (only) in the currently activated worksheet.
@@ -231,321 +210,331 @@ let F = class extends Ue {
231
210
  * @returns the query complete event
232
211
  */
233
212
  findInActiveWorksheet(e) {
234
- const t = this._workbook.getUnitId(), i = () => {
213
+ const i = this._workbook.getUnitId(), n = () => {
235
214
  var d;
236
- const c = this._workbook.getActiveSheet(), l = this._selectionManagerService.getSelections();
237
- return (d = l == null ? void 0 : l.some((f) => !ze(f, c))) != null ? d : !1;
215
+ const c = this._workbook.getActiveSheet(), a = this._selectionManagerService.getSelections();
216
+ return (d = a == null ? void 0 : a.some((_) => !Je(_, c))) != null ? d : !1;
238
217
  };
239
- let n, r = !0, s = !1;
240
- const o = () => {
241
- const c = this._workbook.getActiveSheet(), l = this.currentMatch;
242
- s = i();
243
- const a = this._selectionManagerService.getSelections(), d = s ? this._findInSelections(c, a, e, t) : this._findInWorksheet(c, e, t);
244
- return this._matches = d.results, this._matchesPosition = this._tryRestoreLastMatchesPosition(l, this._matches), r ? (n = d, r = !1) : this._matchesUpdate$.next(this._matches), this._updateFindHighlight(), d;
218
+ let s, o = !0, r = !1;
219
+ const h = () => {
220
+ const c = this._workbook.getActiveSheet(), a = this.currentMatch;
221
+ r = n();
222
+ const l = this._selectionManagerService.getSelections(), d = r ? this._findInSelections(c, l, e, i) : this._findInWorksheet(c, e, i);
223
+ return this._matches = d.results, this._matchesPosition = this._tryRestoreLastMatchesPosition(a, this._matches), o ? (s = d, o = !1) : this._matchesUpdate$.next(this._matches), this._updateFindHighlight(), d;
245
224
  };
246
225
  return this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(() => this._updateFindHighlight())), this.disposeWithMe(
247
- je(
248
- U(this._commandService.onCommandExecuted).pipe(
249
- y(([c]) => {
250
- if (c.type === B.MUTATION && c.params.unitId === this._workbook.getUnitId())
226
+ Ge(
227
+ W(this._commandService.onCommandExecuted).pipe(
228
+ x(([c]) => {
229
+ if (c.type === H.MUTATION && c.params.unitId === this._workbook.getUnitId())
251
230
  return !0;
252
- if (c.id === Ee.id && c.params.unitId === t) {
253
- const l = i();
254
- return l === !1 && s === !1 ? !1 : (s = l, !0);
231
+ if (c.id === Ae.id && c.params.unitId === i) {
232
+ const a = n();
233
+ return a === !1 && r === !1 ? !1 : (r = a, !0);
255
234
  }
256
235
  return !1;
257
236
  })
258
237
  ),
259
238
  // activeSheet$ is a BehaviorSubject, so we need to skip the first
260
- this._workbook.activeSheet$.pipe(Ve(1))
261
- ).pipe(Qe(200)).subscribe(() => o())
262
- ), o(), n;
263
- }
264
- _findInRange(e, t, i, n, r) {
265
- const s = [], o = e.getSheetId(), c = (t.findDirection === b.COLUMN ? e.iterateByColumn : e.iterateByRow).bind(e)(i);
266
- for (const l of c) {
267
- const { row: a, col: d, colSpan: f, rowSpan: S, value: m } = l;
268
- if (r != null && r(a, d) || !m || e.getRowFiltered(a))
239
+ this._workbook.activeSheet$.pipe(Qe(1))
240
+ ).pipe(Xe(200)).subscribe(() => h())
241
+ ), h(), s;
242
+ }
243
+ _findInRange(e, i, n, s, o) {
244
+ const r = [], h = e.getSheetId(), c = (i.findDirection === b.COLUMN ? e.iterateByColumn : e.iterateByRow).bind(e)(n);
245
+ for (const a of c) {
246
+ const { row: l, col: d, colSpan: _, rowSpan: m, value: S } = a;
247
+ if (!this._getFindReplacePermissionCheck({ row: l, col: d, unitId: s, subUnitId: h }) || o != null && o(l, d) || !S || e.getRowFiltered(l))
269
248
  continue;
270
- const { hit: v, replaceable: R, isFormula: I } = tt(e, a, d, t, m);
271
- if (v) {
272
- const w = {
273
- provider: qe,
274
- unitId: n,
275
- replaceable: R,
276
- isFormula: I,
249
+ const { hit: R, replaceable: v, isFormula: k } = it(e, l, d, i, S);
250
+ if (R) {
251
+ const P = {
252
+ provider: et,
253
+ unitId: s,
254
+ replaceable: v,
255
+ isFormula: k,
277
256
  range: {
278
- subUnitId: o,
257
+ subUnitId: h,
279
258
  range: {
280
- startRow: a,
259
+ startRow: l,
281
260
  startColumn: d,
282
- endColumn: d + (f != null ? f : 1) - 1,
283
- endRow: a + (S != null ? S : 1) - 1
261
+ endColumn: d + (_ != null ? _ : 1) - 1,
262
+ endRow: l + (m != null ? m : 1) - 1
284
263
  }
285
264
  }
286
265
  };
287
- s.push(w);
266
+ r.push(P);
288
267
  }
289
268
  }
290
- return { results: s };
269
+ return { results: r };
291
270
  }
292
- _findInSelections(e, t, i, n) {
293
- const { findDirection: r } = i, s = r === b.ROW ? Q : X, o = /* @__PURE__ */ new Set();
294
- return { results: t.map((l) => this._findInRange(
271
+ _findInSelections(e, i, n, s) {
272
+ const { findDirection: o } = n, r = o === b.ROW ? Y : Z, h = /* @__PURE__ */ new Set();
273
+ return { results: i.map((a) => this._findInRange(
295
274
  e,
296
- i,
297
- l.range,
298
275
  n,
299
- (a, d) => {
300
- const f = `${a}-${d}`;
301
- return o.has(f) ? !0 : (o.add(f), !1);
276
+ a.range,
277
+ s,
278
+ (l, d) => {
279
+ const _ = `${l}-${d}`;
280
+ return h.has(_) ? !0 : (h.add(_), !1);
302
281
  }
303
- ).results).flat().sort((l, a) => s(l.range.range, a.range.range) ? -1 : 1) };
282
+ ).results).flat().sort((a, l) => r(a.range.range, l.range.range) ? -1 : 1) };
304
283
  }
305
284
  /** Find matches in a given worksheet. */
306
- _findInWorksheet(e, t, i) {
307
- const n = e.getRowCount(), r = e.getColumnCount(), s = { startRow: 0, startColumn: 0, endRow: n - 1, endColumn: r - 1 };
308
- return this._findInRange(e, t, s, i);
285
+ _findInWorksheet(e, i, n) {
286
+ const s = e.getRowCount(), o = e.getColumnCount(), r = { startRow: 0, startColumn: 0, endRow: s - 1, endColumn: o - 1 };
287
+ return this._findInRange(e, i, r, n);
309
288
  }
310
289
  _disposeHighlights() {
311
290
  var e;
312
- this._highlightShapes.forEach((t) => {
313
- t.getScene().makeDirty(), t.dispose();
291
+ this._highlightShapes.forEach((i) => {
292
+ i.getScene().makeDirty(), i.dispose();
314
293
  }), this._highlightShapes = [], (e = this._currentHighlightShape) == null || e.dispose(), this._currentHighlightShape = null;
315
294
  }
316
295
  _updateFindHighlight() {
317
- var S, m;
296
+ var m, S;
318
297
  this._disposeHighlights();
319
- const e = (S = this._sheetSkeletonManagerService.getCurrent()) == null ? void 0 : S.skeleton;
320
- if (!e || !this._getSheetObject() || ((m = this._univerInstanceService.getFocusedUnit()) == null ? void 0 : m.getUnitId()) !== this._workbook.getUnitId())
298
+ const e = (m = this._sheetSkeletonManagerService.getCurrent()) == null ? void 0 : m.skeleton;
299
+ if (!e || !this._getSheetObject() || ((S = this._univerInstanceService.getFocusedUnit()) == null ? void 0 : S.getUnitId()) !== this._workbook.getUnitId())
321
300
  return;
322
- const n = this._workbook.getUnitId(), r = this._renderManagerService.getRenderById(n);
323
- if (r == null)
301
+ const s = this._workbook.getUnitId(), o = this._renderManagerService.getRenderById(s);
302
+ if (o == null)
324
303
  return;
325
- const { scene: s } = r, o = this._matches, c = this._themeService.getCurrentTheme().gold400, l = new Ie(c).toRgb(), a = this._workbook.getActiveSheet(), d = a.getSheetId(), f = o.filter((v) => v.range.subUnitId === d).map((v, R) => {
326
- const { startColumn: I, startRow: w, endColumn: ie, endRow: ne } = v.range.range, se = L(w, I, s, e), re = L(ne, ie, s, e), { startX: E, startY: A } = se, { endX: oe, endY: he } = re, N = !a.getRowRawVisible(w), D = !a.getColVisible(I), ce = N || D, ae = D ? 2 : oe - E, le = N ? 2 : he - A, de = {
327
- left: E,
328
- top: A,
329
- color: l,
330
- width: ae,
331
- height: le,
304
+ const { scene: r } = o, h = this._matches, c = this._themeService.getCurrentTheme().gold400, a = new Ie(c).toRgb(), l = this._workbook.getActiveSheet(), d = l.getSheetId(), _ = h.filter((C) => C.range.subUnitId === d).map((C, R) => {
305
+ const { startColumn: v, startRow: k, endColumn: P, endRow: se } = C.range.range, re = G(k, v, r, e), oe = G(se, P, r, e), { startX: N, startY: $ } = re, { endX: he, endY: ce } = oe, V = !l.getRowRawVisible(k), j = !l.getColVisible(v), ae = V || j, le = j ? 2 : he - N, de = V ? 2 : ce - $, ue = {
306
+ left: N,
307
+ top: $,
308
+ color: a,
309
+ width: le,
310
+ height: de,
332
311
  evented: !1,
333
- inHiddenRange: ce
312
+ inHiddenRange: ae,
313
+ zIndex: tt
334
314
  };
335
- return new Xe(`find-highlight-${R}`, de);
315
+ return new Ye(`find-highlight-${R}`, ue);
336
316
  });
337
- s.addObjects(f, et), this._highlightShapes = f, s.makeDirty();
317
+ r.addObjects(_), this._highlightShapes = _, r.makeDirty();
338
318
  }
339
319
  _updateCurrentHighlightShape(e) {
340
- var t;
341
- if ((t = this._currentHighlightShape) == null || t.setShapeProps({ activated: !1 }), this._currentHighlightShape = null, e !== void 0) {
342
- const i = this._highlightShapes[e];
343
- if (!i)
320
+ var i;
321
+ if ((i = this._currentHighlightShape) == null || i.setShapeProps({ activated: !1 }), this._currentHighlightShape = null, e !== void 0) {
322
+ const n = this._highlightShapes[e];
323
+ if (!n)
344
324
  return;
345
- this._currentHighlightShape = i, i.setShapeProps({ activated: !0 });
325
+ this._currentHighlightShape = n, n.setShapeProps({ activated: !0 });
346
326
  }
347
327
  }
348
328
  _getSheetObject() {
349
- return De(this._univerInstanceService, this._renderManagerService);
329
+ return Ve(this._univerInstanceService, this._renderManagerService);
350
330
  }
351
331
  _focusMatch(e) {
352
- const t = e.range.subUnitId;
353
- t !== this._workbook.getActiveSheet().getSheetId() && this._commandService.syncExecuteCommand(
354
- Ae.id,
355
- { unitId: this._workbook.getUnitId(), subUnitId: t },
332
+ const i = e.range.subUnitId;
333
+ i !== this._workbook.getActiveSheet().getSheetId() && this._commandService.syncExecuteCommand(
334
+ Ne.id,
335
+ { unitId: this._workbook.getUnitId(), subUnitId: i },
356
336
  { fromFindReplace: !0 }
357
337
  ), this._commandService.syncExecuteCommand(
358
- $e.id,
338
+ je.id,
359
339
  { range: e.range.range },
360
340
  { fromFindReplace: !0 }
361
341
  );
362
342
  }
363
- _tryRestoreLastMatchesPosition(e, t) {
343
+ _tryRestoreLastMatchesPosition(e, i) {
364
344
  if (!e)
365
345
  return 0;
366
- const { subUnitId: i } = e.range, { startColumn: n, startRow: r } = e.range.range, s = t.findIndex((o) => {
367
- if (i !== o.range.subUnitId)
346
+ const { subUnitId: n } = e.range, { startColumn: s, startRow: o } = e.range.range, r = i.findIndex((h) => {
347
+ if (n !== h.range.subUnitId)
368
348
  return !1;
369
- const { startColumn: c, startRow: l } = o.range.range;
370
- return c === n && l === r;
349
+ const { startColumn: c, startRow: a } = h.range.range;
350
+ return c === s && a === o;
371
351
  });
372
- return s > -1 ? s + 1 : 0;
352
+ return r > -1 ? r + 1 : 0;
373
353
  }
374
354
  moveToNextMatch(e) {
375
- var s, o, c;
355
+ var r, h, c;
376
356
  if (!this._matches.length)
377
357
  return null;
378
- const t = (s = e == null ? void 0 : e.loop) != null ? s : !1, i = (o = e == null ? void 0 : e.stayIfOnMatch) != null ? o : !1, n = (c = e == null ? void 0 : e.noFocus) != null ? c : !1, r = this._findNextMatch(t, i);
379
- if (r) {
380
- const [l, a] = r;
381
- return this._matchesPosition = a + 1, this._query.findScope === C.UNIT ? this._activeHighlightIndex = this._matchesByWorksheet.get(l.range.subUnitId).findIndex((d) => d === l) : this._activeHighlightIndex = a, n || this._focusMatch(l), this._workbook.getActiveSheet().getSheetId() === l.range.subUnitId && this._updateCurrentHighlightShape(this._activeHighlightIndex), l;
358
+ const i = (r = e == null ? void 0 : e.loop) != null ? r : !1, n = (h = e == null ? void 0 : e.stayIfOnMatch) != null ? h : !1, s = (c = e == null ? void 0 : e.noFocus) != null ? c : !1, o = this._findNextMatch(i, n);
359
+ if (o) {
360
+ const [a, l] = o;
361
+ return this._matchesPosition = l + 1, this._query.findScope === I.UNIT ? this._activeHighlightIndex = this._matchesByWorksheet.get(a.range.subUnitId).findIndex((d) => d === a) : this._activeHighlightIndex = l, s || this._focusMatch(a), this._workbook.getActiveSheet().getSheetId() === a.range.subUnitId && this._updateCurrentHighlightShape(this._activeHighlightIndex), a;
382
362
  }
383
363
  return this._matchesPosition = 0, this._updateCurrentHighlightShape(), null;
384
364
  }
385
365
  moveToPreviousMatch(e) {
386
- var s, o, c;
366
+ var r, h, c;
387
367
  if (!this._matches.length)
388
368
  return null;
389
- const t = (s = e == null ? void 0 : e.loop) != null ? s : !1, i = (o = e == null ? void 0 : e.stayIfOnMatch) != null ? o : !1, n = (c = e == null ? void 0 : e.noFocus) != null ? c : !1, r = this._findPreviousMatch(t, i);
390
- if (r) {
391
- const [l, a] = r;
392
- return this._matchesPosition = a + 1, this._query.findScope === C.UNIT ? this._activeHighlightIndex = this._matchesByWorksheet.get(l.range.subUnitId).findIndex((d) => d === l) : this._activeHighlightIndex = a, n || this._focusMatch(l), this._workbook.getActiveSheet().getSheetId() === l.range.subUnitId && this._updateCurrentHighlightShape(this._activeHighlightIndex), l;
369
+ const i = (r = e == null ? void 0 : e.loop) != null ? r : !1, n = (h = e == null ? void 0 : e.stayIfOnMatch) != null ? h : !1, s = (c = e == null ? void 0 : e.noFocus) != null ? c : !1, o = this._findPreviousMatch(i, n);
370
+ if (o) {
371
+ const [a, l] = o;
372
+ return this._matchesPosition = l + 1, this._query.findScope === I.UNIT ? this._activeHighlightIndex = this._matchesByWorksheet.get(a.range.subUnitId).findIndex((d) => d === a) : this._activeHighlightIndex = l, s || this._focusMatch(a), this._workbook.getActiveSheet().getSheetId() === a.range.subUnitId && this._updateCurrentHighlightShape(this._activeHighlightIndex), a;
393
373
  }
394
374
  return this._matchesPosition = 0, this._updateCurrentHighlightShape(), null;
395
375
  }
396
- _findPreviousMatch(e = !1, t = !1) {
376
+ _findPreviousMatch(e = !1, i = !1) {
397
377
  if (this.currentMatch) {
398
- const s = this._matches.findIndex((a) => a === this.currentMatch);
399
- if (t)
400
- return [this.currentMatch, s];
401
- const o = s - 1;
402
- if (!e && o < 0)
378
+ const r = this._matches.findIndex((l) => l === this.currentMatch);
379
+ if (i)
380
+ return [this.currentMatch, r];
381
+ const h = r - 1;
382
+ if (!e && h < 0)
403
383
  return null;
404
- const c = this._matches.length, l = (o + c) % c;
405
- return [this._matches[l], l];
384
+ const c = this._matches.length, a = (h + c) % c;
385
+ return [this._matches[a], a];
406
386
  }
407
- const i = this._selectionManagerService.getSelections();
408
- if (!(i != null && i.length))
387
+ const n = this._selectionManagerService.getSelections();
388
+ if (!(n != null && n.length))
409
389
  return [this._matches[0], 0];
410
- if (this._query.findScope !== C.UNIT)
411
- return this._findPreviousMatchByRange(this._matches, i[0].range);
412
- const n = this._workbook.getActiveSheet().getSheetId(), r = this._findPreviousWorksheetThatHasAMatch(n, e);
413
- return r ? this._findPreviousMatchByRange(this._matchesByWorksheet.get(r), i[0].range) : null;
390
+ if (this._query.findScope !== I.UNIT)
391
+ return this._findPreviousMatchByRange(this._matches, n[0].range);
392
+ const s = this._workbook.getActiveSheet().getSheetId(), o = this._findPreviousWorksheetThatHasAMatch(s, e);
393
+ return o ? this._findPreviousMatchByRange(this._matchesByWorksheet.get(o), n[0].range) : null;
414
394
  }
415
- _findNextMatch(e = !1, t = !1) {
395
+ _findNextMatch(e = !1, i = !1) {
416
396
  if (this.currentMatch) {
417
- const s = this._matches.findIndex((a) => a === this.currentMatch);
418
- if (t)
419
- return [this.currentMatch, s];
420
- const o = s + 1, c = this._matches.length;
421
- if (!e && o >= c)
397
+ const r = this._matches.findIndex((l) => l === this.currentMatch);
398
+ if (i)
399
+ return [this.currentMatch, r];
400
+ const h = r + 1, c = this._matches.length;
401
+ if (!e && h >= c)
422
402
  return null;
423
- const l = o % c;
424
- return [this._matches[l], l];
403
+ const a = h % c;
404
+ return [this._matches[a], a];
425
405
  }
426
- const i = this._selectionManagerService.getSelections();
427
- if (!(i != null && i.length))
406
+ const n = this._selectionManagerService.getSelections();
407
+ if (!(n != null && n.length))
428
408
  return [this._matches[0], 0];
429
- if (this._query.findScope !== C.UNIT)
430
- return this._findNextMatchByRange(this._matches, i[0].range, t);
431
- const n = this._workbook.getActiveSheet().getSheetId(), r = this._findNextWorksheetThatHasAMatch(n, e);
432
- return r ? this._findNextMatchByRange(this._matchesByWorksheet.get(r), i[0].range) : null;
433
- }
434
- _findPreviousWorksheetThatHasAMatch(e, t = !1) {
435
- const i = this._workbook.getSheetOrders(), n = i.findIndex((o) => o === e), s = (t ? $(i, n + 1) : i.slice(0, n + 1)).findLast((o) => this._matchesByWorksheet.has(o));
436
- return s != null ? s : null;
437
- }
438
- _findNextWorksheetThatHasAMatch(e, t = !1) {
439
- const i = this._workbook.getSheetOrders(), n = i.findIndex((o) => o === e), s = (t ? $(i, n) : i.slice(n)).find((o) => this._matchesByWorksheet.has(o));
440
- return s != null ? s : null;
441
- }
442
- _findNextMatchByRange(e, t, i = !1) {
443
- const n = this._query.findDirection === b.ROW;
444
- let r = e.findIndex((o) => {
445
- const c = o.range.range;
446
- if (!(n ? Q(t, c) : X(t, c)))
409
+ if (this._query.findScope !== I.UNIT)
410
+ return this._findNextMatchByRange(this._matches, n[0].range, i);
411
+ const s = this._workbook.getActiveSheet().getSheetId(), o = this._findNextWorksheetThatHasAMatch(s, e);
412
+ return o ? this._findNextMatchByRange(this._matchesByWorksheet.get(o), n[0].range) : null;
413
+ }
414
+ _findPreviousWorksheetThatHasAMatch(e, i = !1) {
415
+ const n = this._workbook.getSheetOrders(), s = n.findIndex((h) => h === e), r = (i ? L(n, s + 1) : n.slice(0, s + 1)).findLast((h) => this._matchesByWorksheet.has(h));
416
+ return r != null ? r : null;
417
+ }
418
+ _findNextWorksheetThatHasAMatch(e, i = !1) {
419
+ const n = this._workbook.getSheetOrders(), s = n.findIndex((h) => h === e), r = (i ? L(n, s) : n.slice(s)).find((h) => this._matchesByWorksheet.has(h));
420
+ return r != null ? r : null;
421
+ }
422
+ _findNextMatchByRange(e, i, n = !1) {
423
+ const s = this._query.findDirection === b.ROW;
424
+ let o = e.findIndex((h) => {
425
+ const c = h.range.range;
426
+ if (!(s ? Y(i, c) : Z(i, c)))
447
427
  return !1;
448
- const a = V(t, c);
449
- return i ? a : !a;
428
+ const l = X(i, c);
429
+ return n ? l : !l;
450
430
  });
451
- r === -1 && (r = e.length - 1);
452
- const s = e[r];
453
- return [s, this._matches.findIndex((o) => o === s)];
454
- }
455
- _findPreviousMatchByRange(e, t, i = !1) {
456
- const n = this._query.findDirection === b.ROW;
457
- let r = this._matches.findLastIndex((o) => {
458
- const c = o.range.range;
459
- if (!(n ? Ge(t, c) : Ke(t, c)))
431
+ o === -1 && (o = e.length - 1);
432
+ const r = e[o];
433
+ return [r, this._matches.findIndex((h) => h === r)];
434
+ }
435
+ _findPreviousMatchByRange(e, i, n = !1) {
436
+ const s = this._query.findDirection === b.ROW;
437
+ let o = this._matches.findLastIndex((h) => {
438
+ const c = h.range.range;
439
+ if (!(s ? Ke(i, c) : ze(i, c)))
460
440
  return !1;
461
- const a = V(t, c);
462
- return i ? a : !a;
441
+ const l = X(i, c);
442
+ return n ? l : !l;
463
443
  });
464
- r === -1 && (r = 0);
465
- const s = e[r];
466
- return [s, this._matches.findIndex((o) => o === s)];
444
+ o === -1 && (o = 0);
445
+ const r = e[o];
446
+ return [r, this._matches.findIndex((h) => h === r)];
467
447
  }
468
448
  async replace(e) {
469
449
  if (this._matchesCount === 0 || !this.currentMatch || !this._query || !this.currentMatch.replaceable)
470
450
  return !1;
471
- const t = this.currentMatch.range, i = this._workbook.getSheetBySheetId(this.currentMatch.range.subUnitId), n = this._getReplacedCellData(
451
+ const i = this.currentMatch.range, n = this._workbook.getSheetBySheetId(this.currentMatch.range.subUnitId), s = this._getReplacedCellData(
472
452
  this.currentMatch,
473
- i,
474
- this._query.findBy === k.FORMULA,
453
+ n,
454
+ this._query.findBy === y.FORMULA,
475
455
  this._query.findString,
476
456
  e,
477
457
  this._query.caseSensitive ? "g" : "ig"
478
- ), r = {
458
+ ), o = {
479
459
  unitId: this.currentMatch.unitId,
480
- subUnitId: t.subUnitId,
460
+ subUnitId: i.subUnitId,
481
461
  value: {
482
- [t.range.startRow]: {
483
- [t.range.startColumn]: n
462
+ [i.range.startRow]: {
463
+ [i.range.startColumn]: s
484
464
  }
485
465
  }
486
466
  };
487
- return this._commandService.executeCommand(ee.id, r);
467
+ return this._commandService.executeCommand(te.id, o);
488
468
  }
489
469
  async replaceAll(e) {
490
470
  if (this._matchesCount === 0 || !this._query)
491
471
  return { success: 0, failure: 0 };
492
- const t = this._workbook.getUnitId(), { findString: i, caseSensitive: n, findBy: r } = this._query, s = r === k.FORMULA, o = n ? "g" : "ig", c = [];
493
- return Ce(this._matches.filter((a) => a.replaceable), (a) => a.range.subUnitId).forEach((a, d) => {
494
- const f = new Re(), S = this._workbook.getSheetBySheetId(d);
495
- a.forEach((m) => {
496
- const { startColumn: v, startRow: R } = m.range.range, I = this._getReplacedCellData(m, S, s, i, e, o);
497
- I && f.setValue(R, v, I);
472
+ const i = this._workbook.getUnitId(), { findString: n, caseSensitive: s, findBy: o } = this._query, r = o === y.FORMULA, h = s ? "g" : "ig", c = [];
473
+ return Re(this._matches.filter((l) => l.replaceable), (l) => l.range.subUnitId).forEach((l, d) => {
474
+ const _ = new we(), m = this._workbook.getSheetBySheetId(d);
475
+ l.forEach((S) => {
476
+ const { startColumn: C, startRow: R } = S.range.range, v = this._getReplacedCellData(S, m, r, n, e, h);
477
+ v && _.setValue(R, C, v);
498
478
  }), c.push({
499
- count: a.length,
479
+ count: l.length,
500
480
  subUnitId: d,
501
- value: f.getMatrix()
481
+ value: _.getMatrix()
502
482
  });
503
- }), c ? this._commandService.executeCommand(te.id, {
504
- unitId: t,
483
+ }), c ? this._commandService.executeCommand(ne.id, {
484
+ unitId: i,
505
485
  replacements: c
506
486
  }) : { success: 0, failure: 0 };
507
487
  }
508
- _getReplacedCellData(e, t, i, n, r, s) {
509
- var S;
510
- const o = e.range.range, { startRow: c, startColumn: l } = o, a = t.getCellRaw(c, l);
488
+ _getReplacedCellData(e, i, n, s, o, r) {
489
+ var m;
490
+ const h = e.range.range, { startRow: c, startColumn: a } = h, l = i.getCellRaw(c, a);
511
491
  if (e.isFormula)
512
- return i ? { f: a.f.replace(new RegExp(Y(n), s), r), v: null } : null;
513
- if (!!((S = a.p) != null && S.body)) {
514
- const m = we.deepClone(a.p);
515
- return be(m.body, n, r), { p: m };
492
+ return n ? { f: l.f.replace(new RegExp(K(s), r), o), v: null } : null;
493
+ if (!!((m = l.p) != null && m.body)) {
494
+ const S = ke.deepClone(l.p);
495
+ return be(S.body, s, o), { p: S };
516
496
  }
517
- return { v: a.v.toString().replace(new RegExp(Y(n), s), r) };
497
+ return { v: l.v.toString().replace(new RegExp(K(s), r), o) };
498
+ }
499
+ _getFindReplacePermissionCheck(e) {
500
+ var a, l;
501
+ const { row: i, col: n, subUnitId: s } = e, r = this._univerInstanceService.getCurrentUnitForType(T.UNIVER_SHEET).getSheetBySheetId(s);
502
+ if (!r)
503
+ return !1;
504
+ const h = (l = (a = r.getCell(i, n)) == null ? void 0 : a.selectionProtection) == null ? void 0 : l[0];
505
+ return (h == null ? void 0 : h[ie.View]) !== !1;
518
506
  }
519
507
  };
520
- F = T([
521
- _(1, Z),
522
- _(2, We),
523
- _(3, H),
524
- _(4, J),
525
- _(5, p(pe)),
526
- _(6, p(Ne)),
527
- _(7, p(Oe))
508
+ F = A([
509
+ f(1, ee),
510
+ f(2, Be),
511
+ f(3, O),
512
+ f(4, E),
513
+ f(5, p(ve)),
514
+ f(6, p($e)),
515
+ f(7, p(Te)),
516
+ f(8, p(w))
528
517
  ], F);
529
- function Y(h) {
530
- return h.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
518
+ function K(t) {
519
+ return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
531
520
  }
532
- let W = class extends z {
533
- constructor(e, t) {
521
+ let B = class extends q {
522
+ constructor(e, i) {
534
523
  super();
535
524
  /**
536
525
  * Hold all find results in this kind of univer business instances (Workbooks).
537
526
  */
538
527
  g(this, "_findModelsByUnitId", /* @__PURE__ */ new Map());
539
- this._univerInstanceService = e, this._injector = t;
528
+ this._univerInstanceService = e, this._injector = i;
540
529
  }
541
530
  async find(e) {
542
531
  this._terminate();
543
- const t = this._univerInstanceService.getCurrentUnitForType(q.UNIVER_SHEET);
544
- if (t) {
545
- const i = this._injector.createInstance(F, t);
546
- this._findModelsByUnitId.set(t.getUnitId(), i);
547
- const n = this._preprocessQuery(e);
548
- return i.start(n), [i];
532
+ const i = this._univerInstanceService.getCurrentUnitForType(T.UNIVER_SHEET);
533
+ if (i) {
534
+ const n = this._injector.createInstance(F, i);
535
+ this._findModelsByUnitId.set(i.getUnitId(), n);
536
+ const s = this._preprocessQuery(e);
537
+ return n.start(s), [n];
549
538
  }
550
539
  return [];
551
540
  }
@@ -561,56 +550,54 @@ let W = class extends z {
561
550
  * @returns the parsed query object
562
551
  */
563
552
  _preprocessQuery(e) {
564
- let t = e.caseSensitive ? e.findString : e.findString.toLowerCase();
565
- return t = t.trim(), {
553
+ let i = e.caseSensitive ? e.findString : e.findString.toLowerCase();
554
+ return i = i.trim(), {
566
555
  ...e,
567
- findString: t
556
+ findString: i
568
557
  };
569
558
  }
570
559
  };
571
- W = T([
572
- _(0, Z),
573
- _(1, p(O))
574
- ], W);
560
+ B = A([
561
+ f(0, ee),
562
+ f(1, p(D))
563
+ ], B);
575
564
  const u = { hit: !1, replaceable: !1, isFormula: !1, rawData: null };
576
- function tt(h, e, t, i, n) {
577
- const { findBy: r } = i, s = r === k.FORMULA, o = h.getCellRaw(e, t);
578
- return u.rawData = o, !(o != null && o.f) ? (u.isFormula = !1, P(n, i) ? o ? (u.hit = !0, u.replaceable = !0) : (u.hit = !0, u.replaceable = !1) : (u.hit = !1, u.replaceable = !1), u) : (u.isFormula = !0, s ? P({ v: o.f }, i) ? (u.hit = !0, u.replaceable = !0, u) : (u.hit = !1, u.replaceable = !1, u) : (u.replaceable = !1, P(n, i) ? u.hit = !0 : u.hit = !1, u));
565
+ function it(t, e, i, n, s) {
566
+ const { findBy: o } = n, r = o === y.FORMULA, h = t.getCellRaw(e, i);
567
+ return u.rawData = h, !(h != null && h.f) ? (u.isFormula = !1, U(s, n) ? h ? (u.hit = !0, u.replaceable = !0) : (u.hit = !0, u.replaceable = !1) : (u.hit = !1, u.replaceable = !1), u) : (u.isFormula = !0, r ? U({ v: h.f }, n) ? (u.hit = !0, u.replaceable = !0, u) : (u.hit = !1, u.replaceable = !1, u) : (u.replaceable = !1, U(s, n) ? u.hit = !0 : u.hit = !1, u));
579
568
  }
580
- function P(h, e) {
581
- let t = it(h);
582
- return t ? e.matchesTheWholeCell ? (t = nt(t), e.caseSensitive ? t === e.findString : t.toLowerCase() === e.findString) : e.caseSensitive ? t.indexOf(e.findString) > -1 : t.toLowerCase().indexOf(e.findString) > -1 : !1;
569
+ function U(t, e) {
570
+ let i = nt(t);
571
+ return i ? e.matchesTheWholeCell ? (i = st(i), e.caseSensitive ? i === e.findString : i.toLowerCase() === e.findString) : e.caseSensitive ? i.indexOf(e.findString) > -1 : i.toLowerCase().indexOf(e.findString) > -1 : !1;
583
572
  }
584
- function it(h) {
585
- var t, i, n;
586
- const e = (n = (i = (t = h == null ? void 0 : h.p) == null ? void 0 : t.body) == null ? void 0 : i.dataStream) != null ? n : h == null ? void 0 : h.v;
573
+ function nt(t) {
574
+ var i, n, s;
575
+ const e = (s = (n = (i = t == null ? void 0 : t.p) == null ? void 0 : i.body) == null ? void 0 : n.dataStream) != null ? s : t == null ? void 0 : t.v;
587
576
  return typeof e == "number" ? `${e}` : typeof e == "boolean" ? e ? "1" : "0" : e;
588
577
  }
589
- function nt(h) {
590
- return h.replace(/^ +/g, "").replace(/ +$/g, "");
578
+ function st(t) {
579
+ return t.replace(/^ +/g, "").replace(/ +$/g, "");
591
580
  }
592
- var st = Object.defineProperty, rt = Object.getOwnPropertyDescriptor, ot = (h, e, t, i) => {
593
- for (var n = i > 1 ? void 0 : i ? rt(e, t) : e, r = h.length - 1, s; r >= 0; r--)
594
- (s = h[r]) && (n = (i ? s(e, t, n) : s(n)) || n);
595
- return i && n && st(e, t, n), n;
596
- }, G = (h, e) => (t, i) => e(t, i, h);
597
- const ht = "SHEET_FIND_REPLACE_PLUGIN";
581
+ var rt = Object.defineProperty, ot = Object.getOwnPropertyDescriptor, ht = (t, e, i, n) => {
582
+ for (var s = n > 1 ? void 0 : n ? ot(e, i) : e, o = t.length - 1, r; o >= 0; o--)
583
+ (r = t[o]) && (s = (n ? r(e, i, s) : r(s)) || s);
584
+ return n && s && rt(e, i, s), s;
585
+ }, z = (t, e) => (i, n) => e(i, n, t);
586
+ const ct = "SHEET_FIND_REPLACE_PLUGIN";
598
587
  var M;
599
- let K = (M = class extends Me {
600
- constructor(h, e, t) {
601
- super(), this._injector = e, this._pluginService = t, this._pluginService.registerPlugin(Pe);
602
- }
603
- onStarting(h) {
604
- [[x]].forEach((e) => h.add(e));
605
- }
606
- }, g(M, "pluginName", ht), g(M, "type", q.UNIVER_SHEET), M);
607
- K = ot([
608
- G(1, p(O)),
609
- G(2, p(ke))
610
- ], K);
588
+ let J = (M = class extends Me {
589
+ constructor(t, e, i) {
590
+ super(), this._injector = e, this._pluginService = i, this._pluginService.registerPlugin(Ue);
591
+ }
592
+ onStarting(t) {
593
+ [[w]].forEach((e) => t.add(e));
594
+ }
595
+ }, g(M, "pluginName", ct), g(M, "type", T.UNIVER_SHEET), M);
596
+ J = ht([
597
+ z(1, p(D)),
598
+ z(2, p(ye))
599
+ ], J);
611
600
  export {
612
- K as UniverSheetsFindReplacePlugin,
613
- mt as enUS,
614
- pt as ruRU,
615
- St as zhCN
601
+ w as SheetsFindReplaceController,
602
+ J as UniverSheetsFindReplacePlugin
616
603
  };