@fundamental-ngx/platform 0.59.1-rc.9 → 0.59.1

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.
Files changed (40) hide show
  1. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +25 -33
  2. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  3. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +1 -1
  4. package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
  5. package/fesm2022/fundamental-ngx-platform-form.mjs +1 -1
  6. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  7. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +9 -10
  8. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  9. package/fesm2022/fundamental-ngx-platform-list.mjs +2 -2
  10. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-platform-menu.mjs +19 -30
  12. package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
  13. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +2 -2
  14. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-platform-object-marker.mjs +1 -1
  16. package/fesm2022/fundamental-ngx-platform-object-marker.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-platform-object-status.mjs +1 -1
  18. package/fesm2022/fundamental-ngx-platform-object-status.mjs.map +1 -1
  19. package/fesm2022/fundamental-ngx-platform-search-field.mjs +14 -15
  20. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  21. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +1 -1
  22. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  23. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +17 -19
  24. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
  25. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +21 -19
  26. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  27. package/fesm2022/fundamental-ngx-platform-table.mjs +27 -29
  28. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  29. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +14 -14
  30. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  31. package/package.json +4 -4
  32. package/schematics/ng-add/index.js +1 -1
  33. package/types/fundamental-ngx-platform-approval-flow.d.ts +19 -14
  34. package/types/fundamental-ngx-platform-icon-tab-bar.d.ts +7 -6
  35. package/types/fundamental-ngx-platform-menu.d.ts +7 -8
  36. package/types/fundamental-ngx-platform-search-field.d.ts +7 -6
  37. package/types/fundamental-ngx-platform-split-menu-button.d.ts +5 -7
  38. package/types/fundamental-ngx-platform-table-helpers.d.ts +10 -7
  39. package/types/fundamental-ngx-platform-table.d.ts +16 -14
  40. package/types/fundamental-ngx-platform-value-help-dialog.d.ts +8 -7
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Input, Component, Directive, EventEmitter, Output, ChangeDetectionStrategy, ViewEncapsulation, inject, DestroyRef, ViewChild, TemplateRef, ContentChild, input, computed, ContentChildren, Optional, NgModule } from '@angular/core';
2
+ import { Input, Component, Directive, EventEmitter, Output, ChangeDetectionStrategy, ViewEncapsulation, inject, DestroyRef, ViewChild, TemplateRef, ContentChild, input, computed, ContentChildren, NgModule } from '@angular/core';
3
3
  import { BehaviorSubject, Subject, of, startWith, tap, filter, take as take$1, Subscription, isObservable } from 'rxjs';
4
4
  import { take } from 'rxjs/operators';
5
5
  import { BaseDataProvider, DataProvider, isDataSource } from '@fundamental-ngx/platform/shared';
@@ -16,8 +16,7 @@ import { FdTranslatePipe } from '@fundamental-ngx/i18n';
16
16
  import { coerceNumberProperty } from '@angular/cdk/coercion';
17
17
  import { CdkScrollable } from '@angular/cdk/overlay';
18
18
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
19
- import * as i2 from '@fundamental-ngx/cdk/utils';
20
- import { RepeatDirective, FocusableGridDirective, TemplateDirective, DisplayFnPipe } from '@fundamental-ngx/cdk/utils';
19
+ import { RepeatDirective, FocusableGridDirective, RtlService, TemplateDirective, DisplayFnPipe } from '@fundamental-ngx/cdk/utils';
21
20
  import { BarComponent, BarMiddleDirective, BarElementDirective, BarLeftDirective, BarRightDirective, ButtonBarComponent } from '@fundamental-ngx/core/bar';
22
21
  import { CheckboxComponent } from '@fundamental-ngx/core/checkbox';
23
22
  import { InfiniteScrollDirective } from '@fundamental-ngx/core/infinite-scroll';
@@ -857,12 +856,11 @@ class PlatformValueHelpDialogComponent extends VhdComponent {
857
856
  return this.loading ?? this._internalLoadingState;
858
857
  }
859
858
  /** @hidden */
860
- constructor(elementRef, _changeDetectorRef, _dialogService, _rtlService) {
859
+ constructor(elementRef, _changeDetectorRef, _dialogService) {
861
860
  super();
862
861
  this.elementRef = elementRef;
863
862
  this._changeDetectorRef = _changeDetectorRef;
864
863
  this._dialogService = _dialogService;
865
- this._rtlService = _rtlService;
866
864
  /** Id of the popover */
867
865
  this.id = 'fdp-vhd-' + vhiUniqueId++;
868
866
  /** Initial state of Value help dialog */
@@ -936,9 +934,6 @@ class PlatformValueHelpDialogComponent extends VhdComponent {
936
934
  this._displayedData = [];
937
935
  /** @hidden */
938
936
  this._mainSearch = '';
939
- /** handles rtl service
940
- * @hidden */
941
- this._dir$ = computed(() => (this._rtlService?.rtlSignal() ? 'rtl' : 'ltr'), ...(ngDevMode ? [{ debugName: "_dir$" }] : []));
942
937
  /** @hidden */
943
938
  this.selectedTab = null;
944
939
  /** @hidden */
@@ -947,6 +942,9 @@ class PlatformValueHelpDialogComponent extends VhdComponent {
947
942
  * To differentiate between first loading when skeletons be shown and subsequent loadings when busy indicator be shown
948
943
  */
949
944
  this._firstLoadingDone = false;
945
+ /** handles rtl service
946
+ * @hidden */
947
+ this.dir = computed(() => (this._rtlService?.rtl() ? 'rtl' : 'ltr'), ...(ngDevMode ? [{ debugName: "dir" }] : []));
950
948
  /** @hidden */
951
949
  this._destroyed = inject(DestroyRef);
952
950
  /** @hidden Previous state */
@@ -964,6 +962,10 @@ class PlatformValueHelpDialogComponent extends VhdComponent {
964
962
  /** @hidden */
965
963
  this._onDestroy$ = new Subject();
966
964
  /** @hidden */
965
+ this._rtlService = inject(RtlService, {
966
+ optional: true
967
+ });
968
+ /** @hidden */
967
969
  this._trackBySelectedFn = (_index, item) => item && item[this.uniqueKey];
968
970
  /** Default display function for define conditions */
969
971
  if (!this.conditionDisplayFn || typeof this.conditionDisplayFn !== 'function') {
@@ -1332,13 +1334,13 @@ class PlatformValueHelpDialogComponent extends VhdComponent {
1332
1334
  const validator = typeof this.tokenValidator === 'function' ? this.tokenValidator(value) : of(true);
1333
1335
  return isObservable(validator) ? validator : of(validator);
1334
1336
  }
1335
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PlatformValueHelpDialogComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.DialogService }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1337
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PlatformValueHelpDialogComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
1336
1338
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: PlatformValueHelpDialogComponent, isStandalone: true, selector: "fdp-value-help-dialog", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, dialogTitle: { classPropertyName: "dialogTitle", publicName: "dialogTitle", isSignal: false, isRequired: false, transformFunction: null }, initialTab: { classPropertyName: "initialTab", publicName: "initialTab", isSignal: false, isRequired: false, transformFunction: null }, tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: false, isRequired: false, transformFunction: null }, isOpenAdvanced: { classPropertyName: "isOpenAdvanced", publicName: "isOpenAdvanced", isSignal: false, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: false, isRequired: false, transformFunction: null }, dialogConfig: { classPropertyName: "dialogConfig", publicName: "dialogConfig", isSignal: false, isRequired: false, transformFunction: null }, uniqueKey: { classPropertyName: "uniqueKey", publicName: "uniqueKey", isSignal: false, isRequired: false, transformFunction: null }, headerId: { classPropertyName: "headerId", publicName: "headerId", isSignal: false, isRequired: false, transformFunction: null }, tokenViewField: { classPropertyName: "tokenViewField", publicName: "tokenViewField", isSignal: false, isRequired: false, transformFunction: null }, tokenizerFn: { classPropertyName: "tokenizerFn", publicName: "tokenizerFn", isSignal: false, isRequired: false, transformFunction: null }, mobile: { classPropertyName: "mobile", publicName: "mobile", isSignal: false, isRequired: false, transformFunction: null }, formatToken: { classPropertyName: "formatToken", publicName: "formatToken", isSignal: false, isRequired: false, transformFunction: null }, conditionDisplayFn: { classPropertyName: "conditionDisplayFn", publicName: "conditionDisplayFn", isSignal: false, isRequired: false, transformFunction: null }, tokenValidator: { classPropertyName: "tokenValidator", publicName: "tokenValidator", isSignal: false, isRequired: false, transformFunction: null }, searchSelection: { classPropertyName: "searchSelection", publicName: "searchSelection", isSignal: false, isRequired: false, transformFunction: null }, searchTablePageSize: { classPropertyName: "searchTablePageSize", publicName: "searchTablePageSize", isSignal: false, isRequired: false, transformFunction: null }, searchTableMobileHeaders: { classPropertyName: "searchTableMobileHeaders", publicName: "searchTableMobileHeaders", isSignal: false, isRequired: false, transformFunction: null }, maxShownInitialFilters: { classPropertyName: "maxShownInitialFilters", publicName: "maxShownInitialFilters", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, allowSelectAll: { classPropertyName: "allowSelectAll", publicName: "allowSelectAll", isSignal: false, isRequired: false, transformFunction: null }, defineStrategyLabels: { classPropertyName: "defineStrategyLabels", publicName: "defineStrategyLabels", isSignal: false, isRequired: false, transformFunction: null }, headingLevel: { classPropertyName: "headingLevel", publicName: "headingLevel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", onDataRequested: "onDataRequested", onDataReceived: "onDataReceived" }, providers: [
1337
1339
  {
1338
1340
  provide: VhdComponent,
1339
1341
  useExisting: PlatformValueHelpDialogComponent
1340
1342
  }
1341
- ], queries: [{ propertyName: "filters", predicate: VhdFilterComponent }, { propertyName: "columnDef", predicate: ValueHelpColumnDefDirective }], viewQueries: [{ propertyName: "dialogContainer", first: true, predicate: ["container"], descendants: true, read: TemplateRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #container>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header [attr.dir]=\"_dir$()\">\n <ng-template fdkTemplate=\"header\">\n <ng-template [ngTemplateOutlet]=\"mobile ? mobileDialogTitle : desktopDialogTitle\"></ng-template>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body [attr.dir]=\"_dir$()\">\n @if (!mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n <div fd-scrollbar class=\"fdp-value-help-dialog__content-holder\">\n @if (mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.selectFromList) {\n <ng-template [ngTemplateOutlet]=\"selectionContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.defineConditions) {\n <ng-template [ngTemplateOutlet]=\"defineConditionsContent\"></ng-template>\n }\n </div>\n </fd-dialog-body>\n <fd-dialog-footer [attr.dir]=\"_dir$()\">\n <ng-template fdkTemplate=\"footer\">\n @if (!isMobileAdvancedSearchActive) {\n <div\n class=\"fdp-value-help-dialog__row fdp-value-help-dialog__selection-row\"\n [attr.aria-label]=\"'platformVHD.selectedAndConditionLabel' | fdTranslate\"\n >\n <span\n role=\"heading\"\n [attr.aria-level]=\"_headingLevel()\"\n fd-title\n class=\"selected-and-condition-title\"\n [id]=\"id + '-selected-item'\"\n >\n @if (hasSelectedAndConditions) {\n {{ 'platformVHD.selectedAndConditionLabel' | fdTranslate }}\n ({{ selectedItems.length + validConditions.length }})\n } @else {\n {{ 'platformVHD.selectedEmptyLabel' | fdTranslate }}\n }\n </span>\n <div class=\"fdp-value-help-dialog__tokens-wrapper\">\n <div class=\"fdp-value-help-dialog__tokens\">\n <!-- Selected items -->\n <fd-tokenizer>\n @for (\n item of selectedItems;\n track _trackBySelectedFn(selectedIndex, item);\n let selectedIndex = $index\n ) {\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeSelected(selectedIndex)\"\n >{{\n !!tokenizerFn\n ? (item | displayFnPipe: tokenizerFn)\n : item[tokenViewField]\n }}\n </fd-token>\n }\n @for (\n item of validConditions;\n track _trackByConditionFn(conditionIndex, item);\n let conditionIndex = $index\n ) {\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeCondition(conditionIndex)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"conditionValue\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n </fd-token>\n }\n <input fd-form-control fd-tokenizer-input [disabled]=\"!hasSelectedAndConditions\" />\n </fd-tokenizer>\n </div>\n <button\n (click)=\"clearSelectedAndConditionItems()\"\n class=\"fdp-value-help-dialog__tokens-clear\"\n fd-button\n [disabled]=\"!hasSelectedAndConditions\"\n fdType=\"transparent\"\n [title]=\"'platformVHD.footerClearSelectedTitle' | fdTranslate\"\n glyph=\"decline\"\n [ariaLabel]=\"'platformVHD.footerClearSelectedAriaLabel' | fdTranslate\"\n ></button>\n </div>\n </div>\n }\n <div class=\"fdp-value-help-dialog__actions-row\">\n @if (mobile && isOpenAdvanced) {\n <button\n fd-button\n data-go-advanced\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"searchAdvanced()\"\n ></button>\n }\n @if (selectedTab !== _tabTypes.advancedSearch) {\n <button\n fd-button\n data-succes\n [disabled]=\"loadingState\"\n [label]=\"'platformVHD.successButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"success()\"\n ></button>\n }\n <button\n fd-button\n data-dismiss-dialog\n [label]=\"'platformVHD.cancelButtonLabel' | fdTranslate\"\n fdType=\"transparent\"\n (click)=\"dismiss()\"\n ></button>\n </div>\n </ng-template>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n<ng-template #advancedSearchContent>\n @if (isSelectionTab) {\n <form class=\"fdp-value-help-dialog__row fdp-value-help-dialog__advanced-search\" [id]=\"'advanced-search-' + id\">\n @if (!mobile || (mobile && !isOpenAdvanced)) {\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"mobile ? 12 : 6\" [colXl]=\"mobile ? 12 : 6\">\n <fdp-search-field\n [placeholder]=\"'platformVHD.searchPlaceholder' | fdTranslate\"\n (searchSubmit)=\"search()\"\n (inputChange)=\"_mainSearch = $event.text\"\n ></fdp-search-field>\n </div>\n @if (_hasAdvanced) {\n <div\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"mobile ? 12 : 6\"\n [colXl]=\"mobile ? 12 : 6\"\n class=\"fdp-value-help-dialog__advanced-actions\"\n >\n <fd-toolbar [clearBorder]=\"true\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n @if (_hasAdvanced) {\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n [label]=\"\n (mobile\n ? 'platformVHD.searchAdvancedSearchLabel'\n : isOpenAdvanced\n ? 'platformVHD.searchHideAdvancedSearchLabel'\n : 'platformVHD.searchShowAdvancedSearchLabel'\n ) | fdTranslate\n \"\n (click)=\"toggleAdvancedSearch()\"\n ></button>\n }\n <button\n fd-toolbar-item\n type=\"submit\"\n fd-button\n fdType=\"emphasized\"\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (click)=\"filter()\"\n ></button>\n </fd-toolbar>\n </div>\n }\n </div>\n </fd-layout-grid>\n }\n @if (isOpenAdvanced && _hasAdvanced) {\n <div [id]=\"'advanced-search-content-' + id\" class=\"fdp-value-help-dialog__advanced-filters\">\n <fd-busy-indicator [loading]=\"loadingState && _firstLoadingDone\" [block]=\"true\">\n @if (_firstLoadingDone) {\n <fd-layout-grid\n [class.fdp-value-help-dialog__with-toggle-all]=\"filters.length > maxShownInitialFilters\"\n >\n <div fdLayoutGridRow>\n @for (\n filter of _displayedFilters | slice: 0 : shownFilterCount + 1;\n track _trackByFilterFn($index, filter)\n ) {\n @if (filter.advanced) {\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"6\" [colXl]=\"3\">\n <label\n class=\"fd-form-group__header\"\n fd-form-label\n [for]=\"'input' + filter.key\"\n >{{ filter.label }}:</label\n >\n @if (filter.filterDef) {\n <ng-template\n [ngTemplateOutlet]=\"filter.filterDef.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: filter }\"\n ></ng-template>\n } @else {\n <input\n [(ngModel)]=\"filter.value\"\n fd-form-control\n type=\"text\"\n [name]=\"'search-by-' + filter.label\"\n [id]=\"'input' + filter.key\"\n />\n }\n </div>\n }\n }\n @if (filters.length > maxShownInitialFilters) {\n <div\n colGrow\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"6\"\n [colXl]=\"3\"\n class=\"fdp-value-help-dialog__toggle-filters\"\n >\n <button\n fd-button\n fdType=\"transparent\"\n (click)=\"toggleShownFilters()\"\n [label]=\"\n (isShowAllFilters\n ? 'platformVHD.searchHideAllAdvancedSearchLabel'\n : 'platformVHD.searchShowAllAdvancedSearchLabel'\n ) | fdTranslate\n \"\n ></button>\n </div>\n }\n </div>\n </fd-layout-grid>\n } @else {\n <fd-skeleton width=\"100%\" height=\"100px\">\n <svg:rect x=\"0\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"35%\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"35%\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"0\" y=\"60\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"80\" rx=\"4\" width=\"25%\" height=\"16\" />\n </fd-skeleton>\n }\n </fd-busy-indicator>\n </div>\n }\n </form>\n }\n</ng-template>\n<ng-template #selectionContent>\n <fd-busy-indicator\n [loading]=\"loadingState && _firstLoadingDone\"\n [block]=\"true\"\n class=\"fdp-value-help-dialog__table-busy-indicator\"\n >\n <fdp-select-tab\n [selected]=\"selectedItems\"\n [loading]=\"loadingState && !_firstLoadingDone\"\n [uid]=\"id\"\n [displayedData]=\"_displayedData\"\n [tabTitle]=\"'platformVHD.selectTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n [selection]=\"searchSelection\"\n [uniqueKey]=\"uniqueKey\"\n [pageSize]=\"searchTablePageSize\"\n [defaultMobileHeaders]=\"searchTableMobileHeaders\"\n [filters]=\"_displayedFilters\"\n [allowSelectAll]=\"allowSelectAll\"\n (select)=\"onSelect($event)\"\n ></fdp-select-tab>\n </fd-busy-indicator>\n</ng-template>\n<ng-template #defineConditionsContent>\n <div fd-scrollbar>\n <fdp-define-tab\n [strategyLabels]=\"defineStrategyLabels\"\n [conditions]=\"conditionItems\"\n [uid]=\"id\"\n [tabTitle]=\"'platformVHD.defineTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n (conditionChange)=\"onConditionChange($event)\"\n ></fdp-define-tab>\n </div>\n</ng-template>\n<ng-template #dialogTitleText>\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" [attr.id]=\"headerId\" fd-title>{{ dialogTitle }}</span>\n</ng-template>\n<ng-template #tabLink let-title=\"title\" let-type=\"type\">\n @if (selectedTab === type && showSelectionTab && showDefineTab) {\n <button\n fd-button\n glyph=\"navigation-left-arrow\"\n fdType=\"transparent\"\n (click)=\"switchTab()\"\n [title]=\"'platformVHD.selectMobileTabBackBtnTitle' | fdTranslate\"\n ></button>\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" fd-title>{{ title }}</span>\n }\n @if (selectedTab !== type) {\n <a\n fd-list-link\n (click)=\"switchTab(type)\"\n [title]=\"'platformVHD.selectMobileTabBtnOpenDialogLabel' | fdTranslate\"\n >\n <span fd-list-title>{{ title }}</span>\n <i fd-list-icon glyph=\"navigation-right-arrow\"></i>\n </a>\n }\n</ng-template>\n<ng-template #advancedHeader>\n <button fd-button glyph=\"navigation-left-arrow\" fdType=\"transparent\" (click)=\"toggleAdvancedSearch()\"></button>\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" fd-title>{{\n 'platformVHD.searchAdvancedSearchLabel' | fdTranslate\n }}</span>\n</ng-template>\n<ng-template #desktopDialogTitle>\n <ng-template [ngTemplateOutlet]=\"dialogTitleText\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"desktopTabs\"></ng-template>\n</ng-template>\n<ng-template #mobileDialogTitle>\n <div class=\"fdp-value-help-dialog__mobile-title\">\n @if (hasSelectedTab) {\n <ng-template [ngTemplateOutlet]=\"selectedTabHeader\"></ng-template>\n } @else {\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" [attr.id]=\"headerId\" fd-title>{{\n dialogTitle\n }}</span>\n }\n </div>\n <ng-template [ngTemplateOutlet]=\"mobileTabs\"></ng-template>\n</ng-template>\n<ng-template #desktopTabs>\n @if (showSelectionTab && showDefineTab) {\n <nav fd-tab-nav class=\"fdp-value-help-dialog__tabs\">\n @if (showSelectionTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.selectFromList)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.selectFromList\"\n [tabindex]=\"selectedTab === _tabTypes.selectFromList ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.selectTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n @if (showDefineTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.defineConditions)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.defineConditions\"\n [tabindex]=\"selectedTab === _tabTypes.defineConditions ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.defineTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n </nav>\n }\n</ng-template>\n<ng-template #mobileTabs>\n @if (!hasSelectedTab && showSelectionTab && showDefineTab) {\n <div>\n @if (showSelectionTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.selectTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n (click)=\"switchTab(_tabTypes.selectFromList)\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.selectTabTitle' | fdTranslate }\n \"\n ></fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n @if (showDefineTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.defineTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.defineTabTitle' | fdTranslate }\n \"\n (click)=\"switchTab(_tabTypes.defineConditions)\"\n >\n </fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n </div>\n }\n</ng-template>\n<ng-template #selectedTabHeader>\n @switch (selectedTab) {\n @case (_tabTypes.selectFromList) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.selectTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n @case (_tabTypes.advancedSearch) {\n <ng-template [ngTemplateOutlet]=\"advancedHeader\"></ng-template>\n }\n @case (_tabTypes.defineConditions) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.defineTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n }\n</ng-template>\n<ng-template #conditionValue let-item=\"item\">\n @if (item.strategy !== 'empty' && item.strategy !== 'not_empty') {\n <span>\n {{ item | displayFnPipe: conditionDisplayFn : _displayedFilters }}\n </span>\n } @else {\n @if (item.strategy === 'not_empty') {\n !(<ng-template [ngTemplateOutlet]=\"emptyConditionText\"></ng-template>)\n } @else {\n &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt;\n }\n }\n</ng-template>\n<ng-template #emptyConditionText> &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt; </ng-template>\n", styles: [".fdp-value-help-dialog .fd-dialog__body{display:flex;flex-direction:column;overflow:hidden}.fdp-value-help-dialog .fd-title--h5{padding:.5rem 0}.fdp-value-help-dialog .fd-toolbar{background:none;border:none;padding:.1735rem .5rem;height:auto;min-height:1.625rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__advanced-search{padding-top:1rem}.fdp-value-help-dialog__advanced-search,.fdp-value-help-dialog .fd-dialog__body{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__advanced-filters{padding-top:1rem}.fdp-value-help-dialog__advanced-filters label{height:auto}.fdp-value-help-dialog__toggle-filters{display:flex;justify-content:flex-end;align-items:flex-end}.fdp-value-help-dialog__toggle-filters .fd-button{margin-bottom:.25rem}.fdp-value-help-dialog__advanced-actions{display:flex;align-items:center;justify-content:flex-end}.fdp-value-help-dialog-mobile .fdp-value-help-dialog__advanced-actions{justify-content:flex-start}.fdp-value-help-dialog__advanced-actions .fd-toolbar{padding:0}.fdp-value-help-dialog .fd-bar.fd-bar--cozy{height:auto}.fdp-value-help-dialog .fd-dialog__header{box-shadow:none}.fdp-value-help-dialog .fd-dialog__header .fd-title{display:flex;align-items:center;padding-left:2rem;padding-right:2rem;min-height:2.5rem;box-shadow:none;border-bottom:none;background-color:var(--sapObjectHeader_Background, #fff);position:relative;z-index:2}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title{display:flex;border-bottom:1px solid #d9d9d9;border-bottom:1px solid var(--sapGroup_TitleBorderColor, #d9d9d9)}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title .fd-title{flex:1 1 auto;border:none}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__tabs{position:relative}.fdp-value-help-dialog .fd-dialog__header,.fdp-value-help-dialog .fd-dialog__footer{height:auto;flex-direction:column}.fdp-value-help-dialog .fd-dialog__header.fd-bar,.fdp-value-help-dialog .fd-dialog__footer.fd-bar{padding:0}.fdp-value-help-dialog .fd-dialog__footer{border-top:none}.fdp-value-help-dialog__content-holder{padding:0 2rem 1rem;display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;min-height:20rem}.fdp-value-help-dialog__row{padding:0 2rem 1rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__selection-row{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__tokens-wrapper{display:flex}.fdp-value-help-dialog__tokens{flex:1 1 auto;overflow:hidden;align-items:center;border:1px solid var(--sapContent_ForegroundBorderColor, #89919a);margin-right:.5rem;border-radius:var(--sapElement_BorderCornerRadius, .25rem);background:none}.fdp-value-help-dialog__tokens fd-toolbar{flex:1 1 auto;overflow:hidden}.fdp-value-help-dialog__tokens-clear{height:auto;min-width:2rem;padding:.125rem 0;justify-content:center}.fdp-value-help-dialog__actions-row{padding:.5rem 1rem;display:flex;align-items:center;justify-content:flex-end;border-top:.0625rem solid #d9d9d9;border-top:.0625rem solid var(--sapPageFooter_BorderColor, #d9d9d9)}.fdp-value-help-dialog__actions-row .fd-button{margin-left:.5rem}.fdp-value-help-dialog .fdp-value-help-dialog__hidden_label{display:none!important}.fdp-value-help-dialog__table-busy-indicator{height:100%}\n"], dependencies: [{ kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible"] }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: TokenizerComponent, selector: "fd-tokenizer", inputs: ["class", "disableKeyboardDeletion", "compactCollapse", "tokenizerFocusable", "inputValue", "glyph", "glyphFont", "moreTerm", "open", "showOverflowPopover"], outputs: ["moreClickedEvent"] }, { kind: "component", type: TokenComponent, selector: "fd-token", inputs: ["disabled", "selected", "readOnly"], outputs: ["onCloseClick", "onRemove", "onTokenClick", "onTokenKeydown", "elementFocused"] }, { kind: "directive", type: ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: TokenizerInputDirective, selector: "[fdTokenizerInput], [fd-tokenizer-input]", inputs: ["class"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "directive", type: LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl"] }, { kind: "component", type: SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "component", type: ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "ariaValueText", "title", "label", "ariaLive"] }, { kind: "component", type: FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }, { kind: "component", type: SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "component", type: SelectTabComponent, selector: "fdp-select-tab", inputs: ["selectTabTitleId", "selectTabCountId", "selected", "loading", "filters", "selection", "allowSelectAll", "uniqueKey", "pageSize", "defaultMobileHeaders", "displayedData"], outputs: ["select"] }, { kind: "component", type: DefineTabComponent, selector: "fdp-define-tab", inputs: ["titleId", "selectedId", "conditions", "strategyLabels"], outputs: ["includeChange", "excludeChange", "conditionChange"] }, { kind: "directive", type: ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate"] }, { kind: "directive", type: ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role", "ariaHidden"] }, { kind: "component", type: TabNavComponent, selector: "[fd-tab-nav]", inputs: ["class", "mode", "size"] }, { kind: "directive", type: TabItemDirective, selector: "[fd-tab-item]", inputs: ["class", "tabItemState", "header", "disabled", "fdTabItemClass"] }, { kind: "directive", type: TabLinkDirective, selector: "[fd-tab-link]", inputs: ["active", "disabled"], outputs: ["keyDown", "focused"] }, { kind: "directive", type: TabTagDirective, selector: "[fdTabTag], [fd-tab-tag]" }, { kind: "component", type: BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "clear", "size", "role"] }, { kind: "directive", type: BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "directive", type: BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }, { kind: "pipe", type: DisplayFnPipe, name: "displayFnPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1343
+ ], queries: [{ propertyName: "filters", predicate: VhdFilterComponent }, { propertyName: "columnDef", predicate: ValueHelpColumnDefDirective }], viewQueries: [{ propertyName: "dialogContainer", first: true, predicate: ["container"], descendants: true, read: TemplateRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #container>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header [attr.dir]=\"dir()\">\n <ng-template fdkTemplate=\"header\">\n <ng-template [ngTemplateOutlet]=\"mobile ? mobileDialogTitle : desktopDialogTitle\"></ng-template>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body [attr.dir]=\"dir()\">\n @if (!mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n <div fd-scrollbar class=\"fdp-value-help-dialog__content-holder\">\n @if (mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.selectFromList) {\n <ng-template [ngTemplateOutlet]=\"selectionContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.defineConditions) {\n <ng-template [ngTemplateOutlet]=\"defineConditionsContent\"></ng-template>\n }\n </div>\n </fd-dialog-body>\n <fd-dialog-footer [attr.dir]=\"dir()\">\n <ng-template fdkTemplate=\"footer\">\n @if (!isMobileAdvancedSearchActive) {\n <div\n class=\"fdp-value-help-dialog__row fdp-value-help-dialog__selection-row\"\n [attr.aria-label]=\"'platformVHD.selectedAndConditionLabel' | fdTranslate\"\n >\n <span\n role=\"heading\"\n [attr.aria-level]=\"_headingLevel()\"\n fd-title\n class=\"selected-and-condition-title\"\n [id]=\"id + '-selected-item'\"\n >\n @if (hasSelectedAndConditions) {\n {{ 'platformVHD.selectedAndConditionLabel' | fdTranslate }}\n ({{ selectedItems.length + validConditions.length }})\n } @else {\n {{ 'platformVHD.selectedEmptyLabel' | fdTranslate }}\n }\n </span>\n <div class=\"fdp-value-help-dialog__tokens-wrapper\">\n <div class=\"fdp-value-help-dialog__tokens\">\n <!-- Selected items -->\n <fd-tokenizer>\n @for (\n item of selectedItems;\n track _trackBySelectedFn(selectedIndex, item);\n let selectedIndex = $index\n ) {\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeSelected(selectedIndex)\"\n >{{\n !!tokenizerFn\n ? (item | displayFnPipe: tokenizerFn)\n : item[tokenViewField]\n }}\n </fd-token>\n }\n @for (\n item of validConditions;\n track _trackByConditionFn(conditionIndex, item);\n let conditionIndex = $index\n ) {\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeCondition(conditionIndex)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"conditionValue\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n </fd-token>\n }\n <input fd-form-control fd-tokenizer-input [disabled]=\"!hasSelectedAndConditions\" />\n </fd-tokenizer>\n </div>\n <button\n (click)=\"clearSelectedAndConditionItems()\"\n class=\"fdp-value-help-dialog__tokens-clear\"\n fd-button\n [disabled]=\"!hasSelectedAndConditions\"\n fdType=\"transparent\"\n [title]=\"'platformVHD.footerClearSelectedTitle' | fdTranslate\"\n glyph=\"decline\"\n [ariaLabel]=\"'platformVHD.footerClearSelectedAriaLabel' | fdTranslate\"\n ></button>\n </div>\n </div>\n }\n <div class=\"fdp-value-help-dialog__actions-row\">\n @if (mobile && isOpenAdvanced) {\n <button\n fd-button\n data-go-advanced\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"searchAdvanced()\"\n ></button>\n }\n @if (selectedTab !== _tabTypes.advancedSearch) {\n <button\n fd-button\n data-succes\n [disabled]=\"loadingState\"\n [label]=\"'platformVHD.successButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"success()\"\n ></button>\n }\n <button\n fd-button\n data-dismiss-dialog\n [label]=\"'platformVHD.cancelButtonLabel' | fdTranslate\"\n fdType=\"transparent\"\n (click)=\"dismiss()\"\n ></button>\n </div>\n </ng-template>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n<ng-template #advancedSearchContent>\n @if (isSelectionTab) {\n <form class=\"fdp-value-help-dialog__row fdp-value-help-dialog__advanced-search\" [id]=\"'advanced-search-' + id\">\n @if (!mobile || (mobile && !isOpenAdvanced)) {\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"mobile ? 12 : 6\" [colXl]=\"mobile ? 12 : 6\">\n <fdp-search-field\n [placeholder]=\"'platformVHD.searchPlaceholder' | fdTranslate\"\n (searchSubmit)=\"search()\"\n (inputChange)=\"_mainSearch = $event.text\"\n ></fdp-search-field>\n </div>\n @if (_hasAdvanced) {\n <div\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"mobile ? 12 : 6\"\n [colXl]=\"mobile ? 12 : 6\"\n class=\"fdp-value-help-dialog__advanced-actions\"\n >\n <fd-toolbar [clearBorder]=\"true\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n @if (_hasAdvanced) {\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n [label]=\"\n (mobile\n ? 'platformVHD.searchAdvancedSearchLabel'\n : isOpenAdvanced\n ? 'platformVHD.searchHideAdvancedSearchLabel'\n : 'platformVHD.searchShowAdvancedSearchLabel'\n ) | fdTranslate\n \"\n (click)=\"toggleAdvancedSearch()\"\n ></button>\n }\n <button\n fd-toolbar-item\n type=\"submit\"\n fd-button\n fdType=\"emphasized\"\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (click)=\"filter()\"\n ></button>\n </fd-toolbar>\n </div>\n }\n </div>\n </fd-layout-grid>\n }\n @if (isOpenAdvanced && _hasAdvanced) {\n <div [id]=\"'advanced-search-content-' + id\" class=\"fdp-value-help-dialog__advanced-filters\">\n <fd-busy-indicator [loading]=\"loadingState && _firstLoadingDone\" [block]=\"true\">\n @if (_firstLoadingDone) {\n <fd-layout-grid\n [class.fdp-value-help-dialog__with-toggle-all]=\"filters.length > maxShownInitialFilters\"\n >\n <div fdLayoutGridRow>\n @for (\n filter of _displayedFilters | slice: 0 : shownFilterCount + 1;\n track _trackByFilterFn($index, filter)\n ) {\n @if (filter.advanced) {\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"6\" [colXl]=\"3\">\n <label\n class=\"fd-form-group__header\"\n fd-form-label\n [for]=\"'input' + filter.key\"\n >{{ filter.label }}:</label\n >\n @if (filter.filterDef) {\n <ng-template\n [ngTemplateOutlet]=\"filter.filterDef.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: filter }\"\n ></ng-template>\n } @else {\n <input\n [(ngModel)]=\"filter.value\"\n fd-form-control\n type=\"text\"\n [name]=\"'search-by-' + filter.label\"\n [id]=\"'input' + filter.key\"\n />\n }\n </div>\n }\n }\n @if (filters.length > maxShownInitialFilters) {\n <div\n colGrow\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"6\"\n [colXl]=\"3\"\n class=\"fdp-value-help-dialog__toggle-filters\"\n >\n <button\n fd-button\n fdType=\"transparent\"\n (click)=\"toggleShownFilters()\"\n [label]=\"\n (isShowAllFilters\n ? 'platformVHD.searchHideAllAdvancedSearchLabel'\n : 'platformVHD.searchShowAllAdvancedSearchLabel'\n ) | fdTranslate\n \"\n ></button>\n </div>\n }\n </div>\n </fd-layout-grid>\n } @else {\n <fd-skeleton width=\"100%\" height=\"100px\">\n <svg:rect x=\"0\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"35%\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"35%\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"0\" y=\"60\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"80\" rx=\"4\" width=\"25%\" height=\"16\" />\n </fd-skeleton>\n }\n </fd-busy-indicator>\n </div>\n }\n </form>\n }\n</ng-template>\n<ng-template #selectionContent>\n <fd-busy-indicator\n [loading]=\"loadingState && _firstLoadingDone\"\n [block]=\"true\"\n class=\"fdp-value-help-dialog__table-busy-indicator\"\n >\n <fdp-select-tab\n [selected]=\"selectedItems\"\n [loading]=\"loadingState && !_firstLoadingDone\"\n [uid]=\"id\"\n [displayedData]=\"_displayedData\"\n [tabTitle]=\"'platformVHD.selectTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n [selection]=\"searchSelection\"\n [uniqueKey]=\"uniqueKey\"\n [pageSize]=\"searchTablePageSize\"\n [defaultMobileHeaders]=\"searchTableMobileHeaders\"\n [filters]=\"_displayedFilters\"\n [allowSelectAll]=\"allowSelectAll\"\n (select)=\"onSelect($event)\"\n ></fdp-select-tab>\n </fd-busy-indicator>\n</ng-template>\n<ng-template #defineConditionsContent>\n <div fd-scrollbar>\n <fdp-define-tab\n [strategyLabels]=\"defineStrategyLabels\"\n [conditions]=\"conditionItems\"\n [uid]=\"id\"\n [tabTitle]=\"'platformVHD.defineTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n (conditionChange)=\"onConditionChange($event)\"\n ></fdp-define-tab>\n </div>\n</ng-template>\n<ng-template #dialogTitleText>\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" [attr.id]=\"headerId\" fd-title>{{ dialogTitle }}</span>\n</ng-template>\n<ng-template #tabLink let-title=\"title\" let-type=\"type\">\n @if (selectedTab === type && showSelectionTab && showDefineTab) {\n <button\n fd-button\n glyph=\"navigation-left-arrow\"\n fdType=\"transparent\"\n (click)=\"switchTab()\"\n [title]=\"'platformVHD.selectMobileTabBackBtnTitle' | fdTranslate\"\n ></button>\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" fd-title>{{ title }}</span>\n }\n @if (selectedTab !== type) {\n <a\n fd-list-link\n (click)=\"switchTab(type)\"\n [title]=\"'platformVHD.selectMobileTabBtnOpenDialogLabel' | fdTranslate\"\n >\n <span fd-list-title>{{ title }}</span>\n <i fd-list-icon glyph=\"navigation-right-arrow\"></i>\n </a>\n }\n</ng-template>\n<ng-template #advancedHeader>\n <button fd-button glyph=\"navigation-left-arrow\" fdType=\"transparent\" (click)=\"toggleAdvancedSearch()\"></button>\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" fd-title>{{\n 'platformVHD.searchAdvancedSearchLabel' | fdTranslate\n }}</span>\n</ng-template>\n<ng-template #desktopDialogTitle>\n <ng-template [ngTemplateOutlet]=\"dialogTitleText\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"desktopTabs\"></ng-template>\n</ng-template>\n<ng-template #mobileDialogTitle>\n <div class=\"fdp-value-help-dialog__mobile-title\">\n @if (hasSelectedTab) {\n <ng-template [ngTemplateOutlet]=\"selectedTabHeader\"></ng-template>\n } @else {\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" [attr.id]=\"headerId\" fd-title>{{\n dialogTitle\n }}</span>\n }\n </div>\n <ng-template [ngTemplateOutlet]=\"mobileTabs\"></ng-template>\n</ng-template>\n<ng-template #desktopTabs>\n @if (showSelectionTab && showDefineTab) {\n <nav fd-tab-nav class=\"fdp-value-help-dialog__tabs\">\n @if (showSelectionTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.selectFromList)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.selectFromList\"\n [tabindex]=\"selectedTab === _tabTypes.selectFromList ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.selectTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n @if (showDefineTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.defineConditions)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.defineConditions\"\n [tabindex]=\"selectedTab === _tabTypes.defineConditions ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.defineTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n </nav>\n }\n</ng-template>\n<ng-template #mobileTabs>\n @if (!hasSelectedTab && showSelectionTab && showDefineTab) {\n <div>\n @if (showSelectionTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.selectTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n (click)=\"switchTab(_tabTypes.selectFromList)\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.selectTabTitle' | fdTranslate }\n \"\n ></fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n @if (showDefineTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.defineTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.defineTabTitle' | fdTranslate }\n \"\n (click)=\"switchTab(_tabTypes.defineConditions)\"\n >\n </fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n </div>\n }\n</ng-template>\n<ng-template #selectedTabHeader>\n @switch (selectedTab) {\n @case (_tabTypes.selectFromList) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.selectTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n @case (_tabTypes.advancedSearch) {\n <ng-template [ngTemplateOutlet]=\"advancedHeader\"></ng-template>\n }\n @case (_tabTypes.defineConditions) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.defineTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n }\n</ng-template>\n<ng-template #conditionValue let-item=\"item\">\n @if (item.strategy !== 'empty' && item.strategy !== 'not_empty') {\n <span>\n {{ item | displayFnPipe: conditionDisplayFn : _displayedFilters }}\n </span>\n } @else {\n @if (item.strategy === 'not_empty') {\n !(<ng-template [ngTemplateOutlet]=\"emptyConditionText\"></ng-template>)\n } @else {\n &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt;\n }\n }\n</ng-template>\n<ng-template #emptyConditionText> &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt; </ng-template>\n", styles: [".fdp-value-help-dialog .fd-dialog__body{display:flex;flex-direction:column;overflow:hidden}.fdp-value-help-dialog .fd-title--h5{padding:.5rem 0}.fdp-value-help-dialog .fd-toolbar{background:none;border:none;padding:.1735rem .5rem;height:auto;min-height:1.625rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__advanced-search{padding-top:1rem}.fdp-value-help-dialog__advanced-search,.fdp-value-help-dialog .fd-dialog__body{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__advanced-filters{padding-top:1rem}.fdp-value-help-dialog__advanced-filters label{height:auto}.fdp-value-help-dialog__toggle-filters{display:flex;justify-content:flex-end;align-items:flex-end}.fdp-value-help-dialog__toggle-filters .fd-button{margin-bottom:.25rem}.fdp-value-help-dialog__advanced-actions{display:flex;align-items:center;justify-content:flex-end}.fdp-value-help-dialog-mobile .fdp-value-help-dialog__advanced-actions{justify-content:flex-start}.fdp-value-help-dialog__advanced-actions .fd-toolbar{padding:0}.fdp-value-help-dialog .fd-bar.fd-bar--cozy{height:auto}.fdp-value-help-dialog .fd-dialog__header{box-shadow:none}.fdp-value-help-dialog .fd-dialog__header .fd-title{display:flex;align-items:center;padding-left:2rem;padding-right:2rem;min-height:2.5rem;box-shadow:none;border-bottom:none;background-color:var(--sapObjectHeader_Background, #fff);position:relative;z-index:2}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title{display:flex;border-bottom:1px solid #d9d9d9;border-bottom:1px solid var(--sapGroup_TitleBorderColor, #d9d9d9)}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title .fd-title{flex:1 1 auto;border:none}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__tabs{position:relative}.fdp-value-help-dialog .fd-dialog__header,.fdp-value-help-dialog .fd-dialog__footer{height:auto;flex-direction:column}.fdp-value-help-dialog .fd-dialog__header.fd-bar,.fdp-value-help-dialog .fd-dialog__footer.fd-bar{padding:0}.fdp-value-help-dialog .fd-dialog__footer{border-top:none}.fdp-value-help-dialog__content-holder{padding:0 2rem 1rem;display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;min-height:20rem}.fdp-value-help-dialog__row{padding:0 2rem 1rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__selection-row{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__tokens-wrapper{display:flex}.fdp-value-help-dialog__tokens{flex:1 1 auto;overflow:hidden;align-items:center;border:1px solid var(--sapContent_ForegroundBorderColor, #89919a);margin-right:.5rem;border-radius:var(--sapElement_BorderCornerRadius, .25rem);background:none}.fdp-value-help-dialog__tokens fd-toolbar{flex:1 1 auto;overflow:hidden}.fdp-value-help-dialog__tokens-clear{height:auto;min-width:2rem;padding:.125rem 0;justify-content:center}.fdp-value-help-dialog__actions-row{padding:.5rem 1rem;display:flex;align-items:center;justify-content:flex-end;border-top:.0625rem solid #d9d9d9;border-top:.0625rem solid var(--sapPageFooter_BorderColor, #d9d9d9)}.fdp-value-help-dialog__actions-row .fd-button{margin-left:.5rem}.fdp-value-help-dialog .fdp-value-help-dialog__hidden_label{display:none!important}.fdp-value-help-dialog__table-busy-indicator{height:100%}\n"], dependencies: [{ kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible"] }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: TokenizerComponent, selector: "fd-tokenizer", inputs: ["class", "disableKeyboardDeletion", "compactCollapse", "tokenizerFocusable", "inputValue", "glyph", "glyphFont", "moreTerm", "open", "showOverflowPopover"], outputs: ["moreClickedEvent"] }, { kind: "component", type: TokenComponent, selector: "fd-token", inputs: ["disabled", "selected", "readOnly"], outputs: ["onCloseClick", "onRemove", "onTokenClick", "onTokenKeydown", "elementFocused"] }, { kind: "directive", type: ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: TokenizerInputDirective, selector: "[fdTokenizerInput], [fd-tokenizer-input]", inputs: ["class"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "directive", type: LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl"] }, { kind: "component", type: SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "component", type: ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "ariaValueText", "title", "label", "ariaLive"] }, { kind: "component", type: FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }, { kind: "component", type: SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "component", type: SelectTabComponent, selector: "fdp-select-tab", inputs: ["selectTabTitleId", "selectTabCountId", "selected", "loading", "filters", "selection", "allowSelectAll", "uniqueKey", "pageSize", "defaultMobileHeaders", "displayedData"], outputs: ["select"] }, { kind: "component", type: DefineTabComponent, selector: "fdp-define-tab", inputs: ["titleId", "selectedId", "conditions", "strategyLabels"], outputs: ["includeChange", "excludeChange", "conditionChange"] }, { kind: "directive", type: ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate"] }, { kind: "directive", type: ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role", "ariaHidden"] }, { kind: "component", type: TabNavComponent, selector: "[fd-tab-nav]", inputs: ["class", "mode", "size"] }, { kind: "directive", type: TabItemDirective, selector: "[fd-tab-item]", inputs: ["class", "tabItemState", "header", "disabled", "fdTabItemClass"] }, { kind: "directive", type: TabLinkDirective, selector: "[fd-tab-link]", inputs: ["active", "disabled"], outputs: ["keyDown", "focused"] }, { kind: "directive", type: TabTagDirective, selector: "[fdTabTag], [fd-tab-tag]" }, { kind: "component", type: BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "clear", "size", "role"] }, { kind: "directive", type: BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "directive", type: BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }, { kind: "pipe", type: DisplayFnPipe, name: "displayFnPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1342
1344
  }
1343
1345
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PlatformValueHelpDialogComponent, decorators: [{
1344
1346
  type: Component,
@@ -1389,10 +1391,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
1389
1391
  SlicePipe,
1390
1392
  FdTranslatePipe,
1391
1393
  DisplayFnPipe
1392
- ], template: "<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #container>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header [attr.dir]=\"_dir$()\">\n <ng-template fdkTemplate=\"header\">\n <ng-template [ngTemplateOutlet]=\"mobile ? mobileDialogTitle : desktopDialogTitle\"></ng-template>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body [attr.dir]=\"_dir$()\">\n @if (!mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n <div fd-scrollbar class=\"fdp-value-help-dialog__content-holder\">\n @if (mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.selectFromList) {\n <ng-template [ngTemplateOutlet]=\"selectionContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.defineConditions) {\n <ng-template [ngTemplateOutlet]=\"defineConditionsContent\"></ng-template>\n }\n </div>\n </fd-dialog-body>\n <fd-dialog-footer [attr.dir]=\"_dir$()\">\n <ng-template fdkTemplate=\"footer\">\n @if (!isMobileAdvancedSearchActive) {\n <div\n class=\"fdp-value-help-dialog__row fdp-value-help-dialog__selection-row\"\n [attr.aria-label]=\"'platformVHD.selectedAndConditionLabel' | fdTranslate\"\n >\n <span\n role=\"heading\"\n [attr.aria-level]=\"_headingLevel()\"\n fd-title\n class=\"selected-and-condition-title\"\n [id]=\"id + '-selected-item'\"\n >\n @if (hasSelectedAndConditions) {\n {{ 'platformVHD.selectedAndConditionLabel' | fdTranslate }}\n ({{ selectedItems.length + validConditions.length }})\n } @else {\n {{ 'platformVHD.selectedEmptyLabel' | fdTranslate }}\n }\n </span>\n <div class=\"fdp-value-help-dialog__tokens-wrapper\">\n <div class=\"fdp-value-help-dialog__tokens\">\n <!-- Selected items -->\n <fd-tokenizer>\n @for (\n item of selectedItems;\n track _trackBySelectedFn(selectedIndex, item);\n let selectedIndex = $index\n ) {\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeSelected(selectedIndex)\"\n >{{\n !!tokenizerFn\n ? (item | displayFnPipe: tokenizerFn)\n : item[tokenViewField]\n }}\n </fd-token>\n }\n @for (\n item of validConditions;\n track _trackByConditionFn(conditionIndex, item);\n let conditionIndex = $index\n ) {\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeCondition(conditionIndex)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"conditionValue\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n </fd-token>\n }\n <input fd-form-control fd-tokenizer-input [disabled]=\"!hasSelectedAndConditions\" />\n </fd-tokenizer>\n </div>\n <button\n (click)=\"clearSelectedAndConditionItems()\"\n class=\"fdp-value-help-dialog__tokens-clear\"\n fd-button\n [disabled]=\"!hasSelectedAndConditions\"\n fdType=\"transparent\"\n [title]=\"'platformVHD.footerClearSelectedTitle' | fdTranslate\"\n glyph=\"decline\"\n [ariaLabel]=\"'platformVHD.footerClearSelectedAriaLabel' | fdTranslate\"\n ></button>\n </div>\n </div>\n }\n <div class=\"fdp-value-help-dialog__actions-row\">\n @if (mobile && isOpenAdvanced) {\n <button\n fd-button\n data-go-advanced\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"searchAdvanced()\"\n ></button>\n }\n @if (selectedTab !== _tabTypes.advancedSearch) {\n <button\n fd-button\n data-succes\n [disabled]=\"loadingState\"\n [label]=\"'platformVHD.successButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"success()\"\n ></button>\n }\n <button\n fd-button\n data-dismiss-dialog\n [label]=\"'platformVHD.cancelButtonLabel' | fdTranslate\"\n fdType=\"transparent\"\n (click)=\"dismiss()\"\n ></button>\n </div>\n </ng-template>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n<ng-template #advancedSearchContent>\n @if (isSelectionTab) {\n <form class=\"fdp-value-help-dialog__row fdp-value-help-dialog__advanced-search\" [id]=\"'advanced-search-' + id\">\n @if (!mobile || (mobile && !isOpenAdvanced)) {\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"mobile ? 12 : 6\" [colXl]=\"mobile ? 12 : 6\">\n <fdp-search-field\n [placeholder]=\"'platformVHD.searchPlaceholder' | fdTranslate\"\n (searchSubmit)=\"search()\"\n (inputChange)=\"_mainSearch = $event.text\"\n ></fdp-search-field>\n </div>\n @if (_hasAdvanced) {\n <div\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"mobile ? 12 : 6\"\n [colXl]=\"mobile ? 12 : 6\"\n class=\"fdp-value-help-dialog__advanced-actions\"\n >\n <fd-toolbar [clearBorder]=\"true\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n @if (_hasAdvanced) {\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n [label]=\"\n (mobile\n ? 'platformVHD.searchAdvancedSearchLabel'\n : isOpenAdvanced\n ? 'platformVHD.searchHideAdvancedSearchLabel'\n : 'platformVHD.searchShowAdvancedSearchLabel'\n ) | fdTranslate\n \"\n (click)=\"toggleAdvancedSearch()\"\n ></button>\n }\n <button\n fd-toolbar-item\n type=\"submit\"\n fd-button\n fdType=\"emphasized\"\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (click)=\"filter()\"\n ></button>\n </fd-toolbar>\n </div>\n }\n </div>\n </fd-layout-grid>\n }\n @if (isOpenAdvanced && _hasAdvanced) {\n <div [id]=\"'advanced-search-content-' + id\" class=\"fdp-value-help-dialog__advanced-filters\">\n <fd-busy-indicator [loading]=\"loadingState && _firstLoadingDone\" [block]=\"true\">\n @if (_firstLoadingDone) {\n <fd-layout-grid\n [class.fdp-value-help-dialog__with-toggle-all]=\"filters.length > maxShownInitialFilters\"\n >\n <div fdLayoutGridRow>\n @for (\n filter of _displayedFilters | slice: 0 : shownFilterCount + 1;\n track _trackByFilterFn($index, filter)\n ) {\n @if (filter.advanced) {\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"6\" [colXl]=\"3\">\n <label\n class=\"fd-form-group__header\"\n fd-form-label\n [for]=\"'input' + filter.key\"\n >{{ filter.label }}:</label\n >\n @if (filter.filterDef) {\n <ng-template\n [ngTemplateOutlet]=\"filter.filterDef.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: filter }\"\n ></ng-template>\n } @else {\n <input\n [(ngModel)]=\"filter.value\"\n fd-form-control\n type=\"text\"\n [name]=\"'search-by-' + filter.label\"\n [id]=\"'input' + filter.key\"\n />\n }\n </div>\n }\n }\n @if (filters.length > maxShownInitialFilters) {\n <div\n colGrow\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"6\"\n [colXl]=\"3\"\n class=\"fdp-value-help-dialog__toggle-filters\"\n >\n <button\n fd-button\n fdType=\"transparent\"\n (click)=\"toggleShownFilters()\"\n [label]=\"\n (isShowAllFilters\n ? 'platformVHD.searchHideAllAdvancedSearchLabel'\n : 'platformVHD.searchShowAllAdvancedSearchLabel'\n ) | fdTranslate\n \"\n ></button>\n </div>\n }\n </div>\n </fd-layout-grid>\n } @else {\n <fd-skeleton width=\"100%\" height=\"100px\">\n <svg:rect x=\"0\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"35%\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"35%\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"0\" y=\"60\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"80\" rx=\"4\" width=\"25%\" height=\"16\" />\n </fd-skeleton>\n }\n </fd-busy-indicator>\n </div>\n }\n </form>\n }\n</ng-template>\n<ng-template #selectionContent>\n <fd-busy-indicator\n [loading]=\"loadingState && _firstLoadingDone\"\n [block]=\"true\"\n class=\"fdp-value-help-dialog__table-busy-indicator\"\n >\n <fdp-select-tab\n [selected]=\"selectedItems\"\n [loading]=\"loadingState && !_firstLoadingDone\"\n [uid]=\"id\"\n [displayedData]=\"_displayedData\"\n [tabTitle]=\"'platformVHD.selectTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n [selection]=\"searchSelection\"\n [uniqueKey]=\"uniqueKey\"\n [pageSize]=\"searchTablePageSize\"\n [defaultMobileHeaders]=\"searchTableMobileHeaders\"\n [filters]=\"_displayedFilters\"\n [allowSelectAll]=\"allowSelectAll\"\n (select)=\"onSelect($event)\"\n ></fdp-select-tab>\n </fd-busy-indicator>\n</ng-template>\n<ng-template #defineConditionsContent>\n <div fd-scrollbar>\n <fdp-define-tab\n [strategyLabels]=\"defineStrategyLabels\"\n [conditions]=\"conditionItems\"\n [uid]=\"id\"\n [tabTitle]=\"'platformVHD.defineTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n (conditionChange)=\"onConditionChange($event)\"\n ></fdp-define-tab>\n </div>\n</ng-template>\n<ng-template #dialogTitleText>\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" [attr.id]=\"headerId\" fd-title>{{ dialogTitle }}</span>\n</ng-template>\n<ng-template #tabLink let-title=\"title\" let-type=\"type\">\n @if (selectedTab === type && showSelectionTab && showDefineTab) {\n <button\n fd-button\n glyph=\"navigation-left-arrow\"\n fdType=\"transparent\"\n (click)=\"switchTab()\"\n [title]=\"'platformVHD.selectMobileTabBackBtnTitle' | fdTranslate\"\n ></button>\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" fd-title>{{ title }}</span>\n }\n @if (selectedTab !== type) {\n <a\n fd-list-link\n (click)=\"switchTab(type)\"\n [title]=\"'platformVHD.selectMobileTabBtnOpenDialogLabel' | fdTranslate\"\n >\n <span fd-list-title>{{ title }}</span>\n <i fd-list-icon glyph=\"navigation-right-arrow\"></i>\n </a>\n }\n</ng-template>\n<ng-template #advancedHeader>\n <button fd-button glyph=\"navigation-left-arrow\" fdType=\"transparent\" (click)=\"toggleAdvancedSearch()\"></button>\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" fd-title>{{\n 'platformVHD.searchAdvancedSearchLabel' | fdTranslate\n }}</span>\n</ng-template>\n<ng-template #desktopDialogTitle>\n <ng-template [ngTemplateOutlet]=\"dialogTitleText\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"desktopTabs\"></ng-template>\n</ng-template>\n<ng-template #mobileDialogTitle>\n <div class=\"fdp-value-help-dialog__mobile-title\">\n @if (hasSelectedTab) {\n <ng-template [ngTemplateOutlet]=\"selectedTabHeader\"></ng-template>\n } @else {\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" [attr.id]=\"headerId\" fd-title>{{\n dialogTitle\n }}</span>\n }\n </div>\n <ng-template [ngTemplateOutlet]=\"mobileTabs\"></ng-template>\n</ng-template>\n<ng-template #desktopTabs>\n @if (showSelectionTab && showDefineTab) {\n <nav fd-tab-nav class=\"fdp-value-help-dialog__tabs\">\n @if (showSelectionTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.selectFromList)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.selectFromList\"\n [tabindex]=\"selectedTab === _tabTypes.selectFromList ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.selectTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n @if (showDefineTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.defineConditions)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.defineConditions\"\n [tabindex]=\"selectedTab === _tabTypes.defineConditions ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.defineTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n </nav>\n }\n</ng-template>\n<ng-template #mobileTabs>\n @if (!hasSelectedTab && showSelectionTab && showDefineTab) {\n <div>\n @if (showSelectionTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.selectTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n (click)=\"switchTab(_tabTypes.selectFromList)\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.selectTabTitle' | fdTranslate }\n \"\n ></fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n @if (showDefineTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.defineTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.defineTabTitle' | fdTranslate }\n \"\n (click)=\"switchTab(_tabTypes.defineConditions)\"\n >\n </fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n </div>\n }\n</ng-template>\n<ng-template #selectedTabHeader>\n @switch (selectedTab) {\n @case (_tabTypes.selectFromList) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.selectTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n @case (_tabTypes.advancedSearch) {\n <ng-template [ngTemplateOutlet]=\"advancedHeader\"></ng-template>\n }\n @case (_tabTypes.defineConditions) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.defineTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n }\n</ng-template>\n<ng-template #conditionValue let-item=\"item\">\n @if (item.strategy !== 'empty' && item.strategy !== 'not_empty') {\n <span>\n {{ item | displayFnPipe: conditionDisplayFn : _displayedFilters }}\n </span>\n } @else {\n @if (item.strategy === 'not_empty') {\n !(<ng-template [ngTemplateOutlet]=\"emptyConditionText\"></ng-template>)\n } @else {\n &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt;\n }\n }\n</ng-template>\n<ng-template #emptyConditionText> &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt; </ng-template>\n", styles: [".fdp-value-help-dialog .fd-dialog__body{display:flex;flex-direction:column;overflow:hidden}.fdp-value-help-dialog .fd-title--h5{padding:.5rem 0}.fdp-value-help-dialog .fd-toolbar{background:none;border:none;padding:.1735rem .5rem;height:auto;min-height:1.625rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__advanced-search{padding-top:1rem}.fdp-value-help-dialog__advanced-search,.fdp-value-help-dialog .fd-dialog__body{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__advanced-filters{padding-top:1rem}.fdp-value-help-dialog__advanced-filters label{height:auto}.fdp-value-help-dialog__toggle-filters{display:flex;justify-content:flex-end;align-items:flex-end}.fdp-value-help-dialog__toggle-filters .fd-button{margin-bottom:.25rem}.fdp-value-help-dialog__advanced-actions{display:flex;align-items:center;justify-content:flex-end}.fdp-value-help-dialog-mobile .fdp-value-help-dialog__advanced-actions{justify-content:flex-start}.fdp-value-help-dialog__advanced-actions .fd-toolbar{padding:0}.fdp-value-help-dialog .fd-bar.fd-bar--cozy{height:auto}.fdp-value-help-dialog .fd-dialog__header{box-shadow:none}.fdp-value-help-dialog .fd-dialog__header .fd-title{display:flex;align-items:center;padding-left:2rem;padding-right:2rem;min-height:2.5rem;box-shadow:none;border-bottom:none;background-color:var(--sapObjectHeader_Background, #fff);position:relative;z-index:2}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title{display:flex;border-bottom:1px solid #d9d9d9;border-bottom:1px solid var(--sapGroup_TitleBorderColor, #d9d9d9)}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title .fd-title{flex:1 1 auto;border:none}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__tabs{position:relative}.fdp-value-help-dialog .fd-dialog__header,.fdp-value-help-dialog .fd-dialog__footer{height:auto;flex-direction:column}.fdp-value-help-dialog .fd-dialog__header.fd-bar,.fdp-value-help-dialog .fd-dialog__footer.fd-bar{padding:0}.fdp-value-help-dialog .fd-dialog__footer{border-top:none}.fdp-value-help-dialog__content-holder{padding:0 2rem 1rem;display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;min-height:20rem}.fdp-value-help-dialog__row{padding:0 2rem 1rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__selection-row{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__tokens-wrapper{display:flex}.fdp-value-help-dialog__tokens{flex:1 1 auto;overflow:hidden;align-items:center;border:1px solid var(--sapContent_ForegroundBorderColor, #89919a);margin-right:.5rem;border-radius:var(--sapElement_BorderCornerRadius, .25rem);background:none}.fdp-value-help-dialog__tokens fd-toolbar{flex:1 1 auto;overflow:hidden}.fdp-value-help-dialog__tokens-clear{height:auto;min-width:2rem;padding:.125rem 0;justify-content:center}.fdp-value-help-dialog__actions-row{padding:.5rem 1rem;display:flex;align-items:center;justify-content:flex-end;border-top:.0625rem solid #d9d9d9;border-top:.0625rem solid var(--sapPageFooter_BorderColor, #d9d9d9)}.fdp-value-help-dialog__actions-row .fd-button{margin-left:.5rem}.fdp-value-help-dialog .fdp-value-help-dialog__hidden_label{display:none!important}.fdp-value-help-dialog__table-busy-indicator{height:100%}\n"] }]
1393
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.DialogService }, { type: i2.RtlService, decorators: [{
1394
- type: Optional
1395
- }] }], propDecorators: { id: [{
1394
+ ], template: "<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #container>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header [attr.dir]=\"dir()\">\n <ng-template fdkTemplate=\"header\">\n <ng-template [ngTemplateOutlet]=\"mobile ? mobileDialogTitle : desktopDialogTitle\"></ng-template>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body [attr.dir]=\"dir()\">\n @if (!mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n <div fd-scrollbar class=\"fdp-value-help-dialog__content-holder\">\n @if (mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.selectFromList) {\n <ng-template [ngTemplateOutlet]=\"selectionContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.defineConditions) {\n <ng-template [ngTemplateOutlet]=\"defineConditionsContent\"></ng-template>\n }\n </div>\n </fd-dialog-body>\n <fd-dialog-footer [attr.dir]=\"dir()\">\n <ng-template fdkTemplate=\"footer\">\n @if (!isMobileAdvancedSearchActive) {\n <div\n class=\"fdp-value-help-dialog__row fdp-value-help-dialog__selection-row\"\n [attr.aria-label]=\"'platformVHD.selectedAndConditionLabel' | fdTranslate\"\n >\n <span\n role=\"heading\"\n [attr.aria-level]=\"_headingLevel()\"\n fd-title\n class=\"selected-and-condition-title\"\n [id]=\"id + '-selected-item'\"\n >\n @if (hasSelectedAndConditions) {\n {{ 'platformVHD.selectedAndConditionLabel' | fdTranslate }}\n ({{ selectedItems.length + validConditions.length }})\n } @else {\n {{ 'platformVHD.selectedEmptyLabel' | fdTranslate }}\n }\n </span>\n <div class=\"fdp-value-help-dialog__tokens-wrapper\">\n <div class=\"fdp-value-help-dialog__tokens\">\n <!-- Selected items -->\n <fd-tokenizer>\n @for (\n item of selectedItems;\n track _trackBySelectedFn(selectedIndex, item);\n let selectedIndex = $index\n ) {\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeSelected(selectedIndex)\"\n >{{\n !!tokenizerFn\n ? (item | displayFnPipe: tokenizerFn)\n : item[tokenViewField]\n }}\n </fd-token>\n }\n @for (\n item of validConditions;\n track _trackByConditionFn(conditionIndex, item);\n let conditionIndex = $index\n ) {\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeCondition(conditionIndex)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"conditionValue\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n </fd-token>\n }\n <input fd-form-control fd-tokenizer-input [disabled]=\"!hasSelectedAndConditions\" />\n </fd-tokenizer>\n </div>\n <button\n (click)=\"clearSelectedAndConditionItems()\"\n class=\"fdp-value-help-dialog__tokens-clear\"\n fd-button\n [disabled]=\"!hasSelectedAndConditions\"\n fdType=\"transparent\"\n [title]=\"'platformVHD.footerClearSelectedTitle' | fdTranslate\"\n glyph=\"decline\"\n [ariaLabel]=\"'platformVHD.footerClearSelectedAriaLabel' | fdTranslate\"\n ></button>\n </div>\n </div>\n }\n <div class=\"fdp-value-help-dialog__actions-row\">\n @if (mobile && isOpenAdvanced) {\n <button\n fd-button\n data-go-advanced\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"searchAdvanced()\"\n ></button>\n }\n @if (selectedTab !== _tabTypes.advancedSearch) {\n <button\n fd-button\n data-succes\n [disabled]=\"loadingState\"\n [label]=\"'platformVHD.successButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"success()\"\n ></button>\n }\n <button\n fd-button\n data-dismiss-dialog\n [label]=\"'platformVHD.cancelButtonLabel' | fdTranslate\"\n fdType=\"transparent\"\n (click)=\"dismiss()\"\n ></button>\n </div>\n </ng-template>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n<ng-template #advancedSearchContent>\n @if (isSelectionTab) {\n <form class=\"fdp-value-help-dialog__row fdp-value-help-dialog__advanced-search\" [id]=\"'advanced-search-' + id\">\n @if (!mobile || (mobile && !isOpenAdvanced)) {\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"mobile ? 12 : 6\" [colXl]=\"mobile ? 12 : 6\">\n <fdp-search-field\n [placeholder]=\"'platformVHD.searchPlaceholder' | fdTranslate\"\n (searchSubmit)=\"search()\"\n (inputChange)=\"_mainSearch = $event.text\"\n ></fdp-search-field>\n </div>\n @if (_hasAdvanced) {\n <div\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"mobile ? 12 : 6\"\n [colXl]=\"mobile ? 12 : 6\"\n class=\"fdp-value-help-dialog__advanced-actions\"\n >\n <fd-toolbar [clearBorder]=\"true\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n @if (_hasAdvanced) {\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n [label]=\"\n (mobile\n ? 'platformVHD.searchAdvancedSearchLabel'\n : isOpenAdvanced\n ? 'platformVHD.searchHideAdvancedSearchLabel'\n : 'platformVHD.searchShowAdvancedSearchLabel'\n ) | fdTranslate\n \"\n (click)=\"toggleAdvancedSearch()\"\n ></button>\n }\n <button\n fd-toolbar-item\n type=\"submit\"\n fd-button\n fdType=\"emphasized\"\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (click)=\"filter()\"\n ></button>\n </fd-toolbar>\n </div>\n }\n </div>\n </fd-layout-grid>\n }\n @if (isOpenAdvanced && _hasAdvanced) {\n <div [id]=\"'advanced-search-content-' + id\" class=\"fdp-value-help-dialog__advanced-filters\">\n <fd-busy-indicator [loading]=\"loadingState && _firstLoadingDone\" [block]=\"true\">\n @if (_firstLoadingDone) {\n <fd-layout-grid\n [class.fdp-value-help-dialog__with-toggle-all]=\"filters.length > maxShownInitialFilters\"\n >\n <div fdLayoutGridRow>\n @for (\n filter of _displayedFilters | slice: 0 : shownFilterCount + 1;\n track _trackByFilterFn($index, filter)\n ) {\n @if (filter.advanced) {\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"6\" [colXl]=\"3\">\n <label\n class=\"fd-form-group__header\"\n fd-form-label\n [for]=\"'input' + filter.key\"\n >{{ filter.label }}:</label\n >\n @if (filter.filterDef) {\n <ng-template\n [ngTemplateOutlet]=\"filter.filterDef.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: filter }\"\n ></ng-template>\n } @else {\n <input\n [(ngModel)]=\"filter.value\"\n fd-form-control\n type=\"text\"\n [name]=\"'search-by-' + filter.label\"\n [id]=\"'input' + filter.key\"\n />\n }\n </div>\n }\n }\n @if (filters.length > maxShownInitialFilters) {\n <div\n colGrow\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"6\"\n [colXl]=\"3\"\n class=\"fdp-value-help-dialog__toggle-filters\"\n >\n <button\n fd-button\n fdType=\"transparent\"\n (click)=\"toggleShownFilters()\"\n [label]=\"\n (isShowAllFilters\n ? 'platformVHD.searchHideAllAdvancedSearchLabel'\n : 'platformVHD.searchShowAllAdvancedSearchLabel'\n ) | fdTranslate\n \"\n ></button>\n </div>\n }\n </div>\n </fd-layout-grid>\n } @else {\n <fd-skeleton width=\"100%\" height=\"100px\">\n <svg:rect x=\"0\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"35%\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"35%\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"0\" y=\"60\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"80\" rx=\"4\" width=\"25%\" height=\"16\" />\n </fd-skeleton>\n }\n </fd-busy-indicator>\n </div>\n }\n </form>\n }\n</ng-template>\n<ng-template #selectionContent>\n <fd-busy-indicator\n [loading]=\"loadingState && _firstLoadingDone\"\n [block]=\"true\"\n class=\"fdp-value-help-dialog__table-busy-indicator\"\n >\n <fdp-select-tab\n [selected]=\"selectedItems\"\n [loading]=\"loadingState && !_firstLoadingDone\"\n [uid]=\"id\"\n [displayedData]=\"_displayedData\"\n [tabTitle]=\"'platformVHD.selectTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n [selection]=\"searchSelection\"\n [uniqueKey]=\"uniqueKey\"\n [pageSize]=\"searchTablePageSize\"\n [defaultMobileHeaders]=\"searchTableMobileHeaders\"\n [filters]=\"_displayedFilters\"\n [allowSelectAll]=\"allowSelectAll\"\n (select)=\"onSelect($event)\"\n ></fdp-select-tab>\n </fd-busy-indicator>\n</ng-template>\n<ng-template #defineConditionsContent>\n <div fd-scrollbar>\n <fdp-define-tab\n [strategyLabels]=\"defineStrategyLabels\"\n [conditions]=\"conditionItems\"\n [uid]=\"id\"\n [tabTitle]=\"'platformVHD.defineTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n (conditionChange)=\"onConditionChange($event)\"\n ></fdp-define-tab>\n </div>\n</ng-template>\n<ng-template #dialogTitleText>\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" [attr.id]=\"headerId\" fd-title>{{ dialogTitle }}</span>\n</ng-template>\n<ng-template #tabLink let-title=\"title\" let-type=\"type\">\n @if (selectedTab === type && showSelectionTab && showDefineTab) {\n <button\n fd-button\n glyph=\"navigation-left-arrow\"\n fdType=\"transparent\"\n (click)=\"switchTab()\"\n [title]=\"'platformVHD.selectMobileTabBackBtnTitle' | fdTranslate\"\n ></button>\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" fd-title>{{ title }}</span>\n }\n @if (selectedTab !== type) {\n <a\n fd-list-link\n (click)=\"switchTab(type)\"\n [title]=\"'platformVHD.selectMobileTabBtnOpenDialogLabel' | fdTranslate\"\n >\n <span fd-list-title>{{ title }}</span>\n <i fd-list-icon glyph=\"navigation-right-arrow\"></i>\n </a>\n }\n</ng-template>\n<ng-template #advancedHeader>\n <button fd-button glyph=\"navigation-left-arrow\" fdType=\"transparent\" (click)=\"toggleAdvancedSearch()\"></button>\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" fd-title>{{\n 'platformVHD.searchAdvancedSearchLabel' | fdTranslate\n }}</span>\n</ng-template>\n<ng-template #desktopDialogTitle>\n <ng-template [ngTemplateOutlet]=\"dialogTitleText\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"desktopTabs\"></ng-template>\n</ng-template>\n<ng-template #mobileDialogTitle>\n <div class=\"fdp-value-help-dialog__mobile-title\">\n @if (hasSelectedTab) {\n <ng-template [ngTemplateOutlet]=\"selectedTabHeader\"></ng-template>\n } @else {\n <span role=\"heading\" [attr.aria-level]=\"_headingLevel()\" [attr.id]=\"headerId\" fd-title>{{\n dialogTitle\n }}</span>\n }\n </div>\n <ng-template [ngTemplateOutlet]=\"mobileTabs\"></ng-template>\n</ng-template>\n<ng-template #desktopTabs>\n @if (showSelectionTab && showDefineTab) {\n <nav fd-tab-nav class=\"fdp-value-help-dialog__tabs\">\n @if (showSelectionTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.selectFromList)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.selectFromList\"\n [tabindex]=\"selectedTab === _tabTypes.selectFromList ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.selectTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n @if (showDefineTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.defineConditions)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.defineConditions\"\n [tabindex]=\"selectedTab === _tabTypes.defineConditions ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.defineTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n </nav>\n }\n</ng-template>\n<ng-template #mobileTabs>\n @if (!hasSelectedTab && showSelectionTab && showDefineTab) {\n <div>\n @if (showSelectionTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.selectTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n (click)=\"switchTab(_tabTypes.selectFromList)\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.selectTabTitle' | fdTranslate }\n \"\n ></fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n @if (showDefineTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.defineTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.defineTabTitle' | fdTranslate }\n \"\n (click)=\"switchTab(_tabTypes.defineConditions)\"\n >\n </fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n </div>\n }\n</ng-template>\n<ng-template #selectedTabHeader>\n @switch (selectedTab) {\n @case (_tabTypes.selectFromList) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.selectTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n @case (_tabTypes.advancedSearch) {\n <ng-template [ngTemplateOutlet]=\"advancedHeader\"></ng-template>\n }\n @case (_tabTypes.defineConditions) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.defineTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n }\n</ng-template>\n<ng-template #conditionValue let-item=\"item\">\n @if (item.strategy !== 'empty' && item.strategy !== 'not_empty') {\n <span>\n {{ item | displayFnPipe: conditionDisplayFn : _displayedFilters }}\n </span>\n } @else {\n @if (item.strategy === 'not_empty') {\n !(<ng-template [ngTemplateOutlet]=\"emptyConditionText\"></ng-template>)\n } @else {\n &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt;\n }\n }\n</ng-template>\n<ng-template #emptyConditionText> &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt; </ng-template>\n", styles: [".fdp-value-help-dialog .fd-dialog__body{display:flex;flex-direction:column;overflow:hidden}.fdp-value-help-dialog .fd-title--h5{padding:.5rem 0}.fdp-value-help-dialog .fd-toolbar{background:none;border:none;padding:.1735rem .5rem;height:auto;min-height:1.625rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__advanced-search{padding-top:1rem}.fdp-value-help-dialog__advanced-search,.fdp-value-help-dialog .fd-dialog__body{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__advanced-filters{padding-top:1rem}.fdp-value-help-dialog__advanced-filters label{height:auto}.fdp-value-help-dialog__toggle-filters{display:flex;justify-content:flex-end;align-items:flex-end}.fdp-value-help-dialog__toggle-filters .fd-button{margin-bottom:.25rem}.fdp-value-help-dialog__advanced-actions{display:flex;align-items:center;justify-content:flex-end}.fdp-value-help-dialog-mobile .fdp-value-help-dialog__advanced-actions{justify-content:flex-start}.fdp-value-help-dialog__advanced-actions .fd-toolbar{padding:0}.fdp-value-help-dialog .fd-bar.fd-bar--cozy{height:auto}.fdp-value-help-dialog .fd-dialog__header{box-shadow:none}.fdp-value-help-dialog .fd-dialog__header .fd-title{display:flex;align-items:center;padding-left:2rem;padding-right:2rem;min-height:2.5rem;box-shadow:none;border-bottom:none;background-color:var(--sapObjectHeader_Background, #fff);position:relative;z-index:2}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title{display:flex;border-bottom:1px solid #d9d9d9;border-bottom:1px solid var(--sapGroup_TitleBorderColor, #d9d9d9)}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title .fd-title{flex:1 1 auto;border:none}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__tabs{position:relative}.fdp-value-help-dialog .fd-dialog__header,.fdp-value-help-dialog .fd-dialog__footer{height:auto;flex-direction:column}.fdp-value-help-dialog .fd-dialog__header.fd-bar,.fdp-value-help-dialog .fd-dialog__footer.fd-bar{padding:0}.fdp-value-help-dialog .fd-dialog__footer{border-top:none}.fdp-value-help-dialog__content-holder{padding:0 2rem 1rem;display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;min-height:20rem}.fdp-value-help-dialog__row{padding:0 2rem 1rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__selection-row{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__tokens-wrapper{display:flex}.fdp-value-help-dialog__tokens{flex:1 1 auto;overflow:hidden;align-items:center;border:1px solid var(--sapContent_ForegroundBorderColor, #89919a);margin-right:.5rem;border-radius:var(--sapElement_BorderCornerRadius, .25rem);background:none}.fdp-value-help-dialog__tokens fd-toolbar{flex:1 1 auto;overflow:hidden}.fdp-value-help-dialog__tokens-clear{height:auto;min-width:2rem;padding:.125rem 0;justify-content:center}.fdp-value-help-dialog__actions-row{padding:.5rem 1rem;display:flex;align-items:center;justify-content:flex-end;border-top:.0625rem solid #d9d9d9;border-top:.0625rem solid var(--sapPageFooter_BorderColor, #d9d9d9)}.fdp-value-help-dialog__actions-row .fd-button{margin-left:.5rem}.fdp-value-help-dialog .fdp-value-help-dialog__hidden_label{display:none!important}.fdp-value-help-dialog__table-busy-indicator{height:100%}\n"] }]
1395
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.DialogService }], propDecorators: { id: [{
1396
1396
  type: Input
1397
1397
  }], value: [{
1398
1398
  type: Input