@sapui5/sap.cux.home 1.136.1 → 1.138.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (412) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/.library +1 -1
  3. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +0 -3
  4. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
  5. package/src/sap/cux/home/AdvancedSettingsPanel.js +33 -30
  6. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  7. package/src/sap/cux/home/AdvancedSettingsPanel.ts +13 -7
  8. package/src/sap/cux/home/App.d.ts +1 -2
  9. package/src/sap/cux/home/App.d.ts.map +1 -1
  10. package/src/sap/cux/home/App.js +7 -2
  11. package/src/sap/cux/home/App.js.map +1 -1
  12. package/src/sap/cux/home/App.ts +8 -3
  13. package/src/sap/cux/home/AppsAdditionPanel.d.ts +0 -2
  14. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  15. package/src/sap/cux/home/AppsAdditionPanel.js +28 -23
  16. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  17. package/src/sap/cux/home/AppsAdditionPanel.ts +18 -5
  18. package/src/sap/cux/home/AppsContainer.d.ts +0 -1
  19. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  20. package/src/sap/cux/home/AppsContainer.js +22 -25
  21. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  22. package/src/sap/cux/home/AppsContainer.ts +4 -4
  23. package/src/sap/cux/home/BaseApp.d.ts +2 -2
  24. package/src/sap/cux/home/BaseApp.d.ts.map +1 -1
  25. package/src/sap/cux/home/BaseApp.js +10 -3
  26. package/src/sap/cux/home/BaseApp.js.map +1 -1
  27. package/src/sap/cux/home/BaseApp.ts +11 -4
  28. package/src/sap/cux/home/BaseAppPanel.d.ts +0 -2
  29. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  30. package/src/sap/cux/home/BaseAppPanel.js +7 -12
  31. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  32. package/src/sap/cux/home/BaseAppPanel.ts +2 -4
  33. package/src/sap/cux/home/BaseAppPersPanel.d.ts +3 -3
  34. package/src/sap/cux/home/BaseAppPersPanel.d.ts.map +1 -1
  35. package/src/sap/cux/home/BaseAppPersPanel.js +17 -13
  36. package/src/sap/cux/home/BaseAppPersPanel.js.map +1 -1
  37. package/src/sap/cux/home/BaseAppPersPanel.ts +18 -11
  38. package/src/sap/cux/home/BaseContainer.d.ts +0 -1
  39. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  40. package/src/sap/cux/home/BaseContainer.js +16 -13
  41. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  42. package/src/sap/cux/home/BaseContainer.ts +10 -5
  43. package/src/sap/cux/home/BaseLayout.d.ts +0 -1
  44. package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
  45. package/src/sap/cux/home/BaseLayout.js +6 -13
  46. package/src/sap/cux/home/BaseLayout.js.map +1 -1
  47. package/src/sap/cux/home/BaseLayout.ts +1 -2
  48. package/src/sap/cux/home/BaseNewsItem.d.ts +1 -2
  49. package/src/sap/cux/home/BaseNewsItem.d.ts.map +1 -1
  50. package/src/sap/cux/home/BaseNewsItem.js +7 -2
  51. package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
  52. package/src/sap/cux/home/BaseNewsItem.ts +8 -3
  53. package/src/sap/cux/home/BaseNewsPanel.d.ts +1 -2
  54. package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
  55. package/src/sap/cux/home/BaseNewsPanel.js +7 -2
  56. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  57. package/src/sap/cux/home/BaseNewsPanel.ts +8 -3
  58. package/src/sap/cux/home/BasePagePanel.d.ts +1 -2
  59. package/src/sap/cux/home/BasePagePanel.d.ts.map +1 -1
  60. package/src/sap/cux/home/BasePagePanel.gen.d.ts +34 -0
  61. package/src/sap/cux/home/BasePagePanel.js +16 -2
  62. package/src/sap/cux/home/BasePagePanel.js.map +1 -1
  63. package/src/sap/cux/home/BasePagePanel.ts +17 -3
  64. package/src/sap/cux/home/BasePanel.d.ts +0 -1
  65. package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
  66. package/src/sap/cux/home/BasePanel.js +1 -3
  67. package/src/sap/cux/home/BasePanel.js.map +1 -1
  68. package/src/sap/cux/home/BasePanel.ts +0 -1
  69. package/src/sap/cux/home/BaseSettingsDialog.d.ts +0 -1
  70. package/src/sap/cux/home/BaseSettingsDialog.d.ts.map +1 -1
  71. package/src/sap/cux/home/BaseSettingsDialog.js +0 -1
  72. package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
  73. package/src/sap/cux/home/BaseSettingsDialog.ts +0 -1
  74. package/src/sap/cux/home/BaseSettingsPanel.d.ts +1 -2
  75. package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
  76. package/src/sap/cux/home/BaseSettingsPanel.js +0 -1
  77. package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
  78. package/src/sap/cux/home/BaseSettingsPanel.ts +1 -2
  79. package/src/sap/cux/home/CardsPanel.d.ts +0 -1
  80. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  81. package/src/sap/cux/home/CardsPanel.js +103 -104
  82. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  83. package/src/sap/cux/home/CardsPanel.ts +4 -3
  84. package/src/sap/cux/home/ContentAdditionDialog.d.ts +0 -3
  85. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
  86. package/src/sap/cux/home/ContentAdditionDialog.js +3 -7
  87. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  88. package/src/sap/cux/home/ContentAdditionDialog.ts +3 -7
  89. package/src/sap/cux/home/ErrorPanel.d.ts +1 -2
  90. package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
  91. package/src/sap/cux/home/ErrorPanel.gen.d.ts +24 -0
  92. package/src/sap/cux/home/ErrorPanel.js +16 -2
  93. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  94. package/src/sap/cux/home/ErrorPanel.ts +17 -3
  95. package/src/sap/cux/home/FavAppPanel.d.ts +0 -1
  96. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  97. package/src/sap/cux/home/FavAppPanel.js +286 -291
  98. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  99. package/src/sap/cux/home/FavAppPanel.ts +23 -18
  100. package/src/sap/cux/home/FrequentAppPanel.d.ts +0 -1
  101. package/src/sap/cux/home/FrequentAppPanel.d.ts.map +1 -1
  102. package/src/sap/cux/home/FrequentAppPanel.js +1 -4
  103. package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
  104. package/src/sap/cux/home/FrequentAppPanel.ts +0 -1
  105. package/src/sap/cux/home/Group.d.ts +2 -2
  106. package/src/sap/cux/home/Group.d.ts.map +1 -1
  107. package/src/sap/cux/home/Group.gen.d.ts +47 -1
  108. package/src/sap/cux/home/Group.js +30 -3
  109. package/src/sap/cux/home/Group.js.map +1 -1
  110. package/src/sap/cux/home/Group.ts +26 -6
  111. package/src/sap/cux/home/IToDoPanel.d.ts +1 -2
  112. package/src/sap/cux/home/IToDoPanel.d.ts.map +1 -1
  113. package/src/sap/cux/home/IToDoPanel.js.map +1 -1
  114. package/src/sap/cux/home/IToDoPanel.ts +1 -2
  115. package/src/sap/cux/home/InsightsAdditionPanel.d.ts +0 -4
  116. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  117. package/src/sap/cux/home/InsightsAdditionPanel.js +1 -7
  118. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  119. package/src/sap/cux/home/InsightsAdditionPanel.ts +1 -8
  120. package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts +0 -3
  121. package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts.map +1 -1
  122. package/src/sap/cux/home/InsightsCardsSettingsPanel.js +0 -3
  123. package/src/sap/cux/home/InsightsCardsSettingsPanel.js.map +1 -1
  124. package/src/sap/cux/home/InsightsCardsSettingsPanel.ts +0 -3
  125. package/src/sap/cux/home/InsightsContainer.d.ts +1 -1
  126. package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
  127. package/src/sap/cux/home/InsightsContainer.js +19 -3
  128. package/src/sap/cux/home/InsightsContainer.js.map +1 -1
  129. package/src/sap/cux/home/InsightsContainer.ts +17 -4
  130. package/src/sap/cux/home/InsightsTilesSettingsPanel.d.ts +0 -3
  131. package/src/sap/cux/home/InsightsTilesSettingsPanel.d.ts.map +1 -1
  132. package/src/sap/cux/home/InsightsTilesSettingsPanel.js +5 -5
  133. package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
  134. package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +5 -5
  135. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +0 -3
  136. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
  137. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +0 -3
  138. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
  139. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +0 -3
  140. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts +0 -3
  141. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
  142. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +0 -3
  143. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  144. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +0 -3
  145. package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts +0 -3
  146. package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
  147. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +22 -13
  148. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
  149. package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +22 -17
  150. package/src/sap/cux/home/KeyUserPagesSettingsPanel.d.ts +0 -3
  151. package/src/sap/cux/home/KeyUserPagesSettingsPanel.d.ts.map +1 -1
  152. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js +0 -3
  153. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
  154. package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +0 -3
  155. package/src/sap/cux/home/KeyUserSettingsDialog.d.ts +0 -3
  156. package/src/sap/cux/home/KeyUserSettingsDialog.d.ts.map +1 -1
  157. package/src/sap/cux/home/KeyUserSettingsDialog.js +1 -4
  158. package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
  159. package/src/sap/cux/home/KeyUserSettingsDialog.ts +1 -4
  160. package/src/sap/cux/home/Layout.d.ts +0 -1
  161. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  162. package/src/sap/cux/home/Layout.js +7 -10
  163. package/src/sap/cux/home/Layout.js.map +1 -1
  164. package/src/sap/cux/home/Layout.ts +3 -4
  165. package/src/sap/cux/home/LayoutSettingsPanel.d.ts +0 -3
  166. package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
  167. package/src/sap/cux/home/LayoutSettingsPanel.js +0 -3
  168. package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
  169. package/src/sap/cux/home/LayoutSettingsPanel.ts +0 -3
  170. package/src/sap/cux/home/MenuItem.d.ts +0 -1
  171. package/src/sap/cux/home/MenuItem.d.ts.map +1 -1
  172. package/src/sap/cux/home/MenuItem.js +0 -1
  173. package/src/sap/cux/home/MenuItem.js.map +1 -1
  174. package/src/sap/cux/home/MenuItem.ts +0 -1
  175. package/src/sap/cux/home/NewsAndPagesContainer.d.ts +0 -1
  176. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
  177. package/src/sap/cux/home/NewsAndPagesContainer.js +0 -1
  178. package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
  179. package/src/sap/cux/home/NewsAndPagesContainer.ts +0 -1
  180. package/src/sap/cux/home/NewsGroup.d.ts +0 -3
  181. package/src/sap/cux/home/NewsGroup.d.ts.map +1 -1
  182. package/src/sap/cux/home/NewsGroup.js +1 -4
  183. package/src/sap/cux/home/NewsGroup.js.map +1 -1
  184. package/src/sap/cux/home/NewsGroup.ts +1 -4
  185. package/src/sap/cux/home/NewsItem.d.ts +0 -3
  186. package/src/sap/cux/home/NewsItem.d.ts.map +1 -1
  187. package/src/sap/cux/home/NewsItem.js +0 -3
  188. package/src/sap/cux/home/NewsItem.js.map +1 -1
  189. package/src/sap/cux/home/NewsItem.ts +0 -3
  190. package/src/sap/cux/home/NewsPanel.d.ts +0 -1
  191. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  192. package/src/sap/cux/home/NewsPanel.js +84 -96
  193. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  194. package/src/sap/cux/home/NewsPanel.ts +32 -35
  195. package/src/sap/cux/home/NewsSettingsPanel.d.ts +6 -3
  196. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  197. package/src/sap/cux/home/NewsSettingsPanel.js +18 -4
  198. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  199. package/src/sap/cux/home/NewsSettingsPanel.ts +16 -4
  200. package/src/sap/cux/home/NoDataContainer.d.ts +0 -1
  201. package/src/sap/cux/home/NoDataContainer.d.ts.map +1 -1
  202. package/src/sap/cux/home/NoDataContainer.js +0 -1
  203. package/src/sap/cux/home/NoDataContainer.js.map +1 -1
  204. package/src/sap/cux/home/NoDataContainer.ts +0 -1
  205. package/src/sap/cux/home/Page.d.ts +0 -3
  206. package/src/sap/cux/home/Page.d.ts.map +1 -1
  207. package/src/sap/cux/home/Page.gen.d.ts +0 -12
  208. package/src/sap/cux/home/Page.js +0 -7
  209. package/src/sap/cux/home/Page.js.map +1 -1
  210. package/src/sap/cux/home/Page.ts +0 -7
  211. package/src/sap/cux/home/PagePanel.d.ts +0 -4
  212. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  213. package/src/sap/cux/home/PagePanel.js +5 -11
  214. package/src/sap/cux/home/PagePanel.js.map +1 -1
  215. package/src/sap/cux/home/PagePanel.ts +4 -9
  216. package/src/sap/cux/home/PageSettingsPanel.d.ts +0 -3
  217. package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
  218. package/src/sap/cux/home/PageSettingsPanel.js +3 -5
  219. package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
  220. package/src/sap/cux/home/PageSettingsPanel.ts +3 -5
  221. package/src/sap/cux/home/RecentAppPanel.d.ts +0 -1
  222. package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
  223. package/src/sap/cux/home/RecentAppPanel.js +2 -6
  224. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  225. package/src/sap/cux/home/RecentAppPanel.ts +0 -1
  226. package/src/sap/cux/home/RecommendedAppPanel.d.ts +0 -1
  227. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  228. package/src/sap/cux/home/RecommendedAppPanel.js +0 -1
  229. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  230. package/src/sap/cux/home/RecommendedAppPanel.ts +0 -1
  231. package/src/sap/cux/home/SettingsDialog.d.ts +0 -3
  232. package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
  233. package/src/sap/cux/home/SettingsDialog.js +25 -23
  234. package/src/sap/cux/home/SettingsDialog.js.map +1 -1
  235. package/src/sap/cux/home/SettingsDialog.ts +9 -16
  236. package/src/sap/cux/home/SituationPanel.d.ts +0 -1
  237. package/src/sap/cux/home/SituationPanel.d.ts.map +1 -1
  238. package/src/sap/cux/home/SituationPanel.js +0 -1
  239. package/src/sap/cux/home/SituationPanel.js.map +1 -1
  240. package/src/sap/cux/home/SituationPanel.ts +0 -1
  241. package/src/sap/cux/home/SpaceInsightsPanel.d.ts +207 -0
  242. package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -0
  243. package/src/sap/cux/home/SpaceInsightsPanel.gen.d.ts +200 -0
  244. package/src/sap/cux/home/SpaceInsightsPanel.js +786 -0
  245. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -0
  246. package/src/sap/cux/home/SpaceInsightsPanel.ts +628 -0
  247. package/src/sap/cux/home/SpacePanel.d.ts +117 -0
  248. package/src/sap/cux/home/SpacePanel.d.ts.map +1 -0
  249. package/src/sap/cux/home/SpacePanel.gen.d.ts +77 -0
  250. package/src/sap/cux/home/SpacePanel.js +599 -0
  251. package/src/sap/cux/home/SpacePanel.js.map +1 -0
  252. package/src/sap/cux/home/SpacePanel.ts +461 -0
  253. package/src/sap/cux/home/TaskPanel.d.ts +0 -1
  254. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  255. package/src/sap/cux/home/TaskPanel.js +14 -24
  256. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  257. package/src/sap/cux/home/TaskPanel.ts +6 -11
  258. package/src/sap/cux/home/TilesPanel.d.ts +0 -1
  259. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  260. package/src/sap/cux/home/TilesPanel.js +4 -5
  261. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  262. package/src/sap/cux/home/TilesPanel.ts +3 -3
  263. package/src/sap/cux/home/ToDoPanel.d.ts +11 -1
  264. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  265. package/src/sap/cux/home/ToDoPanel.js +67 -17
  266. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  267. package/src/sap/cux/home/ToDoPanel.ts +70 -13
  268. package/src/sap/cux/home/ToDosContainer.d.ts +0 -1
  269. package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
  270. package/src/sap/cux/home/ToDosContainer.js +0 -1
  271. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  272. package/src/sap/cux/home/ToDosContainer.ts +0 -1
  273. package/src/sap/cux/home/i18n/messagebundle.properties +8 -6
  274. package/src/sap/cux/home/i18n/messagebundle_ar.properties +55 -9
  275. package/src/sap/cux/home/i18n/messagebundle_bg.properties +55 -9
  276. package/src/sap/cux/home/i18n/messagebundle_ca.properties +55 -9
  277. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +55 -9
  278. package/src/sap/cux/home/i18n/messagebundle_cs.properties +59 -13
  279. package/src/sap/cux/home/i18n/messagebundle_cy.properties +55 -9
  280. package/src/sap/cux/home/i18n/messagebundle_da.properties +55 -9
  281. package/src/sap/cux/home/i18n/messagebundle_de.properties +55 -9
  282. package/src/sap/cux/home/i18n/messagebundle_el.properties +55 -9
  283. package/src/sap/cux/home/i18n/messagebundle_en.properties +55 -9
  284. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +55 -9
  285. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +55 -9
  286. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +46 -6
  287. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +55 -9
  288. package/src/sap/cux/home/i18n/messagebundle_es.properties +62 -16
  289. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +55 -9
  290. package/src/sap/cux/home/i18n/messagebundle_et.properties +55 -9
  291. package/src/sap/cux/home/i18n/messagebundle_fi.properties +54 -8
  292. package/src/sap/cux/home/i18n/messagebundle_fr.properties +55 -9
  293. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +55 -9
  294. package/src/sap/cux/home/i18n/messagebundle_hi.properties +55 -9
  295. package/src/sap/cux/home/i18n/messagebundle_hr.properties +55 -9
  296. package/src/sap/cux/home/i18n/messagebundle_hu.properties +56 -10
  297. package/src/sap/cux/home/i18n/messagebundle_id.properties +55 -9
  298. package/src/sap/cux/home/i18n/messagebundle_it.properties +55 -9
  299. package/src/sap/cux/home/i18n/messagebundle_iw.properties +55 -9
  300. package/src/sap/cux/home/i18n/messagebundle_ja.properties +55 -9
  301. package/src/sap/cux/home/i18n/messagebundle_kk.properties +56 -10
  302. package/src/sap/cux/home/i18n/messagebundle_ko.properties +58 -12
  303. package/src/sap/cux/home/i18n/messagebundle_lt.properties +55 -9
  304. package/src/sap/cux/home/i18n/messagebundle_lv.properties +55 -9
  305. package/src/sap/cux/home/i18n/messagebundle_mk.properties +55 -9
  306. package/src/sap/cux/home/i18n/messagebundle_ms.properties +55 -9
  307. package/src/sap/cux/home/i18n/messagebundle_nl.properties +55 -9
  308. package/src/sap/cux/home/i18n/messagebundle_no.properties +55 -9
  309. package/src/sap/cux/home/i18n/messagebundle_pl.properties +56 -10
  310. package/src/sap/cux/home/i18n/messagebundle_pt.properties +55 -9
  311. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +55 -9
  312. package/src/sap/cux/home/i18n/messagebundle_ro.properties +55 -9
  313. package/src/sap/cux/home/i18n/messagebundle_ru.properties +55 -9
  314. package/src/sap/cux/home/i18n/messagebundle_sh.properties +55 -9
  315. package/src/sap/cux/home/i18n/messagebundle_sk.properties +55 -9
  316. package/src/sap/cux/home/i18n/messagebundle_sl.properties +55 -9
  317. package/src/sap/cux/home/i18n/messagebundle_sr.properties +55 -9
  318. package/src/sap/cux/home/i18n/messagebundle_sv.properties +55 -9
  319. package/src/sap/cux/home/i18n/messagebundle_th.properties +55 -9
  320. package/src/sap/cux/home/i18n/messagebundle_tr.properties +55 -9
  321. package/src/sap/cux/home/i18n/messagebundle_uk.properties +57 -11
  322. package/src/sap/cux/home/i18n/messagebundle_vi.properties +55 -9
  323. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +55 -9
  324. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +56 -10
  325. package/src/sap/cux/home/interface/AppsInterface.d.ts +1 -0
  326. package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
  327. package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
  328. package/src/sap/cux/home/interface/AppsInterface.ts +1 -0
  329. package/src/sap/cux/home/library.d.ts +3 -4
  330. package/src/sap/cux/home/library.d.ts.map +1 -1
  331. package/src/sap/cux/home/library.js +3 -4
  332. package/src/sap/cux/home/library.js.map +1 -1
  333. package/src/sap/cux/home/library.ts +3 -4
  334. package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +1 -1
  335. package/src/sap/cux/home/themes/base/InsightsContainer.less +4 -0
  336. package/src/sap/cux/home/utils/Accessibility.js +3 -4
  337. package/src/sap/cux/home/utils/Accessibility.js.map +1 -1
  338. package/src/sap/cux/home/utils/Accessibility.ts +2 -2
  339. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts +0 -1
  340. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts.map +1 -1
  341. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js +0 -1
  342. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js.map +1 -1
  343. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.ts +0 -1
  344. package/src/sap/cux/home/utils/AppManager.d.ts +12 -7
  345. package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
  346. package/src/sap/cux/home/utils/AppManager.js +172 -172
  347. package/src/sap/cux/home/utils/AppManager.js.map +1 -1
  348. package/src/sap/cux/home/utils/AppManager.ts +42 -23
  349. package/src/sap/cux/home/utils/BatchHelper.d.ts +0 -3
  350. package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
  351. package/src/sap/cux/home/utils/BatchHelper.js +5 -10
  352. package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
  353. package/src/sap/cux/home/utils/BatchHelper.ts +0 -3
  354. package/src/sap/cux/home/utils/CommonUtils.d.ts +9 -0
  355. package/src/sap/cux/home/utils/CommonUtils.d.ts.map +1 -1
  356. package/src/sap/cux/home/utils/CommonUtils.js +23 -2
  357. package/src/sap/cux/home/utils/CommonUtils.js.map +1 -1
  358. package/src/sap/cux/home/utils/CommonUtils.ts +25 -1
  359. package/src/sap/cux/home/utils/Constants.d.ts +4 -5
  360. package/src/sap/cux/home/utils/Constants.d.ts.map +1 -1
  361. package/src/sap/cux/home/utils/Constants.js +5 -5
  362. package/src/sap/cux/home/utils/Constants.js.map +1 -1
  363. package/src/sap/cux/home/utils/Constants.ts +4 -5
  364. package/src/sap/cux/home/utils/DecisionDialog.d.ts +0 -3
  365. package/src/sap/cux/home/utils/DecisionDialog.d.ts.map +1 -1
  366. package/src/sap/cux/home/utils/DecisionDialog.js +0 -3
  367. package/src/sap/cux/home/utils/DecisionDialog.js.map +1 -1
  368. package/src/sap/cux/home/utils/DecisionDialog.ts +0 -3
  369. package/src/sap/cux/home/utils/Device.js +1 -2
  370. package/src/sap/cux/home/utils/Device.js.map +1 -1
  371. package/src/sap/cux/home/utils/FESRUtil.js +1 -1
  372. package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
  373. package/src/sap/cux/home/utils/FESRUtil.ts +1 -1
  374. package/src/sap/cux/home/utils/FeatureUtils.d.ts +20 -13
  375. package/src/sap/cux/home/utils/FeatureUtils.d.ts.map +1 -1
  376. package/src/sap/cux/home/utils/FeatureUtils.js +38 -33
  377. package/src/sap/cux/home/utils/FeatureUtils.js.map +1 -1
  378. package/src/sap/cux/home/utils/FeatureUtils.ts +39 -32
  379. package/src/sap/cux/home/utils/HttpHelper.d.ts +7 -3
  380. package/src/sap/cux/home/utils/HttpHelper.d.ts.map +1 -1
  381. package/src/sap/cux/home/utils/HttpHelper.js +43 -3
  382. package/src/sap/cux/home/utils/HttpHelper.js.map +1 -1
  383. package/src/sap/cux/home/utils/HttpHelper.ts +25 -3
  384. package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts.map +1 -1
  385. package/src/sap/cux/home/utils/KeyUserPersonalization.js +33 -13
  386. package/src/sap/cux/home/utils/KeyUserPersonalization.js.map +1 -1
  387. package/src/sap/cux/home/utils/KeyUserPersonalization.ts +2 -2
  388. package/src/sap/cux/home/utils/PageManager.d.ts +0 -3
  389. package/src/sap/cux/home/utils/PageManager.d.ts.map +1 -1
  390. package/src/sap/cux/home/utils/PageManager.js +8 -14
  391. package/src/sap/cux/home/utils/PageManager.js.map +1 -1
  392. package/src/sap/cux/home/utils/PageManager.ts +0 -3
  393. package/src/sap/cux/home/utils/PersonalisationUtils.d.ts +0 -3
  394. package/src/sap/cux/home/utils/PersonalisationUtils.d.ts.map +1 -1
  395. package/src/sap/cux/home/utils/PersonalisationUtils.js +1 -5
  396. package/src/sap/cux/home/utils/PersonalisationUtils.js.map +1 -1
  397. package/src/sap/cux/home/utils/PersonalisationUtils.ts +0 -3
  398. package/src/sap/cux/home/utils/SituationUtils.js +1 -2
  399. package/src/sap/cux/home/utils/SituationUtils.js.map +1 -1
  400. package/src/sap/cux/home/utils/TaskUtils.js +1 -2
  401. package/src/sap/cux/home/utils/TaskUtils.js.map +1 -1
  402. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +0 -3
  403. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
  404. package/src/sap/cux/home/utils/UshellPersonalizer.js +0 -3
  405. package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
  406. package/src/sap/cux/home/utils/UshellPersonalizer.ts +0 -3
  407. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +16 -17
  408. package/src/sap/cux/home/utils/CardSkeleton.d.ts +0 -54
  409. package/src/sap/cux/home/utils/CardSkeleton.d.ts.map +0 -1
  410. package/src/sap/cux/home/utils/CardSkeleton.js +0 -61
  411. package/src/sap/cux/home/utils/CardSkeleton.js.map +0 -1
  412. package/src/sap/cux/home/utils/CardSkeleton.ts +0 -53
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionDialog.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/DecisionDialog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DecisionDialog.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/DecisionDialog.ts"],"names":[],"mappings":"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"}
@@ -82,9 +82,6 @@ sap.ui.define(["sap/base/Log", "sap/m/MessageBox", "sap/m/library", "sap/ui/base
82
82
  * @author SAP SE
83
83
  * @version 0.0.1
84
84
  * @since 1.121
85
- *
86
- * @internal
87
- * @experimental Since 1.121
88
85
  * @private
89
86
  *
90
87
  * @alias sap.cux.home.utils.DecisionDialog
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionDialog.js","names":["sap","ui","define","Log","MessageBox","sap_m_library","BaseObject","Element","Fragment","sap_ui_core_library","JSONModel","ODataModel","ResourceModel","___DataFormatUtils","___TaskUtils","_catch","body","recover","result","e","then","ButtonType","ValueState","toTaskPriorityText","TaskPriority","ReasonRequired","decideButtonNature","decisionOption","Nature","toUpperCase","Accept","Reject","Neutral","Default","getActionButton","i18nBundle","task","baseUrl","text","DecisionText","type","pressHandler","DecisionDialog","decisionDialogMethod","bind","getIconFrameBadge","priority","iconBadge","VERY_HIGH","HIGH","getIconFrameBadgeValueState","Error","None","extend","constructor","_constructor","refreshView","BaseObject.prototype.constructor.call","handleReasonOptionChange","_handleReasonOptionChange","event","comboBox","getSource","comboBoxValue","getValue","selectedItem","getSelectedItem","confirmationDialogPromise","confirmationDialog","comboBoxRequired","confirmationDialogModel","getData","dialogSettings","reasonOptionsSettings","required","setTooltip","setValueState","getBeginButton","setEnabled","_toggleSubmitButtonState","catch","error","message","String","dialogData","noteRequired","noteMandatory","noteFilled","getElementById","trim","length","comboBoxFilled","noteFlag","comboBoxFlag","setProperty","readReasonOptions","_readReasonOptions","origin","instance","decisionKey","onSuccess","onError","sPath","oUrlParams","SAP__Origin","InstanceID","DecisionKey","fnSuccess","oData","results","fnError","oError","dataServiceModel","read","urlParameters","success","groupId","loadReasonOptions","_loadReasonOptions","_this","metaModel","getMetaModel","Promise","resolve","loaded","getODataFunctionImport","reject","reasonOptions","show","Required","Optional","openDecisionDialog","_openDecisionDialog","submitButtonEnabled","load","name","controller","confirmationDialogFragment","i18nModel","bundle","priorityText","addStyleClass","Priority","setModel","open","confirmActionHandler","_confirmActionHandler","getModel","getProperty","reasonOptionSelectedItem","reasonCode","getKey","note","showNote","handleCancel","_handleCancel","_bClosedViaButton","close","cancelActionHandler","refresh","handleAfterClose","_handleAfterClose","destroy","createODataRequest","_createODataRequest","path","urlParams","settings","data","response","info","getText","details","parameters","responseText","fireRequestFailed","create","sendAction","_sendAction","importName","decision","reasonOptionCode","Comments","ReasonCode","setBusy","JSON","parse","value","showDecisionDialog","_showDecisionDialog","_this2","TaskTitle","title","decisionDialogSettings","CommentMandatory","question","badgeIcon","badgeValueState","confirmButtonLabel","showFeedbackMessage","textAreaLabel","reasonOptionKey","_temp","metadataLoaded","reasonOptionsLoadedPromise","noneText","unshift","Name","Code","dialogUtils","getTaskActions","multiSelectDecisionResults","actions","displayedTypes","Set","multiSelectDecisionOptions","TaskDefinitionID","has","push","add","action"],"sources":["DecisionDialog.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport ComboBox from \"sap/m/ComboBox\";\nimport Dialog from \"sap/m/Dialog\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport Text from \"sap/m/Text\";\nimport TextArea from \"sap/m/TextArea\";\nimport { ButtonType } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport BaseObject from \"sap/ui/base/Object\";\nimport Control from \"sap/ui/core/Control\";\nimport Element from \"sap/ui/core/Element\";\nimport Fragment from \"sap/ui/core/Fragment\";\nimport { ValueState } from \"sap/ui/core/library\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport ODataModel from \"sap/ui/model/odata/v2/ODataModel\";\nimport ResourceModel from \"sap/ui/model/resource/ResourceModel\";\nimport { Task } from \"../TaskPanel\";\nimport { Response } from \"../ToDoPanel\";\nimport { toTaskPriorityText } from \"./DataFormatUtils\";\nimport { TaskPriority } from \"./TaskUtils\";\n\nenum ReasonRequired {\n\tRequired = \"REQUIRED\",\n\tOptional = \"OPTIONAL\"\n}\n\nexport interface DecisionOption {\n\tSAP__Origin: string;\n\tInstanceID: string;\n\tNature: ButtonType;\n\tDecisionKey: string;\n\tCommentMandatory: boolean;\n\tDecisionText: string;\n\tReasonRequired: ReasonRequired;\n}\n\ninterface ReasonOption {\n\t[key: string]: string;\n}\n\ninterface ReasonOptionSettings {\n\tshow: boolean;\n\trequired: boolean;\n\treasonOptions?: ReasonOption[];\n}\n\ninterface DecisionDialogSettings {\n\tbadgeIcon: string;\n\tbadgeValueState: string;\n\tshowNote: boolean;\n\tnoteMandatory: boolean;\n\tquestion: string;\n\ttitle: string;\n\tconfirmButtonLabel: string;\n\ttextAreaLabel: string;\n\tpriorityText: string;\n\tshowFeedbackMessage: boolean;\n\treasonOptionsSettings: ReasonOptionSettings;\n\tconfirmActionHandler: (note: string, reasonCode: string) => void;\n\tcancelActionHandler: () => void;\n}\n\ninterface IDecisionDialog extends Dialog {\n\t_bClosedViaButton: boolean;\n}\n\ninterface DialogSettings {\n\tdialogSettings: DecisionDialogSettings;\n\tsubmitButtonEnabled: boolean;\n}\n\ninterface ODataError {\n\tresponse: {\n\t\tbody: string;\n\t};\n\tresponseText: string;\n\terror: {\n\t\tmessage: {\n\t\t\tvalue: string;\n\t\t};\n\t};\n}\n\ninterface MultiSelectDecisionResult {\n\t[key: string]: DecisionOption[];\n}\n\nexport interface ActionButton {\n\ttype: ButtonType;\n\ttext: string;\n\tpressHandler: (refresh: Refresh) => Promise<void> | void;\n}\n\ninterface Refresh {\n\t(forceRefresh: boolean): void;\n}\n\nconst decideButtonNature = (decisionOption: DecisionOption): ButtonType => {\n\tswitch (decisionOption.Nature?.toUpperCase()) {\n\t\tcase \"POSITIVE\":\n\t\t\treturn ButtonType.Accept;\n\t\tcase \"NEGATIVE\":\n\t\t\treturn ButtonType.Reject;\n\t\tcase \"NEUTRAL\":\n\t\t\treturn ButtonType.Neutral;\n\t\tdefault:\n\t\t\treturn ButtonType.Default;\n\t}\n};\n\nconst getActionButton = (decisionOption: DecisionOption, i18nBundle: ResourceBundle, task: Task, baseUrl: string): ActionButton => {\n\treturn {\n\t\ttext: decisionOption.DecisionText,\n\t\ttype: decideButtonNature(decisionOption) || ButtonType.Default,\n\t\tpressHandler: DecisionDialog.decisionDialogMethod.bind(null, decisionOption, i18nBundle, task, baseUrl)\n\t};\n};\n\n/**\n * Gets the icon frame badge based on the task priority.\n *\n * This method returns a specific badge string for tasks with high or very high priority.\n * For tasks with lower priorities, it returns an empty string.\n *\n * @param {TaskPriority} priority - The priority level of the task.\n * @returns {string} The badge string for high priority tasks, or an empty string for others.\n */\nexport function getIconFrameBadge(priority: TaskPriority): string {\n\tlet iconBadge = \"\";\n\tif (priority === TaskPriority.VERY_HIGH || priority === TaskPriority.HIGH) {\n\t\ticonBadge = \"sap-icon://high-priority\";\n\t}\n\n\treturn iconBadge;\n}\n\n/**\n * Converts a priority string to a Priority enum value.\n * If the priority string is not recognized, it returns the default value \"None\".\n *\n * @param {TaskPriority} priority - The priority string to convert.\n * @returns {ValueState} The corresponding Priority enum value.\n */\nexport function getIconFrameBadgeValueState(priority: TaskPriority): ValueState {\n\treturn priority === TaskPriority.VERY_HIGH || priority === TaskPriority.HIGH ? ValueState.Error : ValueState.None;\n}\n\n/**\n *\n * Helper class for Decision Dialog handling.\n *\n * @extends BaseObject\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @experimental Since 1.121\n * @private\n *\n * @alias sap.cux.home.utils.DecisionDialog\n */\nexport default class DecisionDialog extends BaseObject {\n\tprivate decisionOption: DecisionOption;\n\tprivate i18nBundle: ResourceBundle;\n\tprivate refreshView: Refresh;\n\tprivate task: Task;\n\tprivate confirmationDialogPromise!: Promise<IDecisionDialog>;\n\tprivate confirmationDialogModel!: JSONModel;\n\tprivate dataServiceModel!: ODataModel;\n\tprivate baseUrl: string;\n\n\tconstructor(decisionOption: DecisionOption, i18nBundle: ResourceBundle, task: Task, baseUrl: string, refreshView: Refresh) {\n\t\tsuper();\n\t\tthis.decisionOption = decisionOption;\n\t\tthis.i18nBundle = i18nBundle;\n\t\tthis.baseUrl = baseUrl;\n\t\tthis.refreshView = refreshView;\n\t\tthis.task = task;\n\t}\n\n\t/**\n\t * Handles the change event of the reason option ComboBox.\n\t *\n\t * @private\n\t * @param {Event} event - The event object.\n\t * @returns {void}\n\t */\n\tpublic handleReasonOptionChange(event: Event): void {\n\t\tconst comboBox = event.getSource<ComboBox>();\n\t\tconst comboBoxValue = comboBox.getValue();\n\t\tconst selectedItem = comboBox.getSelectedItem();\n\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tconst comboBoxRequired = (this.confirmationDialogModel.getData() as DialogSettings).dialogSettings.reasonOptionsSettings\n\t\t\t\t\t.required;\n\t\t\t\t// Set the tooltip useful when the currently selected item's text is truncated\n\t\t\t\tcomboBox.setTooltip(comboBoxValue);\n\t\t\t\tcomboBox.setValueState(selectedItem === null ? ValueState.Error : ValueState.None);\n\n\t\t\t\t// Special case where if reason options is optional and all\n\t\t\t\t// the text is deleted value state should be none (corner case)\n\t\t\t\tif (!comboBoxRequired && comboBoxValue === \"\") {\n\t\t\t\t\tcomboBox.setValueState(ValueState.None);\n\t\t\t\t}\n\n\t\t\t\t// Special case where if value in combo box gets partially deleted by the user\n\t\t\t\t// there is no selection yet button is not disabled\n\t\t\t\tif (!comboBoxRequired && comboBoxValue !== \"\" && selectedItem === null) {\n\t\t\t\t\tconfirmationDialog.getBeginButton().setEnabled(false);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Update the submit button state (disabled / enabled)\n\t\t\t\tthis._toggleSubmitButtonState();\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * Toggles the state of the submit button based on the dialog settings.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tpublic _toggleSubmitButtonState(): void {\n\t\tconst dialogData = this.confirmationDialogModel.getData() as DialogSettings;\n\t\tconst noteRequired = dialogData.dialogSettings.noteMandatory;\n\n\t\tconst noteFilled = (Element.getElementById(\"confirmDialogTextarea\") as TextArea).getValue().trim().length > 0;\n\t\tconst comboBoxRequired = dialogData.dialogSettings.reasonOptionsSettings.required;\n\n\t\tconst comboBoxFilled = (Element.getElementById(\"reasonOptionsSelect\") as ComboBox).getSelectedItem() !== null;\n\t\tconst noteFlag = (noteRequired && noteFilled) || !noteRequired;\n\t\tconst comboBoxFlag = (comboBoxRequired && comboBoxFilled) || !comboBoxRequired;\n\n\t\tthis.confirmationDialogModel.setProperty(\"/submitButtonEnabled\", noteFlag && comboBoxFlag);\n\t}\n\n\t/**\n\t * Reads reason options from the backend.\n\t *\n\t * @private\n\t * @param {string} origin - The SAP origin.\n\t * @param {string} instance - The instance ID.\n\t * @param {string} decisionKey - The decision key.\n\t * @param {Function} onSuccess - The success callback function.\n\t * @param {Function} onError - The error callback function.\n\t * @returns {void}\n\t */\n\tprivate readReasonOptions(\n\t\torigin: string,\n\t\tinstance: string,\n\t\tdecisionKey: string,\n\t\tonSuccess: (arg: ReasonOption[]) => void,\n\t\tonError: (arg: unknown) => void\n\t): void {\n\t\tconst sPath = \"/ReasonOptions\";\n\t\tconst oUrlParams = {\n\t\t\tSAP__Origin: `'${origin}'`,\n\t\t\tInstanceID: `'${instance}'`,\n\t\t\tDecisionKey: `'${decisionKey}'`\n\t\t};\n\t\tconst fnSuccess = (oData: Response) => {\n\t\t\tif (oData && oData.results) {\n\t\t\t\tif (onSuccess) {\n\t\t\t\t\tonSuccess(oData.results as ReasonOption[]);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tconst fnError = (oError: unknown) => {\n\t\t\tif (onError) {\n\t\t\t\tonError(oError);\n\t\t\t}\n\t\t};\n\n\t\tthis.dataServiceModel.read(sPath, {\n\t\t\turlParameters: oUrlParams,\n\t\t\tsuccess: fnSuccess,\n\t\t\terror: fnError,\n\t\t\tgroupId: \"reasonOptions\"\n\t\t});\n\t}\n\n\t/**\n\t * Load the reason options which are part of this decision option.\n\t *\n\t * @private\n\t * @returns {Promise<ReasonOptionSettings | null>} - containing resolved array of reason options\n\t */\n\tprivate async loadReasonOptions(): Promise<ReasonOptionSettings | null> {\n\t\tconst metaModel = this.dataServiceModel.getMetaModel();\n\t\tawait metaModel.loaded();\n\n\t\tif (metaModel.getODataFunctionImport(\"ReasonOptions\")) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tthis.readReasonOptions(\n\t\t\t\t\tthis.decisionOption.SAP__Origin,\n\t\t\t\t\tthis.decisionOption.InstanceID,\n\t\t\t\t\tthis.decisionOption.DecisionKey,\n\t\t\t\t\t(reasonOptions: ReasonOption[]) => {\n\t\t\t\t\t\tconst reasonOptionsSettings = {\n\t\t\t\t\t\t\tshow:\n\t\t\t\t\t\t\t\t(this.decisionOption.ReasonRequired === ReasonRequired.Required ||\n\t\t\t\t\t\t\t\t\tthis.decisionOption.ReasonRequired === ReasonRequired.Optional) &&\n\t\t\t\t\t\t\t\treasonOptions.length > 0,\n\t\t\t\t\t\t\trequired: this.decisionOption.ReasonRequired === ReasonRequired.Required,\n\t\t\t\t\t\t\treasonOptions: reasonOptions\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tresolve(reasonOptionsSettings);\n\t\t\t\t\t},\n\t\t\t\t\t(oError) => {\n\t\t\t\t\t\treject(oError as Error);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Open the decision dialog for the inbox task selected.\n\t *\n\t * @private\n\t * @param {DecisionDialogSettings} dialogSettings - contains the settings for the decision dialog\n\t */\n\tprivate openDecisionDialog(dialogSettings: DecisionDialogSettings) {\n\t\tthis.confirmationDialogModel = new JSONModel({\n\t\t\tsubmitButtonEnabled: !dialogSettings?.noteMandatory && !dialogSettings?.reasonOptionsSettings?.required,\n\t\t\tdialogSettings\n\t\t});\n\n\t\tthis.confirmationDialogPromise = Fragment.load({\n\t\t\ttype: \"XML\",\n\t\t\tname: \"sap.cux.home.utils.fragment.showDecisionDialog\",\n\t\t\tcontroller: this\n\t\t})\n\t\t\t.then((confirmationDialogFragment: Control | Control[]) => {\n\t\t\t\tconst confirmationDialog = confirmationDialogFragment as IDecisionDialog;\n\t\t\t\tconst i18nModel = new ResourceModel({ bundle: this.i18nBundle });\n\t\t\t\tconst priorityText = Element.getElementById(\"task-priority-text\") as Text;\n\t\t\t\tpriorityText.addStyleClass(this.task.Priority);\n\n\t\t\t\tconfirmationDialog.setModel(this.confirmationDialogModel);\n\t\t\t\tconfirmationDialog.setModel(i18nModel, \"i18n\");\n\t\t\t\tconfirmationDialog.open();\n\t\t\t\treturn confirmationDialog;\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t}) as Promise<IDecisionDialog>;\n\t}\n\n\t/**\n\t * Submit handler for the decision dialog\n\t *\n\t * @private\n\t */\n\tpublic confirmActionHandler(): void {\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tconst dialogSettings = (confirmationDialog.getModel()?.getProperty(\"/\") as DialogSettings).dialogSettings;\n\t\t\t\tconst reasonOptionsSettings = dialogSettings.reasonOptionsSettings;\n\n\t\t\t\t// Get the reason option value from the combo box\n\t\t\t\tconst reasonOptionSelectedItem = reasonOptionsSettings.show\n\t\t\t\t\t? (Element.getElementById(\"reasonOptionsSelect\") as ComboBox)?.getSelectedItem()\n\t\t\t\t\t: null;\n\t\t\t\tconst reasonCode = (\n\t\t\t\t\treasonOptionSelectedItem !== null && reasonOptionSelectedItem?.getKey() !== \"defaultSelectedKey\"\n\t\t\t\t\t\t? reasonOptionSelectedItem.getKey()\n\t\t\t\t\t\t: null\n\t\t\t\t) as string;\n\n\t\t\t\t// Get the note value from the text area\n\t\t\t\tconst note = (\n\t\t\t\t\tdialogSettings.showNote ? (Element.getElementById(\"confirmDialogTextarea\") as TextArea)?.getValue() : null\n\t\t\t\t) as string;\n\t\t\t\tdialogSettings.confirmActionHandler(note, reasonCode);\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * Handler for cancel action in the decision dialog\n\t *\n\t * @private\n\t */\n\tpublic handleCancel() {\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tconst dialogSettings = (confirmationDialog.getModel()?.getProperty(\"/\") as DialogSettings).dialogSettings;\n\t\t\t\tconfirmationDialog._bClosedViaButton = true;\n\t\t\t\tconfirmationDialog.close();\n\t\t\t\tdialogSettings.cancelActionHandler();\n\n\t\t\t\tif (this.confirmationDialogModel.getProperty(\"/dialogSettings/showFeedbackMessage\")) {\n\t\t\t\t\tthis.dataServiceModel.refresh();\n\t\t\t\t\tthis.refreshView(true);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * After close dialog handler in the decision dialog\n\t *\n\t * @private\n\t */\n\tpublic handleAfterClose() {\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tif (confirmationDialog._bClosedViaButton) {\n\t\t\t\t\t// dialog is closed via button\n\t\t\t\t\tconfirmationDialog._bClosedViaButton = false;\n\t\t\t\t} else {\n\t\t\t\t\t// dialog is closed by other means (e.g. pressing Escape)\n\t\t\t\t\tconst dialogSettings = (confirmationDialog.getModel()?.getProperty(\"/\") as DialogSettings).dialogSettings;\n\t\t\t\t\tdialogSettings.cancelActionHandler();\n\t\t\t\t}\n\t\t\t\tconfirmationDialog.destroy();\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * Creates an OData request with the specified parameters.\n\t *\n\t * @private\n\t * @param {string} path - The path of the OData request.\n\t * @param {Record<string, string>} urlParams - The URL parameters of the request.\n\t * @param {Function} fnSuccess - The success callback function.\n\t * @param {Function} fnError - The error callback function.\n\t * @returns {void}\n\t */\n\tprivate createODataRequest(\n\t\tpath: string,\n\t\turlParams: Record<string, string>,\n\t\tfnSuccess: (data: unknown, response: unknown) => void,\n\t\tfnError: (error: ODataError) => void\n\t): void {\n\t\tconst settings = {\n\t\t\tsuccess: (data: unknown, response: unknown) => {\n\t\t\t\tLog.info(\"successful action\");\n\t\t\t\tfnSuccess?.(data, response);\n\t\t\t},\n\t\t\terror: (error: ODataError) => {\n\t\t\t\tconst message = this.i18nBundle.getText(\"DataManager.HTTPRequestFailed\");\n\t\t\t\tconst details = error.response ? error.response.body : null;\n\t\t\t\tconst parameters = {\n\t\t\t\t\tmessage: message,\n\t\t\t\t\tresponseText: details as string\n\t\t\t\t};\n\t\t\t\tthis.dataServiceModel.fireRequestFailed(parameters);\n\t\t\t\tfnError(error);\n\t\t\t},\n\t\t\turlParameters: urlParams\n\t\t};\n\n\t\tthis.dataServiceModel.create(path, {}, settings);\n\t}\n\n\t/**\n\t * Sends an action to the backend.\n\t *\n\t * @private\n\t * @param {string} importName - The name of the function import or action.\n\t * @param {DecisionOption} decision - The decision option.\n\t * @param {string} note - The note to be included with the action.\n\t * @param {string} reasonOptionCode - The reason option code.\n\t * @param {Task} task - The task associated with the action.\n\t * @returns {void}\n\t */\n\tprivate sendAction(importName: string, decision: DecisionOption, note: string, reasonOptionCode: string, task: Task): void {\n\t\tconst urlParams: Record<string, string> = {\n\t\t\tSAP__Origin: `'${task.SAP__Origin}'`,\n\t\t\tInstanceID: `'${task.InstanceID}'`\n\t\t};\n\n\t\tif (decision.DecisionKey) {\n\t\t\turlParams.DecisionKey = `'${decision.DecisionKey}'`;\n\t\t}\n\n\t\tif (note?.length > 0) {\n\t\t\turlParams.Comments = `'${note}'`;\n\t\t}\n\n\t\tif (reasonOptionCode) {\n\t\t\turlParams.ReasonCode = `'${reasonOptionCode}'`;\n\t\t}\n\n\t\tconst onSuccess = () => {\n\t\t\tthis.confirmationDialogPromise\n\t\t\t\t.then((confirmationDialog) => {\n\t\t\t\t\tconfirmationDialog.setBusy(false);\n\t\t\t\t\tthis.confirmationDialogModel.setProperty(\"/dialogSettings/showFeedbackMessage\", true);\n\t\t\t\t})\n\t\t\t\t.catch((error: unknown) => {\n\t\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t\t});\n\t\t};\n\n\t\tconst onError = (error: ODataError) => {\n\t\t\tif (error.responseText) {\n\t\t\t\tconst oError = JSON.parse(error.responseText) as ODataError;\n\t\t\t\tMessageBox.error(oError?.error?.message?.value);\n\t\t\t}\n\t\t\tthis.handleCancel();\n\t\t};\n\n\t\tthis.createODataRequest(`/${importName}`, urlParams, onSuccess, onError);\n\t}\n\n\t/**\n\t * Shows the decision dialog.\n\t *\n\t * @private\n\t * @returns {Promise<void>}\n\t */\n\tprivate async showDecisionDialog(): Promise<void> {\n\t\tthis.dataServiceModel = this.dataServiceModel || new ODataModel(this.baseUrl);\n\t\tconst { TaskTitle: title, Priority } = this.task;\n\t\tconst decisionDialogSettings: DecisionDialogSettings = {\n\t\t\tnoteMandatory: this.decisionOption.CommentMandatory,\n\t\t\tquestion: this.i18nBundle.getText(\"XMSG_DECISION_QUESTION\", [this.decisionOption.DecisionText]) as string,\n\t\t\ttitle,\n\t\t\tbadgeIcon: getIconFrameBadge(Priority),\n\t\t\tbadgeValueState: getIconFrameBadgeValueState(Priority),\n\t\t\tpriorityText: this.i18nBundle.getText(toTaskPriorityText(Priority)) as string,\n\t\t\tconfirmButtonLabel: this.i18nBundle.getText(\"XBUT_SUBMIT\") as string,\n\t\t\tshowNote: true,\n\t\t\tshowFeedbackMessage: false,\n\t\t\treasonOptionsSettings: {\n\t\t\t\tshow: false,\n\t\t\t\trequired: false\n\t\t\t},\n\t\t\ttextAreaLabel: this.i18nBundle.getText(\"XFLD_TextArea_Decision\") as string,\n\t\t\tconfirmActionHandler: (note, reasonOptionKey) => {\n\t\t\t\tthis.sendAction(\"Decision\", this.decisionOption, note, reasonOptionKey, this.task);\n\t\t\t},\n\t\t\tcancelActionHandler: () => {}\n\t\t};\n\n\t\ttry {\n\t\t\tawait this.dataServiceModel.metadataLoaded();\n\t\t\tconst reasonOptionsLoadedPromise =\n\t\t\t\tthis.decisionOption?.ReasonRequired === ReasonRequired.Required ||\n\t\t\t\tthis.decisionOption?.ReasonRequired === ReasonRequired.Optional\n\t\t\t\t\t? this.loadReasonOptions()\n\t\t\t\t\t: null;\n\n\t\t\t// reason options won't be loaded\n\t\t\tif (!reasonOptionsLoadedPromise) {\n\t\t\t\tthis.openDecisionDialog(decisionDialogSettings);\n\t\t\t} else {\n\t\t\t\t// based on reasonOptionsLoadedPromise, reason options will be loaded\n\t\t\t\treasonOptionsLoadedPromise\n\t\t\t\t\t.then((reasonOptionsSettings: ReasonOptionSettings | null) => {\n\t\t\t\t\t\tif (reasonOptionsSettings !== null) {\n\t\t\t\t\t\t\tdecisionDialogSettings.reasonOptionsSettings = reasonOptionsSettings;\n\n\t\t\t\t\t\t\t// In case of optional reason option combo box, a (None) option is created as to have a default selection\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tdecisionDialogSettings.reasonOptionsSettings?.reasonOptions &&\n\t\t\t\t\t\t\t\t!decisionDialogSettings.reasonOptionsSettings?.required\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tconst noneText = `(${this.i18nBundle.getText(\"XSEL_DECISION_REASON_NONE_OPTION\")})`;\n\t\t\t\t\t\t\t\tdecisionDialogSettings.reasonOptionsSettings.reasonOptions.unshift({\n\t\t\t\t\t\t\t\t\tName: noneText,\n\t\t\t\t\t\t\t\t\tCode: \"defaultSelectedKey\"\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tthis.openDecisionDialog(decisionDialogSettings);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tLog.error(\"Could not load the reason options properly\");\n\t\t\t\t\t});\n\t\t\t}\n\t\t} catch {\n\t\t\tLog.error(\"Could not load metadata model for inbox\");\n\t\t}\n\t}\n\n\t/**\n\t * Initiates the decisionDialog\n\t *\n\t * @static\n\t * @param {DecisionOption} decisionOption - Decision Option\n\t * @param {ResourceModel} i18nBundle - The resource bundle for internationalization.\n\t * @param {Task} task - Task Instance\n\t * @param {Refresh} refresh - Refresh function\n\t */\n\tstatic decisionDialogMethod(decisionOption: DecisionOption, i18nBundle: ResourceBundle, task: Task, baseUrl: string, refresh: Refresh) {\n\t\tconst dialogUtils = new DecisionDialog(decisionOption, i18nBundle, task, baseUrl, refresh);\n\t\treturn dialogUtils.showDecisionDialog();\n\t}\n\n\t/**\n\t * Retrieves task actions based on the task and multi-select decision results.\n\t *\n\t * @static\n\t * @param {Task} task - The task for which actions are retrieved.\n\t * @param {string} baseUrl - The base URL.\n\t * @param {MultiSelectDecisionResult} multiSelectDecisionResults - The multi-select decision results.\n\t * @param {ResourceBundle} i18nBundle - The resource bundle for internationalization.\n\t * @returns {ActionButton[]} An array of action buttons.\n\t */\n\tstatic getTaskActions(\n\t\ttask: Task,\n\t\tbaseUrl: string,\n\t\tmultiSelectDecisionResults: MultiSelectDecisionResult,\n\t\ti18nBundle: ResourceBundle\n\t): ActionButton[] {\n\t\tconst actions: ActionButton[] = [];\n\t\tconst displayedTypes = new Set<string>();\n\t\tconst multiSelectDecisionOptions = multiSelectDecisionResults[task.SAP__Origin + task.TaskDefinitionID];\n\n\t\tif (multiSelectDecisionOptions) {\n\t\t\tfor (const decisionOption of multiSelectDecisionOptions) {\n\t\t\t\tif (!displayedTypes.has(decisionOption.Nature) || !decisionOption.Nature) {\n\t\t\t\t\tactions.push(getActionButton(decisionOption, i18nBundle, task, baseUrl));\n\t\t\t\t\tdisplayedTypes.add(decisionOption.Nature);\n\t\t\t\t} else {\n\t\t\t\t\tconst action = getActionButton(decisionOption, i18nBundle, task, baseUrl);\n\t\t\t\t\taction.type = ButtonType.Default;\n\t\t\t\t\tactions.push(action);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn actions;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DecisionDialog.js","names":["sap","ui","define","Log","MessageBox","sap_m_library","BaseObject","Element","Fragment","sap_ui_core_library","JSONModel","ODataModel","ResourceModel","___DataFormatUtils","___TaskUtils","_catch","body","recover","result","e","then","ButtonType","ValueState","toTaskPriorityText","TaskPriority","ReasonRequired","decideButtonNature","decisionOption","Nature","toUpperCase","Accept","Reject","Neutral","Default","getActionButton","i18nBundle","task","baseUrl","text","DecisionText","type","pressHandler","DecisionDialog","decisionDialogMethod","bind","getIconFrameBadge","priority","iconBadge","VERY_HIGH","HIGH","getIconFrameBadgeValueState","Error","None","extend","constructor","_constructor","refreshView","BaseObject.prototype.constructor.call","handleReasonOptionChange","_handleReasonOptionChange","event","comboBox","getSource","comboBoxValue","getValue","selectedItem","getSelectedItem","confirmationDialogPromise","confirmationDialog","comboBoxRequired","confirmationDialogModel","getData","dialogSettings","reasonOptionsSettings","required","setTooltip","setValueState","getBeginButton","setEnabled","_toggleSubmitButtonState","catch","error","message","String","dialogData","noteRequired","noteMandatory","noteFilled","getElementById","trim","length","comboBoxFilled","noteFlag","comboBoxFlag","setProperty","readReasonOptions","_readReasonOptions","origin","instance","decisionKey","onSuccess","onError","sPath","oUrlParams","SAP__Origin","InstanceID","DecisionKey","fnSuccess","oData","results","fnError","oError","dataServiceModel","read","urlParameters","success","groupId","loadReasonOptions","_loadReasonOptions","_this","metaModel","getMetaModel","Promise","resolve","loaded","getODataFunctionImport","reject","reasonOptions","show","Required","Optional","openDecisionDialog","_openDecisionDialog","submitButtonEnabled","load","name","controller","confirmationDialogFragment","i18nModel","bundle","priorityText","addStyleClass","Priority","setModel","open","confirmActionHandler","_confirmActionHandler","getModel","getProperty","reasonOptionSelectedItem","reasonCode","getKey","note","showNote","handleCancel","_handleCancel","_bClosedViaButton","close","cancelActionHandler","refresh","handleAfterClose","_handleAfterClose","destroy","createODataRequest","_createODataRequest","path","urlParams","settings","data","response","info","getText","details","parameters","responseText","fireRequestFailed","create","sendAction","_sendAction","importName","decision","reasonOptionCode","Comments","ReasonCode","setBusy","JSON","parse","value","showDecisionDialog","_showDecisionDialog","_this2","TaskTitle","title","decisionDialogSettings","CommentMandatory","question","badgeIcon","badgeValueState","confirmButtonLabel","showFeedbackMessage","textAreaLabel","reasonOptionKey","_temp","metadataLoaded","reasonOptionsLoadedPromise","noneText","unshift","Name","Code","dialogUtils","getTaskActions","multiSelectDecisionResults","actions","displayedTypes","Set","multiSelectDecisionOptions","TaskDefinitionID","has","push","add","action"],"sources":["DecisionDialog.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport ComboBox from \"sap/m/ComboBox\";\nimport Dialog from \"sap/m/Dialog\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport Text from \"sap/m/Text\";\nimport TextArea from \"sap/m/TextArea\";\nimport { ButtonType } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport BaseObject from \"sap/ui/base/Object\";\nimport Control from \"sap/ui/core/Control\";\nimport Element from \"sap/ui/core/Element\";\nimport Fragment from \"sap/ui/core/Fragment\";\nimport { ValueState } from \"sap/ui/core/library\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport ODataModel from \"sap/ui/model/odata/v2/ODataModel\";\nimport ResourceModel from \"sap/ui/model/resource/ResourceModel\";\nimport { Task } from \"../TaskPanel\";\nimport { Response } from \"../ToDoPanel\";\nimport { toTaskPriorityText } from \"./DataFormatUtils\";\nimport { TaskPriority } from \"./TaskUtils\";\n\nenum ReasonRequired {\n\tRequired = \"REQUIRED\",\n\tOptional = \"OPTIONAL\"\n}\n\nexport interface DecisionOption {\n\tSAP__Origin: string;\n\tInstanceID: string;\n\tNature: ButtonType;\n\tDecisionKey: string;\n\tCommentMandatory: boolean;\n\tDecisionText: string;\n\tReasonRequired: ReasonRequired;\n}\n\ninterface ReasonOption {\n\t[key: string]: string;\n}\n\ninterface ReasonOptionSettings {\n\tshow: boolean;\n\trequired: boolean;\n\treasonOptions?: ReasonOption[];\n}\n\ninterface DecisionDialogSettings {\n\tbadgeIcon: string;\n\tbadgeValueState: string;\n\tshowNote: boolean;\n\tnoteMandatory: boolean;\n\tquestion: string;\n\ttitle: string;\n\tconfirmButtonLabel: string;\n\ttextAreaLabel: string;\n\tpriorityText: string;\n\tshowFeedbackMessage: boolean;\n\treasonOptionsSettings: ReasonOptionSettings;\n\tconfirmActionHandler: (note: string, reasonCode: string) => void;\n\tcancelActionHandler: () => void;\n}\n\ninterface IDecisionDialog extends Dialog {\n\t_bClosedViaButton: boolean;\n}\n\ninterface DialogSettings {\n\tdialogSettings: DecisionDialogSettings;\n\tsubmitButtonEnabled: boolean;\n}\n\ninterface ODataError {\n\tresponse: {\n\t\tbody: string;\n\t};\n\tresponseText: string;\n\terror: {\n\t\tmessage: {\n\t\t\tvalue: string;\n\t\t};\n\t};\n}\n\ninterface MultiSelectDecisionResult {\n\t[key: string]: DecisionOption[];\n}\n\nexport interface ActionButton {\n\ttype: ButtonType;\n\ttext: string;\n\tpressHandler: (refresh: Refresh) => Promise<void> | void;\n}\n\ninterface Refresh {\n\t(forceRefresh: boolean): void;\n}\n\nconst decideButtonNature = (decisionOption: DecisionOption): ButtonType => {\n\tswitch (decisionOption.Nature?.toUpperCase()) {\n\t\tcase \"POSITIVE\":\n\t\t\treturn ButtonType.Accept;\n\t\tcase \"NEGATIVE\":\n\t\t\treturn ButtonType.Reject;\n\t\tcase \"NEUTRAL\":\n\t\t\treturn ButtonType.Neutral;\n\t\tdefault:\n\t\t\treturn ButtonType.Default;\n\t}\n};\n\nconst getActionButton = (decisionOption: DecisionOption, i18nBundle: ResourceBundle, task: Task, baseUrl: string): ActionButton => {\n\treturn {\n\t\ttext: decisionOption.DecisionText,\n\t\ttype: decideButtonNature(decisionOption) || ButtonType.Default,\n\t\tpressHandler: DecisionDialog.decisionDialogMethod.bind(null, decisionOption, i18nBundle, task, baseUrl)\n\t};\n};\n\n/**\n * Gets the icon frame badge based on the task priority.\n *\n * This method returns a specific badge string for tasks with high or very high priority.\n * For tasks with lower priorities, it returns an empty string.\n *\n * @param {TaskPriority} priority - The priority level of the task.\n * @returns {string} The badge string for high priority tasks, or an empty string for others.\n */\nexport function getIconFrameBadge(priority: TaskPriority): string {\n\tlet iconBadge = \"\";\n\tif (priority === TaskPriority.VERY_HIGH || priority === TaskPriority.HIGH) {\n\t\ticonBadge = \"sap-icon://high-priority\";\n\t}\n\n\treturn iconBadge;\n}\n\n/**\n * Converts a priority string to a Priority enum value.\n * If the priority string is not recognized, it returns the default value \"None\".\n *\n * @param {TaskPriority} priority - The priority string to convert.\n * @returns {ValueState} The corresponding Priority enum value.\n */\nexport function getIconFrameBadgeValueState(priority: TaskPriority): ValueState {\n\treturn priority === TaskPriority.VERY_HIGH || priority === TaskPriority.HIGH ? ValueState.Error : ValueState.None;\n}\n\n/**\n *\n * Helper class for Decision Dialog handling.\n *\n * @extends BaseObject\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.utils.DecisionDialog\n */\nexport default class DecisionDialog extends BaseObject {\n\tprivate decisionOption: DecisionOption;\n\tprivate i18nBundle: ResourceBundle;\n\tprivate refreshView: Refresh;\n\tprivate task: Task;\n\tprivate confirmationDialogPromise!: Promise<IDecisionDialog>;\n\tprivate confirmationDialogModel!: JSONModel;\n\tprivate dataServiceModel!: ODataModel;\n\tprivate baseUrl: string;\n\n\tconstructor(decisionOption: DecisionOption, i18nBundle: ResourceBundle, task: Task, baseUrl: string, refreshView: Refresh) {\n\t\tsuper();\n\t\tthis.decisionOption = decisionOption;\n\t\tthis.i18nBundle = i18nBundle;\n\t\tthis.baseUrl = baseUrl;\n\t\tthis.refreshView = refreshView;\n\t\tthis.task = task;\n\t}\n\n\t/**\n\t * Handles the change event of the reason option ComboBox.\n\t *\n\t * @private\n\t * @param {Event} event - The event object.\n\t * @returns {void}\n\t */\n\tpublic handleReasonOptionChange(event: Event): void {\n\t\tconst comboBox = event.getSource<ComboBox>();\n\t\tconst comboBoxValue = comboBox.getValue();\n\t\tconst selectedItem = comboBox.getSelectedItem();\n\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tconst comboBoxRequired = (this.confirmationDialogModel.getData() as DialogSettings).dialogSettings.reasonOptionsSettings\n\t\t\t\t\t.required;\n\t\t\t\t// Set the tooltip useful when the currently selected item's text is truncated\n\t\t\t\tcomboBox.setTooltip(comboBoxValue);\n\t\t\t\tcomboBox.setValueState(selectedItem === null ? ValueState.Error : ValueState.None);\n\n\t\t\t\t// Special case where if reason options is optional and all\n\t\t\t\t// the text is deleted value state should be none (corner case)\n\t\t\t\tif (!comboBoxRequired && comboBoxValue === \"\") {\n\t\t\t\t\tcomboBox.setValueState(ValueState.None);\n\t\t\t\t}\n\n\t\t\t\t// Special case where if value in combo box gets partially deleted by the user\n\t\t\t\t// there is no selection yet button is not disabled\n\t\t\t\tif (!comboBoxRequired && comboBoxValue !== \"\" && selectedItem === null) {\n\t\t\t\t\tconfirmationDialog.getBeginButton().setEnabled(false);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Update the submit button state (disabled / enabled)\n\t\t\t\tthis._toggleSubmitButtonState();\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * Toggles the state of the submit button based on the dialog settings.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tpublic _toggleSubmitButtonState(): void {\n\t\tconst dialogData = this.confirmationDialogModel.getData() as DialogSettings;\n\t\tconst noteRequired = dialogData.dialogSettings.noteMandatory;\n\n\t\tconst noteFilled = (Element.getElementById(\"confirmDialogTextarea\") as TextArea).getValue().trim().length > 0;\n\t\tconst comboBoxRequired = dialogData.dialogSettings.reasonOptionsSettings.required;\n\n\t\tconst comboBoxFilled = (Element.getElementById(\"reasonOptionsSelect\") as ComboBox).getSelectedItem() !== null;\n\t\tconst noteFlag = (noteRequired && noteFilled) || !noteRequired;\n\t\tconst comboBoxFlag = (comboBoxRequired && comboBoxFilled) || !comboBoxRequired;\n\n\t\tthis.confirmationDialogModel.setProperty(\"/submitButtonEnabled\", noteFlag && comboBoxFlag);\n\t}\n\n\t/**\n\t * Reads reason options from the backend.\n\t *\n\t * @private\n\t * @param {string} origin - The SAP origin.\n\t * @param {string} instance - The instance ID.\n\t * @param {string} decisionKey - The decision key.\n\t * @param {Function} onSuccess - The success callback function.\n\t * @param {Function} onError - The error callback function.\n\t * @returns {void}\n\t */\n\tprivate readReasonOptions(\n\t\torigin: string,\n\t\tinstance: string,\n\t\tdecisionKey: string,\n\t\tonSuccess: (arg: ReasonOption[]) => void,\n\t\tonError: (arg: unknown) => void\n\t): void {\n\t\tconst sPath = \"/ReasonOptions\";\n\t\tconst oUrlParams = {\n\t\t\tSAP__Origin: `'${origin}'`,\n\t\t\tInstanceID: `'${instance}'`,\n\t\t\tDecisionKey: `'${decisionKey}'`\n\t\t};\n\t\tconst fnSuccess = (oData: Response) => {\n\t\t\tif (oData && oData.results) {\n\t\t\t\tif (onSuccess) {\n\t\t\t\t\tonSuccess(oData.results as ReasonOption[]);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tconst fnError = (oError: unknown) => {\n\t\t\tif (onError) {\n\t\t\t\tonError(oError);\n\t\t\t}\n\t\t};\n\n\t\tthis.dataServiceModel.read(sPath, {\n\t\t\turlParameters: oUrlParams,\n\t\t\tsuccess: fnSuccess,\n\t\t\terror: fnError,\n\t\t\tgroupId: \"reasonOptions\"\n\t\t});\n\t}\n\n\t/**\n\t * Load the reason options which are part of this decision option.\n\t *\n\t * @private\n\t * @returns {Promise<ReasonOptionSettings | null>} - containing resolved array of reason options\n\t */\n\tprivate async loadReasonOptions(): Promise<ReasonOptionSettings | null> {\n\t\tconst metaModel = this.dataServiceModel.getMetaModel();\n\t\tawait metaModel.loaded();\n\n\t\tif (metaModel.getODataFunctionImport(\"ReasonOptions\")) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tthis.readReasonOptions(\n\t\t\t\t\tthis.decisionOption.SAP__Origin,\n\t\t\t\t\tthis.decisionOption.InstanceID,\n\t\t\t\t\tthis.decisionOption.DecisionKey,\n\t\t\t\t\t(reasonOptions: ReasonOption[]) => {\n\t\t\t\t\t\tconst reasonOptionsSettings = {\n\t\t\t\t\t\t\tshow:\n\t\t\t\t\t\t\t\t(this.decisionOption.ReasonRequired === ReasonRequired.Required ||\n\t\t\t\t\t\t\t\t\tthis.decisionOption.ReasonRequired === ReasonRequired.Optional) &&\n\t\t\t\t\t\t\t\treasonOptions.length > 0,\n\t\t\t\t\t\t\trequired: this.decisionOption.ReasonRequired === ReasonRequired.Required,\n\t\t\t\t\t\t\treasonOptions: reasonOptions\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tresolve(reasonOptionsSettings);\n\t\t\t\t\t},\n\t\t\t\t\t(oError) => {\n\t\t\t\t\t\treject(oError as Error);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Open the decision dialog for the inbox task selected.\n\t *\n\t * @private\n\t * @param {DecisionDialogSettings} dialogSettings - contains the settings for the decision dialog\n\t */\n\tprivate openDecisionDialog(dialogSettings: DecisionDialogSettings) {\n\t\tthis.confirmationDialogModel = new JSONModel({\n\t\t\tsubmitButtonEnabled: !dialogSettings?.noteMandatory && !dialogSettings?.reasonOptionsSettings?.required,\n\t\t\tdialogSettings\n\t\t});\n\n\t\tthis.confirmationDialogPromise = Fragment.load({\n\t\t\ttype: \"XML\",\n\t\t\tname: \"sap.cux.home.utils.fragment.showDecisionDialog\",\n\t\t\tcontroller: this\n\t\t})\n\t\t\t.then((confirmationDialogFragment: Control | Control[]) => {\n\t\t\t\tconst confirmationDialog = confirmationDialogFragment as IDecisionDialog;\n\t\t\t\tconst i18nModel = new ResourceModel({ bundle: this.i18nBundle });\n\t\t\t\tconst priorityText = Element.getElementById(\"task-priority-text\") as Text;\n\t\t\t\tpriorityText.addStyleClass(this.task.Priority);\n\n\t\t\t\tconfirmationDialog.setModel(this.confirmationDialogModel);\n\t\t\t\tconfirmationDialog.setModel(i18nModel, \"i18n\");\n\t\t\t\tconfirmationDialog.open();\n\t\t\t\treturn confirmationDialog;\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t}) as Promise<IDecisionDialog>;\n\t}\n\n\t/**\n\t * Submit handler for the decision dialog\n\t *\n\t * @private\n\t */\n\tpublic confirmActionHandler(): void {\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tconst dialogSettings = (confirmationDialog.getModel()?.getProperty(\"/\") as DialogSettings).dialogSettings;\n\t\t\t\tconst reasonOptionsSettings = dialogSettings.reasonOptionsSettings;\n\n\t\t\t\t// Get the reason option value from the combo box\n\t\t\t\tconst reasonOptionSelectedItem = reasonOptionsSettings.show\n\t\t\t\t\t? (Element.getElementById(\"reasonOptionsSelect\") as ComboBox)?.getSelectedItem()\n\t\t\t\t\t: null;\n\t\t\t\tconst reasonCode = (\n\t\t\t\t\treasonOptionSelectedItem !== null && reasonOptionSelectedItem?.getKey() !== \"defaultSelectedKey\"\n\t\t\t\t\t\t? reasonOptionSelectedItem.getKey()\n\t\t\t\t\t\t: null\n\t\t\t\t) as string;\n\n\t\t\t\t// Get the note value from the text area\n\t\t\t\tconst note = (\n\t\t\t\t\tdialogSettings.showNote ? (Element.getElementById(\"confirmDialogTextarea\") as TextArea)?.getValue() : null\n\t\t\t\t) as string;\n\t\t\t\tdialogSettings.confirmActionHandler(note, reasonCode);\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * Handler for cancel action in the decision dialog\n\t *\n\t * @private\n\t */\n\tpublic handleCancel() {\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tconst dialogSettings = (confirmationDialog.getModel()?.getProperty(\"/\") as DialogSettings).dialogSettings;\n\t\t\t\tconfirmationDialog._bClosedViaButton = true;\n\t\t\t\tconfirmationDialog.close();\n\t\t\t\tdialogSettings.cancelActionHandler();\n\n\t\t\t\tif (this.confirmationDialogModel.getProperty(\"/dialogSettings/showFeedbackMessage\")) {\n\t\t\t\t\tthis.dataServiceModel.refresh();\n\t\t\t\t\tthis.refreshView(true);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * After close dialog handler in the decision dialog\n\t *\n\t * @private\n\t */\n\tpublic handleAfterClose() {\n\t\tthis.confirmationDialogPromise\n\t\t\t.then((confirmationDialog) => {\n\t\t\t\tif (confirmationDialog._bClosedViaButton) {\n\t\t\t\t\t// dialog is closed via button\n\t\t\t\t\tconfirmationDialog._bClosedViaButton = false;\n\t\t\t\t} else {\n\t\t\t\t\t// dialog is closed by other means (e.g. pressing Escape)\n\t\t\t\t\tconst dialogSettings = (confirmationDialog.getModel()?.getProperty(\"/\") as DialogSettings).dialogSettings;\n\t\t\t\t\tdialogSettings.cancelActionHandler();\n\t\t\t\t}\n\t\t\t\tconfirmationDialog.destroy();\n\t\t\t})\n\t\t\t.catch((error: unknown) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\n\t}\n\n\t/**\n\t * Creates an OData request with the specified parameters.\n\t *\n\t * @private\n\t * @param {string} path - The path of the OData request.\n\t * @param {Record<string, string>} urlParams - The URL parameters of the request.\n\t * @param {Function} fnSuccess - The success callback function.\n\t * @param {Function} fnError - The error callback function.\n\t * @returns {void}\n\t */\n\tprivate createODataRequest(\n\t\tpath: string,\n\t\turlParams: Record<string, string>,\n\t\tfnSuccess: (data: unknown, response: unknown) => void,\n\t\tfnError: (error: ODataError) => void\n\t): void {\n\t\tconst settings = {\n\t\t\tsuccess: (data: unknown, response: unknown) => {\n\t\t\t\tLog.info(\"successful action\");\n\t\t\t\tfnSuccess?.(data, response);\n\t\t\t},\n\t\t\terror: (error: ODataError) => {\n\t\t\t\tconst message = this.i18nBundle.getText(\"DataManager.HTTPRequestFailed\");\n\t\t\t\tconst details = error.response ? error.response.body : null;\n\t\t\t\tconst parameters = {\n\t\t\t\t\tmessage: message,\n\t\t\t\t\tresponseText: details as string\n\t\t\t\t};\n\t\t\t\tthis.dataServiceModel.fireRequestFailed(parameters);\n\t\t\t\tfnError(error);\n\t\t\t},\n\t\t\turlParameters: urlParams\n\t\t};\n\n\t\tthis.dataServiceModel.create(path, {}, settings);\n\t}\n\n\t/**\n\t * Sends an action to the backend.\n\t *\n\t * @private\n\t * @param {string} importName - The name of the function import or action.\n\t * @param {DecisionOption} decision - The decision option.\n\t * @param {string} note - The note to be included with the action.\n\t * @param {string} reasonOptionCode - The reason option code.\n\t * @param {Task} task - The task associated with the action.\n\t * @returns {void}\n\t */\n\tprivate sendAction(importName: string, decision: DecisionOption, note: string, reasonOptionCode: string, task: Task): void {\n\t\tconst urlParams: Record<string, string> = {\n\t\t\tSAP__Origin: `'${task.SAP__Origin}'`,\n\t\t\tInstanceID: `'${task.InstanceID}'`\n\t\t};\n\n\t\tif (decision.DecisionKey) {\n\t\t\turlParams.DecisionKey = `'${decision.DecisionKey}'`;\n\t\t}\n\n\t\tif (note?.length > 0) {\n\t\t\turlParams.Comments = `'${note}'`;\n\t\t}\n\n\t\tif (reasonOptionCode) {\n\t\t\turlParams.ReasonCode = `'${reasonOptionCode}'`;\n\t\t}\n\n\t\tconst onSuccess = () => {\n\t\t\tthis.confirmationDialogPromise\n\t\t\t\t.then((confirmationDialog) => {\n\t\t\t\t\tconfirmationDialog.setBusy(false);\n\t\t\t\t\tthis.confirmationDialogModel.setProperty(\"/dialogSettings/showFeedbackMessage\", true);\n\t\t\t\t})\n\t\t\t\t.catch((error: unknown) => {\n\t\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t\t});\n\t\t};\n\n\t\tconst onError = (error: ODataError) => {\n\t\t\tif (error.responseText) {\n\t\t\t\tconst oError = JSON.parse(error.responseText) as ODataError;\n\t\t\t\tMessageBox.error(oError?.error?.message?.value);\n\t\t\t}\n\t\t\tthis.handleCancel();\n\t\t};\n\n\t\tthis.createODataRequest(`/${importName}`, urlParams, onSuccess, onError);\n\t}\n\n\t/**\n\t * Shows the decision dialog.\n\t *\n\t * @private\n\t * @returns {Promise<void>}\n\t */\n\tprivate async showDecisionDialog(): Promise<void> {\n\t\tthis.dataServiceModel = this.dataServiceModel || new ODataModel(this.baseUrl);\n\t\tconst { TaskTitle: title, Priority } = this.task;\n\t\tconst decisionDialogSettings: DecisionDialogSettings = {\n\t\t\tnoteMandatory: this.decisionOption.CommentMandatory,\n\t\t\tquestion: this.i18nBundle.getText(\"XMSG_DECISION_QUESTION\", [this.decisionOption.DecisionText]) as string,\n\t\t\ttitle,\n\t\t\tbadgeIcon: getIconFrameBadge(Priority),\n\t\t\tbadgeValueState: getIconFrameBadgeValueState(Priority),\n\t\t\tpriorityText: this.i18nBundle.getText(toTaskPriorityText(Priority)) as string,\n\t\t\tconfirmButtonLabel: this.i18nBundle.getText(\"XBUT_SUBMIT\") as string,\n\t\t\tshowNote: true,\n\t\t\tshowFeedbackMessage: false,\n\t\t\treasonOptionsSettings: {\n\t\t\t\tshow: false,\n\t\t\t\trequired: false\n\t\t\t},\n\t\t\ttextAreaLabel: this.i18nBundle.getText(\"XFLD_TextArea_Decision\") as string,\n\t\t\tconfirmActionHandler: (note, reasonOptionKey) => {\n\t\t\t\tthis.sendAction(\"Decision\", this.decisionOption, note, reasonOptionKey, this.task);\n\t\t\t},\n\t\t\tcancelActionHandler: () => {}\n\t\t};\n\n\t\ttry {\n\t\t\tawait this.dataServiceModel.metadataLoaded();\n\t\t\tconst reasonOptionsLoadedPromise =\n\t\t\t\tthis.decisionOption?.ReasonRequired === ReasonRequired.Required ||\n\t\t\t\tthis.decisionOption?.ReasonRequired === ReasonRequired.Optional\n\t\t\t\t\t? this.loadReasonOptions()\n\t\t\t\t\t: null;\n\n\t\t\t// reason options won't be loaded\n\t\t\tif (!reasonOptionsLoadedPromise) {\n\t\t\t\tthis.openDecisionDialog(decisionDialogSettings);\n\t\t\t} else {\n\t\t\t\t// based on reasonOptionsLoadedPromise, reason options will be loaded\n\t\t\t\treasonOptionsLoadedPromise\n\t\t\t\t\t.then((reasonOptionsSettings: ReasonOptionSettings | null) => {\n\t\t\t\t\t\tif (reasonOptionsSettings !== null) {\n\t\t\t\t\t\t\tdecisionDialogSettings.reasonOptionsSettings = reasonOptionsSettings;\n\n\t\t\t\t\t\t\t// In case of optional reason option combo box, a (None) option is created as to have a default selection\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tdecisionDialogSettings.reasonOptionsSettings?.reasonOptions &&\n\t\t\t\t\t\t\t\t!decisionDialogSettings.reasonOptionsSettings?.required\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tconst noneText = `(${this.i18nBundle.getText(\"XSEL_DECISION_REASON_NONE_OPTION\")})`;\n\t\t\t\t\t\t\t\tdecisionDialogSettings.reasonOptionsSettings.reasonOptions.unshift({\n\t\t\t\t\t\t\t\t\tName: noneText,\n\t\t\t\t\t\t\t\t\tCode: \"defaultSelectedKey\"\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tthis.openDecisionDialog(decisionDialogSettings);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tLog.error(\"Could not load the reason options properly\");\n\t\t\t\t\t});\n\t\t\t}\n\t\t} catch {\n\t\t\tLog.error(\"Could not load metadata model for inbox\");\n\t\t}\n\t}\n\n\t/**\n\t * Initiates the decisionDialog\n\t *\n\t * @static\n\t * @param {DecisionOption} decisionOption - Decision Option\n\t * @param {ResourceModel} i18nBundle - The resource bundle for internationalization.\n\t * @param {Task} task - Task Instance\n\t * @param {Refresh} refresh - Refresh function\n\t */\n\tstatic decisionDialogMethod(decisionOption: DecisionOption, i18nBundle: ResourceBundle, task: Task, baseUrl: string, refresh: Refresh) {\n\t\tconst dialogUtils = new DecisionDialog(decisionOption, i18nBundle, task, baseUrl, refresh);\n\t\treturn dialogUtils.showDecisionDialog();\n\t}\n\n\t/**\n\t * Retrieves task actions based on the task and multi-select decision results.\n\t *\n\t * @static\n\t * @param {Task} task - The task for which actions are retrieved.\n\t * @param {string} baseUrl - The base URL.\n\t * @param {MultiSelectDecisionResult} multiSelectDecisionResults - The multi-select decision results.\n\t * @param {ResourceBundle} i18nBundle - The resource bundle for internationalization.\n\t * @returns {ActionButton[]} An array of action buttons.\n\t */\n\tstatic getTaskActions(\n\t\ttask: Task,\n\t\tbaseUrl: string,\n\t\tmultiSelectDecisionResults: MultiSelectDecisionResult,\n\t\ti18nBundle: ResourceBundle\n\t): ActionButton[] {\n\t\tconst actions: ActionButton[] = [];\n\t\tconst displayedTypes = new Set<string>();\n\t\tconst multiSelectDecisionOptions = multiSelectDecisionResults[task.SAP__Origin + task.TaskDefinitionID];\n\n\t\tif (multiSelectDecisionOptions) {\n\t\t\tfor (const decisionOption of multiSelectDecisionOptions) {\n\t\t\t\tif (!displayedTypes.has(decisionOption.Nature) || !decisionOption.Nature) {\n\t\t\t\t\tactions.push(getActionButton(decisionOption, i18nBundle, task, baseUrl));\n\t\t\t\t\tdisplayedTypes.add(decisionOption.Nature);\n\t\t\t\t} else {\n\t\t\t\t\tconst action = getActionButton(decisionOption, i18nBundle, task, baseUrl);\n\t\t\t\t\taction.type = ButtonType.Default;\n\t\t\t\t\tactions.push(action);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn actions;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -160,9 +160,6 @@ export function getIconFrameBadgeValueState(priority: TaskPriority): ValueState
160
160
  * @author SAP SE
161
161
  * @version 0.0.1
162
162
  * @since 1.121
163
- *
164
- * @internal
165
- * @experimental Since 1.121
166
163
  * @private
167
164
  *
168
165
  * @alias sap.cux.home.utils.DecisionDialog
@@ -26,8 +26,7 @@ sap.ui.define(["sap/ui/Device"], function (Device) {
26
26
  * @param {number} [width=Device.resize.width] - The width of the device. Defaults to the current device width.
27
27
  * @returns {DeviceType} - The calculated device type.
28
28
  */
29
- function calculateDeviceType() {
30
- let width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Device.resize.width;
29
+ function calculateDeviceType(width = Device.resize.width) {
31
30
  if (width < DeviceWidth.Mobile || Device.system.phone) {
32
31
  return DeviceType.Mobile;
33
32
  } else if (width < DeviceWidth.Tablet) {
@@ -1 +1 @@
1
- {"version":3,"file":"Device.js","names":["sap","ui","define","Device","DeviceWidth","Mobile","Tablet","Desktop","LargeDesktop","DeviceType","calculateDeviceType","width","arguments","length","undefined","resize","system","phone","XLargeDesktop","fetchElementProperties","domRef","properties","oProperties","forEach","property","parseFloat","window","getComputedStyle","getPropertyValue","calculateCardWidth","cardLayoutConfig","gap","skipDeviceCheck","peekWidth","totalCards","Math","max","minWidth","min","containerWidth","maxWidth","mainCardWidth","cardCountToUse","totalGap","twoCardWidth","possibleCardCount","cardWidth","__exports","__esModule"],"sources":["Device.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Device from \"sap/ui/Device\";\n\ninterface CardLayoutConfig {\n\tgap: number;\n\tcontainerWidth: number;\n\ttotalCards: number;\n\tminWidth: number;\n\tmaxWidth: number;\n\tskipDeviceCheck?: boolean;\n}\n\n/** Device widths in px */\nconst DeviceWidth = {\n\tMobile: 600,\n\tTablet: 1024,\n\tDesktop: 1135,\n\tLargeDesktop: 1920\n};\n\nexport enum DeviceType {\n\tMobile = \"Mobile\",\n\tTablet = \"Tablet\",\n\tDesktop = \"Desktop\",\n\tLargeDesktop = \"LargeDesktop\",\n\tXLargeDesktop = \"XLargeDesktop\"\n}\n\n/**\n * Calculates the device type based on the given width.\n *\n * @param {number} [width=Device.resize.width] - The width of the device. Defaults to the current device width.\n * @returns {DeviceType} - The calculated device type.\n */\nexport function calculateDeviceType(width: number = Device.resize.width): DeviceType {\n\tif (width < DeviceWidth.Mobile || Device.system.phone) {\n\t\treturn DeviceType.Mobile;\n\t} else if (width < DeviceWidth.Tablet) {\n\t\treturn DeviceType.Tablet;\n\t} else if (width < DeviceWidth.Desktop) {\n\t\treturn DeviceType.Desktop;\n\t} else if (width < DeviceWidth.LargeDesktop) {\n\t\treturn DeviceType.LargeDesktop;\n\t} else {\n\t\treturn DeviceType.XLargeDesktop;\n\t}\n}\n\n/**\n * Fetches the specified CSS properties of a given DOM element and returns them as a record.\n *\n * @param {Element} domRef - The DOM element from which to fetch the properties.\n * @param {string[]} properties - An array of property names to fetch.\n * @returns {Record<string, number>} - A record where the keys are property names and the values are the corresponding property values as numbers.\n */\nexport function fetchElementProperties(domRef: Element, properties: string[]): Record<string, number> {\n\tconst oProperties: Record<string, number> = {};\n\tproperties.forEach((property) => {\n\t\toProperties[property] = parseFloat(window.getComputedStyle(domRef).getPropertyValue(property));\n\t});\n\n\treturn oProperties;\n}\n\n/**\n * Calculates the card width based on the available width and certain constraints.\n *\n * @param {CardLayoutConfig} cardLayoutConfig - Card layout configuration containing container width, no. of cards, min and max width.\n * @returns {number} The calculated card width within specified constraints.\n */\nexport function calculateCardWidth(cardLayoutConfig: CardLayoutConfig): number {\n\tconst gap = cardLayoutConfig.gap;\n\n\tif (calculateDeviceType() === DeviceType.Mobile && !cardLayoutConfig.skipDeviceCheck) {\n\t\tconst peekWidth = 76;\n\t\tif (cardLayoutConfig.totalCards === 1) {\n\t\t\t// Single card: full width, constrained\n\t\t\treturn Math.max(cardLayoutConfig.minWidth, Math.min(cardLayoutConfig.containerWidth, cardLayoutConfig.maxWidth));\n\t\t} else {\n\t\t\t// Calculate width of the first card, reserving space for the peek of the second\n\t\t\tconst mainCardWidth = cardLayoutConfig.containerWidth - peekWidth;\n\t\t\t// Clamp to min/max width\n\t\t\treturn Math.max(cardLayoutConfig.minWidth, Math.min(mainCardWidth, cardLayoutConfig.maxWidth));\n\t\t}\n\t}\n\n\tlet cardCountToUse: number;\n\n\t// Tablet mode: width between 600 and 1023\n\tif (calculateDeviceType() === DeviceType.Tablet && cardLayoutConfig.totalCards > 1 && !cardLayoutConfig.skipDeviceCheck) {\n\t\tconst totalGap = gap; // gap between 2 cards\n\t\tconst twoCardWidth = (cardLayoutConfig.containerWidth - totalGap) / 2;\n\n\t\tif (twoCardWidth >= cardLayoutConfig.minWidth && twoCardWidth <= cardLayoutConfig.maxWidth) {\n\t\t\tcardCountToUse = 2;\n\t\t} else {\n\t\t\tcardCountToUse = 1;\n\t\t}\n\t} else {\n\t\t// Step 1: How many cards *can* fit based on minWidth\n\t\tlet possibleCardCount = 1;\n\t\twhile (cardLayoutConfig.containerWidth / possibleCardCount >= cardLayoutConfig.minWidth + gap) {\n\t\t\tpossibleCardCount++;\n\t\t}\n\t\tpossibleCardCount--; // Last valid value\n\t\t// Step 2: If we have fewer cards than we *can* fit, stretch them\n\t\tcardCountToUse = cardLayoutConfig.skipDeviceCheck\n\t\t\t? Math.min(possibleCardCount, cardLayoutConfig.totalCards)\n\t\t\t: Math.max(Math.min(possibleCardCount, cardLayoutConfig.totalCards), Math.min(cardLayoutConfig.totalCards, 3));\n\t}\n\tif (cardCountToUse <= 0) return cardLayoutConfig.minWidth;\n\tconst totalGap = (cardCountToUse - 1) * gap;\n\tconst cardWidth = (cardLayoutConfig.containerWidth - totalGap) / cardCountToUse;\n\treturn Math.min(Math.max(cardWidth, cardLayoutConfig.minWidth), cardLayoutConfig.maxWidth);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Device.js","names":["sap","ui","define","Device","DeviceWidth","Mobile","Tablet","Desktop","LargeDesktop","DeviceType","calculateDeviceType","width","resize","system","phone","XLargeDesktop","fetchElementProperties","domRef","properties","oProperties","forEach","property","parseFloat","window","getComputedStyle","getPropertyValue","calculateCardWidth","cardLayoutConfig","gap","skipDeviceCheck","peekWidth","totalCards","Math","max","minWidth","min","containerWidth","maxWidth","mainCardWidth","cardCountToUse","totalGap","twoCardWidth","possibleCardCount","cardWidth","__exports","__esModule"],"sources":["Device.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Device from \"sap/ui/Device\";\n\ninterface CardLayoutConfig {\n\tgap: number;\n\tcontainerWidth: number;\n\ttotalCards: number;\n\tminWidth: number;\n\tmaxWidth: number;\n\tskipDeviceCheck?: boolean;\n}\n\n/** Device widths in px */\nconst DeviceWidth = {\n\tMobile: 600,\n\tTablet: 1024,\n\tDesktop: 1135,\n\tLargeDesktop: 1920\n};\n\nexport enum DeviceType {\n\tMobile = \"Mobile\",\n\tTablet = \"Tablet\",\n\tDesktop = \"Desktop\",\n\tLargeDesktop = \"LargeDesktop\",\n\tXLargeDesktop = \"XLargeDesktop\"\n}\n\n/**\n * Calculates the device type based on the given width.\n *\n * @param {number} [width=Device.resize.width] - The width of the device. Defaults to the current device width.\n * @returns {DeviceType} - The calculated device type.\n */\nexport function calculateDeviceType(width: number = Device.resize.width): DeviceType {\n\tif (width < DeviceWidth.Mobile || Device.system.phone) {\n\t\treturn DeviceType.Mobile;\n\t} else if (width < DeviceWidth.Tablet) {\n\t\treturn DeviceType.Tablet;\n\t} else if (width < DeviceWidth.Desktop) {\n\t\treturn DeviceType.Desktop;\n\t} else if (width < DeviceWidth.LargeDesktop) {\n\t\treturn DeviceType.LargeDesktop;\n\t} else {\n\t\treturn DeviceType.XLargeDesktop;\n\t}\n}\n\n/**\n * Fetches the specified CSS properties of a given DOM element and returns them as a record.\n *\n * @param {Element} domRef - The DOM element from which to fetch the properties.\n * @param {string[]} properties - An array of property names to fetch.\n * @returns {Record<string, number>} - A record where the keys are property names and the values are the corresponding property values as numbers.\n */\nexport function fetchElementProperties(domRef: Element, properties: string[]): Record<string, number> {\n\tconst oProperties: Record<string, number> = {};\n\tproperties.forEach((property) => {\n\t\toProperties[property] = parseFloat(window.getComputedStyle(domRef).getPropertyValue(property));\n\t});\n\n\treturn oProperties;\n}\n\n/**\n * Calculates the card width based on the available width and certain constraints.\n *\n * @param {CardLayoutConfig} cardLayoutConfig - Card layout configuration containing container width, no. of cards, min and max width.\n * @returns {number} The calculated card width within specified constraints.\n */\nexport function calculateCardWidth(cardLayoutConfig: CardLayoutConfig): number {\n\tconst gap = cardLayoutConfig.gap;\n\n\tif (calculateDeviceType() === DeviceType.Mobile && !cardLayoutConfig.skipDeviceCheck) {\n\t\tconst peekWidth = 76;\n\t\tif (cardLayoutConfig.totalCards === 1) {\n\t\t\t// Single card: full width, constrained\n\t\t\treturn Math.max(cardLayoutConfig.minWidth, Math.min(cardLayoutConfig.containerWidth, cardLayoutConfig.maxWidth));\n\t\t} else {\n\t\t\t// Calculate width of the first card, reserving space for the peek of the second\n\t\t\tconst mainCardWidth = cardLayoutConfig.containerWidth - peekWidth;\n\t\t\t// Clamp to min/max width\n\t\t\treturn Math.max(cardLayoutConfig.minWidth, Math.min(mainCardWidth, cardLayoutConfig.maxWidth));\n\t\t}\n\t}\n\n\tlet cardCountToUse: number;\n\n\t// Tablet mode: width between 600 and 1023\n\tif (calculateDeviceType() === DeviceType.Tablet && cardLayoutConfig.totalCards > 1 && !cardLayoutConfig.skipDeviceCheck) {\n\t\tconst totalGap = gap; // gap between 2 cards\n\t\tconst twoCardWidth = (cardLayoutConfig.containerWidth - totalGap) / 2;\n\n\t\tif (twoCardWidth >= cardLayoutConfig.minWidth && twoCardWidth <= cardLayoutConfig.maxWidth) {\n\t\t\tcardCountToUse = 2;\n\t\t} else {\n\t\t\tcardCountToUse = 1;\n\t\t}\n\t} else {\n\t\t// Step 1: How many cards *can* fit based on minWidth\n\t\tlet possibleCardCount = 1;\n\t\twhile (cardLayoutConfig.containerWidth / possibleCardCount >= cardLayoutConfig.minWidth + gap) {\n\t\t\tpossibleCardCount++;\n\t\t}\n\t\tpossibleCardCount--; // Last valid value\n\t\t// Step 2: If we have fewer cards than we *can* fit, stretch them\n\t\tcardCountToUse = cardLayoutConfig.skipDeviceCheck\n\t\t\t? Math.min(possibleCardCount, cardLayoutConfig.totalCards)\n\t\t\t: Math.max(Math.min(possibleCardCount, cardLayoutConfig.totalCards), Math.min(cardLayoutConfig.totalCards, 3));\n\t}\n\tif (cardCountToUse <= 0) return cardLayoutConfig.minWidth;\n\tconst totalGap = (cardCountToUse - 1) * gap;\n\tconst cardWidth = (cardLayoutConfig.containerWidth - totalGap) / cardCountToUse;\n\treturn Math.min(Math.max(cardWidth, cardLayoutConfig.minWidth), cardLayoutConfig.maxWidth);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,7 +12,7 @@ sap.ui.define(["sap/ui/performance/trace/FESRHelper"], function (FESRHelper) {
12
12
  return FESR_EVENTS;
13
13
  }(FESR_EVENTS || {});
14
14
  const addFESRId = (control, fesrId) => {
15
- control.data("fesr-id", fesrId);
15
+ control?.data("fesr-id", fesrId);
16
16
  };
17
17
  const getFESRId = control => {
18
18
  return control.data("fesr-id");
@@ -1 +1 @@
1
- {"version":3,"file":"FESRUtil.js","names":["sap","ui","define","FESRHelper","FESR_EVENTS","addFESRId","control","fesrId","data","getFESRId","addFESRSemanticStepName","element","eventName","stepName","setSemanticStepname","__exports","__esModule"],"sources":["FESRUtil.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Control from \"sap/ui/core/Control\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport FESRHelper from \"sap/ui/performance/trace/FESRHelper\";\n\nexport enum FESR_EVENTS {\n\tPRESS = \"press\",\n\tCHANGE = \"change\",\n\tSELECT = \"select\"\n}\n\nexport const addFESRId = (control: Control | UI5Element, fesrId: string) => {\n\tcontrol.data(\"fesr-id\", fesrId);\n};\n\nexport const getFESRId = (control: Control | UI5Element) => {\n\treturn control.data(\"fesr-id\") as string;\n};\n\nexport const addFESRSemanticStepName = (element: UI5Element, eventName: string, stepName: string) => {\n\tif (stepName) {\n\t\tFESRHelper.setSemanticStepname(element, eventName, stepName);\n\t}\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,oDAAAC,UAAA;EAAA;;EAAA,IASYC,WAAW,0BAAXA,WAAW;IAAXA,WAAW;IAAXA,WAAW;IAAXA,WAAW;IAAA,OAAXA,WAAW;EAAA,EAAXA,WAAW;EAMhB,MAAMC,SAAS,GAAGA,CAACC,OAA6B,EAAEC,MAAc,KAAK;IAC3ED,OAAO,CAACE,IAAI,CAAC,SAAS,EAAED,MAAM,CAAC;EAChC,CAAC;EAEM,MAAME,SAAS,GAAIH,OAA6B,IAAK;IAC3D,OAAOA,OAAO,CAACE,IAAI,CAAC,SAAS,CAAC;EAC/B,CAAC;EAEM,MAAME,uBAAuB,GAAGA,CAACC,OAAmB,EAAEC,SAAiB,EAAEC,QAAgB,KAAK;IACpG,IAAIA,QAAQ,EAAE;MACbV,UAAU,CAACW,mBAAmB,CAACH,OAAO,EAAEC,SAAS,EAAEC,QAAQ,CAAC;IAC7D;EACD,CAAC;EAAC,IAAAE,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAX,WAAA,GAAAA,WAAA;EAAAW,SAAA,CAAAV,SAAA,GAAAA,SAAA;EAAAU,SAAA,CAAAN,SAAA,GAAAA,SAAA;EAAAM,SAAA,CAAAL,uBAAA,GAAAA,uBAAA;EAAA,OAAAK,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"FESRUtil.js","names":["sap","ui","define","FESRHelper","FESR_EVENTS","addFESRId","control","fesrId","data","getFESRId","addFESRSemanticStepName","element","eventName","stepName","setSemanticStepname","__exports","__esModule"],"sources":["FESRUtil.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Control from \"sap/ui/core/Control\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport FESRHelper from \"sap/ui/performance/trace/FESRHelper\";\n\nexport enum FESR_EVENTS {\n\tPRESS = \"press\",\n\tCHANGE = \"change\",\n\tSELECT = \"select\"\n}\n\nexport const addFESRId = (control: Control | UI5Element, fesrId: string) => {\n\tcontrol?.data(\"fesr-id\", fesrId);\n};\n\nexport const getFESRId = (control: Control | UI5Element) => {\n\treturn control.data(\"fesr-id\") as string;\n};\n\nexport const addFESRSemanticStepName = (element: UI5Element, eventName: string, stepName: string) => {\n\tif (stepName) {\n\t\tFESRHelper.setSemanticStepname(element, eventName, stepName);\n\t}\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,oDAAAC,UAAA;EAAA;;EAAA,IASYC,WAAW,0BAAXA,WAAW;IAAXA,WAAW;IAAXA,WAAW;IAAXA,WAAW;IAAA,OAAXA,WAAW;EAAA,EAAXA,WAAW;EAMhB,MAAMC,SAAS,GAAGA,CAACC,OAA6B,EAAEC,MAAc,KAAK;IAC3ED,OAAO,EAAEE,IAAI,CAAC,SAAS,EAAED,MAAM,CAAC;EACjC,CAAC;EAEM,MAAME,SAAS,GAAIH,OAA6B,IAAK;IAC3D,OAAOA,OAAO,CAACE,IAAI,CAAC,SAAS,CAAC;EAC/B,CAAC;EAEM,MAAME,uBAAuB,GAAGA,CAACC,OAAmB,EAAEC,SAAiB,EAAEC,QAAgB,KAAK;IACpG,IAAIA,QAAQ,EAAE;MACbV,UAAU,CAACW,mBAAmB,CAACH,OAAO,EAAEC,SAAS,EAAEC,QAAQ,CAAC;IAC7D;EACD,CAAC;EAAC,IAAAE,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAX,WAAA,GAAAA,WAAA;EAAAW,SAAA,CAAAV,SAAA,GAAAA,SAAA;EAAAU,SAAA,CAAAN,SAAA,GAAAA,SAAA;EAAAM,SAAA,CAAAL,uBAAA,GAAAA,uBAAA;EAAA,OAAAK,SAAA;AAAA","ignoreList":[]}
@@ -14,7 +14,7 @@ export enum FESR_EVENTS {
14
14
  }
15
15
 
16
16
  export const addFESRId = (control: Control | UI5Element, fesrId: string) => {
17
- control.data("fesr-id", fesrId);
17
+ control?.data("fesr-id", fesrId);
18
18
  };
19
19
 
20
20
  export const getFESRId = (control: Control | UI5Element) => {
@@ -1,24 +1,31 @@
1
1
  declare module "sap/cux/home/utils/FeatureUtils" {
2
2
  import { Target } from "sap/ushell/services/Navigation";
3
- interface IFeatureToggles {
4
- TASK_ACTIONS: string;
3
+ import { FEATURE_TOGGLES } from "sap/cux/home/utils/Constants";
4
+ interface FeatureToggle {
5
+ key: FEATURE_TOGGLES;
6
+ enabled: boolean;
5
7
  }
8
+ interface FeatureToggleResponse {
9
+ value: {
10
+ ToggleId: FEATURE_TOGGLES;
11
+ State: string;
12
+ }[];
13
+ }
14
+ const featureToggles: Map<FEATURE_TOGGLES, boolean>;
6
15
  /**
7
- * Checks if feature is enabled or not.
16
+ * Utility to check if a feature toggle is enabled.
8
17
  *
9
- * @param {string} sToggleId - feature toggle id
10
- * @returns {boolean} - returns true if feature is enabled.
18
+ * @param key The key of the feature toggle to check.
19
+ * @returns Promise resolving to `true` if the feature toggle is enabled, `false` otherwise.
11
20
  */
12
- const isFeatureEnabled: (sToggleId: string) => Promise<boolean>;
21
+ const isFeatureEnabled: (key: FEATURE_TOGGLES) => Promise<boolean>;
13
22
  /**
14
- * Returns array of all feature toggles
23
+ * Utility to fetch feature toggles from the server.
15
24
  *
16
- * @returns {object[]} - returns array of all feature toggles.
25
+ * @param keys An array of feature toggle keys to fetch.
26
+ * @returns Promise resolving to an array of feature toggles.
17
27
  */
18
- const _getFeatureToggles: () => Promise<{
19
- ToggleId: string;
20
- State: string;
21
- }[]>;
28
+ const getFeatureToggles: (keys: FEATURE_TOGGLES[]) => Promise<FeatureToggle[]>;
22
29
  /**
23
30
  * Utility to check if a navigation target is supported when a feature toggle is enabled.
24
31
  *
@@ -27,6 +34,6 @@ declare module "sap/cux/home/utils/FeatureUtils" {
27
34
  * @param action Action name for the semantic object.
28
35
  * @returns Promise resolving to `true` if navigation is supported and feature is enabled.
29
36
  */
30
- const isNavigationSupportedForFeature: (featureToggle: string, intent: Target) => Promise<boolean>;
37
+ const isNavigationSupportedForFeature: (featureToggle: FEATURE_TOGGLES, intent: Target) => Promise<boolean>;
31
38
  }
32
39
  //# sourceMappingURL=FeatureUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureUtils.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/FeatureUtils.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,iCAAiC,CAAC;IAOjD,OAAmB,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;IAIpE,UAAU,eAAe;QACxB,YAAY,EAAE,MAAM,CAAC;KACrB;IAED;;;;;OAKG;IACI,MAAM,gBAAgB,GAAU,WAAW,MAAM,qBAWvD,CAAC;IAEF;;;;OAIG;IACI,MAAM,kBAAkB;kBASJ,MAAM;eAAS,MAAM;QAM/C,CAAC;IAEF;;;;;;;OAOG;IACI,MAAM,+BAA+B,GAAU,eAAe,MAAM,EAAE,QAAQ,MAAM,KAAG,OAAO,CAAC,OAAO,CAc5G,CAAC;CAED"}
1
+ {"version":3,"file":"FeatureUtils.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/FeatureUtils.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,iCAAiC,CAAC;IAOjD,OAAmB,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;IACpE,OAAO,EAA2B,eAAe,EAAE,MAAM,8BAA8B,CAAC;IAGxF,UAAU,aAAa;QACtB,GAAG,EAAE,eAAe,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;KACjB;IAED,UAAU,qBAAqB;QAC9B,KAAK,EAAE;YACN,QAAQ,EAAE,eAAe,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC;SACd,EAAE,CAAC;KACJ;IAED,MAAM,cAAc,+BAAsC,CAAC;IAE3D;;;;;OAKG;IACI,MAAM,gBAAgB,GAAU,KAAK,eAAe,KAAG,OAAO,CAAC,OAAO,CAc5E,CAAC;IAEF;;;;;OAKG;IACH,MAAM,iBAAiB,GAAU,MAAM,eAAe,EAAE,KAAG,OAAO,CAAC,aAAa,EAAE,CAQjF,CAAC;IAEF;;;;;;;OAOG;IACI,MAAM,+BAA+B,GAAU,eAAe,eAAe,EAAE,QAAQ,MAAM,KAAG,OAAO,CAAC,OAAO,CAcrH,CAAC;CAED"}
@@ -22,49 +22,56 @@ sap.ui.define(["sap/base/Log", "sap/ushell/Container", "./Constants", "./HttpHel
22
22
  const FEATURE_TOGGLE_SRVC_URL = ___Constants["FEATURE_TOGGLE_SRVC_URL"];
23
23
  const FEATURE_TOGGLES = ___Constants["FEATURE_TOGGLES"];
24
24
  const HttpHelper = _interopRequireDefault(__HttpHelper);
25
+ ;
26
+ ;
27
+ const featureToggles = new Map();
28
+
25
29
  /**
26
- * Checks if feature is enabled or not.
30
+ * Utility to check if a feature toggle is enabled.
27
31
  *
28
- * @param {string} sToggleId - feature toggle id
29
- * @returns {boolean} - returns true if feature is enabled.
32
+ * @param key The key of the feature toggle to check.
33
+ * @returns Promise resolving to `true` if the feature toggle is enabled, `false` otherwise.
30
34
  */
31
- const isFeatureEnabled = function (sToggleId) {
35
+ const isFeatureEnabled = function (key) {
32
36
  try {
33
- return Promise.resolve(_catch(function () {
34
- return Promise.resolve(_getFeatureToggles()).then(function (aFeatureToggles) {
35
- const oToggle = aFeatureToggles.find(oFeatureToggle => {
36
- return oFeatureToggle.ToggleId === sToggleId;
37
- });
38
- return !oToggle || oToggle.State === "" ? false : true;
37
+ function _temp2() {
38
+ return featureToggles.get(key) || false;
39
+ }
40
+ if (featureToggles.has(key)) {
41
+ return Promise.resolve(featureToggles.get(key));
42
+ }
43
+ const _temp = _catch(function () {
44
+ const unavailableToggles = Object.values(FEATURE_TOGGLES).filter(toggle => !featureToggles.has(toggle));
45
+ return Promise.resolve(getFeatureToggles(unavailableToggles)).then(function (_getFeatureToggles) {
46
+ _getFeatureToggles.forEach(toggle => featureToggles.set(toggle.key, toggle.enabled));
39
47
  });
40
48
  }, function (error) {
41
- Log.error("Unable to load feature toggles: " + error.message);
42
- return false;
43
- }));
49
+ Log.error("Error fetching feature toggles", error.message);
50
+ featureToggles.set(key, false);
51
+ });
52
+ return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
44
53
  } catch (e) {
45
54
  return Promise.reject(e);
46
55
  }
47
56
  };
48
57
 
49
58
  /**
50
- * Returns array of all feature toggles
59
+ * Utility to fetch feature toggles from the server.
51
60
  *
52
- * @returns {object[]} - returns array of all feature toggles.
61
+ * @param keys An array of feature toggle keys to fetch.
62
+ * @returns Promise resolving to an array of feature toggles.
53
63
  */
54
- const _getFeatureToggles = function () {
64
+ const getFeatureToggles = function (keys) {
55
65
  try {
56
- let sFeatureToggleUrl = FEATURE_TOGGLE_SRVC_URL + "?$filter=";
57
- const FEATURE_TOGGLE_KEYS = Object.keys(FEATURE_TOGGLES);
58
- const toggleFilter = FEATURE_TOGGLE_KEYS.map(sToggleKey => {
59
- return "ToggleId eq '" + FEATURE_TOGGLES[sToggleKey] + "'";
60
- }).join(" or ");
61
- sFeatureToggleUrl = sFeatureToggleUrl + "(" + toggleFilter + ")";
62
- return Promise.resolve(HttpHelper.GetJSON(sFeatureToggleUrl)).then(function (_HttpHelper$GetJSON) {
63
- const oResponse = _HttpHelper$GetJSON;
64
- if (oResponse?.error) {
65
- throw new Error(oResponse.error.message);
66
- }
67
- return oResponse?.value || [];
66
+ const filterExpression = `?$filter=(ToggleId eq '${keys.join("' or ToggleId eq '")}')`;
67
+ return Promise.resolve(HttpHelper.GetJSON(FEATURE_TOGGLE_SRVC_URL + filterExpression)).then(function (_HttpHelper$GetJSON) {
68
+ const {
69
+ value = []
70
+ } = _HttpHelper$GetJSON;
71
+ return keys.map(key => ({
72
+ key,
73
+ enabled: value.some(toggle => toggle.ToggleId === key && toggle.State.toUpperCase() === "X")
74
+ }));
68
75
  });
69
76
  } catch (e) {
70
77
  return Promise.reject(e);
@@ -84,10 +91,9 @@ sap.ui.define(["sap/base/Log", "sap/ushell/Container", "./Constants", "./HttpHel
84
91
  return Promise.resolve(_catch(function () {
85
92
  return Promise.resolve(isFeatureEnabled(featureToggle)).then(function (isFeatureToggleEnabled) {
86
93
  return isFeatureToggleEnabled ? Promise.resolve(Container.getServiceAsync("Navigation")).then(function (navigationService) {
87
- return Promise.resolve(navigationService.isNavigationSupported([intent])).then(function (_ref) {
88
- let [{
89
- supported
90
- }] = _ref;
94
+ return Promise.resolve(navigationService.isNavigationSupported([intent])).then(function ([{
95
+ supported
96
+ }]) {
91
97
  return supported || false;
92
98
  });
93
99
  }) : false;
@@ -104,7 +110,6 @@ sap.ui.define(["sap/base/Log", "sap/ushell/Container", "./Constants", "./HttpHel
104
110
  __esModule: true
105
111
  };
106
112
  __exports.isFeatureEnabled = isFeatureEnabled;
107
- __exports._getFeatureToggles = _getFeatureToggles;
108
113
  __exports.isNavigationSupportedForFeature = isNavigationSupportedForFeature;
109
114
  return __exports;
110
115
  });
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureUtils.js","names":["sap","ui","define","Log","Container","___Constants","__HttpHelper","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","FEATURE_TOGGLE_SRVC_URL","FEATURE_TOGGLES","HttpHelper","isFeatureEnabled","sToggleId","Promise","resolve","_getFeatureToggles","aFeatureToggles","oToggle","find","oFeatureToggle","ToggleId","State","error","message","reject","sFeatureToggleUrl","FEATURE_TOGGLE_KEYS","Object","keys","toggleFilter","map","sToggleKey","join","GetJSON","_HttpHelper$GetJSON","oResponse","Error","value","isNavigationSupportedForFeature","featureToggle","intent","isFeatureToggleEnabled","getServiceAsync","navigationService","isNavigationSupported","_ref","supported","warning","String","__exports"],"sources":["FeatureUtils.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\nimport Log from \"sap/base/Log\";\nimport Container from \"sap/ushell/Container\";\nimport Navigation, { Target } from \"sap/ushell/services/Navigation\";\nimport { FEATURE_TOGGLE_SRVC_URL, FEATURE_TOGGLES } from \"./Constants\";\nimport HttpHelper from \"./HttpHelper\";\n\ninterface IFeatureToggles {\n\tTASK_ACTIONS: string;\n}\n\n/**\n * Checks if feature is enabled or not.\n *\n * @param {string} sToggleId - feature toggle id\n * @returns {boolean} - returns true if feature is enabled.\n */\nexport const isFeatureEnabled = async (sToggleId: string) => {\n\ttry {\n\t\tconst aFeatureToggles = await _getFeatureToggles();\n\t\tconst oToggle = aFeatureToggles.find((oFeatureToggle) => {\n\t\t\treturn oFeatureToggle.ToggleId === sToggleId;\n\t\t});\n\t\treturn !oToggle || oToggle.State === \"\" ? false : true;\n\t} catch (error) {\n\t\tLog.error(\"Unable to load feature toggles: \" + (error as Error).message);\n\t\treturn false;\n\t}\n};\n\n/**\n * Returns array of all feature toggles\n *\n * @returns {object[]} - returns array of all feature toggles.\n */\nexport const _getFeatureToggles = async () => {\n\tlet sFeatureToggleUrl = FEATURE_TOGGLE_SRVC_URL + \"?$filter=\";\n\tconst FEATURE_TOGGLE_KEYS = Object.keys(FEATURE_TOGGLES);\n\tconst toggleFilter = FEATURE_TOGGLE_KEYS.map((sToggleKey) => {\n\t\treturn \"ToggleId eq '\" + FEATURE_TOGGLES[sToggleKey as keyof IFeatureToggles] + \"'\";\n\t}).join(\" or \");\n\tsFeatureToggleUrl = sFeatureToggleUrl + \"(\" + toggleFilter + \")\";\n\tconst oResponse = (await HttpHelper.GetJSON(sFeatureToggleUrl)) as {\n\t\terror: { message: string };\n\t\tvalue: Array<{ ToggleId: string; State: string }>;\n\t};\n\tif (oResponse?.error) {\n\t\tthrow new Error(oResponse.error.message);\n\t}\n\treturn oResponse?.value || [];\n};\n\n/**\n * Utility to check if a navigation target is supported when a feature toggle is enabled.\n *\n * @param featureToggleCheck A promise that resolves to true if the feature is enabled.\n * @param semanticObject Semantic object to be checked for navigation support.\n * @param action Action name for the semantic object.\n * @returns Promise resolving to `true` if navigation is supported and feature is enabled.\n */\nexport const isNavigationSupportedForFeature = async (featureToggle: string, intent: Target): Promise<boolean> => {\n\ttry {\n\t\tconst isFeatureToggleEnabled = await isFeatureEnabled(featureToggle);\n\t\tif (!isFeatureToggleEnabled) {\n\t\t\treturn false;\n\t\t}\n\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\tconst [{ supported }] = await navigationService.isNavigationSupported([intent]);\n\n\t\treturn supported || false;\n\t} catch (error) {\n\t\tLog.warning(error instanceof Error ? error.message : String(error));\n\t\treturn false;\n\t}\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FeatureUtils.js","names":["sap","ui","define","Log","Container","___Constants","__HttpHelper","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","FEATURE_TOGGLE_SRVC_URL","FEATURE_TOGGLES","HttpHelper","featureToggles","Map","isFeatureEnabled","key","_temp2","get","has","Promise","resolve","_temp","unavailableToggles","Object","values","filter","toggle","getFeatureToggles","_getFeatureToggles","forEach","set","enabled","error","message","reject","keys","filterExpression","join","GetJSON","_HttpHelper$GetJSON","value","map","some","ToggleId","State","toUpperCase","isNavigationSupportedForFeature","featureToggle","intent","isFeatureToggleEnabled","getServiceAsync","navigationService","isNavigationSupported","supported","warning","Error","String","__exports"],"sources":["FeatureUtils.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\nimport Log from \"sap/base/Log\";\nimport Container from \"sap/ushell/Container\";\nimport Navigation, { Target } from \"sap/ushell/services/Navigation\";\nimport { FEATURE_TOGGLE_SRVC_URL, FEATURE_TOGGLES } from \"./Constants\";\nimport HttpHelper from \"./HttpHelper\";\n\ninterface FeatureToggle {\n\tkey: FEATURE_TOGGLES;\n\tenabled: boolean;\n};\n\ninterface FeatureToggleResponse {\n\tvalue: {\n\t\tToggleId: FEATURE_TOGGLES;\n\t\tState: string;\n\t}[];\n};\n\nconst featureToggles = new Map<FEATURE_TOGGLES, boolean>();\n\n/**\n * Utility to check if a feature toggle is enabled.\n *\n * @param key The key of the feature toggle to check.\n * @returns Promise resolving to `true` if the feature toggle is enabled, `false` otherwise.\n */\nexport const isFeatureEnabled = async (key: FEATURE_TOGGLES): Promise<boolean> => {\n\tif (featureToggles.has(key)) {\n\t\treturn featureToggles.get(key)!;\n\t}\n\n\ttry {\n\t\tconst unavailableToggles = Object.values(FEATURE_TOGGLES).filter((toggle) => !featureToggles.has(toggle));\n\t\t(await getFeatureToggles(unavailableToggles)).forEach((toggle) => featureToggles.set(toggle.key, toggle.enabled));\n\t} catch (error) {\n\t\tLog.error(\"Error fetching feature toggles\", (error as Error).message);\n\t\tfeatureToggles.set(key, false);\n\t}\n\n\treturn featureToggles.get(key) || false;\n};\n\n/**\n * Utility to fetch feature toggles from the server.\n *\n * @param keys An array of feature toggle keys to fetch.\n * @returns Promise resolving to an array of feature toggles.\n */\nconst getFeatureToggles = async (keys: FEATURE_TOGGLES[]): Promise<FeatureToggle[]> => {\n\tconst filterExpression = `?$filter=(ToggleId eq '${keys.join(\"' or ToggleId eq '\")}')`;\n\tconst { value = [] } = await HttpHelper.GetJSON(FEATURE_TOGGLE_SRVC_URL + filterExpression) as FeatureToggleResponse;\n\n\treturn keys.map((key) => ({\n\t\tkey,\n\t\tenabled: value.some((toggle) => toggle.ToggleId === key && toggle.State.toUpperCase() === \"X\")\n\t}));\n};\n\n/**\n * Utility to check if a navigation target is supported when a feature toggle is enabled.\n *\n * @param featureToggleCheck A promise that resolves to true if the feature is enabled.\n * @param semanticObject Semantic object to be checked for navigation support.\n * @param action Action name for the semantic object.\n * @returns Promise resolving to `true` if navigation is supported and feature is enabled.\n */\nexport const isNavigationSupportedForFeature = async (featureToggle: FEATURE_TOGGLES, intent: Target): Promise<boolean> => {\n\ttry {\n\t\tconst isFeatureToggleEnabled = await isFeatureEnabled(featureToggle);\n\t\tif (!isFeatureToggleEnabled) {\n\t\t\treturn false;\n\t\t}\n\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\tconst [{ supported }] = await navigationService.isNavigationSupported([intent]);\n\n\t\treturn supported || false;\n\t} catch (error) {\n\t\tLog.warning(error instanceof Error ? error.message : String(error));\n\t\treturn false;\n\t}\n};\n"],"mappings":"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","ignoreList":[]}