@valtimo/connector-management 4.15.2-next-main.15 → 4.15.3-next-main.16

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 (47) hide show
  1. package/README.md +16 -7
  2. package/bundles/valtimo-connector-management.umd.js +2050 -1997
  3. package/bundles/valtimo-connector-management.umd.js.map +1 -1
  4. package/bundles/valtimo-connector-management.umd.min.js +1 -1
  5. package/bundles/valtimo-connector-management.umd.min.js.map +1 -1
  6. package/esm2015/lib/components/add-connector/add-connector.component.js +83 -79
  7. package/esm2015/lib/components/connector-link-extension/connector-link-extension.component.js +104 -95
  8. package/esm2015/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.js +138 -136
  9. package/esm2015/lib/components/connector-management/connector-management.component.js +103 -95
  10. package/esm2015/lib/components/connector-modal/connector-modal.component.js +58 -58
  11. package/esm2015/lib/components/edit-connector-form/edit-connector-form.component.js +42 -42
  12. package/esm2015/lib/components/edit-connector-properties/edit-connector-properties.component.js +144 -140
  13. package/esm2015/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.js +157 -150
  14. package/esm2015/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.form.js +500 -500
  15. package/esm2015/lib/components/modify-connector/modify-connector.component.js +75 -73
  16. package/esm2015/lib/components/multi-value-connector-property/multi-value-connector-property.component.js +96 -92
  17. package/esm2015/lib/connector-management-routing.js +41 -44
  18. package/esm2015/lib/connector-management.module.js +74 -76
  19. package/esm2015/lib/extension/connector-management.extension.init.js +39 -39
  20. package/esm2015/lib/services/connector-management/connector-management.service.js +60 -60
  21. package/esm2015/lib/services/connector-management-state/connector-management-state.service.js +83 -83
  22. package/esm2015/lib/services/object-api-sync/object-api-sync.service.js +51 -51
  23. package/esm2015/public-api.js +32 -32
  24. package/esm2015/valtimo-connector-management.js +8 -8
  25. package/fesm2015/valtimo-connector-management.js +1728 -1693
  26. package/fesm2015/valtimo-connector-management.js.map +1 -1
  27. package/lib/components/add-connector/add-connector.component.d.ts +26 -26
  28. package/lib/components/connector-link-extension/connector-link-extension.component.d.ts +25 -25
  29. package/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.d.ts +40 -40
  30. package/lib/components/connector-management/connector-management.component.d.ts +28 -28
  31. package/lib/components/connector-modal/connector-modal.component.d.ts +16 -16
  32. package/lib/components/edit-connector-form/edit-connector-form.component.d.ts +15 -15
  33. package/lib/components/edit-connector-properties/edit-connector-properties.component.d.ts +35 -35
  34. package/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.d.ts +45 -45
  35. package/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.form.d.ts +225 -225
  36. package/lib/components/modify-connector/modify-connector.component.d.ts +19 -19
  37. package/lib/components/multi-value-connector-property/multi-value-connector-property.component.d.ts +26 -26
  38. package/lib/connector-management-routing.d.ts +2 -2
  39. package/lib/connector-management.module.d.ts +2 -2
  40. package/lib/extension/connector-management.extension.init.d.ts +2 -2
  41. package/lib/services/connector-management/connector-management.service.d.ts +17 -17
  42. package/lib/services/connector-management-state/connector-management-state.service.d.ts +26 -26
  43. package/lib/services/object-api-sync/object-api-sync.service.d.ts +14 -14
  44. package/package.json +1 -1
  45. package/public-api.d.ts +13 -13
  46. package/valtimo-connector-management.d.ts +7 -7
  47. package/valtimo-connector-management.metadata.json +1 -1
@@ -1,79 +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([this.stateService.showModal$, this.stateService.refresh$])
35
- .subscribe(() => {
36
- this.goBack();
37
- });
38
- }
39
- ngOnDestroy() {
40
- var _a;
41
- (_a = this.refreshSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
42
- }
43
- selectConnector(connectorType) {
44
- this.selectedConnector$.next(connectorType);
45
- }
46
- goBack() {
47
- this.selectedConnector$.next(undefined);
48
- }
49
- onSave(event) {
50
- this.selectedConnector$.pipe(take(1)).subscribe((selectedConnectorType) => {
51
- this.connectorManagementService.createConnectorInstance({
52
- name: event.name,
53
- typeId: selectedConnectorType.id,
54
- connectorProperties: event.properties
55
- }).subscribe(() => {
56
- this.alertService.success(this.translateService.instant('connectorManagement.messages.addSuccess'));
57
- this.stateService.hideModal();
58
- this.stateService.enableInput();
59
- this.stateService.refresh();
60
- }, () => {
61
- this.stateService.enableInput();
62
- });
63
- });
64
- }
65
- }
66
- AddConnectorComponent.decorators = [
67
- { type: Component, args: [{
68
- selector: 'valtimo-add-connector',
69
- 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 {{'connectorManagement.' + (connectorTypes?.length > 0 ? 'addHeader' : 'noConnectorsAvailable') | translate}}\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 class=\"btn btn-outline-secondary btn-sm btn-back\" (click)=\"goBack()\" [disabled]=\"disabled$ | async\">\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",
70
- 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}"]
71
- },] }
72
- ];
73
- AddConnectorComponent.ctorParameters = () => [
74
- { type: ConnectorManagementService },
75
- { type: ConnectorManagementStateService },
76
- { type: AlertService },
77
- { type: TranslateService }
78
- ];
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNvbm5lY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Nvbm5lY3Rvci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9hZGQtY29ubmVjdG9yL2FkZC1jb25uZWN0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQTJCLE1BQU0sTUFBTSxDQUFDO0FBRTlFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDNUcsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFPN0gsTUFBTSxPQUFPLHFCQUFxQjtJQVVoQyxZQUNtQiwwQkFBc0QsRUFDdEQsWUFBNkMsRUFDN0MsWUFBMEIsRUFDMUIsZ0JBQWtDO1FBSGxDLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsaUJBQVksR0FBWixZQUFZLENBQWlDO1FBQzdDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFaNUMsb0JBQWUsR0FBcUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFeEcsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBQWdCLFNBQVMsQ0FBQyxDQUFDO1FBWTFFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUM7SUFDcEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsbUJBQW1CLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNqRyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7O1FBQ1QsTUFBQSxJQUFJLENBQUMsbUJBQW1CLDBDQUFFLFdBQVcsR0FBRztJQUMxQyxDQUFDO0lBRUQsZUFBZSxDQUFDLGFBQTRCO1FBQzFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBc0Q7UUFDM0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxFQUFFO1lBQ3hFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEQsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2dCQUNoQixNQUFNLEVBQUUscUJBQXFCLENBQUMsRUFBRTtnQkFDaEMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLFVBQVU7YUFDdEMsQ0FBQyxDQUFDLFNBQVMsQ0FDVixHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDOUIsQ0FBQyxFQUNELEdBQUcsRUFBRTtnQkFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLENBQUMsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUE3REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLDZ3RUFBNkM7O2FBRTlDOzs7WUFQTywwQkFBMEI7WUFDMUIsK0JBQStCO1lBSC9CLFlBQVk7WUFDWixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Nvbm5lY3RvclByb3BlcnRpZXMsIENvbm5lY3RvclR5cGV9IGZyb20gJ0B2YWx0aW1vL2NvbnRyYWN0JztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtBbGVydFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nvbm5lY3Rvci1tYW5hZ2VtZW50L2Nvbm5lY3Rvci1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1hZGQtY29ubmVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1jb25uZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtY29ubmVjdG9yLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWRkQ29ubmVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHJlYWRvbmx5IGNvbm5lY3RvclR5cGVzJDogT2JzZXJ2YWJsZTxBcnJheTxDb25uZWN0b3JUeXBlPj4gPSB0aGlzLmNvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlLmdldENvbm5lY3RvclR5cGVzKCk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRDb25uZWN0b3IkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDb25uZWN0b3JUeXBlPih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkJCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSByZWZyZXNoU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2U6IENvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZGlzYWJsZWQkID0gdGhpcy5zdGF0ZVNlcnZpY2UuaW5wdXREaXNhYmxlZCQ7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZnJlc2hTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXRlU2VydmljZS5zaG93TW9kYWwkLCB0aGlzLnN0YXRlU2VydmljZS5yZWZyZXNoJF0pXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5nb0JhY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgc2VsZWN0Q29ubmVjdG9yKGNvbm5lY3RvclR5cGU6IENvbm5lY3RvclR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29ubmVjdG9yJC5uZXh0KGNvbm5lY3RvclR5cGUpO1xuICB9XG5cbiAgZ29CYWNrKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRDb25uZWN0b3IkLm5leHQodW5kZWZpbmVkKTtcbiAgfVxuXG4gIG9uU2F2ZShldmVudDoge3Byb3BlcnRpZXM6IENvbm5lY3RvclByb3BlcnRpZXMsIG5hbWU6IHN0cmluZ30pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29ubmVjdG9yJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoc2VsZWN0ZWRDb25uZWN0b3JUeXBlKSA9PiB7XG4gICAgICB0aGlzLmNvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlLmNyZWF0ZUNvbm5lY3Rvckluc3RhbmNlKHtcbiAgICAgICAgbmFtZTogZXZlbnQubmFtZSxcbiAgICAgICAgdHlwZUlkOiBzZWxlY3RlZENvbm5lY3RvclR5cGUuaWQsXG4gICAgICAgIGNvbm5lY3RvclByb3BlcnRpZXM6IGV2ZW50LnByb3BlcnRpZXNcbiAgICAgIH0pLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3ModGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Nvbm5lY3Rvck1hbmFnZW1lbnQubWVzc2FnZXMuYWRkU3VjY2VzcycpKTtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5oaWRlTW9kYWwoKTtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5lbmFibGVJbnB1dCgpO1xuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnJlZnJlc2goKTtcbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmVuYWJsZUlucHV0KCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
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,95 +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([this.route.params, this.translateService.stream('key'), this.stateService.refresh$]).pipe(switchMap(([params]) => this.objectApiSyncService.getObjectSyncConfigs(params.name)), switchMap((configs) => combineLatest([of(configs),
35
- ...configs.map((config) => this.connectorManagementService.getConnectorInstanceById(config.connectorInstanceId).pipe(catchError(() => of(''))))
36
- ])), map((results) => {
37
- const [, ...instances] = results.filter((result) => result);
38
- return results[0]
39
- .map((syncConfig) => {
40
- var _a;
41
- return (Object.assign(Object.assign({}, syncConfig), { title: ((_a = instances.find((instance) => instance.id === syncConfig.connectorInstanceId)) === null || _a === void 0 ? void 0 : _a.name) || 'Objects API' }));
42
- });
43
- }), map((results) => Array.isArray(results) && results.length > 0 ? results[0] : null), tap(() => {
44
- this.loading$.next(false);
45
- }));
46
- this.disabled$ = this.stateService.inputDisabled$;
47
- }
48
- ngOnDestroy() {
49
- this.stateService.hideExtensionModal();
50
- }
51
- openModal() {
52
- this.stateService.showExtensionModal();
53
- }
54
- toggleSync(config) {
55
- this.stateService.disableInput();
56
- this.objectApiSyncService.modifyObjectSyncConfig(Object.assign(Object.assign({}, config), { enabled: !config.enabled })).subscribe(() => {
57
- if (!config.enabled) {
58
- this.alertService.success(this.translateService.instant('connectorManagement.extension.addSyncSuccess'));
59
- }
60
- else {
61
- this.alertService.success(this.translateService.instant('connectorManagement.extension.disableSyncSuccess'));
62
- }
63
- this.stateService.enableInput();
64
- this.stateService.refresh();
65
- }, () => {
66
- this.stateService.enableInput();
67
- });
68
- }
69
- deleteSync(configId) {
70
- this.stateService.disableInput();
71
- this.objectApiSyncService.deleteObjectSyncConfig(configId).subscribe(() => {
72
- this.alertService.success(this.translateService.instant('connectorManagement.extension.deleteSyncSuccess'));
73
- this.stateService.enableInput();
74
- this.stateService.refresh();
75
- }, () => {
76
- this.stateService.enableInput();
77
- });
78
- }
79
- }
80
- ConnectorLinkExtensionComponent.decorators = [
81
- { type: Component, args: [{
82
- selector: 'valtimo-connector-link-extension',
83
- template: "<h2 class=\"mb-4 mt-6\">{{'connectorManagement.extension.title' | translate}}</h2>\n\n<ng-container *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 class=\"btn btn-danger ml-3\" [disabled]=\"obs.disabled\" (click)=\"deleteSync(obs.syncConfig.id)\">\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 type=\"checkbox\" [checked]=\"obs.syncConfig.enabled\" [disabled]=\"obs.disabled\" name=\"sync\" id=\"sync\" (click)=\"toggleSync(obs.syncConfig)\">\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",
84
- styles: [".card-header,.setting-row{flex-direction:row;justify-content:space-between}.card-header,.controls,.setting-row{align-items:center;display:flex}"]
85
- },] }
86
- ];
87
- ConnectorLinkExtensionComponent.ctorParameters = () => [
88
- { type: ConnectorManagementStateService },
89
- { type: ObjectApiSyncService },
90
- { type: TranslateService },
91
- { type: ActivatedRoute },
92
- { type: AlertService },
93
- { type: ConnectorManagementService }
94
- ];
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLWxpbmstZXh0ZW5zaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29ubmVjdG9yLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Nvbm5lY3Rvci1saW5rLWV4dGVuc2lvbi9jb25uZWN0b3ItbGluay1leHRlbnNpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFRLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDN0gsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDNUYsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFPNUcsTUFBTSxPQUFPLCtCQUErQjtJQTRCMUMsWUFDbUIsWUFBNkMsRUFDN0Msb0JBQTBDLEVBQzFDLGdCQUFrQyxFQUNsQyxLQUFxQixFQUNyQixZQUEwQixFQUMxQiwwQkFBc0Q7UUFMdEQsaUJBQVksR0FBWixZQUFZLENBQWlDO1FBQzdDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBakNoRSxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFFOUMseUJBQW9CLEdBQzNCLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDdEcsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUNwRixTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNwQixhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDO1lBQ3hCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ3hCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkgsQ0FBQyxDQUNILEVBQ0QsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDZCxNQUFNLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBNkIsQ0FBQztZQUN4RixPQUFRLE9BQU8sQ0FBQyxDQUFDLENBQTZCO2lCQUMzQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTs7Z0JBQUMsT0FBQSxpQ0FDaEIsVUFBVSxLQUNiLEtBQUssRUFBRSxPQUFBLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLG1CQUFtQixDQUFDLDBDQUFFLElBQUksS0FBSSxhQUFhLElBQzFHLENBQUE7YUFBQSxDQUFDLENBQUM7UUFDUixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ2xGLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDTCxDQUFDO1FBWUEsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQXdCO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFakMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixpQ0FBSyxNQUFNLEtBQUUsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBRSxDQUFDLFNBQVMsQ0FDL0YsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsOENBQThDLENBQUMsQ0FBQyxDQUFDO2FBQzFHO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsa0RBQWtELENBQUMsQ0FBQyxDQUFDO2FBQzlHO1lBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlCLENBQUMsRUFDRCxHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUFnQjtRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWpDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQ2xFLEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsaURBQWlELENBQUMsQ0FBQyxDQUFDO1lBQzVHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixDQUFDLEVBQ0QsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7OztZQXBGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtDQUFrQztnQkFDNUMsNDREQUF3RDs7YUFFekQ7OztZQVJPLCtCQUErQjtZQUMvQixvQkFBb0I7WUFMcEIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxZQUFZO1lBSVosMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCwgdGFrZSwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7QWxlcnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7Q29ubmVjdG9ySW5zdGFuY2UsIE9iamVjdFN5bmNDb25maWd9IGZyb20gJ0B2YWx0aW1vL2NvbnRyYWN0JztcbmltcG9ydCB7Q29ubmVjdG9yTWFuYWdlbWVudFN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29ubmVjdG9yLW1hbmFnZW1lbnQtc3RhdGUvY29ubmVjdG9yLW1hbmFnZW1lbnQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge09iamVjdEFwaVN5bmNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vYmplY3QtYXBpLXN5bmMvb2JqZWN0LWFwaS1zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHtDb25uZWN0b3JNYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29ubmVjdG9yLW1hbmFnZW1lbnQvY29ubmVjdG9yLW1hbmFnZW1lbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tY29ubmVjdG9yLWxpbmstZXh0ZW5zaW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nvbm5lY3Rvci1saW5rLWV4dGVuc2lvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nvbm5lY3Rvci1saW5rLWV4dGVuc2lvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbm5lY3RvckxpbmtFeHRlbnNpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0QXBpU3luY0NvbmZpZyQ6IE9ic2VydmFibGU8T2JqZWN0U3luY0NvbmZpZyB8IG51bGw+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnJvdXRlLnBhcmFtcywgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksIHRoaXMuc3RhdGVTZXJ2aWNlLnJlZnJlc2gkXSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoW3BhcmFtc10pID0+IHRoaXMub2JqZWN0QXBpU3luY1NlcnZpY2UuZ2V0T2JqZWN0U3luY0NvbmZpZ3MocGFyYW1zLm5hbWUpKSxcbiAgICAgIHN3aXRjaE1hcCgoY29uZmlncykgPT5cbiAgICAgICAgY29tYmluZUxhdGVzdChbb2YoY29uZmlncyksXG4gICAgICAgICAgLi4uY29uZmlncy5tYXAoKGNvbmZpZykgPT5cbiAgICAgICAgICAgIHRoaXMuY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2UuZ2V0Q29ubmVjdG9ySW5zdGFuY2VCeUlkKGNvbmZpZy5jb25uZWN0b3JJbnN0YW5jZUlkKS5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YoJycpKSkpXG4gICAgICAgIF0pXG4gICAgICApLFxuICAgICAgbWFwKChyZXN1bHRzKSA9PiB7XG4gICAgICAgIGNvbnN0IFssIC4uLmluc3RhbmNlc10gPSByZXN1bHRzLmZpbHRlcigocmVzdWx0KSA9PiByZXN1bHQpIGFzIEFycmF5PENvbm5lY3Rvckluc3RhbmNlPjtcbiAgICAgICAgcmV0dXJuIChyZXN1bHRzWzBdIGFzIEFycmF5PE9iamVjdFN5bmNDb25maWc+KVxuICAgICAgICAgIC5tYXAoKHN5bmNDb25maWcpID0+ICh7XG4gICAgICAgICAgICAuLi5zeW5jQ29uZmlnLFxuICAgICAgICAgICAgdGl0bGU6IGluc3RhbmNlcy5maW5kKChpbnN0YW5jZSkgPT4gaW5zdGFuY2UuaWQgPT09IHN5bmNDb25maWcuY29ubmVjdG9ySW5zdGFuY2VJZCk/Lm5hbWUgfHwgJ09iamVjdHMgQVBJJ1xuICAgICAgICAgIH0pKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKChyZXN1bHRzKSA9PiBBcnJheS5pc0FycmF5KHJlc3VsdHMpICYmIHJlc3VsdHMubGVuZ3RoID4gMCA/IHJlc3VsdHNbMF0gOiBudWxsKSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZyQubmV4dChmYWxzZSk7XG4gICAgICB9KVxuICApO1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkJCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IENvbm5lY3Rvck1hbmFnZW1lbnRTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYmplY3RBcGlTeW5jU2VydmljZTogT2JqZWN0QXBpU3luY1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25uZWN0b3JNYW5hZ2VtZW50U2VydmljZTogQ29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuZGlzYWJsZWQkID0gdGhpcy5zdGF0ZVNlcnZpY2UuaW5wdXREaXNhYmxlZCQ7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5oaWRlRXh0ZW5zaW9uTW9kYWwoKTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zaG93RXh0ZW5zaW9uTW9kYWwoKTtcbiAgfVxuXG4gIHRvZ2dsZVN5bmMoY29uZmlnOiBPYmplY3RTeW5jQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuZGlzYWJsZUlucHV0KCk7XG5cbiAgICB0aGlzLm9iamVjdEFwaVN5bmNTZXJ2aWNlLm1vZGlmeU9iamVjdFN5bmNDb25maWcoey4uLmNvbmZpZywgZW5hYmxlZDogIWNvbmZpZy5lbmFibGVkfSkuc3Vic2NyaWJlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAoIWNvbmZpZy5lbmFibGVkKSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2Vzcyh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29ubmVjdG9yTWFuYWdlbWVudC5leHRlbnNpb24uYWRkU3luY1N1Y2Nlc3MnKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2Vzcyh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29ubmVjdG9yTWFuYWdlbWVudC5leHRlbnNpb24uZGlzYWJsZVN5bmNTdWNjZXNzJykpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmVuYWJsZUlucHV0KCk7XG4gICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnJlZnJlc2goKTtcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmVuYWJsZUlucHV0KCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZVN5bmMoY29uZmlnSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmRpc2FibGVJbnB1dCgpO1xuXG4gICAgdGhpcy5vYmplY3RBcGlTeW5jU2VydmljZS5kZWxldGVPYmplY3RTeW5jQ29uZmlnKGNvbmZpZ0lkKS5zdWJzY3JpYmUoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3ModGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Nvbm5lY3Rvck1hbmFnZW1lbnQuZXh0ZW5zaW9uLmRlbGV0ZVN5bmNTdWNjZXNzJykpO1xuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5lbmFibGVJbnB1dCgpO1xuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5yZWZyZXNoKCk7XG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5lbmFibGVJbnB1dCgpO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
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=