@valtimo/components 13.33.0 → 13.35.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-components.mjs +197 -46
- package/fesm2022/valtimo-components.mjs.map +1 -1
- package/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.d.ts +3 -0
- package/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.d.ts.map +1 -1
- package/lib/components/editor/editor.component.d.ts +1 -2
- package/lib/components/editor/editor.component.d.ts.map +1 -1
- package/lib/components/form-io/components/form-io/form-io.component.d.ts +2 -1
- package/lib/components/form-io/components/form-io/form-io.component.d.ts.map +1 -1
- package/lib/components/json-editor/json-editor.component.d.ts +1 -2
- package/lib/components/json-editor/json-editor.component.d.ts.map +1 -1
- package/lib/components/left-sidebar/left-sidebar.component.d.ts +3 -0
- package/lib/components/left-sidebar/left-sidebar.component.d.ts.map +1 -1
- package/lib/components/page-header/page-header.component.d.ts +1 -0
- package/lib/components/page-header/page-header.component.d.ts.map +1 -1
- package/lib/components/page-title/page-title.component.d.ts +2 -0
- package/lib/components/page-title/page-title.component.d.ts.map +1 -1
- package/lib/components/right-sidebar/right-sidebar.component.d.ts +1 -0
- package/lib/components/right-sidebar/right-sidebar.component.d.ts.map +1 -1
- package/lib/components/value-path-selector/value-path-selector.component.d.ts +3 -1
- package/lib/components/value-path-selector/value-path-selector.component.d.ts.map +1 -1
- package/lib/directives/fit-page/fit-page.directive.d.ts +29 -3
- package/lib/directives/fit-page/fit-page.directive.d.ts.map +1 -1
- package/lib/models/value-path-selector.model.d.ts +1 -0
- package/lib/models/value-path-selector.model.d.ts.map +1 -1
- package/lib/services/page-header.service.d.ts +11 -0
- package/lib/services/page-header.service.d.ts.map +1 -1
- package/lib/services/page-title.service.d.ts +4 -0
- package/lib/services/page-title.service.d.ts.map +1 -1
- package/lib/services/value-path-selector.service.d.ts +1 -1
- package/lib/services/value-path-selector.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -653,6 +653,7 @@ var ValuePathSelectorPrefix;
|
|
|
653
653
|
(function (ValuePathSelectorPrefix) {
|
|
654
654
|
ValuePathSelectorPrefix["DOC"] = "doc";
|
|
655
655
|
ValuePathSelectorPrefix["CASE"] = "case";
|
|
656
|
+
ValuePathSelectorPrefix["TASK"] = "task";
|
|
656
657
|
ValuePathSelectorPrefix["ZAAKOBJECT"] = "zaakobject";
|
|
657
658
|
ValuePathSelectorPrefix["ZAAKRESULTAAT"] = "zaakresultaat";
|
|
658
659
|
ValuePathSelectorPrefix["ZAAKSTATUS"] = "zaakstatus";
|
|
@@ -1769,6 +1770,9 @@ class PageHeaderService {
|
|
|
1769
1770
|
get smallTitle$() {
|
|
1770
1771
|
return this._smallTitle$.asObservable();
|
|
1771
1772
|
}
|
|
1773
|
+
get titleAsBreadcrumb$() {
|
|
1774
|
+
return this._titleAsBreadcrumb$.asObservable();
|
|
1775
|
+
}
|
|
1772
1776
|
get showUserNameInTopBar$() {
|
|
1773
1777
|
return this._showUserNameInTopBar$.asObservable();
|
|
1774
1778
|
}
|
|
@@ -1787,6 +1791,7 @@ class PageHeaderService {
|
|
|
1787
1791
|
this._pageActionsHasContent$ = new BehaviorSubject(false);
|
|
1788
1792
|
this._pageHeadHeight$ = new BehaviorSubject(null);
|
|
1789
1793
|
this._smallTitle$ = new BehaviorSubject(false);
|
|
1794
|
+
this._titleAsBreadcrumb$ = new BehaviorSubject(false);
|
|
1790
1795
|
this._featureToggleSub = this.configService.featureToggles$.subscribe(toggles => {
|
|
1791
1796
|
if (toggles?.hasOwnProperty('compactModeOnByDefault')) {
|
|
1792
1797
|
this._compactMode$.next(!!toggles.compactModeOnByDefault);
|
|
@@ -1823,6 +1828,19 @@ class PageHeaderService {
|
|
|
1823
1828
|
disableSmallTitle() {
|
|
1824
1829
|
this._smallTitle$.next(false);
|
|
1825
1830
|
}
|
|
1831
|
+
/**
|
|
1832
|
+
* Renders the current page title inline as the final (non-link) breadcrumb item instead of
|
|
1833
|
+
* as a large heading below the breadcrumb trail, freeing up the page header row for actions.
|
|
1834
|
+
* Unlike compact mode, the breadcrumb stays in the page header area (not the top bar).
|
|
1835
|
+
*
|
|
1836
|
+
* Enable from a component's `ngAfterViewInit`/`ngOnInit` and disable in `ngOnDestroy`.
|
|
1837
|
+
*/
|
|
1838
|
+
enableTitleAsBreadcrumb() {
|
|
1839
|
+
this._titleAsBreadcrumb$.next(true);
|
|
1840
|
+
}
|
|
1841
|
+
disableTitleAsBreadcrumb() {
|
|
1842
|
+
this._titleAsBreadcrumb$.next(false);
|
|
1843
|
+
}
|
|
1826
1844
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: PageHeaderService, deps: [{ token: i1$2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1827
1845
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: PageHeaderService, providedIn: 'root' }); }
|
|
1828
1846
|
}
|
|
@@ -1915,6 +1933,10 @@ class PageTitleService {
|
|
|
1915
1933
|
get pageTitleHidden$() {
|
|
1916
1934
|
return this._pageTitleHidden$.asObservable();
|
|
1917
1935
|
}
|
|
1936
|
+
/** The currently displayed page title (custom title when set, otherwise the route title). */
|
|
1937
|
+
get currentTitle$() {
|
|
1938
|
+
return this._currentTitle$.asObservable();
|
|
1939
|
+
}
|
|
1918
1940
|
constructor(router) {
|
|
1919
1941
|
this.router = router;
|
|
1920
1942
|
this._customPageTitle$ = new BehaviorSubject('');
|
|
@@ -1925,6 +1947,7 @@ class PageTitleService {
|
|
|
1925
1947
|
this._pageActionsFullWidth$ = new BehaviorSubject(false);
|
|
1926
1948
|
this._pageActionsViewContainerRef$ = new BehaviorSubject(null);
|
|
1927
1949
|
this._pageTitleHidden$ = new BehaviorSubject(false);
|
|
1950
|
+
this._currentTitle$ = new BehaviorSubject('');
|
|
1928
1951
|
this._preventReset$ = new BehaviorSubject(false);
|
|
1929
1952
|
this.openRouteSubscription();
|
|
1930
1953
|
}
|
|
@@ -1963,6 +1986,9 @@ class PageTitleService {
|
|
|
1963
1986
|
setPageTitleHidden(hidden) {
|
|
1964
1987
|
this._pageTitleHidden$.next(hidden);
|
|
1965
1988
|
}
|
|
1989
|
+
setCurrentTitle(title) {
|
|
1990
|
+
this._currentTitle$.next(title);
|
|
1991
|
+
}
|
|
1966
1992
|
clearPageActionsViewContainerRef() {
|
|
1967
1993
|
this._pageActionsViewContainerRef$.getValue()?.clear();
|
|
1968
1994
|
}
|
|
@@ -2620,7 +2646,7 @@ class ValuePathSelectorService extends BaseApiService {
|
|
|
2620
2646
|
/**
|
|
2621
2647
|
* Get resolvable keys for a given blueprint context (case definition or building block).
|
|
2622
2648
|
*/
|
|
2623
|
-
getResolvableKeysForContext(prefixes, context, type = ValuePathType.FIELD) {
|
|
2649
|
+
getResolvableKeysForContext(prefixes, excludePrefixes = [], context, type = ValuePathType.FIELD) {
|
|
2624
2650
|
this._prefixes = prefixes;
|
|
2625
2651
|
this._currentCacheKey = this.buildCacheKey(context);
|
|
2626
2652
|
const url = this.buildUrl(context);
|
|
@@ -2628,6 +2654,7 @@ class ValuePathSelectorService extends BaseApiService {
|
|
|
2628
2654
|
return (prefixesWithoutCache.length > 0 || this._prefixes.length === 0
|
|
2629
2655
|
? this.httpClient.post(this.getApiUrl(url), {
|
|
2630
2656
|
prefixes: prefixesWithoutCache,
|
|
2657
|
+
excludePrefixes,
|
|
2631
2658
|
type,
|
|
2632
2659
|
})
|
|
2633
2660
|
: of([])).pipe(tap((results) => {
|
|
@@ -4920,13 +4947,24 @@ class RightSidebarComponent {
|
|
|
4920
4947
|
this.userSettingsService.getUserSettings().subscribe(settings => {
|
|
4921
4948
|
this.updatingUserSettings$.next(false);
|
|
4922
4949
|
if (!settings?.languageCode) {
|
|
4923
|
-
this.
|
|
4950
|
+
this.initializeDefaultUserSettings();
|
|
4924
4951
|
}
|
|
4925
4952
|
else {
|
|
4926
4953
|
this.setUserSettings(settings);
|
|
4927
4954
|
}
|
|
4928
4955
|
});
|
|
4929
4956
|
}
|
|
4957
|
+
initializeDefaultUserSettings() {
|
|
4958
|
+
this.configService
|
|
4959
|
+
.getFeatureToggleObservable('menuCollapsedByDefault')
|
|
4960
|
+
.pipe(take$1(1))
|
|
4961
|
+
.subscribe(menuCollapsedByDefault => {
|
|
4962
|
+
if (menuCollapsedByDefault) {
|
|
4963
|
+
this.setCollapsibleWidescreenMenu(true, false);
|
|
4964
|
+
}
|
|
4965
|
+
this.saveUserSettings();
|
|
4966
|
+
});
|
|
4967
|
+
}
|
|
4930
4968
|
saveUserSettings() {
|
|
4931
4969
|
this.updatingUserSettings$.next(true);
|
|
4932
4970
|
combineLatest([
|
|
@@ -4953,7 +4991,13 @@ class RightSidebarComponent {
|
|
|
4953
4991
|
setUserSettings(settings) {
|
|
4954
4992
|
this._selectedLanguage$.next(settings.languageCode);
|
|
4955
4993
|
this.updateUserLanguage(settings.languageCode, false);
|
|
4956
|
-
this.
|
|
4994
|
+
this.configService
|
|
4995
|
+
.getFeatureToggleObservable('menuCollapsedByDefault')
|
|
4996
|
+
.pipe(take$1(1))
|
|
4997
|
+
.subscribe(menuCollapsedByDefault => {
|
|
4998
|
+
const collapsible = settings.collapsibleWidescreenMenu ?? menuCollapsedByDefault;
|
|
4999
|
+
this.setCollapsibleWidescreenMenu(collapsible, false);
|
|
5000
|
+
});
|
|
4957
5001
|
combineLatest([
|
|
4958
5002
|
this.enableCompactModeToggle$,
|
|
4959
5003
|
this.enableShowUserNameToggle$,
|
|
@@ -5153,15 +5197,18 @@ class LeftSidebarComponent {
|
|
|
5153
5197
|
this.closestSequence$ = this.menuService.closestSequence$;
|
|
5154
5198
|
this.overflowMenuSequence$ = new BehaviorSubject('');
|
|
5155
5199
|
this._breakpointsInitialized = false;
|
|
5200
|
+
this._menuCollapsedByDefaultInitialized = false;
|
|
5156
5201
|
this.includeFunctionObservables = this.menuService.includeFunctionObservables;
|
|
5157
5202
|
this.disableCaseCount$ = this.configService.getFeatureToggleObservable('disableCaseCount');
|
|
5158
5203
|
}
|
|
5159
5204
|
ngAfterViewInit() {
|
|
5160
5205
|
this.openBreakpointSubscription();
|
|
5206
|
+
this.openMenuCollapsedByDefaultSubscription();
|
|
5161
5207
|
this.shellService.setSidenavElement(this.elementRef.nativeElement.querySelector('.cds--side-nav'));
|
|
5162
5208
|
}
|
|
5163
5209
|
ngOnDestroy() {
|
|
5164
5210
|
this._breakpointSubscription?.unsubscribe();
|
|
5211
|
+
this._menuCollapsedByDefaultSubscription?.unsubscribe();
|
|
5165
5212
|
}
|
|
5166
5213
|
navigateToRoute(route, event) {
|
|
5167
5214
|
event.preventDefault();
|
|
@@ -5197,7 +5244,7 @@ class LeftSidebarComponent {
|
|
|
5197
5244
|
window.open(url, '_blank');
|
|
5198
5245
|
}
|
|
5199
5246
|
openBreakpointSubscription() {
|
|
5200
|
-
this.breakpointObserver
|
|
5247
|
+
this._breakpointSubscription = this.breakpointObserver
|
|
5201
5248
|
.observe(['(max-width: 1055px)', '(min-width: 1056px)'])
|
|
5202
5249
|
.subscribe(state => {
|
|
5203
5250
|
combineLatest([
|
|
@@ -5228,6 +5275,16 @@ class LeftSidebarComponent {
|
|
|
5228
5275
|
});
|
|
5229
5276
|
});
|
|
5230
5277
|
}
|
|
5278
|
+
openMenuCollapsedByDefaultSubscription() {
|
|
5279
|
+
this._menuCollapsedByDefaultSubscription = this.configService
|
|
5280
|
+
.getFeatureToggleObservable('menuCollapsedByDefault')
|
|
5281
|
+
.subscribe(menuCollapsedByDefault => {
|
|
5282
|
+
if (!this._menuCollapsedByDefaultInitialized && menuCollapsedByDefault) {
|
|
5283
|
+
this.shellService.collapseSideBar();
|
|
5284
|
+
this._menuCollapsedByDefaultInitialized = true;
|
|
5285
|
+
}
|
|
5286
|
+
});
|
|
5287
|
+
}
|
|
5231
5288
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LeftSidebarComponent, deps: [{ token: i0.ElementRef }, { token: MenuService }, { token: ShellService }, { token: i3.BreakpointObserver }, { token: i1$3.Router }, { token: i1$2.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5232
5289
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: LeftSidebarComponent, isStandalone: false, selector: "valtimo-left-sidebar", host: { listeners: { "document:click": "onPageClick($event.target)" } }, viewQueries: [{ propertyName: "toggleButtonRef", first: true, predicate: ["toggleButton"], descendants: true }], 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<cds-sidenav\n *ngIf=\"{\n closestSequence: closestSequence$ | async,\n overflowMenuSequence: overflowMenuSequence$ | async,\n sideBarExpanded: sideBarExpanded$ | async,\n menuItemsLoaded: menuItemsLoaded$ | async,\n menuItems: menuItems$ | async,\n } as obs\"\n [allowExpansion]=\"false\"\n [expanded]=\"obs.sideBarExpanded\"\n>\n <ng-container *ngIf=\"obs.menuItemsLoaded; else loadingTemplate\">\n <ng-container *ngFor=\"let menuItem of obs.menuItems\">\n <ng-container *ngIf=\"!menuItem.children\">\n <ng-container\n *ngTemplateOutlet=\"\n topMenuItem;\n context: {\n menuItem: menuItem,\n closestSequence: obs.closestSequence,\n overflowMenuSequence: obs.overflowMenuSequence,\n }\n \"\n ></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"menuItem.children\">\n <ng-container\n *ngTemplateOutlet=\"\n topMenuItem;\n context: {\n closestSequence: obs.closestSequence,\n menuItem: menuItem,\n overflowMenuSequence: obs.overflowMenuSequence,\n }\n \"\n ></ng-container>\n\n <div [ngClass]=\"{\n 'menu-item--hidden': menuItem.includeFunction !== undefined,\n 'menu-item--visible':\n menuItem.includeFunction !== undefined &&\n (includeFunctionObservables[menuItem.title] | async),\n }\">\n <ng-container *ngTemplateOutlet=\"subMenuIcon; context: {menuItem: menuItem}\"></ng-container>\n\n <cds-sidenav-menu\n [title]=\"menuItem | menuItemTranslate | async\"\n [attr.data-testid]=\"'sidenav-item-' + menuItem.title\"\n >\n <ng-container *ngFor=\"let childMenuItem of menuItem.children\">\n <ng-container\n *ngIf=\"{\n disableCaseCount: disableCaseCount$ | async,\n count: childMenuItem?.count$ && (childMenuItem?.count$ | async),\n sequence: '' + menuItem.sequence + '.' + childMenuItem.sequence,\n } as vars\"\n >\n <cds-sidenav-item\n [attr.data-testid]=\"'sidenav-item-' + childMenuItem?.title\"\n [title]=\"\n menuItem.title === 'Cases' || menuItem.title === 'Dossiers'\n ? (childMenuItem | menuItemTranslate | async)\n : null\n \"\n [ngClass]=\"{\n 'cds--side-nav__item--empty': !childMenuItem.link,\n 'menu-item--hidden': childMenuItem.includeFunction !== undefined,\n 'menu-item--visible':\n childMenuItem.includeFunction !== undefined &&\n (includeFunctionObservables[childMenuItem.title] | async),\n }\"\n [active]=\"vars.sequence === obs.closestSequence\"\n [href]=\"vars?.count ? 'javascript:return false;' : 'javascript:void(0);'\"\n (click)=\"navigateToRoute(childMenuItem.link, $event)\"\n (contextmenu)=\"onRightClick(vars.sequence)\"\n (ctrl-click)=\"openInNewTab(childMenuItem.link)\"\n >\n <valtimo-menu-item-text\n [accent]=\"!childMenuItem.link\"\n [menuItem]=\"childMenuItem\"\n [showOverFlowMenu]=\"obs.overflowMenuSequence === vars.sequence\"\n (openInNewTab)=\"openInNewTab(childMenuItem.link)\"\n (overflowMenuClosed)=\"onOverflowMenuClosed(vars.sequence)\"\n ></valtimo-menu-item-text>\n\n <ng-container\n *ngTemplateOutlet=\"countTemplate; context: {count: vars.count, disableCaseCount: vars.disableCaseCount}\"\n ></ng-container>\n </cds-sidenav-item>\n </ng-container>\n </ng-container>\n </cds-sidenav-menu>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n</cds-sidenav>\n\n<ng-template #subMenuIcon let-menuItem=\"menuItem\">\n <div class=\"menu-item-icon-container\"><i class=\"{{ menuItem.iconClass }}\"></i></div>\n</ng-template>\n\n<ng-template\n #topMenuItem\n let-closestSequence=\"closestSequence\"\n let-menuItem=\"menuItem\"\n let-overflowMenuSequence=\"overflowMenuSequence\"\n>\n <ng-container *ngIf=\"{sequence: '' + menuItem.sequence} as vars\"\n ><cds-sidenav-item\n *ngIf=\"!menuItem.children\"\n [attr.data-testid]=\"'sidenav-item-' + menuItem.title\"\n [ngClass]=\"{\n 'menu-item--hidden': menuItem.includeFunction !== undefined,\n 'menu-item--visible':\n menuItem.includeFunction !== undefined &&\n (includeFunctionObservables[menuItem.title] | async),\n }\"\n [active]=\"vars.sequence === closestSequence\"\n (click)=\"navigateToRoute(menuItem.link, $event)\"\n (contextmenu)=\"onRightClick(vars.sequence)\"\n (ctrl-click)=\"openInNewTab(menuItem.link.link)\"\n href=\"javascript:void(0)\"\n >\n <valtimo-menu-item-text\n [menuItem]=\"menuItem\"\n [showOverFlowMenu]=\"overflowMenuSequence === vars.sequence\"\n (openInNewTab)=\"openInNewTab(menuItem.link.link)\"\n (overflowMenuClosed)=\"onOverflowMenuClosed(vars.sequence)\"\n ></valtimo-menu-item-text>\n </cds-sidenav-item>\n </ng-container>\n</ng-template>\n\n<ng-template #countTemplate let-count=\"count\" let-disableCaseCount=\"disableCaseCount\">\n <ng-container *ngIf=\"count && !disableCaseCount\">\n <span class=\"case-count\">\n {{ count | caseCount }}\n </span>\n </ng-container>\n</ng-template>\n\n<ng-template #loadingTemplate>\n <div class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n", styles: ["@media screen and (max-width: 767px){.be-left-sidebar{width:100%!important}}.be-left-sidebar .left-sidebar-toggle{padding:20px}.be-left-sidebar .left-sidebar-toggle:before{font-size:1.615rem}.be-left-sidebar .sidebar-elements>li>a.be-toggle-left-sidebar{height:32px;display:flex;align-items:center}.be-left-sidebar .left-sidebar-content{padding-top:20px}.be-toggle-left-sidebar svg{margin-right:7px;min-width:21px;height:auto;overflow:visible}.be-toggle-left-sidebar svg path{transition:.27s ease;fill:#696969}::ng-deep .resize-border{position:absolute;width:3px;height:100%;top:0;right:0;cursor:col-resize;background-color:var(--cds-border-strong);opacity:0;transition:opacity .11s cubic-bezier(.2,0,1,.9)}::ng-deep .resize-hover{opacity:1}::ng-deep .resize-border--invisible{display:none}.no-transition{transition:none}.d-1{d:path(\"M3 18v-2h13v2z\")}.d-1-flipped{d:path(\"M3 18v-2h11v2z\")}.d-2{d:path(\"M3 13v-2h10v2H3\")}.d-2-flipped{d:path(\"M3 13v-2h12v2H3\")}.d-3{d:path(\"M3 6h13v2H3V6\")}.d-3-flipped{d:path(\"M3 6h11v2H3V6\")}.d-4{d:path(\"M21 15.61L19.59 17l-5.01-5 5.01-5L21 8.39 17.44 12 21 15.61\")}.d-4-flipped{d:path(\"M15.58 15.61L16.99 17 22 12l-5.01-5-1.41 1.39L19.14 12l-3.56 3.61\")}::ng-deep .cds--side-nav__menu{padding-left:0}::ng-deep .cds--side-nav__navigation{border-right:1px solid #e0e0e0;height:100%}::ng-deep .cds--side-nav--ux{width:0}::ng-deep .cds--side-nav--expanded{width:16rem}::ng-deep .cds--side-nav__header-divider{display:none!important}.menu-item-icon-container{position:relative;top:8px;left:13px;height:0}.menu-item-icon-container i{width:0px;height:16px}.menu-item--hidden{display:none}.menu-item--visible{display:block}::ng-deep .cds--side-nav__item--empty{pointer-events:none}::ng-deep .cds--side-nav__item--empty .menu-item-icon-container{display:none}::ng-deep .cds--side-nav__link[href*=\"javascript:return false;\"]{padding-right:3rem!important}.case-count{position:absolute;right:0;padding-right:1rem;height:100%;top:0;display:flex;align-items:center;justify-content:center;font-size:.875rem;letter-spacing:.1px;line-height:1.25rem;font-weight:500!important}::ng-deep .cds--side-nav__icon{margin-left:-16px}::ng-deep .cds--side-nav__item.cds--side-nav__item--icon a.cds--side-nav__link{padding-left:3.5rem}::ng-deep .cds--side-nav__submenu-title{padding-right:1.5rem}::ng-deep .cds--side-nav__items{display:flex!important;flex-direction:column!important;overflow:visible!important}::ng-deep .cds--side-nav__navigation{top:3rem;height:calc(100% - 3rem)!important;overflow-x:hidden!important;overflow-y:auto!important}::ng-deep .cds--side-nav__navigation:not(.cds--side-nav--expanded){width:0}.loading-container{display:flex;width:100%;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: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MenuItemTextComponent, selector: "valtimo-menu-item-text", inputs: ["menuItem", "accent", "showOverFlowMenu"], outputs: ["overflowMenuClosed", "openInNewTab"] }, { kind: "component", type: i2$3.SideNav, selector: "cds-sidenav, ibm-sidenav", inputs: ["ariaLabel", "expanded", "hidden", "rail", "allowExpansion", "navigationItems", "useRouter"] }, { kind: "component", type: i2$3.SideNavItem, selector: "cds-sidenav-item, ibm-sidenav-item", inputs: ["href", "useRouter", "active", "route", "isSubMenu", "routeExtras", "title"], outputs: ["navigation", "selected"] }, { kind: "component", type: i2$3.SideNavMenu, selector: "cds-sidenav-menu, ibm-sidenav-menu", inputs: ["useRouter", "title", "expanded", "hasActiveChild", "menuItems"] }, { kind: "directive", type: CtrlClickDirective, selector: "[ctrl-click]", outputs: ["ctrl-click"] }, { kind: "component", type: i2$3.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }, { kind: "pipe", type: MenuItemTranslationPipe, name: "menuItemTranslate" }, { kind: "pipe", type: CaseCountPipe, name: "caseCount" }] }); }
|
|
5233
5290
|
}
|
|
@@ -5275,6 +5332,7 @@ class PageTitleComponent {
|
|
|
5275
5332
|
this.customPageTitleSet$ = this.pageTitleService.customPageTitleSet$;
|
|
5276
5333
|
this.translatedTitle$ = new BehaviorSubject('');
|
|
5277
5334
|
this.smallTitle$ = this.pageHeaderService.smallTitle$;
|
|
5335
|
+
this.titleAsBreadcrumb$ = this.pageHeaderService.titleAsBreadcrumb$;
|
|
5278
5336
|
this._appTitleAsSuffix$ = this.configService.getFeatureToggleObservable('applicationTitleAsSuffix');
|
|
5279
5337
|
this._subscriptions = new Subscription();
|
|
5280
5338
|
this._hidePageTitle$ = this.router.events.pipe(startWith(this.router), switchMap(() => this.activatedRoute.firstChild.data), map(data => !!data?.hidePageTitle), tap(hidden => this.pageTitleService.setPageTitleHidden(hidden)));
|
|
@@ -5283,6 +5341,7 @@ class PageTitleComponent {
|
|
|
5283
5341
|
this.openRouterTranslateSubscription();
|
|
5284
5342
|
this.openHidePageTitleSubscription();
|
|
5285
5343
|
this.openCompactModeSubscription();
|
|
5344
|
+
this.openCurrentTitleSubscription();
|
|
5286
5345
|
}
|
|
5287
5346
|
ngAfterViewInit() {
|
|
5288
5347
|
this.pageSubtitleService.setTitleViewContainerRef(this._subtitleVcr);
|
|
@@ -5334,12 +5393,27 @@ class PageTitleComponent {
|
|
|
5334
5393
|
this.isCompact = compactMode;
|
|
5335
5394
|
}));
|
|
5336
5395
|
}
|
|
5396
|
+
openCurrentTitleSubscription() {
|
|
5397
|
+
this._subscriptions.add(combineLatest([
|
|
5398
|
+
this.translatedTitle$,
|
|
5399
|
+
this.hasCustomPageTitle$,
|
|
5400
|
+
this.customPageTitle$,
|
|
5401
|
+
this.customPageTitleSet$,
|
|
5402
|
+
]).subscribe(([translatedTitle, hasCustomPageTitle, customPageTitle, customPageTitleSet]) => {
|
|
5403
|
+
const currentTitle = hasCustomPageTitle
|
|
5404
|
+
? customPageTitleSet
|
|
5405
|
+
? customPageTitle
|
|
5406
|
+
: ''
|
|
5407
|
+
: translatedTitle;
|
|
5408
|
+
this.pageTitleService.setCurrentTitle(currentTitle || '');
|
|
5409
|
+
}));
|
|
5410
|
+
}
|
|
5337
5411
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: PageTitleComponent, deps: [{ token: i1$3.Router }, { token: i1$3.ActivatedRoute }, { token: i6.Title }, { token: i1.TranslateService }, { token: i4.NGXLogger }, { token: i1$2.ConfigService }, { token: PageTitleService }, { token: PageHeaderService }, { token: PageSubtitleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5338
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: PageTitleComponent, isStandalone: false, selector: "valtimo-page-title", host: { properties: { "class.valtimo-page-title--compact": "this.isCompact" } }, viewQueries: [{ propertyName: "_subtitleVcr", first: true, predicate: ["subtitleVcr"], descendants: true, read: ViewContainerRef, static: true }], 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\n class=\"page-title-container\"\n [ngClass]=\"{\n 'page-title-container--no-margin': hidePageTitle || isCompact,\n 'page-title-container--compact': isCompact,\n }\"\n>\n <ng-container\n *ngIf=\"\n hidePageTitle === false && {\n title: translatedTitle$ | async,\n hasCustomPageTitle: hasCustomPageTitle$ | async,\n customPageTitle: customPageTitle$ | async,\n customPageTitleSet: customPageTitleSet$ | async,\n } as obs\n \"\n >\n <div\n class=\"skeleton-container\"\n *ngIf=\"obs.hasCustomPageTitle && !obs.customPageTitleSet\"\n [ngClass]=\"{'skeleton-container--compact': isCompact}\"\n >\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n\n <ng-container *ngIf=\"obs.hasCustomPageTitle ? obs.customPageTitleSet : obs.title !== ''\">\n @if (
|
|
5412
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: PageTitleComponent, isStandalone: false, selector: "valtimo-page-title", host: { properties: { "class.valtimo-page-title--compact": "this.isCompact" } }, viewQueries: [{ propertyName: "_subtitleVcr", first: true, predicate: ["subtitleVcr"], descendants: true, read: ViewContainerRef, static: true }], 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\n class=\"page-title-container\"\n [ngClass]=\"{\n 'page-title-container--no-margin': hidePageTitle || isCompact,\n 'page-title-container--compact': isCompact,\n }\"\n>\n <ng-container\n *ngIf=\"\n hidePageTitle === false && {\n title: translatedTitle$ | async,\n hasCustomPageTitle: hasCustomPageTitle$ | async,\n customPageTitle: customPageTitle$ | async,\n customPageTitleSet: customPageTitleSet$ | async,\n } as obs\n \"\n >\n <div\n class=\"skeleton-container\"\n *ngIf=\"obs.hasCustomPageTitle && !obs.customPageTitleSet\"\n [ngClass]=\"{'skeleton-container--compact': isCompact}\"\n >\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n\n <ng-container *ngIf=\"obs.hasCustomPageTitle ? obs.customPageTitleSet : obs.title !== ''\">\n @if (isCompact) {\n <span\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"cds--breadcrumb compact-page-title\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </span>\n } @else if ((titleAsBreadcrumb$ | async) === false) {\n <h2\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"page-title\"\n [ngClass]=\"{'page-title--small-title': smallTitle$ | async}\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </h2>\n }\n </ng-container>\n </ng-container>\n\n <ng-container #subtitleVcr></ng-container>\n</div>\n", styles: [".page-title-container{display:flex;flex-direction:row;align-items:flex-end}.page-title-container--no-margin{margin-bottom:0}.page-title-container--compact{align-items:center}.page-title-container .page-title{flex-shrink:0;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-title-container .page-title--small-title{font-size:var(--cds-body-compact-01-font-size, .875rem);font-weight:var(--cds-body-compact-01-font-weight, 400);line-height:var(--cds-body-compact-01-line-height, 1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing, .16px)}.page-title-container .compact-page-title{margin-left:8px;flex-shrink:0}.page-title-container .skeleton-container .cds--skeleton__placeholder{width:200px;height:40px}.page-title-container .skeleton-container--compact{width:60px;height:18px;overflow:hidden;margin-left:8px}.valtimo-page-title--compact{width:100%}\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: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$3.SkeletonPlaceholder, selector: "cds-skeleton-placeholder, ibm-skeleton-placeholder" }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
5339
5413
|
}
|
|
5340
5414
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: PageTitleComponent, decorators: [{
|
|
5341
5415
|
type: Component,
|
|
5342
|
-
args: [{ selector: 'valtimo-page-title', encapsulation: ViewEncapsulation.None, standalone: false, 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\n class=\"page-title-container\"\n [ngClass]=\"{\n 'page-title-container--no-margin': hidePageTitle || isCompact,\n 'page-title-container--compact': isCompact,\n }\"\n>\n <ng-container\n *ngIf=\"\n hidePageTitle === false && {\n title: translatedTitle$ | async,\n hasCustomPageTitle: hasCustomPageTitle$ | async,\n customPageTitle: customPageTitle$ | async,\n customPageTitleSet: customPageTitleSet$ | async,\n } as obs\n \"\n >\n <div\n class=\"skeleton-container\"\n *ngIf=\"obs.hasCustomPageTitle && !obs.customPageTitleSet\"\n [ngClass]=\"{'skeleton-container--compact': isCompact}\"\n >\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n\n <ng-container *ngIf=\"obs.hasCustomPageTitle ? obs.customPageTitleSet : obs.title !== ''\">\n @if (
|
|
5416
|
+
args: [{ selector: 'valtimo-page-title', encapsulation: ViewEncapsulation.None, standalone: false, 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\n class=\"page-title-container\"\n [ngClass]=\"{\n 'page-title-container--no-margin': hidePageTitle || isCompact,\n 'page-title-container--compact': isCompact,\n }\"\n>\n <ng-container\n *ngIf=\"\n hidePageTitle === false && {\n title: translatedTitle$ | async,\n hasCustomPageTitle: hasCustomPageTitle$ | async,\n customPageTitle: customPageTitle$ | async,\n customPageTitleSet: customPageTitleSet$ | async,\n } as obs\n \"\n >\n <div\n class=\"skeleton-container\"\n *ngIf=\"obs.hasCustomPageTitle && !obs.customPageTitleSet\"\n [ngClass]=\"{'skeleton-container--compact': isCompact}\"\n >\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n\n <ng-container *ngIf=\"obs.hasCustomPageTitle ? obs.customPageTitleSet : obs.title !== ''\">\n @if (isCompact) {\n <span\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"cds--breadcrumb compact-page-title\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </span>\n } @else if ((titleAsBreadcrumb$ | async) === false) {\n <h2\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"page-title\"\n [ngClass]=\"{'page-title--small-title': smallTitle$ | async}\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </h2>\n }\n </ng-container>\n </ng-container>\n\n <ng-container #subtitleVcr></ng-container>\n</div>\n", styles: [".page-title-container{display:flex;flex-direction:row;align-items:flex-end}.page-title-container--no-margin{margin-bottom:0}.page-title-container--compact{align-items:center}.page-title-container .page-title{flex-shrink:0;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-title-container .page-title--small-title{font-size:var(--cds-body-compact-01-font-size, .875rem);font-weight:var(--cds-body-compact-01-font-weight, 400);line-height:var(--cds-body-compact-01-line-height, 1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing, .16px)}.page-title-container .compact-page-title{margin-left:8px;flex-shrink:0}.page-title-container .skeleton-container .cds--skeleton__placeholder{width:200px;height:40px}.page-title-container .skeleton-container--compact{width:60px;height:18px;overflow:hidden;margin-left:8px}.valtimo-page-title--compact{width:100%}\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"] }]
|
|
5343
5417
|
}], ctorParameters: () => [{ type: i1$3.Router }, { type: i1$3.ActivatedRoute }, { type: i6.Title }, { type: i1.TranslateService }, { type: i4.NGXLogger }, { type: i1$2.ConfigService }, { type: PageTitleService }, { type: PageHeaderService }, { type: PageSubtitleService }], propDecorators: { isCompact: [{
|
|
5344
5418
|
type: HostBinding,
|
|
5345
5419
|
args: ['class.valtimo-page-title--compact']
|
|
@@ -7339,13 +7413,24 @@ class BreadcrumbNavigationComponent {
|
|
|
7339
7413
|
this.pageHeaderService = pageHeaderService;
|
|
7340
7414
|
this.pageTitleService = pageTitleService;
|
|
7341
7415
|
this.compactMode$ = this.pageHeaderService.compactMode$;
|
|
7416
|
+
this.titleAsBreadcrumb$ = this.pageHeaderService.titleAsBreadcrumb$;
|
|
7417
|
+
/** True when the page title is rendered as the final breadcrumb item (non-compact only). */
|
|
7418
|
+
this.titleIsFinalBreadcrumb$ = combineLatest([
|
|
7419
|
+
this.titleAsBreadcrumb$,
|
|
7420
|
+
this.compactMode$,
|
|
7421
|
+
this.pageTitleService.pageTitleHidden$,
|
|
7422
|
+
this.pageTitleService.currentTitle$,
|
|
7423
|
+
]).pipe(map(([titleAsBreadcrumb, compactMode, pageTitleHidden, currentTitle]) => titleAsBreadcrumb && !compactMode && !pageTitleHidden && !!currentTitle));
|
|
7342
7424
|
this.breadcrumbItems$ = combineLatest([
|
|
7343
7425
|
this.breadcrumbService.breadcrumbItems$,
|
|
7344
7426
|
this.compactMode$,
|
|
7345
7427
|
this.pageTitleService.pageTitleHidden$,
|
|
7346
|
-
|
|
7428
|
+
this.titleIsFinalBreadcrumb$,
|
|
7429
|
+
this.pageTitleService.currentTitle$,
|
|
7430
|
+
]).pipe(map(([breadCrumbItems, compactMode, pageTitleHidden, titleIsFinalBreadcrumb, currentTitle]) => [
|
|
7347
7431
|
...(compactMode && !pageTitleHidden ? [{ content: '' }] : []),
|
|
7348
7432
|
...breadCrumbItems,
|
|
7433
|
+
...(titleIsFinalBreadcrumb ? [{ content: currentTitle }] : []),
|
|
7349
7434
|
]));
|
|
7350
7435
|
this._subscriptions = new Subscription();
|
|
7351
7436
|
}
|
|
@@ -7358,11 +7443,11 @@ class BreadcrumbNavigationComponent {
|
|
|
7358
7443
|
this._subscriptions.unsubscribe();
|
|
7359
7444
|
}
|
|
7360
7445
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: BreadcrumbNavigationComponent, deps: [{ token: BreadcrumbService }, { token: PageHeaderService }, { token: PageTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7361
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: BreadcrumbNavigationComponent, isStandalone: false, selector: "valtimo-breadcrumb-navigation", host: { properties: { "class.valtimo-breadcrumb-navigation--compact": "this.isCompact" } }, 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<ng-container *ngIf=\"breadcrumbItems$ | async as breadcrumbItems\">\n <div\n class=\"breadcrumbs-container\"\n *ngIf=\"breadcrumbItems.length > 0\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n >\n <cds-breadcrumb
|
|
7446
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: BreadcrumbNavigationComponent, isStandalone: false, selector: "valtimo-breadcrumb-navigation", host: { properties: { "class.valtimo-breadcrumb-navigation--compact": "this.isCompact" } }, 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<ng-container *ngIf=\"breadcrumbItems$ | async as breadcrumbItems\">\n <div\n class=\"breadcrumbs-container\"\n *ngIf=\"breadcrumbItems.length > 0\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n >\n <cds-breadcrumb\n [items]=\"breadcrumbItems\"\n [noTrailingSlash]=\"(titleIsFinalBreadcrumb$ | async) === true\"\n ></cds-breadcrumb>\n </div>\n</ng-container>\n", styles: [".breadcrumbs-container{margin-bottom:8px;display:flex;width:max-content}.breadcrumbs-container.--compact{margin-bottom:0}.valtimo-breadcrumb-navigation--compact{flex-shrink:0}\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: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$3.Breadcrumb, selector: "cds-breadcrumb, ibm-breadcrumb", inputs: ["items", "noTrailingSlash", "ariaLabel", "skeleton", "threshold", "autoAlign", "description"], outputs: ["navigation"] }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
7362
7447
|
}
|
|
7363
7448
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: BreadcrumbNavigationComponent, decorators: [{
|
|
7364
7449
|
type: Component,
|
|
7365
|
-
args: [{ selector: 'valtimo-breadcrumb-navigation', encapsulation: ViewEncapsulation.None, standalone: false, 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<ng-container *ngIf=\"breadcrumbItems$ | async as breadcrumbItems\">\n <div\n class=\"breadcrumbs-container\"\n *ngIf=\"breadcrumbItems.length > 0\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n >\n <cds-breadcrumb
|
|
7450
|
+
args: [{ selector: 'valtimo-breadcrumb-navigation', encapsulation: ViewEncapsulation.None, standalone: false, 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<ng-container *ngIf=\"breadcrumbItems$ | async as breadcrumbItems\">\n <div\n class=\"breadcrumbs-container\"\n *ngIf=\"breadcrumbItems.length > 0\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n >\n <cds-breadcrumb\n [items]=\"breadcrumbItems\"\n [noTrailingSlash]=\"(titleIsFinalBreadcrumb$ | async) === true\"\n ></cds-breadcrumb>\n </div>\n</ng-container>\n", styles: [".breadcrumbs-container{margin-bottom:8px;display:flex;width:max-content}.breadcrumbs-container.--compact{margin-bottom:0}.valtimo-breadcrumb-navigation--compact{flex-shrink:0}\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"] }]
|
|
7366
7451
|
}], ctorParameters: () => [{ type: BreadcrumbService }, { type: PageHeaderService }, { type: PageTitleService }], propDecorators: { isCompact: [{
|
|
7367
7452
|
type: HostBinding,
|
|
7368
7453
|
args: ['class.valtimo-breadcrumb-navigation--compact']
|
|
@@ -7606,6 +7691,7 @@ class PageHeaderComponent {
|
|
|
7606
7691
|
this.showPageHeader$ = this.userInterfaceService.showPageHeader$;
|
|
7607
7692
|
this.compactMode$ = this.pageHeaderService.compactMode$;
|
|
7608
7693
|
this.smallTitle$ = this.pageHeaderService.smallTitle$;
|
|
7694
|
+
this.titleAsBreadcrumb$ = this.pageHeaderService.titleAsBreadcrumb$;
|
|
7609
7695
|
this.pageActionsHasContent$ = this.pageHeaderService.pageActionsHasContent$;
|
|
7610
7696
|
this.pageTitleHidden$ = this.pageTitleService.pageTitleHidden$;
|
|
7611
7697
|
}
|
|
@@ -7626,11 +7712,11 @@ class PageHeaderComponent {
|
|
|
7626
7712
|
this._pageHeadResizeObserver.observe(this._pageHead.nativeElement);
|
|
7627
7713
|
}
|
|
7628
7714
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: PageHeaderComponent, deps: [{ token: UserInterfaceService }, { token: PageHeaderService }, { token: PageTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7629
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: PageHeaderComponent, isStandalone: false, selector: "valtimo-page-header", viewQueries: [{ propertyName: "_contentrVcr", first: true, predicate: ["contentVcr"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_pageHead", first: true, predicate: ["pageHead"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-
|
|
7715
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: PageHeaderComponent, isStandalone: false, selector: "valtimo-page-header", viewQueries: [{ propertyName: "_contentrVcr", first: true, predicate: ["contentVcr"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_pageHead", first: true, predicate: ["pageHead"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n #pageHead\n class=\"page-head\"\n [ngClass]=\"{\n 'page-head--hidden': (showPageHeader$ | async) === false,\n 'page-head--compact': compactMode$ | async,\n 'page-head--no-content': (compactMode$ | async) && (pageActionsHasContent$ | async) === false,\n 'page-head--no-margin': pageTitleHidden$ | async,\n 'page-head--small-title': smallTitle$ | async,\n 'page-head--title-as-breadcrumb': (titleAsBreadcrumb$ | async) && !(compactMode$ | async),\n }\"\n>\n <ng-container #contentVcr></ng-container>\n\n <valtimo-page-subtitle></valtimo-page-subtitle>\n\n <valtimo-page-actions></valtimo-page-actions>\n</div>\n\n<ng-container renderPageHeader>\n <ng-template>\n <div\n class=\"page-header-container\"\n [ngClass]=\"{\n 'page-header-container--compact': compactMode$ | async,\n 'page-header-container--small-title': smallTitle$ | async,\n 'page-header-container--title-as-breadcrumb':\n (titleAsBreadcrumb$ | async) && !(compactMode$ | async),\n }\"\n >\n <valtimo-breadcrumb-navigation></valtimo-breadcrumb-navigation>\n\n <valtimo-page-title></valtimo-page-title>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".page-head{display:flex;width:100%;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.page-head--hidden{display:none}.page-head--compact{margin-bottom:16px}.page-head--small-title{align-items:flex-start;margin-bottom:0}.page-head--title-as-breadcrumb{flex-direction:column;align-items:stretch;justify-content:flex-start;margin-bottom:16px}.page-head--title-as-breadcrumb ::ng-deep .page-actions--visible{padding-left:0}.page-head--no-content,.page-head--no-margin{margin-bottom:0}.page-header-container{width:min-content}.page-header-container--compact{display:flex;width:100%;justify-content:space-between;align-items:center;padding-inline:16px}.page-header-container--small-title{display:flex;flex-direction:row;gap:8px;width:min-content}.page-header-container--title-as-breadcrumb{width:max-content}\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: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PageTitleComponent, selector: "valtimo-page-title" }, { kind: "component", type: BreadcrumbNavigationComponent, selector: "valtimo-breadcrumb-navigation" }, { kind: "directive", type: RenderPageHeaderDirective, selector: "[renderPageHeader]" }, { kind: "component", type: PageActionsComponent, selector: "valtimo-page-actions" }, { kind: "component", type: PageSubtitleComponent, selector: "valtimo-page-subtitle" }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }] }); }
|
|
7630
7716
|
}
|
|
7631
7717
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: PageHeaderComponent, decorators: [{
|
|
7632
7718
|
type: Component,
|
|
7633
|
-
args: [{ selector: 'valtimo-page-header', standalone: false, template: "<!--\n ~ Copyright 2015-
|
|
7719
|
+
args: [{ selector: 'valtimo-page-header', standalone: false, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n #pageHead\n class=\"page-head\"\n [ngClass]=\"{\n 'page-head--hidden': (showPageHeader$ | async) === false,\n 'page-head--compact': compactMode$ | async,\n 'page-head--no-content': (compactMode$ | async) && (pageActionsHasContent$ | async) === false,\n 'page-head--no-margin': pageTitleHidden$ | async,\n 'page-head--small-title': smallTitle$ | async,\n 'page-head--title-as-breadcrumb': (titleAsBreadcrumb$ | async) && !(compactMode$ | async),\n }\"\n>\n <ng-container #contentVcr></ng-container>\n\n <valtimo-page-subtitle></valtimo-page-subtitle>\n\n <valtimo-page-actions></valtimo-page-actions>\n</div>\n\n<ng-container renderPageHeader>\n <ng-template>\n <div\n class=\"page-header-container\"\n [ngClass]=\"{\n 'page-header-container--compact': compactMode$ | async,\n 'page-header-container--small-title': smallTitle$ | async,\n 'page-header-container--title-as-breadcrumb':\n (titleAsBreadcrumb$ | async) && !(compactMode$ | async),\n }\"\n >\n <valtimo-breadcrumb-navigation></valtimo-breadcrumb-navigation>\n\n <valtimo-page-title></valtimo-page-title>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".page-head{display:flex;width:100%;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.page-head--hidden{display:none}.page-head--compact{margin-bottom:16px}.page-head--small-title{align-items:flex-start;margin-bottom:0}.page-head--title-as-breadcrumb{flex-direction:column;align-items:stretch;justify-content:flex-start;margin-bottom:16px}.page-head--title-as-breadcrumb ::ng-deep .page-actions--visible{padding-left:0}.page-head--no-content,.page-head--no-margin{margin-bottom:0}.page-header-container{width:min-content}.page-header-container--compact{display:flex;width:100%;justify-content:space-between;align-items:center;padding-inline:16px}.page-header-container--small-title{display:flex;flex-direction:row;gap:8px;width:min-content}.page-header-container--title-as-breadcrumb{width:max-content}\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"] }]
|
|
7634
7720
|
}], ctorParameters: () => [{ type: UserInterfaceService }, { type: PageHeaderService }, { type: PageTitleService }], propDecorators: { _contentrVcr: [{
|
|
7635
7721
|
type: ViewChild,
|
|
7636
7722
|
args: ['contentVcr', { static: true, read: ViewContainerRef }]
|
|
@@ -9000,6 +9086,9 @@ class FormioComponent {
|
|
|
9000
9086
|
set readOnly(readOnlyValue) {
|
|
9001
9087
|
this.readOnly$.next(readOnlyValue);
|
|
9002
9088
|
}
|
|
9089
|
+
set errors(errorsValue) {
|
|
9090
|
+
this.errors$.next(errorsValue ?? []);
|
|
9091
|
+
}
|
|
9003
9092
|
handleBeforeUnload() {
|
|
9004
9093
|
this.localStorageService.clearTokenFromLocalStorage();
|
|
9005
9094
|
}
|
|
@@ -9168,7 +9257,7 @@ class FormioComponent {
|
|
|
9168
9257
|
this._overrideOptions$.next(config.formioOptions);
|
|
9169
9258
|
}
|
|
9170
9259
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormioComponent, deps: [{ token: i6$1.UserProviderService }, { token: i4.NGXLogger }, { token: FormIoStateService }, { token: i1$3.ActivatedRoute }, { token: i1.TranslateService }, { token: FormIoLocalStorageService }, { token: ValtimoModalService }, { token: i1$2.ConfigService }, { token: FormIoTagsService }, { token: i0.Injector }, { token: FormioTranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9171
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: FormioComponent, isStandalone: false, selector: "valtimo-form-io", inputs: { options: "options", submission: "submission", form: "form", readOnly: "readOnly", formRefresh$: "formRefresh$" }, outputs: { submit: "submit", change: "change", event: "event" }, host: { listeners: { "window:beforeunload": "handleBeforeUnload($event)" } }, providers: [FormIoLocalStorageService], usesOnChanges: true, 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\n class=\"formio-carbon\"\n cdsLayer=\"1\"\n *ngIf=\"{\n currentLanguage: currentLanguage$ | async,\n formioOptions: formioOptions$ | async,\n submission: submission$ | async,\n readOnly: readOnly$ | async,\n form: form$ | async,\n errors: errors$ | async,\n tokenSetInLocalStorage: tokenSetInLocalStorage$ | async,\n } as obs\"\n>\n <div *ngIf=\"obs.errors.length > 0\" class=\"alert alert-danger pt-5 pb-5 mb-2\">\n <ol>\n <li *ngFor=\"let error of obs.errors\">\n {{ error }}\n </li>\n </ol>\n </div>\n\n <formio\n *ngIf=\"obs.formioOptions && obs.form && obs.tokenSetInLocalStorage\"\n [form]=\"obs.form\"\n [language]=\"languageEventEmitter\"\n [options]=\"obs.formioOptions\"\n [readOnly]=\"obs.readOnly\"\n [refresh]=\"refreshForm\"\n [submission]=\"obs.submission\"\n (change)=\"onChange($event)\"\n (nextPage)=\"nextPage()\"\n (prevPage)=\"prevPage()\"\n (ready)=\"formReady($event)\"\n (submit)=\"onSubmit($event)\"\n (customEvent)=\"onCustomEvent($event)\"\n ></formio>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.FormioComponent, selector: "formio" }, { kind: "directive", type: i2$3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }] }); }
|
|
9260
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: FormioComponent, isStandalone: false, selector: "valtimo-form-io", inputs: { options: "options", submission: "submission", form: "form", readOnly: "readOnly", errors: "errors", formRefresh$: "formRefresh$" }, outputs: { submit: "submit", change: "change", event: "event" }, host: { listeners: { "window:beforeunload": "handleBeforeUnload($event)" } }, providers: [FormIoLocalStorageService], usesOnChanges: true, 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\n class=\"formio-carbon\"\n cdsLayer=\"1\"\n *ngIf=\"{\n currentLanguage: currentLanguage$ | async,\n formioOptions: formioOptions$ | async,\n submission: submission$ | async,\n readOnly: readOnly$ | async,\n form: form$ | async,\n errors: errors$ | async,\n tokenSetInLocalStorage: tokenSetInLocalStorage$ | async,\n } as obs\"\n>\n <div *ngIf=\"obs.errors.length > 0\" class=\"alert alert-danger pt-5 pb-5 mb-2\">\n <ol>\n <li *ngFor=\"let error of obs.errors\">\n {{ error }}\n </li>\n </ol>\n </div>\n\n <formio\n *ngIf=\"obs.formioOptions && obs.form && obs.tokenSetInLocalStorage\"\n [form]=\"obs.form\"\n [language]=\"languageEventEmitter\"\n [options]=\"obs.formioOptions\"\n [readOnly]=\"obs.readOnly\"\n [refresh]=\"refreshForm\"\n [submission]=\"obs.submission\"\n (change)=\"onChange($event)\"\n (nextPage)=\"nextPage()\"\n (prevPage)=\"prevPage()\"\n (ready)=\"formReady($event)\"\n (submit)=\"onSubmit($event)\"\n (customEvent)=\"onCustomEvent($event)\"\n ></formio>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.FormioComponent, selector: "formio" }, { kind: "directive", type: i2$3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }] }); }
|
|
9172
9261
|
}
|
|
9173
9262
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormioComponent, decorators: [{
|
|
9174
9263
|
type: Component,
|
|
@@ -9181,6 +9270,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
9181
9270
|
type: Input
|
|
9182
9271
|
}], readOnly: [{
|
|
9183
9272
|
type: Input
|
|
9273
|
+
}], errors: [{
|
|
9274
|
+
type: Input
|
|
9184
9275
|
}], formRefresh$: [{
|
|
9185
9276
|
type: Input
|
|
9186
9277
|
}], submit: [{
|
|
@@ -10427,6 +10518,9 @@ class ValuePathSelectorComponent {
|
|
|
10427
10518
|
set prefixes(value) {
|
|
10428
10519
|
this._prefixes$.next(value ?? []);
|
|
10429
10520
|
}
|
|
10521
|
+
set excludePrefixes(value) {
|
|
10522
|
+
this._excludePrefixes$.next(value ?? []);
|
|
10523
|
+
}
|
|
10430
10524
|
set defaultValue(value) {
|
|
10431
10525
|
if (!value)
|
|
10432
10526
|
return;
|
|
@@ -10485,6 +10579,7 @@ class ValuePathSelectorComponent {
|
|
|
10485
10579
|
this._buildingBlockDefinitionKey$,
|
|
10486
10580
|
]).pipe(map(([caseDefinitionKey, buildingBlockKey]) => !!caseDefinitionKey || !!buildingBlockKey));
|
|
10487
10581
|
this._prefixes$ = new BehaviorSubject([]);
|
|
10582
|
+
this._excludePrefixes$ = new BehaviorSubject([]);
|
|
10488
10583
|
this._inputMode$ = new BehaviorSubject(ValuePathSelectorInputMode.DROPDOWN);
|
|
10489
10584
|
this.inputModeIsDropdown$ = this._inputMode$.pipe(map(mode => mode === ValuePathSelectorInputMode.DROPDOWN));
|
|
10490
10585
|
this.loadingValuePathItems$ = new BehaviorSubject(true);
|
|
@@ -10495,16 +10590,17 @@ class ValuePathSelectorComponent {
|
|
|
10495
10590
|
: combineLatest([
|
|
10496
10591
|
this._caseDefinitionKeySubject$,
|
|
10497
10592
|
this._prefixes$,
|
|
10593
|
+
this._excludePrefixes$,
|
|
10498
10594
|
this._type$,
|
|
10499
10595
|
this._caseDefinitionVersionTag$,
|
|
10500
10596
|
this._buildingBlockDefinitionKey$,
|
|
10501
10597
|
this._buildingBlockDefinitionVersionTag$,
|
|
10502
10598
|
this.showToggle$,
|
|
10503
|
-
]).pipe(filter$1(([, , , , , , showToggle]) => showToggle), switchMap(([caseDefinitionKey, prefixes, type, caseDefinitionVersionTag, buildingBlockKey, buildingBlockVersionTag,]) => {
|
|
10599
|
+
]).pipe(filter$1(([, , , , , , , showToggle]) => showToggle), switchMap(([caseDefinitionKey, prefixes, excludePrefixes, type, caseDefinitionVersionTag, buildingBlockKey, buildingBlockVersionTag,]) => {
|
|
10504
10600
|
const context = this.buildBlueprintContext(caseDefinitionKey, caseDefinitionVersionTag, buildingBlockKey, buildingBlockVersionTag);
|
|
10505
10601
|
if (!context)
|
|
10506
10602
|
return of([]);
|
|
10507
|
-
return this.valuePathSelectorService.getResolvableKeysForContext(prefixes, context, type);
|
|
10603
|
+
return this.valuePathSelectorService.getResolvableKeysForContext(prefixes, excludePrefixes, context, type);
|
|
10508
10604
|
}))), map((results) => results
|
|
10509
10605
|
.map((result) => ({
|
|
10510
10606
|
...result,
|
|
@@ -10637,7 +10733,7 @@ class ValuePathSelectorComponent {
|
|
|
10637
10733
|
return null;
|
|
10638
10734
|
}
|
|
10639
10735
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ValuePathSelectorComponent, deps: [{ token: ValuePathSelectorService }, { token: i2.FormBuilder }, { token: i3$1.DocumentService }, { token: i1$3.ActivatedRoute }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10640
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ValuePathSelectorComponent, isStandalone: true, selector: "valtimo-value-path-selector", inputs: { name: "name", appendInline: "appendInline", margin: "margin", marginLg: "marginLg", marginXl: "marginXl", disabled: "disabled", caseDefinitionKey: "caseDefinitionKey", caseDefinitionVersionTag: "caseDefinitionVersionTag", buildingBlockDefinitionKey: "buildingBlockDefinitionKey", buildingBlockDefinitionVersionTag: "buildingBlockDefinitionVersionTag", prefixes: "prefixes", label: "label", tooltip: "tooltip", required: "required", showCaseDefinitionSelector: "showCaseDefinitionSelector", notation: "notation", dropUp: "dropUp", defaultValue: "defaultValue", type: "type", parentItem: "parentItem", filterItems: "filterItems" }, outputs: { valueChangeEvent: "valueChangeEvent", collectionSelected: "collectionSelected" }, host: { listeners: { "focusout": "onBlur()" }, properties: { "class.value-path-selector--margin-bottom": "this._showMargin", "class.value-path-selector--margin-bottom-lg": "this._showMarginLg", "class.value-path-selector--margin-bottom-xl": "this._showMarginXl" } }, providers: [
|
|
10736
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ValuePathSelectorComponent, isStandalone: true, selector: "valtimo-value-path-selector", inputs: { name: "name", appendInline: "appendInline", margin: "margin", marginLg: "marginLg", marginXl: "marginXl", disabled: "disabled", caseDefinitionKey: "caseDefinitionKey", caseDefinitionVersionTag: "caseDefinitionVersionTag", buildingBlockDefinitionKey: "buildingBlockDefinitionKey", buildingBlockDefinitionVersionTag: "buildingBlockDefinitionVersionTag", prefixes: "prefixes", excludePrefixes: "excludePrefixes", label: "label", tooltip: "tooltip", required: "required", showCaseDefinitionSelector: "showCaseDefinitionSelector", notation: "notation", dropUp: "dropUp", defaultValue: "defaultValue", type: "type", parentItem: "parentItem", filterItems: "filterItems" }, outputs: { valueChangeEvent: "valueChangeEvent", collectionSelected: "collectionSelected" }, host: { listeners: { "focusout": "onBlur()" }, properties: { "class.value-path-selector--margin-bottom": "this._showMargin", "class.value-path-selector--margin-bottom-lg": "this._showMarginLg", "class.value-path-selector--margin-bottom-xl": "this._showMarginXl" } }, providers: [
|
|
10641
10737
|
{
|
|
10642
10738
|
provide: NG_VALUE_ACCESSOR,
|
|
10643
10739
|
multi: true,
|
|
@@ -10699,6 +10795,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
10699
10795
|
type: Input
|
|
10700
10796
|
}], prefixes: [{
|
|
10701
10797
|
type: Input
|
|
10798
|
+
}], excludePrefixes: [{
|
|
10799
|
+
type: Input
|
|
10702
10800
|
}], label: [{
|
|
10703
10801
|
type: Input
|
|
10704
10802
|
}], tooltip: [{
|
|
@@ -10770,7 +10868,7 @@ class FormioValueResolverSelectorComponent {
|
|
|
10770
10868
|
}
|
|
10771
10869
|
}
|
|
10772
10870
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormioValueResolverSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10773
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: FormioValueResolverSelectorComponent, isStandalone: true, selector: "valtimo-formio-value-resolver-selector", inputs: { disabled: "disabled", label: "label", resolverType: "resolverType", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 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@if (isIndependentContext$ | async) {\n <input\n cdsText\n type=\"text\"\n [value]=\"defaultValue$ | async\"\n [cdsLayer]=\"1\"\n (input)=\"onValueChange($any($event.target).value)\"\n />\n} @else {\n <valtimo-value-path-selector\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [caseDefinitionVersionTag]=\"caseDefinitionVersionTag$ | async\"\n [buildingBlockDefinitionKey]=\"buildingBlockDefinitionKey$ | async\"\n [buildingBlockDefinitionVersionTag]=\"buildingBlockDefinitionVersionTag$ | async\"\n [appendInline]=\"true\"\n [defaultValue]=\"defaultValue$ | async\"\n [label]=\"label\"\n [showCaseDefinitionSelector]=\"true\"\n notation=\"slashes\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC]\"\n [cdsLayer]=\"1\"\n (valueChangeEvent)=\"onValueChange($event)\"\n ></valtimo-value-path-selector>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i2$3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "directive", type: i2$3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }] }); }
|
|
10871
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: FormioValueResolverSelectorComponent, isStandalone: true, selector: "valtimo-formio-value-resolver-selector", inputs: { disabled: "disabled", label: "label", resolverType: "resolverType", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 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@if (isIndependentContext$ | async) {\n <input\n cdsText\n type=\"text\"\n [value]=\"defaultValue$ | async\"\n [cdsLayer]=\"1\"\n (input)=\"onValueChange($any($event.target).value)\"\n />\n} @else {\n <valtimo-value-path-selector\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [caseDefinitionVersionTag]=\"caseDefinitionVersionTag$ | async\"\n [buildingBlockDefinitionKey]=\"buildingBlockDefinitionKey$ | async\"\n [buildingBlockDefinitionVersionTag]=\"buildingBlockDefinitionVersionTag$ | async\"\n [appendInline]=\"true\"\n [defaultValue]=\"defaultValue$ | async\"\n [label]=\"label\"\n [showCaseDefinitionSelector]=\"true\"\n notation=\"slashes\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC]\"\n [cdsLayer]=\"1\"\n (valueChangeEvent)=\"onValueChange($event)\"\n ></valtimo-value-path-selector>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "excludePrefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i2$3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "directive", type: i2$3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }] }); }
|
|
10774
10872
|
}
|
|
10775
10873
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormioValueResolverSelectorComponent, decorators: [{
|
|
10776
10874
|
type: Component,
|
|
@@ -12825,7 +12923,7 @@ class KeyValuePathSelectorComponent {
|
|
|
12825
12923
|
this.valueChange.emit({ value: this.value, inputValue, type });
|
|
12826
12924
|
}
|
|
12827
12925
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KeyValuePathSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12828
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: KeyValuePathSelectorComponent, isStandalone: true, selector: "valtimo-key-value-path-selector", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", index: "index", value: "value", fullWidth: "fullWidth", disabled: "disabled", caseDefinitionKey: "caseDefinitionKey", prefixes: "prefixes", showCaseDefinitionSelector: "showCaseDefinitionSelector", notation: "notation", keyColumnFlex: "keyColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, 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\n class=\"v-multi-input__input key\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('key', $event.target.value)\"\n [attr.data-test-id]=\"testIds.keyInput\"\n />\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [caseDefinitionKey]=\"caseDefinitionKey\"\n [prefixes]=\"prefixes\"\n [showCaseDefinitionSelector]=\"showCaseDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.value\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('value', $event)\"\n ></valtimo-value-path-selector>\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}:host .path-selector{flex:2}\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: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i2$3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2$3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
|
|
12926
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: KeyValuePathSelectorComponent, isStandalone: true, selector: "valtimo-key-value-path-selector", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", index: "index", value: "value", fullWidth: "fullWidth", disabled: "disabled", caseDefinitionKey: "caseDefinitionKey", prefixes: "prefixes", showCaseDefinitionSelector: "showCaseDefinitionSelector", notation: "notation", keyColumnFlex: "keyColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, 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\n class=\"v-multi-input__input key\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('key', $event.target.value)\"\n [attr.data-test-id]=\"testIds.keyInput\"\n />\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [caseDefinitionKey]=\"caseDefinitionKey\"\n [prefixes]=\"prefixes\"\n [showCaseDefinitionSelector]=\"showCaseDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.value\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('value', $event)\"\n ></valtimo-value-path-selector>\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}:host .path-selector{flex:2}\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: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i2$3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2$3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "excludePrefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
|
|
12829
12927
|
}
|
|
12830
12928
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KeyValuePathSelectorComponent, decorators: [{
|
|
12831
12929
|
type: Component,
|
|
@@ -12899,7 +12997,7 @@ class ValuePathSelectorValueComponent {
|
|
|
12899
12997
|
this.valueChange.emit({ value: this.value, inputValue, type });
|
|
12900
12998
|
}
|
|
12901
12999
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ValuePathSelectorValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12902
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: ValuePathSelectorValueComponent, isStandalone: true, selector: "valtimo-value-path-selector-value", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", index: "index", value: "value", fullWidth: "fullWidth", disabled: "disabled", caseDefinitionKey: "caseDefinitionKey", prefixes: "prefixes", showCaseDefinitionSelector: "showCaseDefinitionSelector", notation: "notation", keyColumnFlex: "keyColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, 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\n class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [caseDefinitionKey]=\"caseDefinitionKey\"\n [prefixes]=\"prefixes\"\n [showCaseDefinitionSelector]=\"showCaseDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.key\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('key', $event)\"\n ></valtimo-value-path-selector>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n [attr.data-test-id]=\"testIds.valueInput\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}:host .path-selector{flex:2}\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: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i2$3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2$3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
|
|
13000
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: ValuePathSelectorValueComponent, isStandalone: true, selector: "valtimo-value-path-selector-value", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", index: "index", value: "value", fullWidth: "fullWidth", disabled: "disabled", caseDefinitionKey: "caseDefinitionKey", prefixes: "prefixes", showCaseDefinitionSelector: "showCaseDefinitionSelector", notation: "notation", keyColumnFlex: "keyColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, 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\n class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [caseDefinitionKey]=\"caseDefinitionKey\"\n [prefixes]=\"prefixes\"\n [showCaseDefinitionSelector]=\"showCaseDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.key\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('key', $event)\"\n ></valtimo-value-path-selector>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n [attr.data-test-id]=\"testIds.valueInput\"\n />\n</div>\n", styles: [":host{display:flex;flex-direction:row;align-items:flex-end}:host.--full-width{width:100%}:host .path-selector{flex:2}\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: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i2$3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2$3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "excludePrefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
|
|
12903
13001
|
}
|
|
12904
13002
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ValuePathSelectorValueComponent, decorators: [{
|
|
12905
13003
|
type: Component,
|
|
@@ -12975,7 +13073,7 @@ class ValuePathSelectorDropdownValueComponent {
|
|
|
12975
13073
|
this.valueChange.emit({ value: this.value, inputValue, type });
|
|
12976
13074
|
}
|
|
12977
13075
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ValuePathSelectorDropdownValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12978
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: ValuePathSelectorDropdownValueComponent, isStandalone: true, selector: "valtimo-value-path-selector-dropdown-value", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", dropdownColumnTitle: "dropdownColumnTitle", index: "index", value: "value", dropdownItems$: "dropdownItems$", caseDefinitionKey: "caseDefinitionKey", prefixes: "prefixes", showCaseDefinitionSelector: "showCaseDefinitionSelector", notation: "notation", dropdownWidth: "dropdownWidth", fullWidth: "fullWidth", disabled: "disabled", keyColumnFlex: "keyColumnFlex", dropdownColumnFlex: "dropdownColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, 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\n class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [caseDefinitionKey]=\"caseDefinitionKey\"\n [prefixes]=\"prefixes\"\n [showCaseDefinitionSelector]=\"showCaseDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.key\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('key', $event)\"\n ></valtimo-value-path-selector>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.minWidth.px]=\"dropdownWidth\"\n [style.flex]=\"dropdownColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && dropdownColumnTitle\">{{ dropdownColumnTitle }}</cds-label>\n\n <cds-dropdown\n (selected)=\"onInputChange('dropdown', $event.item.id)\"\n [appendInline]=\"true\"\n [attr.data-test-id]=\"testIds.dropdown\"\n >\n <cds-dropdown-list [items]=\"dropdownItems$ | async\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n [attr.data-test-id]=\"testIds.valueInput\"\n />\n</div>\n", styles: [":host{display:flex;align-items:flex-end}:host.--full-width{width:100%}:host .process-start-modal-content{padding:16px}\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: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i2$3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2$3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2$3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2$3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
|
|
13076
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: ValuePathSelectorDropdownValueComponent, isStandalone: true, selector: "valtimo-value-path-selector-dropdown-value", inputs: { keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", dropdownColumnTitle: "dropdownColumnTitle", index: "index", value: "value", dropdownItems$: "dropdownItems$", caseDefinitionKey: "caseDefinitionKey", prefixes: "prefixes", showCaseDefinitionSelector: "showCaseDefinitionSelector", notation: "notation", dropdownWidth: "dropdownWidth", fullWidth: "fullWidth", disabled: "disabled", keyColumnFlex: "keyColumnFlex", dropdownColumnFlex: "dropdownColumnFlex", valueColumnFlex: "valueColumnFlex" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.--full-width": "this.fullWidth" } }, 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\n class=\"v-multi-input__input path-selector\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"keyColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <valtimo-value-path-selector\n [caseDefinitionKey]=\"caseDefinitionKey\"\n [prefixes]=\"prefixes\"\n [showCaseDefinitionSelector]=\"showCaseDefinitionSelector\"\n [disabled]=\"disabled\"\n [defaultValue]=\"value?.key\"\n [notation]=\"notation\"\n (valueChangeEvent)=\"onInputChange('key', $event)\"\n ></valtimo-value-path-selector>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.minWidth.px]=\"dropdownWidth\"\n [style.flex]=\"dropdownColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && dropdownColumnTitle\">{{ dropdownColumnTitle }}</cds-label>\n\n <cds-dropdown\n (selected)=\"onInputChange('dropdown', $event.item.id)\"\n [appendInline]=\"true\"\n [attr.data-test-id]=\"testIds.dropdown\"\n >\n <cds-dropdown-list [items]=\"dropdownItems$ | async\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n</div>\n\n<div class=\"v-multi-input__separator\"></div>\n\n<div\n class=\"v-multi-input__input\"\n [ngClass]=\"{'--full-width': fullWidth}\"\n [style.flex]=\"valueColumnFlex\"\n>\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onInputChange('value', $event.target.value)\"\n [attr.data-test-id]=\"testIds.valueInput\"\n />\n</div>\n", styles: [":host{display:flex;align-items:flex-end}:host.--full-width{width:100%}:host .process-start-modal-content{padding:16px}\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: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i2$3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2$3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2$3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2$3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "excludePrefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
|
|
12979
13077
|
}
|
|
12980
13078
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ValuePathSelectorDropdownValueComponent, decorators: [{
|
|
12981
13079
|
type: Component,
|
|
@@ -15127,35 +15225,92 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
15127
15225
|
* limitations under the License.
|
|
15128
15226
|
*/
|
|
15129
15227
|
class FitPageDirective {
|
|
15130
|
-
constructor(elementRef, pageHeaderService, renderer, document) {
|
|
15228
|
+
constructor(elementRef, pageHeaderService, renderer, ngZone, document) {
|
|
15131
15229
|
this.elementRef = elementRef;
|
|
15132
15230
|
this.pageHeaderService = pageHeaderService;
|
|
15133
15231
|
this.renderer = renderer;
|
|
15232
|
+
this.ngZone = ngZone;
|
|
15134
15233
|
this.document = document;
|
|
15234
|
+
/**
|
|
15235
|
+
* @deprecated Kept for backwards compatibility. The height is now derived from the element's
|
|
15236
|
+
* actual top offset, which already accounts for any content above it, so this is no longer
|
|
15237
|
+
* needed. New usages should rely on `bottomMargin` instead.
|
|
15238
|
+
*/
|
|
15135
15239
|
this.spaceAdjustment = 0;
|
|
15136
15240
|
this.fitPageDisabled = false;
|
|
15137
15241
|
this.disableOverflow = false;
|
|
15242
|
+
/**
|
|
15243
|
+
* Amount of whitespace (in px) kept between the element's bottom edge and the viewport bottom.
|
|
15244
|
+
* The height is computed from the element's actual top offset, so this gap is preserved
|
|
15245
|
+
* regardless of header height, compact mode, or any content rendered above the element.
|
|
15246
|
+
*/
|
|
15247
|
+
this.bottomMargin = 24;
|
|
15138
15248
|
this._subscriptions = new Subscription();
|
|
15249
|
+
this._rafId = null;
|
|
15250
|
+
this._lastTopOffset = null;
|
|
15251
|
+
this._settleFrames = 0;
|
|
15139
15252
|
}
|
|
15140
15253
|
ngAfterViewInit() {
|
|
15141
|
-
|
|
15142
|
-
|
|
15143
|
-
|
|
15144
|
-
|
|
15145
|
-
|
|
15146
|
-
|
|
15147
|
-
|
|
15148
|
-
this.
|
|
15149
|
-
|
|
15150
|
-
|
|
15151
|
-
|
|
15152
|
-
|
|
15153
|
-
}));
|
|
15254
|
+
// Run outside Angular: the recompute only mutates styles, so it should not trigger change
|
|
15255
|
+
// detection on every header update, window resize, or animation frame.
|
|
15256
|
+
this.ngZone.runOutsideAngular(() => {
|
|
15257
|
+
this._subscriptions.add(
|
|
15258
|
+
// pageHeadHeight$/compactMode$ recompute when the header changes; the window resize
|
|
15259
|
+
// trigger recomputes when chrome above the element reflows at a different viewport size.
|
|
15260
|
+
combineLatest([
|
|
15261
|
+
this.pageHeaderService.pageHeadHeight$,
|
|
15262
|
+
this.pageHeaderService.compactMode$,
|
|
15263
|
+
fromEvent(window, 'resize').pipe(startWith$1(null)),
|
|
15264
|
+
]).subscribe(() => this.scheduleFitPageHeight()));
|
|
15265
|
+
});
|
|
15154
15266
|
}
|
|
15155
15267
|
ngOnDestroy() {
|
|
15156
15268
|
this._subscriptions.unsubscribe();
|
|
15269
|
+
this.cancelScheduledFrame();
|
|
15157
15270
|
this.removeDocumentOverflowStyle();
|
|
15158
15271
|
}
|
|
15272
|
+
/**
|
|
15273
|
+
* Measures on the next frame(s) instead of synchronously, then keeps re-measuring until the
|
|
15274
|
+
* element's top offset stops changing. Content above the element (tabs, toolbars, async
|
|
15275
|
+
* editors) may not have laid out yet when the trigger fires, so the first measurement can be
|
|
15276
|
+
* stale — previously this only corrected itself after a manual window resize.
|
|
15277
|
+
*/
|
|
15278
|
+
scheduleFitPageHeight() {
|
|
15279
|
+
this._settleFrames = 0;
|
|
15280
|
+
this._lastTopOffset = null;
|
|
15281
|
+
this.queueFrame();
|
|
15282
|
+
}
|
|
15283
|
+
queueFrame() {
|
|
15284
|
+
this.cancelScheduledFrame();
|
|
15285
|
+
this._rafId = requestAnimationFrame(() => {
|
|
15286
|
+
this._rafId = null;
|
|
15287
|
+
const settled = this.applyFitPageHeight();
|
|
15288
|
+
if (!settled && this._settleFrames < 10) {
|
|
15289
|
+
this._settleFrames++;
|
|
15290
|
+
this.queueFrame();
|
|
15291
|
+
}
|
|
15292
|
+
});
|
|
15293
|
+
}
|
|
15294
|
+
cancelScheduledFrame() {
|
|
15295
|
+
if (this._rafId !== null) {
|
|
15296
|
+
cancelAnimationFrame(this._rafId);
|
|
15297
|
+
this._rafId = null;
|
|
15298
|
+
}
|
|
15299
|
+
}
|
|
15300
|
+
/** Applies the height and returns whether the top offset has stabilized since the last frame. */
|
|
15301
|
+
applyFitPageHeight() {
|
|
15302
|
+
const nativeElement = this.elementRef?.nativeElement;
|
|
15303
|
+
if (!nativeElement || this.fitPageDisabled) {
|
|
15304
|
+
this.removeDocumentOverflowStyle();
|
|
15305
|
+
return true;
|
|
15306
|
+
}
|
|
15307
|
+
this.addDocumentOverflowStyle();
|
|
15308
|
+
const topOffset = Math.round(nativeElement.getBoundingClientRect().top);
|
|
15309
|
+
const settled = topOffset === this._lastTopOffset;
|
|
15310
|
+
this._lastTopOffset = topOffset;
|
|
15311
|
+
this.renderer.setStyle(nativeElement, 'height', `calc(100vh - ${topOffset + this.spaceAdjustment + this.bottomMargin}px)`);
|
|
15312
|
+
return settled;
|
|
15313
|
+
}
|
|
15159
15314
|
addDocumentOverflowStyle() {
|
|
15160
15315
|
if (!this.disableOverflow)
|
|
15161
15316
|
return;
|
|
@@ -15166,13 +15321,13 @@ class FitPageDirective {
|
|
|
15166
15321
|
return;
|
|
15167
15322
|
this.renderer.removeStyle(this.document.documentElement, 'overflow');
|
|
15168
15323
|
}
|
|
15169
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FitPageDirective, deps: [{ token: i0.ElementRef }, { token: PageHeaderService }, { token: i0.Renderer2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15170
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: FitPageDirective, isStandalone: true, selector: "[fitPage]", inputs: { spaceAdjustment: "spaceAdjustment", fitPageDisabled: "fitPageDisabled", disableOverflow: "disableOverflow" }, ngImport: i0 }); }
|
|
15324
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FitPageDirective, deps: [{ token: i0.ElementRef }, { token: PageHeaderService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15325
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: FitPageDirective, isStandalone: true, selector: "[fitPage]", inputs: { spaceAdjustment: "spaceAdjustment", fitPageDisabled: "fitPageDisabled", disableOverflow: "disableOverflow", bottomMargin: "bottomMargin" }, ngImport: i0 }); }
|
|
15171
15326
|
}
|
|
15172
15327
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FitPageDirective, decorators: [{
|
|
15173
15328
|
type: Directive,
|
|
15174
15329
|
args: [{ selector: '[fitPage]', standalone: true }]
|
|
15175
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: PageHeaderService }, { type: i0.Renderer2 }, { type: Document, decorators: [{
|
|
15330
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: PageHeaderService }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: Document, decorators: [{
|
|
15176
15331
|
type: Inject,
|
|
15177
15332
|
args: [DOCUMENT]
|
|
15178
15333
|
}] }], propDecorators: { spaceAdjustment: [{
|
|
@@ -15181,6 +15336,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
15181
15336
|
type: Input
|
|
15182
15337
|
}], disableOverflow: [{
|
|
15183
15338
|
type: Input
|
|
15339
|
+
}], bottomMargin: [{
|
|
15340
|
+
type: Input
|
|
15184
15341
|
}] } });
|
|
15185
15342
|
|
|
15186
15343
|
/*
|
|
@@ -15216,7 +15373,6 @@ class EditorComponent {
|
|
|
15216
15373
|
this.shellService = shellService;
|
|
15217
15374
|
this.formatOnLoad = true;
|
|
15218
15375
|
this.fitPage = false;
|
|
15219
|
-
this.fitPageSpaceAdjustment = 0;
|
|
15220
15376
|
this.validEvent = new EventEmitter();
|
|
15221
15377
|
this.valueChangeEvent = new EventEmitter();
|
|
15222
15378
|
this._formatting = false;
|
|
@@ -15352,11 +15508,11 @@ class EditorComponent {
|
|
|
15352
15508
|
}
|
|
15353
15509
|
}
|
|
15354
15510
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EditorComponent, deps: [{ token: EditorService }, { token: ShellService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15355
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: EditorComponent, isStandalone: false, selector: "valtimo-editor", inputs: { editorOptions: "editorOptions", model: "model", disabled: "disabled", formatOnLoad: "formatOnLoad", widthPx: "widthPx", heightPx: "heightPx", heightStyle: "heightStyle", jsonSchema: "jsonSchema", fitPage: "fitPage"
|
|
15511
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: EditorComponent, isStandalone: false, selector: "valtimo-editor", inputs: { editorOptions: "editorOptions", model: "model", disabled: "disabled", formatOnLoad: "formatOnLoad", widthPx: "widthPx", heightPx: "heightPx", heightStyle: "heightStyle", jsonSchema: "jsonSchema", fitPage: "fitPage" }, outputs: { validEvent: "validEvent", valueChangeEvent: "valueChangeEvent" }, viewQueries: [{ propertyName: "editorContainer", first: true, predicate: ["editorContainer"], descendants: true, static: true }], 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\n class=\"editor-container\"\n #editorContainer\n [style.width.px]=\"widthPx\"\n [style.height.px]=\"!fitPage && heightPx\"\n [style.height]=\"!fitPage && heightStyle\"\n fitPage\n [fitPageDisabled]=\"!fitPage\"\n></div>\n", styles: [".editor-container{width:100%;height:calc(100vh - 219px)}\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: FitPageDirective, selector: "[fitPage]", inputs: ["spaceAdjustment", "fitPageDisabled", "disableOverflow", "bottomMargin"] }] }); }
|
|
15356
15512
|
}
|
|
15357
15513
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EditorComponent, decorators: [{
|
|
15358
15514
|
type: Component,
|
|
15359
|
-
args: [{ selector: 'valtimo-editor', standalone: false, 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\n class=\"editor-container\"\n #editorContainer\n [style.width.px]=\"widthPx\"\n [style.height.px]=\"!fitPage && heightPx\"\n [style.height]=\"!fitPage && heightStyle\"\n fitPage\n [fitPageDisabled]=\"!fitPage\"\n
|
|
15515
|
+
args: [{ selector: 'valtimo-editor', standalone: false, 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\n class=\"editor-container\"\n #editorContainer\n [style.width.px]=\"widthPx\"\n [style.height.px]=\"!fitPage && heightPx\"\n [style.height]=\"!fitPage && heightStyle\"\n fitPage\n [fitPageDisabled]=\"!fitPage\"\n></div>\n", styles: [".editor-container{width:100%;height:calc(100vh - 219px)}\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"] }]
|
|
15360
15516
|
}], ctorParameters: () => [{ type: EditorService }, { type: ShellService }], propDecorators: { editorContainer: [{
|
|
15361
15517
|
type: ViewChild,
|
|
15362
15518
|
args: ['editorContainer', { static: true }]
|
|
@@ -15378,8 +15534,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
15378
15534
|
type: Input
|
|
15379
15535
|
}], fitPage: [{
|
|
15380
15536
|
type: Input
|
|
15381
|
-
}], fitPageSpaceAdjustment: [{
|
|
15382
|
-
type: Input
|
|
15383
15537
|
}], validEvent: [{
|
|
15384
15538
|
type: Output
|
|
15385
15539
|
}], valueChangeEvent: [{
|
|
@@ -16657,7 +16811,6 @@ class JsonEditorComponent {
|
|
|
16657
16811
|
this.iconService = iconService;
|
|
16658
16812
|
this._disabled = signal(false);
|
|
16659
16813
|
this.fitPage = false;
|
|
16660
|
-
this.fitPageSpaceAdjustment = 0;
|
|
16661
16814
|
this.formatOnLoad = true;
|
|
16662
16815
|
this.showEditButton = true;
|
|
16663
16816
|
this.changeEvent = new EventEmitter();
|
|
@@ -16713,7 +16866,7 @@ class JsonEditorComponent {
|
|
|
16713
16866
|
this.isEditActive.set(false);
|
|
16714
16867
|
}
|
|
16715
16868
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: JsonEditorComponent, deps: [{ token: i2$3.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16716
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: JsonEditorComponent, isStandalone: true, selector: "valtimo-json-editor", inputs: { disabled: "disabled", model: "model", editorOptions: "editorOptions", fitPage: "fitPage",
|
|
16869
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: JsonEditorComponent, isStandalone: true, selector: "valtimo-json-editor", inputs: { disabled: "disabled", model: "model", editorOptions: "editorOptions", fitPage: "fitPage", formatOnLoad: "formatOnLoad", heightPx: "heightPx", heightStyle: "heightStyle", jsonSchema: "jsonSchema", showEditButton: "showEditButton", widthPx: "widthPx" }, outputs: { changeEvent: "changeEvent", discardEvent: "discardEvent", keepEditingEvent: "keepEditingEvent", saveEvent: "saveEvent" }, 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=\"cds--toolbar-content\">\n @if (isEditActive()) {\n <button cdsButton=\"secondary\" (click)=\"onCancelClick()\" [attr.data-test-id]=\"testIds.cancelButton\">\n {{ 'interface.cancel' | translate }}\n\n <svg cdsIcon=\"close\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"!isValidJson()\"\n (click)=\"onSaveClick()\"\n [attr.data-test-id]=\"testIds.saveButton\"\n >\n {{ 'interface.save' | translate }}\n\n <svg cdsIcon=\"save\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n } @else {\n <ng-content></ng-content>\n\n <button\n *ngIf=\"showEditButton\"\n cdsButton=\"primary\"\n [disabled]=\"disableEditButton\"\n (click)=\"onEditClick()\"\n [attr.data-test-id]=\"testIds.editButton\"\n >\n {{ 'interface.edit' | translate }}\n\n <svg cdsIcon=\"edit\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n }\n</div>\n\n<valtimo-editor\n [disabled]=\"isDisabled()\"\n [fitPage]=\"fitPage\"\n [formatOnLoad]=\"formatOnLoad\"\n [heightPx]=\"heightPx\"\n [heightStyle]=\"heightStyle\"\n [jsonSchema]=\"jsonSchema\"\n [model]=\"model\"\n [widthPx]=\"widthPx\"\n (validEvent)=\"onValidEvent($event)\"\n (valueChangeEvent)=\"onValueChangeEvent($event)\"\n>\n</valtimo-editor>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showSaveConfirmationModal$\"\n cancelButtonTextTranslationKey=\"interface.cancel\"\n confirmButtonTextTranslationKey=\"interface.save\"\n contentTranslationKey=\"interface.jsonEditor.saveModalContent\"\n titleTranslationKey=\"interface.save\"\n (cancelEvent)=\"onKeepEditingDefinition()\"\n (confirmEvent)=\"onSaveChanges()\"\n [attr.data-test-id]=\"testIds.saveConfirmationModal\"\n></valtimo-confirmation-modal>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showCancelConfirmationModal$\"\n cancelButtonTextTranslationKey=\"interface.pendingChanges.keepEditing\"\n cancelButtonType=\"ghost\"\n confirmButtonTextTranslationKey=\"interface.discard\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"interface.jsonEditor.cancelModal.content\"\n optionalButtonTextTranslationKey=\"interface.save\"\n optionalButtonType=\"secondary\"\n titleTranslationKey=\"interface.jsonEditor.cancelModal.title\"\n showOptionalButton=\"true\"\n spacerAfterCancelButton=\"true\"\n (cancelEvent)=\"onKeepEditingDefinition()\"\n (confirmEvent)=\"onDiscardChanges()\"\n (optionalEvent)=\"onSaveChanges()\"\n [attr.data-test-id]=\"testIds.cancelConfirmationModal\"\n></valtimo-confirmation-modal>\n", styles: [".cds--toolbar-content{background-color:var(--cds-layer)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: EditorModule }, { kind: "component", type: EditorComponent, selector: "valtimo-editor", inputs: ["editorOptions", "model", "disabled", "formatOnLoad", "widthPx", "heightPx", "heightStyle", "jsonSchema", "fitPage"], outputs: ["validEvent", "valueChangeEvent"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2$3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16717
16870
|
}
|
|
16718
16871
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: JsonEditorComponent, decorators: [{
|
|
16719
16872
|
type: Component,
|
|
@@ -16724,7 +16877,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
16724
16877
|
IconModule,
|
|
16725
16878
|
TranslateModule,
|
|
16726
16879
|
ConfirmationModalModule,
|
|
16727
|
-
], 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=\"cds--toolbar-content\">\n @if (isEditActive()) {\n <button cdsButton=\"secondary\" (click)=\"onCancelClick()\" [attr.data-test-id]=\"testIds.cancelButton\">\n {{ 'interface.cancel' | translate }}\n\n <svg cdsIcon=\"close\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"!isValidJson()\"\n (click)=\"onSaveClick()\"\n [attr.data-test-id]=\"testIds.saveButton\"\n >\n {{ 'interface.save' | translate }}\n\n <svg cdsIcon=\"save\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n } @else {\n <ng-content></ng-content>\n\n <button\n *ngIf=\"showEditButton\"\n cdsButton=\"primary\"\n [disabled]=\"disableEditButton\"\n (click)=\"onEditClick()\"\n [attr.data-test-id]=\"testIds.editButton\"\n >\n {{ 'interface.edit' | translate }}\n\n <svg cdsIcon=\"edit\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n }\n</div>\n\n<valtimo-editor\n [disabled]=\"isDisabled()\"\n [fitPage]=\"fitPage\"\n [
|
|
16880
|
+
], 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=\"cds--toolbar-content\">\n @if (isEditActive()) {\n <button cdsButton=\"secondary\" (click)=\"onCancelClick()\" [attr.data-test-id]=\"testIds.cancelButton\">\n {{ 'interface.cancel' | translate }}\n\n <svg cdsIcon=\"close\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"!isValidJson()\"\n (click)=\"onSaveClick()\"\n [attr.data-test-id]=\"testIds.saveButton\"\n >\n {{ 'interface.save' | translate }}\n\n <svg cdsIcon=\"save\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n } @else {\n <ng-content></ng-content>\n\n <button\n *ngIf=\"showEditButton\"\n cdsButton=\"primary\"\n [disabled]=\"disableEditButton\"\n (click)=\"onEditClick()\"\n [attr.data-test-id]=\"testIds.editButton\"\n >\n {{ 'interface.edit' | translate }}\n\n <svg cdsIcon=\"edit\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n }\n</div>\n\n<valtimo-editor\n [disabled]=\"isDisabled()\"\n [fitPage]=\"fitPage\"\n [formatOnLoad]=\"formatOnLoad\"\n [heightPx]=\"heightPx\"\n [heightStyle]=\"heightStyle\"\n [jsonSchema]=\"jsonSchema\"\n [model]=\"model\"\n [widthPx]=\"widthPx\"\n (validEvent)=\"onValidEvent($event)\"\n (valueChangeEvent)=\"onValueChangeEvent($event)\"\n>\n</valtimo-editor>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showSaveConfirmationModal$\"\n cancelButtonTextTranslationKey=\"interface.cancel\"\n confirmButtonTextTranslationKey=\"interface.save\"\n contentTranslationKey=\"interface.jsonEditor.saveModalContent\"\n titleTranslationKey=\"interface.save\"\n (cancelEvent)=\"onKeepEditingDefinition()\"\n (confirmEvent)=\"onSaveChanges()\"\n [attr.data-test-id]=\"testIds.saveConfirmationModal\"\n></valtimo-confirmation-modal>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showCancelConfirmationModal$\"\n cancelButtonTextTranslationKey=\"interface.pendingChanges.keepEditing\"\n cancelButtonType=\"ghost\"\n confirmButtonTextTranslationKey=\"interface.discard\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"interface.jsonEditor.cancelModal.content\"\n optionalButtonTextTranslationKey=\"interface.save\"\n optionalButtonType=\"secondary\"\n titleTranslationKey=\"interface.jsonEditor.cancelModal.title\"\n showOptionalButton=\"true\"\n spacerAfterCancelButton=\"true\"\n (cancelEvent)=\"onKeepEditingDefinition()\"\n (confirmEvent)=\"onDiscardChanges()\"\n (optionalEvent)=\"onSaveChanges()\"\n [attr.data-test-id]=\"testIds.cancelConfirmationModal\"\n></valtimo-confirmation-modal>\n", styles: [".cds--toolbar-content{background-color:var(--cds-layer)}\n"] }]
|
|
16728
16881
|
}], ctorParameters: () => [{ type: i2$3.IconService }], propDecorators: { disabled: [{
|
|
16729
16882
|
type: Input
|
|
16730
16883
|
}], model: [{
|
|
@@ -16733,8 +16886,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
16733
16886
|
type: Input
|
|
16734
16887
|
}], fitPage: [{
|
|
16735
16888
|
type: Input
|
|
16736
|
-
}], fitPageSpaceAdjustment: [{
|
|
16737
|
-
type: Input
|
|
16738
16889
|
}], formatOnLoad: [{
|
|
16739
16890
|
type: Input
|
|
16740
16891
|
}], heightPx: [{
|