@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
@@ -110,8 +110,6 @@ CONTAINER_VIEW_CHART=Grafik g\u00F6r\u00FCn\u00FCm\u00FC
110
110
 
111
111
  CONTAINER_VIEW_CHARTTABLE=Grafik ve tablo g\u00F6r\u00FCn\u00FCm\u00FC
112
112
 
113
- CONTAINER_VIEW_CROSSTAB=\u00C7apraz tablo g\u00F6r\u00FCn\u00FCm\u00FC
114
-
115
113
  FILTER_VISUAL=G\u00F6rsel filtre
116
114
 
117
115
  FILTER_COMPACT=Kompakt filtre
@@ -110,8 +110,6 @@ CONTAINER_VIEW_CHART=\u041F\u043E\u0434\u0430\u043D\u043D\u044F \u0434\u0456\u04
110
110
 
111
111
  CONTAINER_VIEW_CHARTTABLE=\u041F\u043E\u0434\u0430\u043D\u043D\u044F \u0434\u0456\u0430\u0433\u0440\u0430\u043C\u0438 \u0439 \u0442\u0430\u0431\u043B\u0438\u0446\u0456
112
112
 
113
- CONTAINER_VIEW_CROSSTAB=\u041F\u043E\u0434\u0430\u043D\u043D\u044F \u043F\u0435\u0440\u0435\u0445\u0440\u0435\u0441\u043D\u043E\u0457 \u0442\u0430\u0431\u043B\u0438\u0446\u0456
114
-
115
113
  FILTER_VISUAL=\u0412\u0456\u0437\u0443\u0430\u043B\u044C\u043D\u0438\u0439 \u0444\u0456\u043B\u044C\u0442\u0440
116
114
 
117
115
  FILTER_COMPACT=\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u0438\u0439 \u0444\u0456\u043B\u044C\u0442\u0440
@@ -110,8 +110,6 @@ CONTAINER_VIEW_CHART=Ma\u0300n hi\u0300nh bi\u00EA\u0309u \u0111\u00F4\u0300
110
110
 
111
111
  CONTAINER_VIEW_CHARTTABLE=Ma\u0300n hi\u0300nh ba\u0309ng va\u0300 bi\u00EA\u0309u \u0111\u00F4\u0300
112
112
 
113
- CONTAINER_VIEW_CROSSTAB=Ma\u0300n hi\u0300nh ba\u0309ng che\u0301o
114
-
115
113
  FILTER_VISUAL=B\u00F4\u0323 lo\u0323c tr\u01B0\u0323c quan
116
114
 
117
115
  FILTER_COMPACT=B\u00F4\u0323 lo\u0323c ne\u0301n
@@ -110,8 +110,6 @@ CONTAINER_VIEW_CHART=\u56FE\u8868\u89C6\u56FE
110
110
 
111
111
  CONTAINER_VIEW_CHARTTABLE=\u56FE\u8868\u89C6\u56FE\u548C\u8868\u89C6\u56FE
112
112
 
113
- CONTAINER_VIEW_CROSSTAB=\u4EA4\u53C9\u8868\u89C6\u56FE
114
-
115
113
  FILTER_VISUAL=\u53EF\u89C6\u8FC7\u6EE4\u5668
116
114
 
117
115
  FILTER_COMPACT=\u7D27\u51D1\u8FC7\u6EE4\u5668
@@ -110,8 +110,6 @@ CONTAINER_VIEW_CHART=\u5716\u8868\u6AA2\u8996
110
110
 
111
111
  CONTAINER_VIEW_CHARTTABLE=\u5716\u8868\u548C\u8868\u683C\u6AA2\u8996
112
112
 
113
- CONTAINER_VIEW_CROSSTAB=\u4EA4\u53C9\u8868\u6AA2\u8996
114
-
115
113
  FILTER_VISUAL=\u8996\u89BA\u5316\u7BE9\u9078
116
114
 
117
115
  FILTER_COMPACT=\u7C21\u8981\u7BE9\u9078
@@ -8,7 +8,7 @@
8
8
  "i18n": "i18n/i18n.properties",
9
9
  "applicationVersion": {
10
10
  "__comment": "applicationVersion oder componentversion??",
11
- "version": "1.138.1"
11
+ "version": "1.140.0"
12
12
  },
13
13
  "title": "{{TITLE}}",
14
14
  "description": "{{DESCRIPTION}}",
@@ -348,15 +348,6 @@ sap.ui.define(["sap/ui/base/Object",
348
348
  oModel.setProperty("/kpiContext", kpiContext);
349
349
  return "/kpiContext";
350
350
  };
351
- oAnnotationHelper.generateKPIToolbarId = function(oKPIs) {
352
- for (var item = 0; Object.keys(oKPIs).length; item++) {
353
- if (oKPIs[Object.keys(oKPIs)[item]]["filterable"]) {
354
- return "template::KPITagContainer::filterableKPIs";
355
- } else {
356
- return "template::KPITagContainer::globalKPIs";
357
- }
358
- }
359
- };
360
351
  oAnnotationHelper.generateKPITagID = function(oKPI) {
361
352
  return "template::KPITag::" + oKPI.model + "::" + oKPI.qualifier;
362
353
  };
@@ -48,13 +48,6 @@
48
48
  </VBox>
49
49
  </template:then>
50
50
  </template:if>
51
- <template:if test="{= ${parameter>/settings/dshQueryName} !== undefined }">
52
- <template:then>
53
- <VBox class="sapSmartTemplatesAnalyticalListPageMasterExtension" visible="{= ${_templPriv>/alp/contentView} === 'crosstable'}">
54
- <core:Fragment fragmentName="sap.suite.ui.generic.template.AnalyticalListPage.view.fragments.AnalyticGrid" type="XML" />
55
- </VBox>
56
- </template:then>
57
- </template:if>
58
51
  </template:else>
59
52
  </template:if>
60
53
  </VBox>
@@ -27,12 +27,6 @@
27
27
  key="customview2"
28
28
  icon="{alpCustomModel>/icon/customview2}"/>
29
29
  </template:if>
30
- <template:if test="{= ${parameter>/settings/dshQueryName} !== undefined }">
31
- <SegmentedButtonItem
32
- tooltip="{i18n>CONTAINER_VIEW_CROSSTAB}"
33
- key="crosstable"
34
- icon="sap-icon://grid" />
35
- </template:if>
36
30
  <SegmentedButtonItem
37
31
  tooltip="{i18n>CONTAINER_VIEW_TABLE}"
38
32
  key="table"
@@ -8,7 +8,7 @@
8
8
  "i18n": "i18n/i18n.properties",
9
9
  "applicationVersion": {
10
10
  "__comment": "applicationVersion oder componentversion??",
11
- "version": "1.138.1"
11
+ "version": "1.140.0"
12
12
  },
13
13
  "title": "Canvas",
14
14
  "description": "Canvas Page",
@@ -84,12 +84,12 @@ sap.ui.define([
84
84
  var aPageVariantControlStateWrappers = []; // controls handled from page variant management if used: smartTable, searchfield, partly multiple views
85
85
 
86
86
  // SmartTable state: Table Settings and (in case of control level variant management) selected variant and whether it's dirty
87
- // In case of multipleViews with multiple tables (mode "multi"), each tab has an own table or chart, which has an own state, so multipleViewsHandler has to take care of
87
+ // In case of multipleViews with multiple tables (mode "multi"), each tab has an own table or chart, which has an own state, so multipleViewsHandler has to take care of
88
88
  // storing/restoring their states (in its part of the appState stored in genericData.tableTabData)
89
- // In this case, mutliViewsHandler exchanges oState.oPresentationControlHandler (setting it always to the current visible one), so don't rely on that to get the wrapper.
89
+ // In this case, mutliViewsHandler exchanges oState.oPresentationControlHandler (setting it always to the current visible one), so don't rely on that to get the wrapper.
90
90
  // Using the id (without providing optional parameter sQuickVariantKey) returns the smartTable only in single table case.
91
91
  var oSmartTable = oController.byId(StableIdHelper.getStableId({type: "ListReportTable", subType: "SmartTable"}));
92
- if (oSmartTable){ // in multipleViews case (with multiple tables) currently multipleViews handler handles complete state information
92
+ if (oSmartTable){ // in multipleViews case (with multiple tables) currently multipleViews handler handles complete state information
93
93
  aControlStateWrappers.push(oTemplateUtils.oCommonUtils.getControlStateWrapper(oSmartTable));
94
94
  }
95
95
 
@@ -128,7 +128,7 @@ sap.ui.define([
128
128
 
129
129
  // List of handlers to react on (app or adaptation) extension state changes. Only one entry expected (handler in SFB wrapper). Currently, extensions are only possible in
130
130
  // SFB - if extensions at other places are needed, the similar handler might differ depending on whether page variant management is used.
131
- var aExtensionStateChangeHandlers = [];
131
+ var aExtensionStateChangeHandlers = [];
132
132
  function customAppStateChange() {
133
133
  aExtensionStateChangeHandlers.forEach(function(fnHandler) {
134
134
  fnHandler();
@@ -239,7 +239,7 @@ sap.ui.define([
239
239
 
240
240
 
241
241
  // Wrapper to control whether data is loaded
242
-
242
+
243
243
  function fnGetDataLoadedWrapper(){
244
244
  // Wrapper to control whether data is expected to be loaded - controls the state, but does not trigger loading data on restore!
245
245
  var oTemplatePrivateModel = oTemplateUtils.oComponentUtils.getTemplatePrivateModel();
@@ -247,15 +247,15 @@ sap.ui.define([
247
247
  // - startup with iAppState: anyway setState will be called
248
248
  // - other startup cases: applyInitialLoadBehavior calls setState explicitly
249
249
  // - navigation
250
-
250
+
251
251
  function fnSetState(bState){
252
252
  oTemplatePrivateModel.setProperty("/generic/bDataAreShownInTable", bState);
253
253
  }
254
-
254
+
255
255
  function fnGetState(){
256
256
  return oTemplatePrivateModel.getProperty("/generic/bDataAreShownInTable");
257
257
  }
258
-
258
+
259
259
  function fnSetDataShown(bDataShown, fnHandler){
260
260
  if (bDataShown === fnGetState()){
261
261
  return;
@@ -263,7 +263,7 @@ sap.ui.define([
263
263
  fnSetState(bDataShown);
264
264
  fnHandler();
265
265
  }
266
-
266
+
267
267
  return {
268
268
  getLocalId: function(){
269
269
  return "$dataLoaded";
@@ -271,7 +271,7 @@ sap.ui.define([
271
271
  setState: fnSetState,
272
272
  getState: fnGetState,
273
273
  attachStateChanged: function(fnHandler){
274
- // changing from data not loaded to data loaded:
274
+ // changing from data not loaded to data loaded:
275
275
  // - when SFB triggers search
276
276
  oState.oSmartFilterbar.attachSearch(fnSetDataShown.bind(null, true, fnHandler));
277
277
 
@@ -286,7 +286,7 @@ sap.ui.define([
286
286
  }
287
287
  };
288
288
  }
289
-
289
+
290
290
  var oDataLoadedWrapper = fnGetDataLoadedWrapper();
291
291
  aControlStateWrappers.push(oDataLoadedWrapper);
292
292
  // oDataLoadedWrapper.attachStateChanged(changeIappState);
@@ -396,7 +396,7 @@ sap.ui.define([
396
396
  if (Device.system.phone) {
397
397
  collapseHeader();
398
398
  }
399
- // Ideally, oDataLoadedWrapper should ensure to keep its state correct. However, currently we have no means to attach to the command - i.e. oDataLoadedWrapper only
399
+ // Ideally, oDataLoadedWrapper should ensure to keep its state correct. However, currently we have no means to attach to the command - i.e. oDataLoadedWrapper only
400
400
  // attaches to SFB's search event, which is only triggered when user presses the go button. When keyboard shortcut is used instead, this handler would be called (as it
401
401
  // is attached to the command), but SFB's search event would not be triggered. As workaround, we additionally set data loaded state to true here and inform explicitly
402
402
  // the the state has changed.
@@ -440,7 +440,7 @@ sap.ui.define([
440
440
  }
441
441
  }
442
442
  }
443
-
443
+
444
444
  /*
445
445
  This method is called when an LR app is the target of an external navigation and the XAppState data contains a presentationVariant.
446
446
  The sorting from this presentationVariant is then applied to the table.
@@ -460,13 +460,13 @@ sap.ui.define([
460
460
  fnAdaptOtherControlsToAppState(oAppData.controlStates);
461
461
  if (areDataShownInTable()){
462
462
  // fnAdaptOtherControlsToAppState only (synchronously) sets the state including the information whether data should be loaded - if this is the case, the actual loading
463
- // (which happens asynchronous of course) still needs to be triggered
463
+ // (which happens asynchronous of course) still needs to be triggered
464
464
  loadData();
465
465
  } else {
466
466
  // hide placeholder already here, if no data is to be loaded - in case data is loaded, it will be hidden in data received event
467
467
  oTemplateUtils.oComponentUtils.hidePlaceholder();
468
- }
469
-
468
+ }
469
+
470
470
  // special case: when restoring an old app state with data loaded, but in the meantime a filter not set in that state has been changed to mandatory, SFB.search would not
471
471
  // trigger a request (but instead only mark that filter) - thus hiding placeholder now to avoid it to stay forever
472
472
  // TODO: refactor: Still in that case our internal data shows data are loaded - ideally, that should not be the case
@@ -603,7 +603,7 @@ sap.ui.define([
603
603
 
604
604
  function fnAdaptToAppStateStartUpWithParameters(oAppData, oURLParameters, sPreferredQuickVariantSelectionKey){
605
605
  handleVariantIdPassedViaURLParams(oURLParameters);
606
-
606
+
607
607
  var oSFBUiState = oState.oSmartFilterbar.getUiState();
608
608
  var oSFBSemanticDates = oSFBUiState.getSemanticDates();
609
609
  //oStartupObject to be passed to the extension where urlParameters and selectedQuickVariantSelectionKey are optional
@@ -766,23 +766,24 @@ sap.ui.define([
766
766
  default:
767
767
  throw new FeError(sClassName, "Invalid navigation type: " + sNavType);
768
768
  }
769
-
769
+
770
770
  // common to all startup cases (except iAppState)
771
771
  if (areDataShownInTable()){
772
772
  // trigger search if needed
773
773
  oState.oSmartFilterbar.search();
774
- // For desktop devices, expand the header for Standard and Custom variants and for tablet and mobile devices,
774
+ // For desktop devices, expand the header for Standard and Custom variants and for tablet and mobile devices,
775
775
  // collapse the header only if search is triggered.
776
776
  if (Device.system.desktop) {
777
777
  oTemplateUtils.oCommonUtils.getControlStateWrapper(oController.byId(StableIdHelper.getStableId({type: "ListReportPage", subType: "DynamicPage"}))).setHeaderState(oController, true);
778
778
  } else {
779
779
  collapseHeader();
780
780
  }
781
- } else {
782
- // if no data are loaded, place holder has to be hidden now - otherwise it will be hidden when data is received
781
+ }
782
+ if (!areDataShownInTable() || Object.keys(oState.oSmartFilterbar.verifySearchAllowed()).length > 0) {
783
+ // if no data are loaded or search is not allowed, place holder has to be hidden now - otherwise it will be hidden when data is received
783
784
  oTemplateUtils.oComponentUtils.hidePlaceholder();
784
785
  }
785
-
786
+
786
787
  // ensure first iAppState is created
787
788
  changeIappState();
788
789
  }
@@ -999,14 +1000,14 @@ sap.ui.define([
999
1000
  }
1000
1001
 
1001
1002
  // provide data load settings including defaulting
1002
- // ideally, this should be implemented in a generic way in template assembler, so that generated getters also return default values for objects if not explicitely set in
1003
+ // ideally, this should be implemented in a generic way in template assembler, so that generated getters also return default values for objects if not explicitely set in
1003
1004
  // manifest (i.e. it should be sufficient to define the default in component - no need to individually implement defaulting!)
1004
1005
  function getDataLoadSettings(){
1005
1006
  // general default
1006
1007
  var oDefaultDataLoadSettings = {loadDataOnAppLaunch: "ifAnyFilterExist"};
1007
1008
 
1008
1009
  // intension is boolean, but unfortunately faulty values are (historically) not treated consistently
1009
- var bEnableAutoBindingMultiViews = oState.oMultipleViewsHandler.getOriginalEnableAutoBinding();
1010
+ var bEnableAutoBindingMultiViews = oState.oMultipleViewsHandler.getOriginalEnableAutoBinding();
1010
1011
 
1011
1012
  // if multiple views settings is not defined (also the case in single views case), general default is taken. Unlike other faulty values, null is treated like undefined
1012
1013
  if (bEnableAutoBindingMultiViews !== undefined && bEnableAutoBindingMultiViews !== null){
@@ -1016,13 +1017,13 @@ sap.ui.define([
1016
1017
 
1017
1018
  var oManifestDataLoadSettings = oController.getOwnerComponent().getDataLoadSettings();
1018
1019
  // (historically) explicit setting empty string (not an allowed value according to definition in component!) is treated like undefined (including adopting multiple views
1019
- // settings. Other not allowed values (any other sting) were ignored, i.e. returning undefined from getInitialLoadBehaviourSettings, thus setting undefined to
1020
- // oSmartVariantManagement.setExecuteOnStandard (which actually only sets the default) and finally using the value returned from
1020
+ // settings. Other not allowed values (any other sting) were ignored, i.e. returning undefined from getInitialLoadBehaviourSettings, thus setting undefined to
1021
+ // oSmartVariantManagement.setExecuteOnStandard (which actually only sets the default) and finally using the value returned from
1021
1022
  // oSmartVariantManagement.getExecuteOnStandard (only different from overall default (false), if user has explicitly set it)
1022
1023
  if (oManifestDataLoadSettings && oManifestDataLoadSettings.loadDataOnAppLaunch === ""){
1023
1024
  oManifestDataLoadSettings.loadDataOnAppLaunch = undefined;
1024
1025
  }
1025
-
1026
+
1026
1027
  // explicit setting has highest priority
1027
1028
  return extend(oDefaultDataLoadSettings, oManifestDataLoadSettings);
1028
1029
  }
@@ -1031,7 +1032,7 @@ sap.ui.define([
1031
1032
  // - sets default value for flag whether standard variant should be execute on select
1032
1033
  // - determines whether we actually should load data
1033
1034
  function applyInitialLoadBehavior(bDataLoadCausedByNavigation){
1034
- // cases definitely determining to load data initially
1035
+ // cases definitely determining to load data initially
1035
1036
  // - worklist
1036
1037
  // - livemode
1037
1038
  // - master detail (i.e. bLoadListAndFirstEntryOnStartup is set)
@@ -1040,17 +1041,17 @@ sap.ui.define([
1040
1041
 
1041
1042
  var sLoadBehaviour = getDataLoadSettings().loadDataOnAppLaunch;
1042
1043
  if (!oSmartVariantManagement || oController.getOwnerComponent().getVariantManagementHidden()){
1043
- // No VM ->
1044
+ // No VM ->
1044
1045
  bShouldDataBeLoaded = bShouldDataBeLoaded || sLoadBehaviour === "always";
1045
1046
  bShouldDataBeLoaded = bShouldDataBeLoaded || (sLoadBehaviour === "ifAnyFilterExist" && oSmartFilterbar.getFiltersWithValues().length > 0);
1046
1047
  // behavior of last patch set would translate to the following - seems not to be correct (in case of setting ifAnyFilterExist but no filters provided)
1047
1048
  // bShouldDataBeLoaded = bShouldDataBeLoaded || sLoadBehaviour !== "never";
1048
1049
  } else {
1049
- // in case of a (visible) SVM, we need to set the default value
1050
- // default value for standard variant
1050
+ // in case of a (visible) SVM, we need to set the default value
1051
+ // default value for standard variant
1051
1052
  // - true if one of the conditions above is fulfilled
1052
- // - or for any manifest setting but "never"
1053
- // (Remark: "ifAnyFilterExist" leads to mark the standard variant true, even if no filter is provided - this looks ok for startup, as the text shown to the user
1053
+ // - or for any manifest setting but "never"
1054
+ // (Remark: "ifAnyFilterExist" leads to mark the standard variant true, even if no filter is provided - this looks ok for startup, as the text shown to the user
1054
1055
  // contains the condition, but if reselecting the standard variant, it will also select without filters!
1055
1056
  // TODO: check, how to solve that inconsistency)
1056
1057
  // - but in both cases not, if a mandatory filter is missing
@@ -63,6 +63,8 @@ OBJECT_NOT_EDITABLE=\u206A\u206A\u206A\u200C\u200D\u200B\u200B\u200C\u200D\u200D
63
63
 
64
64
  NODATA_SMARTTABLE_LR=\u206A\u206A\u206A\u200C\u200C\u200B\u200D\u200B\u200B\u200C\u200D\u200D\u200C\u200B\u200D\u200B\u200B\u200D\u200C\u200C\u200B\u200D\u200C\u200B\u200B\u200C\u200D\u200B\u200B\u200B\u200D\u200D\u200D\u200B\u200B\u200D\u200B\u200D\u200B\u200C\u200C\u200B\u200B\u200C\u206ATo start, set the relevant filters and choose "Go".\u206A\u206A
65
65
 
66
+ SEARCH_FILTERS_KEYBOARD_SHORTCUT_DESC=\u206A\u206A\u206A\u200D\u200B\u200B\u200C\u200B\u200C\u200B\u200B\u200B\u200B\u200D\u200B\u200B\u200D\u200C\u200B\u200C\u200C\u200D\u200D\u200D\u200C\u200B\u200C\u200D\u200C\u200B\u200C\u200D\u200B\u200D\u200C\u200C\u200C\u200B\u200D\u200C\u200B\u200C\u206AGo\u206A\u206A
67
+
66
68
 
67
69
  CANCEL_AND_DISCARD=\u206A\u206A\u206A\u200D\u200C\u200B\u200D\u200B\u200B\u200C\u200B\u200B\u200B\u200D\u200D\u200D\u200D\u200C\u200D\u200B\u200B\u200C\u200D\u200D\u200C\u200C\u200B\u200B\u200D\u200D\u200D\u200C\u200B\u200D\u200B\u200D\u200B\u200C\u200D\u200D\u200B\u200D\u200B\u206ADo you want to discard this draft?\u206A\u206A
68
70
 
@@ -8,7 +8,7 @@
8
8
  "i18n": "i18n/i18n.properties",
9
9
  "applicationVersion": {
10
10
  "__comment": "applicationVersion oder componentversion??",
11
- "version": "1.138.1"
11
+ "version": "1.140.0"
12
12
  },
13
13
  "title": "{{TITLE}}",
14
14
  "description": "{{DESCRIPTION}}",
@@ -51,6 +51,7 @@
51
51
  <core:CustomData key="headerInfo" value="{path: 'header>', formatter: 'AH.buildHeaderInfoCustomData'}"/>
52
52
  <core:CustomData key="dateFormatSettings" value='\{"UTC":true,"style":"medium"\}' />
53
53
  <core:CustomData key="useUTCDateTime" value="true" />
54
+ <core:CustomData key="defaultTextInEditModeSource" value="ValueList" />
54
55
  <template:if test="{parts: [{path: 'entityType>'}, {path: 'tabItem>annotationPath'}], formatter: 'AH.tabItemHasPresentationVariant'}">
55
56
  <template:then>
56
57
  <core:CustomData key="lineItemQualifier"
@@ -106,7 +106,7 @@ sap.ui.define([
106
106
 
107
107
  // Returns the visibility for the EDIT button on the object page
108
108
  function getEditActionButtonVisibility(oInterface, mRestrictions, oEntitySet, oAppComponent, oTreeNode, aAncestortreeNodes) {
109
- var sGeneralExpression = "!${ui>/editable}"; // logical condition for the edit button
109
+ var sGeneralExpression = "!${ui>/editable}"; // logical condition for the edit button
110
110
 
111
111
  //oTreeNode.isDraft is use to show "Hide Draft Values" or "Show Draft Values" button in List Report table toolbar and "Display Saved version/Return to Draft" button in Object page header for a draft application.
112
112
  var sToggleExpression = "";
@@ -135,6 +135,29 @@ sap.ui.define([
135
135
  }
136
136
  getEditActionButtonVisibility.requiresIContext = true;
137
137
 
138
+ // Returns the visibility for the EasyFill button
139
+ function getEasyFillButtonVisibility(oInterface, mRestrictions, oEntitySet, oAppComponent, oTreeNode, aAncestortreeNodes) {
140
+ var sGeneralExpression = "{_templPrivGlobal>/generic/fioriAI/isEasyFillEnabled}"; // Ensure whether AI resource has been loaded for the EasyFill functionality
141
+
142
+ //oTreeNode.isDraft is use to show "Hide Draft Values" or "Show Draft Values" button in List Report table toolbar and "Display Saved version/Return to Draft" button in Object page header for a draft application.
143
+ var sFCLExpression = getFCLPathExpression(oAppComponent, oTreeNode, "Edit");
144
+ var sPathExpression = getPathExpression(oInterface, oEntitySet, mRestrictions, "Updatable"); // if there is an updatable path, add it to the condition
145
+ var aParentPath = [], sParentPath = "";
146
+ // for Draft enabled application, check if any parent entity set has update restriction
147
+ if (oTreeNode.isDraft) {
148
+ aAncestortreeNodes.forEach( function (oAncestorNode) {
149
+ if (oAncestorNode.level > 0) {
150
+ var oParentEntitySet = oAncestorNode.entitySetDefinition;
151
+ var mParentUpdateRestriction = oParentEntitySet && oParentEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"];
152
+ aParentPath.push(getParentPathExpression(oInterface, oParentEntitySet, mParentUpdateRestriction, "Updatable", oAncestorNode));
153
+ }
154
+ });
155
+ sParentPath = fnCombineByAnd.apply(null, aParentPath);
156
+ }
157
+ return fnCombineByAnd(sGeneralExpression, sFCLExpression, sPathExpression, sParentPath);
158
+ }
159
+ getEasyFillButtonVisibility.requiresIContext = true;
160
+
138
161
  // Returns the visibility for the DELETE button on main object page
139
162
  function getDeleteActionButtonVisibility(oInterface, mRestrictions, oEntitySet, oAppComponent, oTreeNode){
140
163
  var sGeneralExpression; // logical condition for the delete button
@@ -204,6 +227,7 @@ sap.ui.define([
204
227
  getActionControlBreakoutVisibility: getActionControlBreakoutVisibility,
205
228
  getCallAction: getCallAction,
206
229
  getDatafieldForActionVisibility: getDatafieldForActionVisibility,
207
- getDraftAdminDataAccess: getDraftAdminDataAccess
230
+ getDraftAdminDataAccess: getDraftAdminDataAccess,
231
+ getEasyFillButtonVisibility
208
232
  };
209
233
  }, /* bExport= */ true);
@@ -35,6 +35,7 @@ sap.ui.define([
35
35
  "sap/suite/ui/generic/template/ObjectPage/controller/PasteHandler",
36
36
  "sap/suite/ui/generic/template/lib/insights/InsightsHandler",
37
37
  "sap/suite/ui/generic/template/lib/cards/DTCardHelper",
38
+ "sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillHandler",
38
39
  "sap/ui/core/Element"
39
40
  ], function (
40
41
  ControllerExtension,
@@ -73,6 +74,7 @@ sap.ui.define([
73
74
  PasteHandler,
74
75
  InsightsHandler,
75
76
  DTCardHelper,
77
+ EasyFillHandler,
76
78
  Element
77
79
  ) {
78
80
  "use strict";
@@ -794,38 +796,47 @@ sap.ui.define([
794
796
  var oEditPromises = oTemplateUtils.oServices.oCRUDManager.editEntity(bUnconditional);
795
797
  oEditPromises.then(function (oEditAndSiblingInfo) {
796
798
  if (oEditAndSiblingInfo.draftAdministrativeData) {
797
- fnExpiredLockDialog(oEditAndSiblingInfo.draftAdministrativeData.CreatedByUserDescription || oEditAndSiblingInfo.draftAdministrativeData.CreatedByUser);
799
+ fnExpiredLockDialog(oEditAndSiblingInfo.draftAdministrativeData.CreatedByUserDescription || oEditAndSiblingInfo.draftAdministrativeData.CreatedByUser).catch(Function.prototype);
798
800
  } else {
799
801
  fnStartEditing(oEditAndSiblingInfo);
800
802
  }
801
803
  });
804
+ return oEditPromises;
802
805
  }
803
806
 
804
807
  // This method is called when the user wants to edit an entity, for which a non-locking draft of another user exists.
805
808
  // The method asks the user, whether he wants to continue editing anyway. If this is the case editing is triggered.
806
809
  // sCreatedByUser is the name of the user possessing the non-locking draft
807
810
  fnExpiredLockDialog = function (sCreatedByUser) {
808
- var oUnsavedChangesDialog;
809
- oTemplateUtils.oCommonUtils.getDialogFragmentAsync(
810
- "sap.suite.ui.generic.template.ObjectPage.view.fragments.UnsavedChangesDialog", {
811
- onEdit: function () {
812
- oUnsavedChangesDialog.close();
813
- fnEditEntity(true);
814
- },
815
- onCancel: function () {
816
- oUnsavedChangesDialog.close();
817
- }
818
- }, "Dialog").then(function (oFragment) {
819
- oUnsavedChangesDialog = oFragment;
820
- // always access i18n text from the Main Object page level
821
- var oDraftLockTextPromise = oTemplateUtils.oComponentUtils.getMainComponentUtils();
822
- var oBusyHelper = oTemplateUtils.oServices.oApplication.getBusyHelper();
823
- oBusyHelper.setBusy(oDraftLockTextPromise);
824
- oDraftLockTextPromise.then(function (oMainUtils) {
825
- var sDialogContentText = oMainUtils.getText("DRAFT_LOCK_EXPIRED", [sCreatedByUser]);
826
- var oDialogModel = oUnsavedChangesDialog.getModel("Dialog");
827
- oDialogModel.setProperty("/unsavedChangesQuestion", sDialogContentText);
828
- oUnsavedChangesDialog.open();
811
+ return new Promise((resolve,reject)=>{
812
+ var oUnsavedChangesDialog;
813
+ oTemplateUtils.oCommonUtils.getDialogFragmentAsync(
814
+ "sap.suite.ui.generic.template.ObjectPage.view.fragments.UnsavedChangesDialog", {
815
+ onEdit: async function () {
816
+ oUnsavedChangesDialog.close();
817
+ try {
818
+ const oResponse = await fnEditEntity(true);
819
+ resolve(oResponse.context);
820
+ } catch (error) {
821
+ reject(error);
822
+ }
823
+ },
824
+ onCancel: function () {
825
+ oUnsavedChangesDialog.close();
826
+ reject();
827
+ }
828
+ }, "Dialog",undefined,true).then(function (oFragment) {
829
+ oUnsavedChangesDialog = oFragment;
830
+ // always access i18n text from the Main Object page level
831
+ var oDraftLockTextPromise = oTemplateUtils.oComponentUtils.getMainComponentUtils();
832
+ var oBusyHelper = oTemplateUtils.oServices.oApplication.getBusyHelper();
833
+ oBusyHelper.setBusy(oDraftLockTextPromise);
834
+ oDraftLockTextPromise.then(function (oMainUtils) {
835
+ var sDialogContentText = oMainUtils.getText("DRAFT_LOCK_EXPIRED", [sCreatedByUser]);
836
+ var oDialogModel = oUnsavedChangesDialog.getModel("Dialog");
837
+ oDialogModel.setProperty("/unsavedChangesQuestion", sDialogContentText);
838
+ oUnsavedChangesDialog.open();
839
+ });
829
840
  });
830
841
  });
831
842
  };
@@ -1342,8 +1353,9 @@ sap.ui.define([
1342
1353
  return true;
1343
1354
  }
1344
1355
  });
1345
- for (var iPosition = iStartPosition + iDirection; iPosition !== iStartPosition; iPosition = iPosition + iDirection){
1346
- if (iPosition < 0){
1356
+ var iPosition = iStartPosition + iDirection;
1357
+ while (iPosition !== iStartPosition) {
1358
+ if (iPosition < 0) {
1347
1359
  iPosition = aSections.length;
1348
1360
  } else if (iPosition >= aSections.length){
1349
1361
  iPosition = -1;
@@ -1365,6 +1377,7 @@ sap.ui.define([
1365
1377
  }
1366
1378
  }
1367
1379
  }
1380
+ iPosition += iDirection;
1368
1381
  }
1369
1382
  }
1370
1383
 
@@ -1936,7 +1949,7 @@ sap.ui.define([
1936
1949
  oState.oSectionTitleHandler.adjustSubSectionTitle(oSubSection);
1937
1950
  // Add accessible name to the SmartForm in the first subsection if all titles are hidden, because accessible name will not propogate to the form control
1938
1951
  oState.oSectionTitleHandler.addAccessibleName(oSubSection);
1939
- oState.oSectionTitleHandler.manageAccessability(oSubSection);
1952
+ oState.oSectionTitleHandler.setHeaderSmartFormAriaLabelBy(oSubSection);
1940
1953
  }
1941
1954
  }
1942
1955
 
@@ -2362,7 +2375,7 @@ sap.ui.define([
2362
2375
  oState.oMessageStripHelper = new MessageStripHelper(oMultipleViewsHandler, oController, oTemplateUtils, oBase.state.messageButtonHelper);
2363
2376
  oState.oInlineCreationRowsHelper = new InlineCreationRowsHelper(oObjectPage, oTemplateUtils, fnGetSmartTableCreationMode, oController, oState.oMessageStripHelper);
2364
2377
  oState.oSectionTitleHandler = new SectionTitleHandler(oController, oObjectPage, oTemplateUtils);
2365
-
2378
+ oState.oEasyFillHandler = new EasyFillHandler(oState, oController, oTemplateUtils, oObjectPage);
2366
2379
  var oTemplatePrivateModel = oTemplateUtils.oComponentUtils.getTemplatePrivateModel();
2367
2380
 
2368
2381
 
@@ -2528,6 +2541,9 @@ sap.ui.define([
2528
2541
  onSummarize: function () {
2529
2542
  oTemplateUtils.oServices.oFioriAIHandler.fioriaiLib.summarize.summarize({view: oController.getView()});
2530
2543
  },
2544
+ onEasyFillEdit: function (oEvent) {
2545
+ oState.oEasyFillHandler.onEasyFillButtonClick(oEvent);
2546
+ },
2531
2547
 
2532
2548
  onEdit: function (oEvent) {
2533
2549
  var oEditButton = oController.byId("edit");
@@ -2538,6 +2554,33 @@ sap.ui.define([
2538
2554
  }
2539
2555
  oTemplateUtils.oCommonUtils.executeIfControlReady(fnEditEntity, "edit");
2540
2556
  },
2557
+ onEditByEasyFill: function() {
2558
+ return new Promise((resolve, reject) => {
2559
+ try {
2560
+ oTemplateUtils.oServices.oApplication.performAfterSideEffectExecution(async function () {
2561
+ try {
2562
+ const oEditAndSiblingInfo = await oTemplateUtils.oServices.oCRUDManager.editEntity(false);
2563
+ if (oEditAndSiblingInfo.draftAdministrativeData) {
2564
+ const user = oEditAndSiblingInfo.draftAdministrativeData.CreatedByUserDescription || oEditAndSiblingInfo.draftAdministrativeData.CreatedByUser;
2565
+ try {
2566
+ const oContext = await fnExpiredLockDialog(user);
2567
+ resolve(oContext);
2568
+ } catch (error) {
2569
+ reject(error);
2570
+ }
2571
+ } else {
2572
+ fnStartEditing(oEditAndSiblingInfo);
2573
+ resolve(oEditAndSiblingInfo.context);
2574
+ }
2575
+ } catch (e) {
2576
+ reject(e);
2577
+ }
2578
+ });
2579
+ } catch (e) {
2580
+ reject(e);
2581
+ }
2582
+ });
2583
+ },
2541
2584
  onValidateDraft: onValidateDraft,
2542
2585
  onSave: onSave,
2543
2586
  onSaveAndContinueEdit: onSaveAndContinueEdit,