@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 +131 -1513
- package/lib/cjs/locale/vi-VN.js +5 -5
- package/lib/es/index.js +136 -1518
- package/lib/es/locale/vi-VN.js +5 -5
- package/lib/index.js +136 -1518
- package/lib/locale/vi-VN.js +5 -5
- package/lib/types/controllers/sheet-drawing-active-render.controller.d.ts +32 -0
- package/lib/types/services/batch-save-images.service.d.ts +1 -11
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +2 -2
- package/lib/umd/locale/vi-VN.js +1 -1
- package/package.json +15 -15
- package/lib/types/controllers/sheet-drawing-transform-affected.controller.d.ts +0 -55
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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).
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
2766
|
+
const currentRender = this._renderManagerService.getRenderUnitById(unitId);
|
|
2774
2767
|
if (!currentRender) return;
|
|
2775
|
-
const skeletonParam = (_this$_renderManagerS5 = this._renderManagerService.
|
|
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.
|
|
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
|
|
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
|
-
})
|
|
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.
|
|
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.
|
|
2984
|
+
const currentRender = this._renderManagerService.getRenderUnitById(unitId);
|
|
2991
2985
|
if (!currentRender) return;
|
|
2992
|
-
const skeletonParam = (_this$_renderManagerS8 = this._renderManagerService.
|
|
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.
|
|
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
|
|
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
|
-
})
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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).
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
[
|
|
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,
|
|
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)
|