@univerjs/sheets-drawing-ui 1.0.0-alpha.6 → 1.0.0-alpha.8

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/cjs/index.js CHANGED
@@ -293,7 +293,7 @@ const UngroupSheetDrawingCommand = {
293
293
  };
294
294
 
295
295
  //#endregion
296
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/typeof.js
296
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
297
297
  function _typeof(o) {
298
298
  "@babel/helpers - typeof";
299
299
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -304,7 +304,7 @@ function _typeof(o) {
304
304
  }
305
305
 
306
306
  //#endregion
307
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPrimitive.js
307
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
308
308
  function toPrimitive(t, r) {
309
309
  if ("object" != _typeof(t) || !t) return t;
310
310
  var e = t[Symbol.toPrimitive];
@@ -317,14 +317,14 @@ function toPrimitive(t, r) {
317
317
  }
318
318
 
319
319
  //#endregion
320
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPropertyKey.js
320
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
321
321
  function toPropertyKey(t) {
322
322
  var i = toPrimitive(t, "string");
323
323
  return "symbol" == _typeof(i) ? i : i + "";
324
324
  }
325
325
 
326
326
  //#endregion
327
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/defineProperty.js
327
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
328
328
  function _defineProperty(e, r, t) {
329
329
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
330
330
  value: t,
@@ -335,7 +335,7 @@ function _defineProperty(e, r, t) {
335
335
  }
336
336
 
337
337
  //#endregion
338
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorateParam.js
338
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
339
339
  function __decorateParam(paramIndex, decorator) {
340
340
  return function(target, key) {
341
341
  decorator(target, key, paramIndex);
@@ -343,7 +343,7 @@ function __decorateParam(paramIndex, decorator) {
343
343
  }
344
344
 
345
345
  //#endregion
346
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorate.js
346
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
347
347
  function __decorate(decorators, target, key, desc) {
348
348
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
349
349
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -379,11 +379,11 @@ function rotatedBoundingBox(width, height, angleDegrees) {
379
379
  function getDrawingSizeByCell(accessor, location, originImageWidth, originImageHeight, angle) {
380
380
  var _skeletonManagerServi;
381
381
  const { rotatedHeight, rotatedWidth } = rotatedBoundingBox(originImageWidth, originImageHeight, angle);
382
- const currentRender = accessor.get(_univerjs_engine_render.IRenderManagerService).getRenderById(location.unitId);
382
+ const currentRender = accessor.get(_univerjs_engine_render.IRenderManagerService).getRenderUnitById(location.unitId);
383
383
  if (!currentRender) return false;
384
384
  const skeleton = (_skeletonManagerServi = currentRender.with(_univerjs_sheets_ui.SheetSkeletonManagerService).getSkeletonParam(location.subUnitId)) === null || _skeletonManagerServi === void 0 ? void 0 : _skeletonManagerServi.skeleton;
385
385
  if (skeleton == null) return false;
386
- const cellInfo = skeleton.getCellByIndex(location.row, location.col);
386
+ const cellInfo = skeleton.getCellWithCoordByIndex(location.row, location.col);
387
387
  const cellWidth = cellInfo.mergeInfo.endX - cellInfo.mergeInfo.startX - 2;
388
388
  const cellHeight = cellInfo.mergeInfo.endY - cellInfo.mergeInfo.startY - 2;
389
389
  const imageRatio = rotatedWidth / rotatedHeight;
@@ -1038,12 +1038,6 @@ let BatchSaveImagesService = class BatchSaveImagesService extends _univerjs_core
1038
1038
  this._imageIoService = _imageIoService;
1039
1039
  this._urlImageService = _urlImageService;
1040
1040
  }
1041
- /**
1042
- * @deprecated Use IURLImageService directly
1043
- */
1044
- registerURLImageDownloader(downloader) {
1045
- return this._urlImageService.registerURLImageDownloader(downloader);
1046
- }
1047
1041
  getCellImagesInSelection() {
1048
1042
  const workbook = this._univerInstanceService.getCurrentUnitOfType(_univerjs_core.UniverInstanceType.UNIVER_SHEET);
1049
1043
  if (!workbook) return [];
@@ -1363,7 +1357,6 @@ const SaveCellImagesCommand = {
1363
1357
  width: 360,
1364
1358
  title: { title: titleText },
1365
1359
  children: { label: BATCH_SAVE_IMAGES_DIALOG_ID },
1366
- destroyOnClose: true,
1367
1360
  preservePositionOnDestroy: true,
1368
1361
  onClose: () => dialogService.close(BATCH_SAVE_IMAGES_DIALOG_ID)
1369
1362
  });
@@ -2070,7 +2063,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
2070
2063
  }
2071
2064
  _commitFloatDomMove(info) {
2072
2065
  var _this$_renderManagerS;
2073
- const skeletonParam = (_this$_renderManagerS = this._renderManagerService.getRenderById(info.unitId)) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.with(_univerjs_sheets_ui.SheetSkeletonManagerService).getSkeletonParam(info.subUnitId);
2066
+ const skeletonParam = (_this$_renderManagerS = this._renderManagerService.getRenderUnitById(info.unitId)) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.with(_univerjs_sheets_ui.SheetSkeletonManagerService).getSkeletonParam(info.subUnitId);
2074
2067
  const drawing = this._sheetDrawingService.getDrawingByParam({
2075
2068
  unitId: info.unitId,
2076
2069
  subUnitId: info.subUnitId,
@@ -2239,7 +2232,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
2239
2232
  }
2240
2233
  _getSceneAndTransformerByDrawingSearch(unitId) {
2241
2234
  if (unitId == null) return;
2242
- const renderUnit = this._renderManagerService.getRenderById(unitId);
2235
+ const renderUnit = this._renderManagerService.getRenderUnitById(unitId);
2243
2236
  const scene = renderUnit === null || renderUnit === void 0 ? void 0 : renderUnit.scene;
2244
2237
  if (renderUnit == null || scene == null) return null;
2245
2238
  return {
@@ -2263,7 +2256,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
2263
2256
  if (!workbook) return;
2264
2257
  const activeSheetId = workbook.getActiveSheet().getSheetId();
2265
2258
  if (!floatDomParam || !target) return;
2266
- const skeleton = (_this$_renderManagerS2 = this._renderManagerService.getRenderById(unitId)) === null || _this$_renderManagerS2 === void 0 ? void 0 : _this$_renderManagerS2.with(_univerjs_sheets_ui.SheetSkeletonManagerService).getSkeletonParam(subUnitId);
2259
+ const skeleton = (_this$_renderManagerS2 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS2 === void 0 ? void 0 : _this$_renderManagerS2.with(_univerjs_sheets_ui.SheetSkeletonManagerService).getSkeletonParam(subUnitId);
2267
2260
  if (!skeleton) return;
2268
2261
  const { transform, drawingType, data, hidden, groupId } = floatDomParam;
2269
2262
  if (!isCanvasFloatDomDrawingType(drawingType)) return;
@@ -2506,7 +2499,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
2506
2499
  unitId,
2507
2500
  subUnitId
2508
2501
  });
2509
- const skeleton = (_this$_renderManagerS3 = this._renderManagerService.getRenderById(unitId)) === null || _this$_renderManagerS3 === void 0 ? void 0 : _this$_renderManagerS3.with(_univerjs_sheets_ui.SheetSkeletonManagerService).getSkeletonParam(subUnitId);
2502
+ const skeleton = (_this$_renderManagerS3 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS3 === void 0 ? void 0 : _this$_renderManagerS3.with(_univerjs_sheets_ui.SheetSkeletonManagerService).getSkeletonParam(subUnitId);
2510
2503
  if (!renderObject || !target || !skeleton) return;
2511
2504
  ids.forEach((id) => {
2512
2505
  const floatDomInfo = this._domLayerInfoMap.get(id);
@@ -2526,7 +2519,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
2526
2519
  this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(_univerjs_core.UniverInstanceType.UNIVER_SHEET).pipe((0, rxjs.switchMap)((workbook) => workbook ? workbook.activeSheet$ : (0, rxjs.of)(null)), (0, rxjs.map)((worksheet) => {
2527
2520
  if (!worksheet) return null;
2528
2521
  const unitId = worksheet.getUnitId();
2529
- const render = this._renderManagerService.getRenderById(unitId);
2522
+ const render = this._renderManagerService.getRenderUnitById(unitId);
2530
2523
  return render ? {
2531
2524
  render,
2532
2525
  unitId,
@@ -2623,7 +2616,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
2623
2616
  _getPosition(position, unitId) {
2624
2617
  var _this$_renderManagerS4;
2625
2618
  const { startX, endX, startY, endY } = position;
2626
- const selectionRenderService = (_this$_renderManagerS4 = this._renderManagerService.getRenderById(unitId)) === null || _this$_renderManagerS4 === void 0 ? void 0 : _this$_renderManagerS4.with(_univerjs_sheets_ui.ISheetSelectionRenderService);
2619
+ const selectionRenderService = (_this$_renderManagerS4 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS4 === void 0 ? void 0 : _this$_renderManagerS4.with(_univerjs_sheets_ui.ISheetSelectionRenderService);
2627
2620
  if (selectionRenderService == null) return;
2628
2621
  const start = selectionRenderService.getCellWithCoordByOffset(startX, startY);
2629
2622
  if (start == null) return;
@@ -2770,9 +2763,9 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
2770
2763
  const { unitId, subUnitId } = target;
2771
2764
  const renderObject = this._getSceneAndTransformerByDrawingSearch(unitId);
2772
2765
  if (!renderObject) return;
2773
- const currentRender = this._renderManagerService.getRenderById(unitId);
2766
+ const currentRender = this._renderManagerService.getRenderUnitById(unitId);
2774
2767
  if (!currentRender) return;
2775
- const skeletonParam = (_this$_renderManagerS5 = this._renderManagerService.getRenderById(unitId)) === null || _this$_renderManagerS5 === void 0 ? void 0 : _this$_renderManagerS5.with(_univerjs_sheets_ui.SheetSkeletonManagerService).getSkeletonParam(subUnitId);
2768
+ const skeletonParam = (_this$_renderManagerS5 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS5 === void 0 ? void 0 : _this$_renderManagerS5.with(_univerjs_sheets_ui.SheetSkeletonManagerService).getSkeletonParam(subUnitId);
2776
2769
  if (!skeletonParam) return;
2777
2770
  const { componentKey, data, allowTransform = true } = config;
2778
2771
  const id = propId !== null && propId !== void 0 ? propId : (0, _univerjs_core.generateRandomId)();
@@ -2810,7 +2803,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
2810
2803
  if (!workbook) return;
2811
2804
  const activeSheetId = workbook.getActiveSheet().getSheetId();
2812
2805
  if (!floatDomParam || !target) return;
2813
- const skMangerService = (_this$_renderManagerS6 = this._renderManagerService.getRenderById(unitId)) === null || _this$_renderManagerS6 === void 0 ? void 0 : _this$_renderManagerS6.with(_univerjs_sheets_ui.SheetSkeletonManagerService);
2806
+ const skMangerService = (_this$_renderManagerS6 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS6 === void 0 ? void 0 : _this$_renderManagerS6.with(_univerjs_sheets_ui.SheetSkeletonManagerService);
2814
2807
  if (!skMangerService) return;
2815
2808
  const skeletonParam = skMangerService.getSkeletonParam(subUnitId);
2816
2809
  if (!skeletonParam) return;
@@ -2947,7 +2940,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
2947
2940
  top: rangePosition.absolute.top
2948
2941
  }
2949
2942
  }, domAnchor);
2950
- const newPos = calcSheetFloatDomPosition(new _univerjs_engine_render.Rect((0, _univerjs_drawing.getDrawingShapeKeyByDrawingSearch)({
2943
+ const newRect = new _univerjs_engine_render.Rect((0, _univerjs_drawing.getDrawingShapeKeyByDrawingSearch)({
2951
2944
  unitId,
2952
2945
  subUnitId,
2953
2946
  drawingId
@@ -2957,10 +2950,11 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
2957
2950
  width: (_domAnchor$width2 = domAnchor.width) !== null && _domAnchor$width2 !== void 0 ? _domAnchor$width2 : newRangePos.width,
2958
2951
  height: (_domAnchor$height2 = domAnchor.height) !== null && _domAnchor$height2 !== void 0 ? _domAnchor$height2 : newRangePos.height,
2959
2952
  zIndex: this._drawingManagerService.getDrawingOrder(unitId, subUnitId).length - 1
2960
- }), renderObject.renderUnit.scene, skeletonParam.skeleton, target.worksheet, floatDomInfo);
2953
+ });
2954
+ const newPos = calcSheetFloatDomPosition(newRect, renderObject.renderUnit.scene, skeletonParam.skeleton, target.worksheet, floatDomInfo);
2961
2955
  position$.next(newPos);
2962
2956
  }));
2963
- const skm = (_this$_renderManagerS7 = this._renderManagerService.getRenderById(unitId)) === null || _this$_renderManagerS7 === void 0 ? void 0 : _this$_renderManagerS7.with(_univerjs_sheets_ui.SheetSkeletonManagerService);
2957
+ const skm = (_this$_renderManagerS7 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS7 === void 0 ? void 0 : _this$_renderManagerS7.with(_univerjs_sheets_ui.SheetSkeletonManagerService);
2964
2958
  const skeletonSubscription = skm === null || skm === void 0 ? void 0 : skm.currentSkeleton$.subscribe((skeleton) => {
2965
2959
  if (!skeleton) return;
2966
2960
  if (skeletonParam.sheetId !== skeleton.sheetId) this._removeDom(id, true);
@@ -2987,9 +2981,9 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
2987
2981
  if (!target) throw new Error("cannot find current target!");
2988
2982
  const { unitId, subUnitId } = target;
2989
2983
  if (!this._getSceneAndTransformerByDrawingSearch(unitId)) return;
2990
- const currentRender = this._renderManagerService.getRenderById(unitId);
2984
+ const currentRender = this._renderManagerService.getRenderUnitById(unitId);
2991
2985
  if (!currentRender) return;
2992
- const skeletonParam = (_this$_renderManagerS8 = this._renderManagerService.getRenderById(unitId)) === null || _this$_renderManagerS8 === void 0 ? void 0 : _this$_renderManagerS8.with(_univerjs_sheets_ui.SheetSkeletonManagerService).getSkeletonParam(subUnitId);
2986
+ const skeletonParam = (_this$_renderManagerS8 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS8 === void 0 ? void 0 : _this$_renderManagerS8.with(_univerjs_sheets_ui.SheetSkeletonManagerService).getSkeletonParam(subUnitId);
2993
2987
  if (!skeletonParam) return;
2994
2988
  const { componentKey, data, allowTransform = true } = config;
2995
2989
  const id = propId !== null && propId !== void 0 ? propId : (0, _univerjs_core.generateRandomId)();
@@ -3032,7 +3026,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
3032
3026
  if (!workbook) return;
3033
3027
  const activeSheetId = workbook.getActiveSheet().getSheetId();
3034
3028
  if (!floatDomParam || !target) return;
3035
- const skMangerService = (_this$_renderManagerS9 = this._renderManagerService.getRenderById(unitId)) === null || _this$_renderManagerS9 === void 0 ? void 0 : _this$_renderManagerS9.with(_univerjs_sheets_ui.SheetSkeletonManagerService);
3029
+ const skMangerService = (_this$_renderManagerS9 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS9 === void 0 ? void 0 : _this$_renderManagerS9.with(_univerjs_sheets_ui.SheetSkeletonManagerService);
3036
3030
  if (!skMangerService) return;
3037
3031
  const skeleton = skMangerService.getSkeletonParam(subUnitId);
3038
3032
  if (!skeleton) return;
@@ -3150,7 +3144,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
3150
3144
  top: rangePosition.absolute.top
3151
3145
  }
3152
3146
  }, domLayoutParam);
3153
- const newPos = calcSheetFloatDomPosition(new _univerjs_engine_render.Rect((0, _univerjs_drawing.getDrawingShapeKeyByDrawingSearch)({
3147
+ const newRect = new _univerjs_engine_render.Rect((0, _univerjs_drawing.getDrawingShapeKeyByDrawingSearch)({
3154
3148
  unitId,
3155
3149
  subUnitId,
3156
3150
  drawingId
@@ -3160,10 +3154,11 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
3160
3154
  width: domLayoutParam.width,
3161
3155
  height: domLayoutParam.height,
3162
3156
  zIndex: this._drawingManagerService.getDrawingOrder(unitId, subUnitId).length - 1
3163
- }), renderObject.renderUnit.scene, skeleton.skeleton, target.worksheet, floatDomInfo);
3157
+ });
3158
+ const newPos = calcSheetFloatDomPosition(newRect, renderObject.renderUnit.scene, skeleton.skeleton, target.worksheet, floatDomInfo);
3164
3159
  position$.next(newPos);
3165
3160
  }));
3166
- const skm = (_this$_renderManagerS10 = this._renderManagerService.getRenderById(unitId)) === null || _this$_renderManagerS10 === void 0 ? void 0 : _this$_renderManagerS10.with(_univerjs_sheets_ui.SheetSkeletonManagerService);
3161
+ const skm = (_this$_renderManagerS10 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS10 === void 0 ? void 0 : _this$_renderManagerS10.with(_univerjs_sheets_ui.SheetSkeletonManagerService);
3167
3162
  skm === null || skm === void 0 || skm.currentSkeleton$.subscribe((skeleton) => {
3168
3163
  if (!skeleton) return;
3169
3164
  if (skeletonParam.sheetId !== skeleton.sheetId) this._removeDom(id, true);
@@ -3437,6 +3432,12 @@ function SaveCellImagesMenuFactory(accessor) {
3437
3432
  const menuSchema = {
3438
3433
  [_univerjs_ui.RibbonInsertGroup.MEDIA]: { [SHEETS_IMAGE_MENU_ID]: {
3439
3434
  order: 0,
3435
+ gridLayout: {
3436
+ row: 1,
3437
+ column: 1,
3438
+ rowSpan: 2,
3439
+ showLabel: true
3440
+ },
3440
3441
  menuItemFactory: ImageMenuFactory,
3441
3442
  [InsertFloatImageCommand.id]: {
3442
3443
  order: 0,
@@ -3464,7 +3465,7 @@ const menuSchema = {
3464
3465
  //#endregion
3465
3466
  //#region package.json
3466
3467
  var name = "@univerjs/sheets-drawing-ui";
3467
- var version = "1.0.0-alpha.6";
3468
+ var version = "1.0.0-alpha.8";
3468
3469
 
3469
3470
  //#endregion
3470
3471
  //#region src/config/config.ts
@@ -3606,7 +3607,7 @@ const SheetDrawingAnchor = (props) => {
3606
3607
  const renderManagerService = (0, _univerjs_ui.useDependency)(_univerjs_engine_render.IRenderManagerService);
3607
3608
  const { drawings } = props;
3608
3609
  const drawingParam = drawings[0];
3609
- const renderObject = drawingParam ? renderManagerService.getRenderById(drawingParam.unitId) : void 0;
3610
+ const renderObject = drawingParam ? renderManagerService.getRenderUnitById(drawingParam.unitId) : void 0;
3610
3611
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
3611
3612
  const transformer = scene === null || scene === void 0 ? void 0 : scene.getTransformerByCreate();
3612
3613
  const [anchorShow, setAnchorShow] = (0, react.useState)(true);
@@ -3645,7 +3646,8 @@ const SheetDrawingAnchor = (props) => {
3645
3646
  else if (params.length >= 1) {
3646
3647
  var _params$;
3647
3648
  setAnchorShow(true);
3648
- setValue(((_params$ = params[0]) === null || _params$ === void 0 ? void 0 : _params$.anchorType) || _univerjs_sheets_drawing.SheetDrawingAnchorType.Position);
3649
+ const anchorType = ((_params$ = params[0]) === null || _params$ === void 0 ? void 0 : _params$.anchorType) || _univerjs_sheets_drawing.SheetDrawingAnchorType.Position;
3650
+ setValue(anchorType);
3649
3651
  }
3650
3652
  });
3651
3653
  return () => {
@@ -3792,7 +3794,7 @@ let DrawingContextMenuController = class DrawingContextMenuController extends _u
3792
3794
  _contextMenuListener(workbook) {
3793
3795
  var _this$_renderManagerS;
3794
3796
  if (!workbook) return;
3795
- const scene = (_this$_renderManagerS = this._renderManagerService.getRenderById(workbook.getUnitId())) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.scene;
3797
+ const scene = (_this$_renderManagerS = this._renderManagerService.getRenderUnitById(workbook.getUnitId())) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.scene;
3796
3798
  if (!scene) return;
3797
3799
  const transformer = scene.getTransformerByCreate();
3798
3800
  if (!transformer) return;
@@ -4100,7 +4102,6 @@ let SheetCellImageCopyPasteController = class SheetCellImageCopyPasteController
4100
4102
  title: { label: this._localeService.t("sheets-drawing-ui.cell-image.pasteTitle") },
4101
4103
  children: { label: this._localeService.t("sheets-drawing-ui.cell-image.pasteContent") },
4102
4104
  width: 320,
4103
- destroyOnClose: true,
4104
4105
  onClose: handleCloseDialog,
4105
4106
  showOk: true,
4106
4107
  showCancel: true,
@@ -4123,6 +4124,86 @@ SheetCellImageCopyPasteController = __decorate([
4123
4124
  __decorateParam(4, (0, _univerjs_core.Inject)(_univerjs_core.LocaleService))
4124
4125
  ], SheetCellImageCopyPasteController);
4125
4126
 
4127
+ //#endregion
4128
+ //#region src/controllers/sheet-drawing-active-render.controller.ts
4129
+ let SheetDrawingActiveRenderController = class SheetDrawingActiveRenderController extends _univerjs_core.Disposable {
4130
+ constructor(_context, _commandService, _sheetSkeletonService, _sheetDrawingService, _drawingManagerService) {
4131
+ super();
4132
+ this._context = _context;
4133
+ this._commandService = _commandService;
4134
+ this._sheetSkeletonService = _sheetSkeletonService;
4135
+ this._sheetDrawingService = _sheetDrawingService;
4136
+ this._drawingManagerService = _drawingManagerService;
4137
+ this._commandListener();
4138
+ }
4139
+ _commandListener() {
4140
+ this.disposeWithMe(this._commandService.onCommandExecuted((command) => {
4141
+ if (command.id === _univerjs_sheets.SetWorksheetActiveOperation.id) {
4142
+ const { unitId, subUnitId } = command.params;
4143
+ this._updateDrawings(unitId, subUnitId);
4144
+ }
4145
+ }));
4146
+ this.disposeWithMe(this._context.activated$.subscribe((activated) => {
4147
+ const { unit, unitId } = this._context;
4148
+ if (activated) this._updateDrawings(unitId, unit.getActiveSheet().getSheetId());
4149
+ else this._clearDrawings(unitId);
4150
+ }));
4151
+ }
4152
+ _clearDrawings(selfUnitId) {
4153
+ setTimeout(() => {
4154
+ const drawingMap = this._drawingManagerService.drawingManagerData;
4155
+ const removeDrawings = [];
4156
+ Object.keys(drawingMap !== null && drawingMap !== void 0 ? drawingMap : {}).forEach((unitId) => {
4157
+ var _drawingMap$unitId;
4158
+ const subUnitMap = (_drawingMap$unitId = drawingMap[unitId]) !== null && _drawingMap$unitId !== void 0 ? _drawingMap$unitId : {};
4159
+ Object.keys(subUnitMap).forEach((subUnitId) => {
4160
+ var _subUnitMap$subUnitId, _subUnitMap$subUnitId2;
4161
+ const drawingData = (_subUnitMap$subUnitId = (_subUnitMap$subUnitId2 = subUnitMap[subUnitId]) === null || _subUnitMap$subUnitId2 === void 0 ? void 0 : _subUnitMap$subUnitId2.data) !== null && _subUnitMap$subUnitId !== void 0 ? _subUnitMap$subUnitId : {};
4162
+ Object.keys(drawingData).forEach((drawingId) => {
4163
+ if (unitId === selfUnitId) removeDrawings.push(drawingData[drawingId]);
4164
+ });
4165
+ });
4166
+ });
4167
+ this._sheetDrawingService.removeNotification(removeDrawings);
4168
+ this._drawingManagerService.removeNotification(removeDrawings);
4169
+ });
4170
+ }
4171
+ _updateDrawings(showUnitId, showSubunitId) {
4172
+ setTimeout(() => {
4173
+ const sheetSkeletonParam = this._sheetSkeletonService.getSkeletonParam(showUnitId, showSubunitId);
4174
+ const drawingMap = this._drawingManagerService.drawingManagerData;
4175
+ const insertDrawings = [];
4176
+ const removeDrawings = [];
4177
+ Object.keys(drawingMap !== null && drawingMap !== void 0 ? drawingMap : {}).forEach((unitId) => {
4178
+ var _drawingMap$unitId2;
4179
+ if (unitId !== showUnitId) return;
4180
+ const subUnitMap = (_drawingMap$unitId2 = drawingMap[unitId]) !== null && _drawingMap$unitId2 !== void 0 ? _drawingMap$unitId2 : {};
4181
+ Object.keys(subUnitMap).forEach((subUnitId) => {
4182
+ var _subUnitMap$subUnitId3, _subUnitMap$subUnitId4;
4183
+ const drawingData = (_subUnitMap$subUnitId3 = (_subUnitMap$subUnitId4 = subUnitMap[subUnitId]) === null || _subUnitMap$subUnitId4 === void 0 ? void 0 : _subUnitMap$subUnitId4.data) !== null && _subUnitMap$subUnitId3 !== void 0 ? _subUnitMap$subUnitId3 : {};
4184
+ Object.keys(drawingData).forEach((drawingId) => {
4185
+ if (unitId === showUnitId && subUnitId === showSubunitId) {
4186
+ const drawing = drawingData[drawingId];
4187
+ if (drawing.sheetTransform) drawing.transform = (0, _univerjs_sheets_drawing.drawingPositionToTransform)(drawing.sheetTransform, sheetSkeletonParam);
4188
+ insertDrawings.push(drawingData[drawingId]);
4189
+ } else removeDrawings.push(drawingData[drawingId]);
4190
+ });
4191
+ });
4192
+ });
4193
+ this._sheetDrawingService.removeNotification(removeDrawings);
4194
+ this._sheetDrawingService.addNotification(insertDrawings);
4195
+ this._drawingManagerService.removeNotification(removeDrawings);
4196
+ this._drawingManagerService.addNotification(insertDrawings);
4197
+ }, 0);
4198
+ }
4199
+ };
4200
+ SheetDrawingActiveRenderController = __decorate([
4201
+ __decorateParam(1, _univerjs_core.ICommandService),
4202
+ __decorateParam(2, (0, _univerjs_core.Inject)(_univerjs_sheets.SheetSkeletonService)),
4203
+ __decorateParam(3, _univerjs_sheets_drawing.ISheetDrawingService),
4204
+ __decorateParam(4, _univerjs_drawing.IDrawingManagerService)
4205
+ ], SheetDrawingActiveRenderController);
4206
+
4126
4207
  //#endregion
4127
4208
  //#region src/controllers/sheet-drawing-copy-paste.controller.ts
4128
4209
  const IMAGE_PNG_MIME_TYPE = "image/png";
@@ -4558,7 +4639,7 @@ let SheetDrawingPermissionController = class SheetDrawingPermissionController ex
4558
4639
  const subUnitId = sheet.getSheetId();
4559
4640
  const drawingData = this._sheetDrawingService.getDrawingData(unitId, subUnitId);
4560
4641
  const drawingDataValues = Object.values(drawingData);
4561
- const renderObject = this._renderManagerService.getRenderById(unitId);
4642
+ const renderObject = this._renderManagerService.getRenderUnitById(unitId);
4562
4643
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
4563
4644
  if (!scene) return;
4564
4645
  scene.getAllObjectsByOrder().forEach((object) => {
@@ -4592,7 +4673,7 @@ let SheetDrawingPermissionController = class SheetDrawingPermissionController ex
4592
4673
  const subUnitId = sheet.getSheetId();
4593
4674
  const drawingData = this._sheetDrawingService.getDrawingData(unitId, subUnitId);
4594
4675
  const drawingDataValues = Object.values(drawingData);
4595
- const renderObject = this._renderManagerService.getRenderById(unitId);
4676
+ const renderObject = this._renderManagerService.getRenderUnitById(unitId);
4596
4677
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
4597
4678
  if (!scene) return;
4598
4679
  scene.getAllObjectsByOrder().forEach((object) => {
@@ -4608,7 +4689,7 @@ let SheetDrawingPermissionController = class SheetDrawingPermissionController ex
4608
4689
  if (!sheet) return rxjs.EMPTY;
4609
4690
  const unitId = workbook.getUnitId();
4610
4691
  const subUnitId = sheet.getSheetId();
4611
- const renderObject = this._renderManagerService.getRenderById(unitId);
4692
+ const renderObject = this._renderManagerService.getRenderUnitById(unitId);
4612
4693
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
4613
4694
  if (!scene) return rxjs.EMPTY;
4614
4695
  const transformer = scene.getTransformerByCreate();
@@ -4656,7 +4737,7 @@ let SheetDrawingPermissionController = class SheetDrawingPermissionController ex
4656
4737
  if (!sheet) return rxjs.EMPTY;
4657
4738
  const unitId = workbook.getUnitId();
4658
4739
  const subUnitId = sheet.getSheetId();
4659
- const renderObject = this._renderManagerService.getRenderById(unitId);
4740
+ const renderObject = this._renderManagerService.getRenderUnitById(unitId);
4660
4741
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
4661
4742
  if (!scene) return rxjs.EMPTY;
4662
4743
  const transformer = scene.getTransformerByCreate();
@@ -4693,7 +4774,7 @@ let SheetDrawingPermissionController = class SheetDrawingPermissionController ex
4693
4774
  const sheet = workbook.getActiveSheet();
4694
4775
  if (!sheet) return;
4695
4776
  const subUnitId = sheet.getSheetId();
4696
- const renderObject = this._renderManagerService.getRenderById(unitId);
4777
+ const renderObject = this._renderManagerService.getRenderUnitById(unitId);
4697
4778
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
4698
4779
  if (!scene) return;
4699
4780
  const drawingData = this._sheetDrawingService.getDrawingData(unitId, subUnitId);
@@ -4830,7 +4911,7 @@ let SheetDrawingPrintingController = class SheetDrawingPrintingController extend
4830
4911
  } }));
4831
4912
  this.disposeWithMe(this._sheetPrintInterceptorService.interceptor.intercept(this._sheetPrintInterceptorService.interceptor.getInterceptPoints().PRINTING_RANGE, { handler: (range, pos, next) => {
4832
4913
  const { unitId, subUnitId } = pos;
4833
- const renderer = this._renderManagerService.getRenderById(unitId);
4914
+ const renderer = this._renderManagerService.getRenderUnitById(unitId);
4834
4915
  if (!renderer) return next(range);
4835
4916
  const skeleton = renderer.with(_univerjs_sheets_ui.SheetSkeletonManagerService).getSkeletonParam(subUnitId);
4836
4917
  if (!skeleton) return next(range);
@@ -4914,1469 +4995,6 @@ SheetDrawingPrintingController = __decorate([
4914
4995
  __decorateParam(5, (0, _univerjs_core.Inject)(_univerjs_core.Injector))
4915
4996
  ], SheetDrawingPrintingController);
4916
4997
 
4917
- //#endregion
4918
- //#region src/controllers/sheet-drawing-transform-affected.controller.ts
4919
- const UPDATE_COMMANDS = [
4920
- _univerjs_sheets.InsertRowCommand.id,
4921
- _univerjs_sheets.InsertColCommand.id,
4922
- _univerjs_sheets.RemoveRowCommand.id,
4923
- _univerjs_sheets.RemoveColCommand.id,
4924
- _univerjs_sheets.DeleteRangeMoveLeftCommand.id,
4925
- _univerjs_sheets.DeleteRangeMoveUpCommand.id,
4926
- _univerjs_sheets.InsertRangeMoveDownCommand.id,
4927
- _univerjs_sheets.InsertRangeMoveRightCommand.id,
4928
- _univerjs_sheets.DeltaRowHeightCommand.id,
4929
- _univerjs_sheets.SetRowHeightCommand.id,
4930
- _univerjs_sheets.DeltaColumnWidthCommand.id,
4931
- _univerjs_sheets.SetColWidthCommand.id,
4932
- _univerjs_sheets.SetRowHiddenCommand.id,
4933
- _univerjs_sheets.SetSpecificRowsVisibleCommand.id,
4934
- _univerjs_sheets.SetSpecificColsVisibleCommand.id,
4935
- _univerjs_sheets.SetColHiddenCommand.id,
4936
- _univerjs_sheets.MoveColsCommand.id,
4937
- _univerjs_sheets.MoveRowsCommand.id,
4938
- _univerjs_sheets.MoveRangeCommand.id
4939
- ];
4940
- const REFRESH_MUTATIONS = [
4941
- _univerjs_sheets.SetRowVisibleMutation.id,
4942
- _univerjs_sheets.SetRowHiddenMutation.id,
4943
- _univerjs_sheets.SetColVisibleMutation.id,
4944
- _univerjs_sheets.SetColHiddenMutation.id,
4945
- _univerjs_sheets.SetWorksheetRowHeightMutation.id,
4946
- _univerjs_sheets.SetWorksheetRowAutoHeightMutation.id,
4947
- _univerjs_sheets.SetWorksheetRowIsAutoHeightMutation.id,
4948
- _univerjs_sheets.SetWorksheetColWidthMutation.id
4949
- ];
4950
- let SheetDrawingTransformAffectedController = class SheetDrawingTransformAffectedController extends _univerjs_core.Disposable {
4951
- constructor(_context, _commandService, _sheetSkeletonService, _selectionRenderService, _sheetInterceptorService, _selectionManagerService, _sheetDrawingService, _drawingManagerService, _univerInstanceService) {
4952
- super();
4953
- this._context = _context;
4954
- this._commandService = _commandService;
4955
- this._sheetSkeletonService = _sheetSkeletonService;
4956
- this._selectionRenderService = _selectionRenderService;
4957
- this._sheetInterceptorService = _sheetInterceptorService;
4958
- this._selectionManagerService = _selectionManagerService;
4959
- this._sheetDrawingService = _sheetDrawingService;
4960
- this._drawingManagerService = _drawingManagerService;
4961
- this._univerInstanceService = _univerInstanceService;
4962
- this._sheetInterceptorListener();
4963
- this._commandListener();
4964
- this._sheetRefreshListener();
4965
- }
4966
- _sheetInterceptorListener() {
4967
- this.disposeWithMe(this._sheetInterceptorService.interceptAfterCommand({ getMutations: (commandInfo) => {
4968
- const { id, params } = commandInfo;
4969
- if (!UPDATE_COMMANDS.includes(id) || !params) return {
4970
- redos: [],
4971
- undos: []
4972
- };
4973
- if (id === _univerjs_sheets.InsertRowCommand.id) return this._moveRowInterceptor(params, "insert");
4974
- else if ([
4975
- _univerjs_sheets.MoveColsCommand.id,
4976
- _univerjs_sheets.MoveRowsCommand.id,
4977
- _univerjs_sheets.MoveRangeCommand.id
4978
- ].includes(id)) {
4979
- let target;
4980
- if (id === _univerjs_sheets.MoveRangeCommand.id) {
4981
- const _params = params;
4982
- if (_params.toUnitId && _params.fromUnitId && _params.toUnitId !== _params.fromUnitId || _params.toSubUnitId && _params.fromSubUnitId && _params.toSubUnitId !== _params.fromSubUnitId) return {
4983
- redos: [],
4984
- undos: []
4985
- };
4986
- target = (0, _univerjs_sheets.getSheetCommandTarget)(this._univerInstanceService, {
4987
- unitId: _params.toUnitId,
4988
- subUnitId: _params.toSubUnitId
4989
- });
4990
- } else target = (0, _univerjs_sheets.getSheetCommandTarget)(this._univerInstanceService, params);
4991
- if (!target) return {
4992
- redos: [],
4993
- undos: []
4994
- };
4995
- const { unitId, subUnitId } = target;
4996
- const { fromRange, toRange } = params;
4997
- return this._moveRangeInterceptor(unitId, subUnitId, fromRange, toRange);
4998
- } else if (id === _univerjs_sheets.InsertColCommand.id) return this._moveColInterceptor(params, "insert");
4999
- else if (id === _univerjs_sheets.RemoveRowCommand.id) return this._moveRowInterceptor(params, "remove");
5000
- else if (id === _univerjs_sheets.RemoveColCommand.id) return this._moveColInterceptor(params, "remove");
5001
- else if (id === _univerjs_sheets.DeleteRangeMoveLeftCommand.id) {
5002
- const { range } = params;
5003
- return this._getRangeMoveUndo(range, 0);
5004
- } else if (id === _univerjs_sheets.DeleteRangeMoveUpCommand.id) {
5005
- const { range } = params;
5006
- return this._getRangeMoveUndo(range, 1);
5007
- } else if (id === _univerjs_sheets.InsertRangeMoveDownCommand.id) {
5008
- const { range } = params;
5009
- return this._getRangeMoveUndo(range, 2);
5010
- } else if (id === _univerjs_sheets.InsertRangeMoveRightCommand.id) {
5011
- const { range } = params;
5012
- return this._getRangeMoveUndo(range, 3);
5013
- } else if (id === _univerjs_sheets.SetRowHiddenCommand.id || id === _univerjs_sheets.SetSpecificRowsVisibleCommand.id) {
5014
- var _this$_selectionManag;
5015
- const _params = params;
5016
- const target = (0, _univerjs_sheets.getSheetCommandTarget)(this._univerInstanceService, _params);
5017
- if (!target) return {
5018
- redos: [],
5019
- undos: []
5020
- };
5021
- const { unitId, subUnitId } = target;
5022
- const ranges = _params.ranges || ((_this$_selectionManag = this._selectionManagerService.getCurrentSelections()) === null || _this$_selectionManag === void 0 ? void 0 : _this$_selectionManag.map((s) => s.range).filter((r) => r.rangeType === _univerjs_core.RANGE_TYPE.ROW));
5023
- if (!ranges || ranges.length === 0) return {
5024
- redos: [],
5025
- undos: []
5026
- };
5027
- return this._getDrawingUndoForRowVisible(unitId, subUnitId, ranges);
5028
- } else if (id === _univerjs_sheets.SetColHiddenCommand.id || id === _univerjs_sheets.SetSpecificColsVisibleCommand.id) {
5029
- var _this$_selectionManag2;
5030
- const _params = params;
5031
- const target = (0, _univerjs_sheets.getSheetCommandTarget)(this._univerInstanceService, _params);
5032
- if (!target) return {
5033
- redos: [],
5034
- undos: []
5035
- };
5036
- const { unitId, subUnitId } = target;
5037
- const ranges = _params.ranges || ((_this$_selectionManag2 = this._selectionManagerService.getCurrentSelections()) === null || _this$_selectionManag2 === void 0 ? void 0 : _this$_selectionManag2.map((s) => s.range).filter((r) => r.rangeType === _univerjs_core.RANGE_TYPE.COLUMN));
5038
- if (!ranges || ranges.length === 0) return {
5039
- redos: [],
5040
- undos: []
5041
- };
5042
- return this._getDrawingUndoForColVisible(unitId, subUnitId, ranges);
5043
- } else if (id === _univerjs_sheets.DeltaRowHeightCommand.id || id === _univerjs_sheets.DeltaColumnWidthCommand.id) {
5044
- const target = (0, _univerjs_sheets.getSheetCommandTarget)(this._univerInstanceService);
5045
- if (!target) return {
5046
- redos: [],
5047
- undos: []
5048
- };
5049
- const { unitId, subUnitId, worksheet } = target;
5050
- const ranges = [];
5051
- if (id === _univerjs_sheets.DeltaRowHeightCommand.id) ranges.push({
5052
- startRow: params.anchorRow,
5053
- endRow: params.anchorRow,
5054
- startColumn: 0,
5055
- endColumn: worksheet.getColumnCount() - 1
5056
- });
5057
- else ranges.push({
5058
- startRow: 0,
5059
- endRow: worksheet.getRowCount() - 1,
5060
- startColumn: params.anchorCol,
5061
- endColumn: params.anchorCol
5062
- });
5063
- return this._getDrawingUndoForRowAndColSize(unitId, subUnitId, ranges);
5064
- } else if (id === _univerjs_sheets.SetRowHeightCommand.id || id === _univerjs_sheets.SetColWidthCommand.id) {
5065
- var _this$_selectionManag3;
5066
- const _params = params;
5067
- const target = (0, _univerjs_sheets.getSheetCommandTarget)(this._univerInstanceService, _params);
5068
- if (!target) return {
5069
- redos: [],
5070
- undos: []
5071
- };
5072
- const { unitId, subUnitId } = target;
5073
- const ranges = _params.ranges || ((_this$_selectionManag3 = this._selectionManagerService.getCurrentSelections()) === null || _this$_selectionManag3 === void 0 ? void 0 : _this$_selectionManag3.map((s) => s.range));
5074
- if (!ranges || ranges.length === 0) return {
5075
- redos: [],
5076
- undos: []
5077
- };
5078
- return this._getDrawingUndoForRowAndColSize(unitId, subUnitId, ranges);
5079
- }
5080
- return {
5081
- redos: [],
5082
- undos: []
5083
- };
5084
- } }));
5085
- }
5086
- _getRangeMoveUndo(range, type) {
5087
- const target = (0, _univerjs_sheets.getSheetCommandTarget)(this._univerInstanceService);
5088
- if (!target) return {
5089
- redos: [],
5090
- undos: []
5091
- };
5092
- const { unitId, subUnitId } = target;
5093
- const drawingData = this._sheetDrawingService.getDrawingData(unitId, subUnitId);
5094
- const redos = [];
5095
- const undos = [];
5096
- const updateDrawings = [];
5097
- const deleteDrawings = [];
5098
- Object.keys(drawingData).forEach((drawingId) => {
5099
- const drawing = drawingData[drawingId];
5100
- const { updateDrawings: updateDrawingsPart, deleteDrawings: deleteDrawingsPart } = this._getUpdateOrDeleteDrawings(range, type, drawing);
5101
- updateDrawings.push(...updateDrawingsPart);
5102
- deleteDrawings.push(...deleteDrawingsPart);
5103
- });
5104
- if (updateDrawings.length === 0 && deleteDrawings.length === 0) return {
5105
- redos: [],
5106
- undos: []
5107
- };
5108
- if (updateDrawings.length > 0) {
5109
- const { undo, redo, objects } = this._sheetDrawingService.getBatchUpdateOp(updateDrawings);
5110
- redos.push({
5111
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5112
- params: {
5113
- unitId,
5114
- subUnitId,
5115
- op: redo,
5116
- objects,
5117
- type: _univerjs_sheets_drawing.DrawingApplyType.UPDATE
5118
- }
5119
- });
5120
- undos.push({
5121
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5122
- params: {
5123
- unitId,
5124
- subUnitId,
5125
- op: undo,
5126
- objects,
5127
- type: _univerjs_sheets_drawing.DrawingApplyType.UPDATE
5128
- }
5129
- });
5130
- }
5131
- if (deleteDrawings.length > 0) {
5132
- const deleteJsonOp = this._sheetDrawingService.getBatchRemoveOp(deleteDrawings);
5133
- const deleteUndo = deleteJsonOp.undo;
5134
- const deleteRedo = deleteJsonOp.redo;
5135
- const deleteObjects = deleteJsonOp.objects;
5136
- redos.push({
5137
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5138
- params: {
5139
- unitId,
5140
- subUnitId,
5141
- op: deleteRedo,
5142
- objects: deleteObjects,
5143
- type: _univerjs_sheets_drawing.DrawingApplyType.REMOVE
5144
- }
5145
- });
5146
- undos.push({
5147
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5148
- params: {
5149
- unitId,
5150
- subUnitId,
5151
- op: deleteUndo,
5152
- objects: deleteObjects,
5153
- type: _univerjs_sheets_drawing.DrawingApplyType.INSERT
5154
- }
5155
- });
5156
- }
5157
- redos.push({
5158
- id: _univerjs_sheets_drawing.ClearSheetDrawingTransformerOperation.id,
5159
- params: [unitId]
5160
- });
5161
- undos.push({
5162
- id: _univerjs_sheets_drawing.ClearSheetDrawingTransformerOperation.id,
5163
- params: [unitId]
5164
- });
5165
- return {
5166
- redos,
5167
- undos
5168
- };
5169
- }
5170
- _getUpdateOrDeleteDrawings(range, type, drawing) {
5171
- const updateDrawings = [];
5172
- const deleteDrawings = [];
5173
- const { sheetTransform, anchorType = _univerjs_sheets_drawing.SheetDrawingAnchorType.Position, transform, unitId, subUnitId, drawingId } = drawing;
5174
- const sheetSkeletonParam = this._sheetSkeletonService.getSkeletonParam(unitId, subUnitId);
5175
- if (!sheetTransform || !transform || !sheetSkeletonParam) return {
5176
- updateDrawings,
5177
- deleteDrawings
5178
- };
5179
- const { from, to } = sheetTransform;
5180
- const { row: fromRow, column: fromColumn } = from;
5181
- const { row: toRow, column: toColumn } = to;
5182
- const { startRow, endRow, startColumn, endColumn } = range;
5183
- let newSheetTransform = null;
5184
- let newTransform = null;
5185
- let axisAlignSheetTransform;
5186
- if (type === 0 && fromRow >= startRow && toRow <= endRow) if (fromColumn >= startColumn && toColumn <= endColumn) deleteDrawings.push({
5187
- unitId,
5188
- subUnitId,
5189
- drawingId
5190
- });
5191
- else {
5192
- var _param$axisAlignSheet;
5193
- const param = this._shrinkCol(startColumn, endColumn, {
5194
- sheetSkeletonParam,
5195
- sheetTransform,
5196
- transform,
5197
- anchorType
5198
- });
5199
- newSheetTransform = param === null || param === void 0 ? void 0 : param.newSheetTransform;
5200
- newTransform = param === null || param === void 0 ? void 0 : param.newTransform;
5201
- axisAlignSheetTransform = (_param$axisAlignSheet = param === null || param === void 0 ? void 0 : param.axisAlignSheetTransform) !== null && _param$axisAlignSheet !== void 0 ? _param$axisAlignSheet : void 0;
5202
- }
5203
- else if (type === 1 && fromColumn >= startColumn && toColumn <= endColumn) if (fromRow >= startRow && toRow <= endRow) deleteDrawings.push({
5204
- unitId,
5205
- subUnitId,
5206
- drawingId
5207
- });
5208
- else {
5209
- var _param$axisAlignSheet2;
5210
- const param = this._shrinkRow(startRow, endRow, {
5211
- sheetSkeletonParam,
5212
- sheetTransform,
5213
- transform,
5214
- anchorType
5215
- });
5216
- newSheetTransform = param === null || param === void 0 ? void 0 : param.newSheetTransform;
5217
- newTransform = param === null || param === void 0 ? void 0 : param.newTransform;
5218
- axisAlignSheetTransform = (_param$axisAlignSheet2 = param === null || param === void 0 ? void 0 : param.axisAlignSheetTransform) !== null && _param$axisAlignSheet2 !== void 0 ? _param$axisAlignSheet2 : void 0;
5219
- }
5220
- else if (type === 2) {
5221
- var _param$axisAlignSheet3;
5222
- const param = this._expandRow(startRow, endRow, {
5223
- sheetSkeletonParam,
5224
- sheetTransform,
5225
- transform,
5226
- anchorType
5227
- });
5228
- newSheetTransform = param === null || param === void 0 ? void 0 : param.newSheetTransform;
5229
- newTransform = param === null || param === void 0 ? void 0 : param.newTransform;
5230
- axisAlignSheetTransform = (_param$axisAlignSheet3 = param === null || param === void 0 ? void 0 : param.axisAlignSheetTransform) !== null && _param$axisAlignSheet3 !== void 0 ? _param$axisAlignSheet3 : void 0;
5231
- } else if (type === 3) {
5232
- var _param$axisAlignSheet4;
5233
- const param = this._expandCol(startColumn, endColumn, {
5234
- sheetSkeletonParam,
5235
- sheetTransform,
5236
- transform,
5237
- anchorType
5238
- });
5239
- newSheetTransform = param === null || param === void 0 ? void 0 : param.newSheetTransform;
5240
- newTransform = param === null || param === void 0 ? void 0 : param.newTransform;
5241
- axisAlignSheetTransform = (_param$axisAlignSheet4 = param === null || param === void 0 ? void 0 : param.axisAlignSheetTransform) !== null && _param$axisAlignSheet4 !== void 0 ? _param$axisAlignSheet4 : void 0;
5242
- }
5243
- if (newSheetTransform && newTransform) {
5244
- const newTransform = (0, _univerjs_sheets_drawing.drawingPositionToTransform)(newSheetTransform, sheetSkeletonParam);
5245
- updateDrawings.push({
5246
- ...drawing,
5247
- sheetTransform: newSheetTransform,
5248
- transform: newTransform,
5249
- axisAlignSheetTransform
5250
- });
5251
- }
5252
- return {
5253
- updateDrawings,
5254
- deleteDrawings
5255
- };
5256
- }
5257
- _remainDrawingSize(transform, updateDrawings, drawing, skeleton) {
5258
- const newSheetTransform = (0, _univerjs_sheets_drawing.transformToDrawingPosition)({ ...transform }, skeleton);
5259
- if (newSheetTransform) {
5260
- const axisAlignSheetTransform = (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)({ ...transform }, skeleton);
5261
- updateDrawings.push({
5262
- ...drawing,
5263
- sheetTransform: newSheetTransform,
5264
- axisAlignSheetTransform
5265
- });
5266
- }
5267
- }
5268
- _getDrawingUndoForColVisible(unitId, subUnitId, ranges) {
5269
- const skeleton = this._sheetSkeletonService.getSkeleton(unitId, subUnitId);
5270
- if (!skeleton) return {
5271
- redos: [],
5272
- undos: []
5273
- };
5274
- const drawingData = this._drawingManagerService.getDrawingData(unitId, subUnitId);
5275
- const updateDrawings = [];
5276
- const preUpdateDrawings = [];
5277
- Object.keys(drawingData).forEach((drawingId) => {
5278
- const drawing = drawingData[drawingId];
5279
- const { sheetTransform, transform, anchorType = _univerjs_sheets_drawing.SheetDrawingAnchorType.Position } = drawing;
5280
- if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.None) this._remainDrawingSize(transform, updateDrawings, drawing, skeleton);
5281
- else {
5282
- const { from, to } = sheetTransform;
5283
- const { row: fromRow, column: fromColumn } = from;
5284
- const { row: toRow, column: toColumn } = to;
5285
- for (let i = 0; i < ranges.length; i++) {
5286
- const { startColumn, endColumn } = ranges[i];
5287
- if (toColumn < startColumn) continue;
5288
- if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.Position) {
5289
- let newSheetTransform = null;
5290
- let newTransform = null;
5291
- if (fromColumn >= startColumn && fromColumn <= endColumn) {
5292
- const selectionCell = (0, _univerjs_sheets.attachRangeWithCoord)(skeleton, {
5293
- startColumn: fromColumn,
5294
- endColumn,
5295
- startRow: fromRow,
5296
- endRow: toRow
5297
- });
5298
- newTransform = {
5299
- ...transform,
5300
- left: selectionCell.startX
5301
- };
5302
- }
5303
- if (newTransform) {
5304
- newSheetTransform = (0, _univerjs_sheets_drawing.transformToDrawingPosition)(newTransform, skeleton);
5305
- const axisAlignSheetTransform = (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)(newTransform, skeleton);
5306
- if (newSheetTransform && newTransform) {
5307
- updateDrawings.push({
5308
- ...drawing,
5309
- sheetTransform: newSheetTransform,
5310
- transform: newTransform,
5311
- axisAlignSheetTransform
5312
- });
5313
- break;
5314
- }
5315
- }
5316
- continue;
5317
- }
5318
- if (fromColumn >= startColumn && toColumn <= endColumn) continue;
5319
- let newSheetTransform = null;
5320
- let newTransform = null;
5321
- if (fromColumn >= startColumn && fromColumn <= endColumn) {
5322
- const selectionCell = (0, _univerjs_sheets.attachRangeWithCoord)(skeleton, {
5323
- startColumn: fromColumn,
5324
- endColumn,
5325
- startRow: fromRow,
5326
- endRow: toRow
5327
- });
5328
- newTransform = {
5329
- ...transform,
5330
- left: (selectionCell === null || selectionCell === void 0 ? void 0 : selectionCell.startX) || 0,
5331
- width: ((transform === null || transform === void 0 ? void 0 : transform.width) || 0) - selectionCell.endX + selectionCell.startX
5332
- };
5333
- } else if (toColumn >= startColumn && toColumn <= endColumn) {
5334
- const selectionCell = (0, _univerjs_sheets.attachRangeWithCoord)(skeleton, {
5335
- startColumn,
5336
- endColumn: toColumn,
5337
- startRow: fromRow,
5338
- endRow: toRow
5339
- });
5340
- newTransform = {
5341
- ...transform,
5342
- left: selectionCell.startX - ((transform === null || transform === void 0 ? void 0 : transform.width) || 0)
5343
- };
5344
- } else {
5345
- const selectionCell = (0, _univerjs_sheets.attachRangeWithCoord)(skeleton, {
5346
- startColumn,
5347
- endColumn,
5348
- startRow: fromRow,
5349
- endRow: toRow
5350
- });
5351
- newTransform = {
5352
- ...transform,
5353
- width: ((transform === null || transform === void 0 ? void 0 : transform.width) || 0) - selectionCell.endX + selectionCell.startX
5354
- };
5355
- newSheetTransform = (0, _univerjs_sheets_drawing.transformToDrawingPosition)(newTransform, skeleton);
5356
- if (newSheetTransform && newTransform) {
5357
- const axisAlignSheetTransform = (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)(newTransform, skeleton);
5358
- preUpdateDrawings.push({
5359
- ...drawing,
5360
- sheetTransform: newSheetTransform,
5361
- transform: newTransform,
5362
- axisAlignSheetTransform
5363
- });
5364
- break;
5365
- }
5366
- }
5367
- if (newTransform) newSheetTransform = (0, _univerjs_sheets_drawing.transformToDrawingPosition)(newTransform, skeleton);
5368
- if (newTransform && newSheetTransform) {
5369
- const axisAlignSheetTransform = (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)(newTransform, skeleton);
5370
- updateDrawings.push({
5371
- ...drawing,
5372
- sheetTransform: newSheetTransform,
5373
- transform: newTransform,
5374
- axisAlignSheetTransform
5375
- });
5376
- break;
5377
- } else this._remainDrawingSize(transform, updateDrawings, drawing, skeleton);
5378
- }
5379
- }
5380
- });
5381
- if (updateDrawings.length === 0 && preUpdateDrawings.length === 0) return {
5382
- redos: [],
5383
- undos: []
5384
- };
5385
- const { redos, undos } = this._createUndoAndRedoMutation(unitId, subUnitId, updateDrawings);
5386
- const preRedos = [];
5387
- const preUndos = [];
5388
- if (preUpdateDrawings.length > 0) {
5389
- const { redos, undos } = this._createUndoAndRedoMutation(unitId, subUnitId, preUpdateDrawings);
5390
- preRedos.push(...redos);
5391
- preUndos.push(...undos);
5392
- }
5393
- return {
5394
- redos,
5395
- undos,
5396
- preRedos,
5397
- preUndos
5398
- };
5399
- }
5400
- _createUndoAndRedoMutation(unitId, subUnitId, updateDrawings) {
5401
- const { undo, redo, objects } = this._sheetDrawingService.getBatchUpdateOp(updateDrawings);
5402
- return {
5403
- redos: [{
5404
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5405
- params: {
5406
- unitId,
5407
- subUnitId,
5408
- op: redo,
5409
- objects,
5410
- type: _univerjs_sheets_drawing.DrawingApplyType.UPDATE
5411
- }
5412
- }, {
5413
- id: _univerjs_sheets_drawing.ClearSheetDrawingTransformerOperation.id,
5414
- params: [unitId]
5415
- }],
5416
- undos: [{
5417
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5418
- params: {
5419
- unitId,
5420
- subUnitId,
5421
- op: undo,
5422
- objects,
5423
- type: _univerjs_sheets_drawing.DrawingApplyType.UPDATE
5424
- }
5425
- }, {
5426
- id: _univerjs_sheets_drawing.ClearSheetDrawingTransformerOperation.id,
5427
- params: [unitId]
5428
- }]
5429
- };
5430
- }
5431
- _getDrawingUndoForRowVisible(unitId, subUnitId, ranges) {
5432
- const skeleton = this._sheetSkeletonService.getSkeleton(unitId, subUnitId);
5433
- if (!skeleton) return {
5434
- redos: [],
5435
- undos: []
5436
- };
5437
- const drawingData = this._drawingManagerService.getDrawingData(unitId, subUnitId);
5438
- const updateDrawings = [];
5439
- const preUpdateDrawings = [];
5440
- Object.keys(drawingData).forEach((drawingId) => {
5441
- const drawing = drawingData[drawingId];
5442
- const { sheetTransform, transform, anchorType = _univerjs_sheets_drawing.SheetDrawingAnchorType.Position } = drawing;
5443
- if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.None) this._remainDrawingSize(transform, updateDrawings, drawing, skeleton);
5444
- else {
5445
- const { from, to } = sheetTransform;
5446
- const { row: fromRow, column: fromColumn } = from;
5447
- const { row: toRow, column: toColumn } = to;
5448
- for (let i = 0; i < ranges.length; i++) {
5449
- const { startRow, endRow } = ranges[i];
5450
- if (toRow < startRow) continue;
5451
- if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.Position) {
5452
- let newSheetTransform = null;
5453
- let newTransform = null;
5454
- if (fromRow >= startRow && fromRow <= endRow) {
5455
- const selectionCell = (0, _univerjs_sheets.attachRangeWithCoord)(skeleton, {
5456
- startColumn: fromColumn,
5457
- endColumn: toColumn,
5458
- startRow: fromRow,
5459
- endRow
5460
- });
5461
- newTransform = {
5462
- ...transform,
5463
- top: selectionCell.startY
5464
- };
5465
- }
5466
- if (newTransform) {
5467
- newSheetTransform = (0, _univerjs_sheets_drawing.transformToDrawingPosition)(newTransform, skeleton);
5468
- const axisAlignSheetTransform = (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)(newTransform, skeleton);
5469
- if (newSheetTransform && newTransform) {
5470
- updateDrawings.push({
5471
- ...drawing,
5472
- sheetTransform: newSheetTransform,
5473
- transform: newTransform,
5474
- axisAlignSheetTransform
5475
- });
5476
- break;
5477
- }
5478
- }
5479
- continue;
5480
- }
5481
- if (fromRow >= startRow && toRow <= endRow) continue;
5482
- let newSheetTransform = null;
5483
- let newTransform = null;
5484
- if (fromRow >= startRow && fromRow <= endRow) {
5485
- const selectionCell = (0, _univerjs_sheets.attachRangeWithCoord)(skeleton, {
5486
- startColumn: fromColumn,
5487
- endColumn: toColumn,
5488
- startRow: fromRow,
5489
- endRow
5490
- });
5491
- newTransform = {
5492
- ...transform,
5493
- top: (selectionCell === null || selectionCell === void 0 ? void 0 : selectionCell.startY) || 0,
5494
- height: ((transform === null || transform === void 0 ? void 0 : transform.height) || 0) - selectionCell.endY + selectionCell.startY
5495
- };
5496
- } else if (toRow >= startRow && toRow <= endRow) {
5497
- const selectionCell = (0, _univerjs_sheets.attachRangeWithCoord)(skeleton, {
5498
- startColumn: fromColumn,
5499
- endColumn: toColumn,
5500
- startRow,
5501
- endRow: toRow
5502
- });
5503
- newTransform = {
5504
- ...transform,
5505
- top: selectionCell.startY - ((transform === null || transform === void 0 ? void 0 : transform.height) || 0)
5506
- };
5507
- } else {
5508
- const selectionCell = (0, _univerjs_sheets.attachRangeWithCoord)(skeleton, {
5509
- startColumn: fromColumn,
5510
- endColumn: toColumn,
5511
- startRow,
5512
- endRow
5513
- });
5514
- newTransform = {
5515
- ...transform,
5516
- height: ((transform === null || transform === void 0 ? void 0 : transform.height) || 0) - selectionCell.endY + selectionCell.startY
5517
- };
5518
- newSheetTransform = (0, _univerjs_sheets_drawing.transformToDrawingPosition)(newTransform, skeleton);
5519
- if (newSheetTransform && newTransform) {
5520
- const axisAlignSheetTransform = (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)(newTransform, skeleton);
5521
- preUpdateDrawings.push({
5522
- ...drawing,
5523
- sheetTransform: newSheetTransform,
5524
- transform: newTransform,
5525
- axisAlignSheetTransform
5526
- });
5527
- break;
5528
- }
5529
- }
5530
- if (newTransform) newSheetTransform = (0, _univerjs_sheets_drawing.transformToDrawingPosition)(newTransform, skeleton);
5531
- if (newTransform && newSheetTransform) {
5532
- const axisAlignSheetTransform = (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)(newTransform, skeleton);
5533
- updateDrawings.push({
5534
- ...drawing,
5535
- sheetTransform: newSheetTransform,
5536
- transform: newTransform,
5537
- axisAlignSheetTransform
5538
- });
5539
- break;
5540
- } else this._remainDrawingSize(transform, updateDrawings, drawing, skeleton);
5541
- }
5542
- }
5543
- });
5544
- if (updateDrawings.length === 0 && preUpdateDrawings.length === 0) return {
5545
- redos: [],
5546
- undos: []
5547
- };
5548
- const { redos, undos } = this._createUndoAndRedoMutation(unitId, subUnitId, updateDrawings);
5549
- const preRedos = [];
5550
- const preUndos = [];
5551
- if (preUpdateDrawings.length > 0) {
5552
- const { redos, undos } = this._createUndoAndRedoMutation(unitId, subUnitId, preUpdateDrawings);
5553
- preRedos.push(...redos);
5554
- preUndos.push(...undos);
5555
- }
5556
- return {
5557
- redos,
5558
- undos,
5559
- preRedos,
5560
- preUndos
5561
- };
5562
- }
5563
- _getDrawingUndoForRowAndColSize(unitId, subUnitId, ranges) {
5564
- const sheetSkeletonParam = this._sheetSkeletonService.getSkeletonParam(unitId, subUnitId);
5565
- if (!sheetSkeletonParam) return {
5566
- redos: [],
5567
- undos: []
5568
- };
5569
- const { skeleton } = sheetSkeletonParam;
5570
- const drawingData = this._drawingManagerService.getDrawingData(unitId, subUnitId);
5571
- const updateDrawings = [];
5572
- Object.keys(drawingData).forEach((drawingId) => {
5573
- const drawing = drawingData[drawingId];
5574
- const { sheetTransform, transform, anchorType = _univerjs_sheets_drawing.SheetDrawingAnchorType.Position } = drawing;
5575
- if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.None) this._remainDrawingSize(transform, updateDrawings, drawing, skeleton);
5576
- else {
5577
- const { from, to } = sheetTransform;
5578
- const { row: fromRow, column: fromColumn } = from;
5579
- const { row: toRow, column: toColumn } = to;
5580
- for (let i = 0; i < ranges.length; i++) {
5581
- const { startRow, endRow, startColumn, endColumn } = ranges[i];
5582
- if (toRow < startRow || toColumn < startColumn) continue;
5583
- if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.Position) {
5584
- if (fromRow <= startRow && toRow >= endRow || fromColumn <= startColumn && toColumn >= endColumn) {
5585
- this._remainDrawingSize(transform, updateDrawings, drawing, skeleton);
5586
- continue;
5587
- }
5588
- }
5589
- const newTransform = (0, _univerjs_sheets_drawing.drawingPositionToTransform)({ ...sheetTransform }, sheetSkeletonParam);
5590
- if (newTransform) {
5591
- updateDrawings.push({
5592
- ...drawing,
5593
- transform: newTransform
5594
- });
5595
- break;
5596
- }
5597
- }
5598
- }
5599
- });
5600
- if (updateDrawings.length === 0) return {
5601
- redos: [],
5602
- undos: []
5603
- };
5604
- return this._createUndoAndRedoMutation(unitId, subUnitId, updateDrawings);
5605
- }
5606
- _getUnitIdAndSubUnitId(params, type) {
5607
- let target;
5608
- if (type === "insert") target = (0, _univerjs_sheets.getSheetCommandTarget)(this._univerInstanceService, params);
5609
- else target = (0, _univerjs_sheets.getSheetCommandTarget)(this._univerInstanceService);
5610
- if (!target) return;
5611
- const { unitId, subUnitId } = target;
5612
- return {
5613
- unitId,
5614
- subUnitId
5615
- };
5616
- }
5617
- _moveRangeInterceptor(unitId, subUnitId, fromRange, toRange) {
5618
- const sheetSkeletonParam = this._sheetSkeletonService.getSkeletonParam(unitId, subUnitId);
5619
- if (!sheetSkeletonParam) return {
5620
- redos: [],
5621
- undos: []
5622
- };
5623
- const { skeleton } = sheetSkeletonParam;
5624
- const selectionRect = (0, _univerjs_sheets.attachRangeWithCoord)(skeleton, fromRange);
5625
- if (!selectionRect) return {
5626
- redos: [],
5627
- undos: []
5628
- };
5629
- const { startX, endX, startY, endY } = selectionRect;
5630
- const drawings = this._sheetDrawingService.getDrawingData(unitId, subUnitId);
5631
- const containedDrawings = [];
5632
- Object.keys(drawings).forEach((drawingId) => {
5633
- const drawing = drawings[drawingId];
5634
- if (drawing.anchorType !== _univerjs_sheets_drawing.SheetDrawingAnchorType.Both) return;
5635
- const { transform } = drawing;
5636
- if (!transform) return;
5637
- const { left = 0, top = 0, width = 0, height = 0 } = transform;
5638
- const { drawingStartX, drawingEndX, drawingStartY, drawingEndY } = {
5639
- drawingStartX: left,
5640
- drawingEndX: left + width,
5641
- drawingStartY: top,
5642
- drawingEndY: top + height
5643
- };
5644
- if (startX <= drawingStartX && drawingEndX <= endX && startY <= drawingStartY && drawingEndY <= endY) containedDrawings.push(drawing);
5645
- });
5646
- const redos = [];
5647
- const undos = [];
5648
- const rowOffset = toRange.startRow - fromRange.startRow;
5649
- const colOffset = toRange.startColumn - fromRange.startColumn;
5650
- const updateDrawings = containedDrawings.map((drawing) => {
5651
- const oldSheetTransform = drawing.sheetTransform;
5652
- const sheetTransform = {
5653
- to: {
5654
- ...oldSheetTransform.to,
5655
- row: oldSheetTransform.to.row + rowOffset,
5656
- column: oldSheetTransform.to.column + colOffset
5657
- },
5658
- from: {
5659
- ...oldSheetTransform.from,
5660
- row: oldSheetTransform.from.row + rowOffset,
5661
- column: oldSheetTransform.from.column + colOffset
5662
- }
5663
- };
5664
- const transform = (0, _univerjs_sheets_drawing.drawingPositionToTransform)(sheetTransform, sheetSkeletonParam);
5665
- return {
5666
- unitId,
5667
- subUnitId,
5668
- drawingId: drawing.drawingId,
5669
- transform,
5670
- sheetTransform
5671
- };
5672
- });
5673
- if (updateDrawings.length) {
5674
- const { undo, redo, objects } = this._sheetDrawingService.getBatchUpdateOp(updateDrawings);
5675
- redos.push({
5676
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5677
- params: {
5678
- unitId,
5679
- subUnitId,
5680
- op: redo,
5681
- objects,
5682
- type: _univerjs_sheets_drawing.DrawingApplyType.UPDATE
5683
- }
5684
- });
5685
- undos.push({
5686
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5687
- params: {
5688
- unitId,
5689
- subUnitId,
5690
- op: undo,
5691
- objects,
5692
- type: _univerjs_sheets_drawing.DrawingApplyType.UPDATE
5693
- }
5694
- });
5695
- }
5696
- return {
5697
- redos,
5698
- undos
5699
- };
5700
- }
5701
- _moveRowInterceptor(params, type) {
5702
- const target = this._getUnitIdAndSubUnitId(params, type);
5703
- if (!target) return {
5704
- redos: [],
5705
- undos: []
5706
- };
5707
- const { unitId, subUnitId } = target;
5708
- const sheetSkeletonParam = this._sheetSkeletonService.getSkeletonParam(unitId, subUnitId);
5709
- if (!sheetSkeletonParam) return {
5710
- redos: [],
5711
- undos: []
5712
- };
5713
- const { range } = params;
5714
- const rowStartIndex = range.startRow;
5715
- const rowEndIndex = range.endRow;
5716
- const redos = [];
5717
- const undos = [];
5718
- const data = this._sheetDrawingService.getDrawingData(unitId, subUnitId);
5719
- const updateDrawings = [];
5720
- const deleteDrawings = [];
5721
- Object.keys(data).forEach((drawingId) => {
5722
- const { sheetTransform, transform, anchorType = _univerjs_sheets_drawing.SheetDrawingAnchorType.Position } = data[drawingId];
5723
- if (!sheetTransform || !transform) return;
5724
- let newSheetTransform;
5725
- let newTransform;
5726
- let axisAlignSheetTransform;
5727
- if (type === "insert") {
5728
- var _param$axisAlignSheet5;
5729
- const param = this._expandRow(rowStartIndex, rowEndIndex, {
5730
- sheetSkeletonParam,
5731
- sheetTransform,
5732
- transform,
5733
- anchorType
5734
- });
5735
- newSheetTransform = param === null || param === void 0 ? void 0 : param.newSheetTransform;
5736
- newTransform = param === null || param === void 0 ? void 0 : param.newTransform;
5737
- axisAlignSheetTransform = (_param$axisAlignSheet5 = param === null || param === void 0 ? void 0 : param.axisAlignSheetTransform) !== null && _param$axisAlignSheet5 !== void 0 ? _param$axisAlignSheet5 : void 0;
5738
- } else {
5739
- const { from, to } = sheetTransform;
5740
- const { row: fromRow } = from;
5741
- const { row: toRow } = to;
5742
- if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.Both && fromRow >= rowStartIndex && toRow <= rowEndIndex) deleteDrawings.push({
5743
- unitId,
5744
- subUnitId,
5745
- drawingId
5746
- });
5747
- else {
5748
- var _param$axisAlignSheet6;
5749
- const param = this._shrinkRow(rowStartIndex, rowEndIndex, {
5750
- sheetSkeletonParam,
5751
- sheetTransform,
5752
- transform,
5753
- anchorType
5754
- });
5755
- newSheetTransform = param === null || param === void 0 ? void 0 : param.newSheetTransform;
5756
- newTransform = param === null || param === void 0 ? void 0 : param.newTransform;
5757
- axisAlignSheetTransform = (_param$axisAlignSheet6 = param === null || param === void 0 ? void 0 : param.axisAlignSheetTransform) !== null && _param$axisAlignSheet6 !== void 0 ? _param$axisAlignSheet6 : void 0;
5758
- }
5759
- }
5760
- if (!newSheetTransform || !newTransform) return;
5761
- const params = {
5762
- unitId,
5763
- subUnitId,
5764
- drawingId,
5765
- transform: newTransform,
5766
- sheetTransform: newSheetTransform,
5767
- axisAlignSheetTransform
5768
- };
5769
- updateDrawings.push(params);
5770
- });
5771
- if (updateDrawings.length === 0 && deleteDrawings.length === 0) return {
5772
- redos: [],
5773
- undos: []
5774
- };
5775
- if (updateDrawings.length > 0) {
5776
- const { undo, redo, objects } = this._sheetDrawingService.getBatchUpdateOp(updateDrawings);
5777
- redos.push({
5778
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5779
- params: {
5780
- unitId,
5781
- subUnitId,
5782
- op: redo,
5783
- objects,
5784
- type: _univerjs_sheets_drawing.DrawingApplyType.UPDATE
5785
- }
5786
- });
5787
- undos.push({
5788
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5789
- params: {
5790
- unitId,
5791
- subUnitId,
5792
- op: undo,
5793
- objects,
5794
- type: _univerjs_sheets_drawing.DrawingApplyType.UPDATE
5795
- }
5796
- });
5797
- }
5798
- if (deleteDrawings.length > 0) {
5799
- const deleteJsonOp = this._sheetDrawingService.getBatchRemoveOp(deleteDrawings);
5800
- const deleteUndo = deleteJsonOp.undo;
5801
- const deleteRedo = deleteJsonOp.redo;
5802
- const deleteObjects = deleteJsonOp.objects;
5803
- redos.push({
5804
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5805
- params: {
5806
- unitId,
5807
- subUnitId,
5808
- op: deleteRedo,
5809
- objects: deleteObjects,
5810
- type: _univerjs_sheets_drawing.DrawingApplyType.REMOVE
5811
- }
5812
- });
5813
- undos.push({
5814
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5815
- params: {
5816
- unitId,
5817
- subUnitId,
5818
- op: deleteUndo,
5819
- objects: deleteObjects,
5820
- type: _univerjs_sheets_drawing.DrawingApplyType.INSERT
5821
- }
5822
- });
5823
- }
5824
- redos.push({
5825
- id: _univerjs_sheets_drawing.ClearSheetDrawingTransformerOperation.id,
5826
- params: [unitId]
5827
- });
5828
- undos.push({
5829
- id: _univerjs_sheets_drawing.ClearSheetDrawingTransformerOperation.id,
5830
- params: [unitId]
5831
- });
5832
- return {
5833
- redos,
5834
- undos
5835
- };
5836
- }
5837
- _moveColInterceptor(params, type) {
5838
- const target = this._getUnitIdAndSubUnitId(params, type);
5839
- if (!target) return {
5840
- redos: [],
5841
- undos: []
5842
- };
5843
- const { unitId, subUnitId } = target;
5844
- const sheetSkeletonParam = this._sheetSkeletonService.getSkeletonParam(unitId, subUnitId);
5845
- if (!sheetSkeletonParam) return {
5846
- redos: [],
5847
- undos: []
5848
- };
5849
- const { range } = params;
5850
- const colStartIndex = range.startColumn;
5851
- const colEndIndex = range.endColumn;
5852
- const redos = [];
5853
- const undos = [];
5854
- const data = this._sheetDrawingService.getDrawingData(unitId, subUnitId);
5855
- const updateDrawings = [];
5856
- const deleteDrawings = [];
5857
- Object.keys(data).forEach((drawingId) => {
5858
- const { sheetTransform, transform, anchorType = _univerjs_sheets_drawing.SheetDrawingAnchorType.Position } = data[drawingId];
5859
- if (!sheetTransform || !transform) return;
5860
- let newSheetTransform;
5861
- let newTransform;
5862
- let axisAlignSheetTransform;
5863
- if (type === "insert") {
5864
- var _param$axisAlignSheet7;
5865
- const param = this._expandCol(colStartIndex, colEndIndex, {
5866
- sheetSkeletonParam,
5867
- sheetTransform,
5868
- transform,
5869
- anchorType
5870
- });
5871
- newSheetTransform = param === null || param === void 0 ? void 0 : param.newSheetTransform;
5872
- newTransform = param === null || param === void 0 ? void 0 : param.newTransform;
5873
- axisAlignSheetTransform = (_param$axisAlignSheet7 = param === null || param === void 0 ? void 0 : param.axisAlignSheetTransform) !== null && _param$axisAlignSheet7 !== void 0 ? _param$axisAlignSheet7 : void 0;
5874
- } else {
5875
- const { from, to } = sheetTransform;
5876
- const { column: fromColumn } = from;
5877
- const { column: toColumn } = to;
5878
- if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.Both && fromColumn >= colStartIndex && toColumn <= colEndIndex) deleteDrawings.push({
5879
- unitId,
5880
- subUnitId,
5881
- drawingId
5882
- });
5883
- else {
5884
- var _param$axisAlignSheet8;
5885
- const param = this._shrinkCol(colStartIndex, colEndIndex, {
5886
- sheetSkeletonParam,
5887
- sheetTransform,
5888
- transform,
5889
- anchorType
5890
- });
5891
- newSheetTransform = param === null || param === void 0 ? void 0 : param.newSheetTransform;
5892
- newTransform = param === null || param === void 0 ? void 0 : param.newTransform;
5893
- axisAlignSheetTransform = (_param$axisAlignSheet8 = param === null || param === void 0 ? void 0 : param.axisAlignSheetTransform) !== null && _param$axisAlignSheet8 !== void 0 ? _param$axisAlignSheet8 : void 0;
5894
- }
5895
- }
5896
- if (!newSheetTransform || !newTransform) return;
5897
- const params = {
5898
- unitId,
5899
- subUnitId,
5900
- drawingId,
5901
- transform: newTransform,
5902
- sheetTransform: newSheetTransform,
5903
- axisAlignSheetTransform
5904
- };
5905
- updateDrawings.push(params);
5906
- });
5907
- if (updateDrawings.length === 0 && deleteDrawings.length === 0) return {
5908
- redos: [],
5909
- undos: []
5910
- };
5911
- if (updateDrawings.length > 0) {
5912
- const { undo, redo, objects } = this._sheetDrawingService.getBatchUpdateOp(updateDrawings);
5913
- redos.push({
5914
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5915
- params: {
5916
- unitId,
5917
- subUnitId,
5918
- op: redo,
5919
- objects,
5920
- type: _univerjs_sheets_drawing.DrawingApplyType.UPDATE
5921
- }
5922
- });
5923
- undos.push({
5924
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5925
- params: {
5926
- unitId,
5927
- subUnitId,
5928
- op: undo,
5929
- objects,
5930
- type: _univerjs_sheets_drawing.DrawingApplyType.UPDATE
5931
- }
5932
- });
5933
- }
5934
- if (deleteDrawings.length > 0) {
5935
- const deleteJsonOp = this._sheetDrawingService.getBatchRemoveOp(deleteDrawings);
5936
- const deleteUndo = deleteJsonOp.undo;
5937
- const deleteRedo = deleteJsonOp.redo;
5938
- const deleteObjects = deleteJsonOp.objects;
5939
- redos.push({
5940
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5941
- params: {
5942
- unitId,
5943
- subUnitId,
5944
- op: deleteRedo,
5945
- objects: deleteObjects,
5946
- type: _univerjs_sheets_drawing.DrawingApplyType.REMOVE
5947
- }
5948
- });
5949
- undos.push({
5950
- id: _univerjs_sheets_drawing.SetDrawingApplyMutation.id,
5951
- params: {
5952
- unitId,
5953
- subUnitId,
5954
- op: deleteUndo,
5955
- objects: deleteObjects,
5956
- type: _univerjs_sheets_drawing.DrawingApplyType.INSERT
5957
- }
5958
- });
5959
- }
5960
- redos.push({
5961
- id: _univerjs_sheets_drawing.ClearSheetDrawingTransformerOperation.id,
5962
- params: [unitId]
5963
- });
5964
- undos.push({
5965
- id: _univerjs_sheets_drawing.ClearSheetDrawingTransformerOperation.id,
5966
- params: [unitId]
5967
- });
5968
- return {
5969
- redos,
5970
- undos
5971
- };
5972
- }
5973
- _expandCol(colStartIndex, colEndIndex, options) {
5974
- const { sheetSkeletonParam, sheetTransform, transform, anchorType = _univerjs_sheets_drawing.SheetDrawingAnchorType.Position } = options;
5975
- const { skeleton } = sheetSkeletonParam;
5976
- const colCount = colEndIndex - colStartIndex + 1;
5977
- const { from, to } = sheetTransform;
5978
- const { column: fromColumn } = from;
5979
- const { column: toColumn } = to;
5980
- if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.None) return {
5981
- newSheetTransform: (0, _univerjs_sheets_drawing.transformToDrawingPosition)({ ...transform }, skeleton),
5982
- newTransform: transform,
5983
- axisAlignSheetTransform: (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)({ ...transform }, skeleton)
5984
- };
5985
- let newSheetTransform = null;
5986
- let newTransform = null;
5987
- let axisAlignSheetTransform = null;
5988
- if (fromColumn >= colStartIndex) {
5989
- const selectionCell = (0, _univerjs_sheets.attachRangeWithCoord)(skeleton, {
5990
- startColumn: colStartIndex,
5991
- endColumn: colEndIndex,
5992
- startRow: from.row,
5993
- endRow: to.row
5994
- });
5995
- newTransform = {
5996
- ...transform,
5997
- left: (transform.left || 0) + selectionCell.endX - selectionCell.startX
5998
- };
5999
- newSheetTransform = (0, _univerjs_sheets_drawing.transformToDrawingPosition)(newTransform, skeleton);
6000
- axisAlignSheetTransform = (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)(newTransform, skeleton);
6001
- } else if (toColumn >= colEndIndex) if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.Both) {
6002
- newSheetTransform = {
6003
- from: { ...from },
6004
- to: {
6005
- ...to,
6006
- column: toColumn + colCount
6007
- }
6008
- };
6009
- newTransform = (0, _univerjs_sheets_drawing.drawingPositionToTransform)(newSheetTransform, sheetSkeletonParam);
6010
- } else return {
6011
- newSheetTransform: (0, _univerjs_sheets_drawing.transformToDrawingPosition)({ ...transform }, skeleton),
6012
- newTransform: transform,
6013
- axisAlignSheetTransform: (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)({ ...transform }, skeleton)
6014
- };
6015
- if (newSheetTransform && newTransform) return {
6016
- newSheetTransform,
6017
- newTransform,
6018
- axisAlignSheetTransform
6019
- };
6020
- return null;
6021
- }
6022
- _shrinkCol(colStartIndex, colEndIndex, options) {
6023
- const { sheetSkeletonParam, sheetTransform, transform, anchorType = _univerjs_sheets_drawing.SheetDrawingAnchorType.Position } = options;
6024
- const { skeleton } = sheetSkeletonParam;
6025
- const colCount = colEndIndex - colStartIndex + 1;
6026
- const { from, to } = sheetTransform;
6027
- const { column: fromColumn } = from;
6028
- const { column: toColumn } = to;
6029
- if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.None) return {
6030
- newSheetTransform: (0, _univerjs_sheets_drawing.transformToDrawingPosition)({ ...transform }, skeleton),
6031
- newTransform: transform,
6032
- axisAlignSheetTransform: (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)({ ...transform }, skeleton)
6033
- };
6034
- let newSheetTransform = null;
6035
- let newTransform = null;
6036
- let axisAlignSheetTransform = null;
6037
- if (fromColumn > colEndIndex) {
6038
- newSheetTransform = {
6039
- from: {
6040
- ...from,
6041
- column: fromColumn - colCount
6042
- },
6043
- to: {
6044
- ...to,
6045
- column: toColumn - colCount
6046
- }
6047
- };
6048
- newTransform = (0, _univerjs_sheets_drawing.drawingPositionToTransform)(newSheetTransform, sheetSkeletonParam);
6049
- } else if (fromColumn >= colStartIndex && toColumn <= colEndIndex) return null;
6050
- else if (fromColumn < colStartIndex && toColumn > colEndIndex) if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.Both) {
6051
- newSheetTransform = {
6052
- from: { ...from },
6053
- to: {
6054
- ...to,
6055
- column: toColumn - colCount
6056
- }
6057
- };
6058
- newTransform = (0, _univerjs_sheets_drawing.drawingPositionToTransform)(newSheetTransform, sheetSkeletonParam);
6059
- } else return {
6060
- newSheetTransform: (0, _univerjs_sheets_drawing.transformToDrawingPosition)({ ...transform }, skeleton),
6061
- newTransform: transform,
6062
- axisAlignSheetTransform: (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)({ ...transform }, skeleton)
6063
- };
6064
- else if (fromColumn >= colStartIndex && fromColumn <= colEndIndex) {
6065
- if (fromColumn === colStartIndex) newTransform = {
6066
- ...transform,
6067
- left: (transform.left || 0) - sheetTransform.from.columnOffset
6068
- };
6069
- else {
6070
- const selectionCell = (0, _univerjs_sheets.attachRangeWithCoord)(skeleton, {
6071
- startColumn: colStartIndex,
6072
- endColumn: fromColumn - 1,
6073
- startRow: from.row,
6074
- endRow: to.row
6075
- });
6076
- newTransform = {
6077
- ...transform,
6078
- left: (transform.left || 0) - selectionCell.endX + selectionCell.startX - sheetTransform.from.columnOffset
6079
- };
6080
- }
6081
- newSheetTransform = (0, _univerjs_sheets_drawing.transformToDrawingPosition)(newTransform, skeleton);
6082
- axisAlignSheetTransform = (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)(newTransform, skeleton);
6083
- } else if (toColumn >= colStartIndex && toColumn <= colEndIndex && anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.Both) {
6084
- const selectionCell = (0, _univerjs_sheets.attachRangeWithCoord)(skeleton, {
6085
- startColumn: colStartIndex - 1,
6086
- endColumn: colStartIndex - 1,
6087
- startRow: from.row,
6088
- endRow: to.row
6089
- });
6090
- newSheetTransform = {
6091
- from: { ...from },
6092
- to: {
6093
- ...to,
6094
- column: colStartIndex - 1,
6095
- columnOffset: selectionCell.endX - selectionCell.startX
6096
- }
6097
- };
6098
- newTransform = (0, _univerjs_sheets_drawing.drawingPositionToTransform)(newSheetTransform, sheetSkeletonParam);
6099
- }
6100
- if (newSheetTransform && newTransform) return {
6101
- newSheetTransform,
6102
- newTransform,
6103
- axisAlignSheetTransform
6104
- };
6105
- return null;
6106
- }
6107
- _expandRow(rowStartIndex, rowEndIndex, options) {
6108
- const { sheetSkeletonParam, sheetTransform, transform, anchorType = _univerjs_sheets_drawing.SheetDrawingAnchorType.Position } = options;
6109
- const { skeleton } = sheetSkeletonParam;
6110
- const rowCount = rowEndIndex - rowStartIndex + 1;
6111
- const { from, to } = sheetTransform;
6112
- const { row: fromRow } = from;
6113
- const { row: toRow } = to;
6114
- if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.None) return {
6115
- newSheetTransform: (0, _univerjs_sheets_drawing.transformToDrawingPosition)({ ...transform }, skeleton),
6116
- newTransform: transform,
6117
- axisAlignSheetTransform: (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)({ ...transform }, skeleton)
6118
- };
6119
- let newSheetTransform = null;
6120
- let newTransform = null;
6121
- let axisAlignSheetTransform = null;
6122
- if (fromRow >= rowStartIndex) {
6123
- const selectionCell = (0, _univerjs_sheets.attachRangeWithCoord)(skeleton, {
6124
- startRow: rowStartIndex,
6125
- endRow: rowEndIndex,
6126
- startColumn: from.column,
6127
- endColumn: to.column
6128
- });
6129
- newTransform = {
6130
- ...transform,
6131
- top: (transform.top || 0) + selectionCell.endY - selectionCell.startY
6132
- };
6133
- newSheetTransform = (0, _univerjs_sheets_drawing.transformToDrawingPosition)(newTransform, skeleton);
6134
- axisAlignSheetTransform = (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)(newTransform, skeleton);
6135
- } else if (toRow >= rowEndIndex) if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.Both) {
6136
- newSheetTransform = {
6137
- from: { ...from },
6138
- to: {
6139
- ...to,
6140
- row: toRow + rowCount
6141
- }
6142
- };
6143
- newTransform = (0, _univerjs_sheets_drawing.drawingPositionToTransform)(newSheetTransform, sheetSkeletonParam);
6144
- } else return {
6145
- newSheetTransform: (0, _univerjs_sheets_drawing.transformToDrawingPosition)({ ...transform }, skeleton),
6146
- newTransform: transform,
6147
- axisAlignSheetTransform: (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)({ ...transform }, skeleton)
6148
- };
6149
- if (newSheetTransform && newTransform) return {
6150
- newSheetTransform,
6151
- newTransform,
6152
- axisAlignSheetTransform
6153
- };
6154
- return null;
6155
- }
6156
- _shrinkRow(rowStartIndex, rowEndIndex, options) {
6157
- const { sheetSkeletonParam, sheetTransform, transform, anchorType = _univerjs_sheets_drawing.SheetDrawingAnchorType.Position } = options;
6158
- const { skeleton } = sheetSkeletonParam;
6159
- const rowCount = rowEndIndex - rowStartIndex + 1;
6160
- const { from, to } = sheetTransform;
6161
- const { row: fromRow } = from;
6162
- const { row: toRow } = to;
6163
- if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.None) return {
6164
- newSheetTransform: (0, _univerjs_sheets_drawing.transformToDrawingPosition)({ ...transform }, skeleton),
6165
- newTransform: transform,
6166
- axisAlignSheetTransform: (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)({ ...transform }, skeleton)
6167
- };
6168
- let newSheetTransform = null;
6169
- let newTransform = null;
6170
- let axisAlignSheetTransform = null;
6171
- if (fromRow > rowEndIndex) {
6172
- newSheetTransform = {
6173
- from: {
6174
- ...from,
6175
- row: fromRow - rowCount
6176
- },
6177
- to: {
6178
- ...to,
6179
- row: toRow - rowCount
6180
- }
6181
- };
6182
- newTransform = (0, _univerjs_sheets_drawing.drawingPositionToTransform)(newSheetTransform, sheetSkeletonParam);
6183
- } else if (fromRow >= rowStartIndex && toRow <= rowEndIndex) return null;
6184
- else if (fromRow < rowStartIndex && toRow > rowEndIndex) if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.Both) {
6185
- newSheetTransform = {
6186
- from: { ...from },
6187
- to: {
6188
- ...to,
6189
- row: toRow - rowCount
6190
- }
6191
- };
6192
- newTransform = (0, _univerjs_sheets_drawing.drawingPositionToTransform)(newSheetTransform, sheetSkeletonParam);
6193
- } else return {
6194
- newSheetTransform: (0, _univerjs_sheets_drawing.transformToDrawingPosition)({ ...transform }, skeleton),
6195
- newTransform: transform,
6196
- axisAlignSheetTransform: (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)({ ...transform }, skeleton)
6197
- };
6198
- else if (fromRow >= rowStartIndex && fromRow <= rowEndIndex) {
6199
- if (fromRow === rowStartIndex) newTransform = {
6200
- ...transform,
6201
- top: (transform.top || 0) - sheetTransform.from.rowOffset
6202
- };
6203
- else {
6204
- const selectionCell = (0, _univerjs_sheets.attachRangeWithCoord)(skeleton, {
6205
- startRow: rowStartIndex,
6206
- endRow: fromRow - 1,
6207
- startColumn: from.column,
6208
- endColumn: to.column
6209
- });
6210
- newTransform = {
6211
- ...transform,
6212
- top: (transform.top || 0) - selectionCell.endY + selectionCell.startY - sheetTransform.from.rowOffset
6213
- };
6214
- }
6215
- newSheetTransform = (0, _univerjs_sheets_drawing.transformToDrawingPosition)(newTransform, skeleton);
6216
- axisAlignSheetTransform = (0, _univerjs_sheets_drawing.transformToAxisAlignPosition)(newTransform, skeleton);
6217
- } else if (toRow >= rowStartIndex && toRow <= rowEndIndex && anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.Both) {
6218
- const selectionCell = (0, _univerjs_sheets.attachRangeWithCoord)(skeleton, {
6219
- startColumn: from.column,
6220
- endColumn: from.column,
6221
- startRow: rowStartIndex - 1,
6222
- endRow: rowStartIndex - 1
6223
- });
6224
- newSheetTransform = {
6225
- from: { ...from },
6226
- to: {
6227
- ...to,
6228
- row: rowStartIndex - 1,
6229
- rowOffset: selectionCell.endY - selectionCell.startY
6230
- }
6231
- };
6232
- newTransform = (0, _univerjs_sheets_drawing.drawingPositionToTransform)(newSheetTransform, sheetSkeletonParam);
6233
- }
6234
- if (newSheetTransform && newTransform) return {
6235
- newSheetTransform,
6236
- newTransform,
6237
- axisAlignSheetTransform
6238
- };
6239
- return null;
6240
- }
6241
- _commandListener() {
6242
- this.disposeWithMe(this._commandService.onCommandExecuted((command) => {
6243
- if (command.id === _univerjs_sheets.SetWorksheetActiveOperation.id) {
6244
- const { unitId, subUnitId } = command.params;
6245
- this._updateDrawings(unitId, subUnitId);
6246
- }
6247
- }));
6248
- this.disposeWithMe(this._context.activated$.subscribe((activated) => {
6249
- const { unit, unitId } = this._context;
6250
- if (activated) {
6251
- const subUnitId = unit.getActiveSheet().getSheetId();
6252
- this._updateDrawings(unitId, subUnitId);
6253
- } else this._clearDrawings(unitId);
6254
- }));
6255
- }
6256
- _clearDrawings(selfUnitId) {
6257
- setTimeout(() => {
6258
- const drawingMap = this._drawingManagerService.drawingManagerData;
6259
- const removeDrawings = [];
6260
- Object.keys(drawingMap !== null && drawingMap !== void 0 ? drawingMap : {}).forEach((unitId) => {
6261
- var _drawingMap$unitId;
6262
- const subUnitMap = (_drawingMap$unitId = drawingMap[unitId]) !== null && _drawingMap$unitId !== void 0 ? _drawingMap$unitId : {};
6263
- Object.keys(subUnitMap).forEach((subUnitId) => {
6264
- var _subUnitMap$subUnitId, _subUnitMap$subUnitId2;
6265
- const drawingData = (_subUnitMap$subUnitId = (_subUnitMap$subUnitId2 = subUnitMap[subUnitId]) === null || _subUnitMap$subUnitId2 === void 0 ? void 0 : _subUnitMap$subUnitId2.data) !== null && _subUnitMap$subUnitId !== void 0 ? _subUnitMap$subUnitId : {};
6266
- Object.keys(drawingData).forEach((drawingId) => {
6267
- if (unitId === selfUnitId) removeDrawings.push(drawingData[drawingId]);
6268
- });
6269
- });
6270
- });
6271
- this._sheetDrawingService.removeNotification(removeDrawings);
6272
- this._drawingManagerService.removeNotification(removeDrawings);
6273
- });
6274
- }
6275
- _updateDrawings(showUnitId, showSubunitId) {
6276
- setTimeout(() => {
6277
- const sheetSkeletonParam = this._sheetSkeletonService.getSkeletonParam(showUnitId, showSubunitId);
6278
- const drawingMap = this._drawingManagerService.drawingManagerData;
6279
- const insertDrawings = [];
6280
- const removeDrawings = [];
6281
- Object.keys(drawingMap !== null && drawingMap !== void 0 ? drawingMap : {}).forEach((unitId) => {
6282
- var _drawingMap$unitId2;
6283
- if (unitId !== showUnitId) return;
6284
- const subUnitMap = (_drawingMap$unitId2 = drawingMap[unitId]) !== null && _drawingMap$unitId2 !== void 0 ? _drawingMap$unitId2 : {};
6285
- Object.keys(subUnitMap).forEach((subUnitId) => {
6286
- var _subUnitMap$subUnitId3, _subUnitMap$subUnitId4;
6287
- const drawingData = (_subUnitMap$subUnitId3 = (_subUnitMap$subUnitId4 = subUnitMap[subUnitId]) === null || _subUnitMap$subUnitId4 === void 0 ? void 0 : _subUnitMap$subUnitId4.data) !== null && _subUnitMap$subUnitId3 !== void 0 ? _subUnitMap$subUnitId3 : {};
6288
- Object.keys(drawingData).forEach((drawingId) => {
6289
- if (unitId === showUnitId && subUnitId === showSubunitId) {
6290
- const drawing = drawingData[drawingId];
6291
- if (drawing.sheetTransform) drawing.transform = (0, _univerjs_sheets_drawing.drawingPositionToTransform)(drawing.sheetTransform, sheetSkeletonParam);
6292
- insertDrawings.push(drawingData[drawingId]);
6293
- } else removeDrawings.push(drawingData[drawingId]);
6294
- });
6295
- });
6296
- });
6297
- this._sheetDrawingService.removeNotification(removeDrawings);
6298
- this._sheetDrawingService.addNotification(insertDrawings);
6299
- this._drawingManagerService.removeNotification(removeDrawings);
6300
- this._drawingManagerService.addNotification(insertDrawings);
6301
- }, 0);
6302
- }
6303
- _sheetRefreshListener() {
6304
- this.disposeWithMe(this._commandService.onCommandExecuted((command) => {
6305
- if (!REFRESH_MUTATIONS.includes(command.id)) return;
6306
- requestIdleCallback(() => {
6307
- const params = command.params;
6308
- const target = (0, _univerjs_sheets.getSheetCommandTarget)(this._univerInstanceService, params);
6309
- if (!target) return;
6310
- const { unitId, subUnitId, worksheet } = target;
6311
- let ranges = [];
6312
- if ("ranges" in params) ranges = params.ranges;
6313
- else if ("rowsAutoHeightInfo" in params) ranges = params.rowsAutoHeightInfo.map((info) => ({
6314
- startRow: info.row,
6315
- endRow: info.row,
6316
- startColumn: 0,
6317
- endColumn: worksheet.getColumnCount() - 1
6318
- }));
6319
- this._refreshDrawingTransform(unitId, subUnitId, ranges);
6320
- });
6321
- }));
6322
- }
6323
- _refreshDrawingTransform(unitId, subUnitId, ranges) {
6324
- var _this$_drawingManager;
6325
- const sheetSkeletonParam = this._sheetSkeletonService.getSkeletonParam(unitId, subUnitId);
6326
- const drawingData = (_this$_drawingManager = this._drawingManagerService.getDrawingData(unitId, subUnitId)) !== null && _this$_drawingManager !== void 0 ? _this$_drawingManager : {};
6327
- const updateDrawings = [];
6328
- Object.keys(drawingData).forEach((drawingId) => {
6329
- const drawing = drawingData[drawingId];
6330
- const { sheetTransform, transform, anchorType = _univerjs_sheets_drawing.SheetDrawingAnchorType.Position } = drawing;
6331
- if (anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.None) return true;
6332
- if (!sheetTransform) return true;
6333
- const { from, to } = sheetTransform;
6334
- const { row: fromRow, column: fromColumn } = from;
6335
- const { row: toRow, column: toColumn } = to;
6336
- for (let i = 0; i < ranges.length; i++) {
6337
- const { startRow, endRow, startColumn, endColumn } = ranges[i];
6338
- if (_univerjs_core.Rectangle.intersects({
6339
- startRow,
6340
- endRow,
6341
- startColumn,
6342
- endColumn
6343
- }, {
6344
- startRow: fromRow,
6345
- endRow: toRow,
6346
- startColumn: fromColumn,
6347
- endColumn: toColumn
6348
- }) || fromRow > endRow || fromColumn > endColumn) {
6349
- const isPositionAnchor = anchorType === _univerjs_sheets_drawing.SheetDrawingAnchorType.Position;
6350
- const newTransform = (0, _univerjs_sheets_drawing.drawingPositionToTransform)(sheetTransform, sheetSkeletonParam);
6351
- updateDrawings.push({
6352
- ...drawing,
6353
- transform: {
6354
- ...newTransform,
6355
- width: isPositionAnchor ? transform === null || transform === void 0 ? void 0 : transform.width : newTransform === null || newTransform === void 0 ? void 0 : newTransform.width,
6356
- height: isPositionAnchor ? transform === null || transform === void 0 ? void 0 : transform.height : newTransform === null || newTransform === void 0 ? void 0 : newTransform.height
6357
- }
6358
- });
6359
- break;
6360
- }
6361
- }
6362
- });
6363
- if (updateDrawings.length === 0) return;
6364
- this._sheetDrawingService.refreshTransform(updateDrawings);
6365
- this._drawingManagerService.refreshTransform(updateDrawings);
6366
- this._commandService.syncExecuteCommand(_univerjs_sheets_drawing.ClearSheetDrawingTransformerOperation.id, [unitId]);
6367
- }
6368
- };
6369
- SheetDrawingTransformAffectedController = __decorate([
6370
- __decorateParam(1, _univerjs_core.ICommandService),
6371
- __decorateParam(2, (0, _univerjs_core.Inject)(_univerjs_sheets.SheetSkeletonService)),
6372
- __decorateParam(3, _univerjs_sheets_ui.ISheetSelectionRenderService),
6373
- __decorateParam(4, (0, _univerjs_core.Inject)(_univerjs_sheets.SheetInterceptorService)),
6374
- __decorateParam(5, (0, _univerjs_core.Inject)(_univerjs_sheets.SheetsSelectionsService)),
6375
- __decorateParam(6, _univerjs_sheets_drawing.ISheetDrawingService),
6376
- __decorateParam(7, _univerjs_drawing.IDrawingManagerService),
6377
- __decorateParam(8, _univerjs_core.IUniverInstanceService)
6378
- ], SheetDrawingTransformAffectedController);
6379
-
6380
4998
  //#endregion
6381
4999
  //#region src/commands/commands/flip-drawings.command.ts
6382
5000
  /**
@@ -6497,7 +5115,7 @@ const FlipSheetDrawingCommand = {
6497
5115
  }
6498
5116
  };
6499
5117
  function getSceneByDrawingSearch(accessor, unitId) {
6500
- const render = accessor.get(_univerjs_engine_render.IRenderManagerService).getRenderById(unitId);
5118
+ const render = accessor.get(_univerjs_engine_render.IRenderManagerService).getRenderUnitById(unitId);
6501
5119
  if (!render) return null;
6502
5120
  return render.scene;
6503
5121
  }
@@ -6686,7 +5304,7 @@ let DrawingPopupMenuController = class DrawingPopupMenuController extends _unive
6686
5304
  }
6687
5305
  _popupMenuListener(unitId) {
6688
5306
  var _this$_renderManagerS;
6689
- const scene = (_this$_renderManagerS = this._renderManagerService.getRenderById(unitId)) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.scene;
5307
+ const scene = (_this$_renderManagerS = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.scene;
6690
5308
  if (!scene) return;
6691
5309
  const transformer = scene.getTransformerByCreate();
6692
5310
  if (!transformer) return;
@@ -6850,7 +5468,7 @@ let SheetDrawingHitTestService = class SheetDrawingHitTestService extends _unive
6850
5468
  }
6851
5469
  hitTest(unitId, subUnitId, offsetX, offsetY) {
6852
5470
  var _this$_renderManagerS;
6853
- const scene = (_this$_renderManagerS = this._renderManagerService.getRenderById(unitId)) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.scene;
5471
+ const scene = (_this$_renderManagerS = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.scene;
6854
5472
  if (!scene) return null;
6855
5473
  return this._hitTestScene(scene, unitId, subUnitId, offsetX, offsetY);
6856
5474
  }
@@ -6874,7 +5492,7 @@ let SheetDrawingHitTestService = class SheetDrawingHitTestService extends _unive
6874
5492
  this._disposeDoubleClickListener();
6875
5493
  return;
6876
5494
  }
6877
- const render = this._renderManagerService.getRenderById(context.unitId);
5495
+ const render = this._renderManagerService.getRenderUnitById(context.unitId);
6878
5496
  const scene = render === null || render === void 0 ? void 0 : render.scene;
6879
5497
  if (!render || !scene) {
6880
5498
  this._disposeDoubleClickListener();
@@ -6992,7 +5610,7 @@ let UniverSheetsDrawingUIPlugin = class UniverSheetsDrawingUIPlugin extends _uni
6992
5610
  _registerRenderModules() {
6993
5611
  [
6994
5612
  [SheetDrawingUpdateController],
6995
- [SheetDrawingTransformAffectedController],
5613
+ [SheetDrawingActiveRenderController],
6996
5614
  [SheetsDrawingRenderController],
6997
5615
  [SheetCellImageHoverRenderController]
6998
5616
  ].forEach((m) => {
@@ -7005,7 +5623,7 @@ _defineProperty(UniverSheetsDrawingUIPlugin, "pluginName", "SHEET_IMAGE_UI_PLUGI
7005
5623
  _defineProperty(UniverSheetsDrawingUIPlugin, "packageName", name);
7006
5624
  _defineProperty(UniverSheetsDrawingUIPlugin, "version", version);
7007
5625
  UniverSheetsDrawingUIPlugin = __decorate([
7008
- (0, _univerjs_core.DependentOn)(_univerjs_drawing.UniverDrawingPlugin, _univerjs_docs_drawing.UniverDocsDrawingPlugin, _univerjs_drawing_ui.UniverDrawingUIPlugin, _univerjs_sheets_drawing.UniverSheetsDrawingPlugin),
5626
+ (0, _univerjs_core.DependentOn)(_univerjs_drawing.UniverDrawingPlugin, _univerjs_engine_render.UniverRenderEnginePlugin, _univerjs_docs_drawing.UniverDocsDrawingPlugin, _univerjs_sheets.UniverSheetsPlugin, _univerjs_ui.UniverUIPlugin, _univerjs_sheets_drawing.UniverSheetsDrawingPlugin, _univerjs_drawing_ui.UniverDrawingUIPlugin, _univerjs_sheets_ui.UniverSheetsUIPlugin),
7009
5627
  __decorateParam(1, (0, _univerjs_core.Inject)(_univerjs_core.Injector)),
7010
5628
  __decorateParam(2, _univerjs_engine_render.IRenderManagerService),
7011
5629
  __decorateParam(3, _univerjs_core.IConfigService)