@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.
Files changed (52) hide show
  1. package/bundles/valtimo-connector-management.umd.js +2072 -2054
  2. package/bundles/valtimo-connector-management.umd.js.map +1 -1
  3. package/bundles/valtimo-connector-management.umd.min.js +2 -2
  4. package/bundles/valtimo-connector-management.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/add-connector/add-connector.component.js +83 -83
  6. package/esm2015/lib/components/connector-link-extension/connector-link-extension.component.js +104 -104
  7. package/esm2015/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.js +138 -138
  8. package/esm2015/lib/components/connector-management/connector-management.component.js +103 -103
  9. package/esm2015/lib/components/connector-modal/connector-modal.component.js +58 -58
  10. package/esm2015/lib/components/edit-connector-form/edit-connector-form.component.js +42 -42
  11. package/esm2015/lib/components/edit-connector-properties/edit-connector-properties.component.js +144 -144
  12. package/esm2015/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.js +157 -157
  13. package/esm2015/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.form.js +500 -500
  14. package/esm2015/lib/components/modify-connector/modify-connector.component.js +75 -75
  15. package/esm2015/lib/components/multi-value-connector-property/multi-value-connector-property.component.js +96 -96
  16. package/esm2015/lib/connector-management-routing.js +41 -41
  17. package/esm2015/lib/connector-management.module.js +74 -74
  18. package/esm2015/lib/extension/connector-management.extension.init.js +39 -39
  19. package/esm2015/lib/models/connector.model.js +1 -0
  20. package/esm2015/lib/models/index.js +20 -0
  21. package/esm2015/lib/models/object-sync.js +1 -0
  22. package/esm2015/lib/services/connector-management/connector-management.service.js +60 -60
  23. package/esm2015/lib/services/connector-management-state/connector-management-state.service.js +83 -83
  24. package/esm2015/lib/services/object-api-sync/object-api-sync.service.js +51 -51
  25. package/esm2015/public-api.js +33 -32
  26. package/esm2015/valtimo-connector-management.js +8 -8
  27. package/fesm2015/valtimo-connector-management.js +1747 -1730
  28. package/fesm2015/valtimo-connector-management.js.map +1 -1
  29. package/lib/components/add-connector/add-connector.component.d.ts +26 -26
  30. package/lib/components/connector-link-extension/connector-link-extension.component.d.ts +25 -25
  31. package/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.d.ts +40 -40
  32. package/lib/components/connector-management/connector-management.component.d.ts +29 -28
  33. package/lib/components/connector-modal/connector-modal.component.d.ts +16 -16
  34. package/lib/components/edit-connector-form/edit-connector-form.component.d.ts +15 -15
  35. package/lib/components/edit-connector-properties/edit-connector-properties.component.d.ts +35 -35
  36. package/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.d.ts +45 -45
  37. package/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.form.d.ts +225 -225
  38. package/lib/components/modify-connector/modify-connector.component.d.ts +19 -19
  39. package/lib/components/multi-value-connector-property/multi-value-connector-property.component.d.ts +26 -26
  40. package/lib/connector-management-routing.d.ts +2 -2
  41. package/lib/connector-management.module.d.ts +2 -2
  42. package/lib/extension/connector-management.extension.init.d.ts +2 -2
  43. package/lib/models/connector.model.d.ts +36 -0
  44. package/lib/models/index.d.ts +2 -0
  45. package/lib/models/object-sync.d.ts +19 -0
  46. package/lib/services/connector-management/connector-management.service.d.ts +18 -17
  47. package/lib/services/connector-management-state/connector-management-state.service.d.ts +26 -26
  48. package/lib/services/object-api-sync/object-api-sync.service.d.ts +14 -14
  49. package/package.json +1 -1
  50. package/public-api.d.ts +14 -13
  51. package/valtimo-connector-management.d.ts +7 -7
  52. 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNvbm5lY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovV29ya3NwYWNlL3ZhbHRpbW8vdmFsdGltby1mcm9udGVuZC1saWJyYXJpZXMvcHJvamVjdHMvdmFsdGltby9jb25uZWN0b3ItbWFuYWdlbWVudC9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hZGQtY29ubmVjdG9yL2FkZC1jb25uZWN0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQTJCLE1BQU0sTUFBTSxDQUFDO0FBRTlFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDNUcsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFPN0gsTUFBTSxPQUFPLHFCQUFxQjtJQVVoQyxZQUNtQiwwQkFBc0QsRUFDdEQsWUFBNkMsRUFDN0MsWUFBMEIsRUFDMUIsZ0JBQWtDO1FBSGxDLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsaUJBQVksR0FBWixZQUFZLENBQWlDO1FBQzdDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFiNUMsb0JBQWUsR0FDdEIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFN0MsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBQWdCLFNBQVMsQ0FBQyxDQUFDO1FBWTFFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUM7SUFDcEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsbUJBQW1CLEdBQUcsYUFBYSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVTtZQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVE7U0FDM0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7O1FBQ1QsTUFBQSxJQUFJLENBQUMsbUJBQW1CLDBDQUFFLFdBQVcsR0FBRztJQUMxQyxDQUFDO0lBRUQsZUFBZSxDQUFDLGFBQTRCO1FBQzFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBc0Q7UUFDM0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsRUFBRTtZQUN0RSxJQUFJLENBQUMsMEJBQTBCO2lCQUM1Qix1QkFBdUIsQ0FBQztnQkFDdkIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2dCQUNoQixNQUFNLEVBQUUscUJBQXFCLENBQUMsRUFBRTtnQkFDaEMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLFVBQVU7YUFDdEMsQ0FBQztpQkFDRCxTQUFTLENBQ1IsR0FBRyxFQUFFO2dCQUNILElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLHlDQUF5QyxDQUFDLENBQ3pFLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM5QixDQUFDLEVBQ0QsR0FBRyxFQUFFO2dCQUNILElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbEMsQ0FBQyxDQUNGLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQW5FRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsNjBFQUE2Qzs7YUFFOUM7OztZQVBPLDBCQUEwQjtZQUMxQiwrQkFBK0I7WUFIL0IsWUFBWTtZQUNaLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q29ubmVjdG9yUHJvcGVydGllcywgQ29ubmVjdG9yVHlwZX0gZnJvbSAnQHZhbHRpbW8vY29udHJhY3QnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0FsZXJ0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDb25uZWN0b3JNYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29ubmVjdG9yLW1hbmFnZW1lbnQvY29ubmVjdG9yLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQge0Nvbm5lY3Rvck1hbmFnZW1lbnRTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nvbm5lY3Rvci1tYW5hZ2VtZW50LXN0YXRlL2Nvbm5lY3Rvci1tYW5hZ2VtZW50LXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWFkZC1jb25uZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWNvbm5lY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkZC1jb25uZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRkQ29ubmVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICByZWFkb25seSBjb25uZWN0b3JUeXBlcyQ6IE9ic2VydmFibGU8QXJyYXk8Q29ubmVjdG9yVHlwZT4+ID1cbiAgICB0aGlzLmNvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlLmdldENvbm5lY3RvclR5cGVzKCk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRDb25uZWN0b3IkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDb25uZWN0b3JUeXBlPih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkJCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSByZWZyZXNoU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2U6IENvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZGlzYWJsZWQkID0gdGhpcy5zdGF0ZVNlcnZpY2UuaW5wdXREaXNhYmxlZCQ7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZnJlc2hTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNob3dNb2RhbCQsXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5yZWZyZXNoJCxcbiAgICBdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5nb0JhY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHNlbGVjdENvbm5lY3Rvcihjb25uZWN0b3JUeXBlOiBDb25uZWN0b3JUeXBlKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZENvbm5lY3RvciQubmV4dChjb25uZWN0b3JUeXBlKTtcbiAgfVxuXG4gIGdvQmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29ubmVjdG9yJC5uZXh0KHVuZGVmaW5lZCk7XG4gIH1cblxuICBvblNhdmUoZXZlbnQ6IHtwcm9wZXJ0aWVzOiBDb25uZWN0b3JQcm9wZXJ0aWVzOyBuYW1lOiBzdHJpbmd9KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZENvbm5lY3RvciQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoc2VsZWN0ZWRDb25uZWN0b3JUeXBlID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2VcbiAgICAgICAgLmNyZWF0ZUNvbm5lY3Rvckluc3RhbmNlKHtcbiAgICAgICAgICBuYW1lOiBldmVudC5uYW1lLFxuICAgICAgICAgIHR5cGVJZDogc2VsZWN0ZWRDb25uZWN0b3JUeXBlLmlkLFxuICAgICAgICAgIGNvbm5lY3RvclByb3BlcnRpZXM6IGV2ZW50LnByb3BlcnRpZXMsXG4gICAgICAgIH0pXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcyhcbiAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Nvbm5lY3Rvck1hbmFnZW1lbnQubWVzc2FnZXMuYWRkU3VjY2VzcycpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuaGlkZU1vZGFsKCk7XG4gICAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5lbmFibGVJbnB1dCgpO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVmcmVzaCgpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuZW5hYmxlSW5wdXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
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==
@@ -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> &nbsp;\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> &nbsp;\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLWxpbmstZXh0ZW5zaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvdG1wL2plbmtpbnMtM2ZmM2ExOWEvd29ya3NwYWNlL3JvbnRlbmRfbGlicmFyaWVzXy1fcmVsZWFzZV9tYWluL3Byb2plY3RzL3ZhbHRpbW8vY29ubmVjdG9yLW1hbmFnZW1lbnQvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY29ubmVjdG9yLWxpbmstZXh0ZW5zaW9uL2Nvbm5lY3Rvci1saW5rLWV4dGVuc2lvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwRSxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQVEsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUM3SCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM1RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQU81RyxNQUFNLE9BQU8sK0JBQStCO0lBb0MxQyxZQUNtQixZQUE2QyxFQUM3QyxvQkFBMEMsRUFDMUMsZ0JBQWtDLEVBQ2xDLEtBQXFCLEVBQ3JCLFlBQTBCLEVBQzFCLDBCQUFzRDtRQUx0RCxpQkFBWSxHQUFaLFlBQVksQ0FBaUM7UUFDN0Ms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QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0FsZXJ0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0Nvbm5lY3Rvckluc3RhbmNlLCBPYmplY3RTeW5jQ29uZmlnfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7T2JqZWN0QXBpU3luY1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29iamVjdC1hcGktc3luYy9vYmplY3QtYXBpLXN5bmMuc2VydmljZSc7XG5pbXBvcnQge0Nvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25uZWN0b3ItbWFuYWdlbWVudC9jb25uZWN0b3ItbWFuYWdlbWVudC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1jb25uZWN0b3ItbGluay1leHRlbnNpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29ubmVjdG9yLWxpbmstZXh0ZW5zaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29ubmVjdG9yLWxpbmstZXh0ZW5zaW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbm5lY3RvckxpbmtFeHRlbnNpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0QXBpU3luY0NvbmZpZyQ6IE9ic2VydmFibGU8T2JqZWN0U3luY0NvbmZpZyB8IG51bGw+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5yb3V0ZS5wYXJhbXMsXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVmcmVzaCQsXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbcGFyYW1zXSkgPT4gdGhpcy5vYmplY3RBcGlTeW5jU2VydmljZS5nZXRPYmplY3RTeW5jQ29uZmlncyhwYXJhbXMubmFtZSkpLFxuICAgIHN3aXRjaE1hcChjb25maWdzID0+XG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgb2YoY29uZmlncyksXG4gICAgICAgIC4uLmNvbmZpZ3MubWFwKGNvbmZpZyA9PlxuICAgICAgICAgIHRoaXMuY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRDb25uZWN0b3JJbnN0YW5jZUJ5SWQoY29uZmlnLmNvbm5lY3Rvckluc3RhbmNlSWQpXG4gICAgICAgICAgICAucGlwZShjYXRjaEVycm9yKCgpID0+IG9mKCcnKSkpXG4gICAgICAgICksXG4gICAgICBdKVxuICAgICksXG4gICAgbWFwKHJlc3VsdHMgPT4ge1xuICAgICAgY29uc3QgWywgLi4uaW5zdGFuY2VzXSA9IHJlc3VsdHMuZmlsdGVyKHJlc3VsdCA9PiByZXN1bHQpIGFzIEFycmF5PENvbm5lY3Rvckluc3RhbmNlPjtcbiAgICAgIHJldHVybiAocmVzdWx0c1swXSBhcyBBcnJheTxPYmplY3RTeW5jQ29uZmlnPikubWFwKHN5bmNDb25maWcgPT4gKHtcbiAgICAgICAgLi4uc3luY0NvbmZpZyxcbiAgICAgICAgdGl0bGU6XG4gICAgICAgICAgaW5zdGFuY2VzLmZpbmQoaW5zdGFuY2UgPT4gaW5zdGFuY2UuaWQgPT09IHN5bmNDb25maWcuY29ubmVjdG9ySW5zdGFuY2VJZCk/Lm5hbWUgfHxcbiAgICAgICAgICAnT2JqZWN0cyBBUEknLFxuICAgICAgfSkpO1xuICAgIH0pLFxuICAgIG1hcChyZXN1bHRzID0+IChBcnJheS5pc0FycmF5KHJlc3VsdHMpICYmIHJlc3VsdHMubGVuZ3RoID4gMCA/IHJlc3VsdHNbMF0gOiBudWxsKSksXG4gICAgdGFwKCgpID0+IHtcbiAgICAgIHRoaXMubG9hZGluZyQubmV4dChmYWxzZSk7XG4gICAgfSlcbiAgKTtcblxuICByZWFkb25seSBkaXNhYmxlZCQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2JqZWN0QXBpU3luY1NlcnZpY2U6IE9iamVjdEFwaVN5bmNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2U6IENvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZGlzYWJsZWQkID0gdGhpcy5zdGF0ZVNlcnZpY2UuaW5wdXREaXNhYmxlZCQ7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5oaWRlRXh0ZW5zaW9uTW9kYWwoKTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zaG93RXh0ZW5zaW9uTW9kYWwoKTtcbiAgfVxuXG4gIHRvZ2dsZVN5bmMoY29uZmlnOiBPYmplY3RTeW5jQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuZGlzYWJsZUlucHV0KCk7XG5cbiAgICB0aGlzLm9iamVjdEFwaVN5bmNTZXJ2aWNlXG4gICAgICAubW9kaWZ5T2JqZWN0U3luY0NvbmZpZyh7Li4uY29uZmlnLCBlbmFibGVkOiAhY29uZmlnLmVuYWJsZWR9KVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGlmICghY29uZmlnLmVuYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoXG4gICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb25uZWN0b3JNYW5hZ2VtZW50LmV4dGVuc2lvbi5hZGRTeW5jU3VjY2VzcycpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKFxuICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29ubmVjdG9yTWFuYWdlbWVudC5leHRlbnNpb24uZGlzYWJsZVN5bmNTdWNjZXNzJylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmVuYWJsZUlucHV0KCk7XG4gICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVmcmVzaCgpO1xuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuZW5hYmxlSW5wdXQoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIGRlbGV0ZVN5bmMoY29uZmlnSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmRpc2FibGVJbnB1dCgpO1xuXG4gICAgdGhpcy5vYmplY3RBcGlTeW5jU2VydmljZS5kZWxldGVPYmplY3RTeW5jQ29uZmlnKGNvbmZpZ0lkKS5zdWJzY3JpYmUoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Nvbm5lY3Rvck1hbmFnZW1lbnQuZXh0ZW5zaW9uLmRlbGV0ZVN5bmNTdWNjZXNzJylcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuZW5hYmxlSW5wdXQoKTtcbiAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVmcmVzaCgpO1xuICAgICAgfSxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuZW5hYmxlSW5wdXQoKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iXX0=