@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
@@ -220,6 +220,10 @@ sap.ui.define(["sap/ui/base/Object",
220
220
  function getText(sKey, aArguments, bIgnoreKeyFallback) {
221
221
  var oComponent = oController.getOwnerComponent();
222
222
  oResourceBundle = oResourceBundle || oComponent.getModel("i18n").getResourceBundle();
223
+ // "aArguments" should be an array
224
+ if (aArguments && !Array.isArray(aArguments)) {
225
+ aArguments = [aArguments];
226
+ }
223
227
  // with bIgnoreKeyFallback =true, resourceBundle does not write a console error and returns undefined instead of the key, if the text doesn't exist
224
228
  // currently only used for the texts that can be overridden more specific than per page in getContextText
225
229
  return oResourceBundle.getText(sKey, aArguments, bIgnoreKeyFallback);
@@ -1394,7 +1398,7 @@ sap.ui.define(["sap/ui/base/Object",
1394
1398
  var aLinksToCheck = [], aInternalLinks = [];
1395
1399
  var oAppComponent = oComponent.getAppComponent();
1396
1400
  var UshellContainer = sap.ui.require("sap/ushell/Container");
1397
- var oXApplNavigation = UshellContainer && UshellContainer.getServiceAsync("Navigation");
1401
+ var oXAppNavigation = UshellContainer && UshellContainer.getServiceAsync("Navigation");
1398
1402
  var oSupportedIntents = oTemplatePrivateModel.getProperty("/generic/supportedIntents/");
1399
1403
  var aToolbarContent = oToolbar.getContent();
1400
1404
  var iButtonsNumber = aToolbarContent.length;
@@ -1415,51 +1419,51 @@ sap.ui.define(["sap/ui/base/Object",
1415
1419
  }
1416
1420
  }
1417
1421
 
1418
- if (aLinksToCheck.length > 0 && oXApplNavigation) {
1419
- oXApplNavigation.then(function(oCrossAppNavigator) {
1420
- var oDeferredLinks = oCrossAppNavigator.getLinks(aLinksToCheck);
1421
- oDeferredLinks.then(function(aLinks) {
1422
- oSupportedIntents = oTemplatePrivateModel.getProperty("/generic/supportedIntents/");
1423
- var iLinksNumber = aLinks.length;
1424
- // Entries in aLinks should correspond to aInternalLinks: if a link is not supported an empty object is returned by the method getLinks
1425
- var aHrefPromises = [];
1426
- for (var i = 0; i < iLinksNumber; i++) {
1427
- if (aLinks[i].length > 0) {
1428
- var sHref = oCrossAppNavigator.getHref({ target: { shellHash: aLinks[i][0].intent } }, oAppComponent);
1429
- aHrefPromises.push(sHref);
1422
+ if (!aLinksToCheck.length || !oXAppNavigation) {
1423
+ return;
1424
+ }
1425
+ oXAppNavigation.then(function(oCrossAppNavigator) {
1426
+ var oDeferredLinks = oCrossAppNavigator.getLinks(aLinksToCheck);
1427
+ oDeferredLinks.then(function(aLinks) {
1428
+ oSupportedIntents = oTemplatePrivateModel.getProperty("/generic/supportedIntents/");
1429
+ var iLinksNumber = aLinks.length;
1430
+ // Entries in aLinks should correspond to aInternalLinks: if a link is not supported an empty object is returned by the method getLinks
1431
+ var aHrefPromises = [],
1432
+ aHrefLinks = [];
1433
+ for (var i = 0; i < iLinksNumber; i++) {
1434
+ if (aLinks[i].length > 0) {
1435
+ var sHref = oCrossAppNavigator.getHref({ target: { shellHash: aLinks[i][0].intent } }, oAppComponent);
1436
+ aHrefPromises.push(sHref);
1437
+ // Store value in separate array. Count in aHrefLinks and in aInternalLinks may differs
1438
+ aHrefLinks.push(aInternalLinks[i]);
1439
+ }
1440
+ }
1441
+ Promise.all(aHrefPromises).then(function(aResponses) {
1442
+ for (var j = 0; j < aResponses.length; j++) {
1443
+ if (aResponses[j]) {
1444
+ aHrefLinks[j].bLinkIsSupported = true;
1430
1445
  }
1431
1446
  }
1432
- Promise.all(aHrefPromises).then(function(aResponses) {
1433
- for (var j = 0; j < aResponses.length; j++) {
1434
- if (aResponses[j]) {
1435
- aInternalLinks[j].bLinkIsSupported = true;
1436
- }
1437
- // add the value to the model
1438
- var sSemObj = aInternalLinks[j].semanticObject;
1439
- var sAction = aInternalLinks[j].action;
1440
-
1441
- var oSemObjProp = oTemplatePrivateModel.getProperty("/generic/supportedIntents/" + sSemObj); if (!oSemObjProp) { // no semantic object in the model yet
1442
- oSupportedIntents[sSemObj] = {};
1443
- oSupportedIntents[sSemObj][sAction] =
1444
- {
1445
- "visible" :aInternalLinks[j].bLinkIsSupported
1446
- };
1447
- } else if (!oSemObjProp[sAction]) { // no action in the model yet
1448
- oSemObjProp[sAction] =
1449
- {
1450
- "visible" :aInternalLinks[j].bLinkIsSupported
1451
- };
1452
- } else {
1453
- oSemObjProp[sAction]["visible"] = aInternalLinks[i].bLinkIsSupported;
1454
- }
1447
+ }).then(function() {
1448
+ aInternalLinks.forEach(function(entry) {
1449
+ // add the value to the model
1450
+ var sSemObj = entry.semanticObject,
1451
+ sAction = entry.action,
1452
+ oSemObjProp = oTemplatePrivateModel.getProperty("/generic/supportedIntents/" + sSemObj);
1453
+
1454
+ if (!oSemObjProp) { // no semantic object in the model yet
1455
+ oSupportedIntents[sSemObj] = {};
1456
+ oSupportedIntents[sSemObj][sAction] = { "visible" :entry.bLinkIsSupported };
1457
+ } else if (!oSemObjProp[sAction]) { // no action in the model yet
1458
+ oSemObjProp[sAction] = { "visible" :entry.bLinkIsSupported };
1459
+ } else {
1460
+ oSemObjProp[sAction]["visible"] = entry.bLinkIsSupported;
1455
1461
  }
1456
- }).then(function() {
1457
- oTemplatePrivateModel.updateBindings();
1458
1462
  });
1463
+ oTemplatePrivateModel.updateBindings();
1459
1464
  });
1460
1465
  });
1461
-
1462
- }
1466
+ });
1463
1467
  }
1464
1468
 
1465
1469
  // This function executes the given handler fnHandler if preconditions are given
@@ -10,7 +10,8 @@ sap.ui.define([
10
10
  "sap/base/util/isEmptyObject",
11
11
  "sap/suite/ui/generic/template/genericUtilities/FeError",
12
12
  "sap/suite/ui/generic/template/lib/CommandComponentUtils",
13
- "sap/suite/ui/generic/template/lib/ViewCreationHelper"
13
+ "sap/suite/ui/generic/template/lib/ViewCreationHelper",
14
+ "sap/suite/ui/generic/template/genericUtilities/testableHelper"
14
15
  ], function(
15
16
  BaseObject,
16
17
  ManagedObjectModel,
@@ -23,7 +24,8 @@ sap.ui.define([
23
24
  isEmptyObject,
24
25
  FeError,
25
26
  CommandComponentUtils,
26
- ViewCreationHelper
27
+ ViewCreationHelper,
28
+ testableHelper
27
29
  ) {
28
30
  "use strict";
29
31
  var sClassName = "lib.ComponentUtils";
@@ -424,6 +426,12 @@ sap.ui.define([
424
426
  change: fnChange
425
427
  });
426
428
  sLogicalBindingPath = sBindingPath;
429
+ let mRoutingTree = oComponentRegistryEntry.oTemplateContract.mRoutingTree;
430
+ let oAncestorNode = mRoutingTree[oTreeNode.parentRoute];
431
+ while (oAncestorNode.level > 0) {
432
+ oAncestorNode.bindElement(oComponentRegistryEntry.oTemplateContract.oNavigationHost, null, true);
433
+ oAncestorNode = mRoutingTree[oAncestorNode.parentRoute];
434
+ }
427
435
  //In case the component needs to reset anything
428
436
  if (oComponentRegistryEntry.methods.afterRebind) {
429
437
  oComponentRegistryEntry.methods.afterRebind();
@@ -902,13 +910,15 @@ sap.ui.define([
902
910
  oViewState[sKey] = oState[sKey];
903
911
  }
904
912
  }
905
- (oComponentRegistryEntry.methods.applyState || Function.prototype)(oViewState, bIsSameAsLast);
913
+ // The result of "applyState" can be a Promise or undefined.
914
+ var vStateAppliedResult = (oComponentRegistryEntry.methods.applyState || Function.prototype)(oViewState, bIsSameAsLast);
906
915
  var fnApplyReuseInfo = function(oProxy, sMyKey){
907
916
  if (oProxy.component.stApplyState){
908
917
  oProxy.component.stApplyState(oEmbeddedStates[sMyKey] || Object.create(null), bIsSameAsLast);
909
918
  }
910
919
  };
911
920
  Promise.all([oComponentRegistryEntry.oViewRenderedPromise, oHeaderDataAvailablePromise]).then(fnExecuteForAllReuseComponents.bind(null, mReuseComponentProxies, fnApplyReuseInfo));
921
+ return vStateAppliedResult;
912
922
  },
913
923
  oComponent: oComponent
914
924
  }, oStatePreserverSettings);
@@ -1116,6 +1126,7 @@ sap.ui.define([
1116
1126
  return oComponentRegistryEntry.oTemplateContract.oNavigationControllerProxy.getTargetIdentityForContext(oTreeNode, oNavigationContext);
1117
1127
  }
1118
1128
 
1129
+ testableHelper.testableStatic(fnRebindHeaderData, "filterHelper_fnRebindHeaderData");
1119
1130
  return {
1120
1131
  getBusyHelper: function() {
1121
1132
  return oComponentRegistryEntry.oApplication.getBusyHelper();
@@ -0,0 +1,66 @@
1
+ sap.ui.define(
2
+ [
3
+ "sap/ui/base/Object",
4
+ "sap/base/util/extend",
5
+ "sap/suite/ui/generic/template/genericUtilities/controlHelper"
6
+ ],
7
+ function (BaseObject, extend, controlHelper) {
8
+ "use strict";
9
+
10
+ /**
11
+ * Helper class for handling focus on controller level.
12
+ * Used to save and restore focus of specific control
13
+ *
14
+ * Should be accessible from controller getRestoreFocusHelper() method.
15
+ *
16
+ * Then necessary store current focus information with rememberFocus() method
17
+ * Restoring focus is done thorough invoking restoreFocus() method. After restoring focus, it will be reset.
18
+ */
19
+
20
+ function getMethods() {
21
+ var sControlIdWithLastFocus = null;
22
+
23
+ /**
24
+ * Store control id which have focus
25
+ * @param {string} control is that have focus
26
+ */
27
+ function rememberFocus(sFocusId) {
28
+ sControlIdWithLastFocus = sFocusId;
29
+ }
30
+
31
+ /**
32
+ * Restores focus to previously remembered control Id
33
+ * @returns undefined
34
+ */
35
+ function restoreFocus() {
36
+ if (!sControlIdWithLastFocus) {
37
+ return;
38
+ }
39
+ controlHelper.focusControl(sControlIdWithLastFocus);
40
+ resetFocus();
41
+ }
42
+
43
+ /**
44
+ * Clear currently saved previously focused control id
45
+ */
46
+ function resetFocus() {
47
+ sControlIdWithLastFocus = null;
48
+ }
49
+
50
+ return {
51
+ rememberFocus: rememberFocus,
52
+ restoreFocus: restoreFocus,
53
+ resetFocus: resetFocus
54
+ };
55
+ }
56
+
57
+ return BaseObject.extend(
58
+ "sap.suite.ui.generic.template.lib.RestoreFocusHelper",
59
+ {
60
+ constructor: function () {
61
+ extend(this, getMethods());
62
+ }
63
+ }
64
+ );
65
+ }
66
+ );
@@ -1,8 +1,9 @@
1
1
  sap.ui.define(["sap/suite/ui/generic/template/js/AnnotationHelper",
2
2
  "sap/suite/ui/generic/template/genericUtilities/metadataAnalyser",
3
3
  "sap/base/util/deepExtend",
4
- "sap/ui/comp/util/SharedUtil"
5
- ], function(AnnotationHelper, metadataAnalyser, deepExtend, SharedUtil) {
4
+ "sap/ui/comp/util/SharedUtil",
5
+ "sap/suite/ui/generic/template/genericUtilities/controlHelper"
6
+ ], function(AnnotationHelper, metadataAnalyser, deepExtend, SharedUtil, controlHelper) {
6
7
  "use strict";
7
8
  var SideEffectSourcePropertyType = {
8
9
  SINGLE_SOURCE_ONLY : "OnlySingleSource",
@@ -33,7 +34,6 @@ sap.ui.define(["sap/suite/ui/generic/template/js/AnnotationHelper",
33
34
  return oSmartField._calculateFieldGroupIDs(oClonedMetaData);
34
35
  }
35
36
  function fnComputeFieldGroupAndTriggerSideEffect(oSmartField, sSideEffectSourcePropertyType) {
36
-
37
37
  var aFieldGroupIds;
38
38
  var fnTriggerValidateFieldGroupEvent = function() {
39
39
  if (aFieldGroupIds) {
@@ -99,7 +99,9 @@ sap.ui.define(["sap/suite/ui/generic/template/js/AnnotationHelper",
99
99
  return;
100
100
  }
101
101
  var oSmartField = oEvent.getParameter("changeEvent") && oEvent.getParameter("changeEvent").getSource ? oEvent.getParameter("changeEvent").getSource() : oEvent.getSource();
102
-
102
+ if (!controlHelper.isSmartField(oSmartField)) {
103
+ return;
104
+ }
103
105
  if (bIsSideEffectTypeComputed) { // For FE rendered smart fields the side effect type is computed at the templating time
104
106
  var sSideEffectSourcePropertyTypeCustomData = oSmartField.getCustomData().find(function (oCustomData) {
105
107
  return oCustomData.getKey() === "SideEffectSourcePropertyType";
@@ -89,13 +89,21 @@ sap.ui.define(["sap/suite/ui/generic/template/genericUtilities/FeError"],functio
89
89
  return {
90
90
  parameters: ["sQuickVariantKey", "sFacet", "sSmartTableId", "sProperty", "sTarget", "sSemanticObject", "sAction", "sEntitySet", "sFacetExtensionKey", "sRecordType", "sAnnotationPath", "sAnnotationId", "sReuseComponentName", "sReuseComponentUsage", "sReuseComponentKey", "bIsHeaderFacet", "sIsPartOfPreview", "sDataField"],
91
91
  types: {
92
+ ALP: {
93
+ DynamicPage: {
94
+ value: "template::Page"
95
+ },
96
+ DynamicPageTitle: {
97
+ value: "template::ALPDynamicPageTitle"
98
+ }
99
+ },
92
100
  ListReportPage: {
93
101
  DynamicPage: {
94
102
  value: "page"
95
103
  },
96
104
  DynamicPageTitle: {},
97
105
  DynamicPageHeader: {},
98
- PageTitle: {
106
+ DynamicPageTitleVariant: {
99
107
  value: "template::DynamicPageTitle"
100
108
  }
101
109
  },
@@ -286,13 +286,16 @@ sap.ui.define(["sap/ui/base/Object",
286
286
  }
287
287
  }
288
288
 
289
- function fnRealizeStatePromise(bIsSameAsLast, oNewState){
289
+ async function fnRealizeStatePromise(bIsSameAsLast, oNewState){
290
290
  fnTransferStateToAnalyzedState(oNewState);
291
291
  var oState = Object.create(null);
292
292
  for (var sKey in oNewState){
293
293
  oState[sKey] = oNewState[sKey].data;
294
294
  }
295
- oSettings.applyState(oState, bIsSameAsLast);
295
+ // Wait until the app state is applied to the page
296
+ // and then proceed with storing the latest app state.
297
+ await oSettings.applyState(oState, bIsSameAsLast);
298
+
296
299
  if (fnNotifyRealizedAppStateConsistent){
297
300
  fnNotifyRealizedAppStateConsistent();
298
301
  fnNotifyRealizedAppStateConsistent = null;
@@ -289,6 +289,7 @@ sap.ui.define([
289
289
  oLogger.info("Skip Init view as AppComponent is no longer active");
290
290
  return;
291
291
  }
292
+ oTemplateUtils.oServices.controllerServices = Object.freeze(oMethods.controllerServices || {});
292
293
  oTemplateUtils.oServices.oApplicationController.registerView(oView);
293
294
  oTemplateUtils.oServices.oDataLossHandler = oAppRegistryEntry.oTemplateContract.oDataLossHandler;
294
295
  oTemplateUtils.oServices.oInsightsFECardProvider = oAppRegistryEntry.oTemplateContract.oInsightsFECardProvider;
@@ -338,7 +339,7 @@ sap.ui.define([
338
339
  // ~ onSuspend: This method is called after the keep alive application is left and becoming hidden
339
340
  // ~ onRestore: This method is called after the keep alive application is opened again by the user
340
341
  // ~ getCurrentState, getInitialState, applyState: functions that are used by the StatePreserver attached to this component.
341
- // ~ getStatePreserverSettings: Provide additional settings for the StatePreserver (curently only callAlways) is used
342
+ // ~ getStatePreserverSettings: Provide additional settings for the StatePreserver (curently only callAlways) is used
342
343
  // ~ executeAfterInvokeActionFromExtensionAPI: This method is called from CommonUtils fnInvokeActionsForExtensionAPI as callback to execute floorplan specific
343
344
  // code after invokeactions is called.
344
345
  // ~ getUrlParameterInfo a function that allows the instance to pass its current state into url parameters. getUrlParameterInfo must return
@@ -435,7 +436,7 @@ sap.ui.define([
435
436
 
436
437
  oComponentDefinition.onBeforeRendering = function() {
437
438
  var sComponentId = this.getId();
438
- oLogger.info("BeforeRendering called for TemplateComponent " + sComponentId);
439
+ oLogger.info("BeforeRendering called for TemplateComponent " + sComponentId);
439
440
  var oComponentRegistryEntry = getComponentRegistryEntry(this);
440
441
  (TemplateComponent.prototype.onBeforeRendering || Function.prototype).bind(this, oComponentRegistryEntry).apply(this, arguments);
441
442
  var oMethods = oComponentRegistryEntry.methods;
@@ -445,7 +446,7 @@ sap.ui.define([
445
446
 
446
447
  oComponentDefinition.onAfterRendering = function() {
447
448
  var sComponentId = this.getId();
448
- oLogger.info("AfterRendering called for TemplateComponent " + sComponentId);
449
+ oLogger.info("AfterRendering called for TemplateComponent " + sComponentId);
449
450
  var oComponentRegistryEntry = getComponentRegistryEntry(this);
450
451
  if (oComponentRegistryEntry.fnViewRenderdResolve && !oComponentRegistryEntry.fnViewRegisteredResolve){
451
452
  oComponentRegistryEntry.fnViewRenderdResolve();
@@ -477,7 +478,7 @@ sap.ui.define([
477
478
  };
478
479
 
479
480
  oComponentDefinition.onDeactivate = Function.prototype;
480
-
481
+
481
482
  return TemplateComponent.extend(sComponentNameFull, oComponentDefinition);
482
483
  },
483
484
 
@@ -3,8 +3,10 @@ sap.ui.define([
3
3
  "sap/base/util/extend",
4
4
  "sap/suite/ui/generic/template/lib/filterHelper",
5
5
  "sap/suite/ui/generic/template/genericUtilities/FeLogger",
6
- "sap/ui/model/FilterOperator"
7
- ], function(BaseObject, extend, filterHelper, FeLogger, FilterOperator) {
6
+ "sap/ui/model/FilterOperator",
7
+ 'sap/ui/model/Filter',
8
+ 'sap/suite/ui/generic/template/js/AnnotationHelper'
9
+ ], function(BaseObject, extend, filterHelper, FeLogger, FilterOperator,Filter,AnnotationHelper) {
8
10
  'use strict';
9
11
 
10
12
  /*
@@ -452,12 +454,18 @@ sap.ui.define([
452
454
  if (bOperatorAvailable) {
453
455
  aEasyFilterTokens.forEach(function(oToken) {
454
456
  if (oToken.operator === oFilterItem.sOperator) {
455
- oToken.selectedValues.push(oFilterItem.oValue1);
457
+ oToken.selectedValues.push({
458
+ value: oFilterItem.oValue1,
459
+ description: oFilterItem.oValue1
460
+ });
456
461
  }
457
462
  });
458
463
  } else {
459
464
  oPropertyToken.operator = oFilterItem.sOperator;
460
- oPropertyToken.selectedValues.push(oFilterItem.oValue1);
465
+ oPropertyToken.selectedValues.push({
466
+ value: oFilterItem.oValue1,
467
+ description: oFilterItem.oValue1
468
+ });
461
469
  aEasyFilterTokens.push(oPropertyToken);
462
470
  }
463
471
  }
@@ -485,6 +493,184 @@ sap.ui.define([
485
493
  }
486
494
  }
487
495
 
496
+ function getFiltersForDataFetching(key,keySpecificSelectedResult) {
497
+ const aFilters = [];
498
+
499
+ for (var i = 0; i < keySpecificSelectedResult.length;++i) {
500
+ const result = keySpecificSelectedResult[i];
501
+ if (result.operator === FilterOperator.BT || result.operator === FilterOperator.NB) {
502
+ aFilters.push(new Filter({
503
+ path: key,
504
+ operator: result.operator,
505
+ value1: result.selectedValues[0],
506
+ value2: result.selectedValues[1]
507
+ }));
508
+ } else {
509
+ for (var i = 0;i < result.selectedValues.length;++i) {
510
+ aFilters.push(new Filter({
511
+ path: key,
512
+ operator: result.operator,
513
+ value1: result.selectedValues[i]
514
+ }));
515
+ }
516
+ }
517
+ }
518
+ return aFilters;
519
+ }
520
+
521
+ function onDataFetcher(key,keySpecificSelectedResult,totalAIResponse) {
522
+ return new Promise((resolve,reject)=>{
523
+
524
+ var aFinalResponse = [];
525
+ var oOwnerFilterControl = oState.oSmartFilterbar;
526
+ var sEntitySet = oController.getOwnerComponent().getEntitySet();
527
+ var oEntityType = oTemplateUtils.oCommonUtils.getMetaModelEntityType(sEntitySet);
528
+ var oSFBModel = oOwnerFilterControl.getModel();
529
+ var oSFBMetaModel = oSFBModel.getMetaModel();
530
+ var aFilters = getFiltersForDataFetching(key,keySpecificSelectedResult);
531
+ var oProperty = oSFBMetaModel.getODataProperty(oEntityType, key);
532
+ var sPropertyPath = oSFBMetaModel.getODataProperty(oEntityType, key,true);
533
+ var isValueHelpTableAvailable = AnnotationHelper.isValueHelpTableAvailable(oProperty);
534
+
535
+ if (isValueHelpTableAvailable) {
536
+ var oPropertyContext = oSFBMetaModel.createBindingContext(sPropertyPath);
537
+ var oVHPromise = oSFBMetaModel.getODataValueLists(oPropertyContext);
538
+ var filtersLength = aFilters.length;
539
+ // //Every Search on a value, create a seperate call to backend,but they are grouped into one batch
540
+ // //We need to ensure that once all calls are completed inside the batch to resolve the promise, else the system would be waiting indefenitely
541
+ var ctr = 0;
542
+ let fnForDescription = (oResponse,aMatchedFilterResults,sTextArrangementPath,sTextArrangement) => {
543
+ ++ctr;
544
+ var aResults = oResponse.results;
545
+
546
+ //Check the description is present and follow the textArrangement annotation as well
547
+ //If the value is not present ,make the ID and Description same
548
+ aMatchedFilterResults.forEach((oFilter)=>{
549
+ var result = aResults.find((res)=>res[key] === oFilter.getValue1());
550
+ if (result) {
551
+ aFinalResponse.push({
552
+ operator: FilterOperator.EQ,
553
+ selectedValues: [{
554
+ value: result[key],
555
+ description: AnnotationHelper.getTextArrangementFinalString(result,key,sTextArrangementPath.split("/")[1],sTextArrangement)
556
+ }]
557
+ });
558
+ } else {
559
+ //Ideally description should be present, if in case its not present we will fallback to our default case where value and description would be same
560
+ aFinalResponse.push(getkeySpecifiedResultFromFilters(oFilter));
561
+ }
562
+ });
563
+
564
+ if (ctr === filtersLength) {
565
+ resolve(aFinalResponse);
566
+ }
567
+ };
568
+
569
+
570
+
571
+ let fnSuccessForValueList = (oResponse,oFilter,sValueListEntity) => {
572
+ var oValueHelpEntity = oTemplateUtils.oCommonUtils.getMetaModelEntityType(sValueListEntity);
573
+ var oValueHelpProperty = oSFBMetaModel.getODataProperty(oValueHelpEntity, key);
574
+ var aResults = oResponse.results;
575
+ var sTextArrangementPath = AnnotationHelper.getTextArrangementPath(oValueHelpProperty);
576
+ var sTextArrangement = AnnotationHelper.getTextArrangement(oValueHelpEntity,oValueHelpProperty) || "idOnly";
577
+ var navigationProperty = null;
578
+ var sEntityForTextDescription = null;
579
+
580
+ if (sTextArrangementPath && sTextArrangementPath.split("/").length > 1) {
581
+ navigationProperty = sTextArrangementPath.split("/")[0];
582
+ sEntityForTextDescription = oSFBMetaModel.getODataAssociationSetEnd(oValueHelpEntity,navigationProperty).entitySet;
583
+ }
584
+
585
+ //We are triggering the below call, only for fetching of the TextDescription.If its a different entity than ValueList only then trigger it
586
+ if (aResults.length === 0) {
587
+ ++ctr;
588
+ aFinalResponse.push(getkeySpecifiedResultFromFilters(oFilter));
589
+ } else if (aResults.length !== 0 && sEntityForTextDescription && sValueListEntity !== sEntityForTextDescription) {
590
+ var aAllMatchedResults = aResults.map((result)=>{
591
+ return result[key];
592
+ });
593
+ var aMatchedFilterResults = aAllMatchedResults.map((matchedResult)=>{
594
+ return new Filter({
595
+ path: key,
596
+ operator: FilterOperator.EQ,
597
+ value1:matchedResult
598
+ });
599
+ });
600
+ // The below code only be executed when the textDescription and ValueList entities are different
601
+ oSFBModel.read("/" + sEntityForTextDescription, {
602
+ filters: aMatchedFilterResults,
603
+ success : function(response) {
604
+ fnForDescription(response,aMatchedFilterResults);
605
+ }
606
+ });
607
+ } else {
608
+ //The below condition is when valueList entity and navigation property entity are same
609
+ ++ctr;
610
+ aResults.forEach((result)=>{
611
+ aFinalResponse.push({
612
+ operator: FilterOperator.EQ,
613
+ selectedValues: [{
614
+ value: result[key],
615
+ description: AnnotationHelper.getTextArrangementFinalString(result,key,
616
+ sTextArrangementPath,sTextArrangement)
617
+ }]
618
+ });
619
+ });
620
+ }
621
+
622
+ if (ctr === filtersLength) {
623
+ resolve(aFinalResponse);
624
+ }
625
+ };
626
+
627
+ oVHPromise.then((oValueList)=>{
628
+ var oValueListDefaultBinding = oValueList[""];
629
+ var sValueListEntity = oValueListDefaultBinding.CollectionPath.String;
630
+ //Get All Records using $search
631
+ aFilters.forEach((oFilter)=>{
632
+ oSFBModel.read("/" + sValueListEntity, {
633
+ urlParameters : {
634
+ search: oFilter.getValue1()
635
+ },
636
+ success : function(response) {
637
+ fnSuccessForValueList(response,oFilter,sValueListEntity);
638
+ }
639
+ });
640
+ });
641
+ });
642
+
643
+ } else {
644
+ //When there is no valueList associate, just return the original value in CodeList type
645
+ aFilters.forEach((oFilter)=>aFinalResponse.push(getkeySpecifiedResultFromFilters(oFilter)));
646
+ resolve(aFinalResponse);
647
+ }
648
+ });
649
+ }
650
+
651
+ function getkeySpecifiedResultFromFilters(oFilter) {
652
+ var values = [];
653
+ if (oFilter.getOperator() === FilterOperator.BT || oFilter.getOperator() === FilterOperator.NB) {
654
+ var values = [{
655
+ value: oFilter.getValue1(),
656
+ description: oFilter.getValue1()
657
+ },{
658
+ value: oFilter.getValue2(),
659
+ description: oFilter.getValue2()
660
+ }];
661
+ } else {
662
+ values.push({
663
+ value: oFilter.getValue1(),
664
+ description: oFilter.getValue1()
665
+ });
666
+ }
667
+ return {
668
+ operator: oFilter.getOperator(),
669
+ selectedValues: values
670
+ };
671
+ }
672
+
673
+
488
674
  return {
489
675
  getEasyFilterBar : fnGetEasyFilterBar,
490
676
  initialiseEasyFilterBar : fnInitialiseEasyFilterBar,
@@ -497,7 +683,9 @@ sap.ui.define([
497
683
  onTokensChanged: fnTokensChanged,
498
684
  onShowValueHelp: fnShowValueHelp,
499
685
  onFilterChange : fnOnFilterChange,
500
- handleVariantLoad : fnHandleVariantLoad
686
+ handleVariantLoad : fnHandleVariantLoad,
687
+ onDataFetcher,
688
+ getkeySpecifiedResultFromFilters
501
689
  };
502
690
  }
503
691