@univerjs/sheets-drawing 0.25.0 → 1.0.0-alpha.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 +207 -6
- package/lib/cjs/index.js +7 -7
- package/lib/es/facade.js +209 -8
- package/lib/es/index.js +7 -7
- package/lib/facade.js +209 -8
- package/lib/index.js +7 -7
- package/lib/types/facade/f-worksheet.d.ts +163 -1
- package/lib/types/index.d.ts +12 -7
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +1 -1
- package/package.json +7 -7
package/lib/facade.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { ArrangeTypeEnum, CanceledError, DrawingTypeEnum, ICommandService, ImageSourceType, Inject, Injector, generateRandomId } from "@univerjs/core";
|
|
1
|
+
import { ArrangeTypeEnum, CanceledError, DrawingTypeEnum, ICommandService, IUndoRedoService, ImageSourceType, Inject, Injector, generateRandomId } from "@univerjs/core";
|
|
2
2
|
import { FBase, FEnum, FEventName, FUniver } from "@univerjs/core/facade";
|
|
3
3
|
import { IDrawingManagerService, SetDrawingSelectedOperation, getImageSize } from "@univerjs/drawing";
|
|
4
4
|
import { SheetSkeletonService, convertPositionCellToSheetOverGrid, convertPositionSheetOverGridToAbsolute } from "@univerjs/sheets";
|
|
5
|
-
import { ISheetDrawingService, InsertSheetDrawingCommand, RemoveSheetDrawingCommand, SetDrawingArrangeCommand, SetSheetDrawingCommand, SheetDrawingAnchorType, transformToAxisAlignPosition } from "@univerjs/sheets-drawing";
|
|
5
|
+
import { DrawingApplyType, ISheetDrawingService, InsertSheetDrawingCommand, RemoveSheetDrawingCommand, SetDrawingApplyMutation, SetDrawingArrangeCommand, SetSheetDrawingCommand, SheetDrawingAnchorType, transformToAxisAlignPosition } from "@univerjs/sheets-drawing";
|
|
6
|
+
import { getGroupState, transformObjectOutOfGroup } from "@univerjs/engine-render";
|
|
6
7
|
import { FWorksheet } from "@univerjs/sheets/facade";
|
|
7
8
|
|
|
8
|
-
//#region \0@oxc-project+runtime@0.
|
|
9
|
+
//#region \0@oxc-project+runtime@0.137.0/helpers/esm/typeof.js
|
|
9
10
|
function _typeof(o) {
|
|
10
11
|
"@babel/helpers - typeof";
|
|
11
12
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -16,7 +17,7 @@ function _typeof(o) {
|
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
//#endregion
|
|
19
|
-
//#region \0@oxc-project+runtime@0.
|
|
20
|
+
//#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPrimitive.js
|
|
20
21
|
function toPrimitive(t, r) {
|
|
21
22
|
if ("object" != _typeof(t) || !t) return t;
|
|
22
23
|
var e = t[Symbol.toPrimitive];
|
|
@@ -29,14 +30,14 @@ function toPrimitive(t, r) {
|
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
//#endregion
|
|
32
|
-
//#region \0@oxc-project+runtime@0.
|
|
33
|
+
//#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPropertyKey.js
|
|
33
34
|
function toPropertyKey(t) {
|
|
34
35
|
var i = toPrimitive(t, "string");
|
|
35
36
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
//#endregion
|
|
39
|
-
//#region \0@oxc-project+runtime@0.
|
|
40
|
+
//#region \0@oxc-project+runtime@0.137.0/helpers/esm/defineProperty.js
|
|
40
41
|
function _defineProperty(e, r, t) {
|
|
41
42
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
42
43
|
value: t,
|
|
@@ -47,7 +48,7 @@ function _defineProperty(e, r, t) {
|
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
//#endregion
|
|
50
|
-
//#region \0@oxc-project+runtime@0.
|
|
51
|
+
//#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorateParam.js
|
|
51
52
|
function __decorateParam(paramIndex, decorator) {
|
|
52
53
|
return function(target, key) {
|
|
53
54
|
decorator(target, key, paramIndex);
|
|
@@ -55,7 +56,7 @@ function __decorateParam(paramIndex, decorator) {
|
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
//#endregion
|
|
58
|
-
//#region \0@oxc-project+runtime@0.
|
|
59
|
+
//#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorate.js
|
|
59
60
|
function __decorate(decorators, target, key, desc) {
|
|
60
61
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
61
62
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -890,6 +891,11 @@ FOverGridImage = __decorate([__decorateParam(1, ICommandService), __decoratePara
|
|
|
890
891
|
|
|
891
892
|
//#endregion
|
|
892
893
|
//#region src/facade/f-worksheet.ts
|
|
894
|
+
const GROUPABLE_DRAWING_TYPES = /* @__PURE__ */ new Set([
|
|
895
|
+
DrawingTypeEnum.DRAWING_IMAGE,
|
|
896
|
+
DrawingTypeEnum.DRAWING_SHAPE,
|
|
897
|
+
DrawingTypeEnum.DRAWING_GROUP
|
|
898
|
+
]);
|
|
893
899
|
var FWorksheetDrawingMixin = class extends FWorksheet {
|
|
894
900
|
async insertImage(url, column, row, offsetX, offsetY) {
|
|
895
901
|
const imageBuilder = this.newOverGridImage();
|
|
@@ -979,6 +985,201 @@ var FWorksheetDrawingMixin = class extends FWorksheet {
|
|
|
979
985
|
const subUnitId = this.getSheetId();
|
|
980
986
|
return this._injector.createInstance(FOverGridImageBuilder, unitId, subUnitId);
|
|
981
987
|
}
|
|
988
|
+
groupDrawings(drawingIds, groupId = generateRandomId(10)) {
|
|
989
|
+
const uniqueDrawingIds = Array.from(new Set(drawingIds));
|
|
990
|
+
if (uniqueDrawingIds.length < 2) return null;
|
|
991
|
+
const unitId = this._fWorkbook.getId();
|
|
992
|
+
const subUnitId = this.getSheetId();
|
|
993
|
+
const sheetDrawingService = this._injector.get(ISheetDrawingService);
|
|
994
|
+
if (sheetDrawingService.getDrawingByParam({
|
|
995
|
+
unitId,
|
|
996
|
+
subUnitId,
|
|
997
|
+
drawingId: groupId
|
|
998
|
+
})) return null;
|
|
999
|
+
const drawings = uniqueDrawingIds.map((drawingId) => sheetDrawingService.getDrawingByParam({
|
|
1000
|
+
unitId,
|
|
1001
|
+
subUnitId,
|
|
1002
|
+
drawingId
|
|
1003
|
+
}));
|
|
1004
|
+
if (drawings.some((drawing) => !drawing)) return null;
|
|
1005
|
+
if (drawings.some((drawing) => !GROUPABLE_DRAWING_TYPES.has(drawing.drawingType))) return null;
|
|
1006
|
+
const validDrawings = drawings;
|
|
1007
|
+
const groupTransform = getGroupState(0, 0, validDrawings.map((drawing) => drawing.transform || {}));
|
|
1008
|
+
const groupParam = {
|
|
1009
|
+
unitId,
|
|
1010
|
+
subUnitId,
|
|
1011
|
+
drawingId: groupId,
|
|
1012
|
+
drawingType: DrawingTypeEnum.DRAWING_GROUP,
|
|
1013
|
+
transform: groupTransform,
|
|
1014
|
+
groupBaseBound: {
|
|
1015
|
+
left: groupTransform.left,
|
|
1016
|
+
top: groupTransform.top,
|
|
1017
|
+
width: groupTransform.width,
|
|
1018
|
+
height: groupTransform.height
|
|
1019
|
+
}
|
|
1020
|
+
};
|
|
1021
|
+
const children = validDrawings.map((drawing) => ({
|
|
1022
|
+
...drawing,
|
|
1023
|
+
groupId
|
|
1024
|
+
}));
|
|
1025
|
+
return this._applyGroupDrawingOperation([{
|
|
1026
|
+
parent: groupParam,
|
|
1027
|
+
children
|
|
1028
|
+
}], DrawingApplyType.GROUP) ? groupId : null;
|
|
1029
|
+
}
|
|
1030
|
+
ungroupDrawings(groupIds) {
|
|
1031
|
+
const unitId = this._fWorkbook.getId();
|
|
1032
|
+
const subUnitId = this.getSheetId();
|
|
1033
|
+
const sheetDrawingService = this._injector.get(ISheetDrawingService);
|
|
1034
|
+
const groupParams = [];
|
|
1035
|
+
for (const groupId of groupIds) {
|
|
1036
|
+
const groupDrawing = sheetDrawingService.getDrawingByParam({
|
|
1037
|
+
unitId,
|
|
1038
|
+
subUnitId,
|
|
1039
|
+
drawingId: groupId
|
|
1040
|
+
});
|
|
1041
|
+
if (!groupDrawing || groupDrawing.drawingType !== DrawingTypeEnum.DRAWING_GROUP) continue;
|
|
1042
|
+
const groupTransform = groupDrawing.transform || {
|
|
1043
|
+
width: 0,
|
|
1044
|
+
height: 0
|
|
1045
|
+
};
|
|
1046
|
+
const children = sheetDrawingService.getDrawingsByGroup({
|
|
1047
|
+
unitId,
|
|
1048
|
+
subUnitId,
|
|
1049
|
+
drawingId: groupId
|
|
1050
|
+
}).map((drawing) => {
|
|
1051
|
+
const newTransform = transformObjectOutOfGroup(drawing.transform || {}, groupTransform, groupTransform.width || 0, groupTransform.height || 0, groupDrawing.groupBaseBound);
|
|
1052
|
+
return {
|
|
1053
|
+
...drawing,
|
|
1054
|
+
transform: {
|
|
1055
|
+
...drawing.transform,
|
|
1056
|
+
...newTransform
|
|
1057
|
+
},
|
|
1058
|
+
groupId: void 0
|
|
1059
|
+
};
|
|
1060
|
+
});
|
|
1061
|
+
if (children.length > 0) groupParams.push({
|
|
1062
|
+
parent: groupDrawing,
|
|
1063
|
+
children
|
|
1064
|
+
});
|
|
1065
|
+
}
|
|
1066
|
+
return this._applyGroupDrawingOperation(groupParams, DrawingApplyType.UNGROUP);
|
|
1067
|
+
}
|
|
1068
|
+
getDrawingGroupChildren(groupId, recursive = false) {
|
|
1069
|
+
const unitId = this._fWorkbook.getId();
|
|
1070
|
+
const subUnitId = this.getSheetId();
|
|
1071
|
+
const sheetDrawingService = this._injector.get(ISheetDrawingService);
|
|
1072
|
+
if (!recursive) return sheetDrawingService.getDrawingsByGroup({
|
|
1073
|
+
unitId,
|
|
1074
|
+
subUnitId,
|
|
1075
|
+
drawingId: groupId
|
|
1076
|
+
});
|
|
1077
|
+
const nested = sheetDrawingService.getDrawingsByGroupNested({
|
|
1078
|
+
unitId,
|
|
1079
|
+
subUnitId,
|
|
1080
|
+
drawingId: groupId
|
|
1081
|
+
});
|
|
1082
|
+
if (!nested) return [];
|
|
1083
|
+
return [...nested.flatChildren || [], ...nested.groups.filter((group) => group.drawingId !== groupId)];
|
|
1084
|
+
}
|
|
1085
|
+
getDrawingParentGroup(drawingId) {
|
|
1086
|
+
const unitId = this._fWorkbook.getId();
|
|
1087
|
+
const subUnitId = this.getSheetId();
|
|
1088
|
+
const sheetDrawingService = this._injector.get(ISheetDrawingService);
|
|
1089
|
+
const drawing = sheetDrawingService.getDrawingByParam({
|
|
1090
|
+
unitId,
|
|
1091
|
+
subUnitId,
|
|
1092
|
+
drawingId
|
|
1093
|
+
});
|
|
1094
|
+
if (!(drawing === null || drawing === void 0 ? void 0 : drawing.groupId)) return null;
|
|
1095
|
+
const groupDrawing = sheetDrawingService.getDrawingByParam({
|
|
1096
|
+
unitId,
|
|
1097
|
+
subUnitId,
|
|
1098
|
+
drawingId: drawing.groupId
|
|
1099
|
+
});
|
|
1100
|
+
if (!groupDrawing || groupDrawing.drawingType !== DrawingTypeEnum.DRAWING_GROUP) return null;
|
|
1101
|
+
return groupDrawing;
|
|
1102
|
+
}
|
|
1103
|
+
isDrawingGrouped(drawingId) {
|
|
1104
|
+
return this.getDrawingParentGroup(drawingId) !== null;
|
|
1105
|
+
}
|
|
1106
|
+
_applyGroupDrawingOperation(groupParams, type) {
|
|
1107
|
+
if (groupParams.length === 0) return false;
|
|
1108
|
+
const sheetDrawingService = this._injector.get(ISheetDrawingService);
|
|
1109
|
+
const commandService = this._commandService;
|
|
1110
|
+
const undoRedoService = this._injector.get(IUndoRedoService);
|
|
1111
|
+
const { unitId, subUnitId, undo, redo, objects } = type === DrawingApplyType.GROUP ? sheetDrawingService.getGroupDrawingOp(groupParams) : sheetDrawingService.getUngroupDrawingOp(groupParams);
|
|
1112
|
+
if (commandService.syncExecuteCommand(SetDrawingApplyMutation.id, {
|
|
1113
|
+
op: redo,
|
|
1114
|
+
unitId,
|
|
1115
|
+
subUnitId,
|
|
1116
|
+
objects,
|
|
1117
|
+
type
|
|
1118
|
+
})) {
|
|
1119
|
+
const inverseType = type === DrawingApplyType.GROUP ? DrawingApplyType.UNGROUP : DrawingApplyType.GROUP;
|
|
1120
|
+
undoRedoService.pushUndoRedo({
|
|
1121
|
+
unitID: unitId,
|
|
1122
|
+
undoMutations: [{
|
|
1123
|
+
id: SetDrawingApplyMutation.id,
|
|
1124
|
+
params: {
|
|
1125
|
+
op: undo,
|
|
1126
|
+
unitId,
|
|
1127
|
+
subUnitId,
|
|
1128
|
+
objects: this._invertGroupOperationObjects(objects, type),
|
|
1129
|
+
type: inverseType
|
|
1130
|
+
}
|
|
1131
|
+
}],
|
|
1132
|
+
redoMutations: [{
|
|
1133
|
+
id: SetDrawingApplyMutation.id,
|
|
1134
|
+
params: {
|
|
1135
|
+
op: redo,
|
|
1136
|
+
unitId,
|
|
1137
|
+
subUnitId,
|
|
1138
|
+
objects,
|
|
1139
|
+
type
|
|
1140
|
+
}
|
|
1141
|
+
}]
|
|
1142
|
+
});
|
|
1143
|
+
return true;
|
|
1144
|
+
}
|
|
1145
|
+
return false;
|
|
1146
|
+
}
|
|
1147
|
+
_invertGroupOperationObjects(groupParams, type) {
|
|
1148
|
+
return type === DrawingApplyType.GROUP ? groupParams.map((groupParam) => {
|
|
1149
|
+
const { parent, children } = groupParam;
|
|
1150
|
+
const groupTransform = parent.transform || {
|
|
1151
|
+
width: 0,
|
|
1152
|
+
height: 0
|
|
1153
|
+
};
|
|
1154
|
+
return {
|
|
1155
|
+
parent: {
|
|
1156
|
+
...parent,
|
|
1157
|
+
transform: {
|
|
1158
|
+
left: 0,
|
|
1159
|
+
top: 0
|
|
1160
|
+
}
|
|
1161
|
+
},
|
|
1162
|
+
children: children.map((child) => ({
|
|
1163
|
+
...child,
|
|
1164
|
+
transform: transformObjectOutOfGroup(child.transform || {}, groupTransform, groupTransform.width || 0, groupTransform.height || 0, parent.groupBaseBound),
|
|
1165
|
+
groupId: void 0
|
|
1166
|
+
}))
|
|
1167
|
+
};
|
|
1168
|
+
}) : groupParams.map((groupParam) => {
|
|
1169
|
+
const { parent, children } = groupParam;
|
|
1170
|
+
const groupTransform = getGroupState(0, 0, children.map((child) => child.transform || {}));
|
|
1171
|
+
return {
|
|
1172
|
+
parent: {
|
|
1173
|
+
...parent,
|
|
1174
|
+
transform: groupTransform
|
|
1175
|
+
},
|
|
1176
|
+
children: children.map((child) => ({
|
|
1177
|
+
...child,
|
|
1178
|
+
groupId: parent.drawingId
|
|
1179
|
+
}))
|
|
1180
|
+
};
|
|
1181
|
+
});
|
|
1182
|
+
}
|
|
982
1183
|
};
|
|
983
1184
|
FWorksheet.extend(FWorksheetDrawingMixin);
|
|
984
1185
|
|
package/lib/index.js
CHANGED
|
@@ -405,7 +405,7 @@ const SetSheetDrawingCommand = {
|
|
|
405
405
|
};
|
|
406
406
|
|
|
407
407
|
//#endregion
|
|
408
|
-
//#region \0@oxc-project+runtime@0.
|
|
408
|
+
//#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorateParam.js
|
|
409
409
|
function __decorateParam(paramIndex, decorator) {
|
|
410
410
|
return function(target, key) {
|
|
411
411
|
decorator(target, key, paramIndex);
|
|
@@ -413,7 +413,7 @@ function __decorateParam(paramIndex, decorator) {
|
|
|
413
413
|
}
|
|
414
414
|
|
|
415
415
|
//#endregion
|
|
416
|
-
//#region \0@oxc-project+runtime@0.
|
|
416
|
+
//#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorate.js
|
|
417
417
|
function __decorate(decorators, target, key, desc) {
|
|
418
418
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
419
419
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -583,7 +583,7 @@ SheetsDrawingLoadController = __decorate([
|
|
|
583
583
|
//#endregion
|
|
584
584
|
//#region package.json
|
|
585
585
|
var name = "@univerjs/sheets-drawing";
|
|
586
|
-
var version = "0.
|
|
586
|
+
var version = "1.0.0-alpha.0";
|
|
587
587
|
|
|
588
588
|
//#endregion
|
|
589
589
|
//#region src/config/config.ts
|
|
@@ -607,7 +607,7 @@ const configSymbol = Symbol(SHEETS_DRAWING_PLUGIN_CONFIG_KEY);
|
|
|
607
607
|
const defaultPluginConfig = {};
|
|
608
608
|
|
|
609
609
|
//#endregion
|
|
610
|
-
//#region \0@oxc-project+runtime@0.
|
|
610
|
+
//#region \0@oxc-project+runtime@0.137.0/helpers/esm/typeof.js
|
|
611
611
|
function _typeof(o) {
|
|
612
612
|
"@babel/helpers - typeof";
|
|
613
613
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -618,7 +618,7 @@ function _typeof(o) {
|
|
|
618
618
|
}
|
|
619
619
|
|
|
620
620
|
//#endregion
|
|
621
|
-
//#region \0@oxc-project+runtime@0.
|
|
621
|
+
//#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPrimitive.js
|
|
622
622
|
function toPrimitive(t, r) {
|
|
623
623
|
if ("object" != _typeof(t) || !t) return t;
|
|
624
624
|
var e = t[Symbol.toPrimitive];
|
|
@@ -631,14 +631,14 @@ function toPrimitive(t, r) {
|
|
|
631
631
|
}
|
|
632
632
|
|
|
633
633
|
//#endregion
|
|
634
|
-
//#region \0@oxc-project+runtime@0.
|
|
634
|
+
//#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPropertyKey.js
|
|
635
635
|
function toPropertyKey(t) {
|
|
636
636
|
var i = toPrimitive(t, "string");
|
|
637
637
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
638
638
|
}
|
|
639
639
|
|
|
640
640
|
//#endregion
|
|
641
|
-
//#region \0@oxc-project+runtime@0.
|
|
641
|
+
//#region \0@oxc-project+runtime@0.137.0/helpers/esm/defineProperty.js
|
|
642
642
|
function _defineProperty(e, r, t) {
|
|
643
643
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
644
644
|
value: t,
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import type { IFBlobSource } from '@univerjs/core/facade';
|
|
17
|
-
import type { ISheetImage } from '@univerjs/sheets-drawing';
|
|
17
|
+
import type { ISheetDrawing, ISheetImage } from '@univerjs/sheets-drawing';
|
|
18
18
|
import { FWorksheet } from '@univerjs/sheets/facade';
|
|
19
19
|
import { FOverGridImage, FOverGridImageBuilder } from './f-over-grid-image';
|
|
20
20
|
/**
|
|
@@ -206,6 +206,161 @@ export interface IFWorksheetDrawingMixin {
|
|
|
206
206
|
* ```
|
|
207
207
|
*/
|
|
208
208
|
newOverGridImage(): FOverGridImageBuilder;
|
|
209
|
+
/**
|
|
210
|
+
* Group drawings on the current sheet.
|
|
211
|
+
* @param {string[]} drawingIds - The drawing ids to group. At least two drawings are required.
|
|
212
|
+
* @param {string} [groupId] - Optional group drawing id. If omitted, a new id will be generated.
|
|
213
|
+
* @returns {string | null} The group id if the operation succeeds, otherwise null.
|
|
214
|
+
* @example
|
|
215
|
+
* ```ts
|
|
216
|
+
* // Group two over-grid images on the active sheet.
|
|
217
|
+
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
218
|
+
* const fWorksheet = fWorkbook.getActiveSheet();
|
|
219
|
+
* const image1 = await fWorksheet.newOverGridImage()
|
|
220
|
+
* .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
|
|
221
|
+
* .setColumn(1)
|
|
222
|
+
* .setRow(1)
|
|
223
|
+
* .setWidth(100)
|
|
224
|
+
* .setHeight(100)
|
|
225
|
+
* .buildAsync();
|
|
226
|
+
* const image2 = await fWorksheet.newOverGridImage()
|
|
227
|
+
* .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
|
|
228
|
+
* .setColumn(3)
|
|
229
|
+
* .setRow(1)
|
|
230
|
+
* .setWidth(100)
|
|
231
|
+
* .setHeight(100)
|
|
232
|
+
* .buildAsync();
|
|
233
|
+
* fWorksheet.insertImages([image1, image2]);
|
|
234
|
+
* const groupId = fWorksheet.groupDrawings([image1.drawingId, image2.drawingId]);
|
|
235
|
+
* console.log(groupId);
|
|
236
|
+
* ```
|
|
237
|
+
*/
|
|
238
|
+
groupDrawings(drawingIds: string[], groupId?: string): string | null;
|
|
239
|
+
/**
|
|
240
|
+
* Ungroup drawing groups on the current sheet.
|
|
241
|
+
* @param {string[]} groupIds - The group drawing ids to ungroup.
|
|
242
|
+
* @returns {boolean} true if the operation succeeds, otherwise false.
|
|
243
|
+
* @example
|
|
244
|
+
* ```ts
|
|
245
|
+
* // Group two images, then ungroup the generated group.
|
|
246
|
+
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
247
|
+
* const fWorksheet = fWorkbook.getActiveSheet();
|
|
248
|
+
* const image1 = await fWorksheet.newOverGridImage()
|
|
249
|
+
* .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
|
|
250
|
+
* .setColumn(1)
|
|
251
|
+
* .setRow(1)
|
|
252
|
+
* .setWidth(100)
|
|
253
|
+
* .setHeight(100)
|
|
254
|
+
* .buildAsync();
|
|
255
|
+
* const image2 = await fWorksheet.newOverGridImage()
|
|
256
|
+
* .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
|
|
257
|
+
* .setColumn(3)
|
|
258
|
+
* .setRow(1)
|
|
259
|
+
* .setWidth(100)
|
|
260
|
+
* .setHeight(100)
|
|
261
|
+
* .buildAsync();
|
|
262
|
+
* fWorksheet.insertImages([image1, image2]);
|
|
263
|
+
* const groupId = fWorksheet.groupDrawings([image1.drawingId, image2.drawingId]);
|
|
264
|
+
* if (groupId) {
|
|
265
|
+
* const result = fWorksheet.ungroupDrawings([groupId]);
|
|
266
|
+
* console.log(result);
|
|
267
|
+
* }
|
|
268
|
+
* ```
|
|
269
|
+
*/
|
|
270
|
+
ungroupDrawings(groupIds: string[]): boolean;
|
|
271
|
+
/**
|
|
272
|
+
* Get children of a drawing group on the current sheet.
|
|
273
|
+
* @param {string} groupId - The group drawing id.
|
|
274
|
+
* @param {boolean} [recursive] - Whether to return all descendants.
|
|
275
|
+
* @returns {ISheetDrawing[]} The child drawings.
|
|
276
|
+
* @example
|
|
277
|
+
* ```ts
|
|
278
|
+
* // Get the direct children of a drawing group.
|
|
279
|
+
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
280
|
+
* const fWorksheet = fWorkbook.getActiveSheet();
|
|
281
|
+
* const image1 = await fWorksheet.newOverGridImage()
|
|
282
|
+
* .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
|
|
283
|
+
* .setColumn(1)
|
|
284
|
+
* .setRow(1)
|
|
285
|
+
* .setWidth(100)
|
|
286
|
+
* .setHeight(100)
|
|
287
|
+
* .buildAsync();
|
|
288
|
+
* const image2 = await fWorksheet.newOverGridImage()
|
|
289
|
+
* .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
|
|
290
|
+
* .setColumn(3)
|
|
291
|
+
* .setRow(1)
|
|
292
|
+
* .setWidth(100)
|
|
293
|
+
* .setHeight(100)
|
|
294
|
+
* .buildAsync();
|
|
295
|
+
* fWorksheet.insertImages([image1, image2]);
|
|
296
|
+
* const groupId = fWorksheet.groupDrawings([image1.drawingId, image2.drawingId]);
|
|
297
|
+
* if (groupId) {
|
|
298
|
+
* const children = fWorksheet.getDrawingGroupChildren(groupId);
|
|
299
|
+
* console.log(children.map((drawing) => drawing.drawingId));
|
|
300
|
+
* }
|
|
301
|
+
* ```
|
|
302
|
+
*/
|
|
303
|
+
getDrawingGroupChildren(groupId: string, recursive?: boolean): ISheetDrawing[];
|
|
304
|
+
/**
|
|
305
|
+
* Get the parent group of a drawing on the current sheet.
|
|
306
|
+
* @param {string} drawingId - The child drawing id.
|
|
307
|
+
* @returns {ISheetDrawing | null} The parent group drawing, or null if the drawing is not grouped.
|
|
308
|
+
* @example
|
|
309
|
+
* ```ts
|
|
310
|
+
* // Get the parent group of a drawing.
|
|
311
|
+
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
312
|
+
* const fWorksheet = fWorkbook.getActiveSheet();
|
|
313
|
+
* const image1 = await fWorksheet.newOverGridImage()
|
|
314
|
+
* .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
|
|
315
|
+
* .setColumn(1)
|
|
316
|
+
* .setRow(1)
|
|
317
|
+
* .setWidth(100)
|
|
318
|
+
* .setHeight(100)
|
|
319
|
+
* .buildAsync();
|
|
320
|
+
* const image2 = await fWorksheet.newOverGridImage()
|
|
321
|
+
* .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
|
|
322
|
+
* .setColumn(3)
|
|
323
|
+
* .setRow(1)
|
|
324
|
+
* .setWidth(100)
|
|
325
|
+
* .setHeight(100)
|
|
326
|
+
* .buildAsync();
|
|
327
|
+
* fWorksheet.insertImages([image1, image2]);
|
|
328
|
+
* fWorksheet.groupDrawings([image1.drawingId, image2.drawingId]);
|
|
329
|
+
* const parentGroup = fWorksheet.getDrawingParentGroup(image1.drawingId);
|
|
330
|
+
* console.log(parentGroup?.drawingId);
|
|
331
|
+
* ```
|
|
332
|
+
*/
|
|
333
|
+
getDrawingParentGroup(drawingId: string): ISheetDrawing | null;
|
|
334
|
+
/**
|
|
335
|
+
* Returns whether a drawing is inside a group on the current sheet.
|
|
336
|
+
* @param {string} drawingId - The drawing id.
|
|
337
|
+
* @returns {boolean} true if the drawing has a parent group.
|
|
338
|
+
* @example
|
|
339
|
+
* ```ts
|
|
340
|
+
* // Check whether a drawing is inside a group.
|
|
341
|
+
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
342
|
+
* const fWorksheet = fWorkbook.getActiveSheet();
|
|
343
|
+
* const image1 = await fWorksheet.newOverGridImage()
|
|
344
|
+
* .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
|
|
345
|
+
* .setColumn(1)
|
|
346
|
+
* .setRow(1)
|
|
347
|
+
* .setWidth(100)
|
|
348
|
+
* .setHeight(100)
|
|
349
|
+
* .buildAsync();
|
|
350
|
+
* const image2 = await fWorksheet.newOverGridImage()
|
|
351
|
+
* .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
|
|
352
|
+
* .setColumn(3)
|
|
353
|
+
* .setRow(1)
|
|
354
|
+
* .setWidth(100)
|
|
355
|
+
* .setHeight(100)
|
|
356
|
+
* .buildAsync();
|
|
357
|
+
* fWorksheet.insertImages([image1, image2]);
|
|
358
|
+
* fWorksheet.groupDrawings([image1.drawingId, image2.drawingId]);
|
|
359
|
+
* const isGrouped = fWorksheet.isDrawingGrouped(image1.drawingId);
|
|
360
|
+
* console.log(isGrouped);
|
|
361
|
+
* ```
|
|
362
|
+
*/
|
|
363
|
+
isDrawingGrouped(drawingId: string): boolean;
|
|
209
364
|
}
|
|
210
365
|
export declare class FWorksheetDrawingMixin extends FWorksheet implements IFWorksheetDrawingMixin {
|
|
211
366
|
insertImage(url: IFBlobSource | string, column?: number, row?: number, offsetX?: number, offsetY?: number): Promise<boolean>;
|
|
@@ -216,6 +371,13 @@ export declare class FWorksheetDrawingMixin extends FWorksheet implements IFWork
|
|
|
216
371
|
getActiveImages(): FOverGridImage[];
|
|
217
372
|
updateImages(sheetImages: ISheetImage[]): FWorksheet;
|
|
218
373
|
newOverGridImage(): FOverGridImageBuilder;
|
|
374
|
+
groupDrawings(drawingIds: string[], groupId?: string): string | null;
|
|
375
|
+
ungroupDrawings(groupIds: string[]): boolean;
|
|
376
|
+
getDrawingGroupChildren(groupId: string, recursive?: boolean): ISheetDrawing[];
|
|
377
|
+
getDrawingParentGroup(drawingId: string): ISheetDrawing | null;
|
|
378
|
+
isDrawingGrouped(drawingId: string): boolean;
|
|
379
|
+
private _applyGroupDrawingOperation;
|
|
380
|
+
private _invertGroupOperationObjects;
|
|
219
381
|
}
|
|
220
382
|
declare module '@univerjs/sheets/facade' {
|
|
221
383
|
interface FWorksheet extends IFWorksheetDrawingMixin {
|
package/lib/types/index.d.ts
CHANGED
|
@@ -13,15 +13,20 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export { drawingPositionToTransform, transformToAxisAlignPosition, transformToDrawingPosition } from './basics/transform-position';
|
|
17
|
-
export {
|
|
18
|
-
export
|
|
19
|
-
export {
|
|
20
|
-
export {
|
|
21
|
-
export {
|
|
16
|
+
export { drawingPositionToTransform, transformToAxisAlignPosition, transformToDrawingPosition, } from './basics/transform-position';
|
|
17
|
+
export { InsertSheetDrawingCommand } from './commands/commands/insert-sheet-drawing.command';
|
|
18
|
+
export type { IInsertDrawingCommandParams } from './commands/commands/insert-sheet-drawing.command';
|
|
19
|
+
export { RemoveSheetDrawingCommand } from './commands/commands/remove-sheet-drawing.command';
|
|
20
|
+
export type { IDeleteDrawingCommandParam, IDeleteDrawingCommandParams, } from './commands/commands/remove-sheet-drawing.command';
|
|
21
|
+
export { SetDrawingArrangeCommand } from './commands/commands/set-drawing-arrange.command';
|
|
22
|
+
export type { ISetDrawingArrangeCommandParams } from './commands/commands/set-drawing-arrange.command';
|
|
23
|
+
export { SetSheetDrawingCommand } from './commands/commands/set-sheet-drawing.command';
|
|
24
|
+
export type { ISetDrawingCommandParams } from './commands/commands/set-sheet-drawing.command';
|
|
25
|
+
export { DrawingApplyType, SetDrawingApplyMutation } from './commands/mutations/set-drawing-apply.mutation';
|
|
26
|
+
export type { ISetDrawingApplyMutationParams } from './commands/mutations/set-drawing-apply.mutation';
|
|
22
27
|
export { ClearSheetDrawingTransformerOperation } from './commands/operations/clear-drawing-transformer.operation';
|
|
23
28
|
export type { IUniverSheetsDrawingConfig } from './config/config';
|
|
24
29
|
export { SHEET_DRAWING_PLUGIN } from './controllers/sheet-drawing.controller';
|
|
25
30
|
export { UniverSheetsDrawingPlugin } from './plugin';
|
|
26
31
|
export { ISheetDrawingService, SheetDrawingAnchorType } from './services/sheet-drawing.service';
|
|
27
|
-
export type { IFloatDomData, ISheetDrawing, ISheetDrawingPosition, ISheetFloatDom, ISheetImage, ISheetShape } from './services/sheet-drawing.service';
|
|
32
|
+
export type { IFloatDomData, ISheetDrawing, ISheetDrawingPosition, ISheetFloatDom, ISheetImage, ISheetShape, } from './services/sheet-drawing.service';
|
package/lib/umd/facade.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/drawing"),require("@univerjs/sheets"),require("@univerjs/sheets-drawing"),require("@univerjs/sheets/facade")):typeof define==`function`&&define.amd?define([`@univerjs/core`,`@univerjs/core/facade`,`@univerjs/drawing`,`@univerjs/sheets`,`@univerjs/sheets-drawing`,`@univerjs/sheets/facade`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverCore,e.UniverCoreFacade,e.UniverDrawing,e.UniverSheets,e.UniverSheetsDrawing,e.UniverSheetsFacade))})(this,function(e,t,n,r,i,a){function o(e){"@babel/helpers - typeof";return o=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},o(e)}function s(e,t){if(o(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(o(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function c(e){var t=s(e,`string`);return o(t)==`symbol`?t:t+``}function l(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e,t){return function(n,r){t(n,r,e)}}function d(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function f(e,t){let{from:n,to:i,flipY:a=!1,flipX:o=!1,angle:s=0,skewX:c=0,skewY:l=0}=e.sheetTransform,{column:u,columnOffset:d,row:f,rowOffset:p}=n,{width:m,height:h}=(0,r.convertPositionSheetOverGridToAbsolute)(e.unitId,e.subUnitId,{from:n,to:i},t);return{...e,column:u,columnOffset:d,row:f,rowOffset:p,width:m,height:h,flipY:a,flipX:o,angle:s,skewX:c,skewY:l}}function p(e,t){let n=t.ensureSkeleton(e.unitId,e.subUnitId);if(!n)throw Error(`Skeleton for unitId ${e.unitId} and subUnitId ${e.subUnitId} not found`);let{column:a,columnOffset:o,row:s,rowOffset:c,flipY:l=!1,flipX:u=!1,angle:d=0,skewX:f=0,skewY:p=0,width:m,height:h}=e,{sheetTransform:g,transform:_}=(0,r.convertPositionCellToSheetOverGrid)(e.unitId,e.subUnitId,{column:a,columnOffset:o,row:s,rowOffset:c},m,h,n);return{...e,sheetTransform:{...g,flipY:l,flipX:u,angle:d,skewX:f,skewY:p},transform:{..._,flipY:l,flipX:u,angle:d,skewX:f,skewY:p},axisAlignSheetTransform:(0,i.transformToAxisAlignPosition)(_,n)}}let m=class{constructor(t,n,r){this._injector=r,l(this,`_image`,void 0),this._image={drawingId:(0,e.generateRandomId)(6),drawingType:e.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:e.ImageSourceType.BASE64,source:``,unitId:t,subUnitId:n,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0,axisAlignSheetTransform:{from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}}}setImage(e){let{unitId:t,subUnitId:n}=e,i=this._injector.get(r.SheetSkeletonService).getSkeleton(t,n);if(!i)throw Error(`Skeleton for unitId ${t} and subUnitId ${n} not found`);return e.sheetTransform==null&&(e.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),e.axisAlignSheetTransform==null&&(e.axisAlignSheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=f(e,i),this}setSource(t,n){let r=n==null?e.ImageSourceType.URL:n;return this._image.source=t,this._image.imageSourceType=r,this}getSource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(e){return this._image.column=e,this}setRow(e){return this._image.row=e,this}setColumnOffset(e){return this._image.columnOffset=e,this}setRowOffset(e){return this._image.rowOffset=e,this}setWidth(e){return this._image.width=e,this}setHeight(e){return this._image.height=e,this}setAnchorType(e){return this._image.anchorType=e,this}setCropTop(e){return this._initializeSrcRect(),this._image.srcRect.top=e,this}setCropLeft(e){return this._initializeSrcRect(),this._image.srcRect.left=e,this}setCropBottom(e){return this._initializeSrcRect(),this._image.srcRect.bottom=e,this}setCropRight(e){return this._initializeSrcRect(),this._image.srcRect.right=e,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(e){return this._image.angle=e,this}setUnitId(e){return this._image.unitId=e,this}setSubUnitId(e){return this._image.subUnitId=e,this}async buildAsync(){let e=this._injector.get(r.SheetSkeletonService);if(this._image.width===0||this._image.height===0){let e=await(0,n.getImageSize)(this._image.source),t=e.width,r=e.height;this._image.width===0&&(this._image.width=t),this._image.height===0&&(this._image.height=r)}return p(this._image,e)}};m=d([u(2,(0,e.Inject)(e.Injector))],m);let h=class extends t.FBase{constructor(e,t,n){super(),this._image=e,this._commandService=t,this._injector=n}getId(){return this._image.drawingId}getType(){return this._image.drawingType}remove(){return this._commandService.syncExecuteCommand(i.RemoveSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){let e=this._injector.createInstance(m,this._image.unitId,this._image.subUnitId);return e.setImage(this._image),e}setSource(t,n){let r=n==null?e.ImageSourceType.URL:n;return this._image.source=t,this._image.imageSourceType=r,this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(e,t,n,r){let a=this.toBuilder();a.setColumn(t),a.setRow(e),n!=null&&a.setRowOffset(n),r!=null&&a.setColumnOffset(r);let o=await a.buildAsync();return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[o]})}async setSizeAsync(e,t){let n=this.toBuilder();n.setWidth(e),n.setHeight(t);let r=await n.buildAsync();return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[r]})}setCrop(e,t,n,r){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),e!=null&&(this._image.srcRect.top=e),t!=null&&(this._image.srcRect.left=t),n!=null&&(this._image.srcRect.bottom=n),r!=null&&(this._image.srcRect.right=r),this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(e){if(this._image.sheetTransform.angle=e,this._image.transform&&(this._image.transform.angle=e),this._image.transform){let e=this._injector.get(r.SheetSkeletonService).getSkeleton(this._image.unitId,this._image.subUnitId);if(!e)throw Error(`Skeleton for unitId ${this._image.unitId} and subUnitId ${this._image.subUnitId} not found`);this._image.axisAlignSheetTransform&&(this._image.axisAlignSheetTransform=(0,i.transformToAxisAlignPosition)(this._image.transform,e))}return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.front})}};h=d([u(1,e.ICommandService),u(2,(0,e.Inject)(e.Injector))],h);var g=class extends a.FWorksheet{async insertImage(t,n,r,a,o){let s=this.newOverGridImage();if(typeof t==`string`)s.setSource(t);else{let n=await t.getBlob().getDataAsString();s.setSource(n,e.ImageSourceType.BASE64)}n===void 0?s.setColumn(0):s.setColumn(n),r===void 0?s.setRow(0):s.setRow(r),a===void 0?s.setColumnOffset(0):s.setColumnOffset(a),o===void 0?s.setRowOffset(0):s.setRowOffset(o);let c=await s.buildAsync();return this._commandService.syncExecuteCommand(i.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[c]})}insertImages(e){let t=e.map(e=>(e.unitId=this._fWorkbook.getId(),e.subUnitId=this.getSheetId(),e));return this._commandService.syncExecuteCommand(i.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}deleteImages(e){let t=e.map(e=>({unitId:this._fWorkbook.getId(),drawingId:e.getId(),subUnitId:this.getSheetId(),drawingType:e.getType()}));return this._commandService.syncExecuteCommand(i.RemoveSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}getImages(){let t=this._injector.get(i.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),n=[];for(let r in t){let i=t[r];i.drawingType===e.DrawingTypeEnum.DRAWING_IMAGE&&n.push(this._injector.createInstance(h,i))}return n}getImageById(t){let n=this._injector.get(i.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:t});return n&&n.drawingType===e.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(h,n):null}getActiveImages(){let e=this._injector.get(i.ISheetDrawingService).getFocusDrawings(),t=[];for(let n in e){let r=e[n];t.push(this._injector.createInstance(h,r))}return t}updateImages(e){return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:e}),this}newOverGridImage(){let e=this._fWorkbook.getId(),t=this.getSheetId();return this._injector.createInstance(m,e,t)}};a.FWorksheet.extend(g);var _=class extends t.FEnum{get DrawingType(){return e.DrawingTypeEnum}get ImageSourceType(){return e.ImageSourceType}get SheetDrawingAnchorType(){return i.SheetDrawingAnchorType}};t.FEnum.extend(_);var v=class extends t.FEventName{get BeforeFloatDomAdd(){return`BeforeFloatDomAdd`}get FloatDomAdded(){return`FloatDomAdded`}get BeforeFloatDomUpdate(){return`BeforeFloatDomUpdate`}get FloatDomUpdated(){return`FloatDomUpdated`}get BeforeFloatDomDelete(){return`BeforeFloatDomDelete`}get FloatDomDeleted(){return`FloatDomDeleted`}get BeforeOverGridImageChange(){return`BeforeOverGridImageChange`}get OverGridImageChanged(){return`OverGridImageChanged`}get BeforeOverGridImageInsert(){return`BeforeOverGridImageInsert`}get OverGridImageInserted(){return`OverGridImageInserted`}get BeforeOverGridImageRemove(){return`BeforeOverGridImageRemove`}get OverGridImageRemoved(){return`OverGridImageRemoved`}get BeforeOverGridImageSelect(){return`BeforeOverGridImageSelect`}get OverGridImageSelected(){return`OverGridImageSelected`}};t.FEventName.extend(v);var y=class extends t.FUniver{_initialize(t){let r=t.get(e.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageInsert,()=>r.beforeCommandExecuted(t=>{if(t.id!==i.InsertSheetDrawingCommand.id)return;let n=t.params,r=this.getActiveWorkbook();if(r==null||n==null)return;let{drawings:a}=n,o={workbook:r,insertImageParams:a};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,o),o.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageRemove,()=>r.beforeCommandExecuted(r=>{if(r.id!==i.RemoveSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let s=t.get(n.IDrawingManagerService),{drawings:c}=a,l=c.map(e=>s.getDrawingByParam(e)),u={workbook:o,images:this._createFOverGridImage(l)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,u),u.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageChange,()=>r.beforeCommandExecuted(r=>{if(r.id!==i.SetSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let{drawings:s}=a,c=t.get(n.IDrawingManagerService),l=[];s.forEach(e=>{let t=c.getDrawingByParam(e);t!=null&&l.push({changeParam:e,image:this._injector.createInstance(h,t)})});let u={workbook:o,images:l};if(this.fireEvent(this.Event.BeforeOverGridImageChange,u),u.cancel)throw c.updateNotification(s),new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageSelect,()=>r.beforeCommandExecuted(r=>{if(r.id!==n.SetDrawingSelectedOperation.id)return;let i=r.params,a=this.getActiveWorkbook();if(a==null)return;let o=t.get(n.IDrawingManagerService),s=o.getFocusDrawings(),c=i.map(e=>o.getDrawingByParam(e)),l={workbook:a,selectedImages:this._createFOverGridImage(c),oldSelectedImages:this._createFOverGridImage(s)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,l),l.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageInserted,()=>r.onCommandExecuted(e=>{if(e.id!==i.InsertSheetDrawingCommand.id)return;let t=e.params,n=this.getActiveWorkbook();if(n==null||t==null)return;let{drawings:r}=t,a={workbook:n,images:this._createFOverGridImage(r)};this.fireEvent(this.Event.OverGridImageInserted,a)}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageRemoved,()=>r.onCommandExecuted(e=>{if(e.id!==i.RemoveSheetDrawingCommand.id)return;let t=e.params,n=this.getActiveWorkbook();if(n==null||t==null)return;let{drawings:r}=t,a={workbook:n,removeImageParams:r};this.fireEvent(this.Event.OverGridImageRemoved,a)}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageChanged,()=>r.onCommandExecuted(e=>{if(e.id!==i.SetSheetDrawingCommand.id)return;let r=e.params,a=this.getActiveWorkbook();if(a==null||r==null)return;let{drawings:o}=r,s=t.get(n.IDrawingManagerService),c={workbook:a,images:o.map(e=>this._injector.createInstance(h,s.getDrawingByParam(e)))};this.fireEvent(this.Event.OverGridImageChanged,c)}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageSelected,()=>r.onCommandExecuted(e=>{if(e.id!==n.SetDrawingSelectedOperation.id)return;let r=e.params,i=this.getActiveWorkbook();if(i==null)return;let a=t.get(n.IDrawingManagerService),o=r.map(e=>a.getDrawingByParam(e)),s={workbook:i,selectedImages:this._createFOverGridImage(o)};this.fireEvent(this.Event.OverGridImageSelected,s)})))}_createFOverGridImage(e){return e.map(e=>this._injector.createInstance(h,e))}};t.FUniver.extend(y)});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/drawing"),require("@univerjs/sheets"),require("@univerjs/sheets-drawing"),require("@univerjs/engine-render"),require("@univerjs/sheets/facade")):typeof define==`function`&&define.amd?define([`@univerjs/core`,`@univerjs/core/facade`,`@univerjs/drawing`,`@univerjs/sheets`,`@univerjs/sheets-drawing`,`@univerjs/engine-render`,`@univerjs/sheets/facade`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverCore,e.UniverCoreFacade,e.UniverDrawing,e.UniverSheets,e.UniverSheetsDrawing,e.UniverEngineRender,e.UniverSheetsFacade))})(this,function(e,t,n,r,i,a,o){function s(e){"@babel/helpers - typeof";return s=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},s(e)}function c(e,t){if(s(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(s(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function l(e){var t=c(e,`string`);return s(t)==`symbol`?t:t+``}function u(e,t,n){return(t=l(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){return function(n,r){t(n,r,e)}}function f(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function p(e,t){let{from:n,to:i,flipY:a=!1,flipX:o=!1,angle:s=0,skewX:c=0,skewY:l=0}=e.sheetTransform,{column:u,columnOffset:d,row:f,rowOffset:p}=n,{width:m,height:h}=(0,r.convertPositionSheetOverGridToAbsolute)(e.unitId,e.subUnitId,{from:n,to:i},t);return{...e,column:u,columnOffset:d,row:f,rowOffset:p,width:m,height:h,flipY:a,flipX:o,angle:s,skewX:c,skewY:l}}function m(e,t){let n=t.ensureSkeleton(e.unitId,e.subUnitId);if(!n)throw Error(`Skeleton for unitId ${e.unitId} and subUnitId ${e.subUnitId} not found`);let{column:a,columnOffset:o,row:s,rowOffset:c,flipY:l=!1,flipX:u=!1,angle:d=0,skewX:f=0,skewY:p=0,width:m,height:h}=e,{sheetTransform:g,transform:_}=(0,r.convertPositionCellToSheetOverGrid)(e.unitId,e.subUnitId,{column:a,columnOffset:o,row:s,rowOffset:c},m,h,n);return{...e,sheetTransform:{...g,flipY:l,flipX:u,angle:d,skewX:f,skewY:p},transform:{..._,flipY:l,flipX:u,angle:d,skewX:f,skewY:p},axisAlignSheetTransform:(0,i.transformToAxisAlignPosition)(_,n)}}let h=class{constructor(t,n,r){this._injector=r,u(this,`_image`,void 0),this._image={drawingId:(0,e.generateRandomId)(6),drawingType:e.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:e.ImageSourceType.BASE64,source:``,unitId:t,subUnitId:n,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0,axisAlignSheetTransform:{from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}}}setImage(e){let{unitId:t,subUnitId:n}=e,i=this._injector.get(r.SheetSkeletonService).getSkeleton(t,n);if(!i)throw Error(`Skeleton for unitId ${t} and subUnitId ${n} not found`);return e.sheetTransform==null&&(e.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),e.axisAlignSheetTransform==null&&(e.axisAlignSheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=p(e,i),this}setSource(t,n){let r=n==null?e.ImageSourceType.URL:n;return this._image.source=t,this._image.imageSourceType=r,this}getSource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(e){return this._image.column=e,this}setRow(e){return this._image.row=e,this}setColumnOffset(e){return this._image.columnOffset=e,this}setRowOffset(e){return this._image.rowOffset=e,this}setWidth(e){return this._image.width=e,this}setHeight(e){return this._image.height=e,this}setAnchorType(e){return this._image.anchorType=e,this}setCropTop(e){return this._initializeSrcRect(),this._image.srcRect.top=e,this}setCropLeft(e){return this._initializeSrcRect(),this._image.srcRect.left=e,this}setCropBottom(e){return this._initializeSrcRect(),this._image.srcRect.bottom=e,this}setCropRight(e){return this._initializeSrcRect(),this._image.srcRect.right=e,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(e){return this._image.angle=e,this}setUnitId(e){return this._image.unitId=e,this}setSubUnitId(e){return this._image.subUnitId=e,this}async buildAsync(){let e=this._injector.get(r.SheetSkeletonService);if(this._image.width===0||this._image.height===0){let e=await(0,n.getImageSize)(this._image.source),t=e.width,r=e.height;this._image.width===0&&(this._image.width=t),this._image.height===0&&(this._image.height=r)}return m(this._image,e)}};h=f([d(2,(0,e.Inject)(e.Injector))],h);let g=class extends t.FBase{constructor(e,t,n){super(),this._image=e,this._commandService=t,this._injector=n}getId(){return this._image.drawingId}getType(){return this._image.drawingType}remove(){return this._commandService.syncExecuteCommand(i.RemoveSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){let e=this._injector.createInstance(h,this._image.unitId,this._image.subUnitId);return e.setImage(this._image),e}setSource(t,n){let r=n==null?e.ImageSourceType.URL:n;return this._image.source=t,this._image.imageSourceType=r,this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(e,t,n,r){let a=this.toBuilder();a.setColumn(t),a.setRow(e),n!=null&&a.setRowOffset(n),r!=null&&a.setColumnOffset(r);let o=await a.buildAsync();return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[o]})}async setSizeAsync(e,t){let n=this.toBuilder();n.setWidth(e),n.setHeight(t);let r=await n.buildAsync();return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[r]})}setCrop(e,t,n,r){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),e!=null&&(this._image.srcRect.top=e),t!=null&&(this._image.srcRect.left=t),n!=null&&(this._image.srcRect.bottom=n),r!=null&&(this._image.srcRect.right=r),this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(e){if(this._image.sheetTransform.angle=e,this._image.transform&&(this._image.transform.angle=e),this._image.transform){let e=this._injector.get(r.SheetSkeletonService).getSkeleton(this._image.unitId,this._image.subUnitId);if(!e)throw Error(`Skeleton for unitId ${this._image.unitId} and subUnitId ${this._image.subUnitId} not found`);this._image.axisAlignSheetTransform&&(this._image.axisAlignSheetTransform=(0,i.transformToAxisAlignPosition)(this._image.transform,e))}return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.front})}};g=f([d(1,e.ICommandService),d(2,(0,e.Inject)(e.Injector))],g);let _=new Set([e.DrawingTypeEnum.DRAWING_IMAGE,e.DrawingTypeEnum.DRAWING_SHAPE,e.DrawingTypeEnum.DRAWING_GROUP]);var v=class extends o.FWorksheet{async insertImage(t,n,r,a,o){let s=this.newOverGridImage();if(typeof t==`string`)s.setSource(t);else{let n=await t.getBlob().getDataAsString();s.setSource(n,e.ImageSourceType.BASE64)}n===void 0?s.setColumn(0):s.setColumn(n),r===void 0?s.setRow(0):s.setRow(r),a===void 0?s.setColumnOffset(0):s.setColumnOffset(a),o===void 0?s.setRowOffset(0):s.setRowOffset(o);let c=await s.buildAsync();return this._commandService.syncExecuteCommand(i.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[c]})}insertImages(e){let t=e.map(e=>(e.unitId=this._fWorkbook.getId(),e.subUnitId=this.getSheetId(),e));return this._commandService.syncExecuteCommand(i.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}deleteImages(e){let t=e.map(e=>({unitId:this._fWorkbook.getId(),drawingId:e.getId(),subUnitId:this.getSheetId(),drawingType:e.getType()}));return this._commandService.syncExecuteCommand(i.RemoveSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}getImages(){let t=this._injector.get(i.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),n=[];for(let r in t){let i=t[r];i.drawingType===e.DrawingTypeEnum.DRAWING_IMAGE&&n.push(this._injector.createInstance(g,i))}return n}getImageById(t){let n=this._injector.get(i.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:t});return n&&n.drawingType===e.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(g,n):null}getActiveImages(){let e=this._injector.get(i.ISheetDrawingService).getFocusDrawings(),t=[];for(let n in e){let r=e[n];t.push(this._injector.createInstance(g,r))}return t}updateImages(e){return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:e}),this}newOverGridImage(){let e=this._fWorkbook.getId(),t=this.getSheetId();return this._injector.createInstance(h,e,t)}groupDrawings(t,n=(0,e.generateRandomId)(10)){let r=Array.from(new Set(t));if(r.length<2)return null;let o=this._fWorkbook.getId(),s=this.getSheetId(),c=this._injector.get(i.ISheetDrawingService);if(c.getDrawingByParam({unitId:o,subUnitId:s,drawingId:n}))return null;let l=r.map(e=>c.getDrawingByParam({unitId:o,subUnitId:s,drawingId:e}));if(l.some(e=>!e)||l.some(e=>!_.has(e.drawingType)))return null;let u=l,d=(0,a.getGroupState)(0,0,u.map(e=>e.transform||{})),f={unitId:o,subUnitId:s,drawingId:n,drawingType:e.DrawingTypeEnum.DRAWING_GROUP,transform:d,groupBaseBound:{left:d.left,top:d.top,width:d.width,height:d.height}},p=u.map(e=>({...e,groupId:n}));return this._applyGroupDrawingOperation([{parent:f,children:p}],i.DrawingApplyType.GROUP)?n:null}ungroupDrawings(t){let n=this._fWorkbook.getId(),r=this.getSheetId(),o=this._injector.get(i.ISheetDrawingService),s=[];for(let i of t){let t=o.getDrawingByParam({unitId:n,subUnitId:r,drawingId:i});if(!t||t.drawingType!==e.DrawingTypeEnum.DRAWING_GROUP)continue;let c=t.transform||{width:0,height:0},l=o.getDrawingsByGroup({unitId:n,subUnitId:r,drawingId:i}).map(e=>{let n=(0,a.transformObjectOutOfGroup)(e.transform||{},c,c.width||0,c.height||0,t.groupBaseBound);return{...e,transform:{...e.transform,...n},groupId:void 0}});l.length>0&&s.push({parent:t,children:l})}return this._applyGroupDrawingOperation(s,i.DrawingApplyType.UNGROUP)}getDrawingGroupChildren(e,t=!1){let n=this._fWorkbook.getId(),r=this.getSheetId(),a=this._injector.get(i.ISheetDrawingService);if(!t)return a.getDrawingsByGroup({unitId:n,subUnitId:r,drawingId:e});let o=a.getDrawingsByGroupNested({unitId:n,subUnitId:r,drawingId:e});return o?[...o.flatChildren||[],...o.groups.filter(t=>t.drawingId!==e)]:[]}getDrawingParentGroup(t){let n=this._fWorkbook.getId(),r=this.getSheetId(),a=this._injector.get(i.ISheetDrawingService),o=a.getDrawingByParam({unitId:n,subUnitId:r,drawingId:t});if(!(o!=null&&o.groupId))return null;let s=a.getDrawingByParam({unitId:n,subUnitId:r,drawingId:o.groupId});return!s||s.drawingType!==e.DrawingTypeEnum.DRAWING_GROUP?null:s}isDrawingGrouped(e){return this.getDrawingParentGroup(e)!==null}_applyGroupDrawingOperation(t,n){if(t.length===0)return!1;let r=this._injector.get(i.ISheetDrawingService),a=this._commandService,o=this._injector.get(e.IUndoRedoService),{unitId:s,subUnitId:c,undo:l,redo:u,objects:d}=n===i.DrawingApplyType.GROUP?r.getGroupDrawingOp(t):r.getUngroupDrawingOp(t);if(a.syncExecuteCommand(i.SetDrawingApplyMutation.id,{op:u,unitId:s,subUnitId:c,objects:d,type:n})){let e=n===i.DrawingApplyType.GROUP?i.DrawingApplyType.UNGROUP:i.DrawingApplyType.GROUP;return o.pushUndoRedo({unitID:s,undoMutations:[{id:i.SetDrawingApplyMutation.id,params:{op:l,unitId:s,subUnitId:c,objects:this._invertGroupOperationObjects(d,n),type:e}}],redoMutations:[{id:i.SetDrawingApplyMutation.id,params:{op:u,unitId:s,subUnitId:c,objects:d,type:n}}]}),!0}return!1}_invertGroupOperationObjects(e,t){return t===i.DrawingApplyType.GROUP?e.map(e=>{let{parent:t,children:n}=e,r=t.transform||{width:0,height:0};return{parent:{...t,transform:{left:0,top:0}},children:n.map(e=>({...e,transform:(0,a.transformObjectOutOfGroup)(e.transform||{},r,r.width||0,r.height||0,t.groupBaseBound),groupId:void 0}))}}):e.map(e=>{let{parent:t,children:n}=e,r=(0,a.getGroupState)(0,0,n.map(e=>e.transform||{}));return{parent:{...t,transform:r},children:n.map(e=>({...e,groupId:t.drawingId}))}})}};o.FWorksheet.extend(v);var y=class extends t.FEnum{get DrawingType(){return e.DrawingTypeEnum}get ImageSourceType(){return e.ImageSourceType}get SheetDrawingAnchorType(){return i.SheetDrawingAnchorType}};t.FEnum.extend(y);var b=class extends t.FEventName{get BeforeFloatDomAdd(){return`BeforeFloatDomAdd`}get FloatDomAdded(){return`FloatDomAdded`}get BeforeFloatDomUpdate(){return`BeforeFloatDomUpdate`}get FloatDomUpdated(){return`FloatDomUpdated`}get BeforeFloatDomDelete(){return`BeforeFloatDomDelete`}get FloatDomDeleted(){return`FloatDomDeleted`}get BeforeOverGridImageChange(){return`BeforeOverGridImageChange`}get OverGridImageChanged(){return`OverGridImageChanged`}get BeforeOverGridImageInsert(){return`BeforeOverGridImageInsert`}get OverGridImageInserted(){return`OverGridImageInserted`}get BeforeOverGridImageRemove(){return`BeforeOverGridImageRemove`}get OverGridImageRemoved(){return`OverGridImageRemoved`}get BeforeOverGridImageSelect(){return`BeforeOverGridImageSelect`}get OverGridImageSelected(){return`OverGridImageSelected`}};t.FEventName.extend(b);var x=class extends t.FUniver{_initialize(t){let r=t.get(e.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageInsert,()=>r.beforeCommandExecuted(t=>{if(t.id!==i.InsertSheetDrawingCommand.id)return;let n=t.params,r=this.getActiveWorkbook();if(r==null||n==null)return;let{drawings:a}=n,o={workbook:r,insertImageParams:a};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,o),o.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageRemove,()=>r.beforeCommandExecuted(r=>{if(r.id!==i.RemoveSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let s=t.get(n.IDrawingManagerService),{drawings:c}=a,l=c.map(e=>s.getDrawingByParam(e)),u={workbook:o,images:this._createFOverGridImage(l)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,u),u.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageChange,()=>r.beforeCommandExecuted(r=>{if(r.id!==i.SetSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let{drawings:s}=a,c=t.get(n.IDrawingManagerService),l=[];s.forEach(e=>{let t=c.getDrawingByParam(e);t!=null&&l.push({changeParam:e,image:this._injector.createInstance(g,t)})});let u={workbook:o,images:l};if(this.fireEvent(this.Event.BeforeOverGridImageChange,u),u.cancel)throw c.updateNotification(s),new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageSelect,()=>r.beforeCommandExecuted(r=>{if(r.id!==n.SetDrawingSelectedOperation.id)return;let i=r.params,a=this.getActiveWorkbook();if(a==null)return;let o=t.get(n.IDrawingManagerService),s=o.getFocusDrawings(),c=i.map(e=>o.getDrawingByParam(e)),l={workbook:a,selectedImages:this._createFOverGridImage(c),oldSelectedImages:this._createFOverGridImage(s)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,l),l.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageInserted,()=>r.onCommandExecuted(e=>{if(e.id!==i.InsertSheetDrawingCommand.id)return;let t=e.params,n=this.getActiveWorkbook();if(n==null||t==null)return;let{drawings:r}=t,a={workbook:n,images:this._createFOverGridImage(r)};this.fireEvent(this.Event.OverGridImageInserted,a)}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageRemoved,()=>r.onCommandExecuted(e=>{if(e.id!==i.RemoveSheetDrawingCommand.id)return;let t=e.params,n=this.getActiveWorkbook();if(n==null||t==null)return;let{drawings:r}=t,a={workbook:n,removeImageParams:r};this.fireEvent(this.Event.OverGridImageRemoved,a)}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageChanged,()=>r.onCommandExecuted(e=>{if(e.id!==i.SetSheetDrawingCommand.id)return;let r=e.params,a=this.getActiveWorkbook();if(a==null||r==null)return;let{drawings:o}=r,s=t.get(n.IDrawingManagerService),c={workbook:a,images:o.map(e=>this._injector.createInstance(g,s.getDrawingByParam(e)))};this.fireEvent(this.Event.OverGridImageChanged,c)}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageSelected,()=>r.onCommandExecuted(e=>{if(e.id!==n.SetDrawingSelectedOperation.id)return;let r=e.params,i=this.getActiveWorkbook();if(i==null)return;let a=t.get(n.IDrawingManagerService),o=r.map(e=>a.getDrawingByParam(e)),s={workbook:i,selectedImages:this._createFOverGridImage(o)};this.fireEvent(this.Event.OverGridImageSelected,s)})))}_createFOverGridImage(e){return e.map(e=>this._injector.createInstance(g,e))}};t.FUniver.extend(x)});
|