@valtimo/connector-management 4.15.3-next-main.16 → 4.17.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/bundles/valtimo-connector-management.umd.js +2072 -2054
- package/bundles/valtimo-connector-management.umd.js.map +1 -1
- package/bundles/valtimo-connector-management.umd.min.js +2 -2
- package/bundles/valtimo-connector-management.umd.min.js.map +1 -1
- package/esm2015/lib/components/add-connector/add-connector.component.js +83 -83
- package/esm2015/lib/components/connector-link-extension/connector-link-extension.component.js +104 -104
- package/esm2015/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.js +138 -138
- package/esm2015/lib/components/connector-management/connector-management.component.js +103 -103
- package/esm2015/lib/components/connector-modal/connector-modal.component.js +58 -58
- package/esm2015/lib/components/edit-connector-form/edit-connector-form.component.js +42 -42
- package/esm2015/lib/components/edit-connector-properties/edit-connector-properties.component.js +144 -144
- package/esm2015/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.js +157 -157
- package/esm2015/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.form.js +500 -500
- package/esm2015/lib/components/modify-connector/modify-connector.component.js +75 -75
- package/esm2015/lib/components/multi-value-connector-property/multi-value-connector-property.component.js +96 -96
- package/esm2015/lib/connector-management-routing.js +41 -41
- package/esm2015/lib/connector-management.module.js +74 -74
- package/esm2015/lib/extension/connector-management.extension.init.js +39 -39
- package/esm2015/lib/models/connector.model.js +1 -0
- package/esm2015/lib/models/index.js +20 -0
- package/esm2015/lib/models/object-sync.js +1 -0
- package/esm2015/lib/services/connector-management/connector-management.service.js +60 -60
- package/esm2015/lib/services/connector-management-state/connector-management-state.service.js +83 -83
- package/esm2015/lib/services/object-api-sync/object-api-sync.service.js +51 -51
- package/esm2015/public-api.js +33 -32
- package/esm2015/valtimo-connector-management.js +8 -8
- package/fesm2015/valtimo-connector-management.js +1747 -1730
- package/fesm2015/valtimo-connector-management.js.map +1 -1
- package/lib/components/add-connector/add-connector.component.d.ts +26 -26
- package/lib/components/connector-link-extension/connector-link-extension.component.d.ts +25 -25
- package/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.d.ts +40 -40
- package/lib/components/connector-management/connector-management.component.d.ts +29 -28
- package/lib/components/connector-modal/connector-modal.component.d.ts +16 -16
- package/lib/components/edit-connector-form/edit-connector-form.component.d.ts +15 -15
- package/lib/components/edit-connector-properties/edit-connector-properties.component.d.ts +35 -35
- package/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.d.ts +45 -45
- package/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.form.d.ts +225 -225
- package/lib/components/modify-connector/modify-connector.component.d.ts +19 -19
- package/lib/components/multi-value-connector-property/multi-value-connector-property.component.d.ts +26 -26
- package/lib/connector-management-routing.d.ts +2 -2
- package/lib/connector-management.module.d.ts +2 -2
- package/lib/extension/connector-management.extension.init.d.ts +2 -2
- package/lib/models/connector.model.d.ts +36 -0
- package/lib/models/index.d.ts +2 -0
- package/lib/models/object-sync.d.ts +19 -0
- package/lib/services/connector-management/connector-management.service.d.ts +18 -17
- package/lib/services/connector-management-state/connector-management-state.service.d.ts +26 -26
- package/lib/services/object-api-sync/object-api-sync.service.d.ts +14 -14
- package/package.json +1 -1
- package/public-api.d.ts +14 -13
- package/valtimo-connector-management.d.ts +7 -7
- package/valtimo-connector-management.metadata.json +1 -1
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component } from '@angular/core';
|
|
17
|
-
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
18
|
-
import { take } from 'rxjs/operators';
|
|
19
|
-
import { AlertService } from '@valtimo/components';
|
|
20
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
21
|
-
import { ConnectorManagementService } from '../../services/connector-management/connector-management.service';
|
|
22
|
-
import { ConnectorManagementStateService } from '../../services/connector-management-state/connector-management-state.service';
|
|
23
|
-
export class AddConnectorComponent {
|
|
24
|
-
constructor(connectorManagementService, stateService, alertService, translateService) {
|
|
25
|
-
this.connectorManagementService = connectorManagementService;
|
|
26
|
-
this.stateService = stateService;
|
|
27
|
-
this.alertService = alertService;
|
|
28
|
-
this.translateService = translateService;
|
|
29
|
-
this.connectorTypes$ = this.connectorManagementService.getConnectorTypes();
|
|
30
|
-
this.selectedConnector$ = new BehaviorSubject(undefined);
|
|
31
|
-
this.disabled$ = this.stateService.inputDisabled$;
|
|
32
|
-
}
|
|
33
|
-
ngOnInit() {
|
|
34
|
-
this.refreshSubscription = combineLatest([
|
|
35
|
-
this.stateService.showModal$,
|
|
36
|
-
this.stateService.refresh$,
|
|
37
|
-
]).subscribe(() => {
|
|
38
|
-
this.goBack();
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
ngOnDestroy() {
|
|
42
|
-
var _a;
|
|
43
|
-
(_a = this.refreshSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
44
|
-
}
|
|
45
|
-
selectConnector(connectorType) {
|
|
46
|
-
this.selectedConnector$.next(connectorType);
|
|
47
|
-
}
|
|
48
|
-
goBack() {
|
|
49
|
-
this.selectedConnector$.next(undefined);
|
|
50
|
-
}
|
|
51
|
-
onSave(event) {
|
|
52
|
-
this.selectedConnector$.pipe(take(1)).subscribe(selectedConnectorType => {
|
|
53
|
-
this.connectorManagementService
|
|
54
|
-
.createConnectorInstance({
|
|
55
|
-
name: event.name,
|
|
56
|
-
typeId: selectedConnectorType.id,
|
|
57
|
-
connectorProperties: event.properties,
|
|
58
|
-
})
|
|
59
|
-
.subscribe(() => {
|
|
60
|
-
this.alertService.success(this.translateService.instant('connectorManagement.messages.addSuccess'));
|
|
61
|
-
this.stateService.hideModal();
|
|
62
|
-
this.stateService.enableInput();
|
|
63
|
-
this.stateService.refresh();
|
|
64
|
-
}, () => {
|
|
65
|
-
this.stateService.enableInput();
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
AddConnectorComponent.decorators = [
|
|
71
|
-
{ type: Component, args: [{
|
|
72
|
-
selector: 'valtimo-add-connector',
|
|
73
|
-
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"connectorTypes$ | async as connectorTypes; else loading\">\n <ng-container *ngIf=\"(selectedConnector$ | async) === undefined; else configure\">\n <p class=\"lead\">\n {{\n 'connectorManagement.' +\n (connectorTypes?.length > 0 ? 'addHeader' : 'noConnectorsAvailable') | translate\n }}\n </p>\n <div class=\"cards-container mt-3\">\n <div *ngFor=\"let connectorType of connectorTypes\" class=\"card card-border text-center\">\n <div class=\"card-header\">{{ connectorType.name }}</div>\n <div class=\"card-body\">\n <button class=\"btn btn-primary\" (click)=\"selectConnector(connectorType)\">\n {{ 'connectorManagement.configureButton' | translate }}\n </button>\n </div>\n </div>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #configure>\n <ng-container *ngIf=\"selectedConnector$ | async as connector\">\n <button\n class=\"btn btn-outline-secondary btn-sm btn-back\"\n (click)=\"goBack()\"\n [disabled]=\"disabled$ | async\"\n >\n <i class=\"icon mdi mdi-arrow-left mr-1\"></i>\n {{ 'connectorManagement.goBack' | translate }}\n </button>\n <p class=\"lead text-center mb-3 pb-3 border-bottom\">\n {{ ('connectorManagement.configureWith' | translate) + ' ' + connector.name }}\n </p>\n <valtimo-edit-connector-form\n [connectorName]=\"connector.name\"\n [properties]=\"(selectedConnector$ | async).properties\"\n (propertiesSave)=\"onSave($event)\"\n >\n </valtimo-edit-connector-form>\n </ng-container>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n",
|
|
74
|
-
styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{margin-right:30px;width:calc(33.3% - 20px)}.card:nth-child(3n+3){margin-right:0}.card-header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"]
|
|
75
|
-
},] }
|
|
76
|
-
];
|
|
77
|
-
AddConnectorComponent.ctorParameters = () => [
|
|
78
|
-
{ type: ConnectorManagementService },
|
|
79
|
-
{ type: ConnectorManagementStateService },
|
|
80
|
-
{ type: AlertService },
|
|
81
|
-
{ type: TranslateService }
|
|
82
|
-
];
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Component } from '@angular/core';
|
|
17
|
+
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
18
|
+
import { take } from 'rxjs/operators';
|
|
19
|
+
import { AlertService } from '@valtimo/components';
|
|
20
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
21
|
+
import { ConnectorManagementService } from '../../services/connector-management/connector-management.service';
|
|
22
|
+
import { ConnectorManagementStateService } from '../../services/connector-management-state/connector-management-state.service';
|
|
23
|
+
export class AddConnectorComponent {
|
|
24
|
+
constructor(connectorManagementService, stateService, alertService, translateService) {
|
|
25
|
+
this.connectorManagementService = connectorManagementService;
|
|
26
|
+
this.stateService = stateService;
|
|
27
|
+
this.alertService = alertService;
|
|
28
|
+
this.translateService = translateService;
|
|
29
|
+
this.connectorTypes$ = this.connectorManagementService.getConnectorTypes();
|
|
30
|
+
this.selectedConnector$ = new BehaviorSubject(undefined);
|
|
31
|
+
this.disabled$ = this.stateService.inputDisabled$;
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
this.refreshSubscription = combineLatest([
|
|
35
|
+
this.stateService.showModal$,
|
|
36
|
+
this.stateService.refresh$,
|
|
37
|
+
]).subscribe(() => {
|
|
38
|
+
this.goBack();
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
ngOnDestroy() {
|
|
42
|
+
var _a;
|
|
43
|
+
(_a = this.refreshSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
44
|
+
}
|
|
45
|
+
selectConnector(connectorType) {
|
|
46
|
+
this.selectedConnector$.next(connectorType);
|
|
47
|
+
}
|
|
48
|
+
goBack() {
|
|
49
|
+
this.selectedConnector$.next(undefined);
|
|
50
|
+
}
|
|
51
|
+
onSave(event) {
|
|
52
|
+
this.selectedConnector$.pipe(take(1)).subscribe(selectedConnectorType => {
|
|
53
|
+
this.connectorManagementService
|
|
54
|
+
.createConnectorInstance({
|
|
55
|
+
name: event.name,
|
|
56
|
+
typeId: selectedConnectorType.id,
|
|
57
|
+
connectorProperties: event.properties,
|
|
58
|
+
})
|
|
59
|
+
.subscribe(() => {
|
|
60
|
+
this.alertService.success(this.translateService.instant('connectorManagement.messages.addSuccess'));
|
|
61
|
+
this.stateService.hideModal();
|
|
62
|
+
this.stateService.enableInput();
|
|
63
|
+
this.stateService.refresh();
|
|
64
|
+
}, () => {
|
|
65
|
+
this.stateService.enableInput();
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
AddConnectorComponent.decorators = [
|
|
71
|
+
{ type: Component, args: [{
|
|
72
|
+
selector: 'valtimo-add-connector',
|
|
73
|
+
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"connectorTypes$ | async as connectorTypes; else loading\">\n <ng-container *ngIf=\"(selectedConnector$ | async) === undefined; else configure\">\n <p class=\"lead\">\n {{\n 'connectorManagement.' +\n (connectorTypes?.length > 0 ? 'addHeader' : 'noConnectorsAvailable') | translate\n }}\n </p>\n <div class=\"cards-container mt-3\">\n <div *ngFor=\"let connectorType of connectorTypes\" class=\"card card-border text-center\">\n <div class=\"card-header\">{{ connectorType.name }}</div>\n <div class=\"card-body\">\n <button class=\"btn btn-primary\" (click)=\"selectConnector(connectorType)\">\n {{ 'connectorManagement.configureButton' | translate }}\n </button>\n </div>\n </div>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #configure>\n <ng-container *ngIf=\"selectedConnector$ | async as connector\">\n <button\n class=\"btn btn-outline-secondary btn-sm btn-back\"\n (click)=\"goBack()\"\n [disabled]=\"disabled$ | async\"\n >\n <i class=\"icon mdi mdi-arrow-left mr-1\"></i>\n {{ 'connectorManagement.goBack' | translate }}\n </button>\n <p class=\"lead text-center mb-3 pb-3 border-bottom\">\n {{ ('connectorManagement.configureWith' | translate) + ' ' + connector.name }}\n </p>\n <valtimo-edit-connector-form\n [connectorName]=\"connector.name\"\n [properties]=\"(selectedConnector$ | async).properties\"\n (propertiesSave)=\"onSave($event)\"\n >\n </valtimo-edit-connector-form>\n </ng-container>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n",
|
|
74
|
+
styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{margin-right:30px;width:calc(33.3% - 20px)}.card:nth-child(3n+3){margin-right:0}.card-header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"]
|
|
75
|
+
},] }
|
|
76
|
+
];
|
|
77
|
+
AddConnectorComponent.ctorParameters = () => [
|
|
78
|
+
{ type: ConnectorManagementService },
|
|
79
|
+
{ type: ConnectorManagementStateService },
|
|
80
|
+
{ type: AlertService },
|
|
81
|
+
{ type: TranslateService }
|
|
82
|
+
];
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNvbm5lY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL3RtcC9qZW5raW5zLTNmZjNhMTlhL3dvcmtzcGFjZS9yb250ZW5kX2xpYnJhcmllc18tX3JlbGVhc2VfbWFpbi9wcm9qZWN0cy92YWx0aW1vL2Nvbm5lY3Rvci1tYW5hZ2VtZW50L3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FkZC1jb25uZWN0b3IvYWRkLWNvbm5lY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBMkIsTUFBTSxNQUFNLENBQUM7QUFFOUUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUM1RyxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQU83SCxNQUFNLE9BQU8scUJBQXFCO0lBVWhDLFlBQ21CLDBCQUFzRCxFQUN0RCxZQUE2QyxFQUM3QyxZQUEwQixFQUMxQixnQkFBa0M7UUFIbEMsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN0RCxpQkFBWSxHQUFaLFlBQVksQ0FBaUM7UUFDN0MsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWI1QyxvQkFBZSxHQUN0QixJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUU3Qyx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsU0FBUyxDQUFDLENBQUM7UUFZMUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxhQUFhLENBQUM7WUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVO1lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUTtTQUMzQixDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNoQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVzs7UUFDVCxNQUFBLElBQUksQ0FBQyxtQkFBbUIsMENBQUUsV0FBVyxHQUFHO0lBQzFDLENBQUM7SUFFRCxlQUFlLENBQUMsYUFBNEI7UUFDMUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFzRDtRQUMzRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO1lBQ3RFLElBQUksQ0FBQywwQkFBMEI7aUJBQzVCLHVCQUF1QixDQUFDO2dCQUN2QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7Z0JBQ2hCLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxFQUFFO2dCQUNoQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsVUFBVTthQUN0QyxDQUFDO2lCQUNELFNBQVMsQ0FDUixHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMseUNBQXlDLENBQUMsQ0FDekUsQ0FBQztnQkFDRixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzlCLENBQUMsRUFDRCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsQyxDQUFDLENBQ0YsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBbkVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyw2MEVBQTZDOzthQUU5Qzs7O1lBUE8sMEJBQTBCO1lBQzFCLCtCQUErQjtZQUgvQixZQUFZO1lBQ1osZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb25uZWN0b3JQcm9wZXJ0aWVzLCBDb25uZWN0b3JUeXBlfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0FsZXJ0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDb25uZWN0b3JNYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29ubmVjdG9yLW1hbmFnZW1lbnQvY29ubmVjdG9yLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQge0Nvbm5lY3Rvck1hbmFnZW1lbnRTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nvbm5lY3Rvci1tYW5hZ2VtZW50LXN0YXRlL2Nvbm5lY3Rvci1tYW5hZ2VtZW50LXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWFkZC1jb25uZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWNvbm5lY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkZC1jb25uZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRkQ29ubmVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICByZWFkb25seSBjb25uZWN0b3JUeXBlcyQ6IE9ic2VydmFibGU8QXJyYXk8Q29ubmVjdG9yVHlwZT4+ID1cbiAgICB0aGlzLmNvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlLmdldENvbm5lY3RvclR5cGVzKCk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRDb25uZWN0b3IkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDb25uZWN0b3JUeXBlPih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkJCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSByZWZyZXNoU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2U6IENvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZGlzYWJsZWQkID0gdGhpcy5zdGF0ZVNlcnZpY2UuaW5wdXREaXNhYmxlZCQ7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZnJlc2hTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNob3dNb2RhbCQsXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5yZWZyZXNoJCxcbiAgICBdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5nb0JhY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHNlbGVjdENvbm5lY3Rvcihjb25uZWN0b3JUeXBlOiBDb25uZWN0b3JUeXBlKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZENvbm5lY3RvciQubmV4dChjb25uZWN0b3JUeXBlKTtcbiAgfVxuXG4gIGdvQmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29ubmVjdG9yJC5uZXh0KHVuZGVmaW5lZCk7XG4gIH1cblxuICBvblNhdmUoZXZlbnQ6IHtwcm9wZXJ0aWVzOiBDb25uZWN0b3JQcm9wZXJ0aWVzOyBuYW1lOiBzdHJpbmd9KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZENvbm5lY3RvciQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoc2VsZWN0ZWRDb25uZWN0b3JUeXBlID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2VcbiAgICAgICAgLmNyZWF0ZUNvbm5lY3Rvckluc3RhbmNlKHtcbiAgICAgICAgICBuYW1lOiBldmVudC5uYW1lLFxuICAgICAgICAgIHR5cGVJZDogc2VsZWN0ZWRDb25uZWN0b3JUeXBlLmlkLFxuICAgICAgICAgIGNvbm5lY3RvclByb3BlcnRpZXM6IGV2ZW50LnByb3BlcnRpZXMsXG4gICAgICAgIH0pXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcyhcbiAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Nvbm5lY3Rvck1hbmFnZW1lbnQubWVzc2FnZXMuYWRkU3VjY2VzcycpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuaGlkZU1vZGFsKCk7XG4gICAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5lbmFibGVJbnB1dCgpO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVmcmVzaCgpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuZW5hYmxlSW5wdXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2015/lib/components/connector-link-extension/connector-link-extension.component.js
CHANGED
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component } from '@angular/core';
|
|
17
|
-
import { BehaviorSubject, combineLatest, of } from 'rxjs';
|
|
18
|
-
import { catchError, map, switchMap, tap } from 'rxjs/operators';
|
|
19
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
20
|
-
import { ActivatedRoute } from '@angular/router';
|
|
21
|
-
import { AlertService } from '@valtimo/components';
|
|
22
|
-
import { ConnectorManagementStateService } from '../../services/connector-management-state/connector-management-state.service';
|
|
23
|
-
import { ObjectApiSyncService } from '../../services/object-api-sync/object-api-sync.service';
|
|
24
|
-
import { ConnectorManagementService } from '../../services/connector-management/connector-management.service';
|
|
25
|
-
export class ConnectorLinkExtensionComponent {
|
|
26
|
-
constructor(stateService, objectApiSyncService, translateService, route, alertService, connectorManagementService) {
|
|
27
|
-
this.stateService = stateService;
|
|
28
|
-
this.objectApiSyncService = objectApiSyncService;
|
|
29
|
-
this.translateService = translateService;
|
|
30
|
-
this.route = route;
|
|
31
|
-
this.alertService = alertService;
|
|
32
|
-
this.connectorManagementService = connectorManagementService;
|
|
33
|
-
this.loading$ = new BehaviorSubject(true);
|
|
34
|
-
this.objectApiSyncConfig$ = combineLatest([
|
|
35
|
-
this.route.params,
|
|
36
|
-
this.translateService.stream('key'),
|
|
37
|
-
this.stateService.refresh$,
|
|
38
|
-
]).pipe(switchMap(([params]) => this.objectApiSyncService.getObjectSyncConfigs(params.name)), switchMap(configs => combineLatest([
|
|
39
|
-
of(configs),
|
|
40
|
-
...configs.map(config => this.connectorManagementService
|
|
41
|
-
.getConnectorInstanceById(config.connectorInstanceId)
|
|
42
|
-
.pipe(catchError(() => of('')))),
|
|
43
|
-
])), map(results => {
|
|
44
|
-
const [, ...instances] = results.filter(result => result);
|
|
45
|
-
return results[0].map(syncConfig => {
|
|
46
|
-
var _a;
|
|
47
|
-
return (Object.assign(Object.assign({}, syncConfig), { title: ((_a = instances.find(instance => instance.id === syncConfig.connectorInstanceId)) === null || _a === void 0 ? void 0 : _a.name) ||
|
|
48
|
-
'Objects API' }));
|
|
49
|
-
});
|
|
50
|
-
}), map(results => (Array.isArray(results) && results.length > 0 ? results[0] : null)), tap(() => {
|
|
51
|
-
this.loading$.next(false);
|
|
52
|
-
}));
|
|
53
|
-
this.disabled$ = this.stateService.inputDisabled$;
|
|
54
|
-
}
|
|
55
|
-
ngOnDestroy() {
|
|
56
|
-
this.stateService.hideExtensionModal();
|
|
57
|
-
}
|
|
58
|
-
openModal() {
|
|
59
|
-
this.stateService.showExtensionModal();
|
|
60
|
-
}
|
|
61
|
-
toggleSync(config) {
|
|
62
|
-
this.stateService.disableInput();
|
|
63
|
-
this.objectApiSyncService
|
|
64
|
-
.modifyObjectSyncConfig(Object.assign(Object.assign({}, config), { enabled: !config.enabled }))
|
|
65
|
-
.subscribe(() => {
|
|
66
|
-
if (!config.enabled) {
|
|
67
|
-
this.alertService.success(this.translateService.instant('connectorManagement.extension.addSyncSuccess'));
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
this.alertService.success(this.translateService.instant('connectorManagement.extension.disableSyncSuccess'));
|
|
71
|
-
}
|
|
72
|
-
this.stateService.enableInput();
|
|
73
|
-
this.stateService.refresh();
|
|
74
|
-
}, () => {
|
|
75
|
-
this.stateService.enableInput();
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
deleteSync(configId) {
|
|
79
|
-
this.stateService.disableInput();
|
|
80
|
-
this.objectApiSyncService.deleteObjectSyncConfig(configId).subscribe(() => {
|
|
81
|
-
this.alertService.success(this.translateService.instant('connectorManagement.extension.deleteSyncSuccess'));
|
|
82
|
-
this.stateService.enableInput();
|
|
83
|
-
this.stateService.refresh();
|
|
84
|
-
}, () => {
|
|
85
|
-
this.stateService.enableInput();
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
ConnectorLinkExtensionComponent.decorators = [
|
|
90
|
-
{ type: Component, args: [{
|
|
91
|
-
selector: 'valtimo-connector-link-extension',
|
|
92
|
-
template: "<h2 class=\"mb-4 mt-6\">{{ 'connectorManagement.extension.title' | translate }}</h2>\n\n<ng-container\n *ngIf=\"{\n syncConfig: objectApiSyncConfig$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container *ngIf=\"obs.syncConfig; else addSync\">\n <div class=\"card card-border card-contrast\">\n <div class=\"card-header card-header-contrast card-header-featured\">\n <div>\n {{ obs.syncConfig.title }}\n </div>\n <div class=\"controls\">\n <button\n class=\"btn btn-danger ml-3\"\n [disabled]=\"obs.disabled\"\n (click)=\"deleteSync(obs.syncConfig.id)\"\n >\n <i class=\"fa fa-trash\"></i>\n </button>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"setting-row\">\n Automatisch zaakdetails synchroniseren\n <div class=\"controls\">\n <div class=\"switch-button switch-button-success\">\n <input\n type=\"checkbox\"\n [checked]=\"obs.syncConfig.enabled\"\n [disabled]=\"obs.disabled\"\n name=\"sync\"\n id=\"sync\"\n (click)=\"toggleSync(obs.syncConfig)\"\n />\n <span><label for=\"sync\"></label></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<valtimo-connector-link-extension-modal></valtimo-connector-link-extension-modal>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n\n<ng-template #addSync>\n <div class=\"text-right mt-5\">\n <button class=\"btn btn-primary\" (click)=\"openModal()\" [disabled]=\"disabled$ | async\">\n <i class=\"icon mdi mdi-plus\"></i> \n {{ 'connectorManagement.extension.buttonText' | translate }}\n </button>\n </div>\n</ng-template>\n",
|
|
93
|
-
styles: [".card-header,.setting-row{flex-direction:row;justify-content:space-between}.card-header,.controls,.setting-row{align-items:center;display:flex}"]
|
|
94
|
-
},] }
|
|
95
|
-
];
|
|
96
|
-
ConnectorLinkExtensionComponent.ctorParameters = () => [
|
|
97
|
-
{ type: ConnectorManagementStateService },
|
|
98
|
-
{ type: ObjectApiSyncService },
|
|
99
|
-
{ type: TranslateService },
|
|
100
|
-
{ type: ActivatedRoute },
|
|
101
|
-
{ type: AlertService },
|
|
102
|
-
{ type: ConnectorManagementService }
|
|
103
|
-
];
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLWxpbmstZXh0ZW5zaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJEOi9Xb3Jrc3BhY2UvdmFsdGltby92YWx0aW1vLWZyb250ZW5kLWxpYnJhcmllcy9wcm9qZWN0cy92YWx0aW1vL2Nvbm5lY3Rvci1tYW5hZ2VtZW50L3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Nvbm5lY3Rvci1saW5rLWV4dGVuc2lvbi9jb25uZWN0b3ItbGluay1leHRlbnNpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFRLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDN0gsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDNUYsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFPNUcsTUFBTSxPQUFPLCtCQUErQjtJQW9DMUMsWUFDbUIsWUFBNkMsRUFDN0Msb0JBQTBDLEVBQzFDLGdCQUFrQyxFQUNsQyxLQUFxQixFQUNyQixZQUEwQixFQUMxQiwwQkFBc0Q7UUFMdEQsaUJBQVksR0FBWixZQUFZLENBQWlDO1FBQzdDLHlCQUFvQixHQUFwQixvQkFB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dCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwLCB0YWtlLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtBbGVydFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtDb25uZWN0b3JJbnN0YW5jZSwgT2JqZWN0U3luY0NvbmZpZ30gZnJvbSAnQHZhbHRpbW8vY29udHJhY3QnO1xuaW1wb3J0IHtDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7T2JqZWN0QXBpU3luY1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29iamVjdC1hcGktc3luYy9vYmplY3QtYXBpLXN5bmMuc2VydmljZSc7XG5pbXBvcnQge0Nvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25uZWN0b3ItbWFuYWdlbWVudC9jb25uZWN0b3ItbWFuYWdlbWVudC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1jb25uZWN0b3ItbGluay1leHRlbnNpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29ubmVjdG9yLWxpbmstZXh0ZW5zaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29ubmVjdG9yLWxpbmstZXh0ZW5zaW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbm5lY3RvckxpbmtFeHRlbnNpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0QXBpU3luY0NvbmZpZyQ6IE9ic2VydmFibGU8T2JqZWN0U3luY0NvbmZpZyB8IG51bGw+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5yb3V0ZS5wYXJhbXMsXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVmcmVzaCQsXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbcGFyYW1zXSkgPT4gdGhpcy5vYmplY3RBcGlTeW5jU2VydmljZS5nZXRPYmplY3RTeW5jQ29uZmlncyhwYXJhbXMubmFtZSkpLFxuICAgIHN3aXRjaE1hcChjb25maWdzID0+XG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgb2YoY29uZmlncyksXG4gICAgICAgIC4uLmNvbmZpZ3MubWFwKGNvbmZpZyA9PlxuICAgICAgICAgIHRoaXMuY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRDb25uZWN0b3JJbnN0YW5jZUJ5SWQoY29uZmlnLmNvbm5lY3Rvckluc3RhbmNlSWQpXG4gICAgICAgICAgICAucGlwZShjYXRjaEVycm9yKCgpID0+IG9mKCcnKSkpXG4gICAgICAgICksXG4gICAgICBdKVxuICAgICksXG4gICAgbWFwKHJlc3VsdHMgPT4ge1xuICAgICAgY29uc3QgWywgLi4uaW5zdGFuY2VzXSA9IHJlc3VsdHMuZmlsdGVyKHJlc3VsdCA9PiByZXN1bHQpIGFzIEFycmF5PENvbm5lY3Rvckluc3RhbmNlPjtcbiAgICAgIHJldHVybiAocmVzdWx0c1swXSBhcyBBcnJheTxPYmplY3RTeW5jQ29uZmlnPikubWFwKHN5bmNDb25maWcgPT4gKHtcbiAgICAgICAgLi4uc3luY0NvbmZpZyxcbiAgICAgICAgdGl0bGU6XG4gICAgICAgICAgaW5zdGFuY2VzLmZpbmQoaW5zdGFuY2UgPT4gaW5zdGFuY2UuaWQgPT09IHN5bmNDb25maWcuY29ubmVjdG9ySW5zdGFuY2VJZCk/Lm5hbWUgfHxcbiAgICAgICAgICAnT2JqZWN0cyBBUEknLFxuICAgICAgfSkpO1xuICAgIH0pLFxuICAgIG1hcChyZXN1bHRzID0+IChBcnJheS5pc0FycmF5KHJlc3VsdHMpICYmIHJlc3VsdHMubGVuZ3RoID4gMCA/IHJlc3VsdHNbMF0gOiBudWxsKSksXG4gICAgdGFwKCgpID0+IHtcbiAgICAgIHRoaXMubG9hZGluZyQubmV4dChmYWxzZSk7XG4gICAgfSlcbiAgKTtcblxuICByZWFkb25seSBkaXNhYmxlZCQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2JqZWN0QXBpU3luY1NlcnZpY2U6IE9iamVjdEFwaVN5bmNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2U6IENvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZGlzYWJsZWQkID0gdGhpcy5zdGF0ZVNlcnZpY2UuaW5wdXREaXNhYmxlZCQ7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5oaWRlRXh0ZW5zaW9uTW9kYWwoKTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zaG93RXh0ZW5zaW9uTW9kYWwoKTtcbiAgfVxuXG4gIHRvZ2dsZVN5bmMoY29uZmlnOiBPYmplY3RTeW5jQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuZGlzYWJsZUlucHV0KCk7XG5cbiAgICB0aGlzLm9iamVjdEFwaVN5bmNTZXJ2aWNlXG4gICAgICAubW9kaWZ5T2JqZWN0U3luY0NvbmZpZyh7Li4uY29uZmlnLCBlbmFibGVkOiAhY29uZmlnLmVuYWJsZWR9KVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGlmICghY29uZmlnLmVuYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoXG4gICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb25uZWN0b3JNYW5hZ2VtZW50LmV4dGVuc2lvbi5hZGRTeW5jU3VjY2VzcycpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKFxuICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29ubmVjdG9yTWFuYWdlbWVudC5leHRlbnNpb24uZGlzYWJsZVN5bmNTdWNjZXNzJylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmVuYWJsZUlucHV0KCk7XG4gICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVmcmVzaCgpO1xuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuZW5hYmxlSW5wdXQoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIGRlbGV0ZVN5bmMoY29uZmlnSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmRpc2FibGVJbnB1dCgpO1xuXG4gICAgdGhpcy5vYmplY3RBcGlTeW5jU2VydmljZS5kZWxldGVPYmplY3RTeW5jQ29uZmlnKGNvbmZpZ0lkKS5zdWJzY3JpYmUoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Nvbm5lY3Rvck1hbmFnZW1lbnQuZXh0ZW5zaW9uLmRlbGV0ZVN5bmNTdWNjZXNzJylcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuZW5hYmxlSW5wdXQoKTtcbiAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVmcmVzaCgpO1xuICAgICAgfSxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuZW5hYmxlSW5wdXQoKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iXX0=
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Component } from '@angular/core';
|
|
17
|
+
import { BehaviorSubject, combineLatest, of } from 'rxjs';
|
|
18
|
+
import { catchError, map, switchMap, tap } from 'rxjs/operators';
|
|
19
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
20
|
+
import { ActivatedRoute } from '@angular/router';
|
|
21
|
+
import { AlertService } from '@valtimo/components';
|
|
22
|
+
import { ConnectorManagementStateService } from '../../services/connector-management-state/connector-management-state.service';
|
|
23
|
+
import { ObjectApiSyncService } from '../../services/object-api-sync/object-api-sync.service';
|
|
24
|
+
import { ConnectorManagementService } from '../../services/connector-management/connector-management.service';
|
|
25
|
+
export class ConnectorLinkExtensionComponent {
|
|
26
|
+
constructor(stateService, objectApiSyncService, translateService, route, alertService, connectorManagementService) {
|
|
27
|
+
this.stateService = stateService;
|
|
28
|
+
this.objectApiSyncService = objectApiSyncService;
|
|
29
|
+
this.translateService = translateService;
|
|
30
|
+
this.route = route;
|
|
31
|
+
this.alertService = alertService;
|
|
32
|
+
this.connectorManagementService = connectorManagementService;
|
|
33
|
+
this.loading$ = new BehaviorSubject(true);
|
|
34
|
+
this.objectApiSyncConfig$ = combineLatest([
|
|
35
|
+
this.route.params,
|
|
36
|
+
this.translateService.stream('key'),
|
|
37
|
+
this.stateService.refresh$,
|
|
38
|
+
]).pipe(switchMap(([params]) => this.objectApiSyncService.getObjectSyncConfigs(params.name)), switchMap(configs => combineLatest([
|
|
39
|
+
of(configs),
|
|
40
|
+
...configs.map(config => this.connectorManagementService
|
|
41
|
+
.getConnectorInstanceById(config.connectorInstanceId)
|
|
42
|
+
.pipe(catchError(() => of('')))),
|
|
43
|
+
])), map(results => {
|
|
44
|
+
const [, ...instances] = results.filter(result => result);
|
|
45
|
+
return results[0].map(syncConfig => {
|
|
46
|
+
var _a;
|
|
47
|
+
return (Object.assign(Object.assign({}, syncConfig), { title: ((_a = instances.find(instance => instance.id === syncConfig.connectorInstanceId)) === null || _a === void 0 ? void 0 : _a.name) ||
|
|
48
|
+
'Objects API' }));
|
|
49
|
+
});
|
|
50
|
+
}), map(results => (Array.isArray(results) && results.length > 0 ? results[0] : null)), tap(() => {
|
|
51
|
+
this.loading$.next(false);
|
|
52
|
+
}));
|
|
53
|
+
this.disabled$ = this.stateService.inputDisabled$;
|
|
54
|
+
}
|
|
55
|
+
ngOnDestroy() {
|
|
56
|
+
this.stateService.hideExtensionModal();
|
|
57
|
+
}
|
|
58
|
+
openModal() {
|
|
59
|
+
this.stateService.showExtensionModal();
|
|
60
|
+
}
|
|
61
|
+
toggleSync(config) {
|
|
62
|
+
this.stateService.disableInput();
|
|
63
|
+
this.objectApiSyncService
|
|
64
|
+
.modifyObjectSyncConfig(Object.assign(Object.assign({}, config), { enabled: !config.enabled }))
|
|
65
|
+
.subscribe(() => {
|
|
66
|
+
if (!config.enabled) {
|
|
67
|
+
this.alertService.success(this.translateService.instant('connectorManagement.extension.addSyncSuccess'));
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
this.alertService.success(this.translateService.instant('connectorManagement.extension.disableSyncSuccess'));
|
|
71
|
+
}
|
|
72
|
+
this.stateService.enableInput();
|
|
73
|
+
this.stateService.refresh();
|
|
74
|
+
}, () => {
|
|
75
|
+
this.stateService.enableInput();
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
deleteSync(configId) {
|
|
79
|
+
this.stateService.disableInput();
|
|
80
|
+
this.objectApiSyncService.deleteObjectSyncConfig(configId).subscribe(() => {
|
|
81
|
+
this.alertService.success(this.translateService.instant('connectorManagement.extension.deleteSyncSuccess'));
|
|
82
|
+
this.stateService.enableInput();
|
|
83
|
+
this.stateService.refresh();
|
|
84
|
+
}, () => {
|
|
85
|
+
this.stateService.enableInput();
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
ConnectorLinkExtensionComponent.decorators = [
|
|
90
|
+
{ type: Component, args: [{
|
|
91
|
+
selector: 'valtimo-connector-link-extension',
|
|
92
|
+
template: "<h2 class=\"mb-4 mt-6\">{{ 'connectorManagement.extension.title' | translate }}</h2>\n\n<ng-container\n *ngIf=\"{\n syncConfig: objectApiSyncConfig$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container *ngIf=\"obs.syncConfig; else addSync\">\n <div class=\"card card-border card-contrast\">\n <div class=\"card-header card-header-contrast card-header-featured\">\n <div>\n {{ obs.syncConfig.title }}\n </div>\n <div class=\"controls\">\n <button\n class=\"btn btn-danger ml-3\"\n [disabled]=\"obs.disabled\"\n (click)=\"deleteSync(obs.syncConfig.id)\"\n >\n <i class=\"fa fa-trash\"></i>\n </button>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"setting-row\">\n Automatisch zaakdetails synchroniseren\n <div class=\"controls\">\n <div class=\"switch-button switch-button-success\">\n <input\n type=\"checkbox\"\n [checked]=\"obs.syncConfig.enabled\"\n [disabled]=\"obs.disabled\"\n name=\"sync\"\n id=\"sync\"\n (click)=\"toggleSync(obs.syncConfig)\"\n />\n <span><label for=\"sync\"></label></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<valtimo-connector-link-extension-modal></valtimo-connector-link-extension-modal>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n\n<ng-template #addSync>\n <div class=\"text-right mt-5\">\n <button class=\"btn btn-primary\" (click)=\"openModal()\" [disabled]=\"disabled$ | async\">\n <i class=\"icon mdi mdi-plus\"></i> \n {{ 'connectorManagement.extension.buttonText' | translate }}\n </button>\n </div>\n</ng-template>\n",
|
|
93
|
+
styles: [".card-header,.setting-row{flex-direction:row;justify-content:space-between}.card-header,.controls,.setting-row{align-items:center;display:flex}"]
|
|
94
|
+
},] }
|
|
95
|
+
];
|
|
96
|
+
ConnectorLinkExtensionComponent.ctorParameters = () => [
|
|
97
|
+
{ type: ConnectorManagementStateService },
|
|
98
|
+
{ type: ObjectApiSyncService },
|
|
99
|
+
{ type: TranslateService },
|
|
100
|
+
{ type: ActivatedRoute },
|
|
101
|
+
{ type: AlertService },
|
|
102
|
+
{ type: ConnectorManagementService }
|
|
103
|
+
];
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLWxpbmstZXh0ZW5zaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvdG1wL2plbmtpbnMtM2ZmM2ExOWEvd29ya3NwYWNlL3JvbnRlbmRfbGlicmFyaWVzXy1fcmVsZWFzZV9tYWluL3Byb2plY3RzL3ZhbHRpbW8vY29ubmVjdG9yLW1hbmFnZW1lbnQvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY29ubmVjdG9yLWxpbmstZXh0ZW5zaW9uL2Nvbm5lY3Rvci1saW5rLWV4dGVuc2lvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwRSxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQVEsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUM3SCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM1RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQU81RyxNQUFNLE9BQU8sK0JBQStCO0lBb0MxQyxZQUNtQixZQUE2QyxFQUM3QyxvQkFBMEMsRUFDMUMsZ0JBQWtDLEVBQ2xDLEtBQXFCLEVBQ3JCLFlBQTBCLEVBQzFCLDBCQUFzRDtRQUx0RCxpQkFBWSxHQUFaLFlBQVksQ0FBaUM7UUFDN0MseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUF6Q2hFLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUU5Qyx5QkFBb0IsR0FBd0MsYUFBYSxDQUFDO1lBQ2pGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtZQUNqQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVE7U0FDM0IsQ0FBQyxDQUFDLElBQUksQ0FDTCxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ3BGLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUNsQixhQUFhLENBQUM7WUFDWixFQUFFLENBQUMsT0FBTyxDQUFDO1lBQ1gsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ3RCLElBQUksQ0FBQywwQkFBMEI7aUJBQzVCLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQztpQkFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUNsQztTQUNGLENBQUMsQ0FDSCxFQUNELEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNaLE1BQU0sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBNkIsQ0FBQztZQUN0RixPQUFRLE9BQU8sQ0FBQyxDQUFDLENBQTZCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFOztnQkFBQyxPQUFBLGlDQUM1RCxVQUFVLEtBQ2IsS0FBSyxFQUNILE9BQUEsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLG1CQUFtQixDQUFDLDBDQUFFLElBQUk7d0JBQ2hGLGFBQWEsSUFDZixDQUFBO2FBQUEsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ2xGLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBWUEsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQXdCO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFakMsSUFBSSxDQUFDLG9CQUFvQjthQUN0QixzQkFBc0IsaUNBQUssTUFBTSxLQUFFLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUU7YUFDN0QsU0FBUyxDQUNSLEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyw4Q0FBOEMsQ0FBQyxDQUM5RSxDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsa0RBQWtELENBQUMsQ0FDbEYsQ0FBQzthQUNIO1lBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlCLENBQUMsRUFDRCxHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUFnQjtRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWpDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQ2xFLEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGlEQUFpRCxDQUFDLENBQ2pGLENBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUIsQ0FBQyxFQUNELEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDOzs7WUFwR0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQ0FBa0M7Z0JBQzVDLHFsRUFBd0Q7O2FBRXpEOzs7WUFSTywrQkFBK0I7WUFDL0Isb0JBQW9CO1lBTHBCLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsWUFBWTtZQUlaLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0FsZXJ0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0Nvbm5lY3Rvckluc3RhbmNlLCBPYmplY3RTeW5jQ29uZmlnfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7T2JqZWN0QXBpU3luY1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29iamVjdC1hcGktc3luYy9vYmplY3QtYXBpLXN5bmMuc2VydmljZSc7XG5pbXBvcnQge0Nvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25uZWN0b3ItbWFuYWdlbWVudC9jb25uZWN0b3ItbWFuYWdlbWVudC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1jb25uZWN0b3ItbGluay1leHRlbnNpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29ubmVjdG9yLWxpbmstZXh0ZW5zaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29ubmVjdG9yLWxpbmstZXh0ZW5zaW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbm5lY3RvckxpbmtFeHRlbnNpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0QXBpU3luY0NvbmZpZyQ6IE9ic2VydmFibGU8T2JqZWN0U3luY0NvbmZpZyB8IG51bGw+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5yb3V0ZS5wYXJhbXMsXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVmcmVzaCQsXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbcGFyYW1zXSkgPT4gdGhpcy5vYmplY3RBcGlTeW5jU2VydmljZS5nZXRPYmplY3RTeW5jQ29uZmlncyhwYXJhbXMubmFtZSkpLFxuICAgIHN3aXRjaE1hcChjb25maWdzID0+XG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgb2YoY29uZmlncyksXG4gICAgICAgIC4uLmNvbmZpZ3MubWFwKGNvbmZpZyA9PlxuICAgICAgICAgIHRoaXMuY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRDb25uZWN0b3JJbnN0YW5jZUJ5SWQoY29uZmlnLmNvbm5lY3Rvckluc3RhbmNlSWQpXG4gICAgICAgICAgICAucGlwZShjYXRjaEVycm9yKCgpID0+IG9mKCcnKSkpXG4gICAgICAgICksXG4gICAgICBdKVxuICAgICksXG4gICAgbWFwKHJlc3VsdHMgPT4ge1xuICAgICAgY29uc3QgWywgLi4uaW5zdGFuY2VzXSA9IHJlc3VsdHMuZmlsdGVyKHJlc3VsdCA9PiByZXN1bHQpIGFzIEFycmF5PENvbm5lY3Rvckluc3RhbmNlPjtcbiAgICAgIHJldHVybiAocmVzdWx0c1swXSBhcyBBcnJheTxPYmplY3RTeW5jQ29uZmlnPikubWFwKHN5bmNDb25maWcgPT4gKHtcbiAgICAgICAgLi4uc3luY0NvbmZpZyxcbiAgICAgICAgdGl0bGU6XG4gICAgICAgICAgaW5zdGFuY2VzLmZpbmQoaW5zdGFuY2UgPT4gaW5zdGFuY2UuaWQgPT09IHN5bmNDb25maWcuY29ubmVjdG9ySW5zdGFuY2VJZCk/Lm5hbWUgfHxcbiAgICAgICAgICAnT2JqZWN0cyBBUEknLFxuICAgICAgfSkpO1xuICAgIH0pLFxuICAgIG1hcChyZXN1bHRzID0+IChBcnJheS5pc0FycmF5KHJlc3VsdHMpICYmIHJlc3VsdHMubGVuZ3RoID4gMCA/IHJlc3VsdHNbMF0gOiBudWxsKSksXG4gICAgdGFwKCgpID0+IHtcbiAgICAgIHRoaXMubG9hZGluZyQubmV4dChmYWxzZSk7XG4gICAgfSlcbiAgKTtcblxuICByZWFkb25seSBkaXNhYmxlZCQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2JqZWN0QXBpU3luY1NlcnZpY2U6IE9iamVjdEFwaVN5bmNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2U6IENvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZGlzYWJsZWQkID0gdGhpcy5zdGF0ZVNlcnZpY2UuaW5wdXREaXNhYmxlZCQ7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5oaWRlRXh0ZW5zaW9uTW9kYWwoKTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zaG93RXh0ZW5zaW9uTW9kYWwoKTtcbiAgfVxuXG4gIHRvZ2dsZVN5bmMoY29uZmlnOiBPYmplY3RTeW5jQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuZGlzYWJsZUlucHV0KCk7XG5cbiAgICB0aGlzLm9iamVjdEFwaVN5bmNTZXJ2aWNlXG4gICAgICAubW9kaWZ5T2JqZWN0U3luY0NvbmZpZyh7Li4uY29uZmlnLCBlbmFibGVkOiAhY29uZmlnLmVuYWJsZWR9KVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGlmICghY29uZmlnLmVuYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoXG4gICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb25uZWN0b3JNYW5hZ2VtZW50LmV4dGVuc2lvbi5hZGRTeW5jU3VjY2VzcycpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKFxuICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29ubmVjdG9yTWFuYWdlbWVudC5leHRlbnNpb24uZGlzYWJsZVN5bmNTdWNjZXNzJylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmVuYWJsZUlucHV0KCk7XG4gICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVmcmVzaCgpO1xuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuZW5hYmxlSW5wdXQoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIGRlbGV0ZVN5bmMoY29uZmlnSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmRpc2FibGVJbnB1dCgpO1xuXG4gICAgdGhpcy5vYmplY3RBcGlTeW5jU2VydmljZS5kZWxldGVPYmplY3RTeW5jQ29uZmlnKGNvbmZpZ0lkKS5zdWJzY3JpYmUoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Nvbm5lY3Rvck1hbmFnZW1lbnQuZXh0ZW5zaW9uLmRlbGV0ZVN5bmNTdWNjZXNzJylcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuZW5hYmxlSW5wdXQoKTtcbiAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVmcmVzaCgpO1xuICAgICAgfSxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuZW5hYmxlSW5wdXQoKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iXX0=
|