@fundamental-ngx/platform 0.43.11 → 0.43.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +1 -1
- package/esm2020/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +1 -1
- package/esm2020/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +3 -3
- package/esm2020/form/multi-combobox/multi-combobox.module.mjs +8 -5
- package/esm2020/form/multi-input/multi-input.component.mjs +3 -3
- package/esm2020/form/multi-input/multi-input.module.mjs +8 -5
- package/esm2020/search-field/search-field.component.mjs +6 -2
- package/esm2020/smart-filter-bar/smart-filter-bar.component.mjs +1 -1
- package/esm2020/table/components/table-p13-dialog/columns/columns.component.mjs +1 -1
- package/esm2020/table/components/table-toolbar/table-toolbar.component.mjs +3 -3
- package/esm2020/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +1 -1
- package/esm2020/variant-management/variant-management.component.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-approval-flow.mjs +2 -2
- package/fesm2015/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-form.mjs +17 -11
- package/fesm2015/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-search-field.mjs +5 -1
- package/fesm2015/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-smart-filter-bar.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table.mjs +3 -3
- package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-approval-flow.mjs +2 -2
- package/fesm2020/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-form.mjs +17 -11
- package/fesm2020/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-search-field.mjs +5 -1
- package/fesm2020/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-smart-filter-bar.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table.mjs +3 -3
- package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/form/multi-combobox/multi-combobox.module.d.ts +1 -1
- package/form/multi-input/multi-input.module.d.ts +1 -1
- package/fundamental-ngx-platform-v0.43.13.tgz +0 -0
- package/package.json +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/search-field/search-field.component.d.ts +3 -1
- package/fundamental-ngx-platform-v0.43.11.tgz +0 -0
|
@@ -117,10 +117,10 @@ export class TableToolbarComponent {
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
TableToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableToolbarComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Table }, { token: i1.TableService }], target: i0.ɵɵFactoryTarget.Component });
|
|
120
|
-
TableToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableToolbarComponent, selector: "fdp-table-toolbar", inputs: { shouldOverflow: "shouldOverflow", title: "title", hideItemCount: "hideItemCount", hideSearchInput: "hideSearchInput", showExpandCollapseButtons: "showExpandCollapseButtons", searchSuggestions: "searchSuggestions", editMode: "editMode" }, providers: [{ provide: TABLE_TOOLBAR, useExisting: TableToolbarComponent }], queries: [{ propertyName: "tableToolbarActionsComponent", first: true, predicate: TableToolbarActionsComponent, descendants: true }, { propertyName: "_tableToolbarLeftActionsComponent", first: true, predicate: TableToolbarLeftActionsComponent, descendants: true }], viewQueries: [{ propertyName: "contentTemplateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template\n let-counter=\"counter\"\n let-sortable=\"sortable\"\n let-filterable=\"filterable\"\n let-groupable=\"groupable\"\n let-columns=\"columns\"\n>\n <fd-toolbar\n fdType=\"transparent\"\n [clearBorder]=\"true\"\n [titleId]=\"tableToolbarTitleId\"\n [title]=\"title && !hideItemCount ? title + ' (' + (counter | async) + ')' : title\"\n [shouldOverflow]=\"shouldOverflow\"\n >\n <ng-container *ngIf=\"_tableToolbarLeftActionsComponent\">\n <span fd-toolbar-item fdOverflowPriority=\"never\">\n <fd-toolbar-separator *ngIf=\"!!title || !hideItemCount\"></fd-toolbar-separator>\n <ng-container *ngTemplateOutlet=\"_tableToolbarLeftActionsComponent._contentTemplateRef\"></ng-container>\n </span>\n </ng-container>\n <fd-toolbar-spacer></fd-toolbar-spacer>\n\n <fdp-search-field\n fd-toolbar-item\n *ngIf=\"!hideSearchInput\"\n style=\"min-width: 15.5rem\"\n [placeholder]=\"'platformTable.toolbarSearchPlaceholder' | fdTranslate\"\n [inputText]=\"_searchInputText\"\n [disabled]=\"!!(tableLoading$ | async)\"\n [suggestions]=\"searchSuggestions\"\n [ariaLabelledBy]=\"tableToolbarTitleId\"\n (searchSubmit)=\"submitSearch($event)\"\n (cancelSearch)=\"submitSearch($event)\"\n ></fdp-search-field>\n\n <ng-container *ngIf=\"editMode !== 'none'\">\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCreateButtonLabel' | fdTranslate\"\n (click)=\"_addRow()\"\n ></fdp-button>\n <ng-container *ngIf=\"_showSaveButton\">\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionSaveButtonLabel' | fdTranslate\"\n *ngIf=\"_showSaveButton\"\n (click)=\"_saveRows()\"\n ></fdp-button>\n <fd-toolbar-separator></fd-toolbar-separator>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCancelButtonLabel' | fdTranslate\"\n (click)=\"_cancelEditing()\"\n buttonType=\"transparent\"\n ></fdp-button>\n </ng-container>\n <fd-toolbar-separator\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"\n tableToolbarActionsComponent ||\n (sortable | async) ||\n (filterable | async) ||\n (groupable | async) ||\n (columns | async)\n \"\n ></fd-toolbar-separator>\n </ng-container>\n\n <span fd-toolbar-item *ngIf=\"tableToolbarActionsComponent\" class=\"fdp-table-toolbar-actions\">\n <ng-container *ngTemplateOutlet=\"tableToolbarActionsComponent.contentTemplateRef\"></ng-container>\n </span>\n\n <ng-container\n *ngIf=\"\n showExpandCollapseButtons ||\n (sortable | async) ||\n (filterable | async) ||\n (groupable | async) ||\n (columns | async)\n \"\n >\n <fd-toolbar-separator\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"tableToolbarActionsComponent\"\n ></fd-toolbar-separator>\n\n <ng-container *ngIf=\"showExpandCollapseButtons\">\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"expand-all\"\n (click)=\"_expandAll()\"\n [title]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n ></fdp-button>\n\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"collapse-all\"\n (click)=\"_collapseAll()\"\n [title]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n ></fdp-button>\n </ng-container>\n\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"sortable | async\"\n glyph=\"sort\"\n [title]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openSorting()\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"filterable | async\"\n glyph=\"filter\"\n [title]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openFiltering()\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"groupable | async\"\n glyph=\"group-2\"\n [title]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openGrouping()\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"columns | async\"\n glyph=\"action-settings\"\n [title]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openColumns()\"\n ></fdp-button>\n </ng-container>\n </fd-toolbar>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i3.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i3.ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: i3.ToolbarSeparatorComponent, selector: "fd-toolbar-separator" }, { kind: "component", type: i4.ButtonComponent, selector: "fdp-button", inputs: ["glyphPosition", "label", "glyph", "buttonType", "toggled", "title", "ariaSelected", "ariaDisabled", "ariaExpanded", "ariaControlsId", "ariaPressed", "name", "type", "value"], outputs: ["buttonClicked"] }, { kind: "component", type: i5.SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "searchSuggestionMessage", "searchSuggestionNavigateMessage", "forceSearchButton"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
120
|
+
TableToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableToolbarComponent, selector: "fdp-table-toolbar", inputs: { shouldOverflow: "shouldOverflow", title: "title", hideItemCount: "hideItemCount", hideSearchInput: "hideSearchInput", showExpandCollapseButtons: "showExpandCollapseButtons", searchSuggestions: "searchSuggestions", editMode: "editMode" }, providers: [{ provide: TABLE_TOOLBAR, useExisting: TableToolbarComponent }], queries: [{ propertyName: "tableToolbarActionsComponent", first: true, predicate: TableToolbarActionsComponent, descendants: true }, { propertyName: "_tableToolbarLeftActionsComponent", first: true, predicate: TableToolbarLeftActionsComponent, descendants: true }], viewQueries: [{ propertyName: "contentTemplateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template\n let-counter=\"counter\"\n let-sortable=\"sortable\"\n let-filterable=\"filterable\"\n let-groupable=\"groupable\"\n let-columns=\"columns\"\n>\n <fd-toolbar\n fdType=\"transparent\"\n [clearBorder]=\"true\"\n [titleId]=\"tableToolbarTitleId\"\n [title]=\"title && !hideItemCount ? title + ' (' + (counter | async) + ')' : title\"\n [shouldOverflow]=\"shouldOverflow\"\n >\n <ng-container *ngIf=\"_tableToolbarLeftActionsComponent\">\n <span fd-toolbar-item fdOverflowPriority=\"never\">\n <fd-toolbar-separator *ngIf=\"!!title || !hideItemCount\"></fd-toolbar-separator>\n <ng-container *ngTemplateOutlet=\"_tableToolbarLeftActionsComponent._contentTemplateRef\"></ng-container>\n </span>\n </ng-container>\n <fd-toolbar-spacer></fd-toolbar-spacer>\n\n <fdp-search-field\n fd-toolbar-item\n *ngIf=\"!hideSearchInput\"\n style=\"min-width: 15.5rem\"\n [placeholder]=\"'platformTable.toolbarSearchPlaceholder' | fdTranslate\"\n [inputText]=\"_searchInputText\"\n [disabled]=\"!!(tableLoading$ | async)\"\n [suggestions]=\"searchSuggestions\"\n [ariaLabelledBy]=\"tableToolbarTitleId\"\n (searchSubmit)=\"submitSearch($event)\"\n (cancelSearch)=\"submitSearch($event)\"\n [disableSuggestionsFoundAnnouncer]=\"true\"\n ></fdp-search-field>\n\n <ng-container *ngIf=\"editMode !== 'none'\">\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCreateButtonLabel' | fdTranslate\"\n (click)=\"_addRow()\"\n ></fdp-button>\n <ng-container *ngIf=\"_showSaveButton\">\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionSaveButtonLabel' | fdTranslate\"\n *ngIf=\"_showSaveButton\"\n (click)=\"_saveRows()\"\n ></fdp-button>\n <fd-toolbar-separator></fd-toolbar-separator>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCancelButtonLabel' | fdTranslate\"\n (click)=\"_cancelEditing()\"\n buttonType=\"transparent\"\n ></fdp-button>\n </ng-container>\n <fd-toolbar-separator\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"\n tableToolbarActionsComponent ||\n (sortable | async) ||\n (filterable | async) ||\n (groupable | async) ||\n (columns | async)\n \"\n ></fd-toolbar-separator>\n </ng-container>\n\n <span fd-toolbar-item *ngIf=\"tableToolbarActionsComponent\" class=\"fdp-table-toolbar-actions\">\n <ng-container *ngTemplateOutlet=\"tableToolbarActionsComponent.contentTemplateRef\"></ng-container>\n </span>\n\n <ng-container\n *ngIf=\"\n showExpandCollapseButtons ||\n (sortable | async) ||\n (filterable | async) ||\n (groupable | async) ||\n (columns | async)\n \"\n >\n <fd-toolbar-separator\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"tableToolbarActionsComponent\"\n ></fd-toolbar-separator>\n\n <ng-container *ngIf=\"showExpandCollapseButtons\">\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"expand-all\"\n (click)=\"_expandAll()\"\n [title]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n ></fdp-button>\n\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"collapse-all\"\n (click)=\"_collapseAll()\"\n [title]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n ></fdp-button>\n </ng-container>\n\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"sortable | async\"\n glyph=\"sort\"\n [title]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openSorting()\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"filterable | async\"\n glyph=\"filter\"\n [title]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openFiltering()\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"groupable | async\"\n glyph=\"group-2\"\n [title]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openGrouping()\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"columns | async\"\n glyph=\"action-settings\"\n [title]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openColumns()\"\n ></fdp-button>\n </ng-container>\n </fd-toolbar>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i3.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i3.ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: i3.ToolbarSeparatorComponent, selector: "fd-toolbar-separator" }, { kind: "component", type: i4.ButtonComponent, selector: "fdp-button", inputs: ["glyphPosition", "label", "glyph", "buttonType", "toggled", "title", "ariaSelected", "ariaDisabled", "ariaExpanded", "ariaControlsId", "ariaPressed", "name", "type", "value"], outputs: ["buttonClicked"] }, { kind: "component", type: i5.SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "searchSuggestionMessage", "searchSuggestionNavigateMessage", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
121
121
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableToolbarComponent, decorators: [{
|
|
122
122
|
type: Component,
|
|
123
|
-
args: [{ selector: 'fdp-table-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: TABLE_TOOLBAR, useExisting: TableToolbarComponent }], template: "<ng-template\n let-counter=\"counter\"\n let-sortable=\"sortable\"\n let-filterable=\"filterable\"\n let-groupable=\"groupable\"\n let-columns=\"columns\"\n>\n <fd-toolbar\n fdType=\"transparent\"\n [clearBorder]=\"true\"\n [titleId]=\"tableToolbarTitleId\"\n [title]=\"title && !hideItemCount ? title + ' (' + (counter | async) + ')' : title\"\n [shouldOverflow]=\"shouldOverflow\"\n >\n <ng-container *ngIf=\"_tableToolbarLeftActionsComponent\">\n <span fd-toolbar-item fdOverflowPriority=\"never\">\n <fd-toolbar-separator *ngIf=\"!!title || !hideItemCount\"></fd-toolbar-separator>\n <ng-container *ngTemplateOutlet=\"_tableToolbarLeftActionsComponent._contentTemplateRef\"></ng-container>\n </span>\n </ng-container>\n <fd-toolbar-spacer></fd-toolbar-spacer>\n\n <fdp-search-field\n fd-toolbar-item\n *ngIf=\"!hideSearchInput\"\n style=\"min-width: 15.5rem\"\n [placeholder]=\"'platformTable.toolbarSearchPlaceholder' | fdTranslate\"\n [inputText]=\"_searchInputText\"\n [disabled]=\"!!(tableLoading$ | async)\"\n [suggestions]=\"searchSuggestions\"\n [ariaLabelledBy]=\"tableToolbarTitleId\"\n (searchSubmit)=\"submitSearch($event)\"\n (cancelSearch)=\"submitSearch($event)\"\n ></fdp-search-field>\n\n <ng-container *ngIf=\"editMode !== 'none'\">\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCreateButtonLabel' | fdTranslate\"\n (click)=\"_addRow()\"\n ></fdp-button>\n <ng-container *ngIf=\"_showSaveButton\">\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionSaveButtonLabel' | fdTranslate\"\n *ngIf=\"_showSaveButton\"\n (click)=\"_saveRows()\"\n ></fdp-button>\n <fd-toolbar-separator></fd-toolbar-separator>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCancelButtonLabel' | fdTranslate\"\n (click)=\"_cancelEditing()\"\n buttonType=\"transparent\"\n ></fdp-button>\n </ng-container>\n <fd-toolbar-separator\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"\n tableToolbarActionsComponent ||\n (sortable | async) ||\n (filterable | async) ||\n (groupable | async) ||\n (columns | async)\n \"\n ></fd-toolbar-separator>\n </ng-container>\n\n <span fd-toolbar-item *ngIf=\"tableToolbarActionsComponent\" class=\"fdp-table-toolbar-actions\">\n <ng-container *ngTemplateOutlet=\"tableToolbarActionsComponent.contentTemplateRef\"></ng-container>\n </span>\n\n <ng-container\n *ngIf=\"\n showExpandCollapseButtons ||\n (sortable | async) ||\n (filterable | async) ||\n (groupable | async) ||\n (columns | async)\n \"\n >\n <fd-toolbar-separator\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"tableToolbarActionsComponent\"\n ></fd-toolbar-separator>\n\n <ng-container *ngIf=\"showExpandCollapseButtons\">\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"expand-all\"\n (click)=\"_expandAll()\"\n [title]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n ></fdp-button>\n\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"collapse-all\"\n (click)=\"_collapseAll()\"\n [title]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n ></fdp-button>\n </ng-container>\n\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"sortable | async\"\n glyph=\"sort\"\n [title]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openSorting()\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"filterable | async\"\n glyph=\"filter\"\n [title]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openFiltering()\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"groupable | async\"\n glyph=\"group-2\"\n [title]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openGrouping()\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"columns | async\"\n glyph=\"action-settings\"\n [title]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openColumns()\"\n ></fdp-button>\n </ng-container>\n </fd-toolbar>\n</ng-template>\n" }]
|
|
123
|
+
args: [{ selector: 'fdp-table-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: TABLE_TOOLBAR, useExisting: TableToolbarComponent }], template: "<ng-template\n let-counter=\"counter\"\n let-sortable=\"sortable\"\n let-filterable=\"filterable\"\n let-groupable=\"groupable\"\n let-columns=\"columns\"\n>\n <fd-toolbar\n fdType=\"transparent\"\n [clearBorder]=\"true\"\n [titleId]=\"tableToolbarTitleId\"\n [title]=\"title && !hideItemCount ? title + ' (' + (counter | async) + ')' : title\"\n [shouldOverflow]=\"shouldOverflow\"\n >\n <ng-container *ngIf=\"_tableToolbarLeftActionsComponent\">\n <span fd-toolbar-item fdOverflowPriority=\"never\">\n <fd-toolbar-separator *ngIf=\"!!title || !hideItemCount\"></fd-toolbar-separator>\n <ng-container *ngTemplateOutlet=\"_tableToolbarLeftActionsComponent._contentTemplateRef\"></ng-container>\n </span>\n </ng-container>\n <fd-toolbar-spacer></fd-toolbar-spacer>\n\n <fdp-search-field\n fd-toolbar-item\n *ngIf=\"!hideSearchInput\"\n style=\"min-width: 15.5rem\"\n [placeholder]=\"'platformTable.toolbarSearchPlaceholder' | fdTranslate\"\n [inputText]=\"_searchInputText\"\n [disabled]=\"!!(tableLoading$ | async)\"\n [suggestions]=\"searchSuggestions\"\n [ariaLabelledBy]=\"tableToolbarTitleId\"\n (searchSubmit)=\"submitSearch($event)\"\n (cancelSearch)=\"submitSearch($event)\"\n [disableSuggestionsFoundAnnouncer]=\"true\"\n ></fdp-search-field>\n\n <ng-container *ngIf=\"editMode !== 'none'\">\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCreateButtonLabel' | fdTranslate\"\n (click)=\"_addRow()\"\n ></fdp-button>\n <ng-container *ngIf=\"_showSaveButton\">\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionSaveButtonLabel' | fdTranslate\"\n *ngIf=\"_showSaveButton\"\n (click)=\"_saveRows()\"\n ></fdp-button>\n <fd-toolbar-separator></fd-toolbar-separator>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCancelButtonLabel' | fdTranslate\"\n (click)=\"_cancelEditing()\"\n buttonType=\"transparent\"\n ></fdp-button>\n </ng-container>\n <fd-toolbar-separator\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"\n tableToolbarActionsComponent ||\n (sortable | async) ||\n (filterable | async) ||\n (groupable | async) ||\n (columns | async)\n \"\n ></fd-toolbar-separator>\n </ng-container>\n\n <span fd-toolbar-item *ngIf=\"tableToolbarActionsComponent\" class=\"fdp-table-toolbar-actions\">\n <ng-container *ngTemplateOutlet=\"tableToolbarActionsComponent.contentTemplateRef\"></ng-container>\n </span>\n\n <ng-container\n *ngIf=\"\n showExpandCollapseButtons ||\n (sortable | async) ||\n (filterable | async) ||\n (groupable | async) ||\n (columns | async)\n \"\n >\n <fd-toolbar-separator\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"tableToolbarActionsComponent\"\n ></fd-toolbar-separator>\n\n <ng-container *ngIf=\"showExpandCollapseButtons\">\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"expand-all\"\n (click)=\"_expandAll()\"\n [title]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n ></fdp-button>\n\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"collapse-all\"\n (click)=\"_collapseAll()\"\n [title]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n ></fdp-button>\n </ng-container>\n\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"sortable | async\"\n glyph=\"sort\"\n [title]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openSorting()\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"filterable | async\"\n glyph=\"filter\"\n [title]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openFiltering()\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"groupable | async\"\n glyph=\"group-2\"\n [title]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openGrouping()\"\n ></fdp-button>\n <fdp-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n *ngIf=\"columns | async\"\n glyph=\"action-settings\"\n [title]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n buttonType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openColumns()\"\n ></fdp-button>\n </ng-container>\n </fd-toolbar>\n</ng-template>\n" }]
|
|
124
124
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Table }, { type: i1.TableService }]; }, propDecorators: { shouldOverflow: [{
|
|
125
125
|
type: Input
|
|
126
126
|
}], title: [{
|
|
@@ -145,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
145
145
|
type: ViewChild,
|
|
146
146
|
args: [TemplateRef]
|
|
147
147
|
}] } });
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS10b29sYmFyL3RhYmxlLXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtdG9vbGJhci90YWJsZS10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBeUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7QUFJMUYsSUFBSSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFFbEM7Ozs7Ozs7OztLQVNLO0FBU0wsTUFBTSxPQUFPLHFCQUFxQjtJQXlEOUIsY0FBYztJQUNkLFlBQ3FCLEdBQXNCLEVBQ3RCLE1BQWEsRUFDYixhQUEyQjtRQUYzQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQ2Isa0JBQWEsR0FBYixh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U0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNlYXJjaElucHV0LCBTdWdnZXN0aW9uSXRlbSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2VhcmNoLWZpZWxkJztcbmltcG9ydCB7IFRhYmxlLCBUYWJsZVNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3RhYmxlLWhlbHBlcnMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVEFCTEVfVE9PTEJBUiwgVGFibGVUb29sYmFySW50ZXJmYWNlIH0gZnJvbSAnLi90YWJsZS10b29sYmFyJztcbmltcG9ydCB7IFRhYmxlVG9vbGJhckFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLXRvb2xiYXItYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVUb29sYmFyTGVmdEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLXRvb2xiYXItbGVmdC1hY3Rpb25zLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIEVkaXRNb2RlID0gJ25vbmUnIHwgJ2lubGluZSc7XG5cbmxldCB0YWJsZVRvb2xiYXJUaXRsZVVuaXF1ZUlkID0gMDtcblxuLyoqXG4gKiBUaGUgY29tcG9uZW50IHRoYXQgcmVwcmVzZW50cyBhIHRhYmxlIHRvb2xiYXIuXG4gKlxuICogYGBgaHRtbFxuICogPGZkcC10YWJsZS10b29sYmFyXG4gKiAgIHRpdGxlPVwiT3JkZXIgTGluZSBJdGVtc1wiXG4gKiAgIFtoaWRlSXRlbUNvdW50XT1cImZhbHNlXCI+XG4gKiA8L2ZkcC10YWJsZS10b29sYmFyPlxuICogYGBgXG4gKiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC10YWJsZS10b29sYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFRBQkxFX1RPT0xCQVIsIHVzZUV4aXN0aW5nOiBUYWJsZVRvb2xiYXJDb21wb25lbnQgfV1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgVGFibGVUb29sYmFySW50ZXJmYWNlLCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRvb2xiYXIgc2hvdWxkIGhpZGUgZWxlbWVudHMgaW4gcG9wb3ZlciB3aGVuIHRoZXkgb3ZlcmZsb3cuXG4gICAgICogKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3VsZE92ZXJmbG93ID0gZmFsc2U7XG5cbiAgICAvKiogVGFibGUgdGl0bGUuICovXG4gICAgQElucHV0KClcbiAgICB0aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIFRvZ2dsZSB0byBzaG93IHRhYmxlIGl0ZW0gY291bnQuICovXG4gICAgQElucHV0KClcbiAgICBoaWRlSXRlbUNvdW50ID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlIHRvIHNob3cgc2VhcmNoIGlucHV0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGlkZVNlYXJjaElucHV0ID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlIHRvIGV4cGFuZCBhbmQgY29sbGFwc2UgYWxsIGZlYXR1cmUgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dFeHBhbmRDb2xsYXBzZUJ1dHRvbnMgPSBmYWxzZTtcbiAgICAvKiogU3VnZ2VzdGlvbnMgZm9yIHNlYXJjaCBmaWVsZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNlYXJjaFN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uSXRlbVtdID0gW107XG5cbiAgICAvKiogVGFibGUgcm93cyBlZGl0L2FkZCBtb2RlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZWRpdE1vZGU6IEVkaXRNb2RlID0gJ25vbmUnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKFRhYmxlVG9vbGJhckFjdGlvbnNDb21wb25lbnQpXG4gICAgdGFibGVUb29sYmFyQWN0aW9uc0NvbXBvbmVudDogVGFibGVUb29sYmFyQWN0aW9uc0NvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChUYWJsZVRvb2xiYXJMZWZ0QWN0aW9uc0NvbXBvbmVudClcbiAgICBfdGFibGVUb29sYmFyTGVmdEFjdGlvbnNDb21wb25lbnQ6IFRhYmxlVG9vbGJhckxlZnRBY3Rpb25zQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKVxuICAgIGNvbnRlbnRUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdGFibGVUb29sYmFyVGl0bGVJZDogc3RyaW5nID0gJ2ZkLXRhYmxlLXRvb2xiYXItdGl0bGUtJyArIHRhYmxlVG9vbGJhclRpdGxlVW5pcXVlSWQrKztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3Nob3dTYXZlQnV0dG9uID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZWFyY2hJbnB1dFRleHQgPSAnJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgdGFibGVMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX3RhYmxlU2VydmljZS50YWJsZUxvYWRpbmckO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdGFibGU6IFRhYmxlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJsZVNlcnZpY2U6IFRhYmxlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLl9saXN0ZW5Ub1RhYmxlRXZlbnRzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHN1Ym1pdFNlYXJjaChzZWFyY2g6IFNlYXJjaElucHV0KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLnNlYXJjaChzZWFyY2gpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb3BlblNvcnRpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLm9wZW5UYWJsZVNvcnRTZXR0aW5ncy5lbWl0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvcGVuRmlsdGVyaW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZS5vcGVuVGFibGVGaWx0ZXJTZXR0aW5ncy5lbWl0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvcGVuR3JvdXBpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLm9wZW5UYWJsZUdyb3VwU2V0dGluZ3MuZW1pdCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb3BlbkNvbHVtbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLm9wZW5UYWJsZUNvbHVtblNldHRpbmdzLmVtaXQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9hZGRSb3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLmFkZFJvdygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NhdmVSb3dzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZS5zYXZlUm93cygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NhbmNlbEVkaXRpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLmNhbmNlbEVkaXRpbmcoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvVGFibGVFdmVudHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLmVtcHR5Um93QWRkZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zaG93U2F2ZUJ1dHRvbiA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3RhYmxlLnNhdmUucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zaG93U2F2ZUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90YWJsZS5jYW5jZWwucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zaG93U2F2ZUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90YWJsZS5wcmVzZXRDaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dFRleHQgPSBzdGF0ZS5zZWFyY2hJbnB1dD8udGV4dCA/PyAnJztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZXhwYW5kQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZS5leHBhbmRBbGwoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jb2xsYXBzZUFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUuY29sbGFwc2VBbGwoKTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGVcbiAgICBsZXQtY291bnRlcj1cImNvdW50ZXJcIlxuICAgIGxldC1zb3J0YWJsZT1cInNvcnRhYmxlXCJcbiAgICBsZXQtZmlsdGVyYWJsZT1cImZpbHRlcmFibGVcIlxuICAgIGxldC1ncm91cGFibGU9XCJncm91cGFibGVcIlxuICAgIGxldC1jb2x1bW5zPVwiY29sdW1uc1wiXG4+XG4gICAgPGZkLXRvb2xiYXJcbiAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBbY2xlYXJCb3JkZXJdPVwidHJ1ZVwiXG4gICAgICAgIFt0aXRsZUlkXT1cInRhYmxlVG9vbGJhclRpdGxlSWRcIlxuICAgICAgICBbdGl0bGVdPVwidGl0bGUgJiYgIWhpZGVJdGVtQ291bnQgPyB0aXRsZSArICcgKCcgKyAoY291bnRlciB8IGFzeW5jKSArICcpJyA6IHRpdGxlXCJcbiAgICAgICAgW3Nob3VsZE92ZXJmbG93XT1cInNob3VsZE92ZXJmbG93XCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfdGFibGVUb29sYmFyTGVmdEFjdGlvbnNDb21wb25lbnRcIj5cbiAgICAgICAgICAgIDxzcGFuIGZkLXRvb2xiYXItaXRlbSBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiPlxuICAgICAgICAgICAgICAgIDxmZC10b29sYmFyLXNlcGFyYXRvciAqbmdJZj1cIiEhdGl0bGUgfHwgIWhpZGVJdGVtQ291bnRcIj48L2ZkLXRvb2xiYXItc2VwYXJhdG9yPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJfdGFibGVUb29sYmFyTGVmdEFjdGlvbnNDb21wb25lbnQuX2NvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGZkLXRvb2xiYXItc3BhY2VyPjwvZmQtdG9vbGJhci1zcGFjZXI+XG5cbiAgICAgICAgPGZkcC1zZWFyY2gtZmllbGRcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgKm5nSWY9XCIhaGlkZVNlYXJjaElucHV0XCJcbiAgICAgICAgICAgIHN0eWxlPVwibWluLXdpZHRoOiAxNS41cmVtXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyU2VhcmNoUGxhY2Vob2xkZXInIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgW2lucHV0VGV4dF09XCJfc2VhcmNoSW5wdXRUZXh0XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhISh0YWJsZUxvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICAgIFtzdWdnZXN0aW9uc109XCJzZWFyY2hTdWdnZXN0aW9uc1wiXG4gICAgICAgICAgICBbYXJpYUxhYmVsbGVkQnldPVwidGFibGVUb29sYmFyVGl0bGVJZFwiXG4gICAgICAgICAgICAoc2VhcmNoU3VibWl0KT1cInN1Ym1pdFNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChjYW5jZWxTZWFyY2gpPVwic3VibWl0U2VhcmNoKCRldmVudClcIlxuICAgICAgICA+PC9mZHAtc2VhcmNoLWZpZWxkPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlZGl0TW9kZSAhPT0gJ25vbmUnXCI+XG4gICAgICAgICAgICA8ZmRwLWJ1dHRvblxuICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkNyZWF0ZUJ1dHRvbkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2FkZFJvdygpXCJcbiAgICAgICAgICAgID48L2ZkcC1idXR0b24+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX3Nob3dTYXZlQnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgPGZkcC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25TYXZlQnV0dG9uTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIl9zaG93U2F2ZUJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfc2F2ZVJvd3MoKVwiXG4gICAgICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8ZmQtdG9vbGJhci1zZXBhcmF0b3I+PC9mZC10b29sYmFyLXNlcGFyYXRvcj5cbiAgICAgICAgICAgICAgICA8ZmRwLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgZmRPdmVyZmxvd1ByaW9yaXR5PVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkNhbmNlbEJ1dHRvbkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9jYW5jZWxFZGl0aW5nKClcIlxuICAgICAgICAgICAgICAgICAgICBidXR0b25UeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgID48L2ZkcC1idXR0b24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxmZC10b29sYmFyLXNlcGFyYXRvclxuICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICB0YWJsZVRvb2xiYXJBY3Rpb25zQ29tcG9uZW50IHx8XG4gICAgICAgICAgICAgICAgICAgIChzb3J0YWJsZSB8IGFzeW5jKSB8fFxuICAgICAgICAgICAgICAgICAgICAoZmlsdGVyYWJsZSB8IGFzeW5jKSB8fFxuICAgICAgICAgICAgICAgICAgICAoZ3JvdXBhYmxlIHwgYXN5bmMpIHx8XG4gICAgICAgICAgICAgICAgICAgIChjb2x1bW5zIHwgYXN5bmMpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L2ZkLXRvb2xiYXItc2VwYXJhdG9yPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8c3BhbiBmZC10b29sYmFyLWl0ZW0gKm5nSWY9XCJ0YWJsZVRvb2xiYXJBY3Rpb25zQ29tcG9uZW50XCIgY2xhc3M9XCJmZHAtdGFibGUtdG9vbGJhci1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFibGVUb29sYmFyQWN0aW9uc0NvbXBvbmVudC5jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgc2hvd0V4cGFuZENvbGxhcHNlQnV0dG9ucyB8fFxuICAgICAgICAgICAgICAgIChzb3J0YWJsZSB8IGFzeW5jKSB8fFxuICAgICAgICAgICAgICAgIChmaWx0ZXJhYmxlIHwgYXN5bmMpIHx8XG4gICAgICAgICAgICAgICAgKGdyb3VwYWJsZSB8IGFzeW5jKSB8fFxuICAgICAgICAgICAgICAgIChjb2x1bW5zIHwgYXN5bmMpXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZmQtdG9vbGJhci1zZXBhcmF0b3JcbiAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0YWJsZVRvb2xiYXJBY3Rpb25zQ29tcG9uZW50XCJcbiAgICAgICAgICAgID48L2ZkLXRvb2xiYXItc2VwYXJhdG9yPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0V4cGFuZENvbGxhcHNlQnV0dG9uc1wiPlxuICAgICAgICAgICAgICAgIDxmZHAtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgICAgICBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgICAgIGdseXBoPVwiZXhwYW5kLWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfZXhwYW5kQWxsKClcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkV4cGFuZEFsbEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uRXhwYW5kQWxsQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBidXR0b25UeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgID48L2ZkcC1idXR0b24+XG5cbiAgICAgICAgICAgICAgICA8ZmRwLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgZmRPdmVyZmxvd1ByaW9yaXR5PVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImNvbGxhcHNlLWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfY29sbGFwc2VBbGwoKVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uQ29sbGFwc2VBbGxCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkNvbGxhcHNlQWxsQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBidXR0b25UeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgID48L2ZkcC1idXR0b24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPGZkcC1idXR0b25cbiAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzb3J0YWJsZSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICBnbHlwaD1cInNvcnRcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uU29ydEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25Tb3J0QnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIGJ1dHRvblR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cIm1vZGFsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblNvcnRpbmcoKVwiXG4gICAgICAgICAgICA+PC9mZHAtYnV0dG9uPlxuICAgICAgICAgICAgPGZkcC1idXR0b25cbiAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJmaWx0ZXJhYmxlIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwiZmlsdGVyXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkZpbHRlckJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25GaWx0ZXJCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgYnV0dG9uVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwibW9kYWxcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRmlsdGVyaW5nKClcIlxuICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgICAgIDxmZHAtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgZmRPdmVyZmxvd1ByaW9yaXR5PVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZ3JvdXBhYmxlIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwiZ3JvdXAtMlwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25Hcm91cEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25Hcm91cEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBidXR0b25UeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJtb2RhbFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5Hcm91cGluZygpXCJcbiAgICAgICAgICAgID48L2ZkcC1idXR0b24+XG4gICAgICAgICAgICA8ZmRwLWJ1dHRvblxuICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvbHVtbnMgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgZ2x5cGg9XCJhY3Rpb24tc2V0dGluZ3NcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uQ29sdW1uc0J1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25Db2x1bW5zQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIGJ1dHRvblR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cIm1vZGFsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkNvbHVtbnMoKVwiXG4gICAgICAgICAgICA+PC9mZHAtYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2ZkLXRvb2xiYXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS10b29sYmFyL3RhYmxlLXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtdG9vbGJhci90YWJsZS10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBeUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7QUFJMUYsSUFBSSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFFbEM7Ozs7Ozs7OztLQVNLO0FBU0wsTUFBTSxPQUFPLHFCQUFxQjtJQXlEOUIsY0FBYztJQUNkLFlBQ3FCLEdBQXNCLEVBQ3RCLE1BQWEsRUFDYixhQUEyQjtRQUYzQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQ2Isa0JBQWEsR0FBYixh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U0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNlYXJjaElucHV0LCBTdWdnZXN0aW9uSXRlbSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2VhcmNoLWZpZWxkJztcbmltcG9ydCB7IFRhYmxlLCBUYWJsZVNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3RhYmxlLWhlbHBlcnMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVEFCTEVfVE9PTEJBUiwgVGFibGVUb29sYmFySW50ZXJmYWNlIH0gZnJvbSAnLi90YWJsZS10b29sYmFyJztcbmltcG9ydCB7IFRhYmxlVG9vbGJhckFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLXRvb2xiYXItYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVUb29sYmFyTGVmdEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLXRvb2xiYXItbGVmdC1hY3Rpb25zLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIEVkaXRNb2RlID0gJ25vbmUnIHwgJ2lubGluZSc7XG5cbmxldCB0YWJsZVRvb2xiYXJUaXRsZVVuaXF1ZUlkID0gMDtcblxuLyoqXG4gKiBUaGUgY29tcG9uZW50IHRoYXQgcmVwcmVzZW50cyBhIHRhYmxlIHRvb2xiYXIuXG4gKlxuICogYGBgaHRtbFxuICogPGZkcC10YWJsZS10b29sYmFyXG4gKiAgIHRpdGxlPVwiT3JkZXIgTGluZSBJdGVtc1wiXG4gKiAgIFtoaWRlSXRlbUNvdW50XT1cImZhbHNlXCI+XG4gKiA8L2ZkcC10YWJsZS10b29sYmFyPlxuICogYGBgXG4gKiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC10YWJsZS10b29sYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFRBQkxFX1RPT0xCQVIsIHVzZUV4aXN0aW5nOiBUYWJsZVRvb2xiYXJDb21wb25lbnQgfV1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgVGFibGVUb29sYmFySW50ZXJmYWNlLCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRvb2xiYXIgc2hvdWxkIGhpZGUgZWxlbWVudHMgaW4gcG9wb3ZlciB3aGVuIHRoZXkgb3ZlcmZsb3cuXG4gICAgICogKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3VsZE92ZXJmbG93ID0gZmFsc2U7XG5cbiAgICAvKiogVGFibGUgdGl0bGUuICovXG4gICAgQElucHV0KClcbiAgICB0aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIFRvZ2dsZSB0byBzaG93IHRhYmxlIGl0ZW0gY291bnQuICovXG4gICAgQElucHV0KClcbiAgICBoaWRlSXRlbUNvdW50ID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlIHRvIHNob3cgc2VhcmNoIGlucHV0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGlkZVNlYXJjaElucHV0ID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlIHRvIGV4cGFuZCBhbmQgY29sbGFwc2UgYWxsIGZlYXR1cmUgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dFeHBhbmRDb2xsYXBzZUJ1dHRvbnMgPSBmYWxzZTtcbiAgICAvKiogU3VnZ2VzdGlvbnMgZm9yIHNlYXJjaCBmaWVsZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNlYXJjaFN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uSXRlbVtdID0gW107XG5cbiAgICAvKiogVGFibGUgcm93cyBlZGl0L2FkZCBtb2RlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZWRpdE1vZGU6IEVkaXRNb2RlID0gJ25vbmUnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKFRhYmxlVG9vbGJhckFjdGlvbnNDb21wb25lbnQpXG4gICAgdGFibGVUb29sYmFyQWN0aW9uc0NvbXBvbmVudDogVGFibGVUb29sYmFyQWN0aW9uc0NvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChUYWJsZVRvb2xiYXJMZWZ0QWN0aW9uc0NvbXBvbmVudClcbiAgICBfdGFibGVUb29sYmFyTGVmdEFjdGlvbnNDb21wb25lbnQ6IFRhYmxlVG9vbGJhckxlZnRBY3Rpb25zQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKVxuICAgIGNvbnRlbnRUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdGFibGVUb29sYmFyVGl0bGVJZDogc3RyaW5nID0gJ2ZkLXRhYmxlLXRvb2xiYXItdGl0bGUtJyArIHRhYmxlVG9vbGJhclRpdGxlVW5pcXVlSWQrKztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3Nob3dTYXZlQnV0dG9uID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZWFyY2hJbnB1dFRleHQgPSAnJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgdGFibGVMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX3RhYmxlU2VydmljZS50YWJsZUxvYWRpbmckO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdGFibGU6IFRhYmxlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJsZVNlcnZpY2U6IFRhYmxlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLl9saXN0ZW5Ub1RhYmxlRXZlbnRzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHN1Ym1pdFNlYXJjaChzZWFyY2g6IFNlYXJjaElucHV0KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLnNlYXJjaChzZWFyY2gpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb3BlblNvcnRpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLm9wZW5UYWJsZVNvcnRTZXR0aW5ncy5lbWl0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvcGVuRmlsdGVyaW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZS5vcGVuVGFibGVGaWx0ZXJTZXR0aW5ncy5lbWl0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvcGVuR3JvdXBpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLm9wZW5UYWJsZUdyb3VwU2V0dGluZ3MuZW1pdCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb3BlbkNvbHVtbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLm9wZW5UYWJsZUNvbHVtblNldHRpbmdzLmVtaXQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9hZGRSb3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLmFkZFJvdygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NhdmVSb3dzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZS5zYXZlUm93cygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NhbmNlbEVkaXRpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLmNhbmNlbEVkaXRpbmcoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvVGFibGVFdmVudHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLmVtcHR5Um93QWRkZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zaG93U2F2ZUJ1dHRvbiA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3RhYmxlLnNhdmUucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zaG93U2F2ZUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90YWJsZS5jYW5jZWwucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zaG93U2F2ZUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90YWJsZS5wcmVzZXRDaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dFRleHQgPSBzdGF0ZS5zZWFyY2hJbnB1dD8udGV4dCA/PyAnJztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZXhwYW5kQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZS5leHBhbmRBbGwoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jb2xsYXBzZUFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUuY29sbGFwc2VBbGwoKTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGVcbiAgICBsZXQtY291bnRlcj1cImNvdW50ZXJcIlxuICAgIGxldC1zb3J0YWJsZT1cInNvcnRhYmxlXCJcbiAgICBsZXQtZmlsdGVyYWJsZT1cImZpbHRlcmFibGVcIlxuICAgIGxldC1ncm91cGFibGU9XCJncm91cGFibGVcIlxuICAgIGxldC1jb2x1bW5zPVwiY29sdW1uc1wiXG4+XG4gICAgPGZkLXRvb2xiYXJcbiAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBbY2xlYXJCb3JkZXJdPVwidHJ1ZVwiXG4gICAgICAgIFt0aXRsZUlkXT1cInRhYmxlVG9vbGJhclRpdGxlSWRcIlxuICAgICAgICBbdGl0bGVdPVwidGl0bGUgJiYgIWhpZGVJdGVtQ291bnQgPyB0aXRsZSArICcgKCcgKyAoY291bnRlciB8IGFzeW5jKSArICcpJyA6IHRpdGxlXCJcbiAgICAgICAgW3Nob3VsZE92ZXJmbG93XT1cInNob3VsZE92ZXJmbG93XCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfdGFibGVUb29sYmFyTGVmdEFjdGlvbnNDb21wb25lbnRcIj5cbiAgICAgICAgICAgIDxzcGFuIGZkLXRvb2xiYXItaXRlbSBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiPlxuICAgICAgICAgICAgICAgIDxmZC10b29sYmFyLXNlcGFyYXRvciAqbmdJZj1cIiEhdGl0bGUgfHwgIWhpZGVJdGVtQ291bnRcIj48L2ZkLXRvb2xiYXItc2VwYXJhdG9yPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJfdGFibGVUb29sYmFyTGVmdEFjdGlvbnNDb21wb25lbnQuX2NvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGZkLXRvb2xiYXItc3BhY2VyPjwvZmQtdG9vbGJhci1zcGFjZXI+XG5cbiAgICAgICAgPGZkcC1zZWFyY2gtZmllbGRcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgKm5nSWY9XCIhaGlkZVNlYXJjaElucHV0XCJcbiAgICAgICAgICAgIHN0eWxlPVwibWluLXdpZHRoOiAxNS41cmVtXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyU2VhcmNoUGxhY2Vob2xkZXInIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgW2lucHV0VGV4dF09XCJfc2VhcmNoSW5wdXRUZXh0XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhISh0YWJsZUxvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICAgIFtzdWdnZXN0aW9uc109XCJzZWFyY2hTdWdnZXN0aW9uc1wiXG4gICAgICAgICAgICBbYXJpYUxhYmVsbGVkQnldPVwidGFibGVUb29sYmFyVGl0bGVJZFwiXG4gICAgICAgICAgICAoc2VhcmNoU3VibWl0KT1cInN1Ym1pdFNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChjYW5jZWxTZWFyY2gpPVwic3VibWl0U2VhcmNoKCRldmVudClcIlxuICAgICAgICAgICAgW2Rpc2FibGVTdWdnZXN0aW9uc0ZvdW5kQW5ub3VuY2VyXT1cInRydWVcIlxuICAgICAgICA+PC9mZHAtc2VhcmNoLWZpZWxkPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlZGl0TW9kZSAhPT0gJ25vbmUnXCI+XG4gICAgICAgICAgICA8ZmRwLWJ1dHRvblxuICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkNyZWF0ZUJ1dHRvbkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2FkZFJvdygpXCJcbiAgICAgICAgICAgID48L2ZkcC1idXR0b24+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX3Nob3dTYXZlQnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgPGZkcC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25TYXZlQnV0dG9uTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIl9zaG93U2F2ZUJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfc2F2ZVJvd3MoKVwiXG4gICAgICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8ZmQtdG9vbGJhci1zZXBhcmF0b3I+PC9mZC10b29sYmFyLXNlcGFyYXRvcj5cbiAgICAgICAgICAgICAgICA8ZmRwLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgZmRPdmVyZmxvd1ByaW9yaXR5PVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkNhbmNlbEJ1dHRvbkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9jYW5jZWxFZGl0aW5nKClcIlxuICAgICAgICAgICAgICAgICAgICBidXR0b25UeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgID48L2ZkcC1idXR0b24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxmZC10b29sYmFyLXNlcGFyYXRvclxuICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICB0YWJsZVRvb2xiYXJBY3Rpb25zQ29tcG9uZW50IHx8XG4gICAgICAgICAgICAgICAgICAgIChzb3J0YWJsZSB8IGFzeW5jKSB8fFxuICAgICAgICAgICAgICAgICAgICAoZmlsdGVyYWJsZSB8IGFzeW5jKSB8fFxuICAgICAgICAgICAgICAgICAgICAoZ3JvdXBhYmxlIHwgYXN5bmMpIHx8XG4gICAgICAgICAgICAgICAgICAgIChjb2x1bW5zIHwgYXN5bmMpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L2ZkLXRvb2xiYXItc2VwYXJhdG9yPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8c3BhbiBmZC10b29sYmFyLWl0ZW0gKm5nSWY9XCJ0YWJsZVRvb2xiYXJBY3Rpb25zQ29tcG9uZW50XCIgY2xhc3M9XCJmZHAtdGFibGUtdG9vbGJhci1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFibGVUb29sYmFyQWN0aW9uc0NvbXBvbmVudC5jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgc2hvd0V4cGFuZENvbGxhcHNlQnV0dG9ucyB8fFxuICAgICAgICAgICAgICAgIChzb3J0YWJsZSB8IGFzeW5jKSB8fFxuICAgICAgICAgICAgICAgIChmaWx0ZXJhYmxlIHwgYXN5bmMpIHx8XG4gICAgICAgICAgICAgICAgKGdyb3VwYWJsZSB8IGFzeW5jKSB8fFxuICAgICAgICAgICAgICAgIChjb2x1bW5zIHwgYXN5bmMpXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZmQtdG9vbGJhci1zZXBhcmF0b3JcbiAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0YWJsZVRvb2xiYXJBY3Rpb25zQ29tcG9uZW50XCJcbiAgICAgICAgICAgID48L2ZkLXRvb2xiYXItc2VwYXJhdG9yPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0V4cGFuZENvbGxhcHNlQnV0dG9uc1wiPlxuICAgICAgICAgICAgICAgIDxmZHAtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgICAgICBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgICAgIGdseXBoPVwiZXhwYW5kLWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfZXhwYW5kQWxsKClcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkV4cGFuZEFsbEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uRXhwYW5kQWxsQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBidXR0b25UeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgID48L2ZkcC1idXR0b24+XG5cbiAgICAgICAgICAgICAgICA8ZmRwLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgZmRPdmVyZmxvd1ByaW9yaXR5PVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImNvbGxhcHNlLWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfY29sbGFwc2VBbGwoKVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uQ29sbGFwc2VBbGxCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkNvbGxhcHNlQWxsQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBidXR0b25UeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgID48L2ZkcC1idXR0b24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPGZkcC1idXR0b25cbiAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzb3J0YWJsZSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICBnbHlwaD1cInNvcnRcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uU29ydEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25Tb3J0QnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIGJ1dHRvblR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cIm1vZGFsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblNvcnRpbmcoKVwiXG4gICAgICAgICAgICA+PC9mZHAtYnV0dG9uPlxuICAgICAgICAgICAgPGZkcC1idXR0b25cbiAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJmaWx0ZXJhYmxlIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwiZmlsdGVyXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkZpbHRlckJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25GaWx0ZXJCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgYnV0dG9uVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwibW9kYWxcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRmlsdGVyaW5nKClcIlxuICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgICAgIDxmZHAtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgZmRPdmVyZmxvd1ByaW9yaXR5PVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZ3JvdXBhYmxlIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwiZ3JvdXAtMlwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25Hcm91cEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25Hcm91cEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBidXR0b25UeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJtb2RhbFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5Hcm91cGluZygpXCJcbiAgICAgICAgICAgID48L2ZkcC1idXR0b24+XG4gICAgICAgICAgICA8ZmRwLWJ1dHRvblxuICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvbHVtbnMgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgZ2x5cGg9XCJhY3Rpb24tc2V0dGluZ3NcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uQ29sdW1uc0J1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25Db2x1bW5zQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIGJ1dHRvblR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cIm1vZGFsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkNvbHVtbnMoKVwiXG4gICAgICAgICAgICA+PC9mZHAtYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2ZkLXRvb2xiYXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -508,7 +508,7 @@ export class PlatformValueHelpDialogComponent {
|
|
|
508
508
|
}
|
|
509
509
|
}
|
|
510
510
|
PlatformValueHelpDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PlatformValueHelpDialogComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.DialogService }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
511
|
-
PlatformValueHelpDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PlatformValueHelpDialogComponent, selector: "fdp-value-help-dialog", inputs: { id: "id", value: "value", dialogTitle: "dialogTitle", initialTab: "initialTab", tabs: "tabs", isOpenAdvanced: "isOpenAdvanced", dataSource: "dataSource", dialogConfig: "dialogConfig", uniqueKey: "uniqueKey", headerId: "headerId", tokenViewField: "tokenViewField", tokenizerFn: "tokenizerFn", mobile: "mobile", formatToken: "formatToken", conditionDisplayFn: "conditionDisplayFn", selectTabTitle: "selectTabTitle", searchSelection: "searchSelection", searchTableEmptyMessage: "searchTableEmptyMessage", searchTablePageSize: "searchTablePageSize", searchTableMobileHeaders: "searchTableMobileHeaders", maxShownInitialFilters: "maxShownInitialFilters", loading: "loading", defineTabTitle: "defineTabTitle", defineStrategyLabels: "defineStrategyLabels" }, outputs: { valueChange: "valueChange", onDataRequested: "onDataRequested", onDataReceived: "onDataReceived" }, queries: [{ propertyName: "filters", predicate: VhdFilterComponent }], viewQueries: [{ propertyName: "dialogContainer", first: true, predicate: ["container"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #container>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header [dir]=\"_dir\">\n <ng-template fdkTemplate=\"header\">\n <ng-container *ngTemplateOutlet=\"mobile ? mobileDialogTitle : desktopDialogTitle\"></ng-container>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body [dir]=\"_dir\">\n <ng-container *ngIf=\"!mobile\">\n <ng-container *ngTemplateOutlet=\"advancedSearchContent\"></ng-container>\n </ng-container>\n <div fd-scrollbar class=\"fdp-value-help-dialog__content-holder\">\n <ng-container *ngIf=\"mobile\">\n <ng-container *ngTemplateOutlet=\"advancedSearchContent\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"selectedTab === _tabTypes.selectFromList\">\n <ng-container *ngTemplateOutlet=\"selectionContent\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"selectedTab === _tabTypes.defineConditions\">\n <ng-container *ngTemplateOutlet=\"defineConditionsContent\"></ng-container>\n </ng-container>\n </div>\n </fd-dialog-body>\n <fd-dialog-footer [dir]=\"_dir\">\n <ng-template fdkTemplate=\"footer\">\n <div\n class=\"fdp-value-help-dialog__row fdp-value-help-dialog__selection-row\"\n [attr.aria-label]=\"'platformVHD.selectionBarLabel' | fdTranslate\"\n *ngIf=\"!isMobileAdvancedSearchActive\"\n >\n <h5 fd-title class=\"selected-and-condition-title\" [id]=\"id + '-selected-item'\">\n <ng-container *ngIf=\"hasSelectedAndConditions; else noItemsPanelTitle\">\n {{ 'platformVHD.selectedAndConditionLabel' | fdTranslate }}\n ({{ selectedItems.length + validConditions.length }})\n </ng-container>\n </h5>\n\n <div class=\"fdp-value-help-dialog__tokens-wrapper\">\n <div class=\"fdp-value-help-dialog__tokens\">\n <!-- Selected items -->\n <fd-tokenizer [tokenizerFocusable]=\"false\">\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeSelected(selectedIndex)\"\n *ngFor=\"\n let item of selectedItems;\n index as selectedIndex;\n trackBy: _trackBySelectedFn\n \"\n >{{ !!tokenizerFn ? (item | displayFnPipe : tokenizerFn) : item[tokenViewField] }}\n </fd-token>\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeCondition(conditionIndex)\"\n *ngFor=\"\n let item of validConditions;\n index as conditionIndex;\n trackBy: _trackByConditionFn\n \"\n >\n <ng-container\n [ngTemplateOutlet]=\"conditionValue\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </fd-token>\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 [attr.aria-label]=\"'platformVHD.footerClearSelectedAriaLabel' | fdTranslate\"\n ></button>\n </div>\n </div>\n <div class=\"fdp-value-help-dialog__actions-row\">\n <button\n fd-button\n data-go-advanced\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n *ngIf=\"mobile && isOpenAdvanced\"\n (click)=\"searchAdvanced()\"\n ></button>\n <button\n fd-button\n data-succes\n [label]=\"'platformVHD.successButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n *ngIf=\"selectedTab !== _tabTypes.advancedSearch\"\n (click)=\"success()\"\n ></button>\n <button\n fd-button\n data-dismiss-dialog\n fd-dialog-decisive-button\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\n<ng-template #noItemsPanelTitle>\n {{ 'platformVHD.selectedEmptyLabel' | fdTranslate }}\n</ng-template>\n\n<ng-template #advancedSearchContent>\n <ng-container *ngIf=\"isSelectionTab\">\n <form class=\"fdp-value-help-dialog__row fdp-value-help-dialog__advanced-search\" [id]=\"'advanced-search-' + id\">\n <fd-layout-grid *ngIf=\"!mobile || (mobile && !isOpenAdvanced)\">\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"mobile ? 12 : 6\" [colXl]=\"mobile ? 12 : 6\">\n <fdp-search-field\n [placeholder]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (searchSubmit)=\"search()\"\n (inputChange)=\"_mainSearch = $event.text\"\n ></fdp-search-field>\n </div>\n\n <div\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"mobile ? 12 : 6\"\n [colXl]=\"mobile ? 12 : 6\"\n *ngIf=\"_hasAdvanced\"\n class=\"fdp-value-help-dialog__advanced-actions\"\n >\n <fd-toolbar [clearBorder]=\"true\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n *ngIf=\"_hasAdvanced\"\n [label]=\"\n (mobile\n ? 'platformVHD.searchAdvancedSearchLabel'\n : isOpenAdvanced\n ? 'platformVHD.searchHideAdvancedSearchLabel'\n : 'platformVHD.searchShowAdvancedSearchLabel'\n ) | fdTranslate\n \"\n (click)=\"toggleAdvancedSearch()\"\n ></button>\n <button\n fd-toolbar-item\n type=\"submit\"\n fd-button\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (click)=\"filter()\"\n ></button>\n </fd-toolbar>\n </div>\n </div>\n </fd-layout-grid>\n <div\n [id]=\"'advanced-search-content-' + id\"\n *ngIf=\"isOpenAdvanced && _hasAdvanced\"\n class=\"fdp-value-help-dialog__advanced-filters\"\n >\n <fd-busy-indicator [loading]=\"loadingState && _firstLoadingDone\" [block]=\"true\">\n <fd-layout-grid\n *ngIf=\"_firstLoadingDone; else filtersLoading\"\n [class.fdp-value-help-dialog__with-toggle-all]=\"filters.length > maxShownInitialFilters\"\n >\n <div fdLayoutGridRow>\n <ng-container\n *ngFor=\"\n let filter of _displayedFilters | slice : 0 : shownFilterCount + 1;\n trackBy: _trackByFilterFn\n \"\n >\n <ng-container *ngIf=\"filter.advanced\">\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"6\" [colXl]=\"3\">\n <label class=\"fd-form-group__header\" fd-form-label [for]=\"'input' + filter.key\"\n >{{ filter.label }}:</label\n >\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 </div>\n </ng-container>\n </ng-container>\n\n <div\n colGrow\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"6\"\n [colXl]=\"3\"\n *ngIf=\"filters.length > maxShownInitialFilters\"\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 </div>\n </fd-layout-grid>\n\n <ng-template #filtersLoading>\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\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\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 </ng-template>\n </fd-busy-indicator>\n </div>\n </form>\n </ng-container>\n</ng-template>\n\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]=\"selectTabTitle || ('platformVHD.selectTabTitle' | fdTranslate)\"\n [mobile]=\"mobile\"\n [selection]=\"searchSelection\"\n [emptyTableMessage]=\"searchTableEmptyMessage || ('platformVHD.searchTableEmptyMessage' | fdTranslate)\"\n [uniqueKey]=\"uniqueKey\"\n [pageSize]=\"searchTablePageSize\"\n [defaultMobileHeaders]=\"searchTableMobileHeaders\"\n [filters]=\"_displayedFilters\"\n (select)=\"onSelect($event)\"\n ></fdp-select-tab>\n </fd-busy-indicator>\n</ng-template>\n\n<ng-template #defineConditionsContent>\n <div fd-scrollbar>\n <fdp-define-tab\n [strategyLabels]=\"defineStrategyLabels\"\n [conditions]=\"conditionItems\"\n [uid]=\"id\"\n [tabTitle]=\"defineTabTitle || ('platformVHD.defineTabTitle' | fdTranslate)\"\n [mobile]=\"mobile\"\n (conditionChange)=\"onConditionChange($event)\"\n ></fdp-define-tab>\n </div>\n</ng-template>\n\n<ng-template #dialogTitleText>\n <h5 [attr.id]=\"headerId\" fd-title>{{ dialogTitle }}</h5>\n</ng-template>\n\n<ng-template #tabLink let-title=\"title\" let-type=\"type\">\n <ng-container *ngIf=\"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 <h5 fd-title>{{ title }}</h5>\n </ng-container>\n <ng-container *ngIf=\"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 </ng-container>\n</ng-template>\n\n<ng-template #advancedHeader>\n <button fd-button glyph=\"navigation-left-arrow\" fdType=\"transparent\" (click)=\"toggleAdvancedSearch()\"></button>\n <h5 fd-title>{{ 'platformVHD.searchAdvancedSearchLabel' | fdTranslate }}</h5>\n</ng-template>\n\n<ng-template #desktopDialogTitle>\n <ng-container *ngTemplateOutlet=\"dialogTitleText\"></ng-container>\n <ng-container *ngTemplateOutlet=\"desktopTabs\"></ng-container>\n</ng-template>\n\n<ng-template #mobileDialogTitle>\n <div class=\"fdp-value-help-dialog__mobile-title\">\n <ng-container *ngIf=\"hasSelectedTab; else dialogTitleText\">\n <ng-container *ngTemplateOutlet=\"selectedTabHeader\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"mobileTabs\"></ng-container>\n</ng-template>\n\n<ng-template #desktopTabs>\n <nav fd-tab-nav class=\"fdp-value-help-dialog__tabs\" *ngIf=\"showSelectionTab && showDefineTab\">\n <div fd-tab-item (click)=\"switchTab(_tabTypes.selectFromList)\" *ngIf=\"showSelectionTab\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.selectFromList\"\n [tabindex]=\"selectedTab === _tabTypes.selectFromList ? '0' : '-1'\"\n ><span fd-tab-tag>{{ selectTabTitle || ('platformVHD.selectTabTitle' | fdTranslate) }}</span></a\n >\n </div>\n <div fd-tab-item (click)=\"switchTab(_tabTypes.defineConditions)\" *ngIf=\"showDefineTab\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.defineConditions\"\n [tabindex]=\"selectedTab === _tabTypes.defineConditions ? '0' : '-1'\"\n ><span fd-tab-tag>{{ defineTabTitle || ('platformVHD.defineTabTitle' | fdTranslate) }}</span></a\n >\n </div>\n </nav>\n</ng-template>\n\n<ng-template #mobileTabs>\n <div *ngIf=\"!hasSelectedTab && showSelectionTab && showDefineTab\">\n <div fd-bar [inPage]=\"true\" *ngIf=\"showSelectionTab\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ selectTabTitle || ('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\n : { title: selectTabTitle || ('platformVHD.selectTabTitle' | fdTranslate) }\n \"\n ></fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n <div fd-bar [inPage]=\"true\" *ngIf=\"showDefineTab\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ defineTabTitle || ('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\n : { title: defineTabTitle || ('platformVHD.defineTabTitle' | fdTranslate) }\n \"\n (click)=\"switchTab(_tabTypes.defineConditions)\"\n >\n </fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #selectedTabHeader>\n <ng-container [ngSwitch]=\"selectedTab\">\n <ng-container *ngSwitchCase=\"_tabTypes.selectFromList\">\n <ng-container\n *ngTemplateOutlet=\"\n tabLink;\n context: {\n title: selectTabTitle || ('platformVHD.selectTabTitle' | fdTranslate),\n type: selectedTab\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"_tabTypes.advancedSearch\">\n <ng-container *ngTemplateOutlet=\"advancedHeader\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"_tabTypes.defineConditions\">\n <ng-container\n *ngTemplateOutlet=\"\n tabLink;\n context: {\n title: defineTabTitle || ('platformVHD.defineTabTitle' | fdTranslate),\n type: selectedTab\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #conditionValue let-item=\"item\">\n <span *ngIf=\"item.strategy !== 'empty' && item.strategy !== 'not_empty'; else emptyCondition\">\n {{ item | displayFnPipe : conditionDisplayFn : _displayedFilters }}\n </span>\n <ng-template #emptyCondition>\n <ng-container *ngIf=\"item.strategy === 'not_empty'; else emptyConditionText\">\n !(<ng-container *ngTemplateOutlet=\"emptyConditionText\"></ng-container>)\n </ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template #emptyConditionText> <{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}> </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:#f7f7f7;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:#fff;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}.fdp-value-help-dialog__row{padding:0 2rem 1rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__selection-row{background-color:#f7f7f7;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 #89919a;border-color:var(--sapContent_ForegroundBorderColor, #89919a);margin-right:.5rem;border-radius:.25rem;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: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i5.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i5.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i5.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i5.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i1.DialogDecisiveButtonDirective, selector: "[fd-dialog-decisive-button]" }, { kind: "component", type: i6.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i2.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i7.TabNavComponent, selector: "[fd-tab-nav]", inputs: ["class", "mode", "size"] }, { kind: "directive", type: i7.TabItemDirective, selector: "[fd-tab-item]", inputs: ["class", "tabItemState", "header", "disabled", "fdTabItemClass"] }, { kind: "directive", type: i7.TabLinkDirective, selector: "[fd-tab-link]", inputs: ["active", "disabled"], outputs: ["keyDown", "focused"] }, { kind: "directive", type: i7.TabTagDirective, selector: "[fdTabTag], [fd-tab-tag]" }, { kind: "component", type: i8.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i9.TokenComponent, selector: "fd-token", inputs: ["disabled", "selected", "readOnly", "deleteButtonLabel", "ariaRoleDescription"], outputs: ["onCloseClick", "onRemove", "onTokenClick", "onTokenKeydown", "elementFocused"] }, { kind: "component", type: i9.TokenizerComponent, selector: "fd-tokenizer", inputs: ["class", "disableKeyboardDeletion", "compactCollapse", "tokenizerFocusable", "inputValue", "glyph", "moreTerm", "open"], outputs: ["moreClickedEvent"] }, { kind: "directive", type: i9.TokenizerInputDirective, selector: "[fd-tokenizer-input]", inputs: ["class"] }, { kind: "component", type: i10.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i10.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "component", type: i10.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: i11.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i12.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i12.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i12.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "component", type: i13.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i13.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i13.ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "directive", type: i14.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i14.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "class", "role"] }, { kind: "directive", type: i14.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "component", type: i15.SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "searchSuggestionMessage", "searchSuggestionNavigateMessage", "forceSearchButton"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "directive", type: i16.ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible", "overrideTabindex"] }, { kind: "component", type: i17.SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "component", type: i18.SelectTabComponent, selector: "fdp-select-tab", inputs: ["selectTabTitleId", "selectTabCountId", "selected", "loading", "filters", "selection", "emptyTableMessage", "uniqueKey", "pageSize", "defaultMobileHeaders", "displayedData"], outputs: ["select"] }, { kind: "component", type: i19.DefineTabComponent, selector: "fdp-define-tab", inputs: ["titleId", "selectedId", "conditions", "included", "excluded", "strategyLabels"], outputs: ["includeChange", "excludeChange", "conditionChange"] }, { kind: "pipe", type: i3.SlicePipe, name: "slice" }, { kind: "pipe", type: i20.FdTranslatePipe, name: "fdTranslate" }, { kind: "pipe", type: i2.DisplayFnPipe, name: "displayFnPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
511
|
+
PlatformValueHelpDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PlatformValueHelpDialogComponent, selector: "fdp-value-help-dialog", inputs: { id: "id", value: "value", dialogTitle: "dialogTitle", initialTab: "initialTab", tabs: "tabs", isOpenAdvanced: "isOpenAdvanced", dataSource: "dataSource", dialogConfig: "dialogConfig", uniqueKey: "uniqueKey", headerId: "headerId", tokenViewField: "tokenViewField", tokenizerFn: "tokenizerFn", mobile: "mobile", formatToken: "formatToken", conditionDisplayFn: "conditionDisplayFn", selectTabTitle: "selectTabTitle", searchSelection: "searchSelection", searchTableEmptyMessage: "searchTableEmptyMessage", searchTablePageSize: "searchTablePageSize", searchTableMobileHeaders: "searchTableMobileHeaders", maxShownInitialFilters: "maxShownInitialFilters", loading: "loading", defineTabTitle: "defineTabTitle", defineStrategyLabels: "defineStrategyLabels" }, outputs: { valueChange: "valueChange", onDataRequested: "onDataRequested", onDataReceived: "onDataReceived" }, queries: [{ propertyName: "filters", predicate: VhdFilterComponent }], viewQueries: [{ propertyName: "dialogContainer", first: true, predicate: ["container"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #container>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header [dir]=\"_dir\">\n <ng-template fdkTemplate=\"header\">\n <ng-container *ngTemplateOutlet=\"mobile ? mobileDialogTitle : desktopDialogTitle\"></ng-container>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body [dir]=\"_dir\">\n <ng-container *ngIf=\"!mobile\">\n <ng-container *ngTemplateOutlet=\"advancedSearchContent\"></ng-container>\n </ng-container>\n <div fd-scrollbar class=\"fdp-value-help-dialog__content-holder\">\n <ng-container *ngIf=\"mobile\">\n <ng-container *ngTemplateOutlet=\"advancedSearchContent\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"selectedTab === _tabTypes.selectFromList\">\n <ng-container *ngTemplateOutlet=\"selectionContent\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"selectedTab === _tabTypes.defineConditions\">\n <ng-container *ngTemplateOutlet=\"defineConditionsContent\"></ng-container>\n </ng-container>\n </div>\n </fd-dialog-body>\n <fd-dialog-footer [dir]=\"_dir\">\n <ng-template fdkTemplate=\"footer\">\n <div\n class=\"fdp-value-help-dialog__row fdp-value-help-dialog__selection-row\"\n [attr.aria-label]=\"'platformVHD.selectionBarLabel' | fdTranslate\"\n *ngIf=\"!isMobileAdvancedSearchActive\"\n >\n <h5 fd-title class=\"selected-and-condition-title\" [id]=\"id + '-selected-item'\">\n <ng-container *ngIf=\"hasSelectedAndConditions; else noItemsPanelTitle\">\n {{ 'platformVHD.selectedAndConditionLabel' | fdTranslate }}\n ({{ selectedItems.length + validConditions.length }})\n </ng-container>\n </h5>\n\n <div class=\"fdp-value-help-dialog__tokens-wrapper\">\n <div class=\"fdp-value-help-dialog__tokens\">\n <!-- Selected items -->\n <fd-tokenizer [tokenizerFocusable]=\"false\">\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeSelected(selectedIndex)\"\n *ngFor=\"\n let item of selectedItems;\n index as selectedIndex;\n trackBy: _trackBySelectedFn\n \"\n >{{ !!tokenizerFn ? (item | displayFnPipe : tokenizerFn) : item[tokenViewField] }}\n </fd-token>\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeCondition(conditionIndex)\"\n *ngFor=\"\n let item of validConditions;\n index as conditionIndex;\n trackBy: _trackByConditionFn\n \"\n >\n <ng-container\n [ngTemplateOutlet]=\"conditionValue\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </fd-token>\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 [attr.aria-label]=\"'platformVHD.footerClearSelectedAriaLabel' | fdTranslate\"\n ></button>\n </div>\n </div>\n <div class=\"fdp-value-help-dialog__actions-row\">\n <button\n fd-button\n data-go-advanced\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n *ngIf=\"mobile && isOpenAdvanced\"\n (click)=\"searchAdvanced()\"\n ></button>\n <button\n fd-button\n data-succes\n [label]=\"'platformVHD.successButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n *ngIf=\"selectedTab !== _tabTypes.advancedSearch\"\n (click)=\"success()\"\n ></button>\n <button\n fd-button\n data-dismiss-dialog\n fd-dialog-decisive-button\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\n<ng-template #noItemsPanelTitle>\n {{ 'platformVHD.selectedEmptyLabel' | fdTranslate }}\n</ng-template>\n\n<ng-template #advancedSearchContent>\n <ng-container *ngIf=\"isSelectionTab\">\n <form class=\"fdp-value-help-dialog__row fdp-value-help-dialog__advanced-search\" [id]=\"'advanced-search-' + id\">\n <fd-layout-grid *ngIf=\"!mobile || (mobile && !isOpenAdvanced)\">\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"mobile ? 12 : 6\" [colXl]=\"mobile ? 12 : 6\">\n <fdp-search-field\n [placeholder]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (searchSubmit)=\"search()\"\n (inputChange)=\"_mainSearch = $event.text\"\n ></fdp-search-field>\n </div>\n\n <div\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"mobile ? 12 : 6\"\n [colXl]=\"mobile ? 12 : 6\"\n *ngIf=\"_hasAdvanced\"\n class=\"fdp-value-help-dialog__advanced-actions\"\n >\n <fd-toolbar [clearBorder]=\"true\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n *ngIf=\"_hasAdvanced\"\n [label]=\"\n (mobile\n ? 'platformVHD.searchAdvancedSearchLabel'\n : isOpenAdvanced\n ? 'platformVHD.searchHideAdvancedSearchLabel'\n : 'platformVHD.searchShowAdvancedSearchLabel'\n ) | fdTranslate\n \"\n (click)=\"toggleAdvancedSearch()\"\n ></button>\n <button\n fd-toolbar-item\n type=\"submit\"\n fd-button\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (click)=\"filter()\"\n ></button>\n </fd-toolbar>\n </div>\n </div>\n </fd-layout-grid>\n <div\n [id]=\"'advanced-search-content-' + id\"\n *ngIf=\"isOpenAdvanced && _hasAdvanced\"\n class=\"fdp-value-help-dialog__advanced-filters\"\n >\n <fd-busy-indicator [loading]=\"loadingState && _firstLoadingDone\" [block]=\"true\">\n <fd-layout-grid\n *ngIf=\"_firstLoadingDone; else filtersLoading\"\n [class.fdp-value-help-dialog__with-toggle-all]=\"filters.length > maxShownInitialFilters\"\n >\n <div fdLayoutGridRow>\n <ng-container\n *ngFor=\"\n let filter of _displayedFilters | slice : 0 : shownFilterCount + 1;\n trackBy: _trackByFilterFn\n \"\n >\n <ng-container *ngIf=\"filter.advanced\">\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"6\" [colXl]=\"3\">\n <label class=\"fd-form-group__header\" fd-form-label [for]=\"'input' + filter.key\"\n >{{ filter.label }}:</label\n >\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 </div>\n </ng-container>\n </ng-container>\n\n <div\n colGrow\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"6\"\n [colXl]=\"3\"\n *ngIf=\"filters.length > maxShownInitialFilters\"\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 </div>\n </fd-layout-grid>\n\n <ng-template #filtersLoading>\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\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\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 </ng-template>\n </fd-busy-indicator>\n </div>\n </form>\n </ng-container>\n</ng-template>\n\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]=\"selectTabTitle || ('platformVHD.selectTabTitle' | fdTranslate)\"\n [mobile]=\"mobile\"\n [selection]=\"searchSelection\"\n [emptyTableMessage]=\"searchTableEmptyMessage || ('platformVHD.searchTableEmptyMessage' | fdTranslate)\"\n [uniqueKey]=\"uniqueKey\"\n [pageSize]=\"searchTablePageSize\"\n [defaultMobileHeaders]=\"searchTableMobileHeaders\"\n [filters]=\"_displayedFilters\"\n (select)=\"onSelect($event)\"\n ></fdp-select-tab>\n </fd-busy-indicator>\n</ng-template>\n\n<ng-template #defineConditionsContent>\n <div fd-scrollbar>\n <fdp-define-tab\n [strategyLabels]=\"defineStrategyLabels\"\n [conditions]=\"conditionItems\"\n [uid]=\"id\"\n [tabTitle]=\"defineTabTitle || ('platformVHD.defineTabTitle' | fdTranslate)\"\n [mobile]=\"mobile\"\n (conditionChange)=\"onConditionChange($event)\"\n ></fdp-define-tab>\n </div>\n</ng-template>\n\n<ng-template #dialogTitleText>\n <h5 [attr.id]=\"headerId\" fd-title>{{ dialogTitle }}</h5>\n</ng-template>\n\n<ng-template #tabLink let-title=\"title\" let-type=\"type\">\n <ng-container *ngIf=\"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 <h5 fd-title>{{ title }}</h5>\n </ng-container>\n <ng-container *ngIf=\"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 </ng-container>\n</ng-template>\n\n<ng-template #advancedHeader>\n <button fd-button glyph=\"navigation-left-arrow\" fdType=\"transparent\" (click)=\"toggleAdvancedSearch()\"></button>\n <h5 fd-title>{{ 'platformVHD.searchAdvancedSearchLabel' | fdTranslate }}</h5>\n</ng-template>\n\n<ng-template #desktopDialogTitle>\n <ng-container *ngTemplateOutlet=\"dialogTitleText\"></ng-container>\n <ng-container *ngTemplateOutlet=\"desktopTabs\"></ng-container>\n</ng-template>\n\n<ng-template #mobileDialogTitle>\n <div class=\"fdp-value-help-dialog__mobile-title\">\n <ng-container *ngIf=\"hasSelectedTab; else dialogTitleText\">\n <ng-container *ngTemplateOutlet=\"selectedTabHeader\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"mobileTabs\"></ng-container>\n</ng-template>\n\n<ng-template #desktopTabs>\n <nav fd-tab-nav class=\"fdp-value-help-dialog__tabs\" *ngIf=\"showSelectionTab && showDefineTab\">\n <div fd-tab-item (click)=\"switchTab(_tabTypes.selectFromList)\" *ngIf=\"showSelectionTab\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.selectFromList\"\n [tabindex]=\"selectedTab === _tabTypes.selectFromList ? '0' : '-1'\"\n ><span fd-tab-tag>{{ selectTabTitle || ('platformVHD.selectTabTitle' | fdTranslate) }}</span></a\n >\n </div>\n <div fd-tab-item (click)=\"switchTab(_tabTypes.defineConditions)\" *ngIf=\"showDefineTab\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.defineConditions\"\n [tabindex]=\"selectedTab === _tabTypes.defineConditions ? '0' : '-1'\"\n ><span fd-tab-tag>{{ defineTabTitle || ('platformVHD.defineTabTitle' | fdTranslate) }}</span></a\n >\n </div>\n </nav>\n</ng-template>\n\n<ng-template #mobileTabs>\n <div *ngIf=\"!hasSelectedTab && showSelectionTab && showDefineTab\">\n <div fd-bar [inPage]=\"true\" *ngIf=\"showSelectionTab\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ selectTabTitle || ('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\n : { title: selectTabTitle || ('platformVHD.selectTabTitle' | fdTranslate) }\n \"\n ></fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n <div fd-bar [inPage]=\"true\" *ngIf=\"showDefineTab\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ defineTabTitle || ('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\n : { title: defineTabTitle || ('platformVHD.defineTabTitle' | fdTranslate) }\n \"\n (click)=\"switchTab(_tabTypes.defineConditions)\"\n >\n </fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #selectedTabHeader>\n <ng-container [ngSwitch]=\"selectedTab\">\n <ng-container *ngSwitchCase=\"_tabTypes.selectFromList\">\n <ng-container\n *ngTemplateOutlet=\"\n tabLink;\n context: {\n title: selectTabTitle || ('platformVHD.selectTabTitle' | fdTranslate),\n type: selectedTab\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"_tabTypes.advancedSearch\">\n <ng-container *ngTemplateOutlet=\"advancedHeader\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"_tabTypes.defineConditions\">\n <ng-container\n *ngTemplateOutlet=\"\n tabLink;\n context: {\n title: defineTabTitle || ('platformVHD.defineTabTitle' | fdTranslate),\n type: selectedTab\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #conditionValue let-item=\"item\">\n <span *ngIf=\"item.strategy !== 'empty' && item.strategy !== 'not_empty'; else emptyCondition\">\n {{ item | displayFnPipe : conditionDisplayFn : _displayedFilters }}\n </span>\n <ng-template #emptyCondition>\n <ng-container *ngIf=\"item.strategy === 'not_empty'; else emptyConditionText\">\n !(<ng-container *ngTemplateOutlet=\"emptyConditionText\"></ng-container>)\n </ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template #emptyConditionText> <{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}> </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:#f7f7f7;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:#fff;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}.fdp-value-help-dialog__row{padding:0 2rem 1rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__selection-row{background-color:#f7f7f7;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 #89919a;border-color:var(--sapContent_ForegroundBorderColor, #89919a);margin-right:.5rem;border-radius:.25rem;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: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i5.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i5.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i5.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i5.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i1.DialogDecisiveButtonDirective, selector: "[fd-dialog-decisive-button]" }, { kind: "component", type: i6.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i2.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i7.TabNavComponent, selector: "[fd-tab-nav]", inputs: ["class", "mode", "size"] }, { kind: "directive", type: i7.TabItemDirective, selector: "[fd-tab-item]", inputs: ["class", "tabItemState", "header", "disabled", "fdTabItemClass"] }, { kind: "directive", type: i7.TabLinkDirective, selector: "[fd-tab-link]", inputs: ["active", "disabled"], outputs: ["keyDown", "focused"] }, { kind: "directive", type: i7.TabTagDirective, selector: "[fdTabTag], [fd-tab-tag]" }, { kind: "component", type: i8.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i9.TokenComponent, selector: "fd-token", inputs: ["disabled", "selected", "readOnly", "deleteButtonLabel", "ariaRoleDescription"], outputs: ["onCloseClick", "onRemove", "onTokenClick", "onTokenKeydown", "elementFocused"] }, { kind: "component", type: i9.TokenizerComponent, selector: "fd-tokenizer", inputs: ["class", "disableKeyboardDeletion", "compactCollapse", "tokenizerFocusable", "inputValue", "glyph", "moreTerm", "open"], outputs: ["moreClickedEvent"] }, { kind: "directive", type: i9.TokenizerInputDirective, selector: "[fd-tokenizer-input]", inputs: ["class"] }, { kind: "component", type: i10.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i10.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "component", type: i10.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: i11.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i12.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i12.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i12.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "component", type: i13.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i13.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i13.ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "directive", type: i14.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i14.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "class", "role"] }, { kind: "directive", type: i14.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "component", type: i15.SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "searchSuggestionMessage", "searchSuggestionNavigateMessage", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "directive", type: i16.ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible", "overrideTabindex"] }, { kind: "component", type: i17.SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "component", type: i18.SelectTabComponent, selector: "fdp-select-tab", inputs: ["selectTabTitleId", "selectTabCountId", "selected", "loading", "filters", "selection", "emptyTableMessage", "uniqueKey", "pageSize", "defaultMobileHeaders", "displayedData"], outputs: ["select"] }, { kind: "component", type: i19.DefineTabComponent, selector: "fdp-define-tab", inputs: ["titleId", "selectedId", "conditions", "included", "excluded", "strategyLabels"], outputs: ["includeChange", "excludeChange", "conditionChange"] }, { kind: "pipe", type: i3.SlicePipe, name: "slice" }, { kind: "pipe", type: i20.FdTranslatePipe, name: "fdTranslate" }, { kind: "pipe", type: i2.DisplayFnPipe, name: "displayFnPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
512
512
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PlatformValueHelpDialogComponent, decorators: [{
|
|
513
513
|
type: Component,
|
|
514
514
|
args: [{ selector: 'fdp-value-help-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #container>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header [dir]=\"_dir\">\n <ng-template fdkTemplate=\"header\">\n <ng-container *ngTemplateOutlet=\"mobile ? mobileDialogTitle : desktopDialogTitle\"></ng-container>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body [dir]=\"_dir\">\n <ng-container *ngIf=\"!mobile\">\n <ng-container *ngTemplateOutlet=\"advancedSearchContent\"></ng-container>\n </ng-container>\n <div fd-scrollbar class=\"fdp-value-help-dialog__content-holder\">\n <ng-container *ngIf=\"mobile\">\n <ng-container *ngTemplateOutlet=\"advancedSearchContent\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"selectedTab === _tabTypes.selectFromList\">\n <ng-container *ngTemplateOutlet=\"selectionContent\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"selectedTab === _tabTypes.defineConditions\">\n <ng-container *ngTemplateOutlet=\"defineConditionsContent\"></ng-container>\n </ng-container>\n </div>\n </fd-dialog-body>\n <fd-dialog-footer [dir]=\"_dir\">\n <ng-template fdkTemplate=\"footer\">\n <div\n class=\"fdp-value-help-dialog__row fdp-value-help-dialog__selection-row\"\n [attr.aria-label]=\"'platformVHD.selectionBarLabel' | fdTranslate\"\n *ngIf=\"!isMobileAdvancedSearchActive\"\n >\n <h5 fd-title class=\"selected-and-condition-title\" [id]=\"id + '-selected-item'\">\n <ng-container *ngIf=\"hasSelectedAndConditions; else noItemsPanelTitle\">\n {{ 'platformVHD.selectedAndConditionLabel' | fdTranslate }}\n ({{ selectedItems.length + validConditions.length }})\n </ng-container>\n </h5>\n\n <div class=\"fdp-value-help-dialog__tokens-wrapper\">\n <div class=\"fdp-value-help-dialog__tokens\">\n <!-- Selected items -->\n <fd-tokenizer [tokenizerFocusable]=\"false\">\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeSelected(selectedIndex)\"\n *ngFor=\"\n let item of selectedItems;\n index as selectedIndex;\n trackBy: _trackBySelectedFn\n \"\n >{{ !!tokenizerFn ? (item | displayFnPipe : tokenizerFn) : item[tokenViewField] }}\n </fd-token>\n <fd-token\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeCondition(conditionIndex)\"\n *ngFor=\"\n let item of validConditions;\n index as conditionIndex;\n trackBy: _trackByConditionFn\n \"\n >\n <ng-container\n [ngTemplateOutlet]=\"conditionValue\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </fd-token>\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 [attr.aria-label]=\"'platformVHD.footerClearSelectedAriaLabel' | fdTranslate\"\n ></button>\n </div>\n </div>\n <div class=\"fdp-value-help-dialog__actions-row\">\n <button\n fd-button\n data-go-advanced\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n *ngIf=\"mobile && isOpenAdvanced\"\n (click)=\"searchAdvanced()\"\n ></button>\n <button\n fd-button\n data-succes\n [label]=\"'platformVHD.successButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n *ngIf=\"selectedTab !== _tabTypes.advancedSearch\"\n (click)=\"success()\"\n ></button>\n <button\n fd-button\n data-dismiss-dialog\n fd-dialog-decisive-button\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\n<ng-template #noItemsPanelTitle>\n {{ 'platformVHD.selectedEmptyLabel' | fdTranslate }}\n</ng-template>\n\n<ng-template #advancedSearchContent>\n <ng-container *ngIf=\"isSelectionTab\">\n <form class=\"fdp-value-help-dialog__row fdp-value-help-dialog__advanced-search\" [id]=\"'advanced-search-' + id\">\n <fd-layout-grid *ngIf=\"!mobile || (mobile && !isOpenAdvanced)\">\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"mobile ? 12 : 6\" [colXl]=\"mobile ? 12 : 6\">\n <fdp-search-field\n [placeholder]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (searchSubmit)=\"search()\"\n (inputChange)=\"_mainSearch = $event.text\"\n ></fdp-search-field>\n </div>\n\n <div\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"mobile ? 12 : 6\"\n [colXl]=\"mobile ? 12 : 6\"\n *ngIf=\"_hasAdvanced\"\n class=\"fdp-value-help-dialog__advanced-actions\"\n >\n <fd-toolbar [clearBorder]=\"true\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n *ngIf=\"_hasAdvanced\"\n [label]=\"\n (mobile\n ? 'platformVHD.searchAdvancedSearchLabel'\n : isOpenAdvanced\n ? 'platformVHD.searchHideAdvancedSearchLabel'\n : 'platformVHD.searchShowAdvancedSearchLabel'\n ) | fdTranslate\n \"\n (click)=\"toggleAdvancedSearch()\"\n ></button>\n <button\n fd-toolbar-item\n type=\"submit\"\n fd-button\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (click)=\"filter()\"\n ></button>\n </fd-toolbar>\n </div>\n </div>\n </fd-layout-grid>\n <div\n [id]=\"'advanced-search-content-' + id\"\n *ngIf=\"isOpenAdvanced && _hasAdvanced\"\n class=\"fdp-value-help-dialog__advanced-filters\"\n >\n <fd-busy-indicator [loading]=\"loadingState && _firstLoadingDone\" [block]=\"true\">\n <fd-layout-grid\n *ngIf=\"_firstLoadingDone; else filtersLoading\"\n [class.fdp-value-help-dialog__with-toggle-all]=\"filters.length > maxShownInitialFilters\"\n >\n <div fdLayoutGridRow>\n <ng-container\n *ngFor=\"\n let filter of _displayedFilters | slice : 0 : shownFilterCount + 1;\n trackBy: _trackByFilterFn\n \"\n >\n <ng-container *ngIf=\"filter.advanced\">\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"6\" [colXl]=\"3\">\n <label class=\"fd-form-group__header\" fd-form-label [for]=\"'input' + filter.key\"\n >{{ filter.label }}:</label\n >\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 </div>\n </ng-container>\n </ng-container>\n\n <div\n colGrow\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"6\"\n [colXl]=\"3\"\n *ngIf=\"filters.length > maxShownInitialFilters\"\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 </div>\n </fd-layout-grid>\n\n <ng-template #filtersLoading>\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\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\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 </ng-template>\n </fd-busy-indicator>\n </div>\n </form>\n </ng-container>\n</ng-template>\n\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]=\"selectTabTitle || ('platformVHD.selectTabTitle' | fdTranslate)\"\n [mobile]=\"mobile\"\n [selection]=\"searchSelection\"\n [emptyTableMessage]=\"searchTableEmptyMessage || ('platformVHD.searchTableEmptyMessage' | fdTranslate)\"\n [uniqueKey]=\"uniqueKey\"\n [pageSize]=\"searchTablePageSize\"\n [defaultMobileHeaders]=\"searchTableMobileHeaders\"\n [filters]=\"_displayedFilters\"\n (select)=\"onSelect($event)\"\n ></fdp-select-tab>\n </fd-busy-indicator>\n</ng-template>\n\n<ng-template #defineConditionsContent>\n <div fd-scrollbar>\n <fdp-define-tab\n [strategyLabels]=\"defineStrategyLabels\"\n [conditions]=\"conditionItems\"\n [uid]=\"id\"\n [tabTitle]=\"defineTabTitle || ('platformVHD.defineTabTitle' | fdTranslate)\"\n [mobile]=\"mobile\"\n (conditionChange)=\"onConditionChange($event)\"\n ></fdp-define-tab>\n </div>\n</ng-template>\n\n<ng-template #dialogTitleText>\n <h5 [attr.id]=\"headerId\" fd-title>{{ dialogTitle }}</h5>\n</ng-template>\n\n<ng-template #tabLink let-title=\"title\" let-type=\"type\">\n <ng-container *ngIf=\"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 <h5 fd-title>{{ title }}</h5>\n </ng-container>\n <ng-container *ngIf=\"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 </ng-container>\n</ng-template>\n\n<ng-template #advancedHeader>\n <button fd-button glyph=\"navigation-left-arrow\" fdType=\"transparent\" (click)=\"toggleAdvancedSearch()\"></button>\n <h5 fd-title>{{ 'platformVHD.searchAdvancedSearchLabel' | fdTranslate }}</h5>\n</ng-template>\n\n<ng-template #desktopDialogTitle>\n <ng-container *ngTemplateOutlet=\"dialogTitleText\"></ng-container>\n <ng-container *ngTemplateOutlet=\"desktopTabs\"></ng-container>\n</ng-template>\n\n<ng-template #mobileDialogTitle>\n <div class=\"fdp-value-help-dialog__mobile-title\">\n <ng-container *ngIf=\"hasSelectedTab; else dialogTitleText\">\n <ng-container *ngTemplateOutlet=\"selectedTabHeader\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"mobileTabs\"></ng-container>\n</ng-template>\n\n<ng-template #desktopTabs>\n <nav fd-tab-nav class=\"fdp-value-help-dialog__tabs\" *ngIf=\"showSelectionTab && showDefineTab\">\n <div fd-tab-item (click)=\"switchTab(_tabTypes.selectFromList)\" *ngIf=\"showSelectionTab\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.selectFromList\"\n [tabindex]=\"selectedTab === _tabTypes.selectFromList ? '0' : '-1'\"\n ><span fd-tab-tag>{{ selectTabTitle || ('platformVHD.selectTabTitle' | fdTranslate) }}</span></a\n >\n </div>\n <div fd-tab-item (click)=\"switchTab(_tabTypes.defineConditions)\" *ngIf=\"showDefineTab\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.defineConditions\"\n [tabindex]=\"selectedTab === _tabTypes.defineConditions ? '0' : '-1'\"\n ><span fd-tab-tag>{{ defineTabTitle || ('platformVHD.defineTabTitle' | fdTranslate) }}</span></a\n >\n </div>\n </nav>\n</ng-template>\n\n<ng-template #mobileTabs>\n <div *ngIf=\"!hasSelectedTab && showSelectionTab && showDefineTab\">\n <div fd-bar [inPage]=\"true\" *ngIf=\"showSelectionTab\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ selectTabTitle || ('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\n : { title: selectTabTitle || ('platformVHD.selectTabTitle' | fdTranslate) }\n \"\n ></fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n <div fd-bar [inPage]=\"true\" *ngIf=\"showDefineTab\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ defineTabTitle || ('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\n : { title: defineTabTitle || ('platformVHD.defineTabTitle' | fdTranslate) }\n \"\n (click)=\"switchTab(_tabTypes.defineConditions)\"\n >\n </fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #selectedTabHeader>\n <ng-container [ngSwitch]=\"selectedTab\">\n <ng-container *ngSwitchCase=\"_tabTypes.selectFromList\">\n <ng-container\n *ngTemplateOutlet=\"\n tabLink;\n context: {\n title: selectTabTitle || ('platformVHD.selectTabTitle' | fdTranslate),\n type: selectedTab\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"_tabTypes.advancedSearch\">\n <ng-container *ngTemplateOutlet=\"advancedHeader\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"_tabTypes.defineConditions\">\n <ng-container\n *ngTemplateOutlet=\"\n tabLink;\n context: {\n title: defineTabTitle || ('platformVHD.defineTabTitle' | fdTranslate),\n type: selectedTab\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #conditionValue let-item=\"item\">\n <span *ngIf=\"item.strategy !== 'empty' && item.strategy !== 'not_empty'; else emptyCondition\">\n {{ item | displayFnPipe : conditionDisplayFn : _displayedFilters }}\n </span>\n <ng-template #emptyCondition>\n <ng-container *ngIf=\"item.strategy === 'not_empty'; else emptyConditionText\">\n !(<ng-container *ngTemplateOutlet=\"emptyConditionText\"></ng-container>)\n </ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template #emptyConditionText> <{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}> </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:#f7f7f7;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:#fff;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}.fdp-value-help-dialog__row{padding:0 2rem 1rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__selection-row{background-color:#f7f7f7;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 #89919a;border-color:var(--sapContent_ForegroundBorderColor, #89919a);margin-right:.5rem;border-radius:.25rem;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"] }]
|
|
@@ -157,7 +157,7 @@ VariantManagementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
|
|
|
157
157
|
provide: FDP_VARIANT_MANAGEMENT,
|
|
158
158
|
useExisting: VariantManagementComponent
|
|
159
159
|
}
|
|
160
|
-
], queries: [{ propertyName: "dirtyLabel", first: true, predicate: VariantManagementDirtyLabelDirective, descendants: true }], viewQueries: [{ propertyName: "_popover", first: true, predicate: ["popover"], descendants: true }], ngImport: i0, template: "<fd-popover\n #popover\n *ngIf=\"activeVariant\"\n placement=\"bottom\"\n [noArrow]=\"false\"\n [focusAutoCapture]=\"true\"\n [focusTrapped]=\"true\"\n additionalBodyClass=\"fd-variant-management__popover-body\"\n [triggers]=\"popoverTriggers\"\n>\n <fd-popover-control>\n <div class=\"fd-variant-management__header\">\n <h4 fd-title class=\"fd-variant-management__title\" [headerSize]=\"headerSize\">\n {{ activeVariant.name }}\n </h4>\n <ng-container *ngIf=\"_variantChanged\">\n <span\n class=\"fd-variant-management__dirty-indicator\"\n [class.fd-variant-management__dirty-indicator--custom]=\"!!dirtyLabel\"\n >\n <ng-template #defaultDirtyIndicator>*</ng-template>\n <ng-template\n *ngTemplateOutlet=\"dirtyLabel ? dirtyLabel.templateRef : defaultDirtyIndicator\"\n ></ng-template>\n </span>\n </ng-container>\n <fdp-menu-button type=\"transparent\"> </fdp-menu-button>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <div fd-popover-body-header>\n <div fd-bar [barDesign]=\"displaySearch ? 'header-with-subheader' : 'header'\">\n <div fd-bar-left>\n <fd-bar-element>\n <h5 fd-title>{{ 'platformVariantManagement.myViews' | fdTranslate }}</h5>\n </fd-bar-element>\n </div>\n </div>\n <div fd-bar barDesign=\"header\" *ngIf=\"displaySearch\">\n <div fd-bar-left>\n <fd-bar-element>\n <fdp-search-field\n [placeholder]=\"'platformVariantManagement.search' | fdTranslate\"\n (searchSubmit)=\"_onSearchSubmit($event)\"\n (cancelSearch)=\"_cancelSearch()\"\n [disableRefresh]=\"true\"\n ></fdp-search-field>\n </fd-bar-element>\n </div>\n </div>\n </div>\n <ul fd-list>\n <ng-container\n *ngFor=\"\n let variant of _variants | fdFilterStrings : { searchTerm: _filterPhrase, key: 'name' };\n trackBy: _trackFn\n \"\n >\n <li fd-list-item (click)=\"selectVariant(variant)\">\n <span fd-list-link>\n <span fd-list-title>{{ variant.name }}</span>\n </span>\n </li>\n </ng-container>\n </ul>\n <div fd-popover-body-footer>\n <div fd-bar barDesign=\"footer\">\n <div fd-bar-right>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformVariantManagement.save' | fdTranslate\"\n *ngIf=\"!activeVariant.readonly && _variantChanged\"\n (click)=\"saveCurrentVariant()\"\n >\n </fd-button-bar>\n <fd-button-bar\n [fdType]=\"activeVariant.readonly || !_variantChanged ? 'emphasized' : 'transparent'\"\n [label]=\"'platformVariantManagement.saveAs' | fdTranslate\"\n (click)=\"_openSaveDialog()\"\n ></fd-button-bar>\n <fd-button-bar\n [label]=\"'platformVariantManagement.manage' | fdTranslate\"\n (click)=\"_openManageDialog()\"\n ></fd-button-bar>\n </div>\n </div>\n </div>\n </fd-popover-body>\n</fd-popover>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-variant-management{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-variant-management:after,.fd-variant-management:before{box-sizing:inherit;font-size:inherit}.fd-variant-management__header{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:.125rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-variant-management__header:after,.fd-variant-management__header:before{box-sizing:inherit;font-size:inherit}.fd-variant-management .fd-variant-management__title{color:var(--fdVariantManagementHeadingColor)}.fd-variant-management .fd-variant-management__title.is-hover,.fd-variant-management .fd-variant-management__title:hover{color:var(--fdVariantManagementHeadingHoverColor)}.fd-variant-management .fd-variant-management__title.is-active,.fd-variant-management .fd-variant-management__title:active{color:var(--fdVariantManagementHeadingActiveColor)}.fd-variant-management__dirty-indicator{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;font-weight:700;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-variant-management__dirty-indicator:after,.fd-variant-management__dirty-indicator:before{box-sizing:inherit;font-size:inherit}.fd-variant-management__dirty-indicator--custom{font-size:var(--sapFontSmallSize)}.fd-variant-management__favourite-state{color:var(--sapContent_NonInteractiveIconColor);cursor:pointer}.fd-variant-management__favourite-state--active{color:var(--sapContent_MarkerIconColor)}.fd-variant-management__centered-checkbox{-webkit-box-pack:center;-ms-flex-pack:center;display:flex;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i3.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "directive", type: i3.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "directive", type: i3.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i3.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i4.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i4.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i4.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i5.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i6.MenuButtonComponent, selector: "fdp-menu-button", inputs: ["label", "title", "icon", "type"], outputs: ["buttonClicked"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i7.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "component", type: i8.SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "searchSuggestionMessage", "searchSuggestionNavigateMessage", "forceSearchButton"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "pipe", type: i9.FdTranslatePipe, name: "fdTranslate" }, { kind: "pipe", type: i10.FilterStringsPipe, name: "fdFilterStrings" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
160
|
+
], queries: [{ propertyName: "dirtyLabel", first: true, predicate: VariantManagementDirtyLabelDirective, descendants: true }], viewQueries: [{ propertyName: "_popover", first: true, predicate: ["popover"], descendants: true }], ngImport: i0, template: "<fd-popover\n #popover\n *ngIf=\"activeVariant\"\n placement=\"bottom\"\n [noArrow]=\"false\"\n [focusAutoCapture]=\"true\"\n [focusTrapped]=\"true\"\n additionalBodyClass=\"fd-variant-management__popover-body\"\n [triggers]=\"popoverTriggers\"\n>\n <fd-popover-control>\n <div class=\"fd-variant-management__header\">\n <h4 fd-title class=\"fd-variant-management__title\" [headerSize]=\"headerSize\">\n {{ activeVariant.name }}\n </h4>\n <ng-container *ngIf=\"_variantChanged\">\n <span\n class=\"fd-variant-management__dirty-indicator\"\n [class.fd-variant-management__dirty-indicator--custom]=\"!!dirtyLabel\"\n >\n <ng-template #defaultDirtyIndicator>*</ng-template>\n <ng-template\n *ngTemplateOutlet=\"dirtyLabel ? dirtyLabel.templateRef : defaultDirtyIndicator\"\n ></ng-template>\n </span>\n </ng-container>\n <fdp-menu-button type=\"transparent\"> </fdp-menu-button>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <div fd-popover-body-header>\n <div fd-bar [barDesign]=\"displaySearch ? 'header-with-subheader' : 'header'\">\n <div fd-bar-left>\n <fd-bar-element>\n <h5 fd-title>{{ 'platformVariantManagement.myViews' | fdTranslate }}</h5>\n </fd-bar-element>\n </div>\n </div>\n <div fd-bar barDesign=\"header\" *ngIf=\"displaySearch\">\n <div fd-bar-left>\n <fd-bar-element>\n <fdp-search-field\n [placeholder]=\"'platformVariantManagement.search' | fdTranslate\"\n (searchSubmit)=\"_onSearchSubmit($event)\"\n (cancelSearch)=\"_cancelSearch()\"\n [disableRefresh]=\"true\"\n ></fdp-search-field>\n </fd-bar-element>\n </div>\n </div>\n </div>\n <ul fd-list>\n <ng-container\n *ngFor=\"\n let variant of _variants | fdFilterStrings : { searchTerm: _filterPhrase, key: 'name' };\n trackBy: _trackFn\n \"\n >\n <li fd-list-item (click)=\"selectVariant(variant)\">\n <span fd-list-link>\n <span fd-list-title>{{ variant.name }}</span>\n </span>\n </li>\n </ng-container>\n </ul>\n <div fd-popover-body-footer>\n <div fd-bar barDesign=\"footer\">\n <div fd-bar-right>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformVariantManagement.save' | fdTranslate\"\n *ngIf=\"!activeVariant.readonly && _variantChanged\"\n (click)=\"saveCurrentVariant()\"\n >\n </fd-button-bar>\n <fd-button-bar\n [fdType]=\"activeVariant.readonly || !_variantChanged ? 'emphasized' : 'transparent'\"\n [label]=\"'platformVariantManagement.saveAs' | fdTranslate\"\n (click)=\"_openSaveDialog()\"\n ></fd-button-bar>\n <fd-button-bar\n [label]=\"'platformVariantManagement.manage' | fdTranslate\"\n (click)=\"_openManageDialog()\"\n ></fd-button-bar>\n </div>\n </div>\n </div>\n </fd-popover-body>\n</fd-popover>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-variant-management{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-variant-management:after,.fd-variant-management:before{box-sizing:inherit;font-size:inherit}.fd-variant-management__header{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:.125rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-variant-management__header:after,.fd-variant-management__header:before{box-sizing:inherit;font-size:inherit}.fd-variant-management .fd-variant-management__title{color:var(--fdVariantManagementHeadingColor)}.fd-variant-management .fd-variant-management__title.is-hover,.fd-variant-management .fd-variant-management__title:hover{color:var(--fdVariantManagementHeadingHoverColor)}.fd-variant-management .fd-variant-management__title.is-active,.fd-variant-management .fd-variant-management__title:active{color:var(--fdVariantManagementHeadingActiveColor)}.fd-variant-management__dirty-indicator{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;font-weight:700;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-variant-management__dirty-indicator:after,.fd-variant-management__dirty-indicator:before{box-sizing:inherit;font-size:inherit}.fd-variant-management__dirty-indicator--custom{font-size:var(--sapFontSmallSize)}.fd-variant-management__favourite-state{color:var(--sapContent_NonInteractiveIconColor);cursor:pointer}.fd-variant-management__favourite-state--active{color:var(--sapContent_MarkerIconColor)}.fd-variant-management__centered-checkbox{-webkit-box-pack:center;-ms-flex-pack:center;display:flex;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i3.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "directive", type: i3.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "directive", type: i3.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i3.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i4.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i4.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i4.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i5.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i6.MenuButtonComponent, selector: "fdp-menu-button", inputs: ["label", "title", "icon", "type"], outputs: ["buttonClicked"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i7.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "component", type: i8.SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "searchSuggestionMessage", "searchSuggestionNavigateMessage", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "pipe", type: i9.FdTranslatePipe, name: "fdTranslate" }, { kind: "pipe", type: i10.FilterStringsPipe, name: "fdFilterStrings" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
161
161
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VariantManagementComponent, decorators: [{
|
|
162
162
|
type: Component,
|
|
163
163
|
args: [{ selector: 'fdp-variant-management', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|