@valtimo/plugin-management 5.4.0 → 5.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/plugin-add-select/plugin-add-select.component.mjs +1 -1
- package/esm2020/lib/components/plugin-configure/plugin-configure.component.mjs +4 -4
- package/esm2020/lib/components/plugin-management/plugin-management.component.mjs +1 -1
- package/esm2020/lib/models/index.mjs +6 -2
- package/esm2020/lib/models/plugin-modal.model.mjs +6 -2
- package/esm2020/lib/models/plugin.model.mjs +6 -2
- package/esm2020/lib/plugin-management-routing.mjs +6 -2
- package/esm2020/lib/plugin-management.module.mjs +6 -2
- package/esm2020/lib/services/index.mjs +6 -2
- package/esm2020/lib/services/plugin-management-state.service.mjs +6 -2
- package/esm2020/lib/services/plugin-management.service.mjs +5 -52
- package/esm2020/public-api.mjs +6 -2
- package/fesm2015/valtimo-plugin-management.mjs +39 -62
- package/fesm2015/valtimo-plugin-management.mjs.map +1 -1
- package/fesm2020/valtimo-plugin-management.mjs +49 -64
- package/fesm2020/valtimo-plugin-management.mjs.map +1 -1
- package/lib/components/plugin-configure/plugin-configure.component.d.ts +1 -1
- package/lib/components/plugin-configure/plugin-configure.component.d.ts.map +1 -1
- package/lib/components/plugin-management/plugin-management.component.d.ts +1 -1
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/plugin-modal.model.d.ts.map +1 -1
- package/lib/models/plugin.model.d.ts +3 -1
- package/lib/models/plugin.model.d.ts.map +1 -1
- package/lib/plugin-management-routing.d.ts.map +1 -1
- package/lib/plugin-management.module.d.ts.map +1 -1
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/plugin-management-state.service.d.ts.map +1 -1
- package/lib/services/plugin-management.service.d.ts +0 -3
- package/lib/services/plugin-management.service.d.ts.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts.map +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, Component, EventEmitter, Output, ViewChild, NgModule } from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { combineLatest, Subject, BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { map, take, switchMap, tap } from 'rxjs/operators';
|
|
5
5
|
import * as i1 from '@valtimo/config';
|
|
6
6
|
import { ROLE_ADMIN } from '@valtimo/config';
|
|
7
7
|
import * as i2 from '@valtimo/plugin';
|
|
@@ -30,7 +30,11 @@ import { FlexLayoutModule } from '@angular/flex-layout';
|
|
|
30
30
|
*
|
|
31
31
|
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
32
32
|
*
|
|
33
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
33
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
34
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
35
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
36
|
+
* See the License for the specific language governing permissions and
|
|
37
|
+
* limitations under the License.
|
|
34
38
|
*/
|
|
35
39
|
|
|
36
40
|
/*
|
|
@@ -42,7 +46,11 @@ import { FlexLayoutModule } from '@angular/flex-layout';
|
|
|
42
46
|
*
|
|
43
47
|
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
44
48
|
*
|
|
45
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
49
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
50
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
51
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
52
|
+
* See the License for the specific language governing permissions and
|
|
53
|
+
* limitations under the License.
|
|
46
54
|
*/
|
|
47
55
|
|
|
48
56
|
/*
|
|
@@ -54,7 +62,11 @@ import { FlexLayoutModule } from '@angular/flex-layout';
|
|
|
54
62
|
*
|
|
55
63
|
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
56
64
|
*
|
|
57
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
65
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
66
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
67
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
68
|
+
* See the License for the specific language governing permissions and
|
|
69
|
+
* limitations under the License.
|
|
58
70
|
*/
|
|
59
71
|
|
|
60
72
|
/*
|
|
@@ -79,59 +91,12 @@ class PluginManagementService {
|
|
|
79
91
|
this.sanitizer = sanitizer;
|
|
80
92
|
this.http = http;
|
|
81
93
|
this.VALTIMO_API_ENDPOINT_URI = this.configService.config.valtimoApi.endpointUri;
|
|
82
|
-
this.CONFIGURATIONS = [
|
|
83
|
-
{
|
|
84
|
-
definitionKey: 'openzaak',
|
|
85
|
-
key: '1ebdad87-3899-4ab7-b4ad-403237b17dbd',
|
|
86
|
-
title: 'Den Haag Open Zaak 1',
|
|
87
|
-
properties: {},
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
definitionKey: 'openzaak',
|
|
91
|
-
key: '1ebdad87-3899-4ab7-b4ad-403237b17dbe',
|
|
92
|
-
title: 'Den Haag Open Zaak 2',
|
|
93
|
-
properties: {},
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
definitionKey: 'smartdocuments',
|
|
97
|
-
key: '1ebdad87-3899-4ab7-b4ad-403237b17dbx',
|
|
98
|
-
title: 'Den Haag SmartDocuments 1',
|
|
99
|
-
properties: {},
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
definitionKey: 'smartdocuments',
|
|
103
|
-
key: '1ebdad87-3899-4ab7-b4ad-403237b17dby',
|
|
104
|
-
title: 'Den Haag SmartDocuments 2',
|
|
105
|
-
properties: {},
|
|
106
|
-
},
|
|
107
|
-
];
|
|
108
94
|
}
|
|
109
95
|
getPluginDefinitions() {
|
|
110
96
|
return this.http.get(`${this.VALTIMO_API_ENDPOINT_URI}plugin/definition`);
|
|
111
97
|
}
|
|
112
|
-
getPluginConfigurations(pluginDefinitionId) {
|
|
113
|
-
return of(this.CONFIGURATIONS).pipe(delay(1500));
|
|
114
|
-
}
|
|
115
|
-
getPluginConfigurationsWithLogos(pluginDefinitionId) {
|
|
116
|
-
return this.returnPluginConfigurationsWithLogos(this.getPluginConfigurations(pluginDefinitionId));
|
|
117
|
-
}
|
|
118
98
|
getPluginFunctions(pluginDefinitionId) {
|
|
119
|
-
return
|
|
120
|
-
? [
|
|
121
|
-
{
|
|
122
|
-
key: 'create-zaak',
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
key: 'set-status',
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
key: 'set-resultaat',
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
key: 'set-besluit',
|
|
132
|
-
},
|
|
133
|
-
]
|
|
134
|
-
: [{ key: 'generate-document' }]).pipe(delay(1500));
|
|
99
|
+
return this.http.get(`${this.VALTIMO_API_ENDPOINT_URI}plugin/definition/${pluginDefinitionId}/action`);
|
|
135
100
|
}
|
|
136
101
|
getAllPluginConfigurations() {
|
|
137
102
|
return this.http.get(`${this.VALTIMO_API_ENDPOINT_URI}plugin/configuration`);
|
|
@@ -144,7 +109,7 @@ class PluginManagementService {
|
|
|
144
109
|
}
|
|
145
110
|
returnPluginConfigurationsWithLogos(pluginConfigurations$) {
|
|
146
111
|
return combineLatest([pluginConfigurations$, this.pluginService.pluginSpecifications$]).pipe(map(([pluginConfigurations, pluginSpecifications]) => pluginConfigurations?.map(pluginConfiguration => {
|
|
147
|
-
const pluginSpecification = pluginSpecifications.find(specification => specification.pluginId === pluginConfiguration
|
|
112
|
+
const pluginSpecification = pluginSpecifications.find(specification => specification.pluginId === pluginConfiguration?.pluginDefinition?.key);
|
|
148
113
|
return {
|
|
149
114
|
...pluginConfiguration,
|
|
150
115
|
...(pluginSpecification?.pluginLogoBase64 && {
|
|
@@ -172,7 +137,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
172
137
|
*
|
|
173
138
|
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
174
139
|
*
|
|
175
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
140
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
141
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
142
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
143
|
+
* See the License for the specific language governing permissions and
|
|
144
|
+
* limitations under the License.
|
|
176
145
|
*/
|
|
177
146
|
class PluginManagementStateService {
|
|
178
147
|
constructor(pluginService, sanitizer) {
|
|
@@ -291,7 +260,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
291
260
|
*
|
|
292
261
|
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
293
262
|
*
|
|
294
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
263
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
264
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
265
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
266
|
+
* See the License for the specific language governing permissions and
|
|
267
|
+
* limitations under the License.
|
|
295
268
|
*/
|
|
296
269
|
|
|
297
270
|
/*
|
|
@@ -346,7 +319,7 @@ class PluginAddSelectComponent {
|
|
|
346
319
|
}
|
|
347
320
|
}
|
|
348
321
|
PluginAddSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PluginAddSelectComponent, deps: [{ token: PluginManagementService }, { token: PluginManagementStateService }, { token: i2$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
349
|
-
PluginAddSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PluginAddSelectComponent, selector: "valtimo-plugin-add-select", ngImport: i0, 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=\"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", 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{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plugin-definition-logo{object-fit:contain;height:60px;width:100%}\n"], components: [{ type: i2$2.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth"] }, { type: i2$2.CardComponent, selector: "v-card", inputs: ["titleTranslationKey", "title", "descriptionTranslationKey", "description", "selectable", "selected", "fullHeight", "loading", "loadingTitle", "loadingDescription"], outputs: ["selectEvent", "deselectEvent"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i5.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i2$1.TranslatePipe, "pluginTranslate": i2.PluginTranslatePipe } });
|
|
322
|
+
PluginAddSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PluginAddSelectComponent, selector: "valtimo-plugin-add-select", ngImport: i0, 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=\"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", 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{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plugin-definition-logo{object-fit:contain;height:60px;width:100%}\n"], components: [{ type: i2$2.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic"] }, { type: i2$2.CardComponent, selector: "v-card", inputs: ["titleTranslationKey", "title", "descriptionTranslationKey", "description", "selectable", "selected", "fullHeight", "loading", "loadingTitle", "loadingDescription"], outputs: ["selectEvent", "deselectEvent"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i5.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i2$1.TranslatePipe, "pluginTranslate": i2.PluginTranslatePipe } });
|
|
350
323
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PluginAddSelectComponent, decorators: [{
|
|
351
324
|
type: Component,
|
|
352
325
|
args: [{ selector: 'valtimo-plugin-add-select', 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=\"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", 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{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plugin-definition-logo{object-fit:contain;height:60px;width:100%}\n"] }]
|
|
@@ -379,15 +352,15 @@ class PluginConfigureComponent {
|
|
|
379
352
|
onValid(valid) {
|
|
380
353
|
this.valid.emit(valid);
|
|
381
354
|
}
|
|
382
|
-
|
|
355
|
+
onFunctionConfiguration(configuration) {
|
|
383
356
|
this.configuration.emit(configuration);
|
|
384
357
|
}
|
|
385
358
|
}
|
|
386
359
|
PluginConfigureComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PluginConfigureComponent, deps: [{ token: PluginManagementStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
387
|
-
PluginConfigureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PluginConfigureComponent, selector: "valtimo-plugin-configure", outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, 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<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [save$]=\"save$\"\n [disabled]=\"disabled
|
|
360
|
+
PluginConfigureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PluginConfigureComponent, selector: "valtimo-plugin-configure", outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, 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<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"disabled$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onFunctionConfiguration($event)\"\n type=\"configuration\"\n></valtimo-plugin-configuration-container>\n", 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 */\n"], components: [{ type: i2.PluginConfigurationContainerComponent, selector: "valtimo-plugin-configuration-container", inputs: ["type", "pluginDefinitionKey", "functionKey", "save$", "disabled$", "prefillConfiguration$"], outputs: ["valid", "configuration"] }], pipes: { "async": i4$1.AsyncPipe } });
|
|
388
361
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PluginConfigureComponent, decorators: [{
|
|
389
362
|
type: Component,
|
|
390
|
-
args: [{ selector: 'valtimo-plugin-configure', 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<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [save$]=\"save$\"\n [disabled]=\"disabled
|
|
363
|
+
args: [{ selector: 'valtimo-plugin-configure', 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<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"disabled$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onFunctionConfiguration($event)\"\n type=\"configuration\"\n></valtimo-plugin-configuration-container>\n", 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 */\n"] }]
|
|
391
364
|
}], ctorParameters: function () { return [{ type: PluginManagementStateService }]; }, propDecorators: { valid: [{
|
|
392
365
|
type: Output
|
|
393
366
|
}], configuration: [{
|
|
@@ -545,7 +518,7 @@ class PluginManagementComponent {
|
|
|
545
518
|
}
|
|
546
519
|
}
|
|
547
520
|
PluginManagementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PluginManagementComponent, deps: [{ token: PluginManagementService }, { token: i2$1.TranslateService }, { token: PluginManagementStateService }, { token: i2.PluginTranslationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
548
|
-
PluginManagementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PluginManagementComponent, selector: "valtimo-plugin-management", ngImport: i0, 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<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", 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 */\n"], components: [{ type: i2$2.PageContainerComponent, selector: "v-page-container" }, { type: i2$2.PageHeaderComponent, selector: "v-page-header" }, { type: i2$2.PageHeaderIntroductionComponent, selector: "v-page-header-introduction" }, { type: i2$2.TitleComponent, selector: "v-title", inputs: ["type", "margin"] }, { type: i2$2.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth"] }, { type: i2$2.PageHeaderActionsComponent, selector: "v-page-header-actions" }, { type: i2$2.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { type: i2$2.PageContentComponent, selector: "v-page-content" }, { type: i2$2.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "maxPaginationItemSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { type: PluginAddModalComponent, selector: "valtimo-plugin-add-modal" }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i2$1.TranslatePipe } });
|
|
521
|
+
PluginManagementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PluginManagementComponent, selector: "valtimo-plugin-management", ngImport: i0, 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<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", 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 */\n"], components: [{ type: i2$2.PageContainerComponent, selector: "v-page-container" }, { type: i2$2.PageHeaderComponent, selector: "v-page-header" }, { type: i2$2.PageHeaderIntroductionComponent, selector: "v-page-header-introduction" }, { type: i2$2.TitleComponent, selector: "v-title", inputs: ["type", "margin"] }, { type: i2$2.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic"] }, { type: i2$2.PageHeaderActionsComponent, selector: "v-page-header-actions" }, { type: i2$2.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { type: i2$2.PageContentComponent, selector: "v-page-content" }, { type: i2$2.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "maxPaginationItemSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { type: PluginAddModalComponent, selector: "valtimo-plugin-add-modal" }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i2$1.TranslatePipe } });
|
|
549
522
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PluginManagementComponent, decorators: [{
|
|
550
523
|
type: Component,
|
|
551
524
|
args: [{ selector: 'valtimo-plugin-management', 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<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", 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 */\n"] }]
|
|
@@ -560,7 +533,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
560
533
|
*
|
|
561
534
|
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
562
535
|
*
|
|
563
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
536
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
537
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
538
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
539
|
+
* See the License for the specific language governing permissions and
|
|
540
|
+
* limitations under the License.
|
|
564
541
|
*/
|
|
565
542
|
const routes = [
|
|
566
543
|
{
|
|
@@ -593,7 +570,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
593
570
|
*
|
|
594
571
|
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
595
572
|
*
|
|
596
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
573
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
574
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
575
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
576
|
+
* See the License for the specific language governing permissions and
|
|
577
|
+
* limitations under the License.
|
|
597
578
|
*/
|
|
598
579
|
class PluginManagementModule {
|
|
599
580
|
}
|
|
@@ -678,7 +659,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
678
659
|
*
|
|
679
660
|
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
680
661
|
*
|
|
681
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
662
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
663
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
664
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
665
|
+
* See the License for the specific language governing permissions and
|
|
666
|
+
* limitations under the License.
|
|
682
667
|
*/
|
|
683
668
|
|
|
684
669
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtimo-plugin-management.mjs","sources":["../../../../projects/valtimo/plugin-management/src/lib/models/plugin.model.ts","../../../../projects/valtimo/plugin-management/src/lib/models/plugin-modal.model.ts","../../../../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\nimport {SafeResourceUrl} from '@angular/platform-browser';\n\ninterface PluginDefinition {\n key: string;\n description?: string;\n title?: string;\n}\n\ninterface PluginDefinitionWithLogo extends PluginDefinition {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginConfiguration {\n definitionKey?: string;\n pluginDefinition?: PluginDefinition;\n key?: string;\n title: string;\n properties: object;\n}\n\ninterface PluginConfigurationWithLogo extends PluginConfiguration {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginFunction {\n key: string;\n}\n\nexport {\n PluginConfiguration,\n PluginDefinition,\n PluginFunction,\n PluginDefinitionWithLogo,\n PluginConfigurationWithLogo,\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\ntype PluginModal = 'add' | 'edit';\n\nexport {PluginModal};\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.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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"}
|
|
1
|
+
{"version":3,"file":"valtimo-plugin-management.mjs","sources":["../../../../projects/valtimo/plugin-management/src/lib/models/plugin.model.ts","../../../../projects/valtimo/plugin-management/src/lib/models/plugin-modal.model.ts","../../../../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\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 {SafeResourceUrl} from '@angular/platform-browser';\n\ninterface PluginDefinition {\n key: string;\n description?: string;\n title?: string;\n}\n\ninterface PluginDefinitionWithLogo extends PluginDefinition {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginConfiguration {\n definitionKey?: string;\n pluginDefinition?: PluginDefinition;\n id?: string;\n title: string;\n properties: object;\n}\n\ninterface PluginConfigurationWithLogo extends PluginConfiguration {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginFunction {\n description?: string;\n key: string;\n title?: string;\n}\n\nexport {\n PluginConfiguration,\n PluginDefinition,\n PluginFunction,\n PluginDefinitionWithLogo,\n PluginConfigurationWithLogo,\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\ntype PluginModal = 'add' | 'edit';\n\nexport {PluginModal};\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\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 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 getPluginFunctions(pluginDefinitionId: string): Observable<Array<PluginFunction>> {\n return this.http.get<Array<PluginFunction>>(\n `${this.VALTIMO_API_ENDPOINT_URI}plugin/definition/${pluginDefinitionId}/action`\n );\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?.pluginDefinition?.key\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\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 {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\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\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 onFunctionConfiguration(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$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onFunctionConfiguration($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\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 {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\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 {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\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/*\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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"}
|