@sapui5/sap.cux.home 1.139.0 → 1.141.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 +7 -0
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js +116 -64
- package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.ts +50 -15
- package/src/sap/cux/home/App.d.ts +2 -2
- package/src/sap/cux/home/App.js +2 -2
- package/src/sap/cux/home/App.js.map +1 -1
- package/src/sap/cux/home/App.ts +2 -2
- package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.js +5 -1
- package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.ts +5 -1
- package/src/sap/cux/home/AppsContainer.d.ts +2 -2
- package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/AppsContainer.js +16 -24
- package/src/sap/cux/home/AppsContainer.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.ts +16 -23
- package/src/sap/cux/home/BaseApp.d.ts +2 -2
- package/src/sap/cux/home/BaseApp.js +2 -2
- package/src/sap/cux/home/BaseApp.js.map +1 -1
- package/src/sap/cux/home/BaseApp.ts +2 -2
- package/src/sap/cux/home/BaseAppPanel.d.ts +10 -0
- package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.js +22 -2
- package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.ts +16 -2
- package/src/sap/cux/home/BaseContainer.d.ts +10 -27
- package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainer.gen.d.ts +61 -0
- package/src/sap/cux/home/BaseContainer.js +39 -71
- package/src/sap/cux/home/BaseContainer.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.ts +33 -77
- package/src/sap/cux/home/BaseContainerRenderer.d.ts +2 -0
- package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.js +31 -3
- package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.ts +39 -2
- package/src/sap/cux/home/BaseLayout.d.ts +2 -2
- package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
- package/src/sap/cux/home/BaseLayout.js +5 -4
- package/src/sap/cux/home/BaseLayout.js.map +1 -1
- package/src/sap/cux/home/BaseLayout.ts +5 -4
- package/src/sap/cux/home/BaseNewsItem.d.ts +2 -2
- package/src/sap/cux/home/BaseNewsItem.js +2 -2
- package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
- package/src/sap/cux/home/BaseNewsItem.ts +2 -2
- package/src/sap/cux/home/BaseNewsPanel.d.ts +4 -3
- package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.js +14 -3
- package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.ts +11 -5
- package/src/sap/cux/home/BasePagePanel.d.ts +2 -2
- package/src/sap/cux/home/BasePagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePagePanel.js +10 -2
- package/src/sap/cux/home/BasePagePanel.js.map +1 -1
- package/src/sap/cux/home/BasePagePanel.ts +6 -2
- package/src/sap/cux/home/BasePanel.d.ts +2 -21
- package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePanel.gen.d.ts +109 -0
- package/src/sap/cux/home/BasePanel.js +15 -31
- package/src/sap/cux/home/BasePanel.js.map +1 -1
- package/src/sap/cux/home/BasePanel.ts +11 -34
- package/src/sap/cux/home/BaseSettingsDialog.d.ts +2 -2
- package/src/sap/cux/home/BaseSettingsDialog.js +2 -2
- package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.ts +2 -2
- package/src/sap/cux/home/BaseSettingsPanel.d.ts +11 -2
- package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.js +15 -2
- package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.ts +17 -2
- package/src/sap/cux/home/CardsPanel.d.ts +2 -2
- package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/CardsPanel.js +15 -7
- package/src/sap/cux/home/CardsPanel.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.ts +11 -7
- package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.js +0 -1
- package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.ts +0 -1
- package/src/sap/cux/home/ErrorPanel.d.ts +2 -2
- package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ErrorPanel.js +15 -5
- package/src/sap/cux/home/ErrorPanel.js.map +1 -1
- package/src/sap/cux/home/ErrorPanel.ts +11 -5
- package/src/sap/cux/home/FavAppPanel.d.ts +6 -2
- package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FavAppPanel.js +196 -154
- package/src/sap/cux/home/FavAppPanel.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.ts +59 -37
- package/src/sap/cux/home/FrequentAppPanel.d.ts +2 -2
- package/src/sap/cux/home/FrequentAppPanel.js +2 -2
- package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.ts +2 -2
- package/src/sap/cux/home/Group.d.ts +2 -2
- package/src/sap/cux/home/Group.js +2 -2
- package/src/sap/cux/home/Group.js.map +1 -1
- package/src/sap/cux/home/Group.ts +2 -2
- package/src/sap/cux/home/IToDoPanel.d.ts +2 -2
- package/src/sap/cux/home/IToDoPanel.js.map +1 -1
- package/src/sap/cux/home/IToDoPanel.ts +2 -2
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.ts +3 -1
- package/src/sap/cux/home/InsightsContainer.d.ts +4 -4
- package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsContainer.js +8 -13
- package/src/sap/cux/home/InsightsContainer.js.map +1 -1
- package/src/sap/cux/home/InsightsContainer.ts +7 -12
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +2 -2
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +2 -3
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +4 -4
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +6 -4
- package/src/sap/cux/home/KeyUserSettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.js +18 -12
- package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.ts +9 -5
- package/src/sap/cux/home/Layout.d.ts +2 -3
- package/src/sap/cux/home/Layout.d.ts.map +1 -1
- package/src/sap/cux/home/Layout.js +35 -42
- package/src/sap/cux/home/Layout.js.map +1 -1
- package/src/sap/cux/home/Layout.ts +15 -19
- package/src/sap/cux/home/MenuItem.d.ts +2 -2
- package/src/sap/cux/home/MenuItem.js +2 -2
- package/src/sap/cux/home/MenuItem.js.map +1 -1
- package/src/sap/cux/home/MenuItem.ts +2 -2
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts +11 -7
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js +22 -26
- package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.ts +26 -32
- package/src/sap/cux/home/NewsPanel.d.ts +10 -2
- package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsPanel.js +23 -16
- package/src/sap/cux/home/NewsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.ts +24 -18
- package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.js +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.ts +2 -2
- package/src/sap/cux/home/NoDataContainer.d.ts +2 -2
- package/src/sap/cux/home/NoDataContainer.js +3 -3
- package/src/sap/cux/home/NoDataContainer.js.map +1 -1
- package/src/sap/cux/home/NoDataContainer.ts +3 -3
- package/src/sap/cux/home/PagePanel.d.ts +11 -3
- package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/PagePanel.js +21 -7
- package/src/sap/cux/home/PagePanel.js.map +1 -1
- package/src/sap/cux/home/PagePanel.ts +22 -8
- package/src/sap/cux/home/RecentAppPanel.d.ts +2 -2
- package/src/sap/cux/home/RecentAppPanel.js +2 -2
- package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.ts +2 -2
- package/src/sap/cux/home/RecommendedAppPanel.d.ts +2 -2
- package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.js +15 -9
- package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.ts +11 -6
- package/src/sap/cux/home/SettingsDialog.d.ts +1 -0
- package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/SettingsDialog.js +13 -6
- package/src/sap/cux/home/SettingsDialog.js.map +1 -1
- package/src/sap/cux/home/SettingsDialog.ts +14 -6
- package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +48 -0
- package/src/sap/cux/home/SideBySideIconTabFilter.d.ts.map +1 -0
- package/src/sap/cux/home/SideBySideIconTabFilter.gen.d.ts +33 -0
- package/src/sap/cux/home/SideBySideIconTabFilter.js +84 -0
- package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -0
- package/src/sap/cux/home/SideBySideIconTabFilter.ts +88 -0
- package/src/sap/cux/home/SituationPanel.d.ts +2 -2
- package/src/sap/cux/home/SituationPanel.js +2 -2
- package/src/sap/cux/home/SituationPanel.js.map +1 -1
- package/src/sap/cux/home/SituationPanel.ts +2 -2
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts +2 -2
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.js +11 -3
- package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.ts +7 -3
- package/src/sap/cux/home/SpacePanel.d.ts +2 -2
- package/src/sap/cux/home/SpacePanel.js +2 -2
- package/src/sap/cux/home/SpacePanel.js.map +1 -1
- package/src/sap/cux/home/SpacePanel.ts +2 -2
- package/src/sap/cux/home/TaskPanel.d.ts +2 -2
- package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TaskPanel.js +5 -3
- package/src/sap/cux/home/TaskPanel.js.map +1 -1
- package/src/sap/cux/home/TaskPanel.ts +4 -3
- package/src/sap/cux/home/TilesPanel.d.ts +2 -3
- package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TilesPanel.js +89 -59
- package/src/sap/cux/home/TilesPanel.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.ts +93 -70
- package/src/sap/cux/home/ToDoPanel.d.ts +2 -2
- package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ToDoPanel.js +13 -3
- package/src/sap/cux/home/ToDoPanel.js.map +1 -1
- package/src/sap/cux/home/ToDoPanel.ts +9 -3
- package/src/sap/cux/home/ToDosContainer.d.ts +2 -3
- package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
- package/src/sap/cux/home/ToDosContainer.js +3 -8
- package/src/sap/cux/home/ToDosContainer.js.map +1 -1
- package/src/sap/cux/home/ToDosContainer.ts +2 -9
- package/src/sap/cux/home/changeHandler/LayoutHandler.d.ts +1 -2
- package/src/sap/cux/home/changeHandler/LayoutHandler.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/LayoutHandler.js +0 -3
- package/src/sap/cux/home/changeHandler/LayoutHandler.js.map +1 -1
- package/src/sap/cux/home/changeHandler/LayoutHandler.ts +2 -6
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js +0 -3
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js.map +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts +0 -3
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +0 -3
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +0 -3
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js +0 -3
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.ts +0 -3
- package/src/sap/cux/home/designtime/Layout.designtime.d.ts +1 -1
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.d.ts.map +1 -1
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js +4 -3
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js.map +1 -1
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.ts +3 -2
- package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts +0 -2
- package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts.map +1 -1
- package/src/sap/cux/home/flexibility/Layout.flexibility.js +0 -2
- package/src/sap/cux/home/flexibility/Layout.flexibility.js.map +1 -1
- package/src/sap/cux/home/flexibility/Layout.flexibility.ts +0 -2
- package/src/sap/cux/home/i18n/messagebundle.properties +6 -9
- package/src/sap/cux/home/i18n/messagebundle_ar.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_bg.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_ca.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_cnr.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_cs.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_cy.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_da.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_de.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_el.properties +18 -14
- package/src/sap/cux/home/i18n/messagebundle_en.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +5 -7
- package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +5 -7
- package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_es.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_et.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_fi.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_fr.properties +14 -10
- package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_hi.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_hr.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_hu.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_id.properties +16 -12
- package/src/sap/cux/home/i18n/messagebundle_it.properties +13 -9
- package/src/sap/cux/home/i18n/messagebundle_iw.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_ja.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_kk.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_ko.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_lt.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_lv.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_mk.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_ms.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_nl.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_no.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_pl.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_pt.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_ro.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_ru.properties +22 -18
- package/src/sap/cux/home/i18n/messagebundle_sh.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_sk.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_sl.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_sr.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_sv.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_th.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_tr.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_uk.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_vi.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +12 -8
- package/src/sap/cux/home/library.d.ts +10 -6
- package/src/sap/cux/home/library.d.ts.map +1 -1
- package/src/sap/cux/home/library.js +11 -6
- package/src/sap/cux/home/library.js.map +1 -1
- package/src/sap/cux/home/library.ts +11 -6
- package/src/sap/cux/home/themes/base/BaseContainer.less +31 -0
- package/src/sap/cux/home/themes/base/KeyUserSettingsDialog.less +5 -0
- package/src/sap/cux/home/themes/base/ToDosContainer.less +0 -4
- package/src/sap/cux/home/utils/AppManager.d.ts +7 -6
- package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AppManager.js +1 -1
- package/src/sap/cux/home/utils/AppManager.js.map +1 -1
- package/src/sap/cux/home/utils/AppManager.ts +9 -10
- package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.js +1 -1
- package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.ts +4 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +0 -4
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.js +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.ts +1 -2
- package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts +0 -19
- package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts.map +0 -1
- package/src/sap/cux/home/utils/KeyUserPersonalization.js +0 -126
- package/src/sap/cux/home/utils/KeyUserPersonalization.js.map +0 -1
- package/src/sap/cux/home/utils/KeyUserPersonalization.ts +0 -93
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskPanel.js","names":["sap","ui","define","Log","ActionTile","ActionTileContent","Button","ContentConfig","Link","List","MessageBox","Popover","StandardListItem","TileAttribute","sap_m_library","NumberFormat","__MenuItem","__ToDoPanel","__DecisionDialog","___utils_Device","___utils_FESRUtil","___utils_TaskUtils","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","ButtonType","ContentConfigType","LoadState","PlacementType","URLHelper","MenuItem","ToDoPanel","DecisionDialog","getIconFrameBadge","getIconFrameBadgeValueState","calculateDeviceType","DeviceType","fetchElementProperties","addFESRId","addFESRSemanticStepName","FESR_EVENTS","fetchUserDetails","formatDate","getPriority","getTaskUrl","Format","TextArrangement","Constants","GRID_VIEW_MIN_ROWS","GRID_VIEW_MAX_ROWS","GRID_VIEW_MIN_WIDTH","GRID_VIEW_TWO_COL_MIN_WIDTH","GRID_VIEW_MAX_WIDTH","CARD_HEIGHT","splitCards","cards","maxLength","cardSet","i","length","push","slice","TaskPanel","extend","metadata","library","properties","enableActions","type","group","defaultValue","visibility","customAttributeUrl","constructor","_constructor","id","settings","ToDoPanel.prototype.constructor.call","init","_init","ToDoPanel.prototype.init.call","_customAttributeMap","_taskDefinitionMap","setProperty","_i18nBundle","getText","_viewAllTasksMenuItem","getId","title","icon","visible","press","_onPressViewAll","bind","insertAggregation","contentWrapper","_getContent","addStyleClass","generateRequestUrls","_generateRequestUrls","cardCount","urls","getCountUrl","getDataUrl","getCustomAttributeUrl","generateCardTemplate","_generateCardTemplate","context","attributes","getObject","map","attribute","index","label","contentConfig","text","href","mode","frameType","pressEnabled","enableIconFrame","enableDynamicHeight","enableNavigationButton","headerImage","badgeIcon","getProperty","badgeValueState","header","state","priority","priorityText","_toPriorityText","event","_onPressTask","tileContent","headerLink","_onClickCreatedBy","actionButtons","viewButton","getSource","getParent","firePress","PRESS","approveButton","_onActionButtonPress","undefined","rejectButton","overflowButton","Transparent","_onOverflowButtonPress","overflowButtons","_getOverflowButtonPopover","openBy","_overflowPopover","_overflowList","showHeader","content","placement","VerticalPreferredBottom","_setupOverflowList","destroyItems","forEach","actionButton","listItem","pressHandler","addItem","_loadCards","_getCustomAttributes","task","finalAttributes","maximumAttributeCount","customAttributes","TaskDefinitionID","custom_attribute","customAttribute","taskCustomAttributes","CustomAttributeData","results","existingAttribute","find","taskAttribute","Name","name","value","referenced","Text","format","_formatCustomAttribute","textArrangement","_arrangeText","Value","_addCommonAttributes","trim","description","ValueText","formattedValue","TextFirst","TextLast","TextOnly","TextSeparate","taskAttributes","findAttribute","attributeName","oAttribute","toUpperCase","currentAttribute","CURRENCYVALUE","reference","referencedAttribute","currencyFormatter","getCurrencyInstance","parseFloat","USER","FormattedValue","CompletionDeadline","CreatedOn","getTargetAppUrl","control","getBindingContext","loadState","url","Loading","redirect","_this","sourceControl","SAP__Origin","originId","CreatedBy","userId","TaskTitle","subject","CreatedByName","createdBy","InstanceID","link","triggerEmail","email","URL","window","location","hash","toString","Promise","resolve","userData","Email","require","serviceContainer","getServiceAsync","teamsHelper","_temp2","enableContactsCollaboration","_temp","encodeURIComponent","_teamsHelper$enableCo","popover","error","Error","message","String","reject","warning","onDataReceived","_onDataReceived","options","_this2","tasks","taskDefinitions","_extractCustomAttributes","_temp3","onlyCount","_updateTasks","updatedTasks","_oData","displayTiles","tiles","_this3","_addCustomAttributes","_temp4","getEnableActions","_getTaskDefintions","_downloadDecisionOptions","_addActions","key","actions","getTaskActions","getBaseUrl","_this4","decisionKeys","decisionURLs","Object","keys","reduce","includes","_temp5","_clearRequests","requests","baseURL","requestURLs","success","decisionOptions","_submitBatch","taskDefinition","CustomAttributeDefinitionData","filter","Rank","sort","attr1","attr2","Label","Type","Reference","Referenced","getNoDataText","_getNoDataText","getVerticalCardCount","_getVerticalCardCount","domRef","calculationProperties","domProperties","parentDomProperties","parentElement","titleHeight","calculateTitleHeight","availableHeight","height","horizontalCardCount","getHorizontalCardCount","isPlaceholder","gap","verticalCardCount","_isLoaded","rowHeights","maxAttributes","attributeCount","card","visibleRowCount","Math","min","_isGridLayoutAllowed","rowHeight","floor","max","_adjustLayout","ToDoPanel.prototype._adjustLayout.call","deviceType","LargeDesktop","XLargeDesktop","setTargetAppUrl","_setTargetAppUrl","targetAppUrl","setVisible"],"sources":["TaskPanel.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 ActionTile from \"sap/m/ActionTile\";\nimport ActionTileContent from \"sap/m/ActionTileContent\";\nimport Button from \"sap/m/Button\";\nimport ContentConfig from \"sap/m/ContentConfig\";\nimport Link, { Link$PressEvent } from \"sap/m/Link\";\nimport List from \"sap/m/List\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport Popover from \"sap/m/Popover\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport TileAttribute from \"sap/m/TileAttribute\";\nimport { ButtonType, ContentConfigType, LoadState, PlacementType, URLHelper } from \"sap/m/library\";\nimport ServiceContainer from \"sap/suite/ui/commons/collaboration/ServiceContainer\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport { MetadataOptions } from \"sap/ui/core/Element\";\nimport NumberFormat from \"sap/ui/core/format/NumberFormat\";\nimport Context from \"sap/ui/model/Context\";\nimport MenuItem from \"./MenuItem\";\nimport { $TaskPanelSettings } from \"./TaskPanel\";\nimport type { CalculationProperties, RequestOptions } from \"./ToDoPanel\";\nimport ToDoPanel from \"./ToDoPanel\";\nimport DecisionDialog, { ActionButton, DecisionOption, getIconFrameBadge, getIconFrameBadgeValueState } from \"./utils/DecisionDialog\";\nimport { calculateDeviceType, DeviceType, fetchElementProperties } from \"./utils/Device\";\nimport { addFESRId, addFESRSemanticStepName, FESR_EVENTS } from \"./utils/FESRUtil\";\nimport { fetchUserDetails, formatDate, getPriority, getTaskUrl, TaskPriority } from \"./utils/TaskUtils\";\n\ninterface CustomAttribute {\n\tname?: string;\n\tlabel?: string;\n\ttext?: string;\n\ttype?: string;\n\thref?: string;\n\tformat?: string;\n\treference?: string;\n\treferenced?: string;\n\ttextArrangement?: TextArrangement;\n}\n\ninterface TaskCustomAttribute {\n\tName: string;\n\tValue: string;\n\tValueText: string;\n\tLabel: string;\n\tType: string;\n\tRank: number;\n\tFormat: string;\n\tFormattedValue: string;\n\tReference: string;\n\tReferenced: string;\n\tTextArrangement: TextArrangement;\n}\n\nexport interface Task {\n\tSAP__Origin: string;\n\tCreatedBy: string;\n\tTaskTitle: string;\n\tCreatedByName: string;\n\tInstanceID: string;\n\tTaskDefinitionID: string;\n\tCompletionDeadline: string;\n\tCreatedOn: string;\n\tactions: ActionButton[];\n\tPriority: TaskPriority;\n\tCustomAttributeData: {\n\t\tresults: TaskCustomAttribute[];\n\t};\n\tattributes: CustomAttribute[];\n}\n\ninterface TaskDefintion {\n\tSAP__Origin: string;\n\tInstanceID: string;\n\tTaskDefinitionID: string;\n}\n\ninterface TaskDefinitionCollection {\n\tTaskDefinitionID: string;\n\tCustomAttributeDefinitionData: {\n\t\tresults: TaskCustomAttribute[];\n\t};\n}\n\nenum Format {\n\tCURRENCYVALUE = \"CURRENCYVALUE\",\n\tCURRENCYCODE = \"CURRENCYCODE\",\n\tUSER = \"USER\"\n}\n\nenum TextArrangement {\n\tTextFirst = \"TextFirst\",\n\tTextLast = \"TextLast\",\n\tTextOnly = \"TextOnly\",\n\tTextSeparate = \"TextSeparate\"\n}\n\nconst Constants = {\n\tGRID_VIEW_MIN_ROWS: 1,\n\tGRID_VIEW_MAX_ROWS: 2,\n\tGRID_VIEW_MIN_WIDTH: 304,\n\tGRID_VIEW_TWO_COL_MIN_WIDTH: 374,\n\tGRID_VIEW_MAX_WIDTH: 583,\n\tCARD_HEIGHT: {\n\t\t// Cozy - Compact\n\t\t1: 220, // 214 - 226\n\t\t2: 272, // 265 - 278\n\t\t3: 324, // 318 - 330\n\t\t4: 376 // 370 - 382\n\t}\n};\n\n/**\n * Splits an array of task cards into smaller arrays, each with a maximum specified length.\n *\n * @param {Task[]} cards - The array of task cards to be split.\n * @param {number} maxLength - The maximum length of each sub-array.\n * @returns {Task[][]} - An array of sub-arrays, each containing a maximum of `maxLength` task cards.\n */\nfunction splitCards(cards: Task[], maxLength: number): Task[][] {\n\tconst cardSet = [];\n\tfor (let i = 0; i < cards.length; i += maxLength) {\n\t\tcardSet.push(cards.slice(i, i + maxLength));\n\t}\n\n\treturn cardSet;\n}\n\n/**\n *\n * Panel class for managing and storing Task cards.\n *\n * @extends ToDoPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @public\n *\n * @alias sap.cux.home.TaskPanel\n */\nexport default class TaskPanel extends ToDoPanel {\n\tprivate _customAttributeMap!: Record<string, CustomAttribute[]>;\n\tprivate _taskDefinitionMap!: Record<string, DecisionOption[]>;\n\tprivate _viewAllTasksMenuItem!: MenuItem;\n\tprivate _overflowPopover!: Popover;\n\tprivate _overflowList!: List;\n\n\tconstructor(id?: string | $TaskPanelSettings);\n\tconstructor(id?: string, settings?: $TaskPanelSettings);\n\t/**\n\t * Constructor for a new Task Panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $TaskPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Specifies if actions should be enabled for the task cards.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tenableActions: { type: \"boolean\", group: \"Data\", defaultValue: false, visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Specifies the URL that fetches the custom attributes to be displayed along with the task cards.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tcustomAttributeUrl: { type: \"string\", group: \"Data\", defaultValue: \"\", visibility: \"public\" }\n\t\t}\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\t\tthis._customAttributeMap = {};\n\t\tthis._taskDefinitionMap = {};\n\n\t\t//Configure Header\n\t\tthis.setProperty(\"key\", \"tasks\");\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"tasksTabTitle\"));\n\n\t\t//Setup Menu Items - ensure that 'View All Tasks' item is the first item in the list\n\t\tthis._viewAllTasksMenuItem = new MenuItem(`${this.getId()}-view-tasks-btn`, {\n\t\t\ttitle: this._i18nBundle.getText(\"viewAllTasksTitle\"),\n\t\t\ticon: \"sap-icon://inbox\",\n\t\t\tvisible: false,\n\t\t\tpress: this._onPressViewAll.bind(this)\n\t\t});\n\t\tthis.insertAggregation(\"menuItems\", this._viewAllTasksMenuItem, 0);\n\t\taddFESRId(this._viewAllTasksMenuItem, \"goToTaskSitution\");\n\n\t\tconst [contentWrapper] = this._getContent() || [];\n\t\tcontentWrapper?.addStyleClass(\"sapUiGridTaskLayout\");\n\t}\n\n\t/**\n\t * Generates request URLs for fetching data based on the specified card count.\n\t * Overridden method to provide task-specific URLs.\n\t *\n\t * @private\n\t * @override\n\t * @param {number} cardCount - The number of cards to retrieve.\n\t * @returns {string[]} An array of request URLs.\n\t */\n\tpublic generateRequestUrls(cardCount: number): string[] {\n\t\tconst urls = [this.getCountUrl(), `${this.getDataUrl()},CustomAttributeData&$expand=CustomAttributeData&$skip=0&$top=${cardCount}`];\n\n\t\tconst customAttributeUrl = this.getCustomAttributeUrl();\n\t\tif (customAttributeUrl) {\n\t\t\turls.push(customAttributeUrl);\n\t\t}\n\n\t\treturn urls;\n\t}\n\n\t/**\n\t * Generates a card template for tasks.\n\t * Overridden method from To-Do panel to generate task-specific card template.\n\t *\n\t * @private\n\t * @override\n\t * @param {string} id The ID for the template card.\n\t * @param {Context} context The context object.\n\t * @returns {Control} The generated card control template.\n\t */\n\tpublic generateCardTemplate(id: string, context: Context): Control {\n\t\tconst attributes = (context.getObject() as Task).attributes?.map((attribute, index) => {\n\t\t\treturn new TileAttribute(`${id}-${index}-attribute`, {\n\t\t\t\tlabel: attribute.label as string,\n\t\t\t\tcontentConfig: new ContentConfig(`${id}-${index}-contentConfig`, {\n\t\t\t\t\ttype: attribute.type as ContentConfigType,\n\t\t\t\t\ttext: attribute.text as string,\n\t\t\t\t\thref: attribute.href as string\n\t\t\t\t})\n\t\t\t});\n\t\t});\n\n\t\treturn new ActionTile(`${id}-actionTile`, {\n\t\t\tmode: \"ActionMode\",\n\t\t\tframeType: \"TwoByOne\",\n\t\t\tpressEnabled: true,\n\t\t\tenableIconFrame: true,\n\t\t\tenableDynamicHeight: true,\n\t\t\tenableNavigationButton: true,\n\t\t\theaderImage: \"sap-icon://workflow-tasks\",\n\t\t\tbadgeIcon: getIconFrameBadge(context.getProperty(\"Priority\") as TaskPriority),\n\t\t\tbadgeValueState: getIconFrameBadgeValueState(context.getProperty(\"Priority\") as TaskPriority),\n\t\t\theader: context.getProperty(\"TaskTitle\") as string,\n\t\t\tstate: context.getProperty(\"loadState\") as LoadState,\n\t\t\tpriority: getPriority(context.getProperty(\"Priority\") as TaskPriority),\n\t\t\tpriorityText: this._toPriorityText(getPriority(context.getProperty(\"Priority\") as TaskPriority)),\n\t\t\tpress: (event: Event) => this._onPressTask(event),\n\t\t\ttileContent: [\n\t\t\t\tnew ActionTileContent(`${id}-actionTileContent`, {\n\t\t\t\t\theaderLink: new Link({\n\t\t\t\t\t\ttext: context.getProperty(\"CreatedByName\") as string,\n\t\t\t\t\t\tpress: (event: Event): void => {\n\t\t\t\t\t\t\tvoid this._onClickCreatedBy(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\tattributes\n\t\t\t\t})\n\t\t\t],\n\t\t\tactionButtons: [\n\t\t\t\t(() => {\n\t\t\t\t\tconst viewButton = new Button(`${id}-view-btn`, {\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"viewButton\"),\n\t\t\t\t\t\tpress: (event: Event) => (event.getSource<Button>().getParent() as ActionTile).firePress(),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/length\") === 0\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(viewButton, FESR_EVENTS.PRESS, \"todoActionViewBtn\");\n\t\t\t\t\treturn viewButton;\n\t\t\t\t})(),\n\t\t\t\t(() => {\n\t\t\t\t\tconst approveButton = new Button(`${id}-approve-btn`, {\n\t\t\t\t\t\ttext: context.getProperty(\"actions/0/text\") as string,\n\t\t\t\t\t\ttype: context.getProperty(\"actions/0/type\") as ButtonType,\n\t\t\t\t\t\tpress: () => this._onActionButtonPress(context.getProperty(\"actions/0/pressHandler\") as () => void),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/0\") !== undefined\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(approveButton, FESR_EVENTS.PRESS, \"todoActionBtn\");\n\t\t\t\t\treturn approveButton;\n\t\t\t\t})(),\n\t\t\t\t(() => {\n\t\t\t\t\tconst rejectButton = new Button(`${id}-reject-btn`, {\n\t\t\t\t\t\ttext: context.getProperty(\"actions/1/text\") as string,\n\t\t\t\t\t\ttype: context.getProperty(\"actions/1/type\") as ButtonType,\n\t\t\t\t\t\tpress: () => this._onActionButtonPress(context.getProperty(\"actions/1/pressHandler\") as () => void),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/1\") !== undefined\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(rejectButton, FESR_EVENTS.PRESS, \"todoActionBtn\");\n\t\t\t\t\treturn rejectButton;\n\t\t\t\t})(),\n\t\t\t\t(() => {\n\t\t\t\t\tconst overflowButton = new Button(`${id}-overflow-btn`, {\n\t\t\t\t\t\ticon: \"sap-icon://overflow\",\n\t\t\t\t\t\ttype: ButtonType.Transparent,\n\t\t\t\t\t\tpress: (event: Event) => this._onOverflowButtonPress(event, context),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/length\") >= 3\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(overflowButton, FESR_EVENTS.PRESS, \"todoActBtnOverflow\");\n\t\t\t\t\treturn overflowButton;\n\t\t\t\t})()\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Handles the press event of the overflow button.\n\t * Opens a Popover containing overflow actions.\n\t *\n\t * @private\n\t * @param {Event} event - The press event triggered by the overflow button.\n\t * @param {Context} context - The context containing all actions.\n\t * @returns {void}\n\t */\n\tprivate _onOverflowButtonPress(event: Event, context: Context): void {\n\t\tconst overflowButtons = (context.getProperty(\"actions\") as ActionButton[]).slice(2);\n\t\tthis._getOverflowButtonPopover(overflowButtons).openBy(event.getSource<Button>());\n\t}\n\n\t/**\n\t * Creates or retrieves the overflow button Popover.\n\t *\n\t * @private\n\t * @param {ActionButton[]} actionButtons - The array of overflow actions.\n\t * @returns {Popover} The overflow button Popover.\n\t */\n\tprivate _getOverflowButtonPopover(actionButtons: ActionButton[]): Popover {\n\t\tif (!this._overflowPopover) {\n\t\t\tthis._overflowList = new List(`${this.getId()}-overflowList`);\n\t\t\tthis._overflowPopover = new Popover(`${this.getId()}-overflowPopover`, {\n\t\t\t\tshowHeader: false,\n\t\t\t\tcontent: this._overflowList,\n\t\t\t\tplacement: PlacementType.VerticalPreferredBottom\n\t\t\t});\n\t\t}\n\n\t\t//setup task-specific with task-specific actions\n\t\tthis._setupOverflowList(actionButtons);\n\t\treturn this._overflowPopover;\n\t}\n\n\t/**\n\t * Sets up the overflow button list with the provided task-specific actions.\n\t *\n\t * @private\n\t * @param {ActionButton[]} actionButtons - The array of overflow actions.\n\t * @returns {void}\n\t */\n\tprivate _setupOverflowList(actionButtons: ActionButton[]): void {\n\t\tthis._overflowList.destroyItems();\n\t\tactionButtons.forEach((actionButton, index) => {\n\t\t\tconst listItem = new StandardListItem(`action-${index}`, {\n\t\t\t\ttitle: actionButton.text,\n\t\t\t\ttype: \"Active\",\n\t\t\t\tpress: () => this._onActionButtonPress(actionButton.pressHandler as () => void)\n\t\t\t});\n\t\t\taddFESRSemanticStepName(listItem, FESR_EVENTS.PRESS, \"todoActionBtn\");\n\t\t\tthis._overflowList.addItem(listItem);\n\t\t});\n\t}\n\n\t/**\n\t * Handles the button press event and executes the provided press handler function,\n\t * which refreshes the UI after the button press action.\n\t *\n\t * @private\n\t * @param {Function} pressHandler - The function to be executed when the button is pressed.\n\t * @returns {void}\n\t */\n\tprivate _onActionButtonPress(pressHandler: (refreshFn: () => Promise<void>) => void): void {\n\t\tpressHandler(this._loadCards.bind(this));\n\t}\n\n\t/**\n\t * Retrieves custom attributes for a given task and formats them for display.\n\t * If the task has completion deadline and creation date, those attributes are also included.\n\t * If the task has a creator, the creator's name is included as well.\n\t *\n\t * @param {Task} task - The task object for which custom attributes are retrieved.\n\t * @returns {CustomAttribute[]} - An array of formatted custom attributes.\n\t */\n\tprivate _getCustomAttributes(task: Task): CustomAttribute[] {\n\t\tconst finalAttributes = [];\n\t\tconst maximumAttributeCount = 4;\n\t\tconst customAttributes = this._customAttributeMap[task.TaskDefinitionID] || [];\n\n\t\tfor (let custom_attribute of customAttributes) {\n\t\t\tconst customAttribute = custom_attribute;\n\t\t\tconst taskCustomAttributes = task.CustomAttributeData?.results;\n\t\t\tconst existingAttribute = taskCustomAttributes.find((taskAttribute) => {\n\t\t\t\treturn taskAttribute.Name === customAttribute.name;\n\t\t\t});\n\t\t\tlet value = \"\";\n\n\t\t\tif (existingAttribute && !customAttribute.referenced) {\n\t\t\t\tconst attribute: CustomAttribute = {\n\t\t\t\t\tlabel: customAttribute.label + \":\",\n\t\t\t\t\ttype: ContentConfigType.Text\n\t\t\t\t};\n\n\t\t\t\tif (customAttribute.format) {\n\t\t\t\t\tvalue = this._formatCustomAttribute(customAttribute, taskCustomAttributes);\n\t\t\t\t} else if (customAttribute.textArrangement) {\n\t\t\t\t\tvalue = this._arrangeText(existingAttribute, customAttribute.textArrangement);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = customAttribute.type === \"Edm.DateTime\" ? formatDate(existingAttribute.Value) : existingAttribute.Value;\n\t\t\t\t}\n\t\t\t\tattribute.text = value || \"-\";\n\t\t\t\tfinalAttributes.push(attribute);\n\t\t\t}\n\t\t}\n\n\t\t// add common attributes\n\t\tthis._addCommonAttributes(finalAttributes, task);\n\n\t\treturn finalAttributes.slice(0, maximumAttributeCount);\n\t}\n\n\t/**\n\t * Formats the given unit of measure value and description based on the specified text arrangement.\n\t *\n\t * @private\n\t * @param {TaskCustomAttribute} customAttribute The custom attribute object.\n\t * @param {TextArrangement} textArrangement The text arrangement option.\n\t * @returns {string} The formatted value.\n\t */\n\tprivate _arrangeText(customAttribute: TaskCustomAttribute, textArrangement: TextArrangement): string {\n\t\tconst value = customAttribute.Value.trim();\n\t\tconst description = customAttribute.ValueText.trim();\n\t\tlet formattedValue = \"\";\n\n\t\tswitch (textArrangement) {\n\t\t\tcase TextArrangement.TextFirst:\n\t\t\t\tformattedValue = `${description} (${value})`;\n\t\t\t\tbreak;\n\t\t\tcase TextArrangement.TextLast:\n\t\t\t\tformattedValue = `${value} (${description})`;\n\t\t\t\tbreak;\n\t\t\tcase TextArrangement.TextOnly:\n\t\t\t\tformattedValue = `${description}`;\n\t\t\t\tbreak;\n\t\t\tcase TextArrangement.TextSeparate:\n\t\t\t\tformattedValue = `${value}`;\n\t\t\t\tbreak;\n\t\t\tdefault: // TextFirst\n\t\t\t\tformattedValue = `${description} ${value})`;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn formattedValue;\n\t}\n\n\t/**\n\t * Formats a custom attribute value based on its format type.\n\t *\n\t * @param {CustomAttribute} customAttribute - The custom attribute object.\n\t * @param {TaskCustomAttribute[]} taskAttributes - The array of task attributes.\n\t * @returns {string} - The formatted value.\n\t */\n\tprivate _formatCustomAttribute(customAttribute: CustomAttribute, taskAttributes: TaskCustomAttribute[] = []): string {\n\t\tconst findAttribute = (attributeName: string) => {\n\t\t\treturn taskAttributes.find((oAttribute) => {\n\t\t\t\treturn oAttribute.Name === attributeName;\n\t\t\t});\n\t\t};\n\t\tconst format = customAttribute.format?.toUpperCase();\n\t\tconst currentAttribute = findAttribute(customAttribute.name as string);\n\t\tlet formattedValue = currentAttribute?.Value;\n\n\t\t// Format = CurrencyValue\n\t\tif (format === Format.CURRENCYVALUE && customAttribute.reference) {\n\t\t\tconst referencedAttribute = findAttribute(customAttribute.reference);\n\n\t\t\tif (referencedAttribute) {\n\t\t\t\tconst currencyFormatter = NumberFormat.getCurrencyInstance();\n\t\t\t\tformattedValue = currencyFormatter.format(parseFloat(currentAttribute?.Value as string), referencedAttribute.Value);\n\t\t\t}\n\t\t} else if (format === Format.USER) {\n\t\t\tformattedValue = currentAttribute?.FormattedValue || currentAttribute?.Value;\n\t\t}\n\n\t\treturn formattedValue as string;\n\t}\n\n\t/**\n\t * Adds common attributes to the final attributes list based on the provided task.\n\t * Common attributes include completion deadline, creation date, and creator's name.\n\t *\n\t * @param {CustomAttribute[]} finalAttributes - The array of custom attributes to which the common attributes will be added.\n\t * @param {Task} task - The task object containing data for common attributes.\n\t */\n\tprivate _addCommonAttributes(finalAttributes: CustomAttribute[], task: Task): void {\n\t\tif (task.CompletionDeadline) {\n\t\t\tfinalAttributes.push({\n\t\t\t\tlabel: this._i18nBundle.getText(\"dueDate\") + \":\",\n\t\t\t\ttext: formatDate(task.CompletionDeadline, \"MMM dd, YYYY hh:mm a\"),\n\t\t\t\ttype: ContentConfigType.Text\n\t\t\t});\n\t\t}\n\n\t\tif (task.CreatedOn) {\n\t\t\tfinalAttributes.push({\n\t\t\t\tlabel: this._i18nBundle.getText(\"createdOn\") + \":\",\n\t\t\t\ttext: formatDate(task.CreatedOn),\n\t\t\t\ttype: ContentConfigType.Text\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Handles the press event of a task.\n\t *\n\t * @private\n\t * @param {Event} event - The press event.\n\t */\n\tprivate _onPressTask(event: Event) {\n\t\tif (this.getTargetAppUrl()) {\n\t\t\tconst control = event.getSource<ActionTile>();\n\t\t\tconst context = control.getBindingContext();\n\t\t\tconst loadState = context?.getProperty(\"loadState\") as LoadState;\n\t\t\tconst url = getTaskUrl(\n\t\t\t\tcontext?.getProperty(\"SAP__Origin\") as string,\n\t\t\t\tcontext?.getProperty(\"InstanceID\") as string,\n\t\t\t\tthis.getTargetAppUrl()\n\t\t\t);\n\n\t\t\tif (loadState !== LoadState.Loading) {\n\t\t\t\tURLHelper.redirect(url, false);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Handles the click event on the \"Created By\" link.\n\t * Triggers email or opens a contact card if configuration is enabled\n\t *\n\t * @private\n\t * @param {Event} event - The event object.\n\t */\n\tprivate async _onClickCreatedBy(event: Link$PressEvent): Promise<void> {\n\t\tconst sourceControl = event.getSource();\n\t\tconst {\n\t\t\tSAP__Origin: originId,\n\t\t\tCreatedBy: userId,\n\t\t\tTaskTitle: subject,\n\t\t\tCreatedByName: createdBy,\n\t\t\tInstanceID\n\t\t} = event.getSource().getBindingContext()?.getObject() as Task;\n\t\tconst link = getTaskUrl(originId, InstanceID, this.getTargetAppUrl());\n\t\tconst triggerEmail = (email: string, { subject, body }: { subject: string; body: string }) => {\n\t\t\tURLHelper.triggerEmail(email, subject, body);\n\t\t};\n\t\tconst url = new URL(window.location.href);\n\t\turl.hash = link;\n\t\tconst body = url.toString();\n\n\t\tconst userData = await fetchUserDetails(originId, userId);\n\t\tif (userData.Email) {\n\t\t\tsap.ui.require([\"sap/suite/ui/commons/collaboration/ServiceContainer\"], async (serviceContainer: ServiceContainer) => {\n\t\t\t\tconst teamsHelper = await serviceContainer.getServiceAsync();\n\n\t\t\t\tif (teamsHelper.enableContactsCollaboration) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst popover = (await teamsHelper.enableContactsCollaboration(userData.Email as string, {\n\t\t\t\t\t\t\tsubject,\n\t\t\t\t\t\t\tbody: encodeURIComponent(body)\n\t\t\t\t\t\t})) as Popover;\n\t\t\t\t\t\tpopover.openBy(sourceControl);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t\t\t\ttriggerEmail(userData.Email as string, { subject, body });\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttriggerEmail(userData.Email as string, { subject, body });\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tMessageBox.warning(this._i18nBundle.getText(\"noEmail\", [createdBy]) as string);\n\t\t}\n\t}\n\n\t/**\n\t * Hook for processing data fetched from a batch call.\n\t * This method can be overridden to perform additional data processing operations.\n\t * In this implementation, it is consumed to handle task-related data, particularly\n\t * for extracting custom attributes if action cards are enabled.\n\t *\n\t * @private\n\t * @async\n\t * @param {unknown[]} results - Data retrieved from the batch call. Structure may vary based on the backend service.\n\t * @param {RequestOptions} options - Additional options for parsing the data.\n\t * @returns {Promise<void>} A Promise that resolves when the data processing is complete.\n\t */\n\tpublic async onDataReceived(results: unknown[], options: RequestOptions): Promise<void> {\n\t\tconst [tasks, taskDefinitions] = results;\n\t\tthis._extractCustomAttributes(taskDefinitions as TaskDefinitionCollection[]);\n\n\t\tif (!options || (options && !options.onlyCount)) {\n\t\t\tconst updatedTasks = await this._updateTasks(tasks as Task[]);\n\t\t\tthis._oData.displayTiles = this._oData.tiles = updatedTasks;\n\t\t}\n\t}\n\n\t/**\n\t * Updates the tasks with attributes and actions.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks to update.\n\t * @returns {Promise<Task[]>} A promise that resolves with the updated array of tasks.\n\t */\n\tprivate async _updateTasks(tasks: Task[] = []): Promise<Task[]> {\n\t\t//add custom attributes to tasks\n\t\tlet updatedTasks = this._addCustomAttributes(tasks);\n\n\t\t//add actions to tasks\n\t\tif (this.getEnableActions()) {\n\t\t\t//calculate unique task definitions\n\t\t\tconst taskDefinitions = this._getTaskDefintions(updatedTasks);\n\n\t\t\t//download decision options for task defintions\n\t\t\tawait this._downloadDecisionOptions(taskDefinitions);\n\n\t\t\t//append actions\n\t\t\tupdatedTasks = this._addActions(updatedTasks);\n\t\t}\n\n\t\treturn updatedTasks;\n\t}\n\n\t/**\n\t * Adds custom attributes to each task in the provided array.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks to which custom attributes will be added.\n\t * @returns {Task[]} - A new array of tasks, each with added custom attributes.\n\t */\n\tprivate _addCustomAttributes(tasks: Task[]): Task[] {\n\t\treturn tasks.map((task) => ({\n\t\t\t...task,\n\t\t\tattributes: this._getCustomAttributes(task)\n\t\t}));\n\t}\n\n\t/**\n\t * Adds actions to the tasks based on their task definitions.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks to which actions will be added.\n\t * @returns {Task[]} The array of tasks with actions added.\n\t */\n\tprivate _addActions(tasks: Task[]): Task[] {\n\t\treturn tasks.map((task) => {\n\t\t\tconst key = task.SAP__Origin + task.TaskDefinitionID;\n\t\t\treturn {\n\t\t\t\t...task,\n\t\t\t\tactions: this._taskDefinitionMap[key]\n\t\t\t\t\t? DecisionDialog.getTaskActions(task, this.getBaseUrl(), this._taskDefinitionMap, this._i18nBundle)\n\t\t\t\t\t: []\n\t\t\t};\n\t\t});\n\t}\n\n\t/**\n\t * Downloads decision options for the provided task definitions.\n\t *\n\t * @private\n\t * @param {Record<string, TaskDefinition>} taskDefinitions - The task definitions for which decision options will be downloaded.\n\t * @returns {Promise<void>} A promise that resolves when all decision options are downloaded and processed.\n\t */\n\tprivate async _downloadDecisionOptions(taskDefinitions: Record<string, TaskDefintion>): Promise<void> {\n\t\tconst decisionKeys: string[] = [];\n\t\tconst decisionURLs = Object.keys(taskDefinitions).reduce((urls: string[], key) => {\n\t\t\tif (!Object.keys(this._taskDefinitionMap).includes(key)) {\n\t\t\t\tdecisionKeys.push(key);\n\t\t\t\tthis._taskDefinitionMap[key] = [];\n\n\t\t\t\tconst { SAP__Origin, InstanceID } = taskDefinitions[key];\n\t\t\t\turls.push(`DecisionOptions?SAP__Origin='${SAP__Origin}'&InstanceID='${InstanceID}'`);\n\t\t\t}\n\t\t\treturn urls;\n\t\t}, []);\n\n\t\tif (decisionURLs.length) {\n\t\t\tthis._clearRequests();\n\t\t\tthis.requests.push({\n\t\t\t\tbaseURL: this.getBaseUrl(),\n\t\t\t\trequestURLs: decisionURLs,\n\t\t\t\tsuccess: (results: DecisionOption[][]): Promise<void> => {\n\t\t\t\t\tresults.forEach((decisionOptions: DecisionOption[], index) => {\n\t\t\t\t\t\tthis._taskDefinitionMap[decisionKeys[index]] = decisionOptions;\n\t\t\t\t\t});\n\t\t\t\t\treturn Promise.resolve();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tawait this._submitBatch();\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves unique task definitions from the provided array of tasks.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks from which to retrieve task definitions.\n\t * @returns {Record<string, TaskDefintion>} An object containing unique task definitions.\n\t */\n\tprivate _getTaskDefintions(tasks: Task[] = []): Record<string, TaskDefintion> {\n\t\tconst taskDefinitions: Record<string, TaskDefintion> = {};\n\t\ttasks.forEach((task) => {\n\t\t\tconst key = task.SAP__Origin + task.TaskDefinitionID;\n\t\t\tif (!taskDefinitions[key]) {\n\t\t\t\ttaskDefinitions[key] = {\n\t\t\t\t\tSAP__Origin: task.SAP__Origin,\n\t\t\t\t\tInstanceID: task.InstanceID,\n\t\t\t\t\tTaskDefinitionID: task.TaskDefinitionID\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\n\t\treturn taskDefinitions;\n\t}\n\n\t/**\n\t * Extracts Custom Attribute Information to create an attribute map from raw attribute data\n\t * received from call, which is used while task processing\n\t *\n\t * @private\n\t * @param {TaskDefinitionCollection[]} taskDefinitions - array of raw tasks definitions\n\t */\n\tprivate _extractCustomAttributes(taskDefinitions: TaskDefinitionCollection[] = []): void {\n\t\ttaskDefinitions.forEach((taskDefinition: TaskDefinitionCollection) => {\n\t\t\tconst customAttributes = taskDefinition.CustomAttributeDefinitionData?.results || [];\n\t\t\tthis._customAttributeMap[taskDefinition.TaskDefinitionID] = customAttributes\n\t\t\t\t.filter((oAttribute) => oAttribute.Rank > 0)\n\t\t\t\t.sort((attr1, attr2) => attr2.Rank - attr1.Rank)\n\t\t\t\t.map((oAttribute) => ({\n\t\t\t\t\tname: oAttribute.Name,\n\t\t\t\t\tlabel: oAttribute.Label,\n\t\t\t\t\ttype: oAttribute.Type,\n\t\t\t\t\tformat: oAttribute.Format,\n\t\t\t\t\treference: oAttribute.Reference,\n\t\t\t\t\treferenced: oAttribute.Referenced,\n\t\t\t\t\ttextArrangement: oAttribute.TextArrangement\n\t\t\t\t}));\n\t\t});\n\t}\n\n\t/**\n\t * Get the text for the \"No Data\" message.\n\t *\n\t * @private\n\t * @returns {string} The text for the \"No Data\" message.\n\t */\n\tpublic getNoDataText(): string {\n\t\treturn this._i18nBundle.getText(\"noTaskTitle\") as string;\n\t}\n\n\t/**\n\t * Calculates the number of vertical cards that can fit within the available height of the given DOM element.\n\t *\n\t * @private\n\t * @override\n\t * @param {Element} domRef - The DOM element to calculate the vertical card count for.\n\t * @returns {number} - The number of vertical cards that can fit within the available height.\n\t */\n\tpublic getVerticalCardCount(domRef: Element, calculationProperties?: CalculationProperties): number {\n\t\tconst domProperties = fetchElementProperties(domRef, [\"padding-top\"]);\n\t\tconst parentDomProperties = fetchElementProperties(domRef.parentElement as Element, [\"height\"]);\n\t\tconst titleHeight = this.calculateTitleHeight();\n\t\tconst availableHeight = parentDomProperties.height - domProperties[\"padding-top\"] * 2 - titleHeight;\n\t\tconst horizontalCardCount = this.getHorizontalCardCount(domRef);\n\t\tconst isPlaceholder = calculationProperties?.isPlaceholder;\n\t\tconst gap = 16;\n\t\tlet height = 0;\n\t\tlet verticalCardCount = 0;\n\n\t\tif (this._isLoaded()) {\n\t\t\tconst cardSet = splitCards(this._oData.tiles as Task[], horizontalCardCount);\n\t\t\tconst rowHeights = cardSet.map((cards: Task[]) => {\n\t\t\t\tconst maxAttributes = cards.reduce(function (attributeCount: number, card: Task) {\n\t\t\t\t\tcard.attributes = card.attributes || [];\n\t\t\t\t\treturn card.attributes.length > attributeCount ? card.attributes.length : attributeCount;\n\t\t\t\t}, 1);\n\n\t\t\t\tlet visibleRowCount = Math.min(maxAttributes, 4);\n\t\t\t\tif (this._isGridLayoutAllowed()) {\n\t\t\t\t\t// If grid view is enabled, restrict the card height to 2 rows\n\t\t\t\t\tvisibleRowCount =\n\t\t\t\t\t\tvisibleRowCount > Constants.GRID_VIEW_MAX_ROWS ? Constants.GRID_VIEW_MAX_ROWS : Constants.GRID_VIEW_MIN_ROWS;\n\t\t\t\t}\n\n\t\t\t\treturn Constants.CARD_HEIGHT[visibleRowCount as keyof typeof Constants.CARD_HEIGHT] + gap;\n\t\t\t});\n\n\t\t\tfor (let rowHeight of rowHeights) {\n\t\t\t\tif (height + rowHeight < availableHeight) {\n\t\t\t\t\theight += rowHeight;\n\t\t\t\t\tverticalCardCount++;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tverticalCardCount = Math.floor(availableHeight / Constants.CARD_HEIGHT[isPlaceholder ? \"4\" : \"1\"]);\n\t\t}\n\n\t\treturn Math.max(verticalCardCount, 2);\n\t}\n\n\t/**\n\t * Adjusts the layout based on card count and device type.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic _adjustLayout(): void {\n\t\tsuper._adjustLayout();\n\n\t\tthis.setProperty(\n\t\t\t\"minCardWidth\",\n\t\t\tthis._isGridLayoutAllowed() ? Constants.GRID_VIEW_TWO_COL_MIN_WIDTH : Constants.GRID_VIEW_MIN_WIDTH\n\t\t);\n\t\tthis.setProperty(\"maxCardWidth\", Constants.GRID_VIEW_MAX_WIDTH);\n\t}\n\n\t/**\n\t * Determines if grid view is allowed for displaying card content based on the device type.\n\t *\n\t * @returns {boolean} `true` if the device type is either Desktop or LargeDesktop, otherwise `false`.\n\t */\n\tprotected _isGridLayoutAllowed(): boolean {\n\t\tconst deviceType = calculateDeviceType();\n\t\treturn deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop;\n\t}\n\n\t/**\n\t * Sets the target application URL and updates the visibility of the \"View All Tasks\" menu item.\n\t *\n\t * @param {string} targetAppUrl - The URL of the target application.\n\t * @returns {this} The current instance of the TaskPanel for method chaining.\n\t */\n\tpublic setTargetAppUrl(targetAppUrl: string): this {\n\t\tthis._viewAllTasksMenuItem.setVisible(!!targetAppUrl);\n\t\tthis.setProperty(\"targetAppUrl\", targetAppUrl);\n\t\treturn this;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"TaskPanel.js","names":["sap","ui","define","Log","ActionTile","ActionTileContent","Button","ContentConfig","Link","List","MessageBox","Popover","StandardListItem","TileAttribute","sap_m_library","NumberFormat","__MenuItem","__ToDoPanel","__DecisionDialog","___utils_Device","___utils_FESRUtil","___utils_TaskUtils","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","ButtonType","ContentConfigType","LoadState","PlacementType","URLHelper","MenuItem","ToDoPanel","DecisionDialog","getIconFrameBadge","getIconFrameBadgeValueState","calculateDeviceType","DeviceType","fetchElementProperties","addFESRId","addFESRSemanticStepName","FESR_EVENTS","fetchUserDetails","formatDate","getPriority","getTaskUrl","Format","TextArrangement","Constants","GRID_VIEW_MIN_ROWS","GRID_VIEW_MAX_ROWS","GRID_VIEW_MIN_WIDTH","GRID_VIEW_TWO_COL_MIN_WIDTH","GRID_VIEW_MAX_WIDTH","CARD_HEIGHT","splitCards","cards","maxLength","cardSet","i","length","push","slice","TaskPanel","extend","metadata","library","properties","enableActions","type","group","defaultValue","visibility","customAttributeUrl","constructor","_constructor","id","settings","ToDoPanel.prototype.constructor.call","init","_init","ToDoPanel.prototype.init.call","_customAttributeMap","_taskDefinitionMap","setProperty","_i18nBundle","getText","_viewAllTasksMenuItem","getId","title","icon","visible","press","_onPressViewAll","bind","insertAggregation","contentWrapper","getContent","addStyleClass","generateRequestUrls","_generateRequestUrls","cardCount","urls","getCountUrl","getDataUrl","getCustomAttributeUrl","generateCardTemplate","_generateCardTemplate","context","attributes","getObject","map","attribute","index","label","contentConfig","text","href","mode","frameType","pressEnabled","enableIconFrame","enableDynamicHeight","enableNavigationButton","headerImage","badgeIcon","getProperty","badgeValueState","header","state","priority","priorityText","_toPriorityText","event","_onPressTask","tileContent","headerLink","_onClickCreatedBy","actionButtons","viewButton","getSource","getParent","firePress","PRESS","approveButton","_onActionButtonPress","undefined","rejectButton","overflowButton","Transparent","_onOverflowButtonPress","overflowButtons","_getOverflowButtonPopover","openBy","_overflowPopover","_overflowList","showHeader","content","placement","VerticalPreferredBottom","_setupOverflowList","destroyItems","forEach","actionButton","listItem","pressHandler","addItem","_loadCards","_getCustomAttributes","task","finalAttributes","maximumAttributeCount","customAttributes","TaskDefinitionID","custom_attribute","customAttribute","taskCustomAttributes","CustomAttributeData","results","existingAttribute","find","taskAttribute","Name","name","value","referenced","Text","format","_formatCustomAttribute","textArrangement","_arrangeText","Value","_addCommonAttributes","trim","description","ValueText","formattedValue","TextFirst","TextLast","TextOnly","TextSeparate","taskAttributes","findAttribute","attributeName","oAttribute","toUpperCase","currentAttribute","CURRENCYVALUE","reference","referencedAttribute","currencyFormatter","getCurrencyInstance","parseFloat","USER","FormattedValue","CompletionDeadline","CreatedOn","getTargetAppUrl","control","getBindingContext","loadState","url","Loading","redirect","_this","sourceControl","SAP__Origin","originId","CreatedBy","userId","TaskTitle","subject","CreatedByName","createdBy","InstanceID","link","triggerEmail","email","URL","window","location","hash","toString","Promise","resolve","userData","Email","require","serviceContainer","getServiceAsync","teamsHelper","_temp2","enableContactsCollaboration","_temp","encodeURIComponent","_teamsHelper$enableCo","popover","error","Error","message","String","reject","warning","onDataReceived","_onDataReceived","options","_this2","tasks","taskDefinitions","_extractCustomAttributes","_temp3","onlyCount","_updateTasks","updatedTasks","_oData","displayTiles","tiles","_this3","_addCustomAttributes","_temp4","getEnableActions","_getTaskDefintions","_downloadDecisionOptions","_addActions","key","actions","getTaskActions","getBaseUrl","_this4","decisionKeys","decisionURLs","Object","keys","reduce","includes","_temp5","_clearRequests","requests","baseURL","requestURLs","success","decisionOptions","_submitBatch","taskDefinition","CustomAttributeDefinitionData","filter","Rank","sort","attr1","attr2","Label","Type","Reference","Referenced","getNoDataText","_getNoDataText","getVerticalCardCount","_getVerticalCardCount","domRef","calculationProperties","domProperties","parentDomProperties","parentElement","titleHeight","calculateTitleHeight","availableHeight","height","horizontalCardCount","getHorizontalCardCount","isPlaceholder","gap","verticalCardCount","_isLoaded","rowHeights","maxAttributes","attributeCount","card","visibleRowCount","Math","min","_isGridLayoutAllowed","rowHeight","floor","max","_adjustLayout","ToDoPanel.prototype._adjustLayout.call","deviceType","LargeDesktop","XLargeDesktop","setTargetAppUrl","_setTargetAppUrl","targetAppUrl","setVisible"],"sources":["TaskPanel.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 ActionTile from \"sap/m/ActionTile\";\nimport ActionTileContent from \"sap/m/ActionTileContent\";\nimport Button from \"sap/m/Button\";\nimport ContentConfig from \"sap/m/ContentConfig\";\nimport Link, { Link$PressEvent } from \"sap/m/Link\";\nimport List from \"sap/m/List\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport Popover from \"sap/m/Popover\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport TileAttribute from \"sap/m/TileAttribute\";\nimport { ButtonType, ContentConfigType, LoadState, PlacementType, URLHelper } from \"sap/m/library\";\nimport ServiceContainer from \"sap/suite/ui/commons/collaboration/ServiceContainer\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport { MetadataOptions } from \"sap/ui/core/Element\";\nimport NumberFormat from \"sap/ui/core/format/NumberFormat\";\nimport Context from \"sap/ui/model/Context\";\nimport MenuItem from \"./MenuItem\";\nimport { $TaskPanelSettings } from \"./TaskPanel\";\nimport type { CalculationProperties, RequestOptions } from \"./ToDoPanel\";\nimport ToDoPanel from \"./ToDoPanel\";\nimport DecisionDialog, { ActionButton, DecisionOption, getIconFrameBadge, getIconFrameBadgeValueState } from \"./utils/DecisionDialog\";\nimport { calculateDeviceType, DeviceType, fetchElementProperties } from \"./utils/Device\";\nimport { addFESRId, addFESRSemanticStepName, FESR_EVENTS } from \"./utils/FESRUtil\";\nimport { fetchUserDetails, formatDate, getPriority, getTaskUrl, TaskPriority } from \"./utils/TaskUtils\";\n\ninterface CustomAttribute {\n\tname?: string;\n\tlabel?: string;\n\ttext?: string;\n\ttype?: string;\n\thref?: string;\n\tformat?: string;\n\treference?: string;\n\treferenced?: string;\n\ttextArrangement?: TextArrangement;\n}\n\ninterface TaskCustomAttribute {\n\tName: string;\n\tValue: string;\n\tValueText: string;\n\tLabel: string;\n\tType: string;\n\tRank: number;\n\tFormat: string;\n\tFormattedValue: string;\n\tReference: string;\n\tReferenced: string;\n\tTextArrangement: TextArrangement;\n}\n\nexport interface Task {\n\tSAP__Origin: string;\n\tCreatedBy: string;\n\tTaskTitle: string;\n\tCreatedByName: string;\n\tInstanceID: string;\n\tTaskDefinitionID: string;\n\tCompletionDeadline: string;\n\tCreatedOn: string;\n\tactions: ActionButton[];\n\tPriority: TaskPriority;\n\tCustomAttributeData: {\n\t\tresults: TaskCustomAttribute[];\n\t};\n\tattributes: CustomAttribute[];\n}\n\ninterface TaskDefintion {\n\tSAP__Origin: string;\n\tInstanceID: string;\n\tTaskDefinitionID: string;\n}\n\ninterface TaskDefinitionCollection {\n\tTaskDefinitionID: string;\n\tCustomAttributeDefinitionData: {\n\t\tresults: TaskCustomAttribute[];\n\t};\n}\n\nenum Format {\n\tCURRENCYVALUE = \"CURRENCYVALUE\",\n\tCURRENCYCODE = \"CURRENCYCODE\",\n\tUSER = \"USER\"\n}\n\nenum TextArrangement {\n\tTextFirst = \"TextFirst\",\n\tTextLast = \"TextLast\",\n\tTextOnly = \"TextOnly\",\n\tTextSeparate = \"TextSeparate\"\n}\n\nconst Constants = {\n\tGRID_VIEW_MIN_ROWS: 1,\n\tGRID_VIEW_MAX_ROWS: 2,\n\tGRID_VIEW_MIN_WIDTH: 304,\n\tGRID_VIEW_TWO_COL_MIN_WIDTH: 374,\n\tGRID_VIEW_MAX_WIDTH: 583,\n\tCARD_HEIGHT: {\n\t\t// Cozy - Compact\n\t\t1: 220, // 214 - 226\n\t\t2: 272, // 265 - 278\n\t\t3: 324, // 318 - 330\n\t\t4: 376 // 370 - 382\n\t}\n};\n\n/**\n * Splits an array of task cards into smaller arrays, each with a maximum specified length.\n *\n * @param {Task[]} cards - The array of task cards to be split.\n * @param {number} maxLength - The maximum length of each sub-array.\n * @returns {Task[][]} - An array of sub-arrays, each containing a maximum of `maxLength` task cards.\n */\nfunction splitCards(cards: Task[], maxLength: number): Task[][] {\n\tconst cardSet = [];\n\tfor (let i = 0; i < cards.length; i += maxLength) {\n\t\tcardSet.push(cards.slice(i, i + maxLength));\n\t}\n\n\treturn cardSet;\n}\n\n/**\n *\n * Panel class for managing and storing Task cards.\n *\n * @extends ToDoPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.TaskPanel\n */\nexport default class TaskPanel extends ToDoPanel {\n\tprivate _customAttributeMap!: Record<string, CustomAttribute[]>;\n\tprivate _taskDefinitionMap!: Record<string, DecisionOption[]>;\n\tprivate _viewAllTasksMenuItem!: MenuItem;\n\tprivate _overflowPopover!: Popover;\n\tprivate _overflowList!: List;\n\n\tconstructor(id?: string | $TaskPanelSettings);\n\tconstructor(id?: string, settings?: $TaskPanelSettings);\n\t/**\n\t * Constructor for a new Task Panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $TaskPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Specifies if actions should be enabled for the task cards.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tenableActions: { type: \"boolean\", group: \"Data\", defaultValue: false, visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Specifies the URL that fetches the custom attributes to be displayed along with the task cards.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tcustomAttributeUrl: { type: \"string\", group: \"Data\", defaultValue: \"\", visibility: \"public\" }\n\t\t}\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\t\tthis._customAttributeMap = {};\n\t\tthis._taskDefinitionMap = {};\n\n\t\t//Configure Header\n\t\tthis.setProperty(\"key\", \"tasks\");\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"tasksTabTitle\"));\n\n\t\t//Setup Menu Items - ensure that 'View All Tasks' item is the first item in the list\n\t\tthis._viewAllTasksMenuItem = new MenuItem(`${this.getId()}-view-tasks-btn`, {\n\t\t\ttitle: this._i18nBundle.getText(\"viewAllTasksTitle\"),\n\t\t\ticon: \"sap-icon://inbox\",\n\t\t\tvisible: false,\n\t\t\tpress: this._onPressViewAll.bind(this)\n\t\t});\n\t\tthis.insertAggregation(\"menuItems\", this._viewAllTasksMenuItem, 0);\n\t\taddFESRId(this._viewAllTasksMenuItem, \"goToTaskSitution\");\n\n\t\t//Add custom styles\n\t\tconst [contentWrapper] = this.getContent() || [];\n\t\tcontentWrapper?.addStyleClass(\"sapUiGridTaskLayout\");\n\t}\n\n\t/**\n\t * Generates request URLs for fetching data based on the specified card count.\n\t * Overridden method to provide task-specific URLs.\n\t *\n\t * @private\n\t * @override\n\t * @param {number} cardCount - The number of cards to retrieve.\n\t * @returns {string[]} An array of request URLs.\n\t */\n\tpublic generateRequestUrls(cardCount: number): string[] {\n\t\tconst urls = [this.getCountUrl(), `${this.getDataUrl()},CustomAttributeData&$expand=CustomAttributeData&$skip=0&$top=${cardCount}`];\n\n\t\tconst customAttributeUrl = this.getCustomAttributeUrl();\n\t\tif (customAttributeUrl) {\n\t\t\turls.push(customAttributeUrl);\n\t\t}\n\n\t\treturn urls;\n\t}\n\n\t/**\n\t * Generates a card template for tasks.\n\t * Overridden method from To-Do panel to generate task-specific card template.\n\t *\n\t * @private\n\t * @override\n\t * @param {string} id The ID for the template card.\n\t * @param {Context} context The context object.\n\t * @returns {Control} The generated card control template.\n\t */\n\tpublic generateCardTemplate(id: string, context: Context): Control {\n\t\tconst attributes = (context.getObject() as Task).attributes?.map((attribute, index) => {\n\t\t\treturn new TileAttribute(`${id}-${index}-attribute`, {\n\t\t\t\tlabel: attribute.label as string,\n\t\t\t\tcontentConfig: new ContentConfig(`${id}-${index}-contentConfig`, {\n\t\t\t\t\ttype: attribute.type as ContentConfigType,\n\t\t\t\t\ttext: attribute.text as string,\n\t\t\t\t\thref: attribute.href as string\n\t\t\t\t})\n\t\t\t});\n\t\t});\n\n\t\treturn new ActionTile(`${id}-actionTile`, {\n\t\t\tmode: \"ActionMode\",\n\t\t\tframeType: \"TwoByOne\",\n\t\t\tpressEnabled: true,\n\t\t\tenableIconFrame: true,\n\t\t\tenableDynamicHeight: true,\n\t\t\tenableNavigationButton: true,\n\t\t\theaderImage: \"sap-icon://workflow-tasks\",\n\t\t\tbadgeIcon: getIconFrameBadge(context.getProperty(\"Priority\") as TaskPriority),\n\t\t\tbadgeValueState: getIconFrameBadgeValueState(context.getProperty(\"Priority\") as TaskPriority),\n\t\t\theader: context.getProperty(\"TaskTitle\") as string,\n\t\t\tstate: context.getProperty(\"loadState\") as LoadState,\n\t\t\tpriority: getPriority(context.getProperty(\"Priority\") as TaskPriority),\n\t\t\tpriorityText: this._toPriorityText(getPriority(context.getProperty(\"Priority\") as TaskPriority)),\n\t\t\tpress: (event: Event) => this._onPressTask(event),\n\t\t\ttileContent: [\n\t\t\t\tnew ActionTileContent(`${id}-actionTileContent`, {\n\t\t\t\t\theaderLink: new Link({\n\t\t\t\t\t\ttext: context.getProperty(\"CreatedByName\") as string,\n\t\t\t\t\t\tpress: (event: Event): void => {\n\t\t\t\t\t\t\tvoid this._onClickCreatedBy(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\tattributes\n\t\t\t\t})\n\t\t\t],\n\t\t\tactionButtons: [\n\t\t\t\t(() => {\n\t\t\t\t\tconst viewButton = new Button(`${id}-view-btn`, {\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"viewButton\"),\n\t\t\t\t\t\tpress: (event: Event) => (event.getSource<Button>().getParent() as ActionTile).firePress(),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/length\") === 0\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(viewButton, FESR_EVENTS.PRESS, \"todoActionViewBtn\");\n\t\t\t\t\treturn viewButton;\n\t\t\t\t})(),\n\t\t\t\t(() => {\n\t\t\t\t\tconst approveButton = new Button(`${id}-approve-btn`, {\n\t\t\t\t\t\ttext: context.getProperty(\"actions/0/text\") as string,\n\t\t\t\t\t\ttype: context.getProperty(\"actions/0/type\") as ButtonType,\n\t\t\t\t\t\tpress: () => this._onActionButtonPress(context.getProperty(\"actions/0/pressHandler\") as () => void),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/0\") !== undefined\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(approveButton, FESR_EVENTS.PRESS, \"todoActionBtn\");\n\t\t\t\t\treturn approveButton;\n\t\t\t\t})(),\n\t\t\t\t(() => {\n\t\t\t\t\tconst rejectButton = new Button(`${id}-reject-btn`, {\n\t\t\t\t\t\ttext: context.getProperty(\"actions/1/text\") as string,\n\t\t\t\t\t\ttype: context.getProperty(\"actions/1/type\") as ButtonType,\n\t\t\t\t\t\tpress: () => this._onActionButtonPress(context.getProperty(\"actions/1/pressHandler\") as () => void),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/1\") !== undefined\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(rejectButton, FESR_EVENTS.PRESS, \"todoActionBtn\");\n\t\t\t\t\treturn rejectButton;\n\t\t\t\t})(),\n\t\t\t\t(() => {\n\t\t\t\t\tconst overflowButton = new Button(`${id}-overflow-btn`, {\n\t\t\t\t\t\ticon: \"sap-icon://overflow\",\n\t\t\t\t\t\ttype: ButtonType.Transparent,\n\t\t\t\t\t\tpress: (event: Event) => this._onOverflowButtonPress(event, context),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/length\") >= 3\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(overflowButton, FESR_EVENTS.PRESS, \"todoActBtnOverflow\");\n\t\t\t\t\treturn overflowButton;\n\t\t\t\t})()\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Handles the press event of the overflow button.\n\t * Opens a Popover containing overflow actions.\n\t *\n\t * @private\n\t * @param {Event} event - The press event triggered by the overflow button.\n\t * @param {Context} context - The context containing all actions.\n\t * @returns {void}\n\t */\n\tprivate _onOverflowButtonPress(event: Event, context: Context): void {\n\t\tconst overflowButtons = (context.getProperty(\"actions\") as ActionButton[]).slice(2);\n\t\tthis._getOverflowButtonPopover(overflowButtons).openBy(event.getSource<Button>());\n\t}\n\n\t/**\n\t * Creates or retrieves the overflow button Popover.\n\t *\n\t * @private\n\t * @param {ActionButton[]} actionButtons - The array of overflow actions.\n\t * @returns {Popover} The overflow button Popover.\n\t */\n\tprivate _getOverflowButtonPopover(actionButtons: ActionButton[]): Popover {\n\t\tif (!this._overflowPopover) {\n\t\t\tthis._overflowList = new List(`${this.getId()}-overflowList`);\n\t\t\tthis._overflowPopover = new Popover(`${this.getId()}-overflowPopover`, {\n\t\t\t\tshowHeader: false,\n\t\t\t\tcontent: this._overflowList,\n\t\t\t\tplacement: PlacementType.VerticalPreferredBottom\n\t\t\t});\n\t\t}\n\n\t\t//setup task-specific with task-specific actions\n\t\tthis._setupOverflowList(actionButtons);\n\t\treturn this._overflowPopover;\n\t}\n\n\t/**\n\t * Sets up the overflow button list with the provided task-specific actions.\n\t *\n\t * @private\n\t * @param {ActionButton[]} actionButtons - The array of overflow actions.\n\t * @returns {void}\n\t */\n\tprivate _setupOverflowList(actionButtons: ActionButton[]): void {\n\t\tthis._overflowList.destroyItems();\n\t\tactionButtons.forEach((actionButton, index) => {\n\t\t\tconst listItem = new StandardListItem(`action-${index}`, {\n\t\t\t\ttitle: actionButton.text,\n\t\t\t\ttype: \"Active\",\n\t\t\t\tpress: () => this._onActionButtonPress(actionButton.pressHandler as () => void)\n\t\t\t});\n\t\t\taddFESRSemanticStepName(listItem, FESR_EVENTS.PRESS, \"todoActionBtn\");\n\t\t\tthis._overflowList.addItem(listItem);\n\t\t});\n\t}\n\n\t/**\n\t * Handles the button press event and executes the provided press handler function,\n\t * which refreshes the UI after the button press action.\n\t *\n\t * @private\n\t * @param {Function} pressHandler - The function to be executed when the button is pressed.\n\t * @returns {void}\n\t */\n\tprivate _onActionButtonPress(pressHandler: (refreshFn: () => Promise<void>) => void): void {\n\t\tpressHandler(this._loadCards.bind(this));\n\t}\n\n\t/**\n\t * Retrieves custom attributes for a given task and formats them for display.\n\t * If the task has completion deadline and creation date, those attributes are also included.\n\t * If the task has a creator, the creator's name is included as well.\n\t *\n\t * @param {Task} task - The task object for which custom attributes are retrieved.\n\t * @returns {CustomAttribute[]} - An array of formatted custom attributes.\n\t */\n\tprivate _getCustomAttributes(task: Task): CustomAttribute[] {\n\t\tconst finalAttributes = [];\n\t\tconst maximumAttributeCount = 4;\n\t\tconst customAttributes = this._customAttributeMap[task.TaskDefinitionID] || [];\n\n\t\tfor (let custom_attribute of customAttributes) {\n\t\t\tconst customAttribute = custom_attribute;\n\t\t\tconst taskCustomAttributes = task.CustomAttributeData?.results;\n\t\t\tconst existingAttribute = taskCustomAttributes.find((taskAttribute) => {\n\t\t\t\treturn taskAttribute.Name === customAttribute.name;\n\t\t\t});\n\t\t\tlet value = \"\";\n\n\t\t\tif (existingAttribute && !customAttribute.referenced) {\n\t\t\t\tconst attribute: CustomAttribute = {\n\t\t\t\t\tlabel: customAttribute.label + \":\",\n\t\t\t\t\ttype: ContentConfigType.Text\n\t\t\t\t};\n\n\t\t\t\tif (customAttribute.format) {\n\t\t\t\t\tvalue = this._formatCustomAttribute(customAttribute, taskCustomAttributes);\n\t\t\t\t} else if (customAttribute.textArrangement) {\n\t\t\t\t\tvalue = this._arrangeText(existingAttribute, customAttribute.textArrangement);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = customAttribute.type === \"Edm.DateTime\" ? formatDate(existingAttribute.Value) : existingAttribute.Value;\n\t\t\t\t}\n\t\t\t\tattribute.text = value || \"-\";\n\t\t\t\tfinalAttributes.push(attribute);\n\t\t\t}\n\t\t}\n\n\t\t// add common attributes\n\t\tthis._addCommonAttributes(finalAttributes, task);\n\n\t\treturn finalAttributes.slice(0, maximumAttributeCount);\n\t}\n\n\t/**\n\t * Formats the given unit of measure value and description based on the specified text arrangement.\n\t *\n\t * @private\n\t * @param {TaskCustomAttribute} customAttribute The custom attribute object.\n\t * @param {TextArrangement} textArrangement The text arrangement option.\n\t * @returns {string} The formatted value.\n\t */\n\tprivate _arrangeText(customAttribute: TaskCustomAttribute, textArrangement: TextArrangement): string {\n\t\tconst value = customAttribute.Value.trim();\n\t\tconst description = customAttribute.ValueText.trim();\n\t\tlet formattedValue = \"\";\n\n\t\tswitch (textArrangement) {\n\t\t\tcase TextArrangement.TextFirst:\n\t\t\t\tformattedValue = `${description} (${value})`;\n\t\t\t\tbreak;\n\t\t\tcase TextArrangement.TextLast:\n\t\t\t\tformattedValue = `${value} (${description})`;\n\t\t\t\tbreak;\n\t\t\tcase TextArrangement.TextOnly:\n\t\t\t\tformattedValue = `${description}`;\n\t\t\t\tbreak;\n\t\t\tcase TextArrangement.TextSeparate:\n\t\t\t\tformattedValue = `${value}`;\n\t\t\t\tbreak;\n\t\t\tdefault: // TextFirst\n\t\t\t\tformattedValue = `${description} ${value})`;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn formattedValue;\n\t}\n\n\t/**\n\t * Formats a custom attribute value based on its format type.\n\t *\n\t * @param {CustomAttribute} customAttribute - The custom attribute object.\n\t * @param {TaskCustomAttribute[]} taskAttributes - The array of task attributes.\n\t * @returns {string} - The formatted value.\n\t */\n\tprivate _formatCustomAttribute(customAttribute: CustomAttribute, taskAttributes: TaskCustomAttribute[] = []): string {\n\t\tconst findAttribute = (attributeName: string) => {\n\t\t\treturn taskAttributes.find((oAttribute) => {\n\t\t\t\treturn oAttribute.Name === attributeName;\n\t\t\t});\n\t\t};\n\t\tconst format = customAttribute.format?.toUpperCase();\n\t\tconst currentAttribute = findAttribute(customAttribute.name as string);\n\t\tlet formattedValue = currentAttribute?.Value;\n\n\t\t// Format = CurrencyValue\n\t\tif (format === Format.CURRENCYVALUE && customAttribute.reference) {\n\t\t\tconst referencedAttribute = findAttribute(customAttribute.reference);\n\n\t\t\tif (referencedAttribute) {\n\t\t\t\tconst currencyFormatter = NumberFormat.getCurrencyInstance();\n\t\t\t\tformattedValue = currencyFormatter.format(parseFloat(currentAttribute?.Value as string), referencedAttribute.Value);\n\t\t\t}\n\t\t} else if (format === Format.USER) {\n\t\t\tformattedValue = currentAttribute?.FormattedValue || currentAttribute?.Value;\n\t\t}\n\n\t\treturn formattedValue as string;\n\t}\n\n\t/**\n\t * Adds common attributes to the final attributes list based on the provided task.\n\t * Common attributes include completion deadline, creation date, and creator's name.\n\t *\n\t * @param {CustomAttribute[]} finalAttributes - The array of custom attributes to which the common attributes will be added.\n\t * @param {Task} task - The task object containing data for common attributes.\n\t */\n\tprivate _addCommonAttributes(finalAttributes: CustomAttribute[], task: Task): void {\n\t\tif (task.CompletionDeadline) {\n\t\t\tfinalAttributes.push({\n\t\t\t\tlabel: this._i18nBundle.getText(\"dueDate\") + \":\",\n\t\t\t\ttext: formatDate(task.CompletionDeadline, \"MMM dd, YYYY hh:mm a\"),\n\t\t\t\ttype: ContentConfigType.Text\n\t\t\t});\n\t\t}\n\n\t\tif (task.CreatedOn) {\n\t\t\tfinalAttributes.push({\n\t\t\t\tlabel: this._i18nBundle.getText(\"createdOn\") + \":\",\n\t\t\t\ttext: formatDate(task.CreatedOn),\n\t\t\t\ttype: ContentConfigType.Text\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Handles the press event of a task.\n\t *\n\t * @private\n\t * @param {Event} event - The press event.\n\t */\n\tprivate _onPressTask(event: Event) {\n\t\tif (this.getTargetAppUrl()) {\n\t\t\tconst control = event.getSource<ActionTile>();\n\t\t\tconst context = control.getBindingContext();\n\t\t\tconst loadState = context?.getProperty(\"loadState\") as LoadState;\n\t\t\tconst url = getTaskUrl(\n\t\t\t\tcontext?.getProperty(\"SAP__Origin\") as string,\n\t\t\t\tcontext?.getProperty(\"InstanceID\") as string,\n\t\t\t\tthis.getTargetAppUrl()\n\t\t\t);\n\n\t\t\tif (loadState !== LoadState.Loading) {\n\t\t\t\tURLHelper.redirect(url, false);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Handles the click event on the \"Created By\" link.\n\t * Triggers email or opens a contact card if configuration is enabled\n\t *\n\t * @private\n\t * @param {Event} event - The event object.\n\t */\n\tprivate async _onClickCreatedBy(event: Link$PressEvent): Promise<void> {\n\t\tconst sourceControl = event.getSource();\n\t\tconst {\n\t\t\tSAP__Origin: originId,\n\t\t\tCreatedBy: userId,\n\t\t\tTaskTitle: subject,\n\t\t\tCreatedByName: createdBy,\n\t\t\tInstanceID\n\t\t} = event.getSource().getBindingContext()?.getObject() as Task;\n\t\tconst link = getTaskUrl(originId, InstanceID, this.getTargetAppUrl());\n\t\tconst triggerEmail = (email: string, { subject, body }: { subject: string; body: string }) => {\n\t\t\tURLHelper.triggerEmail(email, subject, body);\n\t\t};\n\t\tconst url = new URL(window.location.href);\n\t\turl.hash = link;\n\t\tconst body = url.toString();\n\n\t\tconst userData = await fetchUserDetails(originId, userId);\n\t\tif (userData.Email) {\n\t\t\tsap.ui.require([\"sap/suite/ui/commons/collaboration/ServiceContainer\"], async (serviceContainer: ServiceContainer) => {\n\t\t\t\tconst teamsHelper = await serviceContainer.getServiceAsync();\n\n\t\t\t\tif (teamsHelper.enableContactsCollaboration) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst popover = (await teamsHelper.enableContactsCollaboration(userData.Email as string, {\n\t\t\t\t\t\t\tsubject,\n\t\t\t\t\t\t\tbody: encodeURIComponent(body)\n\t\t\t\t\t\t})) as Popover;\n\t\t\t\t\t\tpopover.openBy(sourceControl);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t\t\t\ttriggerEmail(userData.Email as string, { subject, body });\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttriggerEmail(userData.Email as string, { subject, body });\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tMessageBox.warning(this._i18nBundle.getText(\"noEmail\", [createdBy]) as string);\n\t\t}\n\t}\n\n\t/**\n\t * Hook for processing data fetched from a batch call.\n\t * This method can be overridden to perform additional data processing operations.\n\t * In this implementation, it is consumed to handle task-related data, particularly\n\t * for extracting custom attributes if action cards are enabled.\n\t *\n\t * @private\n\t * @async\n\t * @param {unknown[]} results - Data retrieved from the batch call. Structure may vary based on the backend service.\n\t * @param {RequestOptions} options - Additional options for parsing the data.\n\t * @returns {Promise<void>} A Promise that resolves when the data processing is complete.\n\t */\n\tpublic async onDataReceived(results: unknown[], options: RequestOptions): Promise<void> {\n\t\tconst [tasks, taskDefinitions] = results;\n\t\tthis._extractCustomAttributes(taskDefinitions as TaskDefinitionCollection[]);\n\n\t\tif (!options || (options && !options.onlyCount)) {\n\t\t\tconst updatedTasks = await this._updateTasks(tasks as Task[]);\n\t\t\tthis._oData.displayTiles = this._oData.tiles = updatedTasks;\n\t\t}\n\t}\n\n\t/**\n\t * Updates the tasks with attributes and actions.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks to update.\n\t * @returns {Promise<Task[]>} A promise that resolves with the updated array of tasks.\n\t */\n\tprivate async _updateTasks(tasks: Task[] = []): Promise<Task[]> {\n\t\t//add custom attributes to tasks\n\t\tlet updatedTasks = this._addCustomAttributes(tasks);\n\n\t\t//add actions to tasks\n\t\tif (this.getEnableActions()) {\n\t\t\t//calculate unique task definitions\n\t\t\tconst taskDefinitions = this._getTaskDefintions(updatedTasks);\n\n\t\t\t//download decision options for task defintions\n\t\t\tawait this._downloadDecisionOptions(taskDefinitions);\n\n\t\t\t//append actions\n\t\t\tupdatedTasks = this._addActions(updatedTasks);\n\t\t}\n\n\t\treturn updatedTasks;\n\t}\n\n\t/**\n\t * Adds custom attributes to each task in the provided array.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks to which custom attributes will be added.\n\t * @returns {Task[]} - A new array of tasks, each with added custom attributes.\n\t */\n\tprivate _addCustomAttributes(tasks: Task[]): Task[] {\n\t\treturn tasks.map((task) => ({\n\t\t\t...task,\n\t\t\tattributes: this._getCustomAttributes(task)\n\t\t}));\n\t}\n\n\t/**\n\t * Adds actions to the tasks based on their task definitions.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks to which actions will be added.\n\t * @returns {Task[]} The array of tasks with actions added.\n\t */\n\tprivate _addActions(tasks: Task[]): Task[] {\n\t\treturn tasks.map((task) => {\n\t\t\tconst key = task.SAP__Origin + task.TaskDefinitionID;\n\t\t\treturn {\n\t\t\t\t...task,\n\t\t\t\tactions: this._taskDefinitionMap[key]\n\t\t\t\t\t? DecisionDialog.getTaskActions(task, this.getBaseUrl(), this._taskDefinitionMap, this._i18nBundle)\n\t\t\t\t\t: []\n\t\t\t};\n\t\t});\n\t}\n\n\t/**\n\t * Downloads decision options for the provided task definitions.\n\t *\n\t * @private\n\t * @param {Record<string, TaskDefinition>} taskDefinitions - The task definitions for which decision options will be downloaded.\n\t * @returns {Promise<void>} A promise that resolves when all decision options are downloaded and processed.\n\t */\n\tprivate async _downloadDecisionOptions(taskDefinitions: Record<string, TaskDefintion>): Promise<void> {\n\t\tconst decisionKeys: string[] = [];\n\t\tconst decisionURLs = Object.keys(taskDefinitions).reduce((urls: string[], key) => {\n\t\t\tif (!Object.keys(this._taskDefinitionMap).includes(key)) {\n\t\t\t\tdecisionKeys.push(key);\n\t\t\t\tthis._taskDefinitionMap[key] = [];\n\n\t\t\t\tconst { SAP__Origin, InstanceID } = taskDefinitions[key];\n\t\t\t\turls.push(`DecisionOptions?SAP__Origin='${SAP__Origin}'&InstanceID='${InstanceID}'`);\n\t\t\t}\n\t\t\treturn urls;\n\t\t}, []);\n\n\t\tif (decisionURLs.length) {\n\t\t\tthis._clearRequests();\n\t\t\tthis.requests.push({\n\t\t\t\tbaseURL: this.getBaseUrl(),\n\t\t\t\trequestURLs: decisionURLs,\n\t\t\t\tsuccess: (results: DecisionOption[][]): Promise<void> => {\n\t\t\t\t\tresults.forEach((decisionOptions: DecisionOption[], index) => {\n\t\t\t\t\t\tthis._taskDefinitionMap[decisionKeys[index]] = decisionOptions;\n\t\t\t\t\t});\n\t\t\t\t\treturn Promise.resolve();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tawait this._submitBatch();\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves unique task definitions from the provided array of tasks.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks from which to retrieve task definitions.\n\t * @returns {Record<string, TaskDefintion>} An object containing unique task definitions.\n\t */\n\tprivate _getTaskDefintions(tasks: Task[] = []): Record<string, TaskDefintion> {\n\t\tconst taskDefinitions: Record<string, TaskDefintion> = {};\n\t\ttasks.forEach((task) => {\n\t\t\tconst key = task.SAP__Origin + task.TaskDefinitionID;\n\t\t\tif (!taskDefinitions[key]) {\n\t\t\t\ttaskDefinitions[key] = {\n\t\t\t\t\tSAP__Origin: task.SAP__Origin,\n\t\t\t\t\tInstanceID: task.InstanceID,\n\t\t\t\t\tTaskDefinitionID: task.TaskDefinitionID\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\n\t\treturn taskDefinitions;\n\t}\n\n\t/**\n\t * Extracts Custom Attribute Information to create an attribute map from raw attribute data\n\t * received from call, which is used while task processing\n\t *\n\t * @private\n\t * @param {TaskDefinitionCollection[]} taskDefinitions - array of raw tasks definitions\n\t */\n\tprivate _extractCustomAttributes(taskDefinitions: TaskDefinitionCollection[] = []): void {\n\t\ttaskDefinitions.forEach((taskDefinition: TaskDefinitionCollection) => {\n\t\t\tconst customAttributes = taskDefinition.CustomAttributeDefinitionData?.results || [];\n\t\t\tthis._customAttributeMap[taskDefinition.TaskDefinitionID] = customAttributes\n\t\t\t\t.filter((oAttribute) => oAttribute.Rank > 0)\n\t\t\t\t.sort((attr1, attr2) => attr2.Rank - attr1.Rank)\n\t\t\t\t.map((oAttribute) => ({\n\t\t\t\t\tname: oAttribute.Name,\n\t\t\t\t\tlabel: oAttribute.Label,\n\t\t\t\t\ttype: oAttribute.Type,\n\t\t\t\t\tformat: oAttribute.Format,\n\t\t\t\t\treference: oAttribute.Reference,\n\t\t\t\t\treferenced: oAttribute.Referenced,\n\t\t\t\t\ttextArrangement: oAttribute.TextArrangement\n\t\t\t\t}));\n\t\t});\n\t}\n\n\t/**\n\t * Get the text for the \"No Data\" message.\n\t *\n\t * @private\n\t * @returns {string} The text for the \"No Data\" message.\n\t */\n\tpublic getNoDataText(): string {\n\t\treturn this._i18nBundle.getText(\"noTaskTitle\") as string;\n\t}\n\n\t/**\n\t * Calculates the number of vertical cards that can fit within the available height of the given DOM element.\n\t *\n\t * @private\n\t * @override\n\t * @param {Element} domRef - The DOM element to calculate the vertical card count for.\n\t * @returns {number} - The number of vertical cards that can fit within the available height.\n\t */\n\tpublic getVerticalCardCount(domRef: Element, calculationProperties?: CalculationProperties): number {\n\t\tconst domProperties = fetchElementProperties(domRef, [\"padding-top\"]);\n\t\tconst parentDomProperties = fetchElementProperties(domRef.parentElement as Element, [\"height\"]);\n\t\tconst titleHeight = this.calculateTitleHeight();\n\t\tconst availableHeight = parentDomProperties.height - domProperties[\"padding-top\"] * 2 - titleHeight;\n\t\tconst horizontalCardCount = this.getHorizontalCardCount(domRef);\n\t\tconst isPlaceholder = calculationProperties?.isPlaceholder;\n\t\tconst gap = 16;\n\t\tlet height = 0;\n\t\tlet verticalCardCount = 0;\n\n\t\tif (this._isLoaded()) {\n\t\t\tconst cardSet = splitCards(this._oData.tiles as Task[], horizontalCardCount);\n\t\t\tconst rowHeights = cardSet.map((cards: Task[]) => {\n\t\t\t\tconst maxAttributes = cards.reduce(function (attributeCount: number, card: Task) {\n\t\t\t\t\tcard.attributes = card.attributes || [];\n\t\t\t\t\treturn card.attributes.length > attributeCount ? card.attributes.length : attributeCount;\n\t\t\t\t}, 1);\n\n\t\t\t\tlet visibleRowCount = Math.min(maxAttributes, 4);\n\t\t\t\tif (this._isGridLayoutAllowed()) {\n\t\t\t\t\t// If grid view is enabled, restrict the card height to 2 rows\n\t\t\t\t\tvisibleRowCount =\n\t\t\t\t\t\tvisibleRowCount > Constants.GRID_VIEW_MAX_ROWS ? Constants.GRID_VIEW_MAX_ROWS : Constants.GRID_VIEW_MIN_ROWS;\n\t\t\t\t}\n\n\t\t\t\treturn Constants.CARD_HEIGHT[visibleRowCount as keyof typeof Constants.CARD_HEIGHT] + gap;\n\t\t\t});\n\n\t\t\tfor (let rowHeight of rowHeights) {\n\t\t\t\tif (height + rowHeight < availableHeight) {\n\t\t\t\t\theight += rowHeight;\n\t\t\t\t\tverticalCardCount++;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tverticalCardCount = Math.floor(availableHeight / Constants.CARD_HEIGHT[isPlaceholder ? \"4\" : \"1\"]);\n\t\t}\n\n\t\treturn Math.max(verticalCardCount, 2);\n\t}\n\n\t/**\n\t * Adjusts the layout based on card count and device type.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic _adjustLayout(): void {\n\t\tsuper._adjustLayout();\n\n\t\tthis.setProperty(\n\t\t\t\"minCardWidth\",\n\t\t\tthis._isGridLayoutAllowed() ? Constants.GRID_VIEW_TWO_COL_MIN_WIDTH : Constants.GRID_VIEW_MIN_WIDTH\n\t\t);\n\t\tthis.setProperty(\"maxCardWidth\", Constants.GRID_VIEW_MAX_WIDTH);\n\t}\n\n\t/**\n\t * Determines if grid view is allowed for displaying card content based on the device type.\n\t *\n\t * @returns {boolean} `true` if the device type is either Desktop or LargeDesktop, otherwise `false`.\n\t */\n\tprotected _isGridLayoutAllowed(): boolean {\n\t\tconst deviceType = calculateDeviceType();\n\t\treturn deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop;\n\t}\n\n\t/**\n\t * Sets the target application URL and updates the visibility of the \"View All Tasks\" menu item.\n\t *\n\t * @param {string} targetAppUrl - The URL of the target application.\n\t * @returns {this} The current instance of the TaskPanel for method chaining.\n\t */\n\tpublic setTargetAppUrl(targetAppUrl: string): this {\n\t\tthis._viewAllTasksMenuItem.setVisible(!!targetAppUrl);\n\t\tthis.setProperty(\"targetAppUrl\", targetAppUrl);\n\t\treturn this;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -140,8 +140,8 @@ function splitCards(cards: Task[], maxLength: number): Task[][] {
|
|
|
140
140
|
* @version 0.0.1
|
|
141
141
|
* @since 1.121
|
|
142
142
|
*
|
|
143
|
-
* @
|
|
144
|
-
* @
|
|
143
|
+
* @private
|
|
144
|
+
* @ui5-restricted ux.eng.s4producthomes1
|
|
145
145
|
*
|
|
146
146
|
* @alias sap.cux.home.TaskPanel
|
|
147
147
|
*/
|
|
@@ -207,7 +207,8 @@ export default class TaskPanel extends ToDoPanel {
|
|
|
207
207
|
this.insertAggregation("menuItems", this._viewAllTasksMenuItem, 0);
|
|
208
208
|
addFESRId(this._viewAllTasksMenuItem, "goToTaskSitution");
|
|
209
209
|
|
|
210
|
-
|
|
210
|
+
//Add custom styles
|
|
211
|
+
const [contentWrapper] = this.getContent() || [];
|
|
211
212
|
contentWrapper?.addStyleClass("sapUiGridTaskLayout");
|
|
212
213
|
}
|
|
213
214
|
|
|
@@ -45,8 +45,8 @@ declare module "sap/cux/home/TilesPanel" {
|
|
|
45
45
|
* @version 0.0.1
|
|
46
46
|
* @since 1.122.0
|
|
47
47
|
*
|
|
48
|
-
* @
|
|
49
|
-
* @
|
|
48
|
+
* @private
|
|
49
|
+
* @ui5-restricted ux.eng.s4producthomes1
|
|
50
50
|
*
|
|
51
51
|
* @alias sap.cux.home.TilesPanel
|
|
52
52
|
*/
|
|
@@ -222,7 +222,6 @@ declare module "sap/cux/home/TilesPanel" {
|
|
|
222
222
|
* Navigates to the App Finder with optional group Id.
|
|
223
223
|
* @async
|
|
224
224
|
* @private
|
|
225
|
-
* @param {string} [groupId] - Optional group Id
|
|
226
225
|
*/
|
|
227
226
|
private navigateToAppFinder;
|
|
228
227
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TilesPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/TilesPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,yBAAyB,CAAC;IASzC,OAAO,MAAM,MAAM,cAAc,CAAC;IAkBlC,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAC3D,OAAO,UAAU,MAAM,qBAAqB,CAAC;IAa7C,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAE/C,OAAO,QAAQ,MAAM,uBAAuB,CAAC;IAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;IAW9D,KAAY,cAAc;QACzB,OAAO,kBAAkB;QACzB,QAAQ,uBAAuB;QAC/B,UAAU,oBAAoB;KAC9B;IAED,KAAY,uBAAuB;QAClC,OAAO,4BAA4B;QACnC,QAAQ,iCAAiC;QACzC,UAAU,8BAA8B;QACxC,SAAS,qCAAqC;KAC9C;IAED,KAAY,kBAAkB;QAC7B,SAAS,yBAAyB;KAClC;IAED,KAAY,2BAA2B;QACtC,SAAS,mCAAmC;QAC5C,SAAS,wCAAwC;KACjD;IAED,KAAY,aAAa;QACxB,QAAQ,aAAa;QACrB,YAAY,iBAAiB;KAC7B;IAED,MAAM,eAAe,EAAE,MAAmC,CAAC;IAC3D,MAAM,kBAAkB,EAAE,MAAqC,CAAC;IAEhE,MAAM,eAAe,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAM/C,CAAC;IAEF,MAAM,YAAY,QACoF,OACrG,CAAC;IAEF,MAAM,iBAAiB,MAAM,CAAC;IAC9B,MAAM,qBAAqB,MAAM,CAAC;IAClC,MAAM,GAAG,KAAK,CAAC;IAEf;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAAS;oBACpC,YAAY,CAAC,EAAE,MAAM,GAAG,mBAAmB;oBAC3C,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,mBAAmB;QAUvD,OAAO,CAAC,MAAM,CAA2B;QACzC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0D;QAChG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA8C;QAClF,OAAO,CAAC,kBAAkB,CAAc;QACxC,OAAO,CAAC,uBAAuB,CAA8B;QAC7D,OAAO,CAAC,cAAc,CAAiB;QACvC,OAAO,CAAC,oBAAoB,CAAmB;QAC/C,OAAO,CAAC,aAAa,CAAQ;QAC7B,OAAO,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"TilesPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/TilesPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,yBAAyB,CAAC;IASzC,OAAO,MAAM,MAAM,cAAc,CAAC;IAkBlC,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAC3D,OAAO,UAAU,MAAM,qBAAqB,CAAC;IAa7C,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAE/C,OAAO,QAAQ,MAAM,uBAAuB,CAAC;IAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;IAW9D,KAAY,cAAc;QACzB,OAAO,kBAAkB;QACzB,QAAQ,uBAAuB;QAC/B,UAAU,oBAAoB;KAC9B;IAED,KAAY,uBAAuB;QAClC,OAAO,4BAA4B;QACnC,QAAQ,iCAAiC;QACzC,UAAU,8BAA8B;QACxC,SAAS,qCAAqC;KAC9C;IAED,KAAY,kBAAkB;QAC7B,SAAS,yBAAyB;KAClC;IAED,KAAY,2BAA2B;QACtC,SAAS,mCAAmC;QAC5C,SAAS,wCAAwC;KACjD;IAED,KAAY,aAAa;QACxB,QAAQ,aAAa;QACrB,YAAY,iBAAiB;KAC7B;IAED,MAAM,eAAe,EAAE,MAAmC,CAAC;IAC3D,MAAM,kBAAkB,EAAE,MAAqC,CAAC;IAEhE,MAAM,eAAe,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAM/C,CAAC;IAEF,MAAM,YAAY,QACoF,OACrG,CAAC;IAEF,MAAM,iBAAiB,MAAM,CAAC;IAC9B,MAAM,qBAAqB,MAAM,CAAC;IAClC,MAAM,GAAG,KAAK,CAAC;IAEf;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAAS;oBACpC,YAAY,CAAC,EAAE,MAAM,GAAG,mBAAmB;oBAC3C,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,mBAAmB;QAUvD,OAAO,CAAC,MAAM,CAA2B;QACzC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0D;QAChG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA8C;QAClF,OAAO,CAAC,kBAAkB,CAAc;QACxC,OAAO,CAAC,uBAAuB,CAA8B;QAC7D,OAAO,CAAC,cAAc,CAAiB;QACvC,OAAO,CAAC,oBAAoB,CAAmB;QAC/C,OAAO,CAAC,aAAa,CAAQ;QAC7B,OAAO,CAAC,aAAa,CAA8C;QACnE,OAAO,CAAC,aAAa,CAAa;QAC3B,WAAW,EAAG,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC;QACjE,OAAO,CAAC,mBAAmB,CAAc;QACzC,OAAO,CAAC,uBAAuB,CAAY;QAC3C,OAAO,CAAC,SAAS,CAAY;QAC7B,OAAO,CAAC,iBAAiB,CAAqB;QAC9C,OAAO,CAAC,YAAY,CAAW;QAC/B,OAAO,CAAC,cAAc,CAAkB;QACxC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAmCvC;QAEF;;;;;WAKG;QACH,IAAI;QAsDJ;;;;;WAKG;QACH,OAAO,CAAC,mBAAmB;QAqB3B;;;;;WAKG;QACH,OAAO,CAAC,cAAc;QActB;;;;;WAKG;QACH,OAAO,CAAC,WAAW;QAKnB;;;;;WAKG;QACH,OAAO,CAAC,iBAAiB;QAqBzB;;;;;WAKG;QACH,OAAO,CAAC,kBAAkB;QAI1B;;;;;WAKG;QACU,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;QAmBzC;;;;;WAKG;QACH,OAAO,CAAC,cAAc;QAOtB;;;;;;WAMG;QACU,WAAW,CAAC,YAAY,GAAE,OAAe;QA2BtD;;;;;;WAMG;QACH,OAAO,CAAC,uBAAuB;QAY/B;;;;WAIG;QAEH,OAAO,CAAC,wBAAwB;QAoBhC;;;;WAIG;QAEH,OAAO,CAAC,qBAAqB;QAc7B;;;;;;WAMG;QACH,OAAO,CAAC,oBAAoB;QAQ5B;;;;;;;WAOG;QACH,OAAO,CAAC,6BAA6B;QA6BrC;;;;;WAKG;QACH,OAAO,CAAC,wBAAwB;QAuBhC;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAkBvB;;;;;;;;WAQG;gBACW,eAAe;QAyB7B;;;;WAIG;QACH,OAAO,CAAC,eAAe;QAUvB;;;WAGG;QACI,gBAAgB;QAMvB;;;WAGG;QACI,eAAe;QAMtB;;;;WAIG;QACH,OAAO,CAAC,sBAAsB;QAM9B;;;;WAIG;gBACW,mBAAmB;QAajC;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAIvB;;;;WAIG;gBACW,qBAAqB;QAQnC;;;;;;WAMG;gBACW,YAAY;QAqB1B;;;;WAIG;QACH,OAAO,CAAC,oBAAoB;QAK5B;;;;;WAKG;QACH,OAAO,CAAC,gCAAgC;QA2CxC;;;;;WAKG;QACH,OAAO,CAAC,6BAA6B;QAkGrC;;;;;;WAMG;gBACW,eAAe;QAyD7B;;;;;;WAMG;QACH,OAAO,CAAC,0BAA0B;QA4BlC,OAAO,CAAC,8BAA8B;QAetC;;;;;WAKG;QACI,aAAa;QA2CpB;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QAO7B;;;;;WAKG;QACI,qBAAqB,IAAI,QAAQ,EAAE;QAgB1C;;;;;WAKG;QACI,yBAAyB,IAAI,MAAM,EAAE;QAoB5C;;;;;;;WAOG;QACH,OAAO,CAAC,sBAAsB;QAe9B;;;;;;;WAOG;QACH,OAAO,CAAC,yBAAyB;QAgBjC;;;;;;;WAOG;QACH,OAAO,CAAC,wBAAwB;QAehC;;;;;;;WAOG;QACH,OAAO,CAAC,qBAAqB;QAuB7B;;;;;WAKG;QACH,OAAO,CAAC,oBAAoB;KAQ5B;CAEA"}
|
|
@@ -99,8 +99,8 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
99
99
|
* @version 0.0.1
|
|
100
100
|
* @since 1.122.0
|
|
101
101
|
*
|
|
102
|
-
* @
|
|
103
|
-
* @
|
|
102
|
+
* @private
|
|
103
|
+
* @ui5-restricted ux.eng.s4producthomes1
|
|
104
104
|
*
|
|
105
105
|
* @alias sap.cux.home.TilesPanel
|
|
106
106
|
*/
|
|
@@ -138,6 +138,14 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
138
138
|
},
|
|
139
139
|
defaultAggregation: "tiles",
|
|
140
140
|
aggregations: {
|
|
141
|
+
/**
|
|
142
|
+
* Specifies the content aggregation of the panel.
|
|
143
|
+
*/
|
|
144
|
+
content: {
|
|
145
|
+
multiple: true,
|
|
146
|
+
singularName: "content",
|
|
147
|
+
visibility: "hidden"
|
|
148
|
+
},
|
|
141
149
|
/**
|
|
142
150
|
* Aggregation of tiles available within the tiles Panel
|
|
143
151
|
*/
|
|
@@ -167,6 +175,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
167
175
|
BasePanel.prototype.constructor.call(this, id, settings);
|
|
168
176
|
this._insightsSectionTitle = this._i18nBundle.getText("insights");
|
|
169
177
|
this._addFromFavDialogId = `${this.getId()}-addFromFavDialog`;
|
|
178
|
+
this.aInsightsApps = [];
|
|
170
179
|
this._headerVisible = false;
|
|
171
180
|
},
|
|
172
181
|
/**
|
|
@@ -312,7 +321,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
312
321
|
columns: 2
|
|
313
322
|
}));
|
|
314
323
|
});
|
|
315
|
-
this._controlModel.setProperty("/tiles", this.aInsightsApps);
|
|
324
|
+
this._controlModel.setProperty("/tiles", this.aInsightsApps, undefined, true);
|
|
316
325
|
},
|
|
317
326
|
/**
|
|
318
327
|
* Clears the placeholder tiles.
|
|
@@ -339,6 +348,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
339
348
|
const _temp3 = _finallyRethrows(function () {
|
|
340
349
|
return _catch(function () {
|
|
341
350
|
const container = _this3.getParent();
|
|
351
|
+
_this3._showPlaceHolders();
|
|
342
352
|
if (checkPanelExists(container, appsConatinerlName, favAppPanelName)) {
|
|
343
353
|
const addFromFavAppMenuItem = _this3._createAddFromFavMenuItem(tilesMenuItems.ADD_APPS, "smartAppsDialog");
|
|
344
354
|
_this3.addAggregation("menuItems", addFromFavAppMenuItem);
|
|
@@ -434,9 +444,8 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
434
444
|
width: "100%",
|
|
435
445
|
items: [this._createMobileFlexWrapper(), this._createWrapperFlexBox()]
|
|
436
446
|
});
|
|
437
|
-
this._showPlaceHolders();
|
|
438
447
|
this._tilesWrapper.setModel(this._controlModel);
|
|
439
|
-
this.
|
|
448
|
+
this.addContent(this._tilesWrapper);
|
|
440
449
|
}
|
|
441
450
|
},
|
|
442
451
|
/**
|
|
@@ -535,21 +544,24 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
535
544
|
*/
|
|
536
545
|
_setDropAreaRectFunction: function _setDropAreaRectFunction(oVisualization) {
|
|
537
546
|
const tilesDropAreaOffset = 8;
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
547
|
+
const vizObj = oVisualization;
|
|
548
|
+
if (typeof vizObj.getDropAreaRect !== "function") {
|
|
549
|
+
Object.defineProperty(oVisualization, "getDropAreaRect", {
|
|
550
|
+
value: function () {
|
|
551
|
+
const domRef = this.getDomRef();
|
|
552
|
+
if (!domRef) return null;
|
|
553
|
+
const mDropRect = domRef.getBoundingClientRect();
|
|
554
|
+
return {
|
|
555
|
+
left: mDropRect.left - tilesDropAreaOffset,
|
|
556
|
+
right: mDropRect.right + tilesDropAreaOffset,
|
|
557
|
+
top: mDropRect.top,
|
|
558
|
+
bottom: mDropRect.bottom,
|
|
559
|
+
width: mDropRect.width,
|
|
560
|
+
height: mDropRect.height
|
|
561
|
+
};
|
|
562
|
+
}
|
|
563
|
+
});
|
|
564
|
+
}
|
|
553
565
|
},
|
|
554
566
|
/**
|
|
555
567
|
* Handles the drag and drop of tiles.
|
|
@@ -658,18 +670,14 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
658
670
|
* Navigates to the App Finder with optional group Id.
|
|
659
671
|
* @async
|
|
660
672
|
* @private
|
|
661
|
-
* @param {string} [groupId] - Optional group Id
|
|
662
673
|
*/
|
|
663
|
-
navigateToAppFinder: function _navigateToAppFinder(
|
|
674
|
+
navigateToAppFinder: function _navigateToAppFinder() {
|
|
664
675
|
try {
|
|
665
676
|
return Promise.resolve(Container.getServiceAsync("Navigation")).then(function (navigationService) {
|
|
666
677
|
const navigationObject = {
|
|
667
678
|
pageID: MYHOME_PAGE_ID,
|
|
668
679
|
sectionID: MYINSIGHT_SECTION_ID
|
|
669
680
|
};
|
|
670
|
-
if (groupId) {
|
|
671
|
-
navigationObject.sectionID = groupId;
|
|
672
|
-
}
|
|
673
681
|
return Promise.resolve(navigationService.navigate({
|
|
674
682
|
target: {
|
|
675
683
|
shellHash: `Shell-appfinder?&/catalog/${JSON.stringify(navigationObject)}`
|
|
@@ -829,7 +837,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
829
837
|
description: this._i18nBundle.getText("tilesSectionNoDataDescription"),
|
|
830
838
|
visible: true
|
|
831
839
|
}).addStyleClass("sapUiLargeMarginTop"));
|
|
832
|
-
|
|
840
|
+
const dialog = new Dialog(id, {
|
|
833
841
|
title: this._i18nBundle.getText("addSmartApps"),
|
|
834
842
|
content: [new Label({
|
|
835
843
|
id: `${id}-label`,
|
|
@@ -857,7 +865,9 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
857
865
|
text: this._i18nBundle.getText("cancelBtn"),
|
|
858
866
|
press: this._closeAddFromFavDialog.bind(this)
|
|
859
867
|
})]
|
|
860
|
-
}).addStyleClass("sapContrastPlus sapCuxAddFromInsightsDialog")
|
|
868
|
+
}).addStyleClass("sapContrastPlus sapCuxAddFromInsightsDialog");
|
|
869
|
+
this.addDependent(dialog);
|
|
870
|
+
this._controlMap.set(id, dialog);
|
|
861
871
|
}
|
|
862
872
|
setAddBtnEnabled();
|
|
863
873
|
return this._controlMap.get(id);
|
|
@@ -875,40 +885,60 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
875
885
|
const dialog = _this8._controlMap.get(_this8._addFromFavDialogId);
|
|
876
886
|
dialog.setBusy(true);
|
|
877
887
|
const selectedItems = _this8._getSelectedInsights();
|
|
878
|
-
return Promise.resolve(
|
|
879
|
-
return Promise.resolve(
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
888
|
+
return Promise.resolve(_this8.appManagerInstance._getSections()).then(function (sections) {
|
|
889
|
+
return Promise.resolve(selectedItems.reduce(function (promise, oApp) {
|
|
890
|
+
return Promise.resolve(promise).then(function () {
|
|
891
|
+
const app = oApp.data("app");
|
|
892
|
+
const oMovingConfig = {
|
|
893
|
+
pageId: MYHOME_PAGE_ID,
|
|
894
|
+
sourceSectionIndex: app.persConfig?.sectionIndex,
|
|
895
|
+
sourceVisualizationIndex: app.persConfig?.visualizationIndex,
|
|
896
|
+
targetSectionIndex: _this8.appManagerInstance.insightsSectionIndex,
|
|
897
|
+
targetVisualizationIndex: -1
|
|
898
|
+
};
|
|
899
|
+
|
|
900
|
+
/**
|
|
901
|
+
* If the app is a bookmark, we need to update the source and target section indices accordingly.
|
|
902
|
+
* This is because bookmarks are added to the "Recent Apps" section,
|
|
903
|
+
* which is always at the top of the list, and the insights section index is shifted by one.
|
|
904
|
+
*/
|
|
905
|
+
// Add Selected App to Insights Section
|
|
906
|
+
if (app.visualization?.isBookmark) {
|
|
907
|
+
const recentAppSectionIndex = sections.findIndex(section => section.default);
|
|
908
|
+
if (recentAppSectionIndex === -1) {
|
|
909
|
+
oMovingConfig.sourceSectionIndex = 0;
|
|
910
|
+
oMovingConfig.sourceVisualizationIndex = 0;
|
|
911
|
+
oMovingConfig.targetSectionIndex = _this8.appManagerInstance.insightsSectionIndex + 1;
|
|
912
|
+
} else {
|
|
913
|
+
oMovingConfig.sourceSectionIndex = recentAppSectionIndex;
|
|
914
|
+
oMovingConfig.sourceVisualizationIndex = sections[recentAppSectionIndex]?.visualizations?.length || 0;
|
|
915
|
+
oMovingConfig.targetSectionIndex = _this8.appManagerInstance.insightsSectionIndex;
|
|
916
|
+
}
|
|
893
917
|
}
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
if (app.visualization?.isBookmark === true) {
|
|
901
|
-
return Promise.resolve(_this8.appManagerInstance.addBookMark(app.visualization, oMovingConfig)).then(function () {});
|
|
902
|
-
} else {
|
|
903
|
-
return Promise.resolve(_this8.appManagerInstance.addVisualization(app.visualization?.vizId, MYINSIGHT_SECTION_ID)).then(function () {});
|
|
918
|
+
if (app.visualization?.displayFormatHint !== "standard" && app.visualization?.displayFormatHint !== "standardWide") {
|
|
919
|
+
if (app.visualization?.supportedDisplayFormats === "standard") {
|
|
920
|
+
app.visualization.displayFormatHint = "standard";
|
|
921
|
+
} else if (app.visualization?.supportedDisplayFormats === "standardWide") {
|
|
922
|
+
app.visualization.displayFormatHint = "standardWide";
|
|
923
|
+
}
|
|
904
924
|
}
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
925
|
+
if (!app.visualization?.vizId) {
|
|
926
|
+
app.visualization.vizId = app.visualization?.targetURL ?? "";
|
|
927
|
+
}
|
|
928
|
+
const _temp7 = function () {
|
|
929
|
+
if (app.visualization?.isBookmark === true) {
|
|
930
|
+
return Promise.resolve(_this8.appManagerInstance.addBookMark(app.visualization, oMovingConfig)).then(function () {});
|
|
931
|
+
} else {
|
|
932
|
+
return Promise.resolve(_this8.appManagerInstance.addVisualization(app.visualization?.vizId, MYINSIGHT_SECTION_ID)).then(function () {});
|
|
933
|
+
}
|
|
934
|
+
}();
|
|
935
|
+
if (_temp7 && _temp7.then) return _temp7.then(function () {});
|
|
936
|
+
});
|
|
937
|
+
}, Promise.resolve())).then(function () {
|
|
938
|
+
return Promise.resolve(_this8.refreshData()).then(function () {
|
|
939
|
+
dialog.setBusy(false);
|
|
940
|
+
dialog.close();
|
|
941
|
+
});
|
|
912
942
|
});
|
|
913
943
|
});
|
|
914
944
|
} catch (e) {
|