@sapui5/sap.suite.ui.generic.template 1.138.1 → 1.140.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 (200) hide show
  1. package/package.json +2 -3
  2. package/src/sap/suite/ui/generic/template/.library +1 -1
  3. package/src/sap/suite/ui/generic/template/AnalyticalListPage/Component.js +0 -7
  4. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/SmartVisualFilterBar.js +5 -2
  5. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/VisualFilterProvider.js +5 -6
  6. package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/ControllerImplementation.js +9 -22
  7. package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/DropDownController.js +3 -1
  8. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n.properties +0 -3
  9. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ar.properties +0 -2
  10. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_bg.properties +0 -2
  11. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ca.properties +0 -2
  12. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_cnr.properties +0 -2
  13. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_cs.properties +0 -2
  14. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_cy.properties +0 -2
  15. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_da.properties +0 -2
  16. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_de.properties +0 -2
  17. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_el.properties +0 -2
  18. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en.properties +0 -2
  19. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en_GB.properties +0 -2
  20. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en_US_saprigi.properties +0 -2
  21. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_es.properties +0 -2
  22. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_es_MX.properties +0 -2
  23. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_et.properties +0 -2
  24. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_fi.properties +0 -2
  25. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_fr.properties +0 -2
  26. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_fr_CA.properties +0 -2
  27. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_hi.properties +0 -2
  28. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_hr.properties +0 -2
  29. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_hu.properties +0 -2
  30. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_id.properties +0 -2
  31. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_it.properties +0 -2
  32. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_iw.properties +0 -2
  33. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ja.properties +0 -2
  34. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_kk.properties +0 -2
  35. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ko.properties +0 -2
  36. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_lt.properties +0 -2
  37. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_lv.properties +0 -2
  38. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_mk.properties +0 -2
  39. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ms.properties +0 -2
  40. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_nl.properties +0 -2
  41. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_no.properties +0 -2
  42. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_pl.properties +0 -2
  43. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_pt.properties +0 -2
  44. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_pt_PT.properties +0 -2
  45. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ro.properties +0 -2
  46. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ru.properties +0 -2
  47. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sh.properties +0 -2
  48. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sk.properties +0 -2
  49. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sl.properties +0 -2
  50. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sr.properties +0 -2
  51. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sv.properties +0 -2
  52. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_th.properties +0 -2
  53. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_tr.properties +0 -2
  54. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_uk.properties +0 -2
  55. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_vi.properties +0 -2
  56. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_zh_CN.properties +0 -2
  57. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_zh_TW.properties +0 -2
  58. package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +1 -1
  59. package/src/sap/suite/ui/generic/template/AnalyticalListPage/util/AnnotationHelper.js +0 -9
  60. package/src/sap/suite/ui/generic/template/AnalyticalListPage/view/fragments/ContentContainer.fragment.xml +0 -7
  61. package/src/sap/suite/ui/generic/template/AnalyticalListPage/view/fragments/ContentViewButtons.fragment.xml +0 -6
  62. package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
  63. package/src/sap/suite/ui/generic/template/ListReport/controller/IappStateHandler.js +34 -33
  64. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_US_saprigi.properties +2 -0
  65. package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
  66. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartTable.fragment.xml +1 -0
  67. package/src/sap/suite/ui/generic/template/ObjectPage/annotationHelpers/AnnotationHelperActionButtons.js +26 -2
  68. package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +69 -26
  69. package/src/sap/suite/ui/generic/template/ObjectPage/controller/MessageSortingHandler.js +51 -49
  70. package/src/sap/suite/ui/generic/template/ObjectPage/controller/MultipleViewsHandler.js +1 -1
  71. package/src/sap/suite/ui/generic/template/ObjectPage/controller/RelatedAppsHandler.js +1 -1
  72. package/src/sap/suite/ui/generic/template/ObjectPage/controller/SectionTitleHandler.js +16 -12
  73. package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
  74. package/src/sap/suite/ui/generic/template/ObjectPage/view/Details.view.xml +2 -3
  75. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/Actions.fragment.xml +20 -3
  76. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartForm.fragment.xml +1 -0
  77. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartTable.fragment.xml +1 -0
  78. package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
  79. package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
  80. package/src/sap/suite/ui/generic/template/designtime/controls/DynamicPage.designtime.js +2 -2
  81. package/src/sap/suite/ui/generic/template/designtime/controls/ObjectPageLayout.designtime.js +2 -2
  82. package/src/sap/suite/ui/generic/template/designtime/controls/SmartFilterBar.designtime.js +2 -2
  83. package/src/sap/suite/ui/generic/template/designtime/controls/SmartTable.designtime.js +2 -2
  84. package/src/sap/suite/ui/generic/template/designtime/utils/designtimeUtils.js +6 -1
  85. package/src/sap/suite/ui/generic/template/fragments/AINotice.fragment.xml +24 -0
  86. package/src/sap/suite/ui/generic/template/genericUtilities/controlHelper.js +4 -2
  87. package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartTableChartCommon.js +4 -1
  88. package/src/sap/suite/ui/generic/template/genericUtilities/polyFill.js +6 -7
  89. package/src/sap/suite/ui/generic/template/js/AnnotationHelper.js +86 -15
  90. package/src/sap/suite/ui/generic/template/lib/AdaptiveCardHelper.js +2 -2
  91. package/src/sap/suite/ui/generic/template/lib/AppComponent.js +3 -2
  92. package/src/sap/suite/ui/generic/template/lib/Application.js +2 -2
  93. package/src/sap/suite/ui/generic/template/lib/CRUDManager.js +1 -1
  94. package/src/sap/suite/ui/generic/template/lib/CommonEventHandlers.js +16 -12
  95. package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +3 -4
  96. package/src/sap/suite/ui/generic/template/lib/ContactCardDetailHelper.js +1 -1
  97. package/src/sap/suite/ui/generic/template/lib/ContextBookkeeping.js +3 -6
  98. package/src/sap/suite/ui/generic/template/lib/ContextMenuHandler.js +16 -2
  99. package/src/sap/suite/ui/generic/template/lib/FlexibleColumnLayoutHandler.js +3 -1
  100. package/src/sap/suite/ui/generic/template/lib/SideEffectUtil.js +3 -4
  101. package/src/sap/suite/ui/generic/template/lib/StatePreserver.js +1 -1
  102. package/src/sap/suite/ui/generic/template/lib/ViewDependencyHelper.js +7 -2
  103. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillHandler.js +407 -0
  104. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/fragments/EasyFillDialog.fragment.xml +82 -0
  105. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/fragments/EasyFillNonUpdatableSmartForm.fragment.xml +18 -0
  106. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/fragments/EasyFillUpdatebleSmartForm.fragment.xml +15 -0
  107. package/src/sap/suite/ui/generic/template/lib/ai/EasyFilterBarHandler.js +53 -9
  108. package/src/sap/suite/ui/generic/template/lib/ai/FioriAIHandler.js +2 -1
  109. package/src/sap/suite/ui/generic/template/lib/filterHelper.js +5 -7
  110. package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +72 -0
  111. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +48 -0
  112. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +48 -0
  113. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +48 -0
  114. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +48 -0
  115. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +48 -0
  116. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +48 -0
  117. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +48 -0
  118. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +48 -0
  119. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +48 -0
  120. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +48 -0
  121. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +48 -0
  122. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +156 -1
  123. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +48 -0
  124. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +48 -0
  125. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +48 -0
  126. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +48 -0
  127. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +48 -0
  128. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +48 -0
  129. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +48 -0
  130. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +48 -0
  131. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +48 -0
  132. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +52 -4
  133. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +48 -0
  134. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +48 -0
  135. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +48 -0
  136. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +48 -0
  137. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +49 -1
  138. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +48 -0
  139. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +48 -0
  140. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +48 -0
  141. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +48 -0
  142. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +48 -0
  143. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +48 -0
  144. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +48 -0
  145. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +48 -0
  146. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +48 -0
  147. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +48 -0
  148. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +48 -0
  149. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +48 -0
  150. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +48 -0
  151. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +48 -0
  152. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +48 -0
  153. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +48 -0
  154. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +48 -0
  155. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +48 -0
  156. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +48 -0
  157. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +48 -0
  158. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +48 -0
  159. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +48 -0
  160. package/src/sap/suite/ui/generic/template/lib/insights/InsightsHandler.js +1 -2
  161. package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +26 -19
  162. package/src/sap/suite/ui/generic/template/lib/presentationControl/SmartTableHandler.js +4 -2
  163. package/src/sap/suite/ui/generic/template/library.js +1 -1
  164. package/src/sap/suite/ui/generic/template/listTemplates/controller/DetailController.js +6 -2
  165. package/src/sap/suite/ui/generic/template/listTemplates/controller/IappStateHandler.js +1 -1
  166. package/src/sap/suite/ui/generic/template/listTemplates/controller/ToolbarController.js +2 -10
  167. package/src/sap/suite/ui/generic/template/listTemplates/semanticDateRangeTypeHelper.js +1 -1
  168. package/src/sap/suite/ui/generic/template/themes/base/ALPConstants.less +14 -14
  169. package/src/sap/suite/ui/generic/template/themes/base/ObjectPage.less +51 -0
  170. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/ALPConstants.less +14 -14
  171. package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/ALPConstants.less +14 -14
  172. package/src/sap/suite/ui/generic/template/themes/sap_hcb/ALPConstants.less +14 -14
  173. package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/AnalyticGridController.js +0 -38
  174. package/src/sap/suite/ui/generic/template/AnalyticalListPage/style/alr_readme.txt +0 -23
  175. package/src/sap/suite/ui/generic/template/AnalyticalListPage/style/crosstab_library.css +0 -20
  176. package/src/sap/suite/ui/generic/template/AnalyticalListPage/style/img/readme.txt +0 -4
  177. package/src/sap/suite/ui/generic/template/AnalyticalListPage/style/img/sort_asc.gif +0 -0
  178. package/src/sap/suite/ui/generic/template/AnalyticalListPage/style/img/sort_desc.gif +0 -0
  179. package/src/sap/suite/ui/generic/template/AnalyticalListPage/style/img/sort_none.gif +0 -0
  180. package/src/sap/suite/ui/generic/template/AnalyticalListPage/style/img/treenode_collapse.gif +0 -0
  181. package/src/sap/suite/ui/generic/template/AnalyticalListPage/style/img/treenode_expand.gif +0 -0
  182. package/src/sap/suite/ui/generic/template/AnalyticalListPage/view/fragments/AnalyticGrid.fragment.xml +0 -21
  183. package/src/sap/suite/ui/generic/template/themes/base/alr_zen.css +0 -127
  184. package/src/sap/suite/ui/generic/template/themes/base/crosstab_library.css +0 -20
  185. package/src/sap/suite/ui/generic/template/themes/base/img/readme.txt +0 -4
  186. package/src/sap/suite/ui/generic/template/themes/base/img/sort_asc.gif +0 -0
  187. package/src/sap/suite/ui/generic/template/themes/base/img/sort_desc.gif +0 -0
  188. package/src/sap/suite/ui/generic/template/themes/base/img/sort_none.gif +0 -0
  189. package/src/sap/suite/ui/generic/template/themes/base/img/treenode_collapse.gif +0 -0
  190. package/src/sap/suite/ui/generic/template/themes/base/img/treenode_expand.gif +0 -0
  191. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/alr_zen.css +0 -136
  192. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/crosstab_library.css +0 -20
  193. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/img/readme.txt +0 -4
  194. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/img/sort_asc.gif +0 -0
  195. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/img/sort_desc.gif +0 -0
  196. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/img/sort_none.gif +0 -0
  197. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/img/treenode_collapse.gif +0 -0
  198. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/img/treenode_expand.gif +0 -0
  199. package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/alr_zen.css +0 -136
  200. package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/crosstab_library.css +0 -20
@@ -16,13 +16,13 @@ sap.ui.define([
16
16
  // The MessageDialog (used for transient messages) is (yet) not using this class.
17
17
  function getMethods(oController, oTemplateUtils, oObjectPage) {
18
18
  var fnHeartBeat = Function.prototype; // A function that is called when new subtitle information is available. Will be set to a more specific function below.
19
-
19
+
20
20
  var mMessageToPlacementInfo; // Cache for message placement infos (see function getMessagePlacementInfo)
21
-
21
+
22
22
  var mTableIdToTableInfo; // Cache for table infos (see function getTableInfo). Will be filled for all tables which relate to at least one message.
23
23
 
24
24
  var iResortingId; // an id representing a resorting which is already planned for asynchronous execution. Initial if no such resorting is planned.
25
-
25
+
26
26
  function fnReset(){ // remove all collected information and prepare to collect new one. Also used for initialization.
27
27
  mMessageToPlacementInfo = Object.create(null);
28
28
  if (mTableIdToTableInfo){
@@ -31,13 +31,13 @@ sap.ui.define([
31
31
  oTableInfo.destroy();
32
32
  }
33
33
  }
34
- mTableIdToTableInfo = Object.create(null);
34
+ mTableIdToTableInfo = Object.create(null);
35
35
  }
36
36
 
37
37
  // adds the following attributes to oPlacementInfo: controlId, pathToControlId, groupers, getItemBindingPath (see getMessagePlacementInfo() below)
38
38
  // Thereby aCandidates is the list of controlIds which should be considered.
39
39
  function addControlIdToPlacementInfo(aCandidates, oPlacementInfo){
40
- var mChildToParent = Object.create(null); // helper map that maps each relevant control id to the parent control. Will be filled as a bonus via onElementVisited while executing getPositionableControlId to find the target control for the message
40
+ var mChildToParent = Object.create(null); // helper map that maps each relevant control id to the parent control. Will be filled as a bonus via onElementVisited while executing getPositionableControlId to find the target control for the message
41
41
  var onElementVisited = function (sElementId, oControl, oChild) { // will be called for sElementId being a member of aControlIds and oControl being one of its ancestors, oChild is a child of oControl and was visited previously
42
42
  if (oChild) {
43
43
  mChildToParent[oChild.getId()] = oControl;
@@ -46,13 +46,13 @@ sap.ui.define([
46
46
  oPlacementInfo.controlId = oTemplateUtils.oCommonUtils.getPositionableControlId(aCandidates, true, onElementVisited); // Now we have decided which controlId we want to use for sorting and placing of this message. Note that this entry might be faulty
47
47
  var aPathToControlId = []; // an array of strings starting with the id of the identified control and ending at the view id. Thereby the array steps up the control hierarchy step by step.
48
48
  var oSection, oTable; // will be set to be the section and table the message belongs to (if such controls can be identified)
49
- // fill aPathToControlId and determine oSection and oTable if possible. This is done by following the child-parent relationship given by mChildToParent starting from oPlacementInfo.controlId.
49
+ // fill aPathToControlId and determine oSection and oTable if possible. This is done by following the child-parent relationship given by mChildToParent starting from oPlacementInfo.controlId.
50
50
  var sControlId;
51
51
  for (var oControl = oPlacementInfo.controlId && controlHelper.byId(oPlacementInfo.controlId); oControl; oControl = mChildToParent[sControlId]){
52
52
  sControlId = oControl.getId();
53
53
  aPathToControlId.push(sControlId);
54
54
  oSection = oSection || (controlHelper.isObjectPageSection(oControl) && oControl);
55
- oTable = oTable || (controlHelper.isSmartTable(oControl) && oControl);
55
+ oTable = oTable || (controlHelper.isSmartTable(oControl) && oControl);
56
56
  }
57
57
  aPathToControlId.reverse(); // reverse the order in the path. Now it has the right order for property pathToControlId of the placement info
58
58
  oPlacementInfo.pathToControlId = aPathToControlId;
@@ -88,9 +88,9 @@ sap.ui.define([
88
88
  }
89
89
  } else {
90
90
  oPlacementInfo.getItemBindingPath = Function.prototype;
91
- }
91
+ }
92
92
  }
93
-
93
+
94
94
  // This function retrieves placement info for a message on the object page. The placement info is an object possessing the following properties:
95
95
  // - message -> the message
96
96
  // - controlIds -> maps the control ids which are currently considered for the message to the corresponding control.
@@ -132,11 +132,11 @@ sap.ui.define([
132
132
  controlIds: mControlIds
133
133
  };
134
134
  addControlIdToPlacementInfo(oMessage.controlIds, oRet); // add the missing attributes to oRet
135
- mMessageToPlacementInfo[sMsgId] = oRet; // add to the cash
135
+ mMessageToPlacementInfo[sMsgId] = oRet; // add to the cash
136
136
  }
137
137
  return oRet;
138
138
  }
139
-
139
+
140
140
  // This function retrieves table info for a SmartTable on the object page. The table info is an object possessing the following properties:
141
141
  // - table -> the corresponding SmartTable
142
142
  // - presentationControlHandler -> the corresponding instance of sap.suite.ui.generic.template.lib.presentationControl.SmartTableHandler
@@ -147,19 +147,19 @@ sap.ui.define([
147
147
  // ~ rowIdentifier -> The human readable identification of the row the message relates to
148
148
  // ~ columnInfo -> Information about the column the message relates to (resp. a faulty value, if no such column could be identified)
149
149
  // More precisely, this is an object containing properties 'label' (string identifying the column) and 'hidden' (boolean informing whether the column is hidden)
150
- // This information is set (maybe asynchronously) by addContextInfoToMessageToMsgInTableInfo resp. getDetailsRetrievedPromise.
150
+ // This information is set (maybe asynchronously) by addContextInfoToMessageToMsgInTableInfo resp. getDetailsRetrievedPromise.
151
151
  // - tableLoaded -> a Promise which is resolved when the table has finished loading its data and the data which have been loaded have
152
152
  // been used to update the content of the messageToMsgInTableInfo property
153
153
  // - destroy -> a destroy function for this instance
154
154
  // - columnInfo -> a map (created on demand) mapping paths that represent columns to the columnInfo as described above
155
155
  // Note that mTableIdToTableInfo is used as a cash.
156
- // Moreover, note that this function returns a faulty value if the table does not possess a binding. However, this information is not cached.
156
+ // Moreover, note that this function returns a faulty value if the table does not possess a binding. However, this information is not cached.
157
157
  function getTableInfo(oTable){
158
158
  var sTableId = oTable.getId();
159
159
  var oRet = mTableIdToTableInfo[sTableId];
160
160
  if (!oRet){
161
161
  oRet = createTableInfo(oTable);
162
- mTableIdToTableInfo[sTableId] = oRet;
162
+ mTableIdToTableInfo[sTableId] = oRet;
163
163
  }
164
164
  return oRet;
165
165
  }
@@ -167,7 +167,7 @@ sap.ui.define([
167
167
  // returns the string which is used to identify a row (specified by oContext) within a SmartTable (specified by its PresentationControlHandler)
168
168
  function getRowIdentifier(oPresentationControlHandler, oContext){
169
169
  var oTitleInfo = oPresentationControlHandler.getTitleInfoForItem(oContext);
170
- return oTitleInfo && oTitleInfo.title;
170
+ return oTitleInfo && oTitleInfo.title;
171
171
  }
172
172
 
173
173
  // creates the columnInfo (see getTableInfo) for a column in a table
@@ -178,7 +178,7 @@ sap.ui.define([
178
178
  };
179
179
  }
180
180
 
181
- // creates the columnInfo (see getTableInfo) for a column specified by a path in a table
181
+ // creates the columnInfo (see getTableInfo) for a column specified by a path in a table
182
182
  function createColumnInfoForPath(oTableInfo, sColumnPath){
183
183
  var aColumns = oTableInfo.table.getTable().getColumns();
184
184
  var oColumnForPath = aColumns.find(function(oColumn){
@@ -210,7 +210,7 @@ sap.ui.define([
210
210
  var sBindingPath = oPlacementInfo.getItemBindingPath();
211
211
  var sRelevantTarget = oPlacementInfo.message.aFullTargets.find(function(sFullTarget){
212
212
  return sFullTarget.startsWith(sBindingPath);
213
- }); // find the relevant target information
213
+ }); // find the relevant target information
214
214
  if (!sRelevantTarget){
215
215
  return;
216
216
  }
@@ -226,7 +226,7 @@ sap.ui.define([
226
226
  }
227
227
  return getColumnInfoForPath(oTableInfo, sColumnPath);
228
228
  }
229
-
229
+
230
230
  // This function analyzes a context belonging to a table and adds the information about the
231
231
  // messages related to this context to oTableInfo.messageToMsgInTableInfo.
232
232
  function addContextInfoToMessageToMsgInTableInfo(oTableInfo, oContext, iPosition){
@@ -238,7 +238,7 @@ sap.ui.define([
238
238
  if (!oPlacementInfo.controlId){ // no control has been determined for this message yet -> the table can be used
239
239
  addControlIdToPlacementInfo([oTableInfo.table.getId()], oPlacementInfo);
240
240
  }
241
- if (oPlacementInfo.groupers[1] === oTableInfo.table){ // ignore messages that are grouped somewhere else
241
+ if (oPlacementInfo.groupers[1] === oTableInfo.table){ // ignore messages that are grouped somewhere else
242
242
  var oEntry = {
243
243
  index: iPosition < 0 ? 9999999 : iPosition,
244
244
  rowCurrentlyShown: iPosition >= 0,
@@ -246,11 +246,11 @@ sap.ui.define([
246
246
  columnInfo: getColumnInfoForMessage(oPlacementInfo, oTableInfo)
247
247
  };
248
248
  oTableInfo.messageToMsgInTableInfo[oMessage.id] = oEntry;
249
- }
249
+ }
250
250
  });
251
251
  }
252
252
  }
253
-
253
+
254
254
  // create the table info object (see getTableInfo above) which does not exist yet.
255
255
  function createTableInfo(oTable){
256
256
  var oPresentationControlHandler = oTemplateUtils.oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oTable);
@@ -305,7 +305,7 @@ sap.ui.define([
305
305
  // Function to get group name for a message. Messages are grouped based on the controls they refer to.
306
306
  // The corresponding controls are contained in property 'groupers' of the placement info for that message.
307
307
  // groupers is an array which is either empty (message could not be assigned to a specific group), contains one entry which is an object page section,
308
- // or contains two entries (an object page section and a table within this section).
308
+ // or contains two entries (an object page section and a table within this section).
309
309
  // Depending on the case the group is built.
310
310
  function getGroupTitle(sMsgId) {
311
311
  var oPlacementInfo = getMessagePlacementInfo(sMsgId);
@@ -373,9 +373,9 @@ sap.ui.define([
373
373
  // If both messages belong to the same table, but only one of them to a selected row, this one should be shown first
374
374
  // If both messages belong the same table, but to different non-selected rows an artificial stable sorting of those rows is assumed (based on the item binding path)
375
375
  // If both messages belong to the same table and to the same row (which may be none) or to the same section and both to no table then they are sorted by
376
- // - reverse severity (if the severity is different)
376
+ // - reverse severity (if the severity is different)
377
377
  // - position of the most specific control which has been found for them (if the severity is equal)
378
- // If none of the above conditions provides a distinction then the messages are sorted alphabetically
378
+ // If none of the above conditions provides a distinction then the messages are sorted alphabetically
379
379
  function fnCompare(oMsgObj1, oMsgObj2) {
380
380
  var oPlacementInfo1 = getMessagePlacementInfo(oMsgObj1.id);
381
381
  var oPlacementInfo2 = getMessagePlacementInfo(oMsgObj2.id);
@@ -436,11 +436,11 @@ sap.ui.define([
436
436
  error : fnFunction.bind(null, null),
437
437
  updateAggregatedMessages : false,
438
438
  success: function(oData){
439
- var sKey = oData && oModel._getKey(oData);
439
+ var sKey = oData && oModel._getKey(oData);
440
440
  var oNewContext = sKey ? oModel.getContext('/' + sKey, sBindingPath) : null;
441
441
  fnFunction(oNewContext);
442
442
  }
443
- });
443
+ });
444
444
  }
445
445
 
446
446
  // sBindingPath is a binding path pointing to a potential row in a SmartTable. oTableInfo is the info object for this table (see getTableInfo above).
@@ -491,7 +491,8 @@ sap.ui.define([
491
491
  oMessage.aFullTargets.some(function(sFullPath){
492
492
  if (sFullPath.startsWith(sBindingPathPrefix)){ // This full target points to a place on the current object page
493
493
  oTemplateUtils.oInfoObjectHandler.executeForAllInformationObjects("smartTable", function(oInfoObject){ // Check for all tables whether it even points to the table
494
- if (!bFound){ // If a suitable table has already been identified skip all other tables
494
+ const bControlExists = !!controlHelper.byId(oInfoObject.getId());
495
+ if (!bFound && bControlExists){ // If a suitable table has already been identified skip all other tables
495
496
  var sStart = sBindingPathPrefix + oInfoObject.getNavigationProperty();
496
497
  if (sFullPath === sStart || sFullPath.startsWith(sStart + "(")){ // If the full target really identifies the table or an entry within the table
497
498
  bFound = true;
@@ -510,7 +511,7 @@ sap.ui.define([
510
511
  var oPlacementInfo = getMessagePlacementInfo(oCollectedMessage.id, oCollectedMessage);
511
512
  if (!oPlacementInfo.controlId){ // Only act if still no other logic has assigned a control to this message
512
513
  addControlIdToPlacementInfo([sTableId], oPlacementInfo);
513
- }
514
+ }
514
515
  });
515
516
  });
516
517
  })
@@ -524,7 +525,7 @@ sap.ui.define([
524
525
  return bFound;
525
526
  });
526
527
  }
527
-
528
+
528
529
  // The public function provided by this class. It is called from function fnPrepareForMessageHandling in ControllerImplementation.
529
530
  // Thereby it is assumed that (if considered necessary) all controls on the OP have been rendered and bound.
530
531
  // This should ensure that for all considered messages the connection to their controls has already been established.
@@ -546,7 +547,7 @@ sap.ui.define([
546
547
  // - Make sure that function fnHeartBeat (see above) will update property heartBeat in oHelperModel
547
548
  // - return a Promise that is resolved as soon as the preparation is done. This Promise resolves to an object which currently has one property 'getSubtitle'. This is actually the
548
549
  // function with this name (see below).
549
- // Note: The subtitle function is actually returned twice, namely once by adding messageToSubtitle to oHelperModel and once by returning the corresponding function.
550
+ // Note: The subtitle function is actually returned twice, namely once by adding messageToSubtitle to oHelperModel and once by returning the corresponding function.
550
551
  function getPrepareMessageDisplayPromise(oItemBinding, aMessages, oHelperModel, sBindingPath){
551
552
  fnReset(); // initialize caches
552
553
  var mTableInfosReadyPromise = Object.create(null); // used to collect information about tables which could only be identified via second try
@@ -567,7 +568,7 @@ sap.ui.define([
567
568
  var fnSetMapsAndSort = function(){ // The function to be executed when the sufficient information has been collected to sort the messages and update oHelperModel accordingly
568
569
  if (iResortingId){ // stop any other resorting which still may be planned and document that currently no resorting is planned
569
570
  clearTimeout(iResortingId);
570
- iResortingId = 0;
571
+ iResortingId = 0;
571
572
  }
572
573
  // Initialize the maps that should be added to oHelperModel
573
574
  var mMessageToGroupName = Object.create(null);
@@ -576,13 +577,13 @@ sap.ui.define([
576
577
  var fnSortAgain; // The function that should be called when a resorting is triggered. Initialized on demand
577
578
  aMessages.forEach(function(oMessage){ // for each message ensure that it is added to the maps
578
579
  var oPlacementInfo = getMessagePlacementInfo(oMessage.id, oMessage); // retrieve the current placement information
579
- if (oPlacementInfo.groupers.length === 0){ // If the message can only be added to the generic group yet, make sure that it is marked for resorting
580
+ if (oPlacementInfo.groupers.length === 0){ // If the message can only be added to the generic group yet, make sure that it is marked for resorting
580
581
  fnSortAgain = fnSortAgain || function(){
581
582
  iResortingId = iResortingId || setTimeout(fnSetMapsAndSort); // if no resorting is planned yet, plan it now
582
583
  oHelperModel.setProperty("/messageToUpdateFunction", null); // no further resorting needs to be planned (probably makes the above || superfluous)
583
584
  };
584
585
  mMessageToUpdateFunction[oMessage.id] = fnSortAgain; // register the message for resorting
585
- }
586
+ }
586
587
  mMessageToGroupName[oMessage.id] = getGroupTitle(oMessage.id);
587
588
  mMessageToSubtitle[oMessage.id] = getSubtitle(oMessage.id, oMessage.additionalText);
588
589
  });
@@ -592,11 +593,11 @@ sap.ui.define([
592
593
  oHelperModel.setProperty("/messageToUpdateFunction", mMessageToUpdateFunction);
593
594
  // Trigger the sorting
594
595
  var oSorter = new Sorter("");
595
- oSorter.fnCompare = fnCompare;
596
- oItemBinding.sort(oSorter);
596
+ oSorter.fnCompare = fnCompare;
597
+ oItemBinding.sort(oSorter);
597
598
  };
598
599
  return Promise.all(aTableInfosReadyPromises).then(function(){ // all tables are ready
599
- return getMessageSorterForTableInfos().then(function(){
600
+ return getMessageSorterForTableInfos().then(function(){
600
601
  fnSetMapsAndSort();
601
602
  fnHeartBeat = function(){
602
603
  var iHeartBeat = oHelperModel.getProperty("/heartBeat") || 0;
@@ -631,7 +632,7 @@ sap.ui.define([
631
632
 
632
633
  // This function is called for all validation messages belonging to cells inside a table.
633
634
  // It will update the messageInTableInfo for this message within oTableInfo (see getTableInfo) and also return the messageToTableInfo.
634
- // This is necessary since the normal mechanism for building this info does not work for validation messages,
635
+ // This is necessary since the normal mechanism for building this info does not work for validation messages,
635
636
  // as validation messages are not provided by oContext.getMessages(), if oContext is the binding context of the row which contains the validation error.
636
637
  function fnAddValidationInfoToTableInfo(oMessage, oTableInfo){
637
638
  var oTargetControl = controlHelper.byId(oMessage.controlIds[0]); // As oMessage is a validation message we expect exactly one control to be associated to it
@@ -639,23 +640,23 @@ sap.ui.define([
639
640
  // Now search for oContext within the table in order to determine the position
640
641
  var aContexts = oTableInfo.presentationControlHandler.getCurrentContexts() || [];
641
642
  var iPosition = -1;
642
- aContexts.some(function(oCandidateContext, i){
643
+ aContexts.some(function(oCandidateContext, i){
643
644
  if (oCandidateContext === oContext){
644
645
  iPosition = i;
645
646
  return true;
646
647
  }
647
648
  });
648
- var oColumn = oTableInfo.presentationControlHandler.getColumnForCell(oTargetControl);
649
+ var oColumn = oTableInfo.presentationControlHandler.getColumnForCell(oTargetControl);
649
650
  var oMessageInTableInfo = {
650
651
  index: iPosition,
651
652
  rowCurrentlyShown: true,
652
653
  rowIdentifier: getRowIdentifier(oTableInfo.presentationControlHandler, oContext),
653
654
  columnInfo: getColumnInfoForColumn(oTableInfo, oColumn)
654
- };
655
+ };
655
656
  oTableInfo.messageToMsgInTableInfo[oMessage.id] = oMessageInTableInfo;
656
- return oMessageInTableInfo;
657
+ return oMessageInTableInfo;
657
658
  }
658
-
659
+
659
660
  // This method is called when the data for all tables that are relevant for messages have been loaded and we have looped over the rows within these tables in
660
661
  // order to add them to messageToMsgInTableInfo of the corresponding table info.
661
662
  // This may still not have provided the required information for all table related messages due to three possible reasons
@@ -695,15 +696,15 @@ sap.ui.define([
695
696
  }
696
697
  } // else: first case
697
698
  }
698
- }
699
+ }
699
700
  }
700
701
  };
701
702
  for (var sMsgId in mMessageToPlacementInfo){
702
703
  fnHandleMessage(sMsgId);
703
- }
704
- return Promise.all(aMessageDetailsRetrievedPromises);
704
+ }
705
+ return Promise.all(aMessageDetailsRetrievedPromises);
705
706
  }
706
-
707
+
707
708
  function getSubtitleForRow(oMessageInTableInfo, oTableInfo, oMessage, aColumnsForMessage){
708
709
  const bIsFallback = !Array.isArray(aColumnsForMessage);
709
710
  let sI18NKey = bIsFallback ? "MSG_SUBTITLE_DEFAULT_ROW" : "MSG_SUBTITLE_ROW";
@@ -719,7 +720,7 @@ sap.ui.define([
719
720
  if (oMessageInTableInfo.columnInfo){
720
721
  aParams.push(oMessageInTableInfo.columnInfo.label);
721
722
  sI18NKey += "_COLUMN";
722
- if (oMessageInTableInfo.columnInfo.hidden){
723
+ if (oMessageInTableInfo.columnInfo.hidden && !oMessageInTableInfo.columnInfo.label){
723
724
  sI18NKey += "_HIDDEN";
724
725
  }
725
726
  }
@@ -788,7 +789,7 @@ sap.ui.define([
788
789
  }
789
790
  return sAdditionalText;
790
791
  }
791
-
792
+
792
793
  function getDescriptionForRow(oMessageInTableInfo, oTableInfo, oMessage, aColumnsForMessage){
793
794
  const sNewLine = "\n";
794
795
  const getText = oTemplateUtils.oCommonUtils.getText;
@@ -810,6 +811,7 @@ sap.ui.define([
810
811
  return sTableText + sRowHeaderText + sRowText + sErrorColumnText;
811
812
  }
812
813
  testableHelper.testableStatic(getSubtitleForRow, "filterHelper_getSubtitleForRow");
814
+ testableHelper.testableStatic(fnFindTableForMessage, "messageSortingHandler_fnFindTableForMessage");
813
815
  // public instance methods
814
816
  return {
815
817
  getPrepareMessageDisplayPromise: getPrepareMessageDisplayPromise
@@ -821,4 +823,4 @@ sap.ui.define([
821
823
  extend(this, getMethods(oController, oTemplateUtils, oObjectPage));
822
824
  }
823
825
  });
824
- });
826
+ });
@@ -102,7 +102,7 @@ sap.ui.define([
102
102
  }
103
103
 
104
104
  function getKeyToPresentationControlHandler(oSmartTable) {
105
- var oGenericMultipleViewsHandler = fnGetGenericMultipleViewsHandler(oSmartTable.getId(), true);
105
+ var oGenericMultipleViewsHandler = fnGetGenericMultipleViewsHandler(oSmartTable.getId());
106
106
  if (!oGenericMultipleViewsHandler) {
107
107
  return null;
108
108
  }
@@ -105,7 +105,7 @@ sap.ui.define([
105
105
  if (bHasRelatedAppSettings) {
106
106
  // Iterate through oRelatedAppSettings and add all related apps into the set
107
107
  for (const sKey in oRelatedAppsSettings) {
108
- if (oRelatedAppsSettings.hasOwnProperty(sKey)) {
108
+ if (sKey && oRelatedAppsSettings.hasOwnProperty(sKey)) {
109
109
  const sSemanticObject = oRelatedAppsSettings[sKey].semanticObject;
110
110
  aSemanticObjects.push(sSemanticObject);
111
111
  }
@@ -1,6 +1,6 @@
1
1
  sap.ui.define(["sap/ui/base/Object", "sap/base/util/extend", "sap/suite/ui/generic/template/genericUtilities/controlHelper", "sap/ui/core/library",
2
- "sap/suite/ui/generic/template/genericUtilities/FeLogger"
3
- ], function(BaseObject, extend, controlHelper, SapCoreLibrary, FeLogger) {
2
+ "sap/suite/ui/generic/template/genericUtilities/FeLogger", "sap/ui/core/Element", "sap/ui/core/InvisibleText"
3
+ ], function(BaseObject, extend, controlHelper, SapCoreLibrary, FeLogger, Element, InvisibleText) {
4
4
  "use strict";
5
5
 
6
6
  var STYLE_CLASS_FOR_ADJUSTMENT = "sapUiTableOnObjectPageAdjustmentsForSection";
@@ -174,9 +174,8 @@ sap.ui.define(["sap/ui/base/Object", "sap/base/util/extend", "sap/suite/ui/gener
174
174
  oSmartForm.addAriaLabelledBy(sAnchorBarSectionHeaderId);
175
175
  }
176
176
 
177
- function fnManageAccessability(oFirstSubSection) {
178
- var oSubSectionInfoObject = oTemplateUtils.oInfoObjectHandler.getControlInformation(oFirstSubSection.getId()),
179
- oSection = oFirstSubSection.getParent();
177
+ function fnSetHeaderSmartFormAriaLabelBy(oFirstSubSection) {
178
+ var oSubSectionInfoObject = oTemplateUtils.oInfoObjectHandler.getControlInformation(oFirstSubSection.getId());
180
179
  oFirstSubSection.getBlocks().concat(oFirstSubSection.getMoreBlocks())
181
180
  .reduce(function(accBlock, currentBlock) {
182
181
  if (!currentBlock.getContent || !currentBlock.getContent() || !currentBlock.getContent().length) {
@@ -193,12 +192,17 @@ sap.ui.define(["sap/ui/base/Object", "sap/base/util/extend", "sap/suite/ui/gener
193
192
  .forEach(function(entry) {
194
193
  if (!oSubSectionInfoObject) {
195
194
  // Case: header is editable. manifest.json, editableHeaderContent=true
196
- entry._suggestTitleId(`${oSection.getId()}-title`); // set Section title id that will be used for aria
197
- return;
198
- }
199
- if (entry.getGroups().length === 1 && entry.getGroups()[0].getTitle && !entry.getGroups()[0].getTitle()) {
200
- // Case: Section -> one SubSection -> one SmartForm -> one Group. Title is not displayed in this case
201
- entry._suggestTitleId(`${oFirstSubSection.getId()}-headerTitle`); // set title to SubSection title id that will be used for aria
195
+ var sInvisibleTextID = `${entry.getId()}-ariaLabelBy-InvisibleText`,
196
+ oInvisibleText = Element.getElementById(sInvisibleTextID);
197
+ if (!oInvisibleText) {
198
+ var customData = !entry.getCustomData() ? [] : entry.getCustomData().filter(function(entry) {return entry.getKey() === "smartFormAriaLabel";});
199
+ if (customData.length && customData[0].getValue()) {
200
+ oInvisibleText = new InvisibleText({id : sInvisibleTextID, text: customData[0].getValue()}).toStatic();
201
+ }
202
+ }
203
+ if (oInvisibleText) {
204
+ entry._suggestTitleId(oInvisibleText.getId()); // set Section title id that will be used for aria
205
+ }
202
206
  return;
203
207
  }
204
208
  });
@@ -209,7 +213,7 @@ sap.ui.define(["sap/ui/base/Object", "sap/base/util/extend", "sap/suite/ui/gener
209
213
  setAsTitleOwner: fnSetAsTitleOwner,
210
214
  adjustSubSectionTitle: fnAdjustSubSectionTitle,
211
215
  addAccessibleName: fnAddAccessibleName,
212
- manageAccessability: fnManageAccessability
216
+ setHeaderSmartFormAriaLabelBy: fnSetHeaderSmartFormAriaLabelBy //
213
217
  };
214
218
  }
215
219
 
@@ -6,7 +6,7 @@
6
6
  "type": "component",
7
7
  "i18n": "i18n/i18n.properties",
8
8
  "applicationVersion": {
9
- "version": "1.138.1"
9
+ "version": "1.140.0"
10
10
  },
11
11
  "title": "{{TITLE}}",
12
12
  "description": "{{DESCRIPTION}}",
@@ -170,9 +170,8 @@
170
170
  <uxap:landmarkInfo>
171
171
  <uxap:ObjectPageAccessibleLandmarkInfo
172
172
  rootRole="None"
173
- rootLabel=""
174
- footerRole="ContentInfo"
175
- footerLabel="{i18n>FOOTER_REGION_LABEL_ARIA}"/>
173
+ rootLabel=" "
174
+ footerRole="ContentInfo"/>
176
175
  </uxap:landmarkInfo>
177
176
  </uxap:ObjectPageLayout>
178
177
 
@@ -1,4 +1,4 @@
1
- <core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core" xmlns:uxap="sap.uxap"
1
+ <core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core" xmlns:uxap="sap.uxap" xmlns:dt="sap.ui.dt"
2
2
  xmlns:fesr="http://schemas.sap.com/sapui5/extension/sap.ui.core.FESR/1"
3
3
  xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
4
4
  template:require="{
@@ -21,7 +21,7 @@
21
21
  ariaDescribedBy="{:= ${parameter>/stableId}.getStableId({type: 'ObjectPageAction', subType: 'EditText'})}"
22
22
  fesr:press="fe:edit"
23
23
  importance="High"
24
- visible="{= ${editAction>visible} || ${parts: [{path: 'entitySet>Org.OData.Capabilities.V1.UpdateRestrictions'}, {path: 'entitySet>'}, {path: 'appSettings>/'}, {path: 'parameter>/treeNode'}, {path: 'parameter>/treeNodeAncestors'}], formatter: 'AHActionButtons.getEditActionButtonVisibility'} }">
24
+ visible="{= ${editAction>visible} || ${parts: [{path: 'entitySet>Org.OData.Capabilities.V1.UpdateRestrictions'}, {path: 'entitySet>'}, {path: 'appSettings>/'}, {path: 'parameter>/treeNode'}, {path: 'parameter>/treeNodeAncestors'}, {value: 'false'}], formatter: 'AHActionButtons.getEditActionButtonVisibility'} }">
25
25
  <template:if test="${editAction>isStandardAction}">
26
26
  <uxap:customData>
27
27
  <core:CustomData key="CrossNavigation" value="{parameter>/treeNode/page/navigation/edit/target}"/>
@@ -130,8 +130,25 @@
130
130
  ariaHasPopup="Dialog"
131
131
  fesr:press="fe:sum:summarize"
132
132
  type="Ghost"
133
+ dt:designtime="not-adaptable"
133
134
  visible="{_templPrivGlobal>/generic/fioriAI/isSummarizationEnabled}" />
134
-
135
+ <template:if test="{= !${parameter>/manifest/sap.ui.generic.app/pages/0/component/settings/treeTable}}">
136
+ <template:if test="{parts: [{path: 'entitySet>Org.OData.Capabilities.V1.UpdateRestrictions'}, {path: 'entitySet>'}, {path: 'parameter>/treeNode/page/navigation/edit/target'}, {path: 'parameter>/treeNodeAncestors'}, {path: 'parameter>/isDraftEnabled'}], formatter: 'AHActionButtons.isEditButtonRequired'}">
137
+ <uxap:ObjectPageHeaderActionButton
138
+ id="EasyFill"
139
+ text="{i18n>EASY_FILL_TITLE}"
140
+ icon="sap-icon://ai"
141
+ hideText="false"
142
+ importance="High"
143
+ enabled="{ui>/enabled}"
144
+ dt:designtime="not-adaptable"
145
+ press="._templateEventHandlers.onEasyFillEdit"
146
+ ariaHasPopup="Dialog"
147
+ type="Ghost"
148
+ visible="{parts: [{path: 'entitySet>Org.OData.Capabilities.V1.UpdateRestrictions'}, {path: 'entitySet>'}, {path: 'appSettings>/'}, {path: 'parameter>/treeNode'}, {path: 'parameter>/treeNodeAncestors'}], formatter: 'AHActionButtons.getEasyFillButtonVisibility'}"
149
+ />
150
+ </template:if>
151
+ </template:if>
135
152
  <template:if test="{parameter>/settings/showRelatedApps}">
136
153
  <uxap:ObjectPageHeaderActionButton id="{:= ${parameter>/stableId}.getStableId({type: 'ObjectPageAction', subType: 'RelatedApps'}) }"
137
154
  text="{i18n>RELATED_APPS}"
@@ -21,6 +21,7 @@
21
21
  <core:CustomData key="defaultDropDownDisplayBehaviour" value="descriptionOnly" />
22
22
  <core:CustomData key="defaultTextInEditModeSource" value="ValueListNoValidation" />
23
23
  <core:CustomData key="dateFormatSettings" value='\{"UTC":true,"style":"medium"\}' />
24
+ <core:CustomData key="smartFormAriaLabel" value="{parts: [{path: 'facet>'}, {path: 'entitySet>name'}], formatter: 'AH.getSmartFormTitle'}" />
24
25
  </sfo:customData>
25
26
  <sfo:layout>
26
27
  <template:if test="{= ${appSettings>/useColumnLayoutForSmartForm} !== false}">
@@ -62,6 +62,7 @@
62
62
  <core:CustomData key="dateFormatSettings"
63
63
  value='\{"UTC":true,"style":"medium"\}' />
64
64
  <core:CustomData key="useUTCDateTime" value="true" />
65
+ <core:CustomData key="defaultTextInEditModeSource" value="ValueList" />
65
66
  <template:if test="{= ${objectPageTableSettings>value/lineItemQualifier}}">
66
67
  <core:CustomData key="lineItemQualifier"
67
68
  value="{= ${objectPageTableSettings>value/lineItemQualifier}}" />
@@ -6,7 +6,7 @@
6
6
  "type": "component",
7
7
  "i18n": "i18n/i18n.properties",
8
8
  "applicationVersion": {
9
- "version": "1.138.1"
9
+ "version": "1.140.0"
10
10
  },
11
11
  "title": "{{TITLE}}",
12
12
  "description": "{{DESCRIPTION}}",
@@ -6,7 +6,7 @@
6
6
  "type": "component",
7
7
  "i18n": "i18n/i18n.properties",
8
8
  "applicationVersion": {
9
- "version": "1.138.1"
9
+ "version": "1.140.0"
10
10
  },
11
11
  "title": "{{TITLE}}",
12
12
  "description": "{{DESCRIPTION}}",
@@ -60,7 +60,7 @@ sap.ui.define([
60
60
  * @returns {DesigntimeSetting[]} The designtime metadata
61
61
  */
62
62
  function getAllDesigntimeSettings(oControl) {
63
- let oResourceBundle = oControl.getModel('i18n').getResourceBundle();
63
+ let oResourceBundle = designtimeUtils.getResourceBundle(oControl);
64
64
 
65
65
  /**
66
66
  * @type {DesigntimeSetting}
@@ -309,7 +309,7 @@ sap.ui.define([
309
309
  actions: {
310
310
  settings: {
311
311
  fe: {
312
- name: "Configuration",
312
+ name: designtimeUtils.getResourceBundle(oControl).getText("RTA_CONTEXT_MENU_CONFIG"),
313
313
  icon: "sap-icon://developer-settings",
314
314
  handler: fnOpenTableConfigurationDialog
315
315
  }
@@ -88,7 +88,7 @@ sap.ui.define([
88
88
  * @returns {DesigntimeSetting[]}
89
89
  */
90
90
  let getAllDesigntimeSettings = function getAllDesigntimeSettings(oControl) {
91
- let oResourceBundle = oControl.getModel('i18n').getResourceBundle();
91
+ let oResourceBundle = designtimeUtils.getResourceBundle(oControl);
92
92
 
93
93
  /**
94
94
  * @type {DesigntimeSetting}
@@ -219,7 +219,7 @@ sap.ui.define([
219
219
  actions: {
220
220
  settings: {
221
221
  fe: {
222
- name: "Configuration",
222
+ name: designtimeUtils.getResourceBundle(oControl).getText("RTA_CONTEXT_MENU_CONFIG"),
223
223
  icon: "sap-icon://developer-settings",
224
224
  handler: fnOpenObjectPageConfigurationDialog
225
225
  }
@@ -136,7 +136,7 @@ sap.ui.define([
136
136
  * @returns {DesigntimeSetting[]}
137
137
  */
138
138
  let getAllDesigntimeSettings = function getAllDesigntimeSettings(oControl) {
139
- let oResourceBundle = oControl.getModel("i18n").getResourceBundle();
139
+ let oResourceBundle = designtimeUtils.getResourceBundle(oControl);
140
140
 
141
141
  /**
142
142
  * Retrieves the enums for the SmartFilterBar control.
@@ -328,7 +328,7 @@ sap.ui.define([
328
328
  actions: {
329
329
  settings: {
330
330
  fe: {
331
- name: "Configuration",
331
+ name: designtimeUtils.getResourceBundle(oControl).getText("RTA_CONTEXT_MENU_CONFIG"),
332
332
  icon: "sap-icon://developer-settings",
333
333
  handler: fnOpenTableConfigurationDialog
334
334
  }
@@ -322,7 +322,7 @@ sap.ui.define([
322
322
  * @returns {DesigntimeSetting[]} - The designtime settings for the SmartTable.
323
323
  */
324
324
  let getAllDesigntimeSettings = function getAllDesigntimeSettings(oSmartTable, oControl) {
325
- let oResourceBundle = oControl.getModel("i18n").getResourceBundle();
325
+ let oResourceBundle = designtimeUtils.getResourceBundle(oControl);
326
326
 
327
327
  /**
328
328
  * @type {DesigntimeSetting}
@@ -518,7 +518,7 @@ sap.ui.define([
518
518
  actions: {
519
519
  settings: {
520
520
  fe: {
521
- name: "Configuration",
521
+ name: designtimeUtils.getResourceBundle(oSmartTable).getText("RTA_CONTEXT_MENU_CONFIG"),
522
522
  icon: "sap-icon://developer-settings",
523
523
  handler: fnOpenTableConfigurationDialog
524
524
  }
@@ -509,6 +509,10 @@ sap.ui.define([
509
509
  return aDesigntimeSettings;
510
510
  }
511
511
 
512
+ function getResourceBundle(oControl) {
513
+ return oControl.getModel("i18n").getResourceBundle();
514
+ }
515
+
512
516
  return {
513
517
  openAdaptionDialog: fnOpenAdaptionDialog,
514
518
  getSettings,
@@ -522,6 +526,7 @@ sap.ui.define([
522
526
  filterDesigntimeSettingsByFloorPlan,
523
527
  getRtaModeValue,
524
528
  FioriToolsRtaMode,
525
- getAllowedDesigntimeSettingsBasedOnAdaptationMode
529
+ getAllowedDesigntimeSettingsBasedOnAdaptationMode,
530
+ getResourceBundle
526
531
  };
527
532
  });