@univerjs/sheets-drawing-ui 1.0.0-alpha.7 → 1.0.0-beta.0
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/facade.js +6 -10
- package/lib/cjs/index.js +195 -201
- package/lib/cjs/locale/vi-VN.js +5 -5
- package/lib/es/facade.js +6 -10
- package/lib/es/index.js +199 -205
- package/lib/es/locale/vi-VN.js +5 -5
- package/lib/facade.js +6 -10
- package/lib/index.js +199 -205
- package/lib/locale/vi-VN.js +5 -5
- package/lib/types/services/batch-save-images.service.d.ts +1 -11
- package/lib/types/services/canvas-float-dom-manager.service.d.ts +1 -0
- 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/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { BooleanNumber, BuildTextUtils, CommandType, DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY, DOCS_NORMAL_EDITOR_UNIT_ID_KEY, DependentOn, Direction, Disposable, DisposableCollection, DrawingTypeEnum, FOCUSING_COMMON_DRAWINGS, FOCUSING_FX_BAR_EDITOR, FOCUSING_PANEL_EDITOR, FOCUSING_SHAPE_TEXT_EDITOR, FOCUSING_SHEET, ICommandService, IConfigService, IContextService, IImageIoService, IPermissionService, IURLImageService, IUndoRedoService, IUniverInstanceService, ImageSourceType, ImageUploadStatusType, Inject, Injector, InterceptorEffectEnum, LifecycleService, LifecycleStages, LocaleService, ObjectMatrix, Optional, Plugin, PositionedObjectLayoutType, RxDisposable, Tools, UniverInstanceType, UserManagerService, WrapTextType, createDocumentModelWithStyle, createIdentifier, fromEventSubject, generateRandomId, merge, registerDependencies, sequenceExecute, toDisposable, touchDependencies } from "@univerjs/core";
|
|
2
|
-
import { ClearSheetDrawingTransformerOperation, DrawingApplyType, ISheetDrawingService, InsertSheetDrawingCommand, RemoveSheetDrawingCommand, SetDrawingApplyMutation, SetDrawingArrangeCommand, SetSheetDrawingCommand, SheetDrawingAnchorType, UniverSheetsDrawingPlugin, drawingPositionToTransform, transformToAxisAlignPosition, transformToDrawingPosition } from "@univerjs/sheets-drawing";
|
|
3
|
-
import { CURSOR_TYPE, DRAWING_OBJECT_LAYER_INDEX, IRenderManagerService, Image, ObjectType, Rect, SHEET_VIEWPORT_KEY, Vector2, getCurrentTypeOfRenderer, getGroupState, transformObjectOutOfGroup } from "@univerjs/engine-render";
|
|
2
|
+
import { ClearSheetDrawingTransformerOperation, DrawingApplyType, ISheetDrawingService, InsertSheetDrawingCommand, RemoveSheetDrawingCommand, SetDrawingApplyMutation, SetDrawingArrangeCommand, SetSheetDrawingCommand, SetSheetDrawingPlacementCommand, SheetDrawingAnchorType, UniverSheetsDrawingPlugin, drawingPositionToTransform, getSheetDrawingPlacement, transformToAxisAlignPosition, transformToDrawingPosition } from "@univerjs/sheets-drawing";
|
|
3
|
+
import { CURSOR_TYPE, DRAWING_OBJECT_LAYER_INDEX, IRenderManagerService, Image, ObjectType, Rect, SHEET_VIEWPORT_KEY, UniverRenderEnginePlugin, Vector2, getCurrentTypeOfRenderer, getGroupState, transformObjectOutOfGroup } from "@univerjs/engine-render";
|
|
4
4
|
import { Button, Checkbox, CheckboxGroup, FormLayout, MessageType, Radio, RadioGroup, Select, clsx, render, unmount } from "@univerjs/design";
|
|
5
5
|
import { buildDocTransform, docDrawingPositionToTransform } from "@univerjs/docs";
|
|
6
6
|
import { DRAWING_IMAGE_ALLOW_IMAGE_LIST, DRAWING_IMAGE_COUNT_LIMIT, DRAWING_IMAGE_HEIGHT_LIMIT, DRAWING_IMAGE_WIDTH_LIMIT, IDrawingManagerService, SetDrawingSelectedOperation, UniverDrawingPlugin, getDrawingImageAllowSize, getDrawingShapeKeyByDrawingSearch, getImageSize } from "@univerjs/drawing";
|
|
7
|
-
import { COMMAND_LISTENER_SKELETON_CHANGE, IAutoFillService, INTERCEPTOR_POINT, InterceptCellContentPriority, RangeProtectionPermissionEditPoint, SetFrozenMutation, SetRangeValuesCommand, SetSelectionsOperation, SetWorksheetActiveOperation, SetWorksheetRowAutoHeightMutation, SheetInterceptorService, SheetPermissionCheckController, SheetSkeletonService, SheetsSelectionsService, WorkbookEditablePermission, WorkbookViewPermission, WorksheetEditPermission, WorksheetViewPermission, attachRangeWithCoord, discreteRangeToRange, getSheetCommandTarget } from "@univerjs/sheets";
|
|
8
|
-
import { COPY_TYPE, EditingRenderController, HoverManagerService, IEditorBridgeService, ISheetClipboardService, ISheetSelectionRenderService, PREDEFINED_HOOK_NAME_PASTE, SetCellEditVisibleOperation, SetScrollOperation, SetZoomRatioOperation, SheetCanvasPopManagerService, SheetPrintInterceptorService, SheetSkeletonManagerService, getCurrentRangeDisable$, useHighlightRange, virtualizeDiscreteRanges } from "@univerjs/sheets-ui";
|
|
7
|
+
import { COMMAND_LISTENER_SKELETON_CHANGE, IAutoFillService, INTERCEPTOR_POINT, InterceptCellContentPriority, RangeProtectionPermissionEditPoint, SetFrozenMutation, SetRangeValuesCommand, SetSelectionsOperation, SetWorksheetActiveOperation, SetWorksheetRowAutoHeightMutation, SheetInterceptorService, SheetPermissionCheckController, SheetSkeletonService, SheetsSelectionsService, UniverSheetsPlugin, WorkbookEditablePermission, WorkbookViewPermission, WorksheetEditPermission, WorksheetViewPermission, attachRangeWithCoord, discreteRangeToRange, getSheetCommandTarget, isCellImage } from "@univerjs/sheets";
|
|
8
|
+
import { COPY_TYPE, EditingRenderController, HoverManagerService, IEditorBridgeService, ISheetClipboardService, ISheetSelectionRenderService, PREDEFINED_HOOK_NAME_PASTE, SetCellEditVisibleOperation, SetScrollOperation, SetZoomRatioOperation, SheetCanvasPopManagerService, SheetPrintInterceptorService, SheetSkeletonManagerService, UniverSheetsUIPlugin, getCurrentRangeDisable$, useHighlightRange, virtualizeDiscreteRanges } from "@univerjs/sheets-ui";
|
|
9
9
|
import { CanvasFloatDomPreviewService, CanvasFloatDomService, ComponentManager, ContextMenuGroup, ContextMenuPosition, IClipboardInterfaceService, IContextMenuService, IDialogService, ILocalFileService, IMenuManagerService, IMessageService, IShortcutService, ISidebarService, KeyCode, MenuItemType, PrintFloatDomSingle, RibbonInsertGroup, connectInjector, getMenuHiddenObservable, useDependency, useObservable } from "@univerjs/ui";
|
|
10
10
|
import { COMPONENT_IMAGE_POPUP_MENU, DrawingCommonPanel, DrawingRenderService, ImageCropperObject, ImageResetSizeOperation, OpenImageCropOperation, UniverDrawingUIPlugin, disposeDrawingRenderObject, insertGroupObject } from "@univerjs/drawing-ui";
|
|
11
11
|
import { BehaviorSubject, EMPTY, Subject, combineLatest, distinctUntilChanged, filter, map, of, switchMap, take, tap, throttleTime } from "rxjs";
|
|
@@ -124,28 +124,23 @@ function cloneGroupParams(groupParams) {
|
|
|
124
124
|
groupParams.groups.forEach((p) => idMap.set(p.drawingId, generateRandomId(10)));
|
|
125
125
|
const clonedNestedIdRecord = {};
|
|
126
126
|
for (const [oldGroupId, entry] of Object.entries(groupParams.nestedIdRecord)) {
|
|
127
|
-
var
|
|
128
|
-
const newGroupId =
|
|
127
|
+
var _entry$children;
|
|
128
|
+
const newGroupId = idMap.get(oldGroupId) ?? oldGroupId;
|
|
129
129
|
clonedNestedIdRecord[newGroupId] = {
|
|
130
130
|
drawingId: newGroupId,
|
|
131
|
-
children: (_entry$children = entry.children) === null || _entry$children === void 0 ? void 0 : _entry$children.map((id) =>
|
|
132
|
-
var _idMap$get2;
|
|
133
|
-
return (_idMap$get2 = idMap.get(id)) !== null && _idMap$get2 !== void 0 ? _idMap$get2 : id;
|
|
134
|
-
})
|
|
131
|
+
children: (_entry$children = entry.children) === null || _entry$children === void 0 ? void 0 : _entry$children.map((id) => idMap.get(id) ?? id)
|
|
135
132
|
};
|
|
136
133
|
}
|
|
137
134
|
const flatChildren = [];
|
|
138
135
|
const groups = [];
|
|
139
136
|
for (const group of groupParams.groups) {
|
|
140
|
-
|
|
141
|
-
const
|
|
142
|
-
const parentGroupId = group.groupId ? (_idMap$get4 = idMap.get(group.groupId)) !== null && _idMap$get4 !== void 0 ? _idMap$get4 : group.groupId : void 0;
|
|
137
|
+
const groupDrawingId = idMap.get(group.drawingId) ?? group.drawingId;
|
|
138
|
+
const parentGroupId = group.groupId ? idMap.get(group.groupId) ?? group.groupId : void 0;
|
|
143
139
|
groups.push(cloneDrawingParam(group, groupDrawingId, parentGroupId));
|
|
144
140
|
}
|
|
145
141
|
for (const child of groupParams.flatChildren || []) {
|
|
146
|
-
|
|
147
|
-
const
|
|
148
|
-
const parentGroupId = child.groupId ? (_idMap$get6 = idMap.get(child.groupId)) !== null && _idMap$get6 !== void 0 ? _idMap$get6 : child.groupId : void 0;
|
|
142
|
+
const childDrawingId = idMap.get(child.drawingId) ?? child.drawingId;
|
|
143
|
+
const parentGroupId = child.groupId ? idMap.get(child.groupId) ?? child.groupId : void 0;
|
|
149
144
|
flatChildren.push(cloneDrawingParam(child, childDrawingId, parentGroupId));
|
|
150
145
|
}
|
|
151
146
|
return {
|
|
@@ -292,7 +287,7 @@ const UngroupSheetDrawingCommand = {
|
|
|
292
287
|
};
|
|
293
288
|
|
|
294
289
|
//#endregion
|
|
295
|
-
//#region \0@oxc-project+runtime@0.
|
|
290
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
|
|
296
291
|
function _typeof(o) {
|
|
297
292
|
"@babel/helpers - typeof";
|
|
298
293
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -303,7 +298,7 @@ function _typeof(o) {
|
|
|
303
298
|
}
|
|
304
299
|
|
|
305
300
|
//#endregion
|
|
306
|
-
//#region \0@oxc-project+runtime@0.
|
|
301
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
|
|
307
302
|
function toPrimitive(t, r) {
|
|
308
303
|
if ("object" != _typeof(t) || !t) return t;
|
|
309
304
|
var e = t[Symbol.toPrimitive];
|
|
@@ -316,14 +311,14 @@ function toPrimitive(t, r) {
|
|
|
316
311
|
}
|
|
317
312
|
|
|
318
313
|
//#endregion
|
|
319
|
-
//#region \0@oxc-project+runtime@0.
|
|
314
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
|
|
320
315
|
function toPropertyKey(t) {
|
|
321
316
|
var i = toPrimitive(t, "string");
|
|
322
317
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
323
318
|
}
|
|
324
319
|
|
|
325
320
|
//#endregion
|
|
326
|
-
//#region \0@oxc-project+runtime@0.
|
|
321
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
|
|
327
322
|
function _defineProperty(e, r, t) {
|
|
328
323
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
329
324
|
value: t,
|
|
@@ -334,7 +329,7 @@ function _defineProperty(e, r, t) {
|
|
|
334
329
|
}
|
|
335
330
|
|
|
336
331
|
//#endregion
|
|
337
|
-
//#region \0@oxc-project+runtime@0.
|
|
332
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
|
|
338
333
|
function __decorateParam(paramIndex, decorator) {
|
|
339
334
|
return function(target, key) {
|
|
340
335
|
decorator(target, key, paramIndex);
|
|
@@ -342,7 +337,7 @@ function __decorateParam(paramIndex, decorator) {
|
|
|
342
337
|
}
|
|
343
338
|
|
|
344
339
|
//#endregion
|
|
345
|
-
//#region \0@oxc-project+runtime@0.
|
|
340
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
|
|
346
341
|
function __decorate(decorators, target, key, desc) {
|
|
347
342
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
348
343
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -378,11 +373,11 @@ function rotatedBoundingBox(width, height, angleDegrees) {
|
|
|
378
373
|
function getDrawingSizeByCell(accessor, location, originImageWidth, originImageHeight, angle) {
|
|
379
374
|
var _skeletonManagerServi;
|
|
380
375
|
const { rotatedHeight, rotatedWidth } = rotatedBoundingBox(originImageWidth, originImageHeight, angle);
|
|
381
|
-
const currentRender = accessor.get(IRenderManagerService).
|
|
376
|
+
const currentRender = accessor.get(IRenderManagerService).getRenderUnitById(location.unitId);
|
|
382
377
|
if (!currentRender) return false;
|
|
383
378
|
const skeleton = (_skeletonManagerServi = currentRender.with(SheetSkeletonManagerService).getSkeletonParam(location.subUnitId)) === null || _skeletonManagerServi === void 0 ? void 0 : _skeletonManagerServi.skeleton;
|
|
384
379
|
if (skeleton == null) return false;
|
|
385
|
-
const cellInfo = skeleton.
|
|
380
|
+
const cellInfo = skeleton.getCellWithCoordByIndex(location.row, location.col);
|
|
386
381
|
const cellWidth = cellInfo.mergeInfo.endX - cellInfo.mergeInfo.startX - 2;
|
|
387
382
|
const cellHeight = cellInfo.mergeInfo.endY - cellInfo.mergeInfo.startY - 2;
|
|
388
383
|
const imageRatio = rotatedWidth / rotatedHeight;
|
|
@@ -448,7 +443,6 @@ let SheetDrawingUpdateController = class SheetDrawingUpdateController extends Di
|
|
|
448
443
|
return this._insertCellImage(file, location);
|
|
449
444
|
}
|
|
450
445
|
async insertFloatImageByFile(file) {
|
|
451
|
-
var _transformToAxisAlign;
|
|
452
446
|
let imageParam;
|
|
453
447
|
try {
|
|
454
448
|
imageParam = await this._imageIoService.saveImage(file);
|
|
@@ -495,7 +489,7 @@ let SheetDrawingUpdateController = class SheetDrawingUpdateController extends Di
|
|
|
495
489
|
source,
|
|
496
490
|
transform: newTransform,
|
|
497
491
|
sheetTransform,
|
|
498
|
-
axisAlignSheetTransform:
|
|
492
|
+
axisAlignSheetTransform: transformToAxisAlignPosition(newTransform, skeleton) ?? sheetTransform
|
|
499
493
|
};
|
|
500
494
|
return this._commandService.executeCommand(InsertSheetDrawingCommand.id, {
|
|
501
495
|
unitId,
|
|
@@ -571,10 +565,9 @@ let SheetDrawingUpdateController = class SheetDrawingUpdateController extends Di
|
|
|
571
565
|
}
|
|
572
566
|
});
|
|
573
567
|
if (jsonXActions) {
|
|
574
|
-
var _location$row, _location$col;
|
|
575
568
|
docDataModel.apply(jsonXActions);
|
|
576
569
|
return this._commandService.syncExecuteCommand(SetRangeValuesCommand.id, {
|
|
577
|
-
value: { [(
|
|
570
|
+
value: { [(location === null || location === void 0 ? void 0 : location.row) ?? row]: { [(location === null || location === void 0 ? void 0 : location.col) ?? col]: {
|
|
578
571
|
p: docDataModel.getSnapshot(),
|
|
579
572
|
t: 1
|
|
580
573
|
} } },
|
|
@@ -633,10 +626,9 @@ let SheetDrawingUpdateController = class SheetDrawingUpdateController extends Di
|
|
|
633
626
|
}
|
|
634
627
|
});
|
|
635
628
|
if (jsonXActions) {
|
|
636
|
-
var _location$row2, _location$col2;
|
|
637
629
|
docDataModel.apply(jsonXActions);
|
|
638
630
|
return this._commandService.syncExecuteCommand(SetRangeValuesCommand.id, {
|
|
639
|
-
value: { [(
|
|
631
|
+
value: { [(location === null || location === void 0 ? void 0 : location.row) ?? selection.primary.actualRow]: { [(location === null || location === void 0 ? void 0 : location.col) ?? selection.primary.actualColumn]: {
|
|
640
632
|
p: docDataModel.getSnapshot(),
|
|
641
633
|
t: 1
|
|
642
634
|
} } },
|
|
@@ -888,20 +880,17 @@ const InsertFloatImageCommand = {
|
|
|
888
880
|
if (files) {
|
|
889
881
|
const awaitFiles = files.map((file) => sheetDrawingUpdateController.insertFloatImageByFile(file));
|
|
890
882
|
return (await Promise.all(awaitFiles)).every((result) => result);
|
|
891
|
-
} else
|
|
892
|
-
var _sheetDrawingUpdateCo;
|
|
893
|
-
return (_sheetDrawingUpdateCo = sheetDrawingUpdateController.insertFloatImage()) !== null && _sheetDrawingUpdateCo !== void 0 ? _sheetDrawingUpdateCo : false;
|
|
894
|
-
}
|
|
883
|
+
} else return sheetDrawingUpdateController.insertFloatImage() ?? false;
|
|
895
884
|
}
|
|
896
885
|
};
|
|
897
886
|
const InsertCellImageCommand = {
|
|
898
887
|
id: "sheet.command.insert-cell-image",
|
|
899
888
|
type: CommandType.COMMAND,
|
|
900
889
|
handler: (accessor) => {
|
|
901
|
-
var _getCurrentTypeOfRend2
|
|
890
|
+
var _getCurrentTypeOfRend2;
|
|
902
891
|
const univerInstanceService = accessor.get(IUniverInstanceService);
|
|
903
892
|
const renderManagerService = accessor.get(IRenderManagerService);
|
|
904
|
-
return (_getCurrentTypeOfRend2 =
|
|
893
|
+
return ((_getCurrentTypeOfRend2 = getCurrentTypeOfRenderer(UniverInstanceType.UNIVER_SHEET, univerInstanceService, renderManagerService)) === null || _getCurrentTypeOfRend2 === void 0 ? void 0 : _getCurrentTypeOfRend2.with(SheetDrawingUpdateController).insertCellImage()) ?? false;
|
|
905
894
|
}
|
|
906
895
|
};
|
|
907
896
|
|
|
@@ -990,20 +979,14 @@ function rangeToA1Notation(range) {
|
|
|
990
979
|
return start === end ? start : `${start}:${end}`;
|
|
991
980
|
}
|
|
992
981
|
/**
|
|
993
|
-
* Check if a cell has image
|
|
994
|
-
*/
|
|
995
|
-
function cellHasImage$1(cell) {
|
|
996
|
-
var _cell$p, _cell$p2;
|
|
997
|
-
return !!((cell === null || cell === void 0 || (_cell$p = cell.p) === null || _cell$p === void 0 || (_cell$p = _cell$p.drawingsOrder) === null || _cell$p === void 0 ? void 0 : _cell$p.length) && (cell === null || cell === void 0 || (_cell$p2 = cell.p) === null || _cell$p2 === void 0 || (_cell$p2 = _cell$p2.drawingsOrder) === null || _cell$p2 === void 0 ? void 0 : _cell$p2.length) > 0);
|
|
998
|
-
}
|
|
999
|
-
/**
|
|
1000
982
|
* Get image data from cell
|
|
1001
983
|
*/
|
|
1002
984
|
function getCellImageData(cell) {
|
|
1003
|
-
var
|
|
1004
|
-
|
|
1005
|
-
const drawingId =
|
|
1006
|
-
|
|
985
|
+
var _documentData$drawing;
|
|
986
|
+
const documentData = cell.p;
|
|
987
|
+
const drawingId = documentData === null || documentData === void 0 || (_documentData$drawing = documentData.drawingsOrder) === null || _documentData$drawing === void 0 ? void 0 : _documentData$drawing[0];
|
|
988
|
+
if (!isCellImage(documentData) || !drawingId || !(documentData === null || documentData === void 0 ? void 0 : documentData.drawings)) return null;
|
|
989
|
+
const drawing = documentData.drawings[drawingId];
|
|
1007
990
|
if (!drawing || !("source" in drawing) || !("imageSourceType" in drawing)) return null;
|
|
1008
991
|
return drawing;
|
|
1009
992
|
}
|
|
@@ -1037,12 +1020,6 @@ let BatchSaveImagesService = class BatchSaveImagesService extends Disposable {
|
|
|
1037
1020
|
this._imageIoService = _imageIoService;
|
|
1038
1021
|
this._urlImageService = _urlImageService;
|
|
1039
1022
|
}
|
|
1040
|
-
/**
|
|
1041
|
-
* @deprecated Use IURLImageService directly
|
|
1042
|
-
*/
|
|
1043
|
-
registerURLImageDownloader(downloader) {
|
|
1044
|
-
return this._urlImageService.registerURLImageDownloader(downloader);
|
|
1045
|
-
}
|
|
1046
1023
|
getCellImagesInSelection() {
|
|
1047
1024
|
const workbook = this._univerInstanceService.getCurrentUnitOfType(UniverInstanceType.UNIVER_SHEET);
|
|
1048
1025
|
if (!workbook) return [];
|
|
@@ -1056,7 +1033,7 @@ let BatchSaveImagesService = class BatchSaveImagesService extends Disposable {
|
|
|
1056
1033
|
const { startRow, endRow, startColumn, endColumn } = selection.range;
|
|
1057
1034
|
for (let row = startRow; row <= endRow; row++) for (let col = startColumn; col <= endColumn; col++) {
|
|
1058
1035
|
const cell = cellMatrix.getValue(row, col);
|
|
1059
|
-
if (
|
|
1036
|
+
if (isCellImage(cell === null || cell === void 0 ? void 0 : cell.p)) {
|
|
1060
1037
|
const imageData = getCellImageData(cell);
|
|
1061
1038
|
if (imageData) images.push({
|
|
1062
1039
|
row,
|
|
@@ -1082,7 +1059,7 @@ let BatchSaveImagesService = class BatchSaveImagesService extends Disposable {
|
|
|
1082
1059
|
const { startRow, endRow, startColumn, endColumn } = range;
|
|
1083
1060
|
for (let row = startRow; row <= endRow; row++) for (let col = startColumn; col <= endColumn; col++) {
|
|
1084
1061
|
const cell = cellMatrix.getValue(row, col);
|
|
1085
|
-
if (
|
|
1062
|
+
if (isCellImage(cell === null || cell === void 0 ? void 0 : cell.p)) {
|
|
1086
1063
|
const imageData = getCellImageData(cell);
|
|
1087
1064
|
if (imageData) images.push({
|
|
1088
1065
|
row,
|
|
@@ -1120,8 +1097,8 @@ let BatchSaveImagesService = class BatchSaveImagesService extends Disposable {
|
|
|
1120
1097
|
for (let row = minRow; row <= maxRow; row++) {
|
|
1121
1098
|
const cell = cellMatrix.getValue(row, col);
|
|
1122
1099
|
if (cell) {
|
|
1123
|
-
var _cell$v, _cell$
|
|
1124
|
-
if (((_cell$v = cell.v) === null || _cell$v === void 0 ? void 0 : _cell$v.toString()) || ((_cell$
|
|
1100
|
+
var _cell$v, _cell$p;
|
|
1101
|
+
if (((_cell$v = cell.v) === null || _cell$v === void 0 ? void 0 : _cell$v.toString()) || ((_cell$p = cell.p) === null || _cell$p === void 0 || (_cell$p = _cell$p.body) === null || _cell$p === void 0 || (_cell$p = _cell$p.dataStream) === null || _cell$p === void 0 ? void 0 : _cell$p.trim()) || "") {
|
|
1125
1102
|
columnsWithData.add(col);
|
|
1126
1103
|
break;
|
|
1127
1104
|
}
|
|
@@ -1157,8 +1134,8 @@ let BatchSaveImagesService = class BatchSaveImagesService extends Disposable {
|
|
|
1157
1134
|
for (let row = minRow; row <= maxRow; row++) {
|
|
1158
1135
|
const cell = cellMatrix.getValue(row, col);
|
|
1159
1136
|
if (cell) {
|
|
1160
|
-
var _cell$v2, _cell$
|
|
1161
|
-
if (((_cell$v2 = cell.v) === null || _cell$v2 === void 0 ? void 0 : _cell$v2.toString()) || ((_cell$
|
|
1137
|
+
var _cell$v2, _cell$p2;
|
|
1138
|
+
if (((_cell$v2 = cell.v) === null || _cell$v2 === void 0 ? void 0 : _cell$v2.toString()) || ((_cell$p2 = cell.p) === null || _cell$p2 === void 0 || (_cell$p2 = _cell$p2.body) === null || _cell$p2 === void 0 || (_cell$p2 = _cell$p2.dataStream) === null || _cell$p2 === void 0 ? void 0 : _cell$p2.trim()) || "") {
|
|
1162
1139
|
columnsWithData.add(col);
|
|
1163
1140
|
break;
|
|
1164
1141
|
}
|
|
@@ -1209,8 +1186,8 @@ let BatchSaveImagesService = class BatchSaveImagesService extends Disposable {
|
|
|
1209
1186
|
if (worksheet) {
|
|
1210
1187
|
const cell = worksheet.getCellMatrix().getValue(imageInfo.row, config.columnIndex);
|
|
1211
1188
|
if (cell) {
|
|
1212
|
-
var _cell$v3, _cell$
|
|
1213
|
-
const value = ((_cell$v3 = cell.v) === null || _cell$v3 === void 0 ? void 0 : _cell$v3.toString()) || ((_cell$
|
|
1189
|
+
var _cell$v3, _cell$p3;
|
|
1190
|
+
const value = ((_cell$v3 = cell.v) === null || _cell$v3 === void 0 ? void 0 : _cell$v3.toString()) || ((_cell$p3 = cell.p) === null || _cell$p3 === void 0 || (_cell$p3 = _cell$p3.body) === null || _cell$p3 === void 0 || (_cell$p3 = _cell$p3.dataStream) === null || _cell$p3 === void 0 ? void 0 : _cell$p3.trim()) || "";
|
|
1214
1191
|
if (value) {
|
|
1215
1192
|
const sanitized = value.replace(/[<>:"/\\|?*]/g, "_").trim();
|
|
1216
1193
|
if (sanitized) parts.push(sanitized);
|
|
@@ -1231,8 +1208,8 @@ let BatchSaveImagesService = class BatchSaveImagesService extends Disposable {
|
|
|
1231
1208
|
if (worksheet) {
|
|
1232
1209
|
const cell = worksheet.getCellMatrix().getValue(imageInfo.row, config.columnIndex);
|
|
1233
1210
|
if (cell) {
|
|
1234
|
-
var _cell$v4, _cell$
|
|
1235
|
-
const value = ((_cell$v4 = cell.v) === null || _cell$v4 === void 0 ? void 0 : _cell$v4.toString()) || ((_cell$
|
|
1211
|
+
var _cell$v4, _cell$p4;
|
|
1212
|
+
const value = ((_cell$v4 = cell.v) === null || _cell$v4 === void 0 ? void 0 : _cell$v4.toString()) || ((_cell$p4 = cell.p) === null || _cell$p4 === void 0 || (_cell$p4 = _cell$p4.body) === null || _cell$p4 === void 0 || (_cell$p4 = _cell$p4.dataStream) === null || _cell$p4 === void 0 ? void 0 : _cell$p4.trim()) || "";
|
|
1236
1213
|
if (value) {
|
|
1237
1214
|
const sanitized = value.replace(/[<>:"/\\|?*]/g, "_").trim();
|
|
1238
1215
|
if (sanitized) parts.push(sanitized);
|
|
@@ -1362,7 +1339,6 @@ const SaveCellImagesCommand = {
|
|
|
1362
1339
|
width: 360,
|
|
1363
1340
|
title: { title: titleText },
|
|
1364
1341
|
children: { label: BATCH_SAVE_IMAGES_DIALOG_ID },
|
|
1365
|
-
destroyOnClose: true,
|
|
1366
1342
|
preservePositionOnDestroy: true,
|
|
1367
1343
|
onClose: () => dialogService.close(BATCH_SAVE_IMAGES_DIALOG_ID)
|
|
1368
1344
|
});
|
|
@@ -1515,7 +1491,6 @@ let SheetsDrawingGroupCopyPasteController = class SheetsDrawingGroupCopyPasteCon
|
|
|
1515
1491
|
};
|
|
1516
1492
|
}
|
|
1517
1493
|
_generateGroupPasteMutations(pasteTo) {
|
|
1518
|
-
var _cloned$flatChildren;
|
|
1519
1494
|
if (!this._copyInfo) return {
|
|
1520
1495
|
redos: [],
|
|
1521
1496
|
undos: []
|
|
@@ -1546,12 +1521,11 @@ let SheetsDrawingGroupCopyPasteController = class SheetsDrawingGroupCopyPasteCon
|
|
|
1546
1521
|
left: pasteRect.startX,
|
|
1547
1522
|
top: pasteRect.startY
|
|
1548
1523
|
};
|
|
1549
|
-
const allDrawings = [...(
|
|
1524
|
+
const allDrawings = [...(cloned.flatChildren ?? []).map((d) => ({
|
|
1550
1525
|
...d,
|
|
1551
1526
|
unitId,
|
|
1552
1527
|
subUnitId
|
|
1553
1528
|
})), ...cloned.groups.map((d) => {
|
|
1554
|
-
var _transformToDrawingPo, _transformToAxisAlign;
|
|
1555
1529
|
if (d.drawingId !== newRootGroupId) return {
|
|
1556
1530
|
...d,
|
|
1557
1531
|
unitId,
|
|
@@ -1562,8 +1536,8 @@ let SheetsDrawingGroupCopyPasteController = class SheetsDrawingGroupCopyPasteCon
|
|
|
1562
1536
|
unitId,
|
|
1563
1537
|
subUnitId,
|
|
1564
1538
|
transform: newTransform,
|
|
1565
|
-
sheetTransform:
|
|
1566
|
-
axisAlignSheetTransform:
|
|
1539
|
+
sheetTransform: transformToDrawingPosition(newTransform, pasteToSkeleton) ?? origRootGroup.sheetTransform,
|
|
1540
|
+
axisAlignSheetTransform: transformToAxisAlignPosition(newTransform, pasteToSkeleton) ?? origRootGroup.sheetTransform
|
|
1567
1541
|
};
|
|
1568
1542
|
})];
|
|
1569
1543
|
const { undo: removeOp, redo: insertOp, objects } = this._sheetDrawingService.getBatchAddOp(allDrawings);
|
|
@@ -1687,14 +1661,13 @@ function shouldStartFloatDomMoveFromHandle(info, detail) {
|
|
|
1687
1661
|
return detail.hostAnchorId === info.id && (detail.hostUnitId == null || detail.hostUnitId === info.unitId) && (detail.button == null || detail.button === 0) && typeof detail.clientX === "number" && typeof detail.clientY === "number";
|
|
1688
1662
|
}
|
|
1689
1663
|
function createFloatDomMoveDragState(info, detail) {
|
|
1690
|
-
var _info$rect$left, _info$rect$top;
|
|
1691
1664
|
if (typeof detail.clientX !== "number" || typeof detail.clientY !== "number") return;
|
|
1692
1665
|
return {
|
|
1693
1666
|
pointerId: detail.pointerId,
|
|
1694
1667
|
startClientX: detail.clientX,
|
|
1695
1668
|
startClientY: detail.clientY,
|
|
1696
|
-
startLeft: Number(
|
|
1697
|
-
startTop: Number(
|
|
1669
|
+
startLeft: Number(info.rect.left ?? 0),
|
|
1670
|
+
startTop: Number(info.rect.top ?? 0)
|
|
1698
1671
|
};
|
|
1699
1672
|
}
|
|
1700
1673
|
function resolveFloatDomMoveDragTransform(state, event, scene) {
|
|
@@ -1976,8 +1949,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
1976
1949
|
* default {@link Rect} fallback.
|
|
1977
1950
|
*/
|
|
1978
1951
|
registerRenderObjectFactory(drawingType, factory) {
|
|
1979
|
-
|
|
1980
|
-
const factories = (_this$_renderObjectFa = this._renderObjectFactories.get(drawingType)) !== null && _this$_renderObjectFa !== void 0 ? _this$_renderObjectFa : [];
|
|
1952
|
+
const factories = this._renderObjectFactories.get(drawingType) ?? [];
|
|
1981
1953
|
factories.push(factory);
|
|
1982
1954
|
this._renderObjectFactories.set(drawingType, factories);
|
|
1983
1955
|
return { dispose: () => {
|
|
@@ -1989,10 +1961,9 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
1989
1961
|
} };
|
|
1990
1962
|
}
|
|
1991
1963
|
_createRenderObject(context) {
|
|
1992
|
-
var _factory;
|
|
1993
1964
|
const factories = this._renderObjectFactories.get(context.drawingType);
|
|
1994
1965
|
const factory = factories === null || factories === void 0 ? void 0 : factories[factories.length - 1];
|
|
1995
|
-
return (
|
|
1966
|
+
return (factory === null || factory === void 0 ? void 0 : factory(context)) ?? new Rect(context.key, context.config);
|
|
1996
1967
|
}
|
|
1997
1968
|
_bindScrollEvent() {
|
|
1998
1969
|
this._lifecycleService.lifecycle$.pipe(filter((s) => s === LifecycleStages.Rendered), take(1)).subscribe(() => {
|
|
@@ -2069,7 +2040,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2069
2040
|
}
|
|
2070
2041
|
_commitFloatDomMove(info) {
|
|
2071
2042
|
var _this$_renderManagerS;
|
|
2072
|
-
const skeletonParam = (_this$_renderManagerS = this._renderManagerService.
|
|
2043
|
+
const skeletonParam = (_this$_renderManagerS = this._renderManagerService.getRenderUnitById(info.unitId)) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.with(SheetSkeletonManagerService).getSkeletonParam(info.subUnitId);
|
|
2073
2044
|
const drawing = this._sheetDrawingService.getDrawingByParam({
|
|
2074
2045
|
unitId: info.unitId,
|
|
2075
2046
|
subUnitId: info.subUnitId,
|
|
@@ -2238,7 +2209,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2238
2209
|
}
|
|
2239
2210
|
_getSceneAndTransformerByDrawingSearch(unitId) {
|
|
2240
2211
|
if (unitId == null) return;
|
|
2241
|
-
const renderUnit = this._renderManagerService.
|
|
2212
|
+
const renderUnit = this._renderManagerService.getRenderUnitById(unitId);
|
|
2242
2213
|
const scene = renderUnit === null || renderUnit === void 0 ? void 0 : renderUnit.scene;
|
|
2243
2214
|
if (renderUnit == null || scene == null) return null;
|
|
2244
2215
|
return {
|
|
@@ -2262,7 +2233,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2262
2233
|
if (!workbook) return;
|
|
2263
2234
|
const activeSheetId = workbook.getActiveSheet().getSheetId();
|
|
2264
2235
|
if (!floatDomParam || !target) return;
|
|
2265
|
-
const skeleton = (_this$_renderManagerS2 = this._renderManagerService.
|
|
2236
|
+
const skeleton = (_this$_renderManagerS2 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS2 === void 0 ? void 0 : _this$_renderManagerS2.with(SheetSkeletonManagerService).getSkeletonParam(subUnitId);
|
|
2266
2237
|
if (!skeleton) return;
|
|
2267
2238
|
const { transform, drawingType, data, hidden, groupId } = floatDomParam;
|
|
2268
2239
|
if (!isCanvasFloatDomDrawingType(drawingType)) return;
|
|
@@ -2320,7 +2291,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2320
2291
|
if (data && data.border) imageConfig.stroke = data.border;
|
|
2321
2292
|
Object.assign(imageConfig, SHEET_CHART_RENDER_OBJECT_CONFIG);
|
|
2322
2293
|
} else imageConfig.rotateEnabled = false;
|
|
2323
|
-
const rect = rectShape
|
|
2294
|
+
const rect = rectShape ?? this._createRenderObject({
|
|
2324
2295
|
key: rectShapeKey,
|
|
2325
2296
|
config: imageConfig,
|
|
2326
2297
|
unitId,
|
|
@@ -2470,6 +2441,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2470
2441
|
if (previewObjectKey) scene.removeObject(previewObjectKey);
|
|
2471
2442
|
});
|
|
2472
2443
|
listener && disposableCollection.add(listener);
|
|
2444
|
+
this._bindFloatDomScroll(disposableCollection, info, renderObject.renderUnit.scene, skeleton.skeleton, target.worksheet);
|
|
2473
2445
|
this._domLayerInfoMap.set(drawingId, info);
|
|
2474
2446
|
});
|
|
2475
2447
|
}));
|
|
@@ -2505,7 +2477,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2505
2477
|
unitId,
|
|
2506
2478
|
subUnitId
|
|
2507
2479
|
});
|
|
2508
|
-
const skeleton = (_this$_renderManagerS3 = this._renderManagerService.
|
|
2480
|
+
const skeleton = (_this$_renderManagerS3 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS3 === void 0 ? void 0 : _this$_renderManagerS3.with(SheetSkeletonManagerService).getSkeletonParam(subUnitId);
|
|
2509
2481
|
if (!renderObject || !target || !skeleton) return;
|
|
2510
2482
|
ids.forEach((id) => {
|
|
2511
2483
|
const floatDomInfo = this._domLayerInfoMap.get(id);
|
|
@@ -2522,23 +2494,6 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2522
2494
|
this._syncFloatDomVisibilityForActiveSheet(unitId, subUnitId);
|
|
2523
2495
|
updateSheet(unitId, subUnitId);
|
|
2524
2496
|
}));
|
|
2525
|
-
this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_SHEET).pipe(switchMap((workbook) => workbook ? workbook.activeSheet$ : of(null)), map((worksheet) => {
|
|
2526
|
-
if (!worksheet) return null;
|
|
2527
|
-
const unitId = worksheet.getUnitId();
|
|
2528
|
-
const render = this._renderManagerService.getRenderById(unitId);
|
|
2529
|
-
return render ? {
|
|
2530
|
-
render,
|
|
2531
|
-
unitId,
|
|
2532
|
-
subUnitId: worksheet.getSheetId()
|
|
2533
|
-
} : null;
|
|
2534
|
-
}), switchMap((render) => render ? fromEventSubject(render.render.scene.getViewport(SHEET_VIEWPORT_KEY.VIEW_MAIN).onScrollAfter$).pipe(map(() => ({
|
|
2535
|
-
unitId: render.unitId,
|
|
2536
|
-
subUnitId: render.subUnitId
|
|
2537
|
-
}))) : of(null))).subscribe((value) => {
|
|
2538
|
-
if (!value) return;
|
|
2539
|
-
const { unitId, subUnitId } = value;
|
|
2540
|
-
updateSheet(unitId, subUnitId);
|
|
2541
|
-
}));
|
|
2542
2497
|
this.disposeWithMe(this._commandService.onCommandExecuted((commandInfo) => {
|
|
2543
2498
|
if (commandInfo.id === SetZoomRatioOperation.id) {
|
|
2544
2499
|
const { unitId } = commandInfo.params;
|
|
@@ -2554,6 +2509,13 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2554
2509
|
}
|
|
2555
2510
|
}));
|
|
2556
2511
|
}
|
|
2512
|
+
_bindFloatDomScroll(disposableCollection, info, scene, skeleton, worksheet) {
|
|
2513
|
+
const viewport = scene.getViewport(SHEET_VIEWPORT_KEY.VIEW_MAIN);
|
|
2514
|
+
if (!viewport) return;
|
|
2515
|
+
disposableCollection.add(fromEventSubject(viewport.onScrollAfter$).subscribe(() => {
|
|
2516
|
+
info.position$.next(calcSheetFloatDomPosition(info.rect, scene, skeleton, worksheet, info));
|
|
2517
|
+
}));
|
|
2518
|
+
}
|
|
2557
2519
|
updateFloatDomProps(unitId, subUnitId, id, props) {
|
|
2558
2520
|
const info = this._domLayerInfoMap.get(id);
|
|
2559
2521
|
const renderObject = this._getSceneAndTransformerByDrawingSearch(unitId);
|
|
@@ -2583,13 +2545,13 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2583
2545
|
}
|
|
2584
2546
|
}
|
|
2585
2547
|
_getObjectIncludingGroup(scene, key, groupKey) {
|
|
2586
|
-
var
|
|
2587
|
-
return
|
|
2548
|
+
var _scene$getObjectInclu;
|
|
2549
|
+
return this._getChildObjectFromGroup(scene, key, groupKey) ?? ((_scene$getObjectInclu = scene.getObjectIncludeInGroup) === null || _scene$getObjectInclu === void 0 ? void 0 : _scene$getObjectInclu.call(scene, key)) ?? scene.getObject(key) ?? null;
|
|
2588
2550
|
}
|
|
2589
2551
|
_getChildObjectFromGroup(scene, key, groupKey) {
|
|
2590
|
-
var _scene$getObjectInclu2
|
|
2552
|
+
var _scene$getObjectInclu2;
|
|
2591
2553
|
if (!groupKey) return null;
|
|
2592
|
-
const groupObject = (_scene$getObjectInclu2 =
|
|
2554
|
+
const groupObject = ((_scene$getObjectInclu2 = scene.getObjectIncludeInGroup) === null || _scene$getObjectInclu2 === void 0 ? void 0 : _scene$getObjectInclu2.call(scene, groupKey)) ?? scene.getObject(groupKey);
|
|
2593
2555
|
return this._findChildObject(groupObject, key);
|
|
2594
2556
|
}
|
|
2595
2557
|
_findChildObject(object, key) {
|
|
@@ -2613,16 +2575,15 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2613
2575
|
if (info) info.rect = object;
|
|
2614
2576
|
}
|
|
2615
2577
|
_getChartDataBackground(data) {
|
|
2616
|
-
var _record$backgroundCol;
|
|
2617
2578
|
if (!data || typeof data !== "object" || Array.isArray(data)) return;
|
|
2618
2579
|
const record = data;
|
|
2619
|
-
const background =
|
|
2580
|
+
const background = record.backgroundColor ?? record.background;
|
|
2620
2581
|
return typeof background === "string" ? background : void 0;
|
|
2621
2582
|
}
|
|
2622
2583
|
_getPosition(position, unitId) {
|
|
2623
2584
|
var _this$_renderManagerS4;
|
|
2624
2585
|
const { startX, endX, startY, endY } = position;
|
|
2625
|
-
const selectionRenderService = (_this$_renderManagerS4 = this._renderManagerService.
|
|
2586
|
+
const selectionRenderService = (_this$_renderManagerS4 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS4 === void 0 ? void 0 : _this$_renderManagerS4.with(ISheetSelectionRenderService);
|
|
2626
2587
|
if (selectionRenderService == null) return;
|
|
2627
2588
|
const start = selectionRenderService.getCellWithCoordByOffset(startX, startY);
|
|
2628
2589
|
if (start == null) return;
|
|
@@ -2689,7 +2650,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2689
2650
|
if (!target) throw new Error("cannot find current target!");
|
|
2690
2651
|
const { unitId, subUnitId } = target;
|
|
2691
2652
|
const { initPosition, componentKey, data, allowTransform = true } = layer;
|
|
2692
|
-
const id = propId
|
|
2653
|
+
const id = propId ?? generateRandomId();
|
|
2693
2654
|
const sheetTransform = this._getPosition(initPosition, unitId);
|
|
2694
2655
|
if (sheetTransform == null) return;
|
|
2695
2656
|
const sheetDrawingParam = {
|
|
@@ -2769,12 +2730,12 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2769
2730
|
const { unitId, subUnitId } = target;
|
|
2770
2731
|
const renderObject = this._getSceneAndTransformerByDrawingSearch(unitId);
|
|
2771
2732
|
if (!renderObject) return;
|
|
2772
|
-
const currentRender = this._renderManagerService.
|
|
2733
|
+
const currentRender = this._renderManagerService.getRenderUnitById(unitId);
|
|
2773
2734
|
if (!currentRender) return;
|
|
2774
|
-
const skeletonParam = (_this$_renderManagerS5 = this._renderManagerService.
|
|
2735
|
+
const skeletonParam = (_this$_renderManagerS5 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS5 === void 0 ? void 0 : _this$_renderManagerS5.with(SheetSkeletonManagerService).getSkeletonParam(subUnitId);
|
|
2775
2736
|
if (!skeletonParam) return;
|
|
2776
2737
|
const { componentKey, data, allowTransform = true } = config;
|
|
2777
|
-
const id = propId
|
|
2738
|
+
const id = propId ?? generateRandomId();
|
|
2778
2739
|
const { position: rangePosition, position$: rangePos$ } = this._createRangePositionObserver(range, currentRender, skeletonParam.skeleton);
|
|
2779
2740
|
const sheetTransform = this._getPosition(rangePosition, unitId);
|
|
2780
2741
|
if (sheetTransform == null) return;
|
|
@@ -2809,7 +2770,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2809
2770
|
if (!workbook) return;
|
|
2810
2771
|
const activeSheetId = workbook.getActiveSheet().getSheetId();
|
|
2811
2772
|
if (!floatDomParam || !target) return;
|
|
2812
|
-
const skMangerService = (_this$_renderManagerS6 = this._renderManagerService.
|
|
2773
|
+
const skMangerService = (_this$_renderManagerS6 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS6 === void 0 ? void 0 : _this$_renderManagerS6.with(SheetSkeletonManagerService);
|
|
2813
2774
|
if (!skMangerService) return;
|
|
2814
2775
|
const skeletonParam = skMangerService.getSkeletonParam(subUnitId);
|
|
2815
2776
|
if (!skeletonParam) return;
|
|
@@ -2932,34 +2893,34 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2932
2893
|
};
|
|
2933
2894
|
this._canvasFloatDomService.addFloatDom(floatDomCfg);
|
|
2934
2895
|
this.disposeWithMe(rangePos$.subscribe((newRangePos) => {
|
|
2935
|
-
var _domAnchor$width, _domAnchor$height, _domAnchor$width2, _domAnchor$height2;
|
|
2936
2896
|
const calcOffsetPos = calcDomPositionByAnchor({
|
|
2937
2897
|
rotate: 0,
|
|
2938
2898
|
startX: newRangePos.startX,
|
|
2939
2899
|
startY: newRangePos.startY,
|
|
2940
2900
|
endX: newRangePos.endX,
|
|
2941
2901
|
endY: newRangePos.endY,
|
|
2942
|
-
width:
|
|
2943
|
-
height:
|
|
2902
|
+
width: domAnchor.width ?? newRangePos.width,
|
|
2903
|
+
height: domAnchor.height ?? newRangePos.height,
|
|
2944
2904
|
absolute: {
|
|
2945
2905
|
left: rangePosition.absolute.left,
|
|
2946
2906
|
top: rangePosition.absolute.top
|
|
2947
2907
|
}
|
|
2948
2908
|
}, domAnchor);
|
|
2949
|
-
const
|
|
2909
|
+
const newRect = new Rect(getDrawingShapeKeyByDrawingSearch({
|
|
2950
2910
|
unitId,
|
|
2951
2911
|
subUnitId,
|
|
2952
2912
|
drawingId
|
|
2953
2913
|
}), {
|
|
2954
2914
|
left: calcOffsetPos.startX,
|
|
2955
2915
|
top: calcOffsetPos.startY,
|
|
2956
|
-
width:
|
|
2957
|
-
height:
|
|
2916
|
+
width: domAnchor.width ?? newRangePos.width,
|
|
2917
|
+
height: domAnchor.height ?? newRangePos.height,
|
|
2958
2918
|
zIndex: this._drawingManagerService.getDrawingOrder(unitId, subUnitId).length - 1
|
|
2959
|
-
})
|
|
2919
|
+
});
|
|
2920
|
+
const newPos = calcSheetFloatDomPosition(newRect, renderObject.renderUnit.scene, skeletonParam.skeleton, target.worksheet, floatDomInfo);
|
|
2960
2921
|
position$.next(newPos);
|
|
2961
2922
|
}));
|
|
2962
|
-
const skm = (_this$_renderManagerS7 = this._renderManagerService.
|
|
2923
|
+
const skm = (_this$_renderManagerS7 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS7 === void 0 ? void 0 : _this$_renderManagerS7.with(SheetSkeletonManagerService);
|
|
2963
2924
|
const skeletonSubscription = skm === null || skm === void 0 ? void 0 : skm.currentSkeleton$.subscribe((skeleton) => {
|
|
2964
2925
|
if (!skeleton) return;
|
|
2965
2926
|
if (skeletonParam.sheetId !== skeleton.sheetId) this._removeDom(id, true);
|
|
@@ -2973,6 +2934,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2973
2934
|
this._canvasFloatDomService.removeFloatDom(drawingId);
|
|
2974
2935
|
});
|
|
2975
2936
|
listener && disposableCollection.add(listener);
|
|
2937
|
+
this._bindFloatDomScroll(disposableCollection, floatDomInfo, renderObject.renderUnit.scene, skeletonParam.skeleton, target.worksheet);
|
|
2976
2938
|
this._domLayerInfoMap.set(drawingId, floatDomInfo);
|
|
2977
2939
|
}
|
|
2978
2940
|
return this._createFloatDomDisposable(id);
|
|
@@ -2986,12 +2948,12 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
2986
2948
|
if (!target) throw new Error("cannot find current target!");
|
|
2987
2949
|
const { unitId, subUnitId } = target;
|
|
2988
2950
|
if (!this._getSceneAndTransformerByDrawingSearch(unitId)) return;
|
|
2989
|
-
const currentRender = this._renderManagerService.
|
|
2951
|
+
const currentRender = this._renderManagerService.getRenderUnitById(unitId);
|
|
2990
2952
|
if (!currentRender) return;
|
|
2991
|
-
const skeletonParam = (_this$_renderManagerS8 = this._renderManagerService.
|
|
2953
|
+
const skeletonParam = (_this$_renderManagerS8 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS8 === void 0 ? void 0 : _this$_renderManagerS8.with(SheetSkeletonManagerService).getSkeletonParam(subUnitId);
|
|
2992
2954
|
if (!skeletonParam) return;
|
|
2993
2955
|
const { componentKey, data, allowTransform = true } = config;
|
|
2994
|
-
const id = propId
|
|
2956
|
+
const id = propId ?? generateRandomId();
|
|
2995
2957
|
const { position: rangePosition, position$: rangePos$ } = this._createRangePositionObserver({
|
|
2996
2958
|
startRow: 0,
|
|
2997
2959
|
endRow: 0,
|
|
@@ -3031,7 +2993,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
3031
2993
|
if (!workbook) return;
|
|
3032
2994
|
const activeSheetId = workbook.getActiveSheet().getSheetId();
|
|
3033
2995
|
if (!floatDomParam || !target) return;
|
|
3034
|
-
const skMangerService = (_this$_renderManagerS9 = this._renderManagerService.
|
|
2996
|
+
const skMangerService = (_this$_renderManagerS9 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS9 === void 0 ? void 0 : _this$_renderManagerS9.with(SheetSkeletonManagerService);
|
|
3035
2997
|
if (!skMangerService) return;
|
|
3036
2998
|
const skeleton = skMangerService.getSkeletonParam(subUnitId);
|
|
3037
2999
|
if (!skeleton) return;
|
|
@@ -3149,7 +3111,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
3149
3111
|
top: rangePosition.absolute.top
|
|
3150
3112
|
}
|
|
3151
3113
|
}, domLayoutParam);
|
|
3152
|
-
const
|
|
3114
|
+
const newRect = new Rect(getDrawingShapeKeyByDrawingSearch({
|
|
3153
3115
|
unitId,
|
|
3154
3116
|
subUnitId,
|
|
3155
3117
|
drawingId
|
|
@@ -3159,10 +3121,11 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
3159
3121
|
width: domLayoutParam.width,
|
|
3160
3122
|
height: domLayoutParam.height,
|
|
3161
3123
|
zIndex: this._drawingManagerService.getDrawingOrder(unitId, subUnitId).length - 1
|
|
3162
|
-
})
|
|
3124
|
+
});
|
|
3125
|
+
const newPos = calcSheetFloatDomPosition(newRect, renderObject.renderUnit.scene, skeleton.skeleton, target.worksheet, floatDomInfo);
|
|
3163
3126
|
position$.next(newPos);
|
|
3164
3127
|
}));
|
|
3165
|
-
const skm = (_this$_renderManagerS10 = this._renderManagerService.
|
|
3128
|
+
const skm = (_this$_renderManagerS10 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS10 === void 0 ? void 0 : _this$_renderManagerS10.with(SheetSkeletonManagerService);
|
|
3166
3129
|
skm === null || skm === void 0 || skm.currentSkeleton$.subscribe((skeleton) => {
|
|
3167
3130
|
if (!skeleton) return;
|
|
3168
3131
|
if (skeletonParam.sheetId !== skeleton.sheetId) this._removeDom(id, true);
|
|
@@ -3171,6 +3134,7 @@ let SheetCanvasFloatDomManagerService = _SheetCanvasFloatDomManagerService = cla
|
|
|
3171
3134
|
this._canvasFloatDomService.removeFloatDom(drawingId);
|
|
3172
3135
|
});
|
|
3173
3136
|
listener && disposableCollection.add(listener);
|
|
3137
|
+
this._bindFloatDomScroll(disposableCollection, floatDomInfo, renderObject.renderUnit.scene, skeleton.skeleton, target.worksheet);
|
|
3174
3138
|
this._domLayerInfoMap.set(drawingId, floatDomInfo);
|
|
3175
3139
|
}
|
|
3176
3140
|
return this._createFloatDomDisposable(id);
|
|
@@ -3286,12 +3250,11 @@ function calcCellPositionByCell(row, col, skeleton) {
|
|
|
3286
3250
|
};
|
|
3287
3251
|
}
|
|
3288
3252
|
function calcDomPositionByAnchor(rangePosition, domAnchor, scale) {
|
|
3289
|
-
|
|
3290
|
-
scale = (_scale = scale) !== null && _scale !== void 0 ? _scale : 1;
|
|
3253
|
+
scale = scale ?? 1;
|
|
3291
3254
|
const rangeWidth = rangePosition.endX - rangePosition.startX;
|
|
3292
3255
|
const rangeHeight = rangePosition.endY - rangePosition.startY;
|
|
3293
|
-
const domWidth = (
|
|
3294
|
-
const domHeight = (
|
|
3256
|
+
const domWidth = (domAnchor === null || domAnchor === void 0 ? void 0 : domAnchor.width) ?? rangeWidth;
|
|
3257
|
+
const domHeight = (domAnchor === null || domAnchor === void 0 ? void 0 : domAnchor.height) ?? rangeHeight;
|
|
3295
3258
|
let domLeft = 0;
|
|
3296
3259
|
let domTop = 0;
|
|
3297
3260
|
if (domAnchor) {
|
|
@@ -3386,13 +3349,6 @@ function UploadCellImageMenuFactory(accessor) {
|
|
|
3386
3349
|
//#endregion
|
|
3387
3350
|
//#region src/menu/save-images.menu.ts
|
|
3388
3351
|
/**
|
|
3389
|
-
* Check if a cell has image
|
|
3390
|
-
*/
|
|
3391
|
-
function cellHasImage(cell) {
|
|
3392
|
-
var _cell$p, _cell$p2;
|
|
3393
|
-
return !!((cell === null || cell === void 0 || (_cell$p = cell.p) === null || _cell$p === void 0 || (_cell$p = _cell$p.drawingsOrder) === null || _cell$p === void 0 ? void 0 : _cell$p.length) && (cell === null || cell === void 0 || (_cell$p2 = cell.p) === null || _cell$p2 === void 0 || (_cell$p2 = _cell$p2.drawingsOrder) === null || _cell$p2 === void 0 ? void 0 : _cell$p2.length) > 0);
|
|
3394
|
-
}
|
|
3395
|
-
/**
|
|
3396
3352
|
* Check if selection range has any images
|
|
3397
3353
|
*/
|
|
3398
3354
|
function selectionHasImages(workbook, selection) {
|
|
@@ -3400,7 +3356,10 @@ function selectionHasImages(workbook, selection) {
|
|
|
3400
3356
|
if (!worksheet) return false;
|
|
3401
3357
|
const cellMatrix = worksheet.getCellMatrix();
|
|
3402
3358
|
const { startRow, endRow, startColumn, endColumn } = selection;
|
|
3403
|
-
for (let row = startRow; row <= endRow; row++) for (let col = startColumn; col <= endColumn; col++)
|
|
3359
|
+
for (let row = startRow; row <= endRow; row++) for (let col = startColumn; col <= endColumn; col++) {
|
|
3360
|
+
const cell = cellMatrix.getValue(row, col);
|
|
3361
|
+
if (isCellImage(cell === null || cell === void 0 ? void 0 : cell.p)) return true;
|
|
3362
|
+
}
|
|
3404
3363
|
return false;
|
|
3405
3364
|
}
|
|
3406
3365
|
/**
|
|
@@ -3469,7 +3428,7 @@ const menuSchema = {
|
|
|
3469
3428
|
//#endregion
|
|
3470
3429
|
//#region package.json
|
|
3471
3430
|
var name = "@univerjs/sheets-drawing-ui";
|
|
3472
|
-
var version = "1.0.0-
|
|
3431
|
+
var version = "1.0.0-beta.0";
|
|
3473
3432
|
|
|
3474
3433
|
//#endregion
|
|
3475
3434
|
//#region src/config/config.ts
|
|
@@ -3604,18 +3563,17 @@ function BatchSaveImagesDialog() {
|
|
|
3604
3563
|
//#endregion
|
|
3605
3564
|
//#region src/views/sheet-image-panel/SheetDrawingAnchor.tsx
|
|
3606
3565
|
const SheetDrawingAnchor = (props) => {
|
|
3607
|
-
var _drawingParam$anchorT;
|
|
3608
3566
|
const commandService = useDependency(ICommandService);
|
|
3609
3567
|
const localeService = useDependency(LocaleService);
|
|
3610
3568
|
const drawingManagerService = useDependency(IDrawingManagerService);
|
|
3611
3569
|
const renderManagerService = useDependency(IRenderManagerService);
|
|
3612
3570
|
const { drawings } = props;
|
|
3613
|
-
const drawingParam = drawings[0];
|
|
3614
|
-
const renderObject = drawingParam ? renderManagerService.
|
|
3571
|
+
const drawingParam = isSheetDrawing(drawings[0]) ? drawings[0] : void 0;
|
|
3572
|
+
const renderObject = drawingParam ? renderManagerService.getRenderUnitById(drawingParam.unitId) : void 0;
|
|
3615
3573
|
const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
|
|
3616
3574
|
const transformer = scene === null || scene === void 0 ? void 0 : scene.getTransformerByCreate();
|
|
3617
3575
|
const [anchorShow, setAnchorShow] = useState(true);
|
|
3618
|
-
const [value, setValue] = useState(
|
|
3576
|
+
const [value, setValue] = useState(drawingParam ? getSheetDrawingPlacement(drawingParam).kind : SheetDrawingAnchorType.Position);
|
|
3619
3577
|
function getUpdateParams(objects, drawingManagerService) {
|
|
3620
3578
|
const params = [];
|
|
3621
3579
|
objects.forEach((object) => {
|
|
@@ -3625,6 +3583,10 @@ const SheetDrawingAnchor = (props) => {
|
|
|
3625
3583
|
params.push(null);
|
|
3626
3584
|
return true;
|
|
3627
3585
|
}
|
|
3586
|
+
if (!isSheetDrawing(searchParam)) {
|
|
3587
|
+
params.push(null);
|
|
3588
|
+
return true;
|
|
3589
|
+
}
|
|
3628
3590
|
const { unitId, subUnitId, drawingId, drawingType, anchorType, sheetTransform, axisAlignSheetTransform } = searchParam;
|
|
3629
3591
|
params.push({
|
|
3630
3592
|
unitId,
|
|
@@ -3648,9 +3610,9 @@ const SheetDrawingAnchor = (props) => {
|
|
|
3648
3610
|
const params = getUpdateParams(objects, drawingManagerService);
|
|
3649
3611
|
if (params.length === 0) setAnchorShow(false);
|
|
3650
3612
|
else if (params.length >= 1) {
|
|
3651
|
-
var _params$;
|
|
3652
3613
|
setAnchorShow(true);
|
|
3653
|
-
|
|
3614
|
+
const drawing = params[0];
|
|
3615
|
+
setValue(drawing ? getSheetDrawingPlacement(drawing).kind : SheetDrawingAnchorType.Position);
|
|
3654
3616
|
}
|
|
3655
3617
|
});
|
|
3656
3618
|
return () => {
|
|
@@ -3660,21 +3622,34 @@ const SheetDrawingAnchor = (props) => {
|
|
|
3660
3622
|
}, [drawingManagerService, transformer]);
|
|
3661
3623
|
if (!drawingParam || !transformer) return null;
|
|
3662
3624
|
function handleChange(value) {
|
|
3663
|
-
|
|
3625
|
+
const kind = getAnchorKind(value);
|
|
3626
|
+
if (!kind) return;
|
|
3664
3627
|
const focusDrawings = drawingManagerService.getFocusDrawings();
|
|
3665
|
-
if (focusDrawings.length
|
|
3666
|
-
const
|
|
3667
|
-
|
|
3668
|
-
|
|
3669
|
-
|
|
3628
|
+
if (!focusDrawings.length || !focusDrawings.every(isSheetDrawing)) return;
|
|
3629
|
+
const { unitId, subUnitId } = focusDrawings[0];
|
|
3630
|
+
const placementUpdates = [];
|
|
3631
|
+
for (const drawing of focusDrawings) {
|
|
3632
|
+
const { transform } = drawing;
|
|
3633
|
+
const { left, top, width, height } = transform ?? {};
|
|
3634
|
+
if (typeof left !== "number" || typeof top !== "number" || typeof width !== "number" || typeof height !== "number" || !Number.isFinite(left) || !Number.isFinite(top) || !Number.isFinite(width) || !Number.isFinite(height)) return;
|
|
3635
|
+
placementUpdates.push({
|
|
3670
3636
|
drawingId: drawing.drawingId,
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3637
|
+
placement: {
|
|
3638
|
+
kind,
|
|
3639
|
+
bounds: {
|
|
3640
|
+
left,
|
|
3641
|
+
top,
|
|
3642
|
+
width,
|
|
3643
|
+
height
|
|
3644
|
+
}
|
|
3645
|
+
}
|
|
3646
|
+
});
|
|
3647
|
+
}
|
|
3648
|
+
if (commandService.syncExecuteCommand(SetSheetDrawingPlacementCommand.id, {
|
|
3649
|
+
unitId,
|
|
3650
|
+
subUnitId,
|
|
3651
|
+
drawings: placementUpdates
|
|
3652
|
+
})) setValue(kind);
|
|
3678
3653
|
}
|
|
3679
3654
|
return /* @__PURE__ */ jsxs("div", {
|
|
3680
3655
|
className: clsx("univer-grid univer-gap-2 univer-py-2 univer-text-gray-400", { "univer-hidden": !anchorShow }),
|
|
@@ -3702,6 +3677,13 @@ const SheetDrawingAnchor = (props) => {
|
|
|
3702
3677
|
}) })]
|
|
3703
3678
|
});
|
|
3704
3679
|
};
|
|
3680
|
+
function isSheetDrawing(drawing) {
|
|
3681
|
+
return Boolean(drawing && "sheetTransform" in drawing && "axisAlignSheetTransform" in drawing);
|
|
3682
|
+
}
|
|
3683
|
+
function getAnchorKind(value) {
|
|
3684
|
+
if (value === SheetDrawingAnchorType.Position || value === SheetDrawingAnchorType.Both || value === SheetDrawingAnchorType.None) return value;
|
|
3685
|
+
return null;
|
|
3686
|
+
}
|
|
3705
3687
|
|
|
3706
3688
|
//#endregion
|
|
3707
3689
|
//#region src/views/sheet-image-panel/SheetDrawingPanel.tsx
|
|
@@ -3797,7 +3779,7 @@ let DrawingContextMenuController = class DrawingContextMenuController extends Rx
|
|
|
3797
3779
|
_contextMenuListener(workbook) {
|
|
3798
3780
|
var _this$_renderManagerS;
|
|
3799
3781
|
if (!workbook) return;
|
|
3800
|
-
const scene = (_this$_renderManagerS = this._renderManagerService.
|
|
3782
|
+
const scene = (_this$_renderManagerS = this._renderManagerService.getRenderUnitById(workbook.getUnitId())) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.scene;
|
|
3801
3783
|
if (!scene) return;
|
|
3802
3784
|
const transformer = scene.getTransformerByCreate();
|
|
3803
3785
|
if (!transformer) return;
|
|
@@ -3817,16 +3799,15 @@ let DrawingContextMenuController = class DrawingContextMenuController extends Rx
|
|
|
3817
3799
|
}));
|
|
3818
3800
|
}
|
|
3819
3801
|
_getContextMenuPosition(drawings) {
|
|
3820
|
-
var _this$_drawingContext;
|
|
3821
3802
|
if (drawings.length !== 1) return ContextMenuPosition.DRAWING;
|
|
3822
3803
|
const [drawing] = drawings;
|
|
3823
|
-
return
|
|
3804
|
+
return this._drawingContextMenuService.getContextMenuPosition({
|
|
3824
3805
|
unitId: drawing.unitId,
|
|
3825
3806
|
subUnitId: drawing.subUnitId,
|
|
3826
3807
|
drawingId: drawing.drawingId,
|
|
3827
3808
|
drawingType: drawing.drawingType,
|
|
3828
3809
|
drawing
|
|
3829
|
-
})
|
|
3810
|
+
}) ?? ContextMenuPosition.DRAWING;
|
|
3830
3811
|
}
|
|
3831
3812
|
};
|
|
3832
3813
|
DrawingContextMenuController = __decorate([
|
|
@@ -3918,7 +3899,14 @@ let SheetsDrawingRenderController = class SheetsDrawingRenderController extends
|
|
|
3918
3899
|
const drawingData = subUnitData.data[drawingId];
|
|
3919
3900
|
const { unitId, subUnitId } = drawingData;
|
|
3920
3901
|
const skeletonParam = this._sheetSkeletonService.getSkeletonParam(unitId, subUnitId);
|
|
3921
|
-
if (skeletonParam && drawingData.sheetTransform
|
|
3902
|
+
if (skeletonParam && drawingData.sheetTransform && !drawingData.groupId) {
|
|
3903
|
+
const transform = drawingPositionToTransform(drawingData.sheetTransform, skeletonParam);
|
|
3904
|
+
drawingData.transform = transform && drawingData.drawingType === DrawingTypeEnum.DRAWING_GROUP ? {
|
|
3905
|
+
...transform,
|
|
3906
|
+
left: (transform.left ?? 0) - skeletonParam.skeleton.rowHeaderWidthAndMarginLeft,
|
|
3907
|
+
top: (transform.top ?? 0) - skeletonParam.skeleton.columnHeaderHeightAndMarginTop
|
|
3908
|
+
} : transform;
|
|
3909
|
+
}
|
|
3922
3910
|
}
|
|
3923
3911
|
}
|
|
3924
3912
|
this._drawingManagerService.registerDrawingData(this._context.unitId, this._sheetDrawingService.getDrawingDataForUnit(this._context.unitId));
|
|
@@ -3934,9 +3922,11 @@ SheetsDrawingRenderController = __decorate([
|
|
|
3934
3922
|
//#endregion
|
|
3935
3923
|
//#region src/controllers/sheet-cell-image.controller.ts
|
|
3936
3924
|
function resizeImageByCell(injector, location, cell) {
|
|
3937
|
-
var
|
|
3938
|
-
|
|
3939
|
-
|
|
3925
|
+
var _documentData$drawing, _documentData$drawing2;
|
|
3926
|
+
const documentData = cell === null || cell === void 0 ? void 0 : cell.p;
|
|
3927
|
+
const drawingId = isCellImage(documentData) && (documentData === null || documentData === void 0 || (_documentData$drawing = documentData.drawingsOrder) === null || _documentData$drawing === void 0 ? void 0 : _documentData$drawing.length) === 1 ? documentData.drawingsOrder[0] : void 0;
|
|
3928
|
+
const image = drawingId ? documentData === null || documentData === void 0 || (_documentData$drawing2 = documentData.drawings) === null || _documentData$drawing2 === void 0 ? void 0 : _documentData$drawing2[drawingId] : void 0;
|
|
3929
|
+
if (image && documentData) {
|
|
3940
3930
|
const imageSize = getDrawingSizeByCell(injector, {
|
|
3941
3931
|
unitId: location.unitId,
|
|
3942
3932
|
subUnitId: location.subUnitId,
|
|
@@ -3952,8 +3942,8 @@ function resizeImageByCell(injector, location, cell) {
|
|
|
3952
3942
|
image.transform.top = 0;
|
|
3953
3943
|
image.docTransform.positionH.posOffset = 0;
|
|
3954
3944
|
image.docTransform.positionV.posOffset = 0;
|
|
3955
|
-
|
|
3956
|
-
|
|
3945
|
+
documentData.documentStyle.pageSize.width = Infinity;
|
|
3946
|
+
documentData.documentStyle.pageSize.height = Infinity;
|
|
3957
3947
|
return true;
|
|
3958
3948
|
}
|
|
3959
3949
|
}
|
|
@@ -3985,8 +3975,7 @@ let SheetCellImageController = class SheetCellImageController extends Disposable
|
|
|
3985
3975
|
effect: InterceptorEffectEnum.Style,
|
|
3986
3976
|
priority: InterceptCellContentPriority.CELL_IMAGE,
|
|
3987
3977
|
handler: (cell, pos, next) => {
|
|
3988
|
-
|
|
3989
|
-
if ((cell === null || cell === void 0 ? void 0 : cell.p) && ((_cell$p$drawingsOrder = cell.p.drawingsOrder) === null || _cell$p$drawingsOrder === void 0 ? void 0 : _cell$p$drawingsOrder.length)) {
|
|
3978
|
+
if (cell && isCellImage(cell.p)) {
|
|
3990
3979
|
if (cell === pos.rawData) cell = { ...pos.rawData };
|
|
3991
3980
|
if (!cell.interceptorStyle) cell.interceptorStyle = {};
|
|
3992
3981
|
cell.interceptorStyle.tr = { a: 0 };
|
|
@@ -4086,10 +4075,9 @@ let SheetCellImageCopyPasteController = class SheetCellImageCopyPasteController
|
|
|
4086
4075
|
_initDocImageCopyPasteHooks() {
|
|
4087
4076
|
this.disposeWithMe(this._commandService.beforeCommandExecuted((commandInfo) => {
|
|
4088
4077
|
if (commandInfo.id === InnerPasteCommand.id) {
|
|
4089
|
-
var _doc$drawings;
|
|
4090
4078
|
const { doc } = commandInfo.params;
|
|
4091
4079
|
const currentDoc = this._univerInstanceService.getCurrentUnitOfType(UniverInstanceType.UNIVER_DOC);
|
|
4092
|
-
if (currentDoc == null || !Object.keys(
|
|
4080
|
+
if (currentDoc == null || !Object.keys(doc.drawings ?? {}).length) return;
|
|
4093
4081
|
const docUnitId = currentDoc.getUnitId();
|
|
4094
4082
|
if (DISABLE_UNITS.includes(docUnitId)) {
|
|
4095
4083
|
var _currentDoc$getBody;
|
|
@@ -4105,7 +4093,6 @@ let SheetCellImageCopyPasteController = class SheetCellImageCopyPasteController
|
|
|
4105
4093
|
title: { label: this._localeService.t("sheets-drawing-ui.cell-image.pasteTitle") },
|
|
4106
4094
|
children: { label: this._localeService.t("sheets-drawing-ui.cell-image.pasteContent") },
|
|
4107
4095
|
width: 320,
|
|
4108
|
-
destroyOnClose: true,
|
|
4109
4096
|
onClose: handleCloseDialog,
|
|
4110
4097
|
showOk: true,
|
|
4111
4098
|
showCancel: true,
|
|
@@ -4157,12 +4144,11 @@ let SheetDrawingActiveRenderController = class SheetDrawingActiveRenderControlle
|
|
|
4157
4144
|
setTimeout(() => {
|
|
4158
4145
|
const drawingMap = this._drawingManagerService.drawingManagerData;
|
|
4159
4146
|
const removeDrawings = [];
|
|
4160
|
-
Object.keys(drawingMap
|
|
4161
|
-
|
|
4162
|
-
const subUnitMap = (_drawingMap$unitId = drawingMap[unitId]) !== null && _drawingMap$unitId !== void 0 ? _drawingMap$unitId : {};
|
|
4147
|
+
Object.keys(drawingMap ?? {}).forEach((unitId) => {
|
|
4148
|
+
const subUnitMap = drawingMap[unitId] ?? {};
|
|
4163
4149
|
Object.keys(subUnitMap).forEach((subUnitId) => {
|
|
4164
|
-
var _subUnitMap$subUnitId
|
|
4165
|
-
const drawingData = (_subUnitMap$subUnitId =
|
|
4150
|
+
var _subUnitMap$subUnitId;
|
|
4151
|
+
const drawingData = ((_subUnitMap$subUnitId = subUnitMap[subUnitId]) === null || _subUnitMap$subUnitId === void 0 ? void 0 : _subUnitMap$subUnitId.data) ?? {};
|
|
4166
4152
|
Object.keys(drawingData).forEach((drawingId) => {
|
|
4167
4153
|
if (unitId === selfUnitId) removeDrawings.push(drawingData[drawingId]);
|
|
4168
4154
|
});
|
|
@@ -4178,13 +4164,12 @@ let SheetDrawingActiveRenderController = class SheetDrawingActiveRenderControlle
|
|
|
4178
4164
|
const drawingMap = this._drawingManagerService.drawingManagerData;
|
|
4179
4165
|
const insertDrawings = [];
|
|
4180
4166
|
const removeDrawings = [];
|
|
4181
|
-
Object.keys(drawingMap
|
|
4182
|
-
var _drawingMap$unitId2;
|
|
4167
|
+
Object.keys(drawingMap ?? {}).forEach((unitId) => {
|
|
4183
4168
|
if (unitId !== showUnitId) return;
|
|
4184
|
-
const subUnitMap =
|
|
4169
|
+
const subUnitMap = drawingMap[unitId] ?? {};
|
|
4185
4170
|
Object.keys(subUnitMap).forEach((subUnitId) => {
|
|
4186
|
-
var _subUnitMap$
|
|
4187
|
-
const drawingData = (
|
|
4171
|
+
var _subUnitMap$subUnitId2;
|
|
4172
|
+
const drawingData = ((_subUnitMap$subUnitId2 = subUnitMap[subUnitId]) === null || _subUnitMap$subUnitId2 === void 0 ? void 0 : _subUnitMap$subUnitId2.data) ?? {};
|
|
4188
4173
|
Object.keys(drawingData).forEach((drawingId) => {
|
|
4189
4174
|
if (unitId === showUnitId && subUnitId === showSubunitId) {
|
|
4190
4175
|
const drawing = drawingData[drawingId];
|
|
@@ -4408,7 +4393,6 @@ let SheetsDrawingCopyPasteController = class SheetsDrawingCopyPasteController ex
|
|
|
4408
4393
|
subUnitId,
|
|
4409
4394
|
isCut: copyType === COPY_TYPE.CUT,
|
|
4410
4395
|
getTransform: (transform, sheetTransform) => {
|
|
4411
|
-
var _transformToDrawingPo, _transformToAxisAlign;
|
|
4412
4396
|
const pasteRect = attachRangeWithCoord(pasteToSkeleton, {
|
|
4413
4397
|
startRow: pasteRange.startRow,
|
|
4414
4398
|
endRow: pasteRange.endRow,
|
|
@@ -4422,8 +4406,8 @@ let SheetsDrawingCopyPasteController = class SheetsDrawingCopyPasteController ex
|
|
|
4422
4406
|
};
|
|
4423
4407
|
return {
|
|
4424
4408
|
transform: newTransform,
|
|
4425
|
-
sheetTransform:
|
|
4426
|
-
axisAlignSheetTransform:
|
|
4409
|
+
sheetTransform: transformToDrawingPosition(newTransform, pasteToSkeleton) ?? sheetTransform,
|
|
4410
|
+
axisAlignSheetTransform: transformToAxisAlignPosition(newTransform, pasteToSkeleton) ?? sheetTransform
|
|
4427
4411
|
};
|
|
4428
4412
|
}
|
|
4429
4413
|
});
|
|
@@ -4554,11 +4538,10 @@ let SheetsDrawingCopyPasteController = class SheetsDrawingCopyPasteController ex
|
|
|
4554
4538
|
unitId: toUnitId,
|
|
4555
4539
|
subUnitId: toSubUnitId,
|
|
4556
4540
|
getTransform: (transform, sheetTransform) => {
|
|
4557
|
-
var _transform$left, _transform$top, _transformToAxisAlign2;
|
|
4558
4541
|
const newTransform = {
|
|
4559
4542
|
...transform,
|
|
4560
|
-
left: ((
|
|
4561
|
-
top: ((
|
|
4543
|
+
left: ((transform === null || transform === void 0 ? void 0 : transform.left) ?? 0) + leftOffset,
|
|
4544
|
+
top: ((transform === null || transform === void 0 ? void 0 : transform.top) ?? 0) + topOffset
|
|
4562
4545
|
};
|
|
4563
4546
|
return {
|
|
4564
4547
|
transform: newTransform,
|
|
@@ -4575,7 +4558,7 @@ let SheetsDrawingCopyPasteController = class SheetsDrawingCopyPasteController ex
|
|
|
4575
4558
|
column: sheetTransform.from.column + columnOffset
|
|
4576
4559
|
}
|
|
4577
4560
|
},
|
|
4578
|
-
axisAlignSheetTransform:
|
|
4561
|
+
axisAlignSheetTransform: transformToAxisAlignPosition(newTransform, toSkeleton) ?? sheetTransform
|
|
4579
4562
|
};
|
|
4580
4563
|
},
|
|
4581
4564
|
isCut: copyType === COPY_TYPE.CUT
|
|
@@ -4643,7 +4626,7 @@ let SheetDrawingPermissionController = class SheetDrawingPermissionController ex
|
|
|
4643
4626
|
const subUnitId = sheet.getSheetId();
|
|
4644
4627
|
const drawingData = this._sheetDrawingService.getDrawingData(unitId, subUnitId);
|
|
4645
4628
|
const drawingDataValues = Object.values(drawingData);
|
|
4646
|
-
const renderObject = this._renderManagerService.
|
|
4629
|
+
const renderObject = this._renderManagerService.getRenderUnitById(unitId);
|
|
4647
4630
|
const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
|
|
4648
4631
|
if (!scene) return;
|
|
4649
4632
|
scene.getAllObjectsByOrder().forEach((object) => {
|
|
@@ -4677,7 +4660,7 @@ let SheetDrawingPermissionController = class SheetDrawingPermissionController ex
|
|
|
4677
4660
|
const subUnitId = sheet.getSheetId();
|
|
4678
4661
|
const drawingData = this._sheetDrawingService.getDrawingData(unitId, subUnitId);
|
|
4679
4662
|
const drawingDataValues = Object.values(drawingData);
|
|
4680
|
-
const renderObject = this._renderManagerService.
|
|
4663
|
+
const renderObject = this._renderManagerService.getRenderUnitById(unitId);
|
|
4681
4664
|
const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
|
|
4682
4665
|
if (!scene) return;
|
|
4683
4666
|
scene.getAllObjectsByOrder().forEach((object) => {
|
|
@@ -4693,7 +4676,7 @@ let SheetDrawingPermissionController = class SheetDrawingPermissionController ex
|
|
|
4693
4676
|
if (!sheet) return EMPTY;
|
|
4694
4677
|
const unitId = workbook.getUnitId();
|
|
4695
4678
|
const subUnitId = sheet.getSheetId();
|
|
4696
|
-
const renderObject = this._renderManagerService.
|
|
4679
|
+
const renderObject = this._renderManagerService.getRenderUnitById(unitId);
|
|
4697
4680
|
const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
|
|
4698
4681
|
if (!scene) return EMPTY;
|
|
4699
4682
|
const transformer = scene.getTransformerByCreate();
|
|
@@ -4741,7 +4724,7 @@ let SheetDrawingPermissionController = class SheetDrawingPermissionController ex
|
|
|
4741
4724
|
if (!sheet) return EMPTY;
|
|
4742
4725
|
const unitId = workbook.getUnitId();
|
|
4743
4726
|
const subUnitId = sheet.getSheetId();
|
|
4744
|
-
const renderObject = this._renderManagerService.
|
|
4727
|
+
const renderObject = this._renderManagerService.getRenderUnitById(unitId);
|
|
4745
4728
|
const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
|
|
4746
4729
|
if (!scene) return EMPTY;
|
|
4747
4730
|
const transformer = scene.getTransformerByCreate();
|
|
@@ -4778,7 +4761,7 @@ let SheetDrawingPermissionController = class SheetDrawingPermissionController ex
|
|
|
4778
4761
|
const sheet = workbook.getActiveSheet();
|
|
4779
4762
|
if (!sheet) return;
|
|
4780
4763
|
const subUnitId = sheet.getSheetId();
|
|
4781
|
-
const renderObject = this._renderManagerService.
|
|
4764
|
+
const renderObject = this._renderManagerService.getRenderUnitById(unitId);
|
|
4782
4765
|
const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
|
|
4783
4766
|
if (!scene) return;
|
|
4784
4767
|
const drawingData = this._sheetDrawingService.getDrawingData(unitId, subUnitId);
|
|
@@ -4799,6 +4782,10 @@ let SheetDrawingPermissionController = class SheetDrawingPermissionController ex
|
|
|
4799
4782
|
const { drawings } = command.params;
|
|
4800
4783
|
unitId = drawings === null || drawings === void 0 || (_drawings$ = drawings[0]) === null || _drawings$ === void 0 ? void 0 : _drawings$.unitId;
|
|
4801
4784
|
subUnitId = drawings === null || drawings === void 0 || (_drawings$2 = drawings[0]) === null || _drawings$2 === void 0 ? void 0 : _drawings$2.subUnitId;
|
|
4785
|
+
} else if (command.id === SetSheetDrawingPlacementCommand.id) {
|
|
4786
|
+
const target = getPlacementCommandTarget(command.params);
|
|
4787
|
+
unitId = target.unitId;
|
|
4788
|
+
subUnitId = target.subUnitId;
|
|
4802
4789
|
} else if (command.id === SetDrawingArrangeCommand.id) {
|
|
4803
4790
|
const params = command.params;
|
|
4804
4791
|
unitId = params.unitId;
|
|
@@ -4822,16 +4809,23 @@ SheetDrawingPermissionController = __decorate([
|
|
|
4822
4809
|
__decorateParam(6, Inject(SheetPermissionCheckController)),
|
|
4823
4810
|
__decorateParam(7, Inject(ISheetDrawingService))
|
|
4824
4811
|
], SheetDrawingPermissionController);
|
|
4812
|
+
function getPlacementCommandTarget(params) {
|
|
4813
|
+
if (!params) return {};
|
|
4814
|
+
return {
|
|
4815
|
+
unitId: "unitId" in params && typeof params.unitId === "string" ? params.unitId : void 0,
|
|
4816
|
+
subUnitId: "subUnitId" in params && typeof params.subUnitId === "string" ? params.subUnitId : void 0
|
|
4817
|
+
};
|
|
4818
|
+
}
|
|
4825
4819
|
|
|
4826
4820
|
//#endregion
|
|
4827
4821
|
//#region src/views/PrintingFloatDom.tsx
|
|
4828
4822
|
function createPrintingFloatDom(info, scene, skeleton, worksheet) {
|
|
4829
4823
|
const { width, height, angle, left, top } = info.transform;
|
|
4830
4824
|
const offsetBound = transformBound2DOMBound({
|
|
4831
|
-
left: left
|
|
4832
|
-
right: (left
|
|
4833
|
-
top: top
|
|
4834
|
-
bottom: (top
|
|
4825
|
+
left: left ?? 0,
|
|
4826
|
+
right: (left ?? 0) + (width ?? 0),
|
|
4827
|
+
top: top ?? 0,
|
|
4828
|
+
bottom: (top ?? 0) + (height ?? 0)
|
|
4835
4829
|
}, scene, skeleton, worksheet, void 0, true);
|
|
4836
4830
|
const { scaleX, scaleY } = scene.getAncestorScale();
|
|
4837
4831
|
const domPos = {
|
|
@@ -4915,7 +4909,7 @@ let SheetDrawingPrintingController = class SheetDrawingPrintingController extend
|
|
|
4915
4909
|
} }));
|
|
4916
4910
|
this.disposeWithMe(this._sheetPrintInterceptorService.interceptor.intercept(this._sheetPrintInterceptorService.interceptor.getInterceptPoints().PRINTING_RANGE, { handler: (range, pos, next) => {
|
|
4917
4911
|
const { unitId, subUnitId } = pos;
|
|
4918
|
-
const renderer = this._renderManagerService.
|
|
4912
|
+
const renderer = this._renderManagerService.getRenderUnitById(unitId);
|
|
4919
4913
|
if (!renderer) return next(range);
|
|
4920
4914
|
const skeleton = renderer.with(SheetSkeletonManagerService).getSkeletonParam(subUnitId);
|
|
4921
4915
|
if (!skeleton) return next(range);
|
|
@@ -5119,7 +5113,7 @@ const FlipSheetDrawingCommand = {
|
|
|
5119
5113
|
}
|
|
5120
5114
|
};
|
|
5121
5115
|
function getSceneByDrawingSearch(accessor, unitId) {
|
|
5122
|
-
const render = accessor.get(IRenderManagerService).
|
|
5116
|
+
const render = accessor.get(IRenderManagerService).getRenderUnitById(unitId);
|
|
5123
5117
|
if (!render) return null;
|
|
5124
5118
|
return render.scene;
|
|
5125
5119
|
}
|
|
@@ -5308,7 +5302,7 @@ let DrawingPopupMenuController = class DrawingPopupMenuController extends RxDisp
|
|
|
5308
5302
|
}
|
|
5309
5303
|
_popupMenuListener(unitId) {
|
|
5310
5304
|
var _this$_renderManagerS;
|
|
5311
|
-
const scene = (_this$_renderManagerS = this._renderManagerService.
|
|
5305
|
+
const scene = (_this$_renderManagerS = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.scene;
|
|
5312
5306
|
if (!scene) return;
|
|
5313
5307
|
const transformer = scene.getTransformerByCreate();
|
|
5314
5308
|
if (!transformer) return;
|
|
@@ -5333,7 +5327,7 @@ let DrawingPopupMenuController = class DrawingPopupMenuController extends RxDisp
|
|
|
5333
5327
|
const menus = this._canvasPopManagerService.getFeatureMenu(unitId, subUnitId, drawingId, drawingType);
|
|
5334
5328
|
singletonPopupDisposer = this.disposeWithMe(this._canvasPopManagerService.attachPopupToObject(object, {
|
|
5335
5329
|
componentKey: COMPONENT_IMAGE_POPUP_MENU,
|
|
5336
|
-
direction: "horizontal",
|
|
5330
|
+
direction: this._localeService.getDirection() === "rtl" ? "left" : "horizontal",
|
|
5337
5331
|
offset: [2, 0],
|
|
5338
5332
|
extraProps: { menuItems: menus || this._getImageMenuItems(unitId, subUnitId, drawingId, drawingType) }
|
|
5339
5333
|
}));
|
|
@@ -5472,7 +5466,7 @@ let SheetDrawingHitTestService = class SheetDrawingHitTestService extends Dispos
|
|
|
5472
5466
|
}
|
|
5473
5467
|
hitTest(unitId, subUnitId, offsetX, offsetY) {
|
|
5474
5468
|
var _this$_renderManagerS;
|
|
5475
|
-
const scene = (_this$_renderManagerS = this._renderManagerService.
|
|
5469
|
+
const scene = (_this$_renderManagerS = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.scene;
|
|
5476
5470
|
if (!scene) return null;
|
|
5477
5471
|
return this._hitTestScene(scene, unitId, subUnitId, offsetX, offsetY);
|
|
5478
5472
|
}
|
|
@@ -5496,7 +5490,7 @@ let SheetDrawingHitTestService = class SheetDrawingHitTestService extends Dispos
|
|
|
5496
5490
|
this._disposeDoubleClickListener();
|
|
5497
5491
|
return;
|
|
5498
5492
|
}
|
|
5499
|
-
const render = this._renderManagerService.
|
|
5493
|
+
const render = this._renderManagerService.getRenderUnitById(context.unitId);
|
|
5500
5494
|
const scene = render === null || render === void 0 ? void 0 : render.scene;
|
|
5501
5495
|
if (!render || !scene) {
|
|
5502
5496
|
this._disposeDoubleClickListener();
|
|
@@ -5627,7 +5621,7 @@ _defineProperty(UniverSheetsDrawingUIPlugin, "pluginName", "SHEET_IMAGE_UI_PLUGI
|
|
|
5627
5621
|
_defineProperty(UniverSheetsDrawingUIPlugin, "packageName", name);
|
|
5628
5622
|
_defineProperty(UniverSheetsDrawingUIPlugin, "version", version);
|
|
5629
5623
|
UniverSheetsDrawingUIPlugin = __decorate([
|
|
5630
|
-
DependentOn(UniverDrawingPlugin, UniverDocsDrawingPlugin, UniverDrawingUIPlugin,
|
|
5624
|
+
DependentOn(UniverDrawingPlugin, UniverRenderEnginePlugin, UniverDocsDrawingPlugin, UniverSheetsPlugin, UniverSheetsDrawingPlugin, UniverDrawingUIPlugin, UniverSheetsUIPlugin),
|
|
5631
5625
|
__decorateParam(1, Inject(Injector)),
|
|
5632
5626
|
__decorateParam(2, IRenderManagerService),
|
|
5633
5627
|
__decorateParam(3, IConfigService)
|