@sapui5/sap.cux.home 1.136.3 → 1.139.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/package.json +1 -1
- package/src/sap/cux/home/.library +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js +11 -7
- package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.ts +13 -7
- package/src/sap/cux/home/App.d.ts +1 -2
- package/src/sap/cux/home/App.d.ts.map +1 -1
- package/src/sap/cux/home/App.js +7 -2
- package/src/sap/cux/home/App.js.map +1 -1
- package/src/sap/cux/home/App.ts +8 -3
- package/src/sap/cux/home/AppsAdditionPanel.d.ts +0 -2
- package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.js +31 -15
- package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.ts +36 -16
- package/src/sap/cux/home/AppsContainer.d.ts +0 -2
- package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/AppsContainer.js +5 -8
- package/src/sap/cux/home/AppsContainer.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.ts +3 -8
- package/src/sap/cux/home/BaseApp.d.ts +2 -2
- package/src/sap/cux/home/BaseApp.d.ts.map +1 -1
- package/src/sap/cux/home/BaseApp.js +10 -3
- package/src/sap/cux/home/BaseApp.js.map +1 -1
- package/src/sap/cux/home/BaseApp.ts +11 -4
- package/src/sap/cux/home/BaseAppPanel.d.ts +0 -2
- package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.js +5 -6
- package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.ts +3 -5
- package/src/sap/cux/home/BaseAppPersPanel.d.ts +0 -2
- package/src/sap/cux/home/BaseAppPersPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.js +6 -6
- package/src/sap/cux/home/BaseAppPersPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.ts +9 -7
- package/src/sap/cux/home/BaseContainer.d.ts +0 -1
- package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainer.js +10 -5
- package/src/sap/cux/home/BaseContainer.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.ts +10 -5
- package/src/sap/cux/home/BaseContainerRenderer.d.ts +4 -4
- package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.js +17 -19
- package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.ts +21 -25
- package/src/sap/cux/home/BaseLayout.d.ts +0 -1
- package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
- package/src/sap/cux/home/BaseLayout.js +1 -2
- package/src/sap/cux/home/BaseLayout.js.map +1 -1
- package/src/sap/cux/home/BaseLayout.ts +1 -2
- package/src/sap/cux/home/BaseNewsItem.d.ts +1 -2
- package/src/sap/cux/home/BaseNewsItem.d.ts.map +1 -1
- package/src/sap/cux/home/BaseNewsItem.js +7 -2
- package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
- package/src/sap/cux/home/BaseNewsItem.ts +8 -3
- package/src/sap/cux/home/BaseNewsPanel.d.ts +1 -2
- package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.js +7 -2
- package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.ts +8 -3
- package/src/sap/cux/home/BasePagePanel.d.ts +1 -2
- package/src/sap/cux/home/BasePagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePagePanel.gen.d.ts +34 -0
- package/src/sap/cux/home/BasePagePanel.js +16 -2
- package/src/sap/cux/home/BasePagePanel.js.map +1 -1
- package/src/sap/cux/home/BasePagePanel.ts +17 -3
- package/src/sap/cux/home/BasePanel.d.ts +0 -1
- package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePanel.js +0 -1
- package/src/sap/cux/home/BasePanel.js.map +1 -1
- package/src/sap/cux/home/BasePanel.ts +0 -1
- package/src/sap/cux/home/BaseSettingsDialog.d.ts +0 -1
- package/src/sap/cux/home/BaseSettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.js +0 -1
- package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.ts +0 -1
- package/src/sap/cux/home/BaseSettingsPanel.d.ts +0 -1
- package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.js +2 -2
- package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.ts +3 -2
- package/src/sap/cux/home/CardsPanel.d.ts +0 -1
- package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/CardsPanel.js +3 -4
- package/src/sap/cux/home/CardsPanel.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.ts +3 -7
- package/src/sap/cux/home/ContentAdditionDialog.d.ts +0 -3
- package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.js +4 -8
- package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.ts +4 -8
- package/src/sap/cux/home/ErrorPanel.d.ts +1 -2
- package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ErrorPanel.gen.d.ts +24 -0
- package/src/sap/cux/home/ErrorPanel.js +16 -2
- package/src/sap/cux/home/ErrorPanel.js.map +1 -1
- package/src/sap/cux/home/ErrorPanel.ts +17 -3
- package/src/sap/cux/home/FavAppPanel.d.ts +0 -1
- package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FavAppPanel.js +15 -12
- package/src/sap/cux/home/FavAppPanel.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.ts +20 -15
- package/src/sap/cux/home/FrequentAppPanel.d.ts +0 -1
- package/src/sap/cux/home/FrequentAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.js +0 -1
- package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.ts +0 -1
- package/src/sap/cux/home/Group.d.ts +2 -2
- package/src/sap/cux/home/Group.d.ts.map +1 -1
- package/src/sap/cux/home/Group.gen.d.ts +47 -1
- package/src/sap/cux/home/Group.js +30 -3
- package/src/sap/cux/home/Group.js.map +1 -1
- package/src/sap/cux/home/Group.ts +26 -6
- package/src/sap/cux/home/IToDoPanel.d.ts +1 -2
- package/src/sap/cux/home/IToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/IToDoPanel.js.map +1 -1
- package/src/sap/cux/home/IToDoPanel.ts +1 -2
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts +0 -4
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.js +5 -14
- package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.ts +5 -16
- package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsCardsSettingsPanel.js +0 -3
- package/src/sap/cux/home/InsightsCardsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsCardsSettingsPanel.ts +0 -3
- package/src/sap/cux/home/InsightsContainer.d.ts +1 -2
- package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsContainer.js +21 -5
- package/src/sap/cux/home/InsightsContainer.js.map +1 -1
- package/src/sap/cux/home/InsightsContainer.ts +24 -5
- package/src/sap/cux/home/InsightsTilesSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/InsightsTilesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js +5 -5
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +5 -5
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +0 -3
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +0 -3
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +0 -3
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +0 -3
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +4 -6
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +13 -8
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js +0 -3
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +0 -3
- package/src/sap/cux/home/KeyUserSettingsDialog.d.ts +0 -3
- package/src/sap/cux/home/KeyUserSettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.js +0 -3
- package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.ts +0 -3
- package/src/sap/cux/home/Layout.d.ts +0 -2
- package/src/sap/cux/home/Layout.d.ts.map +1 -1
- package/src/sap/cux/home/Layout.js +0 -2
- package/src/sap/cux/home/Layout.js.map +1 -1
- package/src/sap/cux/home/Layout.ts +0 -3
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.js +0 -3
- package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.ts +0 -3
- package/src/sap/cux/home/MenuItem.d.ts +0 -1
- package/src/sap/cux/home/MenuItem.d.ts.map +1 -1
- package/src/sap/cux/home/MenuItem.js +0 -1
- package/src/sap/cux/home/MenuItem.js.map +1 -1
- package/src/sap/cux/home/MenuItem.ts +0 -1
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts +12 -14
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js +10 -12
- package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.ts +20 -18
- package/src/sap/cux/home/NewsGroup.d.ts +0 -3
- package/src/sap/cux/home/NewsGroup.d.ts.map +1 -1
- package/src/sap/cux/home/NewsGroup.js +0 -3
- package/src/sap/cux/home/NewsGroup.js.map +1 -1
- package/src/sap/cux/home/NewsGroup.ts +0 -3
- package/src/sap/cux/home/NewsItem.d.ts +0 -3
- package/src/sap/cux/home/NewsItem.d.ts.map +1 -1
- package/src/sap/cux/home/NewsItem.js +0 -3
- package/src/sap/cux/home/NewsItem.js.map +1 -1
- package/src/sap/cux/home/NewsItem.ts +0 -3
- package/src/sap/cux/home/NewsPanel.d.ts +7 -10
- package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsPanel.js +13 -14
- package/src/sap/cux/home/NewsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.ts +15 -14
- package/src/sap/cux/home/NewsSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.js +1 -4
- package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.ts +1 -4
- package/src/sap/cux/home/NoDataContainer.d.ts +0 -2
- package/src/sap/cux/home/NoDataContainer.d.ts.map +1 -1
- package/src/sap/cux/home/NoDataContainer.js +0 -1
- package/src/sap/cux/home/NoDataContainer.js.map +1 -1
- package/src/sap/cux/home/NoDataContainer.ts +0 -1
- package/src/sap/cux/home/Page.d.ts +0 -3
- package/src/sap/cux/home/Page.d.ts.map +1 -1
- package/src/sap/cux/home/Page.gen.d.ts +0 -12
- package/src/sap/cux/home/Page.js +0 -7
- package/src/sap/cux/home/Page.js.map +1 -1
- package/src/sap/cux/home/Page.ts +0 -7
- package/src/sap/cux/home/PagePanel.d.ts +0 -4
- package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/PagePanel.js +0 -4
- package/src/sap/cux/home/PagePanel.js.map +1 -1
- package/src/sap/cux/home/PagePanel.ts +0 -4
- package/src/sap/cux/home/PageSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.js +3 -5
- package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.ts +3 -5
- package/src/sap/cux/home/RecentAppPanel.d.ts +0 -1
- package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.js +0 -1
- package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.ts +0 -1
- package/src/sap/cux/home/RecommendedAppPanel.d.ts +0 -1
- package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.js +0 -1
- package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.ts +0 -1
- package/src/sap/cux/home/SettingsDialog.d.ts +0 -3
- package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/SettingsDialog.js +2 -4
- package/src/sap/cux/home/SettingsDialog.js.map +1 -1
- package/src/sap/cux/home/SettingsDialog.ts +2 -4
- package/src/sap/cux/home/SituationPanel.d.ts +0 -1
- package/src/sap/cux/home/SituationPanel.d.ts.map +1 -1
- package/src/sap/cux/home/SituationPanel.js +0 -1
- package/src/sap/cux/home/SituationPanel.js.map +1 -1
- package/src/sap/cux/home/SituationPanel.ts +0 -1
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts +207 -0
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -0
- package/src/sap/cux/home/SpaceInsightsPanel.gen.d.ts +200 -0
- package/src/sap/cux/home/SpaceInsightsPanel.js +789 -0
- package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -0
- package/src/sap/cux/home/SpaceInsightsPanel.ts +631 -0
- package/src/sap/cux/home/SpacePanel.d.ts +117 -0
- package/src/sap/cux/home/SpacePanel.d.ts.map +1 -0
- package/src/sap/cux/home/SpacePanel.gen.d.ts +77 -0
- package/src/sap/cux/home/SpacePanel.js +599 -0
- package/src/sap/cux/home/SpacePanel.js.map +1 -0
- package/src/sap/cux/home/SpacePanel.ts +461 -0
- package/src/sap/cux/home/TaskPanel.d.ts +0 -1
- package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TaskPanel.js +8 -20
- package/src/sap/cux/home/TaskPanel.js.map +1 -1
- package/src/sap/cux/home/TaskPanel.ts +9 -20
- package/src/sap/cux/home/TilesPanel.d.ts +0 -1
- package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TilesPanel.js +5 -6
- package/src/sap/cux/home/TilesPanel.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.ts +5 -12
- package/src/sap/cux/home/ToDoPanel.d.ts +11 -1
- package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ToDoPanel.js +59 -22
- package/src/sap/cux/home/ToDoPanel.js.map +1 -1
- package/src/sap/cux/home/ToDoPanel.ts +63 -22
- package/src/sap/cux/home/ToDosContainer.d.ts +0 -2
- package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
- package/src/sap/cux/home/ToDosContainer.js +2 -3
- package/src/sap/cux/home/ToDosContainer.js.map +1 -1
- package/src/sap/cux/home/ToDosContainer.ts +1 -2
- package/src/sap/cux/home/i18n/messagebundle.properties +22 -13
- package/src/sap/cux/home/i18n/messagebundle_ar.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_bg.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_ca.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_cnr.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_cs.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_cy.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_da.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_de.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_el.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_en.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +65 -13
- package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +19 -9
- package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +57 -11
- package/src/sap/cux/home/i18n/messagebundle_es.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_et.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_fi.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_fr.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_hi.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_hr.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_hu.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_id.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_it.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_iw.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_ja.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_kk.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_ko.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_lt.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_lv.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_mk.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_ms.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_nl.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_no.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_pl.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_pt.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_ro.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_ru.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_sh.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_sk.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_sl.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_sr.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_sv.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_th.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_tr.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_uk.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_vi.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +6 -3
- package/src/sap/cux/home/interface/AppsInterface.d.ts +1 -0
- package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.ts +1 -0
- package/src/sap/cux/home/interface/CardsInterface.d.ts +1 -5
- package/src/sap/cux/home/interface/CardsInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/CardsInterface.js.map +1 -1
- package/src/sap/cux/home/interface/CardsInterface.ts +1 -1
- package/src/sap/cux/home/library.d.ts +3 -4
- package/src/sap/cux/home/library.d.ts.map +1 -1
- package/src/sap/cux/home/library.js +3 -4
- package/src/sap/cux/home/library.js.map +1 -1
- package/src/sap/cux/home/library.ts +3 -4
- package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +1 -9
- package/src/sap/cux/home/themes/base/InsightsContainer.less +4 -0
- package/src/sap/cux/home/themes/base/KeyUserSettingsDialog.less +0 -5
- package/src/sap/cux/home/themes/base/ToDosContainer.less +2 -1
- package/src/sap/cux/home/utils/Accessibility.js +2 -2
- package/src/sap/cux/home/utils/Accessibility.js.map +1 -1
- package/src/sap/cux/home/utils/Accessibility.ts +2 -2
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts +0 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js +0 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js.map +1 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.ts +0 -1
- package/src/sap/cux/home/utils/AppManager.d.ts +4 -7
- package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AppManager.js +12 -13
- package/src/sap/cux/home/utils/AppManager.js.map +1 -1
- package/src/sap/cux/home/utils/AppManager.ts +20 -13
- package/src/sap/cux/home/utils/BatchHelper.d.ts +0 -3
- package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.js +0 -3
- package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.ts +0 -3
- package/src/sap/cux/home/utils/CommonUtils.d.ts +9 -0
- package/src/sap/cux/home/utils/CommonUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/CommonUtils.js +23 -2
- package/src/sap/cux/home/utils/CommonUtils.js.map +1 -1
- package/src/sap/cux/home/utils/CommonUtils.ts +28 -1
- package/src/sap/cux/home/utils/Constants.d.ts +4 -5
- package/src/sap/cux/home/utils/Constants.d.ts.map +1 -1
- package/src/sap/cux/home/utils/Constants.js +5 -5
- package/src/sap/cux/home/utils/Constants.js.map +1 -1
- package/src/sap/cux/home/utils/Constants.ts +4 -5
- package/src/sap/cux/home/utils/DecisionDialog.d.ts +0 -3
- package/src/sap/cux/home/utils/DecisionDialog.d.ts.map +1 -1
- package/src/sap/cux/home/utils/DecisionDialog.js +0 -3
- package/src/sap/cux/home/utils/DecisionDialog.js.map +1 -1
- package/src/sap/cux/home/utils/DecisionDialog.ts +0 -3
- package/src/sap/cux/home/utils/FESRUtil.js +1 -1
- package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
- package/src/sap/cux/home/utils/FESRUtil.ts +1 -1
- package/src/sap/cux/home/utils/FeatureUtils.d.ts +20 -13
- package/src/sap/cux/home/utils/FeatureUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/FeatureUtils.js +33 -29
- package/src/sap/cux/home/utils/FeatureUtils.js.map +1 -1
- package/src/sap/cux/home/utils/FeatureUtils.ts +38 -31
- package/src/sap/cux/home/utils/HttpHelper.d.ts +7 -3
- package/src/sap/cux/home/utils/HttpHelper.d.ts.map +1 -1
- package/src/sap/cux/home/utils/HttpHelper.js +43 -3
- package/src/sap/cux/home/utils/HttpHelper.js.map +1 -1
- package/src/sap/cux/home/utils/HttpHelper.ts +25 -3
- package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts.map +1 -1
- package/src/sap/cux/home/utils/KeyUserPersonalization.js +32 -13
- package/src/sap/cux/home/utils/KeyUserPersonalization.js.map +1 -1
- package/src/sap/cux/home/utils/KeyUserPersonalization.ts +2 -3
- package/src/sap/cux/home/utils/PageManager.d.ts +0 -3
- package/src/sap/cux/home/utils/PageManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PageManager.js +0 -3
- package/src/sap/cux/home/utils/PageManager.js.map +1 -1
- package/src/sap/cux/home/utils/PageManager.ts +0 -3
- package/src/sap/cux/home/utils/PersonalisationUtils.d.ts +0 -3
- package/src/sap/cux/home/utils/PersonalisationUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PersonalisationUtils.js +0 -3
- package/src/sap/cux/home/utils/PersonalisationUtils.js.map +1 -1
- package/src/sap/cux/home/utils/PersonalisationUtils.ts +0 -3
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +0 -3
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.js +0 -3
- package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.ts +0 -3
- package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +20 -16
- package/src/sap/cux/home/{AppsContainerGenericPlaceholder.d.ts → utils/placeholder/AppsPlaceholder.d.ts} +2 -2
- package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/{AppsContainerGenericPlaceholder.js → utils/placeholder/AppsPlaceholder.js} +1 -1
- package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.js → utils/placeholder/InsightsPlaceholder.js} +1 -1
- package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.js.map +1 -0
- package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.d.ts → utils/placeholder/NewsAndPagesPlaceholder.d.ts} +3 -3
- package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/{NewsAndPagesContainerGenericPlaceholder.js → utils/placeholder/NewsAndPagesPlaceholder.js} +1 -1
- package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.js.map +1 -0
- package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.d.ts → utils/placeholder/ToDosPlaceholder.d.ts} +2 -2
- package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.js → utils/placeholder/ToDosPlaceholder.js} +1 -1
- package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.js.map +1 -0
- package/src/sap/cux/home/AppsContainerGenericPlaceholder.d.ts.map +0 -1
- package/src/sap/cux/home/AppsContainerGenericPlaceholder.js.map +0 -1
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder.d.ts.map +0 -1
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder.js.map +0 -1
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts +0 -8
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts.map +0 -1
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.js.map +0 -1
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder.d.ts.map +0 -1
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder.js.map +0 -1
- package/src/sap/cux/home/utils/CardSkeleton.d.ts +0 -54
- package/src/sap/cux/home/utils/CardSkeleton.d.ts.map +0 -1
- package/src/sap/cux/home/utils/CardSkeleton.js +0 -61
- package/src/sap/cux/home/utils/CardSkeleton.js.map +0 -1
- package/src/sap/cux/home/utils/CardSkeleton.ts +0 -53
- /package/src/sap/cux/home/{AppsContainerGenericPlaceholder.ts → utils/placeholder/AppsPlaceholder.ts} +0 -0
- /package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.ts → utils/placeholder/InsightsPlaceholder.ts} +0 -0
- /package/src/sap/cux/home/{NewsAndPagesContainerGenericPlaceholder.ts → utils/placeholder/NewsAndPagesPlaceholder.ts} +0 -0
- /package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.ts → utils/placeholder/ToDosPlaceholder.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecisionDialog.js","names":["sap","ui","define","Log","MessageBox","sap_m_library","BaseObject","Element","Fragment","sap_ui_core_library","JSONModel","ODataModel","ResourceModel","___DataFormatUtils","___TaskUtils","_catch","body","recover","result","e","then","ButtonType","ValueState","toTaskPriorityText","TaskPriority","ReasonRequired","decideButtonNature","decisionOption","Nature","toUpperCase","Accept","Reject","Neutral","Default","getActionButton","i18nBundle","task","baseUrl","text","DecisionText","type","pressHandler","DecisionDialog","decisionDialogMethod","bind","getIconFrameBadge","priority","iconBadge","VERY_HIGH","HIGH","getIconFrameBadgeValueState","Error","None","extend","constructor","_constructor","refreshView","BaseObject.prototype.constructor.call","handleReasonOptionChange","_handleReasonOptionChange","event","comboBox","getSource","comboBoxValue","getValue","selectedItem","getSelectedItem","confirmationDialogPromise","confirmationDialog","comboBoxRequired","confirmationDialogModel","getData","dialogSettings","reasonOptionsSettings","required","setTooltip","setValueState","getBeginButton","setEnabled","_toggleSubmitButtonState","catch","error","message","String","dialogData","noteRequired","noteMandatory","noteFilled","getElementById","trim","length","comboBoxFilled","noteFlag","comboBoxFlag","setProperty","readReasonOptions","_readReasonOptions","origin","instance","decisionKey","onSuccess","onError","sPath","oUrlParams","SAP__Origin","InstanceID","DecisionKey","fnSuccess","oData","results","fnError","oError","dataServiceModel","read","urlParameters","success","groupId","loadReasonOptions","_loadReasonOptions","_this","metaModel","getMetaModel","Promise","resolve","loaded","getODataFunctionImport","reject","reasonOptions","show","Required","Optional","openDecisionDialog","_openDecisionDialog","submitButtonEnabled","load","name","controller","confirmationDialogFragment","i18nModel","bundle","priorityText","addStyleClass","Priority","setModel","open","confirmActionHandler","_confirmActionHandler","getModel","getProperty","reasonOptionSelectedItem","reasonCode","getKey","note","showNote","handleCancel","_handleCancel","_bClosedViaButton","close","cancelActionHandler","refresh","handleAfterClose","_handleAfterClose","destroy","createODataRequest","_createODataRequest","path","urlParams","settings","data","response","info","getText","details","parameters","responseText","fireRequestFailed","create","sendAction","_sendAction","importName","decision","reasonOptionCode","Comments","ReasonCode","setBusy","JSON","parse","value","showDecisionDialog","_showDecisionDialog","_this2","TaskTitle","title","decisionDialogSettings","CommentMandatory","question","badgeIcon","badgeValueState","confirmButtonLabel","showFeedbackMessage","textAreaLabel","reasonOptionKey","_temp","metadataLoaded","reasonOptionsLoadedPromise","noneText","unshift","Name","Code","dialogUtils","getTaskActions","multiSelectDecisionResults","actions","displayedTypes","Set","multiSelectDecisionOptions","TaskDefinitionID","has","push","add","action"],"sources":["DecisionDialog.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport ComboBox from \"sap/m/ComboBox\";\nimport Dialog from \"sap/m/Dialog\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport Text from \"sap/m/Text\";\nimport TextArea from \"sap/m/TextArea\";\nimport { ButtonType } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport BaseObject from \"sap/ui/base/Object\";\nimport Control from \"sap/ui/core/Control\";\nimport Element from \"sap/ui/core/Element\";\nimport Fragment from \"sap/ui/core/Fragment\";\nimport { ValueState } from \"sap/ui/core/library\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport ODataModel from \"sap/ui/model/odata/v2/ODataModel\";\nimport ResourceModel from \"sap/ui/model/resource/ResourceModel\";\nimport { Task } from \"../TaskPanel\";\nimport { Response } from \"../ToDoPanel\";\nimport { toTaskPriorityText } from \"./DataFormatUtils\";\nimport { TaskPriority } from \"./TaskUtils\";\n\nenum ReasonRequired {\n\tRequired = \"REQUIRED\",\n\tOptional = \"OPTIONAL\"\n}\n\nexport interface DecisionOption {\n\tSAP__Origin: string;\n\tInstanceID: string;\n\tNature: ButtonType;\n\tDecisionKey: string;\n\tCommentMandatory: boolean;\n\tDecisionText: string;\n\tReasonRequired: ReasonRequired;\n}\n\ninterface ReasonOption {\n\t[key: string]: string;\n}\n\ninterface ReasonOptionSettings {\n\tshow: boolean;\n\trequired: boolean;\n\treasonOptions?: ReasonOption[];\n}\n\ninterface DecisionDialogSettings {\n\tbadgeIcon: string;\n\tbadgeValueState: string;\n\tshowNote: boolean;\n\tnoteMandatory: boolean;\n\tquestion: string;\n\ttitle: string;\n\tconfirmButtonLabel: string;\n\ttextAreaLabel: string;\n\tpriorityText: string;\n\tshowFeedbackMessage: boolean;\n\treasonOptionsSettings: ReasonOptionSettings;\n\tconfirmActionHandler: (note: string, reasonCode: string) => void;\n\tcancelActionHandler: () => void;\n}\n\ninterface IDecisionDialog extends Dialog {\n\t_bClosedViaButton: boolean;\n}\n\ninterface DialogSettings {\n\tdialogSettings: DecisionDialogSettings;\n\tsubmitButtonEnabled: boolean;\n}\n\ninterface ODataError {\n\tresponse: {\n\t\tbody: string;\n\t};\n\tresponseText: string;\n\terror: {\n\t\tmessage: {\n\t\t\tvalue: string;\n\t\t};\n\t};\n}\n\ninterface MultiSelectDecisionResult {\n\t[key: string]: DecisionOption[];\n}\n\nexport interface ActionButton {\n\ttype: ButtonType;\n\ttext: string;\n\tpressHandler: (refresh: Refresh) => Promise<void> | void;\n}\n\ninterface Refresh {\n\t(forceRefresh: boolean): void;\n}\n\nconst decideButtonNature = (decisionOption: DecisionOption): ButtonType => {\n\tswitch (decisionOption.Nature?.toUpperCase()) {\n\t\tcase \"POSITIVE\":\n\t\t\treturn ButtonType.Accept;\n\t\tcase \"NEGATIVE\":\n\t\t\treturn ButtonType.Reject;\n\t\tcase \"NEUTRAL\":\n\t\t\treturn ButtonType.Neutral;\n\t\tdefault:\n\t\t\treturn ButtonType.Default;\n\t}\n};\n\nconst getActionButton = (decisionOption: DecisionOption, i18nBundle: ResourceBundle, task: Task, baseUrl: string): ActionButton => {\n\treturn {\n\t\ttext: decisionOption.DecisionText,\n\t\ttype: decideButtonNature(decisionOption) || ButtonType.Default,\n\t\tpressHandler: DecisionDialog.decisionDialogMethod.bind(null, decisionOption, i18nBundle, task, baseUrl)\n\t};\n};\n\n/**\n * Gets the icon frame badge based on the task priority.\n *\n * This method returns a specific badge string for tasks with high or very high priority.\n * For tasks with lower priorities, it returns an empty string.\n *\n * @param {TaskPriority} priority - The priority level of the task.\n * @returns {string} The badge string for high priority tasks, or an empty string for others.\n */\nexport function getIconFrameBadge(priority: TaskPriority): string {\n\tlet iconBadge = \"\";\n\tif (priority === TaskPriority.VERY_HIGH || priority === TaskPriority.HIGH) {\n\t\ticonBadge = \"sap-icon://high-priority\";\n\t}\n\n\treturn iconBadge;\n}\n\n/**\n * Converts a priority string to a Priority enum value.\n * If the priority string is not recognized, it returns the default value \"None\".\n *\n * @param {TaskPriority} priority - The priority string to convert.\n * @returns {ValueState} The corresponding Priority enum value.\n */\nexport function getIconFrameBadgeValueState(priority: TaskPriority): ValueState {\n\treturn priority === TaskPriority.VERY_HIGH || priority === TaskPriority.HIGH ? ValueState.Error : ValueState.None;\n}\n\n/**\n *\n * Helper class for Decision Dialog handling.\n *\n * @extends BaseObject\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @experimental Since 1.121\n * @private\n *\n * @alias sap.cux.home.utils.DecisionDialog\n */\nexport default class DecisionDialog extends BaseObject {\n\tprivate decisionOption: DecisionOption;\n\tprivate i18nBundle: ResourceBundle;\n\tprivate refreshView: Refresh;\n\tprivate task: Task;\n\tprivate confirmationDialogPromise!: Promise<IDecisionDialog>;\n\tprivate confirmationDialogModel!: JSONModel;\n\tprivate dataServiceModel!: ODataModel;\n\tprivate baseUrl: string;\n\n\tconstructor(decisionOption: DecisionOption, i18nBundle: ResourceBundle, task: Task, baseUrl: string, refreshView: Refresh) {\n\t\tsuper();\n\t\tthis.decisionOption = decisionOption;\n\t\tthis.i18nBundle = i18nBundle;\n\t\tthis.baseUrl = baseUrl;\n\t\tthis.refreshView = refreshView;\n\t\tthis.task = task;\n\t}\n\n\t/**\n\t * Handles the change event of the reason option ComboBox.\n\t *\n\t * @private\n\t * @param {Event} event - The event object.\n\t * @returns {void}\n\t */\n\tpublic handleReasonOptionChange(event: Event): void {\n\t\tconst comboBox = event.getSource<ComboBox>();\n\t\tconst comboBoxValue = comboBox.getValue();\n\t\tconst selectedItem = comboBox.getSelectedItem();\n\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tconst comboBoxRequired = (this.confirmationDialogModel.getData() as DialogSettings).dialogSettings.reasonOptionsSettings\n\t\t\t\t\t.required;\n\t\t\t\t// Set the tooltip useful when the currently selected item's text is truncated\n\t\t\t\tcomboBox.setTooltip(comboBoxValue);\n\t\t\t\tcomboBox.setValueState(selectedItem === null ? ValueState.Error : ValueState.None);\n\n\t\t\t\t// Special case where if reason options is optional and all\n\t\t\t\t// the text is deleted value state should be none (corner case)\n\t\t\t\tif (!comboBoxRequired && comboBoxValue === \"\") {\n\t\t\t\t\tcomboBox.setValueState(ValueState.None);\n\t\t\t\t}\n\n\t\t\t\t// Special case where if value in combo box gets partially deleted by the user\n\t\t\t\t// there is no selection yet button is not disabled\n\t\t\t\tif (!comboBoxRequired && comboBoxValue !== \"\" && selectedItem === null) {\n\t\t\t\t\tconfirmationDialog.getBeginButton().setEnabled(false);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Update the submit button state (disabled / enabled)\n\t\t\t\tthis._toggleSubmitButtonState();\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * Toggles the state of the submit button based on the dialog settings.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tpublic _toggleSubmitButtonState(): void {\n\t\tconst dialogData = this.confirmationDialogModel.getData() as DialogSettings;\n\t\tconst noteRequired = dialogData.dialogSettings.noteMandatory;\n\n\t\tconst noteFilled = (Element.getElementById(\"confirmDialogTextarea\") as TextArea).getValue().trim().length > 0;\n\t\tconst comboBoxRequired = dialogData.dialogSettings.reasonOptionsSettings.required;\n\n\t\tconst comboBoxFilled = (Element.getElementById(\"reasonOptionsSelect\") as ComboBox).getSelectedItem() !== null;\n\t\tconst noteFlag = (noteRequired && noteFilled) || !noteRequired;\n\t\tconst comboBoxFlag = (comboBoxRequired && comboBoxFilled) || !comboBoxRequired;\n\n\t\tthis.confirmationDialogModel.setProperty(\"/submitButtonEnabled\", noteFlag && comboBoxFlag);\n\t}\n\n\t/**\n\t * Reads reason options from the backend.\n\t *\n\t * @private\n\t * @param {string} origin - The SAP origin.\n\t * @param {string} instance - The instance ID.\n\t * @param {string} decisionKey - The decision key.\n\t * @param {Function} onSuccess - The success callback function.\n\t * @param {Function} onError - The error callback function.\n\t * @returns {void}\n\t */\n\tprivate readReasonOptions(\n\t\torigin: string,\n\t\tinstance: string,\n\t\tdecisionKey: string,\n\t\tonSuccess: (arg: ReasonOption[]) => void,\n\t\tonError: (arg: unknown) => void\n\t): void {\n\t\tconst sPath = \"/ReasonOptions\";\n\t\tconst oUrlParams = {\n\t\t\tSAP__Origin: `'${origin}'`,\n\t\t\tInstanceID: `'${instance}'`,\n\t\t\tDecisionKey: `'${decisionKey}'`\n\t\t};\n\t\tconst fnSuccess = (oData: Response) => {\n\t\t\tif (oData && oData.results) {\n\t\t\t\tif (onSuccess) {\n\t\t\t\t\tonSuccess(oData.results as ReasonOption[]);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tconst fnError = (oError: unknown) => {\n\t\t\tif (onError) {\n\t\t\t\tonError(oError);\n\t\t\t}\n\t\t};\n\n\t\tthis.dataServiceModel.read(sPath, {\n\t\t\turlParameters: oUrlParams,\n\t\t\tsuccess: fnSuccess,\n\t\t\terror: fnError,\n\t\t\tgroupId: \"reasonOptions\"\n\t\t});\n\t}\n\n\t/**\n\t * Load the reason options which are part of this decision option.\n\t *\n\t * @private\n\t * @returns {Promise<ReasonOptionSettings | null>} - containing resolved array of reason options\n\t */\n\tprivate async loadReasonOptions(): Promise<ReasonOptionSettings | null> {\n\t\tconst metaModel = this.dataServiceModel.getMetaModel();\n\t\tawait metaModel.loaded();\n\n\t\tif (metaModel.getODataFunctionImport(\"ReasonOptions\")) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tthis.readReasonOptions(\n\t\t\t\t\tthis.decisionOption.SAP__Origin,\n\t\t\t\t\tthis.decisionOption.InstanceID,\n\t\t\t\t\tthis.decisionOption.DecisionKey,\n\t\t\t\t\t(reasonOptions: ReasonOption[]) => {\n\t\t\t\t\t\tconst reasonOptionsSettings = {\n\t\t\t\t\t\t\tshow:\n\t\t\t\t\t\t\t\t(this.decisionOption.ReasonRequired === ReasonRequired.Required ||\n\t\t\t\t\t\t\t\t\tthis.decisionOption.ReasonRequired === ReasonRequired.Optional) &&\n\t\t\t\t\t\t\t\treasonOptions.length > 0,\n\t\t\t\t\t\t\trequired: this.decisionOption.ReasonRequired === ReasonRequired.Required,\n\t\t\t\t\t\t\treasonOptions: reasonOptions\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tresolve(reasonOptionsSettings);\n\t\t\t\t\t},\n\t\t\t\t\t(oError) => {\n\t\t\t\t\t\treject(oError as Error);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Open the decision dialog for the inbox task selected.\n\t *\n\t * @private\n\t * @param {DecisionDialogSettings} dialogSettings - contains the settings for the decision dialog\n\t */\n\tprivate openDecisionDialog(dialogSettings: DecisionDialogSettings) {\n\t\tthis.confirmationDialogModel = new JSONModel({\n\t\t\tsubmitButtonEnabled: !dialogSettings?.noteMandatory && !dialogSettings?.reasonOptionsSettings?.required,\n\t\t\tdialogSettings\n\t\t});\n\n\t\tthis.confirmationDialogPromise = Fragment.load({\n\t\t\ttype: \"XML\",\n\t\t\tname: \"sap.cux.home.utils.fragment.showDecisionDialog\",\n\t\t\tcontroller: this\n\t\t})\n\t\t\t.then((confirmationDialogFragment: Control | Control[]) => {\n\t\t\t\tconst confirmationDialog = confirmationDialogFragment as IDecisionDialog;\n\t\t\t\tconst i18nModel = new ResourceModel({ bundle: this.i18nBundle });\n\t\t\t\tconst priorityText = Element.getElementById(\"task-priority-text\") as Text;\n\t\t\t\tpriorityText.addStyleClass(this.task.Priority);\n\n\t\t\t\tconfirmationDialog.setModel(this.confirmationDialogModel);\n\t\t\t\tconfirmationDialog.setModel(i18nModel, \"i18n\");\n\t\t\t\tconfirmationDialog.open();\n\t\t\t\treturn confirmationDialog;\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t}) as Promise<IDecisionDialog>;\n\t}\n\n\t/**\n\t * Submit handler for the decision dialog\n\t *\n\t * @private\n\t */\n\tpublic confirmActionHandler(): void {\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tconst dialogSettings = (confirmationDialog.getModel()?.getProperty(\"/\") as DialogSettings).dialogSettings;\n\t\t\t\tconst reasonOptionsSettings = dialogSettings.reasonOptionsSettings;\n\n\t\t\t\t// Get the reason option value from the combo box\n\t\t\t\tconst reasonOptionSelectedItem = reasonOptionsSettings.show\n\t\t\t\t\t? (Element.getElementById(\"reasonOptionsSelect\") as ComboBox)?.getSelectedItem()\n\t\t\t\t\t: null;\n\t\t\t\tconst reasonCode = (\n\t\t\t\t\treasonOptionSelectedItem !== null && reasonOptionSelectedItem?.getKey() !== \"defaultSelectedKey\"\n\t\t\t\t\t\t? reasonOptionSelectedItem.getKey()\n\t\t\t\t\t\t: null\n\t\t\t\t) as string;\n\n\t\t\t\t// Get the note value from the text area\n\t\t\t\tconst note = (\n\t\t\t\t\tdialogSettings.showNote ? (Element.getElementById(\"confirmDialogTextarea\") as TextArea)?.getValue() : null\n\t\t\t\t) as string;\n\t\t\t\tdialogSettings.confirmActionHandler(note, reasonCode);\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * Handler for cancel action in the decision dialog\n\t *\n\t * @private\n\t */\n\tpublic handleCancel() {\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tconst dialogSettings = (confirmationDialog.getModel()?.getProperty(\"/\") as DialogSettings).dialogSettings;\n\t\t\t\tconfirmationDialog._bClosedViaButton = true;\n\t\t\t\tconfirmationDialog.close();\n\t\t\t\tdialogSettings.cancelActionHandler();\n\n\t\t\t\tif (this.confirmationDialogModel.getProperty(\"/dialogSettings/showFeedbackMessage\")) {\n\t\t\t\t\tthis.dataServiceModel.refresh();\n\t\t\t\t\tthis.refreshView(true);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * After close dialog handler in the decision dialog\n\t *\n\t * @private\n\t */\n\tpublic handleAfterClose() {\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tif (confirmationDialog._bClosedViaButton) {\n\t\t\t\t\t// dialog is closed via button\n\t\t\t\t\tconfirmationDialog._bClosedViaButton = false;\n\t\t\t\t} else {\n\t\t\t\t\t// dialog is closed by other means (e.g. pressing Escape)\n\t\t\t\t\tconst dialogSettings = (confirmationDialog.getModel()?.getProperty(\"/\") as DialogSettings).dialogSettings;\n\t\t\t\t\tdialogSettings.cancelActionHandler();\n\t\t\t\t}\n\t\t\t\tconfirmationDialog.destroy();\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * Creates an OData request with the specified parameters.\n\t *\n\t * @private\n\t * @param {string} path - The path of the OData request.\n\t * @param {Record<string, string>} urlParams - The URL parameters of the request.\n\t * @param {Function} fnSuccess - The success callback function.\n\t * @param {Function} fnError - The error callback function.\n\t * @returns {void}\n\t */\n\tprivate createODataRequest(\n\t\tpath: string,\n\t\turlParams: Record<string, string>,\n\t\tfnSuccess: (data: unknown, response: unknown) => void,\n\t\tfnError: (error: ODataError) => void\n\t): void {\n\t\tconst settings = {\n\t\t\tsuccess: (data: unknown, response: unknown) => {\n\t\t\t\tLog.info(\"successful action\");\n\t\t\t\tfnSuccess?.(data, response);\n\t\t\t},\n\t\t\terror: (error: ODataError) => {\n\t\t\t\tconst message = this.i18nBundle.getText(\"DataManager.HTTPRequestFailed\");\n\t\t\t\tconst details = error.response ? error.response.body : null;\n\t\t\t\tconst parameters = {\n\t\t\t\t\tmessage: message,\n\t\t\t\t\tresponseText: details as string\n\t\t\t\t};\n\t\t\t\tthis.dataServiceModel.fireRequestFailed(parameters);\n\t\t\t\tfnError(error);\n\t\t\t},\n\t\t\turlParameters: urlParams\n\t\t};\n\n\t\tthis.dataServiceModel.create(path, {}, settings);\n\t}\n\n\t/**\n\t * Sends an action to the backend.\n\t *\n\t * @private\n\t * @param {string} importName - The name of the function import or action.\n\t * @param {DecisionOption} decision - The decision option.\n\t * @param {string} note - The note to be included with the action.\n\t * @param {string} reasonOptionCode - The reason option code.\n\t * @param {Task} task - The task associated with the action.\n\t * @returns {void}\n\t */\n\tprivate sendAction(importName: string, decision: DecisionOption, note: string, reasonOptionCode: string, task: Task): void {\n\t\tconst urlParams: Record<string, string> = {\n\t\t\tSAP__Origin: `'${task.SAP__Origin}'`,\n\t\t\tInstanceID: `'${task.InstanceID}'`\n\t\t};\n\n\t\tif (decision.DecisionKey) {\n\t\t\turlParams.DecisionKey = `'${decision.DecisionKey}'`;\n\t\t}\n\n\t\tif (note?.length > 0) {\n\t\t\turlParams.Comments = `'${note}'`;\n\t\t}\n\n\t\tif (reasonOptionCode) {\n\t\t\turlParams.ReasonCode = `'${reasonOptionCode}'`;\n\t\t}\n\n\t\tconst onSuccess = () => {\n\t\t\tthis.confirmationDialogPromise\n\t\t\t\t.then((confirmationDialog) => {\n\t\t\t\t\tconfirmationDialog.setBusy(false);\n\t\t\t\t\tthis.confirmationDialogModel.setProperty(\"/dialogSettings/showFeedbackMessage\", true);\n\t\t\t\t})\n\t\t\t\t.catch((error: unknown) => {\n\t\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t\t});\n\t\t};\n\n\t\tconst onError = (error: ODataError) => {\n\t\t\tif (error.responseText) {\n\t\t\t\tconst oError = JSON.parse(error.responseText) as ODataError;\n\t\t\t\tMessageBox.error(oError?.error?.message?.value);\n\t\t\t}\n\t\t\tthis.handleCancel();\n\t\t};\n\n\t\tthis.createODataRequest(`/${importName}`, urlParams, onSuccess, onError);\n\t}\n\n\t/**\n\t * Shows the decision dialog.\n\t *\n\t * @private\n\t * @returns {Promise<void>}\n\t */\n\tprivate async showDecisionDialog(): Promise<void> {\n\t\tthis.dataServiceModel = this.dataServiceModel || new ODataModel(this.baseUrl);\n\t\tconst { TaskTitle: title, Priority } = this.task;\n\t\tconst decisionDialogSettings: DecisionDialogSettings = {\n\t\t\tnoteMandatory: this.decisionOption.CommentMandatory,\n\t\t\tquestion: this.i18nBundle.getText(\"XMSG_DECISION_QUESTION\", [this.decisionOption.DecisionText]) as string,\n\t\t\ttitle,\n\t\t\tbadgeIcon: getIconFrameBadge(Priority),\n\t\t\tbadgeValueState: getIconFrameBadgeValueState(Priority),\n\t\t\tpriorityText: this.i18nBundle.getText(toTaskPriorityText(Priority)) as string,\n\t\t\tconfirmButtonLabel: this.i18nBundle.getText(\"XBUT_SUBMIT\") as string,\n\t\t\tshowNote: true,\n\t\t\tshowFeedbackMessage: false,\n\t\t\treasonOptionsSettings: {\n\t\t\t\tshow: false,\n\t\t\t\trequired: false\n\t\t\t},\n\t\t\ttextAreaLabel: this.i18nBundle.getText(\"XFLD_TextArea_Decision\") as string,\n\t\t\tconfirmActionHandler: (note, reasonOptionKey) => {\n\t\t\t\tthis.sendAction(\"Decision\", this.decisionOption, note, reasonOptionKey, this.task);\n\t\t\t},\n\t\t\tcancelActionHandler: () => {}\n\t\t};\n\n\t\ttry {\n\t\t\tawait this.dataServiceModel.metadataLoaded();\n\t\t\tconst reasonOptionsLoadedPromise =\n\t\t\t\tthis.decisionOption?.ReasonRequired === ReasonRequired.Required ||\n\t\t\t\tthis.decisionOption?.ReasonRequired === ReasonRequired.Optional\n\t\t\t\t\t? this.loadReasonOptions()\n\t\t\t\t\t: null;\n\n\t\t\t// reason options won't be loaded\n\t\t\tif (!reasonOptionsLoadedPromise) {\n\t\t\t\tthis.openDecisionDialog(decisionDialogSettings);\n\t\t\t} else {\n\t\t\t\t// based on reasonOptionsLoadedPromise, reason options will be loaded\n\t\t\t\treasonOptionsLoadedPromise\n\t\t\t\t\t.then((reasonOptionsSettings: ReasonOptionSettings | null) => {\n\t\t\t\t\t\tif (reasonOptionsSettings !== null) {\n\t\t\t\t\t\t\tdecisionDialogSettings.reasonOptionsSettings = reasonOptionsSettings;\n\n\t\t\t\t\t\t\t// In case of optional reason option combo box, a (None) option is created as to have a default selection\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tdecisionDialogSettings.reasonOptionsSettings?.reasonOptions &&\n\t\t\t\t\t\t\t\t!decisionDialogSettings.reasonOptionsSettings?.required\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tconst noneText = `(${this.i18nBundle.getText(\"XSEL_DECISION_REASON_NONE_OPTION\")})`;\n\t\t\t\t\t\t\t\tdecisionDialogSettings.reasonOptionsSettings.reasonOptions.unshift({\n\t\t\t\t\t\t\t\t\tName: noneText,\n\t\t\t\t\t\t\t\t\tCode: \"defaultSelectedKey\"\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tthis.openDecisionDialog(decisionDialogSettings);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tLog.error(\"Could not load the reason options properly\");\n\t\t\t\t\t});\n\t\t\t}\n\t\t} catch {\n\t\t\tLog.error(\"Could not load metadata model for inbox\");\n\t\t}\n\t}\n\n\t/**\n\t * Initiates the decisionDialog\n\t *\n\t * @static\n\t * @param {DecisionOption} decisionOption - Decision Option\n\t * @param {ResourceModel} i18nBundle - The resource bundle for internationalization.\n\t * @param {Task} task - Task Instance\n\t * @param {Refresh} refresh - Refresh function\n\t */\n\tstatic decisionDialogMethod(decisionOption: DecisionOption, i18nBundle: ResourceBundle, task: Task, baseUrl: string, refresh: Refresh) {\n\t\tconst dialogUtils = new DecisionDialog(decisionOption, i18nBundle, task, baseUrl, refresh);\n\t\treturn dialogUtils.showDecisionDialog();\n\t}\n\n\t/**\n\t * Retrieves task actions based on the task and multi-select decision results.\n\t *\n\t * @static\n\t * @param {Task} task - The task for which actions are retrieved.\n\t * @param {string} baseUrl - The base URL.\n\t * @param {MultiSelectDecisionResult} multiSelectDecisionResults - The multi-select decision results.\n\t * @param {ResourceBundle} i18nBundle - The resource bundle for internationalization.\n\t * @returns {ActionButton[]} An array of action buttons.\n\t */\n\tstatic getTaskActions(\n\t\ttask: Task,\n\t\tbaseUrl: string,\n\t\tmultiSelectDecisionResults: MultiSelectDecisionResult,\n\t\ti18nBundle: ResourceBundle\n\t): ActionButton[] {\n\t\tconst actions: ActionButton[] = [];\n\t\tconst displayedTypes = new Set<string>();\n\t\tconst multiSelectDecisionOptions = multiSelectDecisionResults[task.SAP__Origin + task.TaskDefinitionID];\n\n\t\tif (multiSelectDecisionOptions) {\n\t\t\tfor (const decisionOption of multiSelectDecisionOptions) {\n\t\t\t\tif (!displayedTypes.has(decisionOption.Nature) || !decisionOption.Nature) {\n\t\t\t\t\tactions.push(getActionButton(decisionOption, i18nBundle, task, baseUrl));\n\t\t\t\t\tdisplayedTypes.add(decisionOption.Nature);\n\t\t\t\t} else {\n\t\t\t\t\tconst action = getActionButton(decisionOption, i18nBundle, task, baseUrl);\n\t\t\t\t\taction.type = ButtonType.Default;\n\t\t\t\t\tactions.push(action);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn actions;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DecisionDialog.js","names":["sap","ui","define","Log","MessageBox","sap_m_library","BaseObject","Element","Fragment","sap_ui_core_library","JSONModel","ODataModel","ResourceModel","___DataFormatUtils","___TaskUtils","_catch","body","recover","result","e","then","ButtonType","ValueState","toTaskPriorityText","TaskPriority","ReasonRequired","decideButtonNature","decisionOption","Nature","toUpperCase","Accept","Reject","Neutral","Default","getActionButton","i18nBundle","task","baseUrl","text","DecisionText","type","pressHandler","DecisionDialog","decisionDialogMethod","bind","getIconFrameBadge","priority","iconBadge","VERY_HIGH","HIGH","getIconFrameBadgeValueState","Error","None","extend","constructor","_constructor","refreshView","BaseObject.prototype.constructor.call","handleReasonOptionChange","_handleReasonOptionChange","event","comboBox","getSource","comboBoxValue","getValue","selectedItem","getSelectedItem","confirmationDialogPromise","confirmationDialog","comboBoxRequired","confirmationDialogModel","getData","dialogSettings","reasonOptionsSettings","required","setTooltip","setValueState","getBeginButton","setEnabled","_toggleSubmitButtonState","catch","error","message","String","dialogData","noteRequired","noteMandatory","noteFilled","getElementById","trim","length","comboBoxFilled","noteFlag","comboBoxFlag","setProperty","readReasonOptions","_readReasonOptions","origin","instance","decisionKey","onSuccess","onError","sPath","oUrlParams","SAP__Origin","InstanceID","DecisionKey","fnSuccess","oData","results","fnError","oError","dataServiceModel","read","urlParameters","success","groupId","loadReasonOptions","_loadReasonOptions","_this","metaModel","getMetaModel","Promise","resolve","loaded","getODataFunctionImport","reject","reasonOptions","show","Required","Optional","openDecisionDialog","_openDecisionDialog","submitButtonEnabled","load","name","controller","confirmationDialogFragment","i18nModel","bundle","priorityText","addStyleClass","Priority","setModel","open","confirmActionHandler","_confirmActionHandler","getModel","getProperty","reasonOptionSelectedItem","reasonCode","getKey","note","showNote","handleCancel","_handleCancel","_bClosedViaButton","close","cancelActionHandler","refresh","handleAfterClose","_handleAfterClose","destroy","createODataRequest","_createODataRequest","path","urlParams","settings","data","response","info","getText","details","parameters","responseText","fireRequestFailed","create","sendAction","_sendAction","importName","decision","reasonOptionCode","Comments","ReasonCode","setBusy","JSON","parse","value","showDecisionDialog","_showDecisionDialog","_this2","TaskTitle","title","decisionDialogSettings","CommentMandatory","question","badgeIcon","badgeValueState","confirmButtonLabel","showFeedbackMessage","textAreaLabel","reasonOptionKey","_temp","metadataLoaded","reasonOptionsLoadedPromise","noneText","unshift","Name","Code","dialogUtils","getTaskActions","multiSelectDecisionResults","actions","displayedTypes","Set","multiSelectDecisionOptions","TaskDefinitionID","has","push","add","action"],"sources":["DecisionDialog.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport ComboBox from \"sap/m/ComboBox\";\nimport Dialog from \"sap/m/Dialog\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport Text from \"sap/m/Text\";\nimport TextArea from \"sap/m/TextArea\";\nimport { ButtonType } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport BaseObject from \"sap/ui/base/Object\";\nimport Control from \"sap/ui/core/Control\";\nimport Element from \"sap/ui/core/Element\";\nimport Fragment from \"sap/ui/core/Fragment\";\nimport { ValueState } from \"sap/ui/core/library\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport ODataModel from \"sap/ui/model/odata/v2/ODataModel\";\nimport ResourceModel from \"sap/ui/model/resource/ResourceModel\";\nimport { Task } from \"../TaskPanel\";\nimport { Response } from \"../ToDoPanel\";\nimport { toTaskPriorityText } from \"./DataFormatUtils\";\nimport { TaskPriority } from \"./TaskUtils\";\n\nenum ReasonRequired {\n\tRequired = \"REQUIRED\",\n\tOptional = \"OPTIONAL\"\n}\n\nexport interface DecisionOption {\n\tSAP__Origin: string;\n\tInstanceID: string;\n\tNature: ButtonType;\n\tDecisionKey: string;\n\tCommentMandatory: boolean;\n\tDecisionText: string;\n\tReasonRequired: ReasonRequired;\n}\n\ninterface ReasonOption {\n\t[key: string]: string;\n}\n\ninterface ReasonOptionSettings {\n\tshow: boolean;\n\trequired: boolean;\n\treasonOptions?: ReasonOption[];\n}\n\ninterface DecisionDialogSettings {\n\tbadgeIcon: string;\n\tbadgeValueState: string;\n\tshowNote: boolean;\n\tnoteMandatory: boolean;\n\tquestion: string;\n\ttitle: string;\n\tconfirmButtonLabel: string;\n\ttextAreaLabel: string;\n\tpriorityText: string;\n\tshowFeedbackMessage: boolean;\n\treasonOptionsSettings: ReasonOptionSettings;\n\tconfirmActionHandler: (note: string, reasonCode: string) => void;\n\tcancelActionHandler: () => void;\n}\n\ninterface IDecisionDialog extends Dialog {\n\t_bClosedViaButton: boolean;\n}\n\ninterface DialogSettings {\n\tdialogSettings: DecisionDialogSettings;\n\tsubmitButtonEnabled: boolean;\n}\n\ninterface ODataError {\n\tresponse: {\n\t\tbody: string;\n\t};\n\tresponseText: string;\n\terror: {\n\t\tmessage: {\n\t\t\tvalue: string;\n\t\t};\n\t};\n}\n\ninterface MultiSelectDecisionResult {\n\t[key: string]: DecisionOption[];\n}\n\nexport interface ActionButton {\n\ttype: ButtonType;\n\ttext: string;\n\tpressHandler: (refresh: Refresh) => Promise<void> | void;\n}\n\ninterface Refresh {\n\t(forceRefresh: boolean): void;\n}\n\nconst decideButtonNature = (decisionOption: DecisionOption): ButtonType => {\n\tswitch (decisionOption.Nature?.toUpperCase()) {\n\t\tcase \"POSITIVE\":\n\t\t\treturn ButtonType.Accept;\n\t\tcase \"NEGATIVE\":\n\t\t\treturn ButtonType.Reject;\n\t\tcase \"NEUTRAL\":\n\t\t\treturn ButtonType.Neutral;\n\t\tdefault:\n\t\t\treturn ButtonType.Default;\n\t}\n};\n\nconst getActionButton = (decisionOption: DecisionOption, i18nBundle: ResourceBundle, task: Task, baseUrl: string): ActionButton => {\n\treturn {\n\t\ttext: decisionOption.DecisionText,\n\t\ttype: decideButtonNature(decisionOption) || ButtonType.Default,\n\t\tpressHandler: DecisionDialog.decisionDialogMethod.bind(null, decisionOption, i18nBundle, task, baseUrl)\n\t};\n};\n\n/**\n * Gets the icon frame badge based on the task priority.\n *\n * This method returns a specific badge string for tasks with high or very high priority.\n * For tasks with lower priorities, it returns an empty string.\n *\n * @param {TaskPriority} priority - The priority level of the task.\n * @returns {string} The badge string for high priority tasks, or an empty string for others.\n */\nexport function getIconFrameBadge(priority: TaskPriority): string {\n\tlet iconBadge = \"\";\n\tif (priority === TaskPriority.VERY_HIGH || priority === TaskPriority.HIGH) {\n\t\ticonBadge = \"sap-icon://high-priority\";\n\t}\n\n\treturn iconBadge;\n}\n\n/**\n * Converts a priority string to a Priority enum value.\n * If the priority string is not recognized, it returns the default value \"None\".\n *\n * @param {TaskPriority} priority - The priority string to convert.\n * @returns {ValueState} The corresponding Priority enum value.\n */\nexport function getIconFrameBadgeValueState(priority: TaskPriority): ValueState {\n\treturn priority === TaskPriority.VERY_HIGH || priority === TaskPriority.HIGH ? ValueState.Error : ValueState.None;\n}\n\n/**\n *\n * Helper class for Decision Dialog handling.\n *\n * @extends BaseObject\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.utils.DecisionDialog\n */\nexport default class DecisionDialog extends BaseObject {\n\tprivate decisionOption: DecisionOption;\n\tprivate i18nBundle: ResourceBundle;\n\tprivate refreshView: Refresh;\n\tprivate task: Task;\n\tprivate confirmationDialogPromise!: Promise<IDecisionDialog>;\n\tprivate confirmationDialogModel!: JSONModel;\n\tprivate dataServiceModel!: ODataModel;\n\tprivate baseUrl: string;\n\n\tconstructor(decisionOption: DecisionOption, i18nBundle: ResourceBundle, task: Task, baseUrl: string, refreshView: Refresh) {\n\t\tsuper();\n\t\tthis.decisionOption = decisionOption;\n\t\tthis.i18nBundle = i18nBundle;\n\t\tthis.baseUrl = baseUrl;\n\t\tthis.refreshView = refreshView;\n\t\tthis.task = task;\n\t}\n\n\t/**\n\t * Handles the change event of the reason option ComboBox.\n\t *\n\t * @private\n\t * @param {Event} event - The event object.\n\t * @returns {void}\n\t */\n\tpublic handleReasonOptionChange(event: Event): void {\n\t\tconst comboBox = event.getSource<ComboBox>();\n\t\tconst comboBoxValue = comboBox.getValue();\n\t\tconst selectedItem = comboBox.getSelectedItem();\n\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tconst comboBoxRequired = (this.confirmationDialogModel.getData() as DialogSettings).dialogSettings.reasonOptionsSettings\n\t\t\t\t\t.required;\n\t\t\t\t// Set the tooltip useful when the currently selected item's text is truncated\n\t\t\t\tcomboBox.setTooltip(comboBoxValue);\n\t\t\t\tcomboBox.setValueState(selectedItem === null ? ValueState.Error : ValueState.None);\n\n\t\t\t\t// Special case where if reason options is optional and all\n\t\t\t\t// the text is deleted value state should be none (corner case)\n\t\t\t\tif (!comboBoxRequired && comboBoxValue === \"\") {\n\t\t\t\t\tcomboBox.setValueState(ValueState.None);\n\t\t\t\t}\n\n\t\t\t\t// Special case where if value in combo box gets partially deleted by the user\n\t\t\t\t// there is no selection yet button is not disabled\n\t\t\t\tif (!comboBoxRequired && comboBoxValue !== \"\" && selectedItem === null) {\n\t\t\t\t\tconfirmationDialog.getBeginButton().setEnabled(false);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Update the submit button state (disabled / enabled)\n\t\t\t\tthis._toggleSubmitButtonState();\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * Toggles the state of the submit button based on the dialog settings.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tpublic _toggleSubmitButtonState(): void {\n\t\tconst dialogData = this.confirmationDialogModel.getData() as DialogSettings;\n\t\tconst noteRequired = dialogData.dialogSettings.noteMandatory;\n\n\t\tconst noteFilled = (Element.getElementById(\"confirmDialogTextarea\") as TextArea).getValue().trim().length > 0;\n\t\tconst comboBoxRequired = dialogData.dialogSettings.reasonOptionsSettings.required;\n\n\t\tconst comboBoxFilled = (Element.getElementById(\"reasonOptionsSelect\") as ComboBox).getSelectedItem() !== null;\n\t\tconst noteFlag = (noteRequired && noteFilled) || !noteRequired;\n\t\tconst comboBoxFlag = (comboBoxRequired && comboBoxFilled) || !comboBoxRequired;\n\n\t\tthis.confirmationDialogModel.setProperty(\"/submitButtonEnabled\", noteFlag && comboBoxFlag);\n\t}\n\n\t/**\n\t * Reads reason options from the backend.\n\t *\n\t * @private\n\t * @param {string} origin - The SAP origin.\n\t * @param {string} instance - The instance ID.\n\t * @param {string} decisionKey - The decision key.\n\t * @param {Function} onSuccess - The success callback function.\n\t * @param {Function} onError - The error callback function.\n\t * @returns {void}\n\t */\n\tprivate readReasonOptions(\n\t\torigin: string,\n\t\tinstance: string,\n\t\tdecisionKey: string,\n\t\tonSuccess: (arg: ReasonOption[]) => void,\n\t\tonError: (arg: unknown) => void\n\t): void {\n\t\tconst sPath = \"/ReasonOptions\";\n\t\tconst oUrlParams = {\n\t\t\tSAP__Origin: `'${origin}'`,\n\t\t\tInstanceID: `'${instance}'`,\n\t\t\tDecisionKey: `'${decisionKey}'`\n\t\t};\n\t\tconst fnSuccess = (oData: Response) => {\n\t\t\tif (oData && oData.results) {\n\t\t\t\tif (onSuccess) {\n\t\t\t\t\tonSuccess(oData.results as ReasonOption[]);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tconst fnError = (oError: unknown) => {\n\t\t\tif (onError) {\n\t\t\t\tonError(oError);\n\t\t\t}\n\t\t};\n\n\t\tthis.dataServiceModel.read(sPath, {\n\t\t\turlParameters: oUrlParams,\n\t\t\tsuccess: fnSuccess,\n\t\t\terror: fnError,\n\t\t\tgroupId: \"reasonOptions\"\n\t\t});\n\t}\n\n\t/**\n\t * Load the reason options which are part of this decision option.\n\t *\n\t * @private\n\t * @returns {Promise<ReasonOptionSettings | null>} - containing resolved array of reason options\n\t */\n\tprivate async loadReasonOptions(): Promise<ReasonOptionSettings | null> {\n\t\tconst metaModel = this.dataServiceModel.getMetaModel();\n\t\tawait metaModel.loaded();\n\n\t\tif (metaModel.getODataFunctionImport(\"ReasonOptions\")) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tthis.readReasonOptions(\n\t\t\t\t\tthis.decisionOption.SAP__Origin,\n\t\t\t\t\tthis.decisionOption.InstanceID,\n\t\t\t\t\tthis.decisionOption.DecisionKey,\n\t\t\t\t\t(reasonOptions: ReasonOption[]) => {\n\t\t\t\t\t\tconst reasonOptionsSettings = {\n\t\t\t\t\t\t\tshow:\n\t\t\t\t\t\t\t\t(this.decisionOption.ReasonRequired === ReasonRequired.Required ||\n\t\t\t\t\t\t\t\t\tthis.decisionOption.ReasonRequired === ReasonRequired.Optional) &&\n\t\t\t\t\t\t\t\treasonOptions.length > 0,\n\t\t\t\t\t\t\trequired: this.decisionOption.ReasonRequired === ReasonRequired.Required,\n\t\t\t\t\t\t\treasonOptions: reasonOptions\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tresolve(reasonOptionsSettings);\n\t\t\t\t\t},\n\t\t\t\t\t(oError) => {\n\t\t\t\t\t\treject(oError as Error);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Open the decision dialog for the inbox task selected.\n\t *\n\t * @private\n\t * @param {DecisionDialogSettings} dialogSettings - contains the settings for the decision dialog\n\t */\n\tprivate openDecisionDialog(dialogSettings: DecisionDialogSettings) {\n\t\tthis.confirmationDialogModel = new JSONModel({\n\t\t\tsubmitButtonEnabled: !dialogSettings?.noteMandatory && !dialogSettings?.reasonOptionsSettings?.required,\n\t\t\tdialogSettings\n\t\t});\n\n\t\tthis.confirmationDialogPromise = Fragment.load({\n\t\t\ttype: \"XML\",\n\t\t\tname: \"sap.cux.home.utils.fragment.showDecisionDialog\",\n\t\t\tcontroller: this\n\t\t})\n\t\t\t.then((confirmationDialogFragment: Control | Control[]) => {\n\t\t\t\tconst confirmationDialog = confirmationDialogFragment as IDecisionDialog;\n\t\t\t\tconst i18nModel = new ResourceModel({ bundle: this.i18nBundle });\n\t\t\t\tconst priorityText = Element.getElementById(\"task-priority-text\") as Text;\n\t\t\t\tpriorityText.addStyleClass(this.task.Priority);\n\n\t\t\t\tconfirmationDialog.setModel(this.confirmationDialogModel);\n\t\t\t\tconfirmationDialog.setModel(i18nModel, \"i18n\");\n\t\t\t\tconfirmationDialog.open();\n\t\t\t\treturn confirmationDialog;\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t}) as Promise<IDecisionDialog>;\n\t}\n\n\t/**\n\t * Submit handler for the decision dialog\n\t *\n\t * @private\n\t */\n\tpublic confirmActionHandler(): void {\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tconst dialogSettings = (confirmationDialog.getModel()?.getProperty(\"/\") as DialogSettings).dialogSettings;\n\t\t\t\tconst reasonOptionsSettings = dialogSettings.reasonOptionsSettings;\n\n\t\t\t\t// Get the reason option value from the combo box\n\t\t\t\tconst reasonOptionSelectedItem = reasonOptionsSettings.show\n\t\t\t\t\t? (Element.getElementById(\"reasonOptionsSelect\") as ComboBox)?.getSelectedItem()\n\t\t\t\t\t: null;\n\t\t\t\tconst reasonCode = (\n\t\t\t\t\treasonOptionSelectedItem !== null && reasonOptionSelectedItem?.getKey() !== \"defaultSelectedKey\"\n\t\t\t\t\t\t? reasonOptionSelectedItem.getKey()\n\t\t\t\t\t\t: null\n\t\t\t\t) as string;\n\n\t\t\t\t// Get the note value from the text area\n\t\t\t\tconst note = (\n\t\t\t\t\tdialogSettings.showNote ? (Element.getElementById(\"confirmDialogTextarea\") as TextArea)?.getValue() : null\n\t\t\t\t) as string;\n\t\t\t\tdialogSettings.confirmActionHandler(note, reasonCode);\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * Handler for cancel action in the decision dialog\n\t *\n\t * @private\n\t */\n\tpublic handleCancel() {\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tconst dialogSettings = (confirmationDialog.getModel()?.getProperty(\"/\") as DialogSettings).dialogSettings;\n\t\t\t\tconfirmationDialog._bClosedViaButton = true;\n\t\t\t\tconfirmationDialog.close();\n\t\t\t\tdialogSettings.cancelActionHandler();\n\n\t\t\t\tif (this.confirmationDialogModel.getProperty(\"/dialogSettings/showFeedbackMessage\")) {\n\t\t\t\t\tthis.dataServiceModel.refresh();\n\t\t\t\t\tthis.refreshView(true);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * After close dialog handler in the decision dialog\n\t *\n\t * @private\n\t */\n\tpublic handleAfterClose() {\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tif (confirmationDialog._bClosedViaButton) {\n\t\t\t\t\t// dialog is closed via button\n\t\t\t\t\tconfirmationDialog._bClosedViaButton = false;\n\t\t\t\t} else {\n\t\t\t\t\t// dialog is closed by other means (e.g. pressing Escape)\n\t\t\t\t\tconst dialogSettings = (confirmationDialog.getModel()?.getProperty(\"/\") as DialogSettings).dialogSettings;\n\t\t\t\t\tdialogSettings.cancelActionHandler();\n\t\t\t\t}\n\t\t\t\tconfirmationDialog.destroy();\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * Creates an OData request with the specified parameters.\n\t *\n\t * @private\n\t * @param {string} path - The path of the OData request.\n\t * @param {Record<string, string>} urlParams - The URL parameters of the request.\n\t * @param {Function} fnSuccess - The success callback function.\n\t * @param {Function} fnError - The error callback function.\n\t * @returns {void}\n\t */\n\tprivate createODataRequest(\n\t\tpath: string,\n\t\turlParams: Record<string, string>,\n\t\tfnSuccess: (data: unknown, response: unknown) => void,\n\t\tfnError: (error: ODataError) => void\n\t): void {\n\t\tconst settings = {\n\t\t\tsuccess: (data: unknown, response: unknown) => {\n\t\t\t\tLog.info(\"successful action\");\n\t\t\t\tfnSuccess?.(data, response);\n\t\t\t},\n\t\t\terror: (error: ODataError) => {\n\t\t\t\tconst message = this.i18nBundle.getText(\"DataManager.HTTPRequestFailed\");\n\t\t\t\tconst details = error.response ? error.response.body : null;\n\t\t\t\tconst parameters = {\n\t\t\t\t\tmessage: message,\n\t\t\t\t\tresponseText: details as string\n\t\t\t\t};\n\t\t\t\tthis.dataServiceModel.fireRequestFailed(parameters);\n\t\t\t\tfnError(error);\n\t\t\t},\n\t\t\turlParameters: urlParams\n\t\t};\n\n\t\tthis.dataServiceModel.create(path, {}, settings);\n\t}\n\n\t/**\n\t * Sends an action to the backend.\n\t *\n\t * @private\n\t * @param {string} importName - The name of the function import or action.\n\t * @param {DecisionOption} decision - The decision option.\n\t * @param {string} note - The note to be included with the action.\n\t * @param {string} reasonOptionCode - The reason option code.\n\t * @param {Task} task - The task associated with the action.\n\t * @returns {void}\n\t */\n\tprivate sendAction(importName: string, decision: DecisionOption, note: string, reasonOptionCode: string, task: Task): void {\n\t\tconst urlParams: Record<string, string> = {\n\t\t\tSAP__Origin: `'${task.SAP__Origin}'`,\n\t\t\tInstanceID: `'${task.InstanceID}'`\n\t\t};\n\n\t\tif (decision.DecisionKey) {\n\t\t\turlParams.DecisionKey = `'${decision.DecisionKey}'`;\n\t\t}\n\n\t\tif (note?.length > 0) {\n\t\t\turlParams.Comments = `'${note}'`;\n\t\t}\n\n\t\tif (reasonOptionCode) {\n\t\t\turlParams.ReasonCode = `'${reasonOptionCode}'`;\n\t\t}\n\n\t\tconst onSuccess = () => {\n\t\t\tthis.confirmationDialogPromise\n\t\t\t\t.then((confirmationDialog) => {\n\t\t\t\t\tconfirmationDialog.setBusy(false);\n\t\t\t\t\tthis.confirmationDialogModel.setProperty(\"/dialogSettings/showFeedbackMessage\", true);\n\t\t\t\t})\n\t\t\t\t.catch((error: unknown) => {\n\t\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t\t});\n\t\t};\n\n\t\tconst onError = (error: ODataError) => {\n\t\t\tif (error.responseText) {\n\t\t\t\tconst oError = JSON.parse(error.responseText) as ODataError;\n\t\t\t\tMessageBox.error(oError?.error?.message?.value);\n\t\t\t}\n\t\t\tthis.handleCancel();\n\t\t};\n\n\t\tthis.createODataRequest(`/${importName}`, urlParams, onSuccess, onError);\n\t}\n\n\t/**\n\t * Shows the decision dialog.\n\t *\n\t * @private\n\t * @returns {Promise<void>}\n\t */\n\tprivate async showDecisionDialog(): Promise<void> {\n\t\tthis.dataServiceModel = this.dataServiceModel || new ODataModel(this.baseUrl);\n\t\tconst { TaskTitle: title, Priority } = this.task;\n\t\tconst decisionDialogSettings: DecisionDialogSettings = {\n\t\t\tnoteMandatory: this.decisionOption.CommentMandatory,\n\t\t\tquestion: this.i18nBundle.getText(\"XMSG_DECISION_QUESTION\", [this.decisionOption.DecisionText]) as string,\n\t\t\ttitle,\n\t\t\tbadgeIcon: getIconFrameBadge(Priority),\n\t\t\tbadgeValueState: getIconFrameBadgeValueState(Priority),\n\t\t\tpriorityText: this.i18nBundle.getText(toTaskPriorityText(Priority)) as string,\n\t\t\tconfirmButtonLabel: this.i18nBundle.getText(\"XBUT_SUBMIT\") as string,\n\t\t\tshowNote: true,\n\t\t\tshowFeedbackMessage: false,\n\t\t\treasonOptionsSettings: {\n\t\t\t\tshow: false,\n\t\t\t\trequired: false\n\t\t\t},\n\t\t\ttextAreaLabel: this.i18nBundle.getText(\"XFLD_TextArea_Decision\") as string,\n\t\t\tconfirmActionHandler: (note, reasonOptionKey) => {\n\t\t\t\tthis.sendAction(\"Decision\", this.decisionOption, note, reasonOptionKey, this.task);\n\t\t\t},\n\t\t\tcancelActionHandler: () => {}\n\t\t};\n\n\t\ttry {\n\t\t\tawait this.dataServiceModel.metadataLoaded();\n\t\t\tconst reasonOptionsLoadedPromise =\n\t\t\t\tthis.decisionOption?.ReasonRequired === ReasonRequired.Required ||\n\t\t\t\tthis.decisionOption?.ReasonRequired === ReasonRequired.Optional\n\t\t\t\t\t? this.loadReasonOptions()\n\t\t\t\t\t: null;\n\n\t\t\t// reason options won't be loaded\n\t\t\tif (!reasonOptionsLoadedPromise) {\n\t\t\t\tthis.openDecisionDialog(decisionDialogSettings);\n\t\t\t} else {\n\t\t\t\t// based on reasonOptionsLoadedPromise, reason options will be loaded\n\t\t\t\treasonOptionsLoadedPromise\n\t\t\t\t\t.then((reasonOptionsSettings: ReasonOptionSettings | null) => {\n\t\t\t\t\t\tif (reasonOptionsSettings !== null) {\n\t\t\t\t\t\t\tdecisionDialogSettings.reasonOptionsSettings = reasonOptionsSettings;\n\n\t\t\t\t\t\t\t// In case of optional reason option combo box, a (None) option is created as to have a default selection\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tdecisionDialogSettings.reasonOptionsSettings?.reasonOptions &&\n\t\t\t\t\t\t\t\t!decisionDialogSettings.reasonOptionsSettings?.required\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tconst noneText = `(${this.i18nBundle.getText(\"XSEL_DECISION_REASON_NONE_OPTION\")})`;\n\t\t\t\t\t\t\t\tdecisionDialogSettings.reasonOptionsSettings.reasonOptions.unshift({\n\t\t\t\t\t\t\t\t\tName: noneText,\n\t\t\t\t\t\t\t\t\tCode: \"defaultSelectedKey\"\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tthis.openDecisionDialog(decisionDialogSettings);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tLog.error(\"Could not load the reason options properly\");\n\t\t\t\t\t});\n\t\t\t}\n\t\t} catch {\n\t\t\tLog.error(\"Could not load metadata model for inbox\");\n\t\t}\n\t}\n\n\t/**\n\t * Initiates the decisionDialog\n\t *\n\t * @static\n\t * @param {DecisionOption} decisionOption - Decision Option\n\t * @param {ResourceModel} i18nBundle - The resource bundle for internationalization.\n\t * @param {Task} task - Task Instance\n\t * @param {Refresh} refresh - Refresh function\n\t */\n\tstatic decisionDialogMethod(decisionOption: DecisionOption, i18nBundle: ResourceBundle, task: Task, baseUrl: string, refresh: Refresh) {\n\t\tconst dialogUtils = new DecisionDialog(decisionOption, i18nBundle, task, baseUrl, refresh);\n\t\treturn dialogUtils.showDecisionDialog();\n\t}\n\n\t/**\n\t * Retrieves task actions based on the task and multi-select decision results.\n\t *\n\t * @static\n\t * @param {Task} task - The task for which actions are retrieved.\n\t * @param {string} baseUrl - The base URL.\n\t * @param {MultiSelectDecisionResult} multiSelectDecisionResults - The multi-select decision results.\n\t * @param {ResourceBundle} i18nBundle - The resource bundle for internationalization.\n\t * @returns {ActionButton[]} An array of action buttons.\n\t */\n\tstatic getTaskActions(\n\t\ttask: Task,\n\t\tbaseUrl: string,\n\t\tmultiSelectDecisionResults: MultiSelectDecisionResult,\n\t\ti18nBundle: ResourceBundle\n\t): ActionButton[] {\n\t\tconst actions: ActionButton[] = [];\n\t\tconst displayedTypes = new Set<string>();\n\t\tconst multiSelectDecisionOptions = multiSelectDecisionResults[task.SAP__Origin + task.TaskDefinitionID];\n\n\t\tif (multiSelectDecisionOptions) {\n\t\t\tfor (const decisionOption of multiSelectDecisionOptions) {\n\t\t\t\tif (!displayedTypes.has(decisionOption.Nature) || !decisionOption.Nature) {\n\t\t\t\t\tactions.push(getActionButton(decisionOption, i18nBundle, task, baseUrl));\n\t\t\t\t\tdisplayedTypes.add(decisionOption.Nature);\n\t\t\t\t} else {\n\t\t\t\t\tconst action = getActionButton(decisionOption, i18nBundle, task, baseUrl);\n\t\t\t\t\taction.type = ButtonType.Default;\n\t\t\t\t\tactions.push(action);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn actions;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -160,9 +160,6 @@ export function getIconFrameBadgeValueState(priority: TaskPriority): ValueState
|
|
|
160
160
|
* @author SAP SE
|
|
161
161
|
* @version 0.0.1
|
|
162
162
|
* @since 1.121
|
|
163
|
-
*
|
|
164
|
-
* @internal
|
|
165
|
-
* @experimental Since 1.121
|
|
166
163
|
* @private
|
|
167
164
|
*
|
|
168
165
|
* @alias sap.cux.home.utils.DecisionDialog
|
|
@@ -12,7 +12,7 @@ sap.ui.define(["sap/ui/performance/trace/FESRHelper"], function (FESRHelper) {
|
|
|
12
12
|
return FESR_EVENTS;
|
|
13
13
|
}(FESR_EVENTS || {});
|
|
14
14
|
const addFESRId = (control, fesrId) => {
|
|
15
|
-
control
|
|
15
|
+
control?.data("fesr-id", fesrId);
|
|
16
16
|
};
|
|
17
17
|
const getFESRId = control => {
|
|
18
18
|
return control.data("fesr-id");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FESRUtil.js","names":["sap","ui","define","FESRHelper","FESR_EVENTS","addFESRId","control","fesrId","data","getFESRId","addFESRSemanticStepName","element","eventName","stepName","setSemanticStepname","__exports","__esModule"],"sources":["FESRUtil.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Control from \"sap/ui/core/Control\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport FESRHelper from \"sap/ui/performance/trace/FESRHelper\";\n\nexport enum FESR_EVENTS {\n\tPRESS = \"press\",\n\tCHANGE = \"change\",\n\tSELECT = \"select\"\n}\n\nexport const addFESRId = (control: Control | UI5Element, fesrId: string) => {\n\tcontrol
|
|
1
|
+
{"version":3,"file":"FESRUtil.js","names":["sap","ui","define","FESRHelper","FESR_EVENTS","addFESRId","control","fesrId","data","getFESRId","addFESRSemanticStepName","element","eventName","stepName","setSemanticStepname","__exports","__esModule"],"sources":["FESRUtil.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Control from \"sap/ui/core/Control\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport FESRHelper from \"sap/ui/performance/trace/FESRHelper\";\n\nexport enum FESR_EVENTS {\n\tPRESS = \"press\",\n\tCHANGE = \"change\",\n\tSELECT = \"select\"\n}\n\nexport const addFESRId = (control: Control | UI5Element, fesrId: string) => {\n\tcontrol?.data(\"fesr-id\", fesrId);\n};\n\nexport const getFESRId = (control: Control | UI5Element) => {\n\treturn control.data(\"fesr-id\") as string;\n};\n\nexport const addFESRSemanticStepName = (element: UI5Element, eventName: string, stepName: string) => {\n\tif (stepName) {\n\t\tFESRHelper.setSemanticStepname(element, eventName, stepName);\n\t}\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,oDAAAC,UAAA;EAAA;;EAAA,IASYC,WAAW,0BAAXA,WAAW;IAAXA,WAAW;IAAXA,WAAW;IAAXA,WAAW;IAAA,OAAXA,WAAW;EAAA,EAAXA,WAAW;EAMhB,MAAMC,SAAS,GAAGA,CAACC,OAA6B,EAAEC,MAAc,KAAK;IAC3ED,OAAO,EAAEE,IAAI,CAAC,SAAS,EAAED,MAAM,CAAC;EACjC,CAAC;EAEM,MAAME,SAAS,GAAIH,OAA6B,IAAK;IAC3D,OAAOA,OAAO,CAACE,IAAI,CAAC,SAAS,CAAC;EAC/B,CAAC;EAEM,MAAME,uBAAuB,GAAGA,CAACC,OAAmB,EAAEC,SAAiB,EAAEC,QAAgB,KAAK;IACpG,IAAIA,QAAQ,EAAE;MACbV,UAAU,CAACW,mBAAmB,CAACH,OAAO,EAAEC,SAAS,EAAEC,QAAQ,CAAC;IAC7D;EACD,CAAC;EAAC,IAAAE,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAX,WAAA,GAAAA,WAAA;EAAAW,SAAA,CAAAV,SAAA,GAAAA,SAAA;EAAAU,SAAA,CAAAN,SAAA,GAAAA,SAAA;EAAAM,SAAA,CAAAL,uBAAA,GAAAA,uBAAA;EAAA,OAAAK,SAAA;AAAA","ignoreList":[]}
|
|
@@ -14,7 +14,7 @@ export enum FESR_EVENTS {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export const addFESRId = (control: Control | UI5Element, fesrId: string) => {
|
|
17
|
-
control
|
|
17
|
+
control?.data("fesr-id", fesrId);
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
export const getFESRId = (control: Control | UI5Element) => {
|
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
declare module "sap/cux/home/utils/FeatureUtils" {
|
|
2
2
|
import { Target } from "sap/ushell/services/Navigation";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { FEATURE_TOGGLES } from "sap/cux/home/utils/Constants";
|
|
4
|
+
interface FeatureToggle {
|
|
5
|
+
key: FEATURE_TOGGLES;
|
|
6
|
+
enabled: boolean;
|
|
5
7
|
}
|
|
8
|
+
interface FeatureToggleResponse {
|
|
9
|
+
value: {
|
|
10
|
+
ToggleId: FEATURE_TOGGLES;
|
|
11
|
+
State: string;
|
|
12
|
+
}[];
|
|
13
|
+
}
|
|
14
|
+
const featureToggles: Map<FEATURE_TOGGLES, boolean>;
|
|
6
15
|
/**
|
|
7
|
-
*
|
|
16
|
+
* Utility to check if a feature toggle is enabled.
|
|
8
17
|
*
|
|
9
|
-
* @param
|
|
10
|
-
* @returns
|
|
18
|
+
* @param key The key of the feature toggle to check.
|
|
19
|
+
* @returns Promise resolving to `true` if the feature toggle is enabled, `false` otherwise.
|
|
11
20
|
*/
|
|
12
|
-
const isFeatureEnabled: (
|
|
21
|
+
const isFeatureEnabled: (key: FEATURE_TOGGLES) => Promise<boolean>;
|
|
13
22
|
/**
|
|
14
|
-
*
|
|
23
|
+
* Utility to fetch feature toggles from the server.
|
|
15
24
|
*
|
|
16
|
-
* @
|
|
25
|
+
* @param keys An array of feature toggle keys to fetch.
|
|
26
|
+
* @returns Promise resolving to an array of feature toggles.
|
|
17
27
|
*/
|
|
18
|
-
const
|
|
19
|
-
ToggleId: string;
|
|
20
|
-
State: string;
|
|
21
|
-
}[]>;
|
|
28
|
+
const getFeatureToggles: (keys: FEATURE_TOGGLES[]) => Promise<FeatureToggle[]>;
|
|
22
29
|
/**
|
|
23
30
|
* Utility to check if a navigation target is supported when a feature toggle is enabled.
|
|
24
31
|
*
|
|
@@ -27,6 +34,6 @@ declare module "sap/cux/home/utils/FeatureUtils" {
|
|
|
27
34
|
* @param action Action name for the semantic object.
|
|
28
35
|
* @returns Promise resolving to `true` if navigation is supported and feature is enabled.
|
|
29
36
|
*/
|
|
30
|
-
const isNavigationSupportedForFeature: (featureToggle:
|
|
37
|
+
const isNavigationSupportedForFeature: (featureToggle: FEATURE_TOGGLES, intent: Target) => Promise<boolean>;
|
|
31
38
|
}
|
|
32
39
|
//# sourceMappingURL=FeatureUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureUtils.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/FeatureUtils.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,iCAAiC,CAAC;IAOjD,OAAmB,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"FeatureUtils.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/FeatureUtils.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,iCAAiC,CAAC;IAOjD,OAAmB,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;IACpE,OAAO,EAA2B,eAAe,EAAE,MAAM,8BAA8B,CAAC;IAGxF,UAAU,aAAa;QACtB,GAAG,EAAE,eAAe,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;KACjB;IAED,UAAU,qBAAqB;QAC9B,KAAK,EAAE;YACN,QAAQ,EAAE,eAAe,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC;SACd,EAAE,CAAC;KACJ;IAED,MAAM,cAAc,+BAAsC,CAAC;IAE3D;;;;;OAKG;IACI,MAAM,gBAAgB,GAAU,KAAK,eAAe,KAAG,OAAO,CAAC,OAAO,CAc5E,CAAC;IAEF;;;;;OAKG;IACH,MAAM,iBAAiB,GAAU,MAAM,eAAe,EAAE,KAAG,OAAO,CAAC,aAAa,EAAE,CAQjF,CAAC;IAEF;;;;;;;OAOG;IACI,MAAM,+BAA+B,GAAU,eAAe,eAAe,EAAE,QAAQ,MAAM,KAAG,OAAO,CAAC,OAAO,CAcrH,CAAC;CAED"}
|
|
@@ -22,49 +22,54 @@ sap.ui.define(["sap/base/Log", "sap/ushell/Container", "./Constants", "./HttpHel
|
|
|
22
22
|
const FEATURE_TOGGLE_SRVC_URL = ___Constants["FEATURE_TOGGLE_SRVC_URL"];
|
|
23
23
|
const FEATURE_TOGGLES = ___Constants["FEATURE_TOGGLES"];
|
|
24
24
|
const HttpHelper = _interopRequireDefault(__HttpHelper);
|
|
25
|
+
const featureToggles = new Map();
|
|
26
|
+
|
|
25
27
|
/**
|
|
26
|
-
*
|
|
28
|
+
* Utility to check if a feature toggle is enabled.
|
|
27
29
|
*
|
|
28
|
-
* @param
|
|
29
|
-
* @returns
|
|
30
|
+
* @param key The key of the feature toggle to check.
|
|
31
|
+
* @returns Promise resolving to `true` if the feature toggle is enabled, `false` otherwise.
|
|
30
32
|
*/
|
|
31
|
-
const isFeatureEnabled = function (
|
|
33
|
+
const isFeatureEnabled = function (key) {
|
|
32
34
|
try {
|
|
33
|
-
|
|
34
|
-
return
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
function _temp2() {
|
|
36
|
+
return featureToggles.get(key) || false;
|
|
37
|
+
}
|
|
38
|
+
if (featureToggles.has(key)) {
|
|
39
|
+
return Promise.resolve(featureToggles.get(key));
|
|
40
|
+
}
|
|
41
|
+
const _temp = _catch(function () {
|
|
42
|
+
const unavailableToggles = Object.values(FEATURE_TOGGLES).filter(toggle => !featureToggles.has(toggle));
|
|
43
|
+
return Promise.resolve(getFeatureToggles(unavailableToggles)).then(function (_getFeatureToggles) {
|
|
44
|
+
_getFeatureToggles.forEach(toggle => featureToggles.set(toggle.key, toggle.enabled));
|
|
39
45
|
});
|
|
40
46
|
}, function (error) {
|
|
41
|
-
Log.error("
|
|
42
|
-
|
|
43
|
-
})
|
|
47
|
+
Log.error("Error fetching feature toggles", error.message);
|
|
48
|
+
featureToggles.set(key, false);
|
|
49
|
+
});
|
|
50
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
|
44
51
|
} catch (e) {
|
|
45
52
|
return Promise.reject(e);
|
|
46
53
|
}
|
|
47
54
|
};
|
|
48
55
|
|
|
49
56
|
/**
|
|
50
|
-
*
|
|
57
|
+
* Utility to fetch feature toggles from the server.
|
|
51
58
|
*
|
|
52
|
-
* @
|
|
59
|
+
* @param keys An array of feature toggle keys to fetch.
|
|
60
|
+
* @returns Promise resolving to an array of feature toggles.
|
|
53
61
|
*/
|
|
54
|
-
const
|
|
62
|
+
const getFeatureToggles = function (keys) {
|
|
55
63
|
try {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
throw new Error(oResponse.error.message);
|
|
66
|
-
}
|
|
67
|
-
return oResponse?.value || [];
|
|
64
|
+
const filterExpression = `?$filter=(ToggleId eq '${keys.join("' or ToggleId eq '")}')`;
|
|
65
|
+
return Promise.resolve(HttpHelper.GetJSON(FEATURE_TOGGLE_SRVC_URL + filterExpression)).then(function (_HttpHelper$GetJSON) {
|
|
66
|
+
const {
|
|
67
|
+
value = []
|
|
68
|
+
} = _HttpHelper$GetJSON;
|
|
69
|
+
return keys.map(key => ({
|
|
70
|
+
key,
|
|
71
|
+
enabled: value.some(toggle => toggle.ToggleId === key && toggle.State.toUpperCase() === "X")
|
|
72
|
+
}));
|
|
68
73
|
});
|
|
69
74
|
} catch (e) {
|
|
70
75
|
return Promise.reject(e);
|
|
@@ -103,7 +108,6 @@ sap.ui.define(["sap/base/Log", "sap/ushell/Container", "./Constants", "./HttpHel
|
|
|
103
108
|
__esModule: true
|
|
104
109
|
};
|
|
105
110
|
__exports.isFeatureEnabled = isFeatureEnabled;
|
|
106
|
-
__exports._getFeatureToggles = _getFeatureToggles;
|
|
107
111
|
__exports.isNavigationSupportedForFeature = isNavigationSupportedForFeature;
|
|
108
112
|
return __exports;
|
|
109
113
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureUtils.js","names":["sap","ui","define","Log","Container","___Constants","__HttpHelper","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","FEATURE_TOGGLE_SRVC_URL","FEATURE_TOGGLES","HttpHelper","isFeatureEnabled","
|
|
1
|
+
{"version":3,"file":"FeatureUtils.js","names":["sap","ui","define","Log","Container","___Constants","__HttpHelper","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","FEATURE_TOGGLE_SRVC_URL","FEATURE_TOGGLES","HttpHelper","featureToggles","Map","isFeatureEnabled","key","_temp2","get","has","Promise","resolve","_temp","unavailableToggles","Object","values","filter","toggle","getFeatureToggles","_getFeatureToggles","forEach","set","enabled","error","message","reject","keys","filterExpression","join","GetJSON","_HttpHelper$GetJSON","value","map","some","ToggleId","State","toUpperCase","isNavigationSupportedForFeature","featureToggle","intent","isFeatureToggleEnabled","getServiceAsync","navigationService","isNavigationSupported","supported","warning","Error","String","__exports"],"sources":["FeatureUtils.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\nimport Log from \"sap/base/Log\";\nimport Container from \"sap/ushell/Container\";\nimport Navigation, { Target } from \"sap/ushell/services/Navigation\";\nimport { FEATURE_TOGGLE_SRVC_URL, FEATURE_TOGGLES } from \"./Constants\";\nimport HttpHelper from \"./HttpHelper\";\n\ninterface FeatureToggle {\n\tkey: FEATURE_TOGGLES;\n\tenabled: boolean;\n}\n\ninterface FeatureToggleResponse {\n\tvalue: {\n\t\tToggleId: FEATURE_TOGGLES;\n\t\tState: string;\n\t}[];\n}\n\nconst featureToggles = new Map<FEATURE_TOGGLES, boolean>();\n\n/**\n * Utility to check if a feature toggle is enabled.\n *\n * @param key The key of the feature toggle to check.\n * @returns Promise resolving to `true` if the feature toggle is enabled, `false` otherwise.\n */\nexport const isFeatureEnabled = async (key: FEATURE_TOGGLES): Promise<boolean> => {\n\tif (featureToggles.has(key)) {\n\t\treturn featureToggles.get(key)!;\n\t}\n\n\ttry {\n\t\tconst unavailableToggles = Object.values(FEATURE_TOGGLES).filter((toggle) => !featureToggles.has(toggle));\n\t\t(await getFeatureToggles(unavailableToggles)).forEach((toggle) => featureToggles.set(toggle.key, toggle.enabled));\n\t} catch (error) {\n\t\tLog.error(\"Error fetching feature toggles\", (error as Error).message);\n\t\tfeatureToggles.set(key, false);\n\t}\n\n\treturn featureToggles.get(key) || false;\n};\n\n/**\n * Utility to fetch feature toggles from the server.\n *\n * @param keys An array of feature toggle keys to fetch.\n * @returns Promise resolving to an array of feature toggles.\n */\nconst getFeatureToggles = async (keys: FEATURE_TOGGLES[]): Promise<FeatureToggle[]> => {\n\tconst filterExpression = `?$filter=(ToggleId eq '${keys.join(\"' or ToggleId eq '\")}')`;\n\tconst { value = [] } = (await HttpHelper.GetJSON(FEATURE_TOGGLE_SRVC_URL + filterExpression)) as FeatureToggleResponse;\n\n\treturn keys.map((key) => ({\n\t\tkey,\n\t\tenabled: value.some((toggle) => toggle.ToggleId === key && toggle.State.toUpperCase() === \"X\")\n\t}));\n};\n\n/**\n * Utility to check if a navigation target is supported when a feature toggle is enabled.\n *\n * @param featureToggleCheck A promise that resolves to true if the feature is enabled.\n * @param semanticObject Semantic object to be checked for navigation support.\n * @param action Action name for the semantic object.\n * @returns Promise resolving to `true` if navigation is supported and feature is enabled.\n */\nexport const isNavigationSupportedForFeature = async (featureToggle: FEATURE_TOGGLES, intent: Target): Promise<boolean> => {\n\ttry {\n\t\tconst isFeatureToggleEnabled = await isFeatureEnabled(featureToggle);\n\t\tif (!isFeatureToggleEnabled) {\n\t\t\treturn false;\n\t\t}\n\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\tconst [{ supported }] = await navigationService.isNavigationSupported([intent]);\n\n\t\treturn supported || false;\n\t} catch (error) {\n\t\tLog.warning(error instanceof Error ? error.message : String(error));\n\t\treturn false;\n\t}\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,49 +8,56 @@ import Navigation, { Target } from "sap/ushell/services/Navigation";
|
|
|
8
8
|
import { FEATURE_TOGGLE_SRVC_URL, FEATURE_TOGGLES } from "./Constants";
|
|
9
9
|
import HttpHelper from "./HttpHelper";
|
|
10
10
|
|
|
11
|
-
interface
|
|
12
|
-
|
|
11
|
+
interface FeatureToggle {
|
|
12
|
+
key: FEATURE_TOGGLES;
|
|
13
|
+
enabled: boolean;
|
|
13
14
|
}
|
|
14
15
|
|
|
16
|
+
interface FeatureToggleResponse {
|
|
17
|
+
value: {
|
|
18
|
+
ToggleId: FEATURE_TOGGLES;
|
|
19
|
+
State: string;
|
|
20
|
+
}[];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const featureToggles = new Map<FEATURE_TOGGLES, boolean>();
|
|
24
|
+
|
|
15
25
|
/**
|
|
16
|
-
*
|
|
26
|
+
* Utility to check if a feature toggle is enabled.
|
|
17
27
|
*
|
|
18
|
-
* @param
|
|
19
|
-
* @returns
|
|
28
|
+
* @param key The key of the feature toggle to check.
|
|
29
|
+
* @returns Promise resolving to `true` if the feature toggle is enabled, `false` otherwise.
|
|
20
30
|
*/
|
|
21
|
-
export const isFeatureEnabled = async (
|
|
31
|
+
export const isFeatureEnabled = async (key: FEATURE_TOGGLES): Promise<boolean> => {
|
|
32
|
+
if (featureToggles.has(key)) {
|
|
33
|
+
return featureToggles.get(key)!;
|
|
34
|
+
}
|
|
35
|
+
|
|
22
36
|
try {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
return oFeatureToggle.ToggleId === sToggleId;
|
|
26
|
-
});
|
|
27
|
-
return !oToggle || oToggle.State === "" ? false : true;
|
|
37
|
+
const unavailableToggles = Object.values(FEATURE_TOGGLES).filter((toggle) => !featureToggles.has(toggle));
|
|
38
|
+
(await getFeatureToggles(unavailableToggles)).forEach((toggle) => featureToggles.set(toggle.key, toggle.enabled));
|
|
28
39
|
} catch (error) {
|
|
29
|
-
Log.error("
|
|
30
|
-
|
|
40
|
+
Log.error("Error fetching feature toggles", (error as Error).message);
|
|
41
|
+
featureToggles.set(key, false);
|
|
31
42
|
}
|
|
43
|
+
|
|
44
|
+
return featureToggles.get(key) || false;
|
|
32
45
|
};
|
|
33
46
|
|
|
34
47
|
/**
|
|
35
|
-
*
|
|
48
|
+
* Utility to fetch feature toggles from the server.
|
|
36
49
|
*
|
|
37
|
-
* @
|
|
50
|
+
* @param keys An array of feature toggle keys to fetch.
|
|
51
|
+
* @returns Promise resolving to an array of feature toggles.
|
|
38
52
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
error: { message: string };
|
|
48
|
-
value: Array<{ ToggleId: string; State: string }>;
|
|
49
|
-
};
|
|
50
|
-
if (oResponse?.error) {
|
|
51
|
-
throw new Error(oResponse.error.message);
|
|
52
|
-
}
|
|
53
|
-
return oResponse?.value || [];
|
|
53
|
+
const getFeatureToggles = async (keys: FEATURE_TOGGLES[]): Promise<FeatureToggle[]> => {
|
|
54
|
+
const filterExpression = `?$filter=(ToggleId eq '${keys.join("' or ToggleId eq '")}')`;
|
|
55
|
+
const { value = [] } = (await HttpHelper.GetJSON(FEATURE_TOGGLE_SRVC_URL + filterExpression)) as FeatureToggleResponse;
|
|
56
|
+
|
|
57
|
+
return keys.map((key) => ({
|
|
58
|
+
key,
|
|
59
|
+
enabled: value.some((toggle) => toggle.ToggleId === key && toggle.State.toUpperCase() === "X")
|
|
60
|
+
}));
|
|
54
61
|
};
|
|
55
62
|
|
|
56
63
|
/**
|
|
@@ -61,7 +68,7 @@ export const _getFeatureToggles = async () => {
|
|
|
61
68
|
* @param action Action name for the semantic object.
|
|
62
69
|
* @returns Promise resolving to `true` if navigation is supported and feature is enabled.
|
|
63
70
|
*/
|
|
64
|
-
export const isNavigationSupportedForFeature = async (featureToggle:
|
|
71
|
+
export const isNavigationSupportedForFeature = async (featureToggle: FEATURE_TOGGLES, intent: Target): Promise<boolean> => {
|
|
65
72
|
try {
|
|
66
73
|
const isFeatureToggleEnabled = await isFeatureEnabled(featureToggle);
|
|
67
74
|
if (!isFeatureToggleEnabled) {
|
|
@@ -9,10 +9,7 @@ declare module "sap/cux/home/utils/HttpHelper" {
|
|
|
9
9
|
* @author SAP SE
|
|
10
10
|
* @version 0.0.1
|
|
11
11
|
* @since 1.121.0
|
|
12
|
-
*
|
|
13
12
|
* @private
|
|
14
|
-
* @experimental Since 1.121
|
|
15
|
-
* @hidden
|
|
16
13
|
*
|
|
17
14
|
* @alias sap.cux.home.utils.HttpHelper
|
|
18
15
|
*/
|
|
@@ -36,6 +33,13 @@ declare module "sap/cux/home/utils/HttpHelper" {
|
|
|
36
33
|
* @returns {Promise<unknown>} Promise that resolves with the JSON data response
|
|
37
34
|
*/
|
|
38
35
|
static GetJSON(url: string): Promise<unknown>;
|
|
36
|
+
/**
|
|
37
|
+
* Get Method for Multiple Requests
|
|
38
|
+
*
|
|
39
|
+
* @param {string[]} urls - An array of URLs to get from
|
|
40
|
+
* @returns {Promise<(string | object)[]>} Promise that resolves with the responses from the URLs
|
|
41
|
+
*/
|
|
42
|
+
static GetMultipleRequests(urls?: string[]): Promise<(string | object)[]>;
|
|
39
43
|
}
|
|
40
44
|
}
|
|
41
45
|
//# sourceMappingURL=HttpHelper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpHelper.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/HttpHelper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,+BAA+B,CAAC;IAM/C,OAAO,UAAU,MAAM,oBAAoB,CAAC;IAG5C
|
|
1
|
+
{"version":3,"file":"HttpHelper.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/HttpHelper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,+BAA+B,CAAC;IAM/C,OAAO,UAAU,MAAM,oBAAoB,CAAC;IAG5C;;;;;;;;;;;;OAYG;IAEH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,UAAU;QACjD,OAAO;QAIP;;;WAGG;QACH,OAAO,CAAC,MAAM,CAAC,cAAc;QAmB7B;;;;;WAKG;eACW,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAoBlE;;;;WAIG;eACW,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QASpD;;;;;WAKG;eACiB,mBAAmB,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;KAmB1F;CAEA"}
|