@valtimo/object 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.mjs +100 -81
- package/fesm2022/valtimo-object.mjs.map +1 -1
- package/lib/components/object-detail-container/object-detail-container.component.d.ts +1 -1
- package/lib/components/object-detail-container/tabs/object-detail/object-detail.component.d.ts +5 -5
- package/lib/components/object-list/object-list.component.d.ts +11 -12
- package/lib/object.module.d.ts +1 -1
- package/lib/services/object-column.service.d.ts +1 -1
- package/lib/services/object.service.d.ts +1 -1
- package/package.json +4 -6
- package/esm2022/lib/components/object-detail-container/object-detail-container.component.mjs +0 -60
- package/esm2022/lib/components/object-detail-container/tabs/object-detail/object-detail.component.mjs +0 -178
- package/esm2022/lib/components/object-list/object-list.component.mjs +0 -259
- package/esm2022/lib/models/object.model.mjs +0 -27
- package/esm2022/lib/object-routing.module.mjs +0 -52
- package/esm2022/lib/object.module.mjs +0 -95
- package/esm2022/lib/services/object-column.service.mjs +0 -65
- package/esm2022/lib/services/object-state.service.mjs +0 -59
- package/esm2022/lib/services/object.service.mjs +0 -55
- package/esm2022/lib/services/tab.enum.mjs +0 -20
- package/esm2022/lib/services/tab.service.mjs +0 -39
- package/esm2022/public-api.mjs +0 -21
- package/esm2022/valtimo-object.mjs +0 -5
|
@@ -1,27 +1,26 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, Component, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common/http';
|
|
4
|
-
import * as
|
|
5
|
-
import { ROLE_USER } from '@valtimo/
|
|
6
|
-
import * as
|
|
4
|
+
import * as i1$1 from '@valtimo/shared';
|
|
5
|
+
import { ROLE_USER } from '@valtimo/shared';
|
|
6
|
+
import * as i6 from '@angular/router';
|
|
7
7
|
import { RouterModule } from '@angular/router';
|
|
8
8
|
import * as i8 from '@angular/common';
|
|
9
9
|
import { CommonModule, AsyncPipe } from '@angular/common';
|
|
10
10
|
import { AuthGuardService } from '@valtimo/security';
|
|
11
11
|
import { map, BehaviorSubject, combineLatest, distinctUntilChanged, of, startWith, filter, throwError, Subject } from 'rxjs';
|
|
12
12
|
import { take, tap, switchMap, catchError, finalize } from 'rxjs/operators';
|
|
13
|
-
import * as
|
|
14
|
-
import * as
|
|
13
|
+
import * as i3 from '@valtimo/object-management';
|
|
14
|
+
import * as i5 from '@valtimo/components';
|
|
15
|
+
import { WidgetModule, SpinnerModule, FormIoModule, TooltipIconModule, ConfirmationModalModule, SearchFieldsModule, ValtimoCdsModalDirective, CarbonListModule } from '@valtimo/components';
|
|
16
|
+
import * as i7 from '@ngx-translate/core';
|
|
15
17
|
import { TranslateModule } from '@ngx-translate/core';
|
|
16
|
-
import * as i6 from 'ngx-toastr';
|
|
17
|
-
import * as i7 from '@valtimo/components';
|
|
18
|
-
import { WidgetModule, ListModule, SpinnerModule, FormIoModule, TooltipIconModule, ConfirmationModalModule, SearchFieldsModule, ValtimoCdsModalDirectiveModule, CarbonListModule } from '@valtimo/components';
|
|
19
18
|
import * as i8$1 from 'carbon-components-angular';
|
|
20
19
|
import { ButtonModule, IconModule, LoadingModule, ModalModule, InputModule } from 'carbon-components-angular';
|
|
21
20
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
22
21
|
|
|
23
22
|
/*
|
|
24
|
-
* Copyright 2015-
|
|
23
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
25
24
|
*
|
|
26
25
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
27
26
|
* you may not use this file except in compliance with the License.
|
|
@@ -61,18 +60,18 @@ class ObjectService {
|
|
|
61
60
|
removeEmptyStringValuesFromSubmission(submission) {
|
|
62
61
|
return Object.fromEntries(Object.entries(submission).filter(([_, value]) => value !== ''));
|
|
63
62
|
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
65
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectService, deps: [{ token: i1.HttpClient }, { token: i1$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
64
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectService, providedIn: 'root' }); }
|
|
66
65
|
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectService, decorators: [{
|
|
68
67
|
type: Injectable,
|
|
69
68
|
args: [{
|
|
70
69
|
providedIn: 'root',
|
|
71
70
|
}]
|
|
72
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type:
|
|
71
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i1$1.ConfigService }] });
|
|
73
72
|
|
|
74
73
|
/*
|
|
75
|
-
* Copyright 2015-
|
|
74
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
76
75
|
*
|
|
77
76
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
78
77
|
* you may not use this file except in compliance with the License.
|
|
@@ -98,7 +97,7 @@ var ColumnType;
|
|
|
98
97
|
})(ColumnType || (ColumnType = {}));
|
|
99
98
|
|
|
100
99
|
/*
|
|
101
|
-
* Copyright 2015-
|
|
100
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
102
101
|
*
|
|
103
102
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
104
103
|
* you may not use this file except in compliance with the License.
|
|
@@ -147,18 +146,18 @@ class ObjectColumnService {
|
|
|
147
146
|
return searchListColumnDisplayType;
|
|
148
147
|
}
|
|
149
148
|
}
|
|
150
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
151
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
149
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectColumnService, deps: [{ token: i1$1.ConfigService }, { token: i3.ObjectManagementService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
150
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectColumnService, providedIn: 'root' }); }
|
|
152
151
|
}
|
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectColumnService, decorators: [{
|
|
154
153
|
type: Injectable,
|
|
155
154
|
args: [{
|
|
156
155
|
providedIn: 'root',
|
|
157
156
|
}]
|
|
158
|
-
}], ctorParameters: () => [{ type:
|
|
157
|
+
}], ctorParameters: () => [{ type: i1$1.ConfigService }, { type: i3.ObjectManagementService }] });
|
|
159
158
|
|
|
160
159
|
/*
|
|
161
|
-
* Copyright 2015-
|
|
160
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
162
161
|
*
|
|
163
162
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
164
163
|
* you may not use this file except in compliance with the License.
|
|
@@ -185,16 +184,16 @@ class ObjectListComponent {
|
|
|
185
184
|
});
|
|
186
185
|
}
|
|
187
186
|
}
|
|
188
|
-
constructor(
|
|
189
|
-
this.
|
|
187
|
+
constructor(globalNotificationService, objectColumnService, objectManagementService, objectService, pageTitleService, route, router, translate, translateService) {
|
|
188
|
+
this.globalNotificationService = globalNotificationService;
|
|
190
189
|
this.objectColumnService = objectColumnService;
|
|
191
190
|
this.objectManagementService = objectManagementService;
|
|
192
|
-
this.
|
|
193
|
-
this.
|
|
191
|
+
this.objectService = objectService;
|
|
192
|
+
this.pageTitleService = pageTitleService;
|
|
194
193
|
this.route = route;
|
|
195
|
-
this.
|
|
194
|
+
this.router = router;
|
|
196
195
|
this.translate = translate;
|
|
197
|
-
this.
|
|
196
|
+
this.translateService = translateService;
|
|
198
197
|
this.loading$ = new BehaviorSubject(true);
|
|
199
198
|
this.submission$ = new BehaviorSubject({});
|
|
200
199
|
this.formValid$ = new BehaviorSubject(false);
|
|
@@ -338,7 +337,10 @@ class ObjectListComponent {
|
|
|
338
337
|
this.closeModal();
|
|
339
338
|
this.refreshObjectList();
|
|
340
339
|
this.clearForm$.next(true);
|
|
341
|
-
this.
|
|
340
|
+
this.globalNotificationService.showToast({
|
|
341
|
+
title: this.translate.instant('object.messages.objectCreated'),
|
|
342
|
+
type: 'success',
|
|
343
|
+
});
|
|
342
344
|
},
|
|
343
345
|
});
|
|
344
346
|
}
|
|
@@ -370,11 +372,17 @@ class ObjectListComponent {
|
|
|
370
372
|
}));
|
|
371
373
|
}
|
|
372
374
|
handleRetrievingFormError(error) {
|
|
373
|
-
this.
|
|
375
|
+
this.globalNotificationService.showToast({
|
|
376
|
+
title: this.translate.instant('object.messages.objectRetrievingFormError'),
|
|
377
|
+
type: 'error',
|
|
378
|
+
});
|
|
374
379
|
return throwError(error);
|
|
375
380
|
}
|
|
376
381
|
handleCreateObjectError(error) {
|
|
377
|
-
this.
|
|
382
|
+
this.globalNotificationService.showToast({
|
|
383
|
+
title: this.translate.instant('object.messages.objectCreationError'),
|
|
384
|
+
type: 'error',
|
|
385
|
+
});
|
|
378
386
|
return throwError(error);
|
|
379
387
|
}
|
|
380
388
|
mapSearchValuesToFilters(values) {
|
|
@@ -394,16 +402,16 @@ class ObjectListComponent {
|
|
|
394
402
|
});
|
|
395
403
|
return filters;
|
|
396
404
|
}
|
|
397
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
398
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
405
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectListComponent, deps: [{ token: i1$1.GlobalNotificationService }, { token: ObjectColumnService }, { token: i3.ObjectManagementService }, { token: ObjectService }, { token: i5.PageTitleService }, { token: i6.ActivatedRoute }, { token: i6.Router }, { token: i7.TranslateService }, { token: i7.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
406
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ObjectListComponent, isStandalone: false, selector: "valtimo-object-list", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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<ng-container\n *ngIf=\"{\n loading: loading$ | async,\n pagination: pagination$ | async,\n disableInput: disableInput$ | async,\n fields: fields$ | async,\n objectConfiguration: objectConfiguration$ | async,\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"createNewModal\"></ng-container>\n</ng-container>\n\n<ng-template #buttons let-obs=\"obs\">\n <button\n (click)=\"openModal()\"\n cdsButton=\"primary\"\n size=\"md\"\n class=\"ml-3\"\n [disabled]=\"obs.disableInput || obs.loading\"\n >\n {{ 'object.createObject' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [loading]=\"obs.loading\"\n [searchFields]=\"objectSearchFields$ | async\"\n (doSearch)=\"search($event)\"\n [objectManagementId]=\"objectManagementId$ | async\"\n [setValuesSubject$]=\"null\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [items]=\"obs.objectConfiguration\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [pagination]=\"obs.pagination\"\n paginationIdentifier=\"objectConfigurationList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"redirectToDetails($event)\"\n >\n <ng-container carbonToolbarContent>\n <button cdsButton=\"primary\" (click)=\"openModal()\">\n {{ 'object.createObject' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </ng-container>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #createNewModal>\n <cds-modal\n valtimoCdsModal\n *ngIf=\"{\n show: showModal$ | async,\n formValid: formValid$ | async,\n formDefinition: formDefinition$ | async,\n disableInput: disableInput$ | async,\n } as modalObs\"\n [open]=\"modalObs.show\"\n (close)=\"closeModal()\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'object.createObject' | translate }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"modalContent; context: {modalObs: modalObs}\"></ng-container>\n </section>\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {modalObs: modalObs}\"></ng-container>\n </cds-modal>\n</ng-template>\n\n<ng-template #modalContent let-modalObs=\"modalObs\">\n <valtimo-form-io\n [form]=\"modalObs.formDefinition\"\n (change)=\"onFormioChange($event)\"\n ></valtimo-form-io>\n</ng-template>\n\n<ng-template #modalFooter let-modalObs=\"modalObs\">\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeModal()\"\n [disabled]=\"modalObs.disableInput\"\n >\n {{ 'object.close' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"addObject()\"\n [disabled]=\"modalObs.disableInput || modalObs.formValid === false\"\n >\n {{ 'object.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-carbon-list [loading]=\"true\"> </valtimo-carbon-list>\n</ng-template>\n", styles: [".loading-icon{display:flex;justify-content:center}\n/*!\n * Copyright 2015-2025 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: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i8$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i8$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i5.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: i8$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i8$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i8$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i8$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i8$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i5.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "caseDefinitionKey", "setValuesSubject$", "clearValuesSubject$", "defaultValues", "inputDisabled", "externalSearchField"], outputs: ["doSearch"] }, { kind: "directive", type: i5.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["enableOverflow"] }, { kind: "component", type: i5.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
|
399
407
|
}
|
|
400
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectListComponent, decorators: [{
|
|
401
409
|
type: Component,
|
|
402
|
-
args: [{ selector: 'valtimo-object-list', template: "<!--\n ~ Copyright 2015-
|
|
403
|
-
}], ctorParameters: () => [{ type:
|
|
410
|
+
args: [{ standalone: false, selector: 'valtimo-object-list', template: "<!--\n ~ Copyright 2015-2025 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<ng-container\n *ngIf=\"{\n loading: loading$ | async,\n pagination: pagination$ | async,\n disableInput: disableInput$ | async,\n fields: fields$ | async,\n objectConfiguration: objectConfiguration$ | async,\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"createNewModal\"></ng-container>\n</ng-container>\n\n<ng-template #buttons let-obs=\"obs\">\n <button\n (click)=\"openModal()\"\n cdsButton=\"primary\"\n size=\"md\"\n class=\"ml-3\"\n [disabled]=\"obs.disableInput || obs.loading\"\n >\n {{ 'object.createObject' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [loading]=\"obs.loading\"\n [searchFields]=\"objectSearchFields$ | async\"\n (doSearch)=\"search($event)\"\n [objectManagementId]=\"objectManagementId$ | async\"\n [setValuesSubject$]=\"null\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [items]=\"obs.objectConfiguration\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [pagination]=\"obs.pagination\"\n paginationIdentifier=\"objectConfigurationList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"redirectToDetails($event)\"\n >\n <ng-container carbonToolbarContent>\n <button cdsButton=\"primary\" (click)=\"openModal()\">\n {{ 'object.createObject' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </ng-container>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #createNewModal>\n <cds-modal\n valtimoCdsModal\n *ngIf=\"{\n show: showModal$ | async,\n formValid: formValid$ | async,\n formDefinition: formDefinition$ | async,\n disableInput: disableInput$ | async,\n } as modalObs\"\n [open]=\"modalObs.show\"\n (close)=\"closeModal()\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'object.createObject' | translate }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"modalContent; context: {modalObs: modalObs}\"></ng-container>\n </section>\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {modalObs: modalObs}\"></ng-container>\n </cds-modal>\n</ng-template>\n\n<ng-template #modalContent let-modalObs=\"modalObs\">\n <valtimo-form-io\n [form]=\"modalObs.formDefinition\"\n (change)=\"onFormioChange($event)\"\n ></valtimo-form-io>\n</ng-template>\n\n<ng-template #modalFooter let-modalObs=\"modalObs\">\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeModal()\"\n [disabled]=\"modalObs.disableInput\"\n >\n {{ 'object.close' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"addObject()\"\n [disabled]=\"modalObs.disableInput || modalObs.formValid === false\"\n >\n {{ 'object.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-carbon-list [loading]=\"true\"> </valtimo-carbon-list>\n</ng-template>\n", styles: [".loading-icon{display:flex;justify-content:center}\n/*!\n * Copyright 2015-2025 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"] }]
|
|
411
|
+
}], ctorParameters: () => [{ type: i1$1.GlobalNotificationService }, { type: ObjectColumnService }, { type: i3.ObjectManagementService }, { type: ObjectService }, { type: i5.PageTitleService }, { type: i6.ActivatedRoute }, { type: i6.Router }, { type: i7.TranslateService }, { type: i7.TranslateService }] });
|
|
404
412
|
|
|
405
413
|
/*
|
|
406
|
-
* Copyright 2015-
|
|
414
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
407
415
|
*
|
|
408
416
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
409
417
|
* you may not use this file except in compliance with the License.
|
|
@@ -423,7 +431,7 @@ var TabEnum;
|
|
|
423
431
|
})(TabEnum || (TabEnum = {}));
|
|
424
432
|
|
|
425
433
|
/*
|
|
426
|
-
* Copyright 2015-
|
|
434
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
427
435
|
*
|
|
428
436
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
429
437
|
* you may not use this file except in compliance with the License.
|
|
@@ -468,10 +476,10 @@ class ObjectStateService {
|
|
|
468
476
|
setModalType(type) {
|
|
469
477
|
this._modalType$.next(type);
|
|
470
478
|
}
|
|
471
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
472
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
479
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
480
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectStateService, providedIn: 'root' }); }
|
|
473
481
|
}
|
|
474
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
482
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectStateService, decorators: [{
|
|
475
483
|
type: Injectable,
|
|
476
484
|
args: [{
|
|
477
485
|
providedIn: 'root',
|
|
@@ -479,7 +487,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
479
487
|
}], ctorParameters: () => [] });
|
|
480
488
|
|
|
481
489
|
/*
|
|
482
|
-
* Copyright 2015-
|
|
490
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
483
491
|
*
|
|
484
492
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
485
493
|
* you may not use this file except in compliance with the License.
|
|
@@ -503,10 +511,10 @@ class TabService {
|
|
|
503
511
|
set currentTab(tab) {
|
|
504
512
|
this._currentTab$.next(tab);
|
|
505
513
|
}
|
|
506
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
507
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
514
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TabService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
515
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TabService, providedIn: 'root' }); }
|
|
508
516
|
}
|
|
509
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
517
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TabService, decorators: [{
|
|
510
518
|
type: Injectable,
|
|
511
519
|
args: [{
|
|
512
520
|
providedIn: 'root',
|
|
@@ -514,7 +522,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
514
522
|
}] });
|
|
515
523
|
|
|
516
524
|
/*
|
|
517
|
-
* Copyright 2015-
|
|
525
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
518
526
|
*
|
|
519
527
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
520
528
|
* you may not use this file except in compliance with the License.
|
|
@@ -529,14 +537,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
529
537
|
* limitations under the License.
|
|
530
538
|
*/
|
|
531
539
|
class ObjectDetailComponent {
|
|
532
|
-
constructor(
|
|
540
|
+
constructor(breadcrumbService, globalNotificationService, objectManagementService, objectService, route, router, translate) {
|
|
541
|
+
this.breadcrumbService = breadcrumbService;
|
|
542
|
+
this.globalNotificationService = globalNotificationService;
|
|
543
|
+
this.objectManagementService = objectManagementService;
|
|
533
544
|
this.objectService = objectService;
|
|
534
545
|
this.route = route;
|
|
535
546
|
this.router = router;
|
|
536
547
|
this.translate = translate;
|
|
537
|
-
this.toastr = toastr;
|
|
538
|
-
this.breadcrumbService = breadcrumbService;
|
|
539
|
-
this.objectManagementService = objectManagementService;
|
|
540
548
|
this.loading$ = new BehaviorSubject(true);
|
|
541
549
|
this.submission$ = new BehaviorSubject({});
|
|
542
550
|
this.formValid$ = new BehaviorSubject(false);
|
|
@@ -601,7 +609,10 @@ class ObjectDetailComponent {
|
|
|
601
609
|
}))
|
|
602
610
|
.subscribe(() => {
|
|
603
611
|
this.closeModal();
|
|
604
|
-
this.
|
|
612
|
+
this.globalNotificationService.showToast({
|
|
613
|
+
title: this.translate.instant('object.messages.objectDeleted'),
|
|
614
|
+
type: 'success',
|
|
615
|
+
});
|
|
605
616
|
this.router.navigate([`/objects/${objectManagementId}`]);
|
|
606
617
|
});
|
|
607
618
|
});
|
|
@@ -634,7 +645,10 @@ class ObjectDetailComponent {
|
|
|
634
645
|
.subscribe(() => {
|
|
635
646
|
this.closeModal();
|
|
636
647
|
this.refreshObject();
|
|
637
|
-
this.
|
|
648
|
+
this.globalNotificationService.showToast({
|
|
649
|
+
title: this.translate.instant('object.messages.objectUpdated'),
|
|
650
|
+
type: 'success',
|
|
651
|
+
});
|
|
638
652
|
});
|
|
639
653
|
}
|
|
640
654
|
});
|
|
@@ -649,18 +663,27 @@ class ObjectDetailComponent {
|
|
|
649
663
|
this.disableInput$.next(false);
|
|
650
664
|
}
|
|
651
665
|
handleRetrievingFormError() {
|
|
652
|
-
this.
|
|
666
|
+
this.globalNotificationService.showToast({
|
|
667
|
+
title: this.translate.instant('object.messages.objectRetrievingFormError'),
|
|
668
|
+
type: 'error',
|
|
669
|
+
});
|
|
653
670
|
this.loading$.next(false);
|
|
654
671
|
return of(null);
|
|
655
672
|
}
|
|
656
673
|
handleUpdateObjectError(error) {
|
|
657
674
|
this.closeModal();
|
|
658
|
-
this.
|
|
675
|
+
this.globalNotificationService.showToast({
|
|
676
|
+
title: this.translate.instant('object.messages.objectUpdateError'),
|
|
677
|
+
type: 'error',
|
|
678
|
+
});
|
|
659
679
|
return throwError(error);
|
|
660
680
|
}
|
|
661
681
|
handleDeleteObjectError(error) {
|
|
662
682
|
this.closeModal();
|
|
663
|
-
this.
|
|
683
|
+
this.globalNotificationService.showToast({
|
|
684
|
+
title: this.translate.instant('object.messages.objectDeleteError'),
|
|
685
|
+
type: 'error',
|
|
686
|
+
});
|
|
664
687
|
return throwError(error);
|
|
665
688
|
}
|
|
666
689
|
setBreadcrumb(objectTypeId, title) {
|
|
@@ -670,16 +693,16 @@ class ObjectDetailComponent {
|
|
|
670
693
|
href: `/objects/${objectTypeId}`,
|
|
671
694
|
});
|
|
672
695
|
}
|
|
673
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
674
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
696
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectDetailComponent, deps: [{ token: i5.BreadcrumbService }, { token: i1$1.GlobalNotificationService }, { token: i3.ObjectManagementService }, { token: ObjectService }, { token: i6.ActivatedRoute }, { token: i6.Router }, { token: i7.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
697
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ObjectDetailComponent, isStandalone: false, selector: "valtimo-object-detail", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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<ng-container\n *ngIf=\"{\n formioFormSummary: formioFormSummary$ | async,\n disableInput: disableInput$ | async,\n } as obs\"\n>\n <div class=\"container-fluid pr-0 pl-0\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"text-right\">\n <div class=\"btn-group mb-1\">\n <ng-container *ngTemplateOutlet=\"buttons; context: {obs: obs}\"></ng-container>\n </div>\n </div>\n </div>\n <div class=\"col-12\">\n <ng-container *ngTemplateOutlet=\"widget; context: {obs: obs}\"></ng-container>\n </div>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"createEditModal\"></ng-container>\n <ng-container *ngTemplateOutlet=\"deleteModal\"></ng-container>\n</ng-container>\n\n<ng-template #buttons let-obs=\"obs\">\n <button [disabled]=\"obs.disableInput\" (click)=\"openModal()\" cdsButton=\"primary\" size=\"md\">\n {{ 'object.editObject' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n\n <button (click)=\"deleteObject()\" cdsButton=\"danger\" size=\"md\" class=\"ml-3\">\n {{ 'object.deleteObject' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #widget let-obs=\"obs\">\n <valtimo-form-io\n *ngIf=\"obs.formioFormSummary\"\n [form]=\"obs.formioFormSummary\"\n [readOnly]=\"true\"\n ></valtimo-form-io>\n</ng-template>\n\n<ng-template #createEditModal>\n <cds-modal\n valtimoCdsModal\n *ngIf=\"{\n show: showModal$ | async,\n formValid: formValid$ | async,\n disableInput: disableInput$ | async,\n formioFormEdit: formioFormEdit$ | async,\n } as modalObs\"\n [open]=\"modalObs.show\"\n (close)=\"closeModal()\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'object.editObject' | translate }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"modalContent; context: {modalObs: modalObs}\"></ng-container>\n </section>\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {modalObs: modalObs}\"></ng-container>\n </cds-modal>\n</ng-template>\n\n<ng-template #modalContent let-modalObs=\"modalObs\">\n <valtimo-form-io\n [form]=\"modalObs.formioFormEdit\"\n (change)=\"onFormioChange($event)\"\n ></valtimo-form-io>\n</ng-template>\n\n<ng-template #modalFooter let-modalObs=\"modalObs\">\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeModal()\"\n [disabled]=\"modalObs.disableInput\"\n >\n {{ 'object.close' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"saveObject()\"\n [disabled]=\"modalObs.disableInput || modalObs.formValid === false\"\n >\n {{ 'object.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-icon\"><cds-loading></cds-loading></div>\n</ng-template>\n\n<ng-template #deleteModal>\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteModal$\"\n [outputOnConfirm]=\"deleteObjectUrl$ | async\"\n (confirmEvent)=\"deleteObjectConfirmation()\"\n confirmButtonTextTranslationKey=\"object.deleteObject\"\n titleTranslationKey=\"object.deleteObject\"\n contentTranslationKey=\"object.deleteObjectConfirmation\"\n ></valtimo-confirmation-modal>\n</ng-template>\n", styles: [".row{margin:0}.object-schema{resize:none}valtimo-widget::ng-deep .card-border.card-full-default{border:none}\n/*!\n * Copyright 2015-2025 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: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i8$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i8$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i8$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i5.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: i8$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i8$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i8$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i8$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i8$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i5.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "directive", type: i5.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["enableOverflow"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
|
675
698
|
}
|
|
676
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
699
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectDetailComponent, decorators: [{
|
|
677
700
|
type: Component,
|
|
678
|
-
args: [{ selector: 'valtimo-object-detail', template: "<!--\n ~ Copyright 2015-
|
|
679
|
-
}], ctorParameters: () => [{ type:
|
|
701
|
+
args: [{ standalone: false, selector: 'valtimo-object-detail', template: "<!--\n ~ Copyright 2015-2025 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<ng-container\n *ngIf=\"{\n formioFormSummary: formioFormSummary$ | async,\n disableInput: disableInput$ | async,\n } as obs\"\n>\n <div class=\"container-fluid pr-0 pl-0\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"text-right\">\n <div class=\"btn-group mb-1\">\n <ng-container *ngTemplateOutlet=\"buttons; context: {obs: obs}\"></ng-container>\n </div>\n </div>\n </div>\n <div class=\"col-12\">\n <ng-container *ngTemplateOutlet=\"widget; context: {obs: obs}\"></ng-container>\n </div>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"createEditModal\"></ng-container>\n <ng-container *ngTemplateOutlet=\"deleteModal\"></ng-container>\n</ng-container>\n\n<ng-template #buttons let-obs=\"obs\">\n <button [disabled]=\"obs.disableInput\" (click)=\"openModal()\" cdsButton=\"primary\" size=\"md\">\n {{ 'object.editObject' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n\n <button (click)=\"deleteObject()\" cdsButton=\"danger\" size=\"md\" class=\"ml-3\">\n {{ 'object.deleteObject' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #widget let-obs=\"obs\">\n <valtimo-form-io\n *ngIf=\"obs.formioFormSummary\"\n [form]=\"obs.formioFormSummary\"\n [readOnly]=\"true\"\n ></valtimo-form-io>\n</ng-template>\n\n<ng-template #createEditModal>\n <cds-modal\n valtimoCdsModal\n *ngIf=\"{\n show: showModal$ | async,\n formValid: formValid$ | async,\n disableInput: disableInput$ | async,\n formioFormEdit: formioFormEdit$ | async,\n } as modalObs\"\n [open]=\"modalObs.show\"\n (close)=\"closeModal()\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'object.editObject' | translate }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"modalContent; context: {modalObs: modalObs}\"></ng-container>\n </section>\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {modalObs: modalObs}\"></ng-container>\n </cds-modal>\n</ng-template>\n\n<ng-template #modalContent let-modalObs=\"modalObs\">\n <valtimo-form-io\n [form]=\"modalObs.formioFormEdit\"\n (change)=\"onFormioChange($event)\"\n ></valtimo-form-io>\n</ng-template>\n\n<ng-template #modalFooter let-modalObs=\"modalObs\">\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeModal()\"\n [disabled]=\"modalObs.disableInput\"\n >\n {{ 'object.close' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"saveObject()\"\n [disabled]=\"modalObs.disableInput || modalObs.formValid === false\"\n >\n {{ 'object.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-icon\"><cds-loading></cds-loading></div>\n</ng-template>\n\n<ng-template #deleteModal>\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteModal$\"\n [outputOnConfirm]=\"deleteObjectUrl$ | async\"\n (confirmEvent)=\"deleteObjectConfirmation()\"\n confirmButtonTextTranslationKey=\"object.deleteObject\"\n titleTranslationKey=\"object.deleteObject\"\n contentTranslationKey=\"object.deleteObjectConfirmation\"\n ></valtimo-confirmation-modal>\n</ng-template>\n", styles: [".row{margin:0}.object-schema{resize:none}valtimo-widget::ng-deep .card-border.card-full-default{border:none}\n/*!\n * Copyright 2015-2025 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"] }]
|
|
702
|
+
}], ctorParameters: () => [{ type: i5.BreadcrumbService }, { type: i1$1.GlobalNotificationService }, { type: i3.ObjectManagementService }, { type: ObjectService }, { type: i6.ActivatedRoute }, { type: i6.Router }, { type: i7.TranslateService }] });
|
|
680
703
|
|
|
681
704
|
/*
|
|
682
|
-
* Copyright 2015-
|
|
705
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
683
706
|
*
|
|
684
707
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
685
708
|
* you may not use this file except in compliance with the License.
|
|
@@ -717,16 +740,16 @@ class ObjectDetailContainerComponent {
|
|
|
717
740
|
this.tabService.currentTab = TabEnum.GENERAL;
|
|
718
741
|
this.tabSubscription?.unsubscribe();
|
|
719
742
|
}
|
|
720
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
721
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
743
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectDetailContainerComponent, deps: [{ token: ObjectStateService }, { token: ObjectService }, { token: i6.ActivatedRoute }, { token: i1$1.ConfigService }, { token: TabService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
744
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ObjectDetailContainerComponent, isStandalone: false, selector: "valtimo-object-detail-container", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tabContent\"></ng-container>\n </valtimo-widget>\n </div>\n </div>\n</div>\n\n<ng-template #title>\n <div class=\"bg-light dossier-header\">\n <h3 class=\"dossier-title\">\n {{ 'object.header' | translate }}\n </h3>\n </div>\n</ng-template>\n\n<ng-template #tabs>\n <ul class=\"nav nav-tabs\">\n <li class=\"nav-item\">\n <a\n id=\"general-tab\"\n class=\"nav-link clickable active\"\n data-toggle=\"tab\"\n (click)=\"displayBodyComponent(TabEnum.GENERAL)\"\n >\n {{ 'object.tabs.general' | translate }}\n </a>\n </li>\n </ul>\n</ng-template>\n\n<ng-template #tabContent>\n <div class=\"pl-1 pr-1 pt-3 bg-white position-relative tab-container\">\n <div *ngIf=\"currentTab && currentTab === TabEnum.GENERAL\">\n <valtimo-object-detail></valtimo-object-detail>\n </div>\n </div>\n</ng-template>\n", styles: [".tab-container{min-height:300px}.dossier-header{height:80px;padding-top:21px;padding-left:18px;padding-right:18px;border-bottom:1px solid rgba(0,0,0,.125)}.dossier-title{margin-top:0;margin-bottom:7px}\n/*!\n * Copyright 2015-2025 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: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: ObjectDetailComponent, selector: "valtimo-object-detail" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
|
722
745
|
}
|
|
723
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
746
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectDetailContainerComponent, decorators: [{
|
|
724
747
|
type: Component,
|
|
725
|
-
args: [{ selector: 'valtimo-object-detail-container', template: "<!--\n ~ Copyright 2015-
|
|
726
|
-
}], ctorParameters: () => [{ type: ObjectStateService }, { type: ObjectService }, { type:
|
|
748
|
+
args: [{ standalone: false, selector: 'valtimo-object-detail-container', template: "<!--\n ~ Copyright 2015-2025 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 class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tabContent\"></ng-container>\n </valtimo-widget>\n </div>\n </div>\n</div>\n\n<ng-template #title>\n <div class=\"bg-light dossier-header\">\n <h3 class=\"dossier-title\">\n {{ 'object.header' | translate }}\n </h3>\n </div>\n</ng-template>\n\n<ng-template #tabs>\n <ul class=\"nav nav-tabs\">\n <li class=\"nav-item\">\n <a\n id=\"general-tab\"\n class=\"nav-link clickable active\"\n data-toggle=\"tab\"\n (click)=\"displayBodyComponent(TabEnum.GENERAL)\"\n >\n {{ 'object.tabs.general' | translate }}\n </a>\n </li>\n </ul>\n</ng-template>\n\n<ng-template #tabContent>\n <div class=\"pl-1 pr-1 pt-3 bg-white position-relative tab-container\">\n <div *ngIf=\"currentTab && currentTab === TabEnum.GENERAL\">\n <valtimo-object-detail></valtimo-object-detail>\n </div>\n </div>\n</ng-template>\n", styles: [".tab-container{min-height:300px}.dossier-header{height:80px;padding-top:21px;padding-left:18px;padding-right:18px;border-bottom:1px solid rgba(0,0,0,.125)}.dossier-title{margin-top:0;margin-bottom:7px}\n/*!\n * Copyright 2015-2025 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"] }]
|
|
749
|
+
}], ctorParameters: () => [{ type: ObjectStateService }, { type: ObjectService }, { type: i6.ActivatedRoute }, { type: i1$1.ConfigService }, { type: TabService }] });
|
|
727
750
|
|
|
728
751
|
/*
|
|
729
|
-
* Copyright 2015-
|
|
752
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
730
753
|
*
|
|
731
754
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
732
755
|
* you may not use this file except in compliance with the License.
|
|
@@ -755,11 +778,11 @@ const routes = [
|
|
|
755
778
|
},
|
|
756
779
|
];
|
|
757
780
|
class ObjectRoutingModule {
|
|
758
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
759
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
760
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
781
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
782
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: ObjectRoutingModule, imports: [CommonModule, i6.RouterModule], exports: [RouterModule] }); }
|
|
783
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
|
|
761
784
|
}
|
|
762
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
785
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectRoutingModule, decorators: [{
|
|
763
786
|
type: NgModule,
|
|
764
787
|
args: [{
|
|
765
788
|
imports: [CommonModule, RouterModule.forChild(routes)],
|
|
@@ -769,7 +792,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
769
792
|
}] });
|
|
770
793
|
|
|
771
794
|
/*
|
|
772
|
-
* Copyright 2015-
|
|
795
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
773
796
|
*
|
|
774
797
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
775
798
|
* you may not use this file except in compliance with the License.
|
|
@@ -784,13 +807,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
784
807
|
* limitations under the License.
|
|
785
808
|
*/
|
|
786
809
|
class ObjectModule {
|
|
787
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
788
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
810
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
811
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: ObjectModule, declarations: [ObjectListComponent, ObjectDetailContainerComponent, ObjectDetailComponent], imports: [CommonModule,
|
|
789
812
|
ObjectRoutingModule,
|
|
790
813
|
TranslateModule,
|
|
791
814
|
AsyncPipe,
|
|
792
815
|
WidgetModule,
|
|
793
|
-
ListModule,
|
|
794
816
|
ButtonModule,
|
|
795
817
|
IconModule,
|
|
796
818
|
SpinnerModule,
|
|
@@ -802,13 +824,12 @@ class ObjectModule {
|
|
|
802
824
|
TooltipIconModule,
|
|
803
825
|
ConfirmationModalModule,
|
|
804
826
|
SearchFieldsModule,
|
|
805
|
-
|
|
827
|
+
ValtimoCdsModalDirective,
|
|
806
828
|
CarbonListModule] }); }
|
|
807
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
829
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectModule, imports: [CommonModule,
|
|
808
830
|
ObjectRoutingModule,
|
|
809
831
|
TranslateModule,
|
|
810
832
|
WidgetModule,
|
|
811
|
-
ListModule,
|
|
812
833
|
ButtonModule,
|
|
813
834
|
IconModule,
|
|
814
835
|
SpinnerModule,
|
|
@@ -820,10 +841,9 @@ class ObjectModule {
|
|
|
820
841
|
TooltipIconModule,
|
|
821
842
|
ConfirmationModalModule,
|
|
822
843
|
SearchFieldsModule,
|
|
823
|
-
ValtimoCdsModalDirectiveModule,
|
|
824
844
|
CarbonListModule] }); }
|
|
825
845
|
}
|
|
826
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
846
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ObjectModule, decorators: [{
|
|
827
847
|
type: NgModule,
|
|
828
848
|
args: [{
|
|
829
849
|
declarations: [ObjectListComponent, ObjectDetailContainerComponent, ObjectDetailComponent],
|
|
@@ -833,7 +853,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
833
853
|
TranslateModule,
|
|
834
854
|
AsyncPipe,
|
|
835
855
|
WidgetModule,
|
|
836
|
-
ListModule,
|
|
837
856
|
ButtonModule,
|
|
838
857
|
IconModule,
|
|
839
858
|
SpinnerModule,
|
|
@@ -845,7 +864,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
845
864
|
TooltipIconModule,
|
|
846
865
|
ConfirmationModalModule,
|
|
847
866
|
SearchFieldsModule,
|
|
848
|
-
|
|
867
|
+
ValtimoCdsModalDirective,
|
|
849
868
|
CarbonListModule,
|
|
850
869
|
],
|
|
851
870
|
exports: [],
|
|
@@ -853,7 +872,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
853
872
|
}] });
|
|
854
873
|
|
|
855
874
|
/*
|
|
856
|
-
* Copyright 2015-
|
|
875
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
857
876
|
*
|
|
858
877
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
859
878
|
* you may not use this file except in compliance with the License.
|