@valtimo/plugin-management 5.1.0 → 5.4.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 (40) hide show
  1. package/README.md +1 -1
  2. package/esm2020/lib/components/plugin-add-modal/plugin-add-modal.component.mjs +38 -10
  3. package/esm2020/lib/components/plugin-add-select/plugin-add-select.component.mjs +11 -10
  4. package/esm2020/lib/components/plugin-configure/plugin-configure.component.mjs +48 -0
  5. package/esm2020/lib/components/plugin-management/plugin-management.component.mjs +18 -15
  6. package/esm2020/lib/models/plugin.model.mjs +1 -1
  7. package/esm2020/lib/plugin-management-routing.mjs +5 -5
  8. package/esm2020/lib/plugin-management.module.mjs +32 -8
  9. package/esm2020/lib/services/index.mjs +2 -2
  10. package/esm2020/lib/services/plugin-management-state.service.mjs +33 -25
  11. package/esm2020/lib/services/plugin-management.service.mjs +114 -0
  12. package/esm2020/public-api.mjs +2 -1
  13. package/fesm2015/valtimo-plugin-management.mjs +223 -102
  14. package/fesm2015/valtimo-plugin-management.mjs.map +1 -1
  15. package/fesm2020/valtimo-plugin-management.mjs +232 -102
  16. package/fesm2020/valtimo-plugin-management.mjs.map +1 -1
  17. package/lib/components/plugin-add-modal/plugin-add-modal.component.d.ts +10 -3
  18. package/lib/components/plugin-add-modal/plugin-add-modal.component.d.ts.map +1 -1
  19. package/lib/components/plugin-add-select/plugin-add-select.component.d.ts +4 -4
  20. package/lib/components/plugin-add-select/plugin-add-select.component.d.ts.map +1 -1
  21. package/lib/components/plugin-configure/plugin-configure.component.d.ts +18 -0
  22. package/lib/components/plugin-configure/plugin-configure.component.d.ts.map +1 -0
  23. package/lib/components/plugin-management/plugin-management.component.d.ts +9 -5
  24. package/lib/components/plugin-management/plugin-management.component.d.ts.map +1 -1
  25. package/lib/models/plugin.model.d.ts +14 -3
  26. package/lib/models/plugin.model.d.ts.map +1 -1
  27. package/lib/plugin-management.module.d.ts +8 -6
  28. package/lib/plugin-management.module.d.ts.map +1 -1
  29. package/lib/services/index.d.ts +1 -1
  30. package/lib/services/index.d.ts.map +1 -1
  31. package/lib/services/plugin-management-state.service.d.ts +8 -5
  32. package/lib/services/plugin-management-state.service.d.ts.map +1 -1
  33. package/lib/services/plugin-management.service.d.ts +27 -0
  34. package/lib/services/plugin-management.service.d.ts.map +1 -0
  35. package/package.json +1 -1
  36. package/public-api.d.ts +1 -0
  37. package/public-api.d.ts.map +1 -1
  38. package/esm2020/lib/services/plugin.service.mjs +0 -84
  39. package/lib/services/plugin.service.d.ts +0 -13
  40. package/lib/services/plugin.service.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"valtimo-plugin-management.mjs","sources":["../../../../projects/valtimo/plugin-management/src/lib/models/index.ts","../../../../projects/valtimo/plugin-management/src/lib/services/plugin.service.ts","../../../../projects/valtimo/plugin-management/src/lib/services/plugin-management-state.service.ts","../../../../projects/valtimo/plugin-management/src/lib/services/index.ts","../../../../projects/valtimo/plugin-management/src/lib/components/plugin-add-select/plugin-add-select.component.ts","../../../../projects/valtimo/plugin-management/src/lib/components/plugin-add-select/plugin-add-select.component.html","../../../../projects/valtimo/plugin-management/src/lib/components/plugin-add-modal/plugin-add-modal.component.ts","../../../../projects/valtimo/plugin-management/src/lib/components/plugin-add-modal/plugin-add-modal.component.html","../../../../projects/valtimo/plugin-management/src/lib/components/plugin-management/plugin-management.component.ts","../../../../projects/valtimo/plugin-management/src/lib/components/plugin-management/plugin-management.component.html","../../../../projects/valtimo/plugin-management/src/lib/plugin-management-routing.ts","../../../../projects/valtimo/plugin-management/src/lib/plugin-management.module.ts","../../../../projects/valtimo/plugin-management/src/public-api.ts","../../../../projects/valtimo/plugin-management/src/valtimo-plugin-management.ts"],"sourcesContent":["/*\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 distributed under the License is distributed on an \"AS IS\" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions and limitations under the License.\n */\n\nexport * from './plugin.model';\nexport * from './plugin-modal.model';\n","/*\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\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable, of} from 'rxjs';\nimport {PluginConfiguration, PluginDefinition, PluginFunction} from '../models';\nimport {ConfigService} from '@valtimo/config';\nimport {delay} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginService {\n private readonly OPEN_ZAAK_CONFIGURATIONS = [\n {\n definitionKey: 'openzaak',\n key: '1ebdad87-3899-4ab7-b4ad-403237b17dbd',\n title: 'Den Haag Open Zaak 1',\n },\n {\n definitionKey: 'openzaak',\n key: '1ebdad87-3899-4ab7-b4ad-403237b17dbe',\n title: 'Den Haag Open Zaak 2',\n },\n {\n definitionKey: 'openzaak',\n key: '1ebdad87-3899-4ab7-b4ad-403237b17dbf',\n title: 'Den Haag Open Zaak 3',\n },\n {\n definitionKey: 'openzaak',\n key: '1ebdad87-3899-4ab7-b4ad-403237b17dbg',\n title: 'Den Haag Open Zaak 4',\n },\n {\n definitionKey: 'openzaak',\n key: '1ebdad87-3899-4ab7-b4ad-403237b17dbh',\n title: 'Den Haag Open Zaak 5',\n },\n ];\n\n getPluginDefinitions(): Observable<Array<PluginDefinition>> {\n return of([{key: 'openzaak'}]).pipe(delay(1500));\n }\n\n getPluginConfigurations(pluginDefinitionId: string): Observable<Array<PluginConfiguration>> {\n return of(this.OPEN_ZAAK_CONFIGURATIONS).pipe(delay(1500));\n }\n\n getPluginFunctions(pluginDefinitionId: string): Observable<Array<PluginFunction>> {\n return of([\n {\n key: 'create-zaak',\n },\n {\n key: 'set-status',\n },\n {\n key: 'set-resultaat',\n },\n {\n key: 'set-besluit',\n },\n ]).pipe(delay(1500));\n }\n\n getAllPluginConfigurations(): Observable<Array<PluginConfiguration>> {\n return of(this.OPEN_ZAAK_CONFIGURATIONS).pipe(delay(1500));\n }\n}\n","/*\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 distributed under the License is distributed on an \"AS IS\" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {BehaviorSubject, Observable, Subject} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {PluginDefinition, PluginModal} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginManagementStateService {\n private readonly _showModal$ = new Subject<PluginModal>();\n private readonly _hideModal$ = new Subject();\n private readonly _inputDisabled$ = new BehaviorSubject<boolean>(false);\n private readonly _saveButtonDisabled$ = new BehaviorSubject<boolean>(true);\n private readonly _refresh$ = new BehaviorSubject<null>(null);\n private readonly _save$ = new Subject();\n private readonly _delete$ = new Subject();\n private readonly _hideModalSaveButton$ = new BehaviorSubject<boolean>(false);\n private readonly _pluginDefinitions$ = new BehaviorSubject<Array<PluginDefinition> | undefined>(\n undefined\n );\n private readonly _selectedPluginDefinition$ = new BehaviorSubject<PluginDefinition | undefined>(\n undefined\n );\n\n get showModal$(): Observable<PluginModal> {\n return this._showModal$.asObservable();\n }\n\n get hideModal$(): Observable<any> {\n return this._hideModal$.asObservable();\n }\n\n get inputDisabled$(): Observable<boolean> {\n return this._inputDisabled$.asObservable();\n }\n\n get refresh$(): Observable<any> {\n return this._refresh$.asObservable();\n }\n\n get pluginDefinitions$(): Observable<Array<PluginDefinition> | undefined> {\n return this._pluginDefinitions$.asObservable();\n }\n\n get selectedPluginDefinition$(): Observable<PluginDefinition | undefined> {\n return this._selectedPluginDefinition$.asObservable();\n }\n\n get saveButtonDisabled$(): Observable<boolean> {\n return this._saveButtonDisabled$.asObservable();\n }\n\n get save$(): Observable<any> {\n return this._save$.asObservable();\n }\n\n get delete$(): Observable<any> {\n return this._delete$.asObservable();\n }\n\n get hideModalSaveButton$(): Observable<boolean> {\n return this._hideModalSaveButton$.asObservable();\n }\n\n showModal(modalType: PluginModal): void {\n this._showModal$.next(modalType);\n }\n\n hideModal(): void {\n this._hideModal$.next();\n }\n\n disableInput(): void {\n this._inputDisabled$.next(true);\n }\n\n enableInput(): void {\n this._inputDisabled$.next(false);\n }\n\n refresh(): void {\n this._refresh$.next(null);\n }\n\n setPluginDefinitions(definitions: Array<PluginDefinition>): void {\n this._pluginDefinitions$.next(definitions);\n }\n\n selectPluginDefinition(definition: PluginDefinition): void {\n this._selectedPluginDefinition$.next(definition);\n }\n\n clearSelectedPluginDefinition(): void {\n this._selectedPluginDefinition$.next(undefined);\n }\n\n enableSaveButton(): void {\n this._saveButtonDisabled$.next(false);\n }\n\n disableSaveButton(): void {\n this._saveButtonDisabled$.next(true);\n }\n\n save(): void {\n this._saveButtonDisabled$.pipe(take(1)).subscribe(saveButtonDisabled => {\n if (!saveButtonDisabled) {\n this._save$.next();\n }\n });\n }\n\n delete(): void {\n this._delete$.next();\n }\n\n hideModalSaveButton(): void {\n this._hideModalSaveButton$.next(true);\n }\n\n showModalSaveButton(): void {\n this._hideModalSaveButton$.next(false);\n }\n\n clear(): void {\n this._selectedPluginDefinition$.next(undefined);\n }\n}\n","/*\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 distributed under the License is distributed on an \"AS IS\" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions and limitations under the License.\n */\n\nexport * from './plugin.service';\nexport * from './plugin-management-state.service';\n","/*\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\nimport {Component, OnDestroy, OnInit} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription} from 'rxjs';\nimport {ConnectorProperties, ConnectorType} from '@valtimo/config';\nimport {take} from 'rxjs/operators';\nimport {AlertService} from '@valtimo/components';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginManagementStateService, PluginService} from '../../services';\nimport {PluginDefinition} from '../../models';\n\n@Component({\n selector: 'valtimo-plugin-add-select',\n templateUrl: './plugin-add-select.component.html',\n styleUrls: ['./plugin-add-select.component.scss'],\n})\nexport class PluginAddSelectComponent implements OnInit, OnDestroy {\n readonly selectedPluginDefinition$ = this.stateService.selectedPluginDefinition$;\n readonly disabled$ = this.stateService.inputDisabled$;\n readonly pluginDefinitions$ = this.stateService.pluginDefinitions$;\n\n private refreshSubscription!: Subscription;\n\n constructor(\n private readonly pluginService: PluginService,\n private readonly stateService: PluginManagementStateService,\n private readonly translateService: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.openRefreshSubscription();\n this.getPluginDefinitions();\n }\n\n ngOnDestroy(): void {\n this.refreshSubscription?.unsubscribe();\n }\n\n selectPluginDefinition(pluginDefinition: PluginDefinition): void {\n this.stateService.selectPluginDefinition(pluginDefinition);\n }\n\n deselectPluginDefinition(): void {\n this.stateService.clearSelectedPluginDefinition();\n }\n\n private getPluginDefinitions(): void {\n this.pluginService.getPluginDefinitions().subscribe(pluginDefinitions => {\n this.stateService.setPluginDefinitions(pluginDefinitions);\n });\n }\n\n private openRefreshSubscription(): void {\n this.refreshSubscription = combineLatest([\n this.stateService.showModal$,\n this.stateService.refresh$,\n ]).subscribe(() => {\n this.stateService.clearSelectedPluginDefinition();\n });\n }\n}\n","<!--\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=\"pluginDefinitions$ | async as pluginDefinitions; else loading\">\n <div fxLayout=\"row wrap\" fxLayoutGap=\"22px grid\">\n <div fxFlex=\"33.3%\" *ngFor=\"let pluginDefinition of pluginDefinitions\">\n <v-card\n [titleTranslationKey]=\"'plugin.' + pluginDefinition.key + '.title'\"\n [descriptionTranslationKey]=\"'plugin.' + pluginDefinition.key + '.description'\"\n [selectable]=\"true\"\n [selected]=\"(selectedPluginDefinition$ | async)?.key === pluginDefinition.key\"\n [fullHeight]=\"true\"\n (selectEvent)=\"selectPluginDefinition(pluginDefinition)\"\n (deselectEvent)=\"deselectPluginDefinition()\"\n ></v-card>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <div fxLayout=\"row wrap\" fxLayoutGap=\"22px grid\">\n <ng-container *ngTemplateOutlet=\"loadingCard\"></ng-container>\n <ng-container *ngTemplateOutlet=\"loadingCard\"></ng-container>\n <ng-container *ngTemplateOutlet=\"loadingCard\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #loadingCard>\n <div fxFlex=\"33.3%\">\n <v-card [loading]=\"true\" [loadingDescription]=\"true\" [loadingTitle]=\"true\"></v-card>\n </div>\n</ng-template>\n","/*\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\nimport {Component, OnInit, ViewChild} from '@angular/core';\nimport {PluginManagementStateService} from '../../services';\nimport {take} from 'rxjs/operators';\nimport {ModalComponent, ModalService} from '@valtimo/user-interface';\nimport {Subject, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-plugin-add-modal',\n templateUrl: './plugin-add-modal.component.html',\n styleUrls: ['./plugin-add-modal.component.scss'],\n})\nexport class PluginAddModalComponent implements OnInit {\n @ViewChild('pluginAddModal') pluginAddModal: ModalComponent;\n\n readonly inputDisabled$ = this.stateService.inputDisabled$;\n readonly selectedPluginDefinition$ = this.stateService.selectedPluginDefinition$;\n readonly returnToFirstStepSubject$ = new Subject<boolean>();\n\n private showSubscription!: Subscription;\n private hideSubscription!: Subscription;\n\n constructor(\n private readonly stateService: PluginManagementStateService,\n private readonly modalService: ModalService\n ) {}\n\n ngOnInit(): void {\n this.openShowSubscription();\n this.openHideSubscription();\n }\n\n complete(): void {\n this.stateService.save();\n }\n\n delete(): void {\n this.stateService.delete();\n }\n\n hide(): void {\n this.stateService.disableInput();\n this.modalService.closeModal();\n\n this.modalService.appearingDelayMs$.pipe(take(1)).subscribe(appearingDelay => {\n setTimeout(() => {\n this.returnToFirstStep();\n this.stateService.enableInput();\n this.stateService.clear();\n }, appearingDelay);\n });\n }\n\n private openShowSubscription(): void {\n this.showSubscription = this.stateService.showModal$.subscribe(modalType => {\n if (modalType === 'add') {\n this.show();\n }\n });\n }\n\n private openHideSubscription(): void {\n this.hideSubscription = this.stateService.hideModal$.subscribe(() => {\n this.hide();\n });\n }\n\n private returnToFirstStep(): void {\n this.returnToFirstStepSubject$.next(true);\n }\n\n private show(): void {\n this.modalService.openModal(this.pluginAddModal);\n }\n}\n","<!--\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<v-stepper-container\n (completeEvent)=\"complete()\"\n (cancelClickEvent)=\"hide()\"\n [disabled]=\"inputDisabled$ | async\"\n [returnToFirstStepSubject$]=\"returnToFirstStepSubject$\"\n>\n <v-modal #pluginAddModal (closeEvent)=\"hide()\">\n <div role=\"header\">\n <v-stepper-header></v-stepper-header>\n </div>\n <div role=\"content\">\n <v-stepper-content>\n <v-stepper-step titleTranslationKey=\"pluginManagement.addSteps.step0\">\n <valtimo-plugin-add-select></valtimo-plugin-add-select>\n </v-stepper-step>\n <v-stepper-step titleTranslationKey=\"pluginManagement.addSteps.step1\">\n configure plugin\n </v-stepper-step>\n </v-stepper-content>\n </div>\n <div role=\"footer\">\n <v-stepper-footer>\n <v-stepper-footer-step\n nextButtonTranslationKey=\"pluginManagement.addSteps.step1\"\n [nextButtonEnabled]=\"selectedPluginDefinition$ | async\"\n ></v-stepper-footer-step>\n <v-stepper-footer-step\n nextButtonTranslationKey=\"pluginManagement.addSteps.step2\"\n [nextButtonEnabled]=\"false\"\n ></v-stepper-footer-step>\n </v-stepper-footer>\n </div>\n </v-modal>\n</v-stepper-container>\n","/*\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\nimport {Component} from '@angular/core';\nimport {BehaviorSubject, combineLatest} from 'rxjs';\nimport {TableColumn} from '@valtimo/user-interface';\nimport {PluginManagementStateService, PluginService} from '../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {map, tap} from 'rxjs/operators';\n\n@Component({\n selector: 'valtimo-plugin-management',\n templateUrl: './plugin-management.component.html',\n styleUrls: ['./plugin-management.component.scss'],\n})\nexport class PluginManagementComponent {\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly columns$ = new BehaviorSubject<Array<TableColumn>>([\n {\n labelTranslationKey: 'pluginManagement.labels.pluginName',\n dataKey: 'pluginName',\n },\n {\n labelTranslationKey: 'pluginManagement.labels.identifier',\n dataKey: 'definitionKey',\n },\n {\n labelTranslationKey: 'pluginManagement.labels.configurationName',\n dataKey: 'title',\n },\n ]);\n\n readonly pluginConfigurations$ = combineLatest([\n this.pluginService.getAllPluginConfigurations(),\n this.translateService.stream('key'),\n ]).pipe(\n map(([pluginConfigurations]) =>\n pluginConfigurations.map(configuration => ({\n ...configuration,\n pluginName: this.translateService.instant(`plugin.${configuration.definitionKey}.title`),\n }))\n ),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n constructor(\n private readonly pluginService: PluginService,\n private readonly translateService: TranslateService,\n private readonly stateService: PluginManagementStateService\n ) {}\n\n showAddModal(): void {\n this.stateService.showModal('add');\n }\n}\n","<!--\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<v-page-container\n *ngIf=\"{\n pluginConfigurations: pluginConfigurations$ | async,\n columns: columns$ | async,\n loading: loading$ | async\n } as obs\"\n>\n <v-page-header>\n <v-page-header-introduction>\n <v-title>{{ 'pages.plugins.title' | translate }}</v-title>\n <v-paragraph>{{ 'pages.plugins.description' | translate }}</v-paragraph>\n </v-page-header-introduction>\n <v-page-header-actions>\n <v-button\n (clickEvent)=\"showAddModal()\"\n type=\"primary\"\n mdiIcon=\"plus\"\n [disabled]=\"obs.loading\"\n >\n {{ 'pluginManagement.add' | translate }}\n </v-button>\n </v-page-header-actions>\n </v-page-header>\n <v-page-content>\n <v-table\n [loading]=\"obs.loading\"\n [items]=\"obs.pluginConfigurations\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"false\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n ></v-table>\n </v-page-content>\n</v-page-container>\n\n<valtimo-plugin-add-modal></valtimo-plugin-add-modal>\n","/*\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 distributed under the License is distributed on an \"AS IS\" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ROLE_ADMIN} from '@valtimo/config';\nimport {PluginManagementComponent} from './components/plugin-management/plugin-management.component';\n\nconst routes: Routes = [\n {\n path: 'plugins',\n component: PluginManagementComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Plugins', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class PluginManagementRoutingModule {}\n","/*\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 distributed under the License is distributed on an \"AS IS\" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {PluginManagementRoutingModule} from './plugin-management-routing';\nimport {CommonModule} from '@angular/common';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {FlexLayoutModule} from '@angular/flex-layout';\nimport {PluginManagementComponent} from './components/plugin-management/plugin-management.component';\nimport {\n PageModule,\n ParagraphModule,\n TitleModule,\n TableModule,\n StepperModule,\n ModalModule,\n ButtonModule,\n CardModule,\n} from '@valtimo/user-interface';\nimport {PluginAddModalComponent} from './components/plugin-add-modal/plugin-add-modal.component';\nimport {PluginManagementStateService} from './services';\nimport {PluginAddSelectComponent} from './components/plugin-add-select/plugin-add-select.component';\n\n@NgModule({\n providers: [PluginManagementStateService],\n declarations: [PluginManagementComponent, PluginAddModalComponent, PluginAddSelectComponent],\n imports: [\n CommonModule,\n PluginManagementRoutingModule,\n TranslateModule,\n FlexLayoutModule,\n PageModule,\n ParagraphModule,\n TitleModule,\n TableModule,\n StepperModule,\n ModalModule,\n ButtonModule,\n CardModule,\n ],\n exports: [PluginManagementComponent, PluginAddModalComponent, PluginAddSelectComponent],\n})\nexport class PluginManagementModule {}\n","/*\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 distributed under the License is distributed on an \"AS IS\" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions and limitations under the License.\n */\n\n/*\n * Public API Surface of plugin-management\n */\n\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/plugin-management.module';\nexport * from './lib/components/plugin-management/plugin-management.component';\nexport * from './lib/components/plugin-add-modal/plugin-add-modal.component';\nexport * from './lib/components/plugin-add-select/plugin-add-select.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PluginService","i1.PluginManagementStateService","i2","i3.PluginAddSelectComponent","i4.PluginAddModalComponent","i5"],"mappings":"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"}
1
+ {"version":3,"file":"valtimo-plugin-management.mjs","sources":["../../../../projects/valtimo/plugin-management/src/lib/models/index.ts","../../../../projects/valtimo/plugin-management/src/lib/services/plugin-management.service.ts","../../../../projects/valtimo/plugin-management/src/lib/services/plugin-management-state.service.ts","../../../../projects/valtimo/plugin-management/src/lib/services/index.ts","../../../../projects/valtimo/plugin-management/src/lib/components/plugin-add-select/plugin-add-select.component.ts","../../../../projects/valtimo/plugin-management/src/lib/components/plugin-add-select/plugin-add-select.component.html","../../../../projects/valtimo/plugin-management/src/lib/components/plugin-configure/plugin-configure.component.ts","../../../../projects/valtimo/plugin-management/src/lib/components/plugin-configure/plugin-configure.component.html","../../../../projects/valtimo/plugin-management/src/lib/components/plugin-add-modal/plugin-add-modal.component.ts","../../../../projects/valtimo/plugin-management/src/lib/components/plugin-add-modal/plugin-add-modal.component.html","../../../../projects/valtimo/plugin-management/src/lib/components/plugin-management/plugin-management.component.ts","../../../../projects/valtimo/plugin-management/src/lib/components/plugin-management/plugin-management.component.html","../../../../projects/valtimo/plugin-management/src/lib/plugin-management-routing.ts","../../../../projects/valtimo/plugin-management/src/lib/plugin-management.module.ts","../../../../projects/valtimo/plugin-management/src/public-api.ts","../../../../projects/valtimo/plugin-management/src/valtimo-plugin-management.ts"],"sourcesContent":["/*\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 distributed under the License is distributed on an \"AS IS\" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions and limitations under the License.\n */\n\nexport * from './plugin.model';\nexport * from './plugin-modal.model';\n","/*\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\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {\n PluginConfiguration,\n PluginConfigurationWithLogo,\n PluginDefinition,\n PluginFunction,\n} from '../models';\nimport {ConfigService} from '@valtimo/config';\nimport {delay, map} from 'rxjs/operators';\nimport {PluginService} from '@valtimo/plugin';\nimport {DomSanitizer} from '@angular/platform-browser';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginManagementService {\n private readonly VALTIMO_API_ENDPOINT_URI = this.configService.config.valtimoApi.endpointUri;\n\n private readonly CONFIGURATIONS = [\n {\n definitionKey: 'openzaak',\n key: '1ebdad87-3899-4ab7-b4ad-403237b17dbd',\n title: 'Den Haag Open Zaak 1',\n properties: {},\n },\n {\n definitionKey: 'openzaak',\n key: '1ebdad87-3899-4ab7-b4ad-403237b17dbe',\n title: 'Den Haag Open Zaak 2',\n properties: {},\n },\n {\n definitionKey: 'smartdocuments',\n key: '1ebdad87-3899-4ab7-b4ad-403237b17dbx',\n title: 'Den Haag SmartDocuments 1',\n properties: {},\n },\n {\n definitionKey: 'smartdocuments',\n key: '1ebdad87-3899-4ab7-b4ad-403237b17dby',\n title: 'Den Haag SmartDocuments 2',\n properties: {},\n },\n ];\n\n constructor(\n private readonly configService: ConfigService,\n private readonly pluginService: PluginService,\n private readonly sanitizer: DomSanitizer,\n private readonly http: HttpClient\n ) {}\n\n getPluginDefinitions(): Observable<Array<PluginDefinition>> {\n return this.http.get<Array<PluginDefinition>>(\n `${this.VALTIMO_API_ENDPOINT_URI}plugin/definition`\n );\n }\n\n getPluginConfigurations(pluginDefinitionId: string): Observable<Array<PluginConfiguration>> {\n return of(this.CONFIGURATIONS).pipe(delay(1500));\n }\n\n getPluginConfigurationsWithLogos(\n pluginDefinitionId: string\n ): Observable<Array<PluginConfiguration>> {\n return this.returnPluginConfigurationsWithLogos(\n this.getPluginConfigurations(pluginDefinitionId)\n );\n }\n\n getPluginFunctions(pluginDefinitionId: string): Observable<Array<PluginFunction>> {\n return of(\n pluginDefinitionId === 'openzaak'\n ? [\n {\n key: 'create-zaak',\n },\n {\n key: 'set-status',\n },\n {\n key: 'set-resultaat',\n },\n {\n key: 'set-besluit',\n },\n ]\n : [{key: 'generate-document'}]\n ).pipe(delay(1500));\n }\n\n getAllPluginConfigurations(): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}plugin/configuration`\n );\n }\n\n getAllPluginConfigurationsWithLogos(): Observable<Array<PluginConfiguration>> {\n return this.returnPluginConfigurationsWithLogos(this.getAllPluginConfigurations());\n }\n\n savePluginConfiguration(\n pluginConfiguration: PluginConfiguration\n ): Observable<PluginConfiguration> {\n return this.http.post<PluginConfiguration>(\n `${this.VALTIMO_API_ENDPOINT_URI}plugin/configuration`,\n pluginConfiguration\n );\n }\n private returnPluginConfigurationsWithLogos(\n pluginConfigurations$: Observable<Array<PluginConfiguration>>\n ): Observable<Array<PluginConfigurationWithLogo>> {\n return combineLatest([pluginConfigurations$, this.pluginService.pluginSpecifications$]).pipe(\n map(([pluginConfigurations, pluginSpecifications]) =>\n pluginConfigurations?.map(pluginConfiguration => {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginConfiguration.definitionKey\n );\n\n return {\n ...pluginConfiguration,\n ...(pluginSpecification?.pluginLogoBase64 && {\n pluginLogoBase64: this.sanitizer.bypassSecurityTrustResourceUrl(\n pluginSpecification?.pluginLogoBase64\n ),\n }),\n };\n })\n )\n );\n }\n}\n","/*\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 distributed under the License is distributed on an \"AS IS\" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subject} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\nimport {PluginDefinition, PluginDefinitionWithLogo, PluginModal} from '../models';\nimport {PluginService, PluginSpecification} from '@valtimo/plugin';\nimport {DomSanitizer} from '@angular/platform-browser';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginManagementStateService {\n private readonly _showModal$ = new Subject<PluginModal>();\n private readonly _hideModal$ = new Subject();\n private readonly _inputDisabled$ = new BehaviorSubject<boolean>(false);\n private readonly _refresh$ = new BehaviorSubject<null>(null);\n private readonly _save$ = new Subject<null>();\n private readonly _delete$ = new Subject<null>();\n private readonly _hideModalSaveButton$ = new BehaviorSubject<boolean>(false);\n private readonly _pluginDefinitions$ = new BehaviorSubject<Array<PluginDefinition> | undefined>(\n undefined\n );\n private readonly _pluginDefinitionsWithLogos$: Observable<\n Array<PluginDefinitionWithLogo> | undefined\n > = combineLatest([\n this._pluginDefinitions$,\n this.pluginService.pluginSpecifications$,\n this.pluginService.availablePluginIds$,\n ]).pipe(\n map(([pluginDefinitions, pluginSpecifications, availablePluginIds]) =>\n pluginDefinitions\n ?.filter(pluginDefinition => availablePluginIds.includes(pluginDefinition.key))\n .map(pluginDefinition => {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinition.key\n );\n\n return {\n ...pluginDefinition,\n ...(pluginSpecification?.pluginLogoBase64 && {\n pluginLogoBase64: this.sanitizer.bypassSecurityTrustResourceUrl(\n pluginSpecification?.pluginLogoBase64\n ),\n }),\n };\n })\n )\n );\n private readonly _selectedPluginDefinition$ = new BehaviorSubject<PluginDefinition | undefined>(\n undefined\n );\n\n constructor(\n private readonly pluginService: PluginService,\n private readonly sanitizer: DomSanitizer\n ) {}\n\n get showModal$(): Observable<PluginModal> {\n return this._showModal$.asObservable();\n }\n\n get hideModal$(): Observable<any> {\n return this._hideModal$.asObservable();\n }\n\n get inputDisabled$(): Observable<boolean> {\n return this._inputDisabled$.asObservable();\n }\n\n get refresh$(): Observable<any> {\n return this._refresh$.asObservable();\n }\n\n get pluginDefinitions$(): Observable<Array<PluginDefinition> | undefined> {\n return this._pluginDefinitions$.asObservable();\n }\n\n get pluginDefinitionsWithLogos$(): Observable<Array<PluginDefinitionWithLogo> | undefined> {\n return this._pluginDefinitionsWithLogos$;\n }\n\n get selectedPluginDefinition$(): Observable<PluginDefinition | undefined> {\n return this._selectedPluginDefinition$.asObservable();\n }\n\n get save$(): Observable<any> {\n return this._save$.asObservable();\n }\n\n get delete$(): Observable<any> {\n return this._delete$.asObservable();\n }\n\n get hideModalSaveButton$(): Observable<boolean> {\n return this._hideModalSaveButton$.asObservable();\n }\n\n showModal(modalType: PluginModal): void {\n this._showModal$.next(modalType);\n }\n\n hideModal(): void {\n this._hideModal$.next(null);\n }\n\n disableInput(): void {\n this._inputDisabled$.next(true);\n }\n\n enableInput(): void {\n this._inputDisabled$.next(false);\n }\n\n refresh(): void {\n this._refresh$.next(null);\n }\n\n setPluginDefinitions(definitions: Array<PluginDefinition>): void {\n this._pluginDefinitions$.next(definitions);\n }\n\n selectPluginDefinition(definition: PluginDefinition): void {\n this._selectedPluginDefinition$.next(definition);\n }\n\n clearSelectedPluginDefinition(): void {\n this._selectedPluginDefinition$.next(undefined);\n }\n\n save(): void {\n this._save$.next(null);\n }\n\n delete(): void {\n this._delete$.next(null);\n }\n\n hideModalSaveButton(): void {\n this._hideModalSaveButton$.next(true);\n }\n\n showModalSaveButton(): void {\n this._hideModalSaveButton$.next(false);\n }\n\n clear(): void {\n this._selectedPluginDefinition$.next(undefined);\n }\n}\n","/*\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 distributed under the License is distributed on an \"AS IS\" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions and limitations under the License.\n */\n\nexport * from './plugin-management.service';\nexport * from './plugin-management-state.service';\n","/*\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\nimport {Component, OnDestroy, OnInit} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription} from 'rxjs';\nimport {ConnectorProperties, ConnectorType} from '@valtimo/config';\nimport {take, map} from 'rxjs/operators';\nimport {AlertService} from '@valtimo/components';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginManagementStateService, PluginManagementService} from '../../services';\nimport {PluginDefinition} from '../../models';\n\n@Component({\n selector: 'valtimo-plugin-add-select',\n templateUrl: './plugin-add-select.component.html',\n styleUrls: ['./plugin-add-select.component.scss'],\n})\nexport class PluginAddSelectComponent implements OnInit, OnDestroy {\n readonly selectedPluginDefinition$ = this.stateService.selectedPluginDefinition$;\n readonly disabled$ = this.stateService.inputDisabled$;\n readonly pluginDefinitionsWithLogos$ = this.stateService.pluginDefinitionsWithLogos$;\n\n private refreshSubscription!: Subscription;\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly stateService: PluginManagementStateService,\n private readonly translateService: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.openRefreshSubscription();\n this.getPluginDefinitions();\n }\n\n ngOnDestroy(): void {\n this.refreshSubscription?.unsubscribe();\n }\n\n selectPluginDefinition(pluginDefinition: PluginDefinition): void {\n this.stateService.selectPluginDefinition(pluginDefinition);\n }\n\n deselectPluginDefinition(): void {\n this.stateService.clearSelectedPluginDefinition();\n }\n\n private getPluginDefinitions(): void {\n this.pluginManagementService.getPluginDefinitions().subscribe(pluginDefinitions => {\n this.stateService.setPluginDefinitions(pluginDefinitions);\n });\n }\n\n private openRefreshSubscription(): void {\n this.refreshSubscription = combineLatest([\n this.stateService.showModal$,\n this.stateService.refresh$,\n ]).subscribe(() => {\n this.stateService.clearSelectedPluginDefinition();\n });\n }\n}\n","<!--\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=\"pluginDefinitionsWithLogos$ | async as pluginDefinitions; else loading\">\n <div fxLayout=\"row wrap\" fxLayoutGap=\"22px grid\">\n <ng-container\n *ngTemplateOutlet=\"pluginDefinitionsTemplate; context: {pluginDefinitions: pluginDefinitions}\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n noPluginDefinitionsTemplate;\n context: {pluginDefinitions: pluginDefinitions}\n \"\n ></ng-container>\n </div>\n</ng-container>\n\n<ng-template #noPluginDefinitionsTemplate let-pluginDefinitions=\"pluginDefinitions\">\n <div fxFlex=\"100%\" *ngIf=\"pluginDefinitions?.length === 0\">\n <v-paragraph [center]=\"true\" [fullWidth]=\"true\">{{\n 'pluginManagement.noDefinitions' | translate\n }}</v-paragraph>\n </div>\n</ng-template>\n\n<ng-template #pluginDefinitionsTemplate let-pluginDefinitions=\"pluginDefinitions\">\n <div fxFlex=\"33.3%\" *ngFor=\"let pluginDefinition of pluginDefinitions\">\n <v-card\n [title]=\"'title' | pluginTranslate: pluginDefinition.key | async\"\n [description]=\"'description' | pluginTranslate: pluginDefinition.key | async\"\n [selectable]=\"true\"\n [selected]=\"(selectedPluginDefinition$ | async)?.key === pluginDefinition.key\"\n [fullHeight]=\"true\"\n (selectEvent)=\"selectPluginDefinition(pluginDefinition)\"\n (deselectEvent)=\"deselectPluginDefinition()\"\n >\n <div *ngIf=\"pluginDefinition.pluginLogoBase64\" role=\"header\">\n <img\n class=\"plugin-definition-logo\"\n [title]=\"'title' | pluginTranslate: pluginDefinition.key | async\"\n [src]=\"pluginDefinition.pluginLogoBase64\"\n />\n </div>\n </v-card>\n </div>\n</ng-template>\n\n<ng-template #loading>\n <div fxLayout=\"row wrap\" fxLayoutGap=\"22px grid\">\n <ng-container *ngTemplateOutlet=\"loadingCard\"></ng-container>\n <ng-container *ngTemplateOutlet=\"loadingCard\"></ng-container>\n <ng-container *ngTemplateOutlet=\"loadingCard\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #loadingCard>\n <div fxFlex=\"33.3%\">\n <v-card [loading]=\"true\" [loadingDescription]=\"true\" [loadingTitle]=\"true\"></v-card>\n </div>\n</ng-template>\n","/*\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\nimport {Component, EventEmitter, Output} from '@angular/core';\nimport {map} from 'rxjs/operators';\nimport {PluginManagementStateService} from '../../services';\nimport {PluginConfigurationData} from '@valtimo/plugin';\n\n@Component({\n selector: 'valtimo-plugin-configure',\n templateUrl: './plugin-configure.component.html',\n styleUrls: ['./plugin-configure.component.scss'],\n})\nexport class PluginConfigureComponent {\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PluginConfigurationData> =\n new EventEmitter<PluginConfigurationData>();\n\n readonly save$ = this.stateService.save$;\n\n readonly pluginDefinitionKey$ = this.stateService.selectedPluginDefinition$.pipe(\n map(definition => definition?.key)\n );\n\n readonly disabled$ = this.stateService.inputDisabled$;\n\n constructor(private readonly stateService: PluginManagementStateService) {}\n\n onValid(valid: boolean): void {\n this.valid.emit(valid);\n }\n\n onConfiguration(configuration: PluginConfigurationData) {\n this.configuration.emit(configuration);\n }\n}\n","<!--\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<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [save$]=\"save$\"\n [disabled]=\"disabled$ | async\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n type=\"configuration\"\n></valtimo-plugin-configuration-container>\n","/*\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\nimport {Component, OnInit, ViewChild} from '@angular/core';\nimport {PluginManagementService, PluginManagementStateService} from '../../services';\nimport {take} from 'rxjs/operators';\nimport {ModalComponent, ModalService} from '@valtimo/user-interface';\nimport {BehaviorSubject, Subject, Subscription} from 'rxjs';\nimport {PluginConfigurationData} from '@valtimo/plugin';\nimport {NGXLogger} from 'ngx-logger';\n\n@Component({\n selector: 'valtimo-plugin-add-modal',\n templateUrl: './plugin-add-modal.component.html',\n styleUrls: ['./plugin-add-modal.component.scss'],\n})\nexport class PluginAddModalComponent implements OnInit {\n @ViewChild('pluginAddModal') pluginAddModal: ModalComponent;\n\n readonly inputDisabled$ = this.stateService.inputDisabled$;\n readonly selectedPluginDefinition$ = this.stateService.selectedPluginDefinition$;\n readonly configurationValid$ = new BehaviorSubject<boolean>(false);\n readonly returnToFirstStepSubject$ = new Subject<boolean>();\n\n private showSubscription!: Subscription;\n private hideSubscription!: Subscription;\n\n constructor(\n private readonly stateService: PluginManagementStateService,\n private readonly modalService: ModalService,\n private readonly pluginManagementService: PluginManagementService,\n private readonly logger: NGXLogger\n ) {}\n\n ngOnInit(): void {\n this.openShowSubscription();\n this.openHideSubscription();\n }\n\n complete(): void {\n this.stateService.save();\n }\n\n delete(): void {\n this.stateService.delete();\n }\n\n hide(): void {\n this.stateService.disableInput();\n this.modalService.closeModal();\n\n this.modalService.appearingDelayMs$.pipe(take(1)).subscribe(appearingDelay => {\n setTimeout(() => {\n this.returnToFirstStep();\n this.stateService.enableInput();\n this.stateService.clear();\n }, appearingDelay);\n });\n }\n\n onValid(valid: boolean): void {\n this.configurationValid$.next(valid);\n }\n\n onConfiguration(configuration: PluginConfigurationData): void {\n const pluginConfiguration = {...configuration};\n delete pluginConfiguration['configurationTitle'];\n\n this.stateService.disableInput();\n\n this.stateService.selectedPluginDefinition$.pipe(take(1)).subscribe(selectedDefinition => {\n this.pluginManagementService\n .savePluginConfiguration({\n definitionKey: selectedDefinition.key,\n title: configuration.configurationTitle,\n properties: pluginConfiguration,\n })\n .subscribe(\n response => {\n this.stateService.refresh();\n this.hide();\n },\n () => {\n this.logger.error('Something went wrong with saving the plugin configuration.');\n this.hide();\n }\n );\n });\n }\n\n private openShowSubscription(): void {\n this.showSubscription = this.stateService.showModal$.subscribe(modalType => {\n if (modalType === 'add') {\n this.show();\n }\n });\n }\n\n private openHideSubscription(): void {\n this.hideSubscription = this.stateService.hideModal$.subscribe(() => {\n this.hide();\n });\n }\n\n private returnToFirstStep(): void {\n this.returnToFirstStepSubject$.next(true);\n }\n\n private show(): void {\n this.modalService.openModal(this.pluginAddModal);\n }\n}\n","<!--\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<v-stepper-container\n (completeEvent)=\"complete()\"\n (cancelClickEvent)=\"hide()\"\n [disabled]=\"inputDisabled$ | async\"\n [returnToFirstStepSubject$]=\"returnToFirstStepSubject$\"\n>\n <v-modal #pluginAddModal (closeEvent)=\"hide()\">\n <div role=\"header\">\n <v-stepper-header></v-stepper-header>\n </div>\n <div role=\"content\">\n <v-stepper-content>\n <v-stepper-step titleTranslationKey=\"pluginManagement.addSteps.step0\">\n <valtimo-plugin-add-select></valtimo-plugin-add-select>\n </v-stepper-step>\n <v-stepper-step titleTranslationKey=\"pluginManagement.addSteps.step1\">\n <valtimo-plugin-configure\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n ></valtimo-plugin-configure>\n </v-stepper-step>\n </v-stepper-content>\n </div>\n <div role=\"footer\">\n <v-stepper-footer>\n <v-stepper-footer-step\n nextButtonTranslationKey=\"pluginManagement.addSteps.step1\"\n [nextButtonEnabled]=\"selectedPluginDefinition$ | async\"\n ></v-stepper-footer-step>\n <v-stepper-footer-step\n completeButtonTranslationKey=\"pluginManagement.addSteps.complete\"\n [completeButtonEnabled]=\"configurationValid$ | async\"\n ></v-stepper-footer-step>\n </v-stepper-footer>\n </div>\n </v-modal>\n</v-stepper-container>\n","/*\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\nimport {Component} from '@angular/core';\nimport {BehaviorSubject, combineLatest} from 'rxjs';\nimport {TableColumn} from '@valtimo/user-interface';\nimport {PluginManagementStateService, PluginManagementService} from '../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {map, switchMap, tap} from 'rxjs/operators';\nimport {PluginTranslationService} from '@valtimo/plugin';\n\n@Component({\n selector: 'valtimo-plugin-management',\n templateUrl: './plugin-management.component.html',\n styleUrls: ['./plugin-management.component.scss'],\n})\nexport class PluginManagementComponent {\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly columns$ = new BehaviorSubject<Array<TableColumn>>([\n {\n labelTranslationKey: 'pluginManagement.labels.pluginName',\n dataKey: 'pluginName',\n },\n {\n labelTranslationKey: 'pluginManagement.labels.identifier',\n dataKey: 'definitionKey',\n },\n {\n labelTranslationKey: 'pluginManagement.labels.configurationName',\n dataKey: 'title',\n },\n ]);\n\n readonly pluginConfigurations$ = this.stateService.refresh$.pipe(\n switchMap(() =>\n combineLatest([\n this.pluginManagementService.getAllPluginConfigurations(),\n this.translateService.stream('key'),\n ]).pipe(\n map(([pluginConfigurations]) =>\n pluginConfigurations.map(configuration => ({\n ...configuration,\n pluginName: this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n ),\n definitionKey: configuration.pluginDefinition.key,\n }))\n ),\n tap(() => {\n this.loading$.next(false);\n })\n )\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly stateService: PluginManagementStateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n showAddModal(): void {\n this.stateService.showModal('add');\n }\n}\n","<!--\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<v-page-container\n *ngIf=\"{\n pluginConfigurations: pluginConfigurations$ | async,\n columns: columns$ | async,\n loading: loading$ | async\n } as obs\"\n>\n <v-page-header>\n <v-page-header-introduction>\n <v-title>{{ 'pages.plugins.title' | translate }}</v-title>\n <v-paragraph>{{ 'pages.plugins.description' | translate }}</v-paragraph>\n </v-page-header-introduction>\n <v-page-header-actions>\n <v-button\n (clickEvent)=\"showAddModal()\"\n type=\"primary\"\n mdiIcon=\"plus\"\n [disabled]=\"obs.loading\"\n >\n {{ 'pluginManagement.add' | translate }}\n </v-button>\n </v-page-header-actions>\n </v-page-header>\n <v-page-content>\n <v-table\n [loading]=\"obs.loading\"\n [items]=\"obs.pluginConfigurations\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"false\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n ></v-table>\n </v-page-content>\n</v-page-container>\n\n<valtimo-plugin-add-modal></valtimo-plugin-add-modal>\n","/*\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 distributed under the License is distributed on an \"AS IS\" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ROLE_ADMIN} from '@valtimo/config';\nimport {PluginManagementComponent} from './components/plugin-management/plugin-management.component';\n\nconst routes: Routes = [\n {\n path: 'plugins',\n component: PluginManagementComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Plugins', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class PluginManagementRoutingModule {}\n","/*\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 distributed under the License is distributed on an \"AS IS\" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {PluginManagementRoutingModule} from './plugin-management-routing';\nimport {CommonModule} from '@angular/common';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {FlexLayoutModule} from '@angular/flex-layout';\nimport {PluginManagementComponent} from './components/plugin-management/plugin-management.component';\nimport {\n PageModule,\n ParagraphModule,\n TitleModule,\n TableModule,\n StepperModule,\n ModalModule,\n ButtonModule,\n CardModule,\n} from '@valtimo/user-interface';\nimport {PluginAddModalComponent} from './components/plugin-add-modal/plugin-add-modal.component';\nimport {PluginManagementStateService} from './services';\nimport {PluginAddSelectComponent} from './components/plugin-add-select/plugin-add-select.component';\nimport {PluginConfigureComponent} from './components/plugin-configure/plugin-configure.component';\nimport {PluginTranslatePipeModule, PluginConfigurationContainerModule} from '@valtimo/plugin';\n\n@NgModule({\n providers: [PluginManagementStateService],\n declarations: [\n PluginManagementComponent,\n PluginAddModalComponent,\n PluginAddSelectComponent,\n PluginConfigureComponent,\n ],\n imports: [\n CommonModule,\n PluginManagementRoutingModule,\n TranslateModule,\n FlexLayoutModule,\n PageModule,\n ParagraphModule,\n TitleModule,\n TableModule,\n StepperModule,\n ModalModule,\n ButtonModule,\n CardModule,\n PluginTranslatePipeModule,\n PluginConfigurationContainerModule,\n ],\n exports: [\n PluginManagementComponent,\n PluginAddModalComponent,\n PluginAddSelectComponent,\n PluginConfigureComponent,\n ],\n})\nexport class PluginManagementModule {}\n","/*\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 distributed under the License is distributed on an \"AS IS\" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions and limitations under the License.\n */\n\n/*\n * Public API Surface of plugin-management\n */\n\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/plugin-management.module';\nexport * from './lib/components/plugin-management/plugin-management.component';\nexport * from './lib/components/plugin-add-modal/plugin-add-modal.component';\nexport * from './lib/components/plugin-add-select/plugin-add-select.component';\nexport * from './lib/components/plugin-configure/plugin-configure.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.PluginManagementService","i1.PluginManagementStateService","i3","i4","i6","i4.PluginAddSelectComponent","i5.PluginConfigureComponent","i5.PluginAddModalComponent"],"mappings":"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"}