@colijnit/transaction 12.1.35 → 12.1.36
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/bundles/colijnit-transaction.umd.js +656 -437
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +267 -261
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +268 -262
- package/esm2015/lib/component/checkout/checkout.component.js +1 -1
- package/esm2015/lib/component/core/base/dynamic-base-component.js +8 -0
- package/esm2015/lib/component/core/base/transaction-header-base.component.js +1 -1
- package/esm2015/lib/component/core/base/transaction-line-base.component.js +1 -1
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.js +35 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module.js +28 -0
- package/esm2015/lib/component/transaction/transaction.component.js +12 -23
- package/esm2015/lib/component/transaction/transaction.module.js +1 -1
- package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.js +2 -2
- package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.js +3 -3
- package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.js +1 -1
- package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.js +39 -22
- package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.js +4 -2
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +1 -1
- package/esm2015/lib/component/transaction-line/transaction-line.component.js +1 -1
- package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.js +3 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.component.js +1 -1
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.js +45 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.module.js +23 -0
- package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +64 -52
- package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +2 -4
- package/esm2015/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.js +23 -18
- package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.js +4 -10
- package/esm2015/lib/service/article-connector.service.js +2 -8
- package/esm2015/lib/service/article.service.js +6 -2
- package/esm2015/lib/service/dialog.service.js +32 -41
- package/esm2015/lib/service/dynamic-component.service.js +68 -0
- package/fesm2015/colijnit-transaction.js +440 -255
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/core/base/dynamic-base-component.d.ts +3 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.d.ts +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module.d.ts +2 -0
- package/lib/component/transaction/transaction.component.d.ts +3 -3
- package/lib/component/transaction-grid/transaction-received-goods-grid/style/_layout.scss +11 -0
- package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.d.ts +7 -2
- package/lib/component/transaction-line/style/material.scss +1 -1
- package/lib/component/transaction-line-checkbox-list/style/_layout.scss +13 -0
- package/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.d.ts +13 -0
- package/lib/component/transaction-line-fields/transaction-line-warehouse-location.module.d.ts +2 -0
- package/lib/component/transaction-line-side-panel/style/_layout.scss +16 -13
- package/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.d.ts +4 -2
- package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.d.ts +1 -1
- package/lib/component/transaction-receiving-goods-details/style/_layout.scss +16 -0
- package/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.d.ts +4 -1
- package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.d.ts +5 -7
- package/lib/component/transaction-search/style/material.scss +1 -1
- package/lib/service/dialog.service.d.ts +10 -3
- package/lib/service/dynamic-component.service.d.ts +9 -0
- package/package.json +3 -3
|
@@ -6,13 +6,16 @@ import { AppPopupType } from "../component/core/enum/app-popup-type.enum";
|
|
|
6
6
|
import { CharacteristicAnswerComponent } from "../component/core/base/components/characteristic-answer/characteristic-answer.component";
|
|
7
7
|
import { DialogTransactionLineWarehouseComponent } from "../component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component";
|
|
8
8
|
import { DialogTransactionLineCommissionCodeComponent } from "../component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component";
|
|
9
|
+
import { DynamicComponentService } from "./dynamic-component.service";
|
|
10
|
+
import { DialogTransactionLineWarehouseLocationComponent } from "../component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component";
|
|
9
11
|
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "./dynamic-component.service";
|
|
10
13
|
export class DialogService {
|
|
11
|
-
constructor(_compFactoryResolver, appRef, injector) {
|
|
14
|
+
constructor(_compFactoryResolver, appRef, injector, dynamicComponentService) {
|
|
12
15
|
this._compFactoryResolver = _compFactoryResolver;
|
|
13
16
|
this.appRef = appRef;
|
|
14
17
|
this.injector = injector;
|
|
15
|
-
|
|
18
|
+
this.dynamicComponentService = dynamicComponentService;
|
|
16
19
|
this._componentRefs = [];
|
|
17
20
|
}
|
|
18
21
|
showYesNo(title, text) {
|
|
@@ -22,7 +25,7 @@ export class DialogService {
|
|
|
22
25
|
text: text,
|
|
23
26
|
type: AppPopupType.Confirmation
|
|
24
27
|
};
|
|
25
|
-
const response = yield this.
|
|
28
|
+
const response = yield this.dynamicComponentService.createComponent(ConfirmationDialogComponent, data);
|
|
26
29
|
return response === AppPopupButtonType.Yes;
|
|
27
30
|
});
|
|
28
31
|
}
|
|
@@ -35,7 +38,7 @@ export class DialogService {
|
|
|
35
38
|
if (details) {
|
|
36
39
|
data.details = details;
|
|
37
40
|
}
|
|
38
|
-
return this.
|
|
41
|
+
return this.dynamicComponentService.createComponent(ConfirmationDialogComponent, data);
|
|
39
42
|
}
|
|
40
43
|
showInformation(message) {
|
|
41
44
|
const data = {
|
|
@@ -43,7 +46,19 @@ export class DialogService {
|
|
|
43
46
|
text: message,
|
|
44
47
|
type: AppPopupType.Information
|
|
45
48
|
};
|
|
46
|
-
return this.
|
|
49
|
+
return this.dynamicComponentService.createComponent(ConfirmationDialogComponent, data);
|
|
50
|
+
}
|
|
51
|
+
showTransactionLineComponent(comp, transLine) {
|
|
52
|
+
const data = {
|
|
53
|
+
transactionLine: transLine
|
|
54
|
+
};
|
|
55
|
+
return this.dynamicComponentService.createComponent(comp, data);
|
|
56
|
+
}
|
|
57
|
+
showTransactionHeaderComponent(comp, transactionInfo) {
|
|
58
|
+
const data = {
|
|
59
|
+
transactionInfo: transactionInfo
|
|
60
|
+
};
|
|
61
|
+
return this.dynamicComponentService.createComponent(comp, data);
|
|
47
62
|
}
|
|
48
63
|
showCharacteristics(title, choices, value) {
|
|
49
64
|
const data = {
|
|
@@ -51,53 +66,28 @@ export class DialogService {
|
|
|
51
66
|
choices: choices,
|
|
52
67
|
value: value
|
|
53
68
|
};
|
|
54
|
-
return this.
|
|
69
|
+
return this.dynamicComponentService.createComponent(CharacteristicAnswerComponent, data);
|
|
55
70
|
}
|
|
56
71
|
showWarehouse() {
|
|
57
72
|
const data = {
|
|
58
73
|
useModel: false
|
|
59
74
|
};
|
|
60
|
-
return this.
|
|
75
|
+
return this.dynamicComponentService.createComponent(DialogTransactionLineWarehouseComponent, data);
|
|
61
76
|
}
|
|
62
77
|
showCommissionCode() {
|
|
63
78
|
const data = {
|
|
64
79
|
useModel: false
|
|
65
80
|
};
|
|
66
|
-
return this.
|
|
81
|
+
return this.dynamicComponentService.createComponent(DialogTransactionLineCommissionCodeComponent, data);
|
|
67
82
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const componentRef = this._compFactoryResolver
|
|
74
|
-
.resolveComponentFactory(componentClass)
|
|
75
|
-
.create(this.injector);
|
|
76
|
-
this._componentRefs.push(componentRef);
|
|
77
|
-
for (let key in data) {
|
|
78
|
-
if (data.hasOwnProperty(key)) {
|
|
79
|
-
componentRef.instance[key] = data[key];
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
this.appRef.attachView(componentRef.hostView);
|
|
83
|
-
const domElem = componentRef.hostView
|
|
84
|
-
.rootNodes[0];
|
|
85
|
-
document.body.appendChild(domElem);
|
|
86
|
-
componentRef.onDestroy(() => {
|
|
87
|
-
this.appRef.detachView(componentRef.hostView);
|
|
88
|
-
});
|
|
89
|
-
// @ts-ignore
|
|
90
|
-
componentRef.instance.onClose = (button, output) => {
|
|
91
|
-
const idx = this._componentRefs.indexOf(componentRef);
|
|
92
|
-
this.appRef.detachView(componentRef.hostView);
|
|
93
|
-
this._componentRefs[idx] = undefined;
|
|
94
|
-
this._componentRefs.splice(idx, 1);
|
|
95
|
-
resolve(output ? output : button);
|
|
96
|
-
};
|
|
97
|
-
});
|
|
83
|
+
showWarehouseLocation() {
|
|
84
|
+
const data = {
|
|
85
|
+
useModel: false
|
|
86
|
+
};
|
|
87
|
+
return this.dynamicComponentService.createComponent(DialogTransactionLineWarehouseLocationComponent, data);
|
|
98
88
|
}
|
|
99
89
|
}
|
|
100
|
-
DialogService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DialogService_Factory() { return new DialogService(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i0.INJECTOR)); }, token: DialogService, providedIn: "root" });
|
|
90
|
+
DialogService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DialogService_Factory() { return new DialogService(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1.DynamicComponentService)); }, token: DialogService, providedIn: "root" });
|
|
101
91
|
DialogService.decorators = [
|
|
102
92
|
{ type: Injectable, args: [{
|
|
103
93
|
providedIn: "root"
|
|
@@ -106,6 +96,7 @@ DialogService.decorators = [
|
|
|
106
96
|
DialogService.ctorParameters = () => [
|
|
107
97
|
{ type: ComponentFactoryResolver },
|
|
108
98
|
{ type: ApplicationRef },
|
|
109
|
-
{ type: Injector }
|
|
99
|
+
{ type: Injector },
|
|
100
|
+
{ type: DynamicComponentService }
|
|
110
101
|
];
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUUsd0JBQXdCLEVBQW1CLFVBQVUsRUFBRSxRQUFRLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQzlJLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3JGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUl4RSxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSx5RkFBeUYsQ0FBQztBQUN0SSxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSxvSEFBb0gsQ0FBQztBQUMzSyxPQUFPLEVBQUMsNENBQTRDLEVBQUMsTUFBTSxnSUFBZ0ksQ0FBQzs7QUFPNUwsTUFBTSxPQUFPLGFBQWE7SUFLeEIsWUFDVSxvQkFBOEMsRUFDOUMsTUFBc0IsRUFDdEIsUUFBa0I7UUFGbEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUEwQjtRQUM5QyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBTjVCLDhCQUE4QjtRQUN0QixtQkFBYyxHQUFVLEVBQUUsQ0FBQztJQU9uQyxDQUFDO0lBRVksU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFZOztZQUNoRCxNQUFNLElBQUksR0FBTztnQkFDZixLQUFLLEVBQUUsS0FBSztnQkFDWixJQUFJLEVBQUUsSUFBSTtnQkFDVixJQUFJLEVBQUUsWUFBWSxDQUFDLFlBQVk7YUFDaEMsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLDJCQUEyQixFQUFF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QUFDO1lBRUgsYUFBYTtZQUNiLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsTUFBVyxFQUFFLE1BQVksRUFBRSxFQUFFO2dCQUM1RCxNQUFNLEdBQUcsR0FBVyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDOUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNuQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BDLENBQUMsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7OztZQXZHRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQWZ1Qix3QkFBd0I7WUFBeEMsY0FBYztZQUF5RCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBFbWJlZGRlZFZpZXdSZWYsIEluamVjdGFibGUsIEluamVjdG9yLCBQcm92aWRlciwgU3RhdGljUHJvdmlkZXIsIFR5cGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QXBwUG9wdXBCdXR0b25UeXBlfSBmcm9tIFwiLi4vY29tcG9uZW50L2NvcmUvZW51bS9hcHAtcG9wdXAtYnV0dG9uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge0NvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudH0gZnJvbSBcIi4uL2NvbXBvbmVudC9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7QXBwUG9wdXBUeXBlfSBmcm9tIFwiLi4vY29tcG9uZW50L2NvcmUvZW51bS9hcHAtcG9wdXAtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7RGlhbG9nQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uL2NvbXBvbmVudC9jb3JlL2Jhc2UvZGlhbG9nLWJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVDaGFyYWN0ZXJpc3RpY0Nob2ljZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbkxpbmVDaGFyYWN0ZXJpc3RpY0Nob2ljZS5ib1wiO1xyXG5pbXBvcnQge0NoYXJhY3RlcmlzdGljQW5zd2VyQ29tcG9uZW50fSBmcm9tIFwiLi4vY29tcG9uZW50L2NvcmUvYmFzZS9jb21wb25lbnRzL2NoYXJhY3RlcmlzdGljLWFuc3dlci9jaGFyYWN0ZXJpc3RpYy1hbnN3ZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7RGlhbG9nVHJhbnNhY3Rpb25MaW5lV2FyZWhvdXNlQ29tcG9uZW50fSBmcm9tIFwiLi4vY29tcG9uZW50L2RpYWxvZy90cmFuc2FjdGlvbi1saW5lL2RpYWxvZy10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZS9kaWFsb2ctdHJhbnNhY3Rpb24tbGluZS13YXJlaG91c2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7RGlhbG9nVHJhbnNhY3Rpb25MaW5lQ29tbWlzc2lvbkNvZGVDb21wb25lbnR9IGZyb20gXCIuLi9jb21wb25lbnQvZGlhbG9nL3RyYW5zYWN0aW9uLWxpbmUvZGlhbG9nLXRyYW5zYWN0aW9uLWxpbmUtY29tbWlzc2lvbi1jb2RlL2RpYWxvZy10cmFuc2FjdGlvbi1saW5lLWNvbW1pc3Npb24tY29kZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4vdHJhbnNhY3Rpb24uc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWFsb2dTZXJ2aWNlIHtcclxuXHJcbiAgLy8gcHJpdmF0ZSBfY29tcG9uZW50UmVmOiBhbnk7XHJcbiAgcHJpdmF0ZSBfY29tcG9uZW50UmVmczogYW55W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9jb21wRmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNob3dZZXNObyh0aXRsZTogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgY29uc3QgZGF0YToge30gPSB7XHJcbiAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgdGV4dDogdGV4dCxcclxuICAgICAgdHlwZTogQXBwUG9wdXBUeXBlLkNvbmZpcm1hdGlvblxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5fY3JlYXRlQ29tcG9uZW50KENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwgZGF0YSk7XHJcbiAgICByZXR1cm4gcmVzcG9uc2UgPT09IEFwcFBvcHVwQnV0dG9uVHlwZS5ZZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0Vycm9yKG1lc3NhZ2U6IHN0cmluZywgZGV0YWlscz86IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICBjb25zdCBkYXRhOiBhbnkgPSB7XHJcbiAgICAgIHRpdGxlOiAnRVJST1InLFxyXG4gICAgICB0ZXh0OiBtZXNzYWdlLFxyXG4gICAgICB0eXBlOiBBcHBQb3B1cFR5cGUuRXJyb3JcclxuICAgIH07XHJcbiAgICBpZiAoZGV0YWlscykge1xyXG4gICAgICBkYXRhLmRldGFpbHMgPSBkZXRhaWxzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUNvbXBvbmVudChDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dJbmZvcm1hdGlvbihtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgY29uc3QgZGF0YToge30gPSB7XHJcbiAgICAgIHRpdGxlOiAnSU5GT1JNQVRJT04nLFxyXG4gICAgICB0ZXh0OiBtZXNzYWdlLFxyXG4gICAgICB0eXBlOiBBcHBQb3B1cFR5cGUuSW5mb3JtYXRpb25cclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlQ29tcG9uZW50KENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0NoYXJhY3RlcmlzdGljcyh0aXRsZTogc3RyaW5nLCBjaG9pY2VzOiBUcmFuc2FjdGlvbkxpbmVDaGFyYWN0ZXJpc3RpY0Nob2ljZVtdLCB2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IGRhdGE6IHt9ID0ge1xyXG4gICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgIGNob2ljZXM6IGNob2ljZXMsXHJcbiAgICAgIHZhbHVlOiB2YWx1ZVxyXG4gICAgfTtcclxuICAgIHJldHVybiB0aGlzLl9jcmVhdGVDb21wb25lbnQoQ2hhcmFjdGVyaXN0aWNBbnN3ZXJDb21wb25lbnQsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dXYXJlaG91c2UoKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIGNvbnN0IGRhdGE6IHt9ID0ge1xyXG4gICAgICB1c2VNb2RlbDogZmFsc2VcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlQ29tcG9uZW50KERpYWxvZ1RyYW5zYWN0aW9uTGluZVdhcmVob3VzZUNvbXBvbmVudCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0NvbW1pc3Npb25Db2RlKCk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBjb25zdCBkYXRhOiB7fSA9IHtcclxuICAgICAgdXNlTW9kZWw6IGZhbHNlXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUNvbXBvbmVudChEaWFsb2dUcmFuc2FjdGlvbkxpbmVDb21taXNzaW9uQ29kZUNvbXBvbmVudCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVDb21wb25lbnQoY29tcG9uZW50Q2xhc3M6IGFueSwgZGF0YTogYW55LCBwcm92aWRlcnM/OiBTdGF0aWNQcm92aWRlcltdKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24pID0+IHtcclxuICAgICAgaWYgKHByb3ZpZGVycykge1xyXG4gICAgICAgIEluamVjdG9yLmNyZWF0ZShwcm92aWRlcnMsIHRoaXMuaW5qZWN0b3IpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuX2NvbXBGYWN0b3J5UmVzb2x2ZXJcclxuICAgICAgICAucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50Q2xhc3MpXHJcbiAgICAgICAgLmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcclxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmcy5wdXNoKGNvbXBvbmVudFJlZik7XHJcbiAgICAgIGZvciAobGV0IGtleSBpbiBkYXRhKSB7XHJcbiAgICAgICAgaWYgKGRhdGEuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlW2tleV0gPSBkYXRhW2tleV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcblxyXG4gICAgICBjb25zdCBkb21FbGVtID0gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55PilcclxuICAgICAgICAucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtKTtcclxuICAgICAgY29tcG9uZW50UmVmLm9uRGVzdHJveSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLm9uQ2xvc2UgPSAoYnV0dG9uOiBhbnksIG91dHB1dD86IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGlkeDogbnVtYmVyID0gdGhpcy5fY29tcG9uZW50UmVmcy5pbmRleE9mKGNvbXBvbmVudFJlZik7XHJcbiAgICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xyXG4gICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZnNbaWR4XSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLl9jb21wb25lbnRSZWZzLnNwbGljZShpZHgsIDEpO1xyXG4gICAgICAgIHJlc29sdmUob3V0cHV0ID8gb3V0cHV0IDogYnV0dG9uKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2Qsd0JBQXdCLEVBRXhCLFVBQVUsRUFDVixRQUFRLEVBR1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDckYsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDM0csT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBRXhFLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHlGQUF5RixDQUFDO0FBQ3RJLE9BQU8sRUFBQyx1Q0FBdUMsRUFBQyxNQUFNLG9IQUFvSCxDQUFDO0FBQzNLLE9BQU8sRUFBQyw0Q0FBNEMsRUFBQyxNQUFNLGdJQUFnSSxDQUFDO0FBQzVMLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFDTCwrQ0FBK0MsRUFDaEQsTUFBTSxzSUFBc0ksQ0FBQzs7O0FBUTlJLE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQ1Usb0JBQThDLEVBQzlDLE1BQXNCLEVBQ3RCLFFBQWtCLEVBQ2xCLHVCQUFnRDtRQUhoRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTBCO1FBQzlDLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQU5sRCxtQkFBYyxHQUFVLEVBQUUsQ0FBQztJQVFuQyxDQUFDO0lBRVksU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFZOztZQUNoRCxNQUFNLElBQUksR0FBTztnQkFDZixLQUFLLEVBQUUsS0FB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ZixcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgRW1iZWRkZWRWaWV3UmVmLFxyXG4gIEluamVjdGFibGUsXHJcbiAgSW5qZWN0b3IsXHJcbiAgU3RhdGljUHJvdmlkZXIsXHJcbiAgVHlwZVxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QXBwUG9wdXBCdXR0b25UeXBlfSBmcm9tIFwiLi4vY29tcG9uZW50L2NvcmUvZW51bS9hcHAtcG9wdXAtYnV0dG9uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge0NvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudH0gZnJvbSBcIi4uL2NvbXBvbmVudC9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7QXBwUG9wdXBUeXBlfSBmcm9tIFwiLi4vY29tcG9uZW50L2NvcmUvZW51bS9hcHAtcG9wdXAtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lQ2hhcmFjdGVyaXN0aWNDaG9pY2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb25MaW5lQ2hhcmFjdGVyaXN0aWNDaG9pY2UuYm9cIjtcclxuaW1wb3J0IHtDaGFyYWN0ZXJpc3RpY0Fuc3dlckNvbXBvbmVudH0gZnJvbSBcIi4uL2NvbXBvbmVudC9jb3JlL2Jhc2UvY29tcG9uZW50cy9jaGFyYWN0ZXJpc3RpYy1hbnN3ZXIvY2hhcmFjdGVyaXN0aWMtYW5zd2VyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0RpYWxvZ1RyYW5zYWN0aW9uTGluZVdhcmVob3VzZUNvbXBvbmVudH0gZnJvbSBcIi4uL2NvbXBvbmVudC9kaWFsb2cvdHJhbnNhY3Rpb24tbGluZS9kaWFsb2ctdHJhbnNhY3Rpb24tbGluZS13YXJlaG91c2UvZGlhbG9nLXRyYW5zYWN0aW9uLWxpbmUtd2FyZWhvdXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0RpYWxvZ1RyYW5zYWN0aW9uTGluZUNvbW1pc3Npb25Db2RlQ29tcG9uZW50fSBmcm9tIFwiLi4vY29tcG9uZW50L2RpYWxvZy90cmFuc2FjdGlvbi1saW5lL2RpYWxvZy10cmFuc2FjdGlvbi1saW5lLWNvbW1pc3Npb24tY29kZS9kaWFsb2ctdHJhbnNhY3Rpb24tbGluZS1jb21taXNzaW9uLWNvZGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7RHluYW1pY0NvbXBvbmVudFNlcnZpY2V9IGZyb20gXCIuL2R5bmFtaWMtY29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtcclxuICBEaWFsb2dUcmFuc2FjdGlvbkxpbmVXYXJlaG91c2VMb2NhdGlvbkNvbXBvbmVudFxyXG59IGZyb20gXCIuLi9jb21wb25lbnQvZGlhbG9nL3RyYW5zYWN0aW9uLWxpbmUvZGlhbG9nLXRyYW5zYWN0aW9uLWxpbmUtd2FyZWhvdXNlLWxvY2F0aW9uL2RpYWxvZy10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZS1sb2NhdGlvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby5ib1wiO1xyXG5pbXBvcnQge0RpYWxvZ0Jhc2VDb21wb25lbnR9IGZyb20gXCIuLi9jb21wb25lbnQvY29yZS9iYXNlL2RpYWxvZy1iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIF9jb21wb25lbnRSZWZzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2NvbXBGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBkeW5hbWljQ29tcG9uZW50U2VydmljZTogRHluYW1pY0NvbXBvbmVudFNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBzaG93WWVzTm8odGl0bGU6IHN0cmluZywgdGV4dDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGNvbnN0IGRhdGE6IHt9ID0ge1xyXG4gICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgIHRleHQ6IHRleHQsXHJcbiAgICAgIHR5cGU6IEFwcFBvcHVwVHlwZS5Db25maXJtYXRpb25cclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwgZGF0YSk7XHJcbiAgICByZXR1cm4gcmVzcG9uc2UgPT09IEFwcFBvcHVwQnV0dG9uVHlwZS5ZZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0Vycm9yKG1lc3NhZ2U6IHN0cmluZywgZGV0YWlscz86IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICBjb25zdCBkYXRhOiBhbnkgPSB7XHJcbiAgICAgIHRpdGxlOiAnRVJST1InLFxyXG4gICAgICB0ZXh0OiBtZXNzYWdlLFxyXG4gICAgICB0eXBlOiBBcHBQb3B1cFR5cGUuRXJyb3JcclxuICAgIH07XHJcbiAgICBpZiAoZGV0YWlscykge1xyXG4gICAgICBkYXRhLmRldGFpbHMgPSBkZXRhaWxzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0luZm9ybWF0aW9uKG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICBjb25zdCBkYXRhOiB7fSA9IHtcclxuICAgICAgdGl0bGU6ICdJTkZPUk1BVElPTicsXHJcbiAgICAgIHRleHQ6IG1lc3NhZ2UsXHJcbiAgICAgIHR5cGU6IEFwcFBvcHVwVHlwZS5JbmZvcm1hdGlvblxyXG4gICAgfTtcclxuICAgIHJldHVybiB0aGlzLmR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dUcmFuc2FjdGlvbkxpbmVDb21wb25lbnQoY29tcDogVHlwZTxEaWFsb2dCYXNlQ29tcG9uZW50PiwgdHJhbnNMaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKSB7XHJcbiAgICBjb25zdCBkYXRhOiB7fSA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25MaW5lOiB0cmFuc0xpbmVcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChjb21wLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93VHJhbnNhY3Rpb25IZWFkZXJDb21wb25lbnQoY29tcDogVHlwZTxEaWFsb2dCYXNlQ29tcG9uZW50PiwgdHJhbnNhY3Rpb25JbmZvOiBUcmFuc2FjdGlvbkluZm8pIHtcclxuICAgIGNvbnN0IGRhdGE6IHt9ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvbkluZm86IHRyYW5zYWN0aW9uSW5mb1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KGNvbXAsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dDaGFyYWN0ZXJpc3RpY3ModGl0bGU6IHN0cmluZywgY2hvaWNlczogVHJhbnNhY3Rpb25MaW5lQ2hhcmFjdGVyaXN0aWNDaG9pY2VbXSwgdmFsdWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBjb25zdCBkYXRhOiB7fSA9IHtcclxuICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICBjaG9pY2VzOiBjaG9pY2VzLFxyXG4gICAgICB2YWx1ZTogdmFsdWVcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5keW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVDb21wb25lbnQoQ2hhcmFjdGVyaXN0aWNBbnN3ZXJDb21wb25lbnQsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dXYXJlaG91c2UoKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIGNvbnN0IGRhdGE6IHt9ID0ge1xyXG4gICAgICB1c2VNb2RlbDogZmFsc2VcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5keW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVDb21wb25lbnQoRGlhbG9nVHJhbnNhY3Rpb25MaW5lV2FyZWhvdXNlQ29tcG9uZW50LCBkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93Q29tbWlzc2lvbkNvZGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IGRhdGE6IHt9ID0ge1xyXG4gICAgICB1c2VNb2RlbDogZmFsc2VcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5keW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVDb21wb25lbnQoRGlhbG9nVHJhbnNhY3Rpb25MaW5lQ29tbWlzc2lvbkNvZGVDb21wb25lbnQsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dXYXJlaG91c2VMb2NhdGlvbigpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgY29uc3QgZGF0YToge30gPSB7XHJcbiAgICAgIHVzZU1vZGVsOiBmYWxzZVxyXG4gICAgfTtcclxuICAgIHJldHVybiB0aGlzLmR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChEaWFsb2dUcmFuc2FjdGlvbkxpbmVXYXJlaG91c2VMb2NhdGlvbkNvbXBvbmVudCwgZGF0YSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ApplicationRef, ComponentFactoryResolver, Injectable, Injector } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DynamicComponentService {
|
|
4
|
+
constructor(_compFactoryResolver, appRef, injector) {
|
|
5
|
+
this._compFactoryResolver = _compFactoryResolver;
|
|
6
|
+
this.appRef = appRef;
|
|
7
|
+
this.injector = injector;
|
|
8
|
+
this._componentRefs = [];
|
|
9
|
+
}
|
|
10
|
+
createComponent(componentClass, inputs, outputs, providers) {
|
|
11
|
+
return new Promise((resolve) => {
|
|
12
|
+
if (providers) {
|
|
13
|
+
Injector.create(providers, this.injector);
|
|
14
|
+
}
|
|
15
|
+
const componentRef = this._compFactoryResolver
|
|
16
|
+
.resolveComponentFactory(componentClass)
|
|
17
|
+
.create(this.injector);
|
|
18
|
+
this._componentRefs.push(componentRef);
|
|
19
|
+
if (inputs) {
|
|
20
|
+
for (let property in inputs) {
|
|
21
|
+
if (inputs.hasOwnProperty(property)) {
|
|
22
|
+
componentRef.instance[property] = inputs[property];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (outputs) {
|
|
27
|
+
for (let event in outputs) {
|
|
28
|
+
if (outputs.hasOwnProperty(event)) {
|
|
29
|
+
componentRef.instance[event].subscribe(() => outputs[event]());
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
this.appRef.attachView(componentRef.hostView);
|
|
34
|
+
const domElem = componentRef.hostView
|
|
35
|
+
.rootNodes[0];
|
|
36
|
+
document.body.appendChild(domElem);
|
|
37
|
+
componentRef.onDestroy(() => {
|
|
38
|
+
this.appRef.detachView(componentRef.hostView);
|
|
39
|
+
});
|
|
40
|
+
componentRef.instance.onClose = (button, output) => {
|
|
41
|
+
const idx = this._componentRefs.indexOf(componentRef);
|
|
42
|
+
this.appRef.detachView(componentRef.hostView);
|
|
43
|
+
this._componentRefs[idx] = undefined;
|
|
44
|
+
this._componentRefs.splice(idx, 1);
|
|
45
|
+
if (outputs) {
|
|
46
|
+
for (let event in outputs) {
|
|
47
|
+
if (outputs.hasOwnProperty(event)) {
|
|
48
|
+
componentRef.instance[event].unsubscribe();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
resolve(output ? output : button);
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
DynamicComponentService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DynamicComponentService_Factory() { return new DynamicComponentService(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i0.INJECTOR)); }, token: DynamicComponentService, providedIn: "root" });
|
|
58
|
+
DynamicComponentService.decorators = [
|
|
59
|
+
{ type: Injectable, args: [{
|
|
60
|
+
providedIn: "root"
|
|
61
|
+
},] }
|
|
62
|
+
];
|
|
63
|
+
DynamicComponentService.ctorParameters = () => [
|
|
64
|
+
{ type: ComponentFactoryResolver },
|
|
65
|
+
{ type: ApplicationRef },
|
|
66
|
+
{ type: Injector }
|
|
67
|
+
];
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS9keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2Qsd0JBQXdCLEVBRXhCLFVBQVUsRUFDVixRQUFRLEVBRVQsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsWUFDVSxvQkFBOEMsRUFDOUMsTUFBc0IsRUFDdEIsUUFBa0I7UUFGbEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUEwQjtRQUM5QyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBTHBCLG1CQUFjLEdBQVUsRUFBRSxDQUFDO0lBTS9CLENBQUM7SUFFRSxlQUFlLENBQUMsY0FBbUIsRUFBRSxNQUFZLEVBQUUsT0FBYSxFQUFFLFNBQTRCO1FBQ25HLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLEVBQUU7WUFDdkMsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzNDO1lBQ0QsTUFBTSxZQUFZLEdBQVEsSUFBSSxDQUFDLG9CQUFvQjtpQkFDaEQsdUJBQXVCLENBQUMsY0FBYyxDQUFDO2lCQUN2QyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRXZDLElBQUksTUFBTSxFQUFFO2dCQUNWLEtBQUssSUFBSSxRQUFRLElBQUksTUFBTSxFQUFFO29CQUMzQixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7d0JBQ25DLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3FCQUNwRDtpQkFDRjthQUNGO1lBRUQsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsS0FBSyxJQUFJLEtBQUssSUFBSSxPQUFPLEVBQUU7b0JBQ3pCLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRTt3QkFDakMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDaEU7aUJBQ0Y7YUFDRjtZQUVELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUU5QyxNQUFNLE9BQU8sR0FBSSxZQUFZLENBQUMsUUFBaUM7aUJBQzVELFNBQVMsQ0FBQyxDQUFDLENBQWdCLENBQUM7WUFFL0IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxDQUFDLENBQUMsQ0FBQztZQUVILFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsTUFBVyxFQUFFLE1BQVksRUFBRSxFQUFFO2dCQUM1RCxNQUFNLEdBQUcsR0FBVyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDOUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUVuQyxJQUFJLE9BQU8sRUFBRTtvQkFDWCxLQUFLLElBQUksS0FBSyxJQUFJLE9BQU8sRUFBRTt3QkFDekIsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFOzRCQUNqQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO3lCQUM1QztxQkFDRjtpQkFDRjtnQkFDRCxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BDLENBQUMsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7OztZQWpFRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVRDLHdCQUF3QjtZQUR4QixjQUFjO1lBSWQsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQXBwbGljYXRpb25SZWYsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIEVtYmVkZGVkVmlld1JlZixcclxuICBJbmplY3RhYmxlLFxyXG4gIEluamVjdG9yLFxyXG4gIFN0YXRpY1Byb3ZpZGVyXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudFNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIF9jb21wb25lbnRSZWZzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2NvbXBGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIGNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRDbGFzczogYW55LCBpbnB1dHM/OiBhbnksIG91dHB1dHM/OiBhbnksIHByb3ZpZGVycz86IFN0YXRpY1Byb3ZpZGVyW10pOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICBpZiAocHJvdmlkZXJzKSB7XHJcbiAgICAgICAgSW5qZWN0b3IuY3JlYXRlKHByb3ZpZGVycywgdGhpcy5pbmplY3Rvcik7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgY29tcG9uZW50UmVmOiBhbnkgPSB0aGlzLl9jb21wRmFjdG9yeVJlc29sdmVyXHJcbiAgICAgICAgLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudENsYXNzKVxyXG4gICAgICAgIC5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZnMucHVzaChjb21wb25lbnRSZWYpO1xyXG5cclxuICAgICAgaWYgKGlucHV0cykge1xyXG4gICAgICAgIGZvciAobGV0IHByb3BlcnR5IGluIGlucHV0cykge1xyXG4gICAgICAgICAgaWYgKGlucHV0cy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkpIHtcclxuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlW3Byb3BlcnR5XSA9IGlucHV0c1twcm9wZXJ0eV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAob3V0cHV0cykge1xyXG4gICAgICAgIGZvciAobGV0IGV2ZW50IGluIG91dHB1dHMpIHtcclxuICAgICAgICAgIGlmIChvdXRwdXRzLmhhc093blByb3BlcnR5KGV2ZW50KSkge1xyXG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2VbZXZlbnRdLnN1YnNjcmliZSgoKSA9PiBvdXRwdXRzW2V2ZW50XSgpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcclxuXHJcbiAgICAgIGNvbnN0IGRvbUVsZW0gPSAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KVxyXG4gICAgICAgIC5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xyXG4gICAgICBjb21wb25lbnRSZWYub25EZXN0cm95KCgpID0+IHtcclxuICAgICAgICB0aGlzLmFwcFJlZi5kZXRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLm9uQ2xvc2UgPSAoYnV0dG9uOiBhbnksIG91dHB1dD86IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGlkeDogbnVtYmVyID0gdGhpcy5fY29tcG9uZW50UmVmcy5pbmRleE9mKGNvbXBvbmVudFJlZik7XHJcbiAgICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xyXG4gICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZnNbaWR4XSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLl9jb21wb25lbnRSZWZzLnNwbGljZShpZHgsIDEpO1xyXG5cclxuICAgICAgICBpZiAob3V0cHV0cykge1xyXG4gICAgICAgICAgZm9yIChsZXQgZXZlbnQgaW4gb3V0cHV0cykge1xyXG4gICAgICAgICAgICBpZiAob3V0cHV0cy5oYXNPd25Qcm9wZXJ0eShldmVudCkpIHtcclxuICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2VbZXZlbnRdLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzb2x2ZShvdXRwdXQgPyBvdXRwdXQgOiBidXR0b24pO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iXX0=
|