@worktile/theia 16.3.13 → 16.3.14
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/custom-types.d.ts +1 -1
- package/editor.module.d.ts +2 -2
- package/esm2022/custom-types.mjs +1 -1
- package/esm2022/interfaces/image.mjs +1 -1
- package/esm2022/interfaces/index.mjs +2 -1
- package/esm2022/interfaces/upload.mjs +1 -1
- package/esm2022/plugins/deserialize/deserialize-html.plugin.mjs +2 -2
- package/esm2022/plugins/deserialize/deserialize-md.plugin.mjs +2 -2
- package/esm2022/plugins/image/image.component.mjs +88 -73
- package/esm2022/plugins/image/image.editor.mjs +19 -16
- package/esm2022/services/context.service.mjs +4 -1
- package/esm2022/utils/data-transform.mjs +1 -1
- package/fesm2022/worktile-theia.mjs +106 -87
- package/fesm2022/worktile-theia.mjs.map +1 -1
- package/interfaces/editor.d.ts +2 -2
- package/interfaces/image.d.ts +2 -2
- package/interfaces/index.d.ts +1 -0
- package/interfaces/upload.d.ts +3 -0
- package/package.json +1 -1
- package/plugins/image/image.component.d.ts +15 -10
- package/plugins/image/image.editor.d.ts +1 -6
- package/plugins/table/utils/is-virtual-key.d.ts +1 -1
- package/services/context.service.d.ts +3 -3
|
@@ -3,10 +3,10 @@ import { Editor, Element, Transforms } from 'slate';
|
|
|
3
3
|
import { ElementKinds, ErrorCodes, PICTURE_ACCEPTED_UPLOAD_MIME, PICTURE_ACCEPTED_UPLOAD_SIZE } from '../../constants';
|
|
4
4
|
import { getPluginOptions } from '../../core';
|
|
5
5
|
import { PluginKeys, THE_UPLOAD_SERVICE_TOKEN } from '../../interfaces';
|
|
6
|
+
import * as TheQueries from '../../queries';
|
|
6
7
|
import { TheContextService } from '../../services/context.service';
|
|
7
8
|
import * as TheTransforms from '../../transforms';
|
|
8
9
|
import { base64toBlob } from '../../utils/blob';
|
|
9
|
-
import * as TheQueries from '../../queries';
|
|
10
10
|
export const ImageEditor = {
|
|
11
11
|
openUpload(editor) {
|
|
12
12
|
const inputFile = document.createElement('input');
|
|
@@ -50,6 +50,23 @@ export const ImageEditor = {
|
|
|
50
50
|
file: new File([blob], `${new Date().getTime()}.${ext}`, { type: contentType })
|
|
51
51
|
});
|
|
52
52
|
},
|
|
53
|
+
handleExternalImageElement(editor, image) {
|
|
54
|
+
const contextService = editor.injector.get(TheContextService);
|
|
55
|
+
const imageUploaderService = editor.injector.get(THE_UPLOAD_SERVICE_TOKEN);
|
|
56
|
+
const isExternalUrl = image?.hasOwnProperty('externalUrl')
|
|
57
|
+
? image?.externalUrl
|
|
58
|
+
: imageUploaderService.isExternalUrl?.(image.thumbUrl);
|
|
59
|
+
if (isExternalUrl) {
|
|
60
|
+
const url = image.thumbUrl;
|
|
61
|
+
image.url = url;
|
|
62
|
+
image.externalUrl = url;
|
|
63
|
+
image.thumbUrl = null;
|
|
64
|
+
contextService.addUploadingFiles({
|
|
65
|
+
url: image.url,
|
|
66
|
+
file: image.url
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
},
|
|
53
70
|
verifyImage(editor, image) {
|
|
54
71
|
if (!PICTURE_ACCEPTED_UPLOAD_MIME.includes(image.type)) {
|
|
55
72
|
editor.onError({
|
|
@@ -85,20 +102,6 @@ export const ImageEditor = {
|
|
|
85
102
|
isBase64(url) {
|
|
86
103
|
return isString(url) && url.includes('base64');
|
|
87
104
|
},
|
|
88
|
-
/**
|
|
89
|
-
* 设置图片来源
|
|
90
|
-
* @param editor 编辑器对象
|
|
91
|
-
* @param image 图片节点
|
|
92
|
-
*/
|
|
93
|
-
setImageSource(editor, image) {
|
|
94
|
-
const imageUploaderService = editor.injector.get(THE_UPLOAD_SERVICE_TOKEN);
|
|
95
|
-
const externalSource = image?.hasOwnProperty('externalSource')
|
|
96
|
-
? image?.externalSource
|
|
97
|
-
: imageUploaderService.isExternalSource?.(image.thumbUrl);
|
|
98
|
-
if (externalSource) {
|
|
99
|
-
image.externalSource = externalSource;
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
105
|
removeImage(editor, image) {
|
|
103
106
|
if (image) {
|
|
104
107
|
TheTransforms.deleteElement(editor, image);
|
|
@@ -108,4 +111,4 @@ export const ImageEditor = {
|
|
|
108
111
|
}
|
|
109
112
|
}
|
|
110
113
|
};
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaW1hZ2UvaW1hZ2UuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDMUQsT0FBTyxFQUVILFlBQVksRUFDWixVQUFVLEVBRVYsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUMvQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU5QyxPQUFPLEVBQXNCLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN2QixVQUFVLENBQUMsTUFBYztRQUNyQixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELFNBQVMsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLFNBQVMsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUNsQyxXQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRyxLQUFLLENBQUMsTUFBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztRQUNGLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsWUFBWSxDQUFDLE1BQWMsRUFBRSxVQUE2QjtRQUN0RCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlELE1BQU0sVUFBVSxHQUFjLEVBQUUsQ0FBQztRQUNqQyxNQUFNLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUMxQixLQUFLLE1BQU0sS0FBSyxJQUFJLFVBQVUsRUFBRTtZQUM1QixNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN0RCxJQUFJLE1BQU0sRUFBRTtnQkFDUixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QyxjQUFjLENBQUMsaUJBQWlCLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQ3ZELFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3hFO1NBQ0o7UUFDRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLGFBQWEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ3BEO0lBQ0wsQ0FBQztJQUNELHdCQUF3QixDQUFDLE1BQWMsRUFBRSxLQUFtQjtRQUN4RCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckQsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUcsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDL0MsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxLQUFLLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN6QixLQUFLLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUMxQixLQUFLLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUNwQixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlELGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQztZQUM3QixHQUFHLEVBQUUsT0FBTztZQUNaLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQztTQUNsRixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsV0FBVyxDQUFDLE1BQWMsRUFBRSxLQUFXO1FBQ25DLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BELE1BQU0sQ0FBQyxPQUFPLENBQUM7Z0JBQ1gsSUFBSSxFQUFFLFVBQVUsQ0FBQyxxQkFBcUI7YUFDekMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxNQUFNLGtCQUFrQixHQUNwQixnQkFBZ0IsQ0FBcUIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxrQkFBa0IsSUFBSSw0QkFBNEIsQ0FBQztRQUN2SCxJQUFJLEtBQUssQ0FBQyxJQUFJLEdBQUcsT0FBTyxJQUFJLGtCQUFrQixFQUFFO1lBQzVDLE1BQU0sQ0FBQyxPQUFPLENBQUM7Z0JBQ1gsSUFBSSxFQUFFLFVBQVUsQ0FBQyxvQkFBb0I7YUFDeEMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsUUFBUSxDQUFDLE1BQWM7UUFDbkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2pDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsS0FBSztZQUNqRSxTQUFTLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDbkIsQ0FBQztJQUNELFlBQVksQ0FBQyxNQUFjLEVBQUUsS0FBNEIsRUFBRSxLQUFvQjtRQUMzRSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsRTthQUFNO1lBQ0gsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDaEQsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDcEQ7SUFDTCxDQUFDO0lBQ0QsUUFBUSxDQUFDLEdBQVc7UUFDaEIsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILGNBQWMsQ0FBQyxNQUFjLEVBQUUsS0FBbUI7UUFDOUMsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sY0FBYyxHQUFHLEtBQUssRUFBRSxjQUFjLENBQUMsZ0JBQWdCLENBQUM7WUFDMUQsQ0FBQyxDQUFDLEtBQUssRUFBRSxjQUFjO1lBQ3ZCLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5RCxJQUFJLGNBQWMsRUFBRTtZQUNoQixLQUFLLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztTQUN6QztJQUNMLENBQUM7SUFDRCxXQUFXLENBQUMsTUFBYyxFQUFFLEtBQW9CO1FBQzVDLElBQUksS0FBSyxFQUFFO1lBQ1AsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDOUM7YUFBTTtZQUNILGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlEO0lBQ0wsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIFBhdGgsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQge1xuICAgIEFsaWdubWVudCxcbiAgICBFbGVtZW50S2luZHMsXG4gICAgRXJyb3JDb2RlcyxcbiAgICBMYXlvdXRUeXBlcyxcbiAgICBQSUNUVVJFX0FDQ0VQVEVEX1VQTE9BRF9NSU1FLFxuICAgIFBJQ1RVUkVfQUNDRVBURURfVVBMT0FEX1NJWkVcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFBsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IEltYWdlRWxlbWVudCB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBJbWFnZVBsdWdpbk9wdGlvbnMsIFBsdWdpbktleXMsIFRIRV9VUExPQURfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVGhlQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgVGhlVHJhbnNmb3JtcyBmcm9tICcuLi8uLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGJhc2U2NHRvQmxvYiB9IGZyb20gJy4uLy4uL3V0aWxzL2Jsb2InO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcblxuZXhwb3J0IGNvbnN0IEltYWdlRWRpdG9yID0ge1xuICAgIG9wZW5VcGxvYWQoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgaW5wdXRGaWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgaW5wdXRGaWxlLnNldEF0dHJpYnV0ZSgndHlwZScsICdmaWxlJyk7XG4gICAgICAgIGlucHV0RmlsZS5zZXRBdHRyaWJ1dGUoJ2FjY2VwdCcsICdpbWFnZS8qJyk7XG4gICAgICAgIGlucHV0RmlsZS5zZXRBdHRyaWJ1dGUoJ211bHRpcGxlJywgJ3RydWUnKTtcbiAgICAgICAgaW5wdXRGaWxlLm9uY2hhbmdlID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICAgICAgSW1hZ2VFZGl0b3IuaW5zZXJ0SW1hZ2VzKGVkaXRvciwgKGV2ZW50LnRhcmdldCBhcyBhbnkpLmZpbGVzKTtcbiAgICAgICAgfTtcbiAgICAgICAgaW5wdXRGaWxlLmNsaWNrKCk7XG4gICAgfSxcbiAgICBpbnNlcnRJbWFnZXMoZWRpdG9yOiBFZGl0b3IsIGltYWdlRmlsZXM6IEZpbGVMaXN0IHwgRmlsZVtdKSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHRTZXJ2aWNlID0gZWRpdG9yLmluamVjdG9yLmdldChUaGVDb250ZXh0U2VydmljZSk7XG4gICAgICAgIGNvbnN0IGltYWdlTm9kZXM6IEVsZW1lbnRbXSA9IFtdO1xuICAgICAgICBjb25zdCB0ZXh0ID0geyB0ZXh0OiAnJyB9O1xuICAgICAgICBmb3IgKGNvbnN0IGltYWdlIG9mIGltYWdlRmlsZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHZlcmlmeSA9IEltYWdlRWRpdG9yLnZlcmlmeUltYWdlKGVkaXRvciwgaW1hZ2UpO1xuICAgICAgICAgICAgaWYgKHZlcmlmeSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoaW1hZ2UpO1xuICAgICAgICAgICAgICAgIGNvbnRleHRTZXJ2aWNlLmFkZFVwbG9hZGluZ0ZpbGVzKHsgdXJsLCBmaWxlOiBpbWFnZSB9KTtcbiAgICAgICAgICAgICAgICBpbWFnZU5vZGVzLnB1c2goeyB0eXBlOiBFbGVtZW50S2luZHMuaW1hZ2UsIHVybCwgY2hpbGRyZW46IFt0ZXh0XSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1hZ2VOb2Rlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLmluc2VydEVsZW1lbnRzKGVkaXRvciwgaW1hZ2VOb2Rlcyk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGhhbmRsZUJhc2U2NEltYWdlRWxlbWVudChlZGl0b3I6IEVkaXRvciwgaW1hZ2U6IEltYWdlRWxlbWVudCkge1xuICAgICAgICBjb25zdCBpbmRleFNwbGl0ID0gaW1hZ2Uub3JpZ2luVXJsLmluZGV4T2YoJywnKTtcbiAgICAgICAgY29uc3QgYmFzZTY0ID0gaW1hZ2Uub3JpZ2luVXJsLnNsaWNlKGluZGV4U3BsaXQgKyAxKTtcbiAgICAgICAgY29uc3QgY29udGVudFR5cGUgPSBpbWFnZS5vcmlnaW5Vcmwuc3Vic3RyaW5nKGltYWdlLm9yaWdpblVybC5pbmRleE9mKCc6JykgKyAxLCBpbWFnZS5vcmlnaW5VcmwuaW5kZXhPZignOycpKTtcbiAgICAgICAgY29uc3QgZXh0ID0gY29udGVudFR5cGUuc3Vic3RyaW5nKGNvbnRlbnRUeXBlLmluZGV4T2YoJy8nKSArIDEpO1xuICAgICAgICBjb25zdCBibG9iID0gYmFzZTY0dG9CbG9iKGJhc2U2NCwgY29udGVudFR5cGUpO1xuICAgICAgICBjb25zdCBibG9iVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgICAgaW1hZ2UudGh1bWJVcmwgPSBibG9iVXJsO1xuICAgICAgICBpbWFnZS5vcmlnaW5VcmwgPSBibG9iVXJsO1xuICAgICAgICBpbWFnZS51cmwgPSBibG9iVXJsO1xuICAgICAgICBjb25zdCBjb250ZXh0U2VydmljZSA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGhlQ29udGV4dFNlcnZpY2UpO1xuICAgICAgICBjb250ZXh0U2VydmljZS5hZGRVcGxvYWRpbmdGaWxlcyh7XG4gICAgICAgICAgICB1cmw6IGJsb2JVcmwsXG4gICAgICAgICAgICBmaWxlOiBuZXcgRmlsZShbYmxvYl0sIGAke25ldyBEYXRlKCkuZ2V0VGltZSgpfS4ke2V4dH1gLCB7IHR5cGU6IGNvbnRlbnRUeXBlIH0pXG4gICAgICAgIH0pO1xuICAgIH0sXG4gICAgdmVyaWZ5SW1hZ2UoZWRpdG9yOiBFZGl0b3IsIGltYWdlOiBGaWxlKSB7XG4gICAgICAgIGlmICghUElDVFVSRV9BQ0NFUFRFRF9VUExPQURfTUlNRS5pbmNsdWRlcyhpbWFnZS50eXBlKSkge1xuICAgICAgICAgICAgZWRpdG9yLm9uRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGNvZGU6IEVycm9yQ29kZXMuSU1BR0VfRVJSX01JTUVfRk9STUFUXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhY2NlcHRlZFVwbG9hZFNpemUgPVxuICAgICAgICAgICAgZ2V0UGx1Z2luT3B0aW9uczxJbWFnZVBsdWdpbk9wdGlvbnM+KGVkaXRvciwgUGx1Z2luS2V5cy5pbWFnZSk/LmFjY2VwdGVkVXBsb2FkU2l6ZSA/PyBQSUNUVVJFX0FDQ0VQVEVEX1VQTE9BRF9TSVpFO1xuICAgICAgICBpZiAoaW1hZ2Uuc2l6ZSAvIDEwMDAwMDAgPj0gYWNjZXB0ZWRVcGxvYWRTaXplKSB7XG4gICAgICAgICAgICBlZGl0b3Iub25FcnJvcih7XG4gICAgICAgICAgICAgICAgY29kZTogRXJyb3JDb2Rlcy5JTUFHRV9FUlJfU0laRV9MSU1JVFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBpc0FjdGl2ZShlZGl0b3I6IEVkaXRvcik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBbbWF0Y2hdID0gRWRpdG9yLm5vZGVzKGVkaXRvciwge1xuICAgICAgICAgICAgbWF0Y2g6IG4gPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgbi50eXBlID09PSBFbGVtZW50S2luZHMuaW1hZ2UsXG4gICAgICAgICAgICB1bml2ZXJzYWw6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiAhIW1hdGNoO1xuICAgIH0sXG4gICAgc2V0SW1hZ2VOb2RlKGVkaXRvcjogRWRpdG9yLCBwcm9wczogUGFydGlhbDxJbWFnZUVsZW1lbnQ+LCBpbWFnZT86IEltYWdlRWxlbWVudCkge1xuICAgICAgICBpZiAoIWltYWdlKSB7XG4gICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLnNldE5vZGVCeVR5cGUoZWRpdG9yLCBwcm9wcywgRWxlbWVudEtpbmRzLmltYWdlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBUaGVRdWVyaWVzLmZpbmRQYXRoKGVkaXRvciwgaW1hZ2UpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIHByb3BzLCB7IGF0OiBwYXRoIH0pO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBpc0Jhc2U2NCh1cmw6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gaXNTdHJpbmcodXJsKSAmJiB1cmwuaW5jbHVkZXMoJ2Jhc2U2NCcpO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICog6K6+572u5Zu+54mH5p2l5rqQXG4gICAgICogQHBhcmFtIGVkaXRvciDnvJbovpHlmajlr7nosaFcbiAgICAgKiBAcGFyYW0gaW1hZ2Ug5Zu+54mH6IqC54K5XG4gICAgICovXG4gICAgc2V0SW1hZ2VTb3VyY2UoZWRpdG9yOiBFZGl0b3IsIGltYWdlOiBJbWFnZUVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgaW1hZ2VVcGxvYWRlclNlcnZpY2UgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KFRIRV9VUExPQURfU0VSVklDRV9UT0tFTik7XG4gICAgICAgIGNvbnN0IGV4dGVybmFsU291cmNlID0gaW1hZ2U/Lmhhc093blByb3BlcnR5KCdleHRlcm5hbFNvdXJjZScpXG4gICAgICAgICAgICA/IGltYWdlPy5leHRlcm5hbFNvdXJjZVxuICAgICAgICAgICAgOiBpbWFnZVVwbG9hZGVyU2VydmljZS5pc0V4dGVybmFsU291cmNlPy4oaW1hZ2UudGh1bWJVcmwpO1xuICAgICAgICBpZiAoZXh0ZXJuYWxTb3VyY2UpIHtcbiAgICAgICAgICAgIGltYWdlLmV4dGVybmFsU291cmNlID0gZXh0ZXJuYWxTb3VyY2U7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHJlbW92ZUltYWdlKGVkaXRvcjogRWRpdG9yLCBpbWFnZT86IEltYWdlRWxlbWVudCkge1xuICAgICAgICBpZiAoaW1hZ2UpIHtcbiAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMuZGVsZXRlRWxlbWVudChlZGl0b3IsIGltYWdlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMuZGVsZXRlTm9kZUJ5VHlwZShlZGl0b3IsIEVsZW1lbnRLaW5kcy5pbWFnZSk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaW1hZ2UvaW1hZ2UuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsNEJBQTRCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2SCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFOUMsT0FBTyxFQUFzQixVQUFVLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RixPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDdkIsVUFBVSxDQUFDLE1BQWM7UUFDckIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxTQUFTLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QyxTQUFTLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM1QyxTQUFTLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzQyxTQUFTLENBQUMsUUFBUSxHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFD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LGdCQUFnQixDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUQ7SUFDTCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU3RyaW5nIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IEVkaXRvciwgRWxlbWVudCwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcywgRXJyb3JDb2RlcywgUElDVFVSRV9BQ0NFUFRFRF9VUExPQURfTUlNRSwgUElDVFVSRV9BQ0NFUFRFRF9VUExPQURfU0laRSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBJbWFnZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgSW1hZ2VQbHVnaW5PcHRpb25zLCBQbHVnaW5LZXlzLCBUSEVfVVBMT0FEX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBUaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uLy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgYmFzZTY0dG9CbG9iIH0gZnJvbSAnLi4vLi4vdXRpbHMvYmxvYic7XG5cbmV4cG9ydCBjb25zdCBJbWFnZUVkaXRvciA9IHtcbiAgICBvcGVuVXBsb2FkKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IGlucHV0RmlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgIGlucHV0RmlsZS5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnZmlsZScpO1xuICAgICAgICBpbnB1dEZpbGUuc2V0QXR0cmlidXRlKCdhY2NlcHQnLCAnaW1hZ2UvKicpO1xuICAgICAgICBpbnB1dEZpbGUuc2V0QXR0cmlidXRlKCdtdWx0aXBsZScsICd0cnVlJyk7XG4gICAgICAgIGlucHV0RmlsZS5vbmNoYW5nZSA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgICAgIEltYWdlRWRpdG9yLmluc2VydEltYWdlcyhlZGl0b3IsIChldmVudC50YXJnZXQgYXMgYW55KS5maWxlcyk7XG4gICAgICAgIH07XG4gICAgICAgIGlucHV0RmlsZS5jbGljaygpO1xuICAgIH0sXG4gICAgaW5zZXJ0SW1hZ2VzKGVkaXRvcjogRWRpdG9yLCBpbWFnZUZpbGVzOiBGaWxlTGlzdCB8IEZpbGVbXSkge1xuICAgICAgICBjb25zdCBjb250ZXh0U2VydmljZSA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGhlQ29udGV4dFNlcnZpY2UpO1xuICAgICAgICBjb25zdCBpbWFnZU5vZGVzOiBFbGVtZW50W10gPSBbXTtcbiAgICAgICAgY29uc3QgdGV4dCA9IHsgdGV4dDogJycgfTtcbiAgICAgICAgZm9yIChjb25zdCBpbWFnZSBvZiBpbWFnZUZpbGVzKSB7XG4gICAgICAgICAgICBjb25zdCB2ZXJpZnkgPSBJbWFnZUVkaXRvci52ZXJpZnlJbWFnZShlZGl0b3IsIGltYWdlKTtcbiAgICAgICAgICAgIGlmICh2ZXJpZnkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGltYWdlKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0U2VydmljZS5hZGRVcGxvYWRpbmdGaWxlcyh7IHVybCwgZmlsZTogaW1hZ2UgfSk7XG4gICAgICAgICAgICAgICAgaW1hZ2VOb2Rlcy5wdXNoKHsgdHlwZTogRWxlbWVudEtpbmRzLmltYWdlLCB1cmwsIGNoaWxkcmVuOiBbdGV4dF0gfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGltYWdlTm9kZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5pbnNlcnRFbGVtZW50cyhlZGl0b3IsIGltYWdlTm9kZXMpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBoYW5kbGVCYXNlNjRJbWFnZUVsZW1lbnQoZWRpdG9yOiBFZGl0b3IsIGltYWdlOiBJbWFnZUVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgaW5kZXhTcGxpdCA9IGltYWdlLm9yaWdpblVybC5pbmRleE9mKCcsJyk7XG4gICAgICAgIGNvbnN0IGJhc2U2NCA9IGltYWdlLm9yaWdpblVybC5zbGljZShpbmRleFNwbGl0ICsgMSk7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gaW1hZ2Uub3JpZ2luVXJsLnN1YnN0cmluZyhpbWFnZS5vcmlnaW5VcmwuaW5kZXhPZignOicpICsgMSwgaW1hZ2Uub3JpZ2luVXJsLmluZGV4T2YoJzsnKSk7XG4gICAgICAgIGNvbnN0IGV4dCA9IGNvbnRlbnRUeXBlLnN1YnN0cmluZyhjb250ZW50VHlwZS5pbmRleE9mKCcvJykgKyAxKTtcbiAgICAgICAgY29uc3QgYmxvYiA9IGJhc2U2NHRvQmxvYihiYXNlNjQsIGNvbnRlbnRUeXBlKTtcbiAgICAgICAgY29uc3QgYmxvYlVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICAgIGltYWdlLnRodW1iVXJsID0gYmxvYlVybDtcbiAgICAgICAgaW1hZ2Uub3JpZ2luVXJsID0gYmxvYlVybDtcbiAgICAgICAgaW1hZ2UudXJsID0gYmxvYlVybDtcbiAgICAgICAgY29uc3QgY29udGV4dFNlcnZpY2UgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KFRoZUNvbnRleHRTZXJ2aWNlKTtcbiAgICAgICAgY29udGV4dFNlcnZpY2UuYWRkVXBsb2FkaW5nRmlsZXMoe1xuICAgICAgICAgICAgdXJsOiBibG9iVXJsLFxuICAgICAgICAgICAgZmlsZTogbmV3IEZpbGUoW2Jsb2JdLCBgJHtuZXcgRGF0ZSgpLmdldFRpbWUoKX0uJHtleHR9YCwgeyB0eXBlOiBjb250ZW50VHlwZSB9KVxuICAgICAgICB9KTtcbiAgICB9LFxuICAgIGhhbmRsZUV4dGVybmFsSW1hZ2VFbGVtZW50KGVkaXRvcjogRWRpdG9yLCBpbWFnZTogSW1hZ2VFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHRTZXJ2aWNlID0gZWRpdG9yLmluamVjdG9yLmdldChUaGVDb250ZXh0U2VydmljZSk7XG4gICAgICAgIGNvbnN0IGltYWdlVXBsb2FkZXJTZXJ2aWNlID0gZWRpdG9yLmluamVjdG9yLmdldChUSEVfVVBMT0FEX1NFUlZJQ0VfVE9LRU4pO1xuICAgICAgICBjb25zdCBpc0V4dGVybmFsVXJsID0gaW1hZ2U/Lmhhc093blByb3BlcnR5KCdleHRlcm5hbFVybCcpXG4gICAgICAgICAgICA/IGltYWdlPy5leHRlcm5hbFVybFxuICAgICAgICAgICAgOiBpbWFnZVVwbG9hZGVyU2VydmljZS5pc0V4dGVybmFsVXJsPy4oaW1hZ2UudGh1bWJVcmwpO1xuXG4gICAgICAgIGlmIChpc0V4dGVybmFsVXJsKSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBpbWFnZS50aHVtYlVybDtcbiAgICAgICAgICAgIGltYWdlLnVybCA9IHVybDtcbiAgICAgICAgICAgIGltYWdlLmV4dGVybmFsVXJsID0gdXJsO1xuICAgICAgICAgICAgaW1hZ2UudGh1bWJVcmwgPSBudWxsO1xuXG4gICAgICAgICAgICBjb250ZXh0U2VydmljZS5hZGRVcGxvYWRpbmdGaWxlcyh7XG4gICAgICAgICAgICAgICAgdXJsOiBpbWFnZS51cmwsXG4gICAgICAgICAgICAgICAgZmlsZTogaW1hZ2UudXJsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgdmVyaWZ5SW1hZ2UoZWRpdG9yOiBFZGl0b3IsIGltYWdlOiBGaWxlKSB7XG4gICAgICAgIGlmICghUElDVFVSRV9BQ0NFUFRFRF9VUExPQURfTUlNRS5pbmNsdWRlcyhpbWFnZS50eXBlKSkge1xuICAgICAgICAgICAgZWRpdG9yLm9uRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGNvZGU6IEVycm9yQ29kZXMuSU1BR0VfRVJSX01JTUVfRk9STUFUXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhY2NlcHRlZFVwbG9hZFNpemUgPVxuICAgICAgICAgICAgZ2V0UGx1Z2luT3B0aW9uczxJbWFnZVBsdWdpbk9wdGlvbnM+KGVkaXRvciwgUGx1Z2luS2V5cy5pbWFnZSk/LmFjY2VwdGVkVXBsb2FkU2l6ZSA/PyBQSUNUVVJFX0FDQ0VQVEVEX1VQTE9BRF9TSVpFO1xuICAgICAgICBpZiAoaW1hZ2Uuc2l6ZSAvIDEwMDAwMDAgPj0gYWNjZXB0ZWRVcGxvYWRTaXplKSB7XG4gICAgICAgICAgICBlZGl0b3Iub25FcnJvcih7XG4gICAgICAgICAgICAgICAgY29kZTogRXJyb3JDb2Rlcy5JTUFHRV9FUlJfU0laRV9MSU1JVFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBpc0FjdGl2ZShlZGl0b3I6IEVkaXRvcik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBbbWF0Y2hdID0gRWRpdG9yLm5vZGVzKGVkaXRvciwge1xuICAgICAgICAgICAgbWF0Y2g6IG4gPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgbi50eXBlID09PSBFbGVtZW50S2luZHMuaW1hZ2UsXG4gICAgICAgICAgICB1bml2ZXJzYWw6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiAhIW1hdGNoO1xuICAgIH0sXG4gICAgc2V0SW1hZ2VOb2RlKGVkaXRvcjogRWRpdG9yLCBwcm9wczogUGFydGlhbDxJbWFnZUVsZW1lbnQ+LCBpbWFnZT86IEltYWdlRWxlbWVudCkge1xuICAgICAgICBpZiAoIWltYWdlKSB7XG4gICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLnNldE5vZGVCeVR5cGUoZWRpdG9yLCBwcm9wcywgRWxlbWVudEtpbmRzLmltYWdlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBUaGVRdWVyaWVzLmZpbmRQYXRoKGVkaXRvciwgaW1hZ2UpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIHByb3BzLCB7IGF0OiBwYXRoIH0pO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBpc0Jhc2U2NCh1cmw6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gaXNTdHJpbmcodXJsKSAmJiB1cmwuaW5jbHVkZXMoJ2Jhc2U2NCcpO1xuICAgIH0sXG4gICAgcmVtb3ZlSW1hZ2UoZWRpdG9yOiBFZGl0b3IsIGltYWdlPzogSW1hZ2VFbGVtZW50KSB7XG4gICAgICAgIGlmIChpbWFnZSkge1xuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5kZWxldGVFbGVtZW50KGVkaXRvciwgaW1hZ2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5kZWxldGVOb2RlQnlUeXBlKGVkaXRvciwgRWxlbWVudEtpbmRzLmltYWdlKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG4iXX0=
|
|
@@ -109,6 +109,9 @@ export class TheContextService {
|
|
|
109
109
|
this.uploadingFiles.push(file);
|
|
110
110
|
}
|
|
111
111
|
removeUploadFile(file) {
|
|
112
|
+
if (!file) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
112
115
|
this.uploadingFiles.splice(this.uploadingFiles.findIndex(item => item.url === file.url), 1);
|
|
113
116
|
}
|
|
114
117
|
ngOnDestroy() {
|
|
@@ -130,4 +133,4 @@ export class TheContextService {
|
|
|
130
133
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TheContextService, decorators: [{
|
|
131
134
|
type: Injectable
|
|
132
135
|
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQWMsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQWEsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBZ0JoRixNQUFNLE9BQU8saUJBQWlCO0lBb0MxQixZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWpDMUIsYUFBUSxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBSXpDLG1CQUFjLEdBQWtDLEVBQUUsQ0FBQztRQUVuRCxzQkFBaUIsR0FBc0I7WUFDMUMsUUFBUSxFQUFFLEtBQUs7WUFDZixLQUFLLEVBQUUsRUFBRTtTQUNaLENBQUM7UUFRSyx1QkFBa0IsR0FBRyxJQUFJLE9BQU8sRUFBZ0QsQ0FBQztRQUVqRixxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRTFDLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFpRixDQUFDO1FBRWpILHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFpRixDQUFDO1FBRWpILG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQWlGLENBQUM7UUFTakgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQWEsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDMUYsSUFB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RSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFVBQVUsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7K0dBbktRLGlCQUFpQjttSEFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3ksIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGb250U2l6ZXMsIE1hcmtUeXBlcywgU2Nyb2xsRGlyZWN0aW9uIH0gZnJvbSAnLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlQ29udGV4dE9wdGlvbnMge1xuICAgIGVkaXRvcjogVGhlRWRpdG9yO1xuICAgIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XG4gICAgd2lkdGg/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBQYWludEZvcm1hdFN0YXR1cyB7XG4gICAgaXNBY3RpdmU6IGJvb2xlYW47XG4gICAgbWFya3M6IHsgW2tleSBpbiBNYXJrVHlwZXNdPzogYW55IH07XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaGVDb250ZXh0U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBzY3JvbGxTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHByaXZhdGUgb3B0aW9uczogVGhlQ29udGV4dE9wdGlvbnM7XG5cbiAgICBwdWJsaWMgdXBsb2FkaW5nRmlsZXM6IHsgdXJsOiBzdHJpbmc7IGZpbGU6IEZpbGUgfVtdID0gW107XG5cbiAgICBwdWJsaWMgcGFpbnRGb3JtYXRTdGF0dXM6IFBhaW50Rm9ybWF0U3RhdHVzID0ge1xuICAgICAgICBpc0FjdGl2ZTogZmFsc2UsXG4gICAgICAgIG1hcmtzOiB7fVxuICAgIH07XG5cbiAgICBwdWJsaWMgb25Nb3VzZVVwJDogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PjtcblxuICAgIHB1YmxpYyBvbk1vdXNlTW92ZSQ6IE9ic2VydmFibGU8TW91c2VFdmVudD47XG5cbiAgICBwdWJsaWMgb25Nb3VzZURvd24kOiBPYnNlcnZhYmxlPE1vdXNlRXZlbnQ+O1xuXG4gICAgcHVibGljIGNvbnRhaW5lclNjcm9sbGVkJCA9IG5ldyBTdWJqZWN0PHsgZXZlbnQ6IEV2ZW50OyBkaXJlY3Rpb246IFNjcm9sbERpcmVjdGlvbiB9PigpO1xuXG4gICAgcHVibGljIHVwbG9hZGluZ1N0YXR1cyQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgcHVibGljIGNvbnRhaW5lclJlc2l6ZWQkID0gbmV3IFN1YmplY3Q8eyBlbnRyeTogUmVzaXplT2JzZXJ2ZXJFbnRyeTsgd2lkdGhDaGFuZ2VkOiBib29sZWFuOyBoZWlnaHRDaGFuZ2VkOiBib29sZWFuIH0+KCk7XG5cbiAgICBwdWJsaWMgdGhlRWRpdG9yUmVzaXplZCQgPSBuZXcgU3ViamVjdDx7IGVudHJ5OiBSZXNpemVPYnNlcnZlckVudHJ5OyB3aWR0aENoYW5nZWQ6IGJvb2xlYW47IGhlaWdodENoYW5nZWQ6IGJvb2xlYW4gfT4oKTtcblxuICAgIHB1YmxpYyB3aW5kb3dSZXNpemVkJCA9IG5ldyBTdWJqZWN0PHsgZW50cnk6IFJlc2l6ZU9ic2VydmVyRW50cnk7IHdpZHRoQ2hhbmdlZDogYm9vbGVhbjsgaGVpZ2h0Q2hhbmdlZDogYm9vbGVhbiB9PigpO1xuXG4gICAgcHJpdmF0ZSBjb250YWluZXJSZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBwcml2YXRlIHRoZUVkaXRvclJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICAgIHByaXZhdGUgd2luZG93UmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uTW91c2VVcCQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4od2luZG93LCBgbW91c2V1cGApLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgICAgICAgICAgIHRoaXMub25Nb3VzZU1vdmUkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHdpbmRvdywgYG1vdXNlbW92ZWApLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgICAgICAgICAgIHRoaXMub25Nb3VzZURvd24kID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHdpbmRvdywgYG1vdXNlZG93bmApLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGluaXRpYWxpemUob3B0aW9uczogVGhlQ29udGV4dE9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgdGhpcy5yZWJpbmRDb250YWluZXJTY3JvbGwoKTtcbiAgICAgICAgdGhpcy5iaW5kQ29udGFpbmVyUmVzaXplKCk7XG4gICAgICAgIHRoaXMuYmluZFRoZUVkaXRvclJlc2l6ZSgpO1xuICAgICAgICB0aGlzLmJpbmRXaW5kb3dSZXNpemUoKTtcbiAgICB9XG5cbiAgICBnZXRTY3JvbGxDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCB7IHNjcm9sbENvbnRhaW5lciB9ID0gdGhpcy5vcHRpb25zLmVkaXRvcj8ub3B0aW9ucztcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5uYXRpdmVFbGVtZW50LmNsb3Nlc3Qoc2Nyb2xsQ29udGFpbmVyKSB8fCB0aGlzLm9wdGlvbnMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKHNjcm9sbENvbnRhaW5lcik7XG4gICAgfVxuXG4gICAgcmViaW5kQ29udGFpbmVyU2Nyb2xsKCkge1xuICAgICAgICB0aGlzLnNjcm9sbFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgY29uc3QgeyBzY3JvbGxDb250YWluZXIgfSA9IHRoaXMub3B0aW9ucy5lZGl0b3I/Lm9wdGlvbnM7XG4gICAgICAgIGlmIChzY3JvbGxDb250YWluZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lckVsZW1lbnQgPSB0aGlzLmdldFNjcm9sbENvbnRhaW5lcigpO1xuICAgICAgICAgICAgaWYgKGNvbnRhaW5lckVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBwcmV2aW91c0NvbnRhaW5lclNjcm9sbCA9IHsgeDogMCwgeTogMCB9O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFN1YnNjcmlwdGlvbiA9IGZyb21FdmVudDxFdmVudD4oY29udGFpbmVyRWxlbWVudCwgJ3Njcm9sbCcpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbnRpcmVzID0geyBldmVudCwgZGlyZWN0aW9uOiBTY3JvbGxEaXJlY3Rpb24uWSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgW3gsIHldID0gW3RhcmdldC5zY3JvbGxMZWZ0LCB0YXJnZXQuc2Nyb2xsVG9wXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4ICE9PSBwcmV2aW91c0NvbnRhaW5lclNjcm9sbC54KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXJlcy5kaXJlY3Rpb24gPSBTY3JvbGxEaXJlY3Rpb24uWDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5ICE9PSBwcmV2aW91c0NvbnRhaW5lclNjcm9sbC55KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXJlcy5kaXJlY3Rpb24gPSBTY3JvbGxEaXJlY3Rpb24uWTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzQ29udGFpbmVyU2Nyb2xsID0geyB4LCB5IH07XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lclNjcm9sbGVkJC5uZXh0KGVudGlyZXMpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJpbmRDb250YWluZXJSZXNpemUoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lckVsZW1lbnQgPSB0aGlzLmdldFNjcm9sbENvbnRhaW5lcigpO1xuICAgICAgICBpZiAoY29udGFpbmVyRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXJSZXNpemVPYnNlcnZlciA9IHRoaXMuZWxlbWVudFJlc2l6ZShjb250YWluZXJFbGVtZW50LCB0aGlzLmNvbnRhaW5lclJlc2l6ZWQkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJpbmRUaGVFZGl0b3JSZXNpemUoKSB7XG4gICAgICAgIHRoaXMudGhlRWRpdG9yUmVzaXplT2JzZXJ2ZXIgPSB0aGlzLmVsZW1lbnRSZXNpemUodGhpcy5vcHRpb25zLm5hdGl2ZUVsZW1lbnQsIHRoaXMudGhlRWRpdG9yUmVzaXplZCQpO1xuICAgIH1cblxuICAgIGJpbmRXaW5kb3dSZXNpemUoKSB7XG4gICAgICAgIHRoaXMud2luZG93UmVzaXplT2JzZXJ2ZXIgPSB0aGlzLmVsZW1lbnRSZXNpemUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCB0aGlzLndpbmRvd1Jlc2l6ZWQkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGVsZW1lbnRSZXNpemUoXG4gICAgICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgICAgICBzdWJqZWN0OiBTdWJqZWN0PHsgZW50cnk6IFJlc2l6ZU9ic2VydmVyRW50cnk7IHdpZHRoQ2hhbmdlZDogYm9vbGVhbjsgaGVpZ2h0Q2hhbmdlZDogYm9vbGVhbiB9PlxuICAgICkge1xuICAgICAgICBsZXQgcHJldmlvdXNDb250YWluZXJSZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoZW50aXJlcyA9PiB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50UmVjdCA9IGVudGlyZXNbMF0uY29udGVudFJlY3Q7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB7IGVudHJ5OiBlbnRpcmVzWzBdLCB3aWR0aENoYW5nZWQ6IGZhbHNlLCBoZWlnaHRDaGFuZ2VkOiBmYWxzZSB9O1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRSZWN0LndpZHRoICE9PSBwcmV2aW91c0NvbnRhaW5lclJlY3Qud2lkdGgpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQud2lkdGhDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjdXJyZW50UmVjdC5oZWlnaHQgIT09IHByZXZpb3VzQ29udGFpbmVyUmVjdC5oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQuaGVpZ2h0Q2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcmV2aW91c0NvbnRhaW5lclJlY3QgPSBjdXJyZW50UmVjdDtcbiAgICAgICAgICAgIHN1YmplY3QubmV4dChyZXN1bHQpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIHJlc2l6ZU9ic2VydmVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPcHRpb25zKCkge1xuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy53aWR0aCkge1xuICAgICAgICAgICAgY29uc3QgZmlyc3RFbGVtZW50Q2hpbGQgPSB0aGlzLmdldEZpcnN0RWxlbWVudENoaWxkKCk7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMud2lkdGggPSBmaXJzdEVsZW1lbnRDaGlsZC5vZmZzZXRXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREZWZhdWx0Rm9udFNpemUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZWRpdG9yPy5vcHRpb25zPy5mb250U2l6ZSB8fCBGb250U2l6ZXMuZm9udFNpemUxNDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RWRpdGFibGVFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnRoZS1lZGl0b3ItdHlwbycpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGaXJzdEVsZW1lbnRDaGlsZCgpIHtcbiAgICAgICAgY29uc3QgZWRpdGFibGVFbGVtZW50ID0gdGhpcy5nZXRFZGl0YWJsZUVsZW1lbnQoKTtcbiAgICAgICAgcmV0dXJuIGVkaXRhYmxlRWxlbWVudD8uZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgYWRkVXBsb2FkaW5nRmlsZXMoZmlsZTogeyB1cmw6IHN0cmluZzsgZmlsZTogRmlsZSB9KSB7XG4gICAgICAgIHRoaXMudXBsb2FkaW5nRmlsZXMucHVzaChmaWxlKTtcbiAgICB9XG5cbiAgICByZW1vdmVVcGxvYWRGaWxlKGZpbGU6IHsgdXJsOiBzdHJpbmc7IGZpbGU6IEZpbGUgfSkge1xuICAgICAgICB0aGlzLnVwbG9hZGluZ0ZpbGVzLnNwbGljZShcbiAgICAgICAgICAgIHRoaXMudXBsb2FkaW5nRmlsZXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS51cmwgPT09IGZpbGUudXJsKSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGxvYWRpbmdTdGF0dXMkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyU2Nyb2xsZWQkPy5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLnRoZUVkaXRvclJlc2l6ZWQkPy5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmNvbnRhaW5lclJlc2l6ZWQkPy5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmNvbnRhaW5lclJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgIHRoaXMudGhlRWRpdG9yUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgdGhpcy53aW5kb3dSZXNpemVkJD8uY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy53aW5kb3dSZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICB0aGlzLnNjcm9sbFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQWMsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQWEsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBZ0JoRixNQUFNLE9BQU8saUJBQWlCO0lBb0MxQixZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWpDMUIsYUFBUSxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBSXpDLG1CQUFjLEdBQTJDLEVBQUUsQ0FBQztRQUU1RCxzQkFBaUIsR0FBc0I7WUFDMUMsUUFBUSxFQUFFLEtBQUs7WUFDZixLQUFLLEVBQUUsRUFBRTtTQUNaLENBQUM7UUFRSyx1QkFBa0IsR0FBRyxJQUFJLE9BQU8sRUFBZ0QsQ0FBQztRQUVqRixxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRTFDLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFpRixDQUFDO1FBRWpILHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFpRixDQUFDO1FBRWpILG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQWlGLENBQUM7UUFTakgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQWEsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDMUYsSUFB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QUFDO1FBQ2pDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOytHQXRLUSxpQkFBaUI7bUhBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSwgT25EZXN0cm95LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRm9udFNpemVzLCBNYXJrVHlwZXMsIFNjcm9sbERpcmVjdGlvbiB9IGZyb20gJy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoZUNvbnRleHRPcHRpb25zIHtcbiAgICBlZGl0b3I6IFRoZUVkaXRvcjtcbiAgICBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuICAgIHdpZHRoPzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgUGFpbnRGb3JtYXRTdGF0dXMge1xuICAgIGlzQWN0aXZlOiBib29sZWFuO1xuICAgIG1hcmtzOiB7IFtrZXkgaW4gTWFya1R5cGVzXT86IGFueSB9O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGhlQ29udGV4dFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgc2Nyb2xsU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIG9wdGlvbnM6IFRoZUNvbnRleHRPcHRpb25zO1xuXG4gICAgcHVibGljIHVwbG9hZGluZ0ZpbGVzOiB7IHVybDogc3RyaW5nOyBmaWxlOiBGaWxlIHwgc3RyaW5nIH1bXSA9IFtdO1xuXG4gICAgcHVibGljIHBhaW50Rm9ybWF0U3RhdHVzOiBQYWludEZvcm1hdFN0YXR1cyA9IHtcbiAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxuICAgICAgICBtYXJrczoge31cbiAgICB9O1xuXG4gICAgcHVibGljIG9uTW91c2VVcCQ6IE9ic2VydmFibGU8TW91c2VFdmVudD47XG5cbiAgICBwdWJsaWMgb25Nb3VzZU1vdmUkOiBPYnNlcnZhYmxlPE1vdXNlRXZlbnQ+O1xuXG4gICAgcHVibGljIG9uTW91c2VEb3duJDogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PjtcblxuICAgIHB1YmxpYyBjb250YWluZXJTY3JvbGxlZCQgPSBuZXcgU3ViamVjdDx7IGV2ZW50OiBFdmVudDsgZGlyZWN0aW9uOiBTY3JvbGxEaXJlY3Rpb24gfT4oKTtcblxuICAgIHB1YmxpYyB1cGxvYWRpbmdTdGF0dXMkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIHB1YmxpYyBjb250YWluZXJSZXNpemVkJCA9IG5ldyBTdWJqZWN0PHsgZW50cnk6IFJlc2l6ZU9ic2VydmVyRW50cnk7IHdpZHRoQ2hhbmdlZDogYm9vbGVhbjsgaGVpZ2h0Q2hhbmdlZDogYm9vbGVhbiB9PigpO1xuXG4gICAgcHVibGljIHRoZUVkaXRvclJlc2l6ZWQkID0gbmV3IFN1YmplY3Q8eyBlbnRyeTogUmVzaXplT2JzZXJ2ZXJFbnRyeTsgd2lkdGhDaGFuZ2VkOiBib29sZWFuOyBoZWlnaHRDaGFuZ2VkOiBib29sZWFuIH0+KCk7XG5cbiAgICBwdWJsaWMgd2luZG93UmVzaXplZCQgPSBuZXcgU3ViamVjdDx7IGVudHJ5OiBSZXNpemVPYnNlcnZlckVudHJ5OyB3aWR0aENoYW5nZWQ6IGJvb2xlYW47IGhlaWdodENoYW5nZWQ6IGJvb2xlYW4gfT4oKTtcblxuICAgIHByaXZhdGUgY29udGFpbmVyUmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xuXG4gICAgcHJpdmF0ZSB0aGVFZGl0b3JSZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBwcml2YXRlIHdpbmRvd1Jlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbk1vdXNlVXAkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHdpbmRvdywgYG1vdXNldXBgKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk7XG4gICAgICAgICAgICB0aGlzLm9uTW91c2VNb3ZlJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih3aW5kb3csIGBtb3VzZW1vdmVgKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk7XG4gICAgICAgICAgICB0aGlzLm9uTW91c2VEb3duJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih3aW5kb3csIGBtb3VzZWRvd25gKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0aWFsaXplKG9wdGlvbnM6IFRoZUNvbnRleHRPcHRpb25zKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMucmViaW5kQ29udGFpbmVyU2Nyb2xsKCk7XG4gICAgICAgIHRoaXMuYmluZENvbnRhaW5lclJlc2l6ZSgpO1xuICAgICAgICB0aGlzLmJpbmRUaGVFZGl0b3JSZXNpemUoKTtcbiAgICAgICAgdGhpcy5iaW5kV2luZG93UmVzaXplKCk7XG4gICAgfVxuXG4gICAgZ2V0U2Nyb2xsQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3QgeyBzY3JvbGxDb250YWluZXIgfSA9IHRoaXMub3B0aW9ucy5lZGl0b3I/Lm9wdGlvbnM7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMubmF0aXZlRWxlbWVudC5jbG9zZXN0KHNjcm9sbENvbnRhaW5lcikgfHwgdGhpcy5vcHRpb25zLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihzY3JvbGxDb250YWluZXIpO1xuICAgIH1cblxuICAgIHJlYmluZENvbnRhaW5lclNjcm9sbCgpIHtcbiAgICAgICAgdGhpcy5zY3JvbGxTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIGNvbnN0IHsgc2Nyb2xsQ29udGFpbmVyIH0gPSB0aGlzLm9wdGlvbnMuZWRpdG9yPy5vcHRpb25zO1xuICAgICAgICBpZiAoc2Nyb2xsQ29udGFpbmVyKSB7XG4gICAgICAgICAgICBjb25zdCBjb250YWluZXJFbGVtZW50ID0gdGhpcy5nZXRTY3JvbGxDb250YWluZXIoKTtcbiAgICAgICAgICAgIGlmIChjb250YWluZXJFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgcHJldmlvdXNDb250YWluZXJTY3JvbGwgPSB7IHg6IDAsIHk6IDAgfTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQ8RXZlbnQ+KGNvbnRhaW5lckVsZW1lbnQsICdzY3JvbGwnKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW50aXJlcyA9IHsgZXZlbnQsIGRpcmVjdGlvbjogU2Nyb2xsRGlyZWN0aW9uLlkgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFt4LCB5XSA9IFt0YXJnZXQuc2Nyb2xsTGVmdCwgdGFyZ2V0LnNjcm9sbFRvcF07XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeCAhPT0gcHJldmlvdXNDb250YWluZXJTY3JvbGwueCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGlyZXMuZGlyZWN0aW9uID0gU2Nyb2xsRGlyZWN0aW9uLlg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeSAhPT0gcHJldmlvdXNDb250YWluZXJTY3JvbGwueSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGlyZXMuZGlyZWN0aW9uID0gU2Nyb2xsRGlyZWN0aW9uLlk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0NvbnRhaW5lclNjcm9sbCA9IHsgeCwgeSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXJTY3JvbGxlZCQubmV4dChlbnRpcmVzKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBiaW5kQ29udGFpbmVyUmVzaXplKCkge1xuICAgICAgICBjb25zdCBjb250YWluZXJFbGVtZW50ID0gdGhpcy5nZXRTY3JvbGxDb250YWluZXIoKTtcbiAgICAgICAgaWYgKGNvbnRhaW5lckVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyUmVzaXplT2JzZXJ2ZXIgPSB0aGlzLmVsZW1lbnRSZXNpemUoY29udGFpbmVyRWxlbWVudCwgdGhpcy5jb250YWluZXJSZXNpemVkJCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBiaW5kVGhlRWRpdG9yUmVzaXplKCkge1xuICAgICAgICB0aGlzLnRoZUVkaXRvclJlc2l6ZU9ic2VydmVyID0gdGhpcy5lbGVtZW50UmVzaXplKHRoaXMub3B0aW9ucy5uYXRpdmVFbGVtZW50LCB0aGlzLnRoZUVkaXRvclJlc2l6ZWQkKTtcbiAgICB9XG5cbiAgICBiaW5kV2luZG93UmVzaXplKCkge1xuICAgICAgICB0aGlzLndpbmRvd1Jlc2l6ZU9ic2VydmVyID0gdGhpcy5lbGVtZW50UmVzaXplKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgdGhpcy53aW5kb3dSZXNpemVkJCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVzaXplKFxuICAgICAgICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgICAgICAgc3ViamVjdDogU3ViamVjdDx7IGVudHJ5OiBSZXNpemVPYnNlcnZlckVudHJ5OyB3aWR0aENoYW5nZWQ6IGJvb2xlYW47IGhlaWdodENoYW5nZWQ6IGJvb2xlYW4gfT5cbiAgICApIHtcbiAgICAgICAgbGV0IHByZXZpb3VzQ29udGFpbmVyUmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKGVudGlyZXMgPT4ge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFJlY3QgPSBlbnRpcmVzWzBdLmNvbnRlbnRSZWN0O1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0geyBlbnRyeTogZW50aXJlc1swXSwgd2lkdGhDaGFuZ2VkOiBmYWxzZSwgaGVpZ2h0Q2hhbmdlZDogZmFsc2UgfTtcbiAgICAgICAgICAgIGlmIChjdXJyZW50UmVjdC53aWR0aCAhPT0gcHJldmlvdXNDb250YWluZXJSZWN0LndpZHRoKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LndpZHRoQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY3VycmVudFJlY3QuaGVpZ2h0ICE9PSBwcmV2aW91c0NvbnRhaW5lclJlY3QuaGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LmhlaWdodENoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHJldmlvdXNDb250YWluZXJSZWN0ID0gY3VycmVudFJlY3Q7XG4gICAgICAgICAgICBzdWJqZWN0Lm5leHQocmVzdWx0KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoZWxlbWVudCk7XG4gICAgICAgIHJldHVybiByZXNpemVPYnNlcnZlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0T3B0aW9ucygpIHtcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMud2lkdGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0RWxlbWVudENoaWxkID0gdGhpcy5nZXRGaXJzdEVsZW1lbnRDaGlsZCgpO1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zLndpZHRoID0gZmlyc3RFbGVtZW50Q2hpbGQub2Zmc2V0V2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RGVmYXVsdEZvbnRTaXplKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmVkaXRvcj8ub3B0aW9ucz8uZm9udFNpemUgfHwgRm9udFNpemVzLmZvbnRTaXplMTQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEVkaXRhYmxlRWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy50aGUtZWRpdG9yLXR5cG8nKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Rmlyc3RFbGVtZW50Q2hpbGQoKSB7XG4gICAgICAgIGNvbnN0IGVkaXRhYmxlRWxlbWVudCA9IHRoaXMuZ2V0RWRpdGFibGVFbGVtZW50KCk7XG4gICAgICAgIHJldHVybiBlZGl0YWJsZUVsZW1lbnQ/LmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxFbGVtZW50O1xuICAgIH1cblxuICAgIGFkZFVwbG9hZGluZ0ZpbGVzKGZpbGU6IHsgdXJsOiBzdHJpbmc7IGZpbGU6IEZpbGUgfCBzdHJpbmcgfSkge1xuICAgICAgICB0aGlzLnVwbG9hZGluZ0ZpbGVzLnB1c2goZmlsZSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlVXBsb2FkRmlsZShmaWxlOiB7IHVybDogc3RyaW5nOyBmaWxlOiBGaWxlIHwgc3RyaW5nIH0pIHtcbiAgICAgICAgaWYgKCFmaWxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGxvYWRpbmdGaWxlcy5zcGxpY2UoXG4gICAgICAgICAgICB0aGlzLnVwbG9hZGluZ0ZpbGVzLmZpbmRJbmRleChpdGVtID0+IGl0ZW0udXJsID09PSBmaWxlLnVybCksXG4gICAgICAgICAgICAxXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBsb2FkaW5nU3RhdHVzJC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmNvbnRhaW5lclNjcm9sbGVkJD8uY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy50aGVFZGl0b3JSZXNpemVkJD8uY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5jb250YWluZXJSZXNpemVkJD8uY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5jb250YWluZXJSZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICB0aGlzLnRoZUVkaXRvclJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgIHRoaXMud2luZG93UmVzaXplZCQ/LmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMud2luZG93UmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgdGhpcy5zY3JvbGxTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -45,4 +45,4 @@ export function dataSerializing(mode, value) {
|
|
|
45
45
|
}
|
|
46
46
|
return value;
|
|
47
47
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10cmFuc2Zvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvdXRpbHMvZGF0YS10cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEUsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFZO0lBQ3JDLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQzVCLE9BQU87WUFDSCxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7WUFDNUIsUUFBUSxFQUFFO2dCQUNOO29CQUNJLElBQUksRUFBRSxDQUFDO2lCQUNWO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFhO0lBQ3JDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzNCLE1BQU0sT0FBTyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNwRSxPQUFPLGNBQWMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7S0FDM0U7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFpQixFQUFFLEtBQTRCO0lBQzNFLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDUixPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0tBQ25DO0lBQ0QsSUFBSSxJQUFJLEtBQUssV0FBVyxDQUFDLElBQUksRUFBRTtRQUMzQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUMzQixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN2QixPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM3QjtRQUNELE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzlCO0lBQ0QsT0FBUSxLQUFzQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLElBQWlCLEVBQUUsS0FBbUI7SUFDbEUsSUFBSSxJQUFJLEtBQUssV0FBVyxDQUFDLElBQUksRUFBRTtRQUMzQixPQUFPLGNBQWMsQ0FBQyxhQUFhLENBQUMsS0FBWSxDQUFDLENBQUM7S0FDckQ7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGhlaWFDb252ZXJ0ZXIgfSBmcm9tICdAYXRpbmMvc2VsZW5lJztcbmltcG9ydCB7IERlc2NlbmRhbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGhlRGF0YU1vZGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZUVtcHR5UGFyYWdyYXBoIH0gZnJvbSAnLi9jcmVhdGUtZW1wdHktcGFyYWdyYXBoJztcblxuZXhwb3J0IGZ1bmN0aW9uIHBsYWluVG9UaGVpYSh0ZXh0OiBzdHJpbmcpOiBEZXNjZW5kYW50W10ge1xuICAgIGlmICh0eXBlb2YgdGV4dCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuICAgIHJldHVybiB0ZXh0LnNwbGl0KCdcXG4nKS5tYXAoaSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMucGFyYWdyYXBoLFxuICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBodG1sVG9UaGVpYSh2YWx1ZTogc3RyaW5nKTogRGVzY2VuZGFudFtdIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb25zdCBodG1sRG9tID0gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyh2YWx1ZSwgJ3RleHQvaHRtbCcpO1xuICAgICAgICByZXR1cm4gVGhlaWFDb252ZXJ0ZXIuY29udmVydFRvVGhlaWEoQXJyYXkuZnJvbShodG1sRG9tLmJvZHkuY2hpbGRyZW4pKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0YURlc2VyaWFsaXplKG1vZGU6IFRoZURhdGFNb2RlLCB2YWx1ZTogRGVzY2VuZGFudFtdIHwgc3RyaW5nKTogRGVzY2VuZGFudFtdIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIHJldHVybiBbY3JlYXRlRW1wdHlQYXJhZ3JhcGgoKV07XG4gICAgfVxuICAgIGlmIChtb2RlID09PSBUaGVEYXRhTW9kZS5odG1sKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKC88W14+XSs+Ly50ZXN0KHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGh0bWxUb1RoZWlhKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGxhaW5Ub1RoZWlhKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuICh2YWx1ZSBhcyBEZXNjZW5kYW50W10pIHx8IFtjcmVhdGVFbXB0eVBhcmFncmFwaCgpXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGFTZXJpYWxpemluZyhtb2RlOiBUaGVEYXRhTW9kZSwgdmFsdWU6IERlc2NlbmRhbnRbXSk6IHN0cmluZyB8IERlc2NlbmRhbnRbXSB7XG4gICAgaWYgKG1vZGUgPT09IFRoZURhdGFNb2RlLmh0bWwpIHtcbiAgICAgICAgcmV0dXJuIFRoZWlhQ29udmVydGVyLmNvbnZlcnRUb0h0bWwodmFsdWUgYXMgYW55KTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xufVxuIl19
|
|
@@ -24,7 +24,7 @@ import { ThyDropdownDirective, ThyDropdownModule } from 'ngx-tethys/dropdown';
|
|
|
24
24
|
import * as i8 from 'ngx-tethys/tooltip';
|
|
25
25
|
import { ThyTooltipModule } from 'ngx-tethys/tooltip';
|
|
26
26
|
import { DOWN_ARROW, UP_ARROW, RIGHT_ARROW, LEFT_ARROW, ENTER } from '@angular/cdk/keycodes';
|
|
27
|
-
import { fromEvent, Subject, combineLatest, Observable, timer, BehaviorSubject, merge, ReplaySubject } from 'rxjs';
|
|
27
|
+
import { fromEvent, Subject, combineLatest, Observable, timer, firstValueFrom, BehaviorSubject, merge, ReplaySubject } from 'rxjs';
|
|
28
28
|
import { debounceTime, takeUntil, startWith, distinctUntilChanged, skip, map as map$1, share, take, delay, filter, mapTo, pairwise } from 'rxjs/operators';
|
|
29
29
|
import { mixinUnsubscribe, MixinBase, ScrollToService } from 'ngx-tethys/core';
|
|
30
30
|
import { isKeyHotkey } from 'is-hotkey';
|
|
@@ -49,7 +49,7 @@ import { ThyColorPickerModule } from 'ngx-tethys/color-picker';
|
|
|
49
49
|
import { marked } from 'marked';
|
|
50
50
|
import * as i1$3 from 'ngx-tethys/alert';
|
|
51
51
|
import { ThyAlertModule } from 'ngx-tethys/alert';
|
|
52
|
-
import * as
|
|
52
|
+
import * as i1$4 from 'ngx-tethys/image';
|
|
53
53
|
import { ThyImageDirective, ThyImageModule } from 'ngx-tethys/image';
|
|
54
54
|
import { ThyUploadStatus } from 'ngx-tethys/upload';
|
|
55
55
|
import * as i9$1 from 'ngx-tethys/progress';
|
|
@@ -5735,6 +5735,9 @@ class TheContextService {
|
|
|
5735
5735
|
this.uploadingFiles.push(file);
|
|
5736
5736
|
}
|
|
5737
5737
|
removeUploadFile(file) {
|
|
5738
|
+
if (!file) {
|
|
5739
|
+
return;
|
|
5740
|
+
}
|
|
5738
5741
|
this.uploadingFiles.splice(this.uploadingFiles.findIndex(item => item.url === file.url), 1);
|
|
5739
5742
|
}
|
|
5740
5743
|
ngOnDestroy() {
|
|
@@ -5800,6 +5803,23 @@ const ImageEditor = {
|
|
|
5800
5803
|
file: new File([blob], `${new Date().getTime()}.${ext}`, { type: contentType })
|
|
5801
5804
|
});
|
|
5802
5805
|
},
|
|
5806
|
+
handleExternalImageElement(editor, image) {
|
|
5807
|
+
const contextService = editor.injector.get(TheContextService);
|
|
5808
|
+
const imageUploaderService = editor.injector.get(THE_UPLOAD_SERVICE_TOKEN);
|
|
5809
|
+
const isExternalUrl = image?.hasOwnProperty('externalUrl')
|
|
5810
|
+
? image?.externalUrl
|
|
5811
|
+
: imageUploaderService.isExternalUrl?.(image.thumbUrl);
|
|
5812
|
+
if (isExternalUrl) {
|
|
5813
|
+
const url = image.thumbUrl;
|
|
5814
|
+
image.url = url;
|
|
5815
|
+
image.externalUrl = url;
|
|
5816
|
+
image.thumbUrl = null;
|
|
5817
|
+
contextService.addUploadingFiles({
|
|
5818
|
+
url: image.url,
|
|
5819
|
+
file: image.url
|
|
5820
|
+
});
|
|
5821
|
+
}
|
|
5822
|
+
},
|
|
5803
5823
|
verifyImage(editor, image) {
|
|
5804
5824
|
if (!PICTURE_ACCEPTED_UPLOAD_MIME.includes(image.type)) {
|
|
5805
5825
|
editor.onError({
|
|
@@ -5835,20 +5855,6 @@ const ImageEditor = {
|
|
|
5835
5855
|
isBase64(url) {
|
|
5836
5856
|
return isString(url) && url.includes('base64');
|
|
5837
5857
|
},
|
|
5838
|
-
/**
|
|
5839
|
-
* 设置图片来源
|
|
5840
|
-
* @param editor 编辑器对象
|
|
5841
|
-
* @param image 图片节点
|
|
5842
|
-
*/
|
|
5843
|
-
setImageSource(editor, image) {
|
|
5844
|
-
const imageUploaderService = editor.injector.get(THE_UPLOAD_SERVICE_TOKEN);
|
|
5845
|
-
const externalSource = image?.hasOwnProperty('externalSource')
|
|
5846
|
-
? image?.externalSource
|
|
5847
|
-
: imageUploaderService.isExternalSource?.(image.thumbUrl);
|
|
5848
|
-
if (externalSource) {
|
|
5849
|
-
image.externalSource = externalSource;
|
|
5850
|
-
}
|
|
5851
|
-
},
|
|
5852
5858
|
removeImage(editor, image) {
|
|
5853
5859
|
if (image) {
|
|
5854
5860
|
deleteElement(editor, image);
|
|
@@ -8636,7 +8642,7 @@ const withDeserializeHTML = (editor) => {
|
|
|
8636
8642
|
ImageEditor.handleBase64ImageElement(editor, node);
|
|
8637
8643
|
}
|
|
8638
8644
|
else {
|
|
8639
|
-
ImageEditor.
|
|
8645
|
+
ImageEditor.handleExternalImageElement(editor, node);
|
|
8640
8646
|
}
|
|
8641
8647
|
}
|
|
8642
8648
|
});
|
|
@@ -8750,7 +8756,7 @@ const withDeserializeMd = (editor) => {
|
|
|
8750
8756
|
ImageEditor.handleBase64ImageElement(editor, node);
|
|
8751
8757
|
}
|
|
8752
8758
|
else {
|
|
8753
|
-
ImageEditor.
|
|
8759
|
+
ImageEditor.handleExternalImageElement(editor, node);
|
|
8754
8760
|
}
|
|
8755
8761
|
}
|
|
8756
8762
|
});
|
|
@@ -9142,16 +9148,17 @@ class TheImageComponent extends TheBaseElementComponent {
|
|
|
9142
9148
|
? this.layoutDefaultWidth
|
|
9143
9149
|
: this.imageEntry.width;
|
|
9144
9150
|
}
|
|
9145
|
-
constructor(elementRef,
|
|
9151
|
+
constructor(elementRef, cdr, imageGroupComponent, imageUploaderService, theContextService, thyPopover, overlay, viewContainerRef, destroyRef) {
|
|
9146
9152
|
super(elementRef, cdr);
|
|
9147
9153
|
this.elementRef = elementRef;
|
|
9148
|
-
this.imageUploaderService = imageUploaderService;
|
|
9149
9154
|
this.cdr = cdr;
|
|
9155
|
+
this.imageGroupComponent = imageGroupComponent;
|
|
9156
|
+
this.imageUploaderService = imageUploaderService;
|
|
9150
9157
|
this.theContextService = theContextService;
|
|
9151
9158
|
this.thyPopover = thyPopover;
|
|
9152
9159
|
this.overlay = overlay;
|
|
9153
9160
|
this.viewContainerRef = viewContainerRef;
|
|
9154
|
-
this.
|
|
9161
|
+
this.destroyRef = destroyRef;
|
|
9155
9162
|
this.naturalWidth = 0;
|
|
9156
9163
|
this.naturalHeight = 0;
|
|
9157
9164
|
this.imageEntry = {};
|
|
@@ -9204,68 +9211,33 @@ class TheImageComponent extends TheBaseElementComponent {
|
|
|
9204
9211
|
this.dragable = false;
|
|
9205
9212
|
this.beforeContextChange = (value) => {
|
|
9206
9213
|
if (value.element !== this.element && value.element.thumbUrl) {
|
|
9207
|
-
const externalSource = value.element?.externalSource;
|
|
9208
9214
|
let thumbUrl = value.element.thumbUrl;
|
|
9209
9215
|
let originUrl = value.element.originUrl;
|
|
9210
|
-
if (
|
|
9216
|
+
if (this.imageUploaderService?.buildImageUrl) {
|
|
9211
9217
|
thumbUrl = this.imageUploaderService.buildImageUrl(thumbUrl);
|
|
9212
9218
|
originUrl = this.imageUploaderService.buildImageUrl(originUrl);
|
|
9213
9219
|
}
|
|
9214
9220
|
this.imageEntry = {
|
|
9215
|
-
|
|
9216
|
-
width: value.element.width,
|
|
9217
|
-
height: value.element.height,
|
|
9221
|
+
...value.element,
|
|
9218
9222
|
align: value.element.align || Alignment.left,
|
|
9219
|
-
|
|
9220
|
-
reSized: value.element.reSized || false,
|
|
9221
|
-
size: value.element.size,
|
|
9222
|
-
thumbUrl,
|
|
9223
|
-
originUrl
|
|
9223
|
+
reSized: value.element.reSized || false
|
|
9224
9224
|
};
|
|
9225
9225
|
this.setBlockCardLayoutAttr();
|
|
9226
9226
|
}
|
|
9227
9227
|
};
|
|
9228
9228
|
}
|
|
9229
9229
|
ngOnInit() {
|
|
9230
|
-
this.fileItem = this.theContextService.uploadingFiles.find(item => item.url === this.element.url);
|
|
9231
|
-
if (this.fileItem?.file && this.fileItem.file instanceof File) {
|
|
9232
|
-
this.uploadImage(this.fileItem.file);
|
|
9233
|
-
}
|
|
9234
9230
|
super.ngOnInit();
|
|
9235
|
-
this.
|
|
9236
|
-
if (this.
|
|
9237
|
-
this.
|
|
9238
|
-
}
|
|
9239
|
-
else {
|
|
9240
|
-
this.disablePreview = this.imagePluginOptions.disablePreview;
|
|
9231
|
+
this.setImageFileItem();
|
|
9232
|
+
if (this.fileItem?.file) {
|
|
9233
|
+
this.uploadImage();
|
|
9241
9234
|
}
|
|
9235
|
+
this.setImagePluginOptions();
|
|
9236
|
+
this.setDisablePreview();
|
|
9242
9237
|
}
|
|
9243
|
-
|
|
9244
|
-
|
|
9245
|
-
|
|
9246
|
-
return {
|
|
9247
|
-
originUrl: item.thyOriginSrc,
|
|
9248
|
-
thumbUrl: item.thyPreviewSrc,
|
|
9249
|
-
name: item.thyImageMeta.name,
|
|
9250
|
-
size: item.thyImageMeta.size
|
|
9251
|
-
};
|
|
9252
|
-
});
|
|
9253
|
-
const { originUrl, thumbUrl, name, size } = this.element;
|
|
9254
|
-
if (this.imagePluginOptions.preview) {
|
|
9255
|
-
this.imagePluginOptions.preview({
|
|
9256
|
-
editor: this.editor,
|
|
9257
|
-
previewImageInfo: {
|
|
9258
|
-
image: {
|
|
9259
|
-
originUrl,
|
|
9260
|
-
thumbUrl,
|
|
9261
|
-
name,
|
|
9262
|
-
size
|
|
9263
|
-
},
|
|
9264
|
-
imageGroup,
|
|
9265
|
-
index
|
|
9266
|
-
}
|
|
9267
|
-
});
|
|
9268
|
-
}
|
|
9238
|
+
ngAfterViewInit() {
|
|
9239
|
+
this.subscribeMouseUp();
|
|
9240
|
+
this.subscribeImageUploadingState();
|
|
9269
9241
|
}
|
|
9270
9242
|
onContextChange() {
|
|
9271
9243
|
super.onContextChange();
|
|
@@ -9280,18 +9252,35 @@ class TheImageComponent extends TheBaseElementComponent {
|
|
|
9280
9252
|
}
|
|
9281
9253
|
ngOnDestroy() {
|
|
9282
9254
|
this.uploadingSubscription.unsubscribe();
|
|
9283
|
-
this.mouseUpSubscription.unsubscribe();
|
|
9284
9255
|
this.theContextService.removeUploadFile(this.fileItem);
|
|
9285
9256
|
if (this.uploading) {
|
|
9286
9257
|
this.theContextService.uploadingStatus$.next(false);
|
|
9287
9258
|
}
|
|
9288
9259
|
super.ngOnDestroy();
|
|
9289
9260
|
}
|
|
9290
|
-
|
|
9291
|
-
this.
|
|
9261
|
+
setImagePluginOptions() {
|
|
9262
|
+
this.imagePluginOptions = getPluginOptions(this.editor, PluginKeys.image);
|
|
9263
|
+
}
|
|
9264
|
+
setDisablePreview() {
|
|
9265
|
+
const { disablePreview } = this.imagePluginOptions;
|
|
9266
|
+
if (disablePreview && typeof disablePreview === 'function') {
|
|
9267
|
+
this.disablePreview = disablePreview(this.editor);
|
|
9268
|
+
}
|
|
9269
|
+
else {
|
|
9270
|
+
this.disablePreview = disablePreview;
|
|
9271
|
+
}
|
|
9272
|
+
}
|
|
9273
|
+
setImageFileItem() {
|
|
9274
|
+
this.fileItem = this.theContextService.uploadingFiles.find(item => item.url === this.element.url);
|
|
9275
|
+
}
|
|
9276
|
+
subscribeMouseUp() {
|
|
9277
|
+
this.theContextService.onMouseUp$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(e => this.endDrag(e));
|
|
9278
|
+
}
|
|
9279
|
+
subscribeImageUploadingState() {
|
|
9292
9280
|
this.uploadingSubscription = this.imageUploaderService
|
|
9293
9281
|
.getUploadingItems$()
|
|
9294
|
-
.pipe(map$1(fileUploadingItem => this.fileItem?.file &&
|
|
9282
|
+
.pipe(map$1(fileUploadingItem => this.fileItem?.file &&
|
|
9283
|
+
fileUploadingItem.find(item => item.file === this.fileItem?.file || item?.url === this.fileItem?.file)))
|
|
9295
9284
|
.subscribe(uploadingItem => {
|
|
9296
9285
|
if (!uploadingItem || !uploadingItem.result) {
|
|
9297
9286
|
return;
|
|
@@ -9313,21 +9302,24 @@ class TheImageComponent extends TheBaseElementComponent {
|
|
|
9313
9302
|
const data = { type: ElementKinds.image, url: null, ...imageInfo };
|
|
9314
9303
|
HistoryEditor.withoutSaving(this.editor, () => Transforms.setNodes(this.editor, data, { at: path }));
|
|
9315
9304
|
}
|
|
9316
|
-
async uploadImage(
|
|
9317
|
-
this.imageEntry = {
|
|
9318
|
-
align: this.imageEntry.align || Alignment.center,
|
|
9319
|
-
thumbUrl: URL.createObjectURL(file)
|
|
9320
|
-
};
|
|
9305
|
+
async uploadImage() {
|
|
9321
9306
|
this.uploading = true;
|
|
9307
|
+
const file = this.fileItem.file;
|
|
9308
|
+
if (file instanceof File) {
|
|
9309
|
+
this.imageEntry = {
|
|
9310
|
+
align: this.imageEntry.align || Alignment.center,
|
|
9311
|
+
thumbUrl: URL.createObjectURL(file)
|
|
9312
|
+
};
|
|
9313
|
+
}
|
|
9322
9314
|
this.theContextService.uploadingStatus$.next(true);
|
|
9323
|
-
const [
|
|
9324
|
-
const { thumbUrl, originUrl } =
|
|
9315
|
+
const [fileEntity] = await firstValueFrom(this.imageUploaderService.uploadFileHandle(file));
|
|
9316
|
+
const { name, size, thumbUrl, originUrl } = fileEntity;
|
|
9325
9317
|
const imageInfo = {
|
|
9326
|
-
name
|
|
9318
|
+
name,
|
|
9327
9319
|
thumbUrl,
|
|
9328
9320
|
originUrl,
|
|
9329
|
-
|
|
9330
|
-
|
|
9321
|
+
size,
|
|
9322
|
+
align: this.imageEntry.align || Alignment.center
|
|
9331
9323
|
};
|
|
9332
9324
|
this.setImageNodes(imageInfo);
|
|
9333
9325
|
}
|
|
@@ -9519,16 +9511,43 @@ class TheImageComponent extends TheBaseElementComponent {
|
|
|
9519
9511
|
event.preventDefault();
|
|
9520
9512
|
event.stopPropagation();
|
|
9521
9513
|
}
|
|
9522
|
-
|
|
9523
|
-
|
|
9514
|
+
imageClick() {
|
|
9515
|
+
const index = this.imageGroupComponent.images.findIndex(item => item === this.imageDirective);
|
|
9516
|
+
const imageGroup = this.imageGroupComponent.images.map(item => {
|
|
9517
|
+
return {
|
|
9518
|
+
originUrl: item.thyOriginSrc,
|
|
9519
|
+
thumbUrl: item.thyPreviewSrc,
|
|
9520
|
+
name: item.thyImageMeta.name,
|
|
9521
|
+
size: item.thyImageMeta.size
|
|
9522
|
+
};
|
|
9523
|
+
});
|
|
9524
|
+
const { originUrl, thumbUrl, name, size } = this.element;
|
|
9525
|
+
if (this.imagePluginOptions.preview) {
|
|
9526
|
+
this.imagePluginOptions.preview({
|
|
9527
|
+
editor: this.editor,
|
|
9528
|
+
previewImageInfo: {
|
|
9529
|
+
image: {
|
|
9530
|
+
originUrl,
|
|
9531
|
+
thumbUrl,
|
|
9532
|
+
name,
|
|
9533
|
+
size
|
|
9534
|
+
},
|
|
9535
|
+
imageGroup,
|
|
9536
|
+
index
|
|
9537
|
+
}
|
|
9538
|
+
});
|
|
9539
|
+
}
|
|
9540
|
+
}
|
|
9541
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TheImageComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$4.ThyImageGroupComponent }, { token: THE_UPLOAD_SERVICE_TOKEN }, { token: TheContextService }, { token: i1.ThyPopover }, { token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9542
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TheImageComponent, selector: "the-image, [theImage]", viewQueries: [{ propertyName: "imageContent", first: true, predicate: ["imageContent"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true }, { propertyName: "layoutToolbar", first: true, predicate: ["layoutToolbar"], descendants: true, static: true }, { propertyName: "imageDirective", first: true, predicate: ThyImageDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n\n<div class=\"image-container\" contenteditable=\"false\" [style.textAlign]=\"imageEntry.align\">\n <div #imageContent *ngIf=\"imageEntry.thumbUrl; else imageLoading\" class=\"image-content\" [class.cursor-pointer]=\"!selection\">\n <img\n #img\n thyImage\n class=\"main-image\"\n [class.image-collapsed]=\"selection && !uploading\"\n [ngStyle]=\"{ 'width.px': imageBindingWidth }\"\n [alt]=\"imageEntry.name\"\n [thySrc]=\"imageEntry.thumbUrl\"\n [thyPreviewSrc]=\"imageEntry.thumbUrl\"\n [thyOriginSrc]=\"imageEntry.originUrl\"\n [thyDisablePreview]=\"disablePreview\"\n [thyImageMeta]=\"{ name: imageEntry.name, size: imageEntry.size }\"\n (load)=\"imageLoaded($event)\"\n (mousedown)=\"preventDefault($event)\"\n (error)=\"imageError($event)\"\n (click)=\"imageClick($event)\"\n />\n <div *ngIf=\"isCollapsedAndNonReadonly\" class=\"image-profile\" [class.outline]=\"selection\">\n <ng-container *ngIf=\"!loadImageError\">\n <span (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left top\"></span>\n <span (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right top\"></span>\n <span (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right bottom\"></span>\n <span (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left bottom\"></span>\n </ng-container>\n </div>\n <ng-template [ngTemplateOutlet]=\"imageUploading\"></ng-template>\n <div *ngIf=\"!uploading\" class=\"layer\" [class.readonly]=\"readonly\"></div>\n </div>\n</div>\n\n<ng-template #imageLoading>\n <div *ngIf=\"!imageEntry.thumbUrl\" class=\"image-loading cursor-pointer\" contenteditable=\"false\">\n <thy-icon thyIconName=\"image\"></thy-icon>\n </div>\n\n <ng-template [ngTemplateOutlet]=\"imageUploading\"></ng-template>\n</ng-template>\n\n<ng-template #layoutToolbar>\n <thy-actions thySize=\"xxs\">\n <ng-container *ngFor=\"let item of layoutOptions\">\n <a\n *ngIf=\"item.key !== 'split'\"\n href=\"javascript:;\"\n thyAction\n [thyType]=\"item.key === 'remove' ? 'danger' : 'primary'\"\n [thyActionIcon]=\"item.icon\"\n [thyActionActive]=\"layoutActive(item.key)\"\n [thyTooltip]=\"item.name\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"item?.handle($event, item.key)\"\n ></a>\n <thy-divider *ngIf=\"item.key === 'split'\" class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n </ng-container>\n </thy-actions>\n</ng-template>\n\n<ng-template #imageUploading>\n <div *ngIf=\"uploading\" class=\"uploading\">\n <div class=\"uploading-percentage\">\n <thy-progress thyType=\"primary\" [thyValue]=\"percentage\" thySize=\"sm\"></thy-progress>\n <thy-icon (click)=\"cancelUpload($event)\" thyIconName=\"close-circle-bold-fill\" thyIconLegging=\"true\"> </thy-icon>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i1$1.SlateChildren, selector: "slate-children", inputs: ["children", "context", "viewContext"] }, { kind: "component", type: i4.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: i8.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: i9$1.ThyProgressComponent, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips", "thyShape", "thyGapDegree", "thyGapPosition", "thyStrokeWidth"] }, { kind: "directive", type: i1$4.ThyImageDirective, selector: "img[thyImage]", inputs: ["thySrc", "thyPreviewSrc", "thyOriginSrc", "thyImageMeta", "thyDisablePreview", "thyResolveSize"], exportAs: ["thyImage"] }, { kind: "component", type: i7.ThyActionComponent, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: i7.ThyActionsComponent, selector: "thy-actions", inputs: ["thySize"] }, { kind: "component", type: i8$1.ThyDividerComponent, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }] }); }
|
|
9524
9543
|
}
|
|
9525
9544
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TheImageComponent, decorators: [{
|
|
9526
9545
|
type: Component,
|
|
9527
|
-
args: [{ selector: 'the-image, [theImage]', template: "<slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n\n<div class=\"image-container\" contenteditable=\"false\" [style.textAlign]=\"imageEntry.align\">\n <div #imageContent *ngIf=\"imageEntry.thumbUrl\" class=\"image-content\" [class.cursor-pointer]=\"!selection\">\n <img\n #img\n thyImage\n class=\"main-image\"\n [class.image-collapsed]=\"selection && !uploading\"\n [ngStyle]=\"{ 'width.px': imageBindingWidth }\"\n [alt]=\"imageEntry.name\"\n [thySrc]=\"imageEntry.thumbUrl\"\n [thyPreviewSrc]=\"imageEntry.thumbUrl\"\n [thyOriginSrc]=\"imageEntry.originUrl\"\n [thyDisablePreview]=\"disablePreview\"\n [thyImageMeta]=\"{ name: imageEntry.name, size: imageEntry.size }\"\n (load)=\"imageLoaded($event)\"\n (mousedown)=\"preventDefault($event)\"\n (error)=\"imageError($event)\"\n (click)=\"imageClick($event)\"\n />\n <div *ngIf=\"isCollapsedAndNonReadonly\" class=\"image-profile\" [class.outline]=\"selection\">\n <ng-container *ngIf=\"!loadImageError\">\n <span (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left top\"></span>\n <span (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right top\"></span>\n <span (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right bottom\"></span>\n <span (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left bottom\"></span>\n </ng-container>\n </div>\n <
|
|
9528
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
9546
|
+
args: [{ selector: 'the-image, [theImage]', template: "<slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n\n<div class=\"image-container\" contenteditable=\"false\" [style.textAlign]=\"imageEntry.align\">\n <div #imageContent *ngIf=\"imageEntry.thumbUrl; else imageLoading\" class=\"image-content\" [class.cursor-pointer]=\"!selection\">\n <img\n #img\n thyImage\n class=\"main-image\"\n [class.image-collapsed]=\"selection && !uploading\"\n [ngStyle]=\"{ 'width.px': imageBindingWidth }\"\n [alt]=\"imageEntry.name\"\n [thySrc]=\"imageEntry.thumbUrl\"\n [thyPreviewSrc]=\"imageEntry.thumbUrl\"\n [thyOriginSrc]=\"imageEntry.originUrl\"\n [thyDisablePreview]=\"disablePreview\"\n [thyImageMeta]=\"{ name: imageEntry.name, size: imageEntry.size }\"\n (load)=\"imageLoaded($event)\"\n (mousedown)=\"preventDefault($event)\"\n (error)=\"imageError($event)\"\n (click)=\"imageClick($event)\"\n />\n <div *ngIf=\"isCollapsedAndNonReadonly\" class=\"image-profile\" [class.outline]=\"selection\">\n <ng-container *ngIf=\"!loadImageError\">\n <span (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left top\"></span>\n <span (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right top\"></span>\n <span (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right bottom\"></span>\n <span (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left bottom\"></span>\n </ng-container>\n </div>\n <ng-template [ngTemplateOutlet]=\"imageUploading\"></ng-template>\n <div *ngIf=\"!uploading\" class=\"layer\" [class.readonly]=\"readonly\"></div>\n </div>\n</div>\n\n<ng-template #imageLoading>\n <div *ngIf=\"!imageEntry.thumbUrl\" class=\"image-loading cursor-pointer\" contenteditable=\"false\">\n <thy-icon thyIconName=\"image\"></thy-icon>\n </div>\n\n <ng-template [ngTemplateOutlet]=\"imageUploading\"></ng-template>\n</ng-template>\n\n<ng-template #layoutToolbar>\n <thy-actions thySize=\"xxs\">\n <ng-container *ngFor=\"let item of layoutOptions\">\n <a\n *ngIf=\"item.key !== 'split'\"\n href=\"javascript:;\"\n thyAction\n [thyType]=\"item.key === 'remove' ? 'danger' : 'primary'\"\n [thyActionIcon]=\"item.icon\"\n [thyActionActive]=\"layoutActive(item.key)\"\n [thyTooltip]=\"item.name\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"item?.handle($event, item.key)\"\n ></a>\n <thy-divider *ngIf=\"item.key === 'split'\" class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n </ng-container>\n </thy-actions>\n</ng-template>\n\n<ng-template #imageUploading>\n <div *ngIf=\"uploading\" class=\"uploading\">\n <div class=\"uploading-percentage\">\n <thy-progress thyType=\"primary\" [thyValue]=\"percentage\" thySize=\"sm\"></thy-progress>\n <thy-icon (click)=\"cancelUpload($event)\" thyIconName=\"close-circle-bold-fill\" thyIconLegging=\"true\"> </thy-icon>\n </div>\n </div>\n</ng-template>\n" }]
|
|
9547
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$4.ThyImageGroupComponent }, { type: undefined, decorators: [{
|
|
9529
9548
|
type: Inject,
|
|
9530
9549
|
args: [THE_UPLOAD_SERVICE_TOKEN]
|
|
9531
|
-
}] }, { type:
|
|
9550
|
+
}] }, { type: TheContextService }, { type: i1.ThyPopover }, { type: i2.Overlay }, { type: i0.ViewContainerRef }, { type: i0.DestroyRef }]; }, propDecorators: { imageContent: [{
|
|
9532
9551
|
type: ViewChild,
|
|
9533
9552
|
args: ['imageContent']
|
|
9534
9553
|
}], img: [{
|
|
@@ -16680,7 +16699,7 @@ class TheEditorComponent {
|
|
|
16680
16699
|
useExisting: forwardRef(() => TheEditorComponent),
|
|
16681
16700
|
multi: true
|
|
16682
16701
|
}
|
|
16683
|
-
], viewQueries: [{ propertyName: "templateInstance", first: true, predicate: ["templateInstance"], descendants: true, static: true }, { propertyName: "theEditableContainer", first: true, predicate: ["theEditableContainer"], descendants: true, read: ElementRef, static: true }, { propertyName: "globalToolbarInstance", first: true, predicate: ["globalToolbar"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<the-toolbar\n *ngIf=\"!options?.readonly && !theGlobalToolbar && !isMobileMode\"\n [ngClass]=\"{\n 'the-toolbar-disabled': options?.disabled\n }\"\n #globalToolbar\n [editor]=\"editor\"\n [toolbarItems]=\"toolbarEntity.global\"\n [containerClass]=\"globalToolbarClass\"\n [align]=\"options?.toolbar?.align\"\n></the-toolbar>\n\n<div\n #theEditableContainer\n class=\"the-editable-container\"\n thyImageGroup\n [ngClass]=\"{\n 'the-editor-disabled': options?.disabled,\n 'max-height': maxHeight\n }\"\n [ngStyle]=\"{ 'max-height': maxHeight }\"\n>\n <slate-editable\n class=\"the-editor-typo\"\n [editor]=\"editor\"\n [ngModel]=\"editorValue\"\n [renderElement]=\"renderElement\"\n [renderText]=\"renderText\"\n [renderLeaf]=\"renderLeaf\"\n [isStrictDecorate]=\"false\"\n [decorate]=\"decorate\"\n [placeholder]=\"options?.placeholder\"\n [placeholderDecorate]=\"options?.placeholderDecorate ? options?.placeholderDecorate : null\"\n [readonly]=\"options?.readonly || options?.disabled\"\n [keydown]=\"onKeyDown\"\n [click]=\"onClick\"\n [paste]=\"onSlaPaste\"\n [blur]=\"onSlaBlur\"\n [focus]=\"onSlaFocus\"\n [copy]=\"onSlaCopy\"\n [cut]=\"onSlaCut\"\n [beforeInput]=\"onSlaBeforeInput\"\n [compositionStart]=\"onSlaCompositionStart\"\n [compositionEnd]=\"onSlaCompositionEnd\"\n [dragStart]=\"onSlaDragStart\"\n [dragOver]=\"onSlaDragOver\"\n [drop]=\"onDrop\"\n [scrollSelectionIntoView]=\"scrollSelectionIntoView\"\n (ngModelChange)=\"valueChange($event)\"\n (mousedown)=\"mousedown($event)\"\n ></slate-editable>\n\n <ng-container *ngIf=\"!isMobileMode\">\n <the-inline-toolbar\n *ngIf=\"!options?.readonly && options?.inlineToolbarVisible\"\n [editor]=\"editor\"\n [toolbarItems]=\"toolbarEntity.inline\"\n ></the-inline-toolbar>\n <div *ngIf=\"!options?.readonly\" theQuickInsert [editor]=\"editor\" [isVisible]=\"visibleQuickInsertPlus\"></div>\n </ng-container>\n\n <the-template #templateInstance></the-template>\n</div>\n", dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i1$1.SlateEditable, selector: "slate-editable", inputs: ["editor", "renderElement", "renderLeaf", "renderText", "decorate", "placeholderDecorate", "scrollSelectionIntoView", "isStrictDecorate", "trackBy", "readonly", "placeholder", "beforeInput", "blur", "click", "compositionEnd", "compositionUpdate", "compositionStart", "copy", "cut", "dragOver", "dragStart", "dragEnd", "drop", "focus", "keydown", "paste", "spellCheck", "autoCorrect", "autoCapitalize"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type:
|
|
16702
|
+
], viewQueries: [{ propertyName: "templateInstance", first: true, predicate: ["templateInstance"], descendants: true, static: true }, { propertyName: "theEditableContainer", first: true, predicate: ["theEditableContainer"], descendants: true, read: ElementRef, static: true }, { propertyName: "globalToolbarInstance", first: true, predicate: ["globalToolbar"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<the-toolbar\n *ngIf=\"!options?.readonly && !theGlobalToolbar && !isMobileMode\"\n [ngClass]=\"{\n 'the-toolbar-disabled': options?.disabled\n }\"\n #globalToolbar\n [editor]=\"editor\"\n [toolbarItems]=\"toolbarEntity.global\"\n [containerClass]=\"globalToolbarClass\"\n [align]=\"options?.toolbar?.align\"\n></the-toolbar>\n\n<div\n #theEditableContainer\n class=\"the-editable-container\"\n thyImageGroup\n [ngClass]=\"{\n 'the-editor-disabled': options?.disabled,\n 'max-height': maxHeight\n }\"\n [ngStyle]=\"{ 'max-height': maxHeight }\"\n>\n <slate-editable\n class=\"the-editor-typo\"\n [editor]=\"editor\"\n [ngModel]=\"editorValue\"\n [renderElement]=\"renderElement\"\n [renderText]=\"renderText\"\n [renderLeaf]=\"renderLeaf\"\n [isStrictDecorate]=\"false\"\n [decorate]=\"decorate\"\n [placeholder]=\"options?.placeholder\"\n [placeholderDecorate]=\"options?.placeholderDecorate ? options?.placeholderDecorate : null\"\n [readonly]=\"options?.readonly || options?.disabled\"\n [keydown]=\"onKeyDown\"\n [click]=\"onClick\"\n [paste]=\"onSlaPaste\"\n [blur]=\"onSlaBlur\"\n [focus]=\"onSlaFocus\"\n [copy]=\"onSlaCopy\"\n [cut]=\"onSlaCut\"\n [beforeInput]=\"onSlaBeforeInput\"\n [compositionStart]=\"onSlaCompositionStart\"\n [compositionEnd]=\"onSlaCompositionEnd\"\n [dragStart]=\"onSlaDragStart\"\n [dragOver]=\"onSlaDragOver\"\n [drop]=\"onDrop\"\n [scrollSelectionIntoView]=\"scrollSelectionIntoView\"\n (ngModelChange)=\"valueChange($event)\"\n (mousedown)=\"mousedown($event)\"\n ></slate-editable>\n\n <ng-container *ngIf=\"!isMobileMode\">\n <the-inline-toolbar\n *ngIf=\"!options?.readonly && options?.inlineToolbarVisible\"\n [editor]=\"editor\"\n [toolbarItems]=\"toolbarEntity.inline\"\n ></the-inline-toolbar>\n <div *ngIf=\"!options?.readonly\" theQuickInsert [editor]=\"editor\" [isVisible]=\"visibleQuickInsertPlus\"></div>\n </ng-container>\n\n <the-template #templateInstance></the-template>\n</div>\n", dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i1$1.SlateEditable, selector: "slate-editable", inputs: ["editor", "renderElement", "renderLeaf", "renderText", "decorate", "placeholderDecorate", "scrollSelectionIntoView", "isStrictDecorate", "trackBy", "readonly", "placeholder", "beforeInput", "blur", "click", "compositionEnd", "compositionUpdate", "compositionStart", "copy", "cut", "dragOver", "dragStart", "dragEnd", "drop", "focus", "keydown", "paste", "spellCheck", "autoCorrect", "autoCapitalize"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$4.ThyImageGroupComponent, selector: "thy-image-group, [thyImageGroup]" }, { kind: "component", type: TheToolbarComponent, selector: "the-toolbar", inputs: ["editor", "toolbarItems", "align", "containerClass", "isMore", "afterTemplate"] }, { kind: "component", type: TheInlineToolbarComponent, selector: "the-inline-toolbar", inputs: ["editor", "toolbarItems"] }, { kind: "component", type: TheQuickInsertComponent, selector: "[theQuickInsert]", inputs: ["editor", "isVisible"] }, { kind: "component", type: TheTemplateComponent, selector: "the-template,[theTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16684
16703
|
}
|
|
16685
16704
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TheEditorComponent, decorators: [{
|
|
16686
16705
|
type: Component,
|