@logicflow/extension 2.0.0-beta.3 → 2.0.0-beta.4
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/.turbo/turbo-build.log +6 -6
- package/dist/index.min.js +2 -2
- package/es/components/menu/index.d.ts +1 -1
- package/es/components/menu/index.js +9 -10
- package/es/components/menu/index.js.map +1 -1
- package/es/index.d.ts +1 -0
- package/es/index.js +1 -0
- package/es/index.js.map +1 -1
- package/es/materials/node-selection/index.d.ts +2 -1
- package/es/materials/node-selection/index.js +64 -56
- package/es/materials/node-selection/index.js.map +1 -1
- package/es/tools/snapshot/index.d.ts +101 -11
- package/es/tools/snapshot/index.js +331 -147
- package/es/tools/snapshot/index.js.map +1 -1
- package/es/tools/snapshot/utils.d.ts +35 -0
- package/es/tools/snapshot/utils.js +238 -0
- package/es/tools/snapshot/utils.js.map +1 -0
- package/lib/components/menu/index.d.ts +1 -1
- package/lib/components/menu/index.js +9 -10
- package/lib/components/menu/index.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/materials/node-selection/index.d.ts +2 -1
- package/lib/materials/node-selection/index.js +63 -55
- package/lib/materials/node-selection/index.js.map +1 -1
- package/lib/tools/snapshot/index.d.ts +101 -11
- package/lib/tools/snapshot/index.js +331 -147
- package/lib/tools/snapshot/index.js.map +1 -1
- package/lib/tools/snapshot/utils.d.ts +35 -0
- package/lib/tools/snapshot/utils.js +247 -0
- package/lib/tools/snapshot/utils.js.map +1 -0
- package/package.json +3 -3
- package/src/components/menu/index.ts +16 -13
- package/src/index.ts +1 -0
- package/src/materials/node-selection/index.ts +72 -69
- package/src/tools/snapshot/README.md +130 -5
- package/src/tools/snapshot/index.ts +264 -98
- package/src/tools/snapshot/utils.ts +163 -0
|
@@ -1,6 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
2
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
39
|
exports.Snapshot = void 0;
|
|
40
|
+
var utils_1 = require("./utils");
|
|
4
41
|
/**
|
|
5
42
|
* 快照插件,生成视图
|
|
6
43
|
*/
|
|
@@ -8,29 +45,76 @@ var Snapshot = /** @class */ (function () {
|
|
|
8
45
|
function Snapshot(_a) {
|
|
9
46
|
var lf = _a.lf;
|
|
10
47
|
var _this = this;
|
|
11
|
-
this.fileName = 'snapshot.png';
|
|
12
48
|
this.lf = lf;
|
|
13
49
|
this.customCssRules = '';
|
|
14
50
|
this.useGlobalRules = true;
|
|
15
51
|
/* 下载快照 */
|
|
16
|
-
lf.getSnapshot = function (fileName,
|
|
17
|
-
|
|
18
|
-
|
|
52
|
+
lf.getSnapshot = function (fileName, toImageOptions) { return __awaiter(_this, void 0, void 0, function () {
|
|
53
|
+
var curPartial, _a, partial;
|
|
54
|
+
var _this = this;
|
|
55
|
+
return __generator(this, function (_b) {
|
|
56
|
+
switch (_b.label) {
|
|
57
|
+
case 0:
|
|
58
|
+
curPartial = this.lf.graphModel.getPartial();
|
|
59
|
+
_a = (toImageOptions !== null && toImageOptions !== void 0 ? toImageOptions : {}).partial, partial = _a === void 0 ? curPartial : _a;
|
|
60
|
+
if (!(curPartial !== partial)) return [3 /*break*/, 1];
|
|
61
|
+
this.lf.graphModel.setPartial(partial);
|
|
62
|
+
this.lf.graphModel.eventCenter.once('graph:updated', function () { return __awaiter(_this, void 0, void 0, function () {
|
|
63
|
+
return __generator(this, function (_a) {
|
|
64
|
+
switch (_a.label) {
|
|
65
|
+
case 0: return [4 /*yield*/, this.getSnapshot(fileName, toImageOptions)
|
|
66
|
+
// 恢复原来渲染模式
|
|
67
|
+
];
|
|
68
|
+
case 1:
|
|
69
|
+
_a.sent();
|
|
70
|
+
// 恢复原来渲染模式
|
|
71
|
+
this.lf.graphModel.setPartial(curPartial);
|
|
72
|
+
return [2 /*return*/];
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}); });
|
|
76
|
+
return [3 /*break*/, 3];
|
|
77
|
+
case 1: return [4 /*yield*/, this.getSnapshot(fileName, toImageOptions)];
|
|
78
|
+
case 2:
|
|
79
|
+
_b.sent();
|
|
80
|
+
_b.label = 3;
|
|
81
|
+
case 3: return [2 /*return*/];
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}); };
|
|
19
85
|
/* 获取Blob对象,用户图片上传 */
|
|
20
|
-
lf.getSnapshotBlob = function (backgroundColor) {
|
|
21
|
-
|
|
22
|
-
|
|
86
|
+
lf.getSnapshotBlob = function (backgroundColor, fileType) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
87
|
+
switch (_a.label) {
|
|
88
|
+
case 0: return [4 /*yield*/, this.getSnapshotBlob(backgroundColor, fileType)
|
|
89
|
+
/* 获取Base64对象,用户图片上传 */
|
|
90
|
+
];
|
|
91
|
+
case 1: return [2 /*return*/, _a.sent()
|
|
92
|
+
/* 获取Base64对象,用户图片上传 */
|
|
93
|
+
];
|
|
94
|
+
}
|
|
95
|
+
}); }); };
|
|
23
96
|
/* 获取Base64对象,用户图片上传 */
|
|
24
|
-
lf.getSnapshotBase64 = function (backgroundColor) {
|
|
25
|
-
|
|
26
|
-
|
|
97
|
+
lf.getSnapshotBase64 = function (backgroundColor, fileType) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
98
|
+
switch (_a.label) {
|
|
99
|
+
case 0: return [4 /*yield*/, this.getSnapshotBase64(backgroundColor, fileType)];
|
|
100
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
101
|
+
}
|
|
102
|
+
}); }); };
|
|
27
103
|
}
|
|
28
|
-
|
|
104
|
+
/**
|
|
105
|
+
* 获取svgRoot对象dom: 画布元素(不包含grid背景)
|
|
106
|
+
* @param lf LogicFlow
|
|
107
|
+
* @returns
|
|
108
|
+
*/
|
|
29
109
|
Snapshot.prototype.getSvgRootElement = function (lf) {
|
|
30
110
|
var svgRootElement = lf.container.querySelector('.lf-canvas-overlay');
|
|
31
111
|
return svgRootElement;
|
|
32
112
|
};
|
|
33
|
-
|
|
113
|
+
/**
|
|
114
|
+
* 通过 imgUrl 下载图片
|
|
115
|
+
* @param imgUrl
|
|
116
|
+
*/
|
|
117
|
+
Snapshot.prototype.triggerDownload = function (imgUrl) {
|
|
34
118
|
var evt = new MouseEvent('click', {
|
|
35
119
|
view: document.defaultView,
|
|
36
120
|
bubbles: false,
|
|
@@ -38,10 +122,14 @@ var Snapshot = /** @class */ (function () {
|
|
|
38
122
|
});
|
|
39
123
|
var a = document.createElement('a');
|
|
40
124
|
a.setAttribute('download', this.fileName);
|
|
41
|
-
a.setAttribute('href',
|
|
125
|
+
a.setAttribute('href', imgUrl);
|
|
42
126
|
a.setAttribute('target', '_blank');
|
|
43
127
|
a.dispatchEvent(evt);
|
|
44
128
|
};
|
|
129
|
+
/**
|
|
130
|
+
* 删除锚点
|
|
131
|
+
* @param element ChildNode
|
|
132
|
+
*/
|
|
45
133
|
Snapshot.prototype.removeAnchor = function (element) {
|
|
46
134
|
var childNodes = element.childNodes;
|
|
47
135
|
var childLength = element.childNodes && element.childNodes.length;
|
|
@@ -55,6 +143,10 @@ var Snapshot = /** @class */ (function () {
|
|
|
55
143
|
}
|
|
56
144
|
}
|
|
57
145
|
};
|
|
146
|
+
/**
|
|
147
|
+
* 删除旋转按钮
|
|
148
|
+
* @param element
|
|
149
|
+
*/
|
|
58
150
|
Snapshot.prototype.removeRotateControl = function (element) {
|
|
59
151
|
var childNodes = element.childNodes;
|
|
60
152
|
var childLength = element.childNodes && element.childNodes.length;
|
|
@@ -68,51 +160,116 @@ var Snapshot = /** @class */ (function () {
|
|
|
68
160
|
}
|
|
69
161
|
}
|
|
70
162
|
};
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
163
|
+
/**
|
|
164
|
+
* 下载图片
|
|
165
|
+
* @param fileName string
|
|
166
|
+
* @param toImageOptions
|
|
167
|
+
*/
|
|
168
|
+
Snapshot.prototype.getSnapshot = function (fileName, toImageOptions) {
|
|
169
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
170
|
+
var _a, _b, fileType, quality, svg, copy, svgString, blob, url;
|
|
171
|
+
var _this = this;
|
|
172
|
+
return __generator(this, function (_c) {
|
|
173
|
+
switch (_c.label) {
|
|
174
|
+
case 0:
|
|
175
|
+
_a = toImageOptions !== null && toImageOptions !== void 0 ? toImageOptions : {}, _b = _a.fileType, fileType = _b === void 0 ? 'png' : _b, quality = _a.quality;
|
|
176
|
+
this.fileName = "".concat(fileName !== null && fileName !== void 0 ? fileName : "logic-flow.".concat(Date.now()), ".").concat(fileType);
|
|
177
|
+
svg = this.getSvgRootElement(this.lf);
|
|
178
|
+
return [4 /*yield*/, (0, utils_1.updateImageSource)(svg)];
|
|
179
|
+
case 1:
|
|
180
|
+
_c.sent();
|
|
181
|
+
if (fileType === 'svg') {
|
|
182
|
+
copy = this.cloneSvg(svg);
|
|
183
|
+
svgString = new XMLSerializer().serializeToString(copy);
|
|
184
|
+
blob = new Blob([svgString], {
|
|
185
|
+
type: 'image/svg+xml;charset=utf-8',
|
|
186
|
+
});
|
|
187
|
+
url = URL.createObjectURL(blob);
|
|
188
|
+
this.triggerDownload(url);
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
this.getCanvasData(svg, toImageOptions !== null && toImageOptions !== void 0 ? toImageOptions : {}).then(function (canvas) {
|
|
192
|
+
// canvas元素 => url image/octet-stream: 确保所有浏览器都能正常下载
|
|
193
|
+
var imgUrl = canvas
|
|
194
|
+
.toDataURL("image/".concat(fileType), quality)
|
|
195
|
+
.replace("image/".concat(fileType), 'image/octet-stream');
|
|
196
|
+
_this.triggerDownload(imgUrl);
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
return [2 /*return*/];
|
|
200
|
+
}
|
|
201
|
+
});
|
|
81
202
|
});
|
|
82
203
|
};
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
204
|
+
/**
|
|
205
|
+
* 获取base64对象
|
|
206
|
+
* @param backgroundColor string | undefined
|
|
207
|
+
* @param fileType string | undefined
|
|
208
|
+
* @returns Promise<SnapshotResponse>
|
|
209
|
+
*/
|
|
210
|
+
Snapshot.prototype.getSnapshotBase64 = function (backgroundColor, fileType) {
|
|
211
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
212
|
+
var svg;
|
|
213
|
+
var _this = this;
|
|
214
|
+
return __generator(this, function (_a) {
|
|
215
|
+
switch (_a.label) {
|
|
216
|
+
case 0:
|
|
217
|
+
svg = this.getSvgRootElement(this.lf);
|
|
218
|
+
return [4 /*yield*/, (0, utils_1.updateImageSource)(svg)];
|
|
219
|
+
case 1:
|
|
220
|
+
_a.sent();
|
|
221
|
+
return [2 /*return*/, new Promise(function (resolve) {
|
|
222
|
+
_this.getCanvasData(svg, { backgroundColor: backgroundColor }).then(function (canvas) {
|
|
223
|
+
var base64 = canvas.toDataURL("image/".concat(fileType !== null && fileType !== void 0 ? fileType : 'png'));
|
|
224
|
+
// 输出图片数据以及图片宽高
|
|
225
|
+
resolve({
|
|
226
|
+
data: base64,
|
|
227
|
+
width: canvas.width,
|
|
228
|
+
height: canvas.height,
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
})];
|
|
232
|
+
}
|
|
96
233
|
});
|
|
97
234
|
});
|
|
98
235
|
};
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
236
|
+
/**
|
|
237
|
+
* 获取Blob对象
|
|
238
|
+
* @param backgroundColor string | undefined
|
|
239
|
+
* @param fileType string | undefined
|
|
240
|
+
* @returns
|
|
241
|
+
*/
|
|
242
|
+
Snapshot.prototype.getSnapshotBlob = function (backgroundColor, fileType) {
|
|
243
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
244
|
+
var svg;
|
|
245
|
+
var _this = this;
|
|
246
|
+
return __generator(this, function (_a) {
|
|
247
|
+
switch (_a.label) {
|
|
248
|
+
case 0:
|
|
249
|
+
svg = this.getSvgRootElement(this.lf);
|
|
250
|
+
return [4 /*yield*/, (0, utils_1.updateImageSource)(svg)];
|
|
251
|
+
case 1:
|
|
252
|
+
_a.sent();
|
|
253
|
+
return [2 /*return*/, new Promise(function (resolve) {
|
|
254
|
+
_this.getCanvasData(svg, { backgroundColor: backgroundColor }).then(function (canvas) {
|
|
255
|
+
canvas.toBlob(function (blob) {
|
|
256
|
+
// 输出图片数据以及图片宽高
|
|
257
|
+
resolve({
|
|
258
|
+
data: blob,
|
|
259
|
+
width: canvas.width,
|
|
260
|
+
height: canvas.height,
|
|
261
|
+
});
|
|
262
|
+
}, "image/".concat(fileType !== null && fileType !== void 0 ? fileType : 'png'));
|
|
263
|
+
});
|
|
264
|
+
})];
|
|
265
|
+
}
|
|
113
266
|
});
|
|
114
267
|
});
|
|
115
268
|
};
|
|
269
|
+
/**
|
|
270
|
+
* 获取脚本css样式
|
|
271
|
+
* @returns rules string
|
|
272
|
+
*/
|
|
116
273
|
Snapshot.prototype.getClassRules = function () {
|
|
117
274
|
var rules = '';
|
|
118
275
|
if (this.useGlobalRules) {
|
|
@@ -129,11 +286,124 @@ var Snapshot = /** @class */ (function () {
|
|
|
129
286
|
}
|
|
130
287
|
return rules;
|
|
131
288
|
};
|
|
132
|
-
|
|
133
|
-
|
|
289
|
+
/**
|
|
290
|
+
* 获取图片生成中间产物canvas对象,用户转换为其他需要的格式
|
|
291
|
+
* @param svg Element
|
|
292
|
+
* @param toImageOptions ToImageOptions
|
|
293
|
+
* @returns Promise<HTMLCanvasElement>
|
|
294
|
+
*/
|
|
295
|
+
Snapshot.prototype.getCanvasData = function (svg, toImageOptions) {
|
|
296
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
297
|
+
var width, height, backgroundColor, _a, padding, copy, dpr, base, bbox, layoutCanvas, layout, offsetX, offsetY, graphModel, transformModel, SCALE_X, SCALE_Y, TRANSLATE_X, TRANSLATE_Y, bboxWidth, bboxHeight, canvas, ctx, img, style, foreignObject;
|
|
298
|
+
return __generator(this, function (_b) {
|
|
299
|
+
width = toImageOptions.width, height = toImageOptions.height, backgroundColor = toImageOptions.backgroundColor, _a = toImageOptions.padding, padding = _a === void 0 ? 40 : _a;
|
|
300
|
+
copy = this.cloneSvg(svg, false);
|
|
301
|
+
dpr = window.devicePixelRatio || 1;
|
|
302
|
+
if (dpr < 1) {
|
|
303
|
+
// https://github.com/didi/LogicFlow/issues/1222
|
|
304
|
+
// canvas.width = bboxWidth * dpr配合ctx.scale(dpr, dpr)是为了解决绘制模糊
|
|
305
|
+
// 比如dpr=2,先让canvas.width放大到等同于屏幕的物理像素宽高,然后自适应缩放适配canvas.style.width
|
|
306
|
+
// 由于所有元素都缩放了一半,因此需要ctx.scale(dpr, dpr)放大2倍整体绘制的内容
|
|
307
|
+
// 当用户缩放浏览器时,window.devicePixelRatio会随着变小
|
|
308
|
+
// 当window.devicePixelRatio变小到一定程度,会导致canvas.width<canvas.style.width
|
|
309
|
+
// 由于导出图片的svg的大小是canvas.style.width+canvas.style.height
|
|
310
|
+
// 因此会导致导出的svg图片无法完整绘制到canvas(因为canvas.width小于svg的宽)
|
|
311
|
+
// 从而导致canvas导出图片是缺失的svg
|
|
312
|
+
// 而dpr>=1就能保证canvas.width>=canvas.style.width
|
|
313
|
+
// 当dpr小于1的时候,我们强制转化为1,并不会产生绘制模糊等问题
|
|
314
|
+
dpr = 1;
|
|
315
|
+
}
|
|
316
|
+
base = this.lf.graphModel.rootEl.querySelector('.lf-base');
|
|
317
|
+
bbox = base.getBoundingClientRect();
|
|
318
|
+
layoutCanvas = this.lf.container.querySelector('.lf-canvas-overlay');
|
|
319
|
+
layout = layoutCanvas.getBoundingClientRect();
|
|
320
|
+
offsetX = bbox.x - layout.x;
|
|
321
|
+
offsetY = bbox.y - layout.y;
|
|
322
|
+
graphModel = this.lf.graphModel;
|
|
323
|
+
transformModel = graphModel.transformModel;
|
|
324
|
+
SCALE_X = transformModel.SCALE_X, SCALE_Y = transformModel.SCALE_Y, TRANSLATE_X = transformModel.TRANSLATE_X, TRANSLATE_Y = transformModel.TRANSLATE_Y;
|
|
325
|
+
copy.lastChild.style.transform = "matrix(1, 0, 0, 1, ".concat((-offsetX + TRANSLATE_X) * (1 / SCALE_X), ", ").concat((-offsetY + TRANSLATE_Y) * (1 / SCALE_Y), ")");
|
|
326
|
+
bboxWidth = Math.ceil(bbox.width / SCALE_X);
|
|
327
|
+
bboxHeight = Math.ceil(bbox.height / SCALE_Y);
|
|
328
|
+
canvas = document.createElement('canvas');
|
|
329
|
+
canvas.style.width = "".concat(bboxWidth, "px");
|
|
330
|
+
canvas.style.height = "".concat(bboxHeight, "px");
|
|
331
|
+
// 宽高值 默认加padding 40,保证图形不会紧贴着下载图片
|
|
332
|
+
canvas.width = bboxWidth * dpr + padding * 2;
|
|
333
|
+
canvas.height = bboxHeight * dpr + padding * 2;
|
|
334
|
+
ctx = canvas.getContext('2d');
|
|
335
|
+
if (ctx) {
|
|
336
|
+
// 清空canvas
|
|
337
|
+
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
338
|
+
ctx.scale(dpr, dpr);
|
|
339
|
+
// 如果有背景色,设置流程图导出的背景色
|
|
340
|
+
if (backgroundColor) {
|
|
341
|
+
ctx.fillStyle = backgroundColor;
|
|
342
|
+
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
img = new Image();
|
|
349
|
+
style = document.createElement('style');
|
|
350
|
+
style.innerHTML = this.getClassRules();
|
|
351
|
+
foreignObject = document.createElement('foreignObject');
|
|
352
|
+
foreignObject.appendChild(style);
|
|
353
|
+
copy.appendChild(foreignObject);
|
|
354
|
+
return [2 /*return*/, new Promise(function (resolve) {
|
|
355
|
+
img.onload = function () {
|
|
356
|
+
var isFirefox = navigator.userAgent.indexOf('Firefox') > -1;
|
|
357
|
+
try {
|
|
358
|
+
if (isFirefox) {
|
|
359
|
+
createImageBitmap(img, {
|
|
360
|
+
resizeWidth: width && height
|
|
361
|
+
? (0, utils_1.copyCanvas)(canvas, width, height).width
|
|
362
|
+
: canvas.width,
|
|
363
|
+
resizeHeight: width && height
|
|
364
|
+
? (0, utils_1.copyCanvas)(canvas, width, height).height
|
|
365
|
+
: canvas.height,
|
|
366
|
+
}).then(function (imageBitmap) {
|
|
367
|
+
ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(imageBitmap, padding / dpr, padding / dpr);
|
|
368
|
+
resolve(width && height ? (0, utils_1.copyCanvas)(canvas, width, height) : canvas);
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(img, padding / dpr, padding / dpr);
|
|
373
|
+
resolve(width && height ? (0, utils_1.copyCanvas)(canvas, width, height) : canvas);
|
|
374
|
+
}
|
|
375
|
+
// 如果局部渲染本来是开启的,继续开启
|
|
376
|
+
// partial && this.lf.graphModel.setPartial(true)
|
|
377
|
+
}
|
|
378
|
+
catch (e) {
|
|
379
|
+
ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(img, padding / dpr, padding / dpr);
|
|
380
|
+
resolve(width && height ? (0, utils_1.copyCanvas)(canvas, width, height) : canvas);
|
|
381
|
+
}
|
|
382
|
+
};
|
|
383
|
+
/*
|
|
384
|
+
因为svg中存在dom存放在foreignObject元素中
|
|
385
|
+
svg dom => Base64编码字符串 挂载到img上
|
|
386
|
+
fixme: XMLSerializer的中的css background url不会下载图片
|
|
387
|
+
*/
|
|
388
|
+
var svg2Img = "data:image/svg+xml;charset=utf-8,".concat(new XMLSerializer().serializeToString(copy));
|
|
389
|
+
var imgSrc = svg2Img
|
|
390
|
+
.replace(/\n/g, '')
|
|
391
|
+
.replace(/\t/g, '')
|
|
392
|
+
.replace(/#/g, '%23');
|
|
393
|
+
img.src = imgSrc;
|
|
394
|
+
})];
|
|
395
|
+
});
|
|
396
|
+
});
|
|
397
|
+
};
|
|
398
|
+
/**
|
|
399
|
+
* 克隆并处理画布节点
|
|
400
|
+
* @param svg Node
|
|
401
|
+
* @returns
|
|
402
|
+
*/
|
|
403
|
+
Snapshot.prototype.cloneSvg = function (svg, addStyle) {
|
|
134
404
|
var _this = this;
|
|
135
405
|
var _a;
|
|
136
|
-
|
|
406
|
+
if (addStyle === void 0) { addStyle = true; }
|
|
137
407
|
var copy = svg.cloneNode(true);
|
|
138
408
|
var graph = copy.lastChild;
|
|
139
409
|
var childLength = (_a = graph === null || graph === void 0 ? void 0 : graph.childNodes) === null || _a === void 0 ? void 0 : _a.length;
|
|
@@ -159,101 +429,15 @@ var Snapshot = /** @class */ (function () {
|
|
|
159
429
|
}
|
|
160
430
|
}
|
|
161
431
|
}
|
|
162
|
-
|
|
163
|
-
if (
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
// 当window.devicePixelRatio变小到一定程度,会导致canvas.width<canvas.style.width
|
|
170
|
-
// 由于导出图片的svg的大小是canvas.style.width+canvas.style.height
|
|
171
|
-
// 因此会导致导出的svg图片无法完整绘制到canvas(因为canvas.width小于svg的宽)
|
|
172
|
-
// 从而导致canvas导出图片是缺失的svg
|
|
173
|
-
// 而dpr>=1就能保证canvas.width>=canvas.style.width
|
|
174
|
-
// 当dpr小于1的时候,我们强制转化为1,并不会产生绘制模糊等问题
|
|
175
|
-
dpr = 1;
|
|
176
|
-
}
|
|
177
|
-
var canvas = document.createElement('canvas');
|
|
178
|
-
/*
|
|
179
|
-
为了计算真实宽高需要取图的真实dom
|
|
180
|
-
真实dom存在缩放影响其宽高数值
|
|
181
|
-
在得到真实宽高后除以缩放比例即可得到正常宽高
|
|
182
|
-
*/
|
|
183
|
-
var base = this.lf.graphModel.rootEl.querySelector('.lf-base');
|
|
184
|
-
var bbox = base.getBoundingClientRect();
|
|
185
|
-
var layout = this.lf.container
|
|
186
|
-
.querySelector('.lf-canvas-overlay')
|
|
187
|
-
.getBoundingClientRect();
|
|
188
|
-
var offsetX = bbox.x - layout.x;
|
|
189
|
-
var offsetY = bbox.y - layout.y;
|
|
190
|
-
var graphModel = this.lf.graphModel;
|
|
191
|
-
var transformModel = graphModel.transformModel;
|
|
192
|
-
var SCALE_X = transformModel.SCALE_X, SCALE_Y = transformModel.SCALE_Y, TRANSLATE_X = transformModel.TRANSLATE_X, TRANSLATE_Y = transformModel.TRANSLATE_Y;
|
|
193
|
-
copy.lastChild.style.transform = "matrix(1, 0, 0, 1, ".concat((-offsetX + TRANSLATE_X) * (1 / SCALE_X) + 10, ", ").concat((-offsetY + TRANSLATE_Y) * (1 / SCALE_Y) + 10, ")");
|
|
194
|
-
var bboxWidth = Math.ceil(bbox.width / SCALE_X);
|
|
195
|
-
var bboxHeight = Math.ceil(bbox.height / SCALE_Y);
|
|
196
|
-
// width,height 值加40,保证图形不会紧贴着下载图片的右边和下边
|
|
197
|
-
canvas.style.width = "".concat(bboxWidth, "px");
|
|
198
|
-
canvas.style.height = "".concat(bboxHeight, "px");
|
|
199
|
-
canvas.width = bboxWidth * dpr + 80;
|
|
200
|
-
canvas.height = bboxHeight * dpr + 80;
|
|
201
|
-
var ctx = canvas.getContext('2d');
|
|
202
|
-
if (ctx) {
|
|
203
|
-
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
204
|
-
ctx.scale(dpr, dpr);
|
|
205
|
-
// 如果有背景色,设置流程图导出的背景色
|
|
206
|
-
if (backgroundColor) {
|
|
207
|
-
ctx.fillStyle = backgroundColor;
|
|
208
|
-
ctx.fillRect(0, 0, bboxWidth * dpr + 80, bboxHeight * dpr + 80);
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
211
|
-
ctx.clearRect(0, 0, bboxWidth, bboxHeight);
|
|
212
|
-
}
|
|
432
|
+
// 设置css样式
|
|
433
|
+
if (addStyle) {
|
|
434
|
+
var style = document.createElement('style');
|
|
435
|
+
style.innerHTML = this.getClassRules();
|
|
436
|
+
var foreignObject = document.createElement('foreignObject');
|
|
437
|
+
foreignObject.appendChild(style);
|
|
438
|
+
copy.appendChild(foreignObject);
|
|
213
439
|
}
|
|
214
|
-
|
|
215
|
-
var style = document.createElement('style');
|
|
216
|
-
style.innerHTML = this.getClassRules();
|
|
217
|
-
var foreignObject = document.createElement('foreignObject');
|
|
218
|
-
foreignObject.appendChild(style);
|
|
219
|
-
copy.appendChild(foreignObject);
|
|
220
|
-
return new Promise(function (resolve) {
|
|
221
|
-
img.onload = function () {
|
|
222
|
-
var isFirefox = navigator.userAgent.indexOf('Firefox') > -1;
|
|
223
|
-
try {
|
|
224
|
-
if (isFirefox) {
|
|
225
|
-
createImageBitmap(img, {
|
|
226
|
-
resizeWidth: canvas.width,
|
|
227
|
-
resizeHeight: canvas.height,
|
|
228
|
-
}).then(function (imageBitmap) {
|
|
229
|
-
// 在回调函数中使用 drawImage() 方法绘制图像
|
|
230
|
-
ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(imageBitmap, 0, 0);
|
|
231
|
-
resolve(canvas);
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(img, 0, 0);
|
|
236
|
-
resolve(canvas);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
catch (e) {
|
|
240
|
-
ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(img, 0, 0);
|
|
241
|
-
resolve(canvas);
|
|
242
|
-
}
|
|
243
|
-
};
|
|
244
|
-
/*
|
|
245
|
-
因为svg中存在dom存放在foreignObject元素中
|
|
246
|
-
SVG图形转成img对象
|
|
247
|
-
todo: 会导致一些清晰度问题这个需要再解决
|
|
248
|
-
fixme: XMLSerializer的中的css background url不会下载图片
|
|
249
|
-
*/
|
|
250
|
-
var svg2Img = "data:image/svg+xml;charset=utf-8,".concat(new XMLSerializer().serializeToString(copy));
|
|
251
|
-
var imgSrc = svg2Img
|
|
252
|
-
.replace(/\n/g, '')
|
|
253
|
-
.replace(/\t/g, '')
|
|
254
|
-
.replace(/#/g, '%23');
|
|
255
|
-
img.src = imgSrc;
|
|
256
|
-
});
|
|
440
|
+
return copy;
|
|
257
441
|
};
|
|
258
442
|
Snapshot.pluginName = 'snapshot';
|
|
259
443
|
return Snapshot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/snapshot/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH;IASE,kBAAY,EAAM;YAAJ,EAAE,QAAA;QAAhB,iBAcC;QAlBD,aAAQ,GAAW,cAAc,CAAA;QAK/B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,cAAc,GAAG,EAAE,CAAA;QACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,UAAU;QACV,EAAE,CAAC,WAAW,GAAG,UAAC,QAAgB,EAAE,eAAuB;YACzD,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;QAC7C,CAAC,CAAA;QACD,qBAAqB;QACrB,EAAE,CAAC,eAAe,GAAG,UAAC,eAAuB;YAC3C,OAAA,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC;QAArC,CAAqC,CAAA;QACvC,uBAAuB;QACvB,EAAE,CAAC,iBAAiB,GAAG,UAAC,eAAuB;YAC7C,OAAA,KAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC;QAAvC,CAAuC,CAAA;IAC3C,CAAC;IAED,iBAAiB;IACjB,oCAAiB,GAAjB,UAAkB,EAAE;QAClB,IAAM,cAAc,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAA;QACvE,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,kCAAe,GAAf,UAAgB,MAAc;QAC5B,IAAM,GAAG,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE;YAClC,IAAI,EAAE,QAAQ,CAAC,WAAW;YAC1B,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;QACF,IAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QACrC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC9B,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAClC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;IAED,+BAAY,GAAZ,UAAa,OAAO;QACV,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAY;QAC9B,IAAI,WAAW,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAA;QACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAuB,CAAA;YACjD,IAAM,SAAS,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;YACxE,IAAI,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC1C,WAAW,EAAE,CAAA;gBACb,CAAC,EAAE,CAAA;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,sCAAmB,GAAnB,UAAoB,OAAO;QACjB,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAY;QAC9B,IAAI,WAAW,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAA;QACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAuB,CAAA;YACjD,IAAM,SAAS,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;YACxE,IAAI,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChD,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC1C,WAAW,EAAE,CAAA;gBACb,CAAC,EAAE,CAAA;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU;IACV,8BAAW,GAAX,UAAY,QAAgB,EAAE,eAAuB;QAArD,iBAWC;QAVC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,qBAAc,IAAI,CAAC,GAAG,EAAE,SAAM,CAAA;QAC1D,IAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3C,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,IAAI,CAC3C,UAAC,MAAyB;YACxB,IAAM,MAAM,GAAG,MAAM;iBAClB,SAAS,CAAC,WAAW,CAAC;iBACtB,OAAO,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAA;YAC7C,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC,CACF,CAAA;IACH,CAAC;IAED,gBAAgB;IAChB,oCAAiB,GAAjB,UAAkB,eAAuB;QAAzC,iBAeC;QAdC,IAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3C,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;YACzB,KAAI,CAAC,aAAa,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,IAAI,CAC3C,UAAC,MAAyB;gBACxB,IAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;gBAC5C,eAAe;gBACf,OAAO,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAA;YACJ,CAAC,CACF,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,cAAc;IACd,kCAAe,GAAf,UAAgB,eAAuB;QAAvC,iBAgBC;QAfC,IAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3C,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;YACzB,KAAI,CAAC,aAAa,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,IAAI,CAC3C,UAAC,MAAyB;gBACxB,MAAM,CAAC,MAAM,CAAC,UAAC,IAAI;oBACjB,eAAe;oBACf,OAAO,CAAC;wBACN,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;qBACtB,CAAC,CAAA;gBACJ,CAAC,EAAE,WAAW,CAAC,CAAA;YACjB,CAAC,CACF,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,gCAAa,GAAb;QACE,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAChB,IAAA,WAAW,GAAK,QAAQ,YAAb,CAAa;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,IAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;gBAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,KAAK,IAAI,IAAI,CAAC,cAAc,CAAA;QAC9B,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,mCAAmC;IACnC,gCAAa,GAAb,UACE,GAAuB,EACvB,eAAuB;QAFzB,iBA+HC;;QA3HC,yBAAyB;QACzB,IAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAChC,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAA;QAC5B,IAAI,WAAW,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,0CAAE,MAAM,CAAA;QAC3C,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,IAAM,OAAO,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,CAAC,CAAC,CAAuB,CAAA;gBAC1D,4BAA4B;gBAC5B,IAAM,cAAc,GAClB,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;gBACpD,IAAI,cAAc,IAAI,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5D,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;oBACvC,WAAW,EAAE,CAAA;oBACb,CAAC,EAAE,CAAA;gBACL,CAAC;qBAAM,CAAC;oBACN,OAAO;oBACP,IAAM,MAAM,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,CAAC,CAAC,CAAC,CAAA;oBACnC,MAAM;wBACJ,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,IAAI;4BAC7B,IAAM,OAAO,GAAG,IAA0B,CAAA;4BAC1C,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;4BACrC,KAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;wBAC9C,CAAC,CAAC,CAAA;gBACN,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,GAAG,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAA;QACtC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,gDAAgD;YAChD,+DAA+D;YAC/D,oEAAoE;YACpE,kDAAkD;YAClD,yCAAyC;YACzC,qEAAqE;YACrE,uDAAuD;YACvD,oDAAoD;YACpD,wBAAwB;YACxB,8CAA8C;YAC9C,mCAAmC;YACnC,GAAG,GAAG,CAAC,CAAA;QACT,CAAC;QACD,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC/C;;;;UAIE;QACF,IAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAChE,IAAM,IAAI,GAAI,IAAgB,CAAC,qBAAqB,EAAE,CAAA;QACtD,IAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS;aAC7B,aAAa,CAAC,oBAAoB,CAAC;aACnC,qBAAqB,EAAE,CAAA;QAC1B,IAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;QACjC,IAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;QACzB,IAAA,UAAU,GAAK,IAAI,CAAC,EAAE,WAAZ,CAAY;QACtB,IAAA,cAAc,GAAK,UAAU,eAAf,CAAe;QAC7B,IAAA,OAAO,GAAwC,cAAc,QAAtD,EAAE,OAAO,GAA+B,cAAc,QAA7C,EAAE,WAAW,GAAkB,cAAc,YAAhC,EAAE,WAAW,GAAK,cAAc,YAAnB,CAEjD;QAAC,IAAI,CAAC,SAAyB,CAAC,KAAK,CAAC,SAAS,GAAG,6BACjD,CAAC,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,eAC1C,CAAC,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,MAAG,CAAA;QACrD,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAA;QACjD,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CAAA;QACnD,wCAAwC;QACxC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,UAAG,SAAS,OAAI,CAAA;QACrC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,UAAG,UAAU,OAAI,CAAA;QACvC,MAAM,CAAC,KAAK,GAAG,SAAS,GAAG,GAAG,GAAG,EAAE,CAAA;QACnC,MAAM,CAAC,MAAM,GAAG,UAAU,GAAG,GAAG,GAAG,EAAE,CAAA;QACrC,IAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YAChD,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACnB,qBAAqB;YACrB,IAAI,eAAe,EAAE,CAAC;gBACpB,GAAG,CAAC,SAAS,GAAG,eAAe,CAAA;gBAC/B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,GAAG,GAAG,GAAG,EAAE,EAAE,UAAU,GAAG,GAAG,GAAG,EAAE,CAAC,CAAA;YACjE,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;QACD,IAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAA;QACvB,IAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC7C,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACtC,IAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;QAC7D,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;QAC/B,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;YACzB,GAAG,CAAC,MAAM,GAAG;gBACX,IAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC7D,IAAI,CAAC;oBACH,IAAI,SAAS,EAAE,CAAC;wBACd,iBAAiB,CAAC,GAAG,EAAE;4BACrB,WAAW,EAAE,MAAM,CAAC,KAAK;4BACzB,YAAY,EAAE,MAAM,CAAC,MAAM;yBAC5B,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;4BAClB,8BAA8B;4BAC9B,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;4BACjC,OAAO,CAAC,MAAM,CAAC,CAAA;wBACjB,CAAC,CAAC,CAAA;oBACJ,CAAC;yBAAM,CAAC;wBACN,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;wBACzB,OAAO,CAAC,MAAM,CAAC,CAAA;oBACjB,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;oBACzB,OAAO,CAAC,MAAM,CAAC,CAAA;gBACjB,CAAC;YACH,CAAC,CAAA;YACD;;;;;cAKE;YACF,IAAM,OAAO,GAAG,2CAAoC,IAAI,aAAa,EAAE,CAAC,iBAAiB,CACvF,IAAI,CACL,CAAE,CAAA;YACH,IAAM,MAAM,GAAG,OAAO;iBACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;iBAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;iBAClB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YACvB,GAAG,CAAC,GAAG,GAAG,MAAM,CAAA;QAClB,CAAC,CAAC,CAAA;IACJ,CAAC;IA3QM,mBAAU,GAAG,UAAU,AAAb,CAAa;IA4QhC,eAAC;CAAA,AA7QD,IA6QC;AA7QY,4BAAQ;AA+QrB,kBAAe,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/snapshot/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 当获取图片失败时会返回失败信息,是 text/plain 类型的数据
|
|
3
|
+
* @param str - 图片内容
|
|
4
|
+
* @returns
|
|
5
|
+
*/
|
|
6
|
+
export declare function isTextPlainBase64(str: string): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* 将网络图片转为 base64
|
|
9
|
+
* @param url - 图片地址
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export declare function convertImageToBase64(url: string): Promise<string>;
|
|
13
|
+
/**
|
|
14
|
+
* 使用 base64 的图片替换 img 标签的 src 或 image 标签的 href
|
|
15
|
+
* @param node - html 节点或 svg 节点
|
|
16
|
+
*/
|
|
17
|
+
export declare function updateImageSrcOrHrefWithBase64Image(node: HTMLImageElement | SVGImageElement, attrName: 'src' | 'href'): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* 使用 base64 的图片替换背景图片
|
|
20
|
+
* @param node - html 节点
|
|
21
|
+
* @param styleAttr - 样式属性名称
|
|
22
|
+
*/
|
|
23
|
+
export declare function updateBackgroundImageWithBase64Image(node: HTMLElement, url: string): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* 更新图片数据
|
|
26
|
+
* @param node - 节点
|
|
27
|
+
*/
|
|
28
|
+
export declare function updateImageSource(node: HTMLElement | SVGElement): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* 重新复制canvas 用于在不裁剪原canvas的基础上通过拉伸方式达到自定义宽高目的
|
|
31
|
+
* @param originCanvas HTMLCanvasElement
|
|
32
|
+
* @param targetWidth number
|
|
33
|
+
* @param targetHeight number
|
|
34
|
+
*/
|
|
35
|
+
export declare function copyCanvas(originCanvas: HTMLCanvasElement, targetWidth: number, targetHeight: number): HTMLCanvasElement;
|