@sapui5/sap.cux.home 1.136.1 → 1.138.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/cux/home/.library +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js +33 -30
- package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.ts +13 -7
- package/src/sap/cux/home/App.d.ts +1 -2
- package/src/sap/cux/home/App.d.ts.map +1 -1
- package/src/sap/cux/home/App.js +7 -2
- package/src/sap/cux/home/App.js.map +1 -1
- package/src/sap/cux/home/App.ts +8 -3
- package/src/sap/cux/home/AppsAdditionPanel.d.ts +0 -2
- package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.js +28 -23
- package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.ts +18 -5
- package/src/sap/cux/home/AppsContainer.d.ts +0 -1
- package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/AppsContainer.js +22 -25
- package/src/sap/cux/home/AppsContainer.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.ts +4 -4
- package/src/sap/cux/home/BaseApp.d.ts +2 -2
- package/src/sap/cux/home/BaseApp.d.ts.map +1 -1
- package/src/sap/cux/home/BaseApp.js +10 -3
- package/src/sap/cux/home/BaseApp.js.map +1 -1
- package/src/sap/cux/home/BaseApp.ts +11 -4
- package/src/sap/cux/home/BaseAppPanel.d.ts +0 -2
- package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.js +7 -12
- package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.ts +2 -4
- package/src/sap/cux/home/BaseAppPersPanel.d.ts +3 -3
- package/src/sap/cux/home/BaseAppPersPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.js +17 -13
- package/src/sap/cux/home/BaseAppPersPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.ts +18 -11
- package/src/sap/cux/home/BaseContainer.d.ts +0 -1
- package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainer.js +16 -13
- package/src/sap/cux/home/BaseContainer.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.ts +10 -5
- package/src/sap/cux/home/BaseLayout.d.ts +0 -1
- package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
- package/src/sap/cux/home/BaseLayout.js +6 -13
- package/src/sap/cux/home/BaseLayout.js.map +1 -1
- package/src/sap/cux/home/BaseLayout.ts +1 -2
- package/src/sap/cux/home/BaseNewsItem.d.ts +1 -2
- package/src/sap/cux/home/BaseNewsItem.d.ts.map +1 -1
- package/src/sap/cux/home/BaseNewsItem.js +7 -2
- package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
- package/src/sap/cux/home/BaseNewsItem.ts +8 -3
- package/src/sap/cux/home/BaseNewsPanel.d.ts +1 -2
- package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.js +7 -2
- package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.ts +8 -3
- package/src/sap/cux/home/BasePagePanel.d.ts +1 -2
- package/src/sap/cux/home/BasePagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePagePanel.gen.d.ts +34 -0
- package/src/sap/cux/home/BasePagePanel.js +16 -2
- package/src/sap/cux/home/BasePagePanel.js.map +1 -1
- package/src/sap/cux/home/BasePagePanel.ts +17 -3
- package/src/sap/cux/home/BasePanel.d.ts +0 -1
- package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePanel.js +1 -3
- package/src/sap/cux/home/BasePanel.js.map +1 -1
- package/src/sap/cux/home/BasePanel.ts +0 -1
- package/src/sap/cux/home/BaseSettingsDialog.d.ts +0 -1
- package/src/sap/cux/home/BaseSettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.js +0 -1
- package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.ts +0 -1
- package/src/sap/cux/home/BaseSettingsPanel.d.ts +1 -2
- package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.js +0 -1
- package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.ts +1 -2
- package/src/sap/cux/home/CardsPanel.d.ts +0 -1
- package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/CardsPanel.js +103 -104
- package/src/sap/cux/home/CardsPanel.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.ts +4 -3
- package/src/sap/cux/home/ContentAdditionDialog.d.ts +0 -3
- package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.js +3 -7
- package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.ts +3 -7
- package/src/sap/cux/home/ErrorPanel.d.ts +1 -2
- package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ErrorPanel.gen.d.ts +24 -0
- package/src/sap/cux/home/ErrorPanel.js +16 -2
- package/src/sap/cux/home/ErrorPanel.js.map +1 -1
- package/src/sap/cux/home/ErrorPanel.ts +17 -3
- package/src/sap/cux/home/FavAppPanel.d.ts +0 -1
- package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FavAppPanel.js +286 -291
- package/src/sap/cux/home/FavAppPanel.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.ts +23 -18
- package/src/sap/cux/home/FrequentAppPanel.d.ts +0 -1
- package/src/sap/cux/home/FrequentAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.js +1 -4
- package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.ts +0 -1
- package/src/sap/cux/home/Group.d.ts +2 -2
- package/src/sap/cux/home/Group.d.ts.map +1 -1
- package/src/sap/cux/home/Group.gen.d.ts +47 -1
- package/src/sap/cux/home/Group.js +30 -3
- package/src/sap/cux/home/Group.js.map +1 -1
- package/src/sap/cux/home/Group.ts +26 -6
- package/src/sap/cux/home/IToDoPanel.d.ts +1 -2
- package/src/sap/cux/home/IToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/IToDoPanel.js.map +1 -1
- package/src/sap/cux/home/IToDoPanel.ts +1 -2
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts +0 -4
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.js +1 -7
- package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.ts +1 -8
- package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsCardsSettingsPanel.js +0 -3
- package/src/sap/cux/home/InsightsCardsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsCardsSettingsPanel.ts +0 -3
- package/src/sap/cux/home/InsightsContainer.d.ts +1 -1
- package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsContainer.js +19 -3
- package/src/sap/cux/home/InsightsContainer.js.map +1 -1
- package/src/sap/cux/home/InsightsContainer.ts +17 -4
- package/src/sap/cux/home/InsightsTilesSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/InsightsTilesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js +5 -5
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +5 -5
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +0 -3
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +0 -3
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +0 -3
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +0 -3
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +22 -13
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +22 -17
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js +0 -3
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +0 -3
- package/src/sap/cux/home/KeyUserSettingsDialog.d.ts +0 -3
- package/src/sap/cux/home/KeyUserSettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.js +1 -4
- package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.ts +1 -4
- package/src/sap/cux/home/Layout.d.ts +0 -1
- package/src/sap/cux/home/Layout.d.ts.map +1 -1
- package/src/sap/cux/home/Layout.js +7 -10
- package/src/sap/cux/home/Layout.js.map +1 -1
- package/src/sap/cux/home/Layout.ts +3 -4
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.js +0 -3
- package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.ts +0 -3
- package/src/sap/cux/home/MenuItem.d.ts +0 -1
- package/src/sap/cux/home/MenuItem.d.ts.map +1 -1
- package/src/sap/cux/home/MenuItem.js +0 -1
- package/src/sap/cux/home/MenuItem.js.map +1 -1
- package/src/sap/cux/home/MenuItem.ts +0 -1
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts +0 -1
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js +0 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.ts +0 -1
- package/src/sap/cux/home/NewsGroup.d.ts +0 -3
- package/src/sap/cux/home/NewsGroup.d.ts.map +1 -1
- package/src/sap/cux/home/NewsGroup.js +1 -4
- package/src/sap/cux/home/NewsGroup.js.map +1 -1
- package/src/sap/cux/home/NewsGroup.ts +1 -4
- package/src/sap/cux/home/NewsItem.d.ts +0 -3
- package/src/sap/cux/home/NewsItem.d.ts.map +1 -1
- package/src/sap/cux/home/NewsItem.js +0 -3
- package/src/sap/cux/home/NewsItem.js.map +1 -1
- package/src/sap/cux/home/NewsItem.ts +0 -3
- package/src/sap/cux/home/NewsPanel.d.ts +0 -1
- package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsPanel.js +84 -96
- package/src/sap/cux/home/NewsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.ts +32 -35
- package/src/sap/cux/home/NewsSettingsPanel.d.ts +6 -3
- package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.js +18 -4
- package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.ts +16 -4
- package/src/sap/cux/home/NoDataContainer.d.ts +0 -1
- package/src/sap/cux/home/NoDataContainer.d.ts.map +1 -1
- package/src/sap/cux/home/NoDataContainer.js +0 -1
- package/src/sap/cux/home/NoDataContainer.js.map +1 -1
- package/src/sap/cux/home/NoDataContainer.ts +0 -1
- package/src/sap/cux/home/Page.d.ts +0 -3
- package/src/sap/cux/home/Page.d.ts.map +1 -1
- package/src/sap/cux/home/Page.gen.d.ts +0 -12
- package/src/sap/cux/home/Page.js +0 -7
- package/src/sap/cux/home/Page.js.map +1 -1
- package/src/sap/cux/home/Page.ts +0 -7
- package/src/sap/cux/home/PagePanel.d.ts +0 -4
- package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/PagePanel.js +5 -11
- package/src/sap/cux/home/PagePanel.js.map +1 -1
- package/src/sap/cux/home/PagePanel.ts +4 -9
- package/src/sap/cux/home/PageSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.js +3 -5
- package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.ts +3 -5
- package/src/sap/cux/home/RecentAppPanel.d.ts +0 -1
- package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.js +2 -6
- package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.ts +0 -1
- package/src/sap/cux/home/RecommendedAppPanel.d.ts +0 -1
- package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.js +0 -1
- package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.ts +0 -1
- package/src/sap/cux/home/SettingsDialog.d.ts +0 -3
- package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/SettingsDialog.js +25 -23
- package/src/sap/cux/home/SettingsDialog.js.map +1 -1
- package/src/sap/cux/home/SettingsDialog.ts +9 -16
- package/src/sap/cux/home/SituationPanel.d.ts +0 -1
- package/src/sap/cux/home/SituationPanel.d.ts.map +1 -1
- package/src/sap/cux/home/SituationPanel.js +0 -1
- package/src/sap/cux/home/SituationPanel.js.map +1 -1
- package/src/sap/cux/home/SituationPanel.ts +0 -1
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts +207 -0
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -0
- package/src/sap/cux/home/SpaceInsightsPanel.gen.d.ts +200 -0
- package/src/sap/cux/home/SpaceInsightsPanel.js +786 -0
- package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -0
- package/src/sap/cux/home/SpaceInsightsPanel.ts +628 -0
- package/src/sap/cux/home/SpacePanel.d.ts +117 -0
- package/src/sap/cux/home/SpacePanel.d.ts.map +1 -0
- package/src/sap/cux/home/SpacePanel.gen.d.ts +77 -0
- package/src/sap/cux/home/SpacePanel.js +599 -0
- package/src/sap/cux/home/SpacePanel.js.map +1 -0
- package/src/sap/cux/home/SpacePanel.ts +461 -0
- package/src/sap/cux/home/TaskPanel.d.ts +0 -1
- package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TaskPanel.js +14 -24
- package/src/sap/cux/home/TaskPanel.js.map +1 -1
- package/src/sap/cux/home/TaskPanel.ts +6 -11
- package/src/sap/cux/home/TilesPanel.d.ts +0 -1
- package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TilesPanel.js +4 -5
- package/src/sap/cux/home/TilesPanel.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.ts +3 -3
- package/src/sap/cux/home/ToDoPanel.d.ts +11 -1
- package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ToDoPanel.js +67 -17
- package/src/sap/cux/home/ToDoPanel.js.map +1 -1
- package/src/sap/cux/home/ToDoPanel.ts +70 -13
- package/src/sap/cux/home/ToDosContainer.d.ts +0 -1
- package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
- package/src/sap/cux/home/ToDosContainer.js +0 -1
- package/src/sap/cux/home/ToDosContainer.js.map +1 -1
- package/src/sap/cux/home/ToDosContainer.ts +0 -1
- package/src/sap/cux/home/i18n/messagebundle.properties +8 -6
- package/src/sap/cux/home/i18n/messagebundle_ar.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_bg.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_ca.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_cnr.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_cs.properties +59 -13
- package/src/sap/cux/home/i18n/messagebundle_cy.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_da.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_de.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_el.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_en.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +46 -6
- package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_es.properties +62 -16
- package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_et.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_fi.properties +54 -8
- package/src/sap/cux/home/i18n/messagebundle_fr.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_hi.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_hr.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_hu.properties +56 -10
- package/src/sap/cux/home/i18n/messagebundle_id.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_it.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_iw.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_ja.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_kk.properties +56 -10
- package/src/sap/cux/home/i18n/messagebundle_ko.properties +58 -12
- package/src/sap/cux/home/i18n/messagebundle_lt.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_lv.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_mk.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_ms.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_nl.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_no.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_pl.properties +56 -10
- package/src/sap/cux/home/i18n/messagebundle_pt.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_ro.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_ru.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_sh.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_sk.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_sl.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_sr.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_sv.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_th.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_tr.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_uk.properties +57 -11
- package/src/sap/cux/home/i18n/messagebundle_vi.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +56 -10
- package/src/sap/cux/home/interface/AppsInterface.d.ts +1 -0
- package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.ts +1 -0
- package/src/sap/cux/home/library.d.ts +3 -4
- package/src/sap/cux/home/library.d.ts.map +1 -1
- package/src/sap/cux/home/library.js +3 -4
- package/src/sap/cux/home/library.js.map +1 -1
- package/src/sap/cux/home/library.ts +3 -4
- package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +1 -1
- package/src/sap/cux/home/themes/base/InsightsContainer.less +4 -0
- package/src/sap/cux/home/utils/Accessibility.js +3 -4
- package/src/sap/cux/home/utils/Accessibility.js.map +1 -1
- package/src/sap/cux/home/utils/Accessibility.ts +2 -2
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts +0 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js +0 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js.map +1 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.ts +0 -1
- package/src/sap/cux/home/utils/AppManager.d.ts +12 -7
- package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AppManager.js +172 -172
- package/src/sap/cux/home/utils/AppManager.js.map +1 -1
- package/src/sap/cux/home/utils/AppManager.ts +42 -23
- package/src/sap/cux/home/utils/BatchHelper.d.ts +0 -3
- package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.js +5 -10
- package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.ts +0 -3
- package/src/sap/cux/home/utils/CommonUtils.d.ts +9 -0
- package/src/sap/cux/home/utils/CommonUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/CommonUtils.js +23 -2
- package/src/sap/cux/home/utils/CommonUtils.js.map +1 -1
- package/src/sap/cux/home/utils/CommonUtils.ts +25 -1
- package/src/sap/cux/home/utils/Constants.d.ts +4 -5
- package/src/sap/cux/home/utils/Constants.d.ts.map +1 -1
- package/src/sap/cux/home/utils/Constants.js +5 -5
- package/src/sap/cux/home/utils/Constants.js.map +1 -1
- package/src/sap/cux/home/utils/Constants.ts +4 -5
- package/src/sap/cux/home/utils/DecisionDialog.d.ts +0 -3
- package/src/sap/cux/home/utils/DecisionDialog.d.ts.map +1 -1
- package/src/sap/cux/home/utils/DecisionDialog.js +0 -3
- package/src/sap/cux/home/utils/DecisionDialog.js.map +1 -1
- package/src/sap/cux/home/utils/DecisionDialog.ts +0 -3
- package/src/sap/cux/home/utils/Device.js +1 -2
- package/src/sap/cux/home/utils/Device.js.map +1 -1
- package/src/sap/cux/home/utils/FESRUtil.js +1 -1
- package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
- package/src/sap/cux/home/utils/FESRUtil.ts +1 -1
- package/src/sap/cux/home/utils/FeatureUtils.d.ts +20 -13
- package/src/sap/cux/home/utils/FeatureUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/FeatureUtils.js +38 -33
- package/src/sap/cux/home/utils/FeatureUtils.js.map +1 -1
- package/src/sap/cux/home/utils/FeatureUtils.ts +39 -32
- package/src/sap/cux/home/utils/HttpHelper.d.ts +7 -3
- package/src/sap/cux/home/utils/HttpHelper.d.ts.map +1 -1
- package/src/sap/cux/home/utils/HttpHelper.js +43 -3
- package/src/sap/cux/home/utils/HttpHelper.js.map +1 -1
- package/src/sap/cux/home/utils/HttpHelper.ts +25 -3
- package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts.map +1 -1
- package/src/sap/cux/home/utils/KeyUserPersonalization.js +33 -13
- package/src/sap/cux/home/utils/KeyUserPersonalization.js.map +1 -1
- package/src/sap/cux/home/utils/KeyUserPersonalization.ts +2 -2
- package/src/sap/cux/home/utils/PageManager.d.ts +0 -3
- package/src/sap/cux/home/utils/PageManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PageManager.js +8 -14
- package/src/sap/cux/home/utils/PageManager.js.map +1 -1
- package/src/sap/cux/home/utils/PageManager.ts +0 -3
- package/src/sap/cux/home/utils/PersonalisationUtils.d.ts +0 -3
- package/src/sap/cux/home/utils/PersonalisationUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PersonalisationUtils.js +1 -5
- package/src/sap/cux/home/utils/PersonalisationUtils.js.map +1 -1
- package/src/sap/cux/home/utils/PersonalisationUtils.ts +0 -3
- package/src/sap/cux/home/utils/SituationUtils.js +1 -2
- package/src/sap/cux/home/utils/SituationUtils.js.map +1 -1
- package/src/sap/cux/home/utils/TaskUtils.js +1 -2
- package/src/sap/cux/home/utils/TaskUtils.js.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +0 -3
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.js +0 -3
- package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.ts +0 -3
- package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +16 -17
- package/src/sap/cux/home/utils/CardSkeleton.d.ts +0 -54
- package/src/sap/cux/home/utils/CardSkeleton.d.ts.map +0 -1
- package/src/sap/cux/home/utils/CardSkeleton.js +0 -61
- package/src/sap/cux/home/utils/CardSkeleton.js.map +0 -1
- package/src/sap/cux/home/utils/CardSkeleton.ts +0 -53
|
@@ -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","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","createdByLink","_onClickCreatedBy","PRESS","actionButtons","viewButton","getSource","getParent","firePress","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","arguments","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","_ref","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","toDosWrapper","_getContent","hasStyleClass","Mobile","addStyleClass","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 * @experimental Since 1.121\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\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: (() => {\n\t\t\t\t\t\tconst createdByLink = new Link(`${id}-actionTileContentLink`, {\n\t\t\t\t\t\t\ttext: context.getProperty(\"CreatedByName\") as string,\n\t\t\t\t\t\t\tpress: (event: Link$PressEvent): void => {\n\t\t\t\t\t\t\t\tvoid this._onClickCreatedBy(event);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\taddFESRSemanticStepName(createdByLink, FESR_EVENTS.PRESS, \"MST:ContactDetails\");\n\t\t\t\t\t\treturn createdByLink;\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\n\t\t/**\n\t\t * sapUiGridTaskLayout class is only required in case of Loading view of Desktop & Tablet and Content View of all devices.\n\t\t * Hence initially skip adding it for Mobile and later add the class once contents are loaded.\n\t\t * */\n\t\tconst toDosWrapper = this._getContent()?.[0];\n\t\tif (toDosWrapper && !toDosWrapper.hasStyleClass(\"sapUiGridTaskLayout\") && calculateDeviceType() !== DeviceType.Mobile) {\n\t\t\ttoDosWrapper.addStyleClass(\"sapUiGridTaskLayout\");\n\t\t}\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","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","toDosWrapper","_getContent","hasStyleClass","Mobile","addStyleClass","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\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\n\t\t/**\n\t\t * sapUiGridTaskLayout class is only required in case of Loading view of Desktop & Tablet and Content View of all devices.\n\t\t * Hence initially skip adding it for Mobile and later add the class once contents are loaded.\n\t\t * */\n\t\tconst toDosWrapper = this._getContent()?.[0];\n\t\tif (toDosWrapper && !toDosWrapper.hasStyleClass(\"sapUiGridTaskLayout\") && calculateDeviceType() !== DeviceType.Mobile) {\n\t\t\ttoDosWrapper.addStyleClass(\"sapUiGridTaskLayout\");\n\t\t}\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":[]}
|
|
@@ -141,7 +141,6 @@ function splitCards(cards: Task[], maxLength: number): Task[][] {
|
|
|
141
141
|
* @since 1.121
|
|
142
142
|
*
|
|
143
143
|
* @internal
|
|
144
|
-
* @experimental Since 1.121
|
|
145
144
|
* @public
|
|
146
145
|
*
|
|
147
146
|
* @alias sap.cux.home.TaskPanel
|
|
@@ -268,16 +267,12 @@ export default class TaskPanel extends ToDoPanel {
|
|
|
268
267
|
press: (event: Event) => this._onPressTask(event),
|
|
269
268
|
tileContent: [
|
|
270
269
|
new ActionTileContent(`${id}-actionTileContent`, {
|
|
271
|
-
headerLink: (
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
});
|
|
278
|
-
addFESRSemanticStepName(createdByLink, FESR_EVENTS.PRESS, "MST:ContactDetails");
|
|
279
|
-
return createdByLink;
|
|
280
|
-
})(),
|
|
270
|
+
headerLink: new Link({
|
|
271
|
+
text: context.getProperty("CreatedByName") as string,
|
|
272
|
+
press: (event: Event): void => {
|
|
273
|
+
void this._onClickCreatedBy(event);
|
|
274
|
+
}
|
|
275
|
+
}),
|
|
281
276
|
attributes
|
|
282
277
|
})
|
|
283
278
|
],
|
|
@@ -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
|
|
1
|
+
{"version":3,"file":"TilesPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/TilesPanel.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,7 +100,6 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
100
100
|
* @since 1.122.0
|
|
101
101
|
*
|
|
102
102
|
* @internal
|
|
103
|
-
* @experimental Since 1.122
|
|
104
103
|
* @public
|
|
105
104
|
*
|
|
106
105
|
* @alias sap.cux.home.TilesPanel
|
|
@@ -381,8 +380,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
381
380
|
* @param {boolean} [refreshTiles=false] - Whether to refresh the tiles.
|
|
382
381
|
* @returns {Promise<void>} A promise that resolves when the data is refreshed.
|
|
383
382
|
*/
|
|
384
|
-
refreshData: function _refreshData() {
|
|
385
|
-
let refreshTiles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
383
|
+
refreshData: function _refreshData(refreshTiles = false) {
|
|
386
384
|
try {
|
|
387
385
|
const _this4 = this;
|
|
388
386
|
const panelName = _this4.getMetadata().getName();
|
|
@@ -623,7 +621,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
623
621
|
/* If called from Panel Header event.source() will return TilesPanel, if called from Insights Container event.source() will return InsightsContainer.
|
|
624
622
|
_getLayout is available at Container Level*/
|
|
625
623
|
let parent = event.getSource().getParent() || this;
|
|
626
|
-
if (parent
|
|
624
|
+
if (parent instanceof TilesPanel) {
|
|
627
625
|
parent = parent.getParent();
|
|
628
626
|
}
|
|
629
627
|
parent?._getLayout().openSettingsDialog(SETTINGS_PANELS_KEYS.INSIGHTS_TILES);
|
|
@@ -850,7 +848,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
850
848
|
contentHeight: "32.5rem",
|
|
851
849
|
endButton: new Button({
|
|
852
850
|
id: `${id}-addFromFavDialogCloseBtn`,
|
|
853
|
-
text: this._i18nBundle.getText("
|
|
851
|
+
text: this._i18nBundle.getText("XBUT_CLOSE"),
|
|
854
852
|
press: this._closeAddFromFavDialog.bind(this)
|
|
855
853
|
}),
|
|
856
854
|
escapeHandler: this._closeAddFromFavDialog.bind(this),
|
|
@@ -1121,6 +1119,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
1121
1119
|
const _this9 = this;
|
|
1122
1120
|
const actionButton = new Button(`${this.getId()}-${id}`, {
|
|
1123
1121
|
text: this._i18nBundle.getText("appFinderLink"),
|
|
1122
|
+
tooltip: this._i18nBundle.getText("appFinderLink"),
|
|
1124
1123
|
press: function () {
|
|
1125
1124
|
try {
|
|
1126
1125
|
const container = _this9._getInsightsContainer();
|