@univerjs/sheets-ui 0.5.5-nightly.202501210734 → 0.5.5-nightly.202501210849

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/facade.js CHANGED
@@ -1,538 +1,543 @@
1
- import { FUniver as ue, ICommandService as I, IUniverInstanceService as L, CanceledError as G, RichTextValue as q, DOCS_NORMAL_EDITOR_UNIT_ID_KEY as A, LifecycleService as Q, DisposableCollection as W, LifecycleStages as ee, UniverInstanceType as fe, ILogService as D, toDisposable as b, awaitTime as Ee, InterceptorEffectEnum as we, FEventName as ve, generateRandomId as ke } from "@univerjs/core";
2
- import { RichTextEditingMutation as _e } from "@univerjs/docs";
3
- import { IRenderManagerService as m, DeviceInputEventType as te, SHEET_VIEWPORT_KEY as Ie, sheetContentViewportKeys as Pe } from "@univerjs/engine-render";
4
- import { SheetsSelectionsService as Me, COMMAND_LISTENER_SKELETON_CHANGE as Re, getSkeletonChangedEffectedRange as ye, SheetInterceptorService as Ue, INTERCEPTOR_POINT as He, InterceptCellContentPriority as xe } from "@univerjs/sheets";
5
- import { SetCellEditVisibleOperation as P, IEditorBridgeService as $, SetZoomRatioCommand as re, HoverManagerService as k, DragManagerService as H, SheetScrollManagerService as T, SheetPasteShortKeyCommand as ne, ISheetClipboardService as Se, SheetSkeletonManagerService as U, SHEET_VIEW_KEY as R, ISheetSelectionRenderService as x, ChangeZoomRatioCommand as De, SheetsScrollRenderController as Te, SetWorksheetColAutoWidthCommand as Be, SheetCanvasPopManagerService as ie, CellAlertManagerService as Le, IMarkSelectionService as Ae } from "@univerjs/sheets-ui";
6
- import { FSheetHooks as j, FWorkbook as Ce, FWorksheet as be, FPermission as me, FRange as pe } from "@univerjs/sheets/facade";
7
- import { KeyCode as B, CutCommand as oe, CopyCommand as se, PasteCommand as ae, IClipboardInterfaceService as $e, PLAIN_TEXT_CLIPBOARD_MIME_TYPE as ce, HTML_CLIPBOARD_MIME_TYPE as de, supportClipboardAPI as he, ISidebarService as We, IDialogService as je, ComponentManager as le } from "@univerjs/ui";
8
- import { filter as v, combineLatest as Oe } from "rxjs";
9
- class Fe extends ue {
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
3
+ import { FUniver, ICommandService, IUniverInstanceService, CanceledError, RichTextValue, DOCS_NORMAL_EDITOR_UNIT_ID_KEY, LifecycleService, DisposableCollection, LifecycleStages, UniverInstanceType, ILogService, toDisposable, awaitTime, InterceptorEffectEnum, FEventName, generateRandomId } from "@univerjs/core";
4
+ import { RichTextEditingMutation } from "@univerjs/docs";
5
+ import { IRenderManagerService, DeviceInputEventType, SHEET_VIEWPORT_KEY, sheetContentViewportKeys } from "@univerjs/engine-render";
6
+ import { SheetsSelectionsService, COMMAND_LISTENER_SKELETON_CHANGE, getSkeletonChangedEffectedRange, SheetInterceptorService, INTERCEPTOR_POINT, InterceptCellContentPriority } from "@univerjs/sheets";
7
+ import { SetCellEditVisibleOperation, IEditorBridgeService, SetZoomRatioCommand, HoverManagerService, DragManagerService, SheetScrollManagerService, SheetPasteShortKeyCommand, ISheetClipboardService, SheetSkeletonManagerService, SHEET_VIEW_KEY, ISheetSelectionRenderService, ChangeZoomRatioCommand, SheetsScrollRenderController, SetWorksheetColAutoWidthCommand, SheetCanvasPopManagerService, CellAlertManagerService, IMarkSelectionService } from "@univerjs/sheets-ui";
8
+ import { FSheetHooks, FWorkbook, FWorksheet, FPermission, FRange } from "@univerjs/sheets/facade";
9
+ import { KeyCode, CutCommand, CopyCommand, PasteCommand, IClipboardInterfaceService, PLAIN_TEXT_CLIPBOARD_MIME_TYPE, HTML_CLIPBOARD_MIME_TYPE, supportClipboardAPI, ISidebarService, IDialogService, ComponentManager } from "@univerjs/ui";
10
+ import { filter, combineLatest } from "rxjs";
11
+ const _FUniverSheetsUIMixin = class _FUniverSheetsUIMixin extends FUniver {
10
12
  // eslint-disable-next-line max-lines-per-function
11
- _initSheetUIEvent(e) {
12
- const r = e.get(I);
13
- this.disposeWithMe(r.beforeCommandExecuted((t) => {
14
- if (t.id === P.id) {
13
+ _initSheetUIEvent(injector) {
14
+ const commandService = injector.get(ICommandService);
15
+ this.disposeWithMe(commandService.beforeCommandExecuted((commandInfo) => {
16
+ if (commandInfo.id === SetCellEditVisibleOperation.id) {
15
17
  if (!this._eventListend(this.Event.BeforeSheetEditStart) && !this._eventListend(this.Event.BeforeSheetEditEnd))
16
18
  return;
17
- const i = this.getCommandSheetTarget(t);
18
- if (!i)
19
+ const target = this.getCommandSheetTarget(commandInfo);
20
+ if (!target)
19
21
  return;
20
- const { workbook: o, worksheet: s } = i, c = e.get($), g = e.get(L), C = t.params, { visible: l, keycode: h, eventType: S } = C, d = c.getEditLocation();
21
- if (l) {
22
- const f = {
23
- row: d.row,
24
- column: d.column,
25
- eventType: S,
26
- keycode: h,
27
- workbook: o,
28
- worksheet: s,
22
+ const { workbook, worksheet } = target, editorBridgeService = injector.get(IEditorBridgeService), univerInstanceService = injector.get(IUniverInstanceService), params = commandInfo.params, { visible, keycode, eventType } = params, loc = editorBridgeService.getEditLocation();
23
+ if (visible) {
24
+ const eventParams = {
25
+ row: loc.row,
26
+ column: loc.column,
27
+ eventType,
28
+ keycode,
29
+ workbook,
30
+ worksheet,
29
31
  isZenEditor: !1
30
32
  };
31
- if (this.fireEvent(this.Event.BeforeSheetEditStart, f), f.cancel)
32
- throw new G();
33
+ if (this.fireEvent(this.Event.BeforeSheetEditStart, eventParams), eventParams.cancel)
34
+ throw new CanceledError();
33
35
  } else {
34
- const f = {
35
- row: d.row,
36
- column: d.column,
37
- eventType: S,
38
- keycode: h,
39
- workbook: o,
40
- worksheet: s,
36
+ const eventParams = {
37
+ row: loc.row,
38
+ column: loc.column,
39
+ eventType,
40
+ keycode,
41
+ workbook,
42
+ worksheet,
41
43
  isZenEditor: !1,
42
- value: q.create(g.getUnit(A).getSnapshot()),
43
- isConfirm: h !== B.ESC
44
+ value: RichTextValue.create(univerInstanceService.getUnit(DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),
45
+ isConfirm: keycode !== KeyCode.ESC
44
46
  };
45
- if (this.fireEvent(this.Event.BeforeSheetEditEnd, f), f.cancel)
46
- throw new G();
47
+ if (this.fireEvent(this.Event.BeforeSheetEditEnd, eventParams), eventParams.cancel)
48
+ throw new CanceledError();
47
49
  }
48
50
  }
49
- if (t.id === re.id) {
51
+ if (commandInfo.id === SetZoomRatioCommand.id) {
50
52
  if (!this._eventListend(this.Event.BeforeSheetZoomChange))
51
53
  return;
52
- const i = this.getCommandSheetTarget(t);
53
- if (!i)
54
+ const target = this.getCommandSheetTarget(commandInfo);
55
+ if (!target)
54
56
  return;
55
- const { workbook: o, worksheet: s } = i;
57
+ const { workbook, worksheet } = target;
56
58
  this.fireEvent(this.Event.BeforeSheetZoomChange, {
57
- zoom: t.params.zoomRatio,
58
- workbook: o,
59
- worksheet: s
59
+ zoom: commandInfo.params.zoomRatio,
60
+ workbook,
61
+ worksheet
60
62
  });
61
63
  }
62
- })), this.disposeWithMe(r.onCommandExecuted((t) => {
63
- if (t.id === P.id) {
64
+ })), this.disposeWithMe(commandService.onCommandExecuted((commandInfo) => {
65
+ if (commandInfo.id === SetCellEditVisibleOperation.id) {
64
66
  if (!this._eventListend(this.Event.SheetEditStarted) && !this._eventListend(this.Event.SheetEditEnded))
65
67
  return;
66
- const i = this.getCommandSheetTarget(t);
67
- if (!i)
68
+ const target = this.getCommandSheetTarget(commandInfo);
69
+ if (!target)
68
70
  return;
69
- const { workbook: o, worksheet: s } = i, c = e.get($), g = t.params, { visible: C, keycode: l, eventType: h } = g, S = c.getEditLocation();
70
- if (C) {
71
- const d = {
72
- row: S.row,
73
- column: S.column,
74
- eventType: h,
75
- keycode: l,
76
- workbook: o,
77
- worksheet: s,
71
+ const { workbook, worksheet } = target, editorBridgeService = injector.get(IEditorBridgeService), params = commandInfo.params, { visible, keycode, eventType } = params, loc = editorBridgeService.getEditLocation();
72
+ if (visible) {
73
+ const eventParams = {
74
+ row: loc.row,
75
+ column: loc.column,
76
+ eventType,
77
+ keycode,
78
+ workbook,
79
+ worksheet,
78
80
  isZenEditor: !1
79
81
  };
80
- this.fireEvent(this.Event.SheetEditStarted, d);
82
+ this.fireEvent(this.Event.SheetEditStarted, eventParams);
81
83
  } else {
82
- const d = {
83
- row: S.row,
84
- column: S.column,
85
- eventType: h,
86
- keycode: l,
87
- workbook: o,
88
- worksheet: s,
84
+ const eventParams = {
85
+ row: loc.row,
86
+ column: loc.column,
87
+ eventType,
88
+ keycode,
89
+ workbook,
90
+ worksheet,
89
91
  isZenEditor: !1,
90
- isConfirm: l !== B.ESC
92
+ isConfirm: keycode !== KeyCode.ESC
91
93
  };
92
- this.fireEvent(this.Event.SheetEditEnded, d);
94
+ this.fireEvent(this.Event.SheetEditEnded, eventParams);
93
95
  }
94
96
  }
95
- if (t.id === _e.id) {
97
+ if (commandInfo.id === RichTextEditingMutation.id) {
96
98
  if (!this._eventListend(this.Event.SheetEditChanging))
97
99
  return;
98
- const i = this.getCommandSheetTarget(t);
99
- if (!i)
100
+ const target = this.getCommandSheetTarget(commandInfo);
101
+ if (!target)
100
102
  return;
101
- const { workbook: o, worksheet: s } = i, c = e.get($), g = e.get(L), C = t.params;
102
- if (!c.isVisible().visible) return;
103
- const { unitId: l } = C;
104
- if (l === A) {
105
- const { row: h, column: S } = c.getEditLocation(), d = {
106
- workbook: o,
107
- worksheet: s,
108
- row: h,
109
- column: S,
110
- value: q.create(g.getUnit(A).getSnapshot()),
103
+ const { workbook, worksheet } = target, editorBridgeService = injector.get(IEditorBridgeService), univerInstanceService = injector.get(IUniverInstanceService), params = commandInfo.params;
104
+ if (!editorBridgeService.isVisible().visible) return;
105
+ const { unitId } = params;
106
+ if (unitId === DOCS_NORMAL_EDITOR_UNIT_ID_KEY) {
107
+ const { row, column } = editorBridgeService.getEditLocation(), eventParams = {
108
+ workbook,
109
+ worksheet,
110
+ row,
111
+ column,
112
+ value: RichTextValue.create(univerInstanceService.getUnit(DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),
111
113
  isZenEditor: !1
112
114
  };
113
- this.fireEvent(this.Event.SheetEditChanging, d);
115
+ this.fireEvent(this.Event.SheetEditChanging, eventParams);
114
116
  }
115
117
  }
116
- if (t.id === re.id) {
118
+ if (commandInfo.id === SetZoomRatioCommand.id) {
117
119
  if (!this._eventListend(this.Event.SheetZoomChanged))
118
120
  return;
119
- const i = this.getCommandSheetTarget(t);
120
- if (!i)
121
+ const target = this.getCommandSheetTarget(commandInfo);
122
+ if (!target)
121
123
  return;
122
- const { workbook: o, worksheet: s } = i;
124
+ const { workbook, worksheet } = target;
123
125
  this.fireEvent(this.Event.SheetZoomChanged, {
124
- zoom: s.getZoom(),
125
- workbook: o,
126
- worksheet: s
126
+ zoom: worksheet.getZoom(),
127
+ workbook,
128
+ worksheet
127
129
  });
128
130
  }
129
- })), this._initObserverListener(e);
131
+ })), this._initObserverListener(injector);
130
132
  }
131
133
  // eslint-disable-next-line max-lines-per-function
132
- _initObserverListener(e) {
133
- const t = e.get(L).getFocusedUnit(), i = t == null ? void 0 : t.getUnitId(), o = e.get(m);
134
- if (i) {
135
- const l = e.get(Q), h = new W();
136
- this.disposeWithMe(l.lifecycle$.subscribe((S) => {
137
- var _, M, u, p, E, O, F, N, V, Z, z, K, Y, X, J;
138
- if (S < ee.Rendered) return;
139
- h.dispose();
140
- const d = e.get(k), f = e.get(H);
141
- d && (h.add(
142
- (_ = d.currentClickedCell$) == null ? void 0 : _.pipe(v((n) => !!n)).subscribe((n) => {
134
+ _initObserverListener(injector) {
135
+ const unitM = injector.get(IUniverInstanceService).getFocusedUnit(), unitId = unitM == null ? void 0 : unitM.getUnitId(), renderManagerService = injector.get(IRenderManagerService);
136
+ if (unitId) {
137
+ const lifeCycleService2 = injector.get(LifecycleService), disposable = new DisposableCollection();
138
+ this.disposeWithMe(lifeCycleService2.lifecycle$.subscribe((lifecycle) => {
139
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
140
+ if (lifecycle < LifecycleStages.Rendered) return;
141
+ disposable.dispose();
142
+ const hoverManagerService = injector.get(HoverManagerService), dragManagerService = injector.get(DragManagerService);
143
+ hoverManagerService && (disposable.add(
144
+ (_a = hoverManagerService.currentClickedCell$) == null ? void 0 : _a.pipe(filter((cell) => !!cell)).subscribe((cell) => {
143
145
  if (!this._eventListend(this.Event.CellClicked)) return;
144
- const a = this.getSheetTarget(n.location.unitId, n.location.subUnitId);
145
- a && this.fireEvent(this.Event.CellClicked, {
146
- ...a,
147
- ...n,
148
- row: n.location.row,
149
- column: n.location.col
146
+ const baseParams = this.getSheetTarget(cell.location.unitId, cell.location.subUnitId);
147
+ baseParams && this.fireEvent(this.Event.CellClicked, {
148
+ ...baseParams,
149
+ ...cell,
150
+ row: cell.location.row,
151
+ column: cell.location.col
150
152
  });
151
153
  })
152
- ), h.add(
153
- (M = d.currentRichText$) == null ? void 0 : M.pipe(v((n) => !!n)).subscribe((n) => {
154
+ ), disposable.add(
155
+ (_b = hoverManagerService.currentRichText$) == null ? void 0 : _b.pipe(filter((cell) => !!cell)).subscribe((cell) => {
154
156
  if (!this._eventListend(this.Event.CellHover)) return;
155
- const a = this.getSheetTarget(n.unitId, n.subUnitId);
156
- a && this.fireEvent(this.Event.CellHover, {
157
- ...a,
158
- ...n,
159
- row: n.row,
160
- column: n.col
157
+ const baseParams = this.getSheetTarget(cell.unitId, cell.subUnitId);
158
+ baseParams && this.fireEvent(this.Event.CellHover, {
159
+ ...baseParams,
160
+ ...cell,
161
+ row: cell.row,
162
+ column: cell.col
161
163
  });
162
164
  })
163
- ), h.add(
164
- (u = d.currentPointerDownCell$) == null ? void 0 : u.pipe(v((n) => !!n)).subscribe((n) => {
165
+ ), disposable.add(
166
+ (_c = hoverManagerService.currentPointerDownCell$) == null ? void 0 : _c.pipe(filter((cell) => !!cell)).subscribe((cell) => {
165
167
  if (!this._eventListend(this.Event.CellPointerDown)) return;
166
- const a = this.getSheetTarget(n.unitId, n.subUnitId);
167
- a && this.fireEvent(this.Event.CellPointerDown, {
168
- ...a,
169
- ...n,
170
- row: n.row,
171
- column: n.col
168
+ const baseParams = this.getSheetTarget(cell.unitId, cell.subUnitId);
169
+ baseParams && this.fireEvent(this.Event.CellPointerDown, {
170
+ ...baseParams,
171
+ ...cell,
172
+ row: cell.row,
173
+ column: cell.col
172
174
  });
173
175
  })
174
- ), h.add(
175
- (p = d.currentPointerUpCell$) == null ? void 0 : p.pipe(v((n) => !!n)).subscribe((n) => {
176
+ ), disposable.add(
177
+ (_d = hoverManagerService.currentPointerUpCell$) == null ? void 0 : _d.pipe(filter((cell) => !!cell)).subscribe((cell) => {
176
178
  if (!this._eventListend(this.Event.CellPointerUp)) return;
177
- const a = this.getSheetTarget(n.unitId, n.subUnitId);
178
- a && this.fireEvent(this.Event.CellPointerUp, {
179
- ...a,
180
- ...n,
181
- row: n.row,
182
- column: n.col
179
+ const baseParams = this.getSheetTarget(cell.unitId, cell.subUnitId);
180
+ baseParams && this.fireEvent(this.Event.CellPointerUp, {
181
+ ...baseParams,
182
+ ...cell,
183
+ row: cell.row,
184
+ column: cell.col
183
185
  });
184
186
  })
185
- ), h.add(
186
- (E = d.currentCellPosWithEvent$) == null ? void 0 : E.pipe(v((n) => !!n)).subscribe((n) => {
187
+ ), disposable.add(
188
+ (_e = hoverManagerService.currentCellPosWithEvent$) == null ? void 0 : _e.pipe(filter((cell) => !!cell)).subscribe((cell) => {
187
189
  if (!this._eventListend(this.Event.CellPointerMove)) return;
188
- const a = this.getSheetTarget(n.unitId, n.subUnitId);
189
- a && this.fireEvent(this.Event.CellPointerMove, {
190
- ...a,
191
- ...n,
192
- row: n.row,
193
- column: n.col
190
+ const baseParams = this.getSheetTarget(cell.unitId, cell.subUnitId);
191
+ baseParams && this.fireEvent(this.Event.CellPointerMove, {
192
+ ...baseParams,
193
+ ...cell,
194
+ row: cell.row,
195
+ column: cell.col
194
196
  });
195
197
  })
196
- ), h.add(
197
- (O = f.currentCell$) == null ? void 0 : O.pipe(v((n) => !!n)).subscribe((n) => {
198
+ ), disposable.add(
199
+ (_f = dragManagerService.currentCell$) == null ? void 0 : _f.pipe(filter((cell) => !!cell)).subscribe((cell) => {
198
200
  if (!this._eventListend(this.Event.DragOver)) return;
199
- const a = this.getSheetTarget(n.location.unitId, n.location.subUnitId);
200
- a && this.fireEvent(this.Event.DragOver, {
201
- ...a,
202
- ...n,
203
- row: n.location.row,
204
- column: n.location.col
201
+ const baseParams = this.getSheetTarget(cell.location.unitId, cell.location.subUnitId);
202
+ baseParams && this.fireEvent(this.Event.DragOver, {
203
+ ...baseParams,
204
+ ...cell,
205
+ row: cell.location.row,
206
+ column: cell.location.col
205
207
  });
206
208
  })
207
- ), h.add(
208
- (F = f.endCell$) == null ? void 0 : F.pipe(v((n) => !!n)).subscribe((n) => {
209
+ ), disposable.add(
210
+ (_g = dragManagerService.endCell$) == null ? void 0 : _g.pipe(filter((cell) => !!cell)).subscribe((cell) => {
209
211
  if (!this._eventListend(this.Event.Drop)) return;
210
- const a = this.getSheetTarget(n.location.unitId, n.location.subUnitId);
211
- a && this.fireEvent(this.Event.Drop, {
212
- ...a,
213
- ...n,
214
- row: n.location.row,
215
- column: n.location.col
212
+ const baseParams = this.getSheetTarget(cell.location.unitId, cell.location.subUnitId);
213
+ baseParams && this.fireEvent(this.Event.Drop, {
214
+ ...baseParams,
215
+ ...cell,
216
+ row: cell.location.row,
217
+ column: cell.location.col
216
218
  });
217
219
  })
218
- ), h.add(
219
- (N = d.currentRowHeaderClick$) == null ? void 0 : N.pipe(v((n) => !!n)).subscribe((n) => {
220
+ ), disposable.add(
221
+ (_h = hoverManagerService.currentRowHeaderClick$) == null ? void 0 : _h.pipe(filter((header) => !!header)).subscribe((header) => {
220
222
  if (!this._eventListend(this.Event.RowHeaderClick)) return;
221
- const a = this.getSheetTarget(n.unitId, n.subUnitId);
222
- a && this.fireEvent(this.Event.RowHeaderClick, {
223
- ...a,
224
- row: n.index
223
+ const baseParams = this.getSheetTarget(header.unitId, header.subUnitId);
224
+ baseParams && this.fireEvent(this.Event.RowHeaderClick, {
225
+ ...baseParams,
226
+ row: header.index
225
227
  });
226
228
  })
227
- ), h.add(
228
- (V = d.currentRowHeaderPointerDown$) == null ? void 0 : V.pipe(v((n) => !!n)).subscribe((n) => {
229
+ ), disposable.add(
230
+ (_i = hoverManagerService.currentRowHeaderPointerDown$) == null ? void 0 : _i.pipe(filter((header) => !!header)).subscribe((header) => {
229
231
  if (!this._eventListend(this.Event.RowHeaderPointerDown)) return;
230
- const a = this.getSheetTarget(n.unitId, n.subUnitId);
231
- a && this.fireEvent(this.Event.RowHeaderPointerDown, {
232
- ...a,
233
- row: n.index
232
+ const baseParams = this.getSheetTarget(header.unitId, header.subUnitId);
233
+ baseParams && this.fireEvent(this.Event.RowHeaderPointerDown, {
234
+ ...baseParams,
235
+ row: header.index
234
236
  });
235
237
  })
236
- ), h.add(
237
- (Z = d.currentRowHeaderPointerUp$) == null ? void 0 : Z.pipe(v((n) => !!n)).subscribe((n) => {
238
+ ), disposable.add(
239
+ (_j = hoverManagerService.currentRowHeaderPointerUp$) == null ? void 0 : _j.pipe(filter((header) => !!header)).subscribe((header) => {
238
240
  if (!this._eventListend(this.Event.RowHeaderPointerUp)) return;
239
- const a = this.getSheetTarget(n.unitId, n.subUnitId);
240
- a && this.fireEvent(this.Event.RowHeaderPointerUp, {
241
- ...a,
242
- row: n.index
241
+ const baseParams = this.getSheetTarget(header.unitId, header.subUnitId);
242
+ baseParams && this.fireEvent(this.Event.RowHeaderPointerUp, {
243
+ ...baseParams,
244
+ row: header.index
243
245
  });
244
246
  })
245
- ), h.add(
246
- (z = d.currentHoveredRowHeader$) == null ? void 0 : z.pipe(v((n) => !!n)).subscribe((n) => {
247
+ ), disposable.add(
248
+ (_k = hoverManagerService.currentHoveredRowHeader$) == null ? void 0 : _k.pipe(filter((header) => !!header)).subscribe((header) => {
247
249
  if (!this._eventListend(this.Event.RowHeaderHover)) return;
248
- const a = this.getSheetTarget(n.unitId, n.subUnitId);
249
- a && this.fireEvent(this.Event.RowHeaderHover, {
250
- ...a,
251
- row: n.index
250
+ const baseParams = this.getSheetTarget(header.unitId, header.subUnitId);
251
+ baseParams && this.fireEvent(this.Event.RowHeaderHover, {
252
+ ...baseParams,
253
+ row: header.index
252
254
  });
253
255
  })
254
- ), h.add(
255
- (K = d.currentColHeaderClick$) == null ? void 0 : K.pipe(v((n) => !!n)).subscribe((n) => {
256
+ ), disposable.add(
257
+ (_l = hoverManagerService.currentColHeaderClick$) == null ? void 0 : _l.pipe(filter((header) => !!header)).subscribe((header) => {
256
258
  if (!this._eventListend(this.Event.ColumnHeaderClick)) return;
257
- const a = this.getSheetTarget(n.unitId, n.subUnitId);
258
- a && this.fireEvent(this.Event.ColumnHeaderClick, {
259
- ...a,
260
- column: n.index
259
+ const baseParams = this.getSheetTarget(header.unitId, header.subUnitId);
260
+ baseParams && this.fireEvent(this.Event.ColumnHeaderClick, {
261
+ ...baseParams,
262
+ column: header.index
261
263
  });
262
264
  })
263
- ), h.add(
264
- (Y = d.currentColHeaderPointerDown$) == null ? void 0 : Y.pipe(v((n) => !!n)).subscribe((n) => {
265
+ ), disposable.add(
266
+ (_m = hoverManagerService.currentColHeaderPointerDown$) == null ? void 0 : _m.pipe(filter((header) => !!header)).subscribe((header) => {
265
267
  if (!this._eventListend(this.Event.ColumnHeaderPointerDown)) return;
266
- const a = this.getSheetTarget(n.unitId, n.subUnitId);
267
- a && this.fireEvent(this.Event.ColumnHeaderPointerDown, {
268
- ...a,
269
- column: n.index
268
+ const baseParams = this.getSheetTarget(header.unitId, header.subUnitId);
269
+ baseParams && this.fireEvent(this.Event.ColumnHeaderPointerDown, {
270
+ ...baseParams,
271
+ column: header.index
270
272
  });
271
273
  })
272
- ), h.add(
273
- (X = d.currentColHeaderPointerUp$) == null ? void 0 : X.pipe(v((n) => !!n)).subscribe((n) => {
274
+ ), disposable.add(
275
+ (_n = hoverManagerService.currentColHeaderPointerUp$) == null ? void 0 : _n.pipe(filter((header) => !!header)).subscribe((header) => {
274
276
  if (!this._eventListend(this.Event.ColumnHeaderPointerUp)) return;
275
- const a = this.getSheetTarget(n.unitId, n.subUnitId);
276
- a && this.fireEvent(this.Event.ColumnHeaderPointerUp, {
277
- ...a,
278
- column: n.index
277
+ const baseParams = this.getSheetTarget(header.unitId, header.subUnitId);
278
+ baseParams && this.fireEvent(this.Event.ColumnHeaderPointerUp, {
279
+ ...baseParams,
280
+ column: header.index
279
281
  });
280
282
  })
281
- ), h.add(
282
- (J = d.currentHoveredColHeader$) == null ? void 0 : J.pipe(v((n) => !!n)).subscribe((n) => {
283
+ ), disposable.add(
284
+ (_o = hoverManagerService.currentHoveredColHeader$) == null ? void 0 : _o.pipe(filter((header) => !!header)).subscribe((header) => {
283
285
  if (!this._eventListend(this.Event.ColumnHeaderHover)) return;
284
- const a = this.getSheetTarget(n.unitId, n.subUnitId);
285
- a && this.fireEvent(this.Event.ColumnHeaderHover, {
286
- ...a,
287
- column: n.index
286
+ const baseParams = this.getSheetTarget(header.unitId, header.subUnitId);
287
+ baseParams && this.fireEvent(this.Event.ColumnHeaderHover, {
288
+ ...baseParams,
289
+ column: header.index
288
290
  });
289
291
  })
290
292
  ));
291
- })), this.disposeWithMe(h);
293
+ })), this.disposeWithMe(disposable);
292
294
  }
293
- const s = /* @__PURE__ */ new Map();
294
- let c;
295
- const g = e.get(Q), C = Oe([
296
- o.created$,
297
- g.lifecycle$
295
+ const unitMap = /* @__PURE__ */ new Map();
296
+ let sheetRenderUnit;
297
+ const lifeCycleService = injector.get(LifecycleService), combined$ = combineLatest([
298
+ renderManagerService.created$,
299
+ lifeCycleService.lifecycle$
298
300
  ]);
299
- this.disposeWithMe(C.subscribe(([l, h]) => {
300
- var M;
301
- if (l.type === fe.UNIVER_SHEET && (c = l), h <= ee.Rendered) return;
302
- const S = new W();
303
- if (!c) return;
304
- const d = this.getWorkbook(c.unitId);
305
- if (!d) return;
306
- s.get(c.unitId) && ((M = s.get(c.unitId)) == null || M.dispose()), s.set(c.unitId, S);
307
- const f = c.with(T);
308
- S.add(f.validViewportScrollInfo$.subscribe((u) => {
309
- u && this._eventListend(this.Event.Scroll) && this.fireEvent(this.Event.Scroll, {
310
- workbook: d,
311
- worksheet: d.getActiveSheet(),
312
- ...u
301
+ this.disposeWithMe(combined$.subscribe(([created, lifecycle]) => {
302
+ var _a;
303
+ if (created.type === UniverInstanceType.UNIVER_SHEET && (sheetRenderUnit = created), lifecycle <= LifecycleStages.Rendered) return;
304
+ const disposable = new DisposableCollection();
305
+ if (!sheetRenderUnit) return;
306
+ const workbook = this.getWorkbook(sheetRenderUnit.unitId);
307
+ if (!workbook) return;
308
+ unitMap.get(sheetRenderUnit.unitId) && ((_a = unitMap.get(sheetRenderUnit.unitId)) == null || _a.dispose()), unitMap.set(sheetRenderUnit.unitId, disposable);
309
+ const scrollManagerService = sheetRenderUnit.with(SheetScrollManagerService);
310
+ disposable.add(scrollManagerService.validViewportScrollInfo$.subscribe((params) => {
311
+ params && this._eventListend(this.Event.Scroll) && this.fireEvent(this.Event.Scroll, {
312
+ workbook,
313
+ worksheet: workbook.getActiveSheet(),
314
+ ...params
313
315
  });
314
316
  }));
315
- const _ = c.with(Me);
316
- S.add(_.selectionMoveStart$.subscribe((u) => {
317
- var p;
317
+ const selectionService = sheetRenderUnit.with(SheetsSelectionsService);
318
+ disposable.add(selectionService.selectionMoveStart$.subscribe((selections) => {
319
+ var _a2;
318
320
  this._eventListend(this.Event.SelectionMoveStart) && this.fireEvent(this.Event.SelectionMoveStart, {
319
- workbook: d,
320
- worksheet: d.getActiveSheet(),
321
- selections: (p = u == null ? void 0 : u.map((E) => E.range)) != null ? p : []
321
+ workbook,
322
+ worksheet: workbook.getActiveSheet(),
323
+ selections: (_a2 = selections == null ? void 0 : selections.map((s) => s.range)) != null ? _a2 : []
322
324
  });
323
- })), S.add(_.selectionMoving$.subscribe((u) => {
324
- var p;
325
+ })), disposable.add(selectionService.selectionMoving$.subscribe((selections) => {
326
+ var _a2;
325
327
  this._eventListend(this.Event.SelectionMoving) && this.fireEvent(this.Event.SelectionMoving, {
326
- workbook: d,
327
- worksheet: d.getActiveSheet(),
328
- selections: (p = u == null ? void 0 : u.map((E) => E.range)) != null ? p : []
328
+ workbook,
329
+ worksheet: workbook.getActiveSheet(),
330
+ selections: (_a2 = selections == null ? void 0 : selections.map((s) => s.range)) != null ? _a2 : []
329
331
  });
330
- })), S.add(_.selectionMoveEnd$.subscribe((u) => {
331
- var p;
332
+ })), disposable.add(selectionService.selectionMoveEnd$.subscribe((selections) => {
333
+ var _a2;
332
334
  this._eventListend(this.Event.SelectionMoveEnd) && this.fireEvent(this.Event.SelectionMoveEnd, {
333
- workbook: d,
334
- worksheet: d.getActiveSheet(),
335
- selections: (p = u == null ? void 0 : u.map((E) => E.range)) != null ? p : []
335
+ workbook,
336
+ worksheet: workbook.getActiveSheet(),
337
+ selections: (_a2 = selections == null ? void 0 : selections.map((s) => s.range)) != null ? _a2 : []
336
338
  });
337
- })), S.add(_.selectionChanged$.subscribe((u) => {
338
- var p;
339
+ })), disposable.add(selectionService.selectionChanged$.subscribe((selections) => {
340
+ var _a2;
339
341
  this._eventListend(this.Event.SelectionChanged) && this.fireEvent(this.Event.SelectionChanged, {
340
- workbook: d,
341
- worksheet: d.getActiveSheet(),
342
- selections: (p = u == null ? void 0 : u.map((E) => E.range)) != null ? p : []
342
+ workbook,
343
+ worksheet: workbook.getActiveSheet(),
344
+ selections: (_a2 = selections == null ? void 0 : selections.map((s) => s.range)) != null ? _a2 : []
343
345
  });
344
- })), c = null, this.disposeWithMe(S);
345
- })), this.disposeWithMe(o.disposed$.subscribe((l) => {
346
- var h;
347
- (h = s.get(l)) == null || h.dispose(), s.delete(l);
346
+ })), sheetRenderUnit = null, this.disposeWithMe(disposable);
347
+ })), this.disposeWithMe(renderManagerService.disposed$.subscribe((unitId2) => {
348
+ var _a;
349
+ (_a = unitMap.get(unitId2)) == null || _a.dispose(), unitMap.delete(unitId2);
348
350
  })), this.disposeWithMe(() => {
349
- s.forEach((l) => {
350
- l.dispose();
351
+ unitMap.forEach((disposable) => {
352
+ disposable.dispose();
351
353
  });
352
354
  });
353
355
  }
354
- _initialize(e) {
355
- this._initSheetUIEvent(e);
356
- const r = e.get(I);
357
- this.disposeWithMe(r.beforeCommandExecuted((t) => {
358
- switch (t.id) {
359
- case se.id:
360
- case oe.id:
356
+ /**
357
+ * @ignore
358
+ */
359
+ _initialize(injector) {
360
+ this._initSheetUIEvent(injector);
361
+ const commandService = injector.get(ICommandService);
362
+ this.disposeWithMe(commandService.beforeCommandExecuted((commandInfo) => {
363
+ switch (commandInfo.id) {
364
+ case CopyCommand.id:
365
+ case CutCommand.id:
361
366
  this._beforeClipboardChange();
362
367
  break;
363
- case ne.id:
364
- this._beforeClipboardPaste(t.params);
368
+ case SheetPasteShortKeyCommand.id:
369
+ this._beforeClipboardPaste(commandInfo.params);
365
370
  break;
366
371
  }
367
- })), this.disposeWithMe(r.onCommandExecuted((t) => {
368
- if (Re.indexOf(t.id) > -1) {
372
+ })), this.disposeWithMe(commandService.onCommandExecuted((commandInfo) => {
373
+ if (COMMAND_LISTENER_SKELETON_CHANGE.indexOf(commandInfo.id) > -1) {
369
374
  if (!this._eventListend(this.Event.SheetSkeletonChanged)) return;
370
- const i = this.getActiveSheet();
371
- if (!i) return;
372
- const o = ye(t).map((s) => {
373
- var c, g;
374
- return (g = (c = this.getWorkbook(s.unitId)) == null ? void 0 : c.getSheetBySheetId(s.subUnitId)) == null ? void 0 : g.getRange(s.range);
375
+ const sheet = this.getActiveSheet();
376
+ if (!sheet) return;
377
+ const ranges = getSkeletonChangedEffectedRange(commandInfo).map((range) => {
378
+ var _a, _b;
379
+ return (_b = (_a = this.getWorkbook(range.unitId)) == null ? void 0 : _a.getSheetBySheetId(range.subUnitId)) == null ? void 0 : _b.getRange(range.range);
375
380
  }).filter(Boolean);
376
- if (!o.length) return;
381
+ if (!ranges.length) return;
377
382
  this.fireEvent(this.Event.SheetSkeletonChanged, {
378
- workbook: i.workbook,
379
- worksheet: i.worksheet,
380
- payload: t,
381
- skeleton: i.worksheet.getSkeleton(),
382
- effectedRanges: o
383
+ workbook: sheet.workbook,
384
+ worksheet: sheet.worksheet,
385
+ payload: commandInfo,
386
+ skeleton: sheet.worksheet.getSkeleton(),
387
+ effectedRanges: ranges
383
388
  });
384
389
  return;
385
390
  }
386
- switch (t.id) {
387
- case se.id:
388
- case oe.id:
391
+ switch (commandInfo.id) {
392
+ case CopyCommand.id:
393
+ case CutCommand.id:
389
394
  this._clipboardChanged();
390
395
  break;
391
- case ne.id:
396
+ case SheetPasteShortKeyCommand.id:
392
397
  this._clipboardPaste();
393
398
  break;
394
- case ae.id:
399
+ case PasteCommand.id:
395
400
  this._clipboardPasteAsync();
396
401
  break;
397
402
  }
398
- })), this.disposeWithMe(r.beforeCommandExecuted(async (t) => {
399
- switch (t.id) {
400
- case ae.id:
403
+ })), this.disposeWithMe(commandService.beforeCommandExecuted(async (commandInfo) => {
404
+ switch (commandInfo.id) {
405
+ case PasteCommand.id:
401
406
  await this._beforeClipboardPasteAsync();
402
407
  break;
403
408
  }
404
409
  }));
405
410
  }
406
411
  _generateClipboardCopyParam() {
407
- const e = this.getActiveWorkbook(), r = e == null ? void 0 : e.getActiveSheet(), t = e == null ? void 0 : e.getActiveRange();
408
- if (!e || !r || !t)
412
+ const workbook = this.getActiveWorkbook(), worksheet = workbook == null ? void 0 : workbook.getActiveSheet(), range = workbook == null ? void 0 : workbook.getActiveRange();
413
+ if (!workbook || !worksheet || !range)
409
414
  return;
410
- const o = this._injector.get(Se).generateCopyContent(e.getId(), r.getSheetId(), t.getRange());
411
- if (!o)
415
+ const content = this._injector.get(ISheetClipboardService).generateCopyContent(workbook.getId(), worksheet.getSheetId(), range.getRange());
416
+ if (!content)
412
417
  return;
413
- const { html: s, plain: c } = o;
418
+ const { html, plain } = content;
414
419
  return {
415
- workbook: e,
416
- worksheet: r,
417
- text: c,
418
- html: s,
419
- fromSheet: r,
420
- fromRange: t
420
+ workbook,
421
+ worksheet,
422
+ text: plain,
423
+ html,
424
+ fromSheet: worksheet,
425
+ fromRange: range
421
426
  };
422
427
  }
423
428
  _beforeClipboardChange() {
424
429
  if (!this.hasEventCallback(this.Event.BeforeClipboardChange))
425
430
  return;
426
- const e = this._generateClipboardCopyParam();
427
- if (e && (this.fireEvent(this.Event.BeforeClipboardChange, e), e.cancel))
431
+ const eventParams = this._generateClipboardCopyParam();
432
+ if (eventParams && (this.fireEvent(this.Event.BeforeClipboardChange, eventParams), eventParams.cancel))
428
433
  throw new Error("Before clipboard change is canceled");
429
434
  }
430
435
  _clipboardChanged() {
431
436
  if (!this.hasEventCallback(this.Event.ClipboardChanged))
432
437
  return;
433
- const e = this._generateClipboardCopyParam();
434
- if (e && (this.fireEvent(this.Event.ClipboardChanged, e), e.cancel))
438
+ const eventParams = this._generateClipboardCopyParam();
439
+ if (eventParams && (this.fireEvent(this.Event.ClipboardChanged, eventParams), eventParams.cancel))
435
440
  throw new Error("Clipboard changed is canceled");
436
441
  }
437
- _generateClipboardPasteParam(e) {
438
- if (!e)
442
+ _generateClipboardPasteParam(params) {
443
+ if (!params)
439
444
  return;
440
- const { htmlContent: r, textContent: t } = e, i = this.getActiveWorkbook(), o = i == null ? void 0 : i.getActiveSheet();
441
- return !i || !o ? void 0 : {
442
- workbook: i,
443
- worksheet: o,
444
- text: t,
445
- html: r
445
+ const { htmlContent, textContent } = params, workbook = this.getActiveWorkbook(), worksheet = workbook == null ? void 0 : workbook.getActiveSheet();
446
+ return !workbook || !worksheet ? void 0 : {
447
+ workbook,
448
+ worksheet,
449
+ text: textContent,
450
+ html: htmlContent
446
451
  };
447
452
  }
448
453
  async _generateClipboardPasteParamAsync() {
449
- const e = this.getActiveWorkbook(), r = e == null ? void 0 : e.getActiveSheet();
450
- if (!e || !r)
454
+ const workbook = this.getActiveWorkbook(), worksheet = workbook == null ? void 0 : workbook.getActiveSheet();
455
+ if (!workbook || !worksheet)
451
456
  return;
452
- const o = (await this._injector.get($e).read())[0];
453
- let s;
454
- if (o) {
455
- const c = o.types, g = c.indexOf(ce) !== -1 ? await o.getType(ce).then((l) => l && l.text()) : "", C = c.indexOf(de) !== -1 ? await o.getType(de).then((l) => l && l.text()) : "";
456
- s = {
457
- workbook: e,
458
- worksheet: r,
459
- text: g,
460
- html: C
457
+ const item = (await this._injector.get(IClipboardInterfaceService).read())[0];
458
+ let eventParams;
459
+ if (item) {
460
+ const types = item.types, text = types.indexOf(PLAIN_TEXT_CLIPBOARD_MIME_TYPE) !== -1 ? await item.getType(PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then((blob) => blob && blob.text()) : "", html = types.indexOf(HTML_CLIPBOARD_MIME_TYPE) !== -1 ? await item.getType(HTML_CLIPBOARD_MIME_TYPE).then((blob) => blob && blob.text()) : "";
461
+ eventParams = {
462
+ workbook,
463
+ worksheet,
464
+ text,
465
+ html
461
466
  };
462
467
  }
463
- return s;
468
+ return eventParams;
464
469
  }
465
- _beforeClipboardPaste(e) {
470
+ _beforeClipboardPaste(params) {
466
471
  if (!this.hasEventCallback(this.Event.BeforeClipboardPaste))
467
472
  return;
468
- const r = this._generateClipboardPasteParam(e);
469
- if (r && (this.fireEvent(this.Event.BeforeClipboardPaste, r), r.cancel))
473
+ const eventParams = this._generateClipboardPasteParam(params);
474
+ if (eventParams && (this.fireEvent(this.Event.BeforeClipboardPaste, eventParams), eventParams.cancel))
470
475
  throw new Error("Before clipboard paste is canceled");
471
476
  }
472
- _clipboardPaste(e) {
477
+ _clipboardPaste(params) {
473
478
  if (!this.hasEventCallback(this.Event.BeforeClipboardPaste))
474
479
  return;
475
- const r = this._generateClipboardPasteParam(e);
476
- if (r && (this.fireEvent(this.Event.BeforeClipboardPaste, r), r.cancel))
480
+ const eventParams = this._generateClipboardPasteParam(params);
481
+ if (eventParams && (this.fireEvent(this.Event.BeforeClipboardPaste, eventParams), eventParams.cancel))
477
482
  throw new Error("Clipboard pasted is canceled");
478
483
  }
479
484
  async _beforeClipboardPasteAsync() {
480
485
  if (!this.hasEventCallback(this.Event.BeforeClipboardPaste))
481
486
  return;
482
- if (!he()) {
483
- this._injector.get(D).warn("[Facade]: The navigator object only supports the browser environment");
487
+ if (!supportClipboardAPI()) {
488
+ this._injector.get(ILogService).warn("[Facade]: The navigator object only supports the browser environment");
484
489
  return;
485
490
  }
486
- const e = await this._generateClipboardPasteParamAsync();
487
- if (e && (this.fireEvent(this.Event.BeforeClipboardPaste, e), e.cancel))
491
+ const eventParams = await this._generateClipboardPasteParamAsync();
492
+ if (eventParams && (this.fireEvent(this.Event.BeforeClipboardPaste, eventParams), eventParams.cancel))
488
493
  throw new Error("Before clipboard paste is canceled");
489
494
  }
490
495
  async _clipboardPasteAsync() {
491
496
  if (!this.hasEventCallback(this.Event.ClipboardPasted))
492
497
  return;
493
- if (!he()) {
494
- this._injector.get(D).warn("[Facade]: The navigator object only supports the browser environment");
498
+ if (!supportClipboardAPI()) {
499
+ this._injector.get(ILogService).warn("[Facade]: The navigator object only supports the browser environment");
495
500
  return;
496
501
  }
497
- const e = await this._generateClipboardPasteParamAsync();
498
- if (e && (this.fireEvent(this.Event.ClipboardPasted, e), e.cancel))
502
+ const eventParams = await this._generateClipboardPasteParamAsync();
503
+ if (eventParams && (this.fireEvent(this.Event.ClipboardPasted, eventParams), eventParams.cancel))
499
504
  throw new Error("Clipboard pasted is canceled");
500
505
  }
501
- customizeColumnHeader(e) {
502
- var C, l;
503
- const r = this.getActiveWorkbook();
504
- if (!r) {
506
+ customizeColumnHeader(cfg) {
507
+ var _a, _b;
508
+ const wb = this.getActiveWorkbook();
509
+ if (!wb) {
505
510
  console.error("WorkBook not exist");
506
511
  return;
507
512
  }
508
- const t = r == null ? void 0 : r.getId(), i = this._injector.get(m), o = r.getActiveSheet(), s = o.getSheetId(), c = i.getRenderById(t);
509
- c && ((C = e.headerStyle) != null && C.size) && (c.with(U).setColumnHeaderSize(s, c, (l = e.headerStyle) == null ? void 0 : l.size), o == null || o.refreshCanvas()), this._getSheetRenderComponent(t, R.COLUMN).setCustomHeader(e), o == null || o.refreshCanvas();
513
+ const unitId = wb == null ? void 0 : wb.getId(), renderManagerService = this._injector.get(IRenderManagerService), activeSheet = wb.getActiveSheet(), subUnitId = activeSheet.getSheetId(), render = renderManagerService.getRenderById(unitId);
514
+ render && ((_a = cfg.headerStyle) != null && _a.size) && (render.with(SheetSkeletonManagerService).setColumnHeaderSize(subUnitId, render, (_b = cfg.headerStyle) == null ? void 0 : _b.size), activeSheet == null || activeSheet.refreshCanvas()), this._getSheetRenderComponent(unitId, SHEET_VIEW_KEY.COLUMN).setCustomHeader(cfg), activeSheet == null || activeSheet.refreshCanvas();
510
515
  }
511
- customizeRowHeader(e) {
512
- const r = this.getActiveWorkbook();
513
- if (!r) {
516
+ customizeRowHeader(cfg) {
517
+ const wb = this.getActiveWorkbook();
518
+ if (!wb) {
514
519
  console.error("WorkBook not exist");
515
520
  return;
516
521
  }
517
- const t = r == null ? void 0 : r.getId();
518
- this._getSheetRenderComponent(t, R.ROW).setCustomHeader(e);
522
+ const unitId = wb == null ? void 0 : wb.getId();
523
+ this._getSheetRenderComponent(unitId, SHEET_VIEW_KEY.ROW).setCustomHeader(cfg);
519
524
  }
520
- registerSheetRowHeaderExtension(e, ...r) {
521
- const t = this._getSheetRenderComponent(e, R.ROW), i = t.register(...r);
522
- return b(() => {
523
- i.dispose(), t.makeDirty(!0);
525
+ registerSheetRowHeaderExtension(unitId, ...extensions) {
526
+ const sheetComponent = this._getSheetRenderComponent(unitId, SHEET_VIEW_KEY.ROW), registerDisposable = sheetComponent.register(...extensions);
527
+ return toDisposable(() => {
528
+ registerDisposable.dispose(), sheetComponent.makeDirty(!0);
524
529
  });
525
530
  }
526
- registerSheetColumnHeaderExtension(e, ...r) {
527
- const t = this._getSheetRenderComponent(e, R.COLUMN), i = t.register(...r);
528
- return b(() => {
529
- i.dispose(), t.makeDirty(!0);
531
+ registerSheetColumnHeaderExtension(unitId, ...extensions) {
532
+ const sheetComponent = this._getSheetRenderComponent(unitId, SHEET_VIEW_KEY.COLUMN), registerDisposable = sheetComponent.register(...extensions);
533
+ return toDisposable(() => {
534
+ registerDisposable.dispose(), sheetComponent.makeDirty(!0);
530
535
  });
531
536
  }
532
- registerSheetMainExtension(e, ...r) {
533
- const t = this._getSheetRenderComponent(e, R.MAIN), i = t.register(...r);
534
- return b(() => {
535
- i.dispose(), t.makeDirty(!0);
537
+ registerSheetMainExtension(unitId, ...extensions) {
538
+ const sheetComponent = this._getSheetRenderComponent(unitId, SHEET_VIEW_KEY.MAIN), registerDisposable = sheetComponent.register(...extensions);
539
+ return toDisposable(() => {
540
+ registerDisposable.dispose(), sheetComponent.makeDirty(!0);
536
541
  });
537
542
  }
538
543
  /**
@@ -542,117 +547,119 @@ class Fe extends ue {
542
547
  * @param {SHEET_VIEW_KEY} viewKey The view key of the spreadsheet.
543
548
  * @returns {Nullable<RenderComponentType>} The render component.
544
549
  */
545
- _getSheetRenderComponent(e, r) {
546
- const i = this._injector.get(m).getRenderById(e);
547
- if (!i)
548
- throw new Error(`Render Unit with unitId ${e} not found`);
549
- const { components: o } = i, s = o.get(r);
550
- if (!s)
550
+ _getSheetRenderComponent(unitId, viewKey) {
551
+ const render = this._injector.get(IRenderManagerService).getRenderById(unitId);
552
+ if (!render)
553
+ throw new Error(`Render Unit with unitId ${unitId} not found`);
554
+ const { components } = render, renderComponent = components.get(viewKey);
555
+ if (!renderComponent)
551
556
  throw new Error("Render component not found");
552
- return s;
557
+ return renderComponent;
553
558
  }
554
559
  /**
555
560
  * Get sheet hooks.
556
561
  * @returns {FSheetHooks} FSheetHooks instance
557
562
  */
558
563
  getSheetHooks() {
559
- return this._injector.createInstance(j);
560
- }
561
- }
562
- ue.extend(Fe);
563
- class Ne extends Ce {
564
- openSiderbar(e) {
565
- return this._logDeprecation("openSiderbar"), this._injector.get(We).open(e);
564
+ return this._injector.createInstance(FSheetHooks);
566
565
  }
567
- openDialog(e) {
566
+ };
567
+ __name(_FUniverSheetsUIMixin, "FUniverSheetsUIMixin");
568
+ let FUniverSheetsUIMixin = _FUniverSheetsUIMixin;
569
+ FUniver.extend(FUniverSheetsUIMixin);
570
+ const _FWorkbookSheetsUIMixin = class _FWorkbookSheetsUIMixin extends FWorkbook {
571
+ openSiderbar(params) {
572
+ return this._logDeprecation("openSiderbar"), this._injector.get(ISidebarService).open(params);
573
+ }
574
+ openDialog(dialog) {
568
575
  this._logDeprecation("openDialog");
569
- const t = this._injector.get(je).open({
570
- ...e,
571
- onClose: () => {
572
- t.dispose();
573
- }
576
+ const disposable = this._injector.get(IDialogService).open({
577
+ ...dialog,
578
+ onClose: /* @__PURE__ */ __name(() => {
579
+ disposable.dispose();
580
+ }, "onClose")
574
581
  });
575
- return t;
582
+ return disposable;
576
583
  }
577
- _logDeprecation(e) {
578
- this._injector.get(D).warn("[FWorkbook]", `${e} is deprecated. Please use the function of the same name on "FUniver".`);
584
+ _logDeprecation(name) {
585
+ this._injector.get(ILogService).warn("[FWorkbook]", `${name} is deprecated. Please use the function of the same name on "FUniver".`);
579
586
  }
580
- generateCellParams(e) {
581
- const r = this.getActiveSheet();
587
+ generateCellParams(cell) {
588
+ const worksheet = this.getActiveSheet();
582
589
  return {
583
- row: e.row,
584
- column: e.col,
590
+ row: cell.row,
591
+ column: cell.col,
585
592
  workbook: this,
586
- worksheet: r
593
+ worksheet
587
594
  };
588
595
  }
589
- onCellClick(e) {
590
- const r = this._injector.get(k);
591
- return b(
592
- r.currentClickedCell$.pipe(v((t) => !!t)).subscribe((t) => {
593
- e(t);
596
+ onCellClick(callback) {
597
+ const hoverManagerService = this._injector.get(HoverManagerService);
598
+ return toDisposable(
599
+ hoverManagerService.currentClickedCell$.pipe(filter((cell) => !!cell)).subscribe((cell) => {
600
+ callback(cell);
594
601
  })
595
602
  );
596
603
  }
597
- onCellHover(e) {
598
- const r = this._injector.get(k);
599
- return b(
600
- r.currentRichText$.pipe(v((t) => !!t)).subscribe(e)
604
+ onCellHover(callback) {
605
+ const hoverManagerService = this._injector.get(HoverManagerService);
606
+ return toDisposable(
607
+ hoverManagerService.currentRichText$.pipe(filter((cell) => !!cell)).subscribe(callback)
601
608
  );
602
609
  }
603
- onCellPointerDown(e) {
604
- const r = this._injector.get(k);
605
- return b(
606
- r.currentPointerDownCell$.subscribe(e)
610
+ onCellPointerDown(callback) {
611
+ const hoverManagerService = this._injector.get(HoverManagerService);
612
+ return toDisposable(
613
+ hoverManagerService.currentPointerDownCell$.subscribe(callback)
607
614
  );
608
615
  }
609
- onCellPointerUp(e) {
610
- const r = this._injector.get(k);
611
- return b(
612
- r.currentPointerUpCell$.subscribe(e)
616
+ onCellPointerUp(callback) {
617
+ const hoverManagerService = this._injector.get(HoverManagerService);
618
+ return toDisposable(
619
+ hoverManagerService.currentPointerUpCell$.subscribe(callback)
613
620
  );
614
621
  }
615
- onCellPointerMove(e) {
616
- const r = this._injector.get(k);
617
- return b(
618
- r.currentCellPosWithEvent$.pipe(v((t) => !!t)).subscribe((t) => {
619
- e(t, t.event);
622
+ onCellPointerMove(callback) {
623
+ const hoverManagerService = this._injector.get(HoverManagerService);
624
+ return toDisposable(
625
+ hoverManagerService.currentCellPosWithEvent$.pipe(filter((cell) => !!cell)).subscribe((cell) => {
626
+ callback(cell, cell.event);
620
627
  })
621
628
  );
622
629
  }
623
- onDragOver(e) {
624
- const r = this._injector.get(H);
625
- return b(
626
- r.currentCell$.pipe(v((t) => !!t)).subscribe((t) => {
627
- e(t);
630
+ onDragOver(callback) {
631
+ const dragManagerService = this._injector.get(DragManagerService);
632
+ return toDisposable(
633
+ dragManagerService.currentCell$.pipe(filter((cell) => !!cell)).subscribe((cell) => {
634
+ callback(cell);
628
635
  })
629
636
  );
630
637
  }
631
- onDrop(e) {
632
- const r = this._injector.get(H);
633
- return b(
634
- r.endCell$.pipe(v((t) => !!t)).subscribe((t) => {
635
- e(t);
638
+ onDrop(callback) {
639
+ const dragManagerService = this._injector.get(DragManagerService);
640
+ return toDisposable(
641
+ dragManagerService.endCell$.pipe(filter((cell) => !!cell)).subscribe((cell) => {
642
+ callback(cell);
636
643
  })
637
644
  );
638
645
  }
639
646
  startEditing() {
640
- return this._injector.get(I).syncExecuteCommand(P.id, {
641
- eventType: te.Dblclick,
647
+ return this._injector.get(ICommandService).syncExecuteCommand(SetCellEditVisibleOperation.id, {
648
+ eventType: DeviceInputEventType.Dblclick,
642
649
  unitId: this._workbook.getUnitId(),
643
650
  visible: !0
644
651
  });
645
652
  }
646
- async endEditing(e) {
647
- return this._injector.get(I).syncExecuteCommand(P.id, {
648
- eventType: te.Keyboard,
649
- keycode: e ? B.ENTER : B.ESC,
653
+ async endEditing(save) {
654
+ return this._injector.get(ICommandService).syncExecuteCommand(SetCellEditVisibleOperation.id, {
655
+ eventType: DeviceInputEventType.Keyboard,
656
+ keycode: save ? KeyCode.ENTER : KeyCode.ESC,
650
657
  visible: !1,
651
658
  unitId: this._workbook.getUnitId()
652
- }), await Ee(0), !0;
659
+ }), await awaitTime(0), !0;
653
660
  }
654
- endEditingAsync(e = !0) {
655
- return this.endEditing(e);
661
+ endEditingAsync(save = !0) {
662
+ return this.endEditing(save);
656
663
  }
657
664
  /**
658
665
  * Get scroll state of specified sheet.
@@ -663,161 +670,169 @@ class Ne extends Ce {
663
670
  * univerAPI.getActiveWorkbook().getScrollStateBySheetId($sheetId)
664
671
  * ```
665
672
  */
666
- getScrollStateBySheetId(e) {
667
- const r = this._workbook.getUnitId(), i = this._injector.get(m).getRenderById(r);
668
- return i ? i.with(T).getScrollStateByParam({ unitId: r, sheetId: e }) : null;
673
+ getScrollStateBySheetId(sheetId) {
674
+ const unitId = this._workbook.getUnitId(), render = this._injector.get(IRenderManagerService).getRenderById(unitId);
675
+ return render ? render.with(SheetScrollManagerService).getScrollStateByParam({ unitId, sheetId }) : null;
669
676
  }
670
677
  disableSelection() {
671
- const e = this._workbook.getUnitId(), t = this._injector.get(m).getRenderById(e);
672
- return t && t.with(x).disableSelection(), this;
678
+ const unitId = this._workbook.getUnitId(), render = this._injector.get(IRenderManagerService).getRenderById(unitId);
679
+ return render && render.with(ISheetSelectionRenderService).disableSelection(), this;
673
680
  }
674
681
  enableSelection() {
675
- const e = this._workbook.getUnitId(), t = this._injector.get(m).getRenderById(e);
676
- return t && t.with(x).enableSelection(), this;
682
+ const unitId = this._workbook.getUnitId(), render = this._injector.get(IRenderManagerService).getRenderById(unitId);
683
+ return render && render.with(ISheetSelectionRenderService).enableSelection(), this;
677
684
  }
678
685
  transparentSelection() {
679
- const e = this._workbook.getUnitId(), t = this._injector.get(m).getRenderById(e);
680
- return t && t.with(x).transparentSelection(), this;
686
+ const unitId = this._workbook.getUnitId(), render = this._injector.get(IRenderManagerService).getRenderById(unitId);
687
+ return render && render.with(ISheetSelectionRenderService).transparentSelection(), this;
681
688
  }
682
689
  showSelection() {
683
- const e = this._workbook.getUnitId(), t = this._injector.get(m).getRenderById(e);
684
- return t && t.with(x).showSelection(), this;
690
+ const unitId = this._workbook.getUnitId(), render = this._injector.get(IRenderManagerService).getRenderById(unitId);
691
+ return render && render.with(ISheetSelectionRenderService).showSelection(), this;
685
692
  }
686
- }
687
- Ce.extend(Ne);
688
- class Ve extends be {
693
+ };
694
+ __name(_FWorkbookSheetsUIMixin, "FWorkbookSheetsUIMixin");
695
+ let FWorkbookSheetsUIMixin = _FWorkbookSheetsUIMixin;
696
+ FWorkbook.extend(FWorkbookSheetsUIMixin);
697
+ const _FWorksheetSkeletonMixin = class _FWorksheetSkeletonMixin extends FWorksheet {
689
698
  refreshCanvas() {
690
- const e = this._injector.get(m), r = this._fWorkbook.id, t = e.getRenderById(r);
691
- if (!t)
692
- throw new Error(`Render Unit with unitId ${r} not found`);
693
- t.with(U).reCalculate();
694
- const i = t.mainComponent;
695
- if (!i)
699
+ const renderManagerService = this._injector.get(IRenderManagerService), unitId = this._fWorkbook.id, render = renderManagerService.getRenderById(unitId);
700
+ if (!render)
701
+ throw new Error(`Render Unit with unitId ${unitId} not found`);
702
+ render.with(SheetSkeletonManagerService).reCalculate();
703
+ const mainComponent = render.mainComponent;
704
+ if (!mainComponent)
696
705
  throw new Error("Main component not found");
697
- return i.makeDirty(), this;
706
+ return mainComponent.makeDirty(), this;
698
707
  }
699
- zoom(e) {
700
- return this._injector.get(I).syncExecuteCommand(De.id, {
708
+ zoom(zoomRatio) {
709
+ return this._injector.get(ICommandService).syncExecuteCommand(ChangeZoomRatioCommand.id, {
701
710
  unitId: this._workbook.getUnitId(),
702
711
  subUnitId: this._worksheet.getSheetId(),
703
- zoomRatio: e
712
+ zoomRatio
704
713
  }), this;
705
714
  }
706
715
  getZoom() {
707
716
  return this._worksheet.getZoomRatio();
708
717
  }
709
718
  getVisibleRange() {
710
- const e = this._workbook.getUnitId(), t = this._injector.get(m).getRenderById(e);
711
- let i = {
719
+ const unitId = this._workbook.getUnitId(), render = this._injector.get(IRenderManagerService).getRenderById(unitId);
720
+ let range = {
712
721
  startColumn: 0,
713
722
  startRow: 0,
714
723
  endColumn: 0,
715
724
  endRow: 0
716
725
  };
717
- if (!t) return i;
718
- const s = t.with(U).getCurrentSkeleton();
719
- if (!s) return i;
720
- const c = s == null ? void 0 : s.getVisibleRanges();
721
- if (!c) return i;
722
- i = s.getVisibleRangeByViewport(Ie.VIEW_MAIN);
723
- for (const [g, C] of c)
724
- Pe.indexOf(g) !== -1 && (i.startColumn = Math.min(i.startColumn, C.startColumn), i.startRow = Math.min(i.startRow, C.startRow), i.endColumn = Math.max(i.endColumn, C.endColumn), i.endRow = Math.max(i.endRow, C.endRow));
725
- return i;
726
- }
727
- scrollToCell(e, r) {
728
- const t = this._workbook.getUnitId(), o = this._injector.get(m).getRenderById(t);
729
- return o && (o == null ? void 0 : o.with(Te)).scrollToCell(e, r), this;
726
+ if (!render) return range;
727
+ const sk = render.with(SheetSkeletonManagerService).getCurrentSkeleton();
728
+ if (!sk) return range;
729
+ const visibleRangeMap = sk == null ? void 0 : sk.getVisibleRanges();
730
+ if (!visibleRangeMap) return range;
731
+ range = sk.getVisibleRangeByViewport(SHEET_VIEWPORT_KEY.VIEW_MAIN);
732
+ for (const [k, r] of visibleRangeMap)
733
+ sheetContentViewportKeys.indexOf(k) !== -1 && (range.startColumn = Math.min(range.startColumn, r.startColumn), range.startRow = Math.min(range.startRow, r.startRow), range.endColumn = Math.max(range.endColumn, r.endColumn), range.endRow = Math.max(range.endRow, r.endRow));
734
+ return range;
735
+ }
736
+ scrollToCell(row, column) {
737
+ const unitId = this._workbook.getUnitId(), render = this._injector.get(IRenderManagerService).getRenderById(unitId);
738
+ return render && (render == null ? void 0 : render.with(SheetsScrollRenderController)).scrollToCell(row, column), this;
730
739
  }
731
740
  getScrollState() {
732
- const e = {
741
+ const emptyScrollState = {
733
742
  offsetX: 0,
734
743
  offsetY: 0,
735
744
  sheetViewStartColumn: 0,
736
745
  sheetViewStartRow: 0
737
- }, r = this._workbook.getUnitId(), t = this._worksheet.getSheetId(), o = this._injector.get(m).getRenderById(r);
738
- return o && o.with(T).getScrollStateByParam({ unitId: r, sheetId: t }) || e;
739
- }
740
- onScroll(e) {
741
- var o;
742
- const r = this._workbook.getUnitId(), i = (o = this._injector.get(m).getRenderById(r)) == null ? void 0 : o.with(T);
743
- if (i) {
744
- const s = i.validViewportScrollInfo$.subscribe((c) => {
745
- e(c);
746
+ }, unitId = this._workbook.getUnitId(), sheetId = this._worksheet.getSheetId(), render = this._injector.get(IRenderManagerService).getRenderById(unitId);
747
+ return render && render.with(SheetScrollManagerService).getScrollStateByParam({ unitId, sheetId }) || emptyScrollState;
748
+ }
749
+ onScroll(callback) {
750
+ var _a;
751
+ const unitId = this._workbook.getUnitId(), scrollManagerService = (_a = this._injector.get(IRenderManagerService).getRenderById(unitId)) == null ? void 0 : _a.with(SheetScrollManagerService);
752
+ if (scrollManagerService) {
753
+ const sub = scrollManagerService.validViewportScrollInfo$.subscribe((params) => {
754
+ callback(params);
746
755
  });
747
- return b(s);
756
+ return toDisposable(sub);
748
757
  }
749
- return b(() => {
758
+ return toDisposable(() => {
750
759
  });
751
760
  }
752
761
  getSkeleton() {
753
- var r, t;
754
- const e = (r = this._injector.get(m).getRenderById(this._workbook.getUnitId())) == null ? void 0 : r.with(U);
755
- return (t = e == null ? void 0 : e.getWorksheetSkeleton(this._worksheet.getSheetId())) == null ? void 0 : t.skeleton;
762
+ var _a, _b;
763
+ const service = (_a = this._injector.get(IRenderManagerService).getRenderById(this._workbook.getUnitId())) == null ? void 0 : _a.with(SheetSkeletonManagerService);
764
+ return (_b = service == null ? void 0 : service.getWorksheetSkeleton(this._worksheet.getSheetId())) == null ? void 0 : _b.skeleton;
756
765
  }
757
- setColumnAutoWidth(e, r) {
758
- const t = this._workbook.getUnitId(), i = this._worksheet.getSheetId(), o = [
766
+ setColumnAutoWidth(columnPosition, numColumn) {
767
+ const unitId = this._workbook.getUnitId(), subUnitId = this._worksheet.getSheetId(), ranges = [
759
768
  {
760
- startColumn: e,
761
- endColumn: e + r - 1,
769
+ startColumn: columnPosition,
770
+ endColumn: columnPosition + numColumn - 1,
762
771
  startRow: 0,
763
772
  endRow: this._worksheet.getRowCount() - 1
764
773
  }
765
774
  ];
766
- return this._commandService.syncExecuteCommand(Be.id, {
767
- unitId: t,
768
- subUnitId: i,
769
- ranges: o
775
+ return this._commandService.syncExecuteCommand(SetWorksheetColAutoWidthCommand.id, {
776
+ unitId,
777
+ subUnitId,
778
+ ranges
770
779
  }), this;
771
780
  }
772
- }
773
- be.extend(Ve);
774
- class Ze extends me {
775
- setPermissionDialogVisible(e) {
776
- this._permissionService.setShowComponents(e);
777
- }
778
- }
779
- me.extend(Ze);
780
- class ze extends j {
781
- onCellPointerMove(e) {
782
- return b(this._injector.get(k).currentPosition$.subscribe(e));
783
- }
784
- onCellPointerOver(e) {
785
- return b(this._injector.get(k).currentCell$.subscribe(e));
786
- }
787
- onCellDragOver(e) {
788
- return b(this._injector.get(H).currentCell$.subscribe(e));
789
- }
790
- onCellDrop(e) {
791
- return b(this._injector.get(H).endCell$.subscribe(e));
781
+ };
782
+ __name(_FWorksheetSkeletonMixin, "FWorksheetSkeletonMixin");
783
+ let FWorksheetSkeletonMixin = _FWorksheetSkeletonMixin;
784
+ FWorksheet.extend(FWorksheetSkeletonMixin);
785
+ const _FPermissionSheetsUIMixin = class _FPermissionSheetsUIMixin extends FPermission {
786
+ setPermissionDialogVisible(visible) {
787
+ this._permissionService.setShowComponents(visible);
792
788
  }
793
- onCellRender(e, r = we.Style, t = xe.DATA_VALIDATION) {
794
- return this._injector.get(Ue).intercept(He.CELL_CONTENT, {
795
- effect: r,
796
- handler: (i, o, s) => s({
797
- ...i,
789
+ };
790
+ __name(_FPermissionSheetsUIMixin, "FPermissionSheetsUIMixin");
791
+ let FPermissionSheetsUIMixin = _FPermissionSheetsUIMixin;
792
+ FPermission.extend(FPermissionSheetsUIMixin);
793
+ const _FSheetHooksUIMixin = class _FSheetHooksUIMixin extends FSheetHooks {
794
+ onCellPointerMove(callback) {
795
+ return toDisposable(this._injector.get(HoverManagerService).currentPosition$.subscribe(callback));
796
+ }
797
+ onCellPointerOver(callback) {
798
+ return toDisposable(this._injector.get(HoverManagerService).currentCell$.subscribe(callback));
799
+ }
800
+ onCellDragOver(callback) {
801
+ return toDisposable(this._injector.get(DragManagerService).currentCell$.subscribe(callback));
802
+ }
803
+ onCellDrop(callback) {
804
+ return toDisposable(this._injector.get(DragManagerService).endCell$.subscribe(callback));
805
+ }
806
+ onCellRender(customRender, effect = InterceptorEffectEnum.Style, priority = InterceptCellContentPriority.DATA_VALIDATION) {
807
+ return this._injector.get(SheetInterceptorService).intercept(INTERCEPTOR_POINT.CELL_CONTENT, {
808
+ effect,
809
+ handler: /* @__PURE__ */ __name((cell, pos, next) => next({
810
+ ...cell,
798
811
  customRender: [
799
- ...(i == null ? void 0 : i.customRender) || [],
800
- ...e || []
812
+ ...(cell == null ? void 0 : cell.customRender) || [],
813
+ ...customRender || []
801
814
  ]
802
- }),
803
- priority: t
815
+ }), "handler"),
816
+ priority
804
817
  });
805
818
  }
806
- onBeforeCellEdit(e) {
807
- return this._injector.get(I).beforeCommandExecuted((r) => {
808
- const t = r.params;
809
- r.id === P.id && t.visible && e(t);
819
+ onBeforeCellEdit(callback) {
820
+ return this._injector.get(ICommandService).beforeCommandExecuted((command) => {
821
+ const params = command.params;
822
+ command.id === SetCellEditVisibleOperation.id && params.visible && callback(params);
810
823
  });
811
824
  }
812
- onAfterCellEdit(e) {
813
- return this._injector.get(I).onCommandExecuted((r) => {
814
- const t = r.params;
815
- r.id === P.id && !t.visible && e(t);
825
+ onAfterCellEdit(callback) {
826
+ return this._injector.get(ICommandService).onCommandExecuted((command) => {
827
+ const params = command.params;
828
+ command.id === SetCellEditVisibleOperation.id && !params.visible && callback(params);
816
829
  });
817
830
  }
818
- }
819
- j.extend(ze);
820
- const y = {
831
+ };
832
+ __name(_FSheetHooksUIMixin, "FSheetHooksUIMixin");
833
+ let FSheetHooksUIMixin = _FSheetHooksUIMixin;
834
+ FSheetHooks.extend(FSheetHooksUIMixin);
835
+ const CellFEventName = {
821
836
  CellClicked: "CellClicked",
822
837
  CellPointerDown: "CellPointerDown",
823
838
  CellPointerUp: "CellPointerUp",
@@ -830,8 +845,7 @@ const y = {
830
845
  SelectionMoving: "SelectionMoving",
831
846
  SelectionMoveEnd: "SelectionMoveEnd",
832
847
  SelectionChanged: "SelectionChanged"
833
- };
834
- class Ke extends ve {
848
+ }, _FSheetsUIEventName = class _FSheetsUIEventName extends FEventName {
835
849
  get BeforeClipboardChange() {
836
850
  return "BeforeClipboardChange";
837
851
  }
@@ -860,19 +874,19 @@ class Ke extends ve {
860
874
  return "SheetEditEnded";
861
875
  }
862
876
  get CellClicked() {
863
- return y.CellClicked;
877
+ return CellFEventName.CellClicked;
864
878
  }
865
879
  get CellHover() {
866
- return y.CellHover;
880
+ return CellFEventName.CellHover;
867
881
  }
868
882
  get CellPointerDown() {
869
- return y.CellPointerDown;
883
+ return CellFEventName.CellPointerDown;
870
884
  }
871
885
  get CellPointerUp() {
872
- return y.CellPointerUp;
886
+ return CellFEventName.CellPointerUp;
873
887
  }
874
888
  get CellPointerMove() {
875
- return y.CellPointerMove;
889
+ return CellFEventName.CellPointerMove;
876
890
  }
877
891
  get DragOver() {
878
892
  return "DragOver";
@@ -922,43 +936,45 @@ class Ke extends ve {
922
936
  get SheetSkeletonChanged() {
923
937
  return "SheetSkeletonChanged";
924
938
  }
925
- }
926
- ve.extend(Ke);
927
- class Ye extends pe {
939
+ };
940
+ __name(_FSheetsUIEventName, "FSheetsUIEventName");
941
+ let FSheetsUIEventName = _FSheetsUIEventName;
942
+ FEventName.extend(FSheetsUIEventName);
943
+ const _FRangeSheetsUIMixin = class _FRangeSheetsUIMixin extends FRange {
928
944
  getCell() {
929
- var c;
930
- const e = this._injector.get(m), r = this._injector.get(D), t = this._workbook.getUnitId(), i = this._worksheet.getSheetId(), o = e.getRenderById(t), s = (c = o == null ? void 0 : o.with(U).getWorksheetSkeleton(i)) == null ? void 0 : c.skeleton;
931
- if (!s)
932
- throw r.error("[Facade]: `FRange.getCell` can only be called in current worksheet"), new Error("`FRange.getCell` can only be called in current worksheet");
933
- return s.getCellWithCoordByIndex(this._range.startRow, this._range.startColumn);
945
+ var _a;
946
+ const renderManagerService = this._injector.get(IRenderManagerService), logService = this._injector.get(ILogService), unitId = this._workbook.getUnitId(), subUnitId = this._worksheet.getSheetId(), render = renderManagerService.getRenderById(unitId), skeleton = (_a = render == null ? void 0 : render.with(SheetSkeletonManagerService).getWorksheetSkeleton(subUnitId)) == null ? void 0 : _a.skeleton;
947
+ if (!skeleton)
948
+ throw logService.error("[Facade]: `FRange.getCell` can only be called in current worksheet"), new Error("`FRange.getCell` can only be called in current worksheet");
949
+ return skeleton.getCellWithCoordByIndex(this._range.startRow, this._range.startColumn);
934
950
  }
935
951
  getCellRect() {
936
- const { startX: e, startY: r, endX: t, endY: i } = this.getCell(), o = { x: e, y: r, width: t - e, height: i - r, top: r, left: e, bottom: i, right: t };
937
- return { ...o, toJSON: () => JSON.stringify(o) };
952
+ const { startX: x, startY: y, endX: x2, endY: y2 } = this.getCell(), data = { x, y, width: x2 - x, height: y2 - y, top: y, left: x, bottom: y2, right: x2 };
953
+ return { ...data, toJSON: /* @__PURE__ */ __name(() => JSON.stringify(data), "toJSON") };
938
954
  }
939
955
  generateHTML() {
940
- var r;
941
- const e = this._injector.get(Se).generateCopyContent(
956
+ var _a;
957
+ const copyContent = this._injector.get(ISheetClipboardService).generateCopyContent(
942
958
  this._workbook.getUnitId(),
943
959
  this._worksheet.getSheetId(),
944
960
  this._range
945
961
  );
946
- return (r = e == null ? void 0 : e.html) != null ? r : "";
962
+ return (_a = copyContent == null ? void 0 : copyContent.html) != null ? _a : "";
947
963
  }
948
- attachPopup(e) {
949
- var s, c, g;
950
- e.direction = (s = e.direction) != null ? s : "horizontal", e.extraProps = (c = e.extraProps) != null ? c : {}, e.offset = (g = e.offset) != null ? g : [0, 0];
951
- const { key: r, disposableCollection: t } = ge(e, this._injector.get(le)), o = this._injector.get(ie).attachPopupToCell(
964
+ attachPopup(popup) {
965
+ var _a, _b, _c;
966
+ popup.direction = (_a = popup.direction) != null ? _a : "horizontal", popup.extraProps = (_b = popup.extraProps) != null ? _b : {}, popup.offset = (_c = popup.offset) != null ? _c : [0, 0];
967
+ const { key, disposableCollection } = transformComponentKey(popup, this._injector.get(ComponentManager)), disposePopup = this._injector.get(SheetCanvasPopManagerService).attachPopupToCell(
952
968
  this._range.startRow,
953
969
  this._range.startColumn,
954
- { ...e, componentKey: r },
970
+ { ...popup, componentKey: key },
955
971
  this.getUnitId(),
956
972
  this._worksheet.getSheetId()
957
973
  );
958
- return o ? (t.add(o), t) : (t.dispose(), null);
974
+ return disposePopup ? (disposableCollection.add(disposePopup), disposableCollection) : (disposableCollection.dispose(), null);
959
975
  }
960
- attachAlertPopup(e) {
961
- const r = this._injector.get(Le), t = {
976
+ attachAlertPopup(alert) {
977
+ const cellAlertService = this._injector.get(CellAlertManagerService), location = {
962
978
  workbook: this._workbook,
963
979
  worksheet: this._worksheet,
964
980
  row: this._range.startRow,
@@ -966,13 +982,13 @@ class Ye extends pe {
966
982
  unitId: this.getUnitId(),
967
983
  subUnitId: this._worksheet.getSheetId()
968
984
  };
969
- return r.showAlert({
970
- ...e,
971
- location: t
985
+ return cellAlertService.showAlert({
986
+ ...alert,
987
+ location
972
988
  }), {
973
- dispose: () => {
974
- r.removeAlert(e.key);
975
- }
989
+ dispose: /* @__PURE__ */ __name(() => {
990
+ cellAlertService.removeAlert(alert.key);
991
+ }, "dispose")
976
992
  };
977
993
  }
978
994
  /**
@@ -987,36 +1003,39 @@ class Ye extends pe {
987
1003
  extraProps: { alert: { type: 0, title: 'This is an Info', message: 'This is an info message' } },
988
1004
  });
989
1005
  */
990
- attachRangePopup(e) {
991
- var s, c, g;
992
- e.direction = (s = e.direction) != null ? s : "horizontal", e.extraProps = (c = e.extraProps) != null ? c : {}, e.offset = (g = e.offset) != null ? g : [0, 0];
993
- const { key: r, disposableCollection: t } = ge(e, this._injector.get(le)), o = this._injector.get(ie).attachRangePopup(
1006
+ attachRangePopup(popup) {
1007
+ var _a, _b, _c;
1008
+ popup.direction = (_a = popup.direction) != null ? _a : "horizontal", popup.extraProps = (_b = popup.extraProps) != null ? _b : {}, popup.offset = (_c = popup.offset) != null ? _c : [0, 0];
1009
+ const { key, disposableCollection } = transformComponentKey(popup, this._injector.get(ComponentManager)), disposePopup = this._injector.get(SheetCanvasPopManagerService).attachRangePopup(
994
1010
  this._range,
995
- { ...e, componentKey: r },
1011
+ { ...popup, componentKey: key },
996
1012
  this.getUnitId(),
997
1013
  this._worksheet.getSheetId()
998
1014
  );
999
- return o ? (t.add(o), t) : (t.dispose(), null);
1015
+ return disposePopup ? (disposableCollection.add(disposePopup), disposableCollection) : (disposableCollection.dispose(), null);
1000
1016
  }
1001
- highlight(e, r) {
1002
- const t = this._injector.get(Ae), i = t.addShape({ range: this._range, style: e, primary: r });
1003
- if (!i)
1017
+ highlight(style, primary) {
1018
+ const markSelectionService = this._injector.get(IMarkSelectionService), id = markSelectionService.addShape({ range: this._range, style, primary });
1019
+ if (!id)
1004
1020
  throw new Error("Failed to highlight current range");
1005
- return b(() => {
1006
- t.removeShape(i);
1021
+ return toDisposable(() => {
1022
+ markSelectionService.removeShape(id);
1007
1023
  });
1008
1024
  }
1009
- }
1010
- pe.extend(Ye);
1011
- function ge(w, e) {
1012
- const { componentKey: r, isVue3: t } = w;
1013
- let i;
1014
- const o = new W();
1015
- return typeof r == "string" ? i = r : (i = `External_${ke(6)}`, o.add(e.register(i, r, { framework: t ? "vue3" : "react" }))), {
1016
- key: i,
1017
- disposableCollection: o
1025
+ };
1026
+ __name(_FRangeSheetsUIMixin, "FRangeSheetsUIMixin");
1027
+ let FRangeSheetsUIMixin = _FRangeSheetsUIMixin;
1028
+ FRange.extend(FRangeSheetsUIMixin);
1029
+ function transformComponentKey(component, componentManager) {
1030
+ const { componentKey, isVue3 } = component;
1031
+ let key;
1032
+ const disposableCollection = new DisposableCollection();
1033
+ return typeof componentKey == "string" ? key = componentKey : (key = `External_${generateRandomId(6)}`, disposableCollection.add(componentManager.register(key, componentKey, { framework: isVue3 ? "vue3" : "react" }))), {
1034
+ key,
1035
+ disposableCollection
1018
1036
  };
1019
1037
  }
1038
+ __name(transformComponentKey, "transformComponentKey");
1020
1039
  export {
1021
- ge as transformComponentKey
1040
+ transformComponentKey
1022
1041
  };