@sapui5/sap.suite.ui.generic.template 1.131.1 → 1.132.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 (218) hide show
  1. package/package.json +1 -1
  2. package/src/sap/suite/ui/generic/template/.library +1 -1
  3. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/SmartFilterBarExt.js +3 -1
  4. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/SmartKpiTag.js +37 -11
  5. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItem.js +3 -1
  6. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroChart.js +19 -4
  7. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/SmartVisualFilterBar.js +46 -15
  8. package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/DropDownController.js +42 -17
  9. package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/KpiTagController.js +13 -3
  10. package/src/sap/suite/ui/generic/template/AnalyticalListPage/extensionAPI/ExtensionAPI.js +2 -2
  11. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en_US_saptrc.properties +105 -105
  12. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sk.properties +1 -1
  13. package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +1 -1
  14. package/src/sap/suite/ui/generic/template/AnalyticalListPage/util/FilterUtil.js +17 -6
  15. package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
  16. package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +44 -22
  17. package/src/sap/suite/ui/generic/template/ListReport/controller/IappStateHandler.js +18 -2
  18. package/src/sap/suite/ui/generic/template/ListReport/extensionAPI/ExtensionAPI.js +2 -2
  19. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n.properties +1 -4
  20. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ar.properties +1 -3
  21. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_bg.properties +1 -3
  22. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ca.properties +1 -3
  23. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cnr.properties +1 -3
  24. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cs.properties +1 -3
  25. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cy.properties +1 -3
  26. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_da.properties +1 -3
  27. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_de.properties +1 -3
  28. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_el.properties +1 -3
  29. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en.properties +1 -3
  30. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_GB.properties +1 -3
  31. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_US_saprigi.properties +1 -3
  32. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_US_saptrc.properties +58 -58
  33. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es.properties +1 -3
  34. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es_MX.properties +1 -3
  35. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_et.properties +1 -3
  36. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fi.properties +1 -3
  37. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr.properties +1 -3
  38. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr_CA.properties +1 -3
  39. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hi.properties +1 -3
  40. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hr.properties +1 -3
  41. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hu.properties +1 -3
  42. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_id.properties +1 -3
  43. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_it.properties +1 -3
  44. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_iw.properties +1 -3
  45. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ja.properties +1 -3
  46. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_kk.properties +1 -3
  47. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ko.properties +1 -3
  48. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_lt.properties +1 -3
  49. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_lv.properties +1 -3
  50. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_mk.properties +1 -3
  51. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ms.properties +1 -3
  52. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_nl.properties +1 -3
  53. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_no.properties +1 -3
  54. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pl.properties +2 -4
  55. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pt.properties +1 -3
  56. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pt_PT.properties +1 -3
  57. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ro.properties +1 -3
  58. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ru.properties +1 -3
  59. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sh.properties +1 -3
  60. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sk.properties +1 -3
  61. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sl.properties +1 -3
  62. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sr.properties +1 -3
  63. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sv.properties +1 -3
  64. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_th.properties +1 -3
  65. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_tr.properties +1 -3
  66. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_uk.properties +1 -3
  67. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_vi.properties +1 -3
  68. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_zh_CN.properties +1 -3
  69. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_zh_TW.properties +1 -3
  70. package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
  71. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/BreakoutActionButtons.fragment.xml +3 -2
  72. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/FullscreenPage.fragment.xml +1 -1
  73. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartList.fragment.xml +3 -3
  74. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartTable.fragment.xml +1 -0
  75. package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +107 -23
  76. package/src/sap/suite/ui/generic/template/ObjectPage/controller/SectionTitleHandler.js +34 -1
  77. package/src/sap/suite/ui/generic/template/ObjectPage/controller/inlineCreationRows/InlineCreationRowsHelper.js +46 -4
  78. package/src/sap/suite/ui/generic/template/ObjectPage/controllerFrameworkExtensions.js +21 -4
  79. package/src/sap/suite/ui/generic/template/ObjectPage/extensionAPI/ExtensionAPI.js +29 -5
  80. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_US_saptrc.properties +95 -95
  81. package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
  82. package/src/sap/suite/ui/generic/template/ObjectPage/view/Details.view.xml +2 -2
  83. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/CRUDActionButtons.fragment.xml +2 -2
  84. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/Footer.fragment.xml +3 -3
  85. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/HeaderContainer.fragment.xml +4 -4
  86. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/HeaderImage.fragment.xml +4 -4
  87. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartChart.fragment.xml +1 -1
  88. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartTable.fragment.xml +2 -1
  89. package/src/sap/suite/ui/generic/template/QuickCreate/i18n/i18n_en_US_saptrc.properties +14 -14
  90. package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
  91. package/src/sap/suite/ui/generic/template/QuickView/i18n/i18n_en_US_saptrc.properties +2 -2
  92. package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
  93. package/src/sap/suite/ui/generic/template/designtime/controls/DynamicPage.designtime.js +142 -194
  94. package/src/sap/suite/ui/generic/template/designtime/controls/ObjectPageLayout.designtime.js +204 -0
  95. package/src/sap/suite/ui/generic/template/designtime/controls/SmartFilterBar.designtime.js +236 -0
  96. package/src/sap/suite/ui/generic/template/designtime/utils/designtimeHelper.js +36 -9
  97. package/src/sap/suite/ui/generic/template/designtime/utils/designtimeUtils.js +67 -23
  98. package/src/sap/suite/ui/generic/template/detailTemplates/i18n/i18n_en_US_saptrc.properties +6 -6
  99. package/src/sap/suite/ui/generic/template/fragments/BreakoutActions.fragment.xml +2 -2
  100. package/src/sap/suite/ui/generic/template/fragments/DeterminingActions.fragment.xml +3 -2
  101. package/src/sap/suite/ui/generic/template/fragments/EasyFilter.fragment.xml +0 -6
  102. package/src/sap/suite/ui/generic/template/fragments/GlobalActions.fragment.xml +3 -2
  103. package/src/sap/suite/ui/generic/template/fragments/GridTableCells.fragment.xml +3 -2
  104. package/src/sap/suite/ui/generic/template/fragments/HeaderAddress.fragment.xml +2 -1
  105. package/src/sap/suite/ui/generic/template/fragments/HeaderContactWithDetailsPopover.fragment.xml +2 -1
  106. package/src/sap/suite/ui/generic/template/fragments/HeaderDataPointContent.fragment.xml +1 -1
  107. package/src/sap/suite/ui/generic/template/fragments/HeaderForm.fragment.xml +1 -1
  108. package/src/sap/suite/ui/generic/template/fragments/HeaderFormDataField.fragment.xml +12 -5
  109. package/src/sap/suite/ui/generic/template/fragments/HeaderPlainText.fragment.xml +1 -1
  110. package/src/sap/suite/ui/generic/template/fragments/HeaderRatingIndicator.fragment.xml +5 -7
  111. package/src/sap/suite/ui/generic/template/fragments/ProgressIndicator.fragment.xml +2 -2
  112. package/src/sap/suite/ui/generic/template/fragments/QuickViewSmartForm.fragment.xml +2 -2
  113. package/src/sap/suite/ui/generic/template/fragments/RatingIndicatorFacet.fragment.xml +2 -2
  114. package/src/sap/suite/ui/generic/template/fragments/SmartFormDataField.fragment.xml +4 -3
  115. package/src/sap/suite/ui/generic/template/fragments/SmartMicroChart.fragment.xml +1 -1
  116. package/src/sap/suite/ui/generic/template/fragments/SmartTableUiTableCommons.fragment.xml +2 -5
  117. package/src/sap/suite/ui/generic/template/fragments/TableCell.fragment.xml +7 -5
  118. package/src/sap/suite/ui/generic/template/fragments/TableColumnListItem.fragment.xml +2 -5
  119. package/src/sap/suite/ui/generic/template/fragments/ToolbarButton.fragment.xml +2 -2
  120. package/src/sap/suite/ui/generic/template/fragments/TreeTableColumns.fragment.xml +3 -2
  121. package/src/sap/suite/ui/generic/template/genericUtilities/controlHelper.js +10 -9
  122. package/src/sap/suite/ui/generic/template/genericUtilities/filterHelper.js +70 -2
  123. package/src/sap/suite/ui/generic/template/genericUtilities/polyFill.js +14 -0
  124. package/src/sap/suite/ui/generic/template/js/AnnotationHelper.js +53 -12
  125. package/src/sap/suite/ui/generic/template/js/QuickTemplates/QuickTemplateComponentFactory.js +25 -13
  126. package/src/sap/suite/ui/generic/template/lib/AppComponent.js +16 -225
  127. package/src/sap/suite/ui/generic/template/lib/CRUDHelper.js +5 -3
  128. package/src/sap/suite/ui/generic/template/lib/CommonEventHandlers.js +11 -4
  129. package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +37 -12
  130. package/src/sap/suite/ui/generic/template/lib/ComponentUtils.js +3 -3
  131. package/src/sap/suite/ui/generic/template/lib/ContextBookkeeping.js +39 -23
  132. package/src/sap/suite/ui/generic/template/lib/FlexibleColumnLayoutHandler.js +13 -5
  133. package/src/sap/suite/ui/generic/template/lib/FlexibleColumnLayoutHelper.js +168 -0
  134. package/src/sap/suite/ui/generic/template/lib/MessageStripHelper.js +1 -1
  135. package/src/sap/suite/ui/generic/template/lib/ShellPersonalizationService.js +137 -0
  136. package/src/sap/suite/ui/generic/template/lib/SideEffectUtil.js +56 -1
  137. package/src/sap/suite/ui/generic/template/lib/TemplateComponent.js +24 -4
  138. package/src/sap/suite/ui/generic/template/lib/ai/EasyFilterBarHandler.js +91 -36
  139. package/src/sap/suite/ui/generic/template/lib/ai/FioriAIHandler.js +30 -35
  140. package/src/sap/suite/ui/generic/template/lib/deletionHelper.js +10 -2
  141. package/src/sap/suite/ui/generic/template/lib/filterHelper.js +7 -3
  142. package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +6 -15
  143. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +1 -9
  144. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +1 -9
  145. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +1 -9
  146. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +1 -9
  147. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +1 -9
  148. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +1 -9
  149. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +1 -9
  150. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +2 -10
  151. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +1 -9
  152. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +1 -9
  153. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +1 -9
  154. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_sappsd.properties +0 -11
  155. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +1 -9
  156. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saptrc.properties +174 -149
  157. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +3 -11
  158. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +1 -9
  159. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +1 -9
  160. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +1 -9
  161. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +1 -9
  162. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +1 -9
  163. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +1 -9
  164. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +1 -9
  165. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +1 -9
  166. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +1 -9
  167. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +1 -9
  168. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +1 -9
  169. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +1 -9
  170. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +1 -9
  171. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +1 -9
  172. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +1 -9
  173. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +1 -9
  174. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +1 -9
  175. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +1 -9
  176. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +1 -9
  177. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +1 -9
  178. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +1 -9
  179. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +1 -9
  180. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +1 -9
  181. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +1 -9
  182. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +1 -9
  183. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +1 -9
  184. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +1 -9
  185. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +1 -9
  186. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +1 -9
  187. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +1 -9
  188. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +1 -9
  189. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +1 -9
  190. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +1 -9
  191. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +3 -11
  192. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +1 -9
  193. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +1 -9
  194. package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +59 -38
  195. package/src/sap/suite/ui/generic/template/library.js +7 -3
  196. package/src/sap/suite/ui/generic/template/listTemplates/fragments/ChartActions.fragment.xml +4 -3
  197. package/src/sap/suite/ui/generic/template/listTemplates/fragments/DetailSmartTable.fragment.xml +4 -3
  198. package/src/sap/suite/ui/generic/template/listTemplates/i18n/i18n_en_US_saptrc.properties +1 -1
  199. package/src/sap/suite/ui/generic/template/manifestMerger/ChangePageConfiguration.js +1 -1
  200. package/src/sap/suite/ui/generic/template/support/DiagnosticsTool/DiagnosticsTool.js +15 -3
  201. package/src/sap/suite/ui/generic/template/support/DiagnosticsTool/view/DiagnosticsTool.view.xml +0 -24
  202. package/src/sap/suite/ui/generic/template/support/lib/CommonChecks.js +11 -19
  203. package/src/sap/suite/ui/generic/template/themes/base/ObjectPage.less +0 -4
  204. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/ObjectPage.less +0 -4
  205. package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/ObjectPage.less +0 -4
  206. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcb/AnalyticalListPage.less +0 -1
  207. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcw/AnalyticalListPage.less +0 -1
  208. package/src/sap/suite/ui/generic/template/themes/sap_hcb/base_ObjectPage.less +0 -4
  209. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcb/AnalyticalListPage.less +0 -1
  210. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcw/AnalyticalListPage.less +0 -1
  211. package/src/sap/suite/ui/generic/template/fragments/ContactDetailsQuickViewGroup.fragment.xml +0 -36
  212. package/src/sap/suite/ui/generic/template/js/formatters/formatDisplayValueForProgressIndicator.js +0 -28
  213. package/src/sap/suite/ui/generic/template/js/formatters/formatImageUrl.js +0 -21
  214. package/src/sap/suite/ui/generic/template/js/formatters/formatRatingIndicatorAggregateCount.js +0 -21
  215. package/src/sap/suite/ui/generic/template/js/formatters/formatRatingIndicatorFooterText.js +0 -21
  216. package/src/sap/suite/ui/generic/template/js/formatters/formatRatingIndicatorSubTitle.js +0 -21
  217. package/src/sap/suite/ui/generic/template/js/formatters/setInfoHighlight.js +0 -21
  218. package/src/sap/suite/ui/generic/template/js/formatters/setRowNavigated.js +0 -26
@@ -8,7 +8,7 @@
8
8
  visible="{path: 'headerFacet>', formatter: 'AH.getBindingForHiddenPath'}">
9
9
  <template:if test="{headerFacet>Label}">
10
10
  <Title id="header::{path: 'headerFacet>', formatter: 'AH.getStableIdPartFromFacet'}::PlainTextLabel"
11
- text="{path: 'headerFacet>Label', formatter: 'AHModel.format'}" class="sapSmartTemplatesObjectPageHeaderPlainTextTitle"/>
11
+ text="{path: 'headerFacet>Label', formatter: 'AHModel.format'}" class="sapSmartTemplatesObjectPageHeaderPlainTextTitle" level="H3"/>
12
12
  </template:if>
13
13
  <template:with path="form>Data/0/" var="dataField"> <!-- There should only be 1 datafield -->
14
14
  <template:if test="{= ${dataField>RecordType} === 'com.sap.vocabularies.UI.v1.DataField'}">
@@ -1,19 +1,17 @@
1
1
  <core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core"
2
2
  xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
3
3
  template:require="{AH: 'sap/suite/ui/generic/template/js/AnnotationHelper', AHModel: 'sap/ui/model/odata/AnnotationHelper'}">
4
- <!-- The formatter 'formatRatingIndicatorFooterText' is used by 'AH.buildRatingIndicatorFooterExpression' -->
5
- <!-- The formatter 'formatRatingIndicatorSubTitle' is used by 'AH.buildRatingIndicatorSubtitleExpression' -->
4
+ <!-- The formatter 'RuntimeFormatters.formatRatingIndicatorFooterText' is used by 'AH.buildRatingIndicatorFooterExpression' -->
5
+ <!-- The formatter 'RuntimeFormatters.formatRatingIndicatorSubTitle' is used by 'AH.buildRatingIndicatorSubtitleExpression' -->
6
6
  <VBox id="header::{path: 'headerFacet>', formatter: 'AH.getStableIdPartFromFacet'}::RatingIndicatorVBox"
7
- core:require="{
8
- formatRatingIndicatorFooterText: 'sap/suite/ui/generic/template/js/formatters/formatRatingIndicatorFooterText',
9
- formatRatingIndicatorSubTitle: 'sap/suite/ui/generic/template/js/formatters/formatRatingIndicatorSubTitle'
10
- }"
7
+ core:require="{RuntimeFormatters: 'sap/suite/ui/generic/template/js/RuntimeFormatters'}"
11
8
  binding="{parts: [{path: 'headerFacet>Target'}, {path: 'entitySet>'}], formatter: 'AH.getNavigationPathWithExpand'}"
12
9
  visible="{path: 'headerFacet>', formatter: 'AH.getBindingForHiddenPath'}">
13
10
  <items>
14
11
  <Title id="header::{path: 'headerFacet>', formatter: 'AH.getStableIdPartFromFacet'}::RatingIndicatorTitle"
15
12
  text="{path: 'dataPoint>Title', formatter: 'AHModel.format'}"
16
- class="sapSmartTemplatesObjectPageHeaderMiniChartTitle"/>
13
+ class="sapSmartTemplatesObjectPageHeaderMiniChartTitle"
14
+ level="H3"/>
17
15
  <Label id="header::{path: 'headerFacet>', formatter: 'AH.getStableIdPartFromFacet'}::RatingIndicatorSubTitle"
18
16
  text="{= ${dataPoint>SampleSize} ? ${path: 'dataPoint>SampleSize', formatter: 'AH.buildRatingIndicatorSubtitleExpression'} : ${path: 'dataPoint>Description', formatter: 'AHModel.format'}}"
19
17
  visible="{= !!(${dataPoint>SampleSize} || ${dataPoint>Description}) }"
@@ -15,10 +15,10 @@
15
15
  text="{path:'dataPoint>Description', formatter: 'AHModel.format'}"
16
16
  visible="{= !!${dataPoint>Description}}"/>
17
17
  <template:with path="dataPoint>Value" helper="AHModel.resolvePath" var="valueProperty">
18
- <!-- The formatter 'formatDisplayValueForProgressIndicator' is used by 'AH.buildExpressionForProgressIndicatorDisplayValue' -->
18
+ <!-- The formatter 'RuntimeFormatters.formatDisplayValueForProgressIndicator' is used by 'AH.buildExpressionForProgressIndicatorDisplayValue' -->
19
19
  <ProgressIndicator
20
20
  id="header::{path: 'headerFacet>', formatter: 'AH.getStableIdPartFromFacet'}::ProgressIndicator"
21
- core:require="{formatDisplayValueForProgressIndicator: 'sap/suite/ui/generic/template/js/formatters/formatDisplayValueForProgressIndicator'}"
21
+ core:require="{RuntimeFormatters: 'sap/suite/ui/generic/template/js/RuntimeFormatters'}"
22
22
  class="sapSmartTemplatesObjectPageHeaderProgressIndicatorControl"
23
23
  percentValue="{ parts: [{path:'dataPoint>'}, {path:'valueProperty>'}], formatter: 'AH.buildExpressionForProgressIndicatorPercentValue' }"
24
24
  displayValue="{ parts: [{path:'dataPoint>'}, {path:'valueProperty>Org.OData.Measures.V1.Unit'}], formatter: 'AH.buildExpressionForProgressIndicatorDisplayValue'}"
@@ -13,10 +13,10 @@
13
13
  class="navigationPopover navigationPopoverHeader sapMQuickViewPage sapSmartTemplatesSmartLinkNavPopoverContentTitleAreaTrunc">
14
14
  <!--the icon comes from the target entity type header,
15
15
  the binding context is set relatively to the the target, and an expand is added if the picture is behind a nav property-->
16
- <!-- The formatter 'sap/suite/ui/generic/template/js/formatters/formatImageUrl' is used by 'AH.formatImageOrTypeUrl' -->
16
+ <!-- The formatter 'RuntimeFormatters.formatImageUrl' is used by 'AH.formatImageOrTypeUrl' -->
17
17
  <Avatar
18
18
  id="{:= ${parameter>/stableId}.getStableId({type: 'QuickView', subType: 'Avatar'})}"
19
- core:require="{formatImageUrl: 'sap/suite/ui/generic/template/js/formatters/formatImageUrl'}"
19
+ core:require="{RuntimeFormatters: 'sap/suite/ui/generic/template/js/RuntimeFormatters'}"
20
20
  tooltip="{path: 'header>Title/Value', formatter: 'AHModel.format'}"
21
21
  visible="{= !!(${path: 'header>ImageUrl'} || ${path: 'header>TypeImageUrl'}) }"
22
22
  binding="{parts:[{path: 'entitySet>'}, {path: 'quickView>/navigationPath'}, {path: 'header>ImageUrl'}, {path: 'header>TypeImageUrl'}], formatter: 'AH.getPathWithExpandFromHeader'}"
@@ -18,9 +18,9 @@
18
18
  maxValue="{path: 'dataPoint>TargetValue', formatter: 'AHModel.format'}"
19
19
  value="{path: 'dataPoint>Value', formatter: 'AHModel.format'}"
20
20
  iconSize="1rem" />
21
- <!-- The formatter 'formatRatingIndicatorAggregateCount' is used by 'AH.buildRatingIndicatorAggregateCountExpression' -->
21
+ <!-- The formatter 'RuntimeFormatters.formatRatingIndicatorAggregateCount' is used by 'AH.buildRatingIndicatorAggregateCountExpression' -->
22
22
  <Text id="{path: 'facet>', formatter: 'AH.getStableIdPartFromFacet'}::RatingIndicatorTotalRatings"
23
- core:require="{formatRatingIndicatorAggregateCount: 'sap/suite/ui/generic/template/js/formatters/formatRatingIndicatorAggregateCount'}"
23
+ core:require="{RuntimeFormatters: 'sap/suite/ui/generic/template/js/RuntimeFormatters'}"
24
24
  text="{path: 'dataPoint>SampleSize', formatter: 'AH.buildRatingIndicatorAggregateCountExpression'}"
25
25
  visible="{= !!${dataPoint>SampleSize} }">
26
26
  <customData>
@@ -2,7 +2,7 @@
2
2
  xmlns:sfo="sap.ui.comp.smartform" xmlns:smartMultiInput="sap.ui.comp.smartmultiinput" xmlns:layoutData="sap.ui.layout" xmlns:fe="sap.suite.ui.generic.template.genericUtilities"
3
3
  xmlns:custom="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
4
4
  xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
5
- template:require="{AH: 'sap/suite/ui/generic/template/js/AnnotationHelper', AHModel: 'sap/ui/model/odata/AnnotationHelper', StableIdHelper: 'sap/suite/ui/generic/template/js/StableIdHelper'}">
5
+ template:require="{AH: 'sap/suite/ui/generic/template/js/AnnotationHelper', AHModel: 'sap/ui/model/odata/AnnotationHelper', StableIdHelper: 'sap/suite/ui/generic/template/js/StableIdHelper', SideEffectUtil: 'sap/suite/ui/generic/template/lib/SideEffectUtil'}">
6
6
 
7
7
  <!-- @classdesc @name: Name: sap.suite.ui.generic.template.fragments.SmartFormDataField.fragment.xml
8
8
  @description: This fragment contains label value pairs for the smart form
@@ -35,7 +35,7 @@
35
35
  visible="{path: 'dataField>', formatter: 'AH.getVisibiltyBasedOnImportanceAndHidden'}"
36
36
  binding="{path: 'dataField>Target'}, formatter: 'AH.getNavigationPathWithExpand'}">
37
37
  <fe:customData>
38
- <core:CustomData key="SideEffects" value="{parts: [{path: 'entitySet>'}, {path: 'dataField>'}, {path: 'contact>fn/Path'}], formatter: 'AH.getPropsForLinkFields'}"/>
38
+ <core:CustomData key="SideEffects" value="{parts: [{path: 'entitySet>'}, {path: 'dataField>'}, {path: 'contact>fn/Path'}], formatter: 'SideEffectUtil.getPropsForLinkFields'}"/>
39
39
  <core:CustomData key="Location" value="Section" />
40
40
  <core:CustomData key="contactDetails" value="{= ${path: 'contact>', formatter: 'AH.getCustomDataForContactPopup'}}"/>
41
41
  </fe:customData>
@@ -119,9 +119,10 @@
119
119
  text="{parts: [{path: 'dataField>'}, {path: 'entitySet>'}, {path: 'groupFacet>'}], formatter: 'AH.getLinkTextForDFwithIBN'}"
120
120
  visible="{path: 'dataField>', formatter: 'AH.getVisibiltyBasedOnImportanceAndHidden'}"
121
121
  press="._templateEventHandlers.onDataFieldWithIntentBasedNavigation"
122
+ accessibleRole="Button"
122
123
  wrapping="true">
123
124
  <fe:customData>
124
- <core:CustomData key="SideEffects" value="{parts: [{path: 'entitySet>'}, {path: 'dataField>'}], formatter: 'AH.getPropsForLinkFields'}"/>
125
+ <core:CustomData key="SideEffects" value="{parts: [{path: 'entitySet>'}, {path: 'dataField>'}], formatter: 'SideEffectUtil.getPropsForLinkFields'}"/>
125
126
  <core:CustomData key="SemanticObject" value="{path: 'dataField>SemanticObject', formatter: 'AHModel.format'}" />
126
127
  <core:CustomData key="Action" value="{path: 'dataField>Action', formatter: 'AHModel.format'}" />
127
128
  </fe:customData>
@@ -7,7 +7,7 @@
7
7
  visible="{path: 'headerFacet>', formatter: 'AH.getBindingForHiddenPath'}"
8
8
  displayInline="true">
9
9
  <Title id="header::{path: 'headerFacet>', formatter: 'AH.getStableIdPartFromFacet'}::SmartMicroChartTitle"
10
- class="sapSmartTemplatesObjectPageHeaderMiniChartTitle" />
10
+ class="sapSmartTemplatesObjectPageHeaderMiniChartTitle" level="H3" />
11
11
  <Label id="header::{path: 'headerFacet>', formatter: 'AH.getStableIdPartFromFacet'}::SmartMicroChartSubTitle"
12
12
  class="sapSmartTemplatesObjectPageHeaderMiniChartSubTitle" />
13
13
 
@@ -11,12 +11,9 @@
11
11
  </table:dependents>
12
12
  <table:rowSettingsTemplate>
13
13
  <table:RowSettings
14
- core:require="{
15
- setRowNavigated: 'sap/suite/ui/generic/template/js/formatters/setRowNavigated',
16
- setInfoHighlight: 'sap/suite/ui/generic/template/js/formatters/setInfoHighlight'
17
- }"
14
+ core:require="{RuntimeFormatters: 'sap/suite/ui/generic/template/js/RuntimeFormatters'}"
18
15
  highlight="{= ${parameter>/templateSpecific/rowHighligths} || ${parts: [{path: 'entityType>'}, {path: 'parameter>/treeNode'}, {path: 'entitySet>name'}, {path: 'parameter>/checkIsDraftEnabled'}], formatter: 'AH.setRowHighlight'} }"
19
- navigated="{parts: [{path: '_templPriv>/generic/currentActiveChildContext'}, {path: ''}], formatter: 'setRowNavigated'}" />
16
+ navigated="{parts: [{path: '_templPriv>/generic/currentActiveChildContext'}, {path: ''}], formatter: 'RuntimeFormatters.setRowNavigated.bind($control)'}" />
20
17
  </table:rowSettingsTemplate>
21
18
  <table:contextMenu>
22
19
  <core:Fragment fragmentName="sap.suite.ui.generic.template.fragments.SmartControlContextMenu" type="XML"/>
@@ -92,9 +92,9 @@
92
92
  <template:if test="{path: 'dataFieldValue>', formatter: 'AH.isImageUrl'}">
93
93
  <!-- handle data field with images -->
94
94
  <template:then>
95
- <!-- The formatter 'sap/suite/ui/generic/template/js/formatters/formatImageUrl' is used by 'AH.formatImageUrl' -->
95
+ <!-- The formatter 'RuntimeFormatters.formatImageUrl' is used by 'AH.formatImageUrl' -->
96
96
  <Avatar
97
- core:require="{formatImageUrl: 'sap/suite/ui/generic/template/js/formatters/formatImageUrl'}"
97
+ core:require="{RuntimeFormatters: 'sap/suite/ui/generic/template/js/RuntimeFormatters'}"
98
98
  src="{parts:[{path: 'dataField>Value'}, {path: 'parameter>/appComponentName'}], formatter: 'AH.formatImageUrl'}"
99
99
  tooltip="{path: 'dataFieldValue>com.sap.vocabularies.Common.v1.Text', formatter: 'AHModel.format'}"
100
100
  displaySize="S"
@@ -140,7 +140,9 @@
140
140
  <!--handle DataFieldWithIntentBasedNavigation -->
141
141
  <fe:Link
142
142
  text="{parts: [{path: 'dataField>'}, {path: 'listEntitySet>'}], formatter: 'AH.getLinkTextForDFwithIBN'}"
143
- press="._templateEventHandlers.onDataFieldWithIntentBasedNavigation" wrapping="true">
143
+ press="._templateEventHandlers.onDataFieldWithIntentBasedNavigation"
144
+ accessibleRole="Button"
145
+ wrapping="true">
144
146
  <fe:customData>
145
147
  <core:CustomData key="SemanticObject" value="{path: 'dataField>SemanticObject', formatter: 'AHModel.format'}"/>
146
148
  <core:CustomData key="Action" value="{path: 'dataField>Action', formatter: 'AHModel.format'}"/>
@@ -199,9 +201,9 @@
199
201
  <template:elseif test="{= ${dataFieldTarget>Visualization/EnumMember} === 'com.sap.vocabularies.UI.v1.VisualizationType/Progress'}">
200
202
  <template:with path="dataFieldTarget>Value" helper="AHModel.resolvePath" var="value">
201
203
  <VBox renderType="Bare">
202
- <!-- The formatter 'formatDisplayValueForProgressIndicator' is used by 'AH.buildExpressionForProgressIndicatorDisplayValue' -->
204
+ <!-- The formatter 'RuntimeFormatters.formatDisplayValueForProgressIndicator' is used by 'AH.buildExpressionForProgressIndicatorDisplayValue' -->
203
205
  <ProgressIndicator
204
- core:require="{formatDisplayValueForProgressIndicator: 'sap/suite/ui/generic/template/js/formatters/formatDisplayValueForProgressIndicator'}"
206
+ core:require="{RuntimeFormatters: 'sap/suite/ui/generic/template/js/RuntimeFormatters'}"
205
207
  binding="{= ${ path: 'dataField>Target/AnnotationPath'}.indexOf('/') > -1 ? '{' + ${path: 'dataField>Target/AnnotationPath'}.slice(0, ${ path: 'dataField>Target/AnnotationPath'}.indexOf('/')) + '}' : null}"
206
208
  percentValue="{ parts: [{path:'dataFieldTarget>'}, {path:'value>'}], formatter: 'AH.buildExpressionForProgressIndicatorPercentValue' }"
207
209
  displayValue="{ parts: [{path:'dataFieldTarget>'}, {path:'value>Org.OData.Measures.V1.Unit'}], formatter: 'AH.buildExpressionForProgressIndicatorDisplayValue'}"
@@ -25,14 +25,11 @@
25
25
  </template:else>
26
26
  </template:if>
27
27
  <ColumnListItem id="{columnListItemId>id}"
28
- core:require="{
29
- setRowNavigated: 'sap/suite/ui/generic/template/js/formatters/setRowNavigated',
30
- setInfoHighlight: 'sap/suite/ui/generic/template/js/formatters/setInfoHighlight'
31
- }"
28
+ core:require="{RuntimeFormatters: 'sap/suite/ui/generic/template/js/RuntimeFormatters'}"
32
29
  highlight="{parts: [{path: 'listEntityType>'}, {path: 'parameter>/treeNode'}, {path: 'listEntitySet>name'}, {path: 'parameter>/checkIsDraftEnabled'}], formatter: 'AH.setRowHighlight'}"
33
30
  vAlign="{appSettings>/tableColumnVerticalAlignment}"
34
31
  type="{parts: [{path: 'listEntitySet>'}, {path: 'parameter>/settings/subPages/'}, {path: 'parameter>/manifest/'}, {path: 'parameter>/treeNode/'}, {path:'parameter>/isDraftEnabled'}, {path: 'facet>Target/AnnotationPath'}], formatter: 'AH.getColumnListItemType'}"
35
- navigated="{parts: [{path: '_templPriv>/generic/currentActiveChildContext'}, {path: ''}], formatter: 'setRowNavigated'}"
32
+ navigated="{parts: [{path: '_templPriv>/generic/currentActiveChildContext'}, {path: ''}], formatter: 'RuntimeFormatters.setRowNavigated.bind($control)'}"
36
33
  detailPress="._templateEventHandlers.onEdit">
37
34
  <template:if test="{parts: [{path: 'listEntitySet>name'}, {path: 'parameter>/settings/subPages/'}, {path: 'facet>Target/AnnotationPath'}], formatter: 'AH.getDisplayNavigationIntent'}">
38
35
  <customData>
@@ -13,7 +13,7 @@
13
13
  type="Transparent"
14
14
  visible="{path: 'dataField>', formatter: 'AH.getBindingForHiddenPath'}">
15
15
  <layoutData>
16
- <OverflowToolbarLayoutData priority = "{dataField>com.sap.vocabularies.UI.v1.Importance/EnumMember}"/>
16
+ <OverflowToolbarLayoutData priority="{path: 'dataField>com.sap.vocabularies.UI.v1.Importance/EnumMember', formatter: 'AH.getToolbarButtonPriorityFromImportance'}"/>
17
17
  </layoutData>
18
18
  <customData>
19
19
  <core:CustomData key="Type" value="{dataField>RecordType}" />
@@ -36,7 +36,7 @@
36
36
  visible="{path: 'dataField>', formatter: 'AH.buildVisibilityExprOfDataFieldForIntentBasedNaviButton'}"
37
37
  type="Transparent">
38
38
  <layoutData>
39
- <OverflowToolbarLayoutData priority = "{dataField>com.sap.vocabularies.UI.v1.Importance/EnumMember}"/>
39
+ <OverflowToolbarLayoutData priority="{path: 'dataField>com.sap.vocabularies.UI.v1.Importance/EnumMember', formatter: 'AH.getToolbarButtonPriorityFromImportance'}"/>
40
40
  </layoutData>
41
41
  <customData>
42
42
  <core:CustomData key="Type" value="{dataField>RecordType}" />
@@ -86,6 +86,7 @@
86
86
  <fe:Link
87
87
  text="{parts: [{path: 'dataField>'}, {path: 'listEntitySet>'}], formatter: 'AH.getLinkTextForDFwithIBN'}"
88
88
  press="._templateEventHandlers.onDataFieldWithIntentBasedNavigation"
89
+ accessibleRole="Button"
89
90
  wrapping="false">
90
91
  <fe:customData>
91
92
  <core:CustomData key="SemanticObject" value="{path: 'dataField>SemanticObject', formatter: 'AHModel.format'}" />
@@ -214,9 +215,9 @@
214
215
  <!-- Progress Indicator generation -->
215
216
  <template:elseif test="{= ${dataFieldTarget>Visualization/EnumMember} === 'com.sap.vocabularies.UI.v1.VisualizationType/Progress'}">
216
217
  <template:with path="dataFieldTarget>Value" helper="AHModel.resolvePath" var="value">
217
- <!-- The formatter 'formatDisplayValueForProgressIndicator' is used by 'AH.buildExpressionForProgressIndicatorDisplayValue' -->
218
+ <!-- The formatter 'RuntimeFormatters.formatDisplayValueForProgressIndicator' is used by 'AH.buildExpressionForProgressIndicatorDisplayValue' -->
218
219
  <ProgressIndicator
219
- core:require="{formatDisplayValueForProgressIndicator: 'sap/suite/ui/generic/template/js/formatters/formatDisplayValueForProgressIndicator'}"
220
+ core:require="{RuntimeFormatters: 'sap/suite/ui/generic/template/js/RuntimeFormatters'}"
220
221
  binding="{= ${ path: 'dataField>Target/AnnotationPath'}.indexOf('/') > -1 ? '{' + ${path: 'dataField>Target/AnnotationPath'}.slice(0, ${ path: 'dataField>Target/AnnotationPath'}.indexOf('/')) + '}' : null}"
221
222
  percentValue="{ parts: [{path:'dataFieldTarget>'}, {path:'value>'}], formatter: 'AH.buildExpressionForProgressIndicatorPercentValue' }"
222
223
  displayValue="{ parts: [{path:'dataFieldTarget>'}, {path:'value>Org.OData.Measures.V1.Unit'}], formatter: 'AH.buildExpressionForProgressIndicatorDisplayValue'}"
@@ -64,16 +64,17 @@ sap.ui.define([
64
64
  }
65
65
 
66
66
  // returns a Promise that resolves to the boolean information whether the SmartField is a possible focus target for input.
67
- function getSmartFieldIsFocussableForInputPromise(oSmartField){
68
- var oSmartFieldMetadataAvailablePromise = oSmartField._getComputedMetadata();
69
- return oSmartFieldMetadataAvailablePromise.then(function(){
70
- return (oSmartField.getMode() === "edit") && (oSmartField._getICRenderedPromise() || Promise.resolve()).then(function(){
71
- var oFirstFocusableInput = !oSmartField._bEdmBoolDetected && getFirstEditableInput(oSmartField.getDomRef());
72
- return !(!oFirstFocusableInput || oFirstFocusableInput.type === "checkbox");
73
- });
67
+ function getSmartFieldIsFocussableForInputPromise(oSmartField) {
68
+ return oSmartField._getComputedMetadata().then(function () {
69
+ return (oSmartField.getMode() === "edit") && (oSmartField._getICRenderedPromise() || Promise.resolve());
70
+ }).then(function () {
71
+ var oFirstFocusableInput = !oSmartField._bEdmBoolDetected && getFirstEditableInput(oSmartField.getDomRef());
72
+ return !(!oFirstFocusableInput || oFirstFocusableInput.type === "checkbox");
73
+ }).catch(function () {
74
+ return false;
74
75
  });
75
- }
76
-
76
+ }
77
+
77
78
  // returns the UI5 control which currently has the focus, if there is one. Otherwise returns a faulty value.
78
79
  // Implementation as recommended by UI5 until the provide an own abstraction.
79
80
  function getControlWithFocus(){
@@ -5,8 +5,9 @@ sap.ui.define([
5
5
  "sap/m/DynamicDateUtil",
6
6
  "sap/suite/ui/generic/template/genericUtilities/metadataAnalyser",
7
7
  "sap/base/i18n/date/CalendarType",
8
- "sap/suite/ui/generic/template/genericUtilities/testableHelper"
9
- ], function (FilterOperator, DateFormat, encodeURL, DynamicDateUtil, metadataAnalyser, CalendarType, testableHelper) {
8
+ "sap/suite/ui/generic/template/genericUtilities/testableHelper",
9
+ "sap/ui/model/Filter"
10
+ ], function (FilterOperator, DateFormat, encodeURL, DynamicDateUtil, metadataAnalyser, CalendarType, testableHelper,Filter) {
10
11
  "use strict";
11
12
 
12
13
  function getInfoForFilters(aFilters, getFilterInfoForPropertyFilters, bAnd){
@@ -260,6 +261,71 @@ sap.ui.define([
260
261
  };
261
262
  }
262
263
 
264
+ /**
265
+ * function wraps the table level filters into single filter object
266
+ * This is done to follow the same format as SFB and chart filters
267
+ * returns the updated aFilters
268
+ * @param {Array} aFilters - It contains all the filters applied (in SFB , chart or table level filters)
269
+ * @returns {Array} - returns array containing all the filters applied including the table filters wrapped as single filter object similar to SFB and chart filters
270
+ */
271
+
272
+ function fnNormaliseControlFilters(aFilters) {
273
+ var aTableFilters = [];
274
+
275
+ var aChartAndSFBFilters = [];
276
+
277
+ aFilters.forEach((oFilter) => {
278
+ if (oFilter.aFilters) {
279
+ aChartAndSFBFilters.push(oFilter);
280
+ } else {
281
+ aTableFilters.push(oFilter);
282
+ }
283
+ });
284
+
285
+ if (aTableFilters && aTableFilters.length > 1) {
286
+ //Grouping the table level filters based on sPath
287
+ var aGroupedTableFilters = aTableFilters.reduce(
288
+ (aGroupedFilters, oCurrentfilter) => {
289
+ var path = oCurrentfilter.sPath;
290
+
291
+ if (!aGroupedFilters[path]) {
292
+ aGroupedFilters[path] = [];
293
+ }
294
+
295
+ aGroupedFilters[path].push(oCurrentfilter);
296
+
297
+ return aGroupedFilters;
298
+ },
299
+ {}
300
+ );
301
+
302
+ // Convert grouped table filters into nested filter groups
303
+
304
+ var aTableFilterGroups = Object.keys(aGroupedTableFilters).map(
305
+ (sPath) => {
306
+ return new Filter({
307
+ filters: aGroupedTableFilters[sPath],
308
+
309
+ and: false // OR logic within each group
310
+ });
311
+ }
312
+ );
313
+
314
+ // Forming a single top-level table filter
315
+
316
+ aTableFilters = new Filter({
317
+ filters: aTableFilterGroups,
318
+
319
+ and: true // AND logic for combining everything
320
+ });
321
+
322
+ // combining filters from chart , SFB , and table
323
+ aChartAndSFBFilters.push(aTableFilters);
324
+ return aChartAndSFBFilters;
325
+ }
326
+
327
+ return aFilters;
328
+ }
263
329
  /**
264
330
  * Function returns filter params for service url
265
331
  * @param {object} sEntityTypeName
@@ -274,6 +340,7 @@ sap.ui.define([
274
340
  oFilterData: oFilterData,
275
341
  bIsStatic: false
276
342
  };
343
+ aApplicationFilters = fnNormaliseControlFilters(aApplicationFilters);
277
344
  // Here oParams.bIsStrict will change if SFB have custom semantic-date filter.
278
345
  var sFilterParams = "$filter=" + getFilterString(aApplicationFilters, getFilterInfoForPropertyFilters.bind(null, oParams));
279
346
  sFilterParams = oParams.bIsStatic ? "" : sFilterParams;
@@ -281,6 +348,7 @@ sap.ui.define([
281
348
  }
282
349
  testableHelper.testableStatic(getFilterInfoForPropertyFilters, "filterHelper_getFilterInfoForPropertyFilters");
283
350
  testableHelper.testableStatic(getFilterString, "filterHelper_getFilterString");
351
+ testableHelper.testableStatic(fnNormaliseControlFilters, "filterHelper_fnNormaliseControlFilters");
284
352
  return {
285
353
  getFilterParams: getFilterParams
286
354
  };
@@ -28,6 +28,20 @@ sap.ui.define([
28
28
  return null;
29
29
  };
30
30
  }
31
+ /**
32
+ * PolyFill for Promise.withResolvers
33
+ */
34
+ if (!Promise.withResolvers) {
35
+ Promise.withResolvers = function() {
36
+ var resolvers = {};
37
+ var promise = new Promise(function(resolve, reject) {
38
+ resolvers.resolve = resolve;
39
+ resolvers.reject = reject;
40
+ });
41
+ Object.assign(promise, resolvers);
42
+ return promise;
43
+ };
44
+ }
31
45
  /**
32
46
  * PolyFill for nextSiblingElement
33
47
  */
@@ -11,16 +11,18 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
11
11
  "sap/ui/core/library",
12
12
  "sap/suite/ui/generic/template/genericUtilities/metadataAnalyser",
13
13
  "sap/ui/base/ManagedObject",
14
- "sap/suite/ui/generic/template/lib/SideEffectUtil",
15
14
  "sap/base/util/isEmptyObject",
16
15
  "sap/suite/ui/generic/template/js/RuntimeFormatters"// just to make sure that it is loaded
17
16
  ], function (AnnotationHelperModel, AnnotationHelperModelBasics, SmartField, FeLogger, formatMessage, deepExtend, StableIdHelper, utils, Device,
18
- SapMLibrary, SapCoreLibrary, metadataAnalyser, ManagedObject, SideEffectUtil, isEmptyObject) {
17
+ SapMLibrary, SapCoreLibrary, metadataAnalyser, ManagedObject, isEmptyObject) {
19
18
  "use strict";
20
19
 
21
20
  // shortcut for sap.ui.core.ValueState
22
21
  var ValueState = SapCoreLibrary.ValueState;
23
22
 
23
+ // shortcut for sap.m.OverflowToolbarPriority
24
+ var OverflowToolbarPriority = SapMLibrary.OverflowToolbarPriority;
25
+
24
26
  var oLogger = new FeLogger("js.AnnotationHelper").getLogger();
25
27
 
26
28
  function fnGetFallbackId(oFacet) {
@@ -385,9 +387,6 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
385
387
  getCustomDataForContactPopup: function (oContactDetails) {
386
388
  return ((JSON.stringify(oContactDetails)).replace(/\}/g, "\\}").replace(/\{/g, "\\{")); //check bindingParser.escape
387
389
  },
388
- getPropsForLinkFields: function(oEntitySet, oTarget, sFieldName) {
389
- return SideEffectUtil.getPropsForLinkFields(oEntitySet, oTarget, sFieldName);
390
- },
391
390
  checkIsEmailAddress: function (oInterface, sEntityType, oDataField) {
392
391
  var oMetaModel = oInterface.getInterface(1).getModel();
393
392
  var sPath = oInterface.getInterface(1).getPath() + '/Value';
@@ -1093,21 +1092,21 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
1093
1092
  // builds the expression for the Rating Indicator Subtitle
1094
1093
  buildRatingIndicatorSubtitleExpression: function (mSampleSize) {
1095
1094
  if (mSampleSize) {
1096
- return "{parts: [{path: '" + mSampleSize.Path + "'}], formatter: 'formatRatingIndicatorSubTitle'}";
1095
+ return "{parts: [{path: '" + mSampleSize.Path + "'}], formatter: 'RuntimeFormatters.formatRatingIndicatorSubTitle.bind($control)'}";
1097
1096
  }
1098
1097
  },
1099
1098
 
1100
1099
  // builds the expression for the Rating Indicator footer
1101
1100
  buildRatingIndicatorFooterExpression: function (mValue, mTargetValue) {
1102
1101
  if (mTargetValue) {
1103
- return "{parts: [{path: '" + mValue.Path + "'}, {path: '" + mTargetValue.Path + "'}], formatter: 'formatRatingIndicatorFooterText'}";
1102
+ return "{parts: [{path: '" + mValue.Path + "'}, {path: '" + mTargetValue.Path + "'}], formatter: 'RuntimeFormatters.formatRatingIndicatorFooterText.bind($control)'}";
1104
1103
  }
1105
- return "{parts: [{path: '" + mValue.Path + "'}], formatter: 'formatRatingIndicatorFooterText'}";
1104
+ return "{parts: [{path: '" + mValue.Path + "'}], formatter: 'RuntimeFormatters.formatRatingIndicatorFooterText.bind($control)'}";
1106
1105
  },
1107
1106
 
1108
1107
  // builds the expression for the Rating Indicator aggregate Count
1109
1108
  buildRatingIndicatorAggregateCountExpression: function (mValue) {
1110
- return "{parts: [{path: '" + mValue.Path + "'}], formatter: 'formatRatingIndicatorAggregateCount'}";
1109
+ return "{parts: [{path: '" + mValue.Path + "'}], formatter: 'RuntimeFormatters.formatRatingIndicatorAggregateCount.bind($control)'}";
1111
1110
  },
1112
1111
 
1113
1112
  getIdForMoreBlockContent: function (oFacet) {
@@ -1231,7 +1230,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
1231
1230
  if (oImageUrl.Path) {
1232
1231
  var sPrefix = "{parts: [{path: '" + oImageUrl.Path + "'}, {value: '" + sAppComponentName + "'}";
1233
1232
  var sInfix = bSuppressIcons ? ", {value: true}" : "";
1234
- var sPostfix = "], formatter: 'formatImageUrl'}";
1233
+ var sPostfix = "], formatter: 'RuntimeFormatters.formatImageUrl.bind($control)'}";
1235
1234
  return sPrefix + sInfix + sPostfix;
1236
1235
  }
1237
1236
  // Apply
@@ -3267,7 +3266,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
3267
3266
 
3268
3267
  sParts = buildPart(oInterface, dataPoint.Value) + ", " + buildPart(oInterface, dataPoint.TargetValue) + ", " + buildPart(oInterface, mUoM);
3269
3268
 
3270
- var sDisplayValueExpression = "{ parts: [" + sParts + "], formatter: 'formatDisplayValueForProgressIndicator' }";
3269
+ var sDisplayValueExpression = "{ parts: [" + sParts + "], formatter: 'RuntimeFormatters.formatDisplayValueForProgressIndicator.bind($control)' }";
3271
3270
  return sDisplayValueExpression;
3272
3271
  },
3273
3272
 
@@ -3740,7 +3739,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
3740
3739
  // More precisely: {path: '_templPrivMessage>/'} is included to listen to changes of the Message model
3741
3740
  // {path: ''} is included to listen to change of the row context. This is in particular important for scrolling in grid tables (recommendation from ui5).
3742
3741
  // sCriticalityPiece is needed to listen to changes of the criticality property. Note that there is a gap in case the criticality actually should be evaluated from the lineItemQualifier
3743
- return "{parts: [" + sDraftParts + ", " + sMessageParts + sCriticalityPiece + ", {path: ''}], formatter: 'setInfoHighlight'}";
3742
+ return "{parts: [" + sDraftParts + ", " + sMessageParts + sCriticalityPiece + ", {path: ''}], formatter: 'RuntimeFormatters.setInfoHighlight.bind($control)'}";
3744
3743
  },
3745
3744
 
3746
3745
  getDataFieldLabel: function (oInterface, oDataField) {
@@ -4380,6 +4379,48 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
4380
4379
  var sNavigationPath = AnnotationHelperModel.getNavigationPath(oInterface, vRawValue);
4381
4380
  var sNavigationPropertyPath = sNavigationPath.replace("{", "").replace("}", "");
4382
4381
  return sNavigationPropertyPath;
4382
+ },
4383
+
4384
+ /**
4385
+ * Derives the sap.m.OverflowToolbarPriority from the given importance.
4386
+ * If the input is High or Medium
4387
+ * - Returns OverflowToolbarPriority.High
4388
+ * If the input is Low
4389
+ * - Returns OverflowToolbarPriority.Low
4390
+ * Otherwise
4391
+ * - Returns the default value OverflowToolbarPriority.High
4392
+ *
4393
+ * @param {string} sImportance Importance from annotation (for annotated actions) or manifest (breakout actions).
4394
+ * The possible importance values
4395
+ * - High
4396
+ * - Medium
4397
+ * - Low
4398
+ * - com.sap.vocabularies.UI.v1.ImportanceType/High
4399
+ * - com.sap.vocabularies.UI.v1.ImportanceType/Medium
4400
+ * - com.sap.vocabularies.UI.v1.ImportanceType/Low
4401
+ * @returns {sap.m.OverflowToolbarPriority} The priority
4402
+ */
4403
+ getToolbarButtonPriorityFromImportance: function (sImportance) {
4404
+ var sPriority = "";
4405
+ // If importance is in "com.sap.vocabularies.UI.v1.ImportanceType/High" format, omit the prefix and just keep "High"
4406
+ if (sImportance && sImportance.includes("/")) {
4407
+ sImportance = sImportance.split("/")[1];
4408
+ }
4409
+ // The enum sap.m.OverflowToolbarPriority only has the values "High", "Low" and it doesn't have "Medium".
4410
+ // So, if the input is "Medium", return the priority "High" (The default priority)
4411
+ switch (sImportance) {
4412
+ case "High":
4413
+ case "Medium":
4414
+ sPriority = OverflowToolbarPriority.High;
4415
+ break;
4416
+ case "Low":
4417
+ sPriority = OverflowToolbarPriority.Low;
4418
+ break;
4419
+ default:
4420
+ sPriority = OverflowToolbarPriority.High;
4421
+ break;
4422
+ }
4423
+ return sPriority;
4383
4424
  }
4384
4425
  };
4385
4426
  oAnnotationHelper.getBlockForEditableHeaderFacet.requiresIContext = true;
@@ -1,17 +1,29 @@
1
1
  /*global Promise */
2
2
  sap.ui.define([
3
- "sap/ui/base/Object",
4
- "sap/ui/core/UIComponent",
5
- "sap/ui/model/resource/ResourceModel",
6
- "sap/ui/core/library",
7
- "sap/ui/model/json/JSONModel",
8
- "sap/ui/generic/app/ApplicationController",
9
- "sap/suite/ui/generic/template/genericUtilities/FeLogger",
10
- "sap/base/util/extend",
11
- "sap/base/util/deepExtend",
12
- "sap/ui/core/mvc/View"
13
- ],
14
- function(BaseObject, UIComponent, ResourceModel, coreLibrary, JSONModel, ApplicationController, FeLogger, extend, deepExtend, View) {
3
+ "sap/ui/base/Object",
4
+ "sap/ui/core/UIComponent",
5
+ "sap/ui/model/resource/ResourceModel",
6
+ "sap/ui/core/library",
7
+ "sap/ui/model/json/JSONModel",
8
+ "sap/ui/generic/app/ApplicationController",
9
+ "sap/suite/ui/generic/template/genericUtilities/FeLogger",
10
+ "sap/base/util/extend",
11
+ "sap/base/util/deepExtend",
12
+ "sap/ui/core/mvc/View",
13
+ "sap/ui/core/Element"
14
+ ], function (
15
+ BaseObject,
16
+ UIComponent,
17
+ ResourceModel,
18
+ coreLibrary,
19
+ JSONModel,
20
+ ApplicationController,
21
+ FeLogger,
22
+ extend,
23
+ deepExtend,
24
+ View,
25
+ Element
26
+ ) {
15
27
  "use strict";
16
28
 
17
29
  var oLogger = new FeLogger("js.QuickTemplates.QuickTemplateComponentFactory").getLogger();
@@ -82,7 +94,7 @@ sap.ui.define([
82
94
 
83
95
  var sStableId = fnDetermineStableViewID(this);
84
96
 
85
- oView = sap.ui.getCore().byId(sStableId);
97
+ oView = Element.getElementById(sStableId);
86
98
  if (oView) {
87
99
  oLogger.warning("View with ID: " + sStableId + " already exists - old view is getting destroyed now!");
88
100
  try {