@sapui5/sap.cux.home 1.138.0 → 1.139.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/.library +1 -1
  3. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  4. package/src/sap/cux/home/AppsAdditionPanel.js +17 -10
  5. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  6. package/src/sap/cux/home/AppsAdditionPanel.ts +19 -12
  7. package/src/sap/cux/home/AppsContainer.d.ts +0 -1
  8. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  9. package/src/sap/cux/home/AppsContainer.js +3 -6
  10. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  11. package/src/sap/cux/home/AppsContainer.ts +2 -6
  12. package/src/sap/cux/home/BaseAppPanel.js +1 -1
  13. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  14. package/src/sap/cux/home/BaseAppPanel.ts +1 -1
  15. package/src/sap/cux/home/BaseContainer.js +1 -1
  16. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  17. package/src/sap/cux/home/BaseContainer.ts +1 -1
  18. package/src/sap/cux/home/BaseContainerRenderer.d.ts +4 -4
  19. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  20. package/src/sap/cux/home/BaseContainerRenderer.js +17 -19
  21. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  22. package/src/sap/cux/home/BaseContainerRenderer.ts +21 -25
  23. package/src/sap/cux/home/BaseSettingsPanel.d.ts +1 -1
  24. package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
  25. package/src/sap/cux/home/BaseSettingsPanel.js +2 -1
  26. package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
  27. package/src/sap/cux/home/BaseSettingsPanel.ts +4 -2
  28. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  29. package/src/sap/cux/home/CardsPanel.js +2 -2
  30. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  31. package/src/sap/cux/home/CardsPanel.ts +2 -5
  32. package/src/sap/cux/home/ContentAdditionDialog.js +1 -1
  33. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  34. package/src/sap/cux/home/ContentAdditionDialog.ts +1 -1
  35. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  36. package/src/sap/cux/home/InsightsAdditionPanel.js +4 -7
  37. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  38. package/src/sap/cux/home/InsightsAdditionPanel.ts +4 -8
  39. package/src/sap/cux/home/InsightsContainer.d.ts +0 -1
  40. package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
  41. package/src/sap/cux/home/InsightsContainer.js +4 -4
  42. package/src/sap/cux/home/InsightsContainer.js.map +1 -1
  43. package/src/sap/cux/home/InsightsContainer.ts +11 -5
  44. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
  45. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +5 -3
  46. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  47. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +4 -2
  48. package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts +11 -5
  49. package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
  50. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +160 -82
  51. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
  52. package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +164 -82
  53. package/src/sap/cux/home/Layout.d.ts +0 -1
  54. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  55. package/src/sap/cux/home/Layout.js +0 -1
  56. package/src/sap/cux/home/Layout.js.map +1 -1
  57. package/src/sap/cux/home/Layout.ts +0 -2
  58. package/src/sap/cux/home/NewsAndPagesContainer.d.ts +22 -1
  59. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
  60. package/src/sap/cux/home/NewsAndPagesContainer.js +47 -19
  61. package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
  62. package/src/sap/cux/home/NewsAndPagesContainer.ts +52 -19
  63. package/src/sap/cux/home/NewsGroup.d.ts.map +1 -1
  64. package/src/sap/cux/home/NewsGroup.js +11 -6
  65. package/src/sap/cux/home/NewsGroup.js.map +1 -1
  66. package/src/sap/cux/home/NewsGroup.ts +11 -8
  67. package/src/sap/cux/home/NewsPanel.d.ts +34 -5
  68. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  69. package/src/sap/cux/home/NewsPanel.gen.d.ts +0 -91
  70. package/src/sap/cux/home/NewsPanel.js +279 -198
  71. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  72. package/src/sap/cux/home/NewsPanel.ts +165 -99
  73. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  74. package/src/sap/cux/home/NewsSettingsPanel.js +10 -6
  75. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  76. package/src/sap/cux/home/NewsSettingsPanel.ts +12 -6
  77. package/src/sap/cux/home/NoDataContainer.d.ts +0 -1
  78. package/src/sap/cux/home/NoDataContainer.d.ts.map +1 -1
  79. package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
  80. package/src/sap/cux/home/SpaceInsightsPanel.js +4 -1
  81. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
  82. package/src/sap/cux/home/SpaceInsightsPanel.ts +4 -1
  83. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  84. package/src/sap/cux/home/TaskPanel.js +2 -9
  85. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  86. package/src/sap/cux/home/TaskPanel.ts +3 -9
  87. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  88. package/src/sap/cux/home/TilesPanel.js +4 -4
  89. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  90. package/src/sap/cux/home/TilesPanel.ts +4 -10
  91. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  92. package/src/sap/cux/home/ToDoPanel.js +2 -17
  93. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  94. package/src/sap/cux/home/ToDoPanel.ts +2 -18
  95. package/src/sap/cux/home/ToDosContainer.d.ts +0 -1
  96. package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
  97. package/src/sap/cux/home/ToDosContainer.js +2 -2
  98. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  99. package/src/sap/cux/home/ToDosContainer.ts +1 -1
  100. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
  101. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +1 -0
  102. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
  103. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +1 -0
  104. package/src/sap/cux/home/i18n/messagebundle.properties +17 -5
  105. package/src/sap/cux/home/i18n/messagebundle_ar.properties +5 -5
  106. package/src/sap/cux/home/i18n/messagebundle_bg.properties +5 -5
  107. package/src/sap/cux/home/i18n/messagebundle_ca.properties +5 -5
  108. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +5 -5
  109. package/src/sap/cux/home/i18n/messagebundle_cs.properties +5 -5
  110. package/src/sap/cux/home/i18n/messagebundle_cy.properties +5 -5
  111. package/src/sap/cux/home/i18n/messagebundle_da.properties +5 -5
  112. package/src/sap/cux/home/i18n/messagebundle_de.properties +15 -15
  113. package/src/sap/cux/home/i18n/messagebundle_el.properties +5 -5
  114. package/src/sap/cux/home/i18n/messagebundle_en.properties +5 -5
  115. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +5 -5
  116. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +12 -6
  117. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +12 -6
  118. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +5 -5
  119. package/src/sap/cux/home/i18n/messagebundle_es.properties +5 -5
  120. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +5 -5
  121. package/src/sap/cux/home/i18n/messagebundle_et.properties +5 -5
  122. package/src/sap/cux/home/i18n/messagebundle_fi.properties +5 -5
  123. package/src/sap/cux/home/i18n/messagebundle_fr.properties +5 -5
  124. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +5 -5
  125. package/src/sap/cux/home/i18n/messagebundle_hi.properties +5 -5
  126. package/src/sap/cux/home/i18n/messagebundle_hr.properties +5 -5
  127. package/src/sap/cux/home/i18n/messagebundle_hu.properties +5 -5
  128. package/src/sap/cux/home/i18n/messagebundle_id.properties +6 -6
  129. package/src/sap/cux/home/i18n/messagebundle_it.properties +5 -5
  130. package/src/sap/cux/home/i18n/messagebundle_iw.properties +5 -5
  131. package/src/sap/cux/home/i18n/messagebundle_ja.properties +9 -9
  132. package/src/sap/cux/home/i18n/messagebundle_kk.properties +5 -5
  133. package/src/sap/cux/home/i18n/messagebundle_ko.properties +5 -5
  134. package/src/sap/cux/home/i18n/messagebundle_lt.properties +5 -5
  135. package/src/sap/cux/home/i18n/messagebundle_lv.properties +5 -5
  136. package/src/sap/cux/home/i18n/messagebundle_mk.properties +5 -5
  137. package/src/sap/cux/home/i18n/messagebundle_ms.properties +5 -5
  138. package/src/sap/cux/home/i18n/messagebundle_nl.properties +5 -5
  139. package/src/sap/cux/home/i18n/messagebundle_no.properties +5 -5
  140. package/src/sap/cux/home/i18n/messagebundle_pl.properties +5 -5
  141. package/src/sap/cux/home/i18n/messagebundle_pt.properties +5 -5
  142. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +5 -5
  143. package/src/sap/cux/home/i18n/messagebundle_ro.properties +5 -5
  144. package/src/sap/cux/home/i18n/messagebundle_ru.properties +5 -5
  145. package/src/sap/cux/home/i18n/messagebundle_sh.properties +5 -5
  146. package/src/sap/cux/home/i18n/messagebundle_sk.properties +6 -6
  147. package/src/sap/cux/home/i18n/messagebundle_sl.properties +5 -5
  148. package/src/sap/cux/home/i18n/messagebundle_sr.properties +5 -5
  149. package/src/sap/cux/home/i18n/messagebundle_sv.properties +5 -5
  150. package/src/sap/cux/home/i18n/messagebundle_th.properties +7 -7
  151. package/src/sap/cux/home/i18n/messagebundle_tr.properties +5 -5
  152. package/src/sap/cux/home/i18n/messagebundle_uk.properties +6 -6
  153. package/src/sap/cux/home/i18n/messagebundle_vi.properties +5 -5
  154. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +5 -5
  155. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +5 -5
  156. package/src/sap/cux/home/interface/CardsInterface.d.ts +1 -5
  157. package/src/sap/cux/home/interface/CardsInterface.d.ts.map +1 -1
  158. package/src/sap/cux/home/interface/CardsInterface.js.map +1 -1
  159. package/src/sap/cux/home/interface/CardsInterface.ts +1 -1
  160. package/src/sap/cux/home/interface/KeyUserInterface.d.ts +2 -0
  161. package/src/sap/cux/home/interface/KeyUserInterface.d.ts.map +1 -1
  162. package/src/sap/cux/home/interface/KeyUserInterface.js.map +1 -1
  163. package/src/sap/cux/home/interface/KeyUserInterface.ts +2 -0
  164. package/src/sap/cux/home/library.d.ts +16 -9
  165. package/src/sap/cux/home/library.d.ts.map +1 -1
  166. package/src/sap/cux/home/library.js +16 -9
  167. package/src/sap/cux/home/library.js.map +1 -1
  168. package/src/sap/cux/home/library.ts +17 -9
  169. package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +0 -8
  170. package/src/sap/cux/home/themes/base/NewsAndPagesContainer.less +4 -0
  171. package/src/sap/cux/home/themes/base/ToDosContainer.less +2 -1
  172. package/src/sap/cux/home/utils/CommonUtils.d.ts +1 -1
  173. package/src/sap/cux/home/utils/CommonUtils.d.ts.map +1 -1
  174. package/src/sap/cux/home/utils/CommonUtils.js.map +1 -1
  175. package/src/sap/cux/home/utils/CommonUtils.ts +5 -2
  176. package/src/sap/cux/home/utils/FeatureUtils.js +0 -2
  177. package/src/sap/cux/home/utils/FeatureUtils.js.map +1 -1
  178. package/src/sap/cux/home/utils/FeatureUtils.ts +3 -3
  179. package/src/sap/cux/home/utils/HttpHelper.js.map +1 -1
  180. package/src/sap/cux/home/utils/HttpHelper.ts +1 -1
  181. package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts.map +1 -1
  182. package/src/sap/cux/home/utils/KeyUserPersonalization.js +0 -1
  183. package/src/sap/cux/home/utils/KeyUserPersonalization.js.map +1 -1
  184. package/src/sap/cux/home/utils/KeyUserPersonalization.ts +0 -1
  185. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +9 -4
  186. package/src/sap/cux/home/{AppsContainerGenericPlaceholder.d.ts → utils/placeholder/AppsPlaceholder.d.ts} +2 -2
  187. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.d.ts.map +1 -0
  188. package/src/sap/cux/home/{AppsContainerGenericPlaceholder.js → utils/placeholder/AppsPlaceholder.js} +1 -1
  189. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.js.map +1 -0
  190. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts +8 -0
  191. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts.map +1 -0
  192. package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.js → utils/placeholder/InsightsPlaceholder.js} +1 -1
  193. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.js.map +1 -0
  194. package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.d.ts → utils/placeholder/NewsAndPagesPlaceholder.d.ts} +3 -3
  195. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts.map +1 -0
  196. package/src/sap/cux/home/{NewsAndPagesContainerGenericPlaceholder.js → utils/placeholder/NewsAndPagesPlaceholder.js} +1 -1
  197. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.js.map +1 -0
  198. package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.d.ts → utils/placeholder/ToDosPlaceholder.d.ts} +2 -2
  199. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.d.ts.map +1 -0
  200. package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.js → utils/placeholder/ToDosPlaceholder.js} +1 -1
  201. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.js.map +1 -0
  202. package/src/sap/cux/home/AppsContainerGenericPlaceholder.d.ts.map +0 -1
  203. package/src/sap/cux/home/AppsContainerGenericPlaceholder.js.map +0 -1
  204. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.d.ts.map +0 -1
  205. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.js.map +0 -1
  206. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts +0 -8
  207. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts.map +0 -1
  208. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.js.map +0 -1
  209. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.d.ts.map +0 -1
  210. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.js.map +0 -1
  211. /package/src/sap/cux/home/{AppsContainerGenericPlaceholder.ts → utils/placeholder/AppsPlaceholder.ts} +0 -0
  212. /package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.ts → utils/placeholder/InsightsPlaceholder.ts} +0 -0
  213. /package/src/sap/cux/home/{NewsAndPagesContainerGenericPlaceholder.ts → utils/placeholder/NewsAndPagesPlaceholder.ts} +0 -0
  214. /package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.ts → utils/placeholder/ToDosPlaceholder.ts} +0 -0
@@ -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","_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":[]}
1
+ {"version":3,"file":"TaskPanel.js","names":["sap","ui","define","Log","ActionTile","ActionTileContent","Button","ContentConfig","Link","List","MessageBox","Popover","StandardListItem","TileAttribute","sap_m_library","NumberFormat","__MenuItem","__ToDoPanel","__DecisionDialog","___utils_Device","___utils_FESRUtil","___utils_TaskUtils","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","ButtonType","ContentConfigType","LoadState","PlacementType","URLHelper","MenuItem","ToDoPanel","DecisionDialog","getIconFrameBadge","getIconFrameBadgeValueState","calculateDeviceType","DeviceType","fetchElementProperties","addFESRId","addFESRSemanticStepName","FESR_EVENTS","fetchUserDetails","formatDate","getPriority","getTaskUrl","Format","TextArrangement","Constants","GRID_VIEW_MIN_ROWS","GRID_VIEW_MAX_ROWS","GRID_VIEW_MIN_WIDTH","GRID_VIEW_TWO_COL_MIN_WIDTH","GRID_VIEW_MAX_WIDTH","CARD_HEIGHT","splitCards","cards","maxLength","cardSet","i","length","push","slice","TaskPanel","extend","metadata","library","properties","enableActions","type","group","defaultValue","visibility","customAttributeUrl","constructor","_constructor","id","settings","ToDoPanel.prototype.constructor.call","init","_init","ToDoPanel.prototype.init.call","_customAttributeMap","_taskDefinitionMap","setProperty","_i18nBundle","getText","_viewAllTasksMenuItem","getId","title","icon","visible","press","_onPressViewAll","bind","insertAggregation","contentWrapper","_getContent","addStyleClass","generateRequestUrls","_generateRequestUrls","cardCount","urls","getCountUrl","getDataUrl","getCustomAttributeUrl","generateCardTemplate","_generateCardTemplate","context","attributes","getObject","map","attribute","index","label","contentConfig","text","href","mode","frameType","pressEnabled","enableIconFrame","enableDynamicHeight","enableNavigationButton","headerImage","badgeIcon","getProperty","badgeValueState","header","state","priority","priorityText","_toPriorityText","event","_onPressTask","tileContent","headerLink","_onClickCreatedBy","actionButtons","viewButton","getSource","getParent","firePress","PRESS","approveButton","_onActionButtonPress","undefined","rejectButton","overflowButton","Transparent","_onOverflowButtonPress","overflowButtons","_getOverflowButtonPopover","openBy","_overflowPopover","_overflowList","showHeader","content","placement","VerticalPreferredBottom","_setupOverflowList","destroyItems","forEach","actionButton","listItem","pressHandler","addItem","_loadCards","_getCustomAttributes","task","finalAttributes","maximumAttributeCount","customAttributes","TaskDefinitionID","custom_attribute","customAttribute","taskCustomAttributes","CustomAttributeData","results","existingAttribute","find","taskAttribute","Name","name","value","referenced","Text","format","_formatCustomAttribute","textArrangement","_arrangeText","Value","_addCommonAttributes","trim","description","ValueText","formattedValue","TextFirst","TextLast","TextOnly","TextSeparate","taskAttributes","findAttribute","attributeName","oAttribute","toUpperCase","currentAttribute","CURRENCYVALUE","reference","referencedAttribute","currencyFormatter","getCurrencyInstance","parseFloat","USER","FormattedValue","CompletionDeadline","CreatedOn","getTargetAppUrl","control","getBindingContext","loadState","url","Loading","redirect","_this","sourceControl","SAP__Origin","originId","CreatedBy","userId","TaskTitle","subject","CreatedByName","createdBy","InstanceID","link","triggerEmail","email","URL","window","location","hash","toString","Promise","resolve","userData","Email","require","serviceContainer","getServiceAsync","teamsHelper","_temp2","enableContactsCollaboration","_temp","encodeURIComponent","_teamsHelper$enableCo","popover","error","Error","message","String","reject","warning","onDataReceived","_onDataReceived","options","_this2","tasks","taskDefinitions","_extractCustomAttributes","_temp3","onlyCount","_updateTasks","updatedTasks","_oData","displayTiles","tiles","_this3","_addCustomAttributes","_temp4","getEnableActions","_getTaskDefintions","_downloadDecisionOptions","_addActions","key","actions","getTaskActions","getBaseUrl","_this4","decisionKeys","decisionURLs","Object","keys","reduce","includes","_temp5","_clearRequests","requests","baseURL","requestURLs","success","decisionOptions","_submitBatch","taskDefinition","CustomAttributeDefinitionData","filter","Rank","sort","attr1","attr2","Label","Type","Reference","Referenced","getNoDataText","_getNoDataText","getVerticalCardCount","_getVerticalCardCount","domRef","calculationProperties","domProperties","parentDomProperties","parentElement","titleHeight","calculateTitleHeight","availableHeight","height","horizontalCardCount","getHorizontalCardCount","isPlaceholder","gap","verticalCardCount","_isLoaded","rowHeights","maxAttributes","attributeCount","card","visibleRowCount","Math","min","_isGridLayoutAllowed","rowHeight","floor","max","_adjustLayout","ToDoPanel.prototype._adjustLayout.call","deviceType","LargeDesktop","XLargeDesktop","setTargetAppUrl","_setTargetAppUrl","targetAppUrl","setVisible"],"sources":["TaskPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport ActionTile from \"sap/m/ActionTile\";\nimport ActionTileContent from \"sap/m/ActionTileContent\";\nimport Button from \"sap/m/Button\";\nimport ContentConfig from \"sap/m/ContentConfig\";\nimport Link, { Link$PressEvent } from \"sap/m/Link\";\nimport List from \"sap/m/List\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport Popover from \"sap/m/Popover\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport TileAttribute from \"sap/m/TileAttribute\";\nimport { ButtonType, ContentConfigType, LoadState, PlacementType, URLHelper } from \"sap/m/library\";\nimport ServiceContainer from \"sap/suite/ui/commons/collaboration/ServiceContainer\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport { MetadataOptions } from \"sap/ui/core/Element\";\nimport NumberFormat from \"sap/ui/core/format/NumberFormat\";\nimport Context from \"sap/ui/model/Context\";\nimport MenuItem from \"./MenuItem\";\nimport { $TaskPanelSettings } from \"./TaskPanel\";\nimport type { CalculationProperties, RequestOptions } from \"./ToDoPanel\";\nimport ToDoPanel from \"./ToDoPanel\";\nimport DecisionDialog, { ActionButton, DecisionOption, getIconFrameBadge, getIconFrameBadgeValueState } from \"./utils/DecisionDialog\";\nimport { calculateDeviceType, DeviceType, fetchElementProperties } from \"./utils/Device\";\nimport { addFESRId, addFESRSemanticStepName, FESR_EVENTS } from \"./utils/FESRUtil\";\nimport { fetchUserDetails, formatDate, getPriority, getTaskUrl, TaskPriority } from \"./utils/TaskUtils\";\n\ninterface CustomAttribute {\n\tname?: string;\n\tlabel?: string;\n\ttext?: string;\n\ttype?: string;\n\thref?: string;\n\tformat?: string;\n\treference?: string;\n\treferenced?: string;\n\ttextArrangement?: TextArrangement;\n}\n\ninterface TaskCustomAttribute {\n\tName: string;\n\tValue: string;\n\tValueText: string;\n\tLabel: string;\n\tType: string;\n\tRank: number;\n\tFormat: string;\n\tFormattedValue: string;\n\tReference: string;\n\tReferenced: string;\n\tTextArrangement: TextArrangement;\n}\n\nexport interface Task {\n\tSAP__Origin: string;\n\tCreatedBy: string;\n\tTaskTitle: string;\n\tCreatedByName: string;\n\tInstanceID: string;\n\tTaskDefinitionID: string;\n\tCompletionDeadline: string;\n\tCreatedOn: string;\n\tactions: ActionButton[];\n\tPriority: TaskPriority;\n\tCustomAttributeData: {\n\t\tresults: TaskCustomAttribute[];\n\t};\n\tattributes: CustomAttribute[];\n}\n\ninterface TaskDefintion {\n\tSAP__Origin: string;\n\tInstanceID: string;\n\tTaskDefinitionID: string;\n}\n\ninterface TaskDefinitionCollection {\n\tTaskDefinitionID: string;\n\tCustomAttributeDefinitionData: {\n\t\tresults: TaskCustomAttribute[];\n\t};\n}\n\nenum Format {\n\tCURRENCYVALUE = \"CURRENCYVALUE\",\n\tCURRENCYCODE = \"CURRENCYCODE\",\n\tUSER = \"USER\"\n}\n\nenum TextArrangement {\n\tTextFirst = \"TextFirst\",\n\tTextLast = \"TextLast\",\n\tTextOnly = \"TextOnly\",\n\tTextSeparate = \"TextSeparate\"\n}\n\nconst Constants = {\n\tGRID_VIEW_MIN_ROWS: 1,\n\tGRID_VIEW_MAX_ROWS: 2,\n\tGRID_VIEW_MIN_WIDTH: 304,\n\tGRID_VIEW_TWO_COL_MIN_WIDTH: 374,\n\tGRID_VIEW_MAX_WIDTH: 583,\n\tCARD_HEIGHT: {\n\t\t// Cozy - Compact\n\t\t1: 220, // 214 - 226\n\t\t2: 272, // 265 - 278\n\t\t3: 324, // 318 - 330\n\t\t4: 376 // 370 - 382\n\t}\n};\n\n/**\n * Splits an array of task cards into smaller arrays, each with a maximum specified length.\n *\n * @param {Task[]} cards - The array of task cards to be split.\n * @param {number} maxLength - The maximum length of each sub-array.\n * @returns {Task[][]} - An array of sub-arrays, each containing a maximum of `maxLength` task cards.\n */\nfunction splitCards(cards: Task[], maxLength: number): Task[][] {\n\tconst cardSet = [];\n\tfor (let i = 0; i < cards.length; i += maxLength) {\n\t\tcardSet.push(cards.slice(i, i + maxLength));\n\t}\n\n\treturn cardSet;\n}\n\n/**\n *\n * Panel class for managing and storing Task cards.\n *\n * @extends ToDoPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @public\n *\n * @alias sap.cux.home.TaskPanel\n */\nexport default class TaskPanel extends ToDoPanel {\n\tprivate _customAttributeMap!: Record<string, CustomAttribute[]>;\n\tprivate _taskDefinitionMap!: Record<string, DecisionOption[]>;\n\tprivate _viewAllTasksMenuItem!: MenuItem;\n\tprivate _overflowPopover!: Popover;\n\tprivate _overflowList!: List;\n\n\tconstructor(id?: string | $TaskPanelSettings);\n\tconstructor(id?: string, settings?: $TaskPanelSettings);\n\t/**\n\t * Constructor for a new Task Panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $TaskPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Specifies if actions should be enabled for the task cards.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tenableActions: { type: \"boolean\", group: \"Data\", defaultValue: false, visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Specifies the URL that fetches the custom attributes to be displayed along with the task cards.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tcustomAttributeUrl: { type: \"string\", group: \"Data\", defaultValue: \"\", visibility: \"public\" }\n\t\t}\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\t\tthis._customAttributeMap = {};\n\t\tthis._taskDefinitionMap = {};\n\n\t\t//Configure Header\n\t\tthis.setProperty(\"key\", \"tasks\");\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"tasksTabTitle\"));\n\n\t\t//Setup Menu Items - ensure that 'View All Tasks' item is the first item in the list\n\t\tthis._viewAllTasksMenuItem = new MenuItem(`${this.getId()}-view-tasks-btn`, {\n\t\t\ttitle: this._i18nBundle.getText(\"viewAllTasksTitle\"),\n\t\t\ticon: \"sap-icon://inbox\",\n\t\t\tvisible: false,\n\t\t\tpress: this._onPressViewAll.bind(this)\n\t\t});\n\t\tthis.insertAggregation(\"menuItems\", this._viewAllTasksMenuItem, 0);\n\t\taddFESRId(this._viewAllTasksMenuItem, \"goToTaskSitution\");\n\n\t\tconst [contentWrapper] = this._getContent() || [];\n\t\tcontentWrapper?.addStyleClass(\"sapUiGridTaskLayout\");\n\t}\n\n\t/**\n\t * Generates request URLs for fetching data based on the specified card count.\n\t * Overridden method to provide task-specific URLs.\n\t *\n\t * @private\n\t * @override\n\t * @param {number} cardCount - The number of cards to retrieve.\n\t * @returns {string[]} An array of request URLs.\n\t */\n\tpublic generateRequestUrls(cardCount: number): string[] {\n\t\tconst urls = [this.getCountUrl(), `${this.getDataUrl()},CustomAttributeData&$expand=CustomAttributeData&$skip=0&$top=${cardCount}`];\n\n\t\tconst customAttributeUrl = this.getCustomAttributeUrl();\n\t\tif (customAttributeUrl) {\n\t\t\turls.push(customAttributeUrl);\n\t\t}\n\n\t\treturn urls;\n\t}\n\n\t/**\n\t * Generates a card template for tasks.\n\t * Overridden method from To-Do panel to generate task-specific card template.\n\t *\n\t * @private\n\t * @override\n\t * @param {string} id The ID for the template card.\n\t * @param {Context} context The context object.\n\t * @returns {Control} The generated card control template.\n\t */\n\tpublic generateCardTemplate(id: string, context: Context): Control {\n\t\tconst attributes = (context.getObject() as Task).attributes?.map((attribute, index) => {\n\t\t\treturn new TileAttribute(`${id}-${index}-attribute`, {\n\t\t\t\tlabel: attribute.label as string,\n\t\t\t\tcontentConfig: new ContentConfig(`${id}-${index}-contentConfig`, {\n\t\t\t\t\ttype: attribute.type as ContentConfigType,\n\t\t\t\t\ttext: attribute.text as string,\n\t\t\t\t\thref: attribute.href as string\n\t\t\t\t})\n\t\t\t});\n\t\t});\n\n\t\treturn new ActionTile(`${id}-actionTile`, {\n\t\t\tmode: \"ActionMode\",\n\t\t\tframeType: \"TwoByOne\",\n\t\t\tpressEnabled: true,\n\t\t\tenableIconFrame: true,\n\t\t\tenableDynamicHeight: true,\n\t\t\tenableNavigationButton: true,\n\t\t\theaderImage: \"sap-icon://workflow-tasks\",\n\t\t\tbadgeIcon: getIconFrameBadge(context.getProperty(\"Priority\") as TaskPriority),\n\t\t\tbadgeValueState: getIconFrameBadgeValueState(context.getProperty(\"Priority\") as TaskPriority),\n\t\t\theader: context.getProperty(\"TaskTitle\") as string,\n\t\t\tstate: context.getProperty(\"loadState\") as LoadState,\n\t\t\tpriority: getPriority(context.getProperty(\"Priority\") as TaskPriority),\n\t\t\tpriorityText: this._toPriorityText(getPriority(context.getProperty(\"Priority\") as TaskPriority)),\n\t\t\tpress: (event: Event) => this._onPressTask(event),\n\t\t\ttileContent: [\n\t\t\t\tnew ActionTileContent(`${id}-actionTileContent`, {\n\t\t\t\t\theaderLink: new Link({\n\t\t\t\t\t\ttext: context.getProperty(\"CreatedByName\") as string,\n\t\t\t\t\t\tpress: (event: Event): void => {\n\t\t\t\t\t\t\tvoid this._onClickCreatedBy(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\tattributes\n\t\t\t\t})\n\t\t\t],\n\t\t\tactionButtons: [\n\t\t\t\t(() => {\n\t\t\t\t\tconst viewButton = new Button(`${id}-view-btn`, {\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"viewButton\"),\n\t\t\t\t\t\tpress: (event: Event) => (event.getSource<Button>().getParent() as ActionTile).firePress(),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/length\") === 0\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(viewButton, FESR_EVENTS.PRESS, \"todoActionViewBtn\");\n\t\t\t\t\treturn viewButton;\n\t\t\t\t})(),\n\t\t\t\t(() => {\n\t\t\t\t\tconst approveButton = new Button(`${id}-approve-btn`, {\n\t\t\t\t\t\ttext: context.getProperty(\"actions/0/text\") as string,\n\t\t\t\t\t\ttype: context.getProperty(\"actions/0/type\") as ButtonType,\n\t\t\t\t\t\tpress: () => this._onActionButtonPress(context.getProperty(\"actions/0/pressHandler\") as () => void),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/0\") !== undefined\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(approveButton, FESR_EVENTS.PRESS, \"todoActionBtn\");\n\t\t\t\t\treturn approveButton;\n\t\t\t\t})(),\n\t\t\t\t(() => {\n\t\t\t\t\tconst rejectButton = new Button(`${id}-reject-btn`, {\n\t\t\t\t\t\ttext: context.getProperty(\"actions/1/text\") as string,\n\t\t\t\t\t\ttype: context.getProperty(\"actions/1/type\") as ButtonType,\n\t\t\t\t\t\tpress: () => this._onActionButtonPress(context.getProperty(\"actions/1/pressHandler\") as () => void),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/1\") !== undefined\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(rejectButton, FESR_EVENTS.PRESS, \"todoActionBtn\");\n\t\t\t\t\treturn rejectButton;\n\t\t\t\t})(),\n\t\t\t\t(() => {\n\t\t\t\t\tconst overflowButton = new Button(`${id}-overflow-btn`, {\n\t\t\t\t\t\ticon: \"sap-icon://overflow\",\n\t\t\t\t\t\ttype: ButtonType.Transparent,\n\t\t\t\t\t\tpress: (event: Event) => this._onOverflowButtonPress(event, context),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/length\") >= 3\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(overflowButton, FESR_EVENTS.PRESS, \"todoActBtnOverflow\");\n\t\t\t\t\treturn overflowButton;\n\t\t\t\t})()\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Handles the press event of the overflow button.\n\t * Opens a Popover containing overflow actions.\n\t *\n\t * @private\n\t * @param {Event} event - The press event triggered by the overflow button.\n\t * @param {Context} context - The context containing all actions.\n\t * @returns {void}\n\t */\n\tprivate _onOverflowButtonPress(event: Event, context: Context): void {\n\t\tconst overflowButtons = (context.getProperty(\"actions\") as ActionButton[]).slice(2);\n\t\tthis._getOverflowButtonPopover(overflowButtons).openBy(event.getSource<Button>());\n\t}\n\n\t/**\n\t * Creates or retrieves the overflow button Popover.\n\t *\n\t * @private\n\t * @param {ActionButton[]} actionButtons - The array of overflow actions.\n\t * @returns {Popover} The overflow button Popover.\n\t */\n\tprivate _getOverflowButtonPopover(actionButtons: ActionButton[]): Popover {\n\t\tif (!this._overflowPopover) {\n\t\t\tthis._overflowList = new List(`${this.getId()}-overflowList`);\n\t\t\tthis._overflowPopover = new Popover(`${this.getId()}-overflowPopover`, {\n\t\t\t\tshowHeader: false,\n\t\t\t\tcontent: this._overflowList,\n\t\t\t\tplacement: PlacementType.VerticalPreferredBottom\n\t\t\t});\n\t\t}\n\n\t\t//setup task-specific with task-specific actions\n\t\tthis._setupOverflowList(actionButtons);\n\t\treturn this._overflowPopover;\n\t}\n\n\t/**\n\t * Sets up the overflow button list with the provided task-specific actions.\n\t *\n\t * @private\n\t * @param {ActionButton[]} actionButtons - The array of overflow actions.\n\t * @returns {void}\n\t */\n\tprivate _setupOverflowList(actionButtons: ActionButton[]): void {\n\t\tthis._overflowList.destroyItems();\n\t\tactionButtons.forEach((actionButton, index) => {\n\t\t\tconst listItem = new StandardListItem(`action-${index}`, {\n\t\t\t\ttitle: actionButton.text,\n\t\t\t\ttype: \"Active\",\n\t\t\t\tpress: () => this._onActionButtonPress(actionButton.pressHandler as () => void)\n\t\t\t});\n\t\t\taddFESRSemanticStepName(listItem, FESR_EVENTS.PRESS, \"todoActionBtn\");\n\t\t\tthis._overflowList.addItem(listItem);\n\t\t});\n\t}\n\n\t/**\n\t * Handles the button press event and executes the provided press handler function,\n\t * which refreshes the UI after the button press action.\n\t *\n\t * @private\n\t * @param {Function} pressHandler - The function to be executed when the button is pressed.\n\t * @returns {void}\n\t */\n\tprivate _onActionButtonPress(pressHandler: (refreshFn: () => Promise<void>) => void): void {\n\t\tpressHandler(this._loadCards.bind(this));\n\t}\n\n\t/**\n\t * Retrieves custom attributes for a given task and formats them for display.\n\t * If the task has completion deadline and creation date, those attributes are also included.\n\t * If the task has a creator, the creator's name is included as well.\n\t *\n\t * @param {Task} task - The task object for which custom attributes are retrieved.\n\t * @returns {CustomAttribute[]} - An array of formatted custom attributes.\n\t */\n\tprivate _getCustomAttributes(task: Task): CustomAttribute[] {\n\t\tconst finalAttributes = [];\n\t\tconst maximumAttributeCount = 4;\n\t\tconst customAttributes = this._customAttributeMap[task.TaskDefinitionID] || [];\n\n\t\tfor (let custom_attribute of customAttributes) {\n\t\t\tconst customAttribute = custom_attribute;\n\t\t\tconst taskCustomAttributes = task.CustomAttributeData?.results;\n\t\t\tconst existingAttribute = taskCustomAttributes.find((taskAttribute) => {\n\t\t\t\treturn taskAttribute.Name === customAttribute.name;\n\t\t\t});\n\t\t\tlet value = \"\";\n\n\t\t\tif (existingAttribute && !customAttribute.referenced) {\n\t\t\t\tconst attribute: CustomAttribute = {\n\t\t\t\t\tlabel: customAttribute.label + \":\",\n\t\t\t\t\ttype: ContentConfigType.Text\n\t\t\t\t};\n\n\t\t\t\tif (customAttribute.format) {\n\t\t\t\t\tvalue = this._formatCustomAttribute(customAttribute, taskCustomAttributes);\n\t\t\t\t} else if (customAttribute.textArrangement) {\n\t\t\t\t\tvalue = this._arrangeText(existingAttribute, customAttribute.textArrangement);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = customAttribute.type === \"Edm.DateTime\" ? formatDate(existingAttribute.Value) : existingAttribute.Value;\n\t\t\t\t}\n\t\t\t\tattribute.text = value || \"-\";\n\t\t\t\tfinalAttributes.push(attribute);\n\t\t\t}\n\t\t}\n\n\t\t// add common attributes\n\t\tthis._addCommonAttributes(finalAttributes, task);\n\n\t\treturn finalAttributes.slice(0, maximumAttributeCount);\n\t}\n\n\t/**\n\t * Formats the given unit of measure value and description based on the specified text arrangement.\n\t *\n\t * @private\n\t * @param {TaskCustomAttribute} customAttribute The custom attribute object.\n\t * @param {TextArrangement} textArrangement The text arrangement option.\n\t * @returns {string} The formatted value.\n\t */\n\tprivate _arrangeText(customAttribute: TaskCustomAttribute, textArrangement: TextArrangement): string {\n\t\tconst value = customAttribute.Value.trim();\n\t\tconst description = customAttribute.ValueText.trim();\n\t\tlet formattedValue = \"\";\n\n\t\tswitch (textArrangement) {\n\t\t\tcase TextArrangement.TextFirst:\n\t\t\t\tformattedValue = `${description} (${value})`;\n\t\t\t\tbreak;\n\t\t\tcase TextArrangement.TextLast:\n\t\t\t\tformattedValue = `${value} (${description})`;\n\t\t\t\tbreak;\n\t\t\tcase TextArrangement.TextOnly:\n\t\t\t\tformattedValue = `${description}`;\n\t\t\t\tbreak;\n\t\t\tcase TextArrangement.TextSeparate:\n\t\t\t\tformattedValue = `${value}`;\n\t\t\t\tbreak;\n\t\t\tdefault: // TextFirst\n\t\t\t\tformattedValue = `${description} ${value})`;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn formattedValue;\n\t}\n\n\t/**\n\t * Formats a custom attribute value based on its format type.\n\t *\n\t * @param {CustomAttribute} customAttribute - The custom attribute object.\n\t * @param {TaskCustomAttribute[]} taskAttributes - The array of task attributes.\n\t * @returns {string} - The formatted value.\n\t */\n\tprivate _formatCustomAttribute(customAttribute: CustomAttribute, taskAttributes: TaskCustomAttribute[] = []): string {\n\t\tconst findAttribute = (attributeName: string) => {\n\t\t\treturn taskAttributes.find((oAttribute) => {\n\t\t\t\treturn oAttribute.Name === attributeName;\n\t\t\t});\n\t\t};\n\t\tconst format = customAttribute.format?.toUpperCase();\n\t\tconst currentAttribute = findAttribute(customAttribute.name as string);\n\t\tlet formattedValue = currentAttribute?.Value;\n\n\t\t// Format = CurrencyValue\n\t\tif (format === Format.CURRENCYVALUE && customAttribute.reference) {\n\t\t\tconst referencedAttribute = findAttribute(customAttribute.reference);\n\n\t\t\tif (referencedAttribute) {\n\t\t\t\tconst currencyFormatter = NumberFormat.getCurrencyInstance();\n\t\t\t\tformattedValue = currencyFormatter.format(parseFloat(currentAttribute?.Value as string), referencedAttribute.Value);\n\t\t\t}\n\t\t} else if (format === Format.USER) {\n\t\t\tformattedValue = currentAttribute?.FormattedValue || currentAttribute?.Value;\n\t\t}\n\n\t\treturn formattedValue as string;\n\t}\n\n\t/**\n\t * Adds common attributes to the final attributes list based on the provided task.\n\t * Common attributes include completion deadline, creation date, and creator's name.\n\t *\n\t * @param {CustomAttribute[]} finalAttributes - The array of custom attributes to which the common attributes will be added.\n\t * @param {Task} task - The task object containing data for common attributes.\n\t */\n\tprivate _addCommonAttributes(finalAttributes: CustomAttribute[], task: Task): void {\n\t\tif (task.CompletionDeadline) {\n\t\t\tfinalAttributes.push({\n\t\t\t\tlabel: this._i18nBundle.getText(\"dueDate\") + \":\",\n\t\t\t\ttext: formatDate(task.CompletionDeadline, \"MMM dd, YYYY hh:mm a\"),\n\t\t\t\ttype: ContentConfigType.Text\n\t\t\t});\n\t\t}\n\n\t\tif (task.CreatedOn) {\n\t\t\tfinalAttributes.push({\n\t\t\t\tlabel: this._i18nBundle.getText(\"createdOn\") + \":\",\n\t\t\t\ttext: formatDate(task.CreatedOn),\n\t\t\t\ttype: ContentConfigType.Text\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Handles the press event of a task.\n\t *\n\t * @private\n\t * @param {Event} event - The press event.\n\t */\n\tprivate _onPressTask(event: Event) {\n\t\tif (this.getTargetAppUrl()) {\n\t\t\tconst control = event.getSource<ActionTile>();\n\t\t\tconst context = control.getBindingContext();\n\t\t\tconst loadState = context?.getProperty(\"loadState\") as LoadState;\n\t\t\tconst url = getTaskUrl(\n\t\t\t\tcontext?.getProperty(\"SAP__Origin\") as string,\n\t\t\t\tcontext?.getProperty(\"InstanceID\") as string,\n\t\t\t\tthis.getTargetAppUrl()\n\t\t\t);\n\n\t\t\tif (loadState !== LoadState.Loading) {\n\t\t\t\tURLHelper.redirect(url, false);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Handles the click event on the \"Created By\" link.\n\t * Triggers email or opens a contact card if configuration is enabled\n\t *\n\t * @private\n\t * @param {Event} event - The event object.\n\t */\n\tprivate async _onClickCreatedBy(event: Link$PressEvent): Promise<void> {\n\t\tconst sourceControl = event.getSource();\n\t\tconst {\n\t\t\tSAP__Origin: originId,\n\t\t\tCreatedBy: userId,\n\t\t\tTaskTitle: subject,\n\t\t\tCreatedByName: createdBy,\n\t\t\tInstanceID\n\t\t} = event.getSource().getBindingContext()?.getObject() as Task;\n\t\tconst link = getTaskUrl(originId, InstanceID, this.getTargetAppUrl());\n\t\tconst triggerEmail = (email: string, { subject, body }: { subject: string; body: string }) => {\n\t\t\tURLHelper.triggerEmail(email, subject, body);\n\t\t};\n\t\tconst url = new URL(window.location.href);\n\t\turl.hash = link;\n\t\tconst body = url.toString();\n\n\t\tconst userData = await fetchUserDetails(originId, userId);\n\t\tif (userData.Email) {\n\t\t\tsap.ui.require([\"sap/suite/ui/commons/collaboration/ServiceContainer\"], async (serviceContainer: ServiceContainer) => {\n\t\t\t\tconst teamsHelper = await serviceContainer.getServiceAsync();\n\n\t\t\t\tif (teamsHelper.enableContactsCollaboration) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst popover = (await teamsHelper.enableContactsCollaboration(userData.Email as string, {\n\t\t\t\t\t\t\tsubject,\n\t\t\t\t\t\t\tbody: encodeURIComponent(body)\n\t\t\t\t\t\t})) as Popover;\n\t\t\t\t\t\tpopover.openBy(sourceControl);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t\t\t\ttriggerEmail(userData.Email as string, { subject, body });\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttriggerEmail(userData.Email as string, { subject, body });\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tMessageBox.warning(this._i18nBundle.getText(\"noEmail\", [createdBy]) as string);\n\t\t}\n\t}\n\n\t/**\n\t * Hook for processing data fetched from a batch call.\n\t * This method can be overridden to perform additional data processing operations.\n\t * In this implementation, it is consumed to handle task-related data, particularly\n\t * for extracting custom attributes if action cards are enabled.\n\t *\n\t * @private\n\t * @async\n\t * @param {unknown[]} results - Data retrieved from the batch call. Structure may vary based on the backend service.\n\t * @param {RequestOptions} options - Additional options for parsing the data.\n\t * @returns {Promise<void>} A Promise that resolves when the data processing is complete.\n\t */\n\tpublic async onDataReceived(results: unknown[], options: RequestOptions): Promise<void> {\n\t\tconst [tasks, taskDefinitions] = results;\n\t\tthis._extractCustomAttributes(taskDefinitions as TaskDefinitionCollection[]);\n\n\t\tif (!options || (options && !options.onlyCount)) {\n\t\t\tconst updatedTasks = await this._updateTasks(tasks as Task[]);\n\t\t\tthis._oData.displayTiles = this._oData.tiles = updatedTasks;\n\t\t}\n\t}\n\n\t/**\n\t * Updates the tasks with attributes and actions.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks to update.\n\t * @returns {Promise<Task[]>} A promise that resolves with the updated array of tasks.\n\t */\n\tprivate async _updateTasks(tasks: Task[] = []): Promise<Task[]> {\n\t\t//add custom attributes to tasks\n\t\tlet updatedTasks = this._addCustomAttributes(tasks);\n\n\t\t//add actions to tasks\n\t\tif (this.getEnableActions()) {\n\t\t\t//calculate unique task definitions\n\t\t\tconst taskDefinitions = this._getTaskDefintions(updatedTasks);\n\n\t\t\t//download decision options for task defintions\n\t\t\tawait this._downloadDecisionOptions(taskDefinitions);\n\n\t\t\t//append actions\n\t\t\tupdatedTasks = this._addActions(updatedTasks);\n\t\t}\n\n\t\treturn updatedTasks;\n\t}\n\n\t/**\n\t * Adds custom attributes to each task in the provided array.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks to which custom attributes will be added.\n\t * @returns {Task[]} - A new array of tasks, each with added custom attributes.\n\t */\n\tprivate _addCustomAttributes(tasks: Task[]): Task[] {\n\t\treturn tasks.map((task) => ({\n\t\t\t...task,\n\t\t\tattributes: this._getCustomAttributes(task)\n\t\t}));\n\t}\n\n\t/**\n\t * Adds actions to the tasks based on their task definitions.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks to which actions will be added.\n\t * @returns {Task[]} The array of tasks with actions added.\n\t */\n\tprivate _addActions(tasks: Task[]): Task[] {\n\t\treturn tasks.map((task) => {\n\t\t\tconst key = task.SAP__Origin + task.TaskDefinitionID;\n\t\t\treturn {\n\t\t\t\t...task,\n\t\t\t\tactions: this._taskDefinitionMap[key]\n\t\t\t\t\t? DecisionDialog.getTaskActions(task, this.getBaseUrl(), this._taskDefinitionMap, this._i18nBundle)\n\t\t\t\t\t: []\n\t\t\t};\n\t\t});\n\t}\n\n\t/**\n\t * Downloads decision options for the provided task definitions.\n\t *\n\t * @private\n\t * @param {Record<string, TaskDefinition>} taskDefinitions - The task definitions for which decision options will be downloaded.\n\t * @returns {Promise<void>} A promise that resolves when all decision options are downloaded and processed.\n\t */\n\tprivate async _downloadDecisionOptions(taskDefinitions: Record<string, TaskDefintion>): Promise<void> {\n\t\tconst decisionKeys: string[] = [];\n\t\tconst decisionURLs = Object.keys(taskDefinitions).reduce((urls: string[], key) => {\n\t\t\tif (!Object.keys(this._taskDefinitionMap).includes(key)) {\n\t\t\t\tdecisionKeys.push(key);\n\t\t\t\tthis._taskDefinitionMap[key] = [];\n\n\t\t\t\tconst { SAP__Origin, InstanceID } = taskDefinitions[key];\n\t\t\t\turls.push(`DecisionOptions?SAP__Origin='${SAP__Origin}'&InstanceID='${InstanceID}'`);\n\t\t\t}\n\t\t\treturn urls;\n\t\t}, []);\n\n\t\tif (decisionURLs.length) {\n\t\t\tthis._clearRequests();\n\t\t\tthis.requests.push({\n\t\t\t\tbaseURL: this.getBaseUrl(),\n\t\t\t\trequestURLs: decisionURLs,\n\t\t\t\tsuccess: (results: DecisionOption[][]): Promise<void> => {\n\t\t\t\t\tresults.forEach((decisionOptions: DecisionOption[], index) => {\n\t\t\t\t\t\tthis._taskDefinitionMap[decisionKeys[index]] = decisionOptions;\n\t\t\t\t\t});\n\t\t\t\t\treturn Promise.resolve();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tawait this._submitBatch();\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves unique task definitions from the provided array of tasks.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks from which to retrieve task definitions.\n\t * @returns {Record<string, TaskDefintion>} An object containing unique task definitions.\n\t */\n\tprivate _getTaskDefintions(tasks: Task[] = []): Record<string, TaskDefintion> {\n\t\tconst taskDefinitions: Record<string, TaskDefintion> = {};\n\t\ttasks.forEach((task) => {\n\t\t\tconst key = task.SAP__Origin + task.TaskDefinitionID;\n\t\t\tif (!taskDefinitions[key]) {\n\t\t\t\ttaskDefinitions[key] = {\n\t\t\t\t\tSAP__Origin: task.SAP__Origin,\n\t\t\t\t\tInstanceID: task.InstanceID,\n\t\t\t\t\tTaskDefinitionID: task.TaskDefinitionID\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\n\t\treturn taskDefinitions;\n\t}\n\n\t/**\n\t * Extracts Custom Attribute Information to create an attribute map from raw attribute data\n\t * received from call, which is used while task processing\n\t *\n\t * @private\n\t * @param {TaskDefinitionCollection[]} taskDefinitions - array of raw tasks definitions\n\t */\n\tprivate _extractCustomAttributes(taskDefinitions: TaskDefinitionCollection[] = []): void {\n\t\ttaskDefinitions.forEach((taskDefinition: TaskDefinitionCollection) => {\n\t\t\tconst customAttributes = taskDefinition.CustomAttributeDefinitionData?.results || [];\n\t\t\tthis._customAttributeMap[taskDefinition.TaskDefinitionID] = customAttributes\n\t\t\t\t.filter((oAttribute) => oAttribute.Rank > 0)\n\t\t\t\t.sort((attr1, attr2) => attr2.Rank - attr1.Rank)\n\t\t\t\t.map((oAttribute) => ({\n\t\t\t\t\tname: oAttribute.Name,\n\t\t\t\t\tlabel: oAttribute.Label,\n\t\t\t\t\ttype: oAttribute.Type,\n\t\t\t\t\tformat: oAttribute.Format,\n\t\t\t\t\treference: oAttribute.Reference,\n\t\t\t\t\treferenced: oAttribute.Referenced,\n\t\t\t\t\ttextArrangement: oAttribute.TextArrangement\n\t\t\t\t}));\n\t\t});\n\t}\n\n\t/**\n\t * Get the text for the \"No Data\" message.\n\t *\n\t * @private\n\t * @returns {string} The text for the \"No Data\" message.\n\t */\n\tpublic getNoDataText(): string {\n\t\treturn this._i18nBundle.getText(\"noTaskTitle\") as string;\n\t}\n\n\t/**\n\t * Calculates the number of vertical cards that can fit within the available height of the given DOM element.\n\t *\n\t * @private\n\t * @override\n\t * @param {Element} domRef - The DOM element to calculate the vertical card count for.\n\t * @returns {number} - The number of vertical cards that can fit within the available height.\n\t */\n\tpublic getVerticalCardCount(domRef: Element, calculationProperties?: CalculationProperties): number {\n\t\tconst domProperties = fetchElementProperties(domRef, [\"padding-top\"]);\n\t\tconst parentDomProperties = fetchElementProperties(domRef.parentElement as Element, [\"height\"]);\n\t\tconst titleHeight = this.calculateTitleHeight();\n\t\tconst availableHeight = parentDomProperties.height - domProperties[\"padding-top\"] * 2 - titleHeight;\n\t\tconst horizontalCardCount = this.getHorizontalCardCount(domRef);\n\t\tconst isPlaceholder = calculationProperties?.isPlaceholder;\n\t\tconst gap = 16;\n\t\tlet height = 0;\n\t\tlet verticalCardCount = 0;\n\n\t\tif (this._isLoaded()) {\n\t\t\tconst cardSet = splitCards(this._oData.tiles as Task[], horizontalCardCount);\n\t\t\tconst rowHeights = cardSet.map((cards: Task[]) => {\n\t\t\t\tconst maxAttributes = cards.reduce(function (attributeCount: number, card: Task) {\n\t\t\t\t\tcard.attributes = card.attributes || [];\n\t\t\t\t\treturn card.attributes.length > attributeCount ? card.attributes.length : attributeCount;\n\t\t\t\t}, 1);\n\n\t\t\t\tlet visibleRowCount = Math.min(maxAttributes, 4);\n\t\t\t\tif (this._isGridLayoutAllowed()) {\n\t\t\t\t\t// If grid view is enabled, restrict the card height to 2 rows\n\t\t\t\t\tvisibleRowCount =\n\t\t\t\t\t\tvisibleRowCount > Constants.GRID_VIEW_MAX_ROWS ? Constants.GRID_VIEW_MAX_ROWS : Constants.GRID_VIEW_MIN_ROWS;\n\t\t\t\t}\n\n\t\t\t\treturn Constants.CARD_HEIGHT[visibleRowCount as keyof typeof Constants.CARD_HEIGHT] + gap;\n\t\t\t});\n\n\t\t\tfor (let rowHeight of rowHeights) {\n\t\t\t\tif (height + rowHeight < availableHeight) {\n\t\t\t\t\theight += rowHeight;\n\t\t\t\t\tverticalCardCount++;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tverticalCardCount = Math.floor(availableHeight / Constants.CARD_HEIGHT[isPlaceholder ? \"4\" : \"1\"]);\n\t\t}\n\n\t\treturn Math.max(verticalCardCount, 2);\n\t}\n\n\t/**\n\t * Adjusts the layout based on card count and device type.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic _adjustLayout(): void {\n\t\tsuper._adjustLayout();\n\n\t\tthis.setProperty(\n\t\t\t\"minCardWidth\",\n\t\t\tthis._isGridLayoutAllowed() ? Constants.GRID_VIEW_TWO_COL_MIN_WIDTH : Constants.GRID_VIEW_MIN_WIDTH\n\t\t);\n\t\tthis.setProperty(\"maxCardWidth\", Constants.GRID_VIEW_MAX_WIDTH);\n\t}\n\n\t/**\n\t * Determines if grid view is allowed for displaying card content based on the device type.\n\t *\n\t * @returns {boolean} `true` if the device type is either Desktop or LargeDesktop, otherwise `false`.\n\t */\n\tprotected _isGridLayoutAllowed(): boolean {\n\t\tconst deviceType = calculateDeviceType();\n\t\treturn deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop;\n\t}\n\n\t/**\n\t * Sets the target application URL and updates the visibility of the \"View All Tasks\" menu item.\n\t *\n\t * @param {string} targetAppUrl - The URL of the target application.\n\t * @returns {this} The current instance of the TaskPanel for method chaining.\n\t */\n\tpublic setTargetAppUrl(targetAppUrl: string): this {\n\t\tthis._viewAllTasksMenuItem.setVisible(!!targetAppUrl);\n\t\tthis.setProperty(\"targetAppUrl\", targetAppUrl);\n\t\treturn this;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -206,6 +206,9 @@ export default class TaskPanel extends ToDoPanel {
206
206
  });
207
207
  this.insertAggregation("menuItems", this._viewAllTasksMenuItem, 0);
208
208
  addFESRId(this._viewAllTasksMenuItem, "goToTaskSitution");
209
+
210
+ const [contentWrapper] = this._getContent() || [];
211
+ contentWrapper?.addStyleClass("sapUiGridTaskLayout");
209
212
  }
210
213
 
211
214
  /**
@@ -838,15 +841,6 @@ export default class TaskPanel extends ToDoPanel {
838
841
  this._isGridLayoutAllowed() ? Constants.GRID_VIEW_TWO_COL_MIN_WIDTH : Constants.GRID_VIEW_MIN_WIDTH
839
842
  );
840
843
  this.setProperty("maxCardWidth", Constants.GRID_VIEW_MAX_WIDTH);
841
-
842
- /**
843
- * sapUiGridTaskLayout class is only required in case of Loading view of Desktop & Tablet and Content View of all devices.
844
- * Hence initially skip adding it for Mobile and later add the class once contents are loaded.
845
- * */
846
- const toDosWrapper = this._getContent()?.[0];
847
- if (toDosWrapper && !toDosWrapper.hasStyleClass("sapUiGridTaskLayout") && calculateDeviceType() !== DeviceType.Mobile) {
848
- toDosWrapper.addStyleClass("sapUiGridTaskLayout");
849
- }
850
844
  }
851
845
 
852
846
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TilesPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/TilesPanel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TilesPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/TilesPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,yBAAyB,CAAC;IASzC,OAAO,MAAM,MAAM,cAAc,CAAC;IAkBlC,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAC3D,OAAO,UAAU,MAAM,qBAAqB,CAAC;IAa7C,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAE/C,OAAO,QAAQ,MAAM,uBAAuB,CAAC;IAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;IAW9D,KAAY,cAAc;QACzB,OAAO,kBAAkB;QACzB,QAAQ,uBAAuB;QAC/B,UAAU,oBAAoB;KAC9B;IAED,KAAY,uBAAuB;QAClC,OAAO,4BAA4B;QACnC,QAAQ,iCAAiC;QACzC,UAAU,8BAA8B;QACxC,SAAS,qCAAqC;KAC9C;IAED,KAAY,kBAAkB;QAC7B,SAAS,yBAAyB;KAClC;IAED,KAAY,2BAA2B;QACtC,SAAS,mCAAmC;QAC5C,SAAS,wCAAwC;KACjD;IAED,KAAY,aAAa;QACxB,QAAQ,aAAa;QACrB,YAAY,iBAAiB;KAC7B;IAED,MAAM,eAAe,EAAE,MAAmC,CAAC;IAC3D,MAAM,kBAAkB,EAAE,MAAqC,CAAC;IAEhE,MAAM,eAAe,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAM/C,CAAC;IAEF,MAAM,YAAY,QACoF,OACrG,CAAC;IAEF,MAAM,iBAAiB,MAAM,CAAC;IAC9B,MAAM,qBAAqB,MAAM,CAAC;IAClC,MAAM,GAAG,KAAK,CAAC;IAEf;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAAS;oBACpC,YAAY,CAAC,EAAE,MAAM,GAAG,mBAAmB;oBAC3C,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,mBAAmB;QAUvD,OAAO,CAAC,MAAM,CAA2B;QACzC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0D;QAChG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA8C;QAClF,OAAO,CAAC,kBAAkB,CAAc;QACxC,OAAO,CAAC,uBAAuB,CAA8B;QAC7D,OAAO,CAAC,cAAc,CAAiB;QACvC,OAAO,CAAC,oBAAoB,CAAmB;QAC/C,OAAO,CAAC,aAAa,CAAQ;QAC7B,OAAO,CAAC,aAAa,CAA0C;QAC/D,OAAO,CAAC,aAAa,CAAa;QAC3B,WAAW,EAAG,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC;QACjE,OAAO,CAAC,mBAAmB,CAAc;QACzC,OAAO,CAAC,uBAAuB,CAAY;QAC3C,OAAO,CAAC,SAAS,CAAY;QAC7B,OAAO,CAAC,iBAAiB,CAAqB;QAC9C,OAAO,CAAC,YAAY,CAAW;QAC/B,OAAO,CAAC,cAAc,CAAkB;QACxC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CA+BvC;QAEF;;;;;WAKG;QACH,IAAI;QAsDJ;;;;;WAKG;QACH,OAAO,CAAC,mBAAmB;QAqB3B;;;;;WAKG;QACH,OAAO,CAAC,cAAc;QActB;;;;;WAKG;QACH,OAAO,CAAC,WAAW;QAKnB;;;;;WAKG;QACH,OAAO,CAAC,iBAAiB;QAqBzB;;;;;WAKG;QACH,OAAO,CAAC,kBAAkB;QAI1B;;;;;WAKG;QACU,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;QAkBzC;;;;;WAKG;QACH,OAAO,CAAC,cAAc;QAOtB;;;;;;WAMG;QACU,WAAW,CAAC,YAAY,GAAE,OAAe;QA2BtD;;;;;;WAMG;QACH,OAAO,CAAC,uBAAuB;QAa/B;;;;WAIG;QAEH,OAAO,CAAC,wBAAwB;QAoBhC;;;;WAIG;QAEH,OAAO,CAAC,qBAAqB;QAc7B;;;;;;WAMG;QACH,OAAO,CAAC,oBAAoB;QAQ5B;;;;;;;WAOG;QACH,OAAO,CAAC,6BAA6B;QA6BrC;;;;;WAKG;QACH,OAAO,CAAC,wBAAwB;QAmBhC;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAkBvB;;;;;;;;WAQG;gBACW,eAAe;QAyB7B;;;;WAIG;QACH,OAAO,CAAC,eAAe;QAUvB;;;WAGG;QACI,gBAAgB;QAMvB;;;WAGG;QACI,eAAe;QAMtB;;;;WAIG;QACH,OAAO,CAAC,sBAAsB;QAM9B;;;;;WAKG;gBACW,mBAAmB;QAgBjC;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAIvB;;;;WAIG;gBACW,qBAAqB;QAQnC;;;;;;WAMG;gBACW,YAAY;QAqB1B;;;;WAIG;QACH,OAAO,CAAC,oBAAoB;QAK5B;;;;;WAKG;QACH,OAAO,CAAC,gCAAgC;QA2CxC;;;;;WAKG;QACH,OAAO,CAAC,6BAA6B;QAmGrC;;;;;;WAMG;gBACW,eAAe;QAqC7B;;;;;;WAMG;QACH,OAAO,CAAC,0BAA0B;QA4BlC,OAAO,CAAC,8BAA8B;QAetC;;;;;WAKG;QACI,aAAa;QA2CpB;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QAO7B;;;;;WAKG;QACI,qBAAqB,IAAI,QAAQ,EAAE;QAgB1C;;;;;WAKG;QACI,yBAAyB,IAAI,MAAM,EAAE;QAoB5C;;;;;;;WAOG;QACH,OAAO,CAAC,sBAAsB;QAe9B;;;;;;;WAOG;QACH,OAAO,CAAC,yBAAyB;QAgBjC;;;;;;;WAOG;QACH,OAAO,CAAC,wBAAwB;QAehC;;;;;;;WAOG;QACH,OAAO,CAAC,qBAAqB;QAuB7B;;;;;WAKG;QACH,OAAO,CAAC,oBAAoB;KAQ5B;CAEA"}
@@ -397,9 +397,9 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
397
397
  const dynamicTiles = container.getAggregation(sDefaultAggreName) || [];
398
398
  dynamicTiles.forEach(tiles => tiles.refresh?.());
399
399
  }
400
- _this4._getInsightsContainer().updatePanelsItemCount(_this4.aInsightsApps.length, panelName);
400
+ _this4._getInsightsContainer()?.updatePanelsItemCount(_this4.aInsightsApps.length, panelName);
401
401
  if (_this4._headerVisible) {
402
- _this4.setProperty("title", `${_this4._i18nBundle?.getText("insights")} ${_this4._i18nBundle.getText("insightsTilesTitle")} (${_this4.aInsightsApps.length})`);
402
+ _this4.setProperty("title", `${_this4._i18nBundle?.getText("insightsTiles")} (${_this4.aInsightsApps.length})`);
403
403
  }
404
404
  } else {
405
405
  _this4.fireHandleHidePanel();
@@ -455,7 +455,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
455
455
  scrollTime: 1000,
456
456
  showDividers: false,
457
457
  visible: "{/isPhone}"
458
- }).addStyleClass("sectionMarginTopTilesInsight sapMHeaderContainerAlign sapMHeaderContainerMarginBottom tilesBoxShadow");
458
+ }).addStyleClass("sectionMarginTopTilesInsight sapMHeaderContainerMarginBottom");
459
459
 
460
460
  // Attach aggregation to the container
461
461
  this._attachAggregationToContainer(this.tilesMobileContainer);
@@ -641,7 +641,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
641
641
  */
642
642
  handleAddHeader: function _handleAddHeader() {
643
643
  this._headerVisible = true;
644
- this.setProperty("title", `${this._i18nBundle?.getText("insights")} ${this._i18nBundle.getText("insightsTilesTitle")} (${this.aInsightsApps.length})`);
644
+ this.setProperty("title", `${this._i18nBundle?.getText("insightsTiles")} (${this.aInsightsApps.length})`);
645
645
  this._toggleHeaderActions(true);
646
646
  },
647
647
  /**