@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
@@ -4,22 +4,22 @@ sap.ui.define([
4
4
 
5
5
  /**
6
6
  * Constructor for SmartVariantManagementWrapper
7
- * @param {sap.ui.comp.smartvariants.SmartVariantManagement} vTarget - The SmartVariantManagement control
7
+ * @param {sap.ui.comp.smartvariants.SmartVariantManagement} vTarget - The SmartVariantManagement control
8
8
  * or the Id of control for which this wrapper is created
9
- * @param {object} oController - the controller of the current component
9
+ * @param {object} oController - the controller of the current component
10
10
  * @param {object} oFactory - the controlStateWrapperFactory
11
- * @param {object} mParams
12
- * @param {array} mParams.managedControlWrappers - array of controlStateWrappers for controls handled by the SVM
13
- * (currently also including SFB wrapper - to be removed)
11
+ * @param {object} mParams
12
+ * @param {array} mParams.managedControlWrappers - array of controlStateWrappers for controls handled by the SVM
13
+ * (currently also including SFB wrapper - to be removed)
14
14
  * @param {Object} mParams.dynamicPageWrapper - dynamicPageWrapper instance handled by SVM
15
15
  * @returns {object}
16
16
  */
17
-
17
+
18
18
  function SmartVariantManagementWrapper(vTarget, oController, oFactory, mParams) {
19
19
  // Special handling of SmartFilterBarWrapper for several reasons:
20
20
  // - Suppress selection when restoring a variant. Selection is solely triggered according to information in appState. Otherwise, erroneous selection could be triggered in
21
21
  // a few situations:
22
- // - Variant marked as execute on select, but no data selected in appState (execute on select marked when saving variant without selecting, or changed after state was
22
+ // - Variant marked as execute on select, but no data selected in appState (execute on select marked when saving variant without selecting, or changed after state was
23
23
  // stored)
24
24
  // - Fallback to standard variant in case of dirty variant in state
25
25
  // - Fallback to standard variant if variant cannot be read (logic of SVM)
@@ -42,11 +42,11 @@ sap.ui.define([
42
42
  // - not available at this point in time, and no corresponding event to attach to available
43
43
  // - provides only those controls with directly connection to SVM implemented (i.e. with wrappers marked with bVMConnection)
44
44
 
45
- // ensure managed state wrappers do not trigger change event when applying state to them.
45
+ // ensure managed state wrappers do not trigger change event when applying state to them.
46
46
  // Todo: rethink, whether this is the right place to do this (or rather when the wrappers get created)
47
47
  mParams.managedControlWrappers = mParams.managedControlWrappers.map(oFactory.getSuppressChangeEventWhenApplyingWrapper);
48
48
 
49
- // Any change of managed control should also mark variant as modified. However, this is not true for controls with direct connection to SVM (SFB, SmartTable, SmartChart).
49
+ // Any change of managed control should also mark variant as modified. However, this is not true for controls with direct connection to SVM (SFB, SmartTable, SmartChart).
50
50
  // For these controls, a real user changes are already handled by the direct connection. On the other hand, these controls also fire their change events, if their state is
51
51
  // changed from SVM (by the same connection) - setting variant dirty here would be wrong.
52
52
  mParams.managedControlWrappers.forEach(function(oWrapper){
@@ -56,18 +56,18 @@ sap.ui.define([
56
56
  });
57
57
  }
58
58
  });
59
-
60
-
59
+
60
+
61
61
 
62
62
  function fnSetControl(oControl) {
63
63
  oSmartVariantManagement = oControl;
64
64
  fnResolveControlAssigned(oSmartVariantManagement);
65
65
  }
66
-
66
+
67
67
  var oSmartFilterBarWrapper = mParams.managedControlWrappers.find(function(oWrapper){
68
68
  return oWrapper.setSVMWrapperCallbacks;
69
69
  });
70
-
70
+
71
71
  // provide callbacks needed for SFB wrapper to store/restore extnesion state with variant
72
72
  if (oSmartFilterBarWrapper){
73
73
  oSmartFilterBarWrapper.setSVMWrapperCallbacks({
@@ -105,28 +105,28 @@ sap.ui.define([
105
105
  oControl.attachAfterVariantInitialise(function() {
106
106
  //set currentVariantId only when sVariantId is not standard (as it might be overriding existing
107
107
  //different currentVariantId) or smartTable's (oControl) currentVariantId is not equal to sVariantId.
108
- if (sVariantId !== '*standard*') {
108
+ if (sVariantId !== '*standard*' && sVariantId !== '') {
109
109
  if (oControl.getCurrentVariantId && oControl.getCurrentVariantId() !== sVariantId) {
110
110
  oControl.setCurrentVariantId(sVariantId);
111
111
  }
112
112
  oSmartVariantManagement.setModified(false);
113
113
  }
114
114
  });
115
- }
115
+ }
116
116
  oSmartVariantManagement.setCurrentVariantId(sVariantId);
117
117
  if (oSmartFilterBarWrapper){
118
118
  oSmartFilterBarWrapper.suppressSelection(false);
119
119
  }
120
120
  }
121
121
 
122
- // Restore state of all managed controls
122
+ // Restore state of all managed controls
123
123
  function fnSetManagedControlStates(oState){
124
- // Usually, looping through mParams.managedControlWrappers or through oState.managedControlStates should be equivalent, but in exceptional cases, their might be
125
- // differences, if application has changed (changing the controls managed by the SVM - in LR, this could be achieved by changing setting SmartVariantManagement).
124
+ // Usually, looping through mParams.managedControlWrappers or through oState.managedControlStates should be equivalent, but in exceptional cases, their might be
125
+ // differences, if application has changed (changing the controls managed by the SVM - in LR, this could be achieved by changing setting SmartVariantManagement).
126
126
  // mParams.managedControlWrappers reflects current state, while oState.managedControlStates reflects state at the time iAppState was written
127
127
  // - when adding a control (in LR changing setting SmartVariantManagement from false to true), state for that control would not be contained - calling the wrapper with
128
128
  // undefined to ensure initial state
129
- // - when removing a control, state would be contained that should not be applied here
129
+ // - when removing a control, state would be contained that should not be applied here
130
130
  mParams.managedControlWrappers.forEach(function(oWrapper){
131
131
  oWrapper.setState(oState.managedControlStates[oWrapper.getLocalId()]);
132
132
  });
@@ -164,8 +164,8 @@ sap.ui.define([
164
164
  // set (which is achieved by empty string)
165
165
  fnSetVariant("");
166
166
  // Usually restoring the state of any of the managed controls should mark the variant as dirty, but there might be edge cases (state from an old release not containing information for any
167
- // managed control now relevant), so to be on the safe side, we set modified=true explicitly.
168
- oSmartVariantManagement.currentVariantSetModified(true);
167
+ // managed control now relevant), so to be on the safe side, we set modified=true explicitly.
168
+ oSmartVariantManagement.currentVariantSetModified(true);
169
169
  fnSetManagedControlStates(oPreliminaryState);
170
170
  } else {
171
171
  fnSetVariant(oPreliminaryState.variantId);
@@ -177,7 +177,7 @@ sap.ui.define([
177
177
  oSmartFilterBarWrapper.setState(oPreliminaryState.managedControlStates[oSmartFilterBarWrapper.getLocalId()]);
178
178
  }
179
179
  if (oPreliminaryState.variantId !== oSmartVariantManagement.getCurrentVariantId()){
180
- // variant could not be set because it is not known, i.e. it could be private and URL was shared, or could be deleted after page was bookmarked. In this case,
180
+ // variant could not be set because it is not known, i.e. it could be private and URL was shared, or could be deleted after page was bookmarked. In this case,
181
181
  // standard variant is set (by VM). Additionally, it should be marked as modified.
182
182
  oSmartVariantManagement.currentVariantSetModified(true);
183
183
  }
@@ -193,19 +193,19 @@ sap.ui.define([
193
193
  oControlAssignedPromise.then(function() {
194
194
  // state change when user selects a different variant
195
195
  oSmartVariantManagement.attachSelect(fnHandler);
196
-
196
+
197
197
  // when user saves current state as a new variant, this is also a state change (as the variant id is part of the state)
198
198
  // note: Even if new (SFB) variant is marked as execute on select, and currently no data is selected, no need to select data here (and thus also not to collapse header).
199
- // This is one of the possible ways to get into a state with a clean variant with execute on select, but no data loaded - see also comment to identify SFB wrapper.
199
+ // This is one of the possible ways to get into a state with a clean variant with execute on select, but no data loaded - see also comment to identify SFB wrapper.
200
200
  oSmartVariantManagement.attachAfterSave(fnHandler);
201
-
201
+
202
202
  // any change of a managed control is state change
203
203
  mParams.managedControlWrappers.forEach(function(oWrapper){
204
204
  oWrapper.attachStateChanged(fnHandler);
205
205
  });
206
206
  });
207
207
  }
208
-
208
+
209
209
  return {
210
210
  getState : getState,
211
211
  setState : setState,
@@ -215,4 +215,4 @@ sap.ui.define([
215
215
  }
216
216
 
217
217
  return SmartVariantManagementWrapper;
218
- });
218
+ });
@@ -10,6 +10,18 @@ sap.ui.define([
10
10
  ], function (FilterOperator, DateFormat, encodeURL, DynamicDateUtil, metadataAnalyser, CalendarType, testableHelper,Filter) {
11
11
  "use strict";
12
12
 
13
+ const aNegateOperationsMapping = {
14
+ [FilterOperator.EQ]: FilterOperator.NE,
15
+ [FilterOperator.GE]: FilterOperator.LT,
16
+ [FilterOperator.LT]: FilterOperator.GE,
17
+ [FilterOperator.LE]: FilterOperator.GT,
18
+ [FilterOperator.GT]: FilterOperator.LE,
19
+ [FilterOperator.BT]: FilterOperator.NB,
20
+ [FilterOperator.Contains]: FilterOperator.NotContains,
21
+ [FilterOperator.StartsWith]: FilterOperator.NotStartsWith,
22
+ [FilterOperator.EndsWith]: FilterOperator.NotEndsWith
23
+ };
24
+
13
25
  function getInfoForFilters(aFilters, getFilterInfoForPropertyFilters, bAnd){
14
26
  var mPropertyFilters = Object.create(null);
15
27
  var aInfosForFilters = [];
@@ -39,7 +51,7 @@ sap.ui.define([
39
51
  }
40
52
  if (aInfosForFilters.length === 0 ){
41
53
  return null;
42
- }
54
+ }
43
55
  if (aInfosForFilters.length === 1){
44
56
  return aInfosForFilters[0];
45
57
  }
@@ -60,11 +72,11 @@ sap.ui.define([
60
72
  // The interface of this function should be as follows:
61
73
  // sProperty defines the common property all atomic filters to be handled refer to
62
74
  // aFiltersForProperty is an array of atomic filters all referring to that property
63
- // sLogicalOperator is the logical operator ('and' or 'or') these filters should be combined with.
75
+ // sLogicalOperator is the logical operator ('and' or 'or') these filters should be combined with.
64
76
  // If aFiltersForProperty contains only one filter this parameter will be the empty string.
65
77
  // The expected return value is an object containing two properties:
66
78
  // - stringRep: The string representation of the given filters
67
- // - logicalOperator: The topmost logical operator ('and' or 'or') that was used to create stringRep.
79
+ // - logicalOperator: The topmost logical operator ('and' or 'or') that was used to create stringRep.
68
80
  // In case no logical operator is used on top most level it should be faulty
69
81
  function getFilterString(aFilters, getFilterInfoForPropertyFilters) {
70
82
  var oFilterInfo = getInfoForFilters(aFilters, getFilterInfoForPropertyFilters, true);
@@ -187,7 +199,7 @@ sap.ui.define([
187
199
  * @param {object} oParams - It contains information like (Model/EntityType/FilterData/bIsStatic),
188
200
  * Here bIsStatic is subject to change from false to true whenever application uses custom sematic date
189
201
  * @param {String} sProperty - property name of the filter field from SFB
190
- * @param {Array} aFiltersForProperty - filter operator of field from SFB
202
+ * @param {Array} aFiltersForProperty - filter operator of field from SFB
191
203
  * @param {String} sLogicalOperator - logical operator (and/or) betweem each filter item.
192
204
  * @returns {string} - return combination of filters as a string.
193
205
  */
@@ -265,7 +277,7 @@ sap.ui.define([
265
277
 
266
278
  /**
267
279
  * function wraps the table level filters into single filter object
268
- * This is done to follow the same format as SFB and chart filters
280
+ * This is done to follow the same format as SFB and chart filters
269
281
  * returns the updated aFilters
270
282
  * @param {Array} aFilters - It contains all the filters applied (in SFB , chart or table level filters)
271
283
  * @returns {Array} - returns array containing all the filters applied including the table filters wrapped as single filter object similar to SFB and chart filters
@@ -284,7 +296,7 @@ sap.ui.define([
284
296
  }
285
297
  });
286
298
 
287
- if (aTableFilters && aTableFilters.length > 1) {
299
+ if (aTableFilters && aTableFilters.length) {
288
300
  //Grouping the table level filters based on sPath
289
301
  var aGroupedTableFilters = aTableFilters.reduce(
290
302
  (aGroupedFilters, oCurrentfilter) => {
@@ -348,10 +360,25 @@ sap.ui.define([
348
360
  sFilterParams = oParams.bIsStatic ? "" : sFilterParams;
349
361
  return sFilterParams;
350
362
  }
363
+
364
+ /**
365
+ * Transforms operation for exclude
366
+ * @private
367
+ * @static
368
+ * @param {string} sOperation the input operation
369
+ * @returns {string} negated operation
370
+ */
371
+ function fnNegateOperation(sOperation) {
372
+ return aNegateOperationsMapping[sOperation] || sOperation;
373
+ }
374
+
351
375
  testableHelper.testableStatic(getFilterInfoForPropertyFilters, "filterHelper_getFilterInfoForPropertyFilters");
352
376
  testableHelper.testableStatic(getFilterString, "filterHelper_getFilterString");
353
377
  testableHelper.testableStatic(fnNormaliseControlFilters, "filterHelper_fnNormaliseControlFilters");
354
- return {
355
- getFilterParams: getFilterParams
356
- };
378
+
379
+ return {
380
+ getFilterParams: getFilterParams,
381
+ fnNormaliseControlFilters: fnNormaliseControlFilters,
382
+ negateOperation: fnNegateOperation
383
+ };
357
384
  });
@@ -3041,6 +3041,37 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
3041
3041
  }
3042
3042
  return sTextArrangement;
3043
3043
  },
3044
+ getTextArrangementPath: function (oField) {
3045
+ return oField["com.sap.vocabularies.Common.v1.Text"] && oField["com.sap.vocabularies.Common.v1.Text"].Path;
3046
+ },
3047
+ isValueHelpTableAvailable: function (oField) {
3048
+ return !!oField.extensions?.find((extension)=> extension.name === "value-list");
3049
+ },
3050
+ getTextArrangementFinalString: function(result,idPath,descriptionPath,textArrangementType) {
3051
+ var id = result[idPath];
3052
+ var description = result[descriptionPath];
3053
+
3054
+ if (description) {
3055
+ var result = "";
3056
+ switch (textArrangementType) {
3057
+ case "descriptionAndId":
3058
+ result = `${description} (${id})`;
3059
+ break;
3060
+ case "idAndDescription":
3061
+ result = `${id} (${description})`;
3062
+ break;
3063
+ case "descriptionOnly":
3064
+ result = `${description}`;
3065
+ break;
3066
+ default:
3067
+ result = `${id}`;
3068
+ break;
3069
+ }
3070
+ return result;
3071
+ } else {
3072
+ return id;
3073
+ }
3074
+ },
3044
3075
  getTitleTextArrangementBindingPath: function (sTextArrangement, sPropertyPath, sTextPath) {
3045
3076
  var sPropertyBinding = "{" + sPropertyPath + "}";
3046
3077
  var sTextBinding = "{" + sTextPath + "}";
@@ -3447,8 +3478,8 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
3447
3478
  },
3448
3479
 
3449
3480
  // applicable for both types of action i.e., standard and custom actions
3450
- getActionCommandVisibility: function (sButtonId) {
3451
- return !sButtonId || "{= " + oAnnotationHelper.getControlVisibleTerm(sButtonId) + " && " + oAnnotationHelper.getControlEnabledTerm(sButtonId) + "}";
3481
+ getActionCommandVisibility: function (sButtonId, bVisible) {
3482
+ return !sButtonId || bVisible || "{= " + oAnnotationHelper.getControlVisibleTerm(sButtonId) + " && " + oAnnotationHelper.getControlEnabledTerm(sButtonId) + "}";
3452
3483
  },
3453
3484
 
3454
3485
  buildVisibilityExprOfDataFieldForIntentBasedNaviButton: function (oDataField) {
@@ -4541,6 +4572,9 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
4541
4572
  oAnnotationHelper.getLinkTextForDFwithEmail.requiresIContext = true;
4542
4573
  oAnnotationHelper.checkIsEmailAddress.requiresIContext = true;
4543
4574
  oAnnotationHelper.isEmailAddressAndMuliplicity.requiresIContext = true;
4575
+ oAnnotationHelper.getTextArrangementPath.requiresIContext = true;
4576
+ oAnnotationHelper.isValueHelpTableAvailable.requiresIContext = true;
4577
+ oAnnotationHelper.getTextArrangementFinalString.requiresIContext = true;
4544
4578
 
4545
4579
  return oAnnotationHelper;
4546
4580
  }, /* bExport= */ true);
@@ -7,7 +7,8 @@ sap.ui.define([
7
7
  "sap/m/RatingIndicator",
8
8
  "sap/suite/ui/generic/template/genericUtilities/FeLogger",
9
9
  "sap/suite/ui/generic/template/genericUtilities/testableHelper",
10
- "sap/suite/ui/generic/template/genericUtilities/utils"
10
+ "sap/suite/ui/generic/template/genericUtilities/utils",
11
+ "sap/base/security/encodeXML"
11
12
  ], function (
12
13
  Formatting,
13
14
  Locale,
@@ -17,7 +18,8 @@ sap.ui.define([
17
18
  RatingIndicator,
18
19
  FeLogger,
19
20
  testableHelper,
20
- utils
21
+ utils,
22
+ encodeXML
21
23
  ) {
22
24
  "use strict";
23
25
 
@@ -308,7 +310,42 @@ sap.ui.define([
308
310
  */
309
311
  formatCurrency: function (vAmount, sCurrency) {
310
312
  return getCurrencyFormatter().format(vAmount, sCurrency);
313
+ },
314
+
315
+ /**
316
+ * Determines what text to be displayed for draft objects without title
317
+ *
318
+ * @param {boolean} hasActiveEntity
319
+ * @param {boolean} isActiveEntity
320
+ * @param {boolean} newObject , i18n text for newly created draft object
321
+ * @param {boolean} unnamedObject , i18n text for active object
322
+ * @returns {string}
323
+ */
324
+
325
+ getDraftObjectDisplayText: function (hasActiveEntity, isActiveEntity, newObject, unnamedObject) {
326
+ var oComponent = sap.ui.core.Component.getOwnerComponentFor(this);
327
+ // When both HasActiveEntity and IsActiveEntity are false, it indicates a new object.
328
+ // In this case, display the text 'New Object' or the app-specific override text for the key 'NEW_OBJECT' if available.
329
+ // Otherwise, if it's an active entity, display 'Unnamed Object' or the override text for the key 'UNNAMED_OBJECT' if provided by the app.
330
+ var text = (!hasActiveEntity && !isActiveEntity) ? newObject : unnamedObject;
331
+
332
+ // As a fallback to maintain backward compatibility, if the app already defines the 'NEW_OBJECT' key (from previous behavior),
333
+ // use the app-specific overridden text for both newly created objects and active objects.
334
+ if (oComponent) {
335
+ var oModelApplicationListReport = oComponent.getAppComponent().getModel("i18n|" + oComponent.getMetadata().getComponentName() + "|" + oComponent.getEntitySet());
336
+ var oModelApplication = oComponent.getAppComponent().getModel("i18n");
337
+ var bHasAppNewObjectText = ((oModelApplication ? oModelApplication.getResourceBundle().hasText("NEW_OBJECT") : false) || (oModelApplicationListReport ? oModelApplicationListReport.getResourceBundle().hasText("NEW_OBJECT") : false));
338
+ var bHasAppUnnamedObjectText = ((oModelApplication ? oModelApplication.getResourceBundle().hasText("UNNAMED_OBJECT") : false) || (oModelApplicationListReport ? oModelApplicationListReport.getResourceBundle().hasText("UNNAMED_OBJECT") : false));
339
+ if (bHasAppNewObjectText && !bHasAppUnnamedObjectText) {
340
+ var text = newObject;
341
+ }
342
+
343
+ }
344
+ // Encode the text to ensure HTML special characters are escaped
345
+ // This prevents XSS and rendering issues in HTML context
346
+ return encodeXML(text);
311
347
  }
348
+
312
349
  };
313
350
 
314
351
  return oRuntimeFormatters;
@@ -950,11 +950,14 @@ sap.ui.define([
950
950
  * @public
951
951
  * @extends sap.ui.core.UIComponent
952
952
  * @author SAP SE
953
- * @version 1.134.2
953
+ * @version 1.136.0
954
954
  * @name sap.suite.ui.generic.template.lib.AppComponent
955
955
  */
956
956
  var oAppComponent = UIComponent.extend("sap.suite.ui.generic.template.lib.AppComponent", {
957
957
  metadata: {
958
+ interfaces: [
959
+ "sap.ui.core.IAsyncContentCreation"
960
+ ],
958
961
  config: {
959
962
  title: "SAP UI Application Component", // TODO: This should be set from App descriptor
960
963
  fullWidth: true
@@ -9,7 +9,7 @@
9
9
  * It has options to handle the scenario when there is error coming from the backend and we still want to save in second try.
10
10
  */
11
11
 
12
- sap.ui.define(["sap/ui/base/Object", "sap/ui/model/Filter", "sap/ui/model/FilterOperator", "sap/base/util/extend", "sap/suite/ui/generic/template/lib/MessageUtils", "sap/ui/model/json/JSONModel",
12
+ sap.ui.define(["sap/ui/base/Object", "sap/ui/model/Filter", "sap/ui/model/FilterOperator", "sap/base/util/extend", "sap/suite/ui/generic/template/lib/MessageUtils", "sap/ui/model/json/JSONModel",
13
13
  "sap/suite/ui/generic/template/genericUtilities/controlHelper", "sap/ui/core/message/MessageType",
14
14
  "sap/suite/ui/generic/template/genericUtilities/FeLogger"
15
15
  ], function(BaseObject, Filter, FilterOperator, extend, MessageUtils, JSONModel, controlHelper, MessageType, FeLogger) {
@@ -122,12 +122,13 @@
122
122
  }).then(function (oFragment) {
123
123
  oRet = oFragment;
124
124
  oLocalModel = oRet.getModel(sLocalModelName);
125
-
125
+
126
126
  var oMsgModel = aMessages ? new JSONModel(aMessages) : sap.ui.getCore().getMessageManager().getMessageModel();
127
+ oMsgModel.setSizeLimit(9999); // Increase limit for created binding count. This will ensure that all messages are visible.
127
128
  oMessageView.setModel(oMsgModel, "msg");
128
129
  oLocalModel.setProperty("/situation", iSituation);
129
130
  oLocalModel.setProperty("/afterClose", Function.prototype);
130
-
131
+
131
132
 
132
133
  var oOverallFilter = oAtLeastWarningFilter;
133
134
  var oErrorFilter = oBaseErrorFilter;
@@ -183,13 +184,14 @@
183
184
  if (oItemBinding.filter(oErrorFilter).getLength() === 0) {
184
185
  oLocalModel.setProperty("/situation", 4);
185
186
  }
186
-
187
+
187
188
  }
189
+ oLocalModel.setProperty("/backbtnvisibility", false);
188
190
  oItemBinding.filter(oOverallFilter);
189
191
  if (oItemBinding.getLength() === 0){
190
192
  return null; // no popup needed
191
193
  }
192
- var aMsg = oItemBinding.getAllCurrentContexts().map(function(oContext) {
194
+ var aMsg = oItemBinding.getAllCurrentContexts().map(function(oContext) {
193
195
  return oContext.getObject();
194
196
  });
195
197
  var oMsgDialogHeaderInfo = MessageUtils.getMessageDialogTitleAndSeverity(aMsg, oTemplateContract);
@@ -114,7 +114,7 @@ sap.ui.define(["sap/ui/base/Object",
114
114
  return oComponentUtils.getMainComponentUtils().then(function(oMainUtils) {
115
115
  var oInfoForContentIdPromise = CacheHelper.getInfoForContentIdPromise(oMainUtils.entitySet, oModel, sAppId, oMainUtils.getRootExpand);
116
116
  return oInfoForContentIdPromise.then(function(oInfoObject) {
117
- return oInfoObject.contentIdRequestPossible ? oInfoObject.parametersForContentIdRequest.sRootExpand : null;
117
+ return oInfoObject.contentIdRequestPossible ? oInfoObject.parametersForContentIdRequest.sRootExpand : null;
118
118
  });
119
119
  });
120
120
  }
@@ -229,7 +229,7 @@ sap.ui.define(["sap/ui/base/Object",
229
229
  // The resulting object may contain properties context/draftAdministrativeData and targetSiblingKey
230
230
  // The object contains property 'draftAdministrativeData' when there exists a non-locking draft of another user (this can only be the case when bUnconditional is false)
231
231
  // The property, 'draftAdministrativeData' contains the draft administrative data of the non-locking draft.
232
- // When the editing can start, the object contains the property 'context',this property contains the context of the entity to be edited.
232
+ // When the editing can start, the object contains the property 'context',this property contains the context of the entity to be edited.
233
233
  // The object also holds 'targetSiblingKey' property containing the target sibling keys and treeNode info. in case of draft application and for non-draft application this property will hold value undefined
234
234
  function editEntity(bUnconditional) {
235
235
  if (oBusyHelper.isBusy()) {
@@ -439,7 +439,7 @@ sap.ui.define(["sap/ui/base/Object",
439
439
  aSelectedContextPath.push(oContext.sContextPath);
440
440
  });
441
441
  var oParsedUpdateResult = fnParseResponse(aSelectedContextPath, aUpdateResults);
442
- // The error and warning scenarios are handled via transient handling.
442
+ // The error and warning scenarios are handled via transient handling.
443
443
  // We only need to show message to user regarding records that are updated, Hence returning only successfull responses.
444
444
  // In future if we need to show/use info about error and warning cases, oParsedUpdateResult contains that info as well.
445
445
  var aSuccess = mapToArray(oParsedUpdateResult.mSuccess);
@@ -507,7 +507,7 @@ sap.ui.define(["sap/ui/base/Object",
507
507
  function saveEntityImpl(resolve, reject, oCreateWithDialogFilters) {
508
508
  var oMessageManager = sap.ui.getCore().getMessageManager();
509
509
  var oModel = oController.getView().getModel();
510
-
510
+
511
511
  // Create mandatory check (not performed in case of Create with dialogue).
512
512
  if (!oCreateWithDialogFilters) {
513
513
  var aMandatoryFields = fnGetAllMandatoryFields(oModel),
@@ -519,7 +519,7 @@ sap.ui.define(["sap/ui/base/Object",
519
519
  return;
520
520
  }
521
521
  }
522
-
522
+
523
523
  // Prepare message handling by storing information which messages have been available before saving
524
524
  var oContextFilter = oCreateWithDialogFilters ? oCreateWithDialogFilters : oServices.oTemplateCapabilities.oMessageButtonHelper && oServices.oTemplateCapabilities.oMessageButtonHelper.getContextFilter(false);
525
525
  var aMessagesBeforeSave = CRUDHelper.fnGetMessagesFromContextFilter(oContextFilter, oMessageManager, true);
@@ -615,7 +615,7 @@ sap.ui.define(["sap/ui/base/Object",
615
615
 
616
616
  /*
617
617
  * Calls generic app layer to get default values. If oPredefinedValues are passed then it overrides the values returned from the default values function.
618
- * Default value function is invoked when the application is non-draft (or) inline creation rows feature enabled
618
+ * Default value function is invoked when the application is non-draft (or) inline creation rows feature enabled
619
619
  * @param {object} oEventSource to extract context and entityset
620
620
  * @param {object} mPredefinedValues existing predefined values
621
621
  * @param {boolean} bIsInlineCreationRowsEnabled is inline creation rows feature enabled
@@ -727,11 +727,15 @@ sap.ui.define(["sap/ui/base/Object",
727
727
  isDraftEnabled: oComponentUtils.isDraftEnabled(),
728
728
  contextIndependentParameterData: mContextIndependentParameterData,
729
729
  expand: mParameters.sRootExpand,
730
- operationGrouping: sOperationGrouping
730
+ operationGrouping: sOperationGrouping,
731
+ handleFocus: oServices.controllerServices && oServices.controllerServices.getRestoreFocusHelper
732
+ ? oServices.controllerServices.getRestoreFocusHelper().rememberFocus
733
+ : null
731
734
  });
732
735
  oActionProcessor.call(bIsStrict).then(function(oResult){
733
736
  var oSessionParams = {};
734
737
  oSessionParams.actionLabel = sFunctionImportLabel;
738
+ oServices.oApplication.setNextFocus(Function.prototype);
735
739
  oBusyHelper.setBusy(oResult.executionPromise, null, oSessionParams);
736
740
  oResult.executionPromise.then(fnHandleResponse,fnHandleResponse);
737
741
  }, fnActionPopUpReject);
@@ -812,6 +816,11 @@ sap.ui.define(["sap/ui/base/Object",
812
816
  });
813
817
  });
814
818
  oServices.oApplication.navigateToDetailContextIfPossible(oResponseContext, false, oContextInfo.bIsDraft ? 2 * (1 + oContextInfo.bIsCreate) : 1, oContextInfo);
819
+ } else {
820
+ // Restore focus, because we don't navigate out
821
+ oServices.oApplication.setNextFocus(function(oBeforeData, fnFallback){
822
+ fnFallback();
823
+ });
815
824
  }
816
825
  var oTableBindingInfo = oSourceControlHandler && oSourceControlHandler.getBindingInfo();
817
826
  var oListBinding = oTableBindingInfo && oTableBindingInfo.binding;
@@ -906,7 +915,7 @@ sap.ui.define(["sap/ui/base/Object",
906
915
  var oModel = oView.getModel();
907
916
  var sEntitySet, sBindingPath;
908
917
  var iViewLevel = oComponentUtils.getViewLevel();
909
- if (iViewLevel > 0) { // Details page
918
+ if (iViewLevel > 0) { // Details page
910
919
  var sTableBindingPath = oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oCommonUtils.getOwnerPresentationControl(oTable)).getBindingInfo().path;
911
920
  sEntitySet = oTable.getEntitySet();
912
921
  // create binding path
@@ -922,14 +931,14 @@ sap.ui.define(["sap/ui/base/Object",
922
931
  var fnSetBusy = function(oBusyPromise){
923
932
  var oBusyHelper = oServices.oApplication.getBusyHelper();
924
933
  oBusyHelper.setBusy(oBusyPromise);
925
- oServices.oApplication.setNextFocus(Function.prototype); // Prevent default handling in error case. Focus for success should be set there.
934
+ oServices.oApplication.setNextFocus(Function.prototype); // Prevent default handling in error case. Focus for success should be set there.
926
935
  };
927
936
  // Method will be called in case the create has to be performed on a DraftEntity. For better performance Fe would check
928
937
  // whether the expand information in the PreProcessor data is stored in the localStorage. In case this is available Fe
929
938
  // will pass the expand nodes and read the newly created instance information. PreProcessor data is always stored with
930
939
  // a cache key which ensures Fe don't work with stale data
931
-
932
-
940
+
941
+
933
942
  var oTargetComponentUtils = oServices.oApplication.getComponentUtilsIfLoaded(sEntitySet);
934
943
  var getRootExpand = oTargetComponentUtils && oTargetComponentUtils.viewRegistered && !oTargetComponentUtils.fnViewRegisteredResolve && oTargetComponentUtils.getRootExpand;
935
944
  var oInfoForContentIdPromise = CacheHelper.getInfoForContentIdPromise(sEntitySet, oModel, oAppComponent.getId(), getRootExpand);
@@ -942,7 +951,10 @@ sap.ui.define(["sap/ui/base/Object",
942
951
  oController: oController,
943
952
  oApplicationController: oServices.oApplicationController,
944
953
  bUseNewActionForCreate: oSettings && oSettings.useNewActionForCreate,
945
- fnSetBusy: fnSetBusy
954
+ fnSetBusy: fnSetBusy,
955
+ handleFocus: oServices.controllerServices && oServices.controllerServices.getRestoreFocusHelper
956
+ ? oServices.controllerServices.getRestoreFocusHelper().rememberFocus
957
+ : null
946
958
  };
947
959
  var oCreatePromise = CRUDHelper.create(oServices.oDraftController,
948
960
  sEntitySet,
@@ -982,7 +994,7 @@ sap.ui.define(["sap/ui/base/Object",
982
994
  });
983
995
  });
984
996
  }
985
-
997
+
986
998
 
987
999
  /* eslint-disable */
988
1000
  var handleError = testableHelper.testable(handleError, "handleError");
@@ -987,7 +987,7 @@ sap.ui.define(["sap/ui/base/Object",
987
987
  onTeamsCollabOptionPress: onTeamsCollabOptionPress.bind(this),
988
988
  onContactDetails: onContactDetails.bind(this),
989
989
  // Ignoring the below events since quick view forms don't handle side effects. Handle them if support is added in the future.
990
- onSmartFieldModeToggled: Function.prototype,
990
+ onSmartFieldModeToggled: Function.prototype,
991
991
  onSmartFieldModelValueChanged: Function.prototype,
992
992
  // Ignoring this event as SmartMultiInput isn't rendered in the quick view smart form.
993
993
  submitChangesForSmartMultiInput: Function.prototype,
@@ -2039,8 +2039,8 @@ sap.ui.define(["sap/ui/base/Object",
2039
2039
  oPrivModel.setProperty("/generic/controlProperties/" + "fileUploader/" + sEntitySet, oFileUploaderSettings);
2040
2040
  }
2041
2041
 
2042
- // URLEncoded filenames are decoded by Chrome, Firefox browsers but Safari doesn't do this automatically.
2043
- // Therefore, FE decodes it on our side & ensure actual file name is used for further processing.
2042
+ // URLEncoded filenames are decoded by Chrome, Firefox browsers but Safari doesn't do this automatically.
2043
+ // Therefore, FE decodes it on our side & ensure actual file name is used for further processing.
2044
2044
  oFileUploaderSettings.fileName = decodeURIComponent(oEvent.mParameters.fileName);
2045
2045
  var fileType = oEvent.mParameters.requestHeaders.find(function(requestHeader) {
2046
2046
  if (requestHeader.name === "Content-Type") {
@@ -2713,14 +2713,14 @@ sap.ui.define(["sap/ui/base/Object",
2713
2713
 
2714
2714
  /**
2715
2715
  * Performs intent based navigation and opens the given line item context in a new tab.
2716
- *
2716
+ *
2717
2717
  * @param {object} oOutbound The target outbound intent (contains semantic object and action)
2718
2718
  * @param {sap.ui.model.Context} oLineItemContext The line item context to be opened in new tab
2719
2719
  * @param {sap.ui.comp.smartfilterbar.SmartFilterBar} oSmartFilterBar The filter bar
2720
2720
  * @param {Function} fnHandleError The error handling function
2721
2721
  */
2722
2722
  function fnNavigateIntentOnNewTab(oOutbound, oLineItemContext, oSmartFilterBar, fnHandleError) {
2723
- var sSelectionVariant,
2723
+ var sSelectionVariant,
2724
2724
  oSelectionVariant,
2725
2725
  sNavMode = "explace"; // "explace" is the navigation mode for opening in new tab
2726
2726
  // Get selection variant from filter bar