@ui5/webcomponents-fiori 2.8.0-rc.2 → 2.8.0-rc.3
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 +20 -0
- package/README.md +3 -0
- package/cypress/specs/NotificationList.cy.tsx +154 -0
- package/cypress/specs/SearchField.cy.tsx +445 -0
- package/cypress/specs/UserSettingsDialog.cy.tsx +619 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/NotificationListGroupItem.d.ts +1 -1
- package/dist/NotificationListGroupItem.js +5 -2
- package/dist/NotificationListGroupItem.js.map +1 -1
- package/dist/NotificationListGroupItemTemplate.js +4 -5
- package/dist/NotificationListGroupItemTemplate.js.map +1 -1
- package/dist/NotificationListGroupList.d.ts +2 -0
- package/dist/NotificationListGroupList.js +9 -0
- package/dist/NotificationListGroupList.js.map +1 -1
- package/dist/NotificationListInternal.d.ts +6 -0
- package/dist/NotificationListInternal.js +119 -0
- package/dist/NotificationListInternal.js.map +1 -1
- package/dist/NotificationListItem.d.ts +0 -1
- package/dist/NotificationListItem.js +1 -32
- package/dist/NotificationListItem.js.map +1 -1
- package/dist/SearchField.d.ts +130 -0
- package/dist/SearchField.js +228 -0
- package/dist/SearchField.js.map +1 -0
- package/dist/SearchFieldScopeOption.d.ts +26 -0
- package/dist/SearchFieldScopeOption.js +35 -0
- package/dist/SearchFieldScopeOption.js.map +1 -0
- package/dist/SearchFieldTemplate.d.ts +2 -0
- package/dist/SearchFieldTemplate.js +20 -0
- package/dist/SearchFieldTemplate.js.map +1 -0
- package/dist/SideNavigationItem.js +1 -1
- package/dist/SideNavigationItem.js.map +1 -1
- package/dist/UserSettingsDialog.d.ts +118 -0
- package/dist/UserSettingsDialog.js +260 -0
- package/dist/UserSettingsDialog.js.map +1 -0
- package/dist/UserSettingsDialogTemplate.d.ts +2 -0
- package/dist/UserSettingsDialogTemplate.js +23 -0
- package/dist/UserSettingsDialogTemplate.js.map +1 -0
- package/dist/UserSettingsItem.d.ts +131 -0
- package/dist/UserSettingsItem.js +209 -0
- package/dist/UserSettingsItem.js.map +1 -0
- package/dist/UserSettingsItemTemplate.d.ts +4 -0
- package/dist/UserSettingsItemTemplate.js +20 -0
- package/dist/UserSettingsItemTemplate.js.map +1 -0
- package/dist/UserSettingsView.d.ts +43 -0
- package/dist/UserSettingsView.js +68 -0
- package/dist/UserSettingsView.js.map +1 -0
- package/dist/UserSettingsViewTemplate.d.ts +2 -0
- package/dist/UserSettingsViewTemplate.js +5 -0
- package/dist/UserSettingsViewTemplate.js.map +1 -0
- package/dist/bundle.esm.js +5 -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/IllustratedMessage.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/SearchField.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/UserSettingsDialog.css +1 -0
- package/dist/css/themes/UserSettingsItem.css +1 -0
- package/dist/css/themes/UserSettingsView.css +1 -0
- 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 +730 -0
- package/dist/custom-elements.json +573 -0
- 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 +10 -1
- package/dist/generated/i18n/i18n-defaults.js +10 -1
- 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/IllustratedMessage.css.d.ts +1 -1
- package/dist/generated/themes/IllustratedMessage.css.js +1 -1
- package/dist/generated/themes/IllustratedMessage.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/SearchField.css.d.ts +2 -0
- package/dist/generated/themes/SearchField.css.js +8 -0
- package/dist/generated/themes/SearchField.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/UserSettingsDialog.css.d.ts +2 -0
- package/dist/generated/themes/UserSettingsDialog.css.js +8 -0
- package/dist/generated/themes/UserSettingsDialog.css.js.map +1 -0
- package/dist/generated/themes/UserSettingsItem.css.d.ts +2 -0
- package/dist/generated/themes/UserSettingsItem.css.js +8 -0
- package/dist/generated/themes/UserSettingsItem.css.js.map +1 -0
- package/dist/generated/themes/UserSettingsView.css.d.ts +2 -0
- package/dist/generated/themes/UserSettingsView.css.js +8 -0
- package/dist/generated/themes/UserSettingsView.css.js.map +1 -0
- 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/SearchMode.d.ts +17 -0
- package/dist/types/SearchMode.js +19 -0
- package/dist/types/SearchMode.js.map +1 -0
- package/dist/vscode.html-custom-data.json +104 -0
- package/dist/web-types.json +283 -1
- package/package.json +7 -7
- package/src/NotificationListGroupItemTemplate.tsx +37 -43
- package/src/SearchFieldTemplate.tsx +83 -0
- package/src/UserSettingsDialogTemplate.tsx +68 -0
- package/src/UserSettingsItemTemplate.tsx +52 -0
- package/src/UserSettingsViewTemplate.tsx +11 -0
- package/src/i18n/messagebundle.properties +27 -1
- package/src/themes/IllustratedMessage.css +5 -2
- package/src/themes/NavigationMenuItem.css +0 -1
- package/src/themes/NotificationListGroupItem.css +5 -0
- package/src/themes/SearchField.css +234 -0
- package/src/themes/ShellBar.css +7 -2
- package/src/themes/SideNavigationItemBase.css +71 -10
- package/src/themes/UserSettingsDialog.css +106 -0
- package/src/themes/UserSettingsItem.css +78 -0
- package/src/themes/UserSettingsView.css +13 -0
- package/src/themes/base/SearchField-parameters.css +23 -0
- package/src/themes/base/SideNavigation-parameters.css +7 -1
- package/src/themes/sap_fiori_3/SearchField-parameters.css +25 -0
- package/src/themes/sap_fiori_3/parameters-bundle.css +1 -0
- package/src/themes/sap_fiori_3_dark/SearchField-parameters.css +25 -0
- package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
- package/src/themes/sap_fiori_3_hcb/SearchField-parameters.css +25 -0
- package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
- package/src/themes/sap_fiori_3_hcw/SearchField-parameters.css +25 -0
- package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
- package/src/themes/sap_horizon/SideNavigation-parameters.css +7 -3
- package/src/themes/sap_horizon/parameters-bundle.css +1 -0
- package/src/themes/sap_horizon_dark/SideNavigation-parameters.css +7 -3
- package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -0
- package/src/themes/sap_horizon_hcb/SearchField-parameters.css +25 -0
- package/src/themes/sap_horizon_hcb/SideNavigation-parameters.css +9 -3
- package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -0
- package/src/themes/sap_horizon_hcw/SearchField-parameters.css +25 -0
- package/src/themes/sap_horizon_hcw/SideNavigation-parameters.css +9 -3
- package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
|
+
import type { InputEventDetail } from "@ui5/webcomponents/dist/Input.js";
|
|
3
|
+
import type { ListItemClickEventDetail } from "@ui5/webcomponents/dist/List.js";
|
|
4
|
+
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
5
|
+
import type { PopupBeforeCloseEventDetail } from "@ui5/webcomponents/dist/Popup.js";
|
|
6
|
+
import type UserSettingsItem from "./UserSettingsItem.js";
|
|
7
|
+
type UserSettingsItemSelectEventDetail = {
|
|
8
|
+
item: UserSettingsItem;
|
|
9
|
+
};
|
|
10
|
+
type UserSettingsBeforeCloseEventDetail = PopupBeforeCloseEventDetail;
|
|
11
|
+
/**
|
|
12
|
+
* @class
|
|
13
|
+
* ### Overview
|
|
14
|
+
*
|
|
15
|
+
* The `ui5-user-settings-dialog` is an SAP Fiori-specific web component used in the `ui5-profile-menu`.
|
|
16
|
+
* It allows the user to easily view information and settings for an account.
|
|
17
|
+
*
|
|
18
|
+
* ### ES6 Module Import
|
|
19
|
+
* `import "@ui5/webcomponents-fiori/dist/UserSettingsDialog.js";`
|
|
20
|
+
*
|
|
21
|
+
* @constructor
|
|
22
|
+
* @extends UI5Element
|
|
23
|
+
* @experimental
|
|
24
|
+
* @public
|
|
25
|
+
* @since 2.8.0
|
|
26
|
+
*/
|
|
27
|
+
declare class UserSettingsDialog extends UI5Element {
|
|
28
|
+
eventDetails: {
|
|
29
|
+
"selection-change": UserSettingsItemSelectEventDetail;
|
|
30
|
+
"open": void;
|
|
31
|
+
"before-close": UserSettingsBeforeCloseEventDetail;
|
|
32
|
+
"close": void;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Defines, if the User Settings Dialog is opened.
|
|
36
|
+
*
|
|
37
|
+
* @default false
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
40
|
+
open: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Defines the headerText of the item.
|
|
43
|
+
*
|
|
44
|
+
* @public
|
|
45
|
+
* @default undefined
|
|
46
|
+
*/
|
|
47
|
+
headerText?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Defines if the Search Field would be displayed.
|
|
50
|
+
*
|
|
51
|
+
* **Note:** By default the Search Field is not displayed.
|
|
52
|
+
* @default false
|
|
53
|
+
* @public
|
|
54
|
+
*/
|
|
55
|
+
showSearchField: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Defines the user settings items.
|
|
58
|
+
*
|
|
59
|
+
* **Note:** If no setting item is set as `selected`, the first one will be selected.
|
|
60
|
+
* @public
|
|
61
|
+
*/
|
|
62
|
+
items: Array<UserSettingsItem>;
|
|
63
|
+
/**
|
|
64
|
+
* Defines the fixed user settings items.
|
|
65
|
+
*
|
|
66
|
+
* @public
|
|
67
|
+
*/
|
|
68
|
+
fixedItems: Array<UserSettingsItem>;
|
|
69
|
+
static i18nBundle: I18nBundle;
|
|
70
|
+
/**
|
|
71
|
+
* @private
|
|
72
|
+
*/
|
|
73
|
+
_searchValue: string;
|
|
74
|
+
/**
|
|
75
|
+
* @private
|
|
76
|
+
*/
|
|
77
|
+
_collapsed: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* @private
|
|
80
|
+
*/
|
|
81
|
+
_selectedSetting?: UserSettingsItem;
|
|
82
|
+
/**
|
|
83
|
+
* @private
|
|
84
|
+
*/
|
|
85
|
+
_filteredItems: Array<UserSettingsItem>;
|
|
86
|
+
/**
|
|
87
|
+
* @private
|
|
88
|
+
*/
|
|
89
|
+
_filteredFixedItems: Array<UserSettingsItem>;
|
|
90
|
+
/**
|
|
91
|
+
* @private
|
|
92
|
+
*/
|
|
93
|
+
_showNoSearchResult: boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Defines the current media query size.
|
|
96
|
+
* @private
|
|
97
|
+
*/
|
|
98
|
+
_mediaRange?: any;
|
|
99
|
+
onBeforeRendering(): void;
|
|
100
|
+
_handleItemClick(e: CustomEvent<ListItemClickEventDetail>): void;
|
|
101
|
+
_handleDialogAfterOpen(): void;
|
|
102
|
+
_handleDialogBeforeClose(e: CustomEvent<PopupBeforeCloseEventDetail>): void;
|
|
103
|
+
_handleDialogAfterClose(): void;
|
|
104
|
+
get accessibleNameText(): string;
|
|
105
|
+
get ariaRoleDescList(): string;
|
|
106
|
+
get closeButtonText(): string;
|
|
107
|
+
get noSearchResultsText(): string;
|
|
108
|
+
get _selectedItemSlotName(): string | undefined;
|
|
109
|
+
get _showSettingWithNavigation(): boolean;
|
|
110
|
+
_handleCloseButtonClick(): void;
|
|
111
|
+
_handleCollapseClick(): void;
|
|
112
|
+
_handleInput(e: CustomEvent<InputEventDetail>): void;
|
|
113
|
+
captureRef(ref: HTMLElement & {
|
|
114
|
+
associatedSettingItem?: UI5Element;
|
|
115
|
+
} | null): void;
|
|
116
|
+
}
|
|
117
|
+
export default UserSettingsDialog;
|
|
118
|
+
export type { UserSettingsItemSelectEventDetail, UserSettingsBeforeCloseEventDetail, };
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var UserSettingsDialog_1;
|
|
8
|
+
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
9
|
+
import { customElement, property, slot, eventStrict as event, } from "@ui5/webcomponents-base/dist/decorators.js";
|
|
10
|
+
import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
11
|
+
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
12
|
+
import { isPhone, isTablet, isCombi } from "@ui5/webcomponents-base/dist/Device.js";
|
|
13
|
+
import MediaRange from "@ui5/webcomponents-base/dist/MediaRange.js";
|
|
14
|
+
import UserSettingsDialogTemplate from "./UserSettingsDialogTemplate.js";
|
|
15
|
+
import UserSettingsDialogCss from "./generated/themes/UserSettingsDialog.css.js";
|
|
16
|
+
// Texts
|
|
17
|
+
import { USER_SETTINGS_DIALOG_ACCESSIBLE_NAME, USER_SETTINGS_LIST_ARIA_ROLE_DESC, USER_SETTINGS_DIALOG_CLOSE_BUTTON_TEXT, USER_SETTINGS_DIALOG_NO_SEARCH_RESULTS_TEXT, } from "./generated/i18n/i18n-defaults.js";
|
|
18
|
+
/**
|
|
19
|
+
* @class
|
|
20
|
+
* ### Overview
|
|
21
|
+
*
|
|
22
|
+
* The `ui5-user-settings-dialog` is an SAP Fiori-specific web component used in the `ui5-profile-menu`.
|
|
23
|
+
* It allows the user to easily view information and settings for an account.
|
|
24
|
+
*
|
|
25
|
+
* ### ES6 Module Import
|
|
26
|
+
* `import "@ui5/webcomponents-fiori/dist/UserSettingsDialog.js";`
|
|
27
|
+
*
|
|
28
|
+
* @constructor
|
|
29
|
+
* @extends UI5Element
|
|
30
|
+
* @experimental
|
|
31
|
+
* @public
|
|
32
|
+
* @since 2.8.0
|
|
33
|
+
*/
|
|
34
|
+
let UserSettingsDialog = UserSettingsDialog_1 = class UserSettingsDialog extends UI5Element {
|
|
35
|
+
constructor() {
|
|
36
|
+
super(...arguments);
|
|
37
|
+
/**
|
|
38
|
+
* Defines, if the User Settings Dialog is opened.
|
|
39
|
+
*
|
|
40
|
+
* @default false
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
this.open = false;
|
|
44
|
+
/**
|
|
45
|
+
* Defines if the Search Field would be displayed.
|
|
46
|
+
*
|
|
47
|
+
* **Note:** By default the Search Field is not displayed.
|
|
48
|
+
* @default false
|
|
49
|
+
* @public
|
|
50
|
+
*/
|
|
51
|
+
this.showSearchField = false;
|
|
52
|
+
/**
|
|
53
|
+
* @private
|
|
54
|
+
*/
|
|
55
|
+
this._searchValue = "";
|
|
56
|
+
/**
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
59
|
+
this._collapsed = false;
|
|
60
|
+
/**
|
|
61
|
+
* @private
|
|
62
|
+
*/
|
|
63
|
+
this._filteredItems = [];
|
|
64
|
+
/**
|
|
65
|
+
* @private
|
|
66
|
+
*/
|
|
67
|
+
this._filteredFixedItems = [];
|
|
68
|
+
/**
|
|
69
|
+
* @private
|
|
70
|
+
*/
|
|
71
|
+
this._showNoSearchResult = false;
|
|
72
|
+
}
|
|
73
|
+
onBeforeRendering() {
|
|
74
|
+
this._mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS);
|
|
75
|
+
const searchValue = this._searchValue.toLowerCase();
|
|
76
|
+
this._filteredItems = [];
|
|
77
|
+
this._filteredFixedItems = [];
|
|
78
|
+
this.items.forEach(item => {
|
|
79
|
+
if (item.text.toLowerCase().includes(searchValue)) {
|
|
80
|
+
this._filteredItems.push(item);
|
|
81
|
+
}
|
|
82
|
+
if (item.selected) {
|
|
83
|
+
this._selectedSetting = item;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
this.fixedItems.forEach(item => {
|
|
87
|
+
if (item.text.toLowerCase().includes(searchValue)) {
|
|
88
|
+
this._filteredFixedItems.push(item);
|
|
89
|
+
}
|
|
90
|
+
if (item.selected) {
|
|
91
|
+
this._selectedSetting = item;
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
if (this._filteredItems.length === 0 && this._filteredFixedItems.length === 0) {
|
|
95
|
+
this._showNoSearchResult = true;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
this._showNoSearchResult = false;
|
|
99
|
+
}
|
|
100
|
+
if (!this._selectedSetting) {
|
|
101
|
+
this._selectedSetting = this.items[0] || this.fixedItems[0];
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
_handleItemClick(e) {
|
|
105
|
+
const setting = e.detail.item;
|
|
106
|
+
const settingItem = setting.associatedSettingItem;
|
|
107
|
+
const eventPrevented = !this.fireDecoratorEvent("selection-change", {
|
|
108
|
+
item: settingItem,
|
|
109
|
+
});
|
|
110
|
+
this._collapsed = true;
|
|
111
|
+
if (!eventPrevented) {
|
|
112
|
+
this.items.forEach(item => {
|
|
113
|
+
item.selected = false;
|
|
114
|
+
});
|
|
115
|
+
this.fixedItems.forEach(item => {
|
|
116
|
+
item.selected = false;
|
|
117
|
+
});
|
|
118
|
+
settingItem.selected = true;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
_handleDialogAfterOpen() {
|
|
122
|
+
this.fireDecoratorEvent("open");
|
|
123
|
+
}
|
|
124
|
+
_handleDialogBeforeClose(e) {
|
|
125
|
+
if (!e.detail.escPressed) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const eventPrevented = !this.fireDecoratorEvent("before-close", e.detail);
|
|
129
|
+
if (eventPrevented) {
|
|
130
|
+
e.preventDefault();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
_handleDialogAfterClose() {
|
|
134
|
+
this.open = false;
|
|
135
|
+
this.fireDecoratorEvent("close");
|
|
136
|
+
}
|
|
137
|
+
get accessibleNameText() {
|
|
138
|
+
return UserSettingsDialog_1.i18nBundle.getText(USER_SETTINGS_DIALOG_ACCESSIBLE_NAME);
|
|
139
|
+
}
|
|
140
|
+
get ariaRoleDescList() {
|
|
141
|
+
return UserSettingsDialog_1.i18nBundle.getText(USER_SETTINGS_LIST_ARIA_ROLE_DESC);
|
|
142
|
+
}
|
|
143
|
+
get closeButtonText() {
|
|
144
|
+
return UserSettingsDialog_1.i18nBundle.getText(USER_SETTINGS_DIALOG_CLOSE_BUTTON_TEXT);
|
|
145
|
+
}
|
|
146
|
+
get noSearchResultsText() {
|
|
147
|
+
return UserSettingsDialog_1.i18nBundle.getText(USER_SETTINGS_DIALOG_NO_SEARCH_RESULTS_TEXT);
|
|
148
|
+
}
|
|
149
|
+
get _selectedItemSlotName() {
|
|
150
|
+
return this._selectedSetting ? this._selectedSetting._individualSlot : "";
|
|
151
|
+
}
|
|
152
|
+
get _showSettingWithNavigation() {
|
|
153
|
+
return (isPhone() || (isTablet() && !isCombi())) || (this._mediaRange === "S" || this._mediaRange === "M");
|
|
154
|
+
}
|
|
155
|
+
_handleCloseButtonClick() {
|
|
156
|
+
const eventPrevented = !this.fireDecoratorEvent("before-close", { escPressed: false });
|
|
157
|
+
if (!eventPrevented) {
|
|
158
|
+
this.open = false;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
_handleCollapseClick() {
|
|
162
|
+
this._collapsed = false;
|
|
163
|
+
}
|
|
164
|
+
_handleInput(e) {
|
|
165
|
+
this._searchValue = e.target.value;
|
|
166
|
+
}
|
|
167
|
+
captureRef(ref) {
|
|
168
|
+
if (ref) {
|
|
169
|
+
ref.associatedSettingItem = this;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
__decorate([
|
|
174
|
+
property({ type: Boolean })
|
|
175
|
+
], UserSettingsDialog.prototype, "open", void 0);
|
|
176
|
+
__decorate([
|
|
177
|
+
property({ type: String })
|
|
178
|
+
], UserSettingsDialog.prototype, "headerText", void 0);
|
|
179
|
+
__decorate([
|
|
180
|
+
property({ type: Boolean })
|
|
181
|
+
], UserSettingsDialog.prototype, "showSearchField", void 0);
|
|
182
|
+
__decorate([
|
|
183
|
+
slot({
|
|
184
|
+
"default": true,
|
|
185
|
+
type: HTMLElement,
|
|
186
|
+
individualSlots: true,
|
|
187
|
+
invalidateOnChildChange: {
|
|
188
|
+
properties: true,
|
|
189
|
+
slots: true,
|
|
190
|
+
},
|
|
191
|
+
})
|
|
192
|
+
], UserSettingsDialog.prototype, "items", void 0);
|
|
193
|
+
__decorate([
|
|
194
|
+
slot({
|
|
195
|
+
type: HTMLElement,
|
|
196
|
+
individualSlots: true,
|
|
197
|
+
invalidateOnChildChange: {
|
|
198
|
+
properties: true,
|
|
199
|
+
slots: true,
|
|
200
|
+
},
|
|
201
|
+
})
|
|
202
|
+
], UserSettingsDialog.prototype, "fixedItems", void 0);
|
|
203
|
+
__decorate([
|
|
204
|
+
property({ type: String })
|
|
205
|
+
], UserSettingsDialog.prototype, "_searchValue", void 0);
|
|
206
|
+
__decorate([
|
|
207
|
+
property({ type: Boolean })
|
|
208
|
+
], UserSettingsDialog.prototype, "_collapsed", void 0);
|
|
209
|
+
__decorate([
|
|
210
|
+
property({ type: Object })
|
|
211
|
+
], UserSettingsDialog.prototype, "_selectedSetting", void 0);
|
|
212
|
+
__decorate([
|
|
213
|
+
property({ type: Boolean })
|
|
214
|
+
], UserSettingsDialog.prototype, "_showNoSearchResult", void 0);
|
|
215
|
+
__decorate([
|
|
216
|
+
property({ type: String })
|
|
217
|
+
], UserSettingsDialog.prototype, "_mediaRange", void 0);
|
|
218
|
+
__decorate([
|
|
219
|
+
i18n("@ui5/webcomponents-fiori")
|
|
220
|
+
], UserSettingsDialog, "i18nBundle", void 0);
|
|
221
|
+
UserSettingsDialog = UserSettingsDialog_1 = __decorate([
|
|
222
|
+
customElement({
|
|
223
|
+
tag: "ui5-user-settings-dialog",
|
|
224
|
+
renderer: jsxRenderer,
|
|
225
|
+
template: UserSettingsDialogTemplate,
|
|
226
|
+
styles: [UserSettingsDialogCss],
|
|
227
|
+
})
|
|
228
|
+
/**
|
|
229
|
+
* Fired when an item is selected.
|
|
230
|
+
* @param {UserSettingsItem} item The selected `user settings item`.
|
|
231
|
+
* @public
|
|
232
|
+
*/
|
|
233
|
+
,
|
|
234
|
+
event("selection-change", {
|
|
235
|
+
cancelable: true,
|
|
236
|
+
})
|
|
237
|
+
/**
|
|
238
|
+
* Fired when a settings dialog is open.
|
|
239
|
+
* @public
|
|
240
|
+
*/
|
|
241
|
+
,
|
|
242
|
+
event("open")
|
|
243
|
+
/**
|
|
244
|
+
* Fired before the settings dialog is closed.
|
|
245
|
+
* @public
|
|
246
|
+
*/
|
|
247
|
+
,
|
|
248
|
+
event("before-close", {
|
|
249
|
+
cancelable: true,
|
|
250
|
+
})
|
|
251
|
+
/**
|
|
252
|
+
* Fired when a settings dialog is closed.
|
|
253
|
+
* @public
|
|
254
|
+
*/
|
|
255
|
+
,
|
|
256
|
+
event("close")
|
|
257
|
+
], UserSettingsDialog);
|
|
258
|
+
UserSettingsDialog.define();
|
|
259
|
+
export default UserSettingsDialog;
|
|
260
|
+
//# sourceMappingURL=UserSettingsDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserSettingsDialog.js","sourceRoot":"","sources":["../src/UserSettingsDialog.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,EACN,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,IAAI,KAAK,GACnD,MAAM,4CAA4C,CAAC;AACpD,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAI/E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAInE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,0BAA0B,MAAM,iCAAiC,CAAC;AAEzE,OAAO,qBAAqB,MAAM,8CAA8C,CAAC;AAEjF,QAAQ;AACR,OAAO,EACN,oCAAoC,EACpC,iCAAiC,EACjC,sCAAsC,EACtC,2CAA2C,GAC3C,MAAM,mCAAmC,CAAC;AAQ3C;;;;;;;;;;;;;;;GAeG;AAqCH,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAA3C;;QAOC;;;;;WAKG;QAEH,SAAI,GAAG,KAAK,CAAC;QAWb;;;;;;WAMG;QAEH,oBAAe,GAAG,KAAK,CAAC;QAqCxB;;WAEG;QAEH,iBAAY,GAAG,EAAE,CAAC;QAElB;;WAEG;QAEH,eAAU,GAAG,KAAK,CAAC;QAQnB;;WAEG;QACH,mBAAc,GAA4B,EAAE,CAAC;QAE7C;;WAEG;QACH,wBAAmB,GAA4B,EAAE,CAAC;QAElD;;WAEG;QAEH,wBAAmB,GAAG,KAAK,CAAC;IAkI7B,CAAC;IAzHA,iBAAiB;QAChB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAE9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzB,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC9B,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC9B,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACjC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;IACF,CAAC;IAED,gBAAgB,CAAC,CAAwC;QACxD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,IAAkE,CAAC;QAC5F,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC;QAClD,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE;YACnE,IAAI,EAAE,WAAW;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC7B,CAAC;IACF,CAAC;IAED,sBAAsB;QACrB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,wBAAwB,CAAC,CAA2C;QACnE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAE1E,IAAI,cAAc,EAAE,CAAC;YACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;IAED,uBAAuB;QACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,mBAAmB;QACtB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,qBAAqB;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED,IAAI,0BAA0B;QAC7B,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,KAAK,GAAG,CAAC,CAAC;IAC5G,CAAC;IAED,uBAAuB;QACtB,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAEvF,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACnB,CAAC;IACF,CAAC;IAED,oBAAoB;QACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,YAAY,CAAC,CAAgC;QAC5C,IAAI,CAAC,YAAY,GAAI,CAAC,CAAC,MAAgB,CAAC,KAAK,CAAC;IAC/C,CAAC;IAED,UAAU,CAAC,GAA+D;QACzE,IAAI,GAAG,EAAE,CAAC;YACT,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,CAAC;IACF,CAAC;CACD,CAAA;AA1NA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDACf;AASb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sDACP;AAUpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2DACJ;AAiBxB;IATC,IAAI,CAAC;QACL,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,IAAI;QACrB,uBAAuB,EAAE;YACxB,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI;SACX;KACD,CAAC;iDAC8B;AAehC;IARC,IAAI,CAAC;QACL,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,IAAI;QACrB,uBAAuB,EAAE;YACxB,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI;SACX;KACD,CAAC;sDACmC;AASrC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDACT;AAMlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDACT;AAMnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4DACS;AAgBpC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+DACA;AAO5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDACT;AAzCX;IADN,IAAI,CAAC,0BAA0B,CAAC;4CACH;AApEzB,kBAAkB;IApCvB,aAAa,CAAC;QACd,GAAG,EAAE,0BAA0B;QAC/B,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,0BAA0B;QACpC,MAAM,EAAE,CAAC,qBAAqB,CAAC;KAC/B,CAAC;IAEF;;;;OAIG;;IACF,KAAK,CAAC,kBAAkB,EAAE;QAC1B,UAAU,EAAE,IAAI;KAChB,CAAC;IAEF;;;OAGG;;IACF,KAAK,CAAC,MAAM,CAAC;IAEd;;;OAGG;;IACF,KAAK,CAAC,cAAc,EAAE;QACtB,UAAU,EAAE,IAAI;KAChB,CAAC;IAEF;;;OAGG;;IACF,KAAK,CAAC,OAAO,CAAC;GAET,kBAAkB,CAwOvB;AAED,kBAAkB,CAAC,MAAM,EAAE,CAAC;AAE5B,eAAe,kBAAkB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tcustomElement, property, slot, eventStrict as event,\n} from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type Input from \"@ui5/webcomponents/dist/Input.js\";\nimport type { InputEventDetail } from \"@ui5/webcomponents/dist/Input.js\";\nimport type { ListItemClickEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport type { PopupBeforeCloseEventDetail } from \"@ui5/webcomponents/dist/Popup.js\";\nimport { isPhone, isTablet, isCombi } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport MediaRange from \"@ui5/webcomponents-base/dist/MediaRange.js\";\nimport UserSettingsDialogTemplate from \"./UserSettingsDialogTemplate.js\";\nimport type UserSettingsItem from \"./UserSettingsItem.js\";\nimport UserSettingsDialogCss from \"./generated/themes/UserSettingsDialog.css.js\";\n\n// Texts\nimport {\n\tUSER_SETTINGS_DIALOG_ACCESSIBLE_NAME,\n\tUSER_SETTINGS_LIST_ARIA_ROLE_DESC,\n\tUSER_SETTINGS_DIALOG_CLOSE_BUTTON_TEXT,\n\tUSER_SETTINGS_DIALOG_NO_SEARCH_RESULTS_TEXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype UserSettingsItemSelectEventDetail = {\n\titem: UserSettingsItem;\n}\n\ntype UserSettingsBeforeCloseEventDetail = PopupBeforeCloseEventDetail;\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-user-settings-dialog` is an SAP Fiori-specific web component used in the `ui5-profile-menu`.\n * It allows the user to easily view information and settings for an account.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/UserSettingsDialog.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @experimental\n * @public\n * @since 2.8.0\n */\n@customElement({\n\ttag: \"ui5-user-settings-dialog\",\n\trenderer: jsxRenderer,\n\ttemplate: UserSettingsDialogTemplate,\n\tstyles: [UserSettingsDialogCss],\n})\n\n/**\n * Fired when an item is selected.\n * @param {UserSettingsItem} item The selected `user settings item`.\n * @public\n */\n@event(\"selection-change\", {\n\tcancelable: true,\n})\n\n/**\n * Fired when a settings dialog is open.\n * @public\n */\n@event(\"open\")\n\n/**\n * Fired before the settings dialog is closed.\n * @public\n */\n@event(\"before-close\", {\n\tcancelable: true,\n})\n\n/**\n * Fired when a settings dialog is closed.\n * @public\n */\n@event(\"close\")\n\nclass UserSettingsDialog extends UI5Element {\n\teventDetails!: {\n\t\t\"selection-change\": UserSettingsItemSelectEventDetail,\n\t\t\"open\": void,\n\t\t\"before-close\": UserSettingsBeforeCloseEventDetail,\n\t\t\"close\": void,\n\t};\n\t/**\n\t * Defines, if the User Settings Dialog 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 headerText of the item.\n\t *\n\t * @public\n\t * @default undefined\n\t */\n\t@property({ type: String })\n\theaderText?: string;\n\n\t/**\n\t * Defines if the Search Field would be displayed.\n\t *\n\t * **Note:** By default the Search Field is not displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSearchField = false;\n\n\t/**\n\t * Defines the user settings items.\n\t *\n\t * **Note:** If no setting item is set as `selected`, the first one will be selected.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: true,\n\t\t},\n\t})\n\titems!: Array<UserSettingsItem>;\n\n\t/**\n\t * Defines the fixed user settings items.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: true,\n\t\t},\n\t})\n\tfixedItems!: Array<UserSettingsItem>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: String })\n\t_searchValue = \"\";\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_collapsed = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_selectedSetting?: UserSettingsItem;\n\n\t/**\n\t * @private\n\t */\n\t_filteredItems: Array<UserSettingsItem> = [];\n\n\t/**\n\t * @private\n\t */\n\t_filteredFixedItems: Array<UserSettingsItem> = [];\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_showNoSearchResult = false;\n\n\t/**\n\t * Defines the current media query size.\n\t * @private\n\t */\n\t@property({ type: String })\n\t_mediaRange?: any;\n\n\tonBeforeRendering() {\n\t\tthis._mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS);\n\t\tconst searchValue = this._searchValue.toLowerCase();\n\t\tthis._filteredItems = [];\n\t\tthis._filteredFixedItems = [];\n\n\t\tthis.items.forEach(item => {\n\t\t\tif (item.text.toLowerCase().includes(searchValue)) {\n\t\t\t\tthis._filteredItems.push(item);\n\t\t\t}\n\n\t\t\tif (item.selected) {\n\t\t\t\tthis._selectedSetting = item;\n\t\t\t}\n\t\t});\n\n\t\tthis.fixedItems.forEach(item => {\n\t\t\tif (item.text.toLowerCase().includes(searchValue)) {\n\t\t\t\tthis._filteredFixedItems.push(item);\n\t\t\t}\n\n\t\t\tif (item.selected) {\n\t\t\t\tthis._selectedSetting = item;\n\t\t\t}\n\t\t});\n\n\t\tif (this._filteredItems.length === 0 && this._filteredFixedItems.length === 0) {\n\t\t\tthis._showNoSearchResult = true;\n\t\t} else {\n\t\t\tthis._showNoSearchResult = false;\n\t\t}\n\n\t\tif (!this._selectedSetting) {\n\t\t\tthis._selectedSetting = this.items[0] || this.fixedItems[0];\n\t\t}\n\t}\n\n\t_handleItemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst setting = e.detail.item as ListItemBase & { associatedSettingItem: UserSettingsItem };\n\t\tconst settingItem = setting.associatedSettingItem;\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"selection-change\", {\n\t\t\titem: settingItem,\n\t\t});\n\t\tthis._collapsed = true;\n\n\t\tif (!eventPrevented) {\n\t\t\tthis.items.forEach(item => {\n\t\t\t\titem.selected = false;\n\t\t\t});\n\t\t\tthis.fixedItems.forEach(item => {\n\t\t\t\titem.selected = false;\n\t\t\t});\n\t\t\tsettingItem.selected = true;\n\t\t}\n\t}\n\n\t_handleDialogAfterOpen() {\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_handleDialogBeforeClose(e: CustomEvent<PopupBeforeCloseEventDetail>) {\n\t\tif (!e.detail.escPressed) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"before-close\", e.detail);\n\n\t\tif (eventPrevented) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_handleDialogAfterClose() {\n\t\tthis.open = false;\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\tget accessibleNameText() {\n\t\treturn UserSettingsDialog.i18nBundle.getText(USER_SETTINGS_DIALOG_ACCESSIBLE_NAME);\n\t}\n\n\tget ariaRoleDescList() {\n\t\treturn UserSettingsDialog.i18nBundle.getText(USER_SETTINGS_LIST_ARIA_ROLE_DESC);\n\t}\n\n\tget closeButtonText() {\n\t\treturn UserSettingsDialog.i18nBundle.getText(USER_SETTINGS_DIALOG_CLOSE_BUTTON_TEXT);\n\t}\n\tget noSearchResultsText() {\n\t\treturn UserSettingsDialog.i18nBundle.getText(USER_SETTINGS_DIALOG_NO_SEARCH_RESULTS_TEXT);\n\t}\n\n\tget _selectedItemSlotName() {\n\t\treturn this._selectedSetting ? this._selectedSetting._individualSlot : \"\";\n\t}\n\n\tget _showSettingWithNavigation() {\n\t\treturn (isPhone() || (isTablet() && !isCombi())) || (this._mediaRange === \"S\" || this._mediaRange === \"M\");\n\t}\n\n\t_handleCloseButtonClick() {\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"before-close\", { escPressed: false });\n\n\t\tif (!eventPrevented) {\n\t\t\tthis.open = false;\n\t\t}\n\t}\n\n\t_handleCollapseClick() {\n\t\tthis._collapsed = false;\n\t}\n\n\t_handleInput(e: CustomEvent<InputEventDetail>) {\n\t\tthis._searchValue = (e.target as Input).value;\n\t}\n\n\tcaptureRef(ref: HTMLElement & { associatedSettingItem?: UI5Element} | null) {\n\t\tif (ref) {\n\t\t\tref.associatedSettingItem = this;\n\t\t}\n\t}\n}\n\nUserSettingsDialog.define();\n\nexport default UserSettingsDialog;\nexport type {\n\tUserSettingsItemSelectEventDetail,\n\tUserSettingsBeforeCloseEventDetail,\n};\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
|
+
import Dialog from "@ui5/webcomponents/dist/Dialog.js";
|
|
3
|
+
import Title from "@ui5/webcomponents/dist/Title.js";
|
|
4
|
+
import Input from "@ui5/webcomponents/dist/Input.js";
|
|
5
|
+
import Text from "@ui5/webcomponents/dist/Text.js";
|
|
6
|
+
import Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
7
|
+
import List from "@ui5/webcomponents/dist/List.js";
|
|
8
|
+
import ListItemStandard from "@ui5/webcomponents/dist/ListItemStandard.js";
|
|
9
|
+
import ToolbarButton from "@ui5/webcomponents/dist/ToolbarButton.js";
|
|
10
|
+
import Toolbar from "@ui5/webcomponents/dist/Toolbar.js";
|
|
11
|
+
import search from "@ui5/webcomponents-icons/dist/search.js";
|
|
12
|
+
export default function UserSettingsDialogTemplate() {
|
|
13
|
+
return (_jsxs(Dialog, { class: "ui5-user-settings-dialog", open: this.open, stretch: true, accessibleName: this.accessibleNameText, "onui5-_collapse": this._handleCollapseClick, onOpen: this._handleDialogAfterOpen, onBeforeClose: this._handleDialogBeforeClose, onClose: this._handleDialogAfterClose, initialFocus: `setting-${this._selectedSetting?._id}`, children: [_jsxs("div", { class: "ui5-user-settings-root", children: [_jsxs("div", { class: "ui5-user-settings-side", "aria-orientation": "vertical", "aria-roledescription": this.ariaRoleDescList, children: [_jsxs("div", { class: "ui5-user-settings-side-header", children: [this.headerText &&
|
|
14
|
+
_jsx(Title, { level: "H1", size: "H4", children: this.headerText }), this.showSearchField &&
|
|
15
|
+
_jsx(Input, { placeholder: "Search", type: "Search", class: "ui5-user-settings-side-search", onInput: this._handleInput, children: _jsx(Icon, { id: "searchFieldIcon", slot: "icon", name: search, showTooltip: true }) })] }), this._showNoSearchResult ?
|
|
16
|
+
_jsx("div", { class: "ui5-user-settings-side-search", children: _jsx(Text, { children: this.noSearchResultsText }) })
|
|
17
|
+
:
|
|
18
|
+
renderList.call(this, this._filteredItems, "ui5-user-settings-side-items"), this._filteredFixedItems.length > 0 && renderList.call(this, this._filteredFixedItems, "ui5-user-settings-side-fixedItems")] }), _jsx("div", { class: "ui5-user-settings-content", children: _jsx("slot", { name: this._selectedItemSlotName }) })] }), _jsx(Toolbar, { slot: "footer", design: "Transparent", children: _jsx(ToolbarButton, { design: "Transparent", text: this.closeButtonText, tooltip: this.closeButtonText, onClick: this._handleCloseButtonClick }) })] }));
|
|
19
|
+
}
|
|
20
|
+
function renderList(items = [], classes) {
|
|
21
|
+
return _jsx(List, { accessibleRole: "Menu", onItemClick: this._handleItemClick, class: classes, separators: "None", children: items.map(item => (_jsx(ListItemStandard, { id: `setting-${item._id}`, icon: item._icon, tooltip: item._tooltip, ref: this.captureRef.bind(item), selected: item.selected, disabled: item.disabled, accessibleName: item.ariaLabelledByText, type: this._showSettingWithNavigation ? "Navigation" : "Active", children: item.text }))) });
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=UserSettingsDialogTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserSettingsDialogTemplate.js","sourceRoot":"","sources":["../src/UserSettingsDialogTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UserSettingsDialog from \"./UserSettingsDialog.js\";\nimport Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport Title from \"@ui5/webcomponents/dist/Title.js\";\nimport Input from \"@ui5/webcomponents/dist/Input.js\";\nimport Text from \"@ui5/webcomponents/dist/Text.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport ListItemStandard from \"@ui5/webcomponents/dist/ListItemStandard.js\";\nimport ToolbarButton from \"@ui5/webcomponents/dist/ToolbarButton.js\";\nimport Toolbar from \"@ui5/webcomponents/dist/Toolbar.js\";\nimport search from \"@ui5/webcomponents-icons/dist/search.js\";\nimport type UserSettingsItem from \"./UserSettingsItem.js\";\n\nexport default function UserSettingsDialogTemplate(this: UserSettingsDialog) {\n\treturn (\n\n\t\t<Dialog class=\"ui5-user-settings-dialog\"\n\t\t\topen={this.open}\n\t\t\tstretch\n\t\t\taccessibleName={this.accessibleNameText}\n\t\t\tonui5-_collapse={this._handleCollapseClick}\n\t\t\tonOpen={this._handleDialogAfterOpen}\n\t\t\tonBeforeClose={this._handleDialogBeforeClose}\n\t\t\tonClose={this._handleDialogAfterClose}\n\t\t\tinitialFocus={`setting-${this._selectedSetting?._id}`}\n\t\t>\n\t\t\t<div class=\"ui5-user-settings-root\">\n\t\t\t\t<div class=\"ui5-user-settings-side\" aria-orientation=\"vertical\" aria-roledescription={this.ariaRoleDescList}>\n\t\t\t\t\t<div class=\"ui5-user-settings-side-header\">\n\t\t\t\t\t\t{this.headerText &&\n\t\t\t\t\t\t\t<Title level=\"H1\" size=\"H4\">{this.headerText}</Title>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{this.showSearchField &&\n\t\t\t\t\t\t\t<Input placeholder=\"Search\" type=\"Search\" class=\"ui5-user-settings-side-search\"\n\t\t\t\t\t\t\t\t onInput={this._handleInput}>\n\t\t\t\t\t\t\t\t<Icon id=\"searchFieldIcon\" slot=\"icon\" name={search} showTooltip></Icon>\n\t\t\t\t\t\t\t</Input>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this._showNoSearchResult ?\n\t\t\t\t\t\t<div class=\"ui5-user-settings-side-search\">\n\t\t\t\t\t\t\t<Text>{this.noSearchResultsText}</Text>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t:\n\t\t\t\t\t\trenderList.call(this, this._filteredItems, \"ui5-user-settings-side-items\")}\n\n\t\t\t\t\t{this._filteredFixedItems.length > 0 && renderList.call(this, this._filteredFixedItems, \"ui5-user-settings-side-fixedItems\")}\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"ui5-user-settings-content\">\n\t\t\t\t\t<slot name={this._selectedItemSlotName}></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<Toolbar slot=\"footer\" design=\"Transparent\">\n\t\t\t\t<ToolbarButton design=\"Transparent\" text={this.closeButtonText} tooltip={this.closeButtonText} onClick={this._handleCloseButtonClick} />\n\t\t\t</Toolbar>\n\t\t</Dialog>\n\t);\n}\n\nfunction renderList(this: UserSettingsDialog, items: Array<UserSettingsItem> = [], classes: string) {\n\treturn <List accessibleRole=\"Menu\" onItemClick={this._handleItemClick} class={classes} separators=\"None\">\n\t\t{items.map(item => (\n\t\t\t<ListItemStandard id={`setting-${item._id}`} icon={item._icon} tooltip={item._tooltip} ref={this.captureRef.bind(item)} selected={item.selected} disabled={item.disabled} accessibleName={item.ariaLabelledByText} type={this._showSettingWithNavigation ? \"Navigation\" : \"Active\"}>{item.text}</ListItemStandard>\n\t\t))}\n\t</List>;\n}\n"]}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
|
+
import type { TabContainerTabSelectEventDetail } from "@ui5/webcomponents/dist/TabContainer.js";
|
|
3
|
+
import type UserSettingsView from "./UserSettingsView.js";
|
|
4
|
+
type UserSettingsItemViewSelectEventDetail = {
|
|
5
|
+
view: UserSettingsView;
|
|
6
|
+
};
|
|
7
|
+
type UserSettingsItemBackClickEventDetail = {
|
|
8
|
+
view: UserSettingsView;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @class
|
|
12
|
+
* ### Overview
|
|
13
|
+
*
|
|
14
|
+
* The `ui5-user-settings-item` represents an item in the `ui5-user-settings-dialog`.
|
|
15
|
+
*
|
|
16
|
+
* ### ES6 Module Import
|
|
17
|
+
* `import "@ui5/webcomponents-fiori/dist/UserSettingsItem.js";`
|
|
18
|
+
*
|
|
19
|
+
* You can disable the <code>UserSettingsItem</code> by setting the <code>enabled</code> property to <code>false</code>,
|
|
20
|
+
* or use the <code>UserSettingsItem</code> in read-only mode by setting the <code>editable</code> property to false.
|
|
21
|
+
*
|
|
22
|
+
* <b>Note:</b> Disabled and read-only states shouldn't be used together.
|
|
23
|
+
*
|
|
24
|
+
* @constructor
|
|
25
|
+
* @extends UI5Element
|
|
26
|
+
* @experimental
|
|
27
|
+
* @public
|
|
28
|
+
* @since 2.8.0
|
|
29
|
+
*/
|
|
30
|
+
declare class UserSettingsItem extends UI5Element {
|
|
31
|
+
eventDetails: {
|
|
32
|
+
"_collapse": void;
|
|
33
|
+
"selection-change": UserSettingsItemViewSelectEventDetail;
|
|
34
|
+
"back-click": UserSettingsItemBackClickEventDetail;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Defines the text of the user settings item.
|
|
38
|
+
*
|
|
39
|
+
* @public
|
|
40
|
+
* @default ""
|
|
41
|
+
*/
|
|
42
|
+
text: string;
|
|
43
|
+
/**
|
|
44
|
+
* Defines the tooltip of the component.
|
|
45
|
+
*
|
|
46
|
+
* A tooltip attribute should be provided to represent the meaning or function when the component is collapsed and only the icon is visible.
|
|
47
|
+
* @default ""
|
|
48
|
+
* @public
|
|
49
|
+
*/
|
|
50
|
+
tooltip: string;
|
|
51
|
+
/**
|
|
52
|
+
* Defines the headerText of the item.
|
|
53
|
+
*
|
|
54
|
+
* @public
|
|
55
|
+
* @default ""
|
|
56
|
+
*/
|
|
57
|
+
headerText?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Shows item tab.
|
|
60
|
+
*
|
|
61
|
+
* @public
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
64
|
+
selected: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Defines whether the component is in disabled state.
|
|
67
|
+
*
|
|
68
|
+
* **Note:** A disabled component is completely noninteractive.
|
|
69
|
+
* @default false
|
|
70
|
+
* @public
|
|
71
|
+
*/
|
|
72
|
+
disabled: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Indicates whether a loading indicator should be shown.
|
|
75
|
+
* @default false
|
|
76
|
+
* @public
|
|
77
|
+
*/
|
|
78
|
+
loading: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Indicates why the control is in loading state.
|
|
81
|
+
* @default undefined
|
|
82
|
+
* @public
|
|
83
|
+
*/
|
|
84
|
+
loadingReason?: string;
|
|
85
|
+
/**
|
|
86
|
+
* Defines the icon of the component.
|
|
87
|
+
*
|
|
88
|
+
* @default "globe"
|
|
89
|
+
* @public
|
|
90
|
+
*/
|
|
91
|
+
icon: string;
|
|
92
|
+
/**
|
|
93
|
+
* Defines the accessible ARIA name of the component.
|
|
94
|
+
* @default undefined
|
|
95
|
+
* @public
|
|
96
|
+
*/
|
|
97
|
+
accessibleName?: string;
|
|
98
|
+
/**
|
|
99
|
+
* Defines the tab views of the user settings item.
|
|
100
|
+
*
|
|
101
|
+
* The tab views are displayed by default if there is no selected page view.
|
|
102
|
+
* @public
|
|
103
|
+
*/
|
|
104
|
+
tabs: Array<UserSettingsView>;
|
|
105
|
+
/**
|
|
106
|
+
* Defines the page views of the user settings item.
|
|
107
|
+
*
|
|
108
|
+
* If there are no tab views, the first page view will be shown unless there is selected one. If there is selected page
|
|
109
|
+
* view it will be shown no matter if there are tab views.
|
|
110
|
+
*
|
|
111
|
+
* @public
|
|
112
|
+
*/
|
|
113
|
+
pages: Array<UserSettingsView>;
|
|
114
|
+
/**
|
|
115
|
+
* @private
|
|
116
|
+
*/
|
|
117
|
+
_individualSlot?: string;
|
|
118
|
+
get _hasSelectedPageView(): boolean;
|
|
119
|
+
get _selectedPageView(): UserSettingsView;
|
|
120
|
+
get ariaLabelledByText(): string;
|
|
121
|
+
get _tooltip(): string;
|
|
122
|
+
get _icon(): string;
|
|
123
|
+
_handleBackButtonClick(): void;
|
|
124
|
+
_handleTabSelect(e: CustomEvent<TabContainerTabSelectEventDetail>): void;
|
|
125
|
+
get _shouldShowBackButton(): boolean;
|
|
126
|
+
captureRef(this: UserSettingsView, ref: HTMLElement & {
|
|
127
|
+
associatedSettingView?: UserSettingsView;
|
|
128
|
+
} | null): void;
|
|
129
|
+
}
|
|
130
|
+
export default UserSettingsItem;
|
|
131
|
+
export type { UserSettingsItemViewSelectEventDetail, UserSettingsItemBackClickEventDetail, };
|