@valtimo/components 13.34.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 +191 -45
- 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/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 }]
|
|
@@ -10432,6 +10518,9 @@ class ValuePathSelectorComponent {
|
|
|
10432
10518
|
set prefixes(value) {
|
|
10433
10519
|
this._prefixes$.next(value ?? []);
|
|
10434
10520
|
}
|
|
10521
|
+
set excludePrefixes(value) {
|
|
10522
|
+
this._excludePrefixes$.next(value ?? []);
|
|
10523
|
+
}
|
|
10435
10524
|
set defaultValue(value) {
|
|
10436
10525
|
if (!value)
|
|
10437
10526
|
return;
|
|
@@ -10490,6 +10579,7 @@ class ValuePathSelectorComponent {
|
|
|
10490
10579
|
this._buildingBlockDefinitionKey$,
|
|
10491
10580
|
]).pipe(map(([caseDefinitionKey, buildingBlockKey]) => !!caseDefinitionKey || !!buildingBlockKey));
|
|
10492
10581
|
this._prefixes$ = new BehaviorSubject([]);
|
|
10582
|
+
this._excludePrefixes$ = new BehaviorSubject([]);
|
|
10493
10583
|
this._inputMode$ = new BehaviorSubject(ValuePathSelectorInputMode.DROPDOWN);
|
|
10494
10584
|
this.inputModeIsDropdown$ = this._inputMode$.pipe(map(mode => mode === ValuePathSelectorInputMode.DROPDOWN));
|
|
10495
10585
|
this.loadingValuePathItems$ = new BehaviorSubject(true);
|
|
@@ -10500,16 +10590,17 @@ class ValuePathSelectorComponent {
|
|
|
10500
10590
|
: combineLatest([
|
|
10501
10591
|
this._caseDefinitionKeySubject$,
|
|
10502
10592
|
this._prefixes$,
|
|
10593
|
+
this._excludePrefixes$,
|
|
10503
10594
|
this._type$,
|
|
10504
10595
|
this._caseDefinitionVersionTag$,
|
|
10505
10596
|
this._buildingBlockDefinitionKey$,
|
|
10506
10597
|
this._buildingBlockDefinitionVersionTag$,
|
|
10507
10598
|
this.showToggle$,
|
|
10508
|
-
]).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,]) => {
|
|
10509
10600
|
const context = this.buildBlueprintContext(caseDefinitionKey, caseDefinitionVersionTag, buildingBlockKey, buildingBlockVersionTag);
|
|
10510
10601
|
if (!context)
|
|
10511
10602
|
return of([]);
|
|
10512
|
-
return this.valuePathSelectorService.getResolvableKeysForContext(prefixes, context, type);
|
|
10603
|
+
return this.valuePathSelectorService.getResolvableKeysForContext(prefixes, excludePrefixes, context, type);
|
|
10513
10604
|
}))), map((results) => results
|
|
10514
10605
|
.map((result) => ({
|
|
10515
10606
|
...result,
|
|
@@ -10642,7 +10733,7 @@ class ValuePathSelectorComponent {
|
|
|
10642
10733
|
return null;
|
|
10643
10734
|
}
|
|
10644
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 }); }
|
|
10645
|
-
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: [
|
|
10646
10737
|
{
|
|
10647
10738
|
provide: NG_VALUE_ACCESSOR,
|
|
10648
10739
|
multi: true,
|
|
@@ -10704,6 +10795,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
10704
10795
|
type: Input
|
|
10705
10796
|
}], prefixes: [{
|
|
10706
10797
|
type: Input
|
|
10798
|
+
}], excludePrefixes: [{
|
|
10799
|
+
type: Input
|
|
10707
10800
|
}], label: [{
|
|
10708
10801
|
type: Input
|
|
10709
10802
|
}], tooltip: [{
|
|
@@ -10775,7 +10868,7 @@ class FormioValueResolverSelectorComponent {
|
|
|
10775
10868
|
}
|
|
10776
10869
|
}
|
|
10777
10870
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormioValueResolverSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10778
|
-
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"] }] }); }
|
|
10779
10872
|
}
|
|
10780
10873
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormioValueResolverSelectorComponent, decorators: [{
|
|
10781
10874
|
type: Component,
|
|
@@ -12830,7 +12923,7 @@ class KeyValuePathSelectorComponent {
|
|
|
12830
12923
|
this.valueChange.emit({ value: this.value, inputValue, type });
|
|
12831
12924
|
}
|
|
12832
12925
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KeyValuePathSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12833
|
-
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 }] }); }
|
|
12834
12927
|
}
|
|
12835
12928
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KeyValuePathSelectorComponent, decorators: [{
|
|
12836
12929
|
type: Component,
|
|
@@ -12904,7 +12997,7 @@ class ValuePathSelectorValueComponent {
|
|
|
12904
12997
|
this.valueChange.emit({ value: this.value, inputValue, type });
|
|
12905
12998
|
}
|
|
12906
12999
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ValuePathSelectorValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12907
|
-
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 }] }); }
|
|
12908
13001
|
}
|
|
12909
13002
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ValuePathSelectorValueComponent, decorators: [{
|
|
12910
13003
|
type: Component,
|
|
@@ -12980,7 +13073,7 @@ class ValuePathSelectorDropdownValueComponent {
|
|
|
12980
13073
|
this.valueChange.emit({ value: this.value, inputValue, type });
|
|
12981
13074
|
}
|
|
12982
13075
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ValuePathSelectorDropdownValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12983
|
-
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 }] }); }
|
|
12984
13077
|
}
|
|
12985
13078
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ValuePathSelectorDropdownValueComponent, decorators: [{
|
|
12986
13079
|
type: Component,
|
|
@@ -15132,35 +15225,92 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
15132
15225
|
* limitations under the License.
|
|
15133
15226
|
*/
|
|
15134
15227
|
class FitPageDirective {
|
|
15135
|
-
constructor(elementRef, pageHeaderService, renderer, document) {
|
|
15228
|
+
constructor(elementRef, pageHeaderService, renderer, ngZone, document) {
|
|
15136
15229
|
this.elementRef = elementRef;
|
|
15137
15230
|
this.pageHeaderService = pageHeaderService;
|
|
15138
15231
|
this.renderer = renderer;
|
|
15232
|
+
this.ngZone = ngZone;
|
|
15139
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
|
+
*/
|
|
15140
15239
|
this.spaceAdjustment = 0;
|
|
15141
15240
|
this.fitPageDisabled = false;
|
|
15142
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;
|
|
15143
15248
|
this._subscriptions = new Subscription();
|
|
15249
|
+
this._rafId = null;
|
|
15250
|
+
this._lastTopOffset = null;
|
|
15251
|
+
this._settleFrames = 0;
|
|
15144
15252
|
}
|
|
15145
15253
|
ngAfterViewInit() {
|
|
15146
|
-
|
|
15147
|
-
|
|
15148
|
-
|
|
15149
|
-
|
|
15150
|
-
|
|
15151
|
-
|
|
15152
|
-
|
|
15153
|
-
this.
|
|
15154
|
-
|
|
15155
|
-
|
|
15156
|
-
|
|
15157
|
-
|
|
15158
|
-
}));
|
|
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
|
+
});
|
|
15159
15266
|
}
|
|
15160
15267
|
ngOnDestroy() {
|
|
15161
15268
|
this._subscriptions.unsubscribe();
|
|
15269
|
+
this.cancelScheduledFrame();
|
|
15162
15270
|
this.removeDocumentOverflowStyle();
|
|
15163
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
|
+
}
|
|
15164
15314
|
addDocumentOverflowStyle() {
|
|
15165
15315
|
if (!this.disableOverflow)
|
|
15166
15316
|
return;
|
|
@@ -15171,13 +15321,13 @@ class FitPageDirective {
|
|
|
15171
15321
|
return;
|
|
15172
15322
|
this.renderer.removeStyle(this.document.documentElement, 'overflow');
|
|
15173
15323
|
}
|
|
15174
|
-
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 }); }
|
|
15175
|
-
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 }); }
|
|
15176
15326
|
}
|
|
15177
15327
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FitPageDirective, decorators: [{
|
|
15178
15328
|
type: Directive,
|
|
15179
15329
|
args: [{ selector: '[fitPage]', standalone: true }]
|
|
15180
|
-
}], 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: [{
|
|
15181
15331
|
type: Inject,
|
|
15182
15332
|
args: [DOCUMENT]
|
|
15183
15333
|
}] }], propDecorators: { spaceAdjustment: [{
|
|
@@ -15186,6 +15336,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
15186
15336
|
type: Input
|
|
15187
15337
|
}], disableOverflow: [{
|
|
15188
15338
|
type: Input
|
|
15339
|
+
}], bottomMargin: [{
|
|
15340
|
+
type: Input
|
|
15189
15341
|
}] } });
|
|
15190
15342
|
|
|
15191
15343
|
/*
|
|
@@ -15221,7 +15373,6 @@ class EditorComponent {
|
|
|
15221
15373
|
this.shellService = shellService;
|
|
15222
15374
|
this.formatOnLoad = true;
|
|
15223
15375
|
this.fitPage = false;
|
|
15224
|
-
this.fitPageSpaceAdjustment = 0;
|
|
15225
15376
|
this.validEvent = new EventEmitter();
|
|
15226
15377
|
this.valueChangeEvent = new EventEmitter();
|
|
15227
15378
|
this._formatting = false;
|
|
@@ -15357,11 +15508,11 @@ class EditorComponent {
|
|
|
15357
15508
|
}
|
|
15358
15509
|
}
|
|
15359
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 }); }
|
|
15360
|
-
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"] }] }); }
|
|
15361
15512
|
}
|
|
15362
15513
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EditorComponent, decorators: [{
|
|
15363
15514
|
type: Component,
|
|
15364
|
-
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"] }]
|
|
15365
15516
|
}], ctorParameters: () => [{ type: EditorService }, { type: ShellService }], propDecorators: { editorContainer: [{
|
|
15366
15517
|
type: ViewChild,
|
|
15367
15518
|
args: ['editorContainer', { static: true }]
|
|
@@ -15383,8 +15534,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
15383
15534
|
type: Input
|
|
15384
15535
|
}], fitPage: [{
|
|
15385
15536
|
type: Input
|
|
15386
|
-
}], fitPageSpaceAdjustment: [{
|
|
15387
|
-
type: Input
|
|
15388
15537
|
}], validEvent: [{
|
|
15389
15538
|
type: Output
|
|
15390
15539
|
}], valueChangeEvent: [{
|
|
@@ -16662,7 +16811,6 @@ class JsonEditorComponent {
|
|
|
16662
16811
|
this.iconService = iconService;
|
|
16663
16812
|
this._disabled = signal(false);
|
|
16664
16813
|
this.fitPage = false;
|
|
16665
|
-
this.fitPageSpaceAdjustment = 0;
|
|
16666
16814
|
this.formatOnLoad = true;
|
|
16667
16815
|
this.showEditButton = true;
|
|
16668
16816
|
this.changeEvent = new EventEmitter();
|
|
@@ -16718,7 +16866,7 @@ class JsonEditorComponent {
|
|
|
16718
16866
|
this.isEditActive.set(false);
|
|
16719
16867
|
}
|
|
16720
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 }); }
|
|
16721
|
-
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 }); }
|
|
16722
16870
|
}
|
|
16723
16871
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: JsonEditorComponent, decorators: [{
|
|
16724
16872
|
type: Component,
|
|
@@ -16729,7 +16877,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
16729
16877
|
IconModule,
|
|
16730
16878
|
TranslateModule,
|
|
16731
16879
|
ConfirmationModalModule,
|
|
16732
|
-
], 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"] }]
|
|
16733
16881
|
}], ctorParameters: () => [{ type: i2$3.IconService }], propDecorators: { disabled: [{
|
|
16734
16882
|
type: Input
|
|
16735
16883
|
}], model: [{
|
|
@@ -16738,8 +16886,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
16738
16886
|
type: Input
|
|
16739
16887
|
}], fitPage: [{
|
|
16740
16888
|
type: Input
|
|
16741
|
-
}], fitPageSpaceAdjustment: [{
|
|
16742
|
-
type: Input
|
|
16743
16889
|
}], formatOnLoad: [{
|
|
16744
16890
|
type: Input
|
|
16745
16891
|
}], heightPx: [{
|