@sapui5/sap.suite.ui.generic.template 1.131.1 → 1.133.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 (290) hide show
  1. package/package.json +1 -1
  2. package/src/sap/suite/ui/generic/template/.library +1 -1
  3. package/src/sap/suite/ui/generic/template/AnalyticalListPage/Component.js +0 -4
  4. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/SmartFilterBarExt.js +3 -1
  5. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/SmartKpiTag.js +37 -11
  6. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItem.js +3 -1
  7. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroBar.js +3 -1
  8. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroChart.js +26 -6
  9. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroDonut.js +3 -1
  10. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroLine.js +3 -1
  11. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/SmartVisualFilterBar.js +46 -15
  12. package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/DropDownController.js +42 -17
  13. package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/KpiTagController.js +15 -6
  14. package/src/sap/suite/ui/generic/template/AnalyticalListPage/extensionAPI/ExtensionAPI.js +2 -2
  15. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en_US_saptrc.properties +105 -105
  16. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sk.properties +1 -1
  17. package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +1 -1
  18. package/src/sap/suite/ui/generic/template/AnalyticalListPage/util/AnnotationHelper.js +3 -0
  19. package/src/sap/suite/ui/generic/template/AnalyticalListPage/util/FilterUtil.js +17 -6
  20. package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
  21. package/src/sap/suite/ui/generic/template/ListReport/AnnotationHelperSmartList.js +2 -2
  22. package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +46 -22
  23. package/src/sap/suite/ui/generic/template/ListReport/controller/IappStateHandler.js +18 -2
  24. package/src/sap/suite/ui/generic/template/ListReport/extensionAPI/ExtensionAPI.js +2 -2
  25. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n.properties +1 -4
  26. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ar.properties +1 -3
  27. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_bg.properties +1 -3
  28. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ca.properties +1 -3
  29. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cnr.properties +1 -3
  30. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cs.properties +1 -3
  31. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cy.properties +1 -3
  32. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_da.properties +1 -3
  33. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_de.properties +1 -3
  34. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_el.properties +1 -3
  35. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en.properties +1 -3
  36. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_GB.properties +1 -3
  37. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_US_saprigi.properties +1 -3
  38. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_US_saptrc.properties +58 -58
  39. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es.properties +1 -3
  40. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es_MX.properties +1 -3
  41. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_et.properties +1 -3
  42. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fi.properties +1 -3
  43. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr.properties +1 -3
  44. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr_CA.properties +1 -3
  45. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hi.properties +1 -3
  46. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hr.properties +1 -3
  47. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hu.properties +1 -3
  48. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_id.properties +1 -3
  49. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_it.properties +1 -3
  50. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_iw.properties +1 -3
  51. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ja.properties +1 -3
  52. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_kk.properties +1 -3
  53. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ko.properties +1 -3
  54. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_lt.properties +1 -3
  55. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_lv.properties +1 -3
  56. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_mk.properties +1 -3
  57. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ms.properties +1 -3
  58. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_nl.properties +1 -3
  59. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_no.properties +1 -3
  60. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pl.properties +2 -4
  61. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pt.properties +1 -3
  62. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pt_PT.properties +1 -3
  63. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ro.properties +1 -3
  64. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ru.properties +1 -3
  65. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sh.properties +1 -3
  66. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sk.properties +1 -3
  67. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sl.properties +1 -3
  68. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sr.properties +1 -3
  69. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sv.properties +1 -3
  70. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_th.properties +1 -3
  71. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_tr.properties +1 -3
  72. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_uk.properties +1 -3
  73. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_vi.properties +1 -3
  74. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_zh_CN.properties +1 -3
  75. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_zh_TW.properties +1 -3
  76. package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
  77. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/BreakoutActionButtons.fragment.xml +3 -2
  78. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/FullscreenPage.fragment.xml +1 -1
  79. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartList.fragment.xml +3 -3
  80. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartTable.fragment.xml +2 -1
  81. package/src/sap/suite/ui/generic/template/ObjectPage/Component.js +13 -5
  82. package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +117 -30
  83. package/src/sap/suite/ui/generic/template/ObjectPage/controller/MessageSortingHandler.js +63 -10
  84. package/src/sap/suite/ui/generic/template/ObjectPage/controller/SectionTitleHandler.js +34 -1
  85. package/src/sap/suite/ui/generic/template/ObjectPage/controller/inlineCreationRows/InlineCreationRowsHelper.js +46 -4
  86. package/src/sap/suite/ui/generic/template/ObjectPage/controllerFrameworkExtensions.js +22 -4
  87. package/src/sap/suite/ui/generic/template/ObjectPage/extensionAPI/ExtensionAPI.js +29 -5
  88. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n.properties +37 -6
  89. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ar.properties +25 -5
  90. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_bg.properties +25 -5
  91. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ca.properties +25 -5
  92. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cnr.properties +25 -5
  93. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cs.properties +26 -6
  94. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cy.properties +25 -5
  95. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_da.properties +25 -5
  96. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_de.properties +25 -5
  97. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_el.properties +25 -5
  98. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en.properties +25 -5
  99. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_GB.properties +25 -5
  100. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_US_saprigi.properties +25 -5
  101. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_US_saptrc.properties +95 -95
  102. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es.properties +25 -5
  103. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es_MX.properties +25 -5
  104. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_et.properties +25 -5
  105. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fi.properties +25 -5
  106. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr.properties +25 -5
  107. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr_CA.properties +25 -5
  108. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hi.properties +25 -5
  109. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hr.properties +25 -5
  110. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hu.properties +25 -5
  111. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_id.properties +25 -5
  112. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_it.properties +25 -5
  113. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_iw.properties +25 -5
  114. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ja.properties +25 -5
  115. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_kk.properties +25 -5
  116. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ko.properties +25 -5
  117. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lt.properties +25 -5
  118. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lv.properties +25 -5
  119. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_mk.properties +25 -5
  120. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ms.properties +25 -5
  121. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_nl.properties +25 -5
  122. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_no.properties +25 -5
  123. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pl.properties +25 -5
  124. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt.properties +25 -5
  125. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt_PT.properties +25 -5
  126. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ro.properties +26 -6
  127. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ru.properties +25 -5
  128. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sh.properties +25 -5
  129. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sk.properties +25 -5
  130. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sl.properties +25 -5
  131. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sr.properties +25 -5
  132. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sv.properties +25 -5
  133. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_th.properties +25 -5
  134. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_tr.properties +25 -5
  135. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_uk.properties +27 -7
  136. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_vi.properties +25 -5
  137. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_CN.properties +25 -5
  138. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_TW.properties +25 -5
  139. package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
  140. package/src/sap/suite/ui/generic/template/ObjectPage/view/Details.view.xml +2 -2
  141. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/CRUDActionButtons.fragment.xml +2 -2
  142. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/Footer.fragment.xml +3 -3
  143. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/HeaderContainer.fragment.xml +4 -4
  144. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/HeaderImage.fragment.xml +4 -4
  145. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartChart.fragment.xml +1 -1
  146. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartTable.fragment.xml +3 -2
  147. package/src/sap/suite/ui/generic/template/QuickCreate/i18n/i18n_en_US_saptrc.properties +14 -14
  148. package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
  149. package/src/sap/suite/ui/generic/template/QuickView/i18n/i18n_en_US_saptrc.properties +2 -2
  150. package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
  151. package/src/sap/suite/ui/generic/template/designtime/controls/DynamicPage.designtime.js +198 -193
  152. package/src/sap/suite/ui/generic/template/designtime/controls/ObjectPageLayout.designtime.js +215 -0
  153. package/src/sap/suite/ui/generic/template/designtime/controls/SmartFilterBar.designtime.js +340 -0
  154. package/src/sap/suite/ui/generic/template/designtime/controls/SmartTable.designtime.js +43 -19
  155. package/src/sap/suite/ui/generic/template/designtime/floorplans/AnalyticalListPage.designtime.js +18 -18
  156. package/src/sap/suite/ui/generic/template/designtime/floorplans/ListReport.designtime.js +19 -16
  157. package/src/sap/suite/ui/generic/template/designtime/floorplans/ObjectPage.designtime.js +10 -7
  158. package/src/sap/suite/ui/generic/template/designtime/utils/designtimeHelper.js +52 -37
  159. package/src/sap/suite/ui/generic/template/designtime/utils/designtimeUtils.js +112 -23
  160. package/src/sap/suite/ui/generic/template/detailTemplates/i18n/i18n_en_US_saptrc.properties +6 -6
  161. package/src/sap/suite/ui/generic/template/fragments/BreakoutActions.fragment.xml +2 -2
  162. package/src/sap/suite/ui/generic/template/fragments/DeterminingActions.fragment.xml +3 -2
  163. package/src/sap/suite/ui/generic/template/fragments/DeterminingButton.fragment.xml +18 -20
  164. package/src/sap/suite/ui/generic/template/fragments/EasyFilter.fragment.xml +0 -6
  165. package/src/sap/suite/ui/generic/template/fragments/GlobalActions.fragment.xml +3 -2
  166. package/src/sap/suite/ui/generic/template/fragments/GridTableCells.fragment.xml +7 -6
  167. package/src/sap/suite/ui/generic/template/fragments/HeaderAddress.fragment.xml +2 -1
  168. package/src/sap/suite/ui/generic/template/fragments/HeaderContactWithDetailsPopover.fragment.xml +2 -1
  169. package/src/sap/suite/ui/generic/template/fragments/HeaderDataPointContent.fragment.xml +2 -2
  170. package/src/sap/suite/ui/generic/template/fragments/HeaderForm.fragment.xml +1 -1
  171. package/src/sap/suite/ui/generic/template/fragments/HeaderFormDataField.fragment.xml +14 -7
  172. package/src/sap/suite/ui/generic/template/fragments/HeaderPlainText.fragment.xml +1 -1
  173. package/src/sap/suite/ui/generic/template/fragments/HeaderRatingIndicator.fragment.xml +5 -7
  174. package/src/sap/suite/ui/generic/template/fragments/MessagePopover.fragment.xml +2 -1
  175. package/src/sap/suite/ui/generic/template/fragments/ProgressIndicator.fragment.xml +2 -2
  176. package/src/sap/suite/ui/generic/template/fragments/QuickViewSmartForm.fragment.xml +2 -2
  177. package/src/sap/suite/ui/generic/template/fragments/RatingIndicatorFacet.fragment.xml +2 -2
  178. package/src/sap/suite/ui/generic/template/fragments/SmartFormDataField.fragment.xml +4 -3
  179. package/src/sap/suite/ui/generic/template/fragments/SmartMicroChart.fragment.xml +1 -1
  180. package/src/sap/suite/ui/generic/template/fragments/SmartTableUiTableCommons.fragment.xml +2 -5
  181. package/src/sap/suite/ui/generic/template/fragments/TableCell.fragment.xml +9 -7
  182. package/src/sap/suite/ui/generic/template/fragments/TableColumnListItem.fragment.xml +2 -5
  183. package/src/sap/suite/ui/generic/template/fragments/ToolbarButton.fragment.xml +2 -2
  184. package/src/sap/suite/ui/generic/template/fragments/TreeTableColumns.fragment.xml +4 -3
  185. package/src/sap/suite/ui/generic/template/genericUtilities/controlHelper.js +10 -9
  186. package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartVariantManagementWrapper.js +4 -2
  187. package/src/sap/suite/ui/generic/template/genericUtilities/filterHelper.js +70 -2
  188. package/src/sap/suite/ui/generic/template/genericUtilities/polyFill.js +14 -0
  189. package/src/sap/suite/ui/generic/template/js/AnnotationHelper.js +67 -30
  190. package/src/sap/suite/ui/generic/template/js/AnnotationHelperStreamSupport.js +3 -0
  191. package/src/sap/suite/ui/generic/template/js/QuickTemplates/QuickTemplateComponentFactory.js +25 -14
  192. package/src/sap/suite/ui/generic/template/js/RuntimeFormatters.js +78 -22
  193. package/src/sap/suite/ui/generic/template/lib/AppComponent.js +16 -225
  194. package/src/sap/suite/ui/generic/template/lib/CRUDActionHandler.js +12 -3
  195. package/src/sap/suite/ui/generic/template/lib/CRUDHelper.js +5 -3
  196. package/src/sap/suite/ui/generic/template/lib/CommonEventHandlers.js +24 -5
  197. package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +78 -48
  198. package/src/sap/suite/ui/generic/template/lib/ComponentUtils.js +3 -3
  199. package/src/sap/suite/ui/generic/template/lib/ContextBookkeeping.js +39 -23
  200. package/src/sap/suite/ui/generic/template/lib/FlexibleColumnLayoutHandler.js +13 -5
  201. package/src/sap/suite/ui/generic/template/lib/FlexibleColumnLayoutHelper.js +168 -0
  202. package/src/sap/suite/ui/generic/template/lib/MessageButtonHelper.js +6 -0
  203. package/src/sap/suite/ui/generic/template/lib/MessageStripHelper.js +1 -1
  204. package/src/sap/suite/ui/generic/template/lib/RetryAfterHandler.js +2 -3
  205. package/src/sap/suite/ui/generic/template/lib/ShellPersonalizationService.js +137 -0
  206. package/src/sap/suite/ui/generic/template/lib/SideEffectUtil.js +56 -1
  207. package/src/sap/suite/ui/generic/template/lib/TemplateComponent.js +26 -7
  208. package/src/sap/suite/ui/generic/template/lib/ai/EasyFilterBarHandler.js +91 -36
  209. package/src/sap/suite/ui/generic/template/lib/ai/FioriAIHandler.js +30 -35
  210. package/src/sap/suite/ui/generic/template/lib/deletionHelper.js +10 -2
  211. package/src/sap/suite/ui/generic/template/lib/filterHelper.js +7 -3
  212. package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +9 -15
  213. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +3 -9
  214. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +3 -9
  215. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +3 -9
  216. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +3 -9
  217. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +3 -9
  218. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +3 -9
  219. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +3 -9
  220. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +7 -13
  221. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +3 -9
  222. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +3 -9
  223. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +3 -9
  224. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +7 -11
  225. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saptrc.properties +183 -149
  226. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +6 -12
  227. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +3 -9
  228. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +3 -9
  229. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +3 -9
  230. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +3 -9
  231. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +3 -9
  232. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +3 -9
  233. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +3 -9
  234. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +5 -11
  235. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +3 -9
  236. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +3 -9
  237. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +3 -9
  238. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +3 -9
  239. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +3 -9
  240. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +3 -9
  241. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +3 -9
  242. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +3 -9
  243. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +3 -9
  244. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +3 -9
  245. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +3 -9
  246. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +3 -9
  247. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +3 -9
  248. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +3 -9
  249. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +3 -9
  250. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +3 -9
  251. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +3 -9
  252. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +3 -9
  253. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +3 -9
  254. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +3 -9
  255. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +3 -9
  256. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +3 -9
  257. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +3 -9
  258. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +3 -9
  259. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +3 -9
  260. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +5 -11
  261. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +3 -9
  262. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +3 -9
  263. package/src/sap/suite/ui/generic/template/lib/insights/InsightsCardHelper.js +27 -11
  264. package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +59 -38
  265. package/src/sap/suite/ui/generic/template/lib/presentationControl/SmartTableHandler.js +93 -1
  266. package/src/sap/suite/ui/generic/template/library.js +7 -3
  267. package/src/sap/suite/ui/generic/template/listTemplates/fragments/ChartActions.fragment.xml +4 -3
  268. package/src/sap/suite/ui/generic/template/listTemplates/fragments/DetailSmartTable.fragment.xml +4 -3
  269. package/src/sap/suite/ui/generic/template/listTemplates/i18n/i18n_en_US_saptrc.properties +1 -1
  270. package/src/sap/suite/ui/generic/template/manifestMerger/ChangePageConfiguration.js +4 -1
  271. package/src/sap/suite/ui/generic/template/manifestMerger/MergerUtil.js +27 -1
  272. package/src/sap/suite/ui/generic/template/support/DiagnosticsTool/DiagnosticsTool.js +15 -3
  273. package/src/sap/suite/ui/generic/template/support/DiagnosticsTool/view/DiagnosticsTool.view.xml +0 -24
  274. package/src/sap/suite/ui/generic/template/support/lib/CommonChecks.js +11 -19
  275. package/src/sap/suite/ui/generic/template/themes/base/ObjectPage.less +0 -4
  276. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/ObjectPage.less +0 -4
  277. package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/ObjectPage.less +0 -4
  278. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcb/AnalyticalListPage.less +0 -1
  279. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcw/AnalyticalListPage.less +0 -1
  280. package/src/sap/suite/ui/generic/template/themes/sap_hcb/base_ObjectPage.less +0 -4
  281. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcb/AnalyticalListPage.less +0 -1
  282. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcw/AnalyticalListPage.less +0 -1
  283. package/src/sap/suite/ui/generic/template/fragments/ContactDetailsQuickViewGroup.fragment.xml +0 -36
  284. package/src/sap/suite/ui/generic/template/js/formatters/formatDisplayValueForProgressIndicator.js +0 -28
  285. package/src/sap/suite/ui/generic/template/js/formatters/formatImageUrl.js +0 -21
  286. package/src/sap/suite/ui/generic/template/js/formatters/formatRatingIndicatorAggregateCount.js +0 -21
  287. package/src/sap/suite/ui/generic/template/js/formatters/formatRatingIndicatorFooterText.js +0 -21
  288. package/src/sap/suite/ui/generic/template/js/formatters/formatRatingIndicatorSubTitle.js +0 -21
  289. package/src/sap/suite/ui/generic/template/js/formatters/setInfoHighlight.js +0 -21
  290. package/src/sap/suite/ui/generic/template/js/formatters/setRowNavigated.js +0 -26
@@ -6,13 +6,15 @@
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/util/deepClone",
9
- "sap/base/util/ObjectPath",
10
9
  "sap/suite/ui/generic/template/designtime/utils/designtimeUtils",
10
+ "sap/base/util/ObjectPath",
11
11
  "sap/suite/ui/generic/template/genericUtilities/testableHelper"
12
12
  ],
13
- function (deepClone, ObjectPath, designtimeUtils, testableHelper) {
13
+ function (deepClone, designtimeUtils, ObjectPath, testableHelper) {
14
14
  "use strict";
15
- const { SettingScope } = designtimeUtils;
15
+
16
+ const LIST_REPORT_COMPONENT_NAME = "sap.suite.ui.generic.template.ListReport";
17
+ const ALP_COMPONENT_NAME = "sap.suite.ui.generic.template.AnalyticalListPage";
16
18
 
17
19
  /**
18
20
  * @typedef {Object} DesigntimeSetting
@@ -28,7 +30,7 @@ sap.ui.define([
28
30
  * @property {Partial<DesigntimeSetting>[]} [writeObject] - An array of DesigntimeSetting objects.
29
31
  * @property {string} [writeObjectFor] - The value for which the writeObject should be applied.
30
32
  * @property {boolean} [skipChange] - Indicates if the change should be skipped.
31
-
33
+ * @property {boolean} keyUser - Indicates if the setting is allowed for key user.
32
34
  ===============================================
33
35
  * @typedef {Object} ChangeParameters - Descriptor change parameters.
34
36
  * @property {string} [sScope] - The scope of the manifest setting.
@@ -36,7 +38,7 @@ sap.ui.define([
36
38
  ===============================================
37
39
 
38
40
  * @typedef {Object} ControlInfo
39
- * @property {string} sParentComponentName - The name of the parent component.
41
+ * @property {string} [sParentComponentName] - The name of the parent component.
40
42
  * @extends ChangeParameters
41
43
 
42
44
  * @typedef {ChangeParameters & ControlInfo} ControlChangeParams
@@ -51,40 +53,192 @@ sap.ui.define([
51
53
 
52
54
 
53
55
 
56
+
57
+ /**
58
+ * Retrieves the designtime metadata for the control.
59
+ * @param {Object} oControl - Dynamic Page control
60
+ * @returns {DesigntimeSetting[]} The designtime metadata
61
+ */
62
+ function getAllDesigntimeSettings(oControl) {
63
+
64
+ /**
65
+ * @type {DesigntimeSetting}
66
+ */
67
+ const smartVariantManagement = {
68
+ id: "smartVariantManagement",
69
+ name: "Variant Management",
70
+ description: "Enable Smart Variant Management",
71
+ type: "booleanOrString",
72
+ value: true,
73
+ enums: [
74
+ {
75
+ id: "true",
76
+ name: "Entire Page"
77
+ },
78
+ {
79
+ id: "false",
80
+ name: "Per Control"
81
+ }
82
+ ],
83
+ getPath: () => getSettingsPath("smartVariantManagement"),
84
+ keyUser: true
85
+
86
+ };
87
+
88
+ /**
89
+ * @type {DesigntimeSetting}
90
+ */
91
+ const hideVariantManagement = {
92
+ id: "variantManagementHidden",
93
+ name: "Hide Variant Management",
94
+ description: "Hide Variant Management",
95
+ type: "boolean",
96
+ value: false,
97
+ getPath: () => getSettingsPath("variantManagementHidden"),
98
+ restrictedTo: [LIST_REPORT_COMPONENT_NAME],
99
+ keyUser: true
100
+ };
101
+
102
+ /**
103
+ * @type {DesigntimeSetting}
104
+ */
105
+ const enableTableFilterInPageVariant = {
106
+ id: "enableTableFilterInPageVariant",
107
+ name: "Enable Table Filter in Page Variant",
108
+ description: "Enable Table Filter in Page Variant",
109
+ type: "boolean",
110
+ value: false,
111
+ getPath: () => getSettingsPath("enableTableFilterInPageVariant"),
112
+ keyUser: false
113
+ };
114
+
115
+
116
+ /**
117
+ * @type {DesigntimeSetting}
118
+ * enum for dataLoadSettings - ifFilterExists, always, never
119
+ */
120
+ const initialLoad = {
121
+ id: "loadDataOnAppLaunch",
122
+ name: "Initial Load",
123
+ description: "Initial Load",
124
+ type: "string",
125
+ value: "ifFilterExists",
126
+ enums: [
127
+ {
128
+ id: "ifFilterExists",
129
+ name: "Auto"
130
+ },
131
+ {
132
+ id: "always",
133
+ name: "Enabled"
134
+ },
135
+ {
136
+ id: "never",
137
+ name: "Disabled"
138
+ }
139
+ ],
140
+ getPath: () => "component/settings/dataLoadSettings/loadDataOnAppLaunch",
141
+ keyUser: true
142
+ };
143
+
144
+ /**
145
+ * @type {DesigntimeSetting}
146
+ */
147
+ const openInEditMode = {
148
+ id: "editFlow",
149
+ name: "Open in Edit Mode",
150
+ description: "Define the selection limit",
151
+ value: "display",
152
+ type: "booleanOrStringCheckbox",
153
+ getPath: () => getSettingsPath("editFlow"),
154
+ enums: [
155
+ { id: "direct", name: "true" },
156
+ { id: "display", name: "false" }
157
+
158
+ ],
159
+ restrictedTo: [LIST_REPORT_COMPONENT_NAME],
160
+ keyUser: true
161
+ };
162
+
163
+ /**
164
+ * @type {DesigntimeSetting}
165
+ */
166
+
167
+ const defaultContentView = {
168
+ id: "defaultContentView",
169
+ name: "Default Content View",
170
+ description: "Default Content View",
171
+ type: "string",
172
+ value: "chart",
173
+ enums: [
174
+ {
175
+ id: "charttable",
176
+ name: "Hybrid"
177
+ },
178
+ {
179
+ id: "chart",
180
+ name: "Chart"
181
+ },
182
+ {
183
+ id: "table",
184
+ name: "Table"
185
+ }
186
+
187
+ ],
188
+ getPath: () => getSettingsPath("defaultContentView"),
189
+ restrictedTo:[ALP_COMPONENT_NAME],
190
+ keyUser: true
191
+ };
192
+
193
+ return [
194
+ smartVariantManagement,
195
+ hideVariantManagement,
196
+ enableTableFilterInPageVariant,
197
+ initialLoad,
198
+ openInEditMode,
199
+ defaultContentView
200
+ ];
201
+
202
+ }
203
+
204
+
205
+ function getSettingsPath(name, mControlDetails) {
206
+ return `component/settings/${name}`;
207
+ }
208
+
209
+
210
+
54
211
  /**
55
212
  * Retrieves the runtime adaptation properties based on the allowed design-time settings and global settings.
56
213
  *
57
214
  * @param {Array} aAllowedDesigntimeSettings - The array of allowed design-time settings.
58
- * @param {Object} mGlobalSettings - The global manifest settings object.
215
+ * @param {Object} mLrOrALPSettings - The global manifest settings object.
59
216
  * @returns {Object} - The object containing the runtime adaptation properties.
60
217
  */
61
- function getRuntimeAdapationProperties(aAllowedDesigntimeSettings, mGlobalSettings) {
218
+ function getRuntimeAdapationProperties(aAllowedDesigntimeSettings, mLrOrALPSettings) {
62
219
  const mPropertyValues = {};
63
220
 
64
221
  aAllowedDesigntimeSettings.forEach(oSetting => {
65
222
  const sProperty = oSetting.id;
66
223
  switch (sProperty) {
67
- case "statePreservationMode":
68
- mPropertyValues[sProperty] = mGlobalSettings[sProperty] || oSetting.value;
224
+ case "smartVariantManagement":
225
+ mPropertyValues[sProperty] = mLrOrALPSettings.smartVariantManagement ?? oSetting.value;
69
226
  break;
70
- case "flexibleColumnLayout":
71
- mPropertyValues[sProperty] = !!mGlobalSettings.flexibleColumnLayout || oSetting.value;
227
+ case "variantManagementHidden":
228
+ mPropertyValues[sProperty] = mLrOrALPSettings.variantManagementHidden ?? oSetting.value;
72
229
  break;
73
- case "defaultTwoColumnLayoutType":
74
- const manifestPath = "flexibleColumnLayout.defaultTwoColumnLayoutType";
75
- mPropertyValues[sProperty] = ObjectPath.get(manifestPath, mGlobalSettings) || oSetting.value;
230
+ case "enableTableFilterInPageVariant":
231
+ mPropertyValues[sProperty] = mLrOrALPSettings.enableTableFilterInPageVariant ?? oSetting.value;
76
232
  break;
77
- case "defaultThreeColumnLayoutType":
78
- const manifestPathThreeColumns = "flexibleColumnLayout.defaultThreeColumnLayoutType";
79
- mPropertyValues[sProperty] = ObjectPath.get(manifestPathThreeColumns, mGlobalSettings) || oSetting.value;
233
+ case "loadDataOnAppLaunch":
234
+ mPropertyValues[sProperty] = ObjectPath.get("dataLoadSettings.loadDataOnAppLaunch", mLrOrALPSettings) ?? oSetting.value;
80
235
  break;
81
- case "externalNavigationSettings":
82
- mPropertyValues[sProperty] = mGlobalSettings[sProperty] || oSetting.value;
236
+ case "editFlow":
237
+ mPropertyValues[sProperty] = mLrOrALPSettings.editFlow ?? oSetting.value;
83
238
  break;
84
- case "inboundParameters":
85
- mPropertyValues[sProperty] = mGlobalSettings[sProperty] || oSetting.value;
239
+ case "defaultContentView":
240
+ mPropertyValues[sProperty] = mLrOrALPSettings.defaultContentView ?? oSetting.value;
86
241
  break;
87
-
88
242
  default:
89
243
  break;
90
244
  }
@@ -92,6 +246,9 @@ sap.ui.define([
92
246
  return mPropertyValues;
93
247
  }
94
248
 
249
+
250
+
251
+
95
252
  /**
96
253
  * Opens the dialog for the table configuration.
97
254
  * @param {sap.ui.core.Control} oControl - The control for which the dialog should be opened.
@@ -101,199 +258,47 @@ sap.ui.define([
101
258
  async function fnOpenTableConfigurationDialog(oControl, mPropertyBag) {
102
259
  const oResourceModel = oControl.getModel("i18n");
103
260
  const oComponent = designtimeUtils.getOwnerComponentFor(oControl);
104
- const oAppComponent = oComponent.getAppComponent();
105
261
  const sComponentName = oComponent.getMetadata().getComponentName();
262
+ const mLrOrALPSettings = oComponent.mProperties;
263
+
264
+ // Get all the designtime settings
265
+ const aAllDesigntimeSettings = getAllDesigntimeSettings(oControl);
266
+ // Get the allowed designtime settings based on the floorplan
267
+
268
+ /**
269
+ * @type {DesigntimeSetting[]}
270
+ */
271
+ let aAllowedDesigntimeSettings = designtimeUtils.filterDesigntimeSettingsByFloorPlan(oControl, aAllDesigntimeSettings);
272
+
273
+ // Get the allowed designtime settings based on the adaptation mode (key user or Designtime)
274
+ aAllowedDesigntimeSettings = designtimeUtils.getAllowedDesigntimeSettingsBasedOnAdaptationMode(aAllowedDesigntimeSettings, oComponent);
106
275
 
107
- const aAllowedDesigntimeSettings = getAllowedDesigntimeSettings(oControl);
108
- const mGlobalSettings = designtimeUtils.getSupportedGlobalManifestSettings(oAppComponent);
109
276
 
110
277
  // Get the current values of the properties
111
- const mRuntimeAdaptationPropertyValues = getRuntimeAdapationProperties(aAllowedDesigntimeSettings, mGlobalSettings);
278
+ const mRuntimeAdaptationPropertyValues = getRuntimeAdapationProperties(aAllowedDesigntimeSettings, mLrOrALPSettings);
112
279
  // Save the unchanged data to compare later
113
280
  const mUnchangedData = deepClone(mRuntimeAdaptationPropertyValues);
114
281
  // Get the settings of the dialog from the designtime settings using which the dialog will be created
115
282
  const aItems = designtimeUtils.getSettings(mRuntimeAdaptationPropertyValues, aAllowedDesigntimeSettings);
116
- // Add the scope of the changes
117
- const oScopeControlData = {
118
- type: "string",
119
- "enum": [],
120
- value: SettingScope.Page,
121
- id: "scope",
122
- disabled: false
123
- };
124
- const aChangeScopeOption = [
125
- {
126
- label: "Scope of the changes",
127
- tooltip: "Scope of the changes",
128
- control: [
129
- oScopeControlData
130
- ]
131
- }
132
- ];
133
283
 
134
- // if the allowed designtime settings contain a setting that supports global scope
135
- // then add the global scope option
136
- const bSupportsGlobalScope = aAllowedDesigntimeSettings.some(oSetting => oSetting.bSupportsGlobalScope);
137
- if (bSupportsGlobalScope) {
138
- // @ts-ignore
139
- oScopeControlData.enum.push({ id: SettingScope.Application, name: SettingScope.Application });
284
+ let sDialogTitle = "{i18n>RTA_CONFIGURATION_TITLE_LIST_REPORT}";
285
+ if (sComponentName === "sap.suite.ui.generic.template.AnalyticalListPage") {
286
+ sDialogTitle = "{i18n>RTA_CONFIGURATION_TITLE_ANALYTICAL_LIST_PAGE}";
140
287
  }
141
- // disable the scope control if there is only one option
142
- oScopeControlData.disabled = oScopeControlData.enum.length <= 1;
288
+ const mPropertyValuesEntered = await designtimeUtils.openAdaptionDialog([...aItems], mRuntimeAdaptationPropertyValues, mUnchangedData, sDialogTitle, { width: "650px", height: "800px" }, oResourceModel);
143
289
 
144
- const mPropertyValuesEntered = await designtimeUtils.openAdaptionDialog([...aChangeScopeOption, ...aItems], mRuntimeAdaptationPropertyValues, mUnchangedData, "{i18n>RTA_CONFIGURATION_TITLE_LIST_REPORT}", { width: "650px", height: "800px" }, oResourceModel);
145
-
146
- // if the scope is not set, set it to the default is "Application Scope"
147
- mPropertyValuesEntered["scope"] = mPropertyValuesEntered["scope"] || SettingScope.Application;
148
- mUnchangedData["scope"] = mUnchangedData["scope"] || SettingScope.Application;
149
290
 
150
291
  /**
151
292
  * @type {ControlChangeParams}
152
293
  */
153
294
  const mPathParameters = {
154
- sChangeType: designtimeUtils.ChangeType.ChangePageConfiguration,
155
- sParentComponentName: sComponentName,
156
- sScope: mPropertyValuesEntered["scope"]
295
+ sChangeType: designtimeUtils.ChangeType.ChangePageConfiguration
157
296
  };
158
297
  return designtimeUtils.extractChanges(mPropertyValuesEntered, mUnchangedData, aAllowedDesigntimeSettings, oComponent, mPathParameters);
159
298
 
160
299
  }
161
300
 
162
-
163
- /**
164
- * Retrieves the designtime settings for the Control.
165
- * @param {object} oControl - The Control object.
166
- * @returns {DesigntimeSetting[]} - The designtime settings for the Control.
167
- */
168
- let getAllowedDesigntimeSettings = function getAllowedDesigntimeSettings(oControl) {
169
-
170
- /**
171
- * @type {DesigntimeSetting}
172
- */
173
- const statePreservationMode = {
174
- id: "statePreservationMode",
175
- name: "State Preservation Mode",
176
- description: "The state preservation mode.",
177
- value: "auto",
178
- type: "string",
179
- // "auto" - indicates that "persistence" should be used in FCL and "discovery" in non-FCL case
180
- enums: [
181
- { id: "auto", name: "Auto" },
182
- { id: "persistence", name: "Persistence" },
183
- { id: "discovery", name: "Discovery" }
184
- ],
185
- bSupportsGlobalScope: true,
186
- getPath: (mControlDetails) => {
187
- return "settings/statePreservationMode";
188
- }
189
- };
190
-
191
- /**
192
- * @type {DesigntimeSetting}
193
- */
194
- const flexibleColumnLayout = {
195
- id: "flexibleColumnLayout",
196
- name: "Flexible Column Layout (FCL)",
197
- description: "The flexible column layout.",
198
- type: "booleanOrString",
199
- value: null,
200
- bSupportsGlobalScope: true,
201
- getPath: (mControlDetails) => {
202
- return "settings/flexibleColumnLayout";
203
- },
204
- enums: [
205
- { id: "null", name: "Standard", value: {} },
206
- { id: "object", name: "Flexible Column Layout" }
207
- ],
208
- writeObject: [
209
- {
210
- id: "defaultTwoColumnLayoutType",
211
- getPath: () => "defaultTwoColumnLayoutType",
212
- description: "Select layout for 2 columns"
213
- },
214
- {
215
- id: "defaultThreeColumnLayoutType", getPath: () => "defaultThreeColumnLayoutType",
216
- description: "Select layout for 3 columns"
217
- }
218
- ],
219
- writeObjectFor: "object"
220
- };
221
- /**
222
- * @type {DesigntimeSetting}
223
- */
224
- const fclDefaultTwoColumnLayoutType = {
225
- id: "defaultTwoColumnLayoutType",
226
- name: "FCL / Default Two Column Layout Type",
227
- description: "The default two column layout type.",
228
- type: "string",
229
- value: "TwoColumnsBeginExpanded",
230
- enums: [
231
- { id: "TwoColumnsBeginExpanded", name: "Begin-Expanded" },
232
- { id: "TwoColumnsMidExpanded", name: "Mid-Expanded" }
233
- ],
234
- skipChange: true
235
- };
236
-
237
- /**
238
- * @type {DesigntimeSetting}
239
- */
240
- const fclDefaultThreeColumnLayoutType = {
241
- id: "defaultThreeColumnLayoutType",
242
- name: "FCL / Default Three Column Layout Type",
243
- description: "The default three column layout type.",
244
- type: "string",
245
- value: "ThreeColumnsMidExpanded",
246
- enums: [
247
- { id: "ThreeColumnsMidExpanded", name: "Mid-Expanded" },
248
- { id: "ThreeColumnsEndExpanded", name: "End-Expanded" }
249
- ],
250
- skipChange: true
251
- };
252
-
253
- /**
254
- * @type {DesigntimeSetting}
255
- */
256
- const externalNavigationSettings = {
257
- id: "externalNavigationSettings",
258
- name: "External Navigation Settings",
259
- description: "The external navigation settings.",
260
- type: "json",
261
- value: undefined
262
- };
263
-
264
- /**
265
- * @type {DesigntimeSetting}
266
- */
267
- const inboundParameters = {
268
- id: "inboundParameters",
269
- name: "Inbound Parameters",
270
- description: "The inbound parameters.",
271
- type: "json",
272
- value: undefined
273
- };
274
-
275
-
276
- /**
277
- * @type {DesigntimeSetting[]}
278
- */
279
- const designtimeSettings = [
280
- statePreservationMode,
281
- flexibleColumnLayout,
282
- fclDefaultTwoColumnLayoutType,
283
- fclDefaultThreeColumnLayoutType,
284
- externalNavigationSettings,
285
- inboundParameters
286
-
287
- ];
288
- return designtimeSettings.filter(oSetting => {
289
- const sComponentName = designtimeUtils.getOwnerComponentFor(oControl).getMetadata().getComponentName();
290
- return !oSetting.restrictedTo || oSetting.restrictedTo.includes(sComponentName);
291
- });
292
- };
293
-
294
301
  // Expose the functions for QUnit tests
295
-
296
- testableHelper.testableStatic(getRuntimeAdapationProperties, "getRuntimeAdapationProperties");
297
302
  testableHelper.testableStatic(fnOpenTableConfigurationDialog, "fnOpenTableConfigurationDialog");
298
303
 
299
304
 
@@ -0,0 +1,215 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+
4
+ (c) Copyright 2009-2015 SAP SE. All rights reserved
5
+
6
+ */
7
+ sap.ui.define([
8
+ "sap/base/util/deepClone",
9
+ "sap/suite/ui/generic/template/designtime/utils/designtimeUtils",
10
+ "sap/base/util/ObjectPath",
11
+ "sap/suite/ui/generic/template/genericUtilities/testableHelper"
12
+ ],
13
+ function (deepClone, designtimeUtils, ObjectPath, testableHelper) {
14
+ "use strict";
15
+
16
+ /**
17
+ * @typedef {Object} DesigntimeSetting
18
+ * @property {string} id - The ID of the designtime setting.
19
+ * @property {string} name - The name of the designtime setting.
20
+ * @property {string} description - The description of the designtime setting.
21
+ * @property {PropertyValue} [value] - The default value of the designtime setting.
22
+ * @property {string} type - The type of the designtime setting.
23
+ * @property {Array.<Enum>} [enums] - The array of possible enum values for the designtime setting.
24
+ * @property {(mControlDetails: ControlInfo) => string} [getPath] - The path to the designtime setting in the manifest.
25
+ * @property {boolean} [bSupportsGlobalScope] - Indicates if the setting supports global scope. (Default: false)
26
+ * @property {string[]} [restrictedTo] - The array of components for which the setting is restricted.
27
+ * @property {Partial<DesigntimeSetting>[]} [writeObject] - An array of DesigntimeSetting objects.
28
+ * @property {string} [writeObjectFor] - The value for which the writeObject should be applied.
29
+ * @property {boolean} [skipChange] - Indicates if the change should be skipped.
30
+ * @property {boolean} keyUser - Indicates if the setting is allowed for key user.
31
+
32
+ ===============================================
33
+ * @typedef {Object} ChangeParameters - Descriptor change parameters.
34
+ * @property {string} [sScope] - The scope of the manifest setting.
35
+ * @property {string} [sChangeType] - Desciptor change type.
36
+ ===============================================
37
+
38
+ * @typedef {Object} ControlInfo
39
+ * @property {string} [sParentComponentName] - The name of the parent component.
40
+ * @extends ChangeParameters
41
+
42
+ * @typedef {ChangeParameters & ControlInfo} ControlChangeParams
43
+
44
+ * @typedef {string | boolean | string[] | null } PropertyValue
45
+
46
+ * @typedef {Object} Enum
47
+ * @property {string} id - The ID of the enum value.
48
+ * @property {string} name - The name of the enum value.
49
+ * @property {Object} [value] - The value of the enum value.
50
+ */
51
+
52
+
53
+ /**
54
+ * Retrieves the runtime adaptation properties based on the allowed design-time settings and global settings.
55
+ *
56
+ * @param {Array} aAllowedDesigntimeSettings - The array of allowed design-time settings.
57
+ * @param {Object} mSettings - The global manifest settings object.
58
+ * @returns {Object} - The object containing the runtime adaptation properties.
59
+ */
60
+ function getRuntimeAdapationProperties(aAllowedDesigntimeSettings, mSettings) {
61
+ const mPropertyValues = {};
62
+
63
+ aAllowedDesigntimeSettings.forEach(oSetting => {
64
+ const sProperty = oSetting.id;
65
+ switch (sProperty) {
66
+ case "editableHeaderContent":
67
+ mPropertyValues[sProperty] = mSettings[sProperty] ?? oSetting.value;
68
+ break;
69
+ case "variantManagement":
70
+ mPropertyValues[sProperty] = mSettings[sProperty] ?? oSetting.value;
71
+ break;
72
+ case "showRelatedApps":
73
+ mPropertyValues[sProperty] = mSettings[sProperty] ?? oSetting.value;
74
+ break;
75
+ default:
76
+ break;
77
+ }
78
+ });
79
+ return mPropertyValues;
80
+ }
81
+
82
+ /**
83
+ * Retrieves the designtime settings for the Control.
84
+ * @param {object} oControl - The Control object.
85
+ * @returns {DesigntimeSetting[]}
86
+ */
87
+ let getAllDesigntimeSettings = function getAllDesigntimeSettings(oControl) {
88
+
89
+ /**
90
+ * @type {DesigntimeSetting}
91
+ */
92
+ const editableHeaderContent = {
93
+ id: "editableHeaderContent",
94
+ name: "Editable Header Content",
95
+ description: "Decide whether the header content is editable",
96
+ value: false,
97
+ getPath: () => 'component/settings/editableHeaderContent',
98
+ type: "boolean",
99
+ keyUser: true
100
+ };
101
+ /**
102
+ * @type {DesigntimeSetting}
103
+ */
104
+ const variantManagement = {
105
+ id: "variantManagement",
106
+ name: "Table Variant Management",
107
+ description: "Decide whether Variant Management is used",
108
+ value: false,
109
+ getPath: () => 'component/settings/tableSettings/variantManagement',
110
+ type: "boolean",
111
+ keyUser: true
112
+ };
113
+
114
+ /**
115
+ * @type {DesigntimeSetting}
116
+ */
117
+ const showRelatedApps = {
118
+ id: "showRelatedApps",
119
+ name: "Show Related Apps",
120
+ description: "Decide whether Related Apps are shown",
121
+ value: false,
122
+ getPath: () => 'component/settings/showRelatedApps',
123
+ type: "boolean",
124
+ keyUser: true
125
+ };
126
+
127
+ return [
128
+ editableHeaderContent,
129
+ variantManagement,
130
+ showRelatedApps
131
+ ];
132
+
133
+ };
134
+
135
+
136
+
137
+ function getObjectPageSettings(oComponent) {
138
+ return {
139
+ editableHeaderContent: JSON.parse(oComponent.getEditableHeaderContent()),
140
+ variantManagement: !!(ObjectPath.get(["variantManagement"], oComponent.getTableSettings())),
141
+ showRelatedApps: JSON.parse(oComponent.getShowRelatedApps())
142
+ };
143
+ }
144
+
145
+
146
+
147
+
148
+ /**
149
+ * Opens the dialog for the table configuration.
150
+ * @param {sap.ui.core.Control} oControl - The control for which the dialog should be opened.
151
+ * @param {object} mPropertyBag - The property bag.
152
+ * @returns {Promise<ControlChangeParams[]>} - The changes.
153
+ */
154
+ async function fnOpenTableConfigurationDialog(oControl, mPropertyBag) {
155
+ const oResourceModel = oControl.getModel("i18n");
156
+ const oComponent = designtimeUtils.getOwnerComponentFor(oControl);
157
+
158
+ const mObjectPageSettings = getObjectPageSettings(oComponent);
159
+
160
+ // Get all the designtime settings
161
+ const aAllDesigntimeSettings = getAllDesigntimeSettings(oControl);
162
+ // Get the allowed designtime settings based on the floorplan
163
+ /**
164
+ * @type {DesigntimeSetting[]}
165
+ */
166
+ let aAllowedDesigntimeSettings = designtimeUtils.filterDesigntimeSettingsByFloorPlan(oControl, aAllDesigntimeSettings);
167
+
168
+ // Get the allowed designtime settings based on the adaptation mode (key user or Designtime)
169
+ aAllowedDesigntimeSettings = designtimeUtils.getAllowedDesigntimeSettingsBasedOnAdaptationMode(aAllowedDesigntimeSettings, oComponent);
170
+
171
+
172
+ // Get the current values of the properties
173
+ const mRuntimeAdaptationPropertyValues = getRuntimeAdapationProperties(aAllowedDesigntimeSettings, mObjectPageSettings);
174
+ // Save the unchanged data to compare later
175
+ const mUnchangedData = deepClone(mRuntimeAdaptationPropertyValues);
176
+ // Get the settings of the dialog from the designtime settings using which the dialog will be created
177
+ const aItems = designtimeUtils.getSettings(mRuntimeAdaptationPropertyValues, aAllowedDesigntimeSettings);
178
+
179
+ // disable the scope control if there is only one option
180
+
181
+ const mPropertyValuesEntered = await designtimeUtils.openAdaptionDialog([...aItems], mRuntimeAdaptationPropertyValues, mUnchangedData, "{i18n>RTA_CONFIGURATION_TITLE_OBJECT_PAGE}", { width: "650px", height: "800px" }, oResourceModel);
182
+
183
+
184
+ /**
185
+ * @type {ControlChangeParams}
186
+ */
187
+ const mPathParameters = {
188
+ sChangeType: designtimeUtils.ChangeType.ChangePageConfiguration
189
+ };
190
+ return designtimeUtils.extractChanges(mPropertyValuesEntered, mUnchangedData, aAllowedDesigntimeSettings, oComponent, mPathParameters);
191
+
192
+ }
193
+
194
+ // Expose the functions for QUnit tests
195
+ testableHelper.testableStatic(fnOpenTableConfigurationDialog, "fnOpenTableConfigurationDialog");
196
+
197
+
198
+ const oHelper = {
199
+ getDesigntime: function (oControl) {
200
+ return {
201
+ actions: {
202
+ settings: {
203
+ fe: {
204
+ name: "Configuration",
205
+ icon: "sap-icon://developer-settings",
206
+ handler: fnOpenTableConfigurationDialog
207
+ }
208
+ }
209
+ }
210
+ };
211
+ }
212
+ };
213
+ return oHelper;
214
+ }
215
+ );