@sapui5/sap.cux.home 1.138.0 → 1.139.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/.library +1 -1
  3. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  4. package/src/sap/cux/home/AppsAdditionPanel.js +17 -10
  5. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  6. package/src/sap/cux/home/AppsAdditionPanel.ts +19 -12
  7. package/src/sap/cux/home/AppsContainer.d.ts +0 -1
  8. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  9. package/src/sap/cux/home/AppsContainer.js +3 -6
  10. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  11. package/src/sap/cux/home/AppsContainer.ts +2 -6
  12. package/src/sap/cux/home/BaseAppPanel.js +1 -1
  13. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  14. package/src/sap/cux/home/BaseAppPanel.ts +1 -1
  15. package/src/sap/cux/home/BaseContainer.js +1 -1
  16. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  17. package/src/sap/cux/home/BaseContainer.ts +1 -1
  18. package/src/sap/cux/home/BaseContainerRenderer.d.ts +4 -4
  19. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  20. package/src/sap/cux/home/BaseContainerRenderer.js +17 -19
  21. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  22. package/src/sap/cux/home/BaseContainerRenderer.ts +21 -25
  23. package/src/sap/cux/home/BaseSettingsPanel.d.ts +1 -1
  24. package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
  25. package/src/sap/cux/home/BaseSettingsPanel.js +2 -1
  26. package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
  27. package/src/sap/cux/home/BaseSettingsPanel.ts +4 -2
  28. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  29. package/src/sap/cux/home/CardsPanel.js +2 -2
  30. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  31. package/src/sap/cux/home/CardsPanel.ts +2 -5
  32. package/src/sap/cux/home/ContentAdditionDialog.js +1 -1
  33. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  34. package/src/sap/cux/home/ContentAdditionDialog.ts +1 -1
  35. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  36. package/src/sap/cux/home/InsightsAdditionPanel.js +4 -7
  37. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  38. package/src/sap/cux/home/InsightsAdditionPanel.ts +4 -8
  39. package/src/sap/cux/home/InsightsContainer.d.ts +0 -1
  40. package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
  41. package/src/sap/cux/home/InsightsContainer.js +4 -4
  42. package/src/sap/cux/home/InsightsContainer.js.map +1 -1
  43. package/src/sap/cux/home/InsightsContainer.ts +11 -5
  44. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
  45. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +5 -3
  46. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  47. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +4 -2
  48. package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts +11 -5
  49. package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
  50. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +160 -82
  51. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
  52. package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +164 -82
  53. package/src/sap/cux/home/Layout.d.ts +0 -1
  54. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  55. package/src/sap/cux/home/Layout.js +0 -1
  56. package/src/sap/cux/home/Layout.js.map +1 -1
  57. package/src/sap/cux/home/Layout.ts +0 -2
  58. package/src/sap/cux/home/NewsAndPagesContainer.d.ts +22 -1
  59. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
  60. package/src/sap/cux/home/NewsAndPagesContainer.js +47 -19
  61. package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
  62. package/src/sap/cux/home/NewsAndPagesContainer.ts +52 -19
  63. package/src/sap/cux/home/NewsGroup.d.ts.map +1 -1
  64. package/src/sap/cux/home/NewsGroup.js +11 -6
  65. package/src/sap/cux/home/NewsGroup.js.map +1 -1
  66. package/src/sap/cux/home/NewsGroup.ts +11 -8
  67. package/src/sap/cux/home/NewsPanel.d.ts +34 -5
  68. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  69. package/src/sap/cux/home/NewsPanel.gen.d.ts +0 -91
  70. package/src/sap/cux/home/NewsPanel.js +279 -198
  71. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  72. package/src/sap/cux/home/NewsPanel.ts +165 -99
  73. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  74. package/src/sap/cux/home/NewsSettingsPanel.js +10 -6
  75. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  76. package/src/sap/cux/home/NewsSettingsPanel.ts +12 -6
  77. package/src/sap/cux/home/NoDataContainer.d.ts +0 -1
  78. package/src/sap/cux/home/NoDataContainer.d.ts.map +1 -1
  79. package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
  80. package/src/sap/cux/home/SpaceInsightsPanel.js +4 -1
  81. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
  82. package/src/sap/cux/home/SpaceInsightsPanel.ts +4 -1
  83. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  84. package/src/sap/cux/home/TaskPanel.js +2 -9
  85. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  86. package/src/sap/cux/home/TaskPanel.ts +3 -9
  87. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  88. package/src/sap/cux/home/TilesPanel.js +4 -4
  89. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  90. package/src/sap/cux/home/TilesPanel.ts +4 -10
  91. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  92. package/src/sap/cux/home/ToDoPanel.js +2 -17
  93. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  94. package/src/sap/cux/home/ToDoPanel.ts +2 -18
  95. package/src/sap/cux/home/ToDosContainer.d.ts +0 -1
  96. package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
  97. package/src/sap/cux/home/ToDosContainer.js +2 -2
  98. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  99. package/src/sap/cux/home/ToDosContainer.ts +1 -1
  100. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
  101. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +1 -0
  102. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
  103. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +1 -0
  104. package/src/sap/cux/home/i18n/messagebundle.properties +17 -5
  105. package/src/sap/cux/home/i18n/messagebundle_ar.properties +5 -5
  106. package/src/sap/cux/home/i18n/messagebundle_bg.properties +5 -5
  107. package/src/sap/cux/home/i18n/messagebundle_ca.properties +5 -5
  108. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +5 -5
  109. package/src/sap/cux/home/i18n/messagebundle_cs.properties +5 -5
  110. package/src/sap/cux/home/i18n/messagebundle_cy.properties +5 -5
  111. package/src/sap/cux/home/i18n/messagebundle_da.properties +5 -5
  112. package/src/sap/cux/home/i18n/messagebundle_de.properties +15 -15
  113. package/src/sap/cux/home/i18n/messagebundle_el.properties +5 -5
  114. package/src/sap/cux/home/i18n/messagebundle_en.properties +5 -5
  115. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +5 -5
  116. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +12 -6
  117. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +12 -6
  118. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +5 -5
  119. package/src/sap/cux/home/i18n/messagebundle_es.properties +5 -5
  120. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +5 -5
  121. package/src/sap/cux/home/i18n/messagebundle_et.properties +5 -5
  122. package/src/sap/cux/home/i18n/messagebundle_fi.properties +5 -5
  123. package/src/sap/cux/home/i18n/messagebundle_fr.properties +5 -5
  124. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +5 -5
  125. package/src/sap/cux/home/i18n/messagebundle_hi.properties +5 -5
  126. package/src/sap/cux/home/i18n/messagebundle_hr.properties +5 -5
  127. package/src/sap/cux/home/i18n/messagebundle_hu.properties +5 -5
  128. package/src/sap/cux/home/i18n/messagebundle_id.properties +6 -6
  129. package/src/sap/cux/home/i18n/messagebundle_it.properties +5 -5
  130. package/src/sap/cux/home/i18n/messagebundle_iw.properties +5 -5
  131. package/src/sap/cux/home/i18n/messagebundle_ja.properties +9 -9
  132. package/src/sap/cux/home/i18n/messagebundle_kk.properties +5 -5
  133. package/src/sap/cux/home/i18n/messagebundle_ko.properties +5 -5
  134. package/src/sap/cux/home/i18n/messagebundle_lt.properties +5 -5
  135. package/src/sap/cux/home/i18n/messagebundle_lv.properties +5 -5
  136. package/src/sap/cux/home/i18n/messagebundle_mk.properties +5 -5
  137. package/src/sap/cux/home/i18n/messagebundle_ms.properties +5 -5
  138. package/src/sap/cux/home/i18n/messagebundle_nl.properties +5 -5
  139. package/src/sap/cux/home/i18n/messagebundle_no.properties +5 -5
  140. package/src/sap/cux/home/i18n/messagebundle_pl.properties +5 -5
  141. package/src/sap/cux/home/i18n/messagebundle_pt.properties +5 -5
  142. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +5 -5
  143. package/src/sap/cux/home/i18n/messagebundle_ro.properties +5 -5
  144. package/src/sap/cux/home/i18n/messagebundle_ru.properties +5 -5
  145. package/src/sap/cux/home/i18n/messagebundle_sh.properties +5 -5
  146. package/src/sap/cux/home/i18n/messagebundle_sk.properties +6 -6
  147. package/src/sap/cux/home/i18n/messagebundle_sl.properties +5 -5
  148. package/src/sap/cux/home/i18n/messagebundle_sr.properties +5 -5
  149. package/src/sap/cux/home/i18n/messagebundle_sv.properties +5 -5
  150. package/src/sap/cux/home/i18n/messagebundle_th.properties +7 -7
  151. package/src/sap/cux/home/i18n/messagebundle_tr.properties +5 -5
  152. package/src/sap/cux/home/i18n/messagebundle_uk.properties +6 -6
  153. package/src/sap/cux/home/i18n/messagebundle_vi.properties +5 -5
  154. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +5 -5
  155. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +5 -5
  156. package/src/sap/cux/home/interface/CardsInterface.d.ts +1 -5
  157. package/src/sap/cux/home/interface/CardsInterface.d.ts.map +1 -1
  158. package/src/sap/cux/home/interface/CardsInterface.js.map +1 -1
  159. package/src/sap/cux/home/interface/CardsInterface.ts +1 -1
  160. package/src/sap/cux/home/interface/KeyUserInterface.d.ts +2 -0
  161. package/src/sap/cux/home/interface/KeyUserInterface.d.ts.map +1 -1
  162. package/src/sap/cux/home/interface/KeyUserInterface.js.map +1 -1
  163. package/src/sap/cux/home/interface/KeyUserInterface.ts +2 -0
  164. package/src/sap/cux/home/library.d.ts +16 -9
  165. package/src/sap/cux/home/library.d.ts.map +1 -1
  166. package/src/sap/cux/home/library.js +16 -9
  167. package/src/sap/cux/home/library.js.map +1 -1
  168. package/src/sap/cux/home/library.ts +17 -9
  169. package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +0 -8
  170. package/src/sap/cux/home/themes/base/NewsAndPagesContainer.less +4 -0
  171. package/src/sap/cux/home/themes/base/ToDosContainer.less +2 -1
  172. package/src/sap/cux/home/utils/CommonUtils.d.ts +1 -1
  173. package/src/sap/cux/home/utils/CommonUtils.d.ts.map +1 -1
  174. package/src/sap/cux/home/utils/CommonUtils.js.map +1 -1
  175. package/src/sap/cux/home/utils/CommonUtils.ts +5 -2
  176. package/src/sap/cux/home/utils/FeatureUtils.js +0 -2
  177. package/src/sap/cux/home/utils/FeatureUtils.js.map +1 -1
  178. package/src/sap/cux/home/utils/FeatureUtils.ts +3 -3
  179. package/src/sap/cux/home/utils/HttpHelper.js.map +1 -1
  180. package/src/sap/cux/home/utils/HttpHelper.ts +1 -1
  181. package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts.map +1 -1
  182. package/src/sap/cux/home/utils/KeyUserPersonalization.js +0 -1
  183. package/src/sap/cux/home/utils/KeyUserPersonalization.js.map +1 -1
  184. package/src/sap/cux/home/utils/KeyUserPersonalization.ts +0 -1
  185. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +9 -4
  186. package/src/sap/cux/home/{AppsContainerGenericPlaceholder.d.ts → utils/placeholder/AppsPlaceholder.d.ts} +2 -2
  187. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.d.ts.map +1 -0
  188. package/src/sap/cux/home/{AppsContainerGenericPlaceholder.js → utils/placeholder/AppsPlaceholder.js} +1 -1
  189. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.js.map +1 -0
  190. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts +8 -0
  191. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts.map +1 -0
  192. package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.js → utils/placeholder/InsightsPlaceholder.js} +1 -1
  193. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.js.map +1 -0
  194. package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.d.ts → utils/placeholder/NewsAndPagesPlaceholder.d.ts} +3 -3
  195. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts.map +1 -0
  196. package/src/sap/cux/home/{NewsAndPagesContainerGenericPlaceholder.js → utils/placeholder/NewsAndPagesPlaceholder.js} +1 -1
  197. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.js.map +1 -0
  198. package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.d.ts → utils/placeholder/ToDosPlaceholder.d.ts} +2 -2
  199. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.d.ts.map +1 -0
  200. package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.js → utils/placeholder/ToDosPlaceholder.js} +1 -1
  201. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.js.map +1 -0
  202. package/src/sap/cux/home/AppsContainerGenericPlaceholder.d.ts.map +0 -1
  203. package/src/sap/cux/home/AppsContainerGenericPlaceholder.js.map +0 -1
  204. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.d.ts.map +0 -1
  205. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.js.map +0 -1
  206. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts +0 -8
  207. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts.map +0 -1
  208. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.js.map +0 -1
  209. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.d.ts.map +0 -1
  210. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.js.map +0 -1
  211. /package/src/sap/cux/home/{AppsContainerGenericPlaceholder.ts → utils/placeholder/AppsPlaceholder.ts} +0 -0
  212. /package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.ts → utils/placeholder/InsightsPlaceholder.ts} +0 -0
  213. /package/src/sap/cux/home/{NewsAndPagesContainerGenericPlaceholder.ts → utils/placeholder/NewsAndPagesPlaceholder.ts} +0 -0
  214. /package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.ts → utils/placeholder/ToDosPlaceholder.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.js","names":["sap","ui","define","Log","Element","S4MyHome","Container","__AdvancedSettingsPanel","__BaseLayout","__BaseLayoutRenderer","__ContentAdditionDialog","__InsightsCardsSettingsPanel","__InsightsTilesSettingsPanel","__KeyUserLayoutSettingsPanel","__KeyUserNewsPagesSettingsPanel","__KeyUserSettingsDialog","__LayoutSettingsPanel","__NewsAndPagesContainer","__NewsSettingsPanel","__NoDataContainer","__PagePanel","__PageSettingsPanel","__SettingsDialog","__ToDosContainer","___utils_Constants","___utils_DataFormatUtils","__KeyUserPersonalization","___utils_PerformanceUtils","__PersonalisationUtils","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","AdvancedSettingsPanel","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","BaseLayout","_catch","recover","BaseLayoutRenderer","ContentAdditionDialog","InsightsCardsSettingsPanel","InsightsTilesSettingsPanel","KeyUserLayoutSettingsPanel","KeyUserNewsPagesSettingsPanel","KeyUserSettingsDialog","LayoutSettingsPanel","NewsAndPagesContainer","NewsSettingsPanel","NoDataContainer","PagePanel","PageSettingsPanel","SettingsDialog","ToDosContainer","SETTINGS_PANELS_KEYS","recycleId","KeyUserPersonalization","setupPerformanceTracking","PersonalisationUtils","Layout","extend","renderer","metadata","designtime","constructor","_constructor","id","settings","BaseLayout.prototype.constructor.call","_shellUserActions","_isDefaultSettingsDialog","_customNoDataContainerPresent","init","_init","BaseLayout.prototype.init.call","setProperty","_keyUserPersonalization","getOwnerComponent","_i18nBundle","_addUserActions","Promise","resolve","_temp3","getVisible","_userActionsAdded","userActions","getId","icon","text","getText","tooltip","press","openSettingsDialog","getRTAUserAction","rtaUserAction","getServiceAsync","extensionService","_temp2","toggleUserActions","event","show","getParameter","forEach","userAction","showOnHome","hideOnHome","attachRouteMatched","_temp","action","createUserAction","controlType","shellUserAction","error","warning","Error","message","_openSettingsDialog","selectedKey","context","_this2","settingsDialog","getAggregation","getPanels","_getSettingsPanels","_addPanelsToSettingsDialog","_calculateSectionsState","BaseLayout.prototype.openSettingsDialog.call","closeSettingsDialog","_closeSettingsDialog","close","onBeforeRendering","_onBeforeRendering","_this3","BaseLayout.prototype.onBeforeRendering.call","_setupSettingsDialog","_setupContentAdditionDialog","persContainerId","getProperty","setPersContainerId","getNoDataContainer","_aOrderedSections","setTimeout","_prepareLayoutData","_setupKeyUserSettingsDialog","allPanels","getItems","container","setAssociation","getContent","panel","panelEnableSettings","undefined","enableSettings","defaultSettingsDialog","_getDefaultSettingsDialog","setSettingsDialog","settingsPanel","_getDefaultSettingsPanel","addPanel","sortedPanels","_sortPanels","removeAllPanels","insertPanel","_getLayoutSettingsPanel","_getAdvancedSettingsPanel","panelClassName","getMetadata","getName","_addSettingsPanel","panels","Object","keys","map","key","find","filter","Boolean","_advancedSettingsPanel","_layoutSettingsPanel","_getNoDataContainer","_noDataContainer","item","setVisible","hasVisibleSection","isLayoutExpanded","aOrderedElements","element","getElementById","completeId","aElements","aElementMap","sId","title","getTooltip","elementVisible","elementCustomSettings","getCustomSettings","sContainerType","blocked","visible","setNoDataContainerVisibility","_setNoDataContainerVisibility","contentVisible","noDataContainer","insertItem","removeItem","_this4","aSettingsPanel","_isCustomNews","oSettingsPanel","resetImportModel","setSectionDetails","_setSectionDetails","_this5","elementArray","_temp7","_temp6","oElementItem","bBlocked","_temp5","_temp4","_this5$checkPagesBloc","aNewsAndPagesPanel","_aNewsAndPagesPanel$l","checkPagesBlocked","checkToDoBlocked","_checkPagesBlocked","_this6","_temp0","_pagesAvailable","_temp9","oPanel","_temp8","getUserAvailablePages","aPages","_checkToDoBlocked","toDoContainer","_toDoAccessible","keyUserSettingsDialog","defaultKeyUserSettingsDialog","keyUserLayoutSettingsPanel","keyUserNewsPagesSettingsPanel","setAggregation","getpagesAvailable","_getpagesAvailable","isToDoAccessible","_isToDoAccessible","customNewAvailable","_customNewAvailable","getSections","_getSections","setSections","_setSections","sections","resetSections","_resetSections","contentAdditionDialog"],"sources":["Layout.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport { Event } from \"jquery\";\nimport Log from \"sap/base/Log\";\nimport UI5Event from \"sap/ui/base/Event\";\nimport Element, { MetadataOptions } from \"sap/ui/core/Element\";\nimport S4MyHome from \"sap/ushell/api/S4MyHome\";\nimport Container from \"sap/ushell/Container\";\nimport Extension from \"sap/ushell/services/Extension\";\nimport Item from \"sap/ushell/services/Extension/Item\";\nimport AdvancedSettingsPanel from \"./AdvancedSettingsPanel\";\nimport BaseContainer from \"./BaseContainer\";\nimport type { $BaseLayoutSettings } from \"./BaseLayout\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseLayoutRenderer from \"./BaseLayoutRenderer\";\nimport BasePanel from \"./BasePanel\";\nimport BaseSettingsDialog from \"./BaseSettingsDialog\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport ContentAdditionDialog from \"./ContentAdditionDialog\";\nimport InsightsCardsSettingsPanel from \"./InsightsCardsSettingsPanel\";\nimport InsightsTilesSettingsPanel from \"./InsightsTilesSettingsPanel\";\nimport KeyUserLayoutSettingsPanel from \"./KeyUserLayoutSettingsPanel\";\nimport KeyUserNewsPagesSettingsPanel from \"./KeyUserNewsPagesSettingsPanel\";\nimport KeyUserSettingsDialog from \"./KeyUserSettingsDialog\";\nimport LayoutSettingsPanel from \"./LayoutSettingsPanel\";\nimport NewsAndPagesContainer from \"./NewsAndPagesContainer\";\nimport NewsSettingsPanel from \"./NewsSettingsPanel\";\nimport NoDataContainer from \"./NoDataContainer\";\nimport PagePanel from \"./PagePanel\";\nimport PageSettingsPanel from \"./PageSettingsPanel\";\nimport SettingsDialog from \"./SettingsDialog\";\nimport ToDosContainer from \"./ToDosContainer\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport KeyUserPersonalization from \"./utils/KeyUserPersonalization\";\nimport { setupPerformanceTracking } from \"./utils/PerformanceUtils\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\n\ninterface IElement {\n\tcompleteId: string;\n\tsContainerType: string;\n\tblocked: boolean;\n\tvisible: boolean;\n\ttitle: string;\n\ttext: string;\n}\n\nexport interface UserActionProperties {\n\tid: string;\n\ticon: string;\n\ttext: string;\n\ttooltip: string;\n\tpress: () => void;\n}\n\n/**\n *\n * Layout class for the My Home layout.\n *\n * @extends BaseLayout\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @public\n *\n * @alias sap.cux.home.Layout\n */\nexport default class Layout extends BaseLayout {\n\tprivate _layoutSettingsPanel!: LayoutSettingsPanel;\n\tprivate _advancedSettingsPanel!: AdvancedSettingsPanel;\n\tprivate _isCustomNews!: boolean;\n\tprivate _pagesAvailable!: boolean;\n\tprivate _toDoAccessible!: boolean;\n\tprivate _aOrderedSections!: IElement[] | undefined;\n\tprivate _noDataContainer!: NoDataContainer;\n\tprivate _shellUserActions: Item[] = [];\n\tprivate _userActionsAdded!: boolean;\n\tprivate _keyUserPersonalization!: KeyUserPersonalization;\n\tprivate _isDefaultSettingsDialog: boolean = false;\n\tprivate _customNoDataContainerPresent: boolean = true;\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tdesigntime: \"sap/cux/home/designtime/Layout.designtime\"\n\t};\n\tstatic renderer: typeof BaseLayoutRenderer = BaseLayoutRenderer;\n\n\t/**\n\t * Constructor for a new layout.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BaseLayoutSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @async\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\n\t\t//setup layout\n\t\tthis.setProperty(\"enableSettings\", true);\n\t\tthis.setProperty(\"enableFullScreen\", true);\n\n\t\t// Setup KeyUserPersonalization\n\t\tthis._keyUserPersonalization = new KeyUserPersonalization(PersonalisationUtils.getOwnerComponent(this), this._i18nBundle);\n\t}\n\n\t/**\n\t * Adds all user actions to the Fiori launchpad.\n\t *\n\t * @private\n\t */\n\tprivate async _addUserActions() {\n\t\ttry {\n\t\t\tif (this.getVisible() && !this._userActionsAdded) {\n\t\t\t\tthis._userActionsAdded = true;\n\n\t\t\t\t// Configure User Actions\n\t\t\t\tconst userActions: UserActionProperties[] = [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: `${this.getId()}-homeSettingsBtn`,\n\t\t\t\t\t\ticon: \"sap-icon://edit\",\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"myHomeSettings\") as string,\n\t\t\t\t\t\ttooltip: this._i18nBundle.getText(\"myHomeSettings\") as string,\n\t\t\t\t\t\tpress: () => {\n\t\t\t\t\t\t\tvoid this.openSettingsDialog();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t];\n\n\t\t\t\t// Add RTA User Action if Key User\n\t\t\t\tconst rtaUserAction = await this._keyUserPersonalization.getRTAUserAction();\n\t\t\t\tif (rtaUserAction) {\n\t\t\t\t\tuserActions.push(rtaUserAction);\n\t\t\t\t}\n\n\t\t\t\t// Attach User Actions\n\t\t\t\tconst extensionService = await Container.getServiceAsync<Extension>(\"Extension\");\n\t\t\t\tfor (let action of userActions) {\n\t\t\t\t\tconst shellUserAction = await extensionService.createUserAction(action, {\n\t\t\t\t\t\tcontrolType: \"sap.ushell.ui.launchpad.ActionItem\"\n\t\t\t\t\t});\n\t\t\t\t\tshellUserAction.showOnHome();\n\t\t\t\t\tthis._shellUserActions.push(shellUserAction);\n\t\t\t\t}\n\n\t\t\t\t// Toggle User Actions on Page Change\n\t\t\t\tconst toggleUserActions = (event: UI5Event<{ isMyHomeRoute: boolean }>) => {\n\t\t\t\t\tconst show = event.getParameter(\"isMyHomeRoute\");\n\t\t\t\t\tthis._shellUserActions.forEach(function (userAction) {\n\t\t\t\t\t\tif (show) {\n\t\t\t\t\t\t\tuserAction.showOnHome();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tuserAction.hideOnHome();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t\tS4MyHome.attachRouteMatched({}, toggleUserActions, this);\n\t\t\t}\n\t\t} catch (error: unknown) {\n\t\t\tLog.warning(\"Unable to add User Actions\", error instanceof Error ? error.message : \"\");\n\t\t}\n\t}\n\n\t/**\n\t * Opens the settings dialog for the layout.\n\t * Overriden from the BaseLayout to ensure of all panels\n\t * to the dialog if not already added.\n\t *\n\t * @private\n\t * @param {string} selectedKey The key of the panel to navigate to\n\t * @override\n\t */\n\tpublic async openSettingsDialog(selectedKey: string = \"\", context?: object): Promise<void> {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog;\n\t\tif (settingsDialog.getPanels().length !== this._getSettingsPanels().length) {\n\t\t\tthis._addPanelsToSettingsDialog();\n\t\t}\n\t\tawait this._calculateSectionsState();\n\n\t\tsuper.openSettingsDialog(selectedKey, context);\n\t}\n\n\t/**\n\t * Close Settings Dialog\n\t *\n\t * @private\n\t *\n\t */\n\tpublic closeSettingsDialog(): void {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog;\n\t\tsettingsDialog?.close();\n\t}\n\n\t/**\n\t * onBeforeRendering lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic async onBeforeRendering(event: Event): Promise<void> {\n\t\tsuper.onBeforeRendering(event);\n\n\t\t//setup common layout features\n\t\tthis._setupSettingsDialog();\n\n\t\t//setup content addition dialog\n\t\tthis._setupContentAdditionDialog();\n\n\t\t// If PersContainerId provided set to PersonalisationUtils\n\t\tconst persContainerId = this.getProperty(\"persContainerId\") as string;\n\t\tif (persContainerId) {\n\t\t\tPersonalisationUtils.setPersContainerId(persContainerId);\n\t\t}\n\t\tthis.getNoDataContainer();\n\t\t//prepare layout data, if not already done\n\t\tif (!this._aOrderedSections) {\n\t\t\tsetTimeout(this._prepareLayoutData.bind(this));\n\t\t}\n\n\t\t// Setup KeyUserPersonalization\n\t\tthis._setupKeyUserSettingsDialog();\n\n\t\t// Initialize Performance Metrics\n\t\tawait setupPerformanceTracking(this);\n\n\t\t//configure user action button if the layout is in an ushell environment\n\t\tawait this._addUserActions();\n\t}\n\n\t/**\n\t * Sets up the settings dialog for the layout.\n\t *\n\t * @private\n\t */\n\tprivate _setupSettingsDialog(): void {\n\t\tconst allPanels: BasePanel[] = [];\n\t\t(this.getItems() || []).forEach((container) => {\n\t\t\t//link container to layout\n\t\t\tcontainer.setAssociation(\"layout\", this);\n\n\t\t\t//enable settings for all panels\n\t\t\tcontainer.getContent().forEach((panel) => {\n\t\t\t\tallPanels.push(panel);\n\t\t\t\tconst panelEnableSettings = panel.getProperty(\"enableSettings\") as boolean;\n\t\t\t\tpanel.setProperty(\"enableSettings\", panelEnableSettings !== undefined ? panelEnableSettings : true);\n\t\t\t});\n\t\t});\n\n\t\tconst enableSettings = this.getProperty(\"enableSettings\") as boolean;\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog | undefined;\n\t\tif (!settingsDialog) {\n\t\t\tthis._isDefaultSettingsDialog = true;\n\n\t\t\t// If settings dialog is not provided and settings is enabled, create a default settings dialog\n\t\t\tif (enableSettings) {\n\t\t\t\tconst defaultSettingsDialog = this._getDefaultSettingsDialog(allPanels);\n\t\t\t\tthis.setSettingsDialog(defaultSettingsDialog);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get default settings dialog\n\t * @private\n\t * @returns {BaseSettingsDialog} Default settings dialog\n\t */\n\tprivate _getDefaultSettingsDialog(allPanels: BasePanel[]): BaseSettingsDialog {\n\t\tconst defaultSettingsDialog = new SettingsDialog(`${this.getId()}-settings-dialog`);\n\n\t\tallPanels.forEach((panel) => {\n\t\t\tconst settingsPanel = this._getDefaultSettingsPanel(panel);\n\t\t\tif (settingsPanel) {\n\t\t\t\tdefaultSettingsDialog.addPanel(settingsPanel);\n\t\t\t}\n\t\t});\n\n\t\t//sort all panels and add them to the settings dialog\n\t\tconst sortedPanels = this._sortPanels(defaultSettingsDialog.getPanels());\n\t\tdefaultSettingsDialog.removeAllPanels();\n\t\tsortedPanels.forEach((panel) => defaultSettingsDialog.addPanel(panel));\n\n\t\tdefaultSettingsDialog.insertPanel(this._getLayoutSettingsPanel(), 0);\n\t\tdefaultSettingsDialog.addPanel(this._getAdvancedSettingsPanel());\n\n\t\treturn defaultSettingsDialog;\n\t}\n\n\t/**\n\t * Get default Settings Panel\n\t *\n\t * @private\n\t */\n\n\tprivate _getDefaultSettingsPanel(panel: BasePanel): BaseSettingsPanel | undefined {\n\t\tlet settingsPanel: BaseSettingsPanel | undefined;\n\t\tconst panelClassName = panel.getMetadata().getName();\n\t\tswitch (panelClassName) {\n\t\t\tcase \"sap.cux.home.NewsPanel\":\n\t\t\t\tsettingsPanel = new NewsSettingsPanel(`${panel.getId()}-news-settings`);\n\t\t\t\tbreak;\n\t\t\tcase \"sap.cux.home.PagePanel\":\n\t\t\t\tsettingsPanel = new PageSettingsPanel(`${panel.getId()}-page-settings`);\n\t\t\t\tbreak;\n\t\t\tcase \"sap.cux.home.TilesPanel\":\n\t\t\t\tsettingsPanel = new InsightsTilesSettingsPanel(`${panel.getId()}-tiles-settings`);\n\t\t\t\tbreak;\n\t\t\tcase \"sap.cux.home.CardsPanel\":\n\t\t\t\tsettingsPanel = new InsightsCardsSettingsPanel(`${panel.getId()}-cards-settings`);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t\tsettingsPanel?.setAssociation(\"panel\", panel);\n\t\treturn settingsPanel;\n\t}\n\n\t/**\n\t * Adds all settings panels to the settings dialog, including\n\t * the layout settings panel and advanced settings panel.\n\t *\n\t * @private\n\t */\n\tprivate _addPanelsToSettingsDialog(): void {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog;\n\n\t\t//sort all panels and add them to the settings dialog\n\t\tconst sortedPanels = this._sortPanels(settingsDialog.getPanels());\n\t\tsettingsDialog.removeAllPanels();\n\t\tsortedPanels.forEach((panel) => settingsDialog.addPanel(panel));\n\n\t\t// Layout Settings should be displayed only if no settings dialog is provided\n\t\tif (this._isDefaultSettingsDialog) {\n\t\t\tsettingsDialog.insertPanel(this._getLayoutSettingsPanel(), 0);\n\t\t\tsettingsDialog.addPanel(this._getAdvancedSettingsPanel());\n\t\t}\n\t\tsettingsDialog.addPanel(this._getAdvancedSettingsPanel());\n\t\tthis._addSettingsPanel(settingsDialog.getPanels(), true);\n\t}\n\n\t/**\n\t * Sorts settings panels based on a predefined order.\n\t *\n\t * @private\n\t * @returns {BaseSettingsPanel[]} Sorted settings panels.\n\t */\n\tprivate _sortPanels(panels: BaseSettingsPanel[]): BaseSettingsPanel[] {\n\t\treturn Object.keys(SETTINGS_PANELS_KEYS)\n\t\t\t.map((key) => panels.find((panel) => panel?.getProperty(\"key\") === key))\n\t\t\t.filter(Boolean) as BaseSettingsPanel[];\n\t}\n\n\t/**\n\t * Retrieves the advanced settings panel associated with the layout.\n\t *\n\t * @private\n\t * @returns {AdvancedSettingsPanel} The advanced settings panel.\n\t */\n\tprivate _getAdvancedSettingsPanel(): AdvancedSettingsPanel {\n\t\tif (!this._advancedSettingsPanel) {\n\t\t\tthis._advancedSettingsPanel = new AdvancedSettingsPanel(`${this.getId()}-advanced-settings`);\n\t\t\tthis._advancedSettingsPanel.setAssociation(\"panel\", this);\n\t\t}\n\n\t\treturn this._advancedSettingsPanel;\n\t}\n\n\t/**\n\t * Retrieves the layout settings panel associated with the layout.\n\t *\n\t * @private\n\t * @returns {LayoutSettingsPanel} The layout settings panel.\n\t */\n\tprivate _getLayoutSettingsPanel(): LayoutSettingsPanel {\n\t\tif (!this._layoutSettingsPanel) {\n\t\t\tthis._layoutSettingsPanel = new LayoutSettingsPanel(`${this.getId()}-layout-settings`);\n\t\t\tthis._layoutSettingsPanel.setAssociation(\"panel\", this);\n\t\t}\n\n\t\treturn this._layoutSettingsPanel;\n\t}\n\n\t/**\n\t * Setup of no data container\n\t *\n\t * @private\n\t * @returns {NoDataContainer} No data container\n\t */\n\tprivate getNoDataContainer(): NoDataContainer {\n\t\tif (!this._noDataContainer) {\n\t\t\tthis._noDataContainer = this.getItems().find((item) => item instanceof NoDataContainer) as NoDataContainer;\n\n\t\t\t// if no data container is already present, use it\n\t\t\tif (!this._noDataContainer) {\n\t\t\t\tthis._customNoDataContainerPresent = false;\n\t\t\t\tthis._noDataContainer = new NoDataContainer(recycleId(`${this.getId()}-noDataContainer`));\n\t\t\t}\n\t\t\tthis._noDataContainer.setVisible(false);\n\t\t}\n\t\treturn this._noDataContainer;\n\t}\n\t/**\n\t * Prepares the layout data.\n\t *\n\t * @private\n\t */\n\tprivate _prepareLayoutData(): void {\n\t\tlet hasVisibleSection = false;\n\t\tconst isLayoutExpanded = this.getProperty(\"expanded\") as boolean;\n\t\tconst aOrderedElements =\n\t\t\tthis._aOrderedSections?.map((element) => Element.getElementById(element.completeId) as BaseContainer) || [];\n\t\tconst aElements = isLayoutExpanded && aOrderedElements.length ? aOrderedElements : this.getItems();\n\t\t// set aelementsMap as elementMap[] | [];\n\t\tconst aElementMap: IElement[] = [];\n\t\taElements.forEach((element: BaseContainer) => {\n\t\t\tif (element !== this.getNoDataContainer()) {\n\t\t\t\tconst sId = element.getId();\n\n\t\t\t\t//if no title set for container , then layout setting should show tooltip as title within the settings dialog\n\t\t\t\tlet title = element.getProperty(\"title\") as string;\n\t\t\t\tif (!title) {\n\t\t\t\t\ttitle = element.getTooltip() as string;\n\t\t\t\t}\n\t\t\t\tconst elementVisible = element.getVisible();\n\t\t\t\tconst elementCustomSettings = element.getCustomSettings();\n\t\t\t\taElementMap.push({\n\t\t\t\t\tcompleteId: sId,\n\t\t\t\t\tsContainerType: element.getMetadata().getName(),\n\t\t\t\t\tblocked: false,\n\t\t\t\t\tvisible: element.getProperty(\"visible\") as boolean,\n\t\t\t\t\ttitle: elementCustomSettings.title || title,\n\t\t\t\t\ttext: elementCustomSettings.text\n\t\t\t\t});\n\t\t\t\tif (elementVisible) {\n\t\t\t\t\thasVisibleSection = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis._aOrderedSections = aElementMap;\n\t\tif (!this.getProperty(\"expanded\")) {\n\t\t\tthis.setNoDataContainerVisibility(!hasVisibleSection);\n\t\t}\n\t}\n\n\t/**\n\t * Sets the visibility of the no data container\n\t *\n\t * @private\n\t */\n\tpublic setNoDataContainerVisibility(contentVisible: boolean): void {\n\t\tconst noDataContainer = this.getNoDataContainer();\n\t\tnoDataContainer?.setVisible(contentVisible);\n\t\tif (!this._customNoDataContainerPresent) {\n\t\t\tif (contentVisible) {\n\t\t\t\tthis.insertItem(noDataContainer, 0);\n\t\t\t} else {\n\t\t\t\tthis.removeItem(noDataContainer);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Calculates the state of the sections based on the layout's content.\n\t * @private\n\t */\n\tpublic async _calculateSectionsState(): Promise<void> {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as SettingsDialog;\n\t\tconst aSettingsPanel = settingsDialog.getPanels();\n\t\tthis._isCustomNews = false;\n\t\taSettingsPanel.forEach((oSettingsPanel: BaseSettingsPanel) => {\n\t\t\tif (oSettingsPanel instanceof NewsSettingsPanel) {\n\t\t\t\tthis._isCustomNews = true;\n\t\t\t}\n\t\t\tif (oSettingsPanel instanceof AdvancedSettingsPanel) {\n\t\t\t\toSettingsPanel.resetImportModel(true);\n\t\t\t}\n\t\t});\n\t\tawait this.setSectionDetails();\n\t}\n\n\t/**\n\t * Sets the section details based on the layout's content.\n\t * @private\n\t */\n\tprivate async setSectionDetails(): Promise<void> {\n\t\tconst elementArray = this.getItems();\n\t\tfor (const element of elementArray) {\n\t\t\tlet bBlocked = false;\n\t\t\tconst sId = element.getId();\n\t\t\t//check news & apps visibility\n\t\t\tif (element instanceof NewsAndPagesContainer && element.getVisible()) {\n\t\t\t\tconst aNewsAndPagesPanel = element.getContent();\n\t\t\t\t//check whether user has access to pages\n\t\t\t\tbBlocked = aNewsAndPagesPanel.length ? await this.checkPagesBlocked(aNewsAndPagesPanel) : false;\n\t\t\t} else if (element instanceof ToDosContainer) {\n\t\t\t\tbBlocked = this.checkToDoBlocked(element);\n\t\t\t}\n\n\t\t\tthis._aOrderedSections?.forEach((oElementItem) => {\n\t\t\t\tif (oElementItem.completeId === sId) {\n\t\t\t\t\toElementItem.blocked = bBlocked;\n\t\t\t\t\toElementItem.visible = element.getVisible();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Check whether My Interest section is blocked or not\n\t * @private\n\t */\n\tprivate async checkPagesBlocked(aNewsAndPagesPanel: BasePanel[]): Promise<boolean> {\n\t\tfor (const oPanel of aNewsAndPagesPanel) {\n\t\t\tif (oPanel instanceof PagePanel) {\n\t\t\t\t// find if user has any pages accessible\n\t\t\t\tconst aPages = (await oPanel.getUserAvailablePages()) || [];\n\t\t\t\tif (aPages.length) {\n\t\t\t\t\tthis._pagesAvailable = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t//if user has no available pages and no news feed, then block the section\n\t\tif (!this._pagesAvailable && !this._isCustomNews) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Check whether For Me Today section is blocked or not\n\t * @private\n\t */\n\tprivate checkToDoBlocked(toDoContainer: BaseContainer): boolean {\n\t\tif (!toDoContainer.getVisible()) {\n\t\t\tconst panels = toDoContainer.getContent();\n\t\t\tif (panels.length === 0) {\n\t\t\t\tthis._toDoAccessible = false;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Sets up the key user settings dialog for the layout.\n\t *\n\t * @private\n\t */\n\tprivate _setupKeyUserSettingsDialog(): void {\n\t\tconst keyUserSettingsDialog = this.getAggregation(\"keyUserSettingsDialog\") as BaseSettingsDialog;\n\t\tif (!keyUserSettingsDialog) {\n\t\t\tconst defaultKeyUserSettingsDialog = new KeyUserSettingsDialog(`${this.getId()}-keyUser-settings-dialog`);\n\n\t\t\t// Add Key User Layout Settings Panel\n\t\t\tconst keyUserLayoutSettingsPanel = new KeyUserLayoutSettingsPanel(`${this.getId()}-keyUser-layout-settings`);\n\t\t\tkeyUserLayoutSettingsPanel.setAssociation(\"panel\", this);\n\t\t\tdefaultKeyUserSettingsDialog.addPanel(keyUserLayoutSettingsPanel);\n\n\t\t\t// Add News and Pages Settings Panel If News and Pages Container is available\n\t\t\t(this.getItems() || []).forEach((container: BaseContainer) => {\n\t\t\t\tif (container instanceof NewsAndPagesContainer) {\n\t\t\t\t\tconst keyUserNewsPagesSettingsPanel = new KeyUserNewsPagesSettingsPanel(`${this.getId()}-keyUser-news-pages-settings`);\n\t\t\t\t\t// Set any panel of the containet to the settings panel as association\n\t\t\t\t\tkeyUserNewsPagesSettingsPanel.setAssociation(\"panel\", container.getContent()?.[0]);\n\t\t\t\t\tdefaultKeyUserSettingsDialog.addPanel(keyUserNewsPagesSettingsPanel);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.setAggregation(\"keyUserSettingsDialog\", defaultKeyUserSettingsDialog);\n\t\t}\n\t}\n\n\t/**\n\t * Return the pages availability value\n\t * @private\n\t */\n\tpublic getpagesAvailable(): boolean {\n\t\treturn this._pagesAvailable;\n\t}\n\n\t/**\n\t * Return the To-Dos availability value\n\t * @private\n\t */\n\tpublic isToDoAccessible(): boolean {\n\t\treturn this._toDoAccessible;\n\t}\n\n\t/**\n\t * Return whether customNews available or not\n\t */\n\tpublic customNewAvailable(): boolean {\n\t\treturn this._isCustomNews;\n\t}\n\n\t/**\n\t * Returns the set of sections present within the layout\n\t *\n\t * @private\n\t */\n\tpublic getSections(): IElement[] {\n\t\treturn this._aOrderedSections!;\n\t}\n\n\t/**\n\t * Sets the sections present within the layout\n\t *\n\t * @private\n\t */\n\tpublic setSections(sections: IElement[]): void {\n\t\tthis._aOrderedSections = sections;\n\t}\n\n\t/**\n\t * Resets the ordered sections of the layout.\n\t *\n\t * @private\n\t */\n\tpublic resetSections(): void {\n\t\tthis._prepareLayoutData();\n\t}\n\n\t/**\n\t * Sets up the content addition dialog for the layout.\n\t *\n\t * @private\n\t */\n\tprivate _setupContentAdditionDialog(): void {\n\t\tlet contentAdditionDialog = this.getAggregation(\"contentAdditionDialog\") as ContentAdditionDialog;\n\t\tif (!contentAdditionDialog) {\n\t\t\tcontentAdditionDialog = new ContentAdditionDialog(`${this.getId()}-content-addition-dialog`);\n\t\t\tthis.setAggregation(\"contentAdditionDialog\", contentAdditionDialog);\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Layout.js","names":["sap","ui","define","Log","Element","S4MyHome","Container","__AdvancedSettingsPanel","__BaseLayout","__BaseLayoutRenderer","__ContentAdditionDialog","__InsightsCardsSettingsPanel","__InsightsTilesSettingsPanel","__KeyUserLayoutSettingsPanel","__KeyUserNewsPagesSettingsPanel","__KeyUserSettingsDialog","__LayoutSettingsPanel","__NewsAndPagesContainer","__NewsSettingsPanel","__NoDataContainer","__PagePanel","__PageSettingsPanel","__SettingsDialog","__ToDosContainer","___utils_Constants","___utils_DataFormatUtils","__KeyUserPersonalization","___utils_PerformanceUtils","__PersonalisationUtils","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","AdvancedSettingsPanel","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","BaseLayout","_catch","recover","BaseLayoutRenderer","ContentAdditionDialog","InsightsCardsSettingsPanel","InsightsTilesSettingsPanel","KeyUserLayoutSettingsPanel","KeyUserNewsPagesSettingsPanel","KeyUserSettingsDialog","LayoutSettingsPanel","NewsAndPagesContainer","NewsSettingsPanel","NoDataContainer","PagePanel","PageSettingsPanel","SettingsDialog","ToDosContainer","SETTINGS_PANELS_KEYS","recycleId","KeyUserPersonalization","setupPerformanceTracking","PersonalisationUtils","Layout","extend","renderer","metadata","designtime","constructor","_constructor","id","settings","BaseLayout.prototype.constructor.call","_shellUserActions","_isDefaultSettingsDialog","_customNoDataContainerPresent","init","_init","BaseLayout.prototype.init.call","setProperty","_keyUserPersonalization","getOwnerComponent","_i18nBundle","_addUserActions","Promise","resolve","_temp3","getVisible","_userActionsAdded","userActions","icon","text","getText","tooltip","press","openSettingsDialog","getRTAUserAction","rtaUserAction","getServiceAsync","extensionService","_temp2","toggleUserActions","event","show","getParameter","forEach","userAction","showOnHome","hideOnHome","attachRouteMatched","_temp","action","createUserAction","controlType","shellUserAction","error","warning","Error","message","_openSettingsDialog","selectedKey","context","_this2","settingsDialog","getAggregation","getPanels","_getSettingsPanels","_addPanelsToSettingsDialog","_calculateSectionsState","BaseLayout.prototype.openSettingsDialog.call","closeSettingsDialog","_closeSettingsDialog","close","onBeforeRendering","_onBeforeRendering","_this3","BaseLayout.prototype.onBeforeRendering.call","_setupSettingsDialog","_setupContentAdditionDialog","persContainerId","getProperty","setPersContainerId","getNoDataContainer","_aOrderedSections","setTimeout","_prepareLayoutData","_setupKeyUserSettingsDialog","allPanels","getItems","container","setAssociation","getContent","panel","panelEnableSettings","undefined","enableSettings","defaultSettingsDialog","_getDefaultSettingsDialog","setSettingsDialog","getId","settingsPanel","_getDefaultSettingsPanel","addPanel","sortedPanels","_sortPanels","removeAllPanels","insertPanel","_getLayoutSettingsPanel","_getAdvancedSettingsPanel","panelClassName","getMetadata","getName","_addSettingsPanel","panels","Object","keys","map","key","find","filter","Boolean","_advancedSettingsPanel","_layoutSettingsPanel","_getNoDataContainer","_noDataContainer","item","setVisible","hasVisibleSection","isLayoutExpanded","aOrderedElements","element","getElementById","completeId","aElements","aElementMap","sId","title","getTooltip","elementVisible","elementCustomSettings","getCustomSettings","sContainerType","blocked","visible","setNoDataContainerVisibility","_setNoDataContainerVisibility","contentVisible","noDataContainer","insertItem","removeItem","_this4","aSettingsPanel","_isCustomNews","oSettingsPanel","resetImportModel","setSectionDetails","_setSectionDetails","_this5","elementArray","_temp7","_temp6","oElementItem","bBlocked","_temp5","_temp4","_this5$checkPagesBloc","aNewsAndPagesPanel","_aNewsAndPagesPanel$l","checkPagesBlocked","checkToDoBlocked","_checkPagesBlocked","_this6","_temp0","_pagesAvailable","_temp9","oPanel","_temp8","getUserAvailablePages","aPages","_checkToDoBlocked","toDoContainer","_toDoAccessible","keyUserSettingsDialog","defaultKeyUserSettingsDialog","keyUserLayoutSettingsPanel","keyUserNewsPagesSettingsPanel","setAggregation","getpagesAvailable","_getpagesAvailable","isToDoAccessible","_isToDoAccessible","customNewAvailable","_customNewAvailable","getSections","_getSections","setSections","_setSections","sections","resetSections","_resetSections","contentAdditionDialog"],"sources":["Layout.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport { Event } from \"jquery\";\nimport Log from \"sap/base/Log\";\nimport UI5Event from \"sap/ui/base/Event\";\nimport Element, { MetadataOptions } from \"sap/ui/core/Element\";\nimport S4MyHome from \"sap/ushell/api/S4MyHome\";\nimport Container from \"sap/ushell/Container\";\nimport Extension from \"sap/ushell/services/Extension\";\nimport Item from \"sap/ushell/services/Extension/Item\";\nimport AdvancedSettingsPanel from \"./AdvancedSettingsPanel\";\nimport BaseContainer from \"./BaseContainer\";\nimport type { $BaseLayoutSettings } from \"./BaseLayout\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseLayoutRenderer from \"./BaseLayoutRenderer\";\nimport BasePanel from \"./BasePanel\";\nimport BaseSettingsDialog from \"./BaseSettingsDialog\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport ContentAdditionDialog from \"./ContentAdditionDialog\";\nimport InsightsCardsSettingsPanel from \"./InsightsCardsSettingsPanel\";\nimport InsightsTilesSettingsPanel from \"./InsightsTilesSettingsPanel\";\nimport KeyUserLayoutSettingsPanel from \"./KeyUserLayoutSettingsPanel\";\nimport KeyUserNewsPagesSettingsPanel from \"./KeyUserNewsPagesSettingsPanel\";\nimport KeyUserSettingsDialog from \"./KeyUserSettingsDialog\";\nimport LayoutSettingsPanel from \"./LayoutSettingsPanel\";\nimport NewsAndPagesContainer from \"./NewsAndPagesContainer\";\nimport NewsSettingsPanel from \"./NewsSettingsPanel\";\nimport NoDataContainer from \"./NoDataContainer\";\nimport PagePanel from \"./PagePanel\";\nimport PageSettingsPanel from \"./PageSettingsPanel\";\nimport SettingsDialog from \"./SettingsDialog\";\nimport ToDosContainer from \"./ToDosContainer\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport KeyUserPersonalization from \"./utils/KeyUserPersonalization\";\nimport { setupPerformanceTracking } from \"./utils/PerformanceUtils\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\n\ninterface IElement {\n\tcompleteId: string;\n\tsContainerType: string;\n\tblocked: boolean;\n\tvisible: boolean;\n\ttitle: string;\n\ttext: string;\n}\n\nexport interface UserActionProperties {\n\ticon: string;\n\ttext: string;\n\ttooltip: string;\n\tpress: () => void;\n}\n\n/**\n *\n * Layout class for the My Home layout.\n *\n * @extends BaseLayout\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @public\n *\n * @alias sap.cux.home.Layout\n */\nexport default class Layout extends BaseLayout {\n\tprivate _layoutSettingsPanel!: LayoutSettingsPanel;\n\tprivate _advancedSettingsPanel!: AdvancedSettingsPanel;\n\tprivate _isCustomNews!: boolean;\n\tprivate _pagesAvailable!: boolean;\n\tprivate _toDoAccessible!: boolean;\n\tprivate _aOrderedSections!: IElement[] | undefined;\n\tprivate _noDataContainer!: NoDataContainer;\n\tprivate _shellUserActions: Item[] = [];\n\tprivate _userActionsAdded!: boolean;\n\tprivate _keyUserPersonalization!: KeyUserPersonalization;\n\tprivate _isDefaultSettingsDialog: boolean = false;\n\tprivate _customNoDataContainerPresent: boolean = true;\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tdesigntime: \"sap/cux/home/designtime/Layout.designtime\"\n\t};\n\tstatic renderer: typeof BaseLayoutRenderer = BaseLayoutRenderer;\n\n\t/**\n\t * Constructor for a new layout.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BaseLayoutSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @async\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\n\t\t//setup layout\n\t\tthis.setProperty(\"enableSettings\", true);\n\t\tthis.setProperty(\"enableFullScreen\", true);\n\n\t\t// Setup KeyUserPersonalization\n\t\tthis._keyUserPersonalization = new KeyUserPersonalization(PersonalisationUtils.getOwnerComponent(this), this._i18nBundle);\n\t}\n\n\t/**\n\t * Adds all user actions to the Fiori launchpad.\n\t *\n\t * @private\n\t */\n\tprivate async _addUserActions() {\n\t\ttry {\n\t\t\tif (this.getVisible() && !this._userActionsAdded) {\n\t\t\t\tthis._userActionsAdded = true;\n\n\t\t\t\t// Configure User Actions\n\t\t\t\tconst userActions: UserActionProperties[] = [\n\t\t\t\t\t{\n\t\t\t\t\t\ticon: \"sap-icon://edit\",\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"myHomeSettings\") as string,\n\t\t\t\t\t\ttooltip: this._i18nBundle.getText(\"myHomeSettings\") as string,\n\t\t\t\t\t\tpress: () => {\n\t\t\t\t\t\t\tvoid this.openSettingsDialog();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t];\n\n\t\t\t\t// Add RTA User Action if Key User\n\t\t\t\tconst rtaUserAction = await this._keyUserPersonalization.getRTAUserAction();\n\t\t\t\tif (rtaUserAction) {\n\t\t\t\t\tuserActions.push(rtaUserAction);\n\t\t\t\t}\n\n\t\t\t\t// Attach User Actions\n\t\t\t\tconst extensionService = await Container.getServiceAsync<Extension>(\"Extension\");\n\t\t\t\tfor (let action of userActions) {\n\t\t\t\t\tconst shellUserAction = await extensionService.createUserAction(action, {\n\t\t\t\t\t\tcontrolType: \"sap.ushell.ui.launchpad.ActionItem\"\n\t\t\t\t\t});\n\t\t\t\t\tshellUserAction.showOnHome();\n\t\t\t\t\tthis._shellUserActions.push(shellUserAction);\n\t\t\t\t}\n\n\t\t\t\t// Toggle User Actions on Page Change\n\t\t\t\tconst toggleUserActions = (event: UI5Event<{ isMyHomeRoute: boolean }>) => {\n\t\t\t\t\tconst show = event.getParameter(\"isMyHomeRoute\");\n\t\t\t\t\tthis._shellUserActions.forEach(function (userAction) {\n\t\t\t\t\t\tif (show) {\n\t\t\t\t\t\t\tuserAction.showOnHome();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tuserAction.hideOnHome();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t\tS4MyHome.attachRouteMatched({}, toggleUserActions, this);\n\t\t\t}\n\t\t} catch (error: unknown) {\n\t\t\tLog.warning(\"Unable to add User Actions\", error instanceof Error ? error.message : \"\");\n\t\t}\n\t}\n\n\t/**\n\t * Opens the settings dialog for the layout.\n\t * Overriden from the BaseLayout to ensure of all panels\n\t * to the dialog if not already added.\n\t *\n\t * @private\n\t * @param {string} selectedKey The key of the panel to navigate to\n\t * @override\n\t */\n\tpublic async openSettingsDialog(selectedKey: string = \"\", context?: object): Promise<void> {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog;\n\t\tif (settingsDialog.getPanels().length !== this._getSettingsPanels().length) {\n\t\t\tthis._addPanelsToSettingsDialog();\n\t\t}\n\t\tawait this._calculateSectionsState();\n\n\t\tsuper.openSettingsDialog(selectedKey, context);\n\t}\n\n\t/**\n\t * Close Settings Dialog\n\t *\n\t * @private\n\t *\n\t */\n\tpublic closeSettingsDialog(): void {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog;\n\t\tsettingsDialog?.close();\n\t}\n\n\t/**\n\t * onBeforeRendering lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic async onBeforeRendering(event: Event): Promise<void> {\n\t\tsuper.onBeforeRendering(event);\n\n\t\t//setup common layout features\n\t\tthis._setupSettingsDialog();\n\n\t\t//setup content addition dialog\n\t\tthis._setupContentAdditionDialog();\n\n\t\t// If PersContainerId provided set to PersonalisationUtils\n\t\tconst persContainerId = this.getProperty(\"persContainerId\") as string;\n\t\tif (persContainerId) {\n\t\t\tPersonalisationUtils.setPersContainerId(persContainerId);\n\t\t}\n\t\tthis.getNoDataContainer();\n\t\t//prepare layout data, if not already done\n\t\tif (!this._aOrderedSections) {\n\t\t\tsetTimeout(this._prepareLayoutData.bind(this));\n\t\t}\n\n\t\t// Setup KeyUserPersonalization\n\t\tthis._setupKeyUserSettingsDialog();\n\n\t\t// Initialize Performance Metrics\n\t\tawait setupPerformanceTracking(this);\n\n\t\t//configure user action button if the layout is in an ushell environment\n\t\tawait this._addUserActions();\n\t}\n\n\t/**\n\t * Sets up the settings dialog for the layout.\n\t *\n\t * @private\n\t */\n\tprivate _setupSettingsDialog(): void {\n\t\tconst allPanels: BasePanel[] = [];\n\t\t(this.getItems() || []).forEach((container) => {\n\t\t\t//link container to layout\n\t\t\tcontainer.setAssociation(\"layout\", this);\n\n\t\t\t//enable settings for all panels\n\t\t\tcontainer.getContent().forEach((panel) => {\n\t\t\t\tallPanels.push(panel);\n\t\t\t\tconst panelEnableSettings = panel.getProperty(\"enableSettings\") as boolean;\n\t\t\t\tpanel.setProperty(\"enableSettings\", panelEnableSettings !== undefined ? panelEnableSettings : true);\n\t\t\t});\n\t\t});\n\n\t\tconst enableSettings = this.getProperty(\"enableSettings\") as boolean;\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog | undefined;\n\t\tif (!settingsDialog) {\n\t\t\tthis._isDefaultSettingsDialog = true;\n\n\t\t\t// If settings dialog is not provided and settings is enabled, create a default settings dialog\n\t\t\tif (enableSettings) {\n\t\t\t\tconst defaultSettingsDialog = this._getDefaultSettingsDialog(allPanels);\n\t\t\t\tthis.setSettingsDialog(defaultSettingsDialog);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get default settings dialog\n\t * @private\n\t * @returns {BaseSettingsDialog} Default settings dialog\n\t */\n\tprivate _getDefaultSettingsDialog(allPanels: BasePanel[]): BaseSettingsDialog {\n\t\tconst defaultSettingsDialog = new SettingsDialog(`${this.getId()}-settings-dialog`);\n\n\t\tallPanels.forEach((panel) => {\n\t\t\tconst settingsPanel = this._getDefaultSettingsPanel(panel);\n\t\t\tif (settingsPanel) {\n\t\t\t\tdefaultSettingsDialog.addPanel(settingsPanel);\n\t\t\t}\n\t\t});\n\n\t\t//sort all panels and add them to the settings dialog\n\t\tconst sortedPanels = this._sortPanels(defaultSettingsDialog.getPanels());\n\t\tdefaultSettingsDialog.removeAllPanels();\n\t\tsortedPanels.forEach((panel) => defaultSettingsDialog.addPanel(panel));\n\n\t\tdefaultSettingsDialog.insertPanel(this._getLayoutSettingsPanel(), 0);\n\t\tdefaultSettingsDialog.addPanel(this._getAdvancedSettingsPanel());\n\n\t\treturn defaultSettingsDialog;\n\t}\n\n\t/**\n\t * Get default Settings Panel\n\t *\n\t * @private\n\t */\n\n\tprivate _getDefaultSettingsPanel(panel: BasePanel): BaseSettingsPanel | undefined {\n\t\tlet settingsPanel: BaseSettingsPanel | undefined;\n\t\tconst panelClassName = panel.getMetadata().getName();\n\t\tswitch (panelClassName) {\n\t\t\tcase \"sap.cux.home.NewsPanel\":\n\t\t\t\tsettingsPanel = new NewsSettingsPanel(`${panel.getId()}-news-settings`);\n\t\t\t\tbreak;\n\t\t\tcase \"sap.cux.home.PagePanel\":\n\t\t\t\tsettingsPanel = new PageSettingsPanel(`${panel.getId()}-page-settings`);\n\t\t\t\tbreak;\n\t\t\tcase \"sap.cux.home.TilesPanel\":\n\t\t\t\tsettingsPanel = new InsightsTilesSettingsPanel(`${panel.getId()}-tiles-settings`);\n\t\t\t\tbreak;\n\t\t\tcase \"sap.cux.home.CardsPanel\":\n\t\t\t\tsettingsPanel = new InsightsCardsSettingsPanel(`${panel.getId()}-cards-settings`);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t\tsettingsPanel?.setAssociation(\"panel\", panel);\n\t\treturn settingsPanel;\n\t}\n\n\t/**\n\t * Adds all settings panels to the settings dialog, including\n\t * the layout settings panel and advanced settings panel.\n\t *\n\t * @private\n\t */\n\tprivate _addPanelsToSettingsDialog(): void {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog;\n\n\t\t//sort all panels and add them to the settings dialog\n\t\tconst sortedPanels = this._sortPanels(settingsDialog.getPanels());\n\t\tsettingsDialog.removeAllPanels();\n\t\tsortedPanels.forEach((panel) => settingsDialog.addPanel(panel));\n\n\t\t// Layout Settings should be displayed only if no settings dialog is provided\n\t\tif (this._isDefaultSettingsDialog) {\n\t\t\tsettingsDialog.insertPanel(this._getLayoutSettingsPanel(), 0);\n\t\t\tsettingsDialog.addPanel(this._getAdvancedSettingsPanel());\n\t\t}\n\t\tsettingsDialog.addPanel(this._getAdvancedSettingsPanel());\n\t\tthis._addSettingsPanel(settingsDialog.getPanels(), true);\n\t}\n\n\t/**\n\t * Sorts settings panels based on a predefined order.\n\t *\n\t * @private\n\t * @returns {BaseSettingsPanel[]} Sorted settings panels.\n\t */\n\tprivate _sortPanels(panels: BaseSettingsPanel[]): BaseSettingsPanel[] {\n\t\treturn Object.keys(SETTINGS_PANELS_KEYS)\n\t\t\t.map((key) => panels.find((panel) => panel?.getProperty(\"key\") === key))\n\t\t\t.filter(Boolean) as BaseSettingsPanel[];\n\t}\n\n\t/**\n\t * Retrieves the advanced settings panel associated with the layout.\n\t *\n\t * @private\n\t * @returns {AdvancedSettingsPanel} The advanced settings panel.\n\t */\n\tprivate _getAdvancedSettingsPanel(): AdvancedSettingsPanel {\n\t\tif (!this._advancedSettingsPanel) {\n\t\t\tthis._advancedSettingsPanel = new AdvancedSettingsPanel(`${this.getId()}-advanced-settings`);\n\t\t\tthis._advancedSettingsPanel.setAssociation(\"panel\", this);\n\t\t}\n\n\t\treturn this._advancedSettingsPanel;\n\t}\n\n\t/**\n\t * Retrieves the layout settings panel associated with the layout.\n\t *\n\t * @private\n\t * @returns {LayoutSettingsPanel} The layout settings panel.\n\t */\n\tprivate _getLayoutSettingsPanel(): LayoutSettingsPanel {\n\t\tif (!this._layoutSettingsPanel) {\n\t\t\tthis._layoutSettingsPanel = new LayoutSettingsPanel(`${this.getId()}-layout-settings`);\n\t\t\tthis._layoutSettingsPanel.setAssociation(\"panel\", this);\n\t\t}\n\n\t\treturn this._layoutSettingsPanel;\n\t}\n\n\t/**\n\t * Setup of no data container\n\t *\n\t * @private\n\t * @returns {NoDataContainer} No data container\n\t */\n\tprivate getNoDataContainer(): NoDataContainer {\n\t\tif (!this._noDataContainer) {\n\t\t\tthis._noDataContainer = this.getItems().find((item) => item instanceof NoDataContainer) as NoDataContainer;\n\n\t\t\t// if no data container is already present, use it\n\t\t\tif (!this._noDataContainer) {\n\t\t\t\tthis._customNoDataContainerPresent = false;\n\t\t\t\tthis._noDataContainer = new NoDataContainer(recycleId(`${this.getId()}-noDataContainer`));\n\t\t\t}\n\t\t\tthis._noDataContainer.setVisible(false);\n\t\t}\n\t\treturn this._noDataContainer;\n\t}\n\t/**\n\t * Prepares the layout data.\n\t *\n\t * @private\n\t */\n\tprivate _prepareLayoutData(): void {\n\t\tlet hasVisibleSection = false;\n\t\tconst isLayoutExpanded = this.getProperty(\"expanded\") as boolean;\n\t\tconst aOrderedElements =\n\t\t\tthis._aOrderedSections?.map((element) => Element.getElementById(element.completeId) as BaseContainer) || [];\n\t\tconst aElements = isLayoutExpanded && aOrderedElements.length ? aOrderedElements : this.getItems();\n\t\t// set aelementsMap as elementMap[] | [];\n\t\tconst aElementMap: IElement[] = [];\n\t\taElements.forEach((element: BaseContainer) => {\n\t\t\tif (element !== this.getNoDataContainer()) {\n\t\t\t\tconst sId = element.getId();\n\n\t\t\t\t//if no title set for container , then layout setting should show tooltip as title within the settings dialog\n\t\t\t\tlet title = element.getProperty(\"title\") as string;\n\t\t\t\tif (!title) {\n\t\t\t\t\ttitle = element.getTooltip() as string;\n\t\t\t\t}\n\t\t\t\tconst elementVisible = element.getVisible();\n\t\t\t\tconst elementCustomSettings = element.getCustomSettings();\n\t\t\t\taElementMap.push({\n\t\t\t\t\tcompleteId: sId,\n\t\t\t\t\tsContainerType: element.getMetadata().getName(),\n\t\t\t\t\tblocked: false,\n\t\t\t\t\tvisible: element.getProperty(\"visible\") as boolean,\n\t\t\t\t\ttitle: elementCustomSettings.title || title,\n\t\t\t\t\ttext: elementCustomSettings.text\n\t\t\t\t});\n\t\t\t\tif (elementVisible) {\n\t\t\t\t\thasVisibleSection = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis._aOrderedSections = aElementMap;\n\t\tif (!this.getProperty(\"expanded\")) {\n\t\t\tthis.setNoDataContainerVisibility(!hasVisibleSection);\n\t\t}\n\t}\n\n\t/**\n\t * Sets the visibility of the no data container\n\t *\n\t * @private\n\t */\n\tpublic setNoDataContainerVisibility(contentVisible: boolean): void {\n\t\tconst noDataContainer = this.getNoDataContainer();\n\t\tnoDataContainer?.setVisible(contentVisible);\n\t\tif (!this._customNoDataContainerPresent) {\n\t\t\tif (contentVisible) {\n\t\t\t\tthis.insertItem(noDataContainer, 0);\n\t\t\t} else {\n\t\t\t\tthis.removeItem(noDataContainer);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Calculates the state of the sections based on the layout's content.\n\t * @private\n\t */\n\tpublic async _calculateSectionsState(): Promise<void> {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as SettingsDialog;\n\t\tconst aSettingsPanel = settingsDialog.getPanels();\n\t\tthis._isCustomNews = false;\n\t\taSettingsPanel.forEach((oSettingsPanel: BaseSettingsPanel) => {\n\t\t\tif (oSettingsPanel instanceof NewsSettingsPanel) {\n\t\t\t\tthis._isCustomNews = true;\n\t\t\t}\n\t\t\tif (oSettingsPanel instanceof AdvancedSettingsPanel) {\n\t\t\t\toSettingsPanel.resetImportModel(true);\n\t\t\t}\n\t\t});\n\t\tawait this.setSectionDetails();\n\t}\n\n\t/**\n\t * Sets the section details based on the layout's content.\n\t * @private\n\t */\n\tprivate async setSectionDetails(): Promise<void> {\n\t\tconst elementArray = this.getItems();\n\t\tfor (const element of elementArray) {\n\t\t\tlet bBlocked = false;\n\t\t\tconst sId = element.getId();\n\t\t\t//check news & apps visibility\n\t\t\tif (element instanceof NewsAndPagesContainer && element.getVisible()) {\n\t\t\t\tconst aNewsAndPagesPanel = element.getContent();\n\t\t\t\t//check whether user has access to pages\n\t\t\t\tbBlocked = aNewsAndPagesPanel.length ? await this.checkPagesBlocked(aNewsAndPagesPanel) : false;\n\t\t\t} else if (element instanceof ToDosContainer) {\n\t\t\t\tbBlocked = this.checkToDoBlocked(element);\n\t\t\t}\n\n\t\t\tthis._aOrderedSections?.forEach((oElementItem) => {\n\t\t\t\tif (oElementItem.completeId === sId) {\n\t\t\t\t\toElementItem.blocked = bBlocked;\n\t\t\t\t\toElementItem.visible = element.getVisible();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Check whether My Interest section is blocked or not\n\t * @private\n\t */\n\tprivate async checkPagesBlocked(aNewsAndPagesPanel: BasePanel[]): Promise<boolean> {\n\t\tfor (const oPanel of aNewsAndPagesPanel) {\n\t\t\tif (oPanel instanceof PagePanel) {\n\t\t\t\t// find if user has any pages accessible\n\t\t\t\tconst aPages = (await oPanel.getUserAvailablePages()) || [];\n\t\t\t\tif (aPages.length) {\n\t\t\t\t\tthis._pagesAvailable = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t//if user has no available pages and no news feed, then block the section\n\t\tif (!this._pagesAvailable && !this._isCustomNews) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Check whether For Me Today section is blocked or not\n\t * @private\n\t */\n\tprivate checkToDoBlocked(toDoContainer: BaseContainer): boolean {\n\t\tif (!toDoContainer.getVisible()) {\n\t\t\tconst panels = toDoContainer.getContent();\n\t\t\tif (panels.length === 0) {\n\t\t\t\tthis._toDoAccessible = false;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Sets up the key user settings dialog for the layout.\n\t *\n\t * @private\n\t */\n\tprivate _setupKeyUserSettingsDialog(): void {\n\t\tconst keyUserSettingsDialog = this.getAggregation(\"keyUserSettingsDialog\") as BaseSettingsDialog;\n\t\tif (!keyUserSettingsDialog) {\n\t\t\tconst defaultKeyUserSettingsDialog = new KeyUserSettingsDialog(`${this.getId()}-keyUser-settings-dialog`);\n\n\t\t\t// Add Key User Layout Settings Panel\n\t\t\tconst keyUserLayoutSettingsPanel = new KeyUserLayoutSettingsPanel(`${this.getId()}-keyUser-layout-settings`);\n\t\t\tkeyUserLayoutSettingsPanel.setAssociation(\"panel\", this);\n\t\t\tdefaultKeyUserSettingsDialog.addPanel(keyUserLayoutSettingsPanel);\n\n\t\t\t// Add News and Pages Settings Panel If News and Pages Container is available\n\t\t\t(this.getItems() || []).forEach((container: BaseContainer) => {\n\t\t\t\tif (container instanceof NewsAndPagesContainer) {\n\t\t\t\t\tconst keyUserNewsPagesSettingsPanel = new KeyUserNewsPagesSettingsPanel(`${this.getId()}-keyUser-news-pages-settings`);\n\t\t\t\t\t// Set any panel of the containet to the settings panel as association\n\t\t\t\t\tkeyUserNewsPagesSettingsPanel.setAssociation(\"panel\", container.getContent()?.[0]);\n\t\t\t\t\tdefaultKeyUserSettingsDialog.addPanel(keyUserNewsPagesSettingsPanel);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.setAggregation(\"keyUserSettingsDialog\", defaultKeyUserSettingsDialog);\n\t\t}\n\t}\n\n\t/**\n\t * Return the pages availability value\n\t * @private\n\t */\n\tpublic getpagesAvailable(): boolean {\n\t\treturn this._pagesAvailable;\n\t}\n\n\t/**\n\t * Return the To-Dos availability value\n\t * @private\n\t */\n\tpublic isToDoAccessible(): boolean {\n\t\treturn this._toDoAccessible;\n\t}\n\n\t/**\n\t * Return whether customNews available or not\n\t */\n\tpublic customNewAvailable(): boolean {\n\t\treturn this._isCustomNews;\n\t}\n\n\t/**\n\t * Returns the set of sections present within the layout\n\t *\n\t * @private\n\t */\n\tpublic getSections(): IElement[] {\n\t\treturn this._aOrderedSections!;\n\t}\n\n\t/**\n\t * Sets the sections present within the layout\n\t *\n\t * @private\n\t */\n\tpublic setSections(sections: IElement[]): void {\n\t\tthis._aOrderedSections = sections;\n\t}\n\n\t/**\n\t * Resets the ordered sections of the layout.\n\t *\n\t * @private\n\t */\n\tpublic resetSections(): void {\n\t\tthis._prepareLayoutData();\n\t}\n\n\t/**\n\t * Sets up the content addition dialog for the layout.\n\t *\n\t * @private\n\t */\n\tprivate _setupContentAdditionDialog(): void {\n\t\tlet contentAdditionDialog = this.getAggregation(\"contentAdditionDialog\") as ContentAdditionDialog;\n\t\tif (!contentAdditionDialog) {\n\t\t\tcontentAdditionDialog = new ContentAdditionDialog(`${this.getId()}-content-addition-dialog`);\n\t\t\tthis.setAggregation(\"contentAdditionDialog\", contentAdditionDialog);\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -49,7 +49,6 @@ interface IElement {
49
49
  }
50
50
 
51
51
  export interface UserActionProperties {
52
- id: string;
53
52
  icon: string;
54
53
  text: string;
55
54
  tooltip: string;
@@ -131,7 +130,6 @@ export default class Layout extends BaseLayout {
131
130
  // Configure User Actions
132
131
  const userActions: UserActionProperties[] = [
133
132
  {
134
- id: `${this.getId()}-homeSettingsBtn`,
135
133
  icon: "sap-icon://edit",
136
134
  text: this._i18nBundle.getText("myHomeSettings") as string,
137
135
  tooltip: this._i18nBundle.getText("myHomeSettings") as string,
@@ -1,14 +1,20 @@
1
1
  declare module "sap/cux/home/NewsAndPagesContainer" {
2
2
  import type { MetadataOptions } from "sap/ui/core/Element";
3
3
  import BaseContainer from "sap/cux/home/BaseContainer";
4
+ import BasePanel from "sap/cux/home/BasePanel";
4
5
  import type { $NewsAndPagesContainerSettings } from "sap/cux/home/NewsAndPagesContainer";
5
6
  import { INewsFeedVisibiliyChange, INewsPersData } from "sap/cux/home/interface/KeyUserInterface";
7
+ import { NewsType } from "sap/cux/home/library";
6
8
  interface IpanelLoaded {
7
9
  [key: string]: {
8
10
  loaded: boolean;
9
11
  count: number;
10
12
  };
11
13
  }
14
+ interface EndUserChangeStatus {
15
+ isEndUser: boolean;
16
+ newsType: NewsType;
17
+ }
12
18
  /**
13
19
  *
14
20
  * Container class for managing and storing News and Pages.
@@ -29,12 +35,13 @@ declare module "sap/cux/home/NewsAndPagesContainer" {
29
35
  apiVersion: number;
30
36
  render: (rm: import("sap/ui/core/RenderManager").default, control: BaseContainer) => void;
31
37
  renderContent: (rm: import("sap/ui/core/RenderManager").default, control: BaseContainer) => void;
32
- renderCustomPlaceholder: (rm: import("sap/ui/core/RenderManager").default, control: BaseContainer) => void;
33
38
  };
34
39
  static readonly metadata: MetadataOptions;
35
40
  private panelLoaded;
36
41
  private pagePanel;
37
42
  private newsPanel;
43
+ private keyUserChange;
44
+ private isEndUserChange;
38
45
  constructor(id?: string | $NewsAndPagesContainerSettings);
39
46
  constructor(id?: string, settings?: $NewsAndPagesContainerSettings);
40
47
  /**
@@ -52,6 +59,20 @@ declare module "sap/cux/home/NewsAndPagesContainer" {
52
59
  * @override
53
60
  */
54
61
  load(): Promise<void>;
62
+ /**
63
+ * Marks the change as an end-user change if the content is a NewsPanel with a URL and no key user changes exist.
64
+ *
65
+ * @private
66
+ * @param {BasePanel} oContent - The content panel to evaluate, typically of type `sap.cux.home.NewsPanel`.
67
+ */
68
+ checkEndUserChanges(oContent: BasePanel): void;
69
+ /**
70
+ * Returns the current end-user change status.
71
+ *
72
+ * @private
73
+ * @returns {EndUserChangeStatus} An object containing the end-user change flag and the news type.
74
+ */
75
+ getIsEndUserChange(): EndUserChangeStatus;
55
76
  newsVisibilityChangeHandler(personalization: INewsFeedVisibiliyChange): void;
56
77
  newsPersonalization(personalizations: INewsPersData): void;
57
78
  panelLoadedFn(sPanelType: string, oVal: {
@@ -1 +1 @@
1
- {"version":3,"file":"NewsAndPagesContainer.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/NewsAndPagesContainer.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,oCAAoC,CAAC;IAOpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAC3D,OAAO,aAAa,MAAM,4BAA4B,CAAC;IAEvD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;IAIzF,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAA6B,MAAM,yCAAyC,CAAC;IAI7H,UAAU,YAAY;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,MAAM,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAClD;IAED;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,aAAa;QAC/D,MAAM,CAAC,QAAQ;;;;;UAGb;QACF,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAevC;QAEF,OAAO,CAAC,WAAW,CAAoB;QACvC,OAAO,CAAC,SAAS,CAAa;QAC9B,OAAO,CAAC,SAAS,CAAa;oBAElB,EAAE,CAAC,EAAE,MAAM,GAAG,8BAA8B;oBAC5C,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,8BAA8B;QAWlE;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAenB;;;;;;WAMG;QACU,IAAI;QA2DV,2BAA2B,CAAC,eAAe,EAAE,wBAAwB;QAuBrE,mBAAmB,CAAC,gBAAgB,EAAE,aAAa;QAmCnD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;YAAE,MAAM,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE;QAc1E,iBAAiB,CAAC,kBAAkB,EAAE,OAAO;QAwCpD;;;;;WAKG;QACI,YAAY;QAmBnB;;;;WAIG;QACH,SAAS,CAAC,4BAA4B,IAAI,MAAM;KAGhD;CAEA"}
1
+ {"version":3,"file":"NewsAndPagesContainer.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/NewsAndPagesContainer.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,oCAAoC,CAAC;IAOpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAC3D,OAAO,aAAa,MAAM,4BAA4B,CAAC;IACvD,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAC/C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;IAIzF,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAA6B,MAAM,yCAAyC,CAAC;IAC7H,OAAO,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;IAGjE,UAAU,YAAY;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,MAAM,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAClD;IAED,UAAU,mBAAmB;QAC5B,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,QAAQ,CAAC;KACnB;IAED;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,aAAa;QAC/D,MAAM,CAAC,QAAQ;;;;UAGb;QACF,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAevC;QAEF,OAAO,CAAC,WAAW,CAAoB;QACvC,OAAO,CAAC,SAAS,CAAa;QAC9B,OAAO,CAAC,SAAS,CAAa;QAC9B,OAAO,CAAC,aAAa,CAAkB;QACvC,OAAO,CAAC,eAAe,CAAsE;oBAEjF,EAAE,CAAC,EAAE,MAAM,GAAG,8BAA8B;oBAC5C,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,8BAA8B;QAWlE;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAenB;;;;;;WAMG;QACU,IAAI;QA8DjB;;;;;WAKG;QACI,mBAAmB,CAAC,QAAQ,EAAE,SAAS;QAM9C;;;;;UAKK;QACK,kBAAkB,IAAG,mBAAmB;QAI3C,2BAA2B,CAAC,eAAe,EAAE,wBAAwB;QAgBrE,mBAAmB,CAAC,gBAAgB,EAAE,aAAa;QA2CnD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;YAAE,MAAM,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE;QAc1E,iBAAiB,CAAC,kBAAkB,EAAE,OAAO;QAwCpD;;;;;WAKG;QACI,YAAY;QAmBnB;;;;WAIG;QACH,SAAS,CAAC,4BAA4B,IAAI,MAAM;KAGhD;CAEA"}
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["./BaseContainer", "./NewsAndPagesContainerGenericPlaceholder", "./library", "./utils/Device"], function (__BaseContainer, ___NewsAndPagesContainerGenericPlaceholder, ___library, ___utils_Device) {
5
+ sap.ui.define(["./BaseContainer", "./utils/placeholder/NewsAndPagesPlaceholder", "./library", "./utils/Device"], function (__BaseContainer, ___utils_placeholder_NewsAndPagesPlaceholder, ___library, ___utils_Device) {
6
6
  "use strict";
7
7
 
8
8
  function _interopRequireDefault(obj) {
@@ -163,7 +163,8 @@ sap.ui.define(["./BaseContainer", "./NewsAndPagesContainerGenericPlaceholder", "
163
163
  return body(values[i]);
164
164
  }, check);
165
165
  }
166
- const getNewsPagesPlaceholder = ___NewsAndPagesContainerGenericPlaceholder["getNewsPagesPlaceholder"];
166
+ const getNewsPagesPlaceholder = ___utils_placeholder_NewsAndPagesPlaceholder["getNewsPagesPlaceholder"];
167
+ const NewsType = ___library["NewsType"];
167
168
  const OrientationType = ___library["OrientationType"];
168
169
  const DeviceType = ___utils_Device["DeviceType"];
169
170
  /**
@@ -226,6 +227,11 @@ sap.ui.define(["./BaseContainer", "./NewsAndPagesContainerGenericPlaceholder", "
226
227
  constructor: function _constructor(id, settings) {
227
228
  BaseContainer.prototype.constructor.call(this, id, settings);
228
229
  this.panelLoaded = {};
230
+ this.keyUserChange = false;
231
+ this.isEndUserChange = {
232
+ isEndUser: false,
233
+ newsType: NewsType.None
234
+ };
229
235
  },
230
236
  /**
231
237
  * Init lifecycle method
@@ -251,6 +257,9 @@ sap.ui.define(["./BaseContainer", "./NewsAndPagesContainerGenericPlaceholder", "
251
257
  const _this = this;
252
258
  const aContent = _this.getContent();
253
259
  const _temp = _forOf(aContent, function (oContent) {
260
+ if (!_this.keyUserChange) {
261
+ _this.checkEndUserChanges(oContent);
262
+ }
254
263
  return Promise.resolve(oContent.getData()).then(function () {
255
264
  // If the newsVisibilityChangeHandler is invoked before the data is loaded,
256
265
  // it may result in the news panel being incorrectly displayed if it was already set hidden by the handler.
@@ -308,6 +317,26 @@ sap.ui.define(["./BaseContainer", "./NewsAndPagesContainerGenericPlaceholder", "
308
317
  });
309
318
  return this;
310
319
  },
320
+ /**
321
+ * Marks the change as an end-user change if the content is a NewsPanel with a URL and no key user changes exist.
322
+ *
323
+ * @private
324
+ * @param {BasePanel} oContent - The content panel to evaluate, typically of type `sap.cux.home.NewsPanel`.
325
+ */
326
+ checkEndUserChanges: function _checkEndUserChanges(oContent) {
327
+ if (oContent.getMetadata().getName() === "sap.cux.home.NewsPanel" && oContent.getProperty("url") && !this.keyUserChange) {
328
+ this.isEndUserChange.isEndUser = true;
329
+ }
330
+ },
331
+ /**
332
+ * Returns the current end-user change status.
333
+ *
334
+ * @private
335
+ * @returns {EndUserChangeStatus} An object containing the end-user change flag and the news type.
336
+ */
337
+ getIsEndUserChange: function _getIsEndUserChange() {
338
+ return this.isEndUserChange;
339
+ },
311
340
  newsVisibilityChangeHandler: function _newsVisibilityChangeHandler(personalization) {
312
341
  const aContent = this.getContent();
313
342
  aContent.forEach(oContent => {
@@ -316,13 +345,6 @@ sap.ui.define(["./BaseContainer", "./NewsAndPagesContainerGenericPlaceholder", "
316
345
  if (personalization.isNewsFeedVisible) {
317
346
  this.setProperty("newsFeedVisibility", true);
318
347
  this._getPanelContentWrapper(newsPanel).setVisible(true);
319
- // if only newsfeed visibility is set true and all inner properties are empty hide the news panel
320
- const url = newsPanel.getProperty("url");
321
- const showCustom = Boolean(newsPanel.getProperty("showCustom"));
322
- const showDefault = Boolean(newsPanel.getProperty("showDefault"));
323
- if (!showCustom && !showDefault && !url) {
324
- this._getPanelContentWrapper(newsPanel).setVisible(false);
325
- }
326
348
  } else {
327
349
  this.setProperty("newsFeedVisibility", false);
328
350
  this._getPanelContentWrapper(newsPanel).setVisible(false);
@@ -332,28 +354,34 @@ sap.ui.define(["./BaseContainer", "./NewsAndPagesContainerGenericPlaceholder", "
332
354
  },
333
355
  newsPersonalization: function _newsPersonalization(personalizations) {
334
356
  const aContent = this.getContent();
357
+ let type;
335
358
  aContent.forEach(oContent => {
336
- if (oContent.getMetadata().getName() === "sap.cux.home.NewsPanel") {
359
+ this.checkEndUserChanges(oContent);
360
+ if (oContent.getMetadata().getName() === "sap.cux.home.NewsPanel" && !this.isEndUserChange.isEndUser) {
337
361
  let newsPanel = oContent;
338
362
  const newsFeedVisibility = Boolean(this.getProperty("newsFeedVisibility"));
363
+ this.keyUserChange = true;
364
+ if (personalizations.showCustomNewsFeed) {
365
+ type = NewsType.Custom;
366
+ } else if (personalizations.showRssNewsFeed) {
367
+ type = NewsType.NewsUrl;
368
+ } else {
369
+ type = NewsType.Default;
370
+ }
371
+ newsPanel.setProperty("type", type);
339
372
  newsPanel.setProperty("url", personalizations.newsFeedURL);
340
- newsPanel.setProperty("showCustom", personalizations.showCustomNewsFeed);
341
373
  newsPanel.setProperty("customFeedKey", personalizations.customNewsFeedKey);
342
374
  newsPanel.setProperty("customFileName", personalizations.customNewsFeedFileName);
343
- newsPanel.setProperty("showDefault", !!personalizations.showDefaultNewsFeed); //should always be boolean else default value is considered
344
-
345
375
  if (newsFeedVisibility) {
346
376
  const url = personalizations.newsFeedURL;
347
377
  this._getPanelContentWrapper(newsPanel).setVisible(true);
348
378
  const customFeedKey = String(newsPanel.getProperty("customFeedKey"));
349
- const showCustom = Boolean(newsPanel.getProperty("showCustom"));
350
- const showDefault = Boolean(newsPanel.getProperty("showDefault"));
351
- if (showCustom && customFeedKey) {
379
+ if (personalizations.showCustomNewsFeed && customFeedKey) {
352
380
  newsPanel.setProperty("newsAvailable", true);
353
381
  void newsPanel.setCustomNewsFeed(customFeedKey);
354
- } else if (!showCustom && showDefault) {
355
- void newsPanel.setDefaultNews(showDefault, true);
356
- } else if (!showCustom && !showDefault && url) {
382
+ } else if (personalizations.showDefaultNewsFeed) {
383
+ void newsPanel.setDefaultNews();
384
+ } else if (personalizations.showRssNewsFeed && url) {
357
385
  void newsPanel.setURL(url);
358
386
  } else {
359
387
  this._getPanelContentWrapper(newsPanel).setVisible(false);
@@ -1 +1 @@
1
- {"version":3,"file":"NewsAndPagesContainer.js","names":["sap","ui","define","__BaseContainer","___NewsAndPagesContainerGenericPlaceholder","___library","___utils_Device","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","BaseContainer","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","getNewsPagesPlaceholder","OrientationType","DeviceType","NewsAndPagesContainer","extend","metadata","properties","colorPersonalizations","type","group","defaultValue","visibility","iconPersonalizations","newsFeedVisibility","renderer","apiVersion","constructor","_constructor","id","settings","BaseContainer.prototype.constructor.call","panelLoaded","init","_init","BaseContainer.prototype.init.call","setProperty","getDeviceType","Desktop","LargeDesktop","XLargeDesktop","Horizontal","Vertical","addCustomSetting","_i18nBundle","getText","load","_load","aContent","getContent","_temp","oContent","Promise","resolve","getData","getProperty","getMetadata","getName","newsPanel","_getPanelContentWrapper","setVisible","setColorPersonalizations","_setColorPersonalizations","personalizations","existingPers","updatedPers","concat","forEach","applyColorPersonalizations","setIconPersonalizations","_setIconPersonalizations","applyIconPersonalizations","newsVisibilityChangeHandler","_newsVisibilityChangeHandler","personalization","isNewsFeedVisible","url","showCustom","Boolean","showDefault","newsPersonalization","_newsPersonalization","newsFeedURL","showCustomNewsFeed","customNewsFeedKey","customNewsFeedFileName","showDefaultNewsFeed","customFeedKey","String","setCustomNewsFeed","setDefaultNews","setURL","panelLoadedFn","_panelLoadedFn","sPanelType","oVal","pagePanel","adjustLayout","adjustStyleLayout","_adjustStyleLayout","bIsNewsTileVisible","sDeviceType","newsContentWrapper","undefined","pagesContentWrapper","containerWrapper","_getInnerControl","setWidth","setAlignItems","setDirection","addStyleClass","Tablet","setJustifyContent","removeStyleClass","setTimeout","attachResizeHandler","getDomRef","clientWidth","_adjustLayout","getVisible","loaded","removeContent","getGenericPlaceholderContent","_getGenericPlaceholderContent"],"sources":["NewsAndPagesContainer.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport FlexBox from \"sap/m/FlexBox\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport BaseContainer from \"./BaseContainer\";\nimport BasePanel from \"./BasePanel\";\nimport type { $NewsAndPagesContainerSettings } from \"./NewsAndPagesContainer\";\nimport { getNewsPagesPlaceholder } from \"./NewsAndPagesContainerGenericPlaceholder\";\nimport NewsPanel from \"./NewsPanel\";\nimport PagePanel from \"./PagePanel\";\nimport { INewsFeedVisibiliyChange, INewsPersData, ISpacePagePersonalization } from \"./interface/KeyUserInterface\";\nimport { OrientationType } from \"./library\";\nimport { DeviceType } from \"./utils/Device\";\n\ninterface IpanelLoaded {\n\t[key: string]: { loaded: boolean; count: number };\n}\n\n/**\n *\n * Container class for managing and storing News and Pages.\n *\n * @extends BaseContainer\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @public\n *\n * @alias sap.cux.home.NewsAndPagesContainer\n */\n\nexport default class NewsAndPagesContainer extends BaseContainer {\n\tstatic renderer = {\n\t\t...BaseContainer.renderer,\n\t\tapiVersion: 2\n\t};\n\tstatic readonly metadata: MetadataOptions = {\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Color Personalizations for Spaces & Pages\n\t\t\t */\n\t\t\tcolorPersonalizations: { type: \"array\", group: \"Misc\", defaultValue: [], visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Icon Personalizations for Spaces & Pages\n\t\t\t */\n\t\t\ticonPersonalizations: { type: \"array\", group: \"Misc\", defaultValue: [], visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * News feed visibility flag\n\t\t\t */\n\t\t\tnewsFeedVisibility: { type: \"boolean\", group: \"Misc\", defaultValue: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\tprivate panelLoaded: IpanelLoaded = {};\n\tprivate pagePanel!: PagePanel;\n\tprivate newsPanel!: NewsPanel;\n\n\tconstructor(id?: string | $NewsAndPagesContainerSettings);\n\tconstructor(id?: string, settings?: $NewsAndPagesContainerSettings);\n\t/**\n\t * Constructor for the new News and Pages container.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $NewsAndPagesContainerSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\t\tthis.panelLoaded = {};\n\n\t\tthis.setProperty(\n\t\t\t\"orientation\",\n\t\t\tthis.getDeviceType() === DeviceType.Desktop ||\n\t\t\t\tthis.getDeviceType() === DeviceType.LargeDesktop ||\n\t\t\t\tthis.getDeviceType() === DeviceType.XLargeDesktop\n\t\t\t\t? OrientationType.Horizontal\n\t\t\t\t: OrientationType.Vertical\n\t\t);\n\t\tthis.addCustomSetting(\"title\", this._i18nBundle.getText(\"myInterestMsg\") as string);\n\t}\n\n\t/**\n\t * Loads the News and Pages section.\n\t * Overrides the load method of the BaseContainer.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic async load() {\n\t\tconst aContent = this.getContent() as PagePanel[] | NewsPanel[];\n\t\tfor (const oContent of aContent) {\n\t\t\tawait oContent.getData();\n\n\t\t\t// If the newsVisibilityChangeHandler is invoked before the data is loaded,\n\t\t\t// it may result in the news panel being incorrectly displayed if it was already set hidden by the handler.\n\t\t\t// newsFeedVisibility is set as false, then hide the news panel\n\t\t\tconst newsFeedVisibility = this.getProperty(\"newsFeedVisibility\") as boolean;\n\t\t\t// if newsFeedVisibility is false, hide the news panel\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\" && !newsFeedVisibility) {\n\t\t\t\tlet newsPanel = oContent as NewsPanel;\n\t\t\t\tif (newsPanel) {\n\t\t\t\t\tthis._getPanelContentWrapper(newsPanel).setVisible(false);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sets property value for colorPersonalization.\n\t * Overridden to update cached personalizations.\n\t *\n\t * @private\n\t * @override\n\t * @returns {NewsAndPagesContainer} the container for chaining\n\t */\n\tsetColorPersonalizations(personalizations: Array<ISpacePagePersonalization>): NewsAndPagesContainer {\n\t\tconst existingPers = (this.getProperty(\"colorPersonalizations\") as ISpacePagePersonalization[]) || [];\n\t\tconst updatedPers = existingPers.concat(personalizations);\n\t\tthis.setProperty(\"colorPersonalizations\", updatedPers);\n\t\tthis.getContent().forEach((oContent) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.PagePanel\") {\n\t\t\t\t(oContent as PagePanel).applyColorPersonalizations(updatedPers);\n\t\t\t}\n\t\t});\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets property value for iconPersonalization.\n\t * Overridden to update cached personalizations.\n\t *\n\t * @private\n\t * @override\n\t * @returns {NewsAndPagesContainer} the container for chaining\n\t */\n\tsetIconPersonalizations(personalizations: Array<ISpacePagePersonalization>): NewsAndPagesContainer {\n\t\tconst existingPers = (this.getProperty(\"iconPersonalizations\") as ISpacePagePersonalization[]) || [];\n\t\tconst updatedPers = existingPers.concat(personalizations);\n\t\tthis.setProperty(\"iconPersonalizations\", updatedPers);\n\t\tthis.getContent().forEach((oContent) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.PagePanel\") {\n\t\t\t\t(oContent as PagePanel).applyIconPersonalizations(updatedPers);\n\t\t\t}\n\t\t});\n\t\treturn this;\n\t}\n\n\tpublic newsVisibilityChangeHandler(personalization: INewsFeedVisibiliyChange) {\n\t\tconst aContent = this.getContent();\n\t\taContent.forEach((oContent: BasePanel) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\") {\n\t\t\t\tlet newsPanel = oContent as NewsPanel;\n\t\t\t\tif (personalization.isNewsFeedVisible) {\n\t\t\t\t\tthis.setProperty(\"newsFeedVisibility\", true);\n\t\t\t\t\tthis._getPanelContentWrapper(newsPanel).setVisible(true);\n\t\t\t\t\t// if only newsfeed visibility is set true and all inner properties are empty hide the news panel\n\t\t\t\t\tconst url = newsPanel.getProperty(\"url\") as string;\n\t\t\t\t\tconst showCustom = Boolean(newsPanel.getProperty(\"showCustom\"));\n\t\t\t\t\tconst showDefault = Boolean(newsPanel.getProperty(\"showDefault\"));\n\t\t\t\t\tif (!showCustom && !showDefault && !url) {\n\t\t\t\t\t\tthis._getPanelContentWrapper(newsPanel).setVisible(false);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.setProperty(\"newsFeedVisibility\", false);\n\t\t\t\t\tthis._getPanelContentWrapper(newsPanel).setVisible(false);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic newsPersonalization(personalizations: INewsPersData) {\n\t\tconst aContent = this.getContent();\n\t\taContent.forEach((oContent: BasePanel) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\") {\n\t\t\t\tlet newsPanel = oContent as NewsPanel;\n\t\t\t\tconst newsFeedVisibility = Boolean(this.getProperty(\"newsFeedVisibility\"));\n\n\t\t\t\tnewsPanel.setProperty(\"url\", personalizations.newsFeedURL);\n\t\t\t\tnewsPanel.setProperty(\"showCustom\", personalizations.showCustomNewsFeed);\n\t\t\t\tnewsPanel.setProperty(\"customFeedKey\", personalizations.customNewsFeedKey);\n\t\t\t\tnewsPanel.setProperty(\"customFileName\", personalizations.customNewsFeedFileName);\n\t\t\t\tnewsPanel.setProperty(\"showDefault\", !!personalizations.showDefaultNewsFeed); //should always be boolean else default value is considered\n\n\t\t\t\tif (newsFeedVisibility) {\n\t\t\t\t\tconst url = personalizations.newsFeedURL;\n\t\t\t\t\tthis._getPanelContentWrapper(newsPanel).setVisible(true);\n\t\t\t\t\tconst customFeedKey = String(newsPanel.getProperty(\"customFeedKey\"));\n\t\t\t\t\tconst showCustom = Boolean(newsPanel.getProperty(\"showCustom\"));\n\t\t\t\t\tconst showDefault = Boolean(newsPanel.getProperty(\"showDefault\"));\n\t\t\t\t\tif (showCustom && customFeedKey) {\n\t\t\t\t\t\tnewsPanel.setProperty(\"newsAvailable\", true);\n\t\t\t\t\t\tvoid newsPanel.setCustomNewsFeed(customFeedKey);\n\t\t\t\t\t} else if (!showCustom && showDefault) {\n\t\t\t\t\t\tvoid newsPanel.setDefaultNews(showDefault, true);\n\t\t\t\t\t} else if (!showCustom && !showDefault && url) {\n\t\t\t\t\t\tvoid newsPanel.setURL(url);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._getPanelContentWrapper(newsPanel).setVisible(false);\n\t\t\t\t\t\tthis.setProperty(\"newsFeedVisibility\", false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic panelLoadedFn(sPanelType: string, oVal: { loaded: boolean; count: number }) {\n\t\t// same issue of panelwrapper not available at this time\n\t\tconst aContent = this.getContent();\n\t\taContent.forEach((oContent: BasePanel) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.PagePanel\") {\n\t\t\t\tthis.pagePanel = oContent as PagePanel;\n\t\t\t} else if (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\") {\n\t\t\t\tthis.newsPanel = oContent as NewsPanel;\n\t\t\t}\n\t\t});\n\t\tthis.panelLoaded[sPanelType] = oVal;\n\t\tthis.adjustLayout();\n\t}\n\n\tpublic adjustStyleLayout(bIsNewsTileVisible: boolean) {\n\t\tconst sDeviceType = this.getDeviceType();\n\t\tconst newsContentWrapper = this.newsPanel ? this._getPanelContentWrapper(this.newsPanel) : undefined;\n\t\tconst pagesContentWrapper = this.pagePanel ? this._getPanelContentWrapper(this.pagePanel) : undefined;\n\t\tconst containerWrapper = this._getInnerControl() as FlexBox;\n\t\tif (bIsNewsTileVisible) {\n\t\t\tthis.newsPanel.adjustLayout();\n\t\t}\n\t\tif (sDeviceType === DeviceType.Desktop || sDeviceType === DeviceType.LargeDesktop || sDeviceType === DeviceType.XLargeDesktop) {\n\t\t\tif (bIsNewsTileVisible) {\n\t\t\t\tpagesContentWrapper?.setWidth(\"100%\");\n\t\t\t}\n\t\t\tcontainerWrapper?.setAlignItems(\"Center\");\n\t\t\tcontainerWrapper?.setDirection(\"Row\");\n\t\t\tnewsContentWrapper?.setWidth(\"100%\");\n\t\t\tnewsContentWrapper?.addStyleClass(\"newsTileMaxWidth\");\n\t\t} else if (sDeviceType === DeviceType.Tablet) {\n\t\t\tpagesContentWrapper?.setWidth(\"100%\");\n\t\t\tpagesContentWrapper?.setJustifyContent(\"Start\");\n\t\t\tnewsContentWrapper?.setWidth(\"calc(100vw - 64px)\");\n\t\t\tnewsContentWrapper?.removeStyleClass(\"newsTileMaxWidth\");\n\t\t\tcontainerWrapper?.setAlignItems(\"Baseline\");\n\t\t\tcontainerWrapper?.setDirection(\"Column\");\n\t\t} else {\n\t\t\tnewsContentWrapper?.setWidth(\"calc(100vw - 16px)\");\n\t\t}\n\n\t\tif (pagesContentWrapper) {\n\t\t\tsetTimeout(\n\t\t\t\tthis.pagePanel.attachResizeHandler.bind(\n\t\t\t\t\tthis.pagePanel,\n\t\t\t\t\tbIsNewsTileVisible,\n\t\t\t\t\tthis.getDomRef()?.clientWidth || 0,\n\t\t\t\t\tpagesContentWrapper,\n\t\t\t\t\tcontainerWrapper\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Adjusts the layout of the all panels in the container.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic adjustLayout() {\n\t\tif (this.pagePanel && this.newsPanel && this._getPanelContentWrapper(this.newsPanel).getVisible()) {\n\t\t\tlet bIsNewsTileVisible = true;\n\t\t\tif (this.panelLoaded[\"Page\"]?.loaded || this.panelLoaded[\"News\"]?.loaded) {\n\t\t\t\t// In case News Panel fails to load remove the panel and apply styles for page to take full width\n\t\t\t\tif (this.panelLoaded[\"News\"]?.loaded === false) {\n\t\t\t\t\tbIsNewsTileVisible = false;\n\t\t\t\t\tthis.removeContent(this.newsPanel);\n\t\t\t\t} else if (this.panelLoaded[\"Page\"]?.loaded === false) {\n\t\t\t\t\tthis.removeContent(this.pagePanel);\n\t\t\t\t}\n\t\t\t\tthis.adjustStyleLayout(bIsNewsTileVisible);\n\t\t\t}\n\t\t} else if (this.pagePanel && this.panelLoaded[\"Page\"]?.loaded) {\n\t\t\t// If News Panel is not present apply styles for page to take full width\n\t\t\tthis.adjustStyleLayout(false);\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves the generic placeholder content for the News and Pages container.\n\t *\n\t * @returns {string} The HTML string representing the News and Pages container's placeholder content.\n\t */\n\tprotected getGenericPlaceholderContent(): string {\n\t\treturn getNewsPagesPlaceholder();\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NewsAndPagesContainer.js","names":["sap","ui","define","__BaseContainer","___utils_placeholder_NewsAndPagesPlaceholder","___library","___utils_Device","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","BaseContainer","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","getNewsPagesPlaceholder","NewsType","OrientationType","DeviceType","NewsAndPagesContainer","extend","metadata","properties","colorPersonalizations","type","group","defaultValue","visibility","iconPersonalizations","newsFeedVisibility","renderer","apiVersion","constructor","_constructor","id","settings","BaseContainer.prototype.constructor.call","panelLoaded","keyUserChange","isEndUserChange","isEndUser","newsType","None","init","_init","BaseContainer.prototype.init.call","setProperty","getDeviceType","Desktop","LargeDesktop","XLargeDesktop","Horizontal","Vertical","addCustomSetting","_i18nBundle","getText","load","_load","aContent","getContent","_temp","oContent","checkEndUserChanges","Promise","resolve","getData","getProperty","getMetadata","getName","newsPanel","_getPanelContentWrapper","setVisible","setColorPersonalizations","_setColorPersonalizations","personalizations","existingPers","updatedPers","concat","forEach","applyColorPersonalizations","setIconPersonalizations","_setIconPersonalizations","applyIconPersonalizations","_checkEndUserChanges","getIsEndUserChange","_getIsEndUserChange","newsVisibilityChangeHandler","_newsVisibilityChangeHandler","personalization","isNewsFeedVisible","newsPersonalization","_newsPersonalization","Boolean","showCustomNewsFeed","Custom","showRssNewsFeed","NewsUrl","Default","newsFeedURL","customNewsFeedKey","customNewsFeedFileName","url","customFeedKey","String","setCustomNewsFeed","showDefaultNewsFeed","setDefaultNews","setURL","panelLoadedFn","_panelLoadedFn","sPanelType","oVal","pagePanel","adjustLayout","adjustStyleLayout","_adjustStyleLayout","bIsNewsTileVisible","sDeviceType","newsContentWrapper","undefined","pagesContentWrapper","containerWrapper","_getInnerControl","setWidth","setAlignItems","setDirection","addStyleClass","Tablet","setJustifyContent","removeStyleClass","setTimeout","attachResizeHandler","getDomRef","clientWidth","_adjustLayout","getVisible","loaded","removeContent","getGenericPlaceholderContent","_getGenericPlaceholderContent"],"sources":["NewsAndPagesContainer.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport FlexBox from \"sap/m/FlexBox\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport BaseContainer from \"./BaseContainer\";\nimport BasePanel from \"./BasePanel\";\nimport type { $NewsAndPagesContainerSettings } from \"./NewsAndPagesContainer\";\nimport { getNewsPagesPlaceholder } from \"./utils/placeholder/NewsAndPagesPlaceholder\";\nimport NewsPanel from \"./NewsPanel\";\nimport PagePanel from \"./PagePanel\";\nimport { INewsFeedVisibiliyChange, INewsPersData, ISpacePagePersonalization } from \"./interface/KeyUserInterface\";\nimport { NewsType, OrientationType } from \"./library\";\nimport { DeviceType } from \"./utils/Device\";\n\ninterface IpanelLoaded {\n\t[key: string]: { loaded: boolean; count: number };\n}\n\ninterface EndUserChangeStatus {\n\tisEndUser: boolean;\n\tnewsType: NewsType;\n}\n\n/**\n *\n * Container class for managing and storing News and Pages.\n *\n * @extends BaseContainer\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @public\n *\n * @alias sap.cux.home.NewsAndPagesContainer\n */\n\nexport default class NewsAndPagesContainer extends BaseContainer {\n\tstatic renderer = {\n\t\t...BaseContainer.renderer,\n\t\tapiVersion: 2\n\t};\n\tstatic readonly metadata: MetadataOptions = {\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Color Personalizations for Spaces & Pages\n\t\t\t */\n\t\t\tcolorPersonalizations: { type: \"array\", group: \"Misc\", defaultValue: [], visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Icon Personalizations for Spaces & Pages\n\t\t\t */\n\t\t\ticonPersonalizations: { type: \"array\", group: \"Misc\", defaultValue: [], visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * News feed visibility flag\n\t\t\t */\n\t\t\tnewsFeedVisibility: { type: \"boolean\", group: \"Misc\", defaultValue: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\tprivate panelLoaded: IpanelLoaded = {};\n\tprivate pagePanel!: PagePanel;\n\tprivate newsPanel!: NewsPanel;\n\tprivate keyUserChange: boolean = false;\n\tprivate isEndUserChange: EndUserChangeStatus = { isEndUser: false, newsType: NewsType.None };\n\n\tconstructor(id?: string | $NewsAndPagesContainerSettings);\n\tconstructor(id?: string, settings?: $NewsAndPagesContainerSettings);\n\t/**\n\t * Constructor for the new News and Pages container.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $NewsAndPagesContainerSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\t\tthis.panelLoaded = {};\n\n\t\tthis.setProperty(\n\t\t\t\"orientation\",\n\t\t\tthis.getDeviceType() === DeviceType.Desktop ||\n\t\t\t\tthis.getDeviceType() === DeviceType.LargeDesktop ||\n\t\t\t\tthis.getDeviceType() === DeviceType.XLargeDesktop\n\t\t\t\t? OrientationType.Horizontal\n\t\t\t\t: OrientationType.Vertical\n\t\t);\n\t\tthis.addCustomSetting(\"title\", this._i18nBundle.getText(\"myInterestMsg\") as string);\n\t}\n\n\t/**\n\t * Loads the News and Pages section.\n\t * Overrides the load method of the BaseContainer.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic async load() {\n\t\tconst aContent = this.getContent() as PagePanel[] | NewsPanel[];\n\t\tfor (const oContent of aContent) {\n\t\t\tif (!this.keyUserChange) {\n\t\t\t\tthis.checkEndUserChanges(oContent);\n\t\t\t}\n\t\t\tawait oContent.getData();\n\n\t\t\t// If the newsVisibilityChangeHandler is invoked before the data is loaded,\n\t\t\t// it may result in the news panel being incorrectly displayed if it was already set hidden by the handler.\n\t\t\t// newsFeedVisibility is set as false, then hide the news panel\n\t\t\tconst newsFeedVisibility = this.getProperty(\"newsFeedVisibility\") as boolean;\n\t\t\t// if newsFeedVisibility is false, hide the news panel\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\" && !newsFeedVisibility) {\n\t\t\t\tlet newsPanel = oContent as NewsPanel;\n\t\t\t\tif (newsPanel) {\n\t\t\t\t\tthis._getPanelContentWrapper(newsPanel).setVisible(false);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sets property value for colorPersonalization.\n\t * Overridden to update cached personalizations.\n\t *\n\t * @private\n\t * @override\n\t * @returns {NewsAndPagesContainer} the container for chaining\n\t */\n\tsetColorPersonalizations(personalizations: Array<ISpacePagePersonalization>): NewsAndPagesContainer {\n\t\tconst existingPers = (this.getProperty(\"colorPersonalizations\") as ISpacePagePersonalization[]) || [];\n\t\tconst updatedPers = existingPers.concat(personalizations);\n\t\tthis.setProperty(\"colorPersonalizations\", updatedPers);\n\t\tthis.getContent().forEach((oContent) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.PagePanel\") {\n\t\t\t\t(oContent as PagePanel).applyColorPersonalizations(updatedPers);\n\t\t\t}\n\t\t});\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets property value for iconPersonalization.\n\t * Overridden to update cached personalizations.\n\t *\n\t * @private\n\t * @override\n\t * @returns {NewsAndPagesContainer} the container for chaining\n\t */\n\tsetIconPersonalizations(personalizations: Array<ISpacePagePersonalization>): NewsAndPagesContainer {\n\t\tconst existingPers = (this.getProperty(\"iconPersonalizations\") as ISpacePagePersonalization[]) || [];\n\t\tconst updatedPers = existingPers.concat(personalizations);\n\t\tthis.setProperty(\"iconPersonalizations\", updatedPers);\n\t\tthis.getContent().forEach((oContent) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.PagePanel\") {\n\t\t\t\t(oContent as PagePanel).applyIconPersonalizations(updatedPers);\n\t\t\t}\n\t\t});\n\t\treturn this;\n\t}\n\n\t/**\n\t * Marks the change as an end-user change if the content is a NewsPanel with a URL and no key user changes exist.\n *\n\t * @private\n\t * @param {BasePanel} oContent - The content panel to evaluate, typically of type `sap.cux.home.NewsPanel`.\n\t */\n\tpublic checkEndUserChanges(oContent: BasePanel) {\n\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\" && oContent.getProperty(\"url\") && !this.keyUserChange) {\n\t\t\tthis.isEndUserChange.isEndUser = true;\n\t\t}\n\t}\n\n\t/**\n * Returns the current end-user change status.\n\t*\n * @private\n * @returns {EndUserChangeStatus} An object containing the end-user change flag and the news type.\n */\n public getIsEndUserChange():EndUserChangeStatus {\n \treturn this.isEndUserChange;\n }\n\n\tpublic newsVisibilityChangeHandler(personalization: INewsFeedVisibiliyChange) {\n\t\tconst aContent = this.getContent();\n\t\taContent.forEach((oContent: BasePanel) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\") {\n\t\t\t\tlet newsPanel = oContent as NewsPanel;\n\t\t\t\tif (personalization.isNewsFeedVisible) {\n\t\t\t\t\tthis.setProperty(\"newsFeedVisibility\", true);\n\t\t\t\t\tthis._getPanelContentWrapper(newsPanel).setVisible(true);\n\t\t\t\t} else {\n\t\t\t\t\tthis.setProperty(\"newsFeedVisibility\", false);\n\t\t\t\t\tthis._getPanelContentWrapper(newsPanel).setVisible(false);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic newsPersonalization(personalizations: INewsPersData) {\n\t\tconst aContent = this.getContent();\n\t\tlet type: NewsType;\n\t\taContent.forEach((oContent: BasePanel) => {\n\t\t\tthis.checkEndUserChanges(oContent);\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\" && !this.isEndUserChange.isEndUser) {\n\t\t\t\tlet newsPanel = oContent as NewsPanel;\n\t\t\t\tconst newsFeedVisibility = Boolean(this.getProperty(\"newsFeedVisibility\"));\n\t\t\t\tthis.keyUserChange = true;\n\n\t\t\t\tif (personalizations.showCustomNewsFeed) {\n\t\t\t\t\ttype = NewsType.Custom;\n\t\t\t\t} else if (personalizations.showRssNewsFeed) {\n\t\t\t\t\ttype = NewsType.NewsUrl;\n\t\t\t\t} else {\n\t\t\t\t\ttype = NewsType.Default;\n\t\t\t\t}\n\t\t\t\tnewsPanel.setProperty(\"type\", type);\n\t\t\t\tnewsPanel.setProperty(\"url\", personalizations.newsFeedURL);\n\t\t\t\tnewsPanel.setProperty(\"customFeedKey\", personalizations.customNewsFeedKey);\n\t\t\t\tnewsPanel.setProperty(\"customFileName\", personalizations.customNewsFeedFileName);\n\n\n\t\t\t\tif (newsFeedVisibility) {\n\t\t\t\t\tconst url = personalizations.newsFeedURL as string;\n\t\t\t\t\tthis._getPanelContentWrapper(newsPanel).setVisible(true);\n\t\t\t\t\tconst customFeedKey = String(newsPanel.getProperty(\"customFeedKey\"));\n\t\t\t\t\tif (personalizations.showCustomNewsFeed && customFeedKey) {\n\t\t\t\t\t\tnewsPanel.setProperty(\"newsAvailable\", true);\n\t\t\t\t\t\tvoid newsPanel.setCustomNewsFeed(customFeedKey);\n\t\t\t\t\t} else if (personalizations.showDefaultNewsFeed) {\n\t\t\t\t\t\tvoid newsPanel.setDefaultNews();\n\t\t\t\t\t} else if (personalizations.showRssNewsFeed && url) {\n\t\t\t\t\t\tvoid newsPanel.setURL(url);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._getPanelContentWrapper(newsPanel).setVisible(false);\n\t\t\t\t\t\tthis.setProperty(\"newsFeedVisibility\", false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic panelLoadedFn(sPanelType: string, oVal: { loaded: boolean; count: number }) {\n\t\t// same issue of panelwrapper not available at this time\n\t\tconst aContent = this.getContent();\n\t\taContent.forEach((oContent: BasePanel) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.PagePanel\") {\n\t\t\t\tthis.pagePanel = oContent as PagePanel;\n\t\t\t} else if (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\") {\n\t\t\t\tthis.newsPanel = oContent as NewsPanel;\n\t\t\t}\n\t\t});\n\t\tthis.panelLoaded[sPanelType] = oVal;\n\t\tthis.adjustLayout();\n\t}\n\n\tpublic adjustStyleLayout(bIsNewsTileVisible: boolean) {\n\t\tconst sDeviceType = this.getDeviceType();\n\t\tconst newsContentWrapper = this.newsPanel ? this._getPanelContentWrapper(this.newsPanel) : undefined;\n\t\tconst pagesContentWrapper = this.pagePanel ? this._getPanelContentWrapper(this.pagePanel) : undefined;\n\t\tconst containerWrapper = this._getInnerControl() as FlexBox;\n\t\tif (bIsNewsTileVisible) {\n\t\t\tthis.newsPanel.adjustLayout();\n\t\t}\n\t\tif (sDeviceType === DeviceType.Desktop || sDeviceType === DeviceType.LargeDesktop || sDeviceType === DeviceType.XLargeDesktop) {\n\t\t\tif (bIsNewsTileVisible) {\n\t\t\t\tpagesContentWrapper?.setWidth(\"100%\");\n\t\t\t}\n\t\t\tcontainerWrapper?.setAlignItems(\"Center\");\n\t\t\tcontainerWrapper?.setDirection(\"Row\");\n\t\t\tnewsContentWrapper?.setWidth(\"100%\");\n\t\t\tnewsContentWrapper?.addStyleClass(\"newsTileMaxWidth\");\n\t\t} else if (sDeviceType === DeviceType.Tablet) {\n\t\t\tpagesContentWrapper?.setWidth(\"100%\");\n\t\t\tpagesContentWrapper?.setJustifyContent(\"Start\");\n\t\t\tnewsContentWrapper?.setWidth(\"calc(100vw - 64px)\");\n\t\t\tnewsContentWrapper?.removeStyleClass(\"newsTileMaxWidth\");\n\t\t\tcontainerWrapper?.setAlignItems(\"Baseline\");\n\t\t\tcontainerWrapper?.setDirection(\"Column\");\n\t\t} else {\n\t\t\tnewsContentWrapper?.setWidth(\"calc(100vw - 16px)\");\n\t\t}\n\n\t\tif (pagesContentWrapper) {\n\t\t\tsetTimeout(\n\t\t\t\tthis.pagePanel.attachResizeHandler.bind(\n\t\t\t\t\tthis.pagePanel,\n\t\t\t\t\tbIsNewsTileVisible,\n\t\t\t\t\tthis.getDomRef()?.clientWidth || 0,\n\t\t\t\t\tpagesContentWrapper,\n\t\t\t\t\tcontainerWrapper\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Adjusts the layout of the all panels in the container.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic adjustLayout() {\n\t\tif (this.pagePanel && this.newsPanel && this._getPanelContentWrapper(this.newsPanel).getVisible()) {\n\t\t\tlet bIsNewsTileVisible = true;\n\t\t\tif (this.panelLoaded[\"Page\"]?.loaded || this.panelLoaded[\"News\"]?.loaded) {\n\t\t\t\t// In case News Panel fails to load remove the panel and apply styles for page to take full width\n\t\t\t\tif (this.panelLoaded[\"News\"]?.loaded === false) {\n\t\t\t\t\tbIsNewsTileVisible = false;\n\t\t\t\t\tthis.removeContent(this.newsPanel);\n\t\t\t\t} else if (this.panelLoaded[\"Page\"]?.loaded === false) {\n\t\t\t\t\tthis.removeContent(this.pagePanel);\n\t\t\t\t}\n\t\t\t\tthis.adjustStyleLayout(bIsNewsTileVisible);\n\t\t\t}\n\t\t} else if (this.pagePanel && this.panelLoaded[\"Page\"]?.loaded) {\n\t\t\t// If News Panel is not present apply styles for page to take full width\n\t\t\tthis.adjustStyleLayout(false);\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves the generic placeholder content for the News and Pages container.\n\t *\n\t * @returns {string} The HTML string representing the News and Pages container's placeholder content.\n\t */\n\tprotected getGenericPlaceholderContent(): string {\n\t\treturn getNewsPagesPlaceholder();\n\t}\n}\n"],"mappings":"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","ignoreList":[]}