@igo2/context 1.15.3 → 16.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/context-theme.scss +5 -0
- package/{esm2020 → esm2022}/igo2-context.mjs +4 -4
- package/esm2022/lib/context-import-export/context-import-export/context-import-export.component.mjs +258 -0
- package/esm2022/lib/context-import-export/context-import-export.module.mjs +81 -0
- package/{esm2020 → esm2022}/lib/context-import-export/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/context-import-export/shared/context-export.errors.mjs +15 -15
- package/{esm2020 → esm2022}/lib/context-import-export/shared/context-export.interface.mjs +2 -2
- package/esm2022/lib/context-import-export/shared/context-export.service.mjs +38 -0
- package/esm2022/lib/context-import-export/shared/context-export.utils.mjs +15 -0
- package/{esm2020 → esm2022}/lib/context-import-export/shared/context-import.errors.mjs +33 -33
- package/esm2022/lib/context-import-export/shared/context-import.service.mjs +82 -0
- package/esm2022/lib/context-import-export/shared/context-import.utils.mjs +148 -0
- package/{esm2020 → esm2022}/lib/context-import-export/shared/index.mjs +8 -8
- package/esm2022/lib/context-manager/context-edit/context-edit-binding.directive.mjs +57 -0
- package/esm2022/lib/context-manager/context-edit/context-edit.component.mjs +48 -0
- package/{esm2020 → esm2022}/lib/context-manager/context-edit/index.mjs +3 -3
- package/esm2022/lib/context-manager/context-form/context-form.component.mjs +151 -0
- package/{esm2020 → esm2022}/lib/context-manager/context-form/index.mjs +2 -2
- package/esm2022/lib/context-manager/context-item/context-item.component.mjs +251 -0
- package/{esm2020 → esm2022}/lib/context-manager/context-item/index.mjs +2 -2
- package/esm2022/lib/context-manager/context-list/context-list-binding.directive.mjs +259 -0
- package/esm2022/lib/context-manager/context-list/context-list.component.mjs +616 -0
- package/{esm2020 → esm2022}/lib/context-manager/context-list/context-list.enum.mjs +7 -7
- package/{esm2020 → esm2022}/lib/context-manager/context-list/index.mjs +3 -3
- package/esm2022/lib/context-manager/context-manager.module.mjs +157 -0
- package/esm2022/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs +108 -0
- package/esm2022/lib/context-manager/context-permissions/context-permissions.component.mjs +331 -0
- package/{esm2020 → esm2022}/lib/context-manager/context-permissions/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/context-manager/index.mjs +7 -7
- package/{esm2020 → esm2022}/lib/context-manager/shared/context.enum.mjs +13 -13
- package/esm2022/lib/context-manager/shared/context.interface.mjs +2 -0
- package/esm2022/lib/context-manager/shared/context.service.mjs +662 -0
- package/{esm2020 → esm2022}/lib/context-manager/shared/index.mjs +6 -6
- package/esm2022/lib/context-manager/shared/layer-context.directive.mjs +172 -0
- package/esm2022/lib/context-manager/shared/map-context.directive.mjs +79 -0
- package/esm2022/lib/context-map-button/bookmark-button/bookmark-button.component.mjs +74 -0
- package/esm2022/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +53 -0
- package/{esm2020 → esm2022}/lib/context-map-button/bookmark-button/index.mjs +3 -3
- package/esm2022/lib/context-map-button/context-map-button.module.mjs +104 -0
- package/{esm2020 → esm2022}/lib/context-map-button/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/context-map-button/poi-button/index.mjs +4 -4
- package/esm2022/lib/context-map-button/poi-button/poi-button.component.mjs +179 -0
- package/esm2022/lib/context-map-button/poi-button/poi-dialog.component.mjs +53 -0
- package/{esm2020 → esm2022}/lib/context-map-button/poi-button/shared/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/context-map-button/poi-button/shared/poi.interface.mjs +2 -2
- package/esm2022/lib/context-map-button/poi-button/shared/poi.service.mjs +38 -0
- package/{esm2020 → esm2022}/lib/context-map-button/user-button/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/context-map-button/user-button/user-button.animation.mjs +17 -17
- package/esm2022/lib/context-map-button/user-button/user-button.component.mjs +112 -0
- package/esm2022/lib/context-map-button/user-button/user-dialog.component.mjs +74 -0
- package/{esm2020 → esm2022}/lib/context.module.mjs +45 -45
- package/{esm2020 → esm2022}/lib/share-map/index.mjs +5 -5
- package/esm2022/lib/share-map/share-map/share-map-api.component.mjs +186 -0
- package/esm2022/lib/share-map/share-map/share-map-url.component.mjs +251 -0
- package/esm2022/lib/share-map/share-map/share-map.component.mjs +60 -0
- package/{esm2020 → esm2022}/lib/share-map/share-map.module.mjs +67 -67
- package/{esm2020 → esm2022}/lib/share-map/shared/index.mjs +2 -2
- package/esm2022/lib/share-map/shared/share-map.service.mjs +221 -0
- package/{esm2020 → esm2022}/lib/sidenav/index.mjs +2 -2
- package/esm2022/lib/sidenav/sidenav.component.mjs +178 -0
- package/{esm2020 → esm2022}/lib/sidenav/sidenav.module.mjs +61 -61
- package/{esm2020 → esm2022}/public_api.mjs +15 -15
- package/{fesm2020 → fesm2022}/igo2-context.mjs +4838 -4608
- package/fesm2022/igo2-context.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/context-import-export/context-import-export/context-import-export.component.d.ts +46 -44
- package/lib/context-import-export/context-import-export.module.d.ts +23 -23
- package/lib/context-import-export/index.d.ts +2 -2
- package/lib/context-import-export/shared/context-export.errors.d.ts +8 -8
- package/lib/context-import-export/shared/context-export.interface.d.ts +5 -5
- package/lib/context-import-export/shared/context-export.service.d.ts +10 -10
- package/lib/context-import-export/shared/context-export.utils.d.ts +4 -4
- package/lib/context-import-export/shared/context-import.errors.d.ts +17 -17
- package/lib/context-import-export/shared/context-import.service.d.ts +18 -18
- package/lib/context-import-export/shared/context-import.utils.d.ts +15 -17
- package/lib/context-import-export/shared/index.d.ts +7 -7
- package/lib/context-manager/context-edit/context-edit-binding.directive.d.ts +20 -20
- package/lib/context-manager/context-edit/context-edit.component.d.ts +14 -14
- package/lib/context-manager/context-edit/index.d.ts +2 -2
- package/lib/context-manager/context-form/context-form.component.d.ts +30 -30
- package/lib/context-manager/context-form/index.d.ts +1 -1
- package/lib/context-manager/context-item/context-item.component.d.ts +32 -32
- package/lib/context-manager/context-item/context-item.theming.scss +21 -0
- package/lib/context-manager/context-item/index.d.ts +1 -1
- package/lib/context-manager/context-list/context-list-binding.directive.d.ts +46 -46
- package/lib/context-manager/context-list/context-list.component.d.ts +93 -93
- package/lib/context-manager/context-list/context-list.enum.d.ts +5 -5
- package/lib/context-manager/context-list/context-list.theming.scss +23 -0
- package/lib/context-manager/context-list/index.d.ts +2 -2
- package/lib/context-manager/context-manager.module.d.ts +37 -37
- package/lib/context-manager/context-manager.theming.scss +7 -0
- package/lib/context-manager/context-permissions/context-permissions-binding.directive.d.ts +23 -23
- package/lib/context-manager/context-permissions/context-permissions.component.d.ts +40 -40
- package/lib/context-manager/context-permissions/index.d.ts +2 -2
- package/lib/context-manager/index.d.ts +6 -6
- package/lib/context-manager/shared/context.enum.d.ts +10 -10
- package/lib/context-manager/shared/context.interface.d.ts +81 -75
- package/lib/context-manager/shared/context.service.d.ts +76 -75
- package/lib/context-manager/shared/index.d.ts +5 -5
- package/lib/context-manager/shared/layer-context.directive.d.ts +28 -28
- package/lib/context-manager/shared/map-context.directive.d.ts +19 -19
- package/lib/context-map-button/bookmark-button/bookmark-button.component.d.ts +20 -20
- package/lib/context-map-button/bookmark-button/bookmark-dialog.component.d.ts +9 -9
- package/lib/context-map-button/bookmark-button/index.d.ts +2 -2
- package/lib/context-map-button/context-map-button.module.d.ts +27 -27
- package/lib/context-map-button/index.d.ts +3 -3
- package/lib/context-map-button/poi-button/index.d.ts +3 -3
- package/lib/context-map-button/poi-button/poi-button.component.d.ts +34 -34
- package/lib/context-map-button/poi-button/poi-dialog.component.d.ts +9 -9
- package/lib/context-map-button/poi-button/shared/index.d.ts +2 -2
- package/lib/context-map-button/poi-button/shared/poi.interface.d.ts +7 -7
- package/lib/context-map-button/poi-button/shared/poi.service.d.ts +16 -16
- package/lib/context-map-button/user-button/index.d.ts +2 -2
- package/lib/context-map-button/user-button/user-button.animation.d.ts +2 -2
- package/lib/context-map-button/user-button/user-button.component.d.ts +25 -25
- package/lib/context-map-button/user-button/user-dialog.component.d.ts +15 -15
- package/lib/context.module.d.ts +16 -16
- package/lib/share-map/index.d.ts +4 -4
- package/lib/share-map/share-map/share-map-api.component.d.ts +27 -27
- package/lib/share-map/share-map/share-map-url.component.d.ts +26 -26
- package/lib/share-map/share-map/share-map.component.d.ts +11 -11
- package/lib/share-map/share-map.module.d.ts +21 -21
- package/lib/share-map/shared/index.d.ts +1 -1
- package/lib/share-map/shared/share-map.service.d.ts +17 -17
- package/lib/sidenav/index.d.ts +1 -1
- package/lib/sidenav/sidenav.component.d.ts +35 -35
- package/lib/sidenav/sidenav.module.d.ts +18 -18
- package/locale/en.context.json +199 -0
- package/locale/fr.context.json +199 -0
- package/package.json +20 -26
- package/public_api.d.ts +11 -11
- package/esm2020/lib/context-import-export/context-import-export/context-import-export.component.mjs +0 -228
- package/esm2020/lib/context-import-export/context-import-export.module.mjs +0 -85
- package/esm2020/lib/context-import-export/shared/context-export.service.mjs +0 -38
- package/esm2020/lib/context-import-export/shared/context-export.utils.mjs +0 -15
- package/esm2020/lib/context-import-export/shared/context-import.service.mjs +0 -79
- package/esm2020/lib/context-import-export/shared/context-import.utils.mjs +0 -133
- package/esm2020/lib/context-manager/context-edit/context-edit-binding.directive.mjs +0 -50
- package/esm2020/lib/context-manager/context-edit/context-edit.component.mjs +0 -46
- package/esm2020/lib/context-manager/context-form/context-form.component.mjs +0 -143
- package/esm2020/lib/context-manager/context-item/context-item.component.mjs +0 -245
- package/esm2020/lib/context-manager/context-list/context-list-binding.directive.mjs +0 -240
- package/esm2020/lib/context-manager/context-list/context-list.component.mjs +0 -592
- package/esm2020/lib/context-manager/context-manager.module.mjs +0 -162
- package/esm2020/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs +0 -99
- package/esm2020/lib/context-manager/context-permissions/context-permissions.component.mjs +0 -306
- package/esm2020/lib/context-manager/shared/context.interface.mjs +0 -2
- package/esm2020/lib/context-manager/shared/context.service.mjs +0 -632
- package/esm2020/lib/context-manager/shared/layer-context.directive.mjs +0 -162
- package/esm2020/lib/context-manager/shared/map-context.directive.mjs +0 -70
- package/esm2020/lib/context-map-button/bookmark-button/bookmark-button.component.mjs +0 -66
- package/esm2020/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +0 -50
- package/esm2020/lib/context-map-button/context-map-button.module.mjs +0 -96
- package/esm2020/lib/context-map-button/poi-button/poi-button.component.mjs +0 -161
- package/esm2020/lib/context-map-button/poi-button/poi-dialog.component.mjs +0 -50
- package/esm2020/lib/context-map-button/poi-button/shared/poi.service.mjs +0 -33
- package/esm2020/lib/context-map-button/user-button/user-button.component.mjs +0 -104
- package/esm2020/lib/context-map-button/user-button/user-dialog.component.mjs +0 -66
- package/esm2020/lib/share-map/share-map/share-map-api.component.mjs +0 -170
- package/esm2020/lib/share-map/share-map/share-map-url.component.mjs +0 -243
- package/esm2020/lib/share-map/share-map/share-map.component.mjs +0 -57
- package/esm2020/lib/share-map/shared/share-map.service.mjs +0 -210
- package/esm2020/lib/sidenav/sidenav.component.mjs +0 -170
- package/fesm2015/igo2-context.mjs +0 -5094
- package/fesm2015/igo2-context.mjs.map +0 -1
- package/fesm2020/igo2-context.mjs.map +0 -1
- package/ngcc.config.js +0 -3
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { ConfigService } from '@igo2/core';
|
|
4
|
+
import { ImportInvalidFileError, ImportUnreadableFileError, ImportSizeError } from './context-import.errors';
|
|
5
|
+
import { getFileExtension } from './context-import.utils';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@igo2/core";
|
|
8
|
+
export class ContextImportService {
|
|
9
|
+
config;
|
|
10
|
+
static allowedMimeTypes = ['application/json'];
|
|
11
|
+
static allowedExtensions = 'json';
|
|
12
|
+
clientSideFileSizeMax;
|
|
13
|
+
constructor(config) {
|
|
14
|
+
this.config = config;
|
|
15
|
+
const configFileSizeMb = this.config.getConfig('importExport.clientSideFileSizeMaxMb');
|
|
16
|
+
this.clientSideFileSizeMax =
|
|
17
|
+
(configFileSizeMb ? configFileSizeMb : 30) * Math.pow(1024, 2);
|
|
18
|
+
}
|
|
19
|
+
import(file) {
|
|
20
|
+
return this.importAsync(file);
|
|
21
|
+
}
|
|
22
|
+
getFileImporter(file) {
|
|
23
|
+
const extension = getFileExtension(file);
|
|
24
|
+
const mimeType = file.type;
|
|
25
|
+
const allowedMimeTypes = [...ContextImportService.allowedMimeTypes];
|
|
26
|
+
const allowedExtensions = ContextImportService.allowedExtensions;
|
|
27
|
+
if (allowedMimeTypes.indexOf(mimeType) < 0 &&
|
|
28
|
+
allowedExtensions.indexOf(extension) < 0) {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
else if (mimeType === 'application/json' ||
|
|
32
|
+
extension === ContextImportService.allowedExtensions) {
|
|
33
|
+
return this.importFile;
|
|
34
|
+
}
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
importAsync(file) {
|
|
38
|
+
const doImport = (observer) => {
|
|
39
|
+
if (file.size >= this.clientSideFileSizeMax) {
|
|
40
|
+
observer.error(new ImportSizeError());
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const importer = this.getFileImporter(file);
|
|
44
|
+
if (importer === undefined) {
|
|
45
|
+
observer.error(new ImportInvalidFileError());
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
importer.call(this, file, observer);
|
|
49
|
+
};
|
|
50
|
+
return new Observable(doImport);
|
|
51
|
+
}
|
|
52
|
+
importFile(file, observer) {
|
|
53
|
+
const reader = new FileReader();
|
|
54
|
+
reader.onload = (event) => {
|
|
55
|
+
try {
|
|
56
|
+
const context = this.parseContextFromFile(file, event.target.result);
|
|
57
|
+
observer.next(context);
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
observer.error(new ImportUnreadableFileError());
|
|
61
|
+
}
|
|
62
|
+
observer.complete();
|
|
63
|
+
};
|
|
64
|
+
reader.onerror = (evt) => {
|
|
65
|
+
observer.error(new ImportUnreadableFileError());
|
|
66
|
+
};
|
|
67
|
+
reader.readAsText(file, 'UTF-8');
|
|
68
|
+
}
|
|
69
|
+
parseContextFromFile(file, data) {
|
|
70
|
+
const context = JSON.parse(data);
|
|
71
|
+
return context;
|
|
72
|
+
}
|
|
73
|
+
static ɵfac = function ContextImportService_Factory(t) { return new (t || ContextImportService)(i0.ɵɵinject(i1.ConfigService)); };
|
|
74
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ContextImportService, factory: ContextImportService.ɵfac, providedIn: 'root' });
|
|
75
|
+
}
|
|
76
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextImportService, [{
|
|
77
|
+
type: Injectable,
|
|
78
|
+
args: [{
|
|
79
|
+
providedIn: 'root'
|
|
80
|
+
}]
|
|
81
|
+
}], function () { return [{ type: i1.ConfigService }]; }, null); })();
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1pbXBvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LWltcG9ydC1leHBvcnQvc2hhcmVkL2NvbnRleHQtaW1wb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFM0MsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsZUFBZSxFQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFNMUQsTUFBTSxPQUFPLG9CQUFvQjtJQU9YO0lBTnBCLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFL0MsTUFBTSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztJQUUxQixxQkFBcUIsQ0FBUztJQUV0QyxZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3ZDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQzVDLHNDQUFzQyxDQUN2QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLHFCQUFxQjtZQUN4QixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFD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ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuaW1wb3J0IHtcbiAgSW1wb3J0SW52YWxpZEZpbGVFcnJvcixcbiAgSW1wb3J0VW5yZWFkYWJsZUZpbGVFcnJvcixcbiAgSW1wb3J0U2l6ZUVycm9yXG59IGZyb20gJy4vY29udGV4dC1pbXBvcnQuZXJyb3JzJztcbmltcG9ydCB7IGdldEZpbGVFeHRlbnNpb24gfSBmcm9tICcuL2NvbnRleHQtaW1wb3J0LnV0aWxzJztcbmltcG9ydCB7IERldGFpbGVkQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvbnRleHQtbWFuYWdlci9zaGFyZWQvY29udGV4dC5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0SW1wb3J0U2VydmljZSB7XG4gIHN0YXRpYyBhbGxvd2VkTWltZVR5cGVzID0gWydhcHBsaWNhdGlvbi9qc29uJ107XG5cbiAgc3RhdGljIGFsbG93ZWRFeHRlbnNpb25zID0gJ2pzb24nO1xuXG4gIHByaXZhdGUgY2xpZW50U2lkZUZpbGVTaXplTWF4OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UpIHtcbiAgICBjb25zdCBjb25maWdGaWxlU2l6ZU1iID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKFxuICAgICAgJ2ltcG9ydEV4cG9ydC5jbGllbnRTaWRlRmlsZVNpemVNYXhNYidcbiAgICApO1xuICAgIHRoaXMuY2xpZW50U2lkZUZpbGVTaXplTWF4ID1cbiAgICAgIChjb25maWdGaWxlU2l6ZU1iID8gY29uZmlnRmlsZVNpemVNYiA6IDMwKSAqIE1hdGgucG93KDEwMjQsIDIpO1xuICB9XG5cbiAgaW1wb3J0KGZpbGU6IEZpbGUpOiBPYnNlcnZhYmxlPERldGFpbGVkQ29udGV4dD4ge1xuICAgIHJldHVybiB0aGlzLmltcG9ydEFzeW5jKGZpbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWxlSW1wb3J0ZXIoXG4gICAgZmlsZTogRmlsZVxuICApOiAoXG4gICAgZmlsZTogRmlsZSxcbiAgICBvYnNlcnZlcjogT2JzZXJ2ZXI8RGV0YWlsZWRDb250ZXh0PixcbiAgICBwcm9qZWN0aW9uSW46IHN0cmluZyxcbiAgICBwcm9qZWN0aW9uT3V0OiBzdHJpbmdcbiAgKSA9PiB2b2lkIHtcbiAgICBjb25zdCBleHRlbnNpb24gPSBnZXRGaWxlRXh0ZW5zaW9uKGZpbGUpO1xuICAgIGNvbnN0IG1pbWVUeXBlID0gZmlsZS50eXBlO1xuICAgIGNvbnN0IGFsbG93ZWRNaW1lVHlwZXMgPSBbLi4uQ29udGV4dEltcG9ydFNlcnZpY2UuYWxsb3dlZE1pbWVUeXBlc107XG4gICAgY29uc3QgYWxsb3dlZEV4dGVuc2lvbnMgPSBDb250ZXh0SW1wb3J0U2VydmljZS5hbGxvd2VkRXh0ZW5zaW9ucztcblxuICAgIGlmIChcbiAgICAgIGFsbG93ZWRNaW1lVHlwZXMuaW5kZXhPZihtaW1lVHlwZSkgPCAwICYmXG4gICAgICBhbGxvd2VkRXh0ZW5zaW9ucy5pbmRleE9mKGV4dGVuc2lvbikgPCAwXG4gICAgKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBtaW1lVHlwZSA9PT0gJ2FwcGxpY2F0aW9uL2pzb24nIHx8XG4gICAgICBleHRlbnNpb24gPT09IENvbnRleHRJbXBvcnRTZXJ2aWNlLmFsbG93ZWRFeHRlbnNpb25zXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbXBvcnRGaWxlO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBpbXBvcnRBc3luYyhmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTxEZXRhaWxlZENvbnRleHQ+IHtcbiAgICBjb25zdCBkb0ltcG9ydCA9IChvYnNlcnZlcjogT2JzZXJ2ZXI8RGV0YWlsZWRDb250ZXh0PikgPT4ge1xuICAgICAgaWYgKGZpbGUuc2l6ZSA+PSB0aGlzLmNsaWVudFNpZGVGaWxlU2l6ZU1heCkge1xuICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0U2l6ZUVycm9yKCkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBpbXBvcnRlciA9IHRoaXMuZ2V0RmlsZUltcG9ydGVyKGZpbGUpO1xuICAgICAgaWYgKGltcG9ydGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydEludmFsaWRGaWxlRXJyb3IoKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaW1wb3J0ZXIuY2FsbCh0aGlzLCBmaWxlLCBvYnNlcnZlcik7XG4gICAgfTtcblxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShkb0ltcG9ydCk7XG4gIH1cblxuICBwcml2YXRlIGltcG9ydEZpbGUoZmlsZTogRmlsZSwgb2JzZXJ2ZXI6IE9ic2VydmVyPERldGFpbGVkQ29udGV4dD4pIHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXG4gICAgcmVhZGVyLm9ubG9hZCA9IChldmVudDogYW55KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5wYXJzZUNvbnRleHRGcm9tRmlsZShmaWxlLCBldmVudC50YXJnZXQucmVzdWx0KTtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChjb250ZXh0KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydFVucmVhZGFibGVGaWxlRXJyb3IoKSk7XG4gICAgICB9XG5cbiAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgfTtcblxuICAgIHJlYWRlci5vbmVycm9yID0gKGV2dCkgPT4ge1xuICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydFVucmVhZGFibGVGaWxlRXJyb3IoKSk7XG4gICAgfTtcblxuICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUsICdVVEYtOCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUNvbnRleHRGcm9tRmlsZShmaWxlOiBGaWxlLCBkYXRhOiBzdHJpbmcpOiBEZXRhaWxlZENvbnRleHQge1xuICAgIGNvbnN0IGNvbnRleHQ6IERldGFpbGVkQ29udGV4dCA9IEpTT04ucGFyc2UoZGF0YSk7XG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { FeatureDataSource, VectorLayer, ClusterDataSource, featureRandomStyle, featureRandomStyleFunction } from '@igo2/geo';
|
|
2
|
+
import GeoJSON from 'ol/format/GeoJSON';
|
|
3
|
+
export function handleFileImportSuccess(file, context, messageService, contextService) {
|
|
4
|
+
if (Object.keys(context).length <= 0) {
|
|
5
|
+
handleNothingToImportError(file, messageService);
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const contextTitle = computeLayerTitleFromFile(file);
|
|
9
|
+
addContextToContextList(context, contextTitle, contextService);
|
|
10
|
+
messageService.success('igo.context.contextImportExport.import.success.text', 'igo.context.contextImportExport.import.success.title', undefined, {
|
|
11
|
+
value: contextTitle
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
export function handleFileImportError(file, error, messageService, sizeMb) {
|
|
15
|
+
sizeMb = sizeMb ? sizeMb : 30;
|
|
16
|
+
const errMapping = {
|
|
17
|
+
'Invalid file': handleInvalidFileImportError,
|
|
18
|
+
'File is too large': handleSizeFileImportError,
|
|
19
|
+
'Failed to read file': handleUnreadbleFileImportError
|
|
20
|
+
};
|
|
21
|
+
errMapping[error.message](file, error, messageService, sizeMb);
|
|
22
|
+
}
|
|
23
|
+
export function handleInvalidFileImportError(file, error, messageService) {
|
|
24
|
+
messageService.error('igo.context.contextImportExport.import.invalid.text', 'igo.context.contextImportExport.import.invalid.title', undefined, {
|
|
25
|
+
value: file.name,
|
|
26
|
+
mimeType: file.type
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
export function handleSizeFileImportError(file, error, messageService, sizeMb) {
|
|
30
|
+
messageService.error('igo.context.contextImportExport.import.tooLarge.text', 'igo.context.contextImportExport.import.tooLarge.title', undefined, {
|
|
31
|
+
value: file.name,
|
|
32
|
+
size: sizeMb
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
export function handleUnreadbleFileImportError(file, error, messageService) {
|
|
36
|
+
messageService.error('igo.context.contextImportExport.import.unreadable.text', 'igo.context.contextImportExport.import.unreadable.title', undefined, {
|
|
37
|
+
value: file.name
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
export function handleNothingToImportError(file, messageService) {
|
|
41
|
+
messageService.error('igo.context.contextImportExport.import.empty.text', 'igo.context.contextImportExport.import.empty.title', undefined, { value: file.name });
|
|
42
|
+
}
|
|
43
|
+
export function addContextToContextList(context, contextTitle, contextService) {
|
|
44
|
+
context.title = contextTitle;
|
|
45
|
+
context.imported = true;
|
|
46
|
+
contextService.contexts$.value.ours.unshift(context);
|
|
47
|
+
contextService.contexts$.next(contextService.contexts$.value);
|
|
48
|
+
contextService.importedContext.unshift(context);
|
|
49
|
+
contextService.loadContext(context.uri);
|
|
50
|
+
}
|
|
51
|
+
export function getFileExtension(file) {
|
|
52
|
+
return file.name.split('.').pop().toLowerCase();
|
|
53
|
+
}
|
|
54
|
+
export function computeLayerTitleFromFile(file) {
|
|
55
|
+
return file.name.substr(0, file.name.lastIndexOf('.'));
|
|
56
|
+
}
|
|
57
|
+
export function addImportedFeaturesToMap(extraFeatures, map) {
|
|
58
|
+
const sourceOptions = {
|
|
59
|
+
type: 'vector',
|
|
60
|
+
queryable: true
|
|
61
|
+
};
|
|
62
|
+
const olFeatures = collectFeaturesFromExtraFeatures(extraFeatures);
|
|
63
|
+
const source = new FeatureDataSource(sourceOptions);
|
|
64
|
+
source.ol.addFeatures(olFeatures);
|
|
65
|
+
let randomStyle;
|
|
66
|
+
let editable = false;
|
|
67
|
+
const featureKeys = olFeatures[0]?.getKeys() ?? [];
|
|
68
|
+
if (featureKeys.includes('_style') || featureKeys.includes('_mapTitle')) {
|
|
69
|
+
randomStyle = featureRandomStyleFunction();
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
randomStyle = featureRandomStyle();
|
|
73
|
+
editable = true;
|
|
74
|
+
}
|
|
75
|
+
const layer = new VectorLayer({
|
|
76
|
+
title: extraFeatures.name,
|
|
77
|
+
isIgoInternalLayer: true,
|
|
78
|
+
source,
|
|
79
|
+
igoStyle: { editable },
|
|
80
|
+
style: randomStyle,
|
|
81
|
+
visible: extraFeatures.visible,
|
|
82
|
+
opacity: extraFeatures.opacity
|
|
83
|
+
});
|
|
84
|
+
map.addLayer(layer);
|
|
85
|
+
return layer;
|
|
86
|
+
}
|
|
87
|
+
export function addImportedFeaturesStyledToMap(extraFeatures, map, styleListService, styleService) {
|
|
88
|
+
let style;
|
|
89
|
+
let distance;
|
|
90
|
+
if (styleListService.getStyleList(extraFeatures.name + '.styleByAttribute')) {
|
|
91
|
+
const styleByAttribute = styleListService.getStyleList(extraFeatures.name + '.styleByAttribute');
|
|
92
|
+
style = (feature, resolution) => {
|
|
93
|
+
return styleService.createStyleByAttribute(feature, styleByAttribute, resolution);
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
else if (styleListService.getStyleList(extraFeatures.name + '.clusterStyle')) {
|
|
97
|
+
const clusterParam = styleListService.getStyleList(extraFeatures.name + '.clusterParam');
|
|
98
|
+
distance = styleListService.getStyleList(extraFeatures.name + '.distance');
|
|
99
|
+
style = (feature, resolution) => {
|
|
100
|
+
const baseStyle = styleService.createStyle(styleListService.getStyleList(extraFeatures.name + '.clusterStyle'), feature, resolution);
|
|
101
|
+
return styleService.createClusterStyle(feature, resolution, clusterParam, baseStyle);
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
else if (styleListService.getStyleList(extraFeatures.name + '.style')) {
|
|
105
|
+
style = (feature, resolution) => styleService.createStyle(styleListService.getStyleList(extraFeatures.name + '.style'), feature, resolution);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
style = (feature, resolution) => styleService.createStyle(styleListService.getStyleList('default.style'), feature, resolution);
|
|
109
|
+
}
|
|
110
|
+
let source;
|
|
111
|
+
const olFeatures = collectFeaturesFromExtraFeatures(extraFeatures);
|
|
112
|
+
if (styleListService.getStyleList(extraFeatures.name + '.clusterStyle')) {
|
|
113
|
+
const sourceOptions = {
|
|
114
|
+
distance,
|
|
115
|
+
type: 'cluster',
|
|
116
|
+
queryable: true
|
|
117
|
+
};
|
|
118
|
+
source = new ClusterDataSource(sourceOptions);
|
|
119
|
+
source.ol.source.addFeatures(olFeatures);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
const sourceOptions = {
|
|
123
|
+
type: 'vector',
|
|
124
|
+
queryable: true
|
|
125
|
+
};
|
|
126
|
+
source = new FeatureDataSource(sourceOptions);
|
|
127
|
+
source.ol.addFeatures(olFeatures);
|
|
128
|
+
}
|
|
129
|
+
const layer = new VectorLayer({
|
|
130
|
+
title: extraFeatures.name,
|
|
131
|
+
isIgoInternalLayer: true,
|
|
132
|
+
source,
|
|
133
|
+
style,
|
|
134
|
+
opacity: extraFeatures.opacity,
|
|
135
|
+
visible: extraFeatures.visible
|
|
136
|
+
});
|
|
137
|
+
map.addLayer(layer);
|
|
138
|
+
return layer;
|
|
139
|
+
}
|
|
140
|
+
function collectFeaturesFromExtraFeatures(featureCollection) {
|
|
141
|
+
const format = new GeoJSON();
|
|
142
|
+
const features = format.readFeatures(featureCollection, {
|
|
143
|
+
dataProjection: 'EPSG:4326',
|
|
144
|
+
featureProjection: 'EPSG:3857'
|
|
145
|
+
});
|
|
146
|
+
return features;
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1pbXBvcnQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1pbXBvcnQtZXhwb3J0L3NoYXJlZC9jb250ZXh0LWltcG9ydC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsaUJBQWlCLEVBR2pCLFdBQVcsRUFPWCxpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLDBCQUEwQixFQUMzQixNQUFNLFdBQVcsQ0FBQztBQVFuQixPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUV4QyxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLElBQVUsRUFDVixPQUF3QixFQUN4QixjQUE4QixFQUM5QixjQUE4QjtJQUU5QixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtRQUNwQywwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDakQsT0FBTztLQUNSO0lBRUQsTUFBTSxZQUFZLEdBQUcseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFckQsdUJBQXVCLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUUvRCxjQUFjLENBQUMsT0FBTyxDQUNwQixxREFBcUQsRUFDckQsc0RBQXNELEVBQ3RELFNBQVMsRUFDVDtRQUNFLEtBQUssRUFBRSxZQUFZO0tBQ3BCLENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQ25DLElBQVUsRUFDVixLQUFZLEVBQ1osY0FBOEIsRUFDOUIsTUFBZTtJQUVmLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzlCLE1BQU0sVUFBVSxHQUFHO1FBQ2pCLGNBQWMsRUFBRSw0QkFBNEI7UUFD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QztJQUVoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzdCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUU7UUFDdEQsY0FBYyxFQUFFLFdBQVc7UUFDM0IsaUJBQWlCLEVBQUUsV0FBVztLQUMvQixDQUFDLENBQUM7SUFDSCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcclxuXHJcbmltcG9ydCB7XHJcbiAgRmVhdHVyZURhdGFTb3VyY2UsXHJcbiAgRmVhdHVyZURhdGFTb3VyY2VPcHRpb25zLFxyXG4gIElnb01hcCxcclxuICBWZWN0b3JMYXllcixcclxuICBRdWVyeWFibGVEYXRhU291cmNlT3B0aW9ucyxcclxuICBTdHlsZVNlcnZpY2UsXHJcbiAgU3R5bGVMaXN0U2VydmljZSxcclxuICBTdHlsZUJ5QXR0cmlidXRlLFxyXG4gIENsdXN0ZXJQYXJhbSxcclxuICBDbHVzdGVyRGF0YVNvdXJjZU9wdGlvbnMsXHJcbiAgQ2x1c3RlckRhdGFTb3VyY2UsXHJcbiAgZmVhdHVyZVJhbmRvbVN0eWxlLFxyXG4gIGZlYXR1cmVSYW5kb21TdHlsZUZ1bmN0aW9uXHJcbn0gZnJvbSAnQGlnbzIvZ2VvJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHtcclxuICBEZXRhaWxlZENvbnRleHQsXHJcbiAgRXh0cmFGZWF0dXJlc1xyXG59IGZyb20gJy4uLy4uL2NvbnRleHQtbWFuYWdlci9zaGFyZWQvY29udGV4dC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRleHQtbWFuYWdlci9zaGFyZWQvY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IE9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcclxuaW1wb3J0IEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUZpbGVJbXBvcnRTdWNjZXNzKFxyXG4gIGZpbGU6IEZpbGUsXHJcbiAgY29udGV4dDogRGV0YWlsZWRDb250ZXh0LFxyXG4gIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2VcclxuKSB7XHJcbiAgaWYgKE9iamVjdC5rZXlzKGNvbnRleHQpLmxlbmd0aCA8PSAwKSB7XHJcbiAgICBoYW5kbGVOb3RoaW5nVG9JbXBvcnRFcnJvcihmaWxlLCBtZXNzYWdlU2VydmljZSk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBjb25zdCBjb250ZXh0VGl0bGUgPSBjb21wdXRlTGF5ZXJUaXRsZUZyb21GaWxlKGZpbGUpO1xyXG5cclxuICBhZGRDb250ZXh0VG9Db250ZXh0TGlzdChjb250ZXh0LCBjb250ZXh0VGl0bGUsIGNvbnRleHRTZXJ2aWNlKTtcclxuXHJcbiAgbWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhcclxuICAgICdpZ28uY29udGV4dC5jb250ZXh0SW1wb3J0RXhwb3J0LmltcG9ydC5zdWNjZXNzLnRleHQnLFxyXG4gICAgJ2lnby5jb250ZXh0LmNvbnRleHRJbXBvcnRFeHBvcnQuaW1wb3J0LnN1Y2Nlc3MudGl0bGUnLFxyXG4gICAgdW5kZWZpbmVkLFxyXG4gICAge1xyXG4gICAgICB2YWx1ZTogY29udGV4dFRpdGxlXHJcbiAgICB9XHJcbiAgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUZpbGVJbXBvcnRFcnJvcihcclxuICBmaWxlOiBGaWxlLFxyXG4gIGVycm9yOiBFcnJvcixcclxuICBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgc2l6ZU1iPzogbnVtYmVyXHJcbikge1xyXG4gIHNpemVNYiA9IHNpemVNYiA/IHNpemVNYiA6IDMwO1xyXG4gIGNvbnN0IGVyck1hcHBpbmcgPSB7XHJcbiAgICAnSW52YWxpZCBmaWxlJzogaGFuZGxlSW52YWxpZEZpbGVJbXBvcnRFcnJvcixcclxuICAgICdGaWxlIGlzIHRvbyBsYXJnZSc6IGhhbmRsZVNpemVGaWxlSW1wb3J0RXJyb3IsXHJcbiAgICAnRmFpbGVkIHRvIHJlYWQgZmlsZSc6IGhhbmRsZVVucmVhZGJsZUZpbGVJbXBvcnRFcnJvclxyXG4gIH07XHJcbiAgZXJyTWFwcGluZ1tlcnJvci5tZXNzYWdlXShmaWxlLCBlcnJvciwgbWVzc2FnZVNlcnZpY2UsIHNpemVNYik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVJbnZhbGlkRmlsZUltcG9ydEVycm9yKFxyXG4gIGZpbGU6IEZpbGUsXHJcbiAgZXJyb3I6IEVycm9yLFxyXG4gIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxyXG4pIHtcclxuICBtZXNzYWdlU2VydmljZS5lcnJvcihcclxuICAgICdpZ28uY29udGV4dC5jb250ZXh0SW1wb3J0RXhwb3J0LmltcG9ydC5pbnZhbGlkLnRleHQnLFxyXG4gICAgJ2lnby5jb250ZXh0LmNvbnRleHRJbXBvcnRFeHBvcnQuaW1wb3J0LmludmFsaWQudGl0bGUnLFxyXG4gICAgdW5kZWZpbmVkLFxyXG4gICAge1xyXG4gICAgICB2YWx1ZTogZmlsZS5uYW1lLFxyXG4gICAgICBtaW1lVHlwZTogZmlsZS50eXBlXHJcbiAgICB9XHJcbiAgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZVNpemVGaWxlSW1wb3J0RXJyb3IoXHJcbiAgZmlsZTogRmlsZSxcclxuICBlcnJvcjogRXJyb3IsXHJcbiAgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gIHNpemVNYjogbnVtYmVyXHJcbikge1xyXG4gIG1lc3NhZ2VTZXJ2aWNlLmVycm9yKFxyXG4gICAgJ2lnby5jb250ZXh0LmNvbnRleHRJbXBvcnRFeHBvcnQuaW1wb3J0LnRvb0xhcmdlLnRleHQnLFxyXG4gICAgJ2lnby5jb250ZXh0LmNvbnRleHRJbXBvcnRFeHBvcnQuaW1wb3J0LnRvb0xhcmdlLnRpdGxlJyxcclxuICAgIHVuZGVmaW5lZCxcclxuICAgIHtcclxuICAgICAgdmFsdWU6IGZpbGUubmFtZSxcclxuICAgICAgc2l6ZTogc2l6ZU1iXHJcbiAgICB9XHJcbiAgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZVVucmVhZGJsZUZpbGVJbXBvcnRFcnJvcihcclxuICBmaWxlOiBGaWxlLFxyXG4gIGVycm9yOiBFcnJvcixcclxuICBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuKSB7XHJcbiAgbWVzc2FnZVNlcnZpY2UuZXJyb3IoXHJcbiAgICAnaWdvLmNvbnRleHQuY29udGV4dEltcG9ydEV4cG9ydC5pbXBvcnQudW5yZWFkYWJsZS50ZXh0JyxcclxuICAgICdpZ28uY29udGV4dC5jb250ZXh0SW1wb3J0RXhwb3J0LmltcG9ydC51bnJlYWRhYmxlLnRpdGxlJyxcclxuICAgIHVuZGVmaW5lZCxcclxuICAgIHtcclxuICAgICAgdmFsdWU6IGZpbGUubmFtZVxyXG4gICAgfVxyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVOb3RoaW5nVG9JbXBvcnRFcnJvcihcclxuICBmaWxlOiBGaWxlLFxyXG4gIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxyXG4pIHtcclxuICBtZXNzYWdlU2VydmljZS5lcnJvcihcclxuICAgICdpZ28uY29udGV4dC5jb250ZXh0SW1wb3J0RXhwb3J0LmltcG9ydC5lbXB0eS50ZXh0JyxcclxuICAgICdpZ28uY29udGV4dC5jb250ZXh0SW1wb3J0RXhwb3J0LmltcG9ydC5lbXB0eS50aXRsZScsXHJcbiAgICB1bmRlZmluZWQsXHJcbiAgICB7IHZhbHVlOiBmaWxlLm5hbWUgfVxyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGRDb250ZXh0VG9Db250ZXh0TGlzdChcclxuICBjb250ZXh0OiBEZXRhaWxlZENvbnRleHQsXHJcbiAgY29udGV4dFRpdGxlOiBzdHJpbmcsXHJcbiAgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlXHJcbikge1xyXG4gIGNvbnRleHQudGl0bGUgPSBjb250ZXh0VGl0bGU7XHJcbiAgY29udGV4dC5pbXBvcnRlZCA9IHRydWU7XHJcbiAgY29udGV4dFNlcnZpY2UuY29udGV4dHMkLnZhbHVlLm91cnMudW5zaGlmdChjb250ZXh0KTtcclxuICBjb250ZXh0U2VydmljZS5jb250ZXh0cyQubmV4dChjb250ZXh0U2VydmljZS5jb250ZXh0cyQudmFsdWUpO1xyXG4gIGNvbnRleHRTZXJ2aWNlLmltcG9ydGVkQ29udGV4dC51bnNoaWZ0KGNvbnRleHQpO1xyXG4gIGNvbnRleHRTZXJ2aWNlLmxvYWRDb250ZXh0KGNvbnRleHQudXJpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVFeHRlbnNpb24oZmlsZTogRmlsZSk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIGZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpLnRvTG93ZXJDYXNlKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlTGF5ZXJUaXRsZUZyb21GaWxlKGZpbGU6IEZpbGUpOiBzdHJpbmcge1xyXG4gIHJldHVybiBmaWxlLm5hbWUuc3Vic3RyKDAsIGZpbGUubmFtZS5sYXN0SW5kZXhPZignLicpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZEltcG9ydGVkRmVhdHVyZXNUb01hcChcclxuICBleHRyYUZlYXR1cmVzOiBFeHRyYUZlYXR1cmVzLFxyXG4gIG1hcDogSWdvTWFwXHJcbik6IFZlY3RvckxheWVyIHtcclxuICBjb25zdCBzb3VyY2VPcHRpb25zOiBGZWF0dXJlRGF0YVNvdXJjZU9wdGlvbnMgJiBRdWVyeWFibGVEYXRhU291cmNlT3B0aW9ucyA9IHtcclxuICAgIHR5cGU6ICd2ZWN0b3InLFxyXG4gICAgcXVlcnlhYmxlOiB0cnVlXHJcbiAgfTtcclxuXHJcbiAgY29uc3Qgb2xGZWF0dXJlcyA9IGNvbGxlY3RGZWF0dXJlc0Zyb21FeHRyYUZlYXR1cmVzKGV4dHJhRmVhdHVyZXMpO1xyXG4gIGNvbnN0IHNvdXJjZSA9IG5ldyBGZWF0dXJlRGF0YVNvdXJjZShzb3VyY2VPcHRpb25zKTtcclxuICBzb3VyY2Uub2wuYWRkRmVhdHVyZXMob2xGZWF0dXJlcyk7XHJcblxyXG4gIGxldCByYW5kb21TdHlsZTtcclxuICBsZXQgZWRpdGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjb25zdCBmZWF0dXJlS2V5cyA9IG9sRmVhdHVyZXNbMF0/LmdldEtleXMoKSA/PyBbXTtcclxuICBpZiAoZmVhdHVyZUtleXMuaW5jbHVkZXMoJ19zdHlsZScpIHx8IGZlYXR1cmVLZXlzLmluY2x1ZGVzKCdfbWFwVGl0bGUnKSkge1xyXG4gICAgcmFuZG9tU3R5bGUgPSBmZWF0dXJlUmFuZG9tU3R5bGVGdW5jdGlvbigpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByYW5kb21TdHlsZSA9IGZlYXR1cmVSYW5kb21TdHlsZSgpO1xyXG4gICAgZWRpdGFibGUgPSB0cnVlO1xyXG4gIH1cclxuICBjb25zdCBsYXllciA9IG5ldyBWZWN0b3JMYXllcih7XHJcbiAgICB0aXRsZTogZXh0cmFGZWF0dXJlcy5uYW1lLFxyXG4gICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxyXG4gICAgc291cmNlLFxyXG4gICAgaWdvU3R5bGU6IHsgZWRpdGFibGUgfSxcclxuICAgIHN0eWxlOiByYW5kb21TdHlsZSxcclxuICAgIHZpc2libGU6IGV4dHJhRmVhdHVyZXMudmlzaWJsZSxcclxuICAgIG9wYWNpdHk6IGV4dHJhRmVhdHVyZXMub3BhY2l0eVxyXG4gIH0pO1xyXG4gIG1hcC5hZGRMYXllcihsYXllcik7XHJcblxyXG4gIHJldHVybiBsYXllcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZEltcG9ydGVkRmVhdHVyZXNTdHlsZWRUb01hcChcclxuICBleHRyYUZlYXR1cmVzOiBFeHRyYUZlYXR1cmVzLFxyXG4gIG1hcDogSWdvTWFwLFxyXG4gIHN0eWxlTGlzdFNlcnZpY2U6IFN0eWxlTGlzdFNlcnZpY2UsXHJcbiAgc3R5bGVTZXJ2aWNlOiBTdHlsZVNlcnZpY2VcclxuKTogVmVjdG9yTGF5ZXIge1xyXG4gIGxldCBzdHlsZTtcclxuICBsZXQgZGlzdGFuY2U6IG51bWJlcjtcclxuXHJcbiAgaWYgKHN0eWxlTGlzdFNlcnZpY2UuZ2V0U3R5bGVMaXN0KGV4dHJhRmVhdHVyZXMubmFtZSArICcuc3R5bGVCeUF0dHJpYnV0ZScpKSB7XHJcbiAgICBjb25zdCBzdHlsZUJ5QXR0cmlidXRlOiBTdHlsZUJ5QXR0cmlidXRlID0gc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QoXHJcbiAgICAgIGV4dHJhRmVhdHVyZXMubmFtZSArICcuc3R5bGVCeUF0dHJpYnV0ZSdcclxuICAgICk7XHJcblxyXG4gICAgc3R5bGUgPSAoZmVhdHVyZSwgcmVzb2x1dGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gc3R5bGVTZXJ2aWNlLmNyZWF0ZVN0eWxlQnlBdHRyaWJ1dGUoXHJcbiAgICAgICAgZmVhdHVyZSxcclxuICAgICAgICBzdHlsZUJ5QXR0cmlidXRlLFxyXG4gICAgICAgIHJlc29sdXRpb25cclxuICAgICAgKTtcclxuICAgIH07XHJcbiAgfSBlbHNlIGlmIChcclxuICAgIHN0eWxlTGlzdFNlcnZpY2UuZ2V0U3R5bGVMaXN0KGV4dHJhRmVhdHVyZXMubmFtZSArICcuY2x1c3RlclN0eWxlJylcclxuICApIHtcclxuICAgIGNvbnN0IGNsdXN0ZXJQYXJhbTogQ2x1c3RlclBhcmFtID0gc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QoXHJcbiAgICAgIGV4dHJhRmVhdHVyZXMubmFtZSArICcuY2x1c3RlclBhcmFtJ1xyXG4gICAgKTtcclxuICAgIGRpc3RhbmNlID0gc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QoZXh0cmFGZWF0dXJlcy5uYW1lICsgJy5kaXN0YW5jZScpO1xyXG5cclxuICAgIHN0eWxlID0gKGZlYXR1cmUsIHJlc29sdXRpb24pID0+IHtcclxuICAgICAgY29uc3QgYmFzZVN0eWxlID0gc3R5bGVTZXJ2aWNlLmNyZWF0ZVN0eWxlKFxyXG4gICAgICAgIHN0eWxlTGlzdFNlcnZpY2UuZ2V0U3R5bGVMaXN0KGV4dHJhRmVhdHVyZXMubmFtZSArICcuY2x1c3RlclN0eWxlJyksXHJcbiAgICAgICAgZmVhdHVyZSxcclxuICAgICAgICByZXNvbHV0aW9uXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybiBzdHlsZVNlcnZpY2UuY3JlYXRlQ2x1c3RlclN0eWxlKFxyXG4gICAgICAgIGZlYXR1cmUsXHJcbiAgICAgICAgcmVzb2x1dGlvbixcclxuICAgICAgICBjbHVzdGVyUGFyYW0sXHJcbiAgICAgICAgYmFzZVN0eWxlXHJcbiAgICAgICk7XHJcbiAgICB9O1xyXG4gIH0gZWxzZSBpZiAoc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QoZXh0cmFGZWF0dXJlcy5uYW1lICsgJy5zdHlsZScpKSB7XHJcbiAgICBzdHlsZSA9IChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PlxyXG4gICAgICBzdHlsZVNlcnZpY2UuY3JlYXRlU3R5bGUoXHJcbiAgICAgICAgc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QoZXh0cmFGZWF0dXJlcy5uYW1lICsgJy5zdHlsZScpLFxyXG4gICAgICAgIGZlYXR1cmUsXHJcbiAgICAgICAgcmVzb2x1dGlvblxyXG4gICAgICApO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBzdHlsZSA9IChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PlxyXG4gICAgICBzdHlsZVNlcnZpY2UuY3JlYXRlU3R5bGUoXHJcbiAgICAgICAgc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QoJ2RlZmF1bHQuc3R5bGUnKSxcclxuICAgICAgICBmZWF0dXJlLFxyXG4gICAgICAgIHJlc29sdXRpb25cclxuICAgICAgKTtcclxuICB9XHJcbiAgbGV0IHNvdXJjZTtcclxuICBjb25zdCBvbEZlYXR1cmVzID0gY29sbGVjdEZlYXR1cmVzRnJvbUV4dHJhRmVhdHVyZXMoZXh0cmFGZWF0dXJlcyk7XHJcbiAgaWYgKHN0eWxlTGlzdFNlcnZpY2UuZ2V0U3R5bGVMaXN0KGV4dHJhRmVhdHVyZXMubmFtZSArICcuY2x1c3RlclN0eWxlJykpIHtcclxuICAgIGNvbnN0IHNvdXJjZU9wdGlvbnM6IENsdXN0ZXJEYXRhU291cmNlT3B0aW9ucyAmIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zID1cclxuICAgICAge1xyXG4gICAgICAgIGRpc3RhbmNlLFxyXG4gICAgICAgIHR5cGU6ICdjbHVzdGVyJyxcclxuICAgICAgICBxdWVyeWFibGU6IHRydWVcclxuICAgICAgfTtcclxuICAgIHNvdXJjZSA9IG5ldyBDbHVzdGVyRGF0YVNvdXJjZShzb3VyY2VPcHRpb25zKTtcclxuICAgIHNvdXJjZS5vbC5zb3VyY2UuYWRkRmVhdHVyZXMob2xGZWF0dXJlcyk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnN0IHNvdXJjZU9wdGlvbnM6IEZlYXR1cmVEYXRhU291cmNlT3B0aW9ucyAmIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zID1cclxuICAgICAge1xyXG4gICAgICAgIHR5cGU6ICd2ZWN0b3InLFxyXG4gICAgICAgIHF1ZXJ5YWJsZTogdHJ1ZVxyXG4gICAgICB9O1xyXG4gICAgc291cmNlID0gbmV3IEZlYXR1cmVEYXRhU291cmNlKHNvdXJjZU9wdGlvbnMpO1xyXG4gICAgc291cmNlLm9sLmFkZEZlYXR1cmVzKG9sRmVhdHVyZXMpO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgbGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoe1xyXG4gICAgdGl0bGU6IGV4dHJhRmVhdHVyZXMubmFtZSxcclxuICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcclxuICAgIHNvdXJjZSxcclxuICAgIHN0eWxlLFxyXG4gICAgb3BhY2l0eTogZXh0cmFGZWF0dXJlcy5vcGFjaXR5LFxyXG4gICAgdmlzaWJsZTogZXh0cmFGZWF0dXJlcy52aXNpYmxlXHJcbiAgfSk7XHJcbiAgbWFwLmFkZExheWVyKGxheWVyKTtcclxuXHJcbiAgcmV0dXJuIGxheWVyO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjb2xsZWN0RmVhdHVyZXNGcm9tRXh0cmFGZWF0dXJlcyhcclxuICBmZWF0dXJlQ29sbGVjdGlvbjogRXh0cmFGZWF0dXJlc1xyXG4pOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSB7XHJcbiAgY29uc3QgZm9ybWF0ID0gbmV3IEdlb0pTT04oKTtcclxuICBjb25zdCBmZWF0dXJlcyA9IGZvcm1hdC5yZWFkRmVhdHVyZXMoZmVhdHVyZUNvbGxlY3Rpb24sIHtcclxuICAgIGRhdGFQcm9qZWN0aW9uOiAnRVBTRzo0MzI2JyxcclxuICAgIGZlYXR1cmVQcm9qZWN0aW9uOiAnRVBTRzozODU3J1xyXG4gIH0pO1xyXG4gIHJldHVybiBmZWF0dXJlcztcclxufVxyXG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export * from './context-export.errors';
|
|
2
|
-
export * from './context-import.errors';
|
|
3
|
-
export * from './context-export.service';
|
|
4
|
-
export * from './context-import.service';
|
|
5
|
-
export * from './context-export.interface';
|
|
6
|
-
export * from './context-import.utils';
|
|
7
|
-
export * from './context-export.utils';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './context-export.errors';
|
|
2
|
+
export * from './context-import.errors';
|
|
3
|
+
export * from './context-export.service';
|
|
4
|
+
export * from './context-import.service';
|
|
5
|
+
export * from './context-export.interface';
|
|
6
|
+
export * from './context-import.utils';
|
|
7
|
+
export * from './context-export.utils';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1pbXBvcnQtZXhwb3J0L3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LWV4cG9ydC5lcnJvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LWltcG9ydC5lcnJvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LWV4cG9ydC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC1pbXBvcnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQtZXhwb3J0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQtaW1wb3J0LnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC1leHBvcnQudXRpbHMnO1xuIl19
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Output, EventEmitter, Directive, Self, HostListener } from '@angular/core';
|
|
2
|
+
import { MessageService } from '@igo2/core';
|
|
3
|
+
import { ContextService } from '../shared/context.service';
|
|
4
|
+
import { ContextEditComponent } from './context-edit.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./context-edit.component";
|
|
7
|
+
import * as i2 from "../shared/context.service";
|
|
8
|
+
import * as i3 from "@igo2/core";
|
|
9
|
+
export class ContextEditBindingDirective {
|
|
10
|
+
contextService;
|
|
11
|
+
messageService;
|
|
12
|
+
component;
|
|
13
|
+
editedContext$$;
|
|
14
|
+
submitSuccessed = new EventEmitter();
|
|
15
|
+
onEdit(context) {
|
|
16
|
+
const id = this.component.context.id;
|
|
17
|
+
this.contextService.update(id, context).subscribe(() => {
|
|
18
|
+
this.messageService.success('igo.context.contextManager.dialog.saveMsg', 'igo.context.contextManager.dialog.saveTitle', undefined, {
|
|
19
|
+
value: context.title || this.component.context.title
|
|
20
|
+
});
|
|
21
|
+
this.contextService.setEditedContext(undefined);
|
|
22
|
+
this.submitSuccessed.emit(context);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
constructor(component, contextService, messageService) {
|
|
26
|
+
this.contextService = contextService;
|
|
27
|
+
this.messageService = messageService;
|
|
28
|
+
this.component = component;
|
|
29
|
+
}
|
|
30
|
+
ngOnInit() {
|
|
31
|
+
this.editedContext$$ = this.contextService.editedContext$.subscribe((context) => this.handleEditedContextChange(context));
|
|
32
|
+
}
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
this.editedContext$$.unsubscribe();
|
|
35
|
+
}
|
|
36
|
+
handleEditedContextChange(context) {
|
|
37
|
+
this.component.context = context;
|
|
38
|
+
}
|
|
39
|
+
static ɵfac = function ContextEditBindingDirective_Factory(t) { return new (t || ContextEditBindingDirective)(i0.ɵɵdirectiveInject(i1.ContextEditComponent, 2), i0.ɵɵdirectiveInject(i2.ContextService), i0.ɵɵdirectiveInject(i3.MessageService)); };
|
|
40
|
+
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ContextEditBindingDirective, selectors: [["", "igoContextEditBinding", ""]], hostBindings: function ContextEditBindingDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
|
41
|
+
i0.ɵɵlistener("submitForm", function ContextEditBindingDirective_submitForm_HostBindingHandler($event) { return ctx.onEdit($event); });
|
|
42
|
+
} }, outputs: { submitSuccessed: "submitSuccessed" } });
|
|
43
|
+
}
|
|
44
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextEditBindingDirective, [{
|
|
45
|
+
type: Directive,
|
|
46
|
+
args: [{
|
|
47
|
+
selector: '[igoContextEditBinding]'
|
|
48
|
+
}]
|
|
49
|
+
}], function () { return [{ type: i1.ContextEditComponent, decorators: [{
|
|
50
|
+
type: Self
|
|
51
|
+
}] }, { type: i2.ContextService }, { type: i3.MessageService }]; }, { submitSuccessed: [{
|
|
52
|
+
type: Output
|
|
53
|
+
}], onEdit: [{
|
|
54
|
+
type: HostListener,
|
|
55
|
+
args: ['submitForm', ['$event']]
|
|
56
|
+
}] }); })();
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1lZGl0LWJpbmRpbmcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGV4dC9zcmMvbGliL2NvbnRleHQtbWFuYWdlci9jb250ZXh0LWVkaXQvY29udGV4dC1lZGl0LWJpbmRpbmcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsRUFDVCxJQUFJLEVBR0osWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7OztBQUtoRSxNQUFNLE9BQU8sMkJBQTJCO0lBeUI1QjtJQUNBO0lBekJGLFNBQVMsQ0FBdUI7SUFDaEMsZUFBZSxDQUFlO0lBRTVCLGVBQWUsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUd0RSxNQUFNLENBQUMsT0FBZ0I7UUFDckIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUN6QiwyQ0FBMkMsRUFDM0MsNkNBQTZDLEVBQzdDLFNBQVMsRUFDVDtnQkFDRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLO2FBQ3JELENBQ0YsQ0FBQztZQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFDVSxTQUErQixFQUMvQixjQUE4QixFQUM5QixjQUE4QjtRQUQ5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRXRDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQ2pFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQ3JELENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVPLHlCQUF5QixDQUFDLE9BQXdCO1FBQ3hELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUNuQyxDQUFDO3FGQTNDVSwyQkFBMkI7NkRBQTNCLDJCQUEyQjs0SEFBM0Isa0JBQWM7Ozt1RkFBZCwyQkFBMkI7Y0FIdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7YUFDcEM7O3NCQXlCSSxJQUFJO2tGQXBCRyxlQUFlO2tCQUF4QixNQUFNO1lBR1AsTUFBTTtrQkFETCxZQUFZO21CQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBEaXJlY3RpdmUsXHJcbiAgU2VsZixcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIEhvc3RMaXN0ZW5lclxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDb250ZXh0LCBEZXRhaWxlZENvbnRleHQgfSBmcm9tICcuLi9zaGFyZWQvY29udGV4dC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb250ZXh0RWRpdENvbXBvbmVudCB9IGZyb20gJy4vY29udGV4dC1lZGl0LmNvbXBvbmVudCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tpZ29Db250ZXh0RWRpdEJpbmRpbmddJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGV4dEVkaXRCaW5kaW5nRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgY29tcG9uZW50OiBDb250ZXh0RWRpdENvbXBvbmVudDtcclxuICBwcml2YXRlIGVkaXRlZENvbnRleHQkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBAT3V0cHV0KCkgc3VibWl0U3VjY2Vzc2VkOiBFdmVudEVtaXR0ZXI8Q29udGV4dD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3N1Ym1pdEZvcm0nLCBbJyRldmVudCddKVxyXG4gIG9uRWRpdChjb250ZXh0OiBDb250ZXh0KSB7XHJcbiAgICBjb25zdCBpZCA9IHRoaXMuY29tcG9uZW50LmNvbnRleHQuaWQ7XHJcbiAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnVwZGF0ZShpZCwgY29udGV4dCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWNjZXNzKFxyXG4gICAgICAgICdpZ28uY29udGV4dC5jb250ZXh0TWFuYWdlci5kaWFsb2cuc2F2ZU1zZycsXHJcbiAgICAgICAgJ2lnby5jb250ZXh0LmNvbnRleHRNYW5hZ2VyLmRpYWxvZy5zYXZlVGl0bGUnLFxyXG4gICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB2YWx1ZTogY29udGV4dC50aXRsZSB8fCB0aGlzLmNvbXBvbmVudC5jb250ZXh0LnRpdGxlXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnNldEVkaXRlZENvbnRleHQodW5kZWZpbmVkKTtcclxuICAgICAgdGhpcy5zdWJtaXRTdWNjZXNzZWQuZW1pdChjb250ZXh0KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAU2VsZigpIGNvbXBvbmVudDogQ29udGV4dEVkaXRDb21wb25lbnQsXHJcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudCA9IGNvbXBvbmVudDtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5lZGl0ZWRDb250ZXh0JCQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmVkaXRlZENvbnRleHQkLnN1YnNjcmliZShcclxuICAgICAgKGNvbnRleHQpID0+IHRoaXMuaGFuZGxlRWRpdGVkQ29udGV4dENoYW5nZShjb250ZXh0KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5lZGl0ZWRDb250ZXh0JCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlRWRpdGVkQ29udGV4dENoYW5nZShjb250ZXh0OiBEZXRhaWxlZENvbnRleHQpIHtcclxuICAgIHRoaXMuY29tcG9uZW50LmNvbnRleHQgPSBjb250ZXh0O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../context-form/context-form.component";
|
|
5
|
+
import * as i3 from "@ngx-translate/core";
|
|
6
|
+
function ContextEditComponent_igo_context_form_0_Template(rf, ctx) { if (rf & 1) {
|
|
7
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
8
|
+
i0.ɵɵelementStart(0, "igo-context-form", 1);
|
|
9
|
+
i0.ɵɵlistener("submitForm", function ContextEditComponent_igo_context_form_0_Template_igo_context_form_submitForm_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.submitForm.emit($event)); });
|
|
10
|
+
i0.ɵɵpipe(1, "translate");
|
|
11
|
+
i0.ɵɵelementEnd();
|
|
12
|
+
} if (rf & 2) {
|
|
13
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
14
|
+
i0.ɵɵproperty("btnSubmitText", i0.ɵɵpipeBind1(1, 2, "igo.context.contextManager.save"))("context", ctx_r0.context);
|
|
15
|
+
} }
|
|
16
|
+
export class ContextEditComponent {
|
|
17
|
+
cd;
|
|
18
|
+
get context() {
|
|
19
|
+
return this._context;
|
|
20
|
+
}
|
|
21
|
+
set context(value) {
|
|
22
|
+
this._context = value;
|
|
23
|
+
this.refresh();
|
|
24
|
+
}
|
|
25
|
+
_context;
|
|
26
|
+
submitForm = new EventEmitter();
|
|
27
|
+
constructor(cd) {
|
|
28
|
+
this.cd = cd;
|
|
29
|
+
}
|
|
30
|
+
refresh() {
|
|
31
|
+
this.cd.detectChanges();
|
|
32
|
+
}
|
|
33
|
+
static ɵfac = function ContextEditComponent_Factory(t) { return new (t || ContextEditComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
34
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContextEditComponent, selectors: [["igo-context-edit"]], inputs: { context: "context" }, outputs: { submitForm: "submitForm" }, decls: 1, vars: 1, consts: [[3, "btnSubmitText", "context", "submitForm", 4, "ngIf"], [3, "btnSubmitText", "context", "submitForm"]], template: function ContextEditComponent_Template(rf, ctx) { if (rf & 1) {
|
|
35
|
+
i0.ɵɵtemplate(0, ContextEditComponent_igo_context_form_0_Template, 2, 4, "igo-context-form", 0);
|
|
36
|
+
} if (rf & 2) {
|
|
37
|
+
i0.ɵɵproperty("ngIf", ctx.context);
|
|
38
|
+
} }, dependencies: [i1.NgIf, i2.ContextFormComponent, i3.TranslatePipe], encapsulation: 2 });
|
|
39
|
+
}
|
|
40
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextEditComponent, [{
|
|
41
|
+
type: Component,
|
|
42
|
+
args: [{ selector: 'igo-context-edit', template: "<igo-context-form\r\n *ngIf=\"context\"\r\n [btnSubmitText]=\"'igo.context.contextManager.save' | translate\"\r\n [context]=\"context\"\r\n (submitForm)=\"submitForm.emit($event)\"\r\n>\r\n</igo-context-form>\r\n" }]
|
|
43
|
+
}], function () { return [{ type: i0.ChangeDetectorRef }]; }, { context: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], submitForm: [{
|
|
46
|
+
type: Output
|
|
47
|
+
}] }); })();
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LW1hbmFnZXIvY29udGV4dC1lZGl0L2NvbnRleHQtZWRpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL2NvbnRleHQtZWRpdC9jb250ZXh0LWVkaXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7SUNOdkIsMkNBS0M7SUFEQyx3TUFBYyxlQUFBLDhCQUF1QixDQUFBLElBQUM7O0lBRXhDLGlCQUFtQjs7O0lBSmpCLHVGQUErRCwyQkFBQTs7QURZakUsTUFBTSxPQUFPLG9CQUFvQjtJQWFYO0lBWnBCLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUNPLFFBQVEsQ0FBVTtJQUVoQixVQUFVLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFakUsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7SUFBRyxDQUFDO0lBRTdDLE9BQU87UUFDTCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7OEVBakJVLG9CQUFvQjs2REFBcEIsb0JBQW9CO1lDZGpDLCtGQU1tQjs7WUFMaEIsa0NBQWE7Ozt1RkRhSCxvQkFBb0I7Y0FKaEMsU0FBUzsyQkFDRSxrQkFBa0I7b0VBS3hCLE9BQU87a0JBRFYsS0FBSztZQVVJLFVBQVU7a0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIENoYW5nZURldGVjdG9yUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi4vc2hhcmVkL2NvbnRleHQuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWNvbnRleHQtZWRpdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtZWRpdC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRleHRFZGl0Q29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIGdldCBjb250ZXh0KCk6IENvbnRleHQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRleHQ7XHJcbiAgfVxyXG4gIHNldCBjb250ZXh0KHZhbHVlOiBDb250ZXh0KSB7XHJcbiAgICB0aGlzLl9jb250ZXh0ID0gdmFsdWU7XHJcbiAgICB0aGlzLnJlZnJlc2goKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY29udGV4dDogQ29udGV4dDtcclxuXHJcbiAgQE91dHB1dCgpIHN1Ym1pdEZvcm06IEV2ZW50RW1pdHRlcjxDb250ZXh0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIHJlZnJlc2goKSB7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIiwiPGlnby1jb250ZXh0LWZvcm1cclxuICAqbmdJZj1cImNvbnRleHRcIlxyXG4gIFtidG5TdWJtaXRUZXh0XT1cIidpZ28uY29udGV4dC5jb250ZXh0TWFuYWdlci5zYXZlJyB8IHRyYW5zbGF0ZVwiXHJcbiAgW2NvbnRleHRdPVwiY29udGV4dFwiXHJcbiAgKHN1Ym1pdEZvcm0pPVwic3VibWl0Rm9ybS5lbWl0KCRldmVudClcIlxyXG4+XHJcbjwvaWdvLWNvbnRleHQtZm9ybT5cclxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './context-edit.component';
|
|
2
|
-
export * from './context-edit-binding.directive';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './context-edit.component';
|
|
2
|
+
export * from './context-edit-binding.directive';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL2NvbnRleHQtZWRpdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRleHQtZWRpdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LWVkaXQtYmluZGluZy5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { UntypedFormBuilder } from '@angular/forms';
|
|
3
|
+
import { ObjectUtils, Clipboard } from '@igo2/utils';
|
|
4
|
+
import { MessageService } from '@igo2/core';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/forms";
|
|
7
|
+
import * as i2 from "@igo2/core";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "@angular/material/form-field";
|
|
10
|
+
import * as i5 from "@angular/material/input";
|
|
11
|
+
import * as i6 from "@angular/material/icon";
|
|
12
|
+
import * as i7 from "@angular/material/button";
|
|
13
|
+
import * as i8 from "@angular/material/tooltip";
|
|
14
|
+
import * as i9 from "@ngx-translate/core";
|
|
15
|
+
function ContextFormComponent_span_8_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
+
i0.ɵɵelementStart(0, "span", 11);
|
|
17
|
+
i0.ɵɵtext(1);
|
|
18
|
+
i0.ɵɵelementEnd();
|
|
19
|
+
} if (rf & 2) {
|
|
20
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
21
|
+
i0.ɵɵadvance(1);
|
|
22
|
+
i0.ɵɵtextInterpolate1("", ctx_r0.prefix, "-");
|
|
23
|
+
} }
|
|
24
|
+
export class ContextFormComponent {
|
|
25
|
+
formBuilder;
|
|
26
|
+
messageService;
|
|
27
|
+
form;
|
|
28
|
+
prefix;
|
|
29
|
+
get btnSubmitText() {
|
|
30
|
+
return this._btnSubmitText;
|
|
31
|
+
}
|
|
32
|
+
set btnSubmitText(value) {
|
|
33
|
+
this._btnSubmitText = value;
|
|
34
|
+
}
|
|
35
|
+
_btnSubmitText;
|
|
36
|
+
get context() {
|
|
37
|
+
return this._context;
|
|
38
|
+
}
|
|
39
|
+
set context(value) {
|
|
40
|
+
this._context = value;
|
|
41
|
+
this.buildForm();
|
|
42
|
+
}
|
|
43
|
+
_context;
|
|
44
|
+
get disabled() {
|
|
45
|
+
return this._disabled;
|
|
46
|
+
}
|
|
47
|
+
set disabled(value) {
|
|
48
|
+
this._disabled = value;
|
|
49
|
+
}
|
|
50
|
+
_disabled = false;
|
|
51
|
+
// TODO: replace any by ContextOptions or Context
|
|
52
|
+
submitForm = new EventEmitter();
|
|
53
|
+
clone = new EventEmitter();
|
|
54
|
+
delete = new EventEmitter();
|
|
55
|
+
constructor(formBuilder, messageService) {
|
|
56
|
+
this.formBuilder = formBuilder;
|
|
57
|
+
this.messageService = messageService;
|
|
58
|
+
}
|
|
59
|
+
ngOnInit() {
|
|
60
|
+
this.buildForm();
|
|
61
|
+
}
|
|
62
|
+
handleFormSubmit(value) {
|
|
63
|
+
let inputs = Object.assign({}, value);
|
|
64
|
+
inputs = ObjectUtils.removeNull(inputs);
|
|
65
|
+
inputs.uri = inputs.uri.replace(' ', '');
|
|
66
|
+
if (inputs.uri) {
|
|
67
|
+
inputs.uri = this.prefix + '-' + inputs.uri;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
inputs.uri = this.prefix;
|
|
71
|
+
}
|
|
72
|
+
this.submitForm.emit(inputs);
|
|
73
|
+
}
|
|
74
|
+
copyTextToClipboard() {
|
|
75
|
+
const text = this.prefix + '-' + this.form.value.uri.replace(' ', '');
|
|
76
|
+
const successful = Clipboard.copy(text);
|
|
77
|
+
if (successful) {
|
|
78
|
+
this.messageService.success('igo.context.contextManager.dialog.copyMsg', 'igo.context.contextManager.dialog.copyTitle');
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
buildForm() {
|
|
82
|
+
const context = this.context || {};
|
|
83
|
+
const uriSplit = context.uri.split('-');
|
|
84
|
+
this.prefix = uriSplit.shift();
|
|
85
|
+
const uri = uriSplit.join('-');
|
|
86
|
+
this.form = this.formBuilder.group({
|
|
87
|
+
title: [context.title],
|
|
88
|
+
uri: [uri || ' ']
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
static ɵfac = function ContextFormComponent_Factory(t) { return new (t || ContextFormComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.MessageService)); };
|
|
92
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContextFormComponent, selectors: [["igo-context-form"]], inputs: { btnSubmitText: "btnSubmitText", context: "context", disabled: "disabled" }, outputs: { submitForm: "submitForm", clone: "clone", delete: "delete" }, decls: 19, vars: 18, consts: [[1, "igo-form", 3, "formGroup", "ngSubmit"], [1, "full-width"], ["matInput", "", "required", "", "maxlength", "128", "formControlName", "title", 3, "placeholder"], ["id", "uriInput", 1, "full-width"], ["class", "prefix", 4, "ngIf"], [1, "fieldWrapper"], ["matInput", "", "maxlength", "64", "floatLabel", "always", "formControlName", "uri", 3, "placeholder"], ["id", "copyButton", "type", "button", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", 3, "matTooltip", "click"], ["svgIcon", "content-copy"], [1, "igo-form-button-group"], ["mat-raised-button", "", "type", "submit", 3, "disabled"], [1, "prefix"]], template: function ContextFormComponent_Template(rf, ctx) { if (rf & 1) {
|
|
93
|
+
i0.ɵɵelementStart(0, "form", 0);
|
|
94
|
+
i0.ɵɵlistener("ngSubmit", function ContextFormComponent_Template_form_ngSubmit_0_listener() { return ctx.handleFormSubmit(ctx.form.value); });
|
|
95
|
+
i0.ɵɵelementStart(1, "mat-form-field", 1);
|
|
96
|
+
i0.ɵɵelement(2, "input", 2);
|
|
97
|
+
i0.ɵɵpipe(3, "translate");
|
|
98
|
+
i0.ɵɵelementStart(4, "mat-error");
|
|
99
|
+
i0.ɵɵtext(5);
|
|
100
|
+
i0.ɵɵpipe(6, "translate");
|
|
101
|
+
i0.ɵɵelementEnd()();
|
|
102
|
+
i0.ɵɵelementStart(7, "mat-form-field", 3);
|
|
103
|
+
i0.ɵɵtemplate(8, ContextFormComponent_span_8_Template, 2, 1, "span", 4);
|
|
104
|
+
i0.ɵɵelementStart(9, "span", 5);
|
|
105
|
+
i0.ɵɵelement(10, "input", 6);
|
|
106
|
+
i0.ɵɵpipe(11, "translate");
|
|
107
|
+
i0.ɵɵelementEnd()();
|
|
108
|
+
i0.ɵɵelementStart(12, "button", 7);
|
|
109
|
+
i0.ɵɵlistener("click", function ContextFormComponent_Template_button_click_12_listener() { return ctx.copyTextToClipboard(); });
|
|
110
|
+
i0.ɵɵpipe(13, "translate");
|
|
111
|
+
i0.ɵɵelement(14, "mat-icon", 8);
|
|
112
|
+
i0.ɵɵelementEnd();
|
|
113
|
+
i0.ɵɵelementStart(15, "div", 9)(16, "button", 10);
|
|
114
|
+
i0.ɵɵtext(17);
|
|
115
|
+
i0.ɵɵpipe(18, "translate");
|
|
116
|
+
i0.ɵɵelementEnd()()();
|
|
117
|
+
} if (rf & 2) {
|
|
118
|
+
i0.ɵɵproperty("formGroup", ctx.form);
|
|
119
|
+
i0.ɵɵadvance(2);
|
|
120
|
+
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 8, "igo.context.contextManager.form.title"));
|
|
121
|
+
i0.ɵɵadvance(3);
|
|
122
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 10, "igo.context.contextManager.form.titleRequired"), " ");
|
|
123
|
+
i0.ɵɵadvance(3);
|
|
124
|
+
i0.ɵɵproperty("ngIf", ctx.prefix);
|
|
125
|
+
i0.ɵɵadvance(2);
|
|
126
|
+
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(11, 12, "igo.context.contextManager.form.uri"));
|
|
127
|
+
i0.ɵɵadvance(2);
|
|
128
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(13, 14, "igo.context.contextManager.form.copy"));
|
|
129
|
+
i0.ɵɵadvance(4);
|
|
130
|
+
i0.ɵɵproperty("disabled", !ctx.form.valid || ctx.disabled);
|
|
131
|
+
i0.ɵɵadvance(1);
|
|
132
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 16, "igo.context.contextManager.form.edit"), " ");
|
|
133
|
+
} }, dependencies: [i3.NgIf, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.RequiredValidator, i1.MaxLengthValidator, i1.FormGroupDirective, i1.FormControlName, i4.MatFormField, i4.MatError, i5.MatInput, i6.MatIcon, i7.MatButton, i7.MatIconButton, i8.MatTooltip, i9.TranslatePipe], styles: ["form[_ngcontent-%COMP%]{margin:10px}.full-width[_ngcontent-%COMP%]{width:100%}#uriInput[_ngcontent-%COMP%] .fieldWrapper[_ngcontent-%COMP%]{display:block;overflow:hidden}#uriInput[_ngcontent-%COMP%] .prefix[_ngcontent-%COMP%]{float:left}#copyButton[_ngcontent-%COMP%]{width:24px;float:right;position:relative;top:-58px;left:5px}"] });
|
|
134
|
+
}
|
|
135
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextFormComponent, [{
|
|
136
|
+
type: Component,
|
|
137
|
+
args: [{ selector: 'igo-context-form', template: "<form\r\n class=\"igo-form\"\r\n [formGroup]=\"form\"\r\n (ngSubmit)=\"handleFormSubmit(form.value)\"\r\n>\r\n <mat-form-field class=\"full-width\">\r\n <input\r\n matInput\r\n required\r\n maxlength=\"128\"\r\n [placeholder]=\"'igo.context.contextManager.form.title' | translate\"\r\n formControlName=\"title\"\r\n />\r\n <mat-error>\r\n {{ 'igo.context.contextManager.form.titleRequired' | translate }}\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field id=\"uriInput\" class=\"full-width\">\r\n <span *ngIf=\"prefix\" class=\"prefix\">{{ prefix }}-</span>\r\n <span class=\"fieldWrapper\">\r\n <input\r\n matInput\r\n maxlength=\"64\"\r\n floatLabel=\"always\"\r\n [placeholder]=\"'igo.context.contextManager.form.uri' | translate\"\r\n formControlName=\"uri\"\r\n />\r\n </span>\r\n </mat-form-field>\r\n\r\n <button\r\n id=\"copyButton\"\r\n type=\"button\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.context.contextManager.form.copy' | translate\"\r\n color=\"primary\"\r\n (click)=\"copyTextToClipboard()\"\r\n >\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n </button>\r\n\r\n <div class=\"igo-form-button-group\">\r\n <button\r\n mat-raised-button\r\n type=\"submit\"\r\n [disabled]=\"!form.valid || disabled\"\r\n >\r\n {{ 'igo.context.contextManager.form.edit' | translate }}\r\n </button>\r\n </div>\r\n</form>\r\n", styles: ["form{margin:10px}.full-width{width:100%}#uriInput .fieldWrapper{display:block;overflow:hidden}#uriInput .prefix{float:left}#copyButton{width:24px;float:right;position:relative;top:-58px;left:5px}\n"] }]
|
|
138
|
+
}], function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.MessageService }]; }, { btnSubmitText: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], context: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], disabled: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], submitForm: [{
|
|
145
|
+
type: Output
|
|
146
|
+
}], clone: [{
|
|
147
|
+
type: Output
|
|
148
|
+
}], delete: [{
|
|
149
|
+
type: Output
|
|
150
|
+
}] }); })();
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LW1hbmFnZXIvY29udGV4dC1mb3JtL2NvbnRleHQtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL2NvbnRleHQtZm9ybS9jb250ZXh0LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7Ozs7Ozs7O0lDZXhDLGdDQUFvQztJQUFBLFlBQWE7SUFBQSxpQkFBTzs7O0lBQXBCLGVBQWE7SUFBYiw2Q0FBYTs7QURQckQsTUFBTSxPQUFPLG9CQUFvQjtJQXNDckI7SUFDQTtJQXRDSCxJQUFJLENBQW1CO0lBQ3ZCLE1BQU0sQ0FBUztJQUV0QixJQUNJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQUksYUFBYSxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUNPLGNBQWMsQ0FBUztJQUUvQixJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxL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QUN6Qiw0QkFNRTs7WUFDSixpQkFBTyxFQUFBO1lBR1Qsa0NBU0M7WUFEQyxrR0FBUyx5QkFBcUIsSUFBQzs7WUFFL0IsK0JBQTRDO1lBQzlDLGlCQUFTO1lBRVQsK0JBQW1DLGtCQUFBO1lBTS9CLGFBQ0Y7O1lBQUEsaUJBQVMsRUFBQSxFQUFBOztZQWpEWCxvQ0FBa0I7WUFRZCxlQUFtRTtZQUFuRSwyRkFBbUU7WUFJbkUsZUFDRjtZQURFLHVHQUNGO1lBSU8sZUFBWTtZQUFaLGlDQUFZO1lBTWYsZUFBaUU7WUFBakUsMkZBQWlFO1lBWXJFLGVBQWlFO1lBQWpFLDJGQUFpRTtZQVcvRCxlQUFvQztZQUFwQywwREFBb0M7WUFFcEMsZUFDRjtZQURFLCtGQUNGOzs7dUZEdkNTLG9CQUFvQjtjQUxoQyxTQUFTOzJCQUNFLGtCQUFrQjtrR0FTeEIsYUFBYTtrQkFEaEIsS0FBSztZQVVGLE9BQU87a0JBRFYsS0FBSztZQVdGLFFBQVE7a0JBRFgsS0FBSztZQVVJLFVBQVU7a0JBQW5CLE1BQU07WUFDRyxLQUFLO2tCQUFkLE1BQU07WUFDRyxNQUFNO2tCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IE9iamVjdFV0aWxzLCBDbGlwYm9hcmQgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuLi9zaGFyZWQvY29udGV4dC5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tY29udGV4dC1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGV4dC1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb250ZXh0LWZvcm0uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGV4dEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIHB1YmxpYyBwcmVmaXg6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgYnRuU3VibWl0VGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2J0blN1Ym1pdFRleHQ7XHJcbiAgfVxyXG4gIHNldCBidG5TdWJtaXRUZXh0KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2J0blN1Ym1pdFRleHQgPSB2YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfYnRuU3VibWl0VGV4dDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBjb250ZXh0KCk6IENvbnRleHQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRleHQ7XHJcbiAgfVxyXG4gIHNldCBjb250ZXh0KHZhbHVlOiBDb250ZXh0KSB7XHJcbiAgICB0aGlzLl9jb250ZXh0ID0gdmFsdWU7XHJcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb250ZXh0OiBDb250ZXh0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcclxuICB9XHJcbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICAvLyBUT0RPOiByZXBsYWNlIGFueSBieSBDb250ZXh0T3B0aW9ucyBvciBDb250ZXh0XHJcbiAgQE91dHB1dCgpIHN1Ym1pdEZvcm06IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9uZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGRlbGV0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVGb3JtU3VibWl0KHZhbHVlKSB7XHJcbiAgICBsZXQgaW5wdXRzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsdWUpO1xyXG4gICAgaW5wdXRzID0gT2JqZWN0VXRpbHMucmVtb3ZlTnVsbChpbnB1dHMpO1xyXG4gICAgaW5wdXRzLnVyaSA9IGlucHV0cy51cmkucmVwbGFjZSgnICcsICcnKTtcclxuICAgIGlmIChpbnB1dHMudXJpKSB7XHJcbiAgICAgIGlucHV0cy51cmkgPSB0aGlzLnByZWZpeCArICctJyArIGlucHV0cy51cmk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpbnB1dHMudXJpID0gdGhpcy5wcmVmaXg7XHJcbiAgICB9XHJcbiAgICB0aGlzLnN1Ym1pdEZvcm0uZW1pdChpbnB1dHMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvcHlUZXh0VG9DbGlwYm9hcmQoKSB7XHJcbiAgICBjb25zdCB0ZXh0ID0gdGhpcy5wcmVmaXggKyAnLScgKyB0aGlzLmZvcm0udmFsdWUudXJpLnJlcGxhY2UoJyAnLCAnJyk7XHJcbiAgICBjb25zdCBzdWNjZXNzZnVsID0gQ2xpcGJvYXJkLmNvcHkodGV4dCk7XHJcbiAgICBpZiAoc3VjY2Vzc2Z1bCkge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1Y2Nlc3MoXHJcbiAgICAgICAgJ2lnby5jb250ZXh0LmNvbnRleHRNYW5hZ2VyLmRpYWxvZy5jb3B5TXNnJyxcclxuICAgICAgICAnaWdvLmNvbnRleHQuY29udGV4dE1hbmFnZXIuZGlhbG9nLmNvcHlUaXRsZSdcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRGb3JtKCk6IHZvaWQge1xyXG4gICAgY29uc3QgY29udGV4dDogYW55ID0gdGhpcy5jb250ZXh0IHx8IHt9O1xyXG5cclxuICAgIGNvbnN0IHVyaVNwbGl0ID0gY29udGV4dC51cmkuc3BsaXQoJy0nKTtcclxuICAgIHRoaXMucHJlZml4ID0gdXJpU3BsaXQuc2hpZnQoKTtcclxuICAgIGNvbnN0IHVyaSA9IHVyaVNwbGl0LmpvaW4oJy0nKTtcclxuXHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgdGl0bGU6IFtjb250ZXh0LnRpdGxlXSxcclxuICAgICAgdXJpOiBbdXJpIHx8ICcgJ11cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybVxyXG4gIGNsYXNzPVwiaWdvLWZvcm1cIlxyXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXHJcbiAgKG5nU3VibWl0KT1cImhhbmRsZUZvcm1TdWJtaXQoZm9ybS52YWx1ZSlcIlxyXG4+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIG1hdElucHV0XHJcbiAgICAgIHJlcXVpcmVkXHJcbiAgICAgIG1heGxlbmd0aD1cIjEyOFwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInaWdvLmNvbnRleHQuY29udGV4dE1hbmFnZXIuZm9ybS50aXRsZScgfCB0cmFuc2xhdGVcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiXHJcbiAgICAvPlxyXG4gICAgPG1hdC1lcnJvcj5cclxuICAgICAge3sgJ2lnby5jb250ZXh0LmNvbnRleHRNYW5hZ2VyLmZvcm0udGl0bGVSZXF1aXJlZCcgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvbWF0LWVycm9yPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gIDxtYXQtZm9ybS1maWVsZCBpZD1cInVyaUlucHV0XCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICA8c3BhbiAqbmdJZj1cInByZWZpeFwiIGNsYXNzPVwicHJlZml4XCI+e3sgcHJlZml4IH19LTwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwiZmllbGRXcmFwcGVyXCI+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgbWF4bGVuZ3RoPVwiNjRcIlxyXG4gICAgICAgIGZsb2F0TGFiZWw9XCJhbHdheXNcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInaWdvLmNvbnRleHQuY29udGV4dE1hbmFnZXIuZm9ybS51cmknIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1cmlcIlxyXG4gICAgICAvPlxyXG4gICAgPC9zcGFuPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gIDxidXR0b25cclxuICAgIGlkPVwiY29weUJ1dHRvblwiXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5jb250ZXh0LmNvbnRleHRNYW5hZ2VyLmZvcm0uY29weScgfCB0cmFuc2xhdGVcIlxyXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgIChjbGljayk9XCJjb3B5VGV4dFRvQ2xpcGJvYXJkKClcIlxyXG4gID5cclxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY29udGVudC1jb3B5XCI+PC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImlnby1mb3JtLWJ1dHRvbi1ncm91cFwiPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBtYXQtcmFpc2VkLWJ1dHRvblxyXG4gICAgICB0eXBlPVwic3VibWl0XCJcclxuICAgICAgW2Rpc2FibGVkXT1cIiFmb3JtLnZhbGlkIHx8IGRpc2FibGVkXCJcclxuICAgID5cclxuICAgICAge3sgJ2lnby5jb250ZXh0LmNvbnRleHRNYW5hZ2VyLmZvcm0uZWRpdCcgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Zvcm0+XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './context-form.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './context-form.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL2NvbnRleHQtZm9ybS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LWZvcm0uY29tcG9uZW50JztcbiJdfQ==
|