import Dialog from "@ui5/webcomponents/dist/Dialog.js"; import Button from "@ui5/webcomponents/dist/Button.js"; import Title from "@ui5/webcomponents/dist/Title.js"; import SegmentedButton from "@ui5/webcomponents/dist/SegmentedButton.js"; import SegmentedButtonItem from "@ui5/webcomponents/dist/SegmentedButtonItem.js"; import List from "@ui5/webcomponents/dist/List.js"; import ListItemGroup from "@ui5/webcomponents/dist/ListItemGroup.js"; import ListItemStandard from "@ui5/webcomponents/dist/ListItemStandard.js"; import navBackIcon from "@ui5/webcomponents-icons/dist/nav-back.js"; import sortIcon from "@ui5/webcomponents-icons/dist/sort.js"; import filterIcon from "@ui5/webcomponents-icons/dist/filter.js"; import groupIcon from "@ui5/webcomponents-icons/dist/group-2.js"; import type ViewSettingsDialog from "./ViewSettingsDialog.js"; function ViewSettingsDialogTemplateHeader(this: ViewSettingsDialog) { return (
{this.showBackButton && (
{!this.showBackButton && this.hasPagination && (
{_getSplitButtonItems.call(this)}
)}
); } function _getSplitButtonItems(this: ViewSettingsDialog) { const buttonItems = []; if (this.shouldBuildSort) { buttonItems.push( ); } if (this.shouldBuildFilter) { buttonItems.push( ); } if (this.shouldBuildGroup) { buttonItems.push( ); } return buttonItems; } function ViewSettingsDialogTemplateContent(this: ViewSettingsDialog) { return (
{this.shouldBuildSort && this.isModeSort && ( ViewSettingsDialogSortAndGroupTemplate.call(this, true) )} {this.shouldBuildFilter && this.isModeFilter && ( ViewSettingsDialogFilterTemplate.call(this) )} {this.shouldBuildGroup && this.isModeGroup && ( ViewSettingsDialogSortAndGroupTemplate.call(this, false) )}
); } function ViewSettingsDialogSortAndGroupTemplate(this: ViewSettingsDialog, isSortTemplate: boolean) { const currentSettingsOrder = isSortTemplate ? this._currentSettings.sortOrder : this._currentSettings.groupOrder; const currentSettingsBy = isSortTemplate ? this._currentSettings.sortBy : this._currentSettings.groupBy; return (
{currentSettingsOrder.map(item => ( {item.text} ))} {currentSettingsBy.map((item, index) => ( {item.text} ))}
); } function ViewSettingsDialogFilterTemplate(this: ViewSettingsDialog) { return ( <> {this._filterStepTwo ? ( {this._currentSettings.filters.filter(item => item.selected).map(item => (<> {item.filterOptions.map(option => ( {option.text} ))} ))} ) : ( // else {this.filterItems.map(item => ( {item.text} ))} )} ); } function ViewSettingsDialogTemplateFooter(this: ViewSettingsDialog) { return ( ); } export default function ViewSettingsDialogTemplate(this: ViewSettingsDialog) { return ( {ViewSettingsDialogTemplateHeader.call(this)} {ViewSettingsDialogTemplateContent.call(this)} {ViewSettingsDialogTemplateFooter.call(this)} ); }