@valtimo/object-management 12.14.0 → 13.0.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/fesm2022/valtimo-object-management.mjs +74 -81
- package/fesm2022/valtimo-object-management.mjs.map +1 -1
- package/lib/components/object-management-detail-container/object-management-detail-container.component.d.ts +1 -1
- package/lib/components/object-management-detail-container/tabs/object-management-list-columns/object-management-list-columns.component.d.ts +3 -3
- package/lib/components/object-management-detail-container/tabs/object-management-list-search-fields/object-management-list-search-fields.component.d.ts +2 -2
- package/lib/object-management.module.d.ts +1 -1
- package/lib/services/object-management.service.d.ts +1 -1
- package/package.json +4 -6
- package/esm2022/lib/components/object-management-detail-container/object-management-detail-container.component.mjs +0 -67
- package/esm2022/lib/components/object-management-detail-container/tabs/object-management-detail/object-management-detail.component.mjs +0 -56
- package/esm2022/lib/components/object-management-detail-container/tabs/object-management-list-columns/object-management-list-columns.component.mjs +0 -446
- package/esm2022/lib/components/object-management-detail-container/tabs/object-management-list-search-fields/object-management-list-search-fields.component.mjs +0 -341
- package/esm2022/lib/components/object-management-list/object-management-list.component.mjs +0 -66
- package/esm2022/lib/components/object-management-modal/object-management-modal.component.mjs +0 -146
- package/esm2022/lib/components/object-management-upload-modal/object-management-upload-modal.component.mjs +0 -184
- package/esm2022/lib/models/object-management.model.mjs +0 -17
- package/esm2022/lib/object-management-routing.module.mjs +0 -52
- package/esm2022/lib/object-management.module.mjs +0 -141
- package/esm2022/lib/services/object-management-state.service.mjs +0 -59
- package/esm2022/lib/services/object-management.service.mjs +0 -79
- package/esm2022/lib/services/tab.enum.mjs +0 -22
- package/esm2022/lib/services/tab.service.mjs +0 -39
- package/esm2022/public-api.mjs +0 -22
- package/esm2022/valtimo-object-management.mjs +0 -5
package/esm2022/lib/components/object-management-modal/object-management-modal.component.mjs
DELETED
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
|
17
|
-
import { BehaviorSubject, combineLatest, map } from 'rxjs';
|
|
18
|
-
import { take } from 'rxjs/operators';
|
|
19
|
-
import * as i0 from "@angular/core";
|
|
20
|
-
import * as i1 from "../../services/object-management-state.service";
|
|
21
|
-
import * as i2 from "../../services/object-management.service";
|
|
22
|
-
import * as i3 from "@valtimo/form";
|
|
23
|
-
import * as i4 from "@valtimo/plugin";
|
|
24
|
-
import * as i5 from "@valtimo/components";
|
|
25
|
-
import * as i6 from "@angular/common";
|
|
26
|
-
import * as i7 from "@ngx-translate/core";
|
|
27
|
-
export class ObjectManagementModalComponent {
|
|
28
|
-
constructor(objectManagementState, objectManagementService, formService, pluginManagementService, modalService) {
|
|
29
|
-
this.objectManagementState = objectManagementState;
|
|
30
|
-
this.objectManagementService = objectManagementService;
|
|
31
|
-
this.formService = formService;
|
|
32
|
-
this.pluginManagementService = pluginManagementService;
|
|
33
|
-
this.modalService = modalService;
|
|
34
|
-
this.valid$ = new BehaviorSubject(false);
|
|
35
|
-
this.showForm$ = this.modalService.modalVisible$;
|
|
36
|
-
this.modalType$ = this.objectManagementState.modalType$;
|
|
37
|
-
this.formData$ = new BehaviorSubject(null);
|
|
38
|
-
this.selectedObjecttype$ = new BehaviorSubject(null);
|
|
39
|
-
this.formDefinitions$ = this.formService
|
|
40
|
-
.getAllFormDefinitions()
|
|
41
|
-
.pipe(map(results => results?.map(configuration => ({
|
|
42
|
-
id: configuration.name,
|
|
43
|
-
text: configuration.name,
|
|
44
|
-
}))));
|
|
45
|
-
this.configurationInstances$ = this.pluginManagementService
|
|
46
|
-
.getAllPluginConfigurations()
|
|
47
|
-
.pipe(map(configurations => configurations));
|
|
48
|
-
this.objectsApiConfigurations$ = this.configurationInstances$.pipe(map(configurations => {
|
|
49
|
-
const filteredObjectsApiConfigurations = configurations.filter(configuration => configuration?.pluginDefinition?.key === 'objectenapi');
|
|
50
|
-
return filteredObjectsApiConfigurations.map(configuration => ({
|
|
51
|
-
id: configuration.id,
|
|
52
|
-
text: configuration.title,
|
|
53
|
-
}));
|
|
54
|
-
}));
|
|
55
|
-
this.objecttypesApiConfigurations$ = this.configurationInstances$.pipe(map(configurations => {
|
|
56
|
-
const filteredObjecttypesApiConfigurations = configurations.filter(configuration => configuration?.pluginDefinition?.key === 'objecttypenapi');
|
|
57
|
-
return filteredObjecttypesApiConfigurations.map(configuration => ({
|
|
58
|
-
id: configuration.id,
|
|
59
|
-
text: configuration.title,
|
|
60
|
-
properties: configuration.properties,
|
|
61
|
-
}));
|
|
62
|
-
}));
|
|
63
|
-
}
|
|
64
|
-
ngAfterViewInit() {
|
|
65
|
-
this.openShowSubscription();
|
|
66
|
-
this.openHideSubscription();
|
|
67
|
-
}
|
|
68
|
-
ngOnDestroy() {
|
|
69
|
-
this.showSubscription?.unsubscribe();
|
|
70
|
-
this.hideSubscription?.unsubscribe();
|
|
71
|
-
}
|
|
72
|
-
hide() {
|
|
73
|
-
this.formData$.next(null);
|
|
74
|
-
this.valid$.next(false);
|
|
75
|
-
this.modalService.closeModal();
|
|
76
|
-
}
|
|
77
|
-
cancel() {
|
|
78
|
-
this.hide();
|
|
79
|
-
}
|
|
80
|
-
save() {
|
|
81
|
-
combineLatest([this.valid$, this.formData$, this.modalType$])
|
|
82
|
-
.pipe(take(1))
|
|
83
|
-
.subscribe(([valid, formData, modalType]) => {
|
|
84
|
-
if (valid) {
|
|
85
|
-
if (modalType === 'add') {
|
|
86
|
-
this.objectManagementService.createObject({ ...formData }).subscribe(() => {
|
|
87
|
-
this.objectManagementState.refresh();
|
|
88
|
-
this.objectManagementState.hideModal();
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
else if (modalType === 'edit') {
|
|
92
|
-
this.objectManagementService.editObject({ ...formData }).subscribe(() => {
|
|
93
|
-
this.objectManagementState.refresh();
|
|
94
|
-
this.objectManagementState.hideModal();
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
openShowSubscription() {
|
|
101
|
-
this.showSubscription = this.objectManagementState.showModal$.subscribe(() => {
|
|
102
|
-
this.show();
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
openHideSubscription() {
|
|
106
|
-
this.hideSubscription = this.objectManagementState.hideModal$.subscribe(() => {
|
|
107
|
-
this.hide();
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
show() {
|
|
111
|
-
this.objectManagementState.modalType$.pipe(take(1)).subscribe(modalType => {
|
|
112
|
-
if (modalType === 'edit' || modalType === 'add') {
|
|
113
|
-
this.modalService.openModal(this.objectManagementModal);
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
formValueChange(data) {
|
|
118
|
-
if (data.showInDataMenu === '') {
|
|
119
|
-
data.showInDataMenu = false;
|
|
120
|
-
}
|
|
121
|
-
this.formData$.next(data);
|
|
122
|
-
this.setValid(data);
|
|
123
|
-
}
|
|
124
|
-
setValid(data) {
|
|
125
|
-
this.valid$.next(!!(data.title &&
|
|
126
|
-
data.objectenApiPluginConfigurationId &&
|
|
127
|
-
data.objecttypenApiPluginConfigurationId &&
|
|
128
|
-
data.objecttypeId &&
|
|
129
|
-
data.objecttypeVersion));
|
|
130
|
-
}
|
|
131
|
-
selectObjectType(objecttype) {
|
|
132
|
-
this.selectedObjecttype$.next(objecttype);
|
|
133
|
-
}
|
|
134
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObjectManagementModalComponent, deps: [{ token: i1.ObjectManagementStateService }, { token: i2.ObjectManagementService }, { token: i3.FormService }, { token: i4.PluginManagementService }, { token: i5.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
135
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ObjectManagementModalComponent, selector: "valtimo-object-management-modal", inputs: { prefillObject$: "prefillObject$" }, viewQueries: [{ propertyName: "objectManagementModal", first: true, predicate: ["objectManagementModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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-modal\n #objectManagementModal\n *ngIf=\"{\n disabled: disabled$ | async,\n valid: valid$ | async,\n modalType: modalType$ | async,\n prefillObject: prefillObject$ | async,\n } as obs\"\n>\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{\n (obs.modalType === 'add'\n ? 'objectManagement.createObjecttype'\n : 'objectManagement.editObjecttype'\n ) | translate\n }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container\n *ngTemplateOutlet=\"\n form;\n context: {prefillObject: obs.prefillObject, modalType: obs.modalType}\n \"\n ></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button\n (clickEvent)=\"save()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{\n (obs.modalType === 'add' ? 'objectManagement.add' : 'objectManagement.edit') | translate\n }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #form let-prefillObject=\"prefillObject\" let-modalType=\"modalType\">\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n *ngIf=\"modalType === 'edit'\"\n hidden\n [disabled]=\"true\"\n [defaultValue]=\"prefillObject?.id\"\n name=\"id\"\n ></v-input>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.title' | translate\"\n [tooltip]=\"'objectManagement.tooltips.title' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.title\"\n name=\"title\"\n ></v-input>\n\n <ng-container\n *ngIf=\"{\n connectionInstances: configurationInstances$ | async,\n objectsApiConfigurations: objectsApiConfigurations$ | async,\n objecttypesApiConfigurations: objecttypesApiConfigurations$ | async,\n } as objectObs\"\n >\n <v-select\n [items]=\"objectObs.objectsApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objectenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objects' | translate\"\n [defaultSelectionId]=\"prefillObject?.objectenApiPluginConfigurationId\"\n [required]=\"true\"\n ></v-select>\n\n <v-select\n [items]=\"objectObs.objecttypesApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objecttypes' | translate\"\n [defaultSelectionId]=\"prefillObject?.objecttypenApiPluginConfigurationId\"\n [required]=\"true\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.objecttypeId' | translate\"\n [tooltip]=\"'objectManagement.tooltips.objecttypeId' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.objecttypeId\"\n name=\"objecttypeId\"\n ></v-input>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.objecttypeVersion' | translate\"\n [tooltip]=\"'objectManagement.tooltips.objecttypeVersion' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.objecttypeVersion\"\n [min]=\"1\"\n type=\"number\"\n name=\"objecttypeVersion\"\n ></v-input>\n\n <ng-container *ngIf=\"{formDefinitions: formDefinitions$ | async} as formObs\">\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionView\"\n [title]=\"'objectManagement.labels.formDefinitionView' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionView' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionView\"\n ></v-select>\n\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionEdit\"\n [title]=\"'objectManagement.labels.formDefinitionEdit' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionEdit' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionEdit\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n type=\"checkbox\"\n [title]=\"'objectManagement.labels.showInDataMenu' | translate\"\n [tooltip]=\"'objectManagement.tooltips.showInDataMenu' | translate\"\n name=\"showInDataMenu\"\n [defaultValue]=\"prefillObject?.showInDataMenu\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-template>\n", styles: [".buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter", "parentId"], outputs: ["closeEvent"] }, { kind: "component", type: i5.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "component", type: i5.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i5.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i5.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "component", type: i5.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
|
136
|
-
}
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObjectManagementModalComponent, decorators: [{
|
|
138
|
-
type: Component,
|
|
139
|
-
args: [{ selector: 'valtimo-object-management-modal', template: "<!--\n ~ Copyright 2015-2024 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-modal\n #objectManagementModal\n *ngIf=\"{\n disabled: disabled$ | async,\n valid: valid$ | async,\n modalType: modalType$ | async,\n prefillObject: prefillObject$ | async,\n } as obs\"\n>\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{\n (obs.modalType === 'add'\n ? 'objectManagement.createObjecttype'\n : 'objectManagement.editObjecttype'\n ) | translate\n }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container\n *ngTemplateOutlet=\"\n form;\n context: {prefillObject: obs.prefillObject, modalType: obs.modalType}\n \"\n ></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button\n (clickEvent)=\"save()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{\n (obs.modalType === 'add' ? 'objectManagement.add' : 'objectManagement.edit') | translate\n }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #form let-prefillObject=\"prefillObject\" let-modalType=\"modalType\">\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n *ngIf=\"modalType === 'edit'\"\n hidden\n [disabled]=\"true\"\n [defaultValue]=\"prefillObject?.id\"\n name=\"id\"\n ></v-input>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.title' | translate\"\n [tooltip]=\"'objectManagement.tooltips.title' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.title\"\n name=\"title\"\n ></v-input>\n\n <ng-container\n *ngIf=\"{\n connectionInstances: configurationInstances$ | async,\n objectsApiConfigurations: objectsApiConfigurations$ | async,\n objecttypesApiConfigurations: objecttypesApiConfigurations$ | async,\n } as objectObs\"\n >\n <v-select\n [items]=\"objectObs.objectsApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objectenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objects' | translate\"\n [defaultSelectionId]=\"prefillObject?.objectenApiPluginConfigurationId\"\n [required]=\"true\"\n ></v-select>\n\n <v-select\n [items]=\"objectObs.objecttypesApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objecttypes' | translate\"\n [defaultSelectionId]=\"prefillObject?.objecttypenApiPluginConfigurationId\"\n [required]=\"true\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.objecttypeId' | translate\"\n [tooltip]=\"'objectManagement.tooltips.objecttypeId' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.objecttypeId\"\n name=\"objecttypeId\"\n ></v-input>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.objecttypeVersion' | translate\"\n [tooltip]=\"'objectManagement.tooltips.objecttypeVersion' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.objecttypeVersion\"\n [min]=\"1\"\n type=\"number\"\n name=\"objecttypeVersion\"\n ></v-input>\n\n <ng-container *ngIf=\"{formDefinitions: formDefinitions$ | async} as formObs\">\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionView\"\n [title]=\"'objectManagement.labels.formDefinitionView' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionView' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionView\"\n ></v-select>\n\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionEdit\"\n [title]=\"'objectManagement.labels.formDefinitionEdit' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionEdit' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionEdit\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n type=\"checkbox\"\n [title]=\"'objectManagement.labels.showInDataMenu' | translate\"\n [tooltip]=\"'objectManagement.tooltips.showInDataMenu' | translate\"\n name=\"showInDataMenu\"\n [defaultValue]=\"prefillObject?.showInDataMenu\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-template>\n", styles: [".buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
140
|
-
}], ctorParameters: () => [{ type: i1.ObjectManagementStateService }, { type: i2.ObjectManagementService }, { type: i3.FormService }, { type: i4.PluginManagementService }, { type: i5.ModalService }], propDecorators: { objectManagementModal: [{
|
|
141
|
-
type: ViewChild,
|
|
142
|
-
args: ['objectManagementModal']
|
|
143
|
-
}], prefillObject$: [{
|
|
144
|
-
type: Input
|
|
145
|
-
}] } });
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3QtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3QtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQWdCLFNBQVMsRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBMkIsTUFBTSxNQUFNLENBQUM7QUFDbkYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFhcEMsTUFBTSxPQUFPLDhCQUE4QjtJQXdEekMsWUFDbUIscUJBQW1ELEVBQ25ELHVCQUFnRCxFQUNoRCxXQUF3QixFQUN4Qix1QkFBZ0QsRUFDaEQsWUFBMEI7UUFKMUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE4QjtRQUNuRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsaUJBQVksR0FBWixZQUFZLENBQWM7UUF4RHBDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUM3QyxjQUFTLEdBQXdCLElBQUksQ0FB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QUFpQztrT0FLUCxxQkFBcUI7c0JBQXhELFNBQVM7dUJBQUMsdUJBQXVCO2dCQUN6QixjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge09iamVjdE1hbmFnZW1lbnRTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29iamVjdC1tYW5hZ2VtZW50LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtQbHVnaW5Db25maWd1cmF0aW9uLCBQbHVnaW5NYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vcGx1Z2luJztcbmltcG9ydCB7T2JqZWN0TWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29iamVjdC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtPYmplY3R0eXBlfSBmcm9tICcuLi8uLi9tb2RlbHMvb2JqZWN0LW1hbmFnZW1lbnQubW9kZWwnO1xuaW1wb3J0IHtGb3JtU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZm9ybSc7XG5pbXBvcnQge1ZNb2RhbENvbXBvbmVudCwgTW9kYWxTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1vYmplY3QtbWFuYWdlbWVudC1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9vYmplY3QtbWFuYWdlbWVudC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29iamVjdC1tYW5hZ2VtZW50LW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdE1hbmFnZW1lbnRNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ29iamVjdE1hbmFnZW1lbnRNb2RhbCcpIG9iamVjdE1hbmFnZW1lbnRNb2RhbDogVk1vZGFsQ29tcG9uZW50O1xuICBASW5wdXQoKSBwcmVmaWxsT2JqZWN0JCE6IE9ic2VydmFibGU8T2JqZWN0dHlwZT47XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWQkITogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcmVhZG9ubHkgdmFsaWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHNob3dGb3JtJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMubW9kYWxTZXJ2aWNlLm1vZGFsVmlzaWJsZSQ7XG4gIHJlYWRvbmx5IG1vZGFsVHlwZSQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLm1vZGFsVHlwZSQ7XG4gIHJlYWRvbmx5IGZvcm1EYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcblxuICBzaG93U3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBoaWRlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkT2JqZWN0dHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIHJlYWRvbmx5IGZvcm1EZWZpbml0aW9ucyQ6IE9ic2VydmFibGU8QXJyYXk8e2lkOiBzdHJpbmc7IHRleHQ6IHN0cmluZ30+PiA9IHRoaXMuZm9ybVNlcnZpY2VcbiAgICAuZ2V0QWxsRm9ybURlZmluaXRpb25zKClcbiAgICAucGlwZShcbiAgICAgIG1hcChyZXN1bHRzID0+XG4gICAgICAgIHJlc3VsdHM/Lm1hcChjb25maWd1cmF0aW9uID0+ICh7XG4gICAgICAgICAgaWQ6IGNvbmZpZ3VyYXRpb24ubmFtZSxcbiAgICAgICAgICB0ZXh0OiBjb25maWd1cmF0aW9uLm5hbWUsXG4gICAgICAgIH0pKVxuICAgICAgKVxuICAgICk7XG5cbiAgcmVhZG9ubHkgY29uZmlndXJhdGlvbkluc3RhbmNlcyQ6IE9ic2VydmFibGU8QXJyYXk8UGx1Z2luQ29uZmlndXJhdGlvbj4+ID1cbiAgICB0aGlzLnBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlXG4gICAgICAuZ2V0QWxsUGx1Z2luQ29uZmlndXJhdGlvbnMoKVxuICAgICAgLnBpcGUobWFwKGNvbmZpZ3VyYXRpb25zID0+IGNvbmZpZ3VyYXRpb25zKSk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0c0FwaUNvbmZpZ3VyYXRpb25zJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5jb25maWd1cmF0aW9uSW5zdGFuY2VzJC5waXBlKFxuICAgIG1hcChjb25maWd1cmF0aW9ucyA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJlZE9iamVjdHNBcGlDb25maWd1cmF0aW9ucyA9IGNvbmZpZ3VyYXRpb25zLmZpbHRlcihcbiAgICAgICAgY29uZmlndXJhdGlvbiA9PiBjb25maWd1cmF0aW9uPy5wbHVnaW5EZWZpbml0aW9uPy5rZXkgPT09ICdvYmplY3RlbmFwaSdcbiAgICAgICk7XG4gICAgICByZXR1cm4gZmlsdGVyZWRPYmplY3RzQXBpQ29uZmlndXJhdGlvbnMubWFwKGNvbmZpZ3VyYXRpb24gPT4gKHtcbiAgICAgICAgaWQ6IGNvbmZpZ3VyYXRpb24uaWQsXG4gICAgICAgIHRleHQ6IGNvbmZpZ3VyYXRpb24udGl0bGUsXG4gICAgICB9KSk7XG4gICAgfSlcbiAgKTtcblxuICByZWFkb25seSBvYmplY3R0eXBlc0FwaUNvbmZpZ3VyYXRpb25zJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5jb25maWd1cmF0aW9uSW5zdGFuY2VzJC5waXBlKFxuICAgIG1hcChjb25maWd1cmF0aW9ucyA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJlZE9iamVjdHR5cGVzQXBpQ29uZmlndXJhdGlvbnMgPSBjb25maWd1cmF0aW9ucy5maWx0ZXIoXG4gICAgICAgIGNvbmZpZ3VyYXRpb24gPT4gY29uZmlndXJhdGlvbj8ucGx1Z2luRGVmaW5pdGlvbj8ua2V5ID09PSAnb2JqZWN0dHlwZW5hcGknXG4gICAgICApO1xuICAgICAgcmV0dXJuIGZpbHRlcmVkT2JqZWN0dHlwZXNBcGlDb25maWd1cmF0aW9ucy5tYXAoY29uZmlndXJhdGlvbiA9PiAoe1xuICAgICAgICBpZDogY29uZmlndXJhdGlvbi5pZCxcbiAgICAgICAgdGV4dDogY29uZmlndXJhdGlvbi50aXRsZSxcbiAgICAgICAgcHJvcGVydGllczogY29uZmlndXJhdGlvbi5wcm9wZXJ0aWVzLFxuICAgICAgfSkpO1xuICAgIH0pXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYmplY3RNYW5hZ2VtZW50U3RhdGU6IE9iamVjdE1hbmFnZW1lbnRTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYmplY3RNYW5hZ2VtZW50U2VydmljZTogT2JqZWN0TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5NYW5hZ2VtZW50U2VydmljZTogUGx1Z2luTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZVxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblNob3dTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5IaWRlU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5oaWRlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1EYXRhJC5uZXh0KG51bGwpO1xuICAgIHRoaXMudmFsaWQkLm5leHQoZmFsc2UpO1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmNsb3NlTW9kYWwoKTtcbiAgfVxuXG4gIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuXG4gIHNhdmUoKTogdm9pZCB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy52YWxpZCQsIHRoaXMuZm9ybURhdGEkLCB0aGlzLm1vZGFsVHlwZSRdKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKFt2YWxpZCwgZm9ybURhdGEsIG1vZGFsVHlwZV0pID0+IHtcbiAgICAgICAgaWYgKHZhbGlkKSB7XG4gICAgICAgICAgaWYgKG1vZGFsVHlwZSA9PT0gJ2FkZCcpIHtcbiAgICAgICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFNlcnZpY2UuY3JlYXRlT2JqZWN0KHsuLi5mb3JtRGF0YX0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLnJlZnJlc2goKTtcbiAgICAgICAgICAgICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUuaGlkZU1vZGFsKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKG1vZGFsVHlwZSA9PT0gJ2VkaXQnKSB7XG4gICAgICAgICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTZXJ2aWNlLmVkaXRPYmplY3Qoey4uLmZvcm1EYXRhfSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUucmVmcmVzaCgpO1xuICAgICAgICAgICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5oaWRlTW9kYWwoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TaG93U3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1N1YnNjcmlwdGlvbiA9IHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLnNob3dNb2RhbCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2hvdygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuSGlkZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVTdWJzY3JpcHRpb24gPSB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5oaWRlTW9kYWwkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5tb2RhbFR5cGUkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKG1vZGFsVHlwZSA9PiB7XG4gICAgICBpZiAobW9kYWxUeXBlID09PSAnZWRpdCcgfHwgbW9kYWxUeXBlID09PSAnYWRkJykge1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuTW9kYWwodGhpcy5vYmplY3RNYW5hZ2VtZW50TW9kYWwpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZm9ybVZhbHVlQ2hhbmdlKGRhdGE6IGFueSk6IHZvaWQge1xuICAgIGlmIChkYXRhLnNob3dJbkRhdGFNZW51ID09PSAnJykge1xuICAgICAgZGF0YS5zaG93SW5EYXRhTWVudSA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmZvcm1EYXRhJC5uZXh0KGRhdGEpO1xuICAgIHRoaXMuc2V0VmFsaWQoZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIHNldFZhbGlkKGRhdGE6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsaWQkLm5leHQoXG4gICAgICAhIShcbiAgICAgICAgZGF0YS50aXRsZSAmJlxuICAgICAgICBkYXRhLm9iamVjdGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkICYmXG4gICAgICAgIGRhdGEub2JqZWN0dHlwZW5BcGlQbHVnaW5Db25maWd1cmF0aW9uSWQgJiZcbiAgICAgICAgZGF0YS5vYmplY3R0eXBlSWQgJiZcbiAgICAgICAgZGF0YS5vYmplY3R0eXBlVmVyc2lvblxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBzZWxlY3RPYmplY3RUeXBlKG9iamVjdHR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkT2JqZWN0dHlwZSQubmV4dChvYmplY3R0eXBlKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48di1tb2RhbFxuICAjb2JqZWN0TWFuYWdlbWVudE1vZGFsXG4gICpuZ0lmPVwie1xuICAgIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luYyxcbiAgICB2YWxpZDogdmFsaWQkIHwgYXN5bmMsXG4gICAgbW9kYWxUeXBlOiBtb2RhbFR5cGUkIHwgYXN5bmMsXG4gICAgcHJlZmlsbE9iamVjdDogcHJlZmlsbE9iamVjdCQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuPlxuICA8ZGl2IHJvbGU9XCJoZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRkLXRpdGxlXCI+XG4gICAgICA8di10aXRsZSBbbWFyZ2luXT1cImZhbHNlXCI+e3tcbiAgICAgICAgKG9icy5tb2RhbFR5cGUgPT09ICdhZGQnXG4gICAgICAgICAgPyAnb2JqZWN0TWFuYWdlbWVudC5jcmVhdGVPYmplY3R0eXBlJ1xuICAgICAgICAgIDogJ29iamVjdE1hbmFnZW1lbnQuZWRpdE9iamVjdHR5cGUnXG4gICAgICAgICkgfCB0cmFuc2xhdGVcbiAgICAgIH19PC92LXRpdGxlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiByb2xlPVwiY29udGVudFwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIGZvcm07XG4gICAgICAgIGNvbnRleHQ6IHtwcmVmaWxsT2JqZWN0OiBvYnMucHJlZmlsbE9iamVjdCwgbW9kYWxUeXBlOiBvYnMubW9kYWxUeXBlfVxuICAgICAgXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8ZGl2IHJvbGU9XCJmb290ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxuICAgICAgPHYtYnV0dG9uIChjbGlja0V2ZW50KT1cImNhbmNlbCgpXCIgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiIHR5cGU9XCJzZWNvbmRhcnlcIj5cbiAgICAgICAge3sgJ29iamVjdE1hbmFnZW1lbnQuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC92LWJ1dHRvbj5cbiAgICAgIDx2LWJ1dHRvblxuICAgICAgICAoY2xpY2tFdmVudCk9XCJzYXZlKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkIHx8ICFvYnMudmFsaWRcIlxuICAgICAgICBtZGlJY29uPVwicGx1c1wiXG4gICAgICAgIHR5cGU9XCJzdWNjZXNzXCJcbiAgICAgID5cbiAgICAgICAge3tcbiAgICAgICAgICAob2JzLm1vZGFsVHlwZSA9PT0gJ2FkZCcgPyAnb2JqZWN0TWFuYWdlbWVudC5hZGQnIDogJ29iamVjdE1hbmFnZW1lbnQuZWRpdCcpIHwgdHJhbnNsYXRlXG4gICAgICAgIH19XG4gICAgICA8L3YtYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvdi1tb2RhbD5cblxuPG5nLXRlbXBsYXRlICNmb3JtIGxldC1wcmVmaWxsT2JqZWN0PVwicHJlZmlsbE9iamVjdFwiIGxldC1tb2RhbFR5cGU9XCJtb2RhbFR5cGVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGb3JtJCB8IGFzeW5jXCI+XG4gICAgPHYtZm9ybSAodmFsdWVDaGFuZ2UpPVwiZm9ybVZhbHVlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgIDx2LWlucHV0XG4gICAgICAgICpuZ0lmPVwibW9kYWxUeXBlID09PSAnZWRpdCdcIlxuICAgICAgICBoaWRkZW5cbiAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cInByZWZpbGxPYmplY3Q/LmlkXCJcbiAgICAgICAgbmFtZT1cImlkXCJcbiAgICAgID48L3YtaW5wdXQ+XG5cbiAgICAgIDx2LWlucHV0XG4gICAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgW3RpdGxlXT1cIidvYmplY3RNYW5hZ2VtZW50LmxhYmVscy50aXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbdG9vbHRpcF09XCInb2JqZWN0TWFuYWdlbWVudC50b29sdGlwcy50aXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbd2lkdGhQeF09XCIzNTBcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cInByZWZpbGxPYmplY3Q/LnRpdGxlXCJcbiAgICAgICAgbmFtZT1cInRpdGxlXCJcbiAgICAgID48L3YtaW5wdXQ+XG5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJ7XG4gICAgICAgICAgY29ubmVjdGlvbkluc3RhbmNlczogY29uZmlndXJhdGlvbkluc3RhbmNlcyQgfCBhc3luYyxcbiAgICAgICAgICBvYmplY3RzQXBpQ29uZmlndXJhdGlvbnM6IG9iamVjdHNBcGlDb25maWd1cmF0aW9ucyQgfCBhc3luYyxcbiAgICAgICAgICBvYmplY3R0eXBlc0FwaUNvbmZpZ3VyYXRpb25zOiBvYmplY3R0eXBlc0FwaUNvbmZpZ3VyYXRpb25zJCB8IGFzeW5jLFxuICAgICAgICB9IGFzIG9iamVjdE9ic1wiXG4gICAgICA+XG4gICAgICAgIDx2LXNlbGVjdFxuICAgICAgICAgIFtpdGVtc109XCJvYmplY3RPYnMub2JqZWN0c0FwaUNvbmZpZ3VyYXRpb25zXCJcbiAgICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICAgICAgICBuYW1lPVwib2JqZWN0ZW5BcGlQbHVnaW5Db25maWd1cmF0aW9uSWRcIlxuICAgICAgICAgIFt0aXRsZV09XCInb2JqZWN0TWFuYWdlbWVudC5sYWJlbHMub2JqZWN0cycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtkZWZhdWx0U2VsZWN0aW9uSWRdPVwicHJlZmlsbE9iamVjdD8ub2JqZWN0ZW5BcGlQbHVnaW5Db25maWd1cmF0aW9uSWRcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgPjwvdi1zZWxlY3Q+XG5cbiAgICAgICAgPHYtc2VsZWN0XG4gICAgICAgICAgW2l0ZW1zXT1cIm9iamVjdE9icy5vYmplY3R0eXBlc0FwaUNvbmZpZ3VyYXRpb25zXCJcbiAgICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICAgICAgICBuYW1lPVwib2JqZWN0dHlwZW5BcGlQbHVnaW5Db25maWd1cmF0aW9uSWRcIlxuICAgICAgICAgIFt0aXRsZV09XCInb2JqZWN0TWFuYWdlbWVudC5sYWJlbHMub2JqZWN0dHlwZXMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbZGVmYXVsdFNlbGVjdGlvbklkXT1cInByZWZpbGxPYmplY3Q/Lm9iamVjdHR5cGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cInNlbGVjdE9iamVjdFR5cGUoJGV2ZW50KVwiXG4gICAgICAgID48L3Ytc2VsZWN0PlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDx2LWlucHV0XG4gICAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgW3RpdGxlXT1cIidvYmplY3RNYW5hZ2VtZW50LmxhYmVscy5vYmplY3R0eXBlSWQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW3Rvb2x0aXBdPVwiJ29iamVjdE1hbmFnZW1lbnQudG9vbHRpcHMub2JqZWN0dHlwZUlkJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt3aWR0aFB4XT1cIjM1MFwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbE9iamVjdD8ub2JqZWN0dHlwZUlkXCJcbiAgICAgICAgbmFtZT1cIm9iamVjdHR5cGVJZFwiXG4gICAgICA+PC92LWlucHV0PlxuXG4gICAgICA8di1pbnB1dFxuICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgIFt0aXRsZV09XCInb2JqZWN0TWFuYWdlbWVudC5sYWJlbHMub2JqZWN0dHlwZVZlcnNpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW3Rvb2x0aXBdPVwiJ29iamVjdE1hbmFnZW1lbnQudG9vbHRpcHMub2JqZWN0dHlwZVZlcnNpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW3dpZHRoUHhdPVwiMzUwXCJcbiAgICAgICAgW2RlZmF1bHRWYWx1ZV09XCJwcmVmaWxsT2JqZWN0Py5vYmplY3R0eXBlVmVyc2lvblwiXG4gICAgICAgIFttaW5dPVwiMVwiXG4gICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICBuYW1lPVwib2JqZWN0dHlwZVZlcnNpb25cIlxuICAgICAgPjwvdi1pbnB1dD5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIntmb3JtRGVmaW5pdGlvbnM6IGZvcm1EZWZpbml0aW9ucyQgfCBhc3luY30gYXMgZm9ybU9ic1wiPlxuICAgICAgICA8di1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwiZm9ybU9icy5mb3JtRGVmaW5pdGlvbnNcIlxuICAgICAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgICAgIG5hbWU9XCJmb3JtRGVmaW5pdGlvblZpZXdcIlxuICAgICAgICAgIFt0aXRsZV09XCInb2JqZWN0TWFuYWdlbWVudC5sYWJlbHMuZm9ybURlZmluaXRpb25WaWV3JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ29iamVjdE1hbmFnZW1lbnQudG9vbHRpcHMuZm9ybURlZmluaXRpb25WaWV3JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJwcmVmaWxsT2JqZWN0Py5mb3JtRGVmaW5pdGlvblZpZXdcIlxuICAgICAgICA+PC92LXNlbGVjdD5cblxuICAgICAgICA8di1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwiZm9ybU9icy5mb3JtRGVmaW5pdGlvbnNcIlxuICAgICAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgICAgIG5hbWU9XCJmb3JtRGVmaW5pdGlvbkVkaXRcIlxuICAgICAgICAgIFt0aXRsZV09XCInb2JqZWN0TWFuYWdlbWVudC5sYWJlbHMuZm9ybURlZmluaXRpb25FZGl0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ29iamVjdE1hbmFnZW1lbnQudG9vbHRpcHMuZm9ybURlZmluaXRpb25FZGl0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJwcmVmaWxsT2JqZWN0Py5mb3JtRGVmaW5pdGlvbkVkaXRcIlxuICAgICAgICA+PC92LXNlbGVjdD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8di1pbnB1dFxuICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLnNob3dJbkRhdGFNZW51JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLnNob3dJbkRhdGFNZW51JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIG5hbWU9XCJzaG93SW5EYXRhTWVudVwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbE9iamVjdD8uc2hvd0luRGF0YU1lbnVcIlxuICAgICAgPjwvdi1pbnB1dD5cbiAgICA8L3YtZm9ybT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component, Input, ViewChild, } from '@angular/core';
|
|
17
|
-
import { BehaviorSubject, Subject } from 'rxjs';
|
|
18
|
-
import { take } from 'rxjs/operators';
|
|
19
|
-
import * as i0 from "@angular/core";
|
|
20
|
-
import * as i1 from "../../services/object-management-state.service";
|
|
21
|
-
import * as i2 from "../../services/object-management.service";
|
|
22
|
-
import * as i3 from "@valtimo/form-management";
|
|
23
|
-
import * as i4 from "@valtimo/plugin";
|
|
24
|
-
import * as i5 from "@valtimo/components";
|
|
25
|
-
import * as i6 from "@ngx-translate/core";
|
|
26
|
-
import * as i7 from "@angular/common";
|
|
27
|
-
export class ObjectManagementUploadModalComponent {
|
|
28
|
-
constructor(objectManagementState, objectManagementService, formManagementService, pluginManagementService, modalService, translateService) {
|
|
29
|
-
this.objectManagementState = objectManagementState;
|
|
30
|
-
this.objectManagementService = objectManagementService;
|
|
31
|
-
this.formManagementService = formManagementService;
|
|
32
|
-
this.pluginManagementService = pluginManagementService;
|
|
33
|
-
this.modalService = modalService;
|
|
34
|
-
this.translateService = translateService;
|
|
35
|
-
this.clear$ = new Subject();
|
|
36
|
-
this.jsonString$ = new BehaviorSubject('');
|
|
37
|
-
this.error$ = new BehaviorSubject('');
|
|
38
|
-
this.disabled$ = new BehaviorSubject(false);
|
|
39
|
-
this.showForm$ = this.modalService.modalVisible$;
|
|
40
|
-
this.file$ = new BehaviorSubject(undefined);
|
|
41
|
-
}
|
|
42
|
-
ngAfterViewInit() {
|
|
43
|
-
this.openShowSubscription();
|
|
44
|
-
this.openFileSubscription();
|
|
45
|
-
this.openHideSubscription();
|
|
46
|
-
}
|
|
47
|
-
ngOnDestroy() {
|
|
48
|
-
this.showSubscription?.unsubscribe();
|
|
49
|
-
this.hideSubscription?.unsubscribe();
|
|
50
|
-
this.fileSubscription.unsubscribe();
|
|
51
|
-
}
|
|
52
|
-
hide() {
|
|
53
|
-
this.modalService.closeModal();
|
|
54
|
-
}
|
|
55
|
-
cancel() {
|
|
56
|
-
this.hide();
|
|
57
|
-
}
|
|
58
|
-
setFile(file) {
|
|
59
|
-
this.clearError();
|
|
60
|
-
this.file$.next(file);
|
|
61
|
-
}
|
|
62
|
-
uploadDefinition() {
|
|
63
|
-
this.disable();
|
|
64
|
-
this.jsonString$.pipe(take(1)).subscribe(objecttypeDefinition => {
|
|
65
|
-
this.objectManagementService
|
|
66
|
-
.createObject({ ...JSON.parse(objecttypeDefinition) })
|
|
67
|
-
.subscribe(() => {
|
|
68
|
-
this.objectManagementState.refresh();
|
|
69
|
-
this.objectManagementState.hideModal();
|
|
70
|
-
});
|
|
71
|
-
this.closeErrorSubscription();
|
|
72
|
-
this.clearError();
|
|
73
|
-
this.enable();
|
|
74
|
-
this.hide();
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
openErrorSubscription(errorCode) {
|
|
78
|
-
this.closeErrorSubscription();
|
|
79
|
-
this.errorSubscription = this.translateService.stream(errorCode).subscribe(error => {
|
|
80
|
-
this.error$.next(error);
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
closeErrorSubscription() {
|
|
84
|
-
if (this.errorSubscription) {
|
|
85
|
-
this.errorSubscription.unsubscribe();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
openFileSubscription() {
|
|
89
|
-
this.fileSubscription = this.file$.subscribe(file => {
|
|
90
|
-
if (file) {
|
|
91
|
-
const reader = new FileReader();
|
|
92
|
-
reader.onloadend = () => {
|
|
93
|
-
const result = reader.result.toString();
|
|
94
|
-
if (this.isValidJsonObjecttype(result)) {
|
|
95
|
-
this.jsonString$.next(result);
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
this.clearJsonString();
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
reader.readAsText(file);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
this.clearJsonString();
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
openShowSubscription() {
|
|
109
|
-
this.showSubscription = this.objectManagementState.showModal$.subscribe(() => {
|
|
110
|
-
this.show();
|
|
111
|
-
this.clearJsonString();
|
|
112
|
-
this.clearError();
|
|
113
|
-
this.clearDropzone();
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
openHideSubscription() {
|
|
117
|
-
this.hideSubscription = this.objectManagementState.hideModal$.subscribe(() => {
|
|
118
|
-
this.hide();
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
show() {
|
|
122
|
-
this.objectManagementState.modalType$.pipe(take(1)).subscribe(modalType => {
|
|
123
|
-
if (modalType === 'upload') {
|
|
124
|
-
this.modalService.openModal(this.objectManagementUploadModal);
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
clearError() {
|
|
129
|
-
this.error$.next('');
|
|
130
|
-
}
|
|
131
|
-
clearJsonString() {
|
|
132
|
-
this.jsonString$.next('');
|
|
133
|
-
}
|
|
134
|
-
clearDropzone() {
|
|
135
|
-
this.clear$.next(null);
|
|
136
|
-
}
|
|
137
|
-
isValidJsonObjecttype(string) {
|
|
138
|
-
const jsonObjecttype = JSON.parse(string);
|
|
139
|
-
const isValid = this.validateObject(jsonObjecttype, [
|
|
140
|
-
'title',
|
|
141
|
-
'objecttypenApiPluginConfigurationId',
|
|
142
|
-
'objecttypeId',
|
|
143
|
-
'objecttypeVersion',
|
|
144
|
-
'objectenApiPluginConfigurationId',
|
|
145
|
-
'showInDataMenu',
|
|
146
|
-
]);
|
|
147
|
-
const isObjecttypeTitleUnique = !this.objecttypes?.find(objecttype => objecttype.title === jsonObjecttype.title);
|
|
148
|
-
if (isValid && isObjecttypeTitleUnique) {
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
else if (isValid && !isObjecttypeTitleUnique) {
|
|
152
|
-
this.clearDropzone();
|
|
153
|
-
this.openErrorSubscription('dropzone.error.objecttypeAlreadyExists');
|
|
154
|
-
return false;
|
|
155
|
-
}
|
|
156
|
-
else if (!isValid && isObjecttypeTitleUnique) {
|
|
157
|
-
this.clearDropzone();
|
|
158
|
-
this.openErrorSubscription('dropzone.error.invalidObjecttypeDef');
|
|
159
|
-
return false;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
validateObject(obj, requiredKeys) {
|
|
163
|
-
const objKeys = Object.keys(obj);
|
|
164
|
-
return requiredKeys.every(key => objKeys.includes(key));
|
|
165
|
-
}
|
|
166
|
-
disable() {
|
|
167
|
-
this.disabled$.next(true);
|
|
168
|
-
}
|
|
169
|
-
enable() {
|
|
170
|
-
this.disabled$.next(false);
|
|
171
|
-
}
|
|
172
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObjectManagementUploadModalComponent, deps: [{ token: i1.ObjectManagementStateService }, { token: i2.ObjectManagementService }, { token: i3.FormManagementService }, { token: i4.PluginManagementService }, { token: i5.ModalService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
173
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ObjectManagementUploadModalComponent, selector: "valtimo-object-management-upload-modal", inputs: { objecttypes: "objecttypes" }, viewQueries: [{ propertyName: "objectManagementUploadModal", first: true, predicate: ["objectManagementUploadModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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-modal\n #objectManagementUploadModal\n *ngIf=\"{\n disabled: disabled$ | async,\n jsonString: jsonString$ | async,\n error: error$ | async,\n } as obs\"\n>\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{ 'objectManagement.uploadObjecttype' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"uploadForm\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button\n (clickEvent)=\"uploadDefinition()\"\n [disabled]=\"obs.jsonString === '' || obs.disabled\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{ 'Upload' | translate }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #uploadForm>\n <ng-container *ngIf=\"showForm$ | async\">\n <valtimo-dropzone\n [clear$]=\"clear$\"\n (fileSelected)=\"setFile($event)\"\n [disabled]=\"disabled$ | async\"\n [subtitle]=\"'dropzone.objecttypeDef' | translate\"\n [externalError$]=\"error$\"\n [maxFiles]=\"1\"\n ></valtimo-dropzone>\n </ng-container>\n</ng-template>\n", styles: [".buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "component", type: i5.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter", "parentId"], outputs: ["closeEvent"] }, { kind: "component", type: i5.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "component", type: i5.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
174
|
-
}
|
|
175
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObjectManagementUploadModalComponent, decorators: [{
|
|
176
|
-
type: Component,
|
|
177
|
-
args: [{ selector: 'valtimo-object-management-upload-modal', template: "<!--\n ~ Copyright 2015-2024 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-modal\n #objectManagementUploadModal\n *ngIf=\"{\n disabled: disabled$ | async,\n jsonString: jsonString$ | async,\n error: error$ | async,\n } as obs\"\n>\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{ 'objectManagement.uploadObjecttype' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"uploadForm\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button\n (clickEvent)=\"uploadDefinition()\"\n [disabled]=\"obs.jsonString === '' || obs.disabled\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{ 'Upload' | translate }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #uploadForm>\n <ng-container *ngIf=\"showForm$ | async\">\n <valtimo-dropzone\n [clear$]=\"clear$\"\n (fileSelected)=\"setFile($event)\"\n [disabled]=\"disabled$ | async\"\n [subtitle]=\"'dropzone.objecttypeDef' | translate\"\n [externalError$]=\"error$\"\n [maxFiles]=\"1\"\n ></valtimo-dropzone>\n </ng-container>\n</ng-template>\n", styles: [".buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
178
|
-
}], ctorParameters: () => [{ type: i1.ObjectManagementStateService }, { type: i2.ObjectManagementService }, { type: i3.FormManagementService }, { type: i4.PluginManagementService }, { type: i5.ModalService }, { type: i6.TranslateService }], propDecorators: { objectManagementUploadModal: [{
|
|
179
|
-
type: ViewChild,
|
|
180
|
-
args: ['objectManagementUploadModal']
|
|
181
|
-
}], objecttypes: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}] } });
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vb2JqZWN0LW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL29iamVjdC1tYW5hZ2VtZW50LXVwbG9hZC1tb2RhbC9vYmplY3QtbWFuYWdlbWVudC11cGxvYWQtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3QtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsL29iamVjdC1tYW5hZ2VtZW50LXVwbG9hZC1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUdMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUN4RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQWNwQyxNQUFNLE9BQU8sb0NBQW9DO0lBaUIvQyxZQUNtQixxQkFBbUQsRUFDbkQsdUJBQWdELEVBQ2hELHFCQUE0QyxFQUM1Qyx1QkFBZ0QsRUFDaEQsWUFBMEIsRUFDMUIsZ0JBQWtDO1FBTGxDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBOEI7UUFDbkQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFr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Q0FBQztZQUNyRSxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7YUFBTSxJQUFJLENBQUMsT0FBTyxJQUFJLHVCQUF1QixFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1lBQ2xFLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsR0FBVyxFQUFFLFlBQThCO1FBQ3hELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTyxPQUFPO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDOytHQS9LVSxvQ0FBb0M7bUdBQXBDLG9DQUFvQyxrUUN4Q2pELG84REE2REE7OzRGRHJCYSxvQ0FBb0M7a0JBTGhELFNBQVM7K0JBQ0Usd0NBQXdDOzJRQUtSLDJCQUEyQjtzQkFBcEUsU0FBUzt1QkFBQyw2QkFBNkI7Z0JBQy9CLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7T2JqZWN0TWFuYWdlbWVudFN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2JqZWN0LW1hbmFnZW1lbnQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge0Zvcm1NYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZm9ybS1tYW5hZ2VtZW50JztcbmltcG9ydCB7UGx1Z2luTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3BsdWdpbic7XG5pbXBvcnQge09iamVjdE1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vYmplY3QtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge09iamVjdHR5cGUsIE9iamVjdHR5cGVLZXlzfSBmcm9tICcuLi8uLi9tb2RlbHMvb2JqZWN0LW1hbmFnZW1lbnQubW9kZWwnO1xuaW1wb3J0IHtWTW9kYWxDb21wb25lbnQsIE1vZGFsU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tb2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29iamVjdC1tYW5hZ2VtZW50LXVwbG9hZC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29iamVjdC1tYW5hZ2VtZW50LXVwbG9hZC1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBPYmplY3RNYW5hZ2VtZW50VXBsb2FkTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdvYmplY3RNYW5hZ2VtZW50VXBsb2FkTW9kYWwnKSBvYmplY3RNYW5hZ2VtZW50VXBsb2FkTW9kYWw6IFZNb2RhbENvbXBvbmVudDtcbiAgQElucHV0KCkgb2JqZWN0dHlwZXM/OiBPYmplY3R0eXBlW107XG5cbiAgcmVhZG9ubHkgY2xlYXIkID0gbmV3IFN1YmplY3QoKTtcbiAgcmVhZG9ubHkganNvblN0cmluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBlcnJvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBkaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgc2hvd0Zvcm0kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5tb2RhbFNlcnZpY2UubW9kYWxWaXNpYmxlJDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGZpbGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWxlPih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgc2hvd1N1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBoaWRlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGZpbGVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBlcnJvclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2JqZWN0TWFuYWdlbWVudFN0YXRlOiBPYmplY3RNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2JqZWN0TWFuYWdlbWVudFNlcnZpY2U6IE9iamVjdE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybU1hbmFnZW1lbnRTZXJ2aWNlOiBGb3JtTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5NYW5hZ2VtZW50U2VydmljZTogUGx1Z2luTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5TaG93U3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5vcGVuRmlsZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlbkhpZGVTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmhpZGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5maWxlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmNsb3NlTW9kYWwoKTtcbiAgfVxuXG4gIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuXG4gIHNldEZpbGUoZmlsZTogRmlsZSk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJFcnJvcigpO1xuICAgIHRoaXMuZmlsZSQubmV4dChmaWxlKTtcbiAgfVxuXG4gIHVwbG9hZERlZmluaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlKCk7XG5cbiAgICB0aGlzLmpzb25TdHJpbmckLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKG9iamVjdHR5cGVEZWZpbml0aW9uID0+IHtcbiAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFNlcnZpY2VcbiAgICAgICAgLmNyZWF0ZU9iamVjdCh7Li4uSlNPTi5wYXJzZShvYmplY3R0eXBlRGVmaW5pdGlvbil9KVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5yZWZyZXNoKCk7XG4gICAgICAgICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUuaGlkZU1vZGFsKCk7XG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5jbG9zZUVycm9yU3Vic2NyaXB0aW9uKCk7XG4gICAgICB0aGlzLmNsZWFyRXJyb3IoKTtcbiAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkVycm9yU3Vic2NyaXB0aW9uKGVycm9yQ29kZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZUVycm9yU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5lcnJvclN1YnNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oZXJyb3JDb2RlKS5zdWJzY3JpYmUoZXJyb3IgPT4ge1xuICAgICAgdGhpcy5lcnJvciQubmV4dChlcnJvcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlRXJyb3JTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZXJyb3JTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZXJyb3JTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5GaWxlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZVN1YnNjcmlwdGlvbiA9IHRoaXMuZmlsZSQuc3Vic2NyaWJlKGZpbGUgPT4ge1xuICAgICAgaWYgKGZpbGUpIHtcbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcblxuICAgICAgICByZWFkZXIub25sb2FkZW5kID0gKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHJlYWRlci5yZXN1bHQudG9TdHJpbmcoKTtcbiAgICAgICAgICBpZiAodGhpcy5pc1ZhbGlkSnNvbk9iamVjdHR5cGUocmVzdWx0KSkge1xuICAgICAgICAgICAgdGhpcy5qc29uU3RyaW5nJC5uZXh0KHJlc3VsdCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJKc29uU3RyaW5nKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jbGVhckpzb25TdHJpbmcoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblNob3dTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5zaG93U3Vic2NyaXB0aW9uID0gdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUuc2hvd01vZGFsJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zaG93KCk7XG5cbiAgICAgIHRoaXMuY2xlYXJKc29uU3RyaW5nKCk7XG4gICAgICB0aGlzLmNsZWFyRXJyb3IoKTtcbiAgICAgIHRoaXMuY2xlYXJEcm9wem9uZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuSGlkZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVTdWJzY3JpcHRpb24gPSB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5oaWRlTW9kYWwkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5tb2RhbFR5cGUkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKG1vZGFsVHlwZSA9PiB7XG4gICAgICBpZiAobW9kYWxUeXBlID09PSAndXBsb2FkJykge1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuTW9kYWwodGhpcy5vYmplY3RNYW5hZ2VtZW50VXBsb2FkTW9kYWwpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckVycm9yKCk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3IkLm5leHQoJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckpzb25TdHJpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5qc29uU3RyaW5nJC5uZXh0KCcnKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJEcm9wem9uZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyJC5uZXh0KG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1ZhbGlkSnNvbk9iamVjdHR5cGUoc3RyaW5nOiBzdHJpbmcpIHtcbiAgICBjb25zdCBqc29uT2JqZWN0dHlwZSA9IEpTT04ucGFyc2Uoc3RyaW5nKTtcbiAgICBjb25zdCBpc1ZhbGlkID0gdGhpcy52YWxpZGF0ZU9iamVjdChqc29uT2JqZWN0dHlwZSwgW1xuICAgICAgJ3RpdGxlJyxcbiAgICAgICdvYmplY3R0eXBlbkFwaVBsdWdpbkNvbmZpZ3VyYXRpb25JZCcsXG4gICAgICAnb2JqZWN0dHlwZUlkJyxcbiAgICAgICdvYmplY3R0eXBlVmVyc2lvbicsXG4gICAgICAnb2JqZWN0ZW5BcGlQbHVnaW5Db25maWd1cmF0aW9uSWQnLFxuICAgICAgJ3Nob3dJbkRhdGFNZW51JyxcbiAgICBdKTtcbiAgICBjb25zdCBpc09iamVjdHR5cGVUaXRsZVVuaXF1ZSA9ICF0aGlzLm9iamVjdHR5cGVzPy5maW5kKFxuICAgICAgb2JqZWN0dHlwZSA9PiBvYmplY3R0eXBlLnRpdGxlID09PSBqc29uT2JqZWN0dHlwZS50aXRsZVxuICAgICk7XG4gICAgaWYgKGlzVmFsaWQgJiYgaXNPYmplY3R0eXBlVGl0bGVVbmlxdWUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAoaXNWYWxpZCAmJiAhaXNPYmplY3R0eXBlVGl0bGVVbmlxdWUpIHtcbiAgICAgIHRoaXMuY2xlYXJEcm9wem9uZSgpO1xuICAgICAgdGhpcy5vcGVuRXJyb3JTdWJzY3JpcHRpb24oJ2Ryb3B6b25lLmVycm9yLm9iamVjdHR5cGVBbHJlYWR5RXhpc3RzJyk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIGlmICghaXNWYWxpZCAmJiBpc09iamVjdHR5cGVUaXRsZVVuaXF1ZSkge1xuICAgICAgdGhpcy5jbGVhckRyb3B6b25lKCk7XG4gICAgICB0aGlzLm9wZW5FcnJvclN1YnNjcmlwdGlvbignZHJvcHpvbmUuZXJyb3IuaW52YWxpZE9iamVjdHR5cGVEZWYnKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZU9iamVjdChvYmo6IG9iamVjdCwgcmVxdWlyZWRLZXlzOiBPYmplY3R0eXBlS2V5c1tdKSB7XG4gICAgY29uc3Qgb2JqS2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG4gICAgcmV0dXJuIHJlcXVpcmVkS2V5cy5ldmVyeShrZXkgPT4gb2JqS2V5cy5pbmNsdWRlcyhrZXkpKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGUoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChmYWxzZSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHYtbW9kYWxcbiAgI29iamVjdE1hbmFnZW1lbnRVcGxvYWRNb2RhbFxuICAqbmdJZj1cIntcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQkIHwgYXN5bmMsXG4gICAganNvblN0cmluZzoganNvblN0cmluZyQgfCBhc3luYyxcbiAgICBlcnJvcjogZXJyb3IkIHwgYXN5bmMsXG4gIH0gYXMgb2JzXCJcbj5cbiAgPGRpdiByb2xlPVwiaGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImFkZC10aXRsZVwiPlxuICAgICAgPHYtdGl0bGUgW21hcmdpbl09XCJmYWxzZVwiPnt7ICdvYmplY3RNYW5hZ2VtZW50LnVwbG9hZE9iamVjdHR5cGUnIHwgdHJhbnNsYXRlIH19PC92LXRpdGxlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiByb2xlPVwiY29udGVudFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ1cGxvYWRGb3JtXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8ZGl2IHJvbGU9XCJmb290ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxuICAgICAgPHYtYnV0dG9uIChjbGlja0V2ZW50KT1cImNhbmNlbCgpXCIgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiIHR5cGU9XCJzZWNvbmRhcnlcIj5cbiAgICAgICAge3sgJ29iamVjdE1hbmFnZW1lbnQuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC92LWJ1dHRvbj5cbiAgICAgIDx2LWJ1dHRvblxuICAgICAgICAoY2xpY2tFdmVudCk9XCJ1cGxvYWREZWZpbml0aW9uKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmpzb25TdHJpbmcgPT09ICcnIHx8IG9icy5kaXNhYmxlZFwiXG4gICAgICAgIG1kaUljb249XCJwbHVzXCJcbiAgICAgICAgdHlwZT1cInN1Y2Nlc3NcIlxuICAgICAgPlxuICAgICAgICB7eyAnVXBsb2FkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC92LWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3YtbW9kYWw+XG5cbjxuZy10ZW1wbGF0ZSAjdXBsb2FkRm9ybT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGb3JtJCB8IGFzeW5jXCI+XG4gICAgPHZhbHRpbW8tZHJvcHpvbmVcbiAgICAgIFtjbGVhciRdPVwiY2xlYXIkXCJcbiAgICAgIChmaWxlU2VsZWN0ZWQpPVwic2V0RmlsZSgkZXZlbnQpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCQgfCBhc3luY1wiXG4gICAgICBbc3VidGl0bGVdPVwiJ2Ryb3B6b25lLm9iamVjdHR5cGVEZWYnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtleHRlcm5hbEVycm9yJF09XCJlcnJvciRcIlxuICAgICAgW21heEZpbGVzXT1cIjFcIlxuICAgID48L3ZhbHRpbW8tZHJvcHpvbmU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
export {};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL29iamVjdC1tYW5hZ2VtZW50L3NyYy9saWIvbW9kZWxzL29iamVjdC1tYW5hZ2VtZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW50ZXJmYWNlIE9iamVjdHR5cGUge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBvYmplY3R0eXBlbkFwaVBsdWdpbkNvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xuICBvYmplY3R0eXBlSWQ6IHN0cmluZztcbiAgb2JqZWN0dHlwZVZlcnNpb246IG51bWJlcjtcbiAgb2JqZWN0ZW5BcGlQbHVnaW5Db25maWd1cmF0aW9uSWQ6IHN0cmluZztcbiAgc2hvd0luRGF0YU1lbnU6IGJvb2xlYW47XG4gIGZvcm1EZWZpbml0aW9uVmlldz86IHN0cmluZztcbiAgZm9ybURlZmluaXRpb25FZGl0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaExpc3RDb2x1bW4ge1xuICBvd25lcklkPzogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBrZXk6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBkaXNwbGF5VHlwZTogRGlzcGxheVR5cGU7XG4gIHNvcnRhYmxlOiBib29sZWFuO1xuICBkZWZhdWx0U29ydDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaENvbHVtbiB7XG4gIHByb3BlcnR5TmFtZTogc3RyaW5nO1xuICB0cmFuc2xhdGlvbktleTogc3RyaW5nO1xuICBzb3J0YWJsZT86IGJvb2xlYW47XG4gIHZpZXdUeXBlPzogc3RyaW5nO1xuICBkZWZhdWx0PzogYm9vbGVhbiB8IHN0cmluZztcbiAgZW51bT86IEFycmF5PHN0cmluZz4gfCB7W2tleTogc3RyaW5nXTogc3RyaW5nfTtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGZvcm1hdD86IHN0cmluZztcbiAga2V5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaExpc3RDb2x1bW5WaWV3IHtcbiAgdGl0bGU6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG4gIHBhdGg6IHN0cmluZztcbiAgZGlzcGxheVR5cGU6IHN0cmluZztcbiAgZGlzcGxheVR5cGVQYXJhbWV0ZXJzOiBzdHJpbmc7XG4gIHNvcnRhYmxlOiBib29sZWFuO1xuICBkZWZhdWx0U29ydDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3BsYXlUeXBlIHtcbiAgdHlwZTogc3RyaW5nO1xuICBkaXNwbGF5VHlwZVBhcmFtZXRlcnM6IERpc3BsYXlUeXBlUGFyYW1ldGVycztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNwbGF5VHlwZVBhcmFtZXRlcnMge1xuICBlbnVtPzoge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgfTtcbiAgZGF0ZUZvcm1hdD86IHN0cmluZztcbn1cblxudHlwZSBPYmplY3R0eXBlS2V5cyA9IGtleW9mIE9iamVjdHR5cGU7XG5cbmV4cG9ydCB7T2JqZWN0dHlwZSwgT2JqZWN0dHlwZUtleXN9O1xuIl19
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { NgModule } from '@angular/core';
|
|
17
|
-
import { RouterModule } from '@angular/router';
|
|
18
|
-
import { CommonModule } from '@angular/common';
|
|
19
|
-
import { AuthGuardService } from '@valtimo/security';
|
|
20
|
-
import { ROLE_ADMIN } from '@valtimo/config';
|
|
21
|
-
import { ObjectManagementDetailContainerComponent } from './components/object-management-detail-container/object-management-detail-container.component';
|
|
22
|
-
import { ObjectManagementListComponent } from './components/object-management-list/object-management-list.component';
|
|
23
|
-
import * as i0 from "@angular/core";
|
|
24
|
-
import * as i1 from "@angular/router";
|
|
25
|
-
const routes = [
|
|
26
|
-
{
|
|
27
|
-
path: 'object-management',
|
|
28
|
-
canActivate: [AuthGuardService],
|
|
29
|
-
component: ObjectManagementListComponent,
|
|
30
|
-
data: { title: 'Objects', roles: [ROLE_ADMIN] },
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
path: 'object-management/object/:id',
|
|
34
|
-
canActivate: [AuthGuardService],
|
|
35
|
-
component: ObjectManagementDetailContainerComponent,
|
|
36
|
-
data: { title: 'Object', roles: [ROLE_ADMIN], customPageTitle: true },
|
|
37
|
-
},
|
|
38
|
-
];
|
|
39
|
-
export class ObjectManagementRoutingModule {
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObjectManagementRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
41
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ObjectManagementRoutingModule, imports: [CommonModule, i1.RouterModule], exports: [RouterModule] }); }
|
|
42
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObjectManagementRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
|
|
43
|
-
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObjectManagementRoutingModule, decorators: [{
|
|
45
|
-
type: NgModule,
|
|
46
|
-
args: [{
|
|
47
|
-
imports: [CommonModule, RouterModule.forChild(routes)],
|
|
48
|
-
exports: [RouterModule],
|
|
49
|
-
declarations: [],
|
|
50
|
-
}]
|
|
51
|
-
}] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL29iamVjdC1tYW5hZ2VtZW50L3NyYy9saWIvb2JqZWN0LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBQyx3Q0FBd0MsRUFBQyxNQUFNLDhGQUE4RixDQUFDO0FBQ3RKLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHNFQUFzRSxDQUFDOzs7QUFFbkgsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLFNBQVMsRUFBRSw2QkFBNkI7UUFDeEMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBQztLQUM5QztJQUNEO1FBQ0UsSUFBSSxFQUFFLDhCQUE4QjtRQUNwQyxXQUFXLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQixTQUFTLEVBQUUsd0NBQXdDO1FBQ25ELElBQUksRUFBRSxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBQztLQUNwRTtDQUNGLENBQUM7QUFPRixNQUFNLE9BQU8sNkJBQTZCOytHQUE3Qiw2QkFBNkI7Z0hBQTdCLDZCQUE2QixZQUo5QixZQUFZLDhCQUNaLFlBQVk7Z0hBR1gsNkJBQTZCLFlBSjlCLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUMzQyxZQUFZOzs0RkFHWCw2QkFBNkI7a0JBTHpDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLEVBQUU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlck1vZHVsZSwgUm91dGVzfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0F1dGhHdWFyZFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3NlY3VyaXR5JztcbmltcG9ydCB7Uk9MRV9BRE1JTn0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7T2JqZWN0TWFuYWdlbWVudERldGFpbENvbnRhaW5lckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL29iamVjdC1tYW5hZ2VtZW50LWRldGFpbC1jb250YWluZXIvb2JqZWN0LW1hbmFnZW1lbnQtZGV0YWlsLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtPYmplY3RNYW5hZ2VtZW50TGlzdENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL29iamVjdC1tYW5hZ2VtZW50LWxpc3Qvb2JqZWN0LW1hbmFnZW1lbnQtbGlzdC5jb21wb25lbnQnO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAge1xuICAgIHBhdGg6ICdvYmplY3QtbWFuYWdlbWVudCcsXG4gICAgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRTZXJ2aWNlXSxcbiAgICBjb21wb25lbnQ6IE9iamVjdE1hbmFnZW1lbnRMaXN0Q29tcG9uZW50LFxuICAgIGRhdGE6IHt0aXRsZTogJ09iamVjdHMnLCByb2xlczogW1JPTEVfQURNSU5dfSxcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdvYmplY3QtbWFuYWdlbWVudC9vYmplY3QvOmlkJyxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZFNlcnZpY2VdLFxuICAgIGNvbXBvbmVudDogT2JqZWN0TWFuYWdlbWVudERldGFpbENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBkYXRhOiB7dGl0bGU6ICdPYmplY3QnLCByb2xlczogW1JPTEVfQURNSU5dLCBjdXN0b21QYWdlVGl0bGU6IHRydWV9LFxuICB9LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0TWFuYWdlbWVudFJvdXRpbmdNb2R1bGUge31cbiJdfQ==
|