@sap/open.fe 1.96.0 → 1.97.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 (490) hide show
  1. package/package.json +1 -1
  2. package/packages/sap.fe.common/src/sap/fe/common/.library +1 -1
  3. package/packages/sap.fe.common/src/sap/fe/common/.theming +1 -1
  4. package/packages/sap.fe.common/src/sap/fe/common/MessageButton-dbg.js +57 -42
  5. package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +1 -1
  6. package/packages/sap.fe.common/src/sap/fe/common/library-dbg.js +1 -1
  7. package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js +2 -2
  8. package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +4 -4
  9. package/packages/sap.fe.common/src/sap/fe/common/library-preload.js.map +3 -3
  10. package/packages/sap.fe.common/src/sap/fe/common/library.js +1 -1
  11. package/packages/sap.fe.common/src/sap/fe/common/manifest.json +3 -3
  12. package/packages/sap.fe.common/src/sap/fe/common/resources.json +4 -4
  13. package/packages/sap.fe.common/test/sap/fe/common/designtime/api.json +1 -1
  14. package/packages/sap.fe.common/test/sap/fe/common/designtime/apiref/api.json +1 -1
  15. package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmlmeta.json +1 -1
  16. package/packages/sap.fe.core/src/sap/fe/core/.library +1 -1
  17. package/packages/sap.fe.core/src/sap/fe/core/.theming +1 -1
  18. package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper-dbg.js +2 -2
  19. package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.js +1 -1
  20. package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +59 -274
  21. package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +1 -1
  22. package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +52 -64
  23. package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +1 -1
  24. package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +2 -2
  25. package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.js +1 -1
  26. package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +18 -22
  27. package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +1 -1
  28. package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +80 -4
  29. package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +1 -1
  30. package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +42 -23
  31. package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +1 -1
  32. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +36 -21
  33. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
  34. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +9 -3
  35. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
  36. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +20 -50
  37. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
  38. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +222 -102
  39. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +1 -1
  40. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState-dbg.js +33 -6
  41. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
  42. package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +109 -111
  43. package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage.js +1 -1
  44. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d-dbg.js +8 -0
  45. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.js +5 -0
  46. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.ts +0 -0
  47. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +2 -1
  48. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  49. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +4 -1
  50. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +10 -1
  51. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  52. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.ts +9 -1
  53. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField-dbg.js +2 -2
  54. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.js +1 -1
  55. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.ts +1 -1
  56. package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +67 -40
  57. package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
  58. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action-dbg.js +6 -3
  59. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
  60. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.ts +6 -3
  61. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +57 -18
  62. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
  63. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.ts +51 -13
  64. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +130 -19
  65. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
  66. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.ts +139 -18
  67. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID-dbg.js +9 -1
  68. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.js +1 -1
  69. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.ts +4 -0
  70. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +18 -7
  71. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
  72. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.ts +17 -12
  73. package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +2 -1
  74. package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.js +1 -1
  75. package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js +1 -1
  76. package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js.map +2 -2
  77. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter-dbg.js +27 -4
  78. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.js +1 -1
  79. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.ts +20 -3
  80. package/packages/sap.fe.core/src/sap/fe/core/fpm/manifest.json +2 -2
  81. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +211 -0
  82. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.js +5 -0
  83. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.ts +202 -0
  84. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes-dbg.js +32 -0
  85. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +5 -0
  86. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes.ts +36 -0
  87. package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper-dbg.js +51 -0
  88. package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.js +1 -1
  89. package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +1 -1
  90. package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +10 -9
  91. package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +1 -1
  92. package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +232 -228
  93. package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +4 -4
  94. package/packages/sap.fe.core/src/sap/fe/core/library.js +1 -1
  95. package/packages/sap.fe.core/src/sap/fe/core/manifest.json +10 -10
  96. package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +15 -1
  97. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +10 -0
  98. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +10 -0
  99. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +10 -0
  100. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +10 -0
  101. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +10 -0
  102. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +10 -0
  103. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +10 -0
  104. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +10 -0
  105. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +10 -0
  106. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +10 -0
  107. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +6 -0
  108. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +11 -1
  109. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +11 -1
  110. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +10 -0
  111. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +10 -0
  112. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +10 -0
  113. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +10 -0
  114. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +10 -0
  115. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +10 -0
  116. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +10 -0
  117. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +10 -0
  118. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +10 -0
  119. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +11 -1
  120. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +10 -0
  121. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +10 -0
  122. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +19 -9
  123. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +10 -0
  124. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +10 -0
  125. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +10 -0
  126. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +10 -0
  127. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +10 -0
  128. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +10 -0
  129. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +10 -0
  130. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +10 -0
  131. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +11 -1
  132. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +10 -0
  133. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +10 -0
  134. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +10 -0
  135. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +10 -0
  136. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +10 -0
  137. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +10 -0
  138. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +10 -0
  139. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +10 -0
  140. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +10 -0
  141. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +10 -0
  142. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +10 -0
  143. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +10 -0
  144. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +10 -0
  145. package/packages/sap.fe.core/src/sap/fe/core/resources.json +200 -121
  146. package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +30 -19
  147. package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
  148. package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +1 -1
  149. package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
  150. package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper-dbg.js +80 -7
  151. package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
  152. package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.ts +42 -2
  153. package/packages/sap.fe.core/test/sap/fe/core/designtime/api.json +1 -1
  154. package/packages/sap.fe.core/test/sap/fe/core/designtime/apiref/api.json +1 -1
  155. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmlmeta.json +1 -1
  156. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/buildingBlockOverview.md +4 -0
  157. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.view.xml +1 -0
  158. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/manifest.json +2 -2
  159. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnAdaptation.fragment.xml +13 -10
  160. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnButton.fragment.xml +7 -4
  161. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/service.cds +1 -2
  162. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/manifest.json +1 -0
  163. package/packages/sap.fe.core/test/sap/fe/core/jest/CommonUtils.spec.js +119 -0
  164. package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +285 -4
  165. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.js +121 -0
  166. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.ts +79 -0
  167. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.js +147 -0
  168. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.ts +96 -0
  169. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +51 -18
  170. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +109 -17
  171. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/MetaModelConverter.spec.ts.snap +66 -0
  172. package/packages/sap.fe.core/test/sap/fe/core/jest/data/EntitySetHelper.cds +33 -0
  173. package/packages/sap.fe.core/test/sap/fe/core/jest/data/EntitySetHelperMainEntitySortableFalse.cds +12 -0
  174. package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableGetSelectionMode.cds +8 -8
  175. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.js +68 -0
  176. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.ts +38 -0
  177. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.js +483 -0
  178. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.ts +376 -0
  179. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlRefreshStrategyTests.js +101 -0
  180. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlRefreshStrategyTests.ts +105 -0
  181. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlsForRefreshTests.js +103 -0
  182. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlsForRefreshTests.ts +106 -0
  183. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/RefreshStrategyForIntentTests.js +118 -0
  184. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/RefreshStrategyForIntentTests.ts +118 -0
  185. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/StoreStrategyTests.js +101 -0
  186. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/StoreStrategyTests.ts +102 -0
  187. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ModelHelper.spec.js +118 -1
  188. package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.js +70 -0
  189. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/EntitySetHelper.spec.js +89 -0
  190. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/EntitySetHelper.spec.ts +73 -0
  191. package/packages/sap.fe.core/test/sap/fe/core/qunit/TemplatingExpressions.qunit.js +4 -2
  192. package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +6 -0
  193. package/packages/sap.fe.macros/src/sap/fe/macros/.library +1 -1
  194. package/packages/sap.fe.macros/src/sap/fe/macros/.theming +1 -1
  195. package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +15 -5
  196. package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate.js +1 -1
  197. package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper-dbg.js +9 -5
  198. package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper.js +1 -1
  199. package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil-dbg.js +30 -11
  200. package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil.js +1 -1
  201. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +3 -5
  202. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.js +1 -1
  203. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.ts +3 -5
  204. package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate-dbg.js +17 -3
  205. package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate.js +1 -1
  206. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +1 -1
  207. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +1 -2
  208. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +4 -4
  209. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +1 -1
  210. package/packages/sap.fe.macros/src/sap/fe/macros/FlexibleColumnLayoutActions.fragment.xml +6 -15
  211. package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.fragment.xml +14 -12
  212. package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +1 -1
  213. package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +1 -1
  214. package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +2 -1
  215. package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +12 -1
  216. package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata.js +1 -1
  217. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI-dbg.js +15 -8
  218. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +1 -1
  219. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +10 -0
  220. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper-dbg.js +1 -1
  221. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper.js +1 -1
  222. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +81 -9
  223. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper.js +1 -1
  224. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime-dbg.js +13 -3
  225. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime.js +1 -1
  226. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating-dbg.js +5 -5
  227. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.js +1 -1
  228. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.ts +4 -4
  229. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkContactContent.fragment.xml +1 -7
  230. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +5 -3
  231. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +1 -1
  232. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkForContact.fragment.xml +1 -1
  233. package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime-dbg.js +46 -0
  234. package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime.js +6 -0
  235. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +17 -8
  236. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +26 -16
  237. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/File.fragment.xml +1 -0
  238. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +4 -13
  239. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +1 -1
  240. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +10 -10
  241. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate-dbg.js +5 -3
  242. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +1 -1
  243. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +72 -8
  244. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +1 -1
  245. package/packages/sap.fe.macros/src/sap/fe/macros/library-dbg.js +1 -1
  246. package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js +12 -11
  247. package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js.map +1 -1
  248. package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js +93 -91
  249. package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js.map +4 -4
  250. package/packages/sap.fe.macros/src/sap/fe/macros/library.js +1 -1
  251. package/packages/sap.fe.macros/src/sap/fe/macros/manifest.json +9 -9
  252. package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime-dbg.js +1 -1
  253. package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime.js +1 -1
  254. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle.properties +5 -0
  255. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +2 -2
  256. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +2 -2
  257. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +2 -2
  258. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +2 -2
  259. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +2 -2
  260. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +2 -2
  261. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +2 -2
  262. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +2 -2
  263. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +1 -1
  264. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +1 -1
  265. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +3 -0
  266. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +2 -2
  267. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +2 -2
  268. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +2 -2
  269. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +2 -2
  270. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +2 -2
  271. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +2 -2
  272. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +2 -2
  273. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +2 -2
  274. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +2 -2
  275. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +2 -2
  276. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +2 -2
  277. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +2 -2
  278. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +3 -3
  279. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +2 -2
  280. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +2 -2
  281. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +2 -2
  282. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +2 -2
  283. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +2 -2
  284. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +2 -2
  285. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +2 -2
  286. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +2 -2
  287. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +2 -2
  288. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +2 -2
  289. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +2 -2
  290. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +2 -2
  291. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +2 -2
  292. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +2 -2
  293. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +2 -2
  294. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +2 -2
  295. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +2 -2
  296. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +2 -2
  297. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +2 -2
  298. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +2 -2
  299. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +2 -2
  300. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +2 -2
  301. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/MicroChartTitle.fragment.xml +21 -11
  302. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/RadialMicroChart.fragment.xml +2 -1
  303. package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +149 -110
  304. package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +3 -0
  305. package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +70 -29
  306. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +53 -36
  307. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +1 -1
  308. package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils-dbg.js +1 -1
  309. package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils.js +1 -1
  310. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +3 -4
  311. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -1
  312. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +2 -2
  313. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/apiref/api.json +1 -1
  314. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmlmeta.json +1 -1
  315. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.js +844 -0
  316. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.ts +833 -0
  317. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.js +495 -0
  318. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.ts +440 -0
  319. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.js +469 -0
  320. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.ts +448 -0
  321. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.js +94 -0
  322. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.ts +70 -0
  323. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.js +12 -1
  324. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.ts +11 -0
  325. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DelegateUtil.spec.js +61 -0
  326. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldHelper.spec.js +46 -0
  327. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldHelper.spec.ts +30 -0
  328. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.js +13 -1
  329. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.ts +11 -0
  330. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormElement.spec.js +66 -0
  331. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormElement.spec.ts +35 -0
  332. package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.js +48 -1
  333. package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.ts +56 -0
  334. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.js +68 -0
  335. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.ts +65 -0
  336. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ChartDelegate.spec.ts.snap +82 -0
  337. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/DatapointMacro.spec.ts.snap +23 -5
  338. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldHelper.spec.ts.snap +47 -0
  339. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroDataFieldTypes.spec.ts.snap +52 -3
  340. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FormElement.spec.ts.snap +25 -0
  341. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +0 -3
  342. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/SimpleFieldMacro.spec.ts.snap +69 -0
  343. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/TableFieldLabel.spec.ts.snap +451 -0
  344. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldHelper.xml +68 -0
  345. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Table.cds +13 -1
  346. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/TableFieldLabel.cds +152 -0
  347. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.js +116 -0
  348. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.ts +115 -0
  349. package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/FormElement.spec.js +86 -0
  350. package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/FormElement.spec.ts +54 -0
  351. package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/__snapshots__/FormElement.spec.ts.snap +33 -0
  352. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.js +154 -0
  353. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.ts +128 -0
  354. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.js +7 -2
  355. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.ts +23 -12
  356. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/__snapshots__/TableDelegate.spec.ts.snap +1 -1
  357. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/index.json +0 -5
  358. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelperTemplate.qunit.js +1 -1
  359. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormElementTemplating.qunit.js +1 -1
  360. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelper.qunit.js +108 -1
  361. package/packages/sap.fe.navigation/src/sap/fe/navigation/.library +1 -1
  362. package/packages/sap.fe.navigation/src/sap/fe/navigation/.theming +1 -1
  363. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-dbg.js +1 -1
  364. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js +2 -2
  365. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js +2 -2
  366. package/packages/sap.fe.navigation/src/sap/fe/navigation/library.js +1 -1
  367. package/packages/sap.fe.navigation/src/sap/fe/navigation/manifest.json +3 -3
  368. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/api.json +1 -1
  369. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/apiref/api.json +1 -1
  370. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmlmeta.json +1 -1
  371. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.library +1 -1
  372. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.theming +1 -1
  373. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-dbg.js +1 -1
  374. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js +2 -2
  375. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js +4 -4
  376. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js.map +1 -1
  377. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library.js +1 -1
  378. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/manifest.json +3 -3
  379. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/resources.json +3 -3
  380. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderALP.fragment.html +1 -1
  381. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOVP.fragment.html +1 -1
  382. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/api.json +1 -1
  383. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/apiref/api.json +1 -1
  384. package/packages/sap.fe.templates/src/sap/fe/templates/.library +1 -1
  385. package/packages/sap.fe.templates/src/sap/fe/templates/.theming +1 -1
  386. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/manifest.json +2 -2
  387. package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent-dbg.js +1 -1
  388. package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent.js +1 -1
  389. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +2 -2
  390. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +91 -60
  391. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController.controller.js +1 -1
  392. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/manifest.json +2 -2
  393. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +31 -5
  394. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState.js +1 -1
  395. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/resources.json +5 -5
  396. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +2 -2
  397. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +1 -1
  398. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component-dbg.js +18 -1
  399. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +1 -1
  400. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +114 -85
  401. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1 -1
  402. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox-dbg.js +8 -0
  403. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +1 -1
  404. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/manifest.json +2 -2
  405. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState-dbg.js +23 -3
  406. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +1 -1
  407. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +15 -15
  408. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating-dbg.js +6 -5
  409. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +1 -1
  410. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +6 -4
  411. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPointTitle.fragment.xml +26 -16
  412. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +5 -5
  413. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl-dbg.controller.js +63 -9
  414. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +1 -1
  415. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer-dbg.controller.js +54 -32
  416. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +1 -1
  417. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController-dbg.js +24 -21
  418. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +1 -1
  419. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/Fcl.view.xml +2 -1
  420. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/NavContainer.view.xml +1 -1
  421. package/packages/sap.fe.templates/src/sap/fe/templates/controls/Table.fragment.xml +2 -0
  422. package/packages/sap.fe.templates/src/sap/fe/templates/library-dbg.js +1 -1
  423. package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js +8 -9
  424. package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js.map +1 -1
  425. package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js +23 -30
  426. package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js.map +4 -4
  427. package/packages/sap.fe.templates/src/sap/fe/templates/library.js +1 -1
  428. package/packages/sap.fe.templates/src/sap/fe/templates/manifest.json +13 -13
  429. package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +51 -60
  430. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/manifest.json +1 -1
  431. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/api.json +1 -1
  432. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/apiref/api.json +1 -1
  433. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmlmeta.json +1 -1
  434. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.js +95 -0
  435. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.ts +66 -0
  436. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.js +134 -0
  437. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.ts +94 -0
  438. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/HeaderFacet.spec.ts.snap +61 -0
  439. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/ObjectPageHeaderForm.spec.ts.snap +53 -0
  440. package/packages/sap.fe.test/src/sap/fe/test/.library +1 -1
  441. package/packages/sap.fe.test/src/sap/fe/test/.theming +1 -1
  442. package/packages/sap.fe.test/src/sap/fe/test/FCLView-dbg.js +0 -6
  443. package/packages/sap.fe.test/src/sap/fe/test/FCLView.js +1 -1
  444. package/packages/sap.fe.test/src/sap/fe/test/Flexibility-dbg.js +14 -3
  445. package/packages/sap.fe.test/src/sap/fe/test/Flexibility.js +1 -1
  446. package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper-dbg.js +85 -8
  447. package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.js +1 -1
  448. package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.ts +54 -2
  449. package/packages/sap.fe.test/src/sap/fe/test/ListReport-dbg.js +0 -11
  450. package/packages/sap.fe.test/src/sap/fe/test/ListReport.js +1 -1
  451. package/packages/sap.fe.test/src/sap/fe/test/ObjectPage-dbg.js +0 -38
  452. package/packages/sap.fe.test/src/sap/fe/test/ObjectPage.js +1 -1
  453. package/packages/sap.fe.test/src/sap/fe/test/TemplatePage-dbg.js +0 -12
  454. package/packages/sap.fe.test/src/sap/fe/test/TemplatePage.js +1 -1
  455. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper-dbg.js +22 -1
  456. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.js +1 -1
  457. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.ts +14 -0
  458. package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI-dbg.js +21 -0
  459. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI-dbg.js +9 -5
  460. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI.js +1 -1
  461. package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions-dbg.js +18 -5
  462. package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions.js +1 -1
  463. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions-dbg.js +25 -5
  464. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions.js +1 -1
  465. package/packages/sap.fe.test/src/sap/fe/test/api/EditState-dbg.js +9 -0
  466. package/packages/sap.fe.test/src/sap/fe/test/api/EditState.js +1 -1
  467. package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions-dbg.js +38 -4
  468. package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions.js +1 -1
  469. package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions-dbg.js +33 -4
  470. package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions.js +1 -1
  471. package/packages/sap.fe.test/src/sap/fe/test/api/TableActions-dbg.js +1 -1
  472. package/packages/sap.fe.test/src/sap/fe/test/library-dbg.js +1 -1
  473. package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js +3 -3
  474. package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +23 -16
  475. package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +3 -3
  476. package/packages/sap.fe.test/src/sap/fe/test/library.js +1 -1
  477. package/packages/sap.fe.test/src/sap/fe/test/manifest.json +3 -3
  478. package/packages/sap.fe.test/src/sap/fe/test/resources.json +36 -34
  479. package/packages/sap.fe.test/test/sap/fe/test/designtime/api.json +1 -1
  480. package/packages/sap.fe.test/test/sap/fe/test/designtime/apiref/api.json +1 -1
  481. package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.jsmeta.json +1 -1
  482. package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmlmeta.json +1 -1
  483. package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.96.json +0 -49
  484. package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.96.json +0 -189
  485. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldRuntime.qunit.js +0 -73
  486. package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.96.json +0 -160
  487. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/relnote/changes-1.96.json +0 -17
  488. package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover-dbg.js +0 -26
  489. package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover.js +0 -6
  490. package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.96.json +0 -153
@@ -316,7 +316,7 @@ sap.ui.define(
316
316
  var aActions = oObjectPage.getHeaderTitle() && oObjectPage.getHeaderTitle().getActions();
317
317
  if (aActions && aActions.length) {
318
318
  oFirstClickableElement = aActions.find(function(oAction) {
319
- return oAction.getVisible();
319
+ return oAction.getVisible() && oAction.getEnabled();
320
320
  });
321
321
  }
322
322
  return oFirstClickableElement;
@@ -355,37 +355,28 @@ sap.ui.define(
355
355
  return undefined;
356
356
  },
357
357
 
358
- initialTab: {
359
- value: true
358
+ _updateFocusInEditMode: function(aSubSections) {
359
+ var oObjectPage = this.byId("fe::ObjectPage");
360
+
361
+ var oMandatoryField = this._getFirstEmptyMandatoryFieldFromSubSection(aSubSections);
362
+ var oFieldToFocus;
363
+ if (oMandatoryField) {
364
+ oFieldToFocus = oMandatoryField.content.getContentEdit()[0];
365
+ } else {
366
+ oFieldToFocus = oObjectPage._getFirstEditableInput() || this._getFirstClickableElement(oObjectPage);
367
+ }
368
+
369
+ if (oFieldToFocus) {
370
+ setTimeout(function() {
371
+ // We set the focus in a timeeout, otherwise the focus sometimes goes to the TabBar
372
+ oFieldToFocus.focus();
373
+ }, 0);
374
+ }
360
375
  },
361
376
 
362
377
  _handleSubSectionEnteredViewPort: function(oEvent) {
363
378
  var oSubSection = oEvent.getParameter("subSection");
364
- var oInternalModelContext = this.getView().getBindingContext("internal");
365
379
  oSubSection.setBindingContext(undefined);
366
- var oObjectPage = this.byId("fe::ObjectPage");
367
- if (oObjectPage.getModel("ui").getProperty("/editMode") !== "Display") {
368
- if (
369
- this.getView().getViewData().sectionLayout === "Tabs" &&
370
- this.initialTab.value === false &&
371
- oInternalModelContext.getProperty("errorNavigationSectionFlag") === false
372
- ) {
373
- var oFieldToFocus = this._getFirstEmptyMandatoryFieldFromSubSection([oSubSection]);
374
- if (oFieldToFocus) {
375
- oFieldToFocus.content.getContentEdit()[0].focus();
376
- } else {
377
- var oFirstEditableInput = oObjectPage._getFirstEditableInput();
378
- if (oFirstEditableInput) {
379
- oFirstEditableInput.focus();
380
- } else {
381
- var oFirstClickableElement = this._getFirstClickableElement(oObjectPage);
382
- if (oFirstClickableElement) {
383
- oFirstClickableElement.focus();
384
- }
385
- }
386
- }
387
- }
388
- }
389
380
  },
390
381
 
391
382
  _onBackNavigationInDraft: function(oContext) {
@@ -403,7 +394,8 @@ sap.ui.define(
403
394
  _onAfterBinding: function(oBindingContext, mParameters) {
404
395
  var oObjectPage = this.byId("fe::ObjectPage"),
405
396
  that = this,
406
- aTables = this._findTables();
397
+ aTables = this._findTables(),
398
+ aFormContainers = this._findFormContainers();
407
399
 
408
400
  this.sideEffects.clearPropertiesStatus();
409
401
 
@@ -417,6 +409,32 @@ sap.ui.define(
417
409
  aIBNActions = CommonUtils.getIBNActions(oSubSection, aIBNActions);
418
410
  });
419
411
  });
412
+
413
+ // Assign internal binding contexts to oFormContainer:
414
+ // 1. It is not possible to assign the internal binding context to the XML fragment
415
+ // (FormContainer.fragment.xml) yet - it is used already for the data-structure.
416
+ // 2. Another problem is, that FormContainers assigned to a 'MoreBlock' does not have an
417
+ // internal model context at all.
418
+
419
+ aFormContainers.forEach(function(oFormContainer) {
420
+ var oInternalModelContext,
421
+ oInternalModel = oObjectPage.getModel("internal"),
422
+ sPageContextPath = "/pages/" + that.getView().getId(),
423
+ sFormContainerContextPath = "controls/" + that.getView().getLocalId(oFormContainer.getId()),
424
+ SHOW_DETAILS = "showDetails";
425
+ if (oFormContainer.getModel("internal") === undefined) {
426
+ oFormContainer.setModel(oInternalModel, "internal");
427
+ oFormContainer.setBindingContext(
428
+ oInternalModel.createBindingContext(sPageContextPath + "/" + sFormContainerContextPath),
429
+ "internal"
430
+ );
431
+ oFormContainer.bindElement({ path: "", model: "internal" });
432
+ } else {
433
+ oFormContainer.bindElement({ path: sFormContainerContextPath, model: "internal" });
434
+ }
435
+ oInternalModelContext = oFormContainer.getBindingContext("internal");
436
+ oInternalModelContext.setProperty(SHOW_DETAILS, false);
437
+ });
420
438
  aTables.forEach(function(oTable) {
421
439
  var oInternalModelContext = oTable.getBindingContext("internal");
422
440
  oInternalModelContext.setProperty("creationRowFieldValidity", {});
@@ -563,16 +581,6 @@ sap.ui.define(
563
581
  },
564
582
  onPageReady: function(mParameters) {
565
583
  // Apply app state only after the page is ready with the first section selected
566
- function getVisibleSections(oObjectPage) {
567
- var aVisibleSections;
568
- var aSections = oObjectPage.getSections();
569
- if (aSections && aSections.length) {
570
- aVisibleSections = aSections.filter(function(oSection) {
571
- return oSection.getVisible() === true;
572
- });
573
- }
574
- return aVisibleSections;
575
- }
576
584
  var that = this;
577
585
  var oView = this.getView();
578
586
  var oInternalModelContext = oView.getBindingContext("internal");
@@ -588,60 +596,39 @@ sap.ui.define(
588
596
  this.getAppComponent()
589
597
  .getAppStateHandler()
590
598
  .applyAppState();
591
- var oLastFocusedControl = mParameters.lastFocusedControl;
592
- if (oLastFocusedControl && oLastFocusedControl.controlId && oLastFocusedControl.focusInfo) {
593
- var oFocusControl = oView.byId(oLastFocusedControl.controlId);
594
- if (oFocusControl) {
595
- oFocusControl.applyFocusInfo(oLastFocusedControl.focusInfo);
596
- return;
597
- }
598
- }
599
- var oObjectPage = this.byId("fe::ObjectPage");
600
- // set the focus to the first action button, or to the first editable input if in editable mode
601
- var isInDisplayMode = oObjectPage.getModel("ui").getProperty("/editMode") === "Display";
602
- var oFirstClickableElement;
603
- var aVisibleSections = getVisibleSections(oObjectPage);
604
599
 
605
- if (isInDisplayMode) {
606
- //Focus on the first visible section if page OP is in Display Mode
607
- oObjectPage.setSelectedSection(aVisibleSections[0].getId());
608
- oFirstClickableElement = this._getFirstClickableElement(oObjectPage);
609
- if (oFirstClickableElement) {
610
- oFirstClickableElement.focus();
611
- }
612
- } else {
613
- //Focus on first mandatory empty field
600
+ if (mParameters.forceFocus) {
601
+ var oObjectPage = this.byId("fe::ObjectPage");
602
+ // set the focus to the first action button, or to the first editable input if in editable mode
603
+ var isInDisplayMode = oObjectPage.getModel("ui").getProperty("/editMode") === "Display";
604
+ var aVisibleSections = oObjectPage.getSections().filter(function(oSection) {
605
+ return oSection.getVisible() === true;
606
+ });
607
+ // Select the first visible section
614
608
  oObjectPage.setSelectedSection(aVisibleSections[0].getId());
615
- if (
616
- oView.getViewData().sectionLayout === "Page" ||
617
- (oView.getViewData().sectionLayout === "Tabs" && this.initialTab.value === true)
618
- ) {
619
- var oFieldToFocus;
620
- var aSubSections = [];
621
- for (var section = 0; section < aVisibleSections.length; section++) {
622
- aSubSections = aVisibleSections[section].getSubSections();
623
- oFieldToFocus = this._getFirstEmptyMandatoryFieldFromSubSection(aSubSections);
624
- if (oFieldToFocus) {
625
- oFieldToFocus.content.getContentEdit()[0].focus();
626
- break;
627
- }
628
- }
629
609
 
630
- //this.initialTab.value = false;
631
- }
632
- if (!oFieldToFocus) {
633
- var oFirstEditableInput = oObjectPage._getFirstEditableInput();
634
- if (oFirstEditableInput) {
635
- oFirstEditableInput.focus();
610
+ if (isInDisplayMode) {
611
+ var oFirstClickableElement = this._getFirstClickableElement(oObjectPage);
612
+ if (oFirstClickableElement) {
613
+ oFirstClickableElement.focus();
614
+ }
615
+ } else {
616
+ var aVisibleSubSections;
617
+ if (oView.getViewData().sectionLayout === "Tabs") {
618
+ // In a tabbed layout, only the subsections of the selected section are visible on the screen
619
+ aVisibleSubSections = aVisibleSections[0].getSubSections();
636
620
  } else {
637
- oFirstClickableElement = this._getFirstClickableElement(oObjectPage);
638
- if (oFirstClickableElement) {
639
- oFirstClickableElement.focus();
640
- }
621
+ // In a paged layout, all subsections of the visible sections are visible on the screen
622
+ aVisibleSubSections = aVisibleSections
623
+ .map(function(oSection) {
624
+ return oSection.getSubSections();
625
+ })
626
+ .flat();
641
627
  }
628
+ this._updateFocusInEditMode(aVisibleSubSections);
642
629
  }
643
- this.initialTab.value = false;
644
630
  }
631
+
645
632
  oInternalModelContext.setProperty("errorNavigationSectionFlag", false);
646
633
  this._checkDataPointTitleForExternalNavigation();
647
634
  },
@@ -900,6 +887,37 @@ sap.ui.define(
900
887
  return aBlocks;
901
888
  },
902
889
 
890
+ _findFormContainers: function() {
891
+ var aSubSections = this._getAllSubSections(),
892
+ aFormContainers = [];
893
+
894
+ function _collectFormContainersInBlocks(aBlocks) {
895
+ for (var i = 0; i < aBlocks.length; i++) {
896
+ var oElement = aBlocks[i].getContent instanceof Function && aBlocks[i].getContent();
897
+ if (oElement && oElement.isA && oElement.isA("sap.ui.layout.DynamicSideContent")) {
898
+ oElement = oElement.getMainContent instanceof Function && oElement.getMainContent();
899
+ if (oElement && oElement.length > 0) {
900
+ oElement = oElement[0];
901
+ }
902
+ }
903
+ if (
904
+ oElement &&
905
+ oElement.isA &&
906
+ oElement.isA("sap.ui.layout.form.Form") &&
907
+ oElement.getFormContainers instanceof Function
908
+ ) {
909
+ aFormContainers = aFormContainers.concat(oElement.getFormContainers());
910
+ }
911
+ }
912
+ }
913
+
914
+ for (var i = 0; i < aSubSections.length; i++) {
915
+ _collectFormContainersInBlocks(aSubSections[i].getBlocks());
916
+ _collectFormContainersInBlocks(aSubSections[i].getMoreBlocks());
917
+ }
918
+ return aFormContainers;
919
+ },
920
+
903
921
  //TODO: This is needed for two workarounds - to be removed again
904
922
  _findTables: function() {
905
923
  var aSubSections = this._getAllSubSections(),
@@ -1350,6 +1368,17 @@ sap.ui.define(
1350
1368
  //will be called always when we click on a section tab
1351
1369
  this.getExtensionAPI().updateAppState();
1352
1370
  this.bSectionNavigated = true;
1371
+
1372
+ var oInternalModelContext = this.getView().getBindingContext("internal");
1373
+ var oObjectPage = this.byId("fe::ObjectPage");
1374
+ if (
1375
+ oObjectPage.getModel("ui").getProperty("/editMode") !== "Display" &&
1376
+ this.getView().getViewData().sectionLayout === "Tabs" &&
1377
+ oInternalModelContext.getProperty("errorNavigationSectionFlag") === false
1378
+ ) {
1379
+ var oSubSection = oEvent.getParameter("subSection");
1380
+ this._updateFocusInEditMode([oSubSection]);
1381
+ }
1353
1382
  },
1354
1383
  onVariantSelected: function(oEvent) {
1355
1384
  this.getExtensionAPI().updateAppState();
@@ -3,4 +3,4 @@
3
3
  (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
 
5
5
  */
6
- sap.ui.define(["sap/fe/core/PageController","sap/fe/core/controllerextensions/InternalRouting","./overrides/InternalRouting","sap/fe/core/controllerextensions/SideEffects","sap/fe/core/controllerextensions/EditFlow","sap/fe/core/controllerextensions/InternalEditFlow","sap/fe/core/controllerextensions/PageReady","sap/fe/core/controllerextensions/InternalIntentBasedNavigation","sap/fe/core/controllerextensions/IntentBasedNavigation","./overrides/IntentBasedNavigation","sap/base/Log","sap/base/util/merge","sap/fe/core/CommonUtils","sap/fe/navigation/SelectionVariant","sap/fe/macros/table/Utils","sap/m/MessageBox","sap/fe/core/BusyLocker","sap/m/Link","sap/fe/macros/chart/ChartRuntime","sap/fe/templates/ObjectPage/ExtensionAPI","sap/ui/core/mvc/OverrideExecution","sap/fe/core/controllerextensions/ViewState","./overrides/ViewState","sap/fe/templates/RootContainer/overrides/EditFlow","sap/fe/core/helpers/ModelHelper","sap/fe/core/controllerextensions/Routing","sap/m/InstanceManager","sap/fe/core/controllerextensions/MessageHandler","./overrides/MessageHandler","sap/fe/core/controllerextensions/Share","./overrides/Share","sap/fe/macros/DelegateUtil","sap/fe/macros/CommonHelper","sap/fe/templates/TableScroller","sap/ui/model/json/JSONModel","sap/fe/core/controllerextensions/Paginator","./overrides/Paginator","sap/fe/core/controllerextensions/Placeholder"],function(P,I,a,S,E,b,c,d,e,f,L,m,C,g,T,M,B,h,j,k,O,V,l,n,o,R,p,q,r,s,t,D,u,v,J,w,x,y){"use strict";return P.extend("sap.fe.templates.ObjectPage.ObjectPageController",{metadata:{methods:{getExtensionAPI:{"public":true,"final":true},onPageReady:{"public":true,"final":false,overrideExecution:O.After}}},placeholder:y,sideEffects:S,editFlow:E,share:s.override(t),_editFlow:b.override(n),_routing:I.override(a),paginator:w.override(x),messageHandler:q.override(r),intentBasedNavigation:e.override(f),_intentBasedNavigation:d.override({getNavigationMode:function(){var i=this._oView.getController().getStickyEditMode&&this._oView.getController().getStickyEditMode();return i?"explace":"inplace";}}),viewState:V.override(l),pageReady:c.override({isContextExpected:function(){return true;}}),getExtensionAPI:function(i){if(i){this.mCustomSectionExtensionAPIs=this.mCustomSectionExtensionAPIs||{};if(!this.mCustomSectionExtensionAPIs[i]){this.mCustomSectionExtensionAPIs[i]=new k(this,i);}return this.mCustomSectionExtensionAPIs[i];}else{if(!this.extensionAPI){this.extensionAPI=new k(this);}return this.extensionAPI;}},onInit:function(){P.prototype.onInit.apply(this);var i=this.byId("fe::ObjectPage");var z=this.getView().getBindingContext("internal");z.setProperty("externalNavigationContext",{"page":true});z.setProperty("relatedApps",{visibility:false,items:null});z.setProperty("batchGroups",this._getBatchGroupsForView());z.setProperty("errorNavigationSectionFlag",false);if(i.getEnableLazyLoading()){i.attachEvent("subSectionEnteredViewPort",this._handleSubSectionEnteredViewPort.bind(this));}},onExit:function(){var i=this;if(this.mCustomSectionExtensionAPIs){Object.keys(this.mCustomSectionExtensionAPIs).forEach(function(F){i.mCustomSectionExtensionAPIs[F]&&i.mCustomSectionExtensionAPIs[F].destroy();});delete this.mCustomSectionExtensionAPIs;}this.extensionAPI&&this.extensionAPI.destroy();delete this.extensionAPI;var z=this.getView().byId("fe::FooterBar::MessageButton"),A=z?z.oMessagePopover:null;if(A&&A.isOpen()){A.close();}},_getTableBinding:function(i){return i&&i.getRowBinding();},onBeforeRendering:function(){P.prototype.onBeforeRendering.apply(this);},onAfterRendering:function(i){var z=this;this.getView().getModel("sap.fe.i18n").getResourceBundle().then(function(A){z.oResourceBundle=A;}).catch(function(A){L.error("Error while retrieving the resource bundle",A);});},_onBeforeBinding:function(z,A){var F=this,G=this._findTables(),H,K=this.byId("fe::ObjectPage"),N=A.listBinding,Q=F.getView().getBindingContext("internal"),U=Q.getProperty("batchGroups"),W=this.getView().getViewData().viewLevel;U.push("$auto");if(A.bDraftNavigation!==true){this._closeSideContent();}if(K.getBindingContext()&&K.getBindingContext().hasPendingChanges()&&!U.some(K.getBindingContext().getModel().hasPendingChanges.bind(K.getBindingContext().getModel()))){K.getBindingContext().getBinding().resetChanges();}for(var i=0;i<G.length;i++){H=G[i].getCreationRow();if(H){H.setBindingContext(null);}}var X=function(k1){if(!K.isFirstRendering()&&!A.bPersistOPScroll){K.setSelectedSection(null);}};K.attachEventOnce("modelContextChange",X);var Y={onAfterRendering:X};K.addEventDelegate(Y,F);this.pageReady.attachEventOnce("pageReady",function(k1){K.removeEventDelegate(Y);});if(N&&W>1){if(N.isA("sap.ui.model.odata.v4.ODataListBinding")){this.paginator.initialize(N,z);}else{var Z=N.getPath().replace(/\([^\)]*\)*$/,"");var N=new sap.ui.model.odata.v4.ODataListBinding(N.oModel,"",N.oModel.createBindingContext(Z));N.getContexts(0);N.attachEvent("change",function k1(){if(N.getContexts().length>0){F.paginator.initialize(N,z);N.detachEvent("change",k1);}});}}if(K.getEnableLazyLoading()){var $=K.getSections(),_=K.getUseIconTabBar(),a1=2,b1=K.getModel("ui").getProperty("/editMode")==="Editable",c1=this.getView().getViewData().editableHeaderContent;for(var d1=0;d1<$.length;d1++){var e1=$[d1];var f1=e1.getSubSections();for(var g1=0;g1<f1.length;g1++,a1--){if(a1<1||(_&&(d1>1||(d1===1&&!c1&&!b1)))){var h1=f1[g1];h1.setBindingContext(null);}}}}if(this.placeholder.isPlaceholderEnabled()&&A.showPlaceholder){var i1=this.getView();var j1=i1.getParent().oContainer.getParent();if(j1){j1.showPlaceholder({});}}},_getFirstClickableElement:function(i){var F;var A=i.getHeaderTitle()&&i.getHeaderTitle().getActions();if(A&&A.length){F=A.find(function(z){return z.getVisible();});}return F;},_getFirstEmptyMandatoryFieldFromSubSection:function(i){for(var z=0;i&&z<i.length;z++){var A=i[z].getBlocks();for(var F=0;A&&F<A.length;F++){var G;if(A[F].isA("sap.ui.layout.form.Form")){G=A[F].getFormContainers();}else if(A[F].getContent&&A[F].getContent()&&A[F].getContent().isA("sap.ui.layout.form.Form")){G=A[F].getContent().getFormContainers();}for(var H=0;G&&H<G.length;H++){var K=G[H].getFormElements();for(var N=0;K&&N<K.length;N++){var Q=K[N].getFields();if(Q[0].getRequired()&&!Q[0].getValue()){return Q[0];}}}}}return undefined;},initialTab:{value:true},_handleSubSectionEnteredViewPort:function(i){var z=i.getParameter("subSection");var A=this.getView().getBindingContext("internal");z.setBindingContext(undefined);var F=this.byId("fe::ObjectPage");if(F.getModel("ui").getProperty("/editMode")!=="Display"){if(this.getView().getViewData().sectionLayout==="Tabs"&&this.initialTab.value===false&&A.getProperty("errorNavigationSectionFlag")===false){var G=this._getFirstEmptyMandatoryFieldFromSubSection([z]);if(G){G.content.getContentEdit()[0].focus();}else{var H=F._getFirstEditableInput();if(H){H.focus();}else{var K=this._getFirstClickableElement(F);if(K){K.focus();}}}}}},_onBackNavigationInDraft:function(i){C.fnProcessDataLossOrDraftDiscardConfirmation(function(){history.back();},Function.prototype,i,this.getView().getController(),false);},_onAfterBinding:function(i,z){var A=this.byId("fe::ObjectPage"),F=this,G=this._findTables();this.sideEffects.clearPropertiesStatus();i=A.getBindingContext();var H=[];A.getSections().forEach(function($){$.getSubSections().forEach(function(_){H=C.getIBNActions(_,H);});});G.forEach(function($){var _=$.getBindingContext("internal");_.setProperty("creationRowFieldValidity",{});_.setProperty("creationRowCustomValidity",{});H=C.getIBNActions($,H);var a1=$.getRowBinding();if(a1){if(o.isStickySessionSupported(a1.getModel().getMetaModel())){a1.removeCachesAndMessages("");}}var b1=JSON.parse(u.parseCustomData(D.getCustomData($,"operationAvailableMap"))),c1=$.getSelectedContexts();C.setActionEnablement(_,b1,c1);});C.getSemanticTargetsFromPageModel(F,"_pageModel");var K=A.getHeaderTitle();var N=[];N=C.getIBNActions(K,N);H=H.concat(N);C.updateDataFieldForIBNButtonsVisibility(H,this.getView());var Q,U;function W($,_){var a1=$.getCreationRow(),b1,c1;if(a1){U.then(function(){if(a1.getModel("ui").getProperty("/isEditable")){b1=Q.bindList(_.getPath(),_.getContext(),[],[],{$$updateGroupId:"doNotSubmit",$$groupId:"doNotSubmit"});b1.refreshInternal=function(){};c1=b1.create();a1.setBindingContext(c1);c1.created().catch(function(){L.trace("transient fast creation context deleted");});}}).catch(function(d1){L.error("Error while computing the final UI state",d1);});}}function X($){var Z=F._getTableBinding($),_=function(){W($,Z);};if(!Z){L.error("Expected binding missing for table: "+$.getId());return;}if(Z.oContext){_();}else{var a1=function(){if(Z.oContext){_();Z.detachChange(a1);}};Z.attachChange(a1);}}if(i){Q=i.getModel();U=this._editFlow.computeEditMode(i);if(i.getBinding().oCache){F._updateRelatedApps();}else{var Y=function(){F._updateRelatedApps();i.getBinding().detachDataReceived(Y);};i.getBinding().attachDataReceived(Y);}var Z=(i.getBinding&&i.getBinding())||i;Z.attachEvent("patchSent",this.editFlow.handlePatchSent,this);Z.attachEvent("patchCompleted",this.editFlow.handlePatchCompleted,this);G.forEach(function($){T.whenBound($).then(X).catch(function(_){L.error("Error while waiting for the table to be bound",_);});});A._triggerVisibleSubSectionsEvents();}},onPageReady:function(i){function z(W){var Z;var c1=W.getSections();if(c1&&c1.length){Z=c1.filter(function(d1){return d1.getVisible()===true;});}return Z;}var A=this;var F=this.getView();var G=F.getBindingContext("internal");var H=F.getBindingContext();if(H){var K=o.isStickySessionSupported(H.getModel().getMetaModel());if(!K){var N=C.getAppComponent(F);N.getShellServices().setBackNavigation(A._onBackNavigationInDraft.bind(A,H));}}this.getAppComponent().getAppStateHandler().applyAppState();var Q=i.lastFocusedControl;if(Q&&Q.controlId&&Q.focusInfo){var U=F.byId(Q.controlId);if(U){U.applyFocusInfo(Q.focusInfo);return;}}var W=this.byId("fe::ObjectPage");var X=W.getModel("ui").getProperty("/editMode")==="Display";var Y;var Z=z(W);if(X){W.setSelectedSection(Z[0].getId());Y=this._getFirstClickableElement(W);if(Y){Y.focus();}}else{W.setSelectedSection(Z[0].getId());if(F.getViewData().sectionLayout==="Page"||(F.getViewData().sectionLayout==="Tabs"&&this.initialTab.value===true)){var $;var _=[];for(var a1=0;a1<Z.length;a1++){_=Z[a1].getSubSections();$=this._getFirstEmptyMandatoryFieldFromSubSection(_);if($){$.content.getContentEdit()[0].focus();break;}}}if(!$){var b1=W._getFirstEditableInput();if(b1){b1.focus();}else{Y=this._getFirstClickableElement(W);if(Y){Y.focus();}}}this.initialTab.value=false;}G.setProperty("errorNavigationSectionFlag",false);this._checkDataPointTitleForExternalNavigation();},getStickyEditMode:function(){var i=this.oView.getBindingContext&&this.oView.getBindingContext(),z=false;if(i){var A=o.isStickySessionSupported(i.getModel().getMetaModel());if(A){z=this.oView.getModel("ui").getProperty("/isEditable");}}return z;},_getObjectPageLayoutControl:function(){return this.byId("fe::ObjectPage");},_getPageTitleInformation:function(){var i=this.byId("fe::ObjectPage");var z=i.getCustomData().find(function(F){return F.getKey()==="ObjectPageSubtitle";});var A={title:i.data("ObjectPageTitle")||"",subtitle:z&&z.getValue(),intent:"",icon:""};return Promise.resolve(A);},_executeHeaderShortcut:function(i){var z=this.getView().getId()+"--"+i,A=this.byId("fe::ObjectPage").getHeaderTitle().getActions().find(function(F){return F.getId()===z;});C.fireButtonPress(A);},_executeFooterShortcut:function(i){var z=this.getView().getId()+"--"+i,A=this.byId("fe::ObjectPage").getFooter().getContent().find(function(F){return F.getMetadata().getName()==="sap.m.Button"&&F.getId()===z;});C.fireButtonPress(A);},_executeTabShortCut:function(i){var z=this.byId("fe::ObjectPage"),A=z.indexOfSection(this.byId(z.getSelectedSection())),F=z.getSections(),G=F.length-1,H=i.oSource.getCommand(),K;if(A!==-1&&G>0){if(H==="NextTab"){if(A<=G-1){K=F[++A];}}else{if(A!==0){K=F[--A];}}if(K){z.setSelectedSection(K);K.focus();}}},_getFooterVisibility:function(i){var z=this.getView().getBindingContext("internal");var A=this.getView().getId();z.setProperty("messageFooterContainsErrors",false);sap.ui.getCore().getMessageManager().getMessageModel().getData().forEach(function(F){if(F.validation&&F.type==="Error"&&F.target.indexOf(A)>-1){z.setProperty("messageFooterContainsErrors",true);}});},_showMessagePopover:function(i,z){if(i){L.error(i);}var A=this;var F=A.getView().byId("fe::FooterBar::MessageButton"),G=F.oMessagePopover,H=G.getBinding("items");if(H.getLength()>0&&!G.isOpen()){F.setVisible(true);setTimeout(function(){G.openBy(F);},0);}return z;},_editDocument:function(i){var z=this.getView().getModel("ui"),A={prepareOnEdit:this.getView().getViewData().prepareOnEdit};B.lock(z);return this.editFlow.editDocument.apply(this.editFlow,[i,A]).finally(function(){B.unlock(z);});},_saveDocument:function(i){var z=this,A=this.getView().getModel("ui"),W=[];var F=false;B.lock(A);this._findTables().forEach(function(G){var H=z._getTableBinding(G);var K={creationMode:G.data("creationMode"),creationRow:G.getCreationRow(),createAtEnd:G.data("createAtEnd")==="true"};var N=K.creationRow&&K.creationRow.getBindingContext()&&Object.keys(K.creationRow.getBindingContext().getObject()).length>1;if(N){K.bSkipSideEffects=true;F=true;W.push(z.editFlow.createDocument(H,K).then(function(){return H;}));}});return Promise.all(W).then(function(G){var H={bExecuteSideEffectsOnError:F,bindings:G};return z.editFlow.saveDocument(i,H).catch(z._showMessagePopover.bind(z)).finally(function(){if(B.isLocked(A)){B.unlock(A);}});});},_cancelDocument:function(i,z){z.cancelButton=this.getView().byId(z.cancelButton);return this.editFlow.cancelDocument(i,z);},_applyDocument:function(i){var z=this;return this.editFlow.applyDocument(i).catch(z._showMessagePopover.bind(z));},_updateRelatedApps:function(){var i=this.byId("fe::ObjectPage");if(C.resolveStringtoBoolean(i.data("showRelatedApps"))){C.updateRelatedAppsDetails(i);}},_findTableInSubSection:function(i,z,A){var F=[];for(var G=0;G<i.length;G++){var H=i[G].getContent instanceof Function&&i[G].getContent();if(H&&H.isA&&H.isA("sap.ui.layout.DynamicSideContent")){H=H.getMainContent instanceof Function&&H.getMainContent();if(H&&H.length>0){H=H[0];}}if(H&&H.isA&&H.isA("sap.fe.macros.TableAPI")){H=H.getContent instanceof Function&&H.getContent();if(H&&H.length>0){H=H[0];}}if(H&&H.isA&&H.isA("sap.ui.mdc.Table")){A.push(H);F.push({"table":H,"gridTable":H.getType().isA("sap.ui.mdc.table.GridTableType")});}}if(F.length===1&&i.length===1&&F[0].gridTable&&!z.hasStyleClass("sapUxAPObjectPageSubSectionFitContainer")){z.addStyleClass("sapUxAPObjectPageSubSectionFitContainer");}else{if(F&&!z.hasStyleClass("sapUxAPObjectPageSubSectionFitContainer")){F.forEach(function(K){if(K.gridTable){K.table.getType().setRowCount(null);}});}}},_getAllSubSections:function(){var i=this.byId("fe::ObjectPage"),z=[];i.getSections().forEach(function(A){z=z.concat(A.getSubSections());});return z;},_getAllBlocks:function(){var i=[];this._getAllSubSections().forEach(function(z){i=i.concat(z.getBlocks());});return i;},_findTables:function(){var i=this._getAllSubSections(),z=[];for(var A=0;A<i.length;A++){this._findTableInSubSection(i[A].getBlocks(),i[A],z);this._findTableInSubSection(i[A].getMoreBlocks(),i[A],z);}return z;},_closeSideContent:function(){this._getAllBlocks().forEach(function(i){var z=i.getContent instanceof Function&&i.getContent();if(z&&z.isA&&z.isA("sap.ui.layout.DynamicSideContent")){if(z.setShowSideContent instanceof Function){z.setShowSideContent(false);}}});},_getChartContextData:function(i,z){var A=i.getObject(),F=[A];if(i&&z){if(A[z]){F=A[z];delete A[z];F.push(A);}}return F;},_scrollTablesToRow:function(z){if(this._findTables&&this._findTables().length>0){var A=this._findTables();for(var i=0;i<A.length;i++){v.scrollTableToRow(A[i],z);}}},_mergeMultipleContexts:function(i,z,A){var F=this;var G=[],H=[],K,N,Q,U,W,X,Y;Y=i.getPath();K=i&&i.getModel()&&i.getModel().getMetaModel();U=K&&K.getMetaPath(Y).replace(/^\/*/,"");if(z&&z.length){N=z[0];W=N.getPath();Q=K&&K.getMetaPath(W).replace(/^\/*/,"");z.map(function(Z){if(A){var $=F._getChartContextData(Z,A);if($){G=$.map(function($){return{contextData:$,entitySet:U+"/"+A};});}}else{G.push({contextData:Z.getObject(),entitySet:Q});}});}H.push({contextData:i.getObject(),entitySet:U});H=C.removeSensitiveData(H,K);X=C.addPageContextToSelectionVariant(new g(),H,F.getView());G=C.removeSensitiveData(G,K);return{selectionVariant:X,attributes:G};},_getBatchGroupsForView:function(){var i=this,z=i.getView().getViewData(),A=z.controlConfiguration,F=A&&Object.keys(A),G=["$auto.Heroes","$auto.Decoration","$auto.Workers"];if(F&&F.length>0){F.forEach(function(K){var H=A[K];if(H.requestGroupId==="LongRunners"){G.push("$auto.LongRunners");}});}return G;},_setBreadcrumbLinks:function(z){var A=z.getBindingContext();var F=this.getAppComponent();if(A){var N=A.getPath(),G=N.split("/"),H="",K=F.getMetaModel(),Q=0;G.shift();G.splice(-1,1);G.forEach(function(U,i){H+="/"+U;var W=F.getRootViewController();var X=W.getTitleHierarchyCache();var Y;var Z=K.getMetaPath(H);var $=K.getObject(Z+"/@com.sap.vocabularies.Common.v1.ResultContext");if($){Q=1;return;}if(!X[H]){Y=W.addNewEntryInCacheTitle(H,F);}else{Y=Promise.resolve(X[H]);}Y.then(function(_){var a1=i-Q,b1=z.getLinks()[a1]?z.getLinks()[a1]:new h();b1.setText(_.subtitle||_.title);b1.setHref(_.intent);if(!z.getLinks()[a1]){z.addLink(b1);}}).catch(function(_){L.error("Error while computing the title hierarchy",_);});});}},_checkDataPointTitleForExternalNavigation:function(){var i=this.getView();var z=i.getBindingContext("internal");var A=C.getHeaderFacetItemConfigForExternalNavigation(i.getViewData(),this.getAppComponent().getRoutingService().getOutbounds());var F=this.getAppComponent().getShellServices();var G=i&&i.getBindingContext();z.setProperty("isHeaderDPLinkVisible",{});if(G){G.requestObject().then(function(Q){N(A,Q);}).catch(function(Q){L.error("Cannot retrieve the links from the shell service",Q);});}function H(Q){L.error(Q);}function K(Q){var U=this.id;if(Q&&Q.length===1&&Q[0].supported){z.setProperty("isHeaderDPLinkVisible/"+U,true);}}function N(A,Q){for(var U in A){var W=A[U];var X={};var Y=i.byId(U);if(!Y){continue;}var Z=Y.getBindingContext();var $=Z&&Z.getObject();var _=m({},Q,$);if(W.semanticObjectMapping){var a1=W.semanticObjectMapping;for(var b1 in a1){var c1=a1[b1];var d1=c1["LocalProperty"]["$PropertyPath"];var e1=c1["SemanticObjectProperty"];if(d1!==e1){if(_.hasOwnProperty(d1)){var f1={};f1[e1]=_[d1];_=m({},_,f1);delete _[d1];}}}}if(_){for(var g1 in _){if(g1.indexOf("_")!==0&&g1.indexOf("odata.context")===-1){X[g1]=_[g1];}}}F.isNavigationSupported([{target:{semanticObject:W.semanticObject,action:W.action},params:X}]).then(K.bind({id:U})).catch(H);}}},handlers:{onTableContextChange:function(z){var A=this;var F=z.getSource();var G;this._findTables().some(function(_){if(_.getRowBinding()===F){G=_;return true;}return false;});var H=this._editFlow.getCurrentActionPromise();if(H){var K;if(G.getType().getMetadata().isA("sap.ui.mdc.table.GridTableType")){K=F.getContexts(0);}else{K=F.getCurrentContexts();}if(!K[0]){return;}H.then(function(Q){if(!Q||Q.controlId!==G.sId){return;}var U=Q.oData;var W=Q.keys;var X=-1;K.find(function($,i){var _=$.getObject();var a1=W.every(function(b1){return _[b1]===U[b1];});if(a1){X=i;}return a1;});if(X!==-1){var Y=p.getOpenDialogs();var Z=Y.length>0?Y[0]:null;if(Z){Z.attachEventOnce("afterClose",function(){G.focusRow(X,true);});}else{G.focusRow(X,true);}A._editFlow.deleteCurrentActionPromise();}}).catch(function(i){L.error("An error occurs while scrolling to the newly created Item: "+i);});}var N=A.getView().byId("fe::FooterBar::MessageButton");N.fireModelContextChange();},onCallAction:function(i,A,z){var F=i.getController();var G=F;return F.editFlow.invokeAction(A,z).then(G._showMessagePopover.bind(G,undefined)).catch(G._showMessagePopover.bind(G));},onDataPointTitlePressed:function(i,z,A,F,G){A=typeof A==="string"?JSON.parse(A):A;var H=A[F],K=C.getSemanticObjectMapping(H),N=z.getBindingContext(),Q=N.getModel().getMetaModel().getMetaPath(N.getPath()),U=i._getChartContextData(N,G),W;U=U.map(function(Y){return{data:Y,metaPath:Q+(G?"/"+G:"")};});if(H&&H.parameters){var X=H.parameters&&i._intentBasedNavigation.getOutboundParams(H.parameters);if(Object.keys(X).length>0){W=X;}}if(H&&H.semanticObject&&H.action){i._intentBasedNavigation.navigate(H.semanticObject,H.action,{navigationContexts:U,semanticObjectMapping:K,additionalNavigationParameters:W});}},onChevronPressNavigateOutBound:function(i,z,A,F){return i._intentBasedNavigation.onChevronPressNavigateOutBound(i,z,A,F);},onNavigateChange:function(i){this.getExtensionAPI().updateAppState();this.bSectionNavigated=true;},onVariantSelected:function(i){this.getExtensionAPI().updateAppState();},onVariantSaved:function(i){var z=this;setTimeout(function(){z.getExtensionAPI().updateAppState();},500);},navigateToSubSection:function(i,z){var A=typeof z==="string"?JSON.parse(z):z,F=i.getView().byId("fe::ObjectPage"),G,H;if(A.sectionId){G=i.getView().byId(A.sectionId);H=A.subSectionId?i.getView().byId(A.subSectionId):G&&G.getSubSections()&&G.getSubSections()[0];}else if(A.subSectionId){H=i.getView().byId(A.subSectionId);G=H&&H.getParent();}if(!G||!H||!G.getVisible()||!H.getVisible()){i.getView().getModel("sap.fe.i18n").getResourceBundle().then(function(K){var N=C.getTranslatedText("C_ROUTING_NAVIGATION_DISABLED_TITLE",K,null,i.getView().getViewData().entitySet);L.error(N);M.error(N);}).catch(function(K){L.error(K);});}else{F.scrollToSection(H.getId());F.fireNavigate({section:G,subSection:H});}},onChartSelectionChanged:function(i){j.fnUpdateChart(i);}}});});
6
+ sap.ui.define(["sap/fe/core/PageController","sap/fe/core/controllerextensions/InternalRouting","./overrides/InternalRouting","sap/fe/core/controllerextensions/SideEffects","sap/fe/core/controllerextensions/EditFlow","sap/fe/core/controllerextensions/InternalEditFlow","sap/fe/core/controllerextensions/PageReady","sap/fe/core/controllerextensions/InternalIntentBasedNavigation","sap/fe/core/controllerextensions/IntentBasedNavigation","./overrides/IntentBasedNavigation","sap/base/Log","sap/base/util/merge","sap/fe/core/CommonUtils","sap/fe/navigation/SelectionVariant","sap/fe/macros/table/Utils","sap/m/MessageBox","sap/fe/core/BusyLocker","sap/m/Link","sap/fe/macros/chart/ChartRuntime","sap/fe/templates/ObjectPage/ExtensionAPI","sap/ui/core/mvc/OverrideExecution","sap/fe/core/controllerextensions/ViewState","./overrides/ViewState","sap/fe/templates/RootContainer/overrides/EditFlow","sap/fe/core/helpers/ModelHelper","sap/fe/core/controllerextensions/Routing","sap/m/InstanceManager","sap/fe/core/controllerextensions/MessageHandler","./overrides/MessageHandler","sap/fe/core/controllerextensions/Share","./overrides/Share","sap/fe/macros/DelegateUtil","sap/fe/macros/CommonHelper","sap/fe/templates/TableScroller","sap/ui/model/json/JSONModel","sap/fe/core/controllerextensions/Paginator","./overrides/Paginator","sap/fe/core/controllerextensions/Placeholder"],function(P,I,a,S,E,b,c,d,e,f,L,m,C,g,T,M,B,h,j,k,O,V,l,n,o,R,p,q,r,s,t,D,u,v,J,w,x,y){"use strict";return P.extend("sap.fe.templates.ObjectPage.ObjectPageController",{metadata:{methods:{getExtensionAPI:{"public":true,"final":true},onPageReady:{"public":true,"final":false,overrideExecution:O.After}}},placeholder:y,sideEffects:S,editFlow:E,share:s.override(t),_editFlow:b.override(n),_routing:I.override(a),paginator:w.override(x),messageHandler:q.override(r),intentBasedNavigation:e.override(f),_intentBasedNavigation:d.override({getNavigationMode:function(){var i=this._oView.getController().getStickyEditMode&&this._oView.getController().getStickyEditMode();return i?"explace":"inplace";}}),viewState:V.override(l),pageReady:c.override({isContextExpected:function(){return true;}}),getExtensionAPI:function(i){if(i){this.mCustomSectionExtensionAPIs=this.mCustomSectionExtensionAPIs||{};if(!this.mCustomSectionExtensionAPIs[i]){this.mCustomSectionExtensionAPIs[i]=new k(this,i);}return this.mCustomSectionExtensionAPIs[i];}else{if(!this.extensionAPI){this.extensionAPI=new k(this);}return this.extensionAPI;}},onInit:function(){P.prototype.onInit.apply(this);var i=this.byId("fe::ObjectPage");var z=this.getView().getBindingContext("internal");z.setProperty("externalNavigationContext",{"page":true});z.setProperty("relatedApps",{visibility:false,items:null});z.setProperty("batchGroups",this._getBatchGroupsForView());z.setProperty("errorNavigationSectionFlag",false);if(i.getEnableLazyLoading()){i.attachEvent("subSectionEnteredViewPort",this._handleSubSectionEnteredViewPort.bind(this));}},onExit:function(){var i=this;if(this.mCustomSectionExtensionAPIs){Object.keys(this.mCustomSectionExtensionAPIs).forEach(function(F){i.mCustomSectionExtensionAPIs[F]&&i.mCustomSectionExtensionAPIs[F].destroy();});delete this.mCustomSectionExtensionAPIs;}this.extensionAPI&&this.extensionAPI.destroy();delete this.extensionAPI;var z=this.getView().byId("fe::FooterBar::MessageButton"),A=z?z.oMessagePopover:null;if(A&&A.isOpen()){A.close();}},_getTableBinding:function(i){return i&&i.getRowBinding();},onBeforeRendering:function(){P.prototype.onBeforeRendering.apply(this);},onAfterRendering:function(i){var z=this;this.getView().getModel("sap.fe.i18n").getResourceBundle().then(function(A){z.oResourceBundle=A;}).catch(function(A){L.error("Error while retrieving the resource bundle",A);});},_onBeforeBinding:function(z,A){var F=this,G=this._findTables(),H,K=this.byId("fe::ObjectPage"),N=A.listBinding,Q=F.getView().getBindingContext("internal"),U=Q.getProperty("batchGroups"),W=this.getView().getViewData().viewLevel;U.push("$auto");if(A.bDraftNavigation!==true){this._closeSideContent();}if(K.getBindingContext()&&K.getBindingContext().hasPendingChanges()&&!U.some(K.getBindingContext().getModel().hasPendingChanges.bind(K.getBindingContext().getModel()))){K.getBindingContext().getBinding().resetChanges();}for(var i=0;i<G.length;i++){H=G[i].getCreationRow();if(H){H.setBindingContext(null);}}var X=function(k1){if(!K.isFirstRendering()&&!A.bPersistOPScroll){K.setSelectedSection(null);}};K.attachEventOnce("modelContextChange",X);var Y={onAfterRendering:X};K.addEventDelegate(Y,F);this.pageReady.attachEventOnce("pageReady",function(k1){K.removeEventDelegate(Y);});if(N&&W>1){if(N.isA("sap.ui.model.odata.v4.ODataListBinding")){this.paginator.initialize(N,z);}else{var Z=N.getPath().replace(/\([^\)]*\)*$/,"");var N=new sap.ui.model.odata.v4.ODataListBinding(N.oModel,"",N.oModel.createBindingContext(Z));N.getContexts(0);N.attachEvent("change",function k1(){if(N.getContexts().length>0){F.paginator.initialize(N,z);N.detachEvent("change",k1);}});}}if(K.getEnableLazyLoading()){var $=K.getSections(),_=K.getUseIconTabBar(),a1=2,b1=K.getModel("ui").getProperty("/editMode")==="Editable",c1=this.getView().getViewData().editableHeaderContent;for(var d1=0;d1<$.length;d1++){var e1=$[d1];var f1=e1.getSubSections();for(var g1=0;g1<f1.length;g1++,a1--){if(a1<1||(_&&(d1>1||(d1===1&&!c1&&!b1)))){var h1=f1[g1];h1.setBindingContext(null);}}}}if(this.placeholder.isPlaceholderEnabled()&&A.showPlaceholder){var i1=this.getView();var j1=i1.getParent().oContainer.getParent();if(j1){j1.showPlaceholder({});}}},_getFirstClickableElement:function(i){var F;var A=i.getHeaderTitle()&&i.getHeaderTitle().getActions();if(A&&A.length){F=A.find(function(z){return z.getVisible()&&z.getEnabled();});}return F;},_getFirstEmptyMandatoryFieldFromSubSection:function(i){for(var z=0;i&&z<i.length;z++){var A=i[z].getBlocks();for(var F=0;A&&F<A.length;F++){var G;if(A[F].isA("sap.ui.layout.form.Form")){G=A[F].getFormContainers();}else if(A[F].getContent&&A[F].getContent()&&A[F].getContent().isA("sap.ui.layout.form.Form")){G=A[F].getContent().getFormContainers();}for(var H=0;G&&H<G.length;H++){var K=G[H].getFormElements();for(var N=0;K&&N<K.length;N++){var Q=K[N].getFields();if(Q[0].getRequired()&&!Q[0].getValue()){return Q[0];}}}}}return undefined;},_updateFocusInEditMode:function(i){var z=this.byId("fe::ObjectPage");var A=this._getFirstEmptyMandatoryFieldFromSubSection(i);var F;if(A){F=A.content.getContentEdit()[0];}else{F=z._getFirstEditableInput()||this._getFirstClickableElement(z);}if(F){setTimeout(function(){F.focus();},0);}},_handleSubSectionEnteredViewPort:function(i){var z=i.getParameter("subSection");z.setBindingContext(undefined);},_onBackNavigationInDraft:function(i){C.fnProcessDataLossOrDraftDiscardConfirmation(function(){history.back();},Function.prototype,i,this.getView().getController(),false);},_onAfterBinding:function(i,z){var A=this.byId("fe::ObjectPage"),F=this,G=this._findTables(),H=this._findFormContainers();this.sideEffects.clearPropertiesStatus();i=A.getBindingContext();var K=[];A.getSections().forEach(function(_){_.getSubSections().forEach(function(a1){K=C.getIBNActions(a1,K);});});H.forEach(function(_){var a1,b1=A.getModel("internal"),c1="/pages/"+F.getView().getId(),d1="controls/"+F.getView().getLocalId(_.getId()),e1="showDetails";if(_.getModel("internal")===undefined){_.setModel(b1,"internal");_.setBindingContext(b1.createBindingContext(c1+"/"+d1),"internal");_.bindElement({path:"",model:"internal"});}else{_.bindElement({path:d1,model:"internal"});}a1=_.getBindingContext("internal");a1.setProperty(e1,false);});G.forEach(function(_){var a1=_.getBindingContext("internal");a1.setProperty("creationRowFieldValidity",{});a1.setProperty("creationRowCustomValidity",{});K=C.getIBNActions(_,K);var b1=_.getRowBinding();if(b1){if(o.isStickySessionSupported(b1.getModel().getMetaModel())){b1.removeCachesAndMessages("");}}var c1=JSON.parse(u.parseCustomData(D.getCustomData(_,"operationAvailableMap"))),d1=_.getSelectedContexts();C.setActionEnablement(a1,c1,d1);});C.getSemanticTargetsFromPageModel(F,"_pageModel");var N=A.getHeaderTitle();var Q=[];Q=C.getIBNActions(N,Q);K=K.concat(Q);C.updateDataFieldForIBNButtonsVisibility(K,this.getView());var U,W;function X(_,a1){var b1=_.getCreationRow(),c1,d1;if(b1){W.then(function(){if(b1.getModel("ui").getProperty("/isEditable")){c1=U.bindList(a1.getPath(),a1.getContext(),[],[],{$$updateGroupId:"doNotSubmit",$$groupId:"doNotSubmit"});c1.refreshInternal=function(){};d1=c1.create();b1.setBindingContext(d1);d1.created().catch(function(){L.trace("transient fast creation context deleted");});}}).catch(function(e1){L.error("Error while computing the final UI state",e1);});}}function Y(_){var $=F._getTableBinding(_),a1=function(){X(_,$);};if(!$){L.error("Expected binding missing for table: "+_.getId());return;}if($.oContext){a1();}else{var b1=function(){if($.oContext){a1();$.detachChange(b1);}};$.attachChange(b1);}}if(i){U=i.getModel();W=this._editFlow.computeEditMode(i);if(i.getBinding().oCache){F._updateRelatedApps();}else{var Z=function(){F._updateRelatedApps();i.getBinding().detachDataReceived(Z);};i.getBinding().attachDataReceived(Z);}var $=(i.getBinding&&i.getBinding())||i;$.attachEvent("patchSent",this.editFlow.handlePatchSent,this);$.attachEvent("patchCompleted",this.editFlow.handlePatchCompleted,this);G.forEach(function(_){T.whenBound(_).then(Y).catch(function(a1){L.error("Error while waiting for the table to be bound",a1);});});A._triggerVisibleSubSectionsEvents();}},onPageReady:function(i){var z=this;var A=this.getView();var F=A.getBindingContext("internal");var G=A.getBindingContext();if(G){var H=o.isStickySessionSupported(G.getModel().getMetaModel());if(!H){var K=C.getAppComponent(A);K.getShellServices().setBackNavigation(z._onBackNavigationInDraft.bind(z,G));}}this.getAppComponent().getAppStateHandler().applyAppState();if(i.forceFocus){var N=this.byId("fe::ObjectPage");var Q=N.getModel("ui").getProperty("/editMode")==="Display";var U=N.getSections().filter(function(Y){return Y.getVisible()===true;});N.setSelectedSection(U[0].getId());if(Q){var W=this._getFirstClickableElement(N);if(W){W.focus();}}else{var X;if(A.getViewData().sectionLayout==="Tabs"){X=U[0].getSubSections();}else{X=U.map(function(Y){return Y.getSubSections();}).flat();}this._updateFocusInEditMode(X);}}F.setProperty("errorNavigationSectionFlag",false);this._checkDataPointTitleForExternalNavigation();},getStickyEditMode:function(){var i=this.oView.getBindingContext&&this.oView.getBindingContext(),z=false;if(i){var A=o.isStickySessionSupported(i.getModel().getMetaModel());if(A){z=this.oView.getModel("ui").getProperty("/isEditable");}}return z;},_getObjectPageLayoutControl:function(){return this.byId("fe::ObjectPage");},_getPageTitleInformation:function(){var i=this.byId("fe::ObjectPage");var z=i.getCustomData().find(function(F){return F.getKey()==="ObjectPageSubtitle";});var A={title:i.data("ObjectPageTitle")||"",subtitle:z&&z.getValue(),intent:"",icon:""};return Promise.resolve(A);},_executeHeaderShortcut:function(i){var z=this.getView().getId()+"--"+i,A=this.byId("fe::ObjectPage").getHeaderTitle().getActions().find(function(F){return F.getId()===z;});C.fireButtonPress(A);},_executeFooterShortcut:function(i){var z=this.getView().getId()+"--"+i,A=this.byId("fe::ObjectPage").getFooter().getContent().find(function(F){return F.getMetadata().getName()==="sap.m.Button"&&F.getId()===z;});C.fireButtonPress(A);},_executeTabShortCut:function(i){var z=this.byId("fe::ObjectPage"),A=z.indexOfSection(this.byId(z.getSelectedSection())),F=z.getSections(),G=F.length-1,H=i.oSource.getCommand(),K;if(A!==-1&&G>0){if(H==="NextTab"){if(A<=G-1){K=F[++A];}}else{if(A!==0){K=F[--A];}}if(K){z.setSelectedSection(K);K.focus();}}},_getFooterVisibility:function(i){var z=this.getView().getBindingContext("internal");var A=this.getView().getId();z.setProperty("messageFooterContainsErrors",false);sap.ui.getCore().getMessageManager().getMessageModel().getData().forEach(function(F){if(F.validation&&F.type==="Error"&&F.target.indexOf(A)>-1){z.setProperty("messageFooterContainsErrors",true);}});},_showMessagePopover:function(i,z){if(i){L.error(i);}var A=this;var F=A.getView().byId("fe::FooterBar::MessageButton"),G=F.oMessagePopover,H=G.getBinding("items");if(H.getLength()>0&&!G.isOpen()){F.setVisible(true);setTimeout(function(){G.openBy(F);},0);}return z;},_editDocument:function(i){var z=this.getView().getModel("ui"),A={prepareOnEdit:this.getView().getViewData().prepareOnEdit};B.lock(z);return this.editFlow.editDocument.apply(this.editFlow,[i,A]).finally(function(){B.unlock(z);});},_saveDocument:function(i){var z=this,A=this.getView().getModel("ui"),W=[];var F=false;B.lock(A);this._findTables().forEach(function(G){var H=z._getTableBinding(G);var K={creationMode:G.data("creationMode"),creationRow:G.getCreationRow(),createAtEnd:G.data("createAtEnd")==="true"};var N=K.creationRow&&K.creationRow.getBindingContext()&&Object.keys(K.creationRow.getBindingContext().getObject()).length>1;if(N){K.bSkipSideEffects=true;F=true;W.push(z.editFlow.createDocument(H,K).then(function(){return H;}));}});return Promise.all(W).then(function(G){var H={bExecuteSideEffectsOnError:F,bindings:G};return z.editFlow.saveDocument(i,H).catch(z._showMessagePopover.bind(z)).finally(function(){if(B.isLocked(A)){B.unlock(A);}});});},_cancelDocument:function(i,z){z.cancelButton=this.getView().byId(z.cancelButton);return this.editFlow.cancelDocument(i,z);},_applyDocument:function(i){var z=this;return this.editFlow.applyDocument(i).catch(z._showMessagePopover.bind(z));},_updateRelatedApps:function(){var i=this.byId("fe::ObjectPage");if(C.resolveStringtoBoolean(i.data("showRelatedApps"))){C.updateRelatedAppsDetails(i);}},_findTableInSubSection:function(i,z,A){var F=[];for(var G=0;G<i.length;G++){var H=i[G].getContent instanceof Function&&i[G].getContent();if(H&&H.isA&&H.isA("sap.ui.layout.DynamicSideContent")){H=H.getMainContent instanceof Function&&H.getMainContent();if(H&&H.length>0){H=H[0];}}if(H&&H.isA&&H.isA("sap.fe.macros.TableAPI")){H=H.getContent instanceof Function&&H.getContent();if(H&&H.length>0){H=H[0];}}if(H&&H.isA&&H.isA("sap.ui.mdc.Table")){A.push(H);F.push({"table":H,"gridTable":H.getType().isA("sap.ui.mdc.table.GridTableType")});}}if(F.length===1&&i.length===1&&F[0].gridTable&&!z.hasStyleClass("sapUxAPObjectPageSubSectionFitContainer")){z.addStyleClass("sapUxAPObjectPageSubSectionFitContainer");}else{if(F&&!z.hasStyleClass("sapUxAPObjectPageSubSectionFitContainer")){F.forEach(function(K){if(K.gridTable){K.table.getType().setRowCount(null);}});}}},_getAllSubSections:function(){var i=this.byId("fe::ObjectPage"),z=[];i.getSections().forEach(function(A){z=z.concat(A.getSubSections());});return z;},_getAllBlocks:function(){var i=[];this._getAllSubSections().forEach(function(z){i=i.concat(z.getBlocks());});return i;},_findFormContainers:function(){var z=this._getAllSubSections(),F=[];function _(A){for(var i=0;i<A.length;i++){var G=A[i].getContent instanceof Function&&A[i].getContent();if(G&&G.isA&&G.isA("sap.ui.layout.DynamicSideContent")){G=G.getMainContent instanceof Function&&G.getMainContent();if(G&&G.length>0){G=G[0];}}if(G&&G.isA&&G.isA("sap.ui.layout.form.Form")&&G.getFormContainers instanceof Function){F=F.concat(G.getFormContainers());}}}for(var i=0;i<z.length;i++){_(z[i].getBlocks());_(z[i].getMoreBlocks());}return F;},_findTables:function(){var i=this._getAllSubSections(),z=[];for(var A=0;A<i.length;A++){this._findTableInSubSection(i[A].getBlocks(),i[A],z);this._findTableInSubSection(i[A].getMoreBlocks(),i[A],z);}return z;},_closeSideContent:function(){this._getAllBlocks().forEach(function(i){var z=i.getContent instanceof Function&&i.getContent();if(z&&z.isA&&z.isA("sap.ui.layout.DynamicSideContent")){if(z.setShowSideContent instanceof Function){z.setShowSideContent(false);}}});},_getChartContextData:function(i,z){var A=i.getObject(),F=[A];if(i&&z){if(A[z]){F=A[z];delete A[z];F.push(A);}}return F;},_scrollTablesToRow:function(z){if(this._findTables&&this._findTables().length>0){var A=this._findTables();for(var i=0;i<A.length;i++){v.scrollTableToRow(A[i],z);}}},_mergeMultipleContexts:function(i,z,A){var F=this;var G=[],H=[],K,N,Q,U,W,X,Y;Y=i.getPath();K=i&&i.getModel()&&i.getModel().getMetaModel();U=K&&K.getMetaPath(Y).replace(/^\/*/,"");if(z&&z.length){N=z[0];W=N.getPath();Q=K&&K.getMetaPath(W).replace(/^\/*/,"");z.map(function(Z){if(A){var $=F._getChartContextData(Z,A);if($){G=$.map(function($){return{contextData:$,entitySet:U+"/"+A};});}}else{G.push({contextData:Z.getObject(),entitySet:Q});}});}H.push({contextData:i.getObject(),entitySet:U});H=C.removeSensitiveData(H,K);X=C.addPageContextToSelectionVariant(new g(),H,F.getView());G=C.removeSensitiveData(G,K);return{selectionVariant:X,attributes:G};},_getBatchGroupsForView:function(){var i=this,z=i.getView().getViewData(),A=z.controlConfiguration,F=A&&Object.keys(A),G=["$auto.Heroes","$auto.Decoration","$auto.Workers"];if(F&&F.length>0){F.forEach(function(K){var H=A[K];if(H.requestGroupId==="LongRunners"){G.push("$auto.LongRunners");}});}return G;},_setBreadcrumbLinks:function(z){var A=z.getBindingContext();var F=this.getAppComponent();if(A){var N=A.getPath(),G=N.split("/"),H="",K=F.getMetaModel(),Q=0;G.shift();G.splice(-1,1);G.forEach(function(U,i){H+="/"+U;var W=F.getRootViewController();var X=W.getTitleHierarchyCache();var Y;var Z=K.getMetaPath(H);var $=K.getObject(Z+"/@com.sap.vocabularies.Common.v1.ResultContext");if($){Q=1;return;}if(!X[H]){Y=W.addNewEntryInCacheTitle(H,F);}else{Y=Promise.resolve(X[H]);}Y.then(function(_){var a1=i-Q,b1=z.getLinks()[a1]?z.getLinks()[a1]:new h();b1.setText(_.subtitle||_.title);b1.setHref(_.intent);if(!z.getLinks()[a1]){z.addLink(b1);}}).catch(function(_){L.error("Error while computing the title hierarchy",_);});});}},_checkDataPointTitleForExternalNavigation:function(){var i=this.getView();var z=i.getBindingContext("internal");var A=C.getHeaderFacetItemConfigForExternalNavigation(i.getViewData(),this.getAppComponent().getRoutingService().getOutbounds());var F=this.getAppComponent().getShellServices();var G=i&&i.getBindingContext();z.setProperty("isHeaderDPLinkVisible",{});if(G){G.requestObject().then(function(Q){N(A,Q);}).catch(function(Q){L.error("Cannot retrieve the links from the shell service",Q);});}function H(Q){L.error(Q);}function K(Q){var U=this.id;if(Q&&Q.length===1&&Q[0].supported){z.setProperty("isHeaderDPLinkVisible/"+U,true);}}function N(A,Q){for(var U in A){var W=A[U];var X={};var Y=i.byId(U);if(!Y){continue;}var Z=Y.getBindingContext();var $=Z&&Z.getObject();var _=m({},Q,$);if(W.semanticObjectMapping){var a1=W.semanticObjectMapping;for(var b1 in a1){var c1=a1[b1];var d1=c1["LocalProperty"]["$PropertyPath"];var e1=c1["SemanticObjectProperty"];if(d1!==e1){if(_.hasOwnProperty(d1)){var f1={};f1[e1]=_[d1];_=m({},_,f1);delete _[d1];}}}}if(_){for(var g1 in _){if(g1.indexOf("_")!==0&&g1.indexOf("odata.context")===-1){X[g1]=_[g1];}}}F.isNavigationSupported([{target:{semanticObject:W.semanticObject,action:W.action},params:X}]).then(K.bind({id:U})).catch(H);}}},handlers:{onTableContextChange:function(z){var A=this;var F=z.getSource();var G;this._findTables().some(function(_){if(_.getRowBinding()===F){G=_;return true;}return false;});var H=this._editFlow.getCurrentActionPromise();if(H){var K;if(G.getType().getMetadata().isA("sap.ui.mdc.table.GridTableType")){K=F.getContexts(0);}else{K=F.getCurrentContexts();}if(!K[0]){return;}H.then(function(Q){if(!Q||Q.controlId!==G.sId){return;}var U=Q.oData;var W=Q.keys;var X=-1;K.find(function($,i){var _=$.getObject();var a1=W.every(function(b1){return _[b1]===U[b1];});if(a1){X=i;}return a1;});if(X!==-1){var Y=p.getOpenDialogs();var Z=Y.length>0?Y[0]:null;if(Z){Z.attachEventOnce("afterClose",function(){G.focusRow(X,true);});}else{G.focusRow(X,true);}A._editFlow.deleteCurrentActionPromise();}}).catch(function(i){L.error("An error occurs while scrolling to the newly created Item: "+i);});}var N=A.getView().byId("fe::FooterBar::MessageButton");N.fireModelContextChange();},onCallAction:function(i,A,z){var F=i.getController();var G=F;return F.editFlow.invokeAction(A,z).then(G._showMessagePopover.bind(G,undefined)).catch(G._showMessagePopover.bind(G));},onDataPointTitlePressed:function(i,z,A,F,G){A=typeof A==="string"?JSON.parse(A):A;var H=A[F],K=C.getSemanticObjectMapping(H),N=z.getBindingContext(),Q=N.getModel().getMetaModel().getMetaPath(N.getPath()),U=i._getChartContextData(N,G),W;U=U.map(function(Y){return{data:Y,metaPath:Q+(G?"/"+G:"")};});if(H&&H.parameters){var X=H.parameters&&i._intentBasedNavigation.getOutboundParams(H.parameters);if(Object.keys(X).length>0){W=X;}}if(H&&H.semanticObject&&H.action){i._intentBasedNavigation.navigate(H.semanticObject,H.action,{navigationContexts:U,semanticObjectMapping:K,additionalNavigationParameters:W});}},onChevronPressNavigateOutBound:function(i,z,A,F){return i._intentBasedNavigation.onChevronPressNavigateOutBound(i,z,A,F);},onNavigateChange:function(i){this.getExtensionAPI().updateAppState();this.bSectionNavigated=true;var z=this.getView().getBindingContext("internal");var A=this.byId("fe::ObjectPage");if(A.getModel("ui").getProperty("/editMode")!=="Display"&&this.getView().getViewData().sectionLayout==="Tabs"&&z.getProperty("errorNavigationSectionFlag")===false){var F=i.getParameter("subSection");this._updateFocusInEditMode([F]);}},onVariantSelected:function(i){this.getExtensionAPI().updateAppState();},onVariantSaved:function(i){var z=this;setTimeout(function(){z.getExtensionAPI().updateAppState();},500);},navigateToSubSection:function(i,z){var A=typeof z==="string"?JSON.parse(z):z,F=i.getView().byId("fe::ObjectPage"),G,H;if(A.sectionId){G=i.getView().byId(A.sectionId);H=A.subSectionId?i.getView().byId(A.subSectionId):G&&G.getSubSections()&&G.getSubSections()[0];}else if(A.subSectionId){H=i.getView().byId(A.subSectionId);G=H&&H.getParent();}if(!G||!H||!G.getVisible()||!H.getVisible()){i.getView().getModel("sap.fe.i18n").getResourceBundle().then(function(K){var N=C.getTranslatedText("C_ROUTING_NAVIGATION_DISABLED_TITLE",K,null,i.getView().getViewData().entitySet);L.error(N);M.error(N);}).catch(function(K){L.error(K);});}else{F.scrollToSection(H.getId());F.fireNavigate({section:G,subSection:H});}},onChartSelectionChanged:function(i){j.fnUpdateChart(i);}}});});
@@ -68,6 +68,7 @@ sap.ui.define(
68
68
  */
69
69
  StashableHBox.prototype.getTitleControl = function() {
70
70
  var aItems = [],
71
+ content,
71
72
  i;
72
73
  if (this.getItems && this.getItems()[0] && this.getItems()[0].getItems) {
73
74
  aItems = this.getItems()[0].getItems();
@@ -76,6 +77,13 @@ sap.ui.define(
76
77
  }
77
78
  for (i = 0; i < aItems.length; i++) {
78
79
  if (aItems[i].isA("sap.m.Title") || aItems[i].isA("sap.m.Link")) {
80
+ if (aItems[i].isA("sap.m.Title")) {
81
+ // If a title was found, check if there is a link in the content aggregation
82
+ content = aItems[i].getContent();
83
+ if (content && content.isA("sap.m.Link")) {
84
+ return content;
85
+ }
86
+ }
79
87
  return aItems[i];
80
88
  }
81
89
  }
@@ -3,4 +3,4 @@
3
3
  (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
 
5
5
  */
6
- sap.ui.define(["sap/m/HBox","sap/m/HBoxRenderer","sap/ui/core/StashedControlSupport"],function(H,a,S){"use strict";var b=H.extend("sap.fe.templates.ObjectPage.controls.StashableHBox",{metadata:{properties:{title:{type:"string"}},designtime:"sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime"},renderer:{render:function(r,c){a.render.apply(this,[r,c]);}}});b.prototype.setTitle=function(t){var c=this.getTitleControl();if(c){c.setText(t);}this.title=t;return this;};b.prototype.getTitle=function(){return this.title;};b.prototype.onAfterRendering=function(){if(this.title){this.setTitle(this.title);}else{var c=this.getTitleControl();if(c){this.title=c.getText();}}};b.prototype.getTitleControl=function(){var I=[],i;if(this.getItems&&this.getItems()[0]&&this.getItems()[0].getItems){I=this.getItems()[0].getItems();}else if(this.getItems&&this.getItems()[0]&&this.getItems()[0].getMicroChartTitle){I=this.getItems()[0].getMicroChartTitle();}for(i=0;i<I.length;i++){if(I[i].isA("sap.m.Title")||I[i].isA("sap.m.Link")){return I[i];}}return null;};S.mixInto(b);return b;},true);
6
+ sap.ui.define(["sap/m/HBox","sap/m/HBoxRenderer","sap/ui/core/StashedControlSupport"],function(H,a,S){"use strict";var b=H.extend("sap.fe.templates.ObjectPage.controls.StashableHBox",{metadata:{properties:{title:{type:"string"}},designtime:"sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime"},renderer:{render:function(r,c){a.render.apply(this,[r,c]);}}});b.prototype.setTitle=function(t){var c=this.getTitleControl();if(c){c.setText(t);}this.title=t;return this;};b.prototype.getTitle=function(){return this.title;};b.prototype.onAfterRendering=function(){if(this.title){this.setTitle(this.title);}else{var c=this.getTitleControl();if(c){this.title=c.getText();}}};b.prototype.getTitleControl=function(){var I=[],c,i;if(this.getItems&&this.getItems()[0]&&this.getItems()[0].getItems){I=this.getItems()[0].getItems();}else if(this.getItems&&this.getItems()[0]&&this.getItems()[0].getMicroChartTitle){I=this.getItems()[0].getMicroChartTitle();}for(i=0;i<I.length;i++){if(I[i].isA("sap.m.Title")||I[i].isA("sap.m.Link")){if(I[i].isA("sap.m.Title")){c=I[i].getContent();if(c&&c.isA("sap.m.Link")){return c;}}return I[i];}}return null;};S.mixInto(b);return b;},true);
@@ -4,7 +4,7 @@
4
4
  "id": "sap.fe.templates.ObjectPage",
5
5
  "type": "component",
6
6
  "applicationVersion": {
7
- "version": "1.96.0"
7
+ "version": "1.97.0"
8
8
  },
9
9
  "title": "Object Page",
10
10
  "tags": {
@@ -97,7 +97,7 @@
97
97
  },
98
98
  "handleValidation": true,
99
99
  "dependencies": {
100
- "minUI5Version": "1.96.0",
100
+ "minUI5Version": "1.97.0",
101
101
  "libs": {
102
102
  "sap.f": {},
103
103
  "sap.fe.macros": {
@@ -3,7 +3,7 @@
3
3
  (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
 
5
5
  */
6
- sap.ui.define(["sap/fe/core/library", "sap/fe/core/CommonUtils"], function(CoreLibrary, CommonUtils) {
6
+ sap.ui.define(["sap/fe/core/library", "sap/fe/core/helpers/KeepAliveHelper"], function(CoreLibrary, KeepAliveHelper) {
7
7
  "use strict";
8
8
 
9
9
  var VariantManagement = CoreLibrary.VariantManagement;
@@ -41,9 +41,29 @@ sap.ui.define(["sap/fe/core/library", "sap/fe/core/CommonUtils"], function(CoreL
41
41
 
42
42
  aStateControls.push(oView.byId("fe::ObjectPage"));
43
43
  },
44
+ adaptControlStateHandler: function(oControl, aControlHandler) {
45
+ if (oControl.isA("sap.ui.fl.variants.VariantManagement")) {
46
+ aControlHandler.push({
47
+ retrieve: function(oVM) {
48
+ return {
49
+ "variantId": oVM.getCurrentVariantKey()
50
+ };
51
+ },
52
+ apply: function(oVM, oControlState) {
53
+ if (
54
+ oControlState &&
55
+ oControlState.variantId !== undefined &&
56
+ !(oControlState.variantId === oVM.getId() && oVM.getModified() === false)
57
+ ) {
58
+ oVM.setModified(true);
59
+ }
60
+ }
61
+ });
62
+ }
63
+ },
44
64
  adaptBindingRefreshControls: function(aControls) {
45
65
  var oView = this.getView(),
46
- sRefreshStrategy = CommonUtils.getViewRefreshInfo(oView),
66
+ sRefreshStrategy = KeepAliveHelper.getViewRefreshInfo(oView),
47
67
  oController = oView.getController(),
48
68
  aControlsToRefresh = [];
49
69
 
@@ -53,7 +73,7 @@ sap.ui.define(["sap/fe/core/library", "sap/fe/core/CommonUtils"], function(CoreL
53
73
  }
54
74
  if (sRefreshStrategy !== "includingDependents") {
55
75
  var aViewControls = oController._findTables();
56
- aControlsToRefresh = aControlsToRefresh.concat(CommonUtils.getControlsForRefresh(oView, aViewControls) || []);
76
+ aControlsToRefresh = aControlsToRefresh.concat(KeepAliveHelper.getControlsForRefresh(oView, aViewControls) || []);
57
77
  }
58
78
  return aControlsToRefresh.reduce(function(aPrevControls, oControl) {
59
79
  if (aPrevControls.indexOf(oControl) === -1) {
@@ -3,4 +3,4 @@
3
3
  (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
 
5
5
  */
6
- sap.ui.define(["sap/fe/core/library","sap/fe/core/CommonUtils"],function(C,a){"use strict";var V=C.VariantManagement;return{applyInitialStateOnly:function(){return false;},adaptStateControls:function(s){var v=this.getView(),c=v.getController(),o=v.getViewData(),b=false;switch(o.variantManagement){case V.Control:b=true;break;case V.Page:case V.None:break;default:throw new Error("unhandled variant setting: "+o.getVariantManagement());}c._findTables().forEach(function(t){var q=t.getQuickFilter();if(q){s.push(q);}if(b){s.push(t.getVariant());}});s.push(v.byId("fe::ObjectPage"));},adaptBindingRefreshControls:function(c){var v=this.getView(),r=a.getViewRefreshInfo(v),o=v.getController(),b=[];if(r){var O=o._getObjectPageLayoutControl();b.push(O);}if(r!=="includingDependents"){var d=o._findTables();b=b.concat(a.getControlsForRefresh(v,d)||[]);}return b.reduce(function(p,e){if(p.indexOf(e)===-1){p.push(e);}return p;},c);}};});
6
+ sap.ui.define(["sap/fe/core/library","sap/fe/core/helpers/KeepAliveHelper"],function(C,K){"use strict";var V=C.VariantManagement;return{applyInitialStateOnly:function(){return false;},adaptStateControls:function(s){var v=this.getView(),c=v.getController(),o=v.getViewData(),b=false;switch(o.variantManagement){case V.Control:b=true;break;case V.Page:case V.None:break;default:throw new Error("unhandled variant setting: "+o.getVariantManagement());}c._findTables().forEach(function(t){var q=t.getQuickFilter();if(q){s.push(q);}if(b){s.push(t.getVariant());}});s.push(v.byId("fe::ObjectPage"));},adaptControlStateHandler:function(c,a){if(c.isA("sap.ui.fl.variants.VariantManagement")){a.push({retrieve:function(v){return{"variantId":v.getCurrentVariantKey()};},apply:function(v,o){if(o&&o.variantId!==undefined&&!(o.variantId===v.getId()&&v.getModified()===false)){v.setModified(true);}}});}},adaptBindingRefreshControls:function(c){var v=this.getView(),r=K.getViewRefreshInfo(v),o=v.getController(),a=[];if(r){var O=o._getObjectPageLayoutControl();a.push(O);}if(r!=="includingDependents"){var b=o._findTables();a=a.concat(K.getControlsForRefresh(v,b)||[]);}return a.reduce(function(p,d){if(p.indexOf(d)===-1){p.push(d);}return p;},c);}};});
@@ -3,21 +3,21 @@
3
3
  "resources": [
4
4
  {
5
5
  "name": "AnnotationHelper-dbg.js",
6
- "size": 18696,
6
+ "size": 18708,
7
7
  "isDebug": true
8
8
  },
9
9
  {
10
10
  "name": "AnnotationHelper.js",
11
- "size": 6468
11
+ "size": 6478
12
12
  },
13
13
  {
14
14
  "name": "Component-dbg.js",
15
- "size": 3743,
15
+ "size": 4391,
16
16
  "isDebug": true
17
17
  },
18
18
  {
19
19
  "name": "Component.js",
20
- "size": 1596
20
+ "size": 1901
21
21
  },
22
22
  {
23
23
  "name": "ExtensionAPI-dbg.js",
@@ -34,21 +34,21 @@
34
34
  },
35
35
  {
36
36
  "name": "ObjectPageController-dbg.controller.js",
37
- "size": 51148,
37
+ "size": 52602,
38
38
  "isDebug": true
39
39
  },
40
40
  {
41
41
  "name": "ObjectPageController.controller.js",
42
- "size": 21875
42
+ "size": 22479
43
43
  },
44
44
  {
45
45
  "name": "controls/StashableHBox-dbg.js",
46
- "size": 2445,
46
+ "size": 2710,
47
47
  "isDebug": true
48
48
  },
49
49
  {
50
50
  "name": "controls/StashableHBox.js",
51
- "size": 1212
51
+ "size": 1300
52
52
  },
53
53
  {
54
54
  "name": "controls/StashableVBox-dbg.js",
@@ -170,25 +170,25 @@
170
170
  },
171
171
  {
172
172
  "name": "overrides/ViewState-dbg.js",
173
- "size": 1979,
173
+ "size": 2549,
174
174
  "isDebug": true
175
175
  },
176
176
  {
177
177
  "name": "overrides/ViewState.js",
178
- "size": 1054
178
+ "size": 1363
179
179
  },
180
180
  {
181
181
  "name": "templating/ObjectPageTemplating-dbg.js",
182
- "size": 21441,
182
+ "size": 22545,
183
183
  "isDebug": true
184
184
  },
185
185
  {
186
186
  "name": "templating/ObjectPageTemplating.js",
187
- "size": 2415
187
+ "size": 2605
188
188
  },
189
189
  {
190
190
  "name": "templating/ObjectPageTemplating.ts",
191
- "size": 5770
191
+ "size": 5950
192
192
  },
193
193
  {
194
194
  "name": "view/fragments/Actions.fragment.xml",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  {
222
222
  "name": "view/fragments/HeaderDataPointTitle.fragment.xml",
223
- "size": 3196
223
+ "size": 3414
224
224
  },
225
225
  {
226
226
  "name": "view/fragments/HeaderFacet.fragment.xml",
@@ -240,7 +240,7 @@
240
240
  },
241
241
  {
242
242
  "name": "view/fragments/ObjectPageHeaderForm.fragment.xml",
243
- "size": 3187
243
+ "size": 3238
244
244
  },
245
245
  {
246
246
  "name": "view/fragments/RelatedApps.fragment.xml",