@ui5/webcomponents-fiori 2.9.0-rc.0 → 2.9.0-rc.2
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/CHANGELOG.md +44 -0
- package/cypress/specs/DynamicPage.cy.tsx +38 -0
- package/cypress/specs/Search.cy.tsx +817 -0
- package/cypress/specs/SearchField.cy.tsx +0 -4
- package/cypress/specs/ShellBar.cy.tsx +99 -4
- package/cypress/specs/SideNavigation.cy.tsx +52 -0
- package/cypress/specs/UserMenu.cy.tsx +66 -9
- package/dist/.tsbuildinfo +1 -1
- package/dist/DynamicPage.js +12 -0
- package/dist/DynamicPage.js.map +1 -1
- package/dist/NavigationMenuItem.d.ts +1 -1
- package/dist/NavigationMenuItem.js +1 -1
- package/dist/NavigationMenuItem.js.map +1 -1
- package/dist/NavigationMenuItemTemplate.d.ts +2 -2
- package/dist/NavigationMenuItemTemplate.js +2 -12
- package/dist/NavigationMenuItemTemplate.js.map +1 -1
- package/dist/Search.d.ts +175 -0
- package/dist/Search.js +420 -0
- package/dist/Search.js.map +1 -0
- package/dist/SearchField.d.ts +3 -1
- package/dist/SearchField.js +7 -2
- package/dist/SearchField.js.map +1 -1
- package/dist/SearchFieldScopeOption.d.ts +2 -0
- package/dist/SearchFieldScopeOption.js +2 -0
- package/dist/SearchFieldScopeOption.js.map +1 -1
- package/dist/SearchFieldTemplate.js +1 -1
- package/dist/SearchFieldTemplate.js.map +1 -1
- package/dist/SearchItem.d.ts +52 -0
- package/dist/SearchItem.js +106 -0
- package/dist/SearchItem.js.map +1 -0
- package/dist/SearchItemGroup.d.ts +17 -0
- package/dist/SearchItemGroup.js +39 -0
- package/dist/SearchItemGroup.js.map +1 -0
- package/dist/SearchItemTemplate.d.ts +2 -0
- package/dist/SearchItemTemplate.js +14 -0
- package/dist/SearchItemTemplate.js.map +1 -0
- package/dist/SearchPopoverTemplate.d.ts +2 -0
- package/dist/SearchPopoverTemplate.js +22 -0
- package/dist/SearchPopoverTemplate.js.map +1 -0
- package/dist/SearchTemplate.d.ts +2 -0
- package/dist/SearchTemplate.js +7 -0
- package/dist/SearchTemplate.js.map +1 -0
- package/dist/ShellBar.d.ts +7 -2
- package/dist/ShellBar.js +31 -23
- package/dist/ShellBar.js.map +1 -1
- package/dist/ShellBarItem.d.ts +24 -0
- package/dist/ShellBarItem.js +27 -0
- package/dist/ShellBarItem.js.map +1 -1
- package/dist/ShellBarPopoverTemplate.js +1 -1
- package/dist/ShellBarPopoverTemplate.js.map +1 -1
- package/dist/ShellBarTemplate.js +11 -7
- package/dist/ShellBarTemplate.js.map +1 -1
- package/dist/SideNavigation.d.ts +21 -0
- package/dist/SideNavigation.js +22 -0
- package/dist/SideNavigation.js.map +1 -1
- package/dist/SideNavigationGroup.js +3 -3
- package/dist/SideNavigationGroup.js.map +1 -1
- package/dist/SideNavigationItem.js +3 -3
- package/dist/SideNavigationItem.js.map +1 -1
- package/dist/SideNavigationTemplate.js +1 -1
- package/dist/SideNavigationTemplate.js.map +1 -1
- package/dist/UserMenu.d.ts +6 -2
- package/dist/UserMenu.js +17 -14
- package/dist/UserMenu.js.map +1 -1
- package/dist/UserMenuAccount.d.ts +7 -0
- package/dist/UserMenuAccount.js +10 -0
- package/dist/UserMenuAccount.js.map +1 -1
- package/dist/UserMenuTemplate.js +26 -19
- package/dist/UserMenuTemplate.js.map +1 -1
- package/dist/ViewSettingsDialog.d.ts +1 -0
- package/dist/ViewSettingsDialog.js +6 -1
- package/dist/ViewSettingsDialog.js.map +1 -1
- package/dist/ViewSettingsDialogTemplate.js +1 -1
- package/dist/ViewSettingsDialogTemplate.js.map +1 -1
- package/dist/bundle.esm.js +3 -0
- package/dist/bundle.esm.js.map +1 -1
- package/dist/css/themes/DynamicPage.css +1 -1
- package/dist/css/themes/DynamicPageHeader.css +1 -1
- package/dist/css/themes/DynamicPageHeaderActions.css +1 -1
- package/dist/css/themes/DynamicPageTitle.css +1 -1
- package/dist/css/themes/FlexibleColumnLayout.css +1 -1
- package/dist/css/themes/MediaGallery.css +1 -1
- package/dist/css/themes/MediaGalleryItem.css +1 -1
- package/dist/css/themes/NavigationMenu.css +1 -1
- package/dist/css/themes/NavigationMenuItem.css +1 -1
- package/dist/css/themes/NotificationListGroupItem.css +1 -1
- package/dist/css/themes/NotificationListItem.css +1 -1
- package/dist/css/themes/NotificationListItemBase.css +1 -1
- package/dist/css/themes/NotificationStateIcon.css +1 -1
- package/dist/css/themes/Page.css +1 -1
- package/dist/css/themes/ProductSwitchItem.css +1 -1
- package/dist/css/themes/Search.css +1 -0
- package/dist/css/themes/SearchField.css +1 -1
- package/dist/css/themes/SearchItem.css +1 -0
- package/dist/css/themes/SearchItemGroup.css +1 -0
- package/dist/css/themes/ShellBar.css +1 -1
- package/dist/css/themes/ShellBarPopover.css +1 -1
- package/dist/css/themes/SideNavigation.css +1 -1
- package/dist/css/themes/SideNavigationGroup.css +1 -1
- package/dist/css/themes/SideNavigationItem.css +1 -1
- package/dist/css/themes/SideNavigationItemBase.css +1 -1
- package/dist/css/themes/SideNavigationPopover.css +1 -1
- package/dist/css/themes/SideNavigationSubItem.css +1 -1
- package/dist/css/themes/Timeline.css +1 -1
- package/dist/css/themes/TimelineGroupItem.css +1 -1
- package/dist/css/themes/TimelineItem.css +1 -1
- package/dist/css/themes/UploadCollection.css +1 -1
- package/dist/css/themes/UploadCollectionItem.css +1 -1
- package/dist/css/themes/UserMenu.css +1 -1
- package/dist/css/themes/UserMenuItem.css +1 -1
- package/dist/css/themes/UserSettingsItem.css +1 -1
- package/dist/css/themes/ViewSettingsDialog.css +1 -1
- package/dist/css/themes/Wizard.css +1 -1
- package/dist/css/themes/WizardTab.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +552 -0
- package/dist/custom-elements.json +479 -0
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +5 -1
- package/dist/generated/i18n/i18n-defaults.js +6 -2
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/themes/DynamicPage.css.d.ts +1 -1
- package/dist/generated/themes/DynamicPage.css.js +1 -1
- package/dist/generated/themes/DynamicPage.css.js.map +1 -1
- package/dist/generated/themes/DynamicPageHeader.css.d.ts +1 -1
- package/dist/generated/themes/DynamicPageHeader.css.js +1 -1
- package/dist/generated/themes/DynamicPageHeader.css.js.map +1 -1
- package/dist/generated/themes/DynamicPageHeaderActions.css.d.ts +1 -1
- package/dist/generated/themes/DynamicPageHeaderActions.css.js +1 -1
- package/dist/generated/themes/DynamicPageHeaderActions.css.js.map +1 -1
- package/dist/generated/themes/DynamicPageTitle.css.d.ts +1 -1
- package/dist/generated/themes/DynamicPageTitle.css.js +1 -1
- package/dist/generated/themes/DynamicPageTitle.css.js.map +1 -1
- package/dist/generated/themes/FlexibleColumnLayout.css.d.ts +1 -1
- package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
- package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
- package/dist/generated/themes/MediaGallery.css.d.ts +1 -1
- package/dist/generated/themes/MediaGallery.css.js +1 -1
- package/dist/generated/themes/MediaGallery.css.js.map +1 -1
- package/dist/generated/themes/MediaGalleryItem.css.d.ts +1 -1
- package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
- package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
- package/dist/generated/themes/NavigationMenu.css.d.ts +1 -1
- package/dist/generated/themes/NavigationMenu.css.js +1 -1
- package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
- package/dist/generated/themes/NavigationMenuItem.css.d.ts +1 -1
- package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
- package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
- package/dist/generated/themes/NotificationListGroupItem.css.d.ts +1 -1
- package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
- package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
- package/dist/generated/themes/NotificationListItem.css.d.ts +1 -1
- package/dist/generated/themes/NotificationListItem.css.js +1 -1
- package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
- package/dist/generated/themes/NotificationListItemBase.css.d.ts +1 -1
- package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
- package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
- package/dist/generated/themes/NotificationStateIcon.css.d.ts +1 -1
- package/dist/generated/themes/NotificationStateIcon.css.js +1 -1
- package/dist/generated/themes/NotificationStateIcon.css.js.map +1 -1
- package/dist/generated/themes/Page.css.d.ts +1 -1
- package/dist/generated/themes/Page.css.js +1 -1
- package/dist/generated/themes/Page.css.js.map +1 -1
- package/dist/generated/themes/ProductSwitchItem.css.d.ts +1 -1
- package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
- package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
- package/dist/generated/themes/Search.css.d.ts +2 -0
- package/dist/generated/themes/Search.css.js +8 -0
- package/dist/generated/themes/Search.css.js.map +1 -0
- package/dist/generated/themes/SearchField.css.d.ts +1 -1
- package/dist/generated/themes/SearchField.css.js +1 -1
- package/dist/generated/themes/SearchField.css.js.map +1 -1
- package/dist/generated/themes/SearchItem.css.d.ts +2 -0
- package/dist/generated/themes/SearchItem.css.js +8 -0
- package/dist/generated/themes/SearchItem.css.js.map +1 -0
- package/dist/generated/themes/SearchItemGroup.css.d.ts +2 -0
- package/dist/generated/themes/SearchItemGroup.css.js +8 -0
- package/dist/generated/themes/SearchItemGroup.css.js.map +1 -0
- package/dist/generated/themes/ShellBar.css.d.ts +1 -1
- package/dist/generated/themes/ShellBar.css.js +1 -1
- package/dist/generated/themes/ShellBar.css.js.map +1 -1
- package/dist/generated/themes/ShellBarPopover.css.d.ts +1 -1
- package/dist/generated/themes/ShellBarPopover.css.js +1 -1
- package/dist/generated/themes/ShellBarPopover.css.js.map +1 -1
- package/dist/generated/themes/SideNavigation.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigation.css.js +1 -1
- package/dist/generated/themes/SideNavigation.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationGroup.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
- package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationItem.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigationItem.css.js +1 -1
- package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationItemBase.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
- package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationPopover.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
- package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
- package/dist/generated/themes/Timeline.css.d.ts +1 -1
- package/dist/generated/themes/Timeline.css.js +1 -1
- package/dist/generated/themes/Timeline.css.js.map +1 -1
- package/dist/generated/themes/TimelineGroupItem.css.d.ts +1 -1
- package/dist/generated/themes/TimelineGroupItem.css.js +1 -1
- package/dist/generated/themes/TimelineGroupItem.css.js.map +1 -1
- package/dist/generated/themes/TimelineItem.css.d.ts +1 -1
- package/dist/generated/themes/TimelineItem.css.js +1 -1
- package/dist/generated/themes/TimelineItem.css.js.map +1 -1
- package/dist/generated/themes/UploadCollection.css.d.ts +1 -1
- package/dist/generated/themes/UploadCollection.css.js +1 -1
- package/dist/generated/themes/UploadCollection.css.js.map +1 -1
- package/dist/generated/themes/UploadCollectionItem.css.d.ts +1 -1
- package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
- package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
- package/dist/generated/themes/UserMenu.css.d.ts +1 -1
- package/dist/generated/themes/UserMenu.css.js +1 -1
- package/dist/generated/themes/UserMenu.css.js.map +1 -1
- package/dist/generated/themes/UserMenuItem.css.d.ts +1 -1
- package/dist/generated/themes/UserMenuItem.css.js +1 -1
- package/dist/generated/themes/UserMenuItem.css.js.map +1 -1
- package/dist/generated/themes/UserSettingsItem.css.d.ts +1 -1
- package/dist/generated/themes/UserSettingsItem.css.js +1 -1
- package/dist/generated/themes/UserSettingsItem.css.js.map +1 -1
- package/dist/generated/themes/ViewSettingsDialog.css.d.ts +1 -1
- package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
- package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
- package/dist/generated/themes/Wizard.css.d.ts +1 -1
- package/dist/generated/themes/Wizard.css.js +1 -1
- package/dist/generated/themes/Wizard.css.js.map +1 -1
- package/dist/generated/themes/WizardTab.css.d.ts +1 -1
- package/dist/generated/themes/WizardTab.css.js +1 -1
- package/dist/generated/themes/WizardTab.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
- package/dist/types/SideNavigationDesign.d.ts +17 -0
- package/dist/types/SideNavigationDesign.js +19 -0
- package/dist/types/SideNavigationDesign.js.map +1 -0
- package/dist/vscode.html-custom-data.json +99 -0
- package/dist/web-types.json +240 -1
- package/package.json +7 -7
- package/src/NavigationMenuItemTemplate.tsx +3 -83
- package/src/SearchFieldTemplate.tsx +1 -1
- package/src/SearchItemTemplate.tsx +45 -0
- package/src/SearchPopoverTemplate.tsx +68 -0
- package/src/SearchTemplate.tsx +12 -0
- package/src/ShellBarPopoverTemplate.tsx +1 -0
- package/src/ShellBarTemplate.tsx +9 -6
- package/src/SideNavigationTemplate.tsx +1 -0
- package/src/UserMenuTemplate.tsx +104 -76
- package/src/ViewSettingsDialogTemplate.tsx +1 -0
- package/src/i18n/messagebundle.properties +13 -1
- package/src/i18n/messagebundle_en.properties +184 -1
- package/src/i18n/messagebundle_en_US_saprigi.properties +7 -1
- package/src/themes/NavigationMenu.css +5 -7
- package/src/themes/NavigationMenuItem.css +21 -6
- package/src/themes/Search.css +63 -0
- package/src/themes/SearchField.css +11 -10
- package/src/themes/SearchItem.css +59 -0
- package/src/themes/SearchItemGroup.css +13 -0
- package/src/themes/SideNavigation.css +10 -1
- package/src/themes/SideNavigationItem.css +5 -7
- package/src/themes/SideNavigationItemBase.css +6 -0
- package/src/themes/SideNavigationPopover.css +0 -4
- package/src/themes/SideNavigationSubItem.css +4 -1
- package/src/themes/UserMenu.css +97 -48
- package/src/themes/UserMenuItem.css +1 -0
- package/src/themes/base/SideNavigation-parameters.css +4 -13
- package/src/themes/sap_horizon/SideNavigation-parameters.css +5 -13
- package/src/themes/sap_horizon_dark/SideNavigation-parameters.css +5 -13
- package/src/themes/sap_horizon_hcb/SideNavigation-parameters.css +5 -12
- package/src/themes/sap_horizon_hcw/SideNavigation-parameters.css +5 -12
package/dist/UserMenu.js
CHANGED
|
@@ -15,7 +15,7 @@ import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
|
|
|
15
15
|
import UserMenuTemplate from "./UserMenuTemplate.js";
|
|
16
16
|
import UserMenuCss from "./generated/themes/UserMenu.css.js";
|
|
17
17
|
// Texts
|
|
18
|
-
import { USER_MENU_OTHER_ACCOUNT_BUTTON_TXT, USER_MENU_MANAGE_ACCOUNT_BUTTON_TXT, USER_MENU_SIGN_OUT_BUTTON_TXT, USER_MENU_POPOVER_ACCESSIBLE_NAME, USER_MENU_EDIT_AVATAR_TXT, USER_MENU_EDIT_ACCOUNTS_TXT, USER_MENU_CLOSE_DIALOG_BUTTON, } from "./generated/i18n/i18n-defaults.js";
|
|
18
|
+
import { USER_MENU_OTHER_ACCOUNT_BUTTON_TXT, USER_MENU_MANAGE_ACCOUNT_BUTTON_TXT, USER_MENU_SIGN_OUT_BUTTON_TXT, USER_MENU_POPOVER_ACCESSIBLE_NAME, USER_MENU_EDIT_AVATAR_TXT, USER_MENU_EDIT_ACCOUNTS_TXT, USER_MENU_CLOSE_DIALOG_BUTTON, USER_MENU_POPOVER_ACCESSIBLE_ACCOUNT_SELECTED_TXT, USER_MENU_CURRENT_INFORMATION_TXT, USER_MENU_ACTIONS_TXT, } from "./generated/i18n/i18n-defaults.js";
|
|
19
19
|
/**
|
|
20
20
|
* @class
|
|
21
21
|
* ### Overview
|
|
@@ -82,13 +82,13 @@ let UserMenu = UserMenu_1 = class UserMenu extends UI5Element {
|
|
|
82
82
|
* @default false
|
|
83
83
|
* @private
|
|
84
84
|
*/
|
|
85
|
-
this.
|
|
85
|
+
this._isScrolled = false;
|
|
86
86
|
}
|
|
87
87
|
onBeforeRendering() {
|
|
88
88
|
this._selectedAccount = this.accounts.find(account => account.selected) || this.accounts[0];
|
|
89
89
|
}
|
|
90
90
|
onAfterRendering() {
|
|
91
|
-
if (this.
|
|
91
|
+
if (this._responsivePopover) {
|
|
92
92
|
const observerOptions = {
|
|
93
93
|
threshold: [0.15],
|
|
94
94
|
};
|
|
@@ -105,23 +105,20 @@ let UserMenu = UserMenu_1 = class UserMenu extends UI5Element {
|
|
|
105
105
|
get _isPhone() {
|
|
106
106
|
return isPhone();
|
|
107
107
|
}
|
|
108
|
+
_handleScroll(e) {
|
|
109
|
+
this._isScrolled = e.detail.scrollTop > 0;
|
|
110
|
+
}
|
|
108
111
|
_handleIntersection(entries) {
|
|
109
112
|
entries.forEach(entry => {
|
|
110
113
|
if (entry.isIntersecting) {
|
|
111
114
|
if (entry.target.id === "selected-account-title") {
|
|
112
115
|
this._titleMovedToHeader = false;
|
|
113
116
|
}
|
|
114
|
-
else if (entry.target.id === "selected-account-manage-btn") {
|
|
115
|
-
this._manageAccountMovedToHeader = false;
|
|
116
|
-
}
|
|
117
117
|
return;
|
|
118
118
|
}
|
|
119
119
|
if (entry.target.id === "selected-account-title") {
|
|
120
120
|
this._titleMovedToHeader = true;
|
|
121
121
|
}
|
|
122
|
-
else if (entry.target.id === "selected-account-manage-btn") {
|
|
123
|
-
this._manageAccountMovedToHeader = true;
|
|
124
|
-
}
|
|
125
122
|
}, this);
|
|
126
123
|
}
|
|
127
124
|
_handleAvatarClick(e) {
|
|
@@ -190,11 +187,8 @@ let UserMenu = UserMenu_1 = class UserMenu extends UI5Element {
|
|
|
190
187
|
_closeUserMenu() {
|
|
191
188
|
this.open = false;
|
|
192
189
|
}
|
|
193
|
-
get _manageAccountVisibleInHeader() {
|
|
194
|
-
return this.showManageAccount && this._manageAccountMovedToHeader;
|
|
195
|
-
}
|
|
196
190
|
get _otherAccounts() {
|
|
197
|
-
return this.accounts
|
|
191
|
+
return this.accounts;
|
|
198
192
|
}
|
|
199
193
|
get _manageAccountButtonText() {
|
|
200
194
|
return UserMenu_1.i18nBundle.getText(USER_MENU_MANAGE_ACCOUNT_BUTTON_TXT);
|
|
@@ -220,6 +214,15 @@ let UserMenu = UserMenu_1 = class UserMenu extends UI5Element {
|
|
|
220
214
|
}
|
|
221
215
|
return `${UserMenu_1.i18nBundle.getText(USER_MENU_POPOVER_ACCESSIBLE_NAME)} ${this._selectedAccount.titleText}`;
|
|
222
216
|
}
|
|
217
|
+
get _ariaLabelledByAccountInformationText() {
|
|
218
|
+
return UserMenu_1.i18nBundle.getText(USER_MENU_CURRENT_INFORMATION_TXT);
|
|
219
|
+
}
|
|
220
|
+
get _ariaLabelledByActions() {
|
|
221
|
+
return UserMenu_1.i18nBundle.getText(USER_MENU_ACTIONS_TXT);
|
|
222
|
+
}
|
|
223
|
+
getAccountDescriptionText(account) {
|
|
224
|
+
return `${account.subtitleText} ${account.description} ${account.selected ? UserMenu_1.i18nBundle.getText(USER_MENU_POPOVER_ACCESSIBLE_ACCOUNT_SELECTED_TXT) : ""}`;
|
|
225
|
+
}
|
|
223
226
|
getAccountByRefId(refId) {
|
|
224
227
|
return this.accounts.find(account => account._id === refId);
|
|
225
228
|
}
|
|
@@ -267,7 +270,7 @@ __decorate([
|
|
|
267
270
|
], UserMenu.prototype, "_titleMovedToHeader", void 0);
|
|
268
271
|
__decorate([
|
|
269
272
|
property({ type: Boolean })
|
|
270
|
-
], UserMenu.prototype, "
|
|
273
|
+
], UserMenu.prototype, "_isScrolled", void 0);
|
|
271
274
|
__decorate([
|
|
272
275
|
query("#user-menu-rp")
|
|
273
276
|
], UserMenu.prototype, "_responsivePopover", void 0);
|
package/dist/UserMenu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMenu.js","sourceRoot":"","sources":["../src/UserMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tcustomElement, slot, eventStrict as event, property,\n} from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport type Title from \"@ui5/webcomponents/dist/Title.js\";\nimport type Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type { ListItemClickEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport type ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type UserMenuAccount from \"./UserMenuAccount.js\";\nimport type UserMenuItem from \"./UserMenuItem.js\";\nimport UserMenuTemplate from \"./UserMenuTemplate.js\";\nimport UserMenuCss from \"./generated/themes/UserMenu.css.js\";\n\n// Texts\nimport {\n\tUSER_MENU_OTHER_ACCOUNT_BUTTON_TXT,\n\tUSER_MENU_MANAGE_ACCOUNT_BUTTON_TXT,\n\tUSER_MENU_SIGN_OUT_BUTTON_TXT,\n\tUSER_MENU_POPOVER_ACCESSIBLE_NAME,\n\tUSER_MENU_EDIT_AVATAR_TXT,\n\tUSER_MENU_EDIT_ACCOUNTS_TXT,\n\tUSER_MENU_CLOSE_DIALOG_BUTTON,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype UserMenuItemClickEventDetail = {\n\titem: UserMenuItem;\n}\n\ntype UserMenuOtherAccountClickEventDetail = {\n\tprevSelectedAccount: UserMenuAccount;\n\tselectedAccount: UserMenuAccount;\n}\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-user-menu` is an SAP Fiori specific web component that is used in `ui5-shellbar`\n * and allows the user to easily see information and settings for the current user and all other logged in accounts.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/UserMenu.js\";`\n *\n * `import \"@ui5/webcomponents-fiori/dist/UserMenuItem.js\";` (for `ui5-user-menu-item`)\n *\n * @constructor\n * @extends UI5Element\n * @experimental\n * @public\n * @since 2.5.0\n */\n\n@customElement({\n\ttag: \"ui5-user-menu\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: UserMenuTemplate,\n\tstyles: [UserMenuCss],\n})\n\n/**\n * Fired when the account avatar is selected.\n * @public\n */\n@event(\"avatar-click\")\n\n/**\n * Fired when the \"Manage Account\" button is selected.\n * @public\n */\n@event(\"manage-account-click\")\n\n/**\n * Fired when the \"Edit Accounts\" button is selected.\n * @public\n */\n@event(\"edit-accounts-click\")\n\n/**\n * Fired when the account is switched to a different one.\n * @param {UserMenuAccount} prevSelectedAccount The previously selected account.\n * @param {UserMenuAccount} selectedAccount The selected account.\n * @public\n */\n@event(\"change-account\", {\n\tcancelable: true,\n})\n\n/**\n * Fired when a menu item is selected.\n * @param {UserMenuItem} item The selected `user menu item`.\n * @public\n */\n@event(\"item-click\", {\n\tcancelable: true,\n})\n\n/**\n * Fired when a user menu is open.\n * @public\n * @since 2.6.0\n */\n@event(\"open\")\n\n/**\n * Fired when a user menu is close.\n * @public\n * @since 2.6.0\n */\n@event(\"close\")\n\n/**\n * Fired when the \"Sign Out\" button is selected.\n * @public\n * @since 2.6.0\n */\n@event(\"sign-out-click\", {\n\tcancelable: true,\n})\nclass UserMenu extends UI5Element {\n\teventDetails!: {\n\t\t\"avatar-click\": void;\n\t\t\"manage-account-click\": void;\n\t\t\"edit-accounts-click\": void;\n\t\t\"change-account\": UserMenuOtherAccountClickEventDetail;\n\t\t\"item-click\": UserMenuItemClickEventDetail;\n\t\t\"sign-out-click\": void;\n\t\t\"open\": void;\n\t\t\"close\": void;\n\n\t}\n\t/**\n\t * Defines if the User Menu is opened.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Defines the ID or DOM Reference of the element at which the user menu is shown.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t */\n\t@property({ converter: DOMReferenceConverter })\n\topener?: HTMLElement | string;\n\n\t/**\n\t * Defines if the User Menu shows the Manage Account option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowManageAccount = false;\n\n\t/**\n\t * Defines if the User Menu shows the Other Accounts option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowOtherAccounts = false;\n\n\t/**\n\t * Defines if the User Menu shows the Edit Accounts option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowEditAccounts = false;\n\n\t/**\n\t * Defines if the User menu shows edit button.\n\t *\n\t * @default false\n\t * @public\n\t * @since 2.7.0\n\t */\n\t@property({ type: Boolean })\n\tshowEditButton = false;\n\n\t/**\n\t * Defines the menu items.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t})\n\tmenuItems!: Array<UserMenuItem>;\n\n\t/**\n\t * Defines the user accounts.\n\t *\n\t * **Note:** If one item is used, it will be shown as the selected one. If more than one item is used, the first one will be shown as selected unless\n\t * there is an item with `selected` property set to `true`.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\taccounts!: Array<UserMenuAccount>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_titleMovedToHeader = false;\n\n\t/**\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_manageAccountMovedToHeader = false;\n\n\t/**\n\t * @private\n\t */\n\t_selectedAccount!: UserMenuAccount;\n\n\t/**\n\t * @private\n\t */\n\t_observer?: IntersectionObserver;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#user-menu-rp\")\n\t_responsivePopover?: ResponsivePopover;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#selected-account-title\")\n\t_selectedAccountTitleEl?: Title;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#selected-account-manage-btn\")\n\t_selectedAccountManageBtn?: Button;\n\n\tonBeforeRendering() {\n\t\tthis._selectedAccount = this.accounts.find(account => account.selected) || this.accounts[0];\n\t}\n\n\tonAfterRendering(): void {\n\t\tif (this._isPhone && this._responsivePopover) {\n\t\t\tconst observerOptions = {\n\t\t\t\tthreshold: [0.15],\n\t\t\t};\n\n\t\t\tthis._observer?.disconnect();\n\t\t\tthis._observer = new IntersectionObserver(entries => this._handleIntersection(entries), observerOptions);\n\n\t\t\tif (this._selectedAccountTitleEl) {\n\t\t\t\tthis._observer.observe(this._selectedAccountTitleEl);\n\t\t\t}\n\n\t\t\tif (this._selectedAccountManageBtn) {\n\t\t\t\tthis._observer.observe(this._selectedAccountManageBtn);\n\t\t\t}\n\t\t}\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\t_handleIntersection(entries: IntersectionObserverEntry[]) {\n\t\tentries.forEach(entry => {\n\t\t\tif (entry.isIntersecting) {\n\t\t\t\tif (entry.target.id === \"selected-account-title\") {\n\t\t\t\t\tthis._titleMovedToHeader = false;\n\t\t\t\t} else if (entry.target.id === \"selected-account-manage-btn\") {\n\t\t\t\t\tthis._manageAccountMovedToHeader = false;\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (entry.target.id === \"selected-account-title\") {\n\t\t\t\tthis._titleMovedToHeader = true;\n\t\t\t} else if (entry.target.id === \"selected-account-manage-btn\") {\n\t\t\t\tthis._manageAccountMovedToHeader = true;\n\t\t\t}\n\t\t}, this);\n\t}\n\n\t_handleAvatarClick(e: CustomEvent) {\n\t\tif (e.type === \"click\") {\n\t\t\t// TOFIX: Discuss this check: Fire the custom UserMenu#avatar-click only for Avatar#click (not for Avatar#ui5-click as well).\n\t\t\tthis.fireDecoratorEvent(\"avatar-click\");\n\t\t}\n\t}\n\n\t_handleManageAccountClick() {\n\t\tthis.fireDecoratorEvent(\"manage-account-click\");\n\t}\n\n\t_handleEditAccountsClick() {\n\t\tthis.fireDecoratorEvent(\"edit-accounts-click\");\n\t}\n\n\t_handleAccountSwitch(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item as ListItemBase & { associatedAccount: UserMenuAccount };\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"change-account\", {\n\t\t\tprevSelectedAccount: this._selectedAccount,\n\t\t\tselectedAccount: item.associatedAccount,\n\t\t});\n\t\tif (eventPrevented) {\n\t\t\treturn;\n\t\t}\n\t\tthis._selectedAccount.selected = false;\n\t\titem.associatedAccount.selected = true;\n\t}\n\n\t_handleSignOutClick() {\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"sign-out-click\");\n\n\t\tif (eventPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._closeUserMenu();\n\t}\n\n\t_handleMenuItemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item as UserMenuItem; // imrove: improve this ideally without \"as\" cating\n\n\t\tif (!item._popover) {\n\t\t\tconst eventPrevented = !this.fireDecoratorEvent(\"item-click\", {\n\t\t\t\t\"item\": item,\n\t\t\t});\n\n\t\t\tif (!eventPrevented) {\n\t\t\t\titem.fireEvent(\"close-menu\");\n\t\t\t}\n\t\t} else {\n\t\t\tthis._openItemSubMenu(item);\n\t\t}\n\t}\n\n\t_handleMenuItemClose() {\n\t\tthis._closeUserMenu();\n\t}\n\n\t_handlePopoverAfterOpen() {\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_handlePopoverAfterClose() {\n\t\tthis.open = false;\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t_openItemSubMenu(item: UserMenuItem) {\n\t\tif (!item._popover || item._popover.open) {\n\t\t\treturn;\n\t\t}\n\n\t\titem._popover.opener = item;\n\t\titem._popover.open = true;\n\t\titem.selected = true;\n\t}\n\n\t_closeUserMenu() {\n\t\tthis.open = false;\n\t}\n\n\tget _manageAccountVisibleInHeader() {\n\t\treturn this.showManageAccount && this._manageAccountMovedToHeader;\n\t}\n\n\tget _otherAccounts() {\n\t\treturn this.accounts.filter(account => account !== this._selectedAccount);\n\t}\n\n\tget _manageAccountButtonText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_MANAGE_ACCOUNT_BUTTON_TXT);\n\t}\n\n\tget _otherAccountsButtonText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_OTHER_ACCOUNT_BUTTON_TXT);\n\t}\n\n\tget _signOutButtonText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_SIGN_OUT_BUTTON_TXT);\n\t}\n\n\tget _editAvatarTooltip() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_EDIT_AVATAR_TXT);\n\t}\n\n\tget _editAccountsTooltip() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_EDIT_ACCOUNTS_TXT);\n\t}\n\n\tget _closeDialogAriaLabel() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_CLOSE_DIALOG_BUTTON);\n\t}\n\n\tget accessibleNameText() {\n\t\tif (!this._selectedAccount) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn `${UserMenu.i18nBundle.getText(USER_MENU_POPOVER_ACCESSIBLE_NAME)} ${this._selectedAccount.titleText}`;\n\t}\n\n\tgetAccountByRefId(refId: string) {\n\t\treturn this.accounts.find(account => account._id === refId)!;\n\t}\n\n\tcaptureRef(ref: HTMLElement & { associatedAccount?: UI5Element} | null) {\n\t\tif (ref) {\n\t\t\tref.associatedAccount = this;\n\t\t}\n\t}\n}\n\nUserMenu.define();\n\nexport default UserMenu;\nexport type {\n\tUserMenuItemClickEventDetail,\n\tUserMenuOtherAccountClickEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"UserMenu.js","sourceRoot":"","sources":["../src/UserMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tcustomElement, slot, eventStrict as event, property,\n} from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport type Title from \"@ui5/webcomponents/dist/Title.js\";\nimport type Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type { ListItemClickEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport type ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { PopupScrollEventDetail } from \"@ui5/webcomponents/dist/Popup.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type UserMenuAccount from \"./UserMenuAccount.js\";\nimport type UserMenuItem from \"./UserMenuItem.js\";\nimport UserMenuTemplate from \"./UserMenuTemplate.js\";\nimport UserMenuCss from \"./generated/themes/UserMenu.css.js\";\n\n// Texts\nimport {\n\tUSER_MENU_OTHER_ACCOUNT_BUTTON_TXT,\n\tUSER_MENU_MANAGE_ACCOUNT_BUTTON_TXT,\n\tUSER_MENU_SIGN_OUT_BUTTON_TXT,\n\tUSER_MENU_POPOVER_ACCESSIBLE_NAME,\n\tUSER_MENU_EDIT_AVATAR_TXT,\n\tUSER_MENU_EDIT_ACCOUNTS_TXT,\n\tUSER_MENU_CLOSE_DIALOG_BUTTON,\n\tUSER_MENU_POPOVER_ACCESSIBLE_ACCOUNT_SELECTED_TXT,\n\tUSER_MENU_CURRENT_INFORMATION_TXT,\n\tUSER_MENU_ACTIONS_TXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype UserMenuItemClickEventDetail = {\n\titem: UserMenuItem;\n}\n\ntype UserMenuOtherAccountClickEventDetail = {\n\tprevSelectedAccount: UserMenuAccount;\n\tselectedAccount: UserMenuAccount;\n}\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-user-menu` is an SAP Fiori specific web component that is used in `ui5-shellbar`\n * and allows the user to easily see information and settings for the current user and all other logged in accounts.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/UserMenu.js\";`\n *\n * `import \"@ui5/webcomponents-fiori/dist/UserMenuItem.js\";` (for `ui5-user-menu-item`)\n *\n * @constructor\n * @extends UI5Element\n * @experimental\n * @public\n * @since 2.5.0\n */\n\n@customElement({\n\ttag: \"ui5-user-menu\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: UserMenuTemplate,\n\tstyles: [UserMenuCss],\n})\n\n/**\n * Fired when the account avatar is selected.\n * @public\n */\n@event(\"avatar-click\")\n\n/**\n * Fired when the \"Manage Account\" button is selected.\n * @public\n */\n@event(\"manage-account-click\")\n\n/**\n * Fired when the \"Edit Accounts\" button is selected.\n * @public\n */\n@event(\"edit-accounts-click\")\n\n/**\n * Fired when the account is switched to a different one.\n * @param {UserMenuAccount} prevSelectedAccount The previously selected account.\n * @param {UserMenuAccount} selectedAccount The selected account.\n * @public\n */\n@event(\"change-account\", {\n\tcancelable: true,\n})\n\n/**\n * Fired when a menu item is selected.\n * @param {UserMenuItem} item The selected `user menu item`.\n * @public\n */\n@event(\"item-click\", {\n\tcancelable: true,\n})\n\n/**\n * Fired when a user menu is open.\n * @public\n * @since 2.6.0\n */\n@event(\"open\")\n\n/**\n * Fired when a user menu is close.\n * @public\n * @since 2.6.0\n */\n@event(\"close\")\n\n/**\n * Fired when the \"Sign Out\" button is selected.\n * @public\n * @since 2.6.0\n */\n@event(\"sign-out-click\", {\n\tcancelable: true,\n})\nclass UserMenu extends UI5Element {\n\teventDetails!: {\n\t\t\"avatar-click\": void;\n\t\t\"manage-account-click\": void;\n\t\t\"edit-accounts-click\": void;\n\t\t\"change-account\": UserMenuOtherAccountClickEventDetail;\n\t\t\"item-click\": UserMenuItemClickEventDetail;\n\t\t\"sign-out-click\": void;\n\t\t\"open\": void;\n\t\t\"close\": void;\n\n\t}\n\t/**\n\t * Defines if the User Menu is opened.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Defines the ID or DOM Reference of the element at which the user menu is shown.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t */\n\t@property({ converter: DOMReferenceConverter })\n\topener?: HTMLElement | string;\n\n\t/**\n\t * Defines if the User Menu shows the Manage Account option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowManageAccount = false;\n\n\t/**\n\t * Defines if the User Menu shows the Other Accounts option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowOtherAccounts = false;\n\n\t/**\n\t * Defines if the User Menu shows the Edit Accounts option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowEditAccounts = false;\n\n\t/**\n\t * Defines if the User menu shows edit button.\n\t *\n\t * @default false\n\t * @public\n\t * @since 2.7.0\n\t */\n\t@property({ type: Boolean })\n\tshowEditButton = false;\n\n\t/**\n\t * Defines the menu items.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t})\n\tmenuItems!: Array<UserMenuItem>;\n\n\t/**\n\t * Defines the user accounts.\n\t *\n\t * **Note:** If one item is used, it will be shown as the selected one. If more than one item is used, the first one will be shown as selected unless\n\t * there is an item with `selected` property set to `true`.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\taccounts!: Array<UserMenuAccount>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_titleMovedToHeader = false;\n\n\t/**\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isScrolled = false;\n\n\t/**\n\t * @private\n\t */\n\t_selectedAccount!: UserMenuAccount;\n\n\t/**\n\t * @private\n\t */\n\t_observer?: IntersectionObserver;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#user-menu-rp\")\n\t_responsivePopover?: ResponsivePopover;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#selected-account-title\")\n\t_selectedAccountTitleEl?: Title;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#selected-account-manage-btn\")\n\t_selectedAccountManageBtn?: Button;\n\n\tonBeforeRendering() {\n\t\tthis._selectedAccount = this.accounts.find(account => account.selected) || this.accounts[0];\n\t}\n\n\tonAfterRendering(): void {\n\t\tif (this._responsivePopover) {\n\t\t\tconst observerOptions = {\n\t\t\t\tthreshold: [0.15],\n\t\t\t};\n\n\t\t\tthis._observer?.disconnect();\n\t\t\tthis._observer = new IntersectionObserver(entries => this._handleIntersection(entries), observerOptions);\n\n\t\t\tif (this._selectedAccountTitleEl) {\n\t\t\t\tthis._observer.observe(this._selectedAccountTitleEl);\n\t\t\t}\n\n\t\t\tif (this._selectedAccountManageBtn) {\n\t\t\t\tthis._observer.observe(this._selectedAccountManageBtn);\n\t\t\t}\n\t\t}\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\t_handleScroll(e: CustomEvent<PopupScrollEventDetail>) {\n\t\tthis._isScrolled = e.detail.scrollTop > 0;\n\t}\n\n\t_handleIntersection(entries: IntersectionObserverEntry[]) {\n\t\tentries.forEach(entry => {\n\t\t\tif (entry.isIntersecting) {\n\t\t\t\tif (entry.target.id === \"selected-account-title\") {\n\t\t\t\t\tthis._titleMovedToHeader = false;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (entry.target.id === \"selected-account-title\") {\n\t\t\t\tthis._titleMovedToHeader = true;\n\t\t\t}\n\t\t}, this);\n\t}\n\n\t_handleAvatarClick(e: CustomEvent) {\n\t\tif (e.type === \"click\") {\n\t\t\t// TOFIX: Discuss this check: Fire the custom UserMenu#avatar-click only for Avatar#click (not for Avatar#ui5-click as well).\n\t\t\tthis.fireDecoratorEvent(\"avatar-click\");\n\t\t}\n\t}\n\n\t_handleManageAccountClick() {\n\t\tthis.fireDecoratorEvent(\"manage-account-click\");\n\t}\n\n\t_handleEditAccountsClick() {\n\t\tthis.fireDecoratorEvent(\"edit-accounts-click\");\n\t}\n\n\t_handleAccountSwitch(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item as ListItemBase & { associatedAccount: UserMenuAccount };\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"change-account\", {\n\t\t\tprevSelectedAccount: this._selectedAccount,\n\t\t\tselectedAccount: item.associatedAccount,\n\t\t});\n\t\tif (eventPrevented) {\n\t\t\treturn;\n\t\t}\n\t\tthis._selectedAccount.selected = false;\n\t\titem.associatedAccount.selected = true;\n\t}\n\n\t_handleSignOutClick() {\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"sign-out-click\");\n\n\t\tif (eventPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._closeUserMenu();\n\t}\n\n\t_handleMenuItemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item as UserMenuItem; // imrove: improve this ideally without \"as\" cating\n\n\t\tif (!item._popover) {\n\t\t\tconst eventPrevented = !this.fireDecoratorEvent(\"item-click\", {\n\t\t\t\t\"item\": item,\n\t\t\t});\n\n\t\t\tif (!eventPrevented) {\n\t\t\t\titem.fireEvent(\"close-menu\");\n\t\t\t}\n\t\t} else {\n\t\t\tthis._openItemSubMenu(item);\n\t\t}\n\t}\n\n\t_handleMenuItemClose() {\n\t\tthis._closeUserMenu();\n\t}\n\n\t_handlePopoverAfterOpen() {\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_handlePopoverAfterClose() {\n\t\tthis.open = false;\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t_openItemSubMenu(item: UserMenuItem) {\n\t\tif (!item._popover || item._popover.open) {\n\t\t\treturn;\n\t\t}\n\n\t\titem._popover.opener = item;\n\t\titem._popover.open = true;\n\t\titem.selected = true;\n\t}\n\n\t_closeUserMenu() {\n\t\tthis.open = false;\n\t}\n\n\tget _otherAccounts() {\n\t\treturn this.accounts;\n\t}\n\n\tget _manageAccountButtonText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_MANAGE_ACCOUNT_BUTTON_TXT);\n\t}\n\n\tget _otherAccountsButtonText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_OTHER_ACCOUNT_BUTTON_TXT);\n\t}\n\n\tget _signOutButtonText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_SIGN_OUT_BUTTON_TXT);\n\t}\n\n\tget _editAvatarTooltip() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_EDIT_AVATAR_TXT);\n\t}\n\n\tget _editAccountsTooltip() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_EDIT_ACCOUNTS_TXT);\n\t}\n\n\tget _closeDialogAriaLabel() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_CLOSE_DIALOG_BUTTON);\n\t}\n\n\tget accessibleNameText() {\n\t\tif (!this._selectedAccount) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn `${UserMenu.i18nBundle.getText(USER_MENU_POPOVER_ACCESSIBLE_NAME)} ${this._selectedAccount.titleText}`;\n\t}\n\n\tget _ariaLabelledByAccountInformationText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_CURRENT_INFORMATION_TXT);\n\t}\n\n\tget _ariaLabelledByActions() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_ACTIONS_TXT);\n\t}\n\n\tgetAccountDescriptionText(account: UserMenuAccount) {\n\t\treturn `${account.subtitleText} ${account.description} ${account.selected ? UserMenu.i18nBundle.getText(USER_MENU_POPOVER_ACCESSIBLE_ACCOUNT_SELECTED_TXT) : \"\"}`;\n\t}\n\n\tgetAccountByRefId(refId: string) {\n\t\treturn this.accounts.find(account => account._id === refId)!;\n\t}\n\n\tcaptureRef(ref: HTMLElement & { associatedAccount?: UI5Element} | null) {\n\t\tif (ref) {\n\t\t\tref.associatedAccount = this;\n\t\t}\n\t}\n}\n\nUserMenu.define();\n\nexport default UserMenu;\nexport type {\n\tUserMenuItemClickEventDetail,\n\tUserMenuOtherAccountClickEventDetail,\n};\n"]}
|
|
@@ -42,6 +42,13 @@ declare class UserMenuAccount extends UI5Element {
|
|
|
42
42
|
* @public
|
|
43
43
|
*/
|
|
44
44
|
selected: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Indicates whether a loading indicator should be shown.
|
|
47
|
+
* @default false
|
|
48
|
+
* @public
|
|
49
|
+
* @since 2.9.0
|
|
50
|
+
*/
|
|
51
|
+
loading: boolean;
|
|
45
52
|
get _initials(): string;
|
|
46
53
|
}
|
|
47
54
|
export default UserMenuAccount;
|
package/dist/UserMenuAccount.js
CHANGED
|
@@ -53,6 +53,13 @@ class UserMenuAccount extends UI5Element {
|
|
|
53
53
|
* @public
|
|
54
54
|
*/
|
|
55
55
|
this.selected = false;
|
|
56
|
+
/**
|
|
57
|
+
* Indicates whether a loading indicator should be shown.
|
|
58
|
+
* @default false
|
|
59
|
+
* @public
|
|
60
|
+
* @since 2.9.0
|
|
61
|
+
*/
|
|
62
|
+
this.loading = false;
|
|
56
63
|
}
|
|
57
64
|
get _initials() {
|
|
58
65
|
return this.avatarInitials || "undefined";
|
|
@@ -76,6 +83,9 @@ __decorate([
|
|
|
76
83
|
__decorate([
|
|
77
84
|
property({ type: Boolean })
|
|
78
85
|
], UserMenuAccount.prototype, "selected", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
property({ type: Boolean })
|
|
88
|
+
], UserMenuAccount.prototype, "loading", void 0);
|
|
79
89
|
UserMenuAccount = __decorate([
|
|
80
90
|
customElement({
|
|
81
91
|
tag: "ui5-user-menu-account",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMenuAccount.js","sourceRoot":"","sources":["../src/UserMenuAccount.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAoBrF,IAAM,eAAe;AAfrB;;;;;;;;;;;;;;GAcG;AACH,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QAmBC;;;;;WAKG;QAEH,cAAS,GAAG,EAAE,CAAC;QAEf;;;;;WAKG;QAEH,iBAAY,GAAG,EAAE,CAAC;QAElB;;;;;WAKG;QAEH,gBAAW,GAAG,EAAE,CAAC;QAEjB;;;;;WAKG;QAEH,aAAQ,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"UserMenuAccount.js","sourceRoot":"","sources":["../src/UserMenuAccount.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAoBrF,IAAM,eAAe;AAfrB;;;;;;;;;;;;;;GAcG;AACH,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QAmBC;;;;;WAKG;QAEH,cAAS,GAAG,EAAE,CAAC;QAEf;;;;;WAKG;QAEH,iBAAY,GAAG,EAAE,CAAC;QAElB;;;;;WAKG;QAEH,gBAAW,GAAG,EAAE,CAAC;QAEjB;;;;;WAKG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;;;;WAKG;QAEH,YAAO,GAAG,KAAK,CAAC;IAKjB,CAAC;IAHA,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,cAAc,IAAI,WAAW,CAAC;IAC3C,CAAC;CACD,CAAA;AA3DA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACR;AASnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDACH;AASxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACZ;AASf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDACT;AASlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDACV;AASjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACX;AASjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDACZ;AA9DX,eAAe;IAlBpB,aAAa,CAAC;QACd,GAAG,EAAE,uBAAuB;KAC5B,CAAC;IACF;;;;;;;;;;;;;;OAcG;GACG,eAAe,CAmEpB;AAED,eAAe,CAAC,MAAM,EAAE,CAAC;AAEzB,eAAe,eAAe,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { customElement, property } from \"@ui5/webcomponents-base/dist/decorators.js\";\n\n@customElement({\n\ttag: \"ui5-user-menu-account\",\n})\n/**\n * @class\n * ### Overview\n *\n * The `ui5-user-menu-account` represents an account in the `ui5-user-menu`.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/UserMenuAccount.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @experimental\n * @public\n * @since 2.5.0\n */\nclass UserMenuAccount extends UI5Element {\n\t/**\n\t * Defines the avatar image url of the user.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ type: String })\n\tavatarSrc?: string;\n\n\t/**\n\t * Defines the avatar initials of the user.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: String })\n\tavatarInitials?: string;\n\n\t/**\n\t * Defines the title text of the user.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ type: String })\n\ttitleText = \"\";\n\n\t/**\n\t * Defines additional text of the user.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ type: String })\n\tsubtitleText = \"\";\n\n\t/**\n\t * Defines description of the user.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ type: String })\n\tdescription = \"\";\n\n\t/**\n\t * Defines if the user is selected.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Indicates whether a loading indicator should be shown.\n\t * @default false\n\t * @public\n\t * @since 2.9.0\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\tget _initials() {\n\t\treturn this.avatarInitials || \"undefined\";\n\t}\n}\n\nUserMenuAccount.define();\n\nexport default UserMenuAccount;\n"]}
|
package/dist/UserMenuTemplate.js
CHANGED
|
@@ -17,30 +17,37 @@ import userSettings from "@ui5/webcomponents-icons/dist/user-settings.js";
|
|
|
17
17
|
import log from "@ui5/webcomponents-icons/dist/log.js";
|
|
18
18
|
import decline from "@ui5/webcomponents-icons/dist/decline.js";
|
|
19
19
|
import userEdit from "@ui5/webcomponents-icons/dist/user-edit.js";
|
|
20
|
+
import selectedAccount from "@ui5/webcomponents-icons/dist/sys-enter-2.js";
|
|
20
21
|
export default function UserMenuTemplate() {
|
|
21
|
-
return (_jsxs(ResponsivePopover, { id: "user-menu-rp", class: "ui5-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
_jsx(Button, { slot: "header", class: "ui5-pm-add-account-btn", design: "Transparent", icon: userEdit, onClick: this._handleEditAccountsClick, tooltip: this._editAccountsTooltip })] }), this._otherAccounts.length > 0 &&
|
|
29
|
-
_jsx(List, { onItemClick: this._handleAccountSwitch, children: this._otherAccounts.map(account => _jsx(ListItemCustom, { ref: this.captureRef.bind(account), children: _jsxs("div", { class: "ui5-pm-other-accounts-content", children: [_jsx(Avatar, { slot: "image", size: "S", initials: account._initials, fallbackIcon: personPlaceholder, children: account.avatarSrc &&
|
|
30
|
-
_jsx("img", { src: account.avatarSrc }) }), _jsxs("div", { children: [account.titleText &&
|
|
31
|
-
_jsx(Title, { children: account.titleText }), account.subtitleText &&
|
|
32
|
-
_jsx(Label, { children: account.subtitleText }), account.description &&
|
|
33
|
-
_jsx(Label, { children: account.description })] })] }) })) })] }), this.menuItems.length > 0 &&
|
|
34
|
-
_jsx(List, { class: "ui5-user-menu-list", selectionMode: "None", separators: "None", accessibleRole: "Menu", onItemClick: this._handleMenuItemClick, "onui5-close-menu": this._handleMenuItemClose, children: _jsx("slot", {}) }), _jsx("div", { slot: "footer", class: "ui5-pm-footer", children: _jsx(Button, { class: "ui5-pm-sign-out-btn", design: "Transparent", icon: log, onClick: this._handleSignOutClick, children: this._signOutButtonText }) })] }));
|
|
22
|
+
return (_jsxs(ResponsivePopover, { id: "user-menu-rp", class: "ui5-user-menu-rp", placement: "Bottom", verticalAlign: "Bottom", horizontalAlign: "End", tabindex: -1, accessibleName: this.accessibleNameText, "aria-labelledby": this.accessibleNameText, open: this.open, opener: this.opener, onClose: this._handlePopoverAfterClose, onOpen: this._handlePopoverAfterOpen, onScroll: this._handleScroll, children: [_jsxs(_Fragment, { children: [_jsxs(Bar, { class: {
|
|
23
|
+
"ui5-user-menu-fixed-header": true,
|
|
24
|
+
"ui5-user-menu-rp-scrolled": this._isScrolled || this._titleMovedToHeader
|
|
25
|
+
}, slot: "header", children: [this._titleMovedToHeader &&
|
|
26
|
+
_jsx(Title, { level: "H1", wrappingType: "None", children: this._selectedAccount.titleText }), this._isPhone && _jsx(Button, { icon: decline, design: "Transparent", accessibleName: this._closeDialogAriaLabel, onClick: this._closeUserMenu, slot: "endContent" })] }), _jsx("div", { class: "ui5-user-menu-header", children: headerContent.call(this) })] }), this.showOtherAccounts &&
|
|
27
|
+
_jsx(_Fragment, { children: otherAccountsContent.call(this) }), this.menuItems.length > 0 &&
|
|
28
|
+
_jsx(List, { id: "ui5-user-menu-list", class: "ui5-user-menu-list", selectionMode: "None", separators: "None", accessibleRole: "Menu", onItemClick: this._handleMenuItemClick, "onui5-close-menu": this._handleMenuItemClose, children: _jsx("slot", {}) }), _jsx("div", { slot: "footer", class: "ui5-user-menu-footer", children: _jsx(Button, { class: "ui5-user-menu-sign-out-btn", design: "Transparent", icon: log, onClick: this._handleSignOutClick, children: this._signOutButtonText }) })] }));
|
|
35
29
|
}
|
|
36
30
|
function headerContent() {
|
|
37
31
|
return (_jsx(_Fragment, { children: this._selectedAccount &&
|
|
38
|
-
_jsxs("div", { class: "ui5-
|
|
32
|
+
_jsxs("div", { class: "ui5-user-menu-selected-account", "aria-labelledby": this._ariaLabelledByAccountInformationText, children: [_jsxs(Avatar, { size: "L", onClick: this._handleAvatarClick, initials: this._selectedAccount._initials, fallbackIcon: personPlaceholder, class: "ui5-user-menu--selected-account-avatar", interactive: true, children: [this._selectedAccount.avatarSrc &&
|
|
39
33
|
_jsx("img", { src: this._selectedAccount.avatarSrc }), this.showEditButton &&
|
|
40
34
|
_jsx(Tag, { slot: "badge", wrappingType: "None", design: "Set1", colorScheme: "5", title: this._editAvatarTooltip, children: _jsx(Icon, { slot: "icon", name: edit }) })] }), this._selectedAccount.titleText &&
|
|
41
|
-
_jsx(
|
|
42
|
-
_jsx(Text, { class: "ui5-
|
|
43
|
-
_jsx(Text, { class: "ui5-
|
|
44
|
-
_jsx(Button, { id: "selected-account-manage-btn", icon: userSettings, class: "ui5-
|
|
35
|
+
_jsx(Text, { maxLines: 2, id: "selected-account-title", class: "ui5-user-menu-selected-account-title", children: this._selectedAccount.titleText }), this._selectedAccount.subtitleText &&
|
|
36
|
+
_jsx(Text, { maxLines: 1, class: "ui5-user-menu-selected-account-subtitleText", children: this._selectedAccount.subtitleText }), this._selectedAccount.description &&
|
|
37
|
+
_jsx(Text, { maxLines: 1, class: "ui5-user-menu-selected-account-description", children: this._selectedAccount.description }), this.showManageAccount &&
|
|
38
|
+
_jsx(Button, { id: "selected-account-manage-btn", icon: userSettings, class: "ui5-user-menu-manage-account-btn", onClick: this._handleManageAccountClick, children: this._manageAccountButtonText })] }) }));
|
|
39
|
+
}
|
|
40
|
+
function otherAccountsContent() {
|
|
41
|
+
return (_jsx(_Fragment, { children: _jsxs(Panel, { collapsed: true, class: "ui5-user-menu-other-accounts", "aria-labelledby": this._otherAccountsButtonText, children: [_jsxs("div", { slot: "header", class: "ui5-user-menu-account-header", children: [_jsxs(Title, { slot: "header", level: "H4", "wrapping-type": "None", children: [this._otherAccountsButtonText, " (", this._otherAccounts.length, ")"] }), this.showEditAccounts &&
|
|
42
|
+
_jsx(Button, { slot: "header", class: "ui5-user-menu-add-account-btn", design: "Transparent", icon: userEdit, onClick: this._handleEditAccountsClick, tooltip: this._editAccountsTooltip })] }), this._otherAccounts.length > 0 &&
|
|
43
|
+
_jsx(_Fragment, { children: otherAccountsList.call(this) })] }) }));
|
|
44
|
+
}
|
|
45
|
+
function otherAccountsList() {
|
|
46
|
+
return (_jsx(_Fragment, { children: _jsx(List, { onItemClick: this._handleAccountSwitch, "aria-labelledby": this._ariaLabelledByActions, loadingDelay: 0, loading: this._otherAccounts.some(account => account.loading === true), children: this._otherAccounts.map((account, index) => _jsx(ListItemCustom, { ref: this.captureRef.bind(account), "aria-labelledby": account.titleText, "aria-possition": index + 1, "aria-setsize": this._otherAccounts.length, "aria-dectiption": this.getAccountDescriptionText(account), children: _jsxs("div", { class: "ui5-user-menu-other-accounts-content", children: [_jsx(Avatar, { slot: "image", size: "S", initials: account._initials, fallbackIcon: personPlaceholder, children: account.avatarSrc &&
|
|
47
|
+
_jsx("img", { src: account.avatarSrc }) }), _jsxs("div", { class: "ui5-user-menu-other-accounts-info", children: [account.titleText &&
|
|
48
|
+
_jsx(Title, { class: "ui5-user-menu-other-accounts-title", "wrapping-type": "None", children: account.titleText }), account.subtitleText &&
|
|
49
|
+
_jsx(Label, { class: "ui5-user-menu-other-accounts-additional-info", "wrapping-type": "None", children: account.subtitleText }), account.description &&
|
|
50
|
+
_jsx(Label, { class: "ui5-user-menu-other-accounts-additional-info", "wrapping-type": "None", children: account.description })] }), _jsx("div", { children: account.selected &&
|
|
51
|
+
_jsx(Icon, { part: "icon", name: selectedAccount, class: "ui5-user-menu-selected-account-icon", mode: "Decorative" }) })] }) })) }) }));
|
|
45
52
|
}
|
|
46
53
|
//# sourceMappingURL=UserMenuTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMenuTemplate.js","sourceRoot":"","sources":["../src/UserMenuTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UserMenu from \"./UserMenu.js\";\nimport Avatar from \"@ui5/webcomponents/dist/Avatar.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Tag from \"@ui5/webcomponents/dist/Tag.js\";\nimport Title from \"@ui5/webcomponents/dist/Title.js\";\nimport Text from \"@ui5/webcomponents/dist/Text.js\";\nimport Label from \"@ui5/webcomponents/dist/Label.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport ListItemCustom from \"@ui5/webcomponents/dist/ListItemCustom.js\";\nimport Panel from \"@ui5/webcomponents/dist/Panel.js\";\nimport Bar from \"@ui5/webcomponents/dist/Bar.js\";\nimport ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport edit from \"@ui5/webcomponents-icons/dist/edit.js\";\nimport personPlaceholder from \"@ui5/webcomponents-icons/dist/person-placeholder.js\";\nimport userSettings from \"@ui5/webcomponents-icons/dist/user-settings.js\";\nimport log from \"@ui5/webcomponents-icons/dist/log.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport userEdit from \"@ui5/webcomponents-icons/dist/user-edit.js\";\n\nexport default function UserMenuTemplate(this: UserMenu) {\n\treturn (\n\t\t<ResponsivePopover\n\t\t\tid=\"user-menu-rp\"\n\t\t\tclass=\"ui5-pm-rp\"\n\t\t\ttabIndex={-1}\n\t\t\tplacement=\"Bottom\"\n\t\t\tverticalAlign=\"Bottom\"\n\t\t\thorizontalAlign=\"End\"\n\t\t\taccessibleName={this.accessibleNameText}\n\t\t\topen={this.open}\n\t\t\topener={this.opener}\n\t\t\tonClose={this._handlePopoverAfterClose}\n\t\t\tonOpen={this._handlePopoverAfterOpen}\n\t\t>\n\t\t\t{this._isPhone ?\n\t\t\t\t<>\n\t\t\t\t\t<Bar class=\"ui5-pm-phone-header\" slot=\"header\">\n\t\t\t\t\t\t{this._manageAccountVisibleInHeader &&\n\t\t\t\t\t\t\t<Button icon={userSettings} onClick={this._handleManageAccountClick} slot=\"startContent\"></Button>\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t{this._titleMovedToHeader &&\n\t\t\t\t\t\t\t<Title\n\t\t\t\t\t\t\t\tlevel=\"H1\"\n\t\t\t\t\t\t\t\twrappingType=\"None\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this._selectedAccount.titleText}\n\t\t\t\t\t\t\t</Title>\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={decline}\n\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\taccessibleName={this._closeDialogAriaLabel}\n\t\t\t\t\t\t\tonClick={this._closeUserMenu}\n\t\t\t\t\t\t\tslot=\"endContent\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Bar>\n\t\t\t\t\t<div class=\"ui5-pm-header\">\n\t\t\t\t\t\t{headerContent.call(this)}\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t\t:\n\t\t\t\t<div class=\"ui5-pm-header\" slot=\"header\">\n\t\t\t\t\t{headerContent.call(this)}\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t{this.showOtherAccounts &&\n\t\t\t\t\t<Panel collapsed={true} class=\"ui5-pm-other-accounts\">\n\t\t\t\t\t\t<div slot=\"header\" class=\"ui5-user-menu-account-header\">\n\t\t\t\t\t\t\t<Title slot=\"header\" level=\"H4\">{this._otherAccountsButtonText} ({this._otherAccounts.length})</Title>\n\t\t\t\t\t\t\t{this.showEditAccounts &&\n\t\t\t\t\t\t\t\t<Button slot=\"header\" class=\"ui5-pm-add-account-btn\" design=\"Transparent\" icon={userEdit} onClick={this._handleEditAccountsClick} tooltip={this._editAccountsTooltip}/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{this._otherAccounts.length > 0 &&\n\t\t\t\t\t\t\t<List onItemClick={this._handleAccountSwitch}>\n\t\t\t\t\t\t\t\t{this._otherAccounts.map(account =>\n\t\t\t\t\t\t\t\t\t<ListItemCustom\n\t\t\t\t\t\t\t\t\t\tref={this.captureRef.bind(account)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div class=\"ui5-pm-other-accounts-content\">\n\t\t\t\t\t\t\t\t\t\t\t<Avatar slot=\"image\" size=\"S\" initials={account._initials} fallbackIcon={personPlaceholder}>\n\t\t\t\t\t\t\t\t\t\t\t\t{account.avatarSrc &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img src={account.avatarSrc}/>\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t</Avatar>\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t{account.titleText &&\n\t\t\t\t\t\t\t\t\t\t\t\t<Title>{account.titleText}</Title>\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t{account.subtitleText &&\n\t\t\t\t\t\t\t\t\t\t\t\t<Label>{account.subtitleText}</Label>\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t{account.description &&\n\t\t\t\t\t\t\t\t\t\t\t\t<Label>{account.description}</Label>\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</ListItemCustom>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</List>\n\t\t\t\t\t\t}\n\t\t\t\t\t</Panel>\n\t\t\t}\n\n\t\t\t{this.menuItems.length > 0 &&\n\t\t\t\t\t<List\n\t\t\t\t\t\tclass=\"ui5-user-menu-list\"\n\t\t\t\t\t\tselectionMode=\"None\"\n\t\t\t\t\t\tseparators=\"None\"\n\t\t\t\t\t\taccessibleRole=\"Menu\"\n\t\t\t\t\t\tonItemClick={this._handleMenuItemClick}\n\t\t\t\t\t\tonui5-close-menu={this._handleMenuItemClose}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</List>\n\t\t\t}\n\n\t\t\t<div slot=\"footer\" class=\"ui5-pm-footer\">\n\t\t\t\t<Button class=\"ui5-pm-sign-out-btn\" design=\"Transparent\" icon={log} onClick={this._handleSignOutClick}>{this._signOutButtonText}</Button>\n\t\t\t</div>\n\t\t</ResponsivePopover>\n\t);\n}\n\nfunction headerContent(this: UserMenu) {\n\treturn (<>\n\t\t{this._selectedAccount &&\n\t\t\t<div class=\"ui5-pm-selected-account\">\n\t\t\t\t<Avatar size=\"L\" onClick={this._handleAvatarClick} initials={this._selectedAccount._initials} fallbackIcon={personPlaceholder} class=\"ui5-pm--selected-account-avatar\">\n\t\t\t\t\t{this._selectedAccount.avatarSrc &&\n\t\t\t\t\t\t<img src={this._selectedAccount.avatarSrc}/>\n\t\t\t\t\t}\n\t\t\t\t\t{this.showEditButton &&\n\t\t\t\t\t<Tag slot=\"badge\" wrappingType=\"None\" design=\"Set1\" colorScheme=\"5\" title={this._editAvatarTooltip}>\n\t\t\t\t\t\t<Icon slot=\"icon\" name={edit}></Icon>\n\t\t\t\t\t</Tag>\n\t\t\t\t\t}\n\t\t\t\t</Avatar>\n\t\t\t\t{this._selectedAccount.titleText &&\n\t\t\t\t\t<Title id=\"selected-account-title\" class=\"ui5-pm-selected-account-title\">{this._selectedAccount.titleText}</Title>\n\t\t\t\t}\n\n\t\t\t\t{this._selectedAccount.subtitleText &&\n\t\t\t\t\t<Text class=\"ui5-pm-selected-account-subtitleText\">{this._selectedAccount.subtitleText}</Text>\n\t\t\t\t}\n\t\t\t\t{this._selectedAccount.description &&\n\t\t\t\t\t<Text class=\"ui5-pm-selected-account-description\">{this._selectedAccount.description}</Text>\n\t\t\t\t}\n\n\t\t\t\t{this.showManageAccount &&\n\t\t\t\t\t<Button id=\"selected-account-manage-btn\" icon={userSettings} class=\"ui5-pm-manage-account-btn\" onClick={this._handleManageAccountClick}>{this._manageAccountButtonText}</Button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t</>);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"UserMenuTemplate.js","sourceRoot":"","sources":["../src/UserMenuTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,KAAK,MAAM,kCAAkC,CAAC;AACrD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,KAAK,MAAM,kCAAkC,CAAC;AACrD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,cAAc,MAAM,2CAA2C,CAAC;AACvE,OAAO,KAAK,MAAM,kCAAkC,CAAC;AACrD,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,iBAAiB,MAAM,8CAA8C,CAAC;AAC7E,OAAO,IAAI,MAAM,uCAAuC,CAAC;AACzD,OAAO,iBAAiB,MAAM,qDAAqD,CAAC;AACpF,OAAO,YAAY,MAAM,gDAAgD,CAAC;AAC1E,OAAO,GAAG,MAAM,sCAAsC,CAAC;AACvD,OAAO,OAAO,MAAM,0CAA0C,CAAC;AAC/D,OAAO,QAAQ,MAAM,4CAA4C,CAAC;AAClE,OAAO,eAAe,MAAM,8CAA8C,CAAC;AAE3E,MAAM,CAAC,OAAO,UAAU,gBAAgB;IACvC,OAAO,CACN,MAAC,iBAAiB,IACjB,EAAE,EAAC,cAAc,EACjB,KAAK,EAAC,kBAAkB,EACxB,SAAS,EAAC,QAAQ,EAClB,aAAa,EAAC,QAAQ,EACtB,eAAe,EAAC,KAAK,EACrB,QAAQ,EAAE,CAAC,CAAC,EACZ,cAAc,EAAE,IAAI,CAAC,kBAAkB,qBACtB,IAAI,CAAC,kBAAkB,EACxC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,wBAAwB,EACtC,MAAM,EAAE,IAAI,CAAC,uBAAuB,EACpC,QAAQ,EAAE,IAAI,CAAC,aAAa,aAE5B,8BACC,MAAC,GAAG,IAAC,KAAK,EAAE;4BACX,4BAA4B,EAAE,IAAI;4BAClC,2BAA2B,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,mBAAmB;yBACzE,EAAE,IAAI,EAAC,QAAQ,aACd,IAAI,CAAC,mBAAmB;gCACxB,KAAC,KAAK,IACL,KAAK,EAAC,IAAI,EACV,YAAY,EAAC,MAAM,YAElB,IAAI,CAAC,gBAAgB,CAAC,SAAS,GACzB,EAGR,IAAI,CAAC,QAAQ,IAAI,KAAC,MAAM,IACxB,IAAI,EAAE,OAAO,EACb,MAAM,EAAC,aAAa,EACpB,cAAc,EAAE,IAAI,CAAC,qBAAqB,EAC1C,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,IAAI,EAAC,YAAY,GACf,IACE,EAEN,cAAK,KAAK,EAAC,sBAAsB,YAC/B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GACpB,IACJ,EAEF,IAAI,CAAC,iBAAiB;gBACtB,4BACE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAC9B,EAGH,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBACxB,KAAC,IAAI,IACJ,EAAE,EAAC,oBAAoB,EACvB,KAAK,EAAC,oBAAoB,EAC1B,aAAa,EAAC,MAAM,EACpB,UAAU,EAAC,MAAM,EACjB,cAAc,EAAC,MAAM,EACrB,WAAW,EAAE,IAAI,CAAC,oBAAoB,sBACpB,IAAI,CAAC,oBAAoB,YAE3C,gBAAa,GACP,EAGT,cAAK,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,sBAAsB,YAC9C,KAAC,MAAM,IAAC,KAAK,EAAC,4BAA4B,EAAC,MAAM,EAAC,aAAa,EAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,YAAG,IAAI,CAAC,kBAAkB,GAAU,GAC3I,IACa,CACpB,CAAC;AACH,CAAC;AAED,SAAS,aAAa;IACrB,OAAO,CAAC,4BACN,IAAI,CAAC,gBAAgB;YACrB,eAAK,KAAK,EAAC,gCAAgC,qBAAkB,IAAI,CAAC,qCAAqC,aACtG,MAAC,MAAM,IAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAC,wCAAwC,EAAC,WAAW,mBACvL,IAAI,CAAC,gBAAgB,CAAC,SAAS;gCAC/B,cAAK,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,EAE5C,IAAI,CAAC,cAAc;gCACpB,KAAC,GAAG,IAAC,IAAI,EAAC,OAAO,EAAC,YAAY,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,GAAG,EAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,YACjG,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,GAAS,GAChC,IAEE,EACR,IAAI,CAAC,gBAAgB,CAAC,SAAS;wBAC/B,KAAC,IAAI,IAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAC,wBAAwB,EAAC,KAAK,EAAC,sCAAsC,YAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAQ,EAGpI,IAAI,CAAC,gBAAgB,CAAC,YAAY;wBAClC,KAAC,IAAI,IAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAC,6CAA6C,YAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY,GAAQ,EAElH,IAAI,CAAC,gBAAgB,CAAC,WAAW;wBACjC,KAAC,IAAI,IAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAC,4CAA4C,YAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAQ,EAGhH,IAAI,CAAC,iBAAiB;wBACtB,KAAC,MAAM,IAAC,EAAE,EAAC,6BAA6B,EAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAC,kCAAkC,EAAC,OAAO,EAAE,IAAI,CAAC,yBAAyB,YAAG,IAAI,CAAC,wBAAwB,GAAU,IAEnL,GAEL,CAAC,CAAC;AACN,CAAC;AAED,SAAS,oBAAoB;IAC5B,OAAO,CAAC,4BACP,MAAC,KAAK,IAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAC,8BAA8B,qBAAkB,IAAI,CAAC,wBAAwB,aAC1G,eAAK,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,8BAA8B,aACtD,MAAC,KAAK,IAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,IAAI,mBAAe,MAAM,aAAE,IAAI,CAAC,wBAAwB,QAAI,IAAI,CAAC,cAAc,CAAC,MAAM,SAAU,EAC1H,IAAI,CAAC,gBAAgB;4BACrB,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,+BAA+B,EAAC,MAAM,EAAC,aAAa,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,OAAO,EAAE,IAAI,CAAC,oBAAoB,GAAG,IAE1K,EACL,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;oBAC9B,4BACE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAC3B,IAEG,GACN,CAAC,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB;IACzB,OAAO,CAAC,4BACP,KAAC,IAAI,IAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,qBAAmB,IAAI,CAAC,sBAAsB,EAAE,YAAY,EAAE,CAAC,EACxG,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,YACvE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAC3C,KAAC,cAAc,IACd,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,qBACjB,OAAO,CAAC,SAAS,oBAClB,KAAK,GAAG,CAAC,kBACX,IAAI,CAAC,cAAc,CAAC,MAAM,qBACvB,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,YAExD,eAAK,KAAK,EAAC,sCAAsC,aAChD,KAAC,MAAM,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,GAAG,EAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,iBAAiB,YACxF,OAAO,CAAC,SAAS;gCACjB,cAAK,GAAG,EAAE,OAAO,CAAC,SAAS,GAAG,GAEvB,EACT,eAAK,KAAK,EAAC,mCAAmC,aAC5C,OAAO,CAAC,SAAS;oCACjB,KAAC,KAAK,IAAC,KAAK,EAAC,oCAAoC,mBAAe,MAAM,YAAE,OAAO,CAAC,SAAS,GAAS,EAElG,OAAO,CAAC,YAAY;oCACpB,KAAC,KAAK,IAAC,KAAK,EAAC,8CAA8C,mBAAe,MAAM,YAAE,OAAO,CAAC,YAAY,GAAS,EAE/G,OAAO,CAAC,WAAW;oCACnB,KAAC,KAAK,IAAC,KAAK,EAAC,8CAA8C,mBAAe,MAAM,YAAE,OAAO,CAAC,WAAW,GAAS,IAE1G,EACN,wBACE,OAAO,CAAC,QAAQ;gCAChB,KAAC,IAAI,IACJ,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,eAAe,EACrB,KAAK,EAAC,qCAAqC,EAC3C,IAAI,EAAC,YAAY,GAAG,GAEjB,IAED,GACU,CACjB,GACK,GACL,CAAC,CAAC;AACN,CAAC","sourcesContent":["import type UserMenu from \"./UserMenu.js\";\nimport Avatar from \"@ui5/webcomponents/dist/Avatar.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Tag from \"@ui5/webcomponents/dist/Tag.js\";\nimport Title from \"@ui5/webcomponents/dist/Title.js\";\nimport Text from \"@ui5/webcomponents/dist/Text.js\";\nimport Label from \"@ui5/webcomponents/dist/Label.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport ListItemCustom from \"@ui5/webcomponents/dist/ListItemCustom.js\";\nimport Panel from \"@ui5/webcomponents/dist/Panel.js\";\nimport Bar from \"@ui5/webcomponents/dist/Bar.js\";\nimport ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport edit from \"@ui5/webcomponents-icons/dist/edit.js\";\nimport personPlaceholder from \"@ui5/webcomponents-icons/dist/person-placeholder.js\";\nimport userSettings from \"@ui5/webcomponents-icons/dist/user-settings.js\";\nimport log from \"@ui5/webcomponents-icons/dist/log.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport userEdit from \"@ui5/webcomponents-icons/dist/user-edit.js\";\nimport selectedAccount from \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\n\nexport default function UserMenuTemplate(this: UserMenu) {\n\treturn (\n\t\t<ResponsivePopover\n\t\t\tid=\"user-menu-rp\"\n\t\t\tclass=\"ui5-user-menu-rp\"\n\t\t\tplacement=\"Bottom\"\n\t\t\tverticalAlign=\"Bottom\"\n\t\t\thorizontalAlign=\"End\"\n\t\t\ttabindex={-1}\n\t\t\taccessibleName={this.accessibleNameText}\n\t\t\taria-labelledby={this.accessibleNameText}\n\t\t\topen={this.open}\n\t\t\topener={this.opener}\n\t\t\tonClose={this._handlePopoverAfterClose}\n\t\t\tonOpen={this._handlePopoverAfterOpen}\n\t\t\tonScroll={this._handleScroll}\n\t\t>\n\t\t\t<>\n\t\t\t\t<Bar class={{\n\t\t\t\t\t\"ui5-user-menu-fixed-header\": true,\n\t\t\t\t\t\"ui5-user-menu-rp-scrolled\": this._isScrolled || this._titleMovedToHeader\n\t\t\t\t}} slot=\"header\">\n\t\t\t\t\t{this._titleMovedToHeader &&\n\t\t\t\t\t\t<Title\n\t\t\t\t\t\t\tlevel=\"H1\"\n\t\t\t\t\t\t\twrappingType=\"None\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._selectedAccount.titleText}\n\t\t\t\t\t\t</Title>\n\t\t\t\t\t}\n\n\t\t\t\t\t{this._isPhone && <Button\n\t\t\t\t\t\ticon={decline}\n\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\taccessibleName={this._closeDialogAriaLabel}\n\t\t\t\t\t\tonClick={this._closeUserMenu}\n\t\t\t\t\t\tslot=\"endContent\"\n\t\t\t\t\t />}\n\t\t\t\t</Bar>\n\n\t\t\t\t<div class=\"ui5-user-menu-header\">\n\t\t\t\t\t{headerContent.call(this)}\n\t\t\t\t</div>\n\t\t\t</>\n\n\t\t\t{this.showOtherAccounts &&\n\t\t\t\t<>\n\t\t\t\t\t{otherAccountsContent.call(this)}\n\t\t\t\t</>\n\t\t\t}\n\n\t\t\t{this.menuItems.length > 0 &&\n\t\t\t\t\t<List\n\t\t\t\t\t\tid=\"ui5-user-menu-list\"\n\t\t\t\t\t\tclass=\"ui5-user-menu-list\"\n\t\t\t\t\t\tselectionMode=\"None\"\n\t\t\t\t\t\tseparators=\"None\"\n\t\t\t\t\t\taccessibleRole=\"Menu\"\n\t\t\t\t\t\tonItemClick={this._handleMenuItemClick}\n\t\t\t\t\t\tonui5-close-menu={this._handleMenuItemClose}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</List>\n\t\t\t}\n\n\t\t\t<div slot=\"footer\" class=\"ui5-user-menu-footer\">\n\t\t\t\t<Button class=\"ui5-user-menu-sign-out-btn\" design=\"Transparent\" icon={log} onClick={this._handleSignOutClick}>{this._signOutButtonText}</Button>\n\t\t\t</div>\n\t\t</ResponsivePopover>\n\t);\n}\n\nfunction headerContent(this: UserMenu) {\n\treturn (<>\n\t\t{this._selectedAccount &&\n\t\t\t<div class=\"ui5-user-menu-selected-account\" aria-labelledby={this._ariaLabelledByAccountInformationText}>\n\t\t\t\t<Avatar size=\"L\" onClick={this._handleAvatarClick} initials={this._selectedAccount._initials} fallbackIcon={personPlaceholder} class=\"ui5-user-menu--selected-account-avatar\" interactive>\n\t\t\t\t\t{this._selectedAccount.avatarSrc &&\n\t\t\t\t\t\t<img src={this._selectedAccount.avatarSrc}/>\n\t\t\t\t\t}\n\t\t\t\t\t{this.showEditButton &&\n\t\t\t\t\t<Tag slot=\"badge\" wrappingType=\"None\" design=\"Set1\" colorScheme=\"5\" title={this._editAvatarTooltip}>\n\t\t\t\t\t\t<Icon slot=\"icon\" name={edit}></Icon>\n\t\t\t\t\t</Tag>\n\t\t\t\t\t}\n\t\t\t\t</Avatar>\n\t\t\t\t{this._selectedAccount.titleText &&\n\t\t\t\t\t<Text maxLines={2} id=\"selected-account-title\" class=\"ui5-user-menu-selected-account-title\">{this._selectedAccount.titleText}</Text>\n\t\t\t\t}\n\n\t\t\t\t{this._selectedAccount.subtitleText &&\n\t\t\t\t\t<Text maxLines={1} class=\"ui5-user-menu-selected-account-subtitleText\">{this._selectedAccount.subtitleText}</Text>\n\t\t\t\t}\n\t\t\t\t{this._selectedAccount.description &&\n\t\t\t\t\t<Text maxLines={1} class=\"ui5-user-menu-selected-account-description\">{this._selectedAccount.description}</Text>\n\t\t\t\t}\n\n\t\t\t\t{this.showManageAccount &&\n\t\t\t\t\t<Button id=\"selected-account-manage-btn\" icon={userSettings} class=\"ui5-user-menu-manage-account-btn\" onClick={this._handleManageAccountClick}>{this._manageAccountButtonText}</Button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t</>);\n}\n\nfunction otherAccountsContent(this: UserMenu) {\n\treturn (<>\n\t\t<Panel collapsed={true} class=\"ui5-user-menu-other-accounts\" aria-labelledby={this._otherAccountsButtonText}>\n\t\t\t<div slot=\"header\" class=\"ui5-user-menu-account-header\">\n\t\t\t\t<Title slot=\"header\" level=\"H4\" wrapping-type=\"None\">{this._otherAccountsButtonText} ({this._otherAccounts.length})</Title>\n\t\t\t\t{this.showEditAccounts &&\n\t\t\t\t\t<Button slot=\"header\" class=\"ui5-user-menu-add-account-btn\" design=\"Transparent\" icon={userEdit} onClick={this._handleEditAccountsClick} tooltip={this._editAccountsTooltip}/>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t{this._otherAccounts.length > 0 &&\n\t\t\t\t<>\n\t\t\t\t\t{otherAccountsList.call(this)}\n\t\t\t\t</>\n\t\t\t}\n\t\t</Panel>\n\t</>);\n}\n\nfunction otherAccountsList(this: UserMenu) {\n\treturn (<>\n\t\t<List onItemClick={this._handleAccountSwitch} aria-labelledby={this._ariaLabelledByActions} loadingDelay={0}\n\t\t\t loading={this._otherAccounts.some(account => account.loading === true)}>\n\t\t\t{this._otherAccounts.map((account, index) =>\n\t\t\t\t<ListItemCustom\n\t\t\t\t\tref={this.captureRef.bind(account)}\n\t\t\t\t\taria-labelledby={account.titleText}\n\t\t\t\t\taria-possition={index + 1}\n\t\t\t\t\taria-setsize={this._otherAccounts.length}\n\t\t\t\t\taria-dectiption={this.getAccountDescriptionText(account)}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"ui5-user-menu-other-accounts-content\">\n\t\t\t\t\t\t<Avatar slot=\"image\" size=\"S\" initials={account._initials} fallbackIcon={personPlaceholder}>\n\t\t\t\t\t\t\t{account.avatarSrc &&\n\t\t\t\t\t\t\t\t<img src={account.avatarSrc}/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</Avatar>\n\t\t\t\t\t\t<div class=\"ui5-user-menu-other-accounts-info\">\n\t\t\t\t\t\t\t{account.titleText &&\n\t\t\t\t\t\t\t\t<Title class=\"ui5-user-menu-other-accounts-title\" wrapping-type=\"None\">{account.titleText}</Title>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{account.subtitleText &&\n\t\t\t\t\t\t\t\t<Label class=\"ui5-user-menu-other-accounts-additional-info\" wrapping-type=\"None\">{account.subtitleText}</Label>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{account.description &&\n\t\t\t\t\t\t\t\t<Label class=\"ui5-user-menu-other-accounts-additional-info\" wrapping-type=\"None\">{account.description}</Label>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{account.selected &&\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tpart=\"icon\"\n\t\t\t\t\t\t\t\t\tname={selectedAccount}\n\t\t\t\t\t\t\t\t\tclass=\"ui5-user-menu-selected-account-icon\"\n\t\t\t\t\t\t\t\t\tmode=\"Decorative\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t</div>\n\t\t\t\t</ListItemCustom>\n\t\t\t)}\n\t\t</List>\n\t</>);\n}\n"]}
|
|
@@ -142,6 +142,7 @@ declare class ViewSettingsDialog extends UI5Element {
|
|
|
142
142
|
get _selectedFilter(): (VSDItem & {
|
|
143
143
|
filterOptions: Array<VSDItem>;
|
|
144
144
|
}) | undefined;
|
|
145
|
+
_selectedFiltersLabel(item: FilterItem): string;
|
|
145
146
|
get shouldBuildSort(): boolean;
|
|
146
147
|
get shouldBuildFilter(): boolean;
|
|
147
148
|
get hasPagination(): boolean;
|
|
@@ -19,7 +19,7 @@ import ViewSettingsDialogMode from "./types/ViewSettingsDialogMode.js";
|
|
|
19
19
|
import "@ui5/webcomponents-icons/dist/sort.js";
|
|
20
20
|
import "@ui5/webcomponents-icons/dist/filter.js";
|
|
21
21
|
import "@ui5/webcomponents-icons/dist/nav-back.js";
|
|
22
|
-
import { VSD_DIALOG_TITLE_SORT, VSD_SUBMIT_BUTTON, VSD_CANCEL_BUTTON, VSD_RESET_BUTTON, VSD_SORT_ORDER, VSD_SORT_BY, VSD_ORDER_ASCENDING, VSD_ORDER_DESCENDING, VSD_FILTER_BY, VSD_SORT_TOOLTIP, VSD_FILTER_TOOLTIP, VSD_RESET_BUTTON_ACTION, } from "./generated/i18n/i18n-defaults.js";
|
|
22
|
+
import { VSD_DIALOG_TITLE_SORT, VSD_SUBMIT_BUTTON, VSD_CANCEL_BUTTON, VSD_RESET_BUTTON, VSD_SORT_ORDER, VSD_SORT_BY, VSD_ORDER_ASCENDING, VSD_ORDER_DESCENDING, VSD_FILTER_BY, VSD_SORT_TOOLTIP, VSD_FILTER_TOOLTIP, VSD_RESET_BUTTON_ACTION, VSD_FILTER_ITEM_LABEL_TEXT, } from "./generated/i18n/i18n-defaults.js";
|
|
23
23
|
// Template
|
|
24
24
|
import ViewSettingsDialogTemplate from "./ViewSettingsDialogTemplate.js";
|
|
25
25
|
// Styles
|
|
@@ -131,6 +131,11 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
|
+
_selectedFiltersLabel(item) {
|
|
135
|
+
const text = item.text ? `${item.text},` : "";
|
|
136
|
+
const additionalText = item.additionalText ? `${item.additionalText},` : "";
|
|
137
|
+
return additionalText ? ViewSettingsDialog_1.i18nBundle.getText(VSD_FILTER_ITEM_LABEL_TEXT, text, additionalText) : text;
|
|
138
|
+
}
|
|
134
139
|
get shouldBuildSort() {
|
|
135
140
|
return !!this.sortItems.length;
|
|
136
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewSettingsDialog.js","sourceRoot":"","sources":["../src/ViewSettingsDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport type List from \"@ui5/webcomponents/dist/List.js\";\nimport type { ListItemClickEventDetail, ListSelectionChangeEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\n\nimport ViewSettingsDialogMode from \"./types/ViewSettingsDialogMode.js\";\nimport \"@ui5/webcomponents-icons/dist/sort.js\";\nimport \"@ui5/webcomponents-icons/dist/filter.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport type SortItem from \"./SortItem.js\";\nimport type FilterItem from \"./FilterItem.js\";\n\nimport {\n\tVSD_DIALOG_TITLE_SORT,\n\tVSD_SUBMIT_BUTTON,\n\tVSD_CANCEL_BUTTON,\n\tVSD_RESET_BUTTON,\n\tVSD_SORT_ORDER,\n\tVSD_SORT_BY,\n\tVSD_ORDER_ASCENDING,\n\tVSD_ORDER_DESCENDING,\n\tVSD_FILTER_BY,\n\tVSD_SORT_TOOLTIP,\n\tVSD_FILTER_TOOLTIP,\n\tVSD_RESET_BUTTON_ACTION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport ViewSettingsDialogTemplate from \"./ViewSettingsDialogTemplate.js\";\n\n// Styles\nimport viewSettingsDialogCSS from \"./generated/themes/ViewSettingsDialog.css.js\";\n\ntype VSDFilter = Record<string, Array<string>> // {\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}\ntype VSDFilters = Array<VSDFilter> // [{\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}, {\"Filter 3\": [\"Filter 8\"]}]\n\n// The data, passed to the public method + part of the events' detail\ntype VSDSettings = {\n\tsortOrder: string,\n\tsortBy: string,\n\tfilters: VSDFilters,\n}\n\n// Events' detail\ntype ViewSettingsDialogConfirmEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n}\n\ntype ViewSettingsDialogCancelEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n}\n\n// Common properties for several VSDInternalSettings fields\ntype VSDItem = {text?: string, selected: boolean}\n\n// Used for the private properties _initialSettings, _confirmedSettings and _currentSettings\ntype VSDInternalSettings = {\n\tsortOrder: Array<VSDItem>,\n\tsortBy: Array<VSDItem & {index: number}>,\n\tfilters: Array<VSDItem & {filterOptions: Array<VSDItem>}>,\n}\n\n/**\n * @class\n * ### Overview\n * The `ui5-view-settings-dialog` component helps the user to sort data within a list or a table.\n * It consists of several lists like `Sort order` which is built-in and `Sort By` and `Filter By` lists,\n * for which you must be provide items(`ui5-sort-item` & `ui5-filter-item` respectively)\n * These options can be used to create sorters for a table.\n *\n * The `ui5-view-settings-dialog` interrupts the current application processing as it is the only focused UI element and\n * the main screen is dimmed/blocked.\n * The `ui5-view-settings-dialog` is modal, which means that user action is required before returning to the parent window is possible.\n *\n * ### Structure\n * A `ui5-view-settings-dialog` consists of a header, content, and a footer for action buttons.\n * The `ui5-view-settings-dialog` is usually displayed at the center of the screen.\n *\n * ### Responsive Behavior\n * `ui5-view-settings-dialog` stretches on full screen on phones.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/ViewSettingsDialog.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.16\n * @public\n */\n@customElement({\n\ttag: \"ui5-view-settings-dialog\",\n\trenderer: jsxRenderer,\n\tstyles: viewSettingsDialogCSS,\n\ttemplate: ViewSettingsDialogTemplate,\n})\n\n/**\n * Fired when confirmation button is activated.\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected `ui5-sort-item` text attribute.\n * @param {HTMLElement} sortByItem The currently selected `ui5-sort-item`.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event(\"confirm\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when cancel button is activated.\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected `ui5-sort-item` text attribute.\n * @param {HTMLElement} sortByItem The currently selected `ui5-sort-item`.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event(\"cancel\", {\n\tbubbles: true,\n})\n\n/**\n * Fired before the component is opened.\n * @public\n */\n@event(\"before-open\", {\n\tcancelable: true,\n})\n/**\n * Fired after the dialog is opened.\n * @since 2.0.0\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n/**\n * Fired after the dialog is closed.\n * @since 2.0.0\n * @public\n */\n@event(\"close\", {\n\tbubbles: true,\n})\nclass ViewSettingsDialog extends UI5Element {\n\teventDetails!: {\n\t\t\"confirm\": ViewSettingsDialogConfirmEventDetail,\n\t\t\"cancel\": ViewSettingsDialogCancelEventDetail,\n\t\t\"before-open\": void,\n\t\t\"open\": void,\n\t\t\"close\": void,\n\t}\n\t/**\n\t * Defines the initial sort order.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tsortDescending = false;\n\n\t/**\n\t * Indicates if the dialog is open.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Keeps recently focused list in order to focus it on next dialog open.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_recentlyFocused?: List;\n\n\t/**\n\t * Stores current settings of the dialog.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_currentSettings: VSDInternalSettings = {\n\t\tsortOrder: [],\n\t\tsortBy: [],\n\t\tfilters: [],\n\t};\n\n\t/**\n\t * Stores settings of the dialog before the initial open.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_initialSettings: VSDInternalSettings = this._currentSettings;\n\n\t/**\n\t * Stores settings of the dialog after confirmation.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_confirmedSettings: VSDInternalSettings = this._currentSettings;\n\n\t/**\n\t * Defnies the current mode of the component.\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property()\n\t_currentMode: `${ViewSettingsDialogMode}` = \"Sort\";\n\n\t/**\n\t * When in Filter By mode, defines whether we need to show the list of keys, or the list with values.\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_filterStepTwo = false;\n\n\t/**\n\t * Defines the list of items against which the user could sort data.\n\t *\n\t * **Note:** If you want to use this slot, you need to import used item: `import \"@ui5/webcomponents-fiori/dist/SortItem.js\";`\n\t * @public\n\t */\n\t@slot()\n\tsortItems!: Array<SortItem>\n\n\t/**\n\t * Defines the `filterItems` list.\n\t *\n\t * **Note:** If you want to use this slot, you need to import used item: `import \"@ui5/webcomponents-fiori/dist/FilterItem.js\";`\n\t * @public\n\t */\n\t@slot()\n\tfilterItems!: Array<FilterItem>;\n\n\t_dialog?: Dialog;\n\t_sortOrder?: List;\n\t_sortBy?: List;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tif (this._currentSettings.filters && this._currentSettings.filters.length) {\n\t\t\tthis._setAdditionalTexts();\n\t\t}\n\n\t\tif (!this.shouldBuildSort && this.shouldBuildFilter) {\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Filter;\n\t\t}\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.type === \"slot\") {\n\t\t\tthis._confirmedSettings = this._settings;\n\t\t}\n\t}\n\n\t_setAdditionalTexts() {\n\t\t// Add the additional text to the filter options\n\t\tthis.filterItems.forEach((filter, index) => {\n\t\t\tlet selectedCount = 0;\n\t\t\tfor (let i = 0; i < filter.values.length; i++) {\n\t\t\t\tif (this._currentSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tselectedCount++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfilter.additionalText = !selectedCount ? \"\" : `${selectedCount}`;\n\t\t});\n\t}\n\n\tget _selectedFilter() {\n\t\tfor (let i = 0; i < this._currentSettings.filters.length; i++) {\n\t\t\tif (this._currentSettings.filters[i].selected) {\n\t\t\t\treturn this._currentSettings.filters[i];\n\t\t\t}\n\t\t}\n\t}\n\n\tget shouldBuildSort() {\n\t\treturn !!this.sortItems.length;\n\t}\n\n\tget shouldBuildFilter() {\n\t\treturn !!this.filterItems.length;\n\t}\n\n\tget hasPagination() {\n\t\treturn this.shouldBuildSort && this.shouldBuildFilter;\n\t}\n\n\tget _filterByTitle() {\n\t\tconst selectedFilterText = this._selectedFilter ? this._selectedFilter.text : \"\";\n\t\treturn `${ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY)}: ${selectedFilterText}`;\n\t}\n\n\tget _dialogTitle() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_DIALOG_TITLE_SORT);\n\t}\n\n\tget _okButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SUBMIT_BUTTON);\n\t}\n\n\tget _cancelButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_CANCEL_BUTTON);\n\t}\n\n\tget _resetButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_RESET_BUTTON);\n\t}\n\n\tget _ascendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_ASCENDING);\n\t}\n\n\tget _descendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_DESCENDING);\n\t}\n\n\tget _sortOrderLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_ORDER);\n\t}\n\n\tget _filterByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY);\n\t}\n\n\tget _sortByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_BY);\n\t}\n\n\tget _sortButtonTooltip() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_TOOLTIP);\n\t}\n\n\tget _filterButtonTooltip() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_TOOLTIP);\n\t}\n\n\tget _resetButtonAction() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_RESET_BUTTON_ACTION);\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _sortAscending() {\n\t\treturn !this.sortDescending;\n\t}\n\n\tget _title() {\n\t\treturn this.showBackButton\n\t\t\t? this._filterByTitle\n\t\t\t: this._dialogTitle;\n\t}\n\n\t/**\n\t * Determines disabled state of the `Reset` button.\n\t */\n\tget _disableResetButton() {\n\t\treturn this._dialog && this._sortSetttingsAreInitial && this._filteresAreInitial;\n\t}\n\n\tget _sortSetttingsAreInitial() {\n\t\tlet settingsAreInitial = true;\n\t\t[\"sortBy\", \"sortOrder\"].forEach(sortList => {\n\t\t\tthis._currentSettings[sortList as keyof VSDInternalSettings].forEach((item, index) => {\n\t\t\t\tif (item.selected !== this._initialSettings[sortList as keyof VSDInternalSettings][index].selected) {\n\t\t\t\t\tsettingsAreInitial = false;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn settingsAreInitial;\n\t}\n\n\tget _filteresAreInitial() {\n\t\tlet filtersAreInitial = true;\n\t\tthis._currentSettings.filters.forEach((filter, index) => {\n\t\t\tfor (let i = 0; i < filter.filterOptions.length; i++) {\n\t\t\t\tif (filter.filterOptions[i].selected !== this._initialSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tfiltersAreInitial = false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn filtersAreInitial;\n\t}\n\n\t/**\n\t * Returns the current settings (current state of all lists).\n\t */\n\tget _settings(): VSDInternalSettings {\n\t\treturn {\n\t\t\tsortOrder: JSON.parse(JSON.stringify(this.initSortOrderItems)),\n\t\t\tsortBy: JSON.parse(JSON.stringify(this.initSortByItems)),\n\t\t\tfilters: this.filterItems.map(item => {\n\t\t\t\treturn {\n\t\t\t\t\ttext: item.text || \"\",\n\t\t\t\t\tselected: false,\n\t\t\t\t\tfilterOptions: item.values.map(optionValue => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: optionValue.text || \"\",\n\t\t\t\t\t\t\tselected: optionValue.selected,\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t}),\n\t\t};\n\t}\n\n\tget initSortByItems() {\n\t\treturn this.sortItems.map((item, index) => {\n\t\t\treturn {\n\t\t\t\ttext: item.text,\n\t\t\t\tselected: item.selected,\n\t\t\t\tindex,\n\t\t\t};\n\t\t});\n\t}\n\n\tget initSortOrderItems() {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttext: this._ascendingLabel,\n\t\t\t\tselected: !this.sortDescending,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: this._descendingLabel,\n\t\t\t\tselected: this.sortDescending,\n\t\t\t},\n\t\t];\n\t}\n\n\tget expandContent() {\n\t\treturn this._filterStepTwo || !this.hasPagination;\n\t}\n\n\tget isModeSort() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Sort;\n\t}\n\n\tget isModeFilter() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Filter;\n\t}\n\n\tget showBackButton() {\n\t\treturn this.isModeFilter && this._filterStepTwo;\n\t}\n\n\tget _sortOrderListDomRef() {\n\t\treturn this.shadowRoot!.querySelector<List>(\"[ui5-list][sort-order]\")!;\n\t}\n\n\tget _sortByList() {\n\t\treturn this.shadowRoot!.querySelector<List>(\"[ui5-list][sort-by]\")!;\n\t}\n\n\tget _dialogDomRef() {\n\t\treturn this.shadowRoot!.querySelector<Dialog>(\"[ui5-dialog]\")!;\n\t}\n\n\t/**\n\t * Shows the dialog.\n\t */\n\tbeforeDialogOpen(): void {\n\t\tif (!this._dialog) {\n\t\t\tthis._sortOrder = this._sortOrderListDomRef;\n\t\t\tthis._sortBy = this._sortByList;\n\n\t\t\t// Sorting\n\t\t\tthis._initialSettings = this._settings;\n\t\t\tthis._currentSettings = this._settings;\n\t\t\tthis._confirmedSettings = this._settings;\n\n\t\t\tthis._dialog = this._dialogDomRef;\n\t\t} else {\n\t\t\tthis._restoreSettings(this._confirmedSettings);\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"before-open\");\n\t}\n\n\tafterDialogOpen(): void {\n\t\tthis._dialog?.querySelector<List>(\"[ui5-list]\")?.focusFirstItem();\n\n\t\tthis._focusRecentlyUsedControl();\n\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\tafterDialogClose(): void {\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t_handleModeChange(e: CustomEvent) { // use SegmentedButton event when done\n\t\tconst mode: ViewSettingsDialogMode = e.detail.selectedItems[0].getAttribute(\"data-mode\");\n\t\tthis._currentMode = ViewSettingsDialogMode[mode];\n\t}\n\n\t_handleFilterValueItemClick(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst itemText = e.detail.targetItem.innerText;\n\n\t\t// Update the component state\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tif (filter.selected) {\n\t\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\t\tif (option.text === itemText) {\n\t\t\t\t\t\toption.selected = !option.selected;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn filter;\n\t\t});\n\n\t\tthis._setSelectedProp(itemText);\n\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Sets the selected property of the clicked item.\n\t * @private\n\t */\n\t_setSelectedProp(itemText: string) {\n\t\tthis.filterItems.forEach(filterItem => {\n\t\t\tfilterItem.values.forEach(option => {\n\t\t\t\tif (option.text === itemText) {\n\t\t\t\t\toption.selected = !option.selected;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t_navigateToFilters() {\n\t\tthis._filterStepTwo = false;\n\t}\n\n\t_changeCurrentFilter(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tthis._filterStepTwo = true;\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tfilter.selected = filter.text === e.detail.item.innerText;\n\t\t\treturn filter;\n\t\t});\n\t}\n\n\t/**\n\t * Sets focus on recently used control within the dialog.\n\t */\n\t_focusRecentlyUsedControl() {\n\t\tif (!this._recentlyFocused || !Object.keys(this._recentlyFocused).length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst recentlyFocusedSelectedItems = this._recentlyFocused.getSelectedItems();\n\t\tif (recentlyFocusedSelectedItems.length) {\n\t\t\trecentlyFocusedSelectedItems[0].focus();\n\t\t}\n\t}\n\n\t/**\n\t * Stores current settings as confirmed and fires `confirm` event.\n\t */\n\t_confirmSettings() {\n\t\tthis.open = false;\n\t\tthis._confirmedSettings = this._currentSettings;\n\n\t\tthis.fireDecoratorEvent(\"confirm\", this.eventsParams);\n\t}\n\n\t/**\n\t * Sets current settings to recently confirmed ones and fires `cancel` event.\n\t */\n\t_cancelSettings() {\n\t\tthis._restoreSettings(this._confirmedSettings);\n\n\t\tthis.fireDecoratorEvent(\"cancel\", this.eventsParams);\n\t\tthis.open = false;\n\t}\n\n\tget eventsParams() {\n\t\tconst _currentSortOrderSelected = this._currentSettings.sortOrder.filter(item => item.selected)[0],\n\t\t\t_currentSortBySelected = this._currentSettings.sortBy.filter(item => item.selected)[0],\n\t\t\tsortOrder = _currentSortOrderSelected && (_currentSortOrderSelected.text || \"\"),\n\t\t\tsortDescending = !this._currentSettings.sortOrder[0].selected,\n\t\t\tsortBy = _currentSortBySelected && (_currentSortBySelected.text || \"\"),\n\t\t\tsortByElementIndex = _currentSortBySelected && _currentSortBySelected.index,\n\t\t\tsortByItem = this.sortItems[sortByElementIndex],\n\t\t\tselectedFilterItems = this.filterItems.filter(filterItem => filterItem.values.some(item => item.selected));\n\t\treturn {\n\t\t\tsortOrder,\n\t\t\tsortDescending,\n\t\t\tsortBy,\n\t\t\tsortByItem,\n\t\t\tfilters: this.selectedFilters,\n\t\t\tfilterItems: selectedFilterItems,\n\t\t};\n\t}\n\n\tget selectedFilters() {\n\t\tconst result: VSDFilters = [];\n\n\t\tthis._currentSettings.filters.forEach(filter => {\n\t\t\tconst selectedOptions: Array<string> = [];\n\n\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\tif (option.selected) {\n\t\t\t\t\tselectedOptions.push(option.text || \"\");\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (selectedOptions.length) {\n\t\t\t\tresult.push({});\n\t\t\t\tresult[result.length - 1][filter.text || \"\"] = selectedOptions;\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * If the dialog is closed by [Escape] key, do the same as if the `Cancel` button is pressed.\n\t * @param evt\n\t */\n\t_restoreConfirmedOnEscape(evt: CustomEvent) { // Dialog#before-close\n\t\tif (evt.detail.escPressed) {\n\t\t\tthis._cancelSettings();\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Sort;\n\t\t\tthis._filterStepTwo = false;\n\t\t}\n\t}\n\n\t/**\n\t * Resets the control settings to their initial state.\n\t */\n\t_resetSettings() {\n\t\tthis._restoreSettings(this._initialSettings);\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._focusRecentlyUsedControl();\n\t\tannounce(this._resetButtonAction, InvisibleMessageMode.Polite);\n\t}\n\n\t/**\n\t * Sets current settings to ones passed as `settings` argument.\n\t * @param settings\n\t */\n\t_restoreSettings(settings: VSDInternalSettings) {\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(settings));\n\t\tthis._currentMode = ViewSettingsDialogMode.Sort;\n\t\tthis._filterStepTwo = false;\n\t}\n\n\t/**\n\t * Stores `Sort Order` list as recently used control and its selected item in current state.\n\t */\n\t_onSortOrderChange(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._currentSettings.sortOrder = this.initSortOrderItems.map(item => {\n\t\t\titem.selected = item.text === e.detail.targetItem.innerText;\n\t\t\treturn item;\n\t\t});\n\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Stores `Sort By` list as recently used control and its selected item in current state.\n\t */\n\t_onSortByChange(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst selectedItemIndex = Number(e.detail.targetItem.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tthis._recentlyFocused = this._sortBy!;\n\t\tthis._currentSettings.sortBy = this.initSortByItems.map((item, index) => {\n\t\t\titem.selected = index === selectedItemIndex;\n\t\t\treturn item;\n\t\t});\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Sets a JavaScript object, as settings to the `ui5-view-settings-dialog`.\n\t * This method can be used after the dialog is initially open, as the dialog needs\n\t * to set its initial settings.\n\t * The `ui5-view-settings-dialog` throws an event called \"before-open\",\n\t * which can be used as a trigger point.\n\t * The object should have the following format:\n\t * @param settings - predefined settings.\n\t * @public\n\t */\n\tsetConfirmedSettings(settings: VSDSettings): void {\n\t\tif (settings && this._dialog && !this._dialog.open) {\n\t\t\tconst tempSettings: VSDInternalSettings = JSON.parse(JSON.stringify(this._confirmedSettings));\n\t\t\tif (settings.sortOrder) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortOrder.length; i++) {\n\t\t\t\t\tif (tempSettings.sortOrder[i].text === settings.sortOrder) {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.sortBy) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortBy.length; i++) {\n\t\t\t\t\tif (tempSettings.sortBy[i].text === settings.sortBy) {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.filters) {\n\t\t\t\tconst inputFilters: VSDFilter = {};\n\t\t\t\tfor (let i = 0; i < settings.filters.length; i++) {\n\t\t\t\t\tinputFilters[Object.keys(settings.filters[i])[0]] = settings.filters[i][Object.keys(settings.filters[i])[0]];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = 0; i < tempSettings.filters.length; i++) {\n\t\t\t\t\tfor (let j = 0; j < tempSettings.filters[i].filterOptions.length; j++) {\n\t\t\t\t\t\tif (inputFilters[tempSettings.filters[i].text || \"\"] && inputFilters[tempSettings.filters[i].text || \"\"].indexOf(tempSettings.filters[i].filterOptions[j].text || \"\") > -1) {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._confirmedSettings = JSON.parse(JSON.stringify(tempSettings));\n\t\t}\n\t}\n}\n\nViewSettingsDialog.define();\n\nexport default ViewSettingsDialog;\nexport type {\n\tViewSettingsDialogConfirmEventDetail,\n\tViewSettingsDialogCancelEventDetail,\n\tVSDSettings,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ViewSettingsDialog.js","sourceRoot":"","sources":["../src/ViewSettingsDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport type List from \"@ui5/webcomponents/dist/List.js\";\nimport type { ListItemClickEventDetail, ListSelectionChangeEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\n\nimport ViewSettingsDialogMode from \"./types/ViewSettingsDialogMode.js\";\nimport \"@ui5/webcomponents-icons/dist/sort.js\";\nimport \"@ui5/webcomponents-icons/dist/filter.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport type SortItem from \"./SortItem.js\";\nimport type FilterItem from \"./FilterItem.js\";\n\nimport {\n\tVSD_DIALOG_TITLE_SORT,\n\tVSD_SUBMIT_BUTTON,\n\tVSD_CANCEL_BUTTON,\n\tVSD_RESET_BUTTON,\n\tVSD_SORT_ORDER,\n\tVSD_SORT_BY,\n\tVSD_ORDER_ASCENDING,\n\tVSD_ORDER_DESCENDING,\n\tVSD_FILTER_BY,\n\tVSD_SORT_TOOLTIP,\n\tVSD_FILTER_TOOLTIP,\n\tVSD_RESET_BUTTON_ACTION,\n\tVSD_FILTER_ITEM_LABEL_TEXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport ViewSettingsDialogTemplate from \"./ViewSettingsDialogTemplate.js\";\n\n// Styles\nimport viewSettingsDialogCSS from \"./generated/themes/ViewSettingsDialog.css.js\";\n\ntype VSDFilter = Record<string, Array<string>> // {\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}\ntype VSDFilters = Array<VSDFilter> // [{\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}, {\"Filter 3\": [\"Filter 8\"]}]\n\n// The data, passed to the public method + part of the events' detail\ntype VSDSettings = {\n\tsortOrder: string,\n\tsortBy: string,\n\tfilters: VSDFilters,\n}\n\n// Events' detail\ntype ViewSettingsDialogConfirmEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n}\n\ntype ViewSettingsDialogCancelEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n}\n\n// Common properties for several VSDInternalSettings fields\ntype VSDItem = {text?: string, selected: boolean}\n\n// Used for the private properties _initialSettings, _confirmedSettings and _currentSettings\ntype VSDInternalSettings = {\n\tsortOrder: Array<VSDItem>,\n\tsortBy: Array<VSDItem & {index: number}>,\n\tfilters: Array<VSDItem & {filterOptions: Array<VSDItem>}>,\n}\n\n/**\n * @class\n * ### Overview\n * The `ui5-view-settings-dialog` component helps the user to sort data within a list or a table.\n * It consists of several lists like `Sort order` which is built-in and `Sort By` and `Filter By` lists,\n * for which you must be provide items(`ui5-sort-item` & `ui5-filter-item` respectively)\n * These options can be used to create sorters for a table.\n *\n * The `ui5-view-settings-dialog` interrupts the current application processing as it is the only focused UI element and\n * the main screen is dimmed/blocked.\n * The `ui5-view-settings-dialog` is modal, which means that user action is required before returning to the parent window is possible.\n *\n * ### Structure\n * A `ui5-view-settings-dialog` consists of a header, content, and a footer for action buttons.\n * The `ui5-view-settings-dialog` is usually displayed at the center of the screen.\n *\n * ### Responsive Behavior\n * `ui5-view-settings-dialog` stretches on full screen on phones.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/ViewSettingsDialog.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.16\n * @public\n */\n@customElement({\n\ttag: \"ui5-view-settings-dialog\",\n\trenderer: jsxRenderer,\n\tstyles: viewSettingsDialogCSS,\n\ttemplate: ViewSettingsDialogTemplate,\n})\n\n/**\n * Fired when confirmation button is activated.\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected `ui5-sort-item` text attribute.\n * @param {HTMLElement} sortByItem The currently selected `ui5-sort-item`.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event(\"confirm\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when cancel button is activated.\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected `ui5-sort-item` text attribute.\n * @param {HTMLElement} sortByItem The currently selected `ui5-sort-item`.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event(\"cancel\", {\n\tbubbles: true,\n})\n\n/**\n * Fired before the component is opened.\n * @public\n */\n@event(\"before-open\", {\n\tcancelable: true,\n})\n/**\n * Fired after the dialog is opened.\n * @since 2.0.0\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n/**\n * Fired after the dialog is closed.\n * @since 2.0.0\n * @public\n */\n@event(\"close\", {\n\tbubbles: true,\n})\nclass ViewSettingsDialog extends UI5Element {\n\teventDetails!: {\n\t\t\"confirm\": ViewSettingsDialogConfirmEventDetail,\n\t\t\"cancel\": ViewSettingsDialogCancelEventDetail,\n\t\t\"before-open\": void,\n\t\t\"open\": void,\n\t\t\"close\": void,\n\t}\n\t/**\n\t * Defines the initial sort order.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tsortDescending = false;\n\n\t/**\n\t * Indicates if the dialog is open.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Keeps recently focused list in order to focus it on next dialog open.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_recentlyFocused?: List;\n\n\t/**\n\t * Stores current settings of the dialog.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_currentSettings: VSDInternalSettings = {\n\t\tsortOrder: [],\n\t\tsortBy: [],\n\t\tfilters: [],\n\t};\n\n\t/**\n\t * Stores settings of the dialog before the initial open.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_initialSettings: VSDInternalSettings = this._currentSettings;\n\n\t/**\n\t * Stores settings of the dialog after confirmation.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_confirmedSettings: VSDInternalSettings = this._currentSettings;\n\n\t/**\n\t * Defnies the current mode of the component.\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property()\n\t_currentMode: `${ViewSettingsDialogMode}` = \"Sort\";\n\n\t/**\n\t * When in Filter By mode, defines whether we need to show the list of keys, or the list with values.\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_filterStepTwo = false;\n\n\t/**\n\t * Defines the list of items against which the user could sort data.\n\t *\n\t * **Note:** If you want to use this slot, you need to import used item: `import \"@ui5/webcomponents-fiori/dist/SortItem.js\";`\n\t * @public\n\t */\n\t@slot()\n\tsortItems!: Array<SortItem>\n\n\t/**\n\t * Defines the `filterItems` list.\n\t *\n\t * **Note:** If you want to use this slot, you need to import used item: `import \"@ui5/webcomponents-fiori/dist/FilterItem.js\";`\n\t * @public\n\t */\n\t@slot()\n\tfilterItems!: Array<FilterItem>;\n\n\t_dialog?: Dialog;\n\t_sortOrder?: List;\n\t_sortBy?: List;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tif (this._currentSettings.filters && this._currentSettings.filters.length) {\n\t\t\tthis._setAdditionalTexts();\n\t\t}\n\n\t\tif (!this.shouldBuildSort && this.shouldBuildFilter) {\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Filter;\n\t\t}\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.type === \"slot\") {\n\t\t\tthis._confirmedSettings = this._settings;\n\t\t}\n\t}\n\n\t_setAdditionalTexts() {\n\t\t// Add the additional text to the filter options\n\t\tthis.filterItems.forEach((filter, index) => {\n\t\t\tlet selectedCount = 0;\n\t\t\tfor (let i = 0; i < filter.values.length; i++) {\n\t\t\t\tif (this._currentSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tselectedCount++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfilter.additionalText = !selectedCount ? \"\" : `${selectedCount}`;\n\t\t});\n\t}\n\n\tget _selectedFilter() {\n\t\tfor (let i = 0; i < this._currentSettings.filters.length; i++) {\n\t\t\tif (this._currentSettings.filters[i].selected) {\n\t\t\t\treturn this._currentSettings.filters[i];\n\t\t\t}\n\t\t}\n\t}\n\n\t_selectedFiltersLabel(item: FilterItem) {\n\t\tconst text = item.text ? `${item.text},` : \"\";\n\t\tconst additionalText = item.additionalText ? `${item.additionalText},` : \"\";\n\t\treturn additionalText ? ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_ITEM_LABEL_TEXT, text, additionalText) : text;\n\t}\n\n\tget shouldBuildSort() {\n\t\treturn !!this.sortItems.length;\n\t}\n\n\tget shouldBuildFilter() {\n\t\treturn !!this.filterItems.length;\n\t}\n\n\tget hasPagination() {\n\t\treturn this.shouldBuildSort && this.shouldBuildFilter;\n\t}\n\n\tget _filterByTitle() {\n\t\tconst selectedFilterText = this._selectedFilter ? this._selectedFilter.text : \"\";\n\t\treturn `${ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY)}: ${selectedFilterText}`;\n\t}\n\n\tget _dialogTitle() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_DIALOG_TITLE_SORT);\n\t}\n\n\tget _okButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SUBMIT_BUTTON);\n\t}\n\n\tget _cancelButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_CANCEL_BUTTON);\n\t}\n\n\tget _resetButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_RESET_BUTTON);\n\t}\n\n\tget _ascendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_ASCENDING);\n\t}\n\n\tget _descendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_DESCENDING);\n\t}\n\n\tget _sortOrderLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_ORDER);\n\t}\n\n\tget _filterByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY);\n\t}\n\n\tget _sortByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_BY);\n\t}\n\n\tget _sortButtonTooltip() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_TOOLTIP);\n\t}\n\n\tget _filterButtonTooltip() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_TOOLTIP);\n\t}\n\n\tget _resetButtonAction() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_RESET_BUTTON_ACTION);\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _sortAscending() {\n\t\treturn !this.sortDescending;\n\t}\n\n\tget _title() {\n\t\treturn this.showBackButton\n\t\t\t? this._filterByTitle\n\t\t\t: this._dialogTitle;\n\t}\n\n\t/**\n\t * Determines disabled state of the `Reset` button.\n\t */\n\tget _disableResetButton() {\n\t\treturn this._dialog && this._sortSetttingsAreInitial && this._filteresAreInitial;\n\t}\n\n\tget _sortSetttingsAreInitial() {\n\t\tlet settingsAreInitial = true;\n\t\t[\"sortBy\", \"sortOrder\"].forEach(sortList => {\n\t\t\tthis._currentSettings[sortList as keyof VSDInternalSettings].forEach((item, index) => {\n\t\t\t\tif (item.selected !== this._initialSettings[sortList as keyof VSDInternalSettings][index].selected) {\n\t\t\t\t\tsettingsAreInitial = false;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn settingsAreInitial;\n\t}\n\n\tget _filteresAreInitial() {\n\t\tlet filtersAreInitial = true;\n\t\tthis._currentSettings.filters.forEach((filter, index) => {\n\t\t\tfor (let i = 0; i < filter.filterOptions.length; i++) {\n\t\t\t\tif (filter.filterOptions[i].selected !== this._initialSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tfiltersAreInitial = false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn filtersAreInitial;\n\t}\n\n\t/**\n\t * Returns the current settings (current state of all lists).\n\t */\n\tget _settings(): VSDInternalSettings {\n\t\treturn {\n\t\t\tsortOrder: JSON.parse(JSON.stringify(this.initSortOrderItems)),\n\t\t\tsortBy: JSON.parse(JSON.stringify(this.initSortByItems)),\n\t\t\tfilters: this.filterItems.map(item => {\n\t\t\t\treturn {\n\t\t\t\t\ttext: item.text || \"\",\n\t\t\t\t\tselected: false,\n\t\t\t\t\tfilterOptions: item.values.map(optionValue => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: optionValue.text || \"\",\n\t\t\t\t\t\t\tselected: optionValue.selected,\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t}),\n\t\t};\n\t}\n\n\tget initSortByItems() {\n\t\treturn this.sortItems.map((item, index) => {\n\t\t\treturn {\n\t\t\t\ttext: item.text,\n\t\t\t\tselected: item.selected,\n\t\t\t\tindex,\n\t\t\t};\n\t\t});\n\t}\n\n\tget initSortOrderItems() {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttext: this._ascendingLabel,\n\t\t\t\tselected: !this.sortDescending,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: this._descendingLabel,\n\t\t\t\tselected: this.sortDescending,\n\t\t\t},\n\t\t];\n\t}\n\n\tget expandContent() {\n\t\treturn this._filterStepTwo || !this.hasPagination;\n\t}\n\n\tget isModeSort() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Sort;\n\t}\n\n\tget isModeFilter() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Filter;\n\t}\n\n\tget showBackButton() {\n\t\treturn this.isModeFilter && this._filterStepTwo;\n\t}\n\n\tget _sortOrderListDomRef() {\n\t\treturn this.shadowRoot!.querySelector<List>(\"[ui5-list][sort-order]\")!;\n\t}\n\n\tget _sortByList() {\n\t\treturn this.shadowRoot!.querySelector<List>(\"[ui5-list][sort-by]\")!;\n\t}\n\n\tget _dialogDomRef() {\n\t\treturn this.shadowRoot!.querySelector<Dialog>(\"[ui5-dialog]\")!;\n\t}\n\n\t/**\n\t * Shows the dialog.\n\t */\n\tbeforeDialogOpen(): void {\n\t\tif (!this._dialog) {\n\t\t\tthis._sortOrder = this._sortOrderListDomRef;\n\t\t\tthis._sortBy = this._sortByList;\n\n\t\t\t// Sorting\n\t\t\tthis._initialSettings = this._settings;\n\t\t\tthis._currentSettings = this._settings;\n\t\t\tthis._confirmedSettings = this._settings;\n\n\t\t\tthis._dialog = this._dialogDomRef;\n\t\t} else {\n\t\t\tthis._restoreSettings(this._confirmedSettings);\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"before-open\");\n\t}\n\n\tafterDialogOpen(): void {\n\t\tthis._dialog?.querySelector<List>(\"[ui5-list]\")?.focusFirstItem();\n\n\t\tthis._focusRecentlyUsedControl();\n\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\tafterDialogClose(): void {\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t_handleModeChange(e: CustomEvent) { // use SegmentedButton event when done\n\t\tconst mode: ViewSettingsDialogMode = e.detail.selectedItems[0].getAttribute(\"data-mode\");\n\t\tthis._currentMode = ViewSettingsDialogMode[mode];\n\t}\n\n\t_handleFilterValueItemClick(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst itemText = e.detail.targetItem.innerText;\n\n\t\t// Update the component state\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tif (filter.selected) {\n\t\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\t\tif (option.text === itemText) {\n\t\t\t\t\t\toption.selected = !option.selected;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn filter;\n\t\t});\n\n\t\tthis._setSelectedProp(itemText);\n\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Sets the selected property of the clicked item.\n\t * @private\n\t */\n\t_setSelectedProp(itemText: string) {\n\t\tthis.filterItems.forEach(filterItem => {\n\t\t\tfilterItem.values.forEach(option => {\n\t\t\t\tif (option.text === itemText) {\n\t\t\t\t\toption.selected = !option.selected;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t_navigateToFilters() {\n\t\tthis._filterStepTwo = false;\n\t}\n\n\t_changeCurrentFilter(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tthis._filterStepTwo = true;\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tfilter.selected = filter.text === e.detail.item.innerText;\n\t\t\treturn filter;\n\t\t});\n\t}\n\n\t/**\n\t * Sets focus on recently used control within the dialog.\n\t */\n\t_focusRecentlyUsedControl() {\n\t\tif (!this._recentlyFocused || !Object.keys(this._recentlyFocused).length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst recentlyFocusedSelectedItems = this._recentlyFocused.getSelectedItems();\n\t\tif (recentlyFocusedSelectedItems.length) {\n\t\t\trecentlyFocusedSelectedItems[0].focus();\n\t\t}\n\t}\n\n\t/**\n\t * Stores current settings as confirmed and fires `confirm` event.\n\t */\n\t_confirmSettings() {\n\t\tthis.open = false;\n\t\tthis._confirmedSettings = this._currentSettings;\n\n\t\tthis.fireDecoratorEvent(\"confirm\", this.eventsParams);\n\t}\n\n\t/**\n\t * Sets current settings to recently confirmed ones and fires `cancel` event.\n\t */\n\t_cancelSettings() {\n\t\tthis._restoreSettings(this._confirmedSettings);\n\n\t\tthis.fireDecoratorEvent(\"cancel\", this.eventsParams);\n\t\tthis.open = false;\n\t}\n\n\tget eventsParams() {\n\t\tconst _currentSortOrderSelected = this._currentSettings.sortOrder.filter(item => item.selected)[0],\n\t\t\t_currentSortBySelected = this._currentSettings.sortBy.filter(item => item.selected)[0],\n\t\t\tsortOrder = _currentSortOrderSelected && (_currentSortOrderSelected.text || \"\"),\n\t\t\tsortDescending = !this._currentSettings.sortOrder[0].selected,\n\t\t\tsortBy = _currentSortBySelected && (_currentSortBySelected.text || \"\"),\n\t\t\tsortByElementIndex = _currentSortBySelected && _currentSortBySelected.index,\n\t\t\tsortByItem = this.sortItems[sortByElementIndex],\n\t\t\tselectedFilterItems = this.filterItems.filter(filterItem => filterItem.values.some(item => item.selected));\n\t\treturn {\n\t\t\tsortOrder,\n\t\t\tsortDescending,\n\t\t\tsortBy,\n\t\t\tsortByItem,\n\t\t\tfilters: this.selectedFilters,\n\t\t\tfilterItems: selectedFilterItems,\n\t\t};\n\t}\n\n\tget selectedFilters() {\n\t\tconst result: VSDFilters = [];\n\n\t\tthis._currentSettings.filters.forEach(filter => {\n\t\t\tconst selectedOptions: Array<string> = [];\n\n\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\tif (option.selected) {\n\t\t\t\t\tselectedOptions.push(option.text || \"\");\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (selectedOptions.length) {\n\t\t\t\tresult.push({});\n\t\t\t\tresult[result.length - 1][filter.text || \"\"] = selectedOptions;\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * If the dialog is closed by [Escape] key, do the same as if the `Cancel` button is pressed.\n\t * @param evt\n\t */\n\t_restoreConfirmedOnEscape(evt: CustomEvent) { // Dialog#before-close\n\t\tif (evt.detail.escPressed) {\n\t\t\tthis._cancelSettings();\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Sort;\n\t\t\tthis._filterStepTwo = false;\n\t\t}\n\t}\n\n\t/**\n\t * Resets the control settings to their initial state.\n\t */\n\t_resetSettings() {\n\t\tthis._restoreSettings(this._initialSettings);\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._focusRecentlyUsedControl();\n\t\tannounce(this._resetButtonAction, InvisibleMessageMode.Polite);\n\t}\n\n\t/**\n\t * Sets current settings to ones passed as `settings` argument.\n\t * @param settings\n\t */\n\t_restoreSettings(settings: VSDInternalSettings) {\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(settings));\n\t\tthis._currentMode = ViewSettingsDialogMode.Sort;\n\t\tthis._filterStepTwo = false;\n\t}\n\n\t/**\n\t * Stores `Sort Order` list as recently used control and its selected item in current state.\n\t */\n\t_onSortOrderChange(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._currentSettings.sortOrder = this.initSortOrderItems.map(item => {\n\t\t\titem.selected = item.text === e.detail.targetItem.innerText;\n\t\t\treturn item;\n\t\t});\n\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Stores `Sort By` list as recently used control and its selected item in current state.\n\t */\n\t_onSortByChange(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst selectedItemIndex = Number(e.detail.targetItem.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tthis._recentlyFocused = this._sortBy!;\n\t\tthis._currentSettings.sortBy = this.initSortByItems.map((item, index) => {\n\t\t\titem.selected = index === selectedItemIndex;\n\t\t\treturn item;\n\t\t});\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Sets a JavaScript object, as settings to the `ui5-view-settings-dialog`.\n\t * This method can be used after the dialog is initially open, as the dialog needs\n\t * to set its initial settings.\n\t * The `ui5-view-settings-dialog` throws an event called \"before-open\",\n\t * which can be used as a trigger point.\n\t * The object should have the following format:\n\t * @param settings - predefined settings.\n\t * @public\n\t */\n\tsetConfirmedSettings(settings: VSDSettings): void {\n\t\tif (settings && this._dialog && !this._dialog.open) {\n\t\t\tconst tempSettings: VSDInternalSettings = JSON.parse(JSON.stringify(this._confirmedSettings));\n\t\t\tif (settings.sortOrder) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortOrder.length; i++) {\n\t\t\t\t\tif (tempSettings.sortOrder[i].text === settings.sortOrder) {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.sortBy) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortBy.length; i++) {\n\t\t\t\t\tif (tempSettings.sortBy[i].text === settings.sortBy) {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.filters) {\n\t\t\t\tconst inputFilters: VSDFilter = {};\n\t\t\t\tfor (let i = 0; i < settings.filters.length; i++) {\n\t\t\t\t\tinputFilters[Object.keys(settings.filters[i])[0]] = settings.filters[i][Object.keys(settings.filters[i])[0]];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = 0; i < tempSettings.filters.length; i++) {\n\t\t\t\t\tfor (let j = 0; j < tempSettings.filters[i].filterOptions.length; j++) {\n\t\t\t\t\t\tif (inputFilters[tempSettings.filters[i].text || \"\"] && inputFilters[tempSettings.filters[i].text || \"\"].indexOf(tempSettings.filters[i].filterOptions[j].text || \"\") > -1) {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._confirmedSettings = JSON.parse(JSON.stringify(tempSettings));\n\t\t}\n\t}\n}\n\nViewSettingsDialog.define();\n\nexport default ViewSettingsDialog;\nexport type {\n\tViewSettingsDialogConfirmEventDetail,\n\tViewSettingsDialogCancelEventDetail,\n\tVSDSettings,\n};\n"]}
|