@sapui5/sap.suite.ui.generic.template 1.134.2 → 1.136.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 (317) hide show
  1. package/package.json +2 -2
  2. package/src/sap/suite/ui/generic/template/.library +2 -1
  3. package/src/sap/suite/ui/generic/template/AnalyticalListPage/Component.js +9 -1
  4. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/SmartKpiTag.js +1 -1
  5. package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/ControllerImplementation.js +9 -7
  6. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n.properties +4 -1
  7. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ar.properties +7 -5
  8. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_bg.properties +7 -5
  9. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ca.properties +7 -5
  10. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_cnr.properties +4 -2
  11. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_cs.properties +5 -3
  12. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_cy.properties +7 -5
  13. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_da.properties +7 -5
  14. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_de.properties +12 -10
  15. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_el.properties +5 -3
  16. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en.properties +8 -6
  17. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en_GB.properties +7 -5
  18. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en_US_saprigi.properties +5 -5
  19. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_es.properties +6 -4
  20. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_es_MX.properties +5 -3
  21. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_et.properties +6 -4
  22. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_fi.properties +5 -3
  23. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_fr.properties +9 -7
  24. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_fr_CA.properties +7 -5
  25. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_hi.properties +7 -5
  26. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_hr.properties +6 -4
  27. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_hu.properties +7 -5
  28. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_id.properties +7 -5
  29. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_it.properties +7 -5
  30. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_iw.properties +5 -3
  31. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ja.properties +5 -3
  32. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_kk.properties +6 -4
  33. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ko.properties +4 -2
  34. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_lt.properties +7 -5
  35. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_lv.properties +9 -7
  36. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_mk.properties +7 -5
  37. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ms.properties +7 -5
  38. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_nl.properties +5 -3
  39. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_no.properties +6 -4
  40. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_pl.properties +7 -5
  41. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_pt.properties +6 -4
  42. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_pt_PT.properties +7 -5
  43. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ro.properties +8 -6
  44. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ru.properties +7 -5
  45. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sh.properties +4 -2
  46. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sk.properties +5 -3
  47. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sl.properties +8 -6
  48. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sr.properties +4 -2
  49. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sv.properties +7 -5
  50. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_th.properties +7 -5
  51. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_tr.properties +5 -3
  52. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_uk.properties +6 -4
  53. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_vi.properties +7 -5
  54. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_zh_CN.properties +7 -5
  55. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_zh_TW.properties +7 -5
  56. package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +6 -5
  57. package/src/sap/suite/ui/generic/template/AnalyticalListPage/util/FilterUtil.js +3 -3
  58. package/src/sap/suite/ui/generic/template/AnalyticalListPage/view/AnalyticalListPage.view.xml +2 -2
  59. package/src/sap/suite/ui/generic/template/Canvas/extensionAPI/ExtensionAPI.js +6 -4
  60. package/src/sap/suite/ui/generic/template/Canvas/manifest.json +2 -3
  61. package/src/sap/suite/ui/generic/template/ListReport/Component.js +31 -24
  62. package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +92 -58
  63. package/src/sap/suite/ui/generic/template/ListReport/controller/MultiEditHandler.js +1 -1
  64. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n.properties +3 -0
  65. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ar.properties +3 -1
  66. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_bg.properties +3 -1
  67. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ca.properties +3 -1
  68. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cnr.properties +2 -0
  69. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cs.properties +2 -0
  70. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cy.properties +3 -1
  71. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_da.properties +3 -1
  72. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_de.properties +3 -1
  73. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_el.properties +2 -0
  74. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en.properties +3 -1
  75. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_GB.properties +3 -1
  76. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_US_saprigi.properties +1 -1
  77. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es.properties +3 -1
  78. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es_MX.properties +4 -2
  79. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_et.properties +2 -0
  80. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fi.properties +2 -0
  81. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr.properties +2 -0
  82. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr_CA.properties +3 -1
  83. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hi.properties +2 -0
  84. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hr.properties +2 -0
  85. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hu.properties +2 -0
  86. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_id.properties +4 -2
  87. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_it.properties +2 -0
  88. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_iw.properties +2 -0
  89. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ja.properties +8 -6
  90. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_kk.properties +2 -0
  91. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ko.properties +2 -0
  92. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_lt.properties +2 -0
  93. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_lv.properties +3 -1
  94. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_mk.properties +4 -2
  95. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ms.properties +2 -0
  96. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_nl.properties +2 -0
  97. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_no.properties +3 -1
  98. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pl.properties +2 -0
  99. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pt.properties +2 -0
  100. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pt_PT.properties +2 -0
  101. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ro.properties +3 -1
  102. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ru.properties +2 -0
  103. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sh.properties +2 -0
  104. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sk.properties +2 -0
  105. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sl.properties +2 -0
  106. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sr.properties +2 -0
  107. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sv.properties +2 -0
  108. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_th.properties +2 -0
  109. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_tr.properties +2 -0
  110. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_uk.properties +3 -1
  111. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_vi.properties +3 -1
  112. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_zh_CN.properties +2 -0
  113. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_zh_TW.properties +3 -1
  114. package/src/sap/suite/ui/generic/template/ListReport/manifest.json +8 -9
  115. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/MultiEditDialog.fragment.xml +2 -2
  116. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartTable.fragment.xml +14 -6
  117. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/TitleVariant.fragment.xml +3 -3
  118. package/src/sap/suite/ui/generic/template/ObjectPage/Component.js +8 -0
  119. package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +33 -6
  120. package/src/sap/suite/ui/generic/template/ObjectPage/controller/SectionTitleHandler.js +42 -8
  121. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n.properties +14 -2
  122. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ar.properties +22 -2
  123. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_bg.properties +22 -2
  124. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ca.properties +22 -2
  125. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cnr.properties +23 -3
  126. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cs.properties +21 -1
  127. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cy.properties +21 -1
  128. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_da.properties +22 -2
  129. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_de.properties +25 -5
  130. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_el.properties +21 -1
  131. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en.properties +23 -3
  132. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_GB.properties +23 -3
  133. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_US_saprigi.properties +17 -3
  134. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es.properties +23 -3
  135. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es_MX.properties +24 -4
  136. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_et.properties +22 -2
  137. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fi.properties +21 -1
  138. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr.properties +23 -3
  139. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr_CA.properties +21 -1
  140. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hi.properties +21 -1
  141. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hr.properties +21 -1
  142. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hu.properties +22 -2
  143. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_id.properties +22 -2
  144. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_it.properties +24 -4
  145. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_iw.properties +22 -2
  146. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ja.properties +22 -2
  147. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_kk.properties +21 -1
  148. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ko.properties +22 -2
  149. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lt.properties +22 -2
  150. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lv.properties +21 -1
  151. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_mk.properties +21 -1
  152. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ms.properties +22 -2
  153. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_nl.properties +22 -2
  154. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_no.properties +21 -1
  155. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pl.properties +22 -2
  156. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt.properties +23 -3
  157. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt_PT.properties +21 -1
  158. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ro.properties +21 -1
  159. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ru.properties +22 -2
  160. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sh.properties +23 -3
  161. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sk.properties +20 -0
  162. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sl.properties +29 -9
  163. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sr.properties +23 -3
  164. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sv.properties +22 -2
  165. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_th.properties +21 -1
  166. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_tr.properties +21 -1
  167. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_uk.properties +22 -2
  168. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_vi.properties +24 -4
  169. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_CN.properties +22 -2
  170. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_TW.properties +22 -2
  171. package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +15 -14
  172. package/src/sap/suite/ui/generic/template/ObjectPage/templateSpecificPreparationHelper.js +6 -1
  173. package/src/sap/suite/ui/generic/template/ObjectPage/view/Details.view.xml +13 -6
  174. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/PageLevelCommands.fragment.xml +1 -1
  175. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/Sections.fragment.xml +4 -2
  176. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartTable.fragment.xml +6 -3
  177. package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
  178. package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
  179. package/src/sap/suite/ui/generic/template/designtime/controls/DynamicPage.designtime.js +13 -12
  180. package/src/sap/suite/ui/generic/template/designtime/controls/ObjectPageLayout.designtime.js +9 -8
  181. package/src/sap/suite/ui/generic/template/designtime/controls/SmartFilterBar.designtime.js +12 -10
  182. package/src/sap/suite/ui/generic/template/designtime/controls/SmartTable.designtime.js +61 -22
  183. package/src/sap/suite/ui/generic/template/designtime/floorplans/AnalyticalListPage.designtime.js +2 -11
  184. package/src/sap/suite/ui/generic/template/designtime/floorplans/ListReport.designtime.js +4 -13
  185. package/src/sap/suite/ui/generic/template/designtime/floorplans/ObjectPage.designtime.js +6 -16
  186. package/src/sap/suite/ui/generic/template/designtime/utils/designtimeHelper.js +6 -2
  187. package/src/sap/suite/ui/generic/template/designtime/utils/designtimeUtils.js +6 -5
  188. package/src/sap/suite/ui/generic/template/detailTemplates/detailUtils.js +29 -0
  189. package/src/sap/suite/ui/generic/template/fragments/EasyFilter.fragment.xml +8 -7
  190. package/src/sap/suite/ui/generic/template/fragments/MessageInfluencingCRUDAction.fragment.xml +1 -1
  191. package/src/sap/suite/ui/generic/template/fragments/MessagePage.view.xml +1 -1
  192. package/src/sap/suite/ui/generic/template/fragments/TableCell.fragment.xml +4 -4
  193. package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartFilterBarWrapper.js +88 -59
  194. package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartTableChartCommon.js +3 -1
  195. package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartVariantManagementWrapper.js +27 -27
  196. package/src/sap/suite/ui/generic/template/genericUtilities/filterHelper.js +36 -9
  197. package/src/sap/suite/ui/generic/template/js/AnnotationHelper.js +36 -2
  198. package/src/sap/suite/ui/generic/template/js/RuntimeFormatters.js +39 -2
  199. package/src/sap/suite/ui/generic/template/lib/AppComponent.js +4 -1
  200. package/src/sap/suite/ui/generic/template/lib/CRUDActionHandler.js +7 -5
  201. package/src/sap/suite/ui/generic/template/lib/CRUDManager.js +25 -13
  202. package/src/sap/suite/ui/generic/template/lib/CommonEventHandlers.js +5 -5
  203. package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +44 -40
  204. package/src/sap/suite/ui/generic/template/lib/ComponentUtils.js +14 -3
  205. package/src/sap/suite/ui/generic/template/lib/RestoreFocusHelper.js +66 -0
  206. package/src/sap/suite/ui/generic/template/lib/SideEffectUtil.js +6 -4
  207. package/src/sap/suite/ui/generic/template/lib/StableIdDefinition.js +9 -1
  208. package/src/sap/suite/ui/generic/template/lib/StatePreserver.js +5 -2
  209. package/src/sap/suite/ui/generic/template/lib/TemplateAssembler.js +5 -4
  210. package/src/sap/suite/ui/generic/template/lib/ai/EasyFilterBarHandler.js +193 -5
  211. package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +163 -2
  212. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +115 -4
  213. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +115 -4
  214. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +114 -3
  215. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +115 -4
  216. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +115 -4
  217. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +115 -4
  218. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +116 -5
  219. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +114 -3
  220. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +116 -5
  221. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +115 -4
  222. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +115 -4
  223. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +7 -3
  224. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +114 -3
  225. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +116 -5
  226. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +116 -5
  227. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +115 -4
  228. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +112 -1
  229. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +114 -3
  230. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +115 -4
  231. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +115 -4
  232. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +115 -4
  233. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +115 -4
  234. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +117 -6
  235. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +115 -4
  236. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +116 -5
  237. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +115 -4
  238. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +113 -2
  239. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +115 -4
  240. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +115 -4
  241. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +115 -4
  242. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +115 -4
  243. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +115 -4
  244. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +115 -4
  245. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +115 -4
  246. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +115 -4
  247. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +115 -4
  248. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +115 -4
  249. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +115 -4
  250. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +115 -4
  251. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +115 -4
  252. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +115 -4
  253. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +115 -4
  254. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +115 -4
  255. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +113 -2
  256. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +115 -4
  257. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +115 -4
  258. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +115 -4
  259. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +115 -4
  260. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +115 -4
  261. package/src/sap/suite/ui/generic/template/lib/multipleViews/MultipleViewsHandler.js +9 -3
  262. package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +45 -39
  263. package/src/sap/suite/ui/generic/template/lib/navigation/startupParameterHelper.js +1 -1
  264. package/src/sap/suite/ui/generic/template/library.js +1 -1
  265. package/src/sap/suite/ui/generic/template/listTemplates/controller/IappStateHandler.js +10 -0
  266. package/src/sap/suite/ui/generic/template/listTemplates/controller/SmartChartController.js +1 -1
  267. package/src/sap/suite/ui/generic/template/listTemplates/filterSettingsPreparationHelper.js +16 -19
  268. package/src/sap/suite/ui/generic/template/listTemplates/fragments/DetailSmartTable.fragment.xml +6 -3
  269. package/src/sap/suite/ui/generic/template/manifestMerger/AddNewObjectPage.js +5 -1
  270. package/src/sap/suite/ui/generic/template/themes/base/ALPConstants.less +3 -4
  271. package/src/sap/suite/ui/generic/template/themes/base/AnalyticalListPage.less +12 -213
  272. package/src/sap/suite/ui/generic/template/themes/base/ListReport.less +1 -6
  273. package/src/sap/suite/ui/generic/template/themes/base/ObjectPage.less +15 -27
  274. package/src/sap/suite/ui/generic/template/themes/base/QuickCreate.less +1 -17
  275. package/src/sap/suite/ui/generic/template/themes/base/alr_zen.css +0 -9
  276. package/src/sap/suite/ui/generic/template/themes/sap_belize/library.source.less +0 -1
  277. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/ALPConstants.less +3 -4
  278. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/AnalyticalListPage.less +12 -212
  279. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/ListReport.less +1 -6
  280. package/src/sap/suite/ui/generic/template/themes/sap_belize_hcb/AnalyticalListPage.less +0 -6
  281. package/src/sap/suite/ui/generic/template/themes/sap_belize_hcb/library.source.less +0 -1
  282. package/src/sap/suite/ui/generic/template/themes/sap_belize_hcw/AnalyticalListPage.less +0 -6
  283. package/src/sap/suite/ui/generic/template/themes/sap_belize_hcw/library.source.less +0 -1
  284. package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal/library.source.less +0 -1
  285. package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/ALPConstants.less +3 -4
  286. package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/AnalyticalListPage.less +14 -213
  287. package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/ListReport.less +1 -7
  288. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3/ObjectPage.less +1 -2
  289. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_dark/ObjectPage.less +1 -2
  290. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcb/AnalyticalListPage.less +1 -6
  291. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcb/ObjectPage.less +2 -2
  292. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcb/library.source.less +0 -1
  293. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcw/AnalyticalListPage.less +1 -6
  294. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcw/ObjectPage.less +2 -2
  295. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcw/library.source.less +0 -1
  296. package/src/sap/suite/ui/generic/template/themes/sap_hcb/ALPConstants.less +3 -4
  297. package/src/sap/suite/ui/generic/template/themes/sap_hcb/AnalyticalListPage.less +1 -33
  298. package/src/sap/suite/ui/generic/template/themes/sap_hcb/base_AnalyticalListPage.less +15 -214
  299. package/src/sap/suite/ui/generic/template/themes/sap_hcb/base_ListReport.less +1 -6
  300. package/src/sap/suite/ui/generic/template/themes/sap_hcb/library.source.less +0 -1
  301. package/src/sap/suite/ui/generic/template/themes/sap_horizon/ObjectPage.less +1 -2
  302. package/src/sap/suite/ui/generic/template/themes/sap_horizon_dark/ObjectPage.less +1 -2
  303. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcb/AnalyticalListPage.less +0 -6
  304. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcb/ObjectPage.less +2 -2
  305. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcb/library.source.less +0 -1
  306. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcw/AnalyticalListPage.less +0 -6
  307. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcw/ObjectPage.less +2 -2
  308. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcw/library.source.less +0 -1
  309. package/src/sap/suite/ui/generic/template/themes/sap_belize/ListReport.less +0 -3
  310. package/src/sap/suite/ui/generic/template/themes/sap_belize_hcb/ListReport.less +0 -8
  311. package/src/sap/suite/ui/generic/template/themes/sap_belize_hcw/ListReport.less +0 -8
  312. package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal/ListReport.less +0 -3
  313. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcb/ListReport.less +0 -8
  314. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcw/ListReport.less +0 -8
  315. package/src/sap/suite/ui/generic/template/themes/sap_hcb/ListReport.less +0 -3
  316. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcb/ListReport.less +0 -8
  317. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcw/ListReport.less +0 -8
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  },
41
41
  "sap.ui.comp.smarttable.SmartTable": {
42
42
  properties: ["useExportToExcel", "editable", "showPasteButton"],
43
- actions: ["settings"]
43
+ actions: ["settings", "annotation"]
44
44
  },
45
45
  "sap.m.Table": {
46
46
  properties: ["growingThreshold", "popinLayout", "includeItemInSelection", "rememberSelections"] // growingThreshold should not be possible in single section with single subsection
@@ -64,15 +64,6 @@ sap.ui.define([
64
64
  actions: ["move"]
65
65
  }
66
66
  }
67
- },
68
- "sap.ui.table.Table": {
69
- properties: ["scrollThreshold"]
70
- },
71
- "sap.ui.table.AnalyticalTable": {
72
- properties: ["scrollThreshold"]
73
- },
74
- "sap.ui.table.TreeTable": {
75
- properties: ["scrollThreshold"]
76
67
  }
77
68
  };
78
69
 
@@ -234,7 +225,7 @@ sap.ui.define([
234
225
  }
235
226
  },
236
227
  "sap.ui.comp.smartform.Group": { // not documented in allow list, but checked by RTA OPA test
237
- actions: ["rename", "remove"], // appearantly not checked directly, but indirect (selection of other checked actions by index)
228
+ actions: ["rename", "remove", "annotation"], // appearantly not checked directly, but indirect (selection of other checked actions by index)
238
229
  aggregations: {
239
230
  formElements: {
240
231
  actions: ["add", "move", "remove"]
@@ -242,22 +233,21 @@ sap.ui.define([
242
233
  }
243
234
  },
244
235
  "sap.ui.comp.smartform.GroupElement": { // not documented in allow list, but checked by RTA OPA test
245
- actions: ["rename", "remove", "reveal", "combine", "split"] // combine/split is meant for grouping smartfield/links in sections
236
+ // combine/split is meant for grouping smartfield/links in sections
237
+ // annotation is meant for changing text arrangement
238
+ actions: ["rename", "remove", "reveal", "combine", "split", "annotation"]
246
239
  },
247
240
  "sap.ui.comp.smartvariants.SmartVariantManagement": {
248
241
  actions: ["compVariant"] // allows to adapt filters (same as adapt filters for end user)
249
242
  },
250
243
  "sap.ui.comp.smarttable.SmartTable": {
251
- actions: ["compVariant"] // allows table personalization (same as for end user)
244
+ actions: ["compVariant", "annotation"] // allows table personalization (same as for end user)
252
245
  },
253
246
  "sap.ui.comp.smartchart.SmartChart": {
254
247
  actions: ["compVariant"] // allows table personalization (same as for end user)
255
248
  },
256
249
  "sap.m.Title": {
257
250
  actions: ["rename"]
258
- },
259
- "sap.ui.comp.smartfield.SmartField": {
260
- actions: ["annotation"] // Allows to change text arrangement
261
251
  }
262
252
  };
263
253
 
@@ -334,10 +334,14 @@ sap.ui.define([
334
334
  propagateMetadata: function (oElement) {
335
335
  // propagateMetadata is also called for (reuse) components - but they don't have a method getElementName. Anyway, no need to provide (modified) designtime in this case, so just
336
336
  // ignore.
337
- var oReducedDesigntime = oElement.getMetadata().getElementName && getReducedDesignTime(oElement, mAllow[oElement.getMetadata().getElementName()]);
337
+ if (!oElement.getMetadata().getElementName) {
338
+ return null;
339
+ }
340
+ var sElementName = oElement.getMetadata().getElementName();
341
+ var oReducedDesigntime = getReducedDesignTime(oElement, mAllow[sElementName]);
338
342
 
339
343
  var oCustomDesigntime = {};
340
- switch (oElement.getMetadata().getElementName()) {
344
+ switch (sElementName) {
341
345
  case "sap.uxap.ObjectPageLayout":
342
346
  oCustomDesigntime = ObjectPageLayoutDesigntimeHelper.getDesigntime(
343
347
  oElement
@@ -8,8 +8,9 @@
8
8
  sap.ui.define([
9
9
  "sap/base/util/ObjectPath",
10
10
  "sap/ui/core/Component",
11
+ "sap/ui/core/message/MessageType",
11
12
  "sap/suite/ui/generic/template/genericUtilities/testableHelper"
12
- ], function (ObjectPath, Component, testableHelper) {
13
+ ], function (ObjectPath, Component, MessageType, testableHelper) {
13
14
  "use strict";
14
15
  /**
15
16
  * Creates the adaptation dialog content based on the provided settings, property values, and unchanged data.
@@ -301,17 +302,17 @@ sap.ui.define([
301
302
  "sap/m/Button",
302
303
  "sap/m/MessageStrip"
303
304
  ], function (Dialog, Button, MessageStrip) {
304
- const informationText = new MessageStrip({
305
- type: "Information",
305
+ const warningText = new MessageStrip({
306
+ type: MessageType.Warning,
306
307
  showIcon: true,
307
308
  text: "{i18n>RTA_CONFIGURATION_INFO_MESSAGE}"
308
309
  });
309
- informationText.addStyleClass("sapUiSmallMarginBottom");
310
+ warningText.addStyleClass("sapUiSmallMarginBottom");
310
311
  const dialog = new Dialog({
311
312
  title: title,
312
313
  contentWidth: size ? size.width : "550px",
313
314
  contentHeight: size ? size.height : "300px",
314
- content: [informationText, list],
315
+ content: [warningText, list],
315
316
  resizable: true,
316
317
  buttons: [
317
318
  new Button({
@@ -216,6 +216,34 @@ sap.ui.define([ "sap/suite/ui/generic/template/genericUtilities/FeLogger", "sap/
216
216
  oPaginatorButtonsHelper.handleShowPrevObject(oEvent);
217
217
  }
218
218
 
219
+ function fnConstructTitleAdditionalInfo(sTitle, oTemplateContract, oCurrentIdentity) {
220
+ let sObjectTitle, sObjectSubtitle, sHeaderText;
221
+ let oCurrentRegistryEntry = oTemplateContract.componentRegistry[oCurrentIdentity.treeNode.componentId];
222
+ let oTemplatePrivateModel = oCurrentRegistryEntry.utils.getTemplatePrivateModel();
223
+ sObjectTitle = oTemplatePrivateModel.getProperty("/objectPage/headerInfo/objectTitle");
224
+ sObjectSubtitle = oTemplatePrivateModel.getProperty("/objectPage/headerInfo/objectSubtitle");
225
+ let oParentNode = oTemplateContract.mRoutingTree[oCurrentIdentity.treeNode.parentRoute]; //start from the currentNode's parent node
226
+ let aAncestors = [];
227
+ let sSeperator = " - ";
228
+ while (oParentNode.level > 0) { //construct the title only till the main object page
229
+ aAncestors.push(oParentNode.text || oParentNode.headerTitle);
230
+ oParentNode = oTemplateContract.mRoutingTree[oParentNode.parentRoute];
231
+ }
232
+ let sAncestorsTitle = aAncestors.join(" - "); //final string constructed for the breadcrumb
233
+ sObjectSubtitle = sObjectSubtitle ? "(" + sObjectSubtitle + ")" : "";
234
+ if (sObjectTitle && !sObjectSubtitle) {
235
+ sObjectTitle += sSeperator;
236
+ }
237
+ if (sObjectSubtitle) {
238
+ sObjectSubtitle += sSeperator;
239
+ }
240
+ if (sAncestorsTitle && sTitle) {
241
+ sAncestorsTitle += sSeperator;
242
+ }
243
+ sHeaderText = `${sObjectTitle} ${sObjectSubtitle} ${sAncestorsTitle} ${sTitle}`;
244
+ return {headerText : sHeaderText};
245
+ }
246
+
219
247
  // Expose selected private functions to unit tests
220
248
  /* eslint-disable */
221
249
  var fnGetHashChangerInstance = testableHelper.testable(fnGetHashChangerInstance, "getHashChangerInstance");
@@ -259,6 +287,7 @@ sap.ui.define([ "sap/suite/ui/generic/template/genericUtilities/FeLogger", "sap/
259
287
  };
260
288
  }
261
289
  };
290
+ oTemplateUtils.oServices.oTemplateCapabilities.fnConstructTitleAdditionalInfo = fnConstructTitleAdditionalInfo;
262
291
  },
263
292
  handlers: {
264
293
  handleShowNextObject: handleShowNextObject,
@@ -2,12 +2,13 @@
2
2
  <!-- to check how to use a common model property instead of listReport/filterMode which is specific to LR-->
3
3
  <VBox visible="{= ${_templPriv>/listReport/filterMode} === 'easyFilter'}">
4
4
  <feControls:EasyFilterBarContainer id="template::easyFilterContainer"
5
- showValueHelp="._templateEventHandlers.onEasyFilterShowValueHelp"
6
- queryChanged="._templateEventHandlers.onEasyFilterQueryChanged"
7
- tokensChanged="._templateEventHandlers.onEasyFilterTokensChanged"
8
- beforeQueryProcessing="._templateEventHandlers.onEasyFilterBeforeQueryProcessing"
9
- afterQueryProcessing="._templateEventHandlers.onEasyFilterAfterQueryProcessing"
10
- clearFilters="._templateEventHandlers.onEasyFilterClearFilters"
11
- />
5
+ showValueHelp="._templateEventHandlers.onEasyFilterShowValueHelp"
6
+ queryChanged="._templateEventHandlers.onEasyFilterQueryChanged"
7
+ tokensChanged="._templateEventHandlers.onEasyFilterTokensChanged"
8
+ beforeQueryProcessing="._templateEventHandlers.onEasyFilterBeforeQueryProcessing"
9
+ afterQueryProcessing="._templateEventHandlers.onEasyFilterAfterQueryProcessing"
10
+ clearFilters="._templateEventHandlers.onEasyFilterClearFilters"
11
+ dataFetcher="._templateEventHandlers.onEasyFilterDataFetcher"
12
+ />
12
13
  </VBox>
13
14
  </core:FragmentDefinition>
@@ -13,7 +13,7 @@
13
13
  <customHeader>
14
14
  <Bar>
15
15
  <contentMiddle>
16
- <Text text="{model>/title}"/>
16
+ <Title level="H1" text="{model>/title}"/>
17
17
  </contentMiddle>
18
18
  <contentLeft>
19
19
  <Button icon="sap-icon://nav-back" visible="{model>/backbtnvisibility}" press="onBackButtonPress" tooltip="{i18n>BACK}" />
@@ -3,6 +3,6 @@
3
3
  id="messagePage"
4
4
  title="{_templPrivGlobal>/generic/messagePage/text}"
5
5
  description="{_templPrivGlobal>/generic/messagePage/description}"
6
- illustrationSize="Scene"
6
+ illustrationSize="Large"
7
7
  illustrationType="{_templPrivGlobal>/generic/messagePage/messageType}"/>
8
8
  </mvc:View>
@@ -60,10 +60,10 @@
60
60
  ariaLabelledBy="{columnId>id}"/>
61
61
  </template:else>
62
62
  </template:if>
63
- <FormattedText
64
- core:require="{encodeXML: 'sap/base/security/encodeXML'}"
65
- htmlText="&lt;em&gt;{path:'i18n>NEW_OBJECT', formatter:'encodeXML'}&lt;/em&gt;"
66
- visible="{parts: [{path: 'dataFieldValue>'}, {path: 'dataField>'}, {path: 'entityType>'}], formatter: 'AH.getHeaderVisibility'}"/>
63
+ <FormattedText
64
+ core:require="{RuntimeFormatters: 'sap/suite/ui/generic/template/js/RuntimeFormatters'}"
65
+ htmlText="&lt;em&gt;{parts:[{path:'HasActiveEntity'},{path:'IsActiveEntity'},{path:'i18n>NEW_OBJECT'},{path:'i18n>UNNAMED_OBJECT'}], formatter:'RuntimeFormatters.getDraftObjectDisplayText.bind($control)'}&lt;/em&gt;"
66
+ visible="{parts: [{path: 'dataFieldValue>'}, {path: 'dataField>'}, {path: 'entityType>'}], formatter: 'AH.getHeaderVisibility'}" />
67
67
  <Text class="sapUiTinyMarginTop"
68
68
  renderWhitespace="true"
69
69
  text="{parts: [{path: 'dataFieldValue>'}, {path: 'dataField>'}, {path: 'entityType>'}], formatter: 'AH.getColumnCellSecondText'}"
@@ -1,5 +1,6 @@
1
1
  sap.ui.define([
2
- ], function () {
2
+ "sap/ui/model/FilterOperator"
3
+ ], function (FilterOperator) {
3
4
  "use strict";
4
5
 
5
6
 
@@ -13,12 +14,12 @@ sap.ui.define([
13
14
 
14
15
  /**
15
16
  * Constructor for SmartFilterBarWrapper
16
- * @param {sap.ui.comp.smartfilterbar.SmartFilterBar} vTarget - The SmartFilterBar control
17
+ * @param {sap.ui.comp.smartfilterbar.SmartFilterBar} vTarget - The SmartFilterBar control
17
18
  * or the Id of control for which this wrapper is created
18
19
  * @param {object} oFactory - the controlStateWrapperFactory
19
- * @param {object} mParams
20
+ * @param {object} mParams
20
21
  * @param {Object} mParams.oCustomFiltersWrapper - wrapper for custom filters (from SFB point of view)
21
- * (currently containing: generic (currently only editState), app extension, and adaptation extension - but this is knowledge of LR, i.e. of iAppStateHandler, not of SFB)
22
+ * (currently containing: generic (currently only editState), app extension, and adaptation extension - but this is knowledge of LR, i.e. of iAppStateHandler, not of SFB)
22
23
  * @returns {object}
23
24
  * @alias sap.suite.ui.generic.template.genericUtilities.controlStateWrapperFactory.SmartFilterBarWrapper
24
25
  */
@@ -35,10 +36,10 @@ sap.ui.define([
35
36
  if (typeof vTarget !== "string") {
36
37
  fnSetControl(vTarget);
37
38
  }
38
-
39
- // Filters visible initially (after initialization). Stored here to be
40
- // able to compare with currently visible ones to identify added and
41
- // removed ones without need to instantiate all possible filter items
39
+
40
+ // Filters visible initially (after initialization). Stored here to be
41
+ // able to compare with currently visible ones to identify added and
42
+ // removed ones without need to instantiate all possible filter items
42
43
  // (which would harm performance). Can only be retrieved in initialized event.
43
44
  oControlAssignedPromise.then(function () {
44
45
  oSmartFilterBar.getInitializedPromise().then(function () {
@@ -55,7 +56,7 @@ sap.ui.define([
55
56
  function setSVMWrapperCallbacks(oSVMWrapperCallbacks){
56
57
  // Before saving the current state as a new variant, we need to provide all state data of controls controlled by VM, but not known to it with setCustomFilterData. From a
57
58
  // logical point of view, the event (beforeVariantFetch) as well as the method to store the extension data (setCustomFilterData) belong to SVM, but both are implemented
58
- // in SFB. Additionally, beforeVariantSave would actually be the name more logical to the consumer, however that name had been used earlier and was deprecated and
59
+ // in SFB. Additionally, beforeVariantSave would actually be the name more logical to the consumer, however that name had been used earlier and was deprecated and
59
60
  // replaced by the given one. Fetch actually does not mean to fetch variant content from the place variants are stored, but to get the current state from the controls!
60
61
  oSmartFilterBar.attachBeforeVariantFetch(function(){
61
62
  var oCustomData = Object.create(null);
@@ -63,14 +64,14 @@ sap.ui.define([
63
64
  oCustomData[dataPropertyNameGeneric].customFilters = mParams.oCustomFiltersWrapper.getState();
64
65
  oSmartFilterBar.setCustomFilterData(oCustomData);
65
66
  });
66
-
67
+
67
68
  // When a variant is loaded, correspondingly we have to get the customData and apply the states to the controls not known to SVM. Again, event and method are implemented
68
69
  // in SFB instead of SVM where it would make more sense.
69
70
  // Here the event is afterVariantLoad, as the variant content known to SVM/SFB has first to be applied to the SFB, which will also pass the custom data accordingly. Only
70
- // after this has happened, we can get the custom data from SFB.
71
+ // after this has happened, we can get the custom data from SFB.
71
72
  oSmartFilterBar.attachAfterVariantLoad(function(oEvent){
72
73
  var oCustomData = oSmartFilterBar.getCustomFilterData();
73
- // variant stored with 1.103 or later: all customFilter data stored in property customFilters
74
+ // variant stored with 1.103 or later: all customFilter data stored in property customFilters
74
75
  // legacy variant stored with 1.102 or earlier: customFilters (from storing point of view) separated according to their origin
75
76
  var oCustomFiltersState = oCustomData[dataPropertyNameGeneric].customFilters || {
76
77
  editState: oCustomData[dataPropertyNameGeneric].editStateFilter,
@@ -90,48 +91,76 @@ sap.ui.define([
90
91
 
91
92
  function fnGetNavigationProperties() {
92
93
  //Fetch the navigation properties
93
- var oMetaModel = oSmartFilterBar.getModel().getMetaModel(),
94
+ const oMetaModel = oSmartFilterBar.getModel().getMetaModel(),
94
95
  sEntitySet = oSmartFilterBar.getEntitySet(),
95
96
  oDataEntitySet = oMetaModel.getODataEntitySet(sEntitySet),
96
97
  oDataEntityType = oMetaModel.getODataEntityType(oDataEntitySet.entityType),
97
- oNavigationProperties = oDataEntityType['navigationProperty'],
98
- aAddedNavigationProperties = [];
98
+ aNavigationProperties = oDataEntityType['navigationProperty'];
99
99
  //Fetch the added filters in the current variant
100
- var sCurrentVariantID = oSmartFilterBar.getVariantManagement().getCurrentVariantId();
101
- var oCurrentVariant = oSmartFilterBar.getVariantManagement().getAllVariants().find(function(variant) {
102
- return variant.getId() === sCurrentVariantID;
103
- });
104
- if (oCurrentVariant === undefined || oCurrentVariant.getContent() === undefined) {
105
- return aAddedNavigationProperties;
100
+ const sCurrentVariantID = oSmartFilterBar.getVariantManagement().getCurrentVariantId(),
101
+ oCurrentVariant = oSmartFilterBar.getVariantManagement().getAllVariants().find(function(variant) {
102
+ return variant.getId() === sCurrentVariantID;
103
+ });
104
+ if (!oCurrentVariant
105
+ || !oCurrentVariant.getContent()
106
+ || !oCurrentVariant.getContent().searchListReportVariant
107
+ || !oCurrentVariant.getContent().searchListReportVariant.filterBarVariant
108
+ || !aNavigationProperties
109
+ || !aNavigationProperties.length
110
+ ) {
111
+ return [];
106
112
  }
107
- var oSmartFilterBarVariant = JSON.parse( oCurrentVariant.getContent().searchListReportVariant.filterBarVariant );
113
+ const oManifestNavigationProperties = oSmartFilterBar.getNavigationProperties() ?
114
+ oSmartFilterBar.getNavigationProperties().split(",").reduce(function(accumulator, currentValue){
115
+ accumulator[currentValue] = true;
116
+ return accumulator;
117
+ }, {}) : {},
118
+ oNavigationProperties = aNavigationProperties.reduce(function(accumulator, currentValue){
119
+ accumulator[currentValue.name] = true;
120
+ return accumulator;
121
+ }, {}),
122
+ oSmartFilterBarVariant = JSON.parse(oCurrentVariant.getContent().searchListReportVariant.filterBarVariant),
123
+ aMissing = [];
108
124
  delete oSmartFilterBarVariant["_CUSTOM"];
109
- //Compare the filter source and navigation properties
110
- var aMatchedRanges = [];
111
- for (var key in oSmartFilterBarVariant) {
112
- for (var i = 0; i < oNavigationProperties.length; i++) {
113
- var obj = oNavigationProperties[i];
114
- if (key.startsWith(obj.name)) {
115
- if (oSmartFilterBarVariant[key].ranges) {
116
- aMatchedRanges.push(oSmartFilterBarVariant[key].ranges);
117
- }
118
- }
125
+
126
+ // Compare the filter source and navigation properties
127
+ // Take into account if parameter is already specified in page setting in manifest.json - settings->filterSettings->navigationProperties
128
+ // If parameter exist in navigationProperties -> SFB will handle specific parameter and code ignore it
129
+ for (const sFilterKey in oSmartFilterBarVariant) {
130
+ const sParamName = sFilterKey.split(".")[0]; // take first part from navigation parameter. Example: to_Currency.Currency_Code -> to_Currency
131
+ if (!oNavigationProperties[sParamName] || oManifestNavigationProperties[sParamName]
132
+ ) {
133
+ // Parameter is
134
+ // 1) not navigation property -> we don't process it
135
+ // 2) is defined in manifest.json - settings->filterSettings->navigationProperties -> value will be handled by SFB
136
+ continue;
137
+ }
138
+ if (oSmartFilterBarVariant[sFilterKey].items && oSmartFilterBarVariant[sFilterKey].items.length) {
139
+ aMissing.push(oSmartFilterBarVariant[sFilterKey].items.map(function(entry) {
140
+ return {
141
+ exclude: false,
142
+ field: sFilterKey,
143
+ operation: FilterOperator.EQ,
144
+ value1: entry.key
145
+ };
146
+ }));
147
+ continue;
148
+ }
149
+ if (oSmartFilterBarVariant[sFilterKey].ranges && oSmartFilterBarVariant[sFilterKey].ranges.length) {
150
+ aMissing.push(oSmartFilterBarVariant[sFilterKey].ranges.map(function(entry) {
151
+ return {
152
+ exclude: entry.exclude,
153
+ field: entry.keyField,
154
+ operation: entry.operation,
155
+ value1: entry.value1,
156
+ value2: entry.value2
157
+ };
158
+ }));
119
159
  }
120
160
  }
121
- if (aMatchedRanges.length) {
122
- //Compare the manifest property with the filter source
123
- var oManifestNavigationProperties = oSmartFilterBar.getNavigationProperties() || [];
124
- var missingNavProperty = aMatchedRanges.filter(function(item) {
125
- var sKeyField = item[0].keyField.split('.')[0];
126
- return !oManifestNavigationProperties.includes(sKeyField);
127
- });
128
- if (missingNavProperty.length) {
129
- aAddedNavigationProperties = aMatchedRanges;
130
- }
131
- }
132
- return aAddedNavigationProperties;
161
+ return aMissing;
133
162
  }
134
-
163
+
135
164
  function fnGetState() {
136
165
  if (!oSmartFilterBar) {
137
166
  return oPreliminaryState;
@@ -147,14 +176,14 @@ sap.ui.define([
147
176
  // added/removedFilterItems: selectOptions only contains values/ranges, not the information, whether the filter should be shown directly ("visibleInFilterBar"). SFB just assumes any items to
148
177
  // be shown that contain values (plus those shown per default), which is wrong in two directions: items made visible but without a value are missed, items with a value, but not shown are
149
178
  // added additionally
150
- // Remark:
179
+ // Remark:
151
180
  // - When saving as variant, the information seems to be passed to VM directly - but for appState, it would still be missing
152
181
  // - Storing added (not in BASIC group but made visible by user) and removed (the other way round) separately to not disconnect the user (using e.g. a saved tile) from future changes
153
182
  // in the application (e.g. adding a new property to selection fields)
154
183
  // (Remark: old logic (see iAppStateHandler.getByDefaultNonVisibleCustomFilterNames) seems to provide this data only for custom fields. Assumption: Even in VM it was only available for
155
184
  // standard fields some time back - now, this seems to be solved from SFB/SVM, but still it's missing for appState)
156
185
  var oSelectOptions = oUiState.getSelectionVariant().SelectOptions; // again, data contained in SelectionVaraint is only partly relevant
157
- // In beforeVariantFetch we need to provide the custom (from SVMs point of view) control's state data to the SFB. However, SFB also tries to interpret this data as
186
+ // In beforeVariantFetch we need to provide the custom (from SVMs point of view) control's state data to the SFB. However, SFB also tries to interpret this data as
158
187
  // name-value pairs (implicitly stringifying them and assuming name to be a name of a filter), thus whenever the beforeVariantFetch has occured before getting the state
159
188
  // here, the selectionVariant contains a superfluous select option for the property sap.suite.ui.generic.template.genericData (filtering for the value [object Object]).
160
189
  // Note: beforeVariantFetch is even called on initial startup, i.e. without explicetly removing it, the superfluous select option would always be there.
@@ -182,11 +211,11 @@ sap.ui.define([
182
211
 
183
212
  function fnSetState(oState) {
184
213
  // Don't cause side effects (filter change event), if setting state is no real change.
185
- // If this comparison fails for state that actually are identically, maybe it needs to be enhanced (e.g. ignoring order in some arrays might be needed)
214
+ // If this comparison fails for state that actually are identically, maybe it needs to be enhanced (e.g. ignoring order in some arrays might be needed)
186
215
  if (JSON.stringify(oState) === JSON.stringify(fnGetState())){
187
216
  return;
188
217
  }
189
-
218
+
190
219
  bIsApplying = true;
191
220
  oPreliminaryState = oState;
192
221
 
@@ -200,16 +229,16 @@ sap.ui.define([
200
229
  oUiState.getSelectionVariant().SelectOptions = oPreliminaryState && oPreliminaryState.selectOptions;
201
230
  oUiState.getSelectionVariant().Parameters = oPreliminaryState && oPreliminaryState.parameters;
202
231
  oUiState.setSemanticDates(oPreliminaryState && oPreliminaryState.semanticDates);
203
- // setState is meant to set the state absolutely, no merge needed => replace and strictMode can be set to true.
232
+ // setState is meant to set the state absolutely, no merge needed => replace and strictMode can be set to true.
204
233
  // (replace=false can be used to set additional selectOptions but keeping the existing ones. strictMode=false is used to map filters to parameters. Both might make sense in navigation
205
- // scenarios (navigation parameter to be merged with defaults, property used in source app as filter but in target as parameter), but not when just restoring to a state (provided from the
234
+ // scenarios (navigation parameter to be merged with defaults, property used in source app as filter but in target as parameter), but not when just restoring to a state (provided from the
206
235
  // same control))
207
236
  oSmartFilterBar.setUiState(oUiState, {replace: true, strictMode: true});
208
237
 
209
238
  mParams.oCustomFiltersWrapper.setState(oPreliminaryState && oPreliminaryState.customFilters);
210
-
239
+
211
240
  // set visibility
212
- // TODO:
241
+ // TODO:
213
242
  // - How to deal with old states (not containing all information about visibility) -> legacy state handler?
214
243
  // - restoring from old state when annotation has changed (new selection fields)?
215
244
  oSmartFilterBar.getAllFilterItems().forEach(function(oFilterItem){
@@ -261,7 +290,7 @@ sap.ui.define([
261
290
  });
262
291
  // unclear, whether this is needed, or filterChange event is anyway raised again (after dialog is closed)
263
292
  oSmartFilterBar.attachFiltersDialogClosed(handleStateChanged);
264
-
293
+
265
294
  // do we need to provide and handle change events from custom filters?
266
295
  // contra:
267
296
  // - SFB raises filteChange event also for custom filters
@@ -272,7 +301,7 @@ sap.ui.define([
272
301
  // - existing method in extensionAPI (onCustomAppStateChange)
273
302
  mParams.oCustomFiltersWrapper.attachStateChanged(function(){
274
303
  handleStateChanged();
275
- // When a custom filter value is changed by the user, not only the appState changes, but also the variant needs to be marked as dirty. For some known controls, this is
304
+ // When a custom filter value is changed by the user, not only the appState changes, but also the variant needs to be marked as dirty. For some known controls, this is
276
305
  // handled from the SFB (which informs the SVM directly). This logic is broken from architectural point of view, as it does not allow to use arbitrary own controls for
277
306
  // extension filters (which is the general idea of an extension).
278
307
  // However, when user selects a variant, custom filters also have to be restored, but that must not mark the selected variant as dirty. Ideally, this should be handled
@@ -293,13 +322,13 @@ sap.ui.define([
293
322
  function fnGetMissingNavProperties() {
294
323
  return aMissingNavFilters;
295
324
  }
296
-
325
+
297
326
  // check waiting for initialization (like in SmartTableWrapper/SmartChartWrapper)
298
327
  // currently, whole appState restoring is waiting for initialized event from sfb - but probably it would be enough to wait for it here
299
328
  fnInitialize();
300
-
329
+
301
330
  return {
302
- // generic properties (provided by all state wrappers)
331
+ // generic properties (provided by all state wrappers)
303
332
  getState: fnGetState,
304
333
  setState: fnSetState,
305
334
  setControl: fnSetControl,
@@ -307,7 +336,7 @@ sap.ui.define([
307
336
  // specific properties (needed to workaround direct connection between SFB and SVM)
308
337
  setSVMWrapperCallbacks: setSVMWrapperCallbacks,
309
338
  bVMConnection: oSmartFilterBar.getSmartVariant(),
310
- suppressSelection: oSmartFilterBar.setSuppressSelection.bind(oSmartFilterBar), // if multiple reasons for suppressing overlap, a counter (to avoid to early resume) could be implemented here
339
+ suppressSelection: oSmartFilterBar.setSuppressSelection.bind(oSmartFilterBar), // if multiple reasons for suppressing overlap, a counter (to avoid to early resume) could be implemented here
311
340
  getMissingNavProperties: fnGetMissingNavProperties
312
341
  };
313
342
  }
@@ -36,7 +36,8 @@ sap.ui.define([
36
36
  return {
37
37
  oUiState: {
38
38
  oPresentationVariant: oUiState.getPresentationVariant(),
39
- oSelectionVariant: oUiState.getSelectionVariant()
39
+ oSelectionVariant: oUiState.getSelectionVariant(),
40
+ oTableSettings: oUiState.getTableSettings()
40
41
  }
41
42
  };
42
43
  }
@@ -56,6 +57,7 @@ sap.ui.define([
56
57
  if (!oUiState.getProperty("variantName")){
57
58
  oUiState.setPresentationVariant(oState.oUiState.oPresentationVariant);
58
59
  oUiState.setSelectionVariant(oState.oUiState.oSelectionVariant);
60
+ oUiState.setTableSettings(oState.oUiState.oTableSettings);
59
61
  oControl.setUiState(oUiState);
60
62
  }
61
63
  bIsApplying = false;