@univerjs/sheets-ui 0.5.4-nightly.202501200849 → 0.5.5-experimental.20250122-3362a4a

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.
Files changed (83) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +44 -48
  3. package/lib/cjs/locale/en-US.js +1 -1
  4. package/lib/cjs/locale/fa-IR.js +1 -1
  5. package/lib/cjs/locale/fr-FR.js +1 -1
  6. package/lib/cjs/locale/ru-RU.js +1 -1
  7. package/lib/cjs/locale/vi-VN.js +1 -1
  8. package/lib/cjs/locale/zh-CN.js +1 -1
  9. package/lib/cjs/locale/zh-TW.js +1 -1
  10. package/lib/es/facade.js +612 -544
  11. package/lib/es/index.js +17075 -16674
  12. package/lib/es/locale/en-US.js +2 -2
  13. package/lib/es/locale/fa-IR.js +2 -2
  14. package/lib/es/locale/fr-FR.js +2 -2
  15. package/lib/es/locale/ru-RU.js +2 -2
  16. package/lib/es/locale/vi-VN.js +2 -2
  17. package/lib/es/locale/zh-CN.js +2 -2
  18. package/lib/es/locale/zh-TW.js +2 -2
  19. package/lib/index.css +1 -1
  20. package/lib/types/commands/commands/clipboard.command.d.ts +1 -0
  21. package/lib/types/components/border-panel/BorderPanel.d.ts +1 -2
  22. package/lib/types/components/border-panel/border-line/BorderLine.d.ts +1 -2
  23. package/lib/types/components/border-panel/border-line/icons/BorderDashDot.d.ts +16 -2
  24. package/lib/types/components/border-panel/border-line/icons/BorderDashDotDot.d.ts +16 -2
  25. package/lib/types/components/border-panel/border-line/icons/BorderDashed.d.ts +16 -2
  26. package/lib/types/components/border-panel/border-line/icons/BorderDotted.d.ts +16 -2
  27. package/lib/types/components/border-panel/border-line/icons/BorderHair.d.ts +16 -2
  28. package/lib/types/components/border-panel/border-line/icons/BorderMedium.d.ts +16 -2
  29. package/lib/types/components/border-panel/border-line/icons/BorderMediumDashDot.d.ts +16 -2
  30. package/lib/types/components/border-panel/border-line/icons/BorderMediumDashDotDot.d.ts +16 -2
  31. package/lib/types/components/border-panel/border-line/icons/BorderMediumDashed.d.ts +16 -2
  32. package/lib/types/components/border-panel/border-line/icons/BorderThick.d.ts +16 -2
  33. package/lib/types/components/border-panel/border-line/icons/BorderThin.d.ts +16 -2
  34. package/lib/types/components/menu-item-input/MenuItemInput.d.ts +1 -2
  35. package/lib/types/controllers/clipboard/clipboard.controller.d.ts +1 -0
  36. package/lib/types/controllers/render-controllers/freeze.render-controller.d.ts +6 -2
  37. package/lib/types/facade/f-event.d.ts +20 -5
  38. package/lib/types/facade/f-range.d.ts +24 -5
  39. package/lib/types/facade/f-univer.d.ts +4 -1
  40. package/lib/types/facade/f-workbook.d.ts +27 -1
  41. package/lib/types/facade/f-worksheet.d.ts +7 -2
  42. package/lib/types/services/clipboard/clipboard.service.d.ts +5 -2
  43. package/lib/types/services/clipboard/type.d.ts +9 -1
  44. package/lib/types/services/selection/base-selection-render.service.d.ts +1 -0
  45. package/lib/types/services/selection/selection-control.d.ts +2 -2
  46. package/lib/types/services/sheet-skeleton-manager.service.d.ts +2 -1
  47. package/lib/types/views/cell-alert/CellAlertPopup.d.ts +1 -2
  48. package/lib/types/views/clipboard/ClipboardPopupMenu.d.ts +16 -2
  49. package/lib/types/views/count-bar/CountBar.d.ts +16 -2
  50. package/lib/types/views/count-bar/ZoomSlider.d.ts +16 -2
  51. package/lib/types/views/defined-name/DefinedName.d.ts +16 -2
  52. package/lib/types/views/defined-name/DefinedNameContainer.d.ts +16 -2
  53. package/lib/types/views/defined-name/DefinedNameInput.d.ts +1 -2
  54. package/lib/types/views/defined-name/DefinedNameOverlay.d.ts +16 -2
  55. package/lib/types/views/formula-bar/FormulaBar.d.ts +16 -2
  56. package/lib/types/views/mobile/sheet-bar/MobileSheetBar.d.ts +16 -2
  57. package/lib/types/views/permission/error-msg-dialog/index.d.ts +16 -2
  58. package/lib/types/views/permission/panel/index.d.ts +1 -2
  59. package/lib/types/views/permission/panel-detail/PermissionDetailFooterPart.d.ts +1 -2
  60. package/lib/types/views/permission/panel-detail/PermissionDetailMainPart.d.ts +1 -1
  61. package/lib/types/views/permission/panel-detail/PermissionDetailPanel.d.ts +1 -2
  62. package/lib/types/views/permission/panel-detail/PermissionDetailUserPart.d.ts +1 -2
  63. package/lib/types/views/permission/panel-list/index.d.ts +16 -2
  64. package/lib/types/views/permission/permission-dialog/index.d.ts +16 -2
  65. package/lib/types/views/permission/spin/index.d.ts +1 -1
  66. package/lib/types/views/permission/user-dialog/index.d.ts +16 -2
  67. package/lib/types/views/sheet-bar/SheetBar.d.ts +16 -2
  68. package/lib/types/views/sheet-bar/sheet-bar-button/SheetBarButton.d.ts +1 -1
  69. package/lib/types/views/sheet-bar/sheet-bar-menu/SheetBarMenu.d.ts +1 -1
  70. package/lib/types/views/sheet-bar/sheet-bar-tabs/SheetBarItem.d.ts +1 -1
  71. package/lib/types/views/sheet-bar/sheet-bar-tabs/SheetBarTabs.d.ts +16 -2
  72. package/lib/types/views/sheet-container/SheetContainer.d.ts +18 -4
  73. package/lib/types/views/status-bar/StatusBar.d.ts +16 -2
  74. package/lib/umd/facade.js +1 -1
  75. package/lib/umd/index.js +44 -48
  76. package/lib/umd/locale/en-US.js +1 -1
  77. package/lib/umd/locale/fa-IR.js +1 -1
  78. package/lib/umd/locale/fr-FR.js +1 -1
  79. package/lib/umd/locale/ru-RU.js +1 -1
  80. package/lib/umd/locale/vi-VN.js +1 -1
  81. package/lib/umd/locale/zh-CN.js +1 -1
  82. package/lib/umd/locale/zh-TW.js +1 -1
  83. package/package.json +13 -13
package/lib/es/facade.js CHANGED
@@ -1,537 +1,543 @@
1
- import { FUniver as ue, ICommandService as _, IUniverInstanceService as D, CanceledError as G, RichTextValue as q, DOCS_NORMAL_EDITOR_UNIT_ID_KEY as B, LifecycleService as Q, DisposableCollection as A, LifecycleStages as ee, UniverInstanceType as pe, ILogService as x, toDisposable as E, 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 f, DeviceInputEventType as te, SHEET_VIEWPORT_KEY as Ie, sheetContentViewportKeys as Pe } from "@univerjs/engine-render";
4
- import { SheetsSelectionsService as Re, COMMAND_LISTENER_SKELETON_CHANGE as Me, getSkeletonChangedEffectedRange as ye, SheetInterceptorService as Ue, INTERCEPTOR_POINT as He, InterceptCellContentPriority as xe } from "@univerjs/sheets";
5
- import { SetCellEditVisibleOperation as I, IEditorBridgeService as L, SetZoomRatioCommand as re, HoverManagerService as y, DragManagerService as W, SheetScrollManagerService as $, SheetPasteShortKeyCommand as ne, ISheetClipboardService as Se, SHEET_VIEW_KEY as R, ISheetSelectionRenderService as U, SheetSkeletonManagerService as H, ChangeZoomRatioCommand as Te, SheetsScrollRenderController as De, SetWorksheetColAutoWidthCommand as Be, SheetCanvasPopManagerService as ie, CellAlertManagerService as Le, IMarkSelectionService as Ae } from "@univerjs/sheets-ui";
6
- import { FSheetHooks as O, FWorkbook as Ce, FWorksheet as me, FPermission as fe, FRange as be } from "@univerjs/sheets/facade";
7
- import { KeyCode as T, CutCommand as oe, CopyCommand as se, PasteCommand as ae, IClipboardInterfaceService as We, PLAIN_TEXT_CLIPBOARD_MIME_TYPE as ce, HTML_CLIPBOARD_MIME_TYPE as de, supportClipboardAPI as he, ISidebarService as $e, IDialogService as Oe, ComponentManager as le } from "@univerjs/ui";
8
- import { filter as S, combineLatest as je } 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(_);
13
- this.disposeWithMe(r.beforeCommandExecuted((t) => {
14
- if (t.id === I.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(L), g = e.get(D), C = t.params, { visible: l, keycode: h, eventType: v } = C, d = c.getEditLocation();
21
- if (l) {
22
- const b = {
23
- row: d.row,
24
- column: d.column,
25
- eventType: v,
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, b), b.cancel)
32
- throw new G();
33
+ if (this.fireEvent(this.Event.BeforeSheetEditStart, eventParams), eventParams.cancel)
34
+ throw new CanceledError();
33
35
  } else {
34
- const b = {
35
- row: d.row,
36
- column: d.column,
37
- eventType: v,
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(B).getSnapshot()),
43
- isConfirm: h !== T.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, b), b.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 === I.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(L), g = t.params, { visible: C, keycode: l, eventType: h } = g, v = c.getEditLocation();
70
- if (C) {
71
- const d = {
72
- row: v.row,
73
- column: v.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: v.row,
84
- column: v.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 !== T.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(L), g = e.get(D), C = t.params;
102
- if (!c.isVisible().visible) return;
103
- const { unitId: l } = C;
104
- if (l === B) {
105
- const { row: h, column: v } = c.getEditLocation(), d = {
106
- workbook: o,
107
- worksheet: s,
108
- row: h,
109
- column: v,
110
- value: q.create(g.getUnit(B).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(D).getFocusedUnit(), i = t == null ? void 0 : t.getUnitId(), o = e.get(f);
134
- if (i) {
135
- const l = e.get(Q), h = new A();
136
- this.disposeWithMe(l.lifecycle$.subscribe((v) => {
137
- var k, P, u, m, p, j, F, N, V, Z, K, z, Y, X, J;
138
- if (v < ee.Rendered) return;
139
- h.dispose();
140
- const d = e.get(y), b = e.get(W);
141
- d && (h.add(
142
- (k = d.currentClickedCell$) == null ? void 0 : k.pipe(S((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
- (P = d.currentRichText$) == null ? void 0 : P.pipe(S((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(S((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
- (m = d.currentPointerUpCell$) == null ? void 0 : m.pipe(S((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
- (p = d.currentCellPosWithEvent$) == null ? void 0 : p.pipe(S((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
- (j = b.currentCell$) == null ? void 0 : j.pipe(S((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 = b.endCell$) == null ? void 0 : F.pipe(S((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(S((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(S((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(S((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
- (K = d.currentHoveredRowHeader$) == null ? void 0 : K.pipe(S((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
- (z = d.currentColHeaderClick$) == null ? void 0 : z.pipe(S((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(S((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(S((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(S((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 = je([
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 P;
301
- if (l.type === pe.UNIVER_SHEET && (c = l), h <= ee.Rendered) return;
302
- const v = new A();
303
- if (!c) return;
304
- const d = this.getWorkbook(c.unitId);
305
- if (!d) return;
306
- s.get(c.unitId) && ((P = s.get(c.unitId)) == null || P.dispose()), s.set(c.unitId, v);
307
- const b = c.with($);
308
- v.add(b.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 k = c.with(Re);
316
- v.add(k.selectionMoveStart$.subscribe((u) => {
317
- var m;
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: (m = u == null ? void 0 : u.map((p) => p.range)) != null ? m : []
321
+ workbook,
322
+ worksheet: workbook.getActiveSheet(),
323
+ selections: (_a2 = selections == null ? void 0 : selections.map((s) => s.range)) != null ? _a2 : []
322
324
  });
323
- })), v.add(k.selectionMoving$.subscribe((u) => {
324
- var m;
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: (m = u == null ? void 0 : u.map((p) => p.range)) != null ? m : []
328
+ workbook,
329
+ worksheet: workbook.getActiveSheet(),
330
+ selections: (_a2 = selections == null ? void 0 : selections.map((s) => s.range)) != null ? _a2 : []
329
331
  });
330
- })), v.add(k.selectionMoveEnd$.subscribe((u) => {
331
- var m;
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: (m = u == null ? void 0 : u.map((p) => p.range)) != null ? m : []
335
+ workbook,
336
+ worksheet: workbook.getActiveSheet(),
337
+ selections: (_a2 = selections == null ? void 0 : selections.map((s) => s.range)) != null ? _a2 : []
336
338
  });
337
- })), v.add(k.selectionChanged$.subscribe((u) => {
338
- var m;
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: (m = u == null ? void 0 : u.map((p) => p.range)) != null ? m : []
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(v);
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(_);
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 (Me.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(We).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(x).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(x).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
- const r = this.getActiveWorkbook();
503
- if (!r) {
506
+ customizeColumnHeader(cfg) {
507
+ var _a, _b;
508
+ const wb = this.getActiveWorkbook();
509
+ if (!wb) {
504
510
  console.error("WorkBook not exist");
505
511
  return;
506
512
  }
507
- const t = r == null ? void 0 : r.getId();
508
- this._getSheetRenderComponent(t, R.COLUMN).setCustomHeader(e);
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(render, subUnitId, (_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();
509
515
  }
510
- customizeRowHeader(e) {
511
- const r = this.getActiveWorkbook();
512
- if (!r) {
516
+ customizeRowHeader(cfg) {
517
+ const wb = this.getActiveWorkbook();
518
+ if (!wb) {
513
519
  console.error("WorkBook not exist");
514
520
  return;
515
521
  }
516
- const t = r == null ? void 0 : r.getId();
517
- 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);
518
524
  }
519
- registerSheetRowHeaderExtension(e, ...r) {
520
- const t = this._getSheetRenderComponent(e, R.ROW), i = t.register(...r);
521
- return E(() => {
522
- 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);
523
529
  });
524
530
  }
525
- registerSheetColumnHeaderExtension(e, ...r) {
526
- const t = this._getSheetRenderComponent(e, R.COLUMN), i = t.register(...r);
527
- return E(() => {
528
- 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);
529
535
  });
530
536
  }
531
- registerSheetMainExtension(e, ...r) {
532
- const t = this._getSheetRenderComponent(e, R.MAIN), i = t.register(...r);
533
- return E(() => {
534
- 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);
535
541
  });
536
542
  }
537
543
  /**
@@ -541,81 +547,119 @@ class Fe extends ue {
541
547
  * @param {SHEET_VIEW_KEY} viewKey The view key of the spreadsheet.
542
548
  * @returns {Nullable<RenderComponentType>} The render component.
543
549
  */
544
- _getSheetRenderComponent(e, r) {
545
- const i = this._injector.get(f).getRenderById(e);
546
- if (!i)
547
- throw new Error(`Render Unit with unitId ${e} not found`);
548
- const { components: o } = i, s = o.get(r);
549
- 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)
550
556
  throw new Error("Render component not found");
551
- return s;
557
+ return renderComponent;
552
558
  }
553
559
  /**
554
560
  * Get sheet hooks.
555
561
  * @returns {FSheetHooks} FSheetHooks instance
556
562
  */
557
563
  getSheetHooks() {
558
- return this._injector.createInstance(O);
564
+ return this._injector.createInstance(FSheetHooks);
559
565
  }
560
- }
561
- ue.extend(Fe);
562
- class Ne extends Ce {
563
- openSiderbar(e) {
564
- return this._logDeprecation("openSiderbar"), this._injector.get($e).open(e);
565
- }
566
- 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) {
567
575
  this._logDeprecation("openDialog");
568
- const t = this._injector.get(Oe).open({
569
- ...e,
570
- onClose: () => {
571
- t.dispose();
572
- }
576
+ const disposable = this._injector.get(IDialogService).open({
577
+ ...dialog,
578
+ onClose: /* @__PURE__ */ __name(() => {
579
+ disposable.dispose();
580
+ }, "onClose")
573
581
  });
574
- return t;
582
+ return disposable;
575
583
  }
576
- _logDeprecation(e) {
577
- this._injector.get(x).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".`);
578
586
  }
579
- generateCellParams(e) {
580
- const r = this.getActiveSheet();
587
+ generateCellParams(cell) {
588
+ const worksheet = this.getActiveSheet();
581
589
  return {
582
- row: e.row,
583
- column: e.col,
590
+ row: cell.row,
591
+ column: cell.col,
584
592
  workbook: this,
585
- worksheet: r
593
+ worksheet
586
594
  };
587
595
  }
588
- onCellClick(e) {
589
- const r = this._injector.get(y);
590
- return E(
591
- r.currentClickedCell$.pipe(S((t) => !!t)).subscribe((t) => {
592
- 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);
601
+ })
602
+ );
603
+ }
604
+ onCellHover(callback) {
605
+ const hoverManagerService = this._injector.get(HoverManagerService);
606
+ return toDisposable(
607
+ hoverManagerService.currentRichText$.pipe(filter((cell) => !!cell)).subscribe(callback)
608
+ );
609
+ }
610
+ onCellPointerDown(callback) {
611
+ const hoverManagerService = this._injector.get(HoverManagerService);
612
+ return toDisposable(
613
+ hoverManagerService.currentPointerDownCell$.subscribe(callback)
614
+ );
615
+ }
616
+ onCellPointerUp(callback) {
617
+ const hoverManagerService = this._injector.get(HoverManagerService);
618
+ return toDisposable(
619
+ hoverManagerService.currentPointerUpCell$.subscribe(callback)
620
+ );
621
+ }
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);
593
627
  })
594
628
  );
595
629
  }
596
- onCellHover(e) {
597
- const r = this._injector.get(y);
598
- return E(
599
- r.currentRichText$.pipe(S((t) => !!t)).subscribe(e)
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);
635
+ })
636
+ );
637
+ }
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);
643
+ })
600
644
  );
601
645
  }
602
646
  startEditing() {
603
- return this._injector.get(_).syncExecuteCommand(I.id, {
604
- eventType: te.Dblclick,
647
+ return this._injector.get(ICommandService).syncExecuteCommand(SetCellEditVisibleOperation.id, {
648
+ eventType: DeviceInputEventType.Dblclick,
605
649
  unitId: this._workbook.getUnitId(),
606
650
  visible: !0
607
651
  });
608
652
  }
609
- async endEditing(e) {
610
- return this._injector.get(_).syncExecuteCommand(I.id, {
611
- eventType: te.Keyboard,
612
- keycode: e ? T.ENTER : T.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,
613
657
  visible: !1,
614
658
  unitId: this._workbook.getUnitId()
615
- }), await Ee(0), !0;
659
+ }), await awaitTime(0), !0;
616
660
  }
617
- endEditingAsync(e = !0) {
618
- return this.endEditing(e);
661
+ endEditingAsync(save = !0) {
662
+ return this.endEditing(save);
619
663
  }
620
664
  /**
621
665
  * Get scroll state of specified sheet.
@@ -626,149 +670,169 @@ class Ne extends Ce {
626
670
  * univerAPI.getActiveWorkbook().getScrollStateBySheetId($sheetId)
627
671
  * ```
628
672
  */
629
- getScrollStateBySheetId(e) {
630
- const r = this._workbook.getUnitId(), i = this._injector.get(f).getRenderById(r);
631
- return i ? i.with($).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;
632
676
  }
633
677
  disableSelection() {
634
- const e = this._workbook.getUnitId(), t = this._injector.get(f).getRenderById(e);
635
- return t && t.with(U).disableSelection(), this;
678
+ const unitId = this._workbook.getUnitId(), render = this._injector.get(IRenderManagerService).getRenderById(unitId);
679
+ return render && render.with(ISheetSelectionRenderService).disableSelection(), this;
636
680
  }
637
681
  enableSelection() {
638
- const e = this._workbook.getUnitId(), t = this._injector.get(f).getRenderById(e);
639
- return t && t.with(U).enableSelection(), this;
682
+ const unitId = this._workbook.getUnitId(), render = this._injector.get(IRenderManagerService).getRenderById(unitId);
683
+ return render && render.with(ISheetSelectionRenderService).enableSelection(), this;
640
684
  }
641
685
  transparentSelection() {
642
- const e = this._workbook.getUnitId(), t = this._injector.get(f).getRenderById(e);
643
- return t && t.with(U).transparentSelection(), this;
686
+ const unitId = this._workbook.getUnitId(), render = this._injector.get(IRenderManagerService).getRenderById(unitId);
687
+ return render && render.with(ISheetSelectionRenderService).transparentSelection(), this;
644
688
  }
645
689
  showSelection() {
646
- const e = this._workbook.getUnitId(), t = this._injector.get(f).getRenderById(e);
647
- return t && t.with(U).showSelection(), this;
690
+ const unitId = this._workbook.getUnitId(), render = this._injector.get(IRenderManagerService).getRenderById(unitId);
691
+ return render && render.with(ISheetSelectionRenderService).showSelection(), this;
648
692
  }
649
- }
650
- Ce.extend(Ne);
651
- class Ve extends me {
693
+ };
694
+ __name(_FWorkbookSheetsUIMixin, "FWorkbookSheetsUIMixin");
695
+ let FWorkbookSheetsUIMixin = _FWorkbookSheetsUIMixin;
696
+ FWorkbook.extend(FWorkbookSheetsUIMixin);
697
+ const _FWorksheetSkeletonMixin = class _FWorksheetSkeletonMixin extends FWorksheet {
652
698
  refreshCanvas() {
653
- const e = this._injector.get(f), r = this._fWorkbook.id, t = e.getRenderById(r);
654
- if (!t)
655
- throw new Error(`Render Unit with unitId ${r} not found`);
656
- t.with(H).reCalculate();
657
- const i = t.mainComponent;
658
- 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)
659
705
  throw new Error("Main component not found");
660
- return i.makeDirty(), this;
706
+ return mainComponent.makeDirty(), this;
661
707
  }
662
- zoom(e) {
663
- return this._injector.get(_).syncExecuteCommand(Te.id, {
708
+ zoom(zoomRatio) {
709
+ return this._injector.get(ICommandService).syncExecuteCommand(ChangeZoomRatioCommand.id, {
664
710
  unitId: this._workbook.getUnitId(),
665
711
  subUnitId: this._worksheet.getSheetId(),
666
- zoomRatio: e
712
+ zoomRatio
667
713
  }), this;
668
714
  }
669
715
  getZoom() {
670
716
  return this._worksheet.getZoomRatio();
671
717
  }
672
718
  getVisibleRange() {
673
- const e = this._workbook.getUnitId(), t = this._injector.get(f).getRenderById(e);
674
- let i = {
719
+ const unitId = this._workbook.getUnitId(), render = this._injector.get(IRenderManagerService).getRenderById(unitId);
720
+ let range = {
675
721
  startColumn: 0,
676
722
  startRow: 0,
677
723
  endColumn: 0,
678
724
  endRow: 0
679
725
  };
680
- if (!t) return i;
681
- const s = t.with(H).getCurrentSkeleton();
682
- if (!s) return i;
683
- const c = s == null ? void 0 : s.getVisibleRanges();
684
- if (!c) return i;
685
- i = s.getVisibleRangeByViewport(Ie.VIEW_MAIN);
686
- for (const [g, C] of c)
687
- 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));
688
- return i;
689
- }
690
- scrollToCell(e, r) {
691
- const t = this._workbook.getUnitId(), o = this._injector.get(f).getRenderById(t);
692
- return o && (o == null ? void 0 : o.with(De)).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;
693
739
  }
694
740
  getScrollState() {
695
- const e = {
741
+ const emptyScrollState = {
696
742
  offsetX: 0,
697
743
  offsetY: 0,
698
744
  sheetViewStartColumn: 0,
699
745
  sheetViewStartRow: 0
700
- }, r = this._workbook.getUnitId(), t = this._worksheet.getSheetId(), o = this._injector.get(f).getRenderById(r);
701
- return o && o.with($).getScrollStateByParam({ unitId: r, sheetId: t }) || e;
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);
755
+ });
756
+ return toDisposable(sub);
757
+ }
758
+ return toDisposable(() => {
759
+ });
702
760
  }
703
761
  getSkeleton() {
704
- var r, t;
705
- const e = (r = this._injector.get(f).getRenderById(this._workbook.getUnitId())) == null ? void 0 : r.with(H);
706
- 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;
707
765
  }
708
- setColumnAutoWidth(e, r) {
709
- 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 = [
710
768
  {
711
- startColumn: e,
712
- endColumn: e + r - 1,
769
+ startColumn: columnPosition,
770
+ endColumn: columnPosition + numColumn - 1,
713
771
  startRow: 0,
714
772
  endRow: this._worksheet.getRowCount() - 1
715
773
  }
716
774
  ];
717
- return this._commandService.syncExecuteCommand(Be.id, {
718
- unitId: t,
719
- subUnitId: i,
720
- ranges: o
775
+ return this._commandService.syncExecuteCommand(SetWorksheetColAutoWidthCommand.id, {
776
+ unitId,
777
+ subUnitId,
778
+ ranges
721
779
  }), this;
722
780
  }
723
- }
724
- me.extend(Ve);
725
- class Ze extends fe {
726
- setPermissionDialogVisible(e) {
727
- this._permissionService.setShowComponents(e);
728
- }
729
- }
730
- fe.extend(Ze);
731
- class Ke extends O {
732
- onCellPointerMove(e) {
733
- return E(this._injector.get(y).currentPosition$.subscribe(e));
734
- }
735
- onCellPointerOver(e) {
736
- return E(this._injector.get(y).currentCell$.subscribe(e));
737
- }
738
- onCellDragOver(e) {
739
- return E(this._injector.get(W).currentCell$.subscribe(e));
740
- }
741
- onCellDrop(e) {
742
- return E(this._injector.get(W).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);
743
788
  }
744
- onCellRender(e, r = we.Style, t = xe.DATA_VALIDATION) {
745
- return this._injector.get(Ue).intercept(He.CELL_CONTENT, {
746
- effect: r,
747
- handler: (i, o, s) => s({
748
- ...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,
749
811
  customRender: [
750
- ...(i == null ? void 0 : i.customRender) || [],
751
- ...e || []
812
+ ...(cell == null ? void 0 : cell.customRender) || [],
813
+ ...customRender || []
752
814
  ]
753
- }),
754
- priority: t
815
+ }), "handler"),
816
+ priority
755
817
  });
756
818
  }
757
- onBeforeCellEdit(e) {
758
- return this._injector.get(_).beforeCommandExecuted((r) => {
759
- const t = r.params;
760
- r.id === I.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);
761
823
  });
762
824
  }
763
- onAfterCellEdit(e) {
764
- return this._injector.get(_).onCommandExecuted((r) => {
765
- const t = r.params;
766
- r.id === I.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);
767
829
  });
768
830
  }
769
- }
770
- O.extend(Ke);
771
- const M = {
831
+ };
832
+ __name(_FSheetHooksUIMixin, "FSheetHooksUIMixin");
833
+ let FSheetHooksUIMixin = _FSheetHooksUIMixin;
834
+ FSheetHooks.extend(FSheetHooksUIMixin);
835
+ const CellFEventName = {
772
836
  CellClicked: "CellClicked",
773
837
  CellPointerDown: "CellPointerDown",
774
838
  CellPointerUp: "CellPointerUp",
@@ -781,8 +845,7 @@ const M = {
781
845
  SelectionMoving: "SelectionMoving",
782
846
  SelectionMoveEnd: "SelectionMoveEnd",
783
847
  SelectionChanged: "SelectionChanged"
784
- };
785
- class ze extends ve {
848
+ }, _FSheetsUIEventName = class _FSheetsUIEventName extends FEventName {
786
849
  get BeforeClipboardChange() {
787
850
  return "BeforeClipboardChange";
788
851
  }
@@ -811,19 +874,19 @@ class ze extends ve {
811
874
  return "SheetEditEnded";
812
875
  }
813
876
  get CellClicked() {
814
- return M.CellClicked;
877
+ return CellFEventName.CellClicked;
815
878
  }
816
879
  get CellHover() {
817
- return M.CellHover;
880
+ return CellFEventName.CellHover;
818
881
  }
819
882
  get CellPointerDown() {
820
- return M.CellPointerDown;
883
+ return CellFEventName.CellPointerDown;
821
884
  }
822
885
  get CellPointerUp() {
823
- return M.CellPointerUp;
886
+ return CellFEventName.CellPointerUp;
824
887
  }
825
888
  get CellPointerMove() {
826
- return M.CellPointerMove;
889
+ return CellFEventName.CellPointerMove;
827
890
  }
828
891
  get DragOver() {
829
892
  return "DragOver";
@@ -873,43 +936,45 @@ class ze extends ve {
873
936
  get SheetSkeletonChanged() {
874
937
  return "SheetSkeletonChanged";
875
938
  }
876
- }
877
- ve.extend(ze);
878
- class Ye extends be {
939
+ };
940
+ __name(_FSheetsUIEventName, "FSheetsUIEventName");
941
+ let FSheetsUIEventName = _FSheetsUIEventName;
942
+ FEventName.extend(FSheetsUIEventName);
943
+ const _FRangeSheetsUIMixin = class _FRangeSheetsUIMixin extends FRange {
879
944
  getCell() {
880
- var c;
881
- const e = this._injector.get(f), r = this._injector.get(x), t = this._workbook.getUnitId(), i = this._worksheet.getSheetId(), o = e.getRenderById(t), s = (c = o == null ? void 0 : o.with(H).getWorksheetSkeleton(i)) == null ? void 0 : c.skeleton;
882
- if (!s)
883
- throw r.error("[Facade]: `FRange.getCell` can only be called in current worksheet"), new Error("`FRange.getCell` can only be called in current worksheet");
884
- 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);
885
950
  }
886
951
  getCellRect() {
887
- 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 };
888
- 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") };
889
954
  }
890
955
  generateHTML() {
891
- var r;
892
- const e = this._injector.get(Se).generateCopyContent(
956
+ var _a;
957
+ const copyContent = this._injector.get(ISheetClipboardService).generateCopyContent(
893
958
  this._workbook.getUnitId(),
894
959
  this._worksheet.getSheetId(),
895
960
  this._range
896
961
  );
897
- return (r = e == null ? void 0 : e.html) != null ? r : "";
962
+ return (_a = copyContent == null ? void 0 : copyContent.html) != null ? _a : "";
898
963
  }
899
- attachPopup(e) {
900
- var s, c, g;
901
- e.direction = (s = e.direction) != null ? s : "horizontal", e.extraProps = (c = e.extraProps) != null ? c : {}, e.offset = (g = e.offset) != null ? g : [0, 0];
902
- 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(
903
968
  this._range.startRow,
904
969
  this._range.startColumn,
905
- { ...e, componentKey: r },
970
+ { ...popup, componentKey: key },
906
971
  this.getUnitId(),
907
972
  this._worksheet.getSheetId()
908
973
  );
909
- return o ? (t.add(o), t) : (t.dispose(), null);
974
+ return disposePopup ? (disposableCollection.add(disposePopup), disposableCollection) : (disposableCollection.dispose(), null);
910
975
  }
911
- attachAlertPopup(e) {
912
- const r = this._injector.get(Le), t = {
976
+ attachAlertPopup(alert) {
977
+ const cellAlertService = this._injector.get(CellAlertManagerService), location = {
913
978
  workbook: this._workbook,
914
979
  worksheet: this._worksheet,
915
980
  row: this._range.startRow,
@@ -917,13 +982,13 @@ class Ye extends be {
917
982
  unitId: this.getUnitId(),
918
983
  subUnitId: this._worksheet.getSheetId()
919
984
  };
920
- return r.showAlert({
921
- ...e,
922
- location: t
985
+ return cellAlertService.showAlert({
986
+ ...alert,
987
+ location
923
988
  }), {
924
- dispose: () => {
925
- r.removeAlert(e.key);
926
- }
989
+ dispose: /* @__PURE__ */ __name(() => {
990
+ cellAlertService.removeAlert(alert.key);
991
+ }, "dispose")
927
992
  };
928
993
  }
929
994
  /**
@@ -938,36 +1003,39 @@ class Ye extends be {
938
1003
  extraProps: { alert: { type: 0, title: 'This is an Info', message: 'This is an info message' } },
939
1004
  });
940
1005
  */
941
- attachRangePopup(e) {
942
- var s, c, g;
943
- e.direction = (s = e.direction) != null ? s : "horizontal", e.extraProps = (c = e.extraProps) != null ? c : {}, e.offset = (g = e.offset) != null ? g : [0, 0];
944
- 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 : "top-center", 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(
945
1010
  this._range,
946
- { ...e, componentKey: r },
1011
+ { ...popup, componentKey: key },
947
1012
  this.getUnitId(),
948
1013
  this._worksheet.getSheetId()
949
1014
  );
950
- return o ? (t.add(o), t) : (t.dispose(), null);
1015
+ return disposePopup ? (disposableCollection.add(disposePopup), disposableCollection) : (disposableCollection.dispose(), null);
951
1016
  }
952
- highlight(e, r) {
953
- const t = this._injector.get(Ae), i = t.addShape({ range: this._range, style: e, primary: r });
954
- if (!i)
1017
+ highlight(style, primary) {
1018
+ const markSelectionService = this._injector.get(IMarkSelectionService), id = markSelectionService.addShape({ range: this._range, style, primary });
1019
+ if (!id)
955
1020
  throw new Error("Failed to highlight current range");
956
- return E(() => {
957
- t.removeShape(i);
1021
+ return toDisposable(() => {
1022
+ markSelectionService.removeShape(id);
958
1023
  });
959
1024
  }
960
- }
961
- be.extend(Ye);
962
- function ge(w, e) {
963
- const { componentKey: r, isVue3: t } = w;
964
- let i;
965
- const o = new A();
966
- return typeof r == "string" ? i = r : (i = `External_${ke(6)}`, o.add(e.register(i, r, { framework: t ? "vue3" : "react" }))), {
967
- key: i,
968
- 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
969
1036
  };
970
1037
  }
1038
+ __name(transformComponentKey, "transformComponentKey");
971
1039
  export {
972
- ge as transformComponentKey
1040
+ transformComponentKey
973
1041
  };