@valtimo/connector-management 4.15.3-next-main.14 → 4.16.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/README.md +16 -7
- package/bundles/valtimo-connector-management.umd.js +244 -173
- package/bundles/valtimo-connector-management.umd.js.map +1 -1
- package/bundles/valtimo-connector-management.umd.min.js +2 -2
- package/bundles/valtimo-connector-management.umd.min.js.map +1 -1
- package/esm2015/lib/components/add-connector/add-connector.component.js +12 -8
- package/esm2015/lib/components/connector-link-extension/connector-link-extension.component.js +20 -11
- package/esm2015/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.js +19 -17
- package/esm2015/lib/components/connector-management/connector-management.component.js +23 -15
- package/esm2015/lib/components/connector-modal/connector-modal.component.js +2 -2
- package/esm2015/lib/components/edit-connector-form/edit-connector-form.component.js +1 -1
- package/esm2015/lib/components/edit-connector-properties/edit-connector-properties.component.js +17 -13
- package/esm2015/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.js +20 -13
- package/esm2015/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.form.js +89 -89
- package/esm2015/lib/components/modify-connector/modify-connector.component.js +9 -7
- package/esm2015/lib/components/multi-value-connector-property/multi-value-connector-property.component.js +15 -11
- package/esm2015/lib/connector-management-routing.js +5 -8
- package/esm2015/lib/connector-management.module.js +5 -7
- package/esm2015/lib/extension/connector-management.extension.init.js +2 -2
- package/esm2015/lib/models/connector.model.js +1 -0
- package/esm2015/lib/models/index.js +20 -0
- package/esm2015/lib/models/object-sync.js +1 -0
- package/esm2015/lib/services/connector-management/connector-management.service.js +2 -2
- package/esm2015/lib/services/connector-management-state/connector-management-state.service.js +2 -2
- package/esm2015/lib/services/object-api-sync/object-api-sync.service.js +2 -2
- package/esm2015/public-api.js +2 -1
- package/esm2015/valtimo-connector-management.js +1 -1
- package/fesm2015/valtimo-connector-management.js +244 -192
- package/fesm2015/valtimo-connector-management.js.map +1 -1
- package/lib/components/add-connector/add-connector.component.d.ts +1 -1
- package/lib/components/connector-link-extension/connector-link-extension.component.d.ts +1 -1
- package/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.d.ts +2 -2
- package/lib/components/connector-management/connector-management.component.d.ts +2 -1
- package/lib/components/connector-modal/connector-modal.component.d.ts +1 -1
- package/lib/components/edit-connector-form/edit-connector-form.component.d.ts +1 -1
- package/lib/components/edit-connector-properties/edit-connector-properties.component.d.ts +1 -1
- package/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.d.ts +1 -1
- package/lib/components/modify-connector/modify-connector.component.d.ts +1 -1
- package/lib/components/multi-value-connector-property/multi-value-connector-property.component.d.ts +1 -1
- package/lib/models/connector.model.d.ts +36 -0
- package/lib/models/index.d.ts +2 -0
- package/lib/models/object-sync.d.ts +19 -0
- package/lib/services/connector-management/connector-management.service.d.ts +2 -1
- package/lib/services/connector-management-state/connector-management-state.service.d.ts +1 -1
- package/lib/services/object-api-sync/object-api-sync.service.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/valtimo-connector-management.metadata.json +1 -1
|
@@ -2,18 +2,35 @@ import { ɵɵdefineInjectable, ɵɵinject, Injectable, Component, NgModule, View
|
|
|
2
2
|
import { RouterModule, ActivatedRoute } from '@angular/router';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { AuthGuardService } from '@valtimo/security';
|
|
5
|
-
import { ROLE_ADMIN, Extension, BasicExtensionPoint } from '@valtimo/
|
|
5
|
+
import { ConfigService, ROLE_ADMIN, Extension, BasicExtensionPoint } from '@valtimo/config';
|
|
6
6
|
import { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';
|
|
7
7
|
import { map, tap, switchMap, take, catchError } from 'rxjs/operators';
|
|
8
8
|
import { TranslateService, TranslateModule } from '@ngx-translate/core';
|
|
9
9
|
import { HttpClient } from '@angular/common/http';
|
|
10
|
-
import { ConfigService } from '@valtimo/config';
|
|
11
10
|
import { AlertService, WidgetModule, ListModule, SpinnerModule, ModalModule, FormIoModule } from '@valtimo/components';
|
|
12
11
|
import { get, set, cloneDeep } from 'lodash';
|
|
13
12
|
import { FormTranslationService, FormMappingService } from '@valtimo/form';
|
|
14
13
|
import { DocumentService } from '@valtimo/document';
|
|
15
14
|
import { NGXLogger } from 'ngx-logger';
|
|
16
15
|
|
|
16
|
+
/*
|
|
17
|
+
*
|
|
18
|
+
* * Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
19
|
+
* *
|
|
20
|
+
* * Licensed under EUPL, Version 1.2 (the "License");
|
|
21
|
+
* * you may not use this file except in compliance with the License.
|
|
22
|
+
* * You may obtain a copy of the License at
|
|
23
|
+
* *
|
|
24
|
+
* * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
25
|
+
* *
|
|
26
|
+
* * Unless required by applicable law or agreed to in writing, software
|
|
27
|
+
* * distributed under the License is distributed on an "AS IS" basis,
|
|
28
|
+
* * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
29
|
+
* * See the License for the specific language governing permissions and
|
|
30
|
+
* * limitations under the License.
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
33
|
+
|
|
17
34
|
/*
|
|
18
35
|
* Copyright 2020 Dimpact.
|
|
19
36
|
*
|
|
@@ -60,7 +77,7 @@ class ConnectorManagementService {
|
|
|
60
77
|
ConnectorManagementService.ɵprov = ɵɵdefineInjectable({ factory: function ConnectorManagementService_Factory() { return new ConnectorManagementService(ɵɵinject(HttpClient), ɵɵinject(ConfigService)); }, token: ConnectorManagementService, providedIn: "root" });
|
|
61
78
|
ConnectorManagementService.decorators = [
|
|
62
79
|
{ type: Injectable, args: [{
|
|
63
|
-
providedIn: 'root'
|
|
80
|
+
providedIn: 'root',
|
|
64
81
|
},] }
|
|
65
82
|
];
|
|
66
83
|
ConnectorManagementService.ctorParameters = () => [
|
|
@@ -144,7 +161,7 @@ class ConnectorManagementStateService {
|
|
|
144
161
|
ConnectorManagementStateService.ɵprov = ɵɵdefineInjectable({ factory: function ConnectorManagementStateService_Factory() { return new ConnectorManagementStateService(); }, token: ConnectorManagementStateService, providedIn: "root" });
|
|
145
162
|
ConnectorManagementStateService.decorators = [
|
|
146
163
|
{ type: Injectable, args: [{
|
|
147
|
-
providedIn: 'root'
|
|
164
|
+
providedIn: 'root',
|
|
148
165
|
},] }
|
|
149
166
|
];
|
|
150
167
|
|
|
@@ -176,21 +193,29 @@ class ConnectorManagementComponent {
|
|
|
176
193
|
});
|
|
177
194
|
this.pageSizes$ = new BehaviorSubject({
|
|
178
195
|
collectionSize: 0,
|
|
179
|
-
maxPaginationItemSize: 5
|
|
196
|
+
maxPaginationItemSize: 5,
|
|
180
197
|
});
|
|
181
|
-
this.pagination$ = combineLatest([
|
|
182
|
-
.
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
this.
|
|
198
|
+
this.pagination$ = combineLatest([
|
|
199
|
+
this.currentPageAndSize$,
|
|
200
|
+
this.pageSizes$,
|
|
201
|
+
]).pipe(map(([currentPage, sizes]) => (Object.assign(Object.assign(Object.assign({}, currentPage), sizes), { page: currentPage.page + 1 }))));
|
|
202
|
+
this.connectorInstances$ = combineLatest([
|
|
203
|
+
this.currentPageAndSize$,
|
|
204
|
+
this.translateService.stream('key'),
|
|
205
|
+
this.stateService.refresh$,
|
|
206
|
+
]).pipe(tap(() => this.setFields()), switchMap(([currentPage]) => combineLatest([
|
|
207
|
+
this.connectorManagementService.getConnectorInstances({
|
|
208
|
+
page: currentPage.page,
|
|
209
|
+
size: currentPage.size,
|
|
210
|
+
}),
|
|
211
|
+
this.connectorManagementService.getConnectorTypes(),
|
|
187
212
|
])), tap(([instanceRes]) => {
|
|
188
|
-
this.pageSizes$.pipe(take(1)).subscribe(
|
|
213
|
+
this.pageSizes$.pipe(take(1)).subscribe(sizes => {
|
|
189
214
|
this.pageSizes$.next(Object.assign(Object.assign({}, sizes), { collectionSize: instanceRes.totalElements }));
|
|
190
215
|
});
|
|
191
|
-
}), map(([instanceRes, typesRes]) => instanceRes.content.map(
|
|
216
|
+
}), map(([instanceRes, typesRes]) => instanceRes.content.map(instance => {
|
|
192
217
|
var _a;
|
|
193
|
-
return Object.assign(Object.assign({}, instance), { typeName: (_a = typesRes.find(
|
|
218
|
+
return Object.assign(Object.assign({}, instance), { typeName: (_a = typesRes.find(type => type.id === instance.type.id)) === null || _a === void 0 ? void 0 : _a.name });
|
|
194
219
|
})), tap(() => this.loading$.next(false)));
|
|
195
220
|
this.modalType$ = new BehaviorSubject('add');
|
|
196
221
|
}
|
|
@@ -198,13 +223,13 @@ class ConnectorManagementComponent {
|
|
|
198
223
|
this.stateService.hideModal();
|
|
199
224
|
}
|
|
200
225
|
paginationClicked(newPageNumber) {
|
|
201
|
-
this.currentPageAndSize$.pipe(take(1)).subscribe(
|
|
226
|
+
this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {
|
|
202
227
|
this.currentPageAndSize$.next(Object.assign(Object.assign({}, currentPage), { page: newPageNumber - 1 }));
|
|
203
228
|
});
|
|
204
229
|
}
|
|
205
230
|
paginationSet(newPageSize) {
|
|
206
231
|
if (newPageSize) {
|
|
207
|
-
this.currentPageAndSize$.pipe(take(1)).subscribe(
|
|
232
|
+
this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {
|
|
208
233
|
this.currentPageAndSize$.next(Object.assign(Object.assign({}, currentPage), { size: newPageSize }));
|
|
209
234
|
});
|
|
210
235
|
}
|
|
@@ -221,13 +246,13 @@ class ConnectorManagementComponent {
|
|
|
221
246
|
setFields() {
|
|
222
247
|
const getTranslatedLabel = (key) => this.translateService.instant(`connectorManagement.labels.${key}`);
|
|
223
248
|
const keys = ['name', 'typeName'];
|
|
224
|
-
this.fields$.next(keys.map(
|
|
249
|
+
this.fields$.next(keys.map(key => ({ label: getTranslatedLabel(key), key })));
|
|
225
250
|
}
|
|
226
251
|
}
|
|
227
252
|
ConnectorManagementComponent.decorators = [
|
|
228
253
|
{ type: Component, args: [{
|
|
229
254
|
selector: 'valtimo-connector-management',
|
|
230
|
-
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<div
|
|
255
|
+
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<div\n class=\"main-content pt-0\"\n *ngIf=\"{\n connectorInstances: connectorInstances$ | async,\n fields: fields$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <ng-container *ngTemplateOutlet=\"buttons; context: {loading: obs.loading}\"></ng-container>\n <valtimo-widget *ngIf=\"obs.loading === false; else loading\">\n <valtimo-list\n [items]=\"obs.connectorInstances\"\n [fields]=\"obs.fields\"\n [header]=\"true\"\n [viewMode]=\"true\"\n [isSearchable]=\"false\"\n [pagination]=\"obs.pagination\"\n paginationIdentifier=\"connectorManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"rowClicked($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'connectorManagement.title' | translate }}</h3>\n <h5 class=\"list-header-description\">{{ 'connectorManagement.subtitle' | translate }}</h5>\n </div>\n </valtimo-list>\n </valtimo-widget>\n </div>\n</div>\n\n<valtimo-connector-modal [modalType]=\"modalType$ | async\"> </valtimo-connector-modal>\n\n<ng-template #buttons let-loading=\"loading\">\n <div class=\"btn-group mt-m3px mb-3 float-right\">\n <button class=\"btn btn-primary btn-space mr-0\" [disabled]=\"loading\" (click)=\"showAddModal()\">\n <i class=\"icon mdi mdi-plus\"></i> \n {{ 'connectorManagement.add' | translate }}\n </button>\n </div>\n <div class=\"clearfix\"></div>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n",
|
|
231
256
|
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 */"]
|
|
232
257
|
},] }
|
|
233
258
|
];
|
|
@@ -258,7 +283,7 @@ const routes = [
|
|
|
258
283
|
path: 'connectors',
|
|
259
284
|
component: ConnectorManagementComponent,
|
|
260
285
|
canActivate: [AuthGuardService],
|
|
261
|
-
data: ɵ0
|
|
286
|
+
data: ɵ0,
|
|
262
287
|
},
|
|
263
288
|
];
|
|
264
289
|
class ConnectorManagementRoutingModule {
|
|
@@ -266,11 +291,8 @@ class ConnectorManagementRoutingModule {
|
|
|
266
291
|
ConnectorManagementRoutingModule.decorators = [
|
|
267
292
|
{ type: NgModule, args: [{
|
|
268
293
|
declarations: [],
|
|
269
|
-
imports: [
|
|
270
|
-
|
|
271
|
-
RouterModule.forChild(routes),
|
|
272
|
-
],
|
|
273
|
-
exports: [RouterModule]
|
|
294
|
+
imports: [CommonModule, RouterModule.forChild(routes)],
|
|
295
|
+
exports: [RouterModule],
|
|
274
296
|
},] }
|
|
275
297
|
];
|
|
276
298
|
|
|
@@ -311,7 +333,7 @@ class ObjectApiSyncService {
|
|
|
311
333
|
ObjectApiSyncService.ɵprov = ɵɵdefineInjectable({ factory: function ObjectApiSyncService_Factory() { return new ObjectApiSyncService(ɵɵinject(HttpClient), ɵɵinject(ConfigService)); }, token: ObjectApiSyncService, providedIn: "root" });
|
|
312
334
|
ObjectApiSyncService.decorators = [
|
|
313
335
|
{ type: Injectable, args: [{
|
|
314
|
-
providedIn: 'root'
|
|
336
|
+
providedIn: 'root',
|
|
315
337
|
},] }
|
|
316
338
|
];
|
|
317
339
|
ObjectApiSyncService.ctorParameters = () => [
|
|
@@ -350,26 +372,27 @@ class ConnectorLinkExtensionModalComponent {
|
|
|
350
372
|
});
|
|
351
373
|
this.pageSizes$ = new BehaviorSubject({
|
|
352
374
|
collectionSize: 0,
|
|
353
|
-
maxPaginationItemSize: 5
|
|
375
|
+
maxPaginationItemSize: 5,
|
|
354
376
|
});
|
|
355
|
-
this.pagination$ = combineLatest([
|
|
356
|
-
.
|
|
377
|
+
this.pagination$ = combineLatest([
|
|
378
|
+
this.currentPageAndSize$,
|
|
379
|
+
this.pageSizes$,
|
|
380
|
+
]).pipe(map(([currentPage, sizes]) => (Object.assign(Object.assign(Object.assign({}, currentPage), sizes), { page: currentPage.page + 1 }))));
|
|
357
381
|
this.connectorInstances$ = combineLatest([
|
|
358
382
|
this.currentPageAndSize$,
|
|
359
383
|
this.connectorManagementService.getConnectorTypes(),
|
|
360
384
|
this.translateService.stream('key'),
|
|
361
|
-
this.stateService.refresh
|
|
362
|
-
])
|
|
363
|
-
.pipe(
|
|
364
|
-
this.pageSizes$.pipe(take(1)).subscribe((sizes) => {
|
|
385
|
+
this.stateService.refresh$,
|
|
386
|
+
]).pipe(tap(() => this.setFields()), switchMap(([currentPage, types]) => this.connectorManagementService.getConnectorInstancesByType(types.find(type => type.name.toLowerCase().includes('objectsapi')).id, { page: currentPage.page, size: currentPage.size })), tap(instanceRes => {
|
|
387
|
+
this.pageSizes$.pipe(take(1)).subscribe(sizes => {
|
|
365
388
|
this.pageSizes$.next(Object.assign(Object.assign({}, sizes), { collectionSize: instanceRes.totalElements }));
|
|
366
389
|
});
|
|
367
|
-
}), map(
|
|
368
|
-
this.noObjectsApiConnectors$ = this.connectorInstances$.pipe(map(
|
|
390
|
+
}), map(res => res.content), tap(() => this.loading$.next(false)));
|
|
391
|
+
this.noObjectsApiConnectors$ = this.connectorInstances$.pipe(map(instances => !instances || instances.length === 0));
|
|
369
392
|
this.disabled$ = this.stateService.inputDisabled$;
|
|
370
393
|
}
|
|
371
394
|
ngAfterViewInit() {
|
|
372
|
-
this.showSubscription = this.stateService.showExtensionModal$.subscribe(
|
|
395
|
+
this.showSubscription = this.stateService.showExtensionModal$.subscribe(show => {
|
|
373
396
|
if (show) {
|
|
374
397
|
this.show();
|
|
375
398
|
}
|
|
@@ -383,13 +406,13 @@ class ConnectorLinkExtensionModalComponent {
|
|
|
383
406
|
(_a = this.showSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
384
407
|
}
|
|
385
408
|
paginationClicked(newPageNumber) {
|
|
386
|
-
this.currentPageAndSize$.pipe(take(1)).subscribe(
|
|
409
|
+
this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {
|
|
387
410
|
this.currentPageAndSize$.next(Object.assign(Object.assign({}, currentPage), { page: newPageNumber - 1 }));
|
|
388
411
|
});
|
|
389
412
|
}
|
|
390
413
|
paginationSet(newPageSize) {
|
|
391
414
|
if (newPageSize) {
|
|
392
|
-
this.currentPageAndSize$.pipe(take(1)).subscribe(
|
|
415
|
+
this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {
|
|
393
416
|
this.currentPageAndSize$.next(Object.assign(Object.assign({}, currentPage), { size: newPageSize }));
|
|
394
417
|
});
|
|
395
418
|
}
|
|
@@ -403,8 +426,9 @@ class ConnectorLinkExtensionModalComponent {
|
|
|
403
426
|
const splitObjectTypeUrl = objectTypeUrl === null || objectTypeUrl === void 0 ? void 0 : objectTypeUrl.split('/');
|
|
404
427
|
const objectTypeId = splitObjectTypeUrl[splitObjectTypeUrl.length - 1];
|
|
405
428
|
this.stateService.disableInput();
|
|
406
|
-
this.objectApiSyncService
|
|
407
|
-
.
|
|
429
|
+
this.objectApiSyncService
|
|
430
|
+
.createObjectSyncConfig({ connectorInstanceId, enabled, documentDefinitionName, objectTypeId })
|
|
431
|
+
.subscribe(res => {
|
|
408
432
|
this.alertService.success(this.translateService.instant('connectorManagement.extension.addSyncSuccess'));
|
|
409
433
|
this.stateService.hideExtensionModal();
|
|
410
434
|
this.stateService.enableInput();
|
|
@@ -417,7 +441,7 @@ class ConnectorLinkExtensionModalComponent {
|
|
|
417
441
|
setFields() {
|
|
418
442
|
const getTranslatedLabel = (key) => this.translateService.instant(`connectorManagement.labels.${key}`);
|
|
419
443
|
const keys = ['name'];
|
|
420
|
-
this.fields$.next(keys.map(
|
|
444
|
+
this.fields$.next(keys.map(key => ({ label: getTranslatedLabel(key), key })));
|
|
421
445
|
}
|
|
422
446
|
show() {
|
|
423
447
|
this.modal.show();
|
|
@@ -429,7 +453,7 @@ class ConnectorLinkExtensionModalComponent {
|
|
|
429
453
|
ConnectorLinkExtensionModalComponent.decorators = [
|
|
430
454
|
{ type: Component, args: [{
|
|
431
455
|
selector: 'valtimo-connector-link-extension-modal',
|
|
432
|
-
template: "<valtimo-modal #modal [title]=\"'connectorManagement.extension.buttonText'| translate\">\n <div
|
|
456
|
+
template: "<valtimo-modal #modal [title]=\"'connectorManagement.extension.buttonText' | translate\">\n <div\n class=\"mt-2\"\n body\n *ngIf=\"{\n connectorInstances: connectorInstances$ | async,\n fields: fields$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n noConnectors: noObjectsApiConnectors$ | async\n } as obs\"\n >\n <div *ngIf=\"obs.loading === false; else loading\" [ngClass]=\"{disabled: obs.disabled}\">\n <ng-container *ngIf=\"!obs.noConnectors; else noConnectors\">\n <p class=\"lead\">{{ 'connectorManagement.extension.clickToSync' | translate }}</p>\n <valtimo-widget>\n <valtimo-list\n [items]=\"obs.connectorInstances\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [viewMode]=\"false\"\n [isSearchable]=\"false\"\n [pagination]=\"obs.pagination\"\n paginationIdentifier=\"connectorManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"rowClicked($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'connectorManagement.title' | translate }}</h3>\n <h5 class=\"list-header-description\">\n {{ 'connectorManagement.subtitle' | translate }}\n </h5>\n </div>\n </valtimo-list>\n </valtimo-widget>\n </ng-container>\n </div>\n </div>\n</valtimo-modal>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n\n<ng-template #noConnectors>\n <p class=\"lead\">{{ 'connectorManagement.extension.noConnectors' | translate }}</p>\n</ng-template>\n",
|
|
433
457
|
styles: [".disabled{filter:grayscale(1);opacity:.8;pointer-events:none}"]
|
|
434
458
|
},] }
|
|
435
459
|
];
|
|
@@ -471,8 +495,10 @@ class AddConnectorComponent {
|
|
|
471
495
|
this.disabled$ = this.stateService.inputDisabled$;
|
|
472
496
|
}
|
|
473
497
|
ngOnInit() {
|
|
474
|
-
this.refreshSubscription = combineLatest([
|
|
475
|
-
.
|
|
498
|
+
this.refreshSubscription = combineLatest([
|
|
499
|
+
this.stateService.showModal$,
|
|
500
|
+
this.stateService.refresh$,
|
|
501
|
+
]).subscribe(() => {
|
|
476
502
|
this.goBack();
|
|
477
503
|
});
|
|
478
504
|
}
|
|
@@ -487,12 +513,14 @@ class AddConnectorComponent {
|
|
|
487
513
|
this.selectedConnector$.next(undefined);
|
|
488
514
|
}
|
|
489
515
|
onSave(event) {
|
|
490
|
-
this.selectedConnector$.pipe(take(1)).subscribe(
|
|
491
|
-
this.connectorManagementService
|
|
516
|
+
this.selectedConnector$.pipe(take(1)).subscribe(selectedConnectorType => {
|
|
517
|
+
this.connectorManagementService
|
|
518
|
+
.createConnectorInstance({
|
|
492
519
|
name: event.name,
|
|
493
520
|
typeId: selectedConnectorType.id,
|
|
494
|
-
connectorProperties: event.properties
|
|
495
|
-
})
|
|
521
|
+
connectorProperties: event.properties,
|
|
522
|
+
})
|
|
523
|
+
.subscribe(() => {
|
|
496
524
|
this.alertService.success(this.translateService.instant('connectorManagement.messages.addSuccess'));
|
|
497
525
|
this.stateService.hideModal();
|
|
498
526
|
this.stateService.enableInput();
|
|
@@ -506,7 +534,7 @@ class AddConnectorComponent {
|
|
|
506
534
|
AddConnectorComponent.decorators = [
|
|
507
535
|
{ type: Component, args: [{
|
|
508
536
|
selector: 'valtimo-add-connector',
|
|
509
|
-
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"connectorTypes$ | async as connectorTypes; else loading\">\n <ng-container *ngIf=\"(selectedConnector$ | async) === undefined; else configure\">\n <p class=\"lead\">\n {{'connectorManagement.'
|
|
537
|
+
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"connectorTypes$ | async as connectorTypes; else loading\">\n <ng-container *ngIf=\"(selectedConnector$ | async) === undefined; else configure\">\n <p class=\"lead\">\n {{\n 'connectorManagement.' +\n (connectorTypes?.length > 0 ? 'addHeader' : 'noConnectorsAvailable') | translate\n }}\n </p>\n <div class=\"cards-container mt-3\">\n <div *ngFor=\"let connectorType of connectorTypes\" class=\"card card-border text-center\">\n <div class=\"card-header\">{{ connectorType.name }}</div>\n <div class=\"card-body\">\n <button class=\"btn btn-primary\" (click)=\"selectConnector(connectorType)\">\n {{ 'connectorManagement.configureButton' | translate }}\n </button>\n </div>\n </div>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #configure>\n <ng-container *ngIf=\"selectedConnector$ | async as connector\">\n <button\n class=\"btn btn-outline-secondary btn-sm btn-back\"\n (click)=\"goBack()\"\n [disabled]=\"disabled$ | async\"\n >\n <i class=\"icon mdi mdi-arrow-left mr-1\"></i>\n {{ 'connectorManagement.goBack' | translate }}\n </button>\n <p class=\"lead text-center mb-3 pb-3 border-bottom\">\n {{ ('connectorManagement.configureWith' | translate) + ' ' + connector.name }}\n </p>\n <valtimo-edit-connector-form\n [connectorName]=\"connector.name\"\n [properties]=\"(selectedConnector$ | async).properties\"\n (propertiesSave)=\"onSave($event)\"\n >\n </valtimo-edit-connector-form>\n </ng-container>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n",
|
|
510
538
|
styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{margin-right:30px;width:calc(33.3% - 20px)}.card:nth-child(3n+3){margin-right:0}.card-header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"]
|
|
511
539
|
},] }
|
|
512
540
|
];
|
|
@@ -541,13 +569,15 @@ class ModifyConnectorComponent {
|
|
|
541
569
|
this.instance$ = this.stateService.selectedInstance$;
|
|
542
570
|
}
|
|
543
571
|
onSave(event) {
|
|
544
|
-
this.instance$.pipe(take(1)).subscribe(
|
|
545
|
-
this.connectorManagementService
|
|
572
|
+
this.instance$.pipe(take(1)).subscribe(instance => {
|
|
573
|
+
this.connectorManagementService
|
|
574
|
+
.updateConnectorInstance({
|
|
546
575
|
name: event.name,
|
|
547
576
|
typeId: instance.type.id,
|
|
548
577
|
id: instance.id,
|
|
549
|
-
connectorProperties: event.properties
|
|
550
|
-
})
|
|
578
|
+
connectorProperties: event.properties,
|
|
579
|
+
})
|
|
580
|
+
.subscribe(() => {
|
|
551
581
|
this.alertService.success(this.translateService.instant('connectorManagement.messages.modifySuccess'));
|
|
552
582
|
this.stateService.hideModal();
|
|
553
583
|
this.stateService.enableInput();
|
|
@@ -558,7 +588,7 @@ class ModifyConnectorComponent {
|
|
|
558
588
|
});
|
|
559
589
|
}
|
|
560
590
|
onDelete() {
|
|
561
|
-
this.instance$.pipe(take(1)).subscribe(
|
|
591
|
+
this.instance$.pipe(take(1)).subscribe(instance => {
|
|
562
592
|
this.connectorManagementService.deleteConnectorInstance(instance.id).subscribe(() => {
|
|
563
593
|
this.alertService.success(this.translateService.instant('connectorManagement.messages.deleteSuccess'));
|
|
564
594
|
this.stateService.hideModal();
|
|
@@ -573,7 +603,7 @@ class ModifyConnectorComponent {
|
|
|
573
603
|
ModifyConnectorComponent.decorators = [
|
|
574
604
|
{ type: Component, args: [{
|
|
575
605
|
selector: 'valtimo-modify-connector',
|
|
576
|
-
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=\"instance$ | async as instance\">\n <p class=\"lead text-center mb-3 pb-3 border-bottom\">\n {{('connectorManagement.modifyWith' | translate) + ' ' + instance.type.name}}\n </p>\n <valtimo-edit-connector-form\n [properties]=\"instance.properties\"\n [withDefaults]=\"true\"\n [defaultName]=\"instance.name\"\n [showDeleteButton]=\"true\"\n [connectorName]=\"instance.type.name\"\n (propertiesSave)=\"onSave($event)\"\n (connectorDelete)=\"onDelete()\"\n >\n </valtimo-edit-connector-form>\n</ng-container>\n",
|
|
606
|
+
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=\"instance$ | async as instance\">\n <p class=\"lead text-center mb-3 pb-3 border-bottom\">\n {{ ('connectorManagement.modifyWith' | translate) + ' ' + instance.type.name }}\n </p>\n <valtimo-edit-connector-form\n [properties]=\"instance.properties\"\n [withDefaults]=\"true\"\n [defaultName]=\"instance.name\"\n [showDeleteButton]=\"true\"\n [connectorName]=\"instance.type.name\"\n (propertiesSave)=\"onSave($event)\"\n (connectorDelete)=\"onDelete()\"\n >\n </valtimo-edit-connector-form>\n</ng-container>\n",
|
|
577
607
|
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 */"]
|
|
578
608
|
},] }
|
|
579
609
|
];
|
|
@@ -604,7 +634,7 @@ class ConnectorModalComponent {
|
|
|
604
634
|
this.stateService = stateService;
|
|
605
635
|
}
|
|
606
636
|
ngAfterViewInit() {
|
|
607
|
-
this.showSubscription = this.stateService.showModal$.subscribe(
|
|
637
|
+
this.showSubscription = this.stateService.showModal$.subscribe(show => {
|
|
608
638
|
if (show) {
|
|
609
639
|
this.show();
|
|
610
640
|
}
|
|
@@ -664,10 +694,14 @@ class EditConnectorPropertiesComponent {
|
|
|
664
694
|
this.modifiedProperties$ = new BehaviorSubject(undefined);
|
|
665
695
|
this.editFields$ = new BehaviorSubject([]);
|
|
666
696
|
this.connectorName$ = new BehaviorSubject('');
|
|
667
|
-
this.saveButtonDisabled$ = combineLatest([
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
697
|
+
this.saveButtonDisabled$ = combineLatest([
|
|
698
|
+
this.editFields$,
|
|
699
|
+
this.modifiedProperties$,
|
|
700
|
+
this.connectorName$,
|
|
701
|
+
]).pipe(map(([editFields, modifiedProperties, connectorName]) => {
|
|
702
|
+
const values = editFields.map(field => get(modifiedProperties, field.key));
|
|
703
|
+
const validValues = values.filter(value => Array.isArray(value) ? value.length > 0 : value === 0 || value);
|
|
704
|
+
return editFields.length !== validValues.length || !connectorName;
|
|
671
705
|
}));
|
|
672
706
|
this.disabled$ = this.stateService.inputDisabled$;
|
|
673
707
|
}
|
|
@@ -680,13 +714,13 @@ class EditConnectorPropertiesComponent {
|
|
|
680
714
|
this.setName();
|
|
681
715
|
}
|
|
682
716
|
multiFieldValuesSet(event) {
|
|
683
|
-
this.modifiedProperties$.pipe(take(1)).subscribe(
|
|
717
|
+
this.modifiedProperties$.pipe(take(1)).subscribe(properties => {
|
|
684
718
|
set(properties, event.editFieldKey, event.values);
|
|
685
719
|
this.modifiedProperties$.next(properties);
|
|
686
720
|
});
|
|
687
721
|
}
|
|
688
722
|
onSingleValueChange(value, editField) {
|
|
689
|
-
this.modifiedProperties$.pipe(take(1)).subscribe(
|
|
723
|
+
this.modifiedProperties$.pipe(take(1)).subscribe(properties => {
|
|
690
724
|
set(properties, editField.key, editField.editType === 'string' ? value.trim() : parseInt(value, 10));
|
|
691
725
|
this.modifiedProperties$.next(properties);
|
|
692
726
|
});
|
|
@@ -697,7 +731,8 @@ class EditConnectorPropertiesComponent {
|
|
|
697
731
|
onSave() {
|
|
698
732
|
this.stateService.disableInput();
|
|
699
733
|
combineLatest([this.modifiedProperties$, this.connectorName$])
|
|
700
|
-
.pipe(take(1))
|
|
734
|
+
.pipe(take(1))
|
|
735
|
+
.subscribe(([properties, name]) => {
|
|
701
736
|
this.propertiesSave.emit({ properties, name });
|
|
702
737
|
});
|
|
703
738
|
}
|
|
@@ -716,7 +751,7 @@ class EditConnectorPropertiesComponent {
|
|
|
716
751
|
setModifiedProperties(editFields) {
|
|
717
752
|
const propertiesCopy = cloneDeep(this.properties);
|
|
718
753
|
if (!this.withDefaults) {
|
|
719
|
-
editFields.forEach(
|
|
754
|
+
editFields.forEach(editField => {
|
|
720
755
|
set(propertiesCopy, editField.key, undefined);
|
|
721
756
|
});
|
|
722
757
|
}
|
|
@@ -726,9 +761,8 @@ class EditConnectorPropertiesComponent {
|
|
|
726
761
|
const editFields = [];
|
|
727
762
|
const keysToFilter = ['className'];
|
|
728
763
|
const handlePropertyLevel = (propertyLevel, previousKeys) => {
|
|
729
|
-
const propertyLevelKeys = Object.keys(propertyLevel)
|
|
730
|
-
|
|
731
|
-
propertyLevelKeys.forEach((key) => {
|
|
764
|
+
const propertyLevelKeys = Object.keys(propertyLevel).filter(key => !keysToFilter.includes(key));
|
|
765
|
+
propertyLevelKeys.forEach(key => {
|
|
732
766
|
const propertyValue = propertyLevel[key];
|
|
733
767
|
const baseEditField = Object.assign({ key: previousKeys + key }, (this.withDefaults && { defaultValue: propertyValue }));
|
|
734
768
|
if (typeof propertyValue === 'number') {
|
|
@@ -758,7 +792,7 @@ class EditConnectorPropertiesComponent {
|
|
|
758
792
|
EditConnectorPropertiesComponent.decorators = [
|
|
759
793
|
{ type: Component, args: [{
|
|
760
794
|
selector: 'valtimo-edit-connector-properties',
|
|
761
|
-
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<div
|
|
795
|
+
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<div\n class=\"edit-fields\"\n *ngIf=\"{editFields: editFields$ | async, disabled: disabled$ | async} as obs\"\n>\n <ng-container *ngTemplateOutlet=\"nameInput; context: {disabled: obs.disabled}\"></ng-container>\n <ng-container *ngFor=\"let editField of obs.editFields\">\n <ng-container *ngIf=\"editField.editType === 'string' || editField.editType === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"singleInput; context: {editField: editField, disabled: obs.disabled}\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"editField.editType === 'string[]' || editField.editType === 'number[]'\">\n <valtimo-multi-value-connector-property\n [editField]=\"editField\"\n (valuesSet)=\"multiFieldValuesSet($event)\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"withDefaults && editField.defaultValue\"\n >\n </valtimo-multi-value-connector-property>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"buttons; context: {disabled: obs.disabled}\"></ng-container>\n</div>\n\n<ng-template #nameInput let-disabled=\"disabled\">\n <div class=\"form-group row\">\n <label class=\"col-3 col-form-label text-sm-right\">\n {{ 'connectorManagement.inputLabels.connectorName' | translate }}\n </label>\n <div class=\"col-7\">\n <input\n class=\"form-control\"\n type=\"text\"\n (input)=\"onNameValueChange($event.target.value)\"\n [disabled]=\"disabled\"\n [value]=\"withDefaults && defaultName ? defaultName : ''\"\n />\n </div>\n </div>\n</ng-template>\n\n<ng-template #singleInput let-editField=\"editField\" let-disabled=\"disabled\">\n <div class=\"form-group row\">\n <label class=\"col-3 col-form-label text-sm-right\">\n {{ 'connectorManagement.inputLabels.' + editField.key | translate }}\n </label>\n <div class=\"col-7\">\n <input\n *ngIf=\"editField.editType === 'string'\"\n class=\"form-control\"\n type=\"text\"\n (input)=\"onSingleValueChange($event.target.value, editField)\"\n [disabled]=\"disabled\"\n [value]=\"withDefaults ? editField.defaultValue : ''\"\n />\n <input\n *ngIf=\"editField.editType === 'number'\"\n class=\"form-control\"\n type=\"number\"\n step=\"1\"\n min=\"0\"\n oninput=\"validity.valid||(value='');\"\n (input)=\"onSingleValueChange($event.target.value, editField)\"\n [disabled]=\"disabled\"\n [value]=\"withDefaults ? editField.defaultValue : ''\"\n />\n </div>\n </div>\n</ng-template>\n\n<ng-template #buttons let-disabled=\"disabled\">\n <div class=\"border-top mt-3 pt-6\">\n <div class=\"button-container\">\n <button\n class=\"btn btn-primary\"\n [disabled]=\"disabled || (saveButtonDisabled$ | async)\"\n (click)=\"onSave()\"\n >\n <i class=\"icon mdi mdi-save mr-1\"></i>\n {{ 'connectorManagement.save' | translate }}\n </button>\n <button\n *ngIf=\"showDeleteButton\"\n class=\"btn btn-danger btn-space\"\n (click)=\"onDelete()\"\n [disabled]=\"disabled\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.remove' | translate }}\n </button>\n </div>\n </div>\n</ng-template>\n",
|
|
762
796
|
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 */.button-container{display:flex;flex-flow:row-reverse;justify-content:space-between;width:100%}"]
|
|
763
797
|
},] }
|
|
764
798
|
];
|
|
@@ -798,16 +832,23 @@ class ConnectorLinkExtensionComponent {
|
|
|
798
832
|
this.alertService = alertService;
|
|
799
833
|
this.connectorManagementService = connectorManagementService;
|
|
800
834
|
this.loading$ = new BehaviorSubject(true);
|
|
801
|
-
this.objectApiSyncConfig$ = combineLatest([
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
835
|
+
this.objectApiSyncConfig$ = combineLatest([
|
|
836
|
+
this.route.params,
|
|
837
|
+
this.translateService.stream('key'),
|
|
838
|
+
this.stateService.refresh$,
|
|
839
|
+
]).pipe(switchMap(([params]) => this.objectApiSyncService.getObjectSyncConfigs(params.name)), switchMap(configs => combineLatest([
|
|
840
|
+
of(configs),
|
|
841
|
+
...configs.map(config => this.connectorManagementService
|
|
842
|
+
.getConnectorInstanceById(config.connectorInstanceId)
|
|
843
|
+
.pipe(catchError(() => of('')))),
|
|
844
|
+
])), map(results => {
|
|
845
|
+
const [, ...instances] = results.filter(result => result);
|
|
846
|
+
return results[0].map(syncConfig => {
|
|
807
847
|
var _a;
|
|
808
|
-
return (Object.assign(Object.assign({}, syncConfig), { title: ((_a = instances.find(
|
|
848
|
+
return (Object.assign(Object.assign({}, syncConfig), { title: ((_a = instances.find(instance => instance.id === syncConfig.connectorInstanceId)) === null || _a === void 0 ? void 0 : _a.name) ||
|
|
849
|
+
'Objects API' }));
|
|
809
850
|
});
|
|
810
|
-
}), map(
|
|
851
|
+
}), map(results => (Array.isArray(results) && results.length > 0 ? results[0] : null)), tap(() => {
|
|
811
852
|
this.loading$.next(false);
|
|
812
853
|
}));
|
|
813
854
|
this.disabled$ = this.stateService.inputDisabled$;
|
|
@@ -820,7 +861,9 @@ class ConnectorLinkExtensionComponent {
|
|
|
820
861
|
}
|
|
821
862
|
toggleSync(config) {
|
|
822
863
|
this.stateService.disableInput();
|
|
823
|
-
this.objectApiSyncService
|
|
864
|
+
this.objectApiSyncService
|
|
865
|
+
.modifyObjectSyncConfig(Object.assign(Object.assign({}, config), { enabled: !config.enabled }))
|
|
866
|
+
.subscribe(() => {
|
|
824
867
|
if (!config.enabled) {
|
|
825
868
|
this.alertService.success(this.translateService.instant('connectorManagement.extension.addSyncSuccess'));
|
|
826
869
|
}
|
|
@@ -847,7 +890,7 @@ class ConnectorLinkExtensionComponent {
|
|
|
847
890
|
ConnectorLinkExtensionComponent.decorators = [
|
|
848
891
|
{ type: Component, args: [{
|
|
849
892
|
selector: 'valtimo-connector-link-extension',
|
|
850
|
-
template: "<h2 class=\"mb-4 mt-6\">{{'connectorManagement.extension.title' | translate}}</h2>\n\n<ng-container
|
|
893
|
+
template: "<h2 class=\"mb-4 mt-6\">{{ 'connectorManagement.extension.title' | translate }}</h2>\n\n<ng-container\n *ngIf=\"{\n syncConfig: objectApiSyncConfig$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container *ngIf=\"obs.syncConfig; else addSync\">\n <div class=\"card card-border card-contrast\">\n <div class=\"card-header card-header-contrast card-header-featured\">\n <div>\n {{ obs.syncConfig.title }}\n </div>\n <div class=\"controls\">\n <button\n class=\"btn btn-danger ml-3\"\n [disabled]=\"obs.disabled\"\n (click)=\"deleteSync(obs.syncConfig.id)\"\n >\n <i class=\"fa fa-trash\"></i>\n </button>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"setting-row\">\n Automatisch zaakdetails synchroniseren\n <div class=\"controls\">\n <div class=\"switch-button switch-button-success\">\n <input\n type=\"checkbox\"\n [checked]=\"obs.syncConfig.enabled\"\n [disabled]=\"obs.disabled\"\n name=\"sync\"\n id=\"sync\"\n (click)=\"toggleSync(obs.syncConfig)\"\n />\n <span><label for=\"sync\"></label></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<valtimo-connector-link-extension-modal></valtimo-connector-link-extension-modal>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n\n<ng-template #addSync>\n <div class=\"text-right mt-5\">\n <button class=\"btn btn-primary\" (click)=\"openModal()\" [disabled]=\"disabled$ | async\">\n <i class=\"icon mdi mdi-plus\"></i> \n {{ 'connectorManagement.extension.buttonText' | translate }}\n </button>\n </div>\n</ng-template>\n",
|
|
851
894
|
styles: [".card-header,.setting-row{flex-direction:row;justify-content:space-between}.card-header,.controls,.setting-row{align-items:center;display:flex}"]
|
|
852
895
|
},] }
|
|
853
896
|
];
|
|
@@ -879,11 +922,11 @@ class MultiValueConnectorPropertyComponent {
|
|
|
879
922
|
constructor() {
|
|
880
923
|
this.valuesSet = new EventEmitter();
|
|
881
924
|
this.amountOfValues$ = new BehaviorSubject([null]);
|
|
882
|
-
this.removeButtonDisabled$ = this.amountOfValues$.pipe(map(
|
|
925
|
+
this.removeButtonDisabled$ = this.amountOfValues$.pipe(map(amountOfValues => amountOfValues.length === 1));
|
|
883
926
|
this.values$ = new BehaviorSubject({});
|
|
884
927
|
this.addButtonDisabled$ = combineLatest([this.values$, this.amountOfValues$]).pipe(map(([values, amountOfValues]) => {
|
|
885
928
|
const objectValues = Object.values(values);
|
|
886
|
-
const validObjectValues = objectValues.filter(
|
|
929
|
+
const validObjectValues = objectValues.filter(value => value === 0 || value);
|
|
887
930
|
return amountOfValues.length !== validObjectValues.length;
|
|
888
931
|
}));
|
|
889
932
|
}
|
|
@@ -896,17 +939,21 @@ class MultiValueConnectorPropertyComponent {
|
|
|
896
939
|
(_a = this.valuesSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
897
940
|
}
|
|
898
941
|
onValueChange(value, editField, index) {
|
|
899
|
-
this.values$.pipe(take(1)).subscribe(
|
|
900
|
-
this.values$.next(Object.assign(Object.assign({}, values), { [index]: editField.editType === 'string[]'
|
|
942
|
+
this.values$.pipe(take(1)).subscribe(values => {
|
|
943
|
+
this.values$.next(Object.assign(Object.assign({}, values), { [index]: editField.editType === 'string[]'
|
|
944
|
+
? value.trim()
|
|
945
|
+
: parseInt(value, 10) }));
|
|
901
946
|
});
|
|
902
947
|
}
|
|
903
948
|
addRow() {
|
|
904
|
-
this.amountOfValues$.pipe(take(1)).subscribe(
|
|
949
|
+
this.amountOfValues$.pipe(take(1)).subscribe(amountOfValues => {
|
|
905
950
|
this.amountOfValues$.next([...amountOfValues, null]);
|
|
906
951
|
});
|
|
907
952
|
}
|
|
908
953
|
removeRow() {
|
|
909
|
-
combineLatest([this.values$, this.amountOfValues$])
|
|
954
|
+
combineLatest([this.values$, this.amountOfValues$])
|
|
955
|
+
.pipe(take(1))
|
|
956
|
+
.subscribe(([values, amountOfValues]) => {
|
|
910
957
|
const lastValueIndex = amountOfValues.length - 1;
|
|
911
958
|
const valuesCopy = Object.assign({}, values);
|
|
912
959
|
delete valuesCopy[lastValueIndex];
|
|
@@ -915,16 +962,16 @@ class MultiValueConnectorPropertyComponent {
|
|
|
915
962
|
});
|
|
916
963
|
}
|
|
917
964
|
openValuesSubscription() {
|
|
918
|
-
this.valuesSubscription = this.values$.subscribe(
|
|
965
|
+
this.valuesSubscription = this.values$.subscribe(values => {
|
|
919
966
|
this.valuesSet.emit({
|
|
920
967
|
editFieldKey: this.editField.key,
|
|
921
|
-
values: Object.values(values).filter(
|
|
968
|
+
values: Object.values(values).filter(value => value === 0 || value),
|
|
922
969
|
});
|
|
923
970
|
});
|
|
924
971
|
}
|
|
925
972
|
setDefaults() {
|
|
926
973
|
const defaultValue = this.defaultValue;
|
|
927
|
-
const validValues = Array.isArray(defaultValue) && defaultValue.filter(
|
|
974
|
+
const validValues = Array.isArray(defaultValue) && defaultValue.filter(value => value === 0 || value);
|
|
928
975
|
if (validValues && validValues.length > 0) {
|
|
929
976
|
const valuesObject = {};
|
|
930
977
|
validValues.forEach((value, index) => {
|
|
@@ -938,7 +985,7 @@ class MultiValueConnectorPropertyComponent {
|
|
|
938
985
|
MultiValueConnectorPropertyComponent.decorators = [
|
|
939
986
|
{ type: Component, args: [{
|
|
940
987
|
selector: 'valtimo-multi-value-connector-property',
|
|
941
|
-
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<div\n class=\"form-group row\"\n *ngIf=\"{amountOfValues: amountOfValues$ | async, values: values$ | async} as obs\"\n>\n <label class=\"col-3 col-form-label text-sm-right\">\n {{'connectorManagement.inputLabels.' + editField.key | translate}}\n </label>\n <div class=\"col-7\">\n <ng-container *ngFor=\"let value of obs.amountOfValues; let index = index\">\n <ng-container
|
|
988
|
+
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<div\n class=\"form-group row\"\n *ngIf=\"{amountOfValues: amountOfValues$ | async, values: values$ | async} as obs\"\n>\n <label class=\"col-3 col-form-label text-sm-right\">\n {{ 'connectorManagement.inputLabels.' + editField.key | translate }}\n </label>\n <div class=\"col-7\">\n <ng-container *ngFor=\"let value of obs.amountOfValues; let index = index\">\n <ng-container\n *ngTemplateOutlet=\"input; context: {index: index, disabled: disabled, values: obs.values}\"\n >\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"buttons; context: {disabled: disabled}\"></ng-container>\n </div>\n</div>\n\n<ng-template #input let-index=\"index\" let-disabled=\"disabled\" let-values=\"values\">\n <input\n *ngIf=\"editField.editType === 'string[]'\"\n class=\"form-control mb-2\"\n type=\"text\"\n (input)=\"onValueChange($event.target.value, editField, index)\"\n [disabled]=\"disabled\"\n [value]=\"defaultValue && values[index] ? values[index] : ''\"\n />\n <input\n *ngIf=\"editField.editType === 'number[]'\"\n class=\"form-control mb-2\"\n type=\"number\"\n step=\"1\"\n min=\"0\"\n oninput=\"validity.valid||(value='');\"\n (input)=\"onValueChange($event.target.value, editField, index)\"\n [disabled]=\"disabled\"\n [value]=\"defaultValue && values[index] ? values[index] : ''\"\n />\n</ng-template>\n\n<ng-template #buttons let-disabled=\"disabled\">\n <div class=\"button-container mt-1\">\n <button\n class=\"btn btn-danger btn-space btn-sm\"\n (click)=\"removeRow()\"\n [disabled]=\"disabled || (removeButtonDisabled$ | async)\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.removeValue' | translate }}\n </button>\n <button\n class=\"btn btn-secondary btn-space mr-0 btn-sm\"\n (click)=\"addRow()\"\n [disabled]=\"disabled || (addButtonDisabled$ | async)\"\n >\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n {{ 'connectorManagement.addValue' | translate }}\n </button>\n </div>\n</ng-template>\n",
|
|
942
989
|
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 */.button-container{display:flex;justify-content:flex-end;width:100%}"]
|
|
943
990
|
},] }
|
|
944
991
|
];
|
|
@@ -950,15 +997,15 @@ MultiValueConnectorPropertyComponent.propDecorators = {
|
|
|
950
997
|
};
|
|
951
998
|
|
|
952
999
|
const ɵ0$1 = {
|
|
953
|
-
|
|
1000
|
+
custom: "values = window['productRequestDefinitions'][row.caseDefinitionKey] || []",
|
|
954
1001
|
};
|
|
955
1002
|
const editProductAanvragenConnectorForm = {
|
|
956
1003
|
display: 'wizard',
|
|
957
1004
|
settings: {
|
|
958
1005
|
pdf: {
|
|
959
1006
|
id: '1ec0f8ee-6685-5d98-a847-26f67b67d6f0',
|
|
960
|
-
src: 'https://files.form.io/pdf/5692b91fd1028f01000407e3/file/1ec0f8ee-6685-5d98-a847-26f67b67d6f0'
|
|
961
|
-
}
|
|
1007
|
+
src: 'https://files.form.io/pdf/5692b91fd1028f01000407e3/file/1ec0f8ee-6685-5d98-a847-26f67b67d6f0',
|
|
1008
|
+
},
|
|
962
1009
|
},
|
|
963
1010
|
components: [
|
|
964
1011
|
{
|
|
@@ -967,7 +1014,7 @@ const editProductAanvragenConnectorForm = {
|
|
|
967
1014
|
buttonSettings: {
|
|
968
1015
|
previous: true,
|
|
969
1016
|
cancel: true,
|
|
970
|
-
next: true
|
|
1017
|
+
next: true,
|
|
971
1018
|
},
|
|
972
1019
|
navigateOnEnter: false,
|
|
973
1020
|
saveOnEnter: false,
|
|
@@ -984,15 +1031,15 @@ const editProductAanvragenConnectorForm = {
|
|
|
984
1031
|
attrs: [
|
|
985
1032
|
{
|
|
986
1033
|
attr: '',
|
|
987
|
-
value: ''
|
|
988
|
-
}
|
|
1034
|
+
value: '',
|
|
1035
|
+
},
|
|
989
1036
|
],
|
|
990
1037
|
content: 'connectorForm.productaanvraag.step0.tip',
|
|
991
1038
|
refreshOnChange: false,
|
|
992
1039
|
key: 'html4',
|
|
993
1040
|
type: 'htmlelement',
|
|
994
1041
|
input: false,
|
|
995
|
-
tableView: false
|
|
1042
|
+
tableView: false,
|
|
996
1043
|
},
|
|
997
1044
|
{
|
|
998
1045
|
key: 'productAanvraagTypes',
|
|
@@ -1008,7 +1055,7 @@ const editProductAanvragenConnectorForm = {
|
|
|
1008
1055
|
tooltip: 'connectorForm.productaanvraag.step0.typeMapping.productAanvraagType.tooltip',
|
|
1009
1056
|
tableView: true,
|
|
1010
1057
|
validate: {
|
|
1011
|
-
required: true
|
|
1058
|
+
required: true,
|
|
1012
1059
|
},
|
|
1013
1060
|
key: 'productAanvraagType',
|
|
1014
1061
|
type: 'textfield',
|
|
@@ -1020,11 +1067,11 @@ const editProductAanvragenConnectorForm = {
|
|
|
1020
1067
|
placeholder: 'connectorForm.productaanvraag.step0.typeMapping.caseDefinitionKey.placeholder',
|
|
1021
1068
|
tableView: true,
|
|
1022
1069
|
validate: {
|
|
1023
|
-
required: true
|
|
1070
|
+
required: true,
|
|
1024
1071
|
},
|
|
1025
1072
|
key: 'caseDefinitionKey',
|
|
1026
1073
|
type: 'select',
|
|
1027
|
-
input: true
|
|
1074
|
+
input: true,
|
|
1028
1075
|
},
|
|
1029
1076
|
{
|
|
1030
1077
|
label: 'connectorForm.productaanvraag.step0.typeMapping.processDefinitionKey.label',
|
|
@@ -1039,13 +1086,13 @@ const editProductAanvragenConnectorForm = {
|
|
|
1039
1086
|
type: 'select',
|
|
1040
1087
|
input: true,
|
|
1041
1088
|
validate: {
|
|
1042
|
-
required: true
|
|
1089
|
+
required: true,
|
|
1043
1090
|
},
|
|
1044
1091
|
placeholder: 'connectorForm.productaanvraag.step0.typeMapping.processDefinitionKey.placeholder',
|
|
1045
|
-
}
|
|
1046
|
-
]
|
|
1047
|
-
}
|
|
1048
|
-
]
|
|
1092
|
+
},
|
|
1093
|
+
],
|
|
1094
|
+
},
|
|
1095
|
+
],
|
|
1049
1096
|
},
|
|
1050
1097
|
{
|
|
1051
1098
|
title: 'connectorForm.productaanvraag.step1.title',
|
|
@@ -1053,7 +1100,7 @@ const editProductAanvragenConnectorForm = {
|
|
|
1053
1100
|
buttonSettings: {
|
|
1054
1101
|
previous: true,
|
|
1055
1102
|
cancel: true,
|
|
1056
|
-
next: true
|
|
1103
|
+
next: true,
|
|
1057
1104
|
},
|
|
1058
1105
|
navigateOnEnter: false,
|
|
1059
1106
|
saveOnEnter: false,
|
|
@@ -1070,15 +1117,15 @@ const editProductAanvragenConnectorForm = {
|
|
|
1070
1117
|
attrs: [
|
|
1071
1118
|
{
|
|
1072
1119
|
attr: '',
|
|
1073
|
-
value: ''
|
|
1074
|
-
}
|
|
1120
|
+
value: '',
|
|
1121
|
+
},
|
|
1075
1122
|
],
|
|
1076
1123
|
content: 'connectorForm.productaanvraag.step1.tip',
|
|
1077
1124
|
refreshOnChange: false,
|
|
1078
1125
|
key: 'html',
|
|
1079
1126
|
type: 'htmlelement',
|
|
1080
1127
|
input: false,
|
|
1081
|
-
tableView: false
|
|
1128
|
+
tableView: false,
|
|
1082
1129
|
},
|
|
1083
1130
|
{
|
|
1084
1131
|
title: 'connectorForm.productaanvraag.step1.objectsApi.panelTitle',
|
|
@@ -1094,24 +1141,24 @@ const editProductAanvragenConnectorForm = {
|
|
|
1094
1141
|
tooltip: 'connectorForm.productaanvraag.step1.objectsApi.url.tooltip',
|
|
1095
1142
|
tableView: true,
|
|
1096
1143
|
validate: {
|
|
1097
|
-
required: true
|
|
1144
|
+
required: true,
|
|
1098
1145
|
},
|
|
1099
1146
|
key: 'objectsApiUrl',
|
|
1100
1147
|
type: 'textfield',
|
|
1101
|
-
input: true
|
|
1148
|
+
input: true,
|
|
1102
1149
|
},
|
|
1103
1150
|
{
|
|
1104
1151
|
label: 'connectorForm.productaanvraag.step1.objectsApi.token.label',
|
|
1105
1152
|
tooltip: 'connectorForm.productaanvraag.step1.objectsApi.token.tooltip',
|
|
1106
1153
|
tableView: true,
|
|
1107
1154
|
validate: {
|
|
1108
|
-
required: true
|
|
1155
|
+
required: true,
|
|
1109
1156
|
},
|
|
1110
1157
|
key: 'objectsApiToken',
|
|
1111
1158
|
type: 'textfield',
|
|
1112
|
-
input: true
|
|
1113
|
-
}
|
|
1114
|
-
]
|
|
1159
|
+
input: true,
|
|
1160
|
+
},
|
|
1161
|
+
],
|
|
1115
1162
|
},
|
|
1116
1163
|
{
|
|
1117
1164
|
title: 'connectorForm.productaanvraag.step1.objectTypesApi.panelTitle',
|
|
@@ -1127,26 +1174,26 @@ const editProductAanvragenConnectorForm = {
|
|
|
1127
1174
|
tooltip: 'connectorForm.productaanvraag.step1.objectTypesApi.url.tooltip',
|
|
1128
1175
|
tableView: true,
|
|
1129
1176
|
validate: {
|
|
1130
|
-
required: true
|
|
1177
|
+
required: true,
|
|
1131
1178
|
},
|
|
1132
1179
|
key: 'objectTypesApiUrl',
|
|
1133
1180
|
type: 'textfield',
|
|
1134
|
-
input: true
|
|
1181
|
+
input: true,
|
|
1135
1182
|
},
|
|
1136
1183
|
{
|
|
1137
1184
|
label: 'connectorForm.productaanvraag.step1.objectTypesApi.token.label',
|
|
1138
1185
|
tooltip: 'connectorForm.productaanvraag.step1.objectTypesApi.token.tooltip',
|
|
1139
1186
|
tableView: true,
|
|
1140
1187
|
validate: {
|
|
1141
|
-
required: true
|
|
1188
|
+
required: true,
|
|
1142
1189
|
},
|
|
1143
1190
|
key: 'objectTypesApiToken',
|
|
1144
1191
|
type: 'textfield',
|
|
1145
|
-
input: true
|
|
1146
|
-
}
|
|
1147
|
-
]
|
|
1148
|
-
}
|
|
1149
|
-
]
|
|
1192
|
+
input: true,
|
|
1193
|
+
},
|
|
1194
|
+
],
|
|
1195
|
+
},
|
|
1196
|
+
],
|
|
1150
1197
|
},
|
|
1151
1198
|
{
|
|
1152
1199
|
title: 'connectorForm.productaanvraag.step2.title',
|
|
@@ -1154,7 +1201,7 @@ const editProductAanvragenConnectorForm = {
|
|
|
1154
1201
|
buttonSettings: {
|
|
1155
1202
|
previous: true,
|
|
1156
1203
|
cancel: true,
|
|
1157
|
-
next: true
|
|
1204
|
+
next: true,
|
|
1158
1205
|
},
|
|
1159
1206
|
navigateOnEnter: false,
|
|
1160
1207
|
saveOnEnter: false,
|
|
@@ -1171,15 +1218,15 @@ const editProductAanvragenConnectorForm = {
|
|
|
1171
1218
|
attrs: [
|
|
1172
1219
|
{
|
|
1173
1220
|
attr: '',
|
|
1174
|
-
value: ''
|
|
1175
|
-
}
|
|
1221
|
+
value: '',
|
|
1222
|
+
},
|
|
1176
1223
|
],
|
|
1177
1224
|
content: 'connectorForm.productaanvraag.step2.tip',
|
|
1178
1225
|
refreshOnChange: false,
|
|
1179
1226
|
key: 'html2',
|
|
1180
1227
|
type: 'htmlelement',
|
|
1181
1228
|
input: false,
|
|
1182
|
-
tableView: false
|
|
1229
|
+
tableView: false,
|
|
1183
1230
|
},
|
|
1184
1231
|
{
|
|
1185
1232
|
title: 'connectorForm.productaanvraag.step2.objectType.panelTitle',
|
|
@@ -1195,48 +1242,48 @@ const editProductAanvragenConnectorForm = {
|
|
|
1195
1242
|
tooltip: 'connectorForm.productaanvraag.step2.objectType.name.tooltip',
|
|
1196
1243
|
tableView: true,
|
|
1197
1244
|
validate: {
|
|
1198
|
-
required: true
|
|
1245
|
+
required: true,
|
|
1199
1246
|
},
|
|
1200
1247
|
key: 'objectTypeName',
|
|
1201
1248
|
type: 'textfield',
|
|
1202
|
-
input: true
|
|
1249
|
+
input: true,
|
|
1203
1250
|
},
|
|
1204
1251
|
{
|
|
1205
1252
|
label: 'connectorForm.productaanvraag.step2.objectType.title.label',
|
|
1206
1253
|
tooltip: 'connectorForm.productaanvraag.step2.objectType.title.tooltip',
|
|
1207
1254
|
tableView: true,
|
|
1208
1255
|
validate: {
|
|
1209
|
-
required: true
|
|
1256
|
+
required: true,
|
|
1210
1257
|
},
|
|
1211
1258
|
key: 'objectTypeTitle',
|
|
1212
1259
|
type: 'textfield',
|
|
1213
|
-
input: true
|
|
1260
|
+
input: true,
|
|
1214
1261
|
},
|
|
1215
1262
|
{
|
|
1216
1263
|
label: 'connectorForm.productaanvraag.step2.objectType.url.label',
|
|
1217
1264
|
tooltip: 'connectorForm.productaanvraag.step2.objectType.url.tooltip',
|
|
1218
1265
|
tableView: true,
|
|
1219
1266
|
validate: {
|
|
1220
|
-
required: true
|
|
1267
|
+
required: true,
|
|
1221
1268
|
},
|
|
1222
1269
|
key: 'objectTypeUrl',
|
|
1223
1270
|
type: 'textfield',
|
|
1224
|
-
input: true
|
|
1271
|
+
input: true,
|
|
1225
1272
|
},
|
|
1226
1273
|
{
|
|
1227
1274
|
label: 'connectorForm.productaanvraag.step2.objectType.typeVersion.label',
|
|
1228
1275
|
tooltip: 'connectorForm.productaanvraag.step2.objectType.typeVersion.tooltip',
|
|
1229
1276
|
tableView: true,
|
|
1230
1277
|
validate: {
|
|
1231
|
-
required: true
|
|
1278
|
+
required: true,
|
|
1232
1279
|
},
|
|
1233
1280
|
key: 'objectTypeVersion',
|
|
1234
1281
|
type: 'textfield',
|
|
1235
|
-
input: true
|
|
1236
|
-
}
|
|
1237
|
-
]
|
|
1238
|
-
}
|
|
1239
|
-
]
|
|
1282
|
+
input: true,
|
|
1283
|
+
},
|
|
1284
|
+
],
|
|
1285
|
+
},
|
|
1286
|
+
],
|
|
1240
1287
|
},
|
|
1241
1288
|
{
|
|
1242
1289
|
title: 'connectorForm.productaanvraag.step3.title',
|
|
@@ -1244,7 +1291,7 @@ const editProductAanvragenConnectorForm = {
|
|
|
1244
1291
|
buttonSettings: {
|
|
1245
1292
|
previous: true,
|
|
1246
1293
|
cancel: true,
|
|
1247
|
-
next: true
|
|
1294
|
+
next: true,
|
|
1248
1295
|
},
|
|
1249
1296
|
navigateOnEnter: false,
|
|
1250
1297
|
saveOnEnter: false,
|
|
@@ -1261,15 +1308,15 @@ const editProductAanvragenConnectorForm = {
|
|
|
1261
1308
|
attrs: [
|
|
1262
1309
|
{
|
|
1263
1310
|
attr: '',
|
|
1264
|
-
value: ''
|
|
1265
|
-
}
|
|
1311
|
+
value: '',
|
|
1312
|
+
},
|
|
1266
1313
|
],
|
|
1267
1314
|
content: 'connectorForm.productaanvraag.step3.tip',
|
|
1268
1315
|
refreshOnChange: false,
|
|
1269
1316
|
key: 'html1',
|
|
1270
1317
|
type: 'htmlelement',
|
|
1271
1318
|
input: false,
|
|
1272
|
-
tableView: false
|
|
1319
|
+
tableView: false,
|
|
1273
1320
|
},
|
|
1274
1321
|
{
|
|
1275
1322
|
title: 'connectorForm.productaanvraag.step3.openNotifications.panelTitle',
|
|
@@ -1285,48 +1332,48 @@ const editProductAanvragenConnectorForm = {
|
|
|
1285
1332
|
tooltip: 'connectorForm.productaanvraag.step3.openNotifications.baseUrl.tooltip',
|
|
1286
1333
|
tableView: true,
|
|
1287
1334
|
validate: {
|
|
1288
|
-
required: true
|
|
1335
|
+
required: true,
|
|
1289
1336
|
},
|
|
1290
1337
|
key: 'openNotificationsBaseUrl',
|
|
1291
1338
|
type: 'textfield',
|
|
1292
|
-
input: true
|
|
1339
|
+
input: true,
|
|
1293
1340
|
},
|
|
1294
1341
|
{
|
|
1295
1342
|
label: 'connectorForm.productaanvraag.step3.openNotifications.clientId.label',
|
|
1296
1343
|
tooltip: 'connectorForm.productaanvraag.step3.openNotifications.clientId.tooltip',
|
|
1297
1344
|
tableView: true,
|
|
1298
1345
|
validate: {
|
|
1299
|
-
required: true
|
|
1346
|
+
required: true,
|
|
1300
1347
|
},
|
|
1301
1348
|
key: 'openNotificationsClientId',
|
|
1302
1349
|
type: 'textfield',
|
|
1303
|
-
input: true
|
|
1350
|
+
input: true,
|
|
1304
1351
|
},
|
|
1305
1352
|
{
|
|
1306
1353
|
label: 'connectorForm.productaanvraag.step3.openNotifications.secret.label',
|
|
1307
1354
|
tooltip: 'connectorForm.productaanvraag.step3.openNotifications.secret.tooltip',
|
|
1308
1355
|
tableView: true,
|
|
1309
1356
|
validate: {
|
|
1310
|
-
required: true
|
|
1357
|
+
required: true,
|
|
1311
1358
|
},
|
|
1312
1359
|
key: 'openNotificationsSecret',
|
|
1313
1360
|
type: 'textfield',
|
|
1314
|
-
input: true
|
|
1361
|
+
input: true,
|
|
1315
1362
|
},
|
|
1316
1363
|
{
|
|
1317
1364
|
label: 'connectorForm.productaanvraag.step3.openNotifications.callbackBaseUrl.label',
|
|
1318
1365
|
tooltip: 'connectorForm.productaanvraag.step3.openNotifications.callbackBaseUrl.tooltip',
|
|
1319
1366
|
tableView: true,
|
|
1320
1367
|
validate: {
|
|
1321
|
-
required: true
|
|
1368
|
+
required: true,
|
|
1322
1369
|
},
|
|
1323
1370
|
key: 'openNotificationsCallbackBaseUrl',
|
|
1324
1371
|
type: 'textfield',
|
|
1325
|
-
input: true
|
|
1326
|
-
}
|
|
1327
|
-
]
|
|
1328
|
-
}
|
|
1329
|
-
]
|
|
1372
|
+
input: true,
|
|
1373
|
+
},
|
|
1374
|
+
],
|
|
1375
|
+
},
|
|
1376
|
+
],
|
|
1330
1377
|
},
|
|
1331
1378
|
{
|
|
1332
1379
|
title: 'connectorForm.productaanvraag.step4.title',
|
|
@@ -1334,7 +1381,7 @@ const editProductAanvragenConnectorForm = {
|
|
|
1334
1381
|
buttonSettings: {
|
|
1335
1382
|
previous: true,
|
|
1336
1383
|
cancel: true,
|
|
1337
|
-
next: true
|
|
1384
|
+
next: true,
|
|
1338
1385
|
},
|
|
1339
1386
|
navigateOnEnter: false,
|
|
1340
1387
|
saveOnEnter: false,
|
|
@@ -1351,15 +1398,15 @@ const editProductAanvragenConnectorForm = {
|
|
|
1351
1398
|
attrs: [
|
|
1352
1399
|
{
|
|
1353
1400
|
attr: '',
|
|
1354
|
-
value: ''
|
|
1355
|
-
}
|
|
1401
|
+
value: '',
|
|
1402
|
+
},
|
|
1356
1403
|
],
|
|
1357
1404
|
content: 'connectorForm.productaanvraag.step4.tip',
|
|
1358
1405
|
refreshOnChange: false,
|
|
1359
1406
|
key: 'html3',
|
|
1360
1407
|
type: 'htmlelement',
|
|
1361
1408
|
input: false,
|
|
1362
|
-
tableView: false
|
|
1409
|
+
tableView: false,
|
|
1363
1410
|
},
|
|
1364
1411
|
{
|
|
1365
1412
|
title: 'connectorForm.productaanvraag.step4.applicant.panelTitle',
|
|
@@ -1375,30 +1422,30 @@ const editProductAanvragenConnectorForm = {
|
|
|
1375
1422
|
attrs: [
|
|
1376
1423
|
{
|
|
1377
1424
|
attr: '',
|
|
1378
|
-
value: ''
|
|
1379
|
-
}
|
|
1425
|
+
value: '',
|
|
1426
|
+
},
|
|
1380
1427
|
],
|
|
1381
1428
|
content: 'connectorForm.productaanvraag.step4.applicant.tip',
|
|
1382
1429
|
refreshOnChange: false,
|
|
1383
1430
|
key: 'html5',
|
|
1384
1431
|
type: 'htmlelement',
|
|
1385
1432
|
input: false,
|
|
1386
|
-
tableView: false
|
|
1433
|
+
tableView: false,
|
|
1387
1434
|
},
|
|
1388
1435
|
{
|
|
1389
1436
|
label: 'connectorForm.productaanvraag.step4.applicant.roleTypeUrl.label',
|
|
1390
1437
|
tooltip: 'connectorForm.productaanvraag.step4.applicant.roleTypeUrl.tooltip',
|
|
1391
1438
|
tableView: true,
|
|
1392
1439
|
validate: {
|
|
1393
|
-
required: true
|
|
1440
|
+
required: true,
|
|
1394
1441
|
},
|
|
1395
1442
|
key: 'applicantRoleTypeUrl',
|
|
1396
1443
|
type: 'textfield',
|
|
1397
|
-
input: true
|
|
1398
|
-
}
|
|
1399
|
-
]
|
|
1400
|
-
}
|
|
1401
|
-
]
|
|
1444
|
+
input: true,
|
|
1445
|
+
},
|
|
1446
|
+
],
|
|
1447
|
+
},
|
|
1448
|
+
],
|
|
1402
1449
|
},
|
|
1403
1450
|
{
|
|
1404
1451
|
title: 'connectorForm.productaanvraag.step5.title',
|
|
@@ -1406,7 +1453,7 @@ const editProductAanvragenConnectorForm = {
|
|
|
1406
1453
|
buttonSettings: {
|
|
1407
1454
|
previous: true,
|
|
1408
1455
|
cancel: true,
|
|
1409
|
-
next: true
|
|
1456
|
+
next: true,
|
|
1410
1457
|
},
|
|
1411
1458
|
navigateOnEnter: false,
|
|
1412
1459
|
saveOnEnter: false,
|
|
@@ -1423,29 +1470,29 @@ const editProductAanvragenConnectorForm = {
|
|
|
1423
1470
|
attrs: [
|
|
1424
1471
|
{
|
|
1425
1472
|
attr: '',
|
|
1426
|
-
value: ''
|
|
1427
|
-
}
|
|
1473
|
+
value: '',
|
|
1474
|
+
},
|
|
1428
1475
|
],
|
|
1429
1476
|
content: 'connectorForm.productaanvraag.step5.tip',
|
|
1430
1477
|
refreshOnChange: false,
|
|
1431
1478
|
key: 'html6',
|
|
1432
1479
|
type: 'htmlelement',
|
|
1433
1480
|
input: false,
|
|
1434
|
-
tableView: false
|
|
1481
|
+
tableView: false,
|
|
1435
1482
|
},
|
|
1436
1483
|
{
|
|
1437
1484
|
label: 'connectorForm.productaanvraag.step5.name',
|
|
1438
1485
|
tableView: true,
|
|
1439
1486
|
validate: {
|
|
1440
|
-
required: true
|
|
1487
|
+
required: true,
|
|
1441
1488
|
},
|
|
1442
1489
|
key: 'connectorName',
|
|
1443
1490
|
type: 'textfield',
|
|
1444
|
-
input: true
|
|
1445
|
-
}
|
|
1446
|
-
]
|
|
1447
|
-
}
|
|
1448
|
-
]
|
|
1491
|
+
input: true,
|
|
1492
|
+
},
|
|
1493
|
+
],
|
|
1494
|
+
},
|
|
1495
|
+
],
|
|
1449
1496
|
};
|
|
1450
1497
|
|
|
1451
1498
|
/*
|
|
@@ -1474,11 +1521,11 @@ class EditProductAanvragenConnectorComponent {
|
|
|
1474
1521
|
this.connectorDelete = new EventEmitter();
|
|
1475
1522
|
this.formRefresh$ = new Subject();
|
|
1476
1523
|
this.formDefinition$ = new BehaviorSubject(undefined);
|
|
1477
|
-
this.translatedFormDefinition$ = this.formDefinition$.pipe(map(
|
|
1524
|
+
this.translatedFormDefinition$ = this.formDefinition$.pipe(map(definition => this.formTranslationService.translateForm(definition)));
|
|
1478
1525
|
this.caseDefinitionOptions = [];
|
|
1479
1526
|
this.processDocumentDefinitionOptions = {};
|
|
1480
1527
|
this.options = {
|
|
1481
|
-
disableAlerts: true
|
|
1528
|
+
disableAlerts: true,
|
|
1482
1529
|
};
|
|
1483
1530
|
this.mapCaseDefinitionKeyComponent = (component) => {
|
|
1484
1531
|
if (component.key === 'caseDefinitionKey') {
|
|
@@ -1512,7 +1559,8 @@ class EditProductAanvragenConnectorComponent {
|
|
|
1512
1559
|
properties.openNotificatieProperties.baseUrl = submission.openNotificationsBaseUrl;
|
|
1513
1560
|
properties.openNotificatieProperties.clientId = submission.openNotificationsClientId;
|
|
1514
1561
|
properties.openNotificatieProperties.secret = submission.openNotificationsSecret;
|
|
1515
|
-
properties.openNotificatieProperties.callbackBaseUrl =
|
|
1562
|
+
properties.openNotificatieProperties.callbackBaseUrl =
|
|
1563
|
+
submission.openNotificationsCallbackBaseUrl;
|
|
1516
1564
|
properties.aanvragerRolTypeUrl = submission.applicantRoleTypeUrl;
|
|
1517
1565
|
properties.typeMapping = submission.productAanvraagTypes;
|
|
1518
1566
|
this.propertiesSave.emit({ properties, name: submission.connectorName });
|
|
@@ -1521,8 +1569,10 @@ class EditProductAanvragenConnectorComponent {
|
|
|
1521
1569
|
this.connectorDelete.emit();
|
|
1522
1570
|
}
|
|
1523
1571
|
openFormDefinitionSubscription() {
|
|
1524
|
-
this.formDefinitionSubscription = combineLatest([
|
|
1525
|
-
.
|
|
1572
|
+
this.formDefinitionSubscription = combineLatest([
|
|
1573
|
+
this.formDefinition$,
|
|
1574
|
+
this.translateService.stream('key'),
|
|
1575
|
+
]).subscribe(([form]) => {
|
|
1526
1576
|
const translatedForm = this.formTranslationService.translateForm(form);
|
|
1527
1577
|
this.refreshForm({ form: translatedForm });
|
|
1528
1578
|
});
|
|
@@ -1541,7 +1591,8 @@ class EditProductAanvragenConnectorComponent {
|
|
|
1541
1591
|
submission.openNotificationsBaseUrl = properties.openNotificatieProperties.baseUrl;
|
|
1542
1592
|
submission.openNotificationsClientId = properties.openNotificatieProperties.clientId;
|
|
1543
1593
|
submission.openNotificationsSecret = properties.openNotificatieProperties.secret;
|
|
1544
|
-
submission.openNotificationsCallbackBaseUrl =
|
|
1594
|
+
submission.openNotificationsCallbackBaseUrl =
|
|
1595
|
+
properties.openNotificatieProperties.callbackBaseUrl;
|
|
1545
1596
|
submission.applicantRoleTypeUrl = properties.aanvragerRolTypeUrl;
|
|
1546
1597
|
submission.productAanvraagTypes = properties.typeMapping;
|
|
1547
1598
|
submission.connectorName = this.defaultName;
|
|
@@ -1552,13 +1603,15 @@ class EditProductAanvragenConnectorComponent {
|
|
|
1552
1603
|
}
|
|
1553
1604
|
loadDefinitions() {
|
|
1554
1605
|
let documentDefinitions;
|
|
1555
|
-
this.documentService
|
|
1606
|
+
this.documentService
|
|
1607
|
+
.getAllDefinitions()
|
|
1608
|
+
.pipe(tap(resDocumentDefinitions => (documentDefinitions = resDocumentDefinitions.content)), switchMap(resDocumentDefinitions => combineLatest(resDocumentDefinitions.content.map(definition => this.documentService.findProcessDocumentDefinitions(definition.id.name)))), tap(res => {
|
|
1556
1609
|
var _a;
|
|
1557
|
-
this.caseDefinitionOptions = documentDefinitions.map(
|
|
1610
|
+
this.caseDefinitionOptions = documentDefinitions.map(documentDefinition => {
|
|
1558
1611
|
return { label: documentDefinition.id.name, value: documentDefinition.id.name };
|
|
1559
1612
|
});
|
|
1560
1613
|
documentDefinitions.forEach((documentDefinition, index) => {
|
|
1561
|
-
this.processDocumentDefinitionOptions[documentDefinition.id.name] = res[index].map(
|
|
1614
|
+
this.processDocumentDefinitionOptions[documentDefinition.id.name] = res[index].map(processDocumentDefinition => processDocumentDefinition.id.processDefinitionKey);
|
|
1562
1615
|
});
|
|
1563
1616
|
window['productRequestDefinitions'] = this.processDocumentDefinitionOptions;
|
|
1564
1617
|
const definitionWithCaseDefinitionOptions = this.formMappingService.mapComponents(this.formDefinition$.getValue(), this.mapCaseDefinitionKeyComponent);
|
|
@@ -1566,13 +1619,14 @@ class EditProductAanvragenConnectorComponent {
|
|
|
1566
1619
|
if ((_a = this.properties) === null || _a === void 0 ? void 0 : _a.aanvragerRolTypeUrl) {
|
|
1567
1620
|
this.prefillForm();
|
|
1568
1621
|
}
|
|
1569
|
-
}))
|
|
1622
|
+
}))
|
|
1623
|
+
.subscribe();
|
|
1570
1624
|
}
|
|
1571
1625
|
}
|
|
1572
1626
|
EditProductAanvragenConnectorComponent.decorators = [
|
|
1573
1627
|
{ type: Component, args: [{
|
|
1574
1628
|
selector: 'valtimo-edit-product-aanvragen-connector',
|
|
1575
|
-
template: "<!--\n ~ Copyright 2015-2021 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<div\n *ngIf=\"translatedFormDefinition$ | async as definition\"\n class=\"edit-product-request\"\n [ngClass]=\"{'has-delete': showDeleteButton}\"\n>\n <valtimo-form-io\n [form]=\"definition\"\n [formRefresh$]=\"formRefresh$\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n\n <button *ngIf=\"showDeleteButton\" class=\"btn btn-danger btn-space\" (click)=\"onDelete()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{'connectorManagement.remove' | translate}}\n </button>\n</div>\n
|
|
1629
|
+
template: "<!--\n ~ Copyright 2015-2021 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<div\n *ngIf=\"translatedFormDefinition$ | async as definition\"\n class=\"edit-product-request\"\n [ngClass]=\"{'has-delete': showDeleteButton}\"\n>\n <valtimo-form-io\n [form]=\"definition\"\n [formRefresh$]=\"formRefresh$\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n\n <button *ngIf=\"showDeleteButton\" class=\"btn btn-danger btn-space\" (click)=\"onDelete()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.remove' | translate }}\n </button>\n</div>\n",
|
|
1576
1630
|
styles: ["/*!\n * Copyright 2015-2021 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 */.edit-product-request ::ng-deep .btn-wizard-nav-cancel{display:none}.edit-product-request ::ng-deep .list-inline{display:flex;flex-direction:row;justify-content:flex-end}.edit-product-request ::ng-deep .col-sm-2{flex:0 0 25%;max-width:25%}.edit-product-request ::ng-deep .edit-grid-component>label{display:none}.edit-product-request.has-delete ::ng-deep .list-inline{margin-bottom:-30px}.edit-product-request .btn-danger{position:relative}"]
|
|
1577
1631
|
},] }
|
|
1578
1632
|
];
|
|
@@ -1661,7 +1715,7 @@ ConnectorManagementModule.decorators = [
|
|
|
1661
1715
|
ConnectorLinkExtensionComponent,
|
|
1662
1716
|
ConnectorLinkExtensionModalComponent,
|
|
1663
1717
|
EditProductAanvragenConnectorComponent,
|
|
1664
|
-
EditConnectorFormComponent
|
|
1718
|
+
EditConnectorFormComponent,
|
|
1665
1719
|
],
|
|
1666
1720
|
imports: [
|
|
1667
1721
|
CommonModule,
|
|
@@ -1671,7 +1725,7 @@ ConnectorManagementModule.decorators = [
|
|
|
1671
1725
|
ListModule,
|
|
1672
1726
|
SpinnerModule,
|
|
1673
1727
|
ModalModule,
|
|
1674
|
-
FormIoModule
|
|
1728
|
+
FormIoModule,
|
|
1675
1729
|
],
|
|
1676
1730
|
exports: [
|
|
1677
1731
|
ConnectorManagementComponent,
|
|
@@ -1682,11 +1736,9 @@ ConnectorManagementModule.decorators = [
|
|
|
1682
1736
|
MultiValueConnectorPropertyComponent,
|
|
1683
1737
|
ConnectorLinkExtensionComponent,
|
|
1684
1738
|
ConnectorLinkExtensionModalComponent,
|
|
1685
|
-
EditProductAanvragenConnectorComponent
|
|
1739
|
+
EditProductAanvragenConnectorComponent,
|
|
1686
1740
|
],
|
|
1687
|
-
entryComponents: [
|
|
1688
|
-
ConnectorLinkExtensionComponent,
|
|
1689
|
-
]
|
|
1741
|
+
entryComponents: [ConnectorLinkExtensionComponent],
|
|
1690
1742
|
},] }
|
|
1691
1743
|
];
|
|
1692
1744
|
|