@ui5/webcomponents-fiori 2.22.0-rc.3 → 2.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/NavigationMenuItemTemplate.d.ts +2 -2
- package/dist/NavigationMenuItemTemplate.js.map +1 -1
- package/dist/SideNavigationItemBase.d.ts +1 -1
- package/dist/SideNavigationItemBase.js.map +1 -1
- package/dist/Timeline.d.ts +3 -35
- package/dist/Timeline.js +4 -62
- package/dist/Timeline.js.map +1 -1
- package/dist/TimelineItem.d.ts +0 -2
- package/dist/TimelineItem.js +0 -2
- package/dist/TimelineItem.js.map +1 -1
- package/dist/TimelineTemplate.js +1 -1
- package/dist/TimelineTemplate.js.map +1 -1
- package/dist/UserMenu.d.ts +9 -1
- package/dist/UserMenu.js +35 -3
- package/dist/UserMenu.js.map +1 -1
- package/dist/UserMenuItem.d.ts +24 -0
- package/dist/UserMenuItem.js +52 -3
- package/dist/UserMenuItem.js.map +1 -1
- package/dist/UserMenuItemTemplate.js +10 -1
- package/dist/UserMenuItemTemplate.js.map +1 -1
- package/dist/UserMenuTemplate.js +1 -1
- package/dist/UserMenuTemplate.js.map +1 -1
- package/dist/ViewSettingsDialog.d.ts +12 -11
- package/dist/ViewSettingsDialog.js +26 -23
- package/dist/ViewSettingsDialog.js.map +1 -1
- package/dist/ViewSettingsDialogCustomTab.d.ts +5 -5
- package/dist/ViewSettingsDialogCustomTab.js +7 -7
- package/dist/ViewSettingsDialogCustomTab.js.map +1 -1
- package/dist/ViewSettingsDialogTemplate.js +2 -2
- package/dist/ViewSettingsDialogTemplate.js.map +1 -1
- package/dist/bundle.esm.js +0 -2
- package/dist/bundle.esm.js.map +1 -1
- package/dist/css/themes/Timeline.css +1 -1
- package/dist/css/themes/UserMenuItem.css +1 -1
- package/dist/custom-elements-internal.json +293 -801
- package/dist/custom-elements.json +109 -459
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +1 -11
- package/dist/generated/i18n/i18n-defaults.js +2 -12
- package/dist/generated/i18n/i18n-defaults.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/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/vscode.html-custom-data.json +17 -70
- package/dist/web-types.json +41 -205
- package/package.json +7 -7
- package/src/NavigationMenuItemTemplate.tsx +3 -3
- package/src/TimelineTemplate.tsx +0 -7
- package/src/UserMenuItemTemplate.tsx +19 -1
- package/src/UserMenuTemplate.tsx +1 -0
- package/src/ViewSettingsDialogTemplate.tsx +3 -3
- package/src/i18n/messagebundle.properties +1 -31
- package/src/i18n/messagebundle_en.properties +1 -1
- package/src/i18n/messagebundle_en_GB.properties +1 -1
- package/src/themes/Timeline.css +7 -21
- package/src/themes/UserMenuItem.css +37 -3
- package/dist/TimelineFilterOption.d.ts +0 -37
- package/dist/TimelineFilterOption.js +0 -59
- package/dist/TimelineFilterOption.js.map +0 -1
- package/dist/TimelineHeaderBar.d.ts +0 -120
- package/dist/TimelineHeaderBar.js +0 -273
- package/dist/TimelineHeaderBar.js.map +0 -1
- package/dist/TimelineHeaderBarTemplate.d.ts +0 -2
- package/dist/TimelineHeaderBarTemplate.js +0 -18
- package/dist/TimelineHeaderBarTemplate.js.map +0 -1
- package/dist/css/themes/TimelineHeaderBar.css +0 -1
- package/dist/generated/themes/TimelineHeaderBar.css.d.ts +0 -2
- package/dist/generated/themes/TimelineHeaderBar.css.js +0 -8
- package/dist/generated/themes/TimelineHeaderBar.css.js.map +0 -1
- package/dist/types/TimelineSortOrder.d.ts +0 -18
- package/dist/types/TimelineSortOrder.js +0 -20
- package/dist/types/TimelineSortOrder.js.map +0 -1
- package/src/TimelineHeaderBarTemplate.tsx +0 -104
- package/src/themes/TimelineHeaderBar.css +0 -17
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 type { Slot, DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tcustomElement, slotStrict as 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 { isInstanceOfMenuItem } from \"@ui5/webcomponents/dist/MenuItem.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 * @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 | null;\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!: DefaultSlot<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!: Slot<UserMenuAccount>;\n\n\t/**\n\t * Defines custom footer content.\n\t *\n\t * **Note:** When provided, replaces the default \"Sign Out\" button. Use an empty element to hide the footer completely.\n\t * @public\n\t * @since 2.20.0\n\t */\n\t@slot()\n\tfooter!: Slot<HTMLElement>;\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\tconst siblingsWithIcon = this._menuItems.some(menuItem => !!menuItem.icon);\n\n\t\tthis._menuItems.forEach(item => {\n\t\t\titem._siblingsWithIcon = siblingsWithIcon;\n\t\t});\n\t}\n\n\tonAfterRendering(): void {\n\t\tif (this._responsivePopover && this.open && !this._observer) {\n\t\t\tthis._setupObserver();\n\t\t}\n\t}\n\n\t_setupObserver() {\n\t\tconst observerOptions = {\n\t\t\tthreshold: [0.15],\n\t\t};\n\n\t\tthis._observer?.disconnect();\n\t\tthis._observer = new IntersectionObserver(entries => this._handleIntersection(entries), observerOptions);\n\n\t\tif (this._selectedAccountTitleEl) {\n\t\t\tthis._observer.observe(this._selectedAccountTitleEl);\n\t\t}\n\n\t\tif (this._selectedAccountManageBtn) {\n\t\t\tthis._observer.observe(this._selectedAccountManageBtn);\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\titem._updateCheckedState();\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._titleMovedToHeader = false;\n\t\tthis._isScrolled = false;\n\t\tthis._setupObserver();\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_handlePopoverAfterClose() {\n\t\tthis._observer?.disconnect();\n\t\tthis._observer = undefined;\n\t\tthis._titleMovedToHeader = false;\n\t\tthis._isScrolled = false;\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\tget _hasCustomFooter(): boolean {\n\t\treturn this.footer.length > 0 && this.footer[0]?.innerHTML.trim() !== \"\";\n\t}\n\n\tget _showDefaultFooter(): boolean {\n\t\treturn this.footer.length === 0;\n\t}\n\n\tgetAccountDescriptionText(account: UserMenuAccount) {\n\t\treturn `${account.titleText} ${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\tget _menuItems() {\n\t\treturn this.menuItems.filter(isInstanceOfMenuItem);\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 type { Slot, DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tcustomElement, slotStrict as 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 { isInstanceOfMenuItem } from \"@ui5/webcomponents/dist/MenuItem.js\";\nimport { isPhone, isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.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\nconst MENU_OPEN_DELAY = 300;\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 * @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 | null;\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!: DefaultSlot<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!: Slot<UserMenuAccount>;\n\n\t/**\n\t * Defines custom footer content.\n\t *\n\t * **Note:** When provided, replaces the default \"Sign Out\" button. Use an empty element to hide the footer completely.\n\t * @public\n\t * @since 2.20.0\n\t */\n\t@slot()\n\tfooter!: Slot<HTMLElement>;\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_timeout?: Timeout;\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\tconst siblingsWithIcon = this._menuItems.some(menuItem => !!menuItem.icon);\n\n\t\tthis._menuItems.forEach(item => {\n\t\t\titem._siblingsWithIcon = siblingsWithIcon;\n\t\t});\n\t}\n\n\tonAfterRendering(): void {\n\t\tif (this._responsivePopover && this.open && !this._observer) {\n\t\t\tthis._setupObserver();\n\t\t}\n\t}\n\n\t_setupObserver() {\n\t\tconst observerOptions = {\n\t\t\tthreshold: [0.15],\n\t\t};\n\n\t\tthis._observer?.disconnect();\n\t\tthis._observer = new IntersectionObserver(entries => this._handleIntersection(entries), observerOptions);\n\n\t\tif (this._selectedAccountTitleEl) {\n\t\t\tthis._observer.observe(this._selectedAccountTitleEl);\n\t\t}\n\n\t\tif (this._selectedAccountManageBtn) {\n\t\t\tthis._observer.observe(this._selectedAccountManageBtn);\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;\n\n\t\titem._updateCheckedState();\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._closeOtherSubMenus(item);\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._titleMovedToHeader = false;\n\t\tthis._isScrolled = false;\n\t\tthis._setupObserver();\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_handlePopoverAfterClose() {\n\t\tthis._observer?.disconnect();\n\t\tthis._observer = undefined;\n\t\tthis._titleMovedToHeader = false;\n\t\tthis._isScrolled = false;\n\t\tthis.open = false;\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (!isDesktop()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = e.target as UserMenuItem;\n\t\tif (!isInstanceOfMenuItem(item)) {\n\t\t\treturn;\n\t\t}\n\n\t\titem.getFocusDomRef()?.focus();\n\t\tthis._startOpenTimeout(item);\n\t}\n\n\t_startOpenTimeout(item: UserMenuItem) {\n\t\tclearTimeout(this._timeout);\n\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._closeOtherSubMenus(item);\n\t\t\tthis._openItemSubMenu(item, true);\n\t\t}, MENU_OPEN_DELAY);\n\t}\n\n\t_closeOtherSubMenus(item: UserMenuItem) {\n\t\tif (!this._menuItems.includes(item)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._menuItems.forEach(menuItem => {\n\t\t\tif (menuItem !== item) {\n\t\t\t\tmenuItem._close();\n\t\t\t}\n\t\t});\n\t}\n\n\t_openItemSubMenu(item: UserMenuItem, openedByMouse = false) {\n\t\tclearTimeout(this._timeout);\n\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\titem._openedByMouse = openedByMouse;\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\tget _hasCustomFooter(): boolean {\n\t\treturn this.footer.length > 0 && this.footer[0]?.innerHTML.trim() !== \"\";\n\t}\n\n\tget _showDefaultFooter(): boolean {\n\t\treturn this.footer.length === 0;\n\t}\n\n\tgetAccountDescriptionText(account: UserMenuAccount) {\n\t\treturn `${account.titleText} ${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\tget _menuItems() {\n\t\treturn this.menuItems.filter(isInstanceOfMenuItem);\n\t}\n}\n\nUserMenu.define();\n\nexport default UserMenu;\nexport type {\n\tUserMenuItemClickEventDetail,\n\tUserMenuOtherAccountClickEventDetail,\n};\n"]}
|
package/dist/UserMenuItem.d.ts
CHANGED
|
@@ -30,6 +30,30 @@ declare class UserMenuItem extends MenuItem {
|
|
|
30
30
|
* @public
|
|
31
31
|
*/
|
|
32
32
|
items: DefaultSlot<UserMenuItem>;
|
|
33
|
+
/**
|
|
34
|
+
* When set, a second line appears below the menu item text showing the text
|
|
35
|
+
* of the currently selected sub-item. Intended for use with a single-select
|
|
36
|
+
* ui5-menu-item-group (check-mode="Single").
|
|
37
|
+
* When enabled, the checked sub-item cannot be unchecked,
|
|
38
|
+
* ensuring the selection text is always displayed.
|
|
39
|
+
*
|
|
40
|
+
* @default false
|
|
41
|
+
* @public
|
|
42
|
+
* @since 2.22.0
|
|
43
|
+
*/
|
|
44
|
+
showSelection: boolean;
|
|
33
45
|
get _menuItems(): UserMenuItem[];
|
|
46
|
+
/**
|
|
47
|
+
* Overrides the base MenuItem behavior to prevent unchecking
|
|
48
|
+
* the currently checked item in single-select mode when
|
|
49
|
+
* the parent item uses showSelection, ensuring there is always
|
|
50
|
+
* a visible selection.
|
|
51
|
+
*/
|
|
52
|
+
_updateCheckedState(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Returns the text of the currently checked sub-item.
|
|
55
|
+
* Only returns text for single-select groups.
|
|
56
|
+
*/
|
|
57
|
+
get _selectedSubItemText(): string;
|
|
34
58
|
}
|
|
35
59
|
export default UserMenuItem;
|
package/dist/UserMenuItem.js
CHANGED
|
@@ -4,8 +4,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
|
|
7
|
+
var UserMenuItem_1;
|
|
8
|
+
import { customElement, slotStrict as slot, property } from "@ui5/webcomponents-base/dist/decorators.js";
|
|
8
9
|
import MenuItem, { isInstanceOfMenuItem } from "@ui5/webcomponents/dist/MenuItem.js";
|
|
10
|
+
import MenuItemGroupCheckMode from "@ui5/webcomponents/dist/types/MenuItemGroupCheckMode.js";
|
|
9
11
|
import UserMenuItemTemplate from "./UserMenuItemTemplate.js";
|
|
10
12
|
// Styles
|
|
11
13
|
import userMenuItemCss from "./generated/themes/UserMenuItem.css.js";
|
|
@@ -31,15 +33,62 @@ import userMenuItemCss from "./generated/themes/UserMenuItem.css.js";
|
|
|
31
33
|
* @public
|
|
32
34
|
* @since 2.5.0
|
|
33
35
|
*/
|
|
34
|
-
let UserMenuItem = class UserMenuItem extends MenuItem {
|
|
36
|
+
let UserMenuItem = UserMenuItem_1 = class UserMenuItem extends MenuItem {
|
|
37
|
+
constructor() {
|
|
38
|
+
super(...arguments);
|
|
39
|
+
/**
|
|
40
|
+
* When set, a second line appears below the menu item text showing the text
|
|
41
|
+
* of the currently selected sub-item. Intended for use with a single-select
|
|
42
|
+
* ui5-menu-item-group (check-mode="Single").
|
|
43
|
+
* When enabled, the checked sub-item cannot be unchecked,
|
|
44
|
+
* ensuring the selection text is always displayed.
|
|
45
|
+
*
|
|
46
|
+
* @default false
|
|
47
|
+
* @public
|
|
48
|
+
* @since 2.22.0
|
|
49
|
+
*/
|
|
50
|
+
this.showSelection = false;
|
|
51
|
+
}
|
|
35
52
|
get _menuItems() {
|
|
36
53
|
return this.items.filter(isInstanceOfMenuItem);
|
|
37
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Overrides the base MenuItem behavior to prevent unchecking
|
|
57
|
+
* the currently checked item in single-select mode when
|
|
58
|
+
* the parent item uses showSelection, ensuring there is always
|
|
59
|
+
* a visible selection.
|
|
60
|
+
*/
|
|
61
|
+
_updateCheckedState() {
|
|
62
|
+
const parentItem = this.parentElement?.parentElement;
|
|
63
|
+
const hasShowSelection = parentItem instanceof UserMenuItem_1 && parentItem.showSelection;
|
|
64
|
+
if (hasShowSelection && this._checkMode === MenuItemGroupCheckMode.Single && this.checked) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
super._updateCheckedState();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Returns the text of the currently checked sub-item.
|
|
71
|
+
* Only returns text for single-select groups.
|
|
72
|
+
*/
|
|
73
|
+
get _selectedSubItemText() {
|
|
74
|
+
if (!this.showSelection) {
|
|
75
|
+
return "";
|
|
76
|
+
}
|
|
77
|
+
const singleSelectGroup = this._menuItemGroups.find(g => g.checkMode === MenuItemGroupCheckMode.Single);
|
|
78
|
+
if (!singleSelectGroup) {
|
|
79
|
+
return "";
|
|
80
|
+
}
|
|
81
|
+
const checkedItem = singleSelectGroup._menuItems.find(item => item.checked);
|
|
82
|
+
return checkedItem?.text || "";
|
|
83
|
+
}
|
|
38
84
|
};
|
|
39
85
|
__decorate([
|
|
40
86
|
slot({ "default": true, type: HTMLElement, invalidateOnChildChange: true })
|
|
41
87
|
], UserMenuItem.prototype, "items", void 0);
|
|
42
|
-
|
|
88
|
+
__decorate([
|
|
89
|
+
property({ type: Boolean })
|
|
90
|
+
], UserMenuItem.prototype, "showSelection", void 0);
|
|
91
|
+
UserMenuItem = UserMenuItem_1 = __decorate([
|
|
43
92
|
customElement({
|
|
44
93
|
tag: "ui5-user-menu-item",
|
|
45
94
|
template: UserMenuItemTemplate,
|
package/dist/UserMenuItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMenuItem.js","sourceRoot":"","sources":["../src/UserMenuItem.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserMenuItem.js","sourceRoot":"","sources":["../src/UserMenuItem.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,IAAI,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACzG,OAAO,QAAQ,EAAE,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,sBAAsB,MAAM,yDAAyD,CAAC;AAE7F,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAE7D,SAAS;AACT,OAAO,eAAe,MAAM,wCAAwC,CAAC;AAGrE;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,IAAM,YAAY,oBAAlB,MAAM,YAAa,SAAQ,QAAQ;IAAnC;;QAUC;;;;;;;;;;WAUG;QAEH,kBAAa,GAAG,KAAK,CAAC;IAyCvB,CAAC;IAvCA,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACH,mBAAmB;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC;QACrD,MAAM,gBAAgB,GAAG,UAAU,YAAY,cAAY,IAAI,UAAU,CAAC,aAAa,CAAC;QAExF,IAAI,gBAAgB,IAAI,IAAI,CAAC,UAAU,KAAK,sBAAsB,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3F,OAAO;QACR,CAAC;QACD,KAAK,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,IAAI,oBAAoB;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAClD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,sBAAsB,CAAC,MAAM,CAClD,CAAC;QACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5E,OAAO,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;IAChC,CAAC;CACD,CAAA;AAvDQ;IADP,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;2CACnC;AAczC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACN;AAtBjB,YAAY;IALjB,aAAa,CAAC;QACd,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,oBAAoB;QAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;KAC1C,CAAC;GACI,YAAY,CA+DjB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import { customElement, slotStrict as slot, property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport MenuItem, { isInstanceOfMenuItem } from \"@ui5/webcomponents/dist/MenuItem.js\";\nimport MenuItemGroupCheckMode from \"@ui5/webcomponents/dist/types/MenuItemGroupCheckMode.js\";\n\nimport UserMenuItemTemplate from \"./UserMenuItemTemplate.js\";\n\n// Styles\nimport userMenuItemCss from \"./generated/themes/UserMenuItem.css.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-user-menu-item` is the item to use inside a `ui5-user-menu`.\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * ### Usage\n *\n * `ui5-user-menu-item` represents a node in a `ui5-user-menu`. The user menu itself is rendered as a list,\n * and each `ui5-menu-item` is represented by a menu item in that menu. Therefore, you should only use\n * `ui5-user-menu-item` directly in your apps. The `ui5-menu` menu item is internal for the menu, and not intended for public use.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/UserMenuItem.js\";`\n * @constructor\n * @extends MenuItem\n * @public\n * @since 2.5.0\n */\n@customElement({\n\ttag: \"ui5-user-menu-item\",\n\ttemplate: UserMenuItemTemplate,\n\tstyles: [MenuItem.styles, userMenuItemCss],\n})\nclass UserMenuItem extends MenuItem {\n\t/**\n\t * Defines the items of this component.\n\t *\n\t * **Note:** Use `ui5-user-menu-item` for the intended design.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\tdeclare items: DefaultSlot<UserMenuItem>;\n\n\t/**\n\t * When set, a second line appears below the menu item text showing the text\n\t * of the currently selected sub-item. Intended for use with a single-select\n\t * ui5-menu-item-group (check-mode=\"Single\").\n\t * When enabled, the checked sub-item cannot be unchecked,\n\t * ensuring the selection text is always displayed.\n\t *\n\t * @default false\n\t * @public\n\t * @since 2.22.0\n\t */\n\t@property({ type: Boolean })\n\tshowSelection = false;\n\n\tget _menuItems() {\n\t\treturn this.items.filter(isInstanceOfMenuItem);\n\t}\n\n\t/**\n\t * Overrides the base MenuItem behavior to prevent unchecking\n\t * the currently checked item in single-select mode when\n\t * the parent item uses showSelection, ensuring there is always\n\t * a visible selection.\n\t */\n\t_updateCheckedState() {\n\t\tconst parentItem = this.parentElement?.parentElement;\n\t\tconst hasShowSelection = parentItem instanceof UserMenuItem && parentItem.showSelection;\n\n\t\tif (hasShowSelection && this._checkMode === MenuItemGroupCheckMode.Single && this.checked) {\n\t\t\treturn;\n\t\t}\n\t\tsuper._updateCheckedState();\n\t}\n\n\t/**\n\t * Returns the text of the currently checked sub-item.\n\t * Only returns text for single-select groups.\n\t */\n\tget _selectedSubItemText(): string {\n\t\tif (!this.showSelection) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst singleSelectGroup = this._menuItemGroups.find(\n\t\t\tg => g.checkMode === MenuItemGroupCheckMode.Single,\n\t\t);\n\t\tif (!singleSelectGroup) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst checkedItem = singleSelectGroup._menuItems.find(item => item.checked);\n\t\treturn checkedItem?.text || \"\";\n\t}\n}\n\nUserMenuItem.define();\n\nexport default UserMenuItem;\n"]}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
|
|
1
2
|
import MenuItemTemplate from "@ui5/webcomponents/dist/MenuItemTemplate.js";
|
|
2
3
|
export default function UserMenuItemTemplate() {
|
|
3
|
-
|
|
4
|
+
const hooks = {};
|
|
5
|
+
if (this.showSelection) {
|
|
6
|
+
hooks.menuItemTextContent = userMenuItemTextContent;
|
|
7
|
+
}
|
|
8
|
+
return [MenuItemTemplate.call(this, hooks)];
|
|
9
|
+
}
|
|
10
|
+
function userMenuItemTextContent() {
|
|
11
|
+
return (_jsxs("div", { class: "ui5-user-menu-item-text-wrapper", children: [this.text && _jsx("div", { class: "ui5-menu-item-text", children: this.text }), this._selectedSubItemText &&
|
|
12
|
+
_jsx("div", { class: "ui5-user-menu-item-selection-text", children: this._selectedSubItemText })] }));
|
|
4
13
|
}
|
|
5
14
|
//# sourceMappingURL=UserMenuItemTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMenuItemTemplate.js","sourceRoot":"","sources":["../src/UserMenuItemTemplate.tsx"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"UserMenuItemTemplate.js","sourceRoot":"","sources":["../src/UserMenuItemTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAG3E,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC3C,MAAM,KAAK,GAA2B,EAAE,CAAC;IAEzC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACxB,KAAK,CAAC,mBAAmB,GAAG,uBAAuB,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,uBAAuB;IAC/B,OAAO,CACN,eAAK,KAAK,EAAC,iCAAiC,aAC1C,IAAI,CAAC,IAAI,IAAI,cAAK,KAAK,EAAC,oBAAoB,YAAE,IAAI,CAAC,IAAI,GAAO,EAC9D,IAAI,CAAC,oBAAoB;gBACzB,cAAK,KAAK,EAAC,mCAAmC,YAAE,IAAI,CAAC,oBAAoB,GAAO,IAE5E,CACN,CAAC;AACH,CAAC","sourcesContent":["import type UserMenuItem from \"./UserMenuItem.js\";\nimport MenuItemTemplate from \"@ui5/webcomponents/dist/MenuItemTemplate.js\";\nimport type { MenuItemHooks } from \"@ui5/webcomponents/dist/MenuItemTemplate.js\";\n\nexport default function UserMenuItemTemplate(this: UserMenuItem) {\n\tconst hooks: Partial<MenuItemHooks> = {};\n\n\tif (this.showSelection) {\n\t\thooks.menuItemTextContent = userMenuItemTextContent;\n\t}\n\n\treturn [MenuItemTemplate.call(this, hooks)];\n}\n\nfunction userMenuItemTextContent(this: UserMenuItem) {\n\treturn (\n\t\t<div class=\"ui5-user-menu-item-text-wrapper\">\n\t\t\t{this.text && <div class=\"ui5-menu-item-text\">{this.text}</div>}\n\t\t\t{this._selectedSubItemText &&\n\t\t\t\t<div class=\"ui5-user-menu-item-selection-text\">{this._selectedSubItemText}</div>\n\t\t\t}\n\t\t</div>\n\t);\n}\n"]}
|
package/dist/UserMenuTemplate.js
CHANGED
|
@@ -25,7 +25,7 @@ export default function UserMenuTemplate() {
|
|
|
25
25
|
}, slot: "header", children: [this._titleMovedToHeader &&
|
|
26
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
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", accessibleName: this._ariaLabelledByActions, onItemClick: this._handleMenuItemClick, "onui5-close-menu": this._handleMenuItemClose, children: _jsx("slot", {}) }), this._hasCustomFooter &&
|
|
28
|
+
_jsx(List, { id: "ui5-user-menu-list", class: "ui5-user-menu-list", selectionMode: "None", separators: "None", accessibleRole: "Menu", accessibleName: this._ariaLabelledByActions, onItemClick: this._handleMenuItemClick, onMouseOver: this._itemMouseOver, "onui5-close-menu": this._handleMenuItemClose, children: _jsx("slot", {}) }), this._hasCustomFooter &&
|
|
29
29
|
_jsx("div", { slot: "footer", class: "ui5-user-menu-footer", children: _jsx("slot", { name: "footer" }) }), this._showDefaultFooter &&
|
|
30
30
|
_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 }) })] }));
|
|
31
31
|
}
|
|
@@ -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\";\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-label={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\taccessibleName={this._ariaLabelledByActions}\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{this._hasCustomFooter &&\n\t\t\t\t<div slot=\"footer\" class=\"ui5-user-menu-footer\">\n\t\t\t\t\t<slot name=\"footer\"></slot>\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t{this._showDefaultFooter &&\n\t\t\t\t<div slot=\"footer\" class=\"ui5-user-menu-footer\">\n\t\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\t</div>\n\t\t\t}\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-label={this._ariaLabelledByAccountInformationText}>\n\t\t\t\t<span title={this.showEditButton ? this._editAvatarTooltip : undefined}>\n\t\t\t\t\t<Avatar size=\"L\" onClick={this._handleAvatarClick} initials={this._selectedAccount._initials} colorScheme={this._selectedAccount.avatarColorScheme} fallbackIcon={personPlaceholder} class=\"ui5-user-menu-selected-account-avatar\" interactive>\n\t\t\t\t\t\t{this._selectedAccount.avatarSrc &&\n\t\t\t\t\t\t\t<img src={this._selectedAccount.avatarSrc}/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{this.showEditButton &&\n\t\t\t\t\t\t<Tag slot=\"badge\" wrappingType=\"None\" design=\"Set1\" colorScheme=\"5\" >\n\t\t\t\t\t\t\t<Icon slot=\"icon\" name={edit}></Icon>\n\t\t\t\t\t\t</Tag>\n\t\t\t\t\t\t}\n\t\t\t\t\t</Avatar>\n\t\t\t\t</span>\n\t\t\t\t{this._selectedAccount.titleText &&\n\t\t\t\t\t<Text 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 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 class=\"ui5-user-menu-selected-account-description\">{this._selectedAccount.description}</Text>\n\t\t\t\t}\n\t\t\t\t{this._selectedAccount.additionalInfo &&\n\t\t\t\t\t<Text class=\"ui5-user-menu-selected-account-additional-info\">{this._selectedAccount.additionalInfo}</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\">\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} loadingDelay={0}\n\t\t\taccessibleName={`${this._otherAccountsButtonText} (${this._otherAccounts.length})`}\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\taccessibilityAttributes={{\n\t\t\t\t\t\t\"ariaPosinset\": index + 1,\n\t\t\t\t\t\t\"ariaSetsize\": this._otherAccounts.length\n\t\t\t\t\t}}\n\t\t\t\t\taccessibleName={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} colorScheme={account.avatarColorScheme}>\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\">{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\">{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\">{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"]}
|
|
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\";\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-label={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\taccessibleName={this._ariaLabelledByActions}\n\t\t\t\t\t\tonItemClick={this._handleMenuItemClick}\n\t\t\t\t\t\tonMouseOver={this._itemMouseOver}\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{this._hasCustomFooter &&\n\t\t\t\t<div slot=\"footer\" class=\"ui5-user-menu-footer\">\n\t\t\t\t\t<slot name=\"footer\"></slot>\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t{this._showDefaultFooter &&\n\t\t\t\t<div slot=\"footer\" class=\"ui5-user-menu-footer\">\n\t\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\t</div>\n\t\t\t}\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-label={this._ariaLabelledByAccountInformationText}>\n\t\t\t\t<span title={this.showEditButton ? this._editAvatarTooltip : undefined}>\n\t\t\t\t\t<Avatar size=\"L\" onClick={this._handleAvatarClick} initials={this._selectedAccount._initials} colorScheme={this._selectedAccount.avatarColorScheme} fallbackIcon={personPlaceholder} class=\"ui5-user-menu-selected-account-avatar\" interactive>\n\t\t\t\t\t\t{this._selectedAccount.avatarSrc &&\n\t\t\t\t\t\t\t<img src={this._selectedAccount.avatarSrc}/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{this.showEditButton &&\n\t\t\t\t\t\t<Tag slot=\"badge\" wrappingType=\"None\" design=\"Set1\" colorScheme=\"5\" >\n\t\t\t\t\t\t\t<Icon slot=\"icon\" name={edit}></Icon>\n\t\t\t\t\t\t</Tag>\n\t\t\t\t\t\t}\n\t\t\t\t\t</Avatar>\n\t\t\t\t</span>\n\t\t\t\t{this._selectedAccount.titleText &&\n\t\t\t\t\t<Text 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 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 class=\"ui5-user-menu-selected-account-description\">{this._selectedAccount.description}</Text>\n\t\t\t\t}\n\t\t\t\t{this._selectedAccount.additionalInfo &&\n\t\t\t\t\t<Text class=\"ui5-user-menu-selected-account-additional-info\">{this._selectedAccount.additionalInfo}</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\">\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} loadingDelay={0}\n\t\t\taccessibleName={`${this._otherAccountsButtonText} (${this._otherAccounts.length})`}\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\taccessibilityAttributes={{\n\t\t\t\t\t\t\"ariaPosinset\": index + 1,\n\t\t\t\t\t\t\"ariaSetsize\": this._otherAccounts.length\n\t\t\t\t\t}}\n\t\t\t\t\taccessibleName={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} colorScheme={account.avatarColorScheme}>\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\">{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\">{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\">{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"]}
|
|
@@ -89,7 +89,7 @@ declare class ViewSettingsDialog extends UI5Element {
|
|
|
89
89
|
"before-open": void;
|
|
90
90
|
"open": void;
|
|
91
91
|
"close": void;
|
|
92
|
-
"reset
|
|
92
|
+
"reset": void;
|
|
93
93
|
};
|
|
94
94
|
/**
|
|
95
95
|
* Defines the initial sort order.
|
|
@@ -112,17 +112,22 @@ declare class ViewSettingsDialog extends UI5Element {
|
|
|
112
112
|
*/
|
|
113
113
|
open: boolean;
|
|
114
114
|
/**
|
|
115
|
-
*
|
|
115
|
+
* Controls whether the Reset button is always enabled.
|
|
116
116
|
*
|
|
117
|
-
*
|
|
118
|
-
* differ from their initial state
|
|
119
|
-
*
|
|
120
|
-
*
|
|
117
|
+
* By default, the Reset button is enabled only when the built-in settings (Sort, Filter, Group)
|
|
118
|
+
* differ from their initial state — the component can detect these changes automatically.
|
|
119
|
+
* However, when the dialog contains custom tabs, the component has no way to detect
|
|
120
|
+
* whether the custom tab content has been modified by the user.
|
|
121
|
+
*
|
|
122
|
+
* Set this property to `true` when the user has made changes inside a custom tab, so that
|
|
123
|
+
* the Reset button becomes enabled and the user can trigger a reset.
|
|
124
|
+
* Set it back to `false` once the custom tab content is back to its initial state
|
|
125
|
+
* (e.g. after the user confirms or after a reset is applied).
|
|
121
126
|
* @default false
|
|
122
127
|
* @public
|
|
123
128
|
* @since 2.22.0
|
|
124
129
|
*/
|
|
125
|
-
|
|
130
|
+
resetEnabled: boolean;
|
|
126
131
|
/**
|
|
127
132
|
* Keeps recently focused list in order to focus it on next dialog open.
|
|
128
133
|
* @private
|
|
@@ -206,10 +211,6 @@ declare class ViewSettingsDialog extends UI5Element {
|
|
|
206
211
|
get shouldBuildFilter(): boolean;
|
|
207
212
|
get shouldBuildGroup(): boolean;
|
|
208
213
|
get shouldBuildCustomTabs(): boolean;
|
|
209
|
-
/**
|
|
210
|
-
* Returns only custom tabs that have an icon defined and can be rendered.
|
|
211
|
-
*/
|
|
212
|
-
get _renderableCustomTabs(): ViewSettingsDialogCustomTab[];
|
|
213
214
|
get hasPagination(): boolean;
|
|
214
215
|
get _defaultMode(): ViewSettingsDialogInternalMode;
|
|
215
216
|
get _selectedCustomTab(): ViewSettingsDialogCustomTab | undefined;
|
|
@@ -80,17 +80,22 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
|
|
|
80
80
|
*/
|
|
81
81
|
this.open = false;
|
|
82
82
|
/**
|
|
83
|
-
*
|
|
83
|
+
* Controls whether the Reset button is always enabled.
|
|
84
84
|
*
|
|
85
|
-
*
|
|
86
|
-
* differ from their initial state
|
|
87
|
-
*
|
|
88
|
-
*
|
|
85
|
+
* By default, the Reset button is enabled only when the built-in settings (Sort, Filter, Group)
|
|
86
|
+
* differ from their initial state — the component can detect these changes automatically.
|
|
87
|
+
* However, when the dialog contains custom tabs, the component has no way to detect
|
|
88
|
+
* whether the custom tab content has been modified by the user.
|
|
89
|
+
*
|
|
90
|
+
* Set this property to `true` when the user has made changes inside a custom tab, so that
|
|
91
|
+
* the Reset button becomes enabled and the user can trigger a reset.
|
|
92
|
+
* Set it back to `false` once the custom tab content is back to its initial state
|
|
93
|
+
* (e.g. after the user confirms or after a reset is applied).
|
|
89
94
|
* @default false
|
|
90
95
|
* @public
|
|
91
96
|
* @since 2.22.0
|
|
92
97
|
*/
|
|
93
|
-
this.
|
|
98
|
+
this.resetEnabled = false;
|
|
94
99
|
/**
|
|
95
100
|
* Stores current settings of the dialog.
|
|
96
101
|
* @private
|
|
@@ -183,20 +188,14 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
|
|
|
183
188
|
return !!this.groupItems.length;
|
|
184
189
|
}
|
|
185
190
|
get shouldBuildCustomTabs() {
|
|
186
|
-
return !!this.
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Returns only custom tabs that have an icon defined and can be rendered.
|
|
190
|
-
*/
|
|
191
|
-
get _renderableCustomTabs() {
|
|
192
|
-
return this.customTabs.filter(tab => tab.icon);
|
|
191
|
+
return !!this.customTabs.length;
|
|
193
192
|
}
|
|
194
193
|
get hasPagination() {
|
|
195
194
|
const builtInTabsCount = [this.shouldBuildSort, this.shouldBuildFilter, this.shouldBuildGroup]
|
|
196
195
|
.filter(condition => condition)
|
|
197
196
|
.length;
|
|
198
197
|
if (this.shouldBuildCustomTabs) {
|
|
199
|
-
return builtInTabsCount + this.
|
|
198
|
+
return builtInTabsCount + this.customTabs.length > 1;
|
|
200
199
|
}
|
|
201
200
|
return builtInTabsCount > 1;
|
|
202
201
|
}
|
|
@@ -211,7 +210,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
|
|
|
211
210
|
return ViewSettingsDialogMode.Group;
|
|
212
211
|
}
|
|
213
212
|
if (this.shouldBuildCustomTabs) {
|
|
214
|
-
return this._customTabMode(this.
|
|
213
|
+
return this._customTabMode(this.customTabs[0]);
|
|
215
214
|
}
|
|
216
215
|
return ViewSettingsDialogMode.Sort;
|
|
217
216
|
}
|
|
@@ -219,7 +218,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
|
|
|
219
218
|
if (!this._isCustomMode(this._currentMode)) {
|
|
220
219
|
return;
|
|
221
220
|
}
|
|
222
|
-
return this.
|
|
221
|
+
return this.customTabs.find(tab => this._customTabMode(tab) === this._currentMode);
|
|
223
222
|
}
|
|
224
223
|
get _filterByTitle() {
|
|
225
224
|
const selectedFilterText = this._selectedFilter ? this._selectedFilter.text : "";
|
|
@@ -285,7 +284,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
|
|
|
285
284
|
* Determines disabled state of the `Reset` button.
|
|
286
285
|
*/
|
|
287
286
|
get _disableResetButton() {
|
|
288
|
-
if (this.
|
|
287
|
+
if (this.resetEnabled) {
|
|
289
288
|
return false;
|
|
290
289
|
}
|
|
291
290
|
return this._dialog && this._settingsAreInitial && this._filteresAreInitial;
|
|
@@ -556,7 +555,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
|
|
|
556
555
|
this._recentlyFocused = this._sortOrder;
|
|
557
556
|
this._focusRecentlyUsedControl();
|
|
558
557
|
announce(this._resetButtonAction, InvisibleMessageMode.Assertive);
|
|
559
|
-
this.fireDecoratorEvent("reset
|
|
558
|
+
this.fireDecoratorEvent("reset");
|
|
560
559
|
}
|
|
561
560
|
/**
|
|
562
561
|
* Sets current settings to ones passed as `settings` argument.
|
|
@@ -583,7 +582,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
|
|
|
583
582
|
return true;
|
|
584
583
|
}
|
|
585
584
|
if (this._isCustomMode(mode)) {
|
|
586
|
-
return this.
|
|
585
|
+
return this.customTabs.some(tab => this._customTabMode(tab) === mode);
|
|
587
586
|
}
|
|
588
587
|
return false;
|
|
589
588
|
}
|
|
@@ -721,7 +720,7 @@ __decorate([
|
|
|
721
720
|
], ViewSettingsDialog.prototype, "open", void 0);
|
|
722
721
|
__decorate([
|
|
723
722
|
property({ type: Boolean })
|
|
724
|
-
], ViewSettingsDialog.prototype, "
|
|
723
|
+
], ViewSettingsDialog.prototype, "resetEnabled", void 0);
|
|
725
724
|
__decorate([
|
|
726
725
|
property({ type: Object })
|
|
727
726
|
], ViewSettingsDialog.prototype, "_recentlyFocused", void 0);
|
|
@@ -856,13 +855,17 @@ ViewSettingsDialog = ViewSettingsDialog_1 = __decorate([
|
|
|
856
855
|
/**
|
|
857
856
|
* Fired when the Reset button is clicked.
|
|
858
857
|
*
|
|
859
|
-
* **Note:**
|
|
860
|
-
*
|
|
858
|
+
* **Note:** This event is particularly relevant when the dialog contains custom tabs.
|
|
859
|
+
* By default, the Reset button resets all built-in settings (sort, filter, group) to their
|
|
860
|
+
* initial values. However, the component has no knowledge of the content or state inside
|
|
861
|
+
* custom tabs — it cannot detect what has changed or what the "default" values are.
|
|
862
|
+
* Therefore, when this event is fired, it is the application developer's responsibility
|
|
863
|
+
* to listen for it and manually reset the custom tab content to its initial state.
|
|
861
864
|
* @since 2.22.0
|
|
862
865
|
* @public
|
|
863
866
|
*/
|
|
864
867
|
,
|
|
865
|
-
event("reset
|
|
868
|
+
event("reset", {
|
|
866
869
|
bubbles: true,
|
|
867
870
|
})
|
|
868
871
|
], ViewSettingsDialog);
|