@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
@@ -17,9 +17,23 @@ sap.ui.define(
17
17
  "sap/ui/model/FilterOperator",
18
18
  "sap/ui/core/message/Message",
19
19
  "sap/ui/core/IconPool",
20
- "sap/ui/model/json/JSONModel"
20
+ "sap/ui/model/json/JSONModel",
21
+ "sap/ui/core/format/DateFormat"
21
22
  ],
22
- function(MessageToast, MessageItem, MessageView, Button, Dialog, CoreLib, Filter, FilterOperator, Message, IconPool, JSONModel) {
23
+ function(
24
+ MessageToast,
25
+ MessageItem,
26
+ MessageView,
27
+ Button,
28
+ Dialog,
29
+ CoreLib,
30
+ Filter,
31
+ FilterOperator,
32
+ Message,
33
+ IconPool,
34
+ JSONModel,
35
+ DateFormat
36
+ ) {
23
37
  "use strict";
24
38
  var MessageType = CoreLib.MessageType;
25
39
  var that = this;
@@ -130,12 +144,63 @@ sap.ui.define(
130
144
  });
131
145
  return bMessagesModified;
132
146
  }
147
+
133
148
  // Dialog close Handling
134
149
  function dialogCloseHandler() {
135
150
  that.oDialog.close();
136
151
  that.oBackButton.setVisible(false);
137
152
  removeUnboundTransitionMessages();
138
153
  }
154
+
155
+ function getRetryAfterMessage(oMessage, bMessageDialog) {
156
+ var dNow = new Date();
157
+ var oTechnicalDetails = oMessage.getTechnicalDetails(),
158
+ oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.fe.core"),
159
+ sRetryAfterMessage;
160
+ if (oTechnicalDetails && oTechnicalDetails.httpStatus === 503 && oTechnicalDetails.retryAfter) {
161
+ var dRetryAfter = oTechnicalDetails.retryAfter;
162
+ var sRetryAfterMessage;
163
+ var oDateFormat;
164
+ if (dNow.getFullYear() !== dRetryAfter.getFullYear()) {
165
+ //different years
166
+ oDateFormat = DateFormat.getDateTimeInstance({
167
+ pattern: "MMMM dd, yyyy 'at' hh:mm a"
168
+ });
169
+ sRetryAfterMessage = oResourceBundle.getText(
170
+ "C_MESSAGE_HANDLING_SAPFE_503_ERROR_YEAR",
171
+ oDateFormat.format(dRetryAfter)
172
+ );
173
+ } else if (dNow.getFullYear() == dRetryAfter.getFullYear()) {
174
+ //same year
175
+ if (bMessageDialog) {
176
+ //less than 2 min
177
+ sRetryAfterMessage =
178
+ oResourceBundle.getText("C_MESSAGE_HANDLING_SAPFE_503_TITLE") +
179
+ " " +
180
+ oResourceBundle.getText("C_MESSAGE_HANDLING_SAPFE_503_DESC");
181
+ } else if (dNow.getMonth() !== dRetryAfter.getMonth() || dNow.getDate() !== dRetryAfter.getDate()) {
182
+ oDateFormat = sap.ui.core.format.DateFormat.getDateTimeInstance({
183
+ pattern: "MMMM dd 'at' hh:mm a"
184
+ }); //different months or different days of same month
185
+ sRetryAfterMessage = oResourceBundle.getText("C_MESSAGE_HANDLING_SAPFE_503_ERROR", oDateFormat.format(dRetryAfter));
186
+ } else {
187
+ //same day
188
+ oDateFormat = sap.ui.core.format.DateFormat.getDateTimeInstance({
189
+ pattern: "hh:mm a"
190
+ });
191
+ sRetryAfterMessage = oResourceBundle.getText(
192
+ "C_MESSAGE_HANDLING_SAPFE_503_ERROR_DAY",
193
+ oDateFormat.format(dRetryAfter)
194
+ );
195
+ }
196
+ }
197
+ }
198
+
199
+ if (oTechnicalDetails && oTechnicalDetails.httpStatus === 503 && !oTechnicalDetails.retryAfter) {
200
+ sRetryAfterMessage = oResourceBundle.getText("C_MESSAGE_HANDLING_SAPFE_503_ERROR_NO_RETRY_AFTER");
201
+ }
202
+ return sRetryAfterMessage;
203
+ }
139
204
  /**
140
205
  * Shows all unbound (including technical) messages and removes the ones which are transient.
141
206
  *
@@ -228,7 +293,12 @@ sap.ui.define(
228
293
  // So we create new json model to use for the message dialog view.
229
294
  var aMessages = [];
230
295
  aCurrentContexts.forEach(function(oContext) {
231
- aMessages.push(oContext.getObject());
296
+ var oMessage = oContext.getObject(),
297
+ sRetryAfterMessage = getRetryAfterMessage(oMessage, true);
298
+ if (sRetryAfterMessage) {
299
+ oMessage.setMessage(sRetryAfterMessage + " " + oMessage.getMessage());
300
+ }
301
+ aMessages.push(oMessage);
232
302
  });
233
303
  oMessageDialogModel.setData(aMessages);
234
304
  }
@@ -404,6 +474,11 @@ sap.ui.define(
404
474
  }
405
475
  }
406
476
 
477
+ for (var i = 0; i < aTransitionMessages.length; i++) {
478
+ if (aTransitionMessages[i].code === "503") {
479
+ aTransitionMessages[i].message = "\n" + aTransitionMessages[i].message;
480
+ }
481
+ }
407
482
  return aTransitionMessages;
408
483
  }
409
484
 
@@ -432,7 +507,8 @@ sap.ui.define(
432
507
  showUnboundMessages: showUnboundMessages,
433
508
  removeUnboundTransitionMessages: removeUnboundTransitionMessages,
434
509
  removeBoundTransitionMessages: removeBoundTransitionMessages,
435
- modifyETagMessagesOnly: fnModifyETagMessagesOnly
510
+ modifyETagMessagesOnly: fnModifyETagMessagesOnly,
511
+ getRetryAfterMessage: getRetryAfterMessage
436
512
  };
437
513
  return messageHandling;
438
514
  }
@@ -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/MessageToast","sap/m/MessageItem","sap/m/MessageView","sap/m/Button","sap/m/Dialog","sap/ui/core/library","sap/ui/model/Filter","sap/ui/model/FilterOperator","sap/ui/core/message/Message","sap/ui/core/IconPool","sap/ui/model/json/JSONModel"],function(M,a,b,B,D,C,F,c,d,I,J){"use strict";var e=C.MessageType;var t=this;function f(){var p;function i(P){return P.property?"( ${"+P.property+'} ? ("<p>'+P.property.substr(Math.max(P.property.lastIndexOf("/"),P.property.lastIndexOf("."))+1)+' : " + '+"${"+P.property+'} + "</p>") : "" )':"";}function q(P){var H="";if(P.groupName&&P.property&&P.groupName!==p){H+="( ${"+P.property+'} ? "<br><h3>'+P.groupName+'</h3>" : "" ) + ';p=P.groupName;}return H;}function u(){var T="technicalDetails";return[{"groupName":"","property":T+"/status"},{"groupName":"","property":T+"/statusText"},{"groupName":"Application","property":T+"/error/@SAP__common.Application/ComponentId"},{"groupName":"Application","property":T+"/error/@SAP__common.Application/ServiceId"},{"groupName":"Application","property":T+"/error/@SAP__common.Application/ServiceRepository"},{"groupName":"Application","property":T+"/error/@SAP__common.Application/ServiceVersion"},{"groupName":"ErrorResolution","property":T+"/error/@SAP__common.ErrorResolution/Analysis"},{"groupName":"ErrorResolution","property":T+"/error/@SAP__common.ErrorResolution/Note"},{"groupName":"ErrorResolution","property":T+"/error/@SAP__common.ErrorResolution/DetailedNote"},{"groupName":"ErrorResolution","property":T+"/error/@SAP__common.ExceptionCategory"},{"groupName":"ErrorResolution","property":T+"/error/@SAP__common.TimeStamp"},{"groupName":"ErrorResolution","property":T+"/error/@SAP__common.TransactionId"},{"groupName":"Messages","property":T+"/error/code"},{"groupName":"Messages","property":T+"/error/message"}];}var H="Object.keys("+"${technicalDetails}"+').length > 0 ? "<h2>Technical Details</h2>" : "" ';u().forEach(function(P){H=H+q(P)+""+i(P)+" + ";});return H;}function g(){var H="(${"+'description} ? ("<h2>Description</h2>" + ${'+'description}) : "")';return H;}function G(p){var q=e.None,L=p.length,u={Error:0,Warning:0,Success:0,Information:0};for(var i=0;i<L;i++){++u[p[i].getType()];}if(u[e.Error]>0){q=e.Error;}else if(u[e.Warning]>0){q=e.Warning;}else if(u[e.Success]>0){q=e.Success;}else if(u[e.Information]>0){q=e.Information;}return q;}function m(p,R){var q=p.getMessageModel().getObject("/");var u=false;var E="";q.forEach(function(v,i){var T=v.getTechnicalDetails();if(T&&T.httpStatus===412){E=E||R.getText("C_APP_COMPONENT_SAPFE_ETAG_TECHNICAL_ISSUES");p.removeMessages(q[i]);v.setMessage(E);v.target="";p.addMessages(v);u=true;}});return u;}function h(){t.oDialog.close();t.oBackButton.setVisible(false);r();}function s(p,q,H,S){var u=l(),v=sap.ui.getCore().getMessageManager(),w,x,y=[new F({path:"code",operator:c.NE,value1:null}),new F({path:"persistent",operator:c.NE,value1:false})],z=false;if(S){u.push.apply(u,l(true,true));y.push(new F({path:"persistent",operator:c.EQ,value1:true}));var A=function(i){var O=Infinity,P=sap.ui.getCore().byId(i[0]),Q=sap.ui.getCore().byId(i[0]);while(P){var R=P instanceof D?Q.getParent().findElements(true).indexOf(Q):Infinity;if(P instanceof D){if(O>R){O=R;Q.focus();}return false;}P=P.getParent();}return true;};y.push(new F({path:"controlIds",test:A,caseSensitive:true}));}else{y.push(new F({path:"target",operator:c.EQ,value1:""}));}if(p&&p.length){p.forEach(function(i){var O=i.code?i.code:"";v.addMessages(new d({message:i.text,type:i.type,target:"",persistent:true,code:O}));});}var L=v.getMessageModel().bindList("/",undefined,undefined,y),E=L.getCurrentContexts(),K=new J();if(E&&E.length>0){z=true;var N=[];E.forEach(function(q){N.push(q.getObject());});K.setData(N);}if(u.length===0&&!p&&!H){return Promise.resolve(true);}else if(u.length===1&&u[0].getType()===e.Success&&!p){return new Promise(function(i,O){M.show(u[0].message);v.removeMessages(u);i();});}else if(z){t.aResolveFunctions=t.aResolveFunctions||[];return new Promise(function(O,P){t.aResolveFunctions.push(O);sap.ui.getCore().getLibraryResourceBundle("sap.fe.core",true).then(function(R){t.oMessageTemplate=t.oMessageTemplate||new a({counter:"{counter}",title:"{message}",subtitle:"{additionalText}",longtextUrl:"{descriptionUrl}",type:"{type}",description:"{= ${"+"description} || ${technicalDetails} ? "+'"<html><body>" + '+g()+" + "+f()+'"</body></html>"'+' : "" }',markupDescription:true});t.oMessageView=t.oMessageView||new b({showDetailsPageHeader:false,itemSelect:function(){t.oBackButton.setVisible(true);},items:{path:"/",template:t.oMessageTemplate}});t.oBackButton=t.oBackButton||new B({icon:I.getIconURI("nav-back"),visible:false,press:function(){t.oMessageView.navigateBack();this.setVisible(false);}});t.oMessageView.setModel(K);t.oDialog=t.oDialog||new D({resizable:true,content:t.oMessageView,endButton:new B({press:function(){h();if(S){k();}},text:R.getText("C_COMMON_SAPFE_CLOSE")}),customHeader:new sap.m.Bar({contentMiddle:[new sap.m.Text({text:R.getText("C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE")})],contentLeft:[t.oBackButton]}),contentWidth:"37.5em",contentHeight:"21.5em",verticalScrolling:false,afterClose:function(Q){for(var i=0;i<t.aResolveFunctions.length;i++){t.aResolveFunctions[i].call();}t.aResolveFunctions=[];}});var H=m(v,R);if(H){sap.ui.require(["sap/m/ButtonType"],function(i){t.oDialog.setBeginButton(new B({press:function(){h();if(q.hasPendingChanges()){q.getBinding().resetChanges();}q.refresh();},text:R.getText("C_COMMON_SAPFE_REFRESH"),type:i.Emphasized}));});}else{t.oDialog.destroyBeginButton();}w=G(t.oMessageView.getItems());x=j(w);t.oDialog.setState(w);t.oDialog.getCustomHeader().getContentMiddle()[0].setText(x);t.oMessageView.navigateBack();t.oDialog.open();}).catch(P);});}else{return Promise.resolve(true);}}function j(H){var R=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core");switch(H){case"Error":return R.getText("C_COMMON_SAPFE_ERROR_MESSAGES_PAGE_TITLE_ERROR");case"Information":return R.getText("C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE_INFO");case"Success":return R.getText("C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE_SUCCESS");case"Warning":return R.getText("C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE_WARNING");default:return R.getText("C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE");}}function r(){n(false);}function k(){n(true);}function l(p,T){var q=sap.ui.getCore().getMessageManager(),u=q.getMessageModel(),v=u.getObject("/"),w=[];for(var i=0;i<v.length;i++){if((!T||v[i].persistent)&&((p&&v[i].target!=="")||(!p&&(!v[i].target||v[i].target==="")))&&v[i].code){w.push(v[i]);}}return w;}function n(i){var p=l(i,true);if(p.length>0){sap.ui.getCore().getMessageManager().removeMessages(p);}}var o={getMessages:l,showUnboundMessages:s,removeUnboundTransitionMessages:r,removeBoundTransitionMessages:k,modifyETagMessagesOnly:m};return o;});
6
+ sap.ui.define(["sap/m/MessageToast","sap/m/MessageItem","sap/m/MessageView","sap/m/Button","sap/m/Dialog","sap/ui/core/library","sap/ui/model/Filter","sap/ui/model/FilterOperator","sap/ui/core/message/Message","sap/ui/core/IconPool","sap/ui/model/json/JSONModel","sap/ui/core/format/DateFormat"],function(M,a,b,B,D,C,F,c,d,I,J,e){"use strict";var f=C.MessageType;var t=this;function g(){var P;function i(w){return w.property?"( ${"+w.property+'} ? ("<p>'+w.property.substr(Math.max(w.property.lastIndexOf("/"),w.property.lastIndexOf("."))+1)+' : " + '+"${"+w.property+'} + "</p>") : "" )':"";}function u(w){var H="";if(w.groupName&&w.property&&w.groupName!==P){H+="( ${"+w.property+'} ? "<br><h3>'+w.groupName+'</h3>" : "" ) + ';P=w.groupName;}return H;}function v(){var T="technicalDetails";return[{"groupName":"","property":T+"/status"},{"groupName":"","property":T+"/statusText"},{"groupName":"Application","property":T+"/error/@SAP__common.Application/ComponentId"},{"groupName":"Application","property":T+"/error/@SAP__common.Application/ServiceId"},{"groupName":"Application","property":T+"/error/@SAP__common.Application/ServiceRepository"},{"groupName":"Application","property":T+"/error/@SAP__common.Application/ServiceVersion"},{"groupName":"ErrorResolution","property":T+"/error/@SAP__common.ErrorResolution/Analysis"},{"groupName":"ErrorResolution","property":T+"/error/@SAP__common.ErrorResolution/Note"},{"groupName":"ErrorResolution","property":T+"/error/@SAP__common.ErrorResolution/DetailedNote"},{"groupName":"ErrorResolution","property":T+"/error/@SAP__common.ExceptionCategory"},{"groupName":"ErrorResolution","property":T+"/error/@SAP__common.TimeStamp"},{"groupName":"ErrorResolution","property":T+"/error/@SAP__common.TransactionId"},{"groupName":"Messages","property":T+"/error/code"},{"groupName":"Messages","property":T+"/error/message"}];}var H="Object.keys("+"${technicalDetails}"+').length > 0 ? "<h2>Technical Details</h2>" : "" ';v().forEach(function(w){H=H+u(w)+""+i(w)+" + ";});return H;}function h(){var H="(${"+'description} ? ("<h2>Description</h2>" + ${'+'description}) : "")';return H;}function G(u){var v=f.None,L=u.length,w={Error:0,Warning:0,Success:0,Information:0};for(var i=0;i<L;i++){++w[u[i].getType()];}if(w[f.Error]>0){v=f.Error;}else if(w[f.Warning]>0){v=f.Warning;}else if(w[f.Success]>0){v=f.Success;}else if(w[f.Information]>0){v=f.Information;}return v;}function m(u,R){var v=u.getMessageModel().getObject("/");var w=false;var E="";v.forEach(function(x,i){var T=x.getTechnicalDetails();if(T&&T.httpStatus===412){E=E||R.getText("C_APP_COMPONENT_SAPFE_ETAG_TECHNICAL_ISSUES");u.removeMessages(v[i]);x.setMessage(E);x.target="";u.addMessages(x);w=true;}});return w;}function j(){t.oDialog.close();t.oBackButton.setVisible(false);r();}function k(i,u){var N=new Date();var T=i.getTechnicalDetails(),R=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core"),v;if(T&&T.httpStatus===503&&T.retryAfter){var w=T.retryAfter;var v;var x;if(N.getFullYear()!==w.getFullYear()){x=e.getDateTimeInstance({pattern:"MMMM dd, yyyy 'at' hh:mm a"});v=R.getText("C_MESSAGE_HANDLING_SAPFE_503_ERROR_YEAR",x.format(w));}else if(N.getFullYear()==w.getFullYear()){if(u){v=R.getText("C_MESSAGE_HANDLING_SAPFE_503_TITLE")+" "+R.getText("C_MESSAGE_HANDLING_SAPFE_503_DESC");}else if(N.getMonth()!==w.getMonth()||N.getDate()!==w.getDate()){x=sap.ui.core.format.DateFormat.getDateTimeInstance({pattern:"MMMM dd 'at' hh:mm a"});v=R.getText("C_MESSAGE_HANDLING_SAPFE_503_ERROR",x.format(w));}else{x=sap.ui.core.format.DateFormat.getDateTimeInstance({pattern:"hh:mm a"});v=R.getText("C_MESSAGE_HANDLING_SAPFE_503_ERROR_DAY",x.format(w));}}}if(T&&T.httpStatus===503&&!T.retryAfter){v=R.getText("C_MESSAGE_HANDLING_SAPFE_503_ERROR_NO_RETRY_AFTER");}return v;}function s(u,v,H,S){var U=o(),w=sap.ui.getCore().getMessageManager(),x,y,z=[new F({path:"code",operator:c.NE,value1:null}),new F({path:"persistent",operator:c.NE,value1:false})],A=false;if(S){U.push.apply(U,o(true,true));z.push(new F({path:"persistent",operator:c.EQ,value1:true}));var E=function(i){var P=Infinity,Q=sap.ui.getCore().byId(i[0]),R=sap.ui.getCore().byId(i[0]);while(Q){var T=Q instanceof D?R.getParent().findElements(true).indexOf(R):Infinity;if(Q instanceof D){if(P>T){P=T;R.focus();}return false;}Q=Q.getParent();}return true;};z.push(new F({path:"controlIds",test:E,caseSensitive:true}));}else{z.push(new F({path:"target",operator:c.EQ,value1:""}));}if(u&&u.length){u.forEach(function(i){var P=i.code?i.code:"";w.addMessages(new d({message:i.text,type:i.type,target:"",persistent:true,code:P}));});}var L=w.getMessageModel().bindList("/",undefined,undefined,z),K=L.getCurrentContexts(),N=new J();if(K&&K.length>0){A=true;var O=[];K.forEach(function(v){var i=v.getObject(),R=k(i,true);if(R){i.setMessage(R+" "+i.getMessage());}O.push(i);});N.setData(O);}if(U.length===0&&!u&&!H){return Promise.resolve(true);}else if(U.length===1&&U[0].getType()===f.Success&&!u){return new Promise(function(i,P){M.show(U[0].message);w.removeMessages(U);i();});}else if(A){t.aResolveFunctions=t.aResolveFunctions||[];return new Promise(function(P,Q){t.aResolveFunctions.push(P);sap.ui.getCore().getLibraryResourceBundle("sap.fe.core",true).then(function(R){t.oMessageTemplate=t.oMessageTemplate||new a({counter:"{counter}",title:"{message}",subtitle:"{additionalText}",longtextUrl:"{descriptionUrl}",type:"{type}",description:"{= ${"+"description} || ${technicalDetails} ? "+'"<html><body>" + '+h()+" + "+g()+'"</body></html>"'+' : "" }',markupDescription:true});t.oMessageView=t.oMessageView||new b({showDetailsPageHeader:false,itemSelect:function(){t.oBackButton.setVisible(true);},items:{path:"/",template:t.oMessageTemplate}});t.oBackButton=t.oBackButton||new B({icon:I.getIconURI("nav-back"),visible:false,press:function(){t.oMessageView.navigateBack();this.setVisible(false);}});t.oMessageView.setModel(N);t.oDialog=t.oDialog||new D({resizable:true,content:t.oMessageView,endButton:new B({press:function(){j();if(S){n();}},text:R.getText("C_COMMON_SAPFE_CLOSE")}),customHeader:new sap.m.Bar({contentMiddle:[new sap.m.Text({text:R.getText("C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE")})],contentLeft:[t.oBackButton]}),contentWidth:"37.5em",contentHeight:"21.5em",verticalScrolling:false,afterClose:function(T){for(var i=0;i<t.aResolveFunctions.length;i++){t.aResolveFunctions[i].call();}t.aResolveFunctions=[];}});var H=m(w,R);if(H){sap.ui.require(["sap/m/ButtonType"],function(i){t.oDialog.setBeginButton(new B({press:function(){j();if(v.hasPendingChanges()){v.getBinding().resetChanges();}v.refresh();},text:R.getText("C_COMMON_SAPFE_REFRESH"),type:i.Emphasized}));});}else{t.oDialog.destroyBeginButton();}x=G(t.oMessageView.getItems());y=l(x);t.oDialog.setState(x);t.oDialog.getCustomHeader().getContentMiddle()[0].setText(y);t.oMessageView.navigateBack();t.oDialog.open();}).catch(Q);});}else{return Promise.resolve(true);}}function l(H){var R=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core");switch(H){case"Error":return R.getText("C_COMMON_SAPFE_ERROR_MESSAGES_PAGE_TITLE_ERROR");case"Information":return R.getText("C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE_INFO");case"Success":return R.getText("C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE_SUCCESS");case"Warning":return R.getText("C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE_WARNING");default:return R.getText("C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE");}}function r(){p(false);}function n(){p(true);}function o(u,T){var v=sap.ui.getCore().getMessageManager(),w=v.getMessageModel(),x=w.getObject("/"),y=[];for(var i=0;i<x.length;i++){if((!T||x[i].persistent)&&((u&&x[i].target!=="")||(!u&&(!x[i].target||x[i].target==="")))&&x[i].code){y.push(x[i]);}}for(var i=0;i<y.length;i++){if(y[i].code==="503"){y[i].message="\n"+y[i].message;}}return y;}function p(i){var u=o(i,true);if(u.length>0){sap.ui.getCore().getMessageManager().removeMessages(u);}}var q={getMessages:o,showUnboundMessages:s,removeUnboundTransitionMessages:r,removeBoundTransitionMessages:n,modifyETagMessagesOnly:m,getRetryAfterMessage:k};return q;});
@@ -390,6 +390,38 @@ sap.ui.define(
390
390
  return aResults;
391
391
  });
392
392
  },
393
+ _validateMessages = function(aActionParameters, aFieldInvalid, bClearTarget) {
394
+ var oMessageManager = sap.ui.getCore().getMessageManager();
395
+ var aMessages = oMessageManager.getMessageModel().getData();
396
+
397
+ aFieldInvalid = [];
398
+
399
+ aActionParameters.forEach(function(oActionParameters) {
400
+ var sParameter = oActionParameters.$Name;
401
+ aMessages.forEach(function(oMessage) {
402
+ var sParam = sParameter.replace("-inner", "");
403
+ if (
404
+ oMessage.controlIds.length > 0 &&
405
+ (oMessage.getControlId().includes("APD_::" + sParameter) ||
406
+ (oMessage.getControlId().includes("APD_::" + sParameter + "inner") &&
407
+ aFieldInvalid.indexOf("APD_::" + sParam) < 0))
408
+ ) {
409
+ if (bClearTarget) {
410
+ oMessageManager.removeMessages(oMessage);
411
+ } else {
412
+ aFieldInvalid.push("APD_::" + sParam);
413
+ }
414
+ }
415
+ // Handle messages related to input with invalid token
416
+ if (oMessage.target.includes("APD_::" + sParameter)) {
417
+ aFieldInvalid.push("APD_::" + sParam);
418
+ oMessage.target = bClearTarget ? "" : oMessage.target;
419
+ oMessageManager.removeMessages(oMessage);
420
+ }
421
+ });
422
+ });
423
+ return aFieldInvalid;
424
+ },
393
425
  oController = {
394
426
  handleChange: function(oEvent) {
395
427
  messageHandler.removeTransitionMessages();
@@ -401,6 +433,7 @@ sap.ui.define(
401
433
  return oField.getValue();
402
434
  });
403
435
  }
436
+ _validateMessages(aActionParameters, aFieldInvalid);
404
437
  }
405
438
  };
406
439
 
@@ -464,29 +497,11 @@ sap.ui.define(
464
497
  });
465
498
  return;
466
499
  }
467
- var aMessages = sap.ui
468
- .getCore()
469
- .getMessageManager()
470
- .getMessageModel()
471
- .getData();
472
500
 
473
- aFieldInvalid = [];
474
- aActionParameters.forEach(function(oActionParameters) {
475
- var sParameter = oActionParameters.$Name;
476
- aMessages.forEach(function(oMessage) {
477
- var sParam = sParameter.replace("-inner", "");
478
- if (
479
- oMessage.controlIds.length > 0 &&
480
- (oMessage.getControlId().includes("APD_::" + sParameter) ||
481
- (oMessage.getControlId().includes("APD_::" + sParameter + "inner") &&
482
- aFieldInvalid.indexOf("APD_::" + sParam) < 0))
483
- ) {
484
- aFieldInvalid.push("APD_::" + sParam);
485
- }
486
- });
487
- });
501
+ aFieldInvalid = _validateMessages(aActionParameters, aFieldInvalid);
502
+
488
503
  if (aFieldInvalid.length > 0) {
489
- return;
504
+ return messageHandling.showUnboundMessages();
490
505
  }
491
506
  BusyLocker.lock(oDialog);
492
507
  return Promise.all(
@@ -536,10 +551,13 @@ sap.ui.define(
536
551
  oResourceBundle
537
552
  );
538
553
 
539
- messageHandler.showMessageDialog({
554
+ messageHandler.showMessages({
540
555
  bHasEtagMessage: bHasEtagMessage,
541
556
  context: mParameters.aContexts[0],
542
- isActionParameterDialogOpen: true
557
+ isActionParameterDialogOpen: true,
558
+ messagePageNavigationCallback: function() {
559
+ oDialog.close();
560
+ }
543
561
  });
544
562
  if (oDialog && bHasEtagMessage) {
545
563
  oDialog.close(); //close the action parameter dialog after refresh of the context after etag mismatch
@@ -557,6 +575,7 @@ sap.ui.define(
557
575
  endButton: {
558
576
  text: CommonUtils.getTranslatedText("C_COMMON_ACTION_PARAMETER_DIALOG_CANCEL", oResourceBundle),
559
577
  press: function() {
578
+ _validateMessages(aActionParameters, aFieldInvalid, true);
560
579
  oDialog.close();
561
580
  messageHandler.removeTransitionMessages();
562
581
  reject(Constants.CancelActionDialog);
@@ -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/MessageBox","sap/m/Dialog","sap/ui/model/json/JSONModel","sap/ui/core/XMLTemplateProcessor","sap/ui/core/util/XMLPreprocessor","sap/ui/core/Fragment","sap/fe/core/actions/messageHandling","sap/fe/core/BusyLocker","sap/fe/core/CommonUtils","sap/base/Log","sap/fe/core/library","sap/fe/core/helpers/FPMHelper"],function(M,D,J,X,a,F,m,B,C,L,b,c){"use strict";var d=b.Constants;function e(A,i,j,u,P){if(!i||i.length===0){return Promise.reject("Bound actions always requires at least one context");}if(Array.isArray(i)){P.bReturnAsArray=true;}else{i=[i];}var v=j.getMetaModel(),w=v.getMetaPath(i[0].getPath())+"/"+A,x=v.createBindingContext(w+"/@$ui5.overload/0");P.aContexts=i;P.isCriticalAction=o(v,w,i,x);return k(A,j,x,u,P);}function f(A,i,j,P){if(!i){return Promise.reject("Action expects a model/context for execution");}var u=i.getMetaModel(),v=i.bindContext("/"+A).getPath(),w=u.createBindingContext("/"+u.createBindingContext(v).getObject("$Action")+"/0");P.isCriticalAction=o(u,v+"/@$ui5.overload");return k(A,i,w,j,P);}function g(i,j,u){if(!j){return Promise.reject("Bound functions always requires a context");}var v=u.getMetaModel(),w=v.getMetaPath(j.getPath())+"/"+i,x=v.createBindingContext(w);return _(i,u,x,j);}function h(i,j){if(!i){return Promise.resolve();}var u=j.getMetaModel(),v=j.bindContext("/"+i).getPath(),w=u.createBindingContext("/"+u.createBindingContext(v).getObject("$Function")+"/0");return _(i,j,w);}function _(i,j,u,v){var w,G;if(!u||!u.getObject()){return Promise.reject(new Error("Function"+i+" not found"));}if(v){u=j.bindContext(i+"(...)",v);G="functionGroup";}else{u=j.bindContext("/"+i+"(...)");G="functionImport";}w=u.execute(G);j.submitBatch(G);return w.then(function(){return u.getBoundContext();});}function k(A,i,j,u,P){return new Promise(function(v,w){var x=P.actionParameters||[],y={},z,E,G=P.label,S=P.showActionParameterDialog,H=P.aContexts,I=P.bIsCreateAction,K=P.isCriticalAction,N,O,Q,R;if(!j||!j.getObject()){return w(new Error("Action"+A+" not found"));}if(S||x.length>0){x=p(j,x);if(!x||x.length===0){S=false;}}if(S){z=s;}else if(K){z=l;}y={fnOnSubmitted:P.onSubmitted,fnOnResponse:P.onResponse,actionName:A,model:i,aActionParameters:x,bGetBoundContext:P.bGetBoundContext,defaultValuesExtensionFunction:P.defaultValuesExtensionFunction};if(j.getObject("$IsBound")){if(P.additionalSideEffect&&P.additionalSideEffect.pathExpressions){N=i.getMetaModel();O=N.getMetaPath(H[0].getPath());Q=N.getObject(O+"/@com.sap.vocabularies.Common.v1.Messages/$Path");if(Q){R=P.additionalSideEffect.pathExpressions.findIndex(function(T){return T.$PropertyPath===Q;});if(R>-1){P.mBindingParameters=P.mBindingParameters||{};if(j.getObject("$ReturnType/$Type/"+Q)&&(!P.mBindingParameters.$select||P.mBindingParameters.$select.split(",").indexOf(Q)===-1)){P.mBindingParameters.$select=P.mBindingParameters.$select?P.mBindingParameters.$select+","+Q:Q;if(P.additionalSideEffect.triggerActions.length===0){P.additionalSideEffect.pathExpressions.splice(R,1);}}}}}y.aContexts=H;y.mBindingParameters=P.mBindingParameters;y.additionalSideEffect=P.additionalSideEffect;y.bGrouped=P.invocationGrouping==="ChangeSet";y.bReturnAsArray=P.bReturnAsArray;y.internalModelContext=P.internalModelContext;y.operationAvailableMap=P.operationAvailableMap;y.bObjectPage=P.bObjectPage;}if(I){y.bIsCreateAction=I;}if(z){E=z(A,u,G,y,x,j,P.parentControl,P.entitySetName,P.messageHandler);}else{E=q(u,y);}return E.then(function(T){v(T);}).catch(function(T){w(T);});});}function l(A,i,j,P,u,v,w,x,y){return new Promise(function(z,E){var G=A?A:null;G=G.indexOf(".")>=0?G.split(".")[G.split(".").length-1]:G;var H=G&&x?x+"|"+G:"";var R=w.getController().oResourceBundle;var I=C.getTranslatedText("C_OPERATIONS_ACTION_CONFIRM_MESSAGE",R,null,H);M.confirm(I,{onClose:function(K){if(K===M.Action.OK){return q(i,P).then(function(O){z(O);}).catch(function(N){y.showMessageDialog().then(function(){E(N);}).catch(function(){E(N);});});}else{z();}}});});}function s(A,u,v,P,w,x,y,z,E){var G=r(x,A),H=x.getModel().oModel.getMetaModel(),I=H.createBindingContext(G),K=x.getObject("$IsBound")?x.getPath().split("/@$ui5.overload/0")[0]:x.getPath().split("/0")[0],N=H.createBindingContext(K),O="sap/fe/core/controls/ActionParameterDialog";return new Promise(function(Q,R){var S=X.loadTemplate(O,"fragment"),T=new J({$displayMode:{}}),U=[],V=[],W={},Y=function(){return Promise.all(V.filter(function(i){var j=i.getFields()[0];return j.getRequired()&&j.getValueState()!=="Error";}).map(function(i){var j=i.getFields()[0].isA("sap.ui.mdc.MultiValueField")?i.getFields()[0].getItems():i.getFields()[0].getValue();if(j===undefined||j===null||j===""){return i.getLabel().getText();}})).then(function(i){i=i.filter(function(j){return j!==undefined;});return i;});},Z={handleChange:function(i){E.removeTransitionMessages();var j=i.getSource();var $=i.getParameter("id");var a1=i.getParameter("promise");if(a1){W[$]=a1.then(function(){return j.getValue();});}}};return Promise.resolve(a.process(S,{name:O},{bindingContexts:{action:x,actionName:N,entitySet:I},models:{action:x.getModel(),actionName:N.getModel(),entitySet:I.getModel(),metaModel:I.getModel()}})).then(function(S){return C.setUserDefaults(u,w,T,true).then(function(){return F.load({definition:S,controller:Z}).then(function($){var a1;var b1=y.getController().oResourceBundle;var c1=new D({title:v||C.getTranslatedText("C_OPERATIONS_ACTION_PARAMETER_DIALOG_TITLE",b1),content:[$],escapeHandler:function(i){c1.close();E.removeTransitionMessages();R();},beginButton:{text:v||C.getTranslatedText("C_COMMON_DIALOG_OK",b1),type:"Emphasized",press:function(g1){Y().then(function(h1){if(h1.length){var i1=[];for(var i=0;i<h1.length;i++){i1.push({text:C.getTranslatedText("C_OPERATIONS_ACTION_PARAMETER_DIALOG_MISSING_MANDATORY_MSG",b1,h1[i]),code:200,type:"Error"});}E.showMessageDialog({customMessages:i1});return;}var j1=sap.ui.getCore().getMessageManager().getMessageModel().getData();U=[];w.forEach(function(j){var k1=j.$Name;j1.forEach(function(l1){var m1=k1.replace("-inner","");if(l1.controlIds.length>0&&(l1.getControlId().includes("APD_::"+k1)||(l1.getControlId().includes("APD_::"+k1+"inner")&&U.indexOf("APD_::"+m1)<0))){U.push("APD_::"+m1);}});});if(U.length>0){return;}B.lock(c1);return Promise.all(Object.keys(W).map(function(j){return W[j];})).then(function(){E.removeTransitionMessages();var k1,l1=a1&&a1.getParameterContext();for(var i in w){if(w[i].$isCollection){var m1=c1.getModel("mvfview").getProperty("/"+w[i].$Name),n1=[];for(var j in m1){n1.push(m1[j].Key);}k1=n1;}else{k1=l1.getProperty(w[i].$Name);}w[i].value=k1;k1=undefined;}return q(u,P).then(function(o1){c1.close();Q(o1);}).catch(function(o1){throw o1;});}).catch(function(){var j=sap.ui.getCore().getMessageManager();var k1=m.modifyETagMessagesOnly(j,b1);E.showMessageDialog({bHasEtagMessage:k1,context:P.aContexts[0],isActionParameterDialogOpen:true});if(c1&&k1){c1.close();}}).finally(function(){B.unlock(c1);});}).catch(function(){return E.showMessageDialog();});}},endButton:{text:C.getTranslatedText("C_COMMON_ACTION_PARAMETER_DIALOG_CANCEL",b1),press:function(){c1.close();E.removeTransitionMessages();R(d.CancelActionDialog);}},beforeOpen:function(g1){var h1=Object.assign({},g1);E.removeTransitionMessages();var i1=function(k1){var l1=function(p1,j){return new Promise(function(Q,R){if(j!==undefined){if(f1.length>0&&j.$Path){var y1=C.requestSingletonProperty(j.$Path,a1.getModel());y1.then(function(z1){if(z1===null){return a1.getParameterContext().requestProperty(j.$Path);}return z1;}).then(function(z1){if(f1.length>1){var A1=j.$Path;if(A1.indexOf(k1+"/")===0){A1=A1.replace(k1+"/","");}for(var i=1;i<f1.length;i++){if(f1[i].getProperty(A1)!==z1){Q({paramName:p1,value:undefined,bNoPossibleValue:true});}}}Q({paramName:p1,value:z1});}).catch(function(){L.error("Error while reading default action parameter",p1,P.actionName);Q({paramName:p1,value:undefined,bLatePropertyError:true});});}else{Q({paramName:p1,value:j});}}else{if(T&&T.oData[p1]){Q({paramName:p1,value:T.oData[p1]});}else{Q({paramName:p1,value:undefined});}}});};var m1=function(p1){var j=c1.getModel().getMetaModel(),e1=x.sPath&&x.sPath.split("/@")[0],y1=e1+"/"+p1+"@",z1=j.getObject(y1),A1=z1&&z1["@com.sap.vocabularies.UI.v1.ParameterDefaultValue"];return A1;};var n1=function(){var j=c1.getModel().getMetaModel(),e1=x.sPath&&x.sPath.split("/@")[0],y1=j.getObject(e1+"@com.sap.vocabularies.Common.v1.DefaultValuesFunction");return y1;};var o1=[];var p1,q1;for(var i in w){p1=w[i].$Name;q1=m1(p1);o1.push(l1(p1,q1));}if(x.getObject("$IsBound")&&f1.length>0){var r1=n1();if(r1&&r1.length>0&&typeof r1==="string"){var s1=[];for(var i in f1){s1.push(g(r1,f1[i],P.model,P));}}}var t1=Promise.all(o1),u1=[],v1;if(s1){u1=Promise.all(s1);}if(P.defaultValuesExtensionFunction){var w1=P.defaultValuesExtensionFunction.substring(0,P.defaultValuesExtensionFunction.lastIndexOf(".")||-1).replace(/\./gi,"/"),x1=P.defaultValuesExtensionFunction.substring(P.defaultValuesExtensionFunction.lastIndexOf(".")+1,P.defaultValuesExtensionFunction.length);v1=c.actionWrapper(h1,w1,x1,{"contexts":f1});}Promise.all([t1,u1,v1]).then(function(y1){var o1=y1[0],s1=y1[1],z1=y1[2],A1;for(var i in w){A1=w[i].$Name;if(z1&&z1.hasOwnProperty(A1)){a1.setParameter(w[i].$Name,z1[A1]);}else if(o1[i]&&o1[i].value!==undefined){a1.setParameter(w[i].$Name,o1[i].value);}else if(r1&&!o1[i].bNoPossibleValue){if(f1.length>1){var j=0;while(j<f1.length-1){if(s1[j]&&s1[j+1]&&s1[j].getObject(A1)===s1[j+1].getObject(A1)){j++;}else{break;}}if(j===f1.length-1){a1.setParameter(w[i].$Name,s1[j].getObject(A1));}}else{if(s1[0]&&s1[0].getObject(A1)){a1.setParameter(w[i].$Name,s1[0].getObject(A1));}}}}var B1=o1.some(function(D1){if(D1.bLatePropertyError){return D1.bLatePropertyError;}});if(B1){var C1=C.getTranslatedText("C_APP_COMPONENT_SAPFE_ETAG_LATE_PROPERTY",b1);M.warning(C1,{contentWidth:"25em"});}}).catch();};if(x.getObject("$IsBound")&&f1.length>0){var j1=x.getObject("$Parameter"),k1=j1[0]&&j1[0].$Name;f1[0].requestObject().then(function(i){if(i){a1.setParameter(k1,i);}i1(k1);}).catch(function(i){L.error("Error while retrieving the parameter",i);});}else{i1();}},afterClose:function(){c1.destroy();}});V=$.getAggregation("form").getAggregation("formContainers")[0].getAggregation("formElements");c1.setModel(x.getModel().oModel);c1.setModel(T,"paramsModel");c1.bindElement({path:"/",model:"paramsModel"});var d1=new J({});c1.setModel(d1,"mvfview");var e1=A+"(...)";var f1=P.aContexts||[];if(!f1.length){e1="/"+e1;}c1.bindElement({path:e1});if(y){y.addDependent(c1);}if(f1.length>0){c1.setBindingContext(f1[0]);}a1=c1.getObjectBinding();c1.open();});});}).catch(R);});}function p(A,P){var i=n(A);P=P||[];if(P.length>0){}return i;}function n(A){var P=A.getObject("$Parameter")||[];if(P&&P.length){if(A.getObject("$IsBound")){return P.slice(1,P.length)||[];}}return P;}function o(i,P,j,u){var A=i.getObject(P+"@com.sap.vocabularies.Common.v1.IsActionCritical"),v=A&&A.$Path;if(!v){return!!A;}var w=u&&u.getObject("$Parameter"),x=v&&v.split("/"),y=w&&w.length&&typeof w==="object"&&v&&j&&j.length;if(y){w.filter(function(z){var E=x&&x.indexOf(z.$Name);if(E>-1){x.splice(E,1);}});v=x.join("/");return j[0].getObject(v);}else if(v){return j[0].getObject(v);}}function q(A,P){var u=P.aContexts||[],v=P.model,E=m.getMessages().length||0,w=P.aActionParameters||[],x=P.actionName,O=P.fnOnSubmitted,y=P.fnOnResponse,I=P.bIsCreateAction,z=false,G;function H(i){return i.then(function(j){var Q=m.getMessages();if(Q.length>E&&Q[Q.length-1].type==="Error"){return{response:j,status:"rejected"};}return{response:j,status:"resolved"};},function(j){return{response:j,status:"rejected"};});}function K(){if(w&&w.length){z=true;for(var j=0;j<w.length;j++){if(!w[j].value){switch(w[j].$Type){case"Edm.String":w[j].value="";break;case"Edm.Boolean":w[j].value=false;break;case"Edm.Byte":case"Edm.Int16":case"Edm.Int32":case"Edm.Int64":w[j].value=0;break;default:break;}}G.setParameter(w[j].$Name,w[j].value);}}}if(u.length){return new Promise(function(Q,R){var S=P.mBindingParameters,T=P.bGrouped,U=P.bReturnAsArray,V=P.bGetBoundContext,W=[],N,i,Y,Z=function(G,j,c1){K();Y=!T?"$auto."+j:G.getUpdateGroupId();N=V?G.execute(Y).then(function(){return G.getBoundContext();}):G.execute(Y);W.push(N);var d1=A.getSideEffectsService();if(c1&&c1.triggerActions&&c1.triggerActions.length){c1.triggerActions.forEach(function(e1){if(e1){d1.executeAction(e1,c1.context,Y);}});}if(c1&&c1.pathExpressions&&c1.pathExpressions.length>0){d1.requestSideEffects(c1.pathExpressions,c1.context,Y).then(function(){if(P.operationAvailableMap&&P.internalModelContext){C.setActionEnablement(P.internalModelContext,JSON.parse(P.operationAvailableMap),P.aContexts);}}).catch(function(e1){L.error("Error while requesting side effects",e1);});}},$=function(G,j,c1){var d1=new Promise(function(Q,R){var e1,f1=[];K();Y="apiMode"+j;N=V?G.execute(Y).then(function(){return G.getBoundContext();}):G.execute(Y);W.push(N);f1.push(N);var g1=A.getSideEffectsService();if(c1&&c1.triggerActions&&c1.triggerActions.length){c1.triggerActions.forEach(function(h1){if(h1){e1=g1.executeAction(h1,c1.context,Y);f1.push(e1);}});}if(c1&&c1.pathExpressions&&c1.pathExpressions.length>0){e1=g1.requestSideEffects(c1.pathExpressions,c1.context,Y);f1.push(e1);e1.then(function(){if(P.operationAvailableMap&&P.internalModelContext){C.setActionEnablement(P.internalModelContext,JSON.parse(P.operationAvailableMap),P.aContexts);}}).catch(function(h1){L.error("Error while requesting side effects",h1);});}v.submitBatch(Y);Promise.all(f1).then(function(){return Q();}).catch(function(){return Q();});});return d1;};function a1(u){(O||function e1(){})(W);function c1(e1,i){G=v.bindContext(x+"(...)",e1,S);return $(G,i,{context:e1,pathExpressions:P.additionalSideEffect&&P.additionalSideEffect.pathExpressions,triggerActions:P.additionalSideEffect&&P.additionalSideEffect.triggerActions});}var d1=Promise.resolve(undefined);var j=0;u.forEach(function(e1){var id=++j;d1=d1.then(function(){return c1(e1,id);});});d1.then(function(){b1();}).catch();}if(P.bObjectPage&&!T){a1(u);}else{for(i=0;i<u.length;i++){G=v.bindContext(x+"(...)",u[i],S);Z(G,u.length<=1?null:i,{context:u[i],pathExpressions:P.additionalSideEffect&&P.additionalSideEffect.pathExpressions,triggerActions:P.additionalSideEffect&&P.additionalSideEffect.triggerActions});}(O||function j(){})(W);b1();}function b1(){Promise.all(W.map(H)).then(function(j){var c1=[],d1=[],e1;for(e1=0;e1<j.length;e1++){if(j[e1].status==="rejected"){c1.push(j[e1].response);}if(j[e1].status==="resolved"){if(I&&z){j[e1].bConsiderDocumentModified=true;d1.push(j[e1]);}else{d1.push(j[e1].response);}}}if(!j||(j&&j.length===0)){R(true);}if(c1.length===0){if(U){Q(d1);}else{Q(d1[0]);}}else{R({resolvedItems:d1,rejectedItems:c1});}}).catch(R);}}).finally(function(){(y||function i(){})();});}else{var N;G=v.bindContext("/"+x+"(...)");K();N=G.execute("actionImport");v.submitBatch("actionImport");(O||function i(){})(N);return N.finally(function(){(y||function i(){})();});}}function r(A,i){var P=A.getPath();P=A.getObject("$IsBound")?P.split("@$ui5.overload")[0]:P.split("/0")[0];return P.split("/"+i)[0];}var t={callBoundAction:e,callActionImport:f,callBoundFunction:g,callFunctionImport:h};return t;});
6
+ sap.ui.define(["sap/m/MessageBox","sap/m/Dialog","sap/ui/model/json/JSONModel","sap/ui/core/XMLTemplateProcessor","sap/ui/core/util/XMLPreprocessor","sap/ui/core/Fragment","sap/fe/core/actions/messageHandling","sap/fe/core/BusyLocker","sap/fe/core/CommonUtils","sap/base/Log","sap/fe/core/library","sap/fe/core/helpers/FPMHelper"],function(M,D,J,X,a,F,m,B,C,L,b,c){"use strict";var d=b.Constants;function e(A,i,j,u,P){if(!i||i.length===0){return Promise.reject("Bound actions always requires at least one context");}if(Array.isArray(i)){P.bReturnAsArray=true;}else{i=[i];}var v=j.getMetaModel(),w=v.getMetaPath(i[0].getPath())+"/"+A,x=v.createBindingContext(w+"/@$ui5.overload/0");P.aContexts=i;P.isCriticalAction=o(v,w,i,x);return k(A,j,x,u,P);}function f(A,i,j,P){if(!i){return Promise.reject("Action expects a model/context for execution");}var u=i.getMetaModel(),v=i.bindContext("/"+A).getPath(),w=u.createBindingContext("/"+u.createBindingContext(v).getObject("$Action")+"/0");P.isCriticalAction=o(u,v+"/@$ui5.overload");return k(A,i,w,j,P);}function g(i,j,u){if(!j){return Promise.reject("Bound functions always requires a context");}var v=u.getMetaModel(),w=v.getMetaPath(j.getPath())+"/"+i,x=v.createBindingContext(w);return _(i,u,x,j);}function h(i,j){if(!i){return Promise.resolve();}var u=j.getMetaModel(),v=j.bindContext("/"+i).getPath(),w=u.createBindingContext("/"+u.createBindingContext(v).getObject("$Function")+"/0");return _(i,j,w);}function _(i,j,u,v){var w,G;if(!u||!u.getObject()){return Promise.reject(new Error("Function"+i+" not found"));}if(v){u=j.bindContext(i+"(...)",v);G="functionGroup";}else{u=j.bindContext("/"+i+"(...)");G="functionImport";}w=u.execute(G);j.submitBatch(G);return w.then(function(){return u.getBoundContext();});}function k(A,i,j,u,P){return new Promise(function(v,w){var x=P.actionParameters||[],y={},z,E,G=P.label,S=P.showActionParameterDialog,H=P.aContexts,I=P.bIsCreateAction,K=P.isCriticalAction,N,O,Q,R;if(!j||!j.getObject()){return w(new Error("Action"+A+" not found"));}if(S||x.length>0){x=p(j,x);if(!x||x.length===0){S=false;}}if(S){z=s;}else if(K){z=l;}y={fnOnSubmitted:P.onSubmitted,fnOnResponse:P.onResponse,actionName:A,model:i,aActionParameters:x,bGetBoundContext:P.bGetBoundContext,defaultValuesExtensionFunction:P.defaultValuesExtensionFunction};if(j.getObject("$IsBound")){if(P.additionalSideEffect&&P.additionalSideEffect.pathExpressions){N=i.getMetaModel();O=N.getMetaPath(H[0].getPath());Q=N.getObject(O+"/@com.sap.vocabularies.Common.v1.Messages/$Path");if(Q){R=P.additionalSideEffect.pathExpressions.findIndex(function(T){return T.$PropertyPath===Q;});if(R>-1){P.mBindingParameters=P.mBindingParameters||{};if(j.getObject("$ReturnType/$Type/"+Q)&&(!P.mBindingParameters.$select||P.mBindingParameters.$select.split(",").indexOf(Q)===-1)){P.mBindingParameters.$select=P.mBindingParameters.$select?P.mBindingParameters.$select+","+Q:Q;if(P.additionalSideEffect.triggerActions.length===0){P.additionalSideEffect.pathExpressions.splice(R,1);}}}}}y.aContexts=H;y.mBindingParameters=P.mBindingParameters;y.additionalSideEffect=P.additionalSideEffect;y.bGrouped=P.invocationGrouping==="ChangeSet";y.bReturnAsArray=P.bReturnAsArray;y.internalModelContext=P.internalModelContext;y.operationAvailableMap=P.operationAvailableMap;y.bObjectPage=P.bObjectPage;}if(I){y.bIsCreateAction=I;}if(z){E=z(A,u,G,y,x,j,P.parentControl,P.entitySetName,P.messageHandler);}else{E=q(u,y);}return E.then(function(T){v(T);}).catch(function(T){w(T);});});}function l(A,i,j,P,u,v,w,x,y){return new Promise(function(z,E){var G=A?A:null;G=G.indexOf(".")>=0?G.split(".")[G.split(".").length-1]:G;var H=G&&x?x+"|"+G:"";var R=w.getController().oResourceBundle;var I=C.getTranslatedText("C_OPERATIONS_ACTION_CONFIRM_MESSAGE",R,null,H);M.confirm(I,{onClose:function(K){if(K===M.Action.OK){return q(i,P).then(function(O){z(O);}).catch(function(N){y.showMessageDialog().then(function(){E(N);}).catch(function(){E(N);});});}else{z();}}});});}function s(A,u,v,P,w,x,y,z,E){var G=r(x,A),H=x.getModel().oModel.getMetaModel(),I=H.createBindingContext(G),K=x.getObject("$IsBound")?x.getPath().split("/@$ui5.overload/0")[0]:x.getPath().split("/0")[0],N=H.createBindingContext(K),O="sap/fe/core/controls/ActionParameterDialog";return new Promise(function(Q,R){var S=X.loadTemplate(O,"fragment"),T=new J({$displayMode:{}}),U=[],V=[],W={},Y=function(){return Promise.all(V.filter(function(i){var j=i.getFields()[0];return j.getRequired()&&j.getValueState()!=="Error";}).map(function(i){var j=i.getFields()[0].isA("sap.ui.mdc.MultiValueField")?i.getFields()[0].getItems():i.getFields()[0].getValue();if(j===undefined||j===null||j===""){return i.getLabel().getText();}})).then(function(i){i=i.filter(function(j){return j!==undefined;});return i;});},Z=function(w,U,i){var j=sap.ui.getCore().getMessageManager();var a1=j.getMessageModel().getData();U=[];w.forEach(function(b1){var c1=b1.$Name;a1.forEach(function(d1){var e1=c1.replace("-inner","");if(d1.controlIds.length>0&&(d1.getControlId().includes("APD_::"+c1)||(d1.getControlId().includes("APD_::"+c1+"inner")&&U.indexOf("APD_::"+e1)<0))){if(i){j.removeMessages(d1);}else{U.push("APD_::"+e1);}}if(d1.target.includes("APD_::"+c1)){U.push("APD_::"+e1);d1.target=i?"":d1.target;j.removeMessages(d1);}});});return U;},$={handleChange:function(i){E.removeTransitionMessages();var j=i.getSource();var a1=i.getParameter("id");var b1=i.getParameter("promise");if(b1){W[a1]=b1.then(function(){return j.getValue();});}Z(w,U);}};return Promise.resolve(a.process(S,{name:O},{bindingContexts:{action:x,actionName:N,entitySet:I},models:{action:x.getModel(),actionName:N.getModel(),entitySet:I.getModel(),metaModel:I.getModel()}})).then(function(S){return C.setUserDefaults(u,w,T,true).then(function(){return F.load({definition:S,controller:$}).then(function(a1){var b1;var c1=y.getController().oResourceBundle;var d1=new D({title:v||C.getTranslatedText("C_OPERATIONS_ACTION_PARAMETER_DIALOG_TITLE",c1),content:[a1],escapeHandler:function(i){d1.close();E.removeTransitionMessages();R();},beginButton:{text:v||C.getTranslatedText("C_COMMON_DIALOG_OK",c1),type:"Emphasized",press:function(h1){Y().then(function(i1){if(i1.length){var j1=[];for(var i=0;i<i1.length;i++){j1.push({text:C.getTranslatedText("C_OPERATIONS_ACTION_PARAMETER_DIALOG_MISSING_MANDATORY_MSG",c1,i1[i]),code:200,type:"Error"});}E.showMessageDialog({customMessages:j1});return;}U=Z(w,U);if(U.length>0){return m.showUnboundMessages();}B.lock(d1);return Promise.all(Object.keys(W).map(function(j){return W[j];})).then(function(){E.removeTransitionMessages();var k1,l1=b1&&b1.getParameterContext();for(var i in w){if(w[i].$isCollection){var m1=d1.getModel("mvfview").getProperty("/"+w[i].$Name),n1=[];for(var j in m1){n1.push(m1[j].Key);}k1=n1;}else{k1=l1.getProperty(w[i].$Name);}w[i].value=k1;k1=undefined;}return q(u,P).then(function(o1){d1.close();Q(o1);}).catch(function(o1){throw o1;});}).catch(function(){var j=sap.ui.getCore().getMessageManager();var k1=m.modifyETagMessagesOnly(j,c1);E.showMessages({bHasEtagMessage:k1,context:P.aContexts[0],isActionParameterDialogOpen:true,messagePageNavigationCallback:function(){d1.close();}});if(d1&&k1){d1.close();}}).finally(function(){B.unlock(d1);});}).catch(function(){return E.showMessageDialog();});}},endButton:{text:C.getTranslatedText("C_COMMON_ACTION_PARAMETER_DIALOG_CANCEL",c1),press:function(){Z(w,U,true);d1.close();E.removeTransitionMessages();R(d.CancelActionDialog);}},beforeOpen:function(h1){var i1=Object.assign({},h1);E.removeTransitionMessages();var j1=function(l1){var m1=function(q1,j){return new Promise(function(Q,R){if(j!==undefined){if(g1.length>0&&j.$Path){var z1=C.requestSingletonProperty(j.$Path,b1.getModel());z1.then(function(A1){if(A1===null){return b1.getParameterContext().requestProperty(j.$Path);}return A1;}).then(function(A1){if(g1.length>1){var B1=j.$Path;if(B1.indexOf(l1+"/")===0){B1=B1.replace(l1+"/","");}for(var i=1;i<g1.length;i++){if(g1[i].getProperty(B1)!==A1){Q({paramName:q1,value:undefined,bNoPossibleValue:true});}}}Q({paramName:q1,value:A1});}).catch(function(){L.error("Error while reading default action parameter",q1,P.actionName);Q({paramName:q1,value:undefined,bLatePropertyError:true});});}else{Q({paramName:q1,value:j});}}else{if(T&&T.oData[q1]){Q({paramName:q1,value:T.oData[q1]});}else{Q({paramName:q1,value:undefined});}}});};var n1=function(q1){var j=d1.getModel().getMetaModel(),f1=x.sPath&&x.sPath.split("/@")[0],z1=f1+"/"+q1+"@",A1=j.getObject(z1),B1=A1&&A1["@com.sap.vocabularies.UI.v1.ParameterDefaultValue"];return B1;};var o1=function(){var j=d1.getModel().getMetaModel(),f1=x.sPath&&x.sPath.split("/@")[0],z1=j.getObject(f1+"@com.sap.vocabularies.Common.v1.DefaultValuesFunction");return z1;};var p1=[];var q1,r1;for(var i in w){q1=w[i].$Name;r1=n1(q1);p1.push(m1(q1,r1));}if(x.getObject("$IsBound")&&g1.length>0){var s1=o1();if(s1&&s1.length>0&&typeof s1==="string"){var t1=[];for(var i in g1){t1.push(g(s1,g1[i],P.model,P));}}}var u1=Promise.all(p1),v1=[],w1;if(t1){v1=Promise.all(t1);}if(P.defaultValuesExtensionFunction){var x1=P.defaultValuesExtensionFunction.substring(0,P.defaultValuesExtensionFunction.lastIndexOf(".")||-1).replace(/\./gi,"/"),y1=P.defaultValuesExtensionFunction.substring(P.defaultValuesExtensionFunction.lastIndexOf(".")+1,P.defaultValuesExtensionFunction.length);w1=c.actionWrapper(i1,x1,y1,{"contexts":g1});}Promise.all([u1,v1,w1]).then(function(z1){var p1=z1[0],t1=z1[1],A1=z1[2],B1;for(var i in w){B1=w[i].$Name;if(A1&&A1.hasOwnProperty(B1)){b1.setParameter(w[i].$Name,A1[B1]);}else if(p1[i]&&p1[i].value!==undefined){b1.setParameter(w[i].$Name,p1[i].value);}else if(s1&&!p1[i].bNoPossibleValue){if(g1.length>1){var j=0;while(j<g1.length-1){if(t1[j]&&t1[j+1]&&t1[j].getObject(B1)===t1[j+1].getObject(B1)){j++;}else{break;}}if(j===g1.length-1){b1.setParameter(w[i].$Name,t1[j].getObject(B1));}}else{if(t1[0]&&t1[0].getObject(B1)){b1.setParameter(w[i].$Name,t1[0].getObject(B1));}}}}var C1=p1.some(function(E1){if(E1.bLatePropertyError){return E1.bLatePropertyError;}});if(C1){var D1=C.getTranslatedText("C_APP_COMPONENT_SAPFE_ETAG_LATE_PROPERTY",c1);M.warning(D1,{contentWidth:"25em"});}}).catch();};if(x.getObject("$IsBound")&&g1.length>0){var k1=x.getObject("$Parameter"),l1=k1[0]&&k1[0].$Name;g1[0].requestObject().then(function(i){if(i){b1.setParameter(l1,i);}j1(l1);}).catch(function(i){L.error("Error while retrieving the parameter",i);});}else{j1();}},afterClose:function(){d1.destroy();}});V=a1.getAggregation("form").getAggregation("formContainers")[0].getAggregation("formElements");d1.setModel(x.getModel().oModel);d1.setModel(T,"paramsModel");d1.bindElement({path:"/",model:"paramsModel"});var e1=new J({});d1.setModel(e1,"mvfview");var f1=A+"(...)";var g1=P.aContexts||[];if(!g1.length){f1="/"+f1;}d1.bindElement({path:f1});if(y){y.addDependent(d1);}if(g1.length>0){d1.setBindingContext(g1[0]);}b1=d1.getObjectBinding();d1.open();});});}).catch(R);});}function p(A,P){var i=n(A);P=P||[];if(P.length>0){}return i;}function n(A){var P=A.getObject("$Parameter")||[];if(P&&P.length){if(A.getObject("$IsBound")){return P.slice(1,P.length)||[];}}return P;}function o(i,P,j,u){var A=i.getObject(P+"@com.sap.vocabularies.Common.v1.IsActionCritical"),v=A&&A.$Path;if(!v){return!!A;}var w=u&&u.getObject("$Parameter"),x=v&&v.split("/"),y=w&&w.length&&typeof w==="object"&&v&&j&&j.length;if(y){w.filter(function(z){var E=x&&x.indexOf(z.$Name);if(E>-1){x.splice(E,1);}});v=x.join("/");return j[0].getObject(v);}else if(v){return j[0].getObject(v);}}function q(A,P){var u=P.aContexts||[],v=P.model,E=m.getMessages().length||0,w=P.aActionParameters||[],x=P.actionName,O=P.fnOnSubmitted,y=P.fnOnResponse,I=P.bIsCreateAction,z=false,G;function H(i){return i.then(function(j){var Q=m.getMessages();if(Q.length>E&&Q[Q.length-1].type==="Error"){return{response:j,status:"rejected"};}return{response:j,status:"resolved"};},function(j){return{response:j,status:"rejected"};});}function K(){if(w&&w.length){z=true;for(var j=0;j<w.length;j++){if(!w[j].value){switch(w[j].$Type){case"Edm.String":w[j].value="";break;case"Edm.Boolean":w[j].value=false;break;case"Edm.Byte":case"Edm.Int16":case"Edm.Int32":case"Edm.Int64":w[j].value=0;break;default:break;}}G.setParameter(w[j].$Name,w[j].value);}}}if(u.length){return new Promise(function(Q,R){var S=P.mBindingParameters,T=P.bGrouped,U=P.bReturnAsArray,V=P.bGetBoundContext,W=[],N,i,Y,Z=function(G,j,c1){K();Y=!T?"$auto."+j:G.getUpdateGroupId();N=V?G.execute(Y).then(function(){return G.getBoundContext();}):G.execute(Y);W.push(N);var d1=A.getSideEffectsService();if(c1&&c1.triggerActions&&c1.triggerActions.length){c1.triggerActions.forEach(function(e1){if(e1){d1.executeAction(e1,c1.context,Y);}});}if(c1&&c1.pathExpressions&&c1.pathExpressions.length>0){d1.requestSideEffects(c1.pathExpressions,c1.context,Y).then(function(){if(P.operationAvailableMap&&P.internalModelContext){C.setActionEnablement(P.internalModelContext,JSON.parse(P.operationAvailableMap),P.aContexts);}}).catch(function(e1){L.error("Error while requesting side effects",e1);});}},$=function(G,j,c1){var d1=new Promise(function(Q,R){var e1,f1=[];K();Y="apiMode"+j;N=V?G.execute(Y).then(function(){return G.getBoundContext();}):G.execute(Y);W.push(N);f1.push(N);var g1=A.getSideEffectsService();if(c1&&c1.triggerActions&&c1.triggerActions.length){c1.triggerActions.forEach(function(h1){if(h1){e1=g1.executeAction(h1,c1.context,Y);f1.push(e1);}});}if(c1&&c1.pathExpressions&&c1.pathExpressions.length>0){e1=g1.requestSideEffects(c1.pathExpressions,c1.context,Y);f1.push(e1);e1.then(function(){if(P.operationAvailableMap&&P.internalModelContext){C.setActionEnablement(P.internalModelContext,JSON.parse(P.operationAvailableMap),P.aContexts);}}).catch(function(h1){L.error("Error while requesting side effects",h1);});}v.submitBatch(Y);Promise.all(f1).then(function(){return Q();}).catch(function(){return Q();});});return d1;};function a1(u){(O||function e1(){})(W);function c1(e1,i){G=v.bindContext(x+"(...)",e1,S);return $(G,i,{context:e1,pathExpressions:P.additionalSideEffect&&P.additionalSideEffect.pathExpressions,triggerActions:P.additionalSideEffect&&P.additionalSideEffect.triggerActions});}var d1=Promise.resolve(undefined);var j=0;u.forEach(function(e1){var id=++j;d1=d1.then(function(){return c1(e1,id);});});d1.then(function(){b1();}).catch();}if(P.bObjectPage&&!T){a1(u);}else{for(i=0;i<u.length;i++){G=v.bindContext(x+"(...)",u[i],S);Z(G,u.length<=1?null:i,{context:u[i],pathExpressions:P.additionalSideEffect&&P.additionalSideEffect.pathExpressions,triggerActions:P.additionalSideEffect&&P.additionalSideEffect.triggerActions});}(O||function j(){})(W);b1();}function b1(){Promise.all(W.map(H)).then(function(j){var c1=[],d1=[],e1;for(e1=0;e1<j.length;e1++){if(j[e1].status==="rejected"){c1.push(j[e1].response);}if(j[e1].status==="resolved"){if(I&&z){j[e1].bConsiderDocumentModified=true;d1.push(j[e1]);}else{d1.push(j[e1].response);}}}if(!j||(j&&j.length===0)){R(true);}if(c1.length===0){if(U){Q(d1);}else{Q(d1[0]);}}else{R({resolvedItems:d1,rejectedItems:c1});}}).catch(R);}}).finally(function(){(y||function i(){})();});}else{var N;G=v.bindContext("/"+x+"(...)");K();N=G.execute("actionImport");v.submitBatch("actionImport");(O||function i(){})(N);return N.finally(function(){(y||function i(){})();});}}function r(A,i){var P=A.getPath();P=A.getObject("$IsBound")?P.split("@$ui5.overload")[0]:P.split("/0")[0];return P.split("/"+i)[0];}var t={callBoundAction:e,callActionImport:f,callBoundFunction:g,callFunctionImport:h};return t;});
@@ -20,7 +20,8 @@ sap.ui.define(
20
20
  "sap/fe/core/helpers/EditState",
21
21
  "sap/fe/core/helpers/FPMHelper",
22
22
  "sap/ui/core/message/Message",
23
- "sap/ui/core/MessageType"
23
+ "sap/ui/core/MessageType",
24
+ "sap/fe/core/helpers/ModelHelper"
24
25
  ],
25
26
  function(
26
27
  ControllerExtension,
@@ -38,7 +39,8 @@ sap.ui.define(
38
39
  EditState,
39
40
  FPMHelper,
40
41
  Message,
41
- MessageType
42
+ MessageType,
43
+ ModelHelper
42
44
  ) {
43
45
  "use strict";
44
46
 
@@ -115,13 +117,15 @@ sap.ui.define(
115
117
  that._getMessageHandler().showMessageDialog();
116
118
 
117
119
  if (oNewDocumentContext !== oContext) {
118
- return that._handleNewContext(oNewDocumentContext, true, undefined, bDraftNavigation).then(function() {
119
- if (sProgrammingModel === ProgrammingModel.Sticky) {
120
- // The stickyOn handler must be set after the navigation has been done,
121
- // as the URL may change in the case of FCL
122
- that._handleStickyOn(oNewDocumentContext);
123
- }
124
- });
120
+ return that
121
+ ._handleNewContext(oNewDocumentContext, true, undefined, bDraftNavigation, true)
122
+ .then(function() {
123
+ if (sProgrammingModel === ProgrammingModel.Sticky) {
124
+ // The stickyOn handler must be set after the navigation has been done,
125
+ // as the URL may change in the case of FCL
126
+ that._handleStickyOn(oNewDocumentContext);
127
+ }
128
+ });
125
129
  }
126
130
  }
127
131
  });
@@ -199,7 +203,7 @@ sap.ui.define(
199
203
  Log.error("Error while updating the document", oError);
200
204
  })
201
205
  .finally(function() {
202
- that._getMessageHandler().showMessageDialog();
206
+ that._getMessageHandler().showMessages();
203
207
  });
204
208
  });
205
209
  },
@@ -247,7 +251,7 @@ sap.ui.define(
247
251
  // TODO: Call appropriate function (currently using the same as for outbound chevron nav, and without any context - 3rd param)
248
252
  return this._syncTask().then(function() {
249
253
  var oController = that.getView().getController(),
250
- sCreatePath = CommonUtils.getAbsoluteMetaPathForListBinding(that.getView(), vListBinding);
254
+ sCreatePath = ModelHelper.getAbsoluteMetaPathForListBinding(that.getView(), vListBinding);
251
255
 
252
256
  oController.handlers.onChevronPressNavigateOutBound(oController, mParameters.outbound, undefined, sCreatePath);
253
257
  });
@@ -508,18 +512,21 @@ sap.ui.define(
508
512
  case CreationMode.Deferred:
509
513
  oNavigation = oRoutingListener.navigateForwardToContext(oListBinding, {
510
514
  bDeferredContext: true,
511
- editable: true
515
+ editable: true,
516
+ bForceFocus: true
512
517
  });
513
518
  break;
514
519
  case CreationMode.Async:
515
520
  oNavigation = oRoutingListener.navigateForwardToContext(oListBinding, {
516
521
  asyncContext: oCreation,
517
- editable: true
522
+ editable: true,
523
+ bForceFocus: true
518
524
  });
519
525
  break;
520
526
  case CreationMode.Sync:
521
527
  mArgs = {
522
- editable: true
528
+ editable: true,
529
+ bForceFocus: true
523
530
  };
524
531
  if (sProgrammingModel == ProgrammingModel.Sticky || mParameters.createAction) {
525
532
  mArgs.transient = true;
@@ -580,10 +587,17 @@ sap.ui.define(
580
587
  if (sProgrammingModel === ProgrammingModel.Sticky) {
581
588
  that._getInternalModel().setProperty("/sessionOn", true);
582
589
  }
590
+ var bIsNewPageCreation =
591
+ mParameters.creationMode !== CreationMode.CreationRow &&
592
+ mParameters.creationMode !== CreationMode.Inline;
583
593
  if (oCreation) {
584
594
  return Promise.all([oCreation, oNavigation])
585
595
  .then(function(aParams) {
586
- that._setEditMode(EditMode.Editable, true);
596
+ if (bIsNewPageCreation) {
597
+ that._setEditMode(EditMode.Editable, bIsNewPageCreation);
598
+ } else {
599
+ that._setEditMode(EditMode.Editable);
600
+ }
587
601
  var oNewDocumentContext = aParams[0];
588
602
  if (oNewDocumentContext) {
589
603
  EditState.setEditStateDirty();
@@ -706,7 +720,7 @@ sap.ui.define(
706
720
  that._getMessageHandler().showMessageDialog();
707
721
 
708
722
  if (oActiveDocumentContext !== oContext) {
709
- that._handleNewContext(oActiveDocumentContext, false, undefined, bDraftNavigation);
723
+ that._handleNewContext(oActiveDocumentContext, false, undefined, bDraftNavigation, true);
710
724
  }
711
725
  })
712
726
  .catch(function(oError) {
@@ -756,7 +770,7 @@ sap.ui.define(
756
770
  })
757
771
  .then(function(oToggleContext) {
758
772
  that._setEditMode(bEditable ? EditMode.Editable : EditMode.Display, false); //switch to edit mode only if a draft is available
759
- that._handleNewContext(oToggleContext, bEditable, true, true);
773
+ that._handleNewContext(oToggleContext, bEditable, true, true, true);
760
774
  })
761
775
  .catch(function(err) {
762
776
  return Promise.reject("Error in EditFlow.toggleDraftActive:" + err);
@@ -822,12 +836,12 @@ sap.ui.define(
822
836
  if (mParameters.bSkipBindingToView) {
823
837
  return oActiveDocumentContext;
824
838
  } else {
825
- return that._handleNewContext(oActiveDocumentContext, false, true, bDraftNavigation);
839
+ return that._handleNewContext(oActiveDocumentContext, false, true, bDraftNavigation, true);
826
840
  }
827
841
  });
828
842
  } else {
829
843
  //active context is returned in case of cancel of existing document
830
- return that._handleNewContext(oActiveDocumentContext, false, undefined, bDraftNavigation);
844
+ return that._handleNewContext(oActiveDocumentContext, false, undefined, bDraftNavigation, true);
831
845
  }
832
846
  });
833
847
  },
@@ -1495,7 +1509,7 @@ sap.ui.define(
1495
1509
  }
1496
1510
  },
1497
1511
 
1498
- _handleNewContext: function(oContext, bEditable, bRecreateContext, bDraftNavigation) {
1512
+ _handleNewContext: function(oContext, bEditable, bRecreateContext, bDraftNavigation, bForceFocus) {
1499
1513
  EditState.setEditStateDirty();
1500
1514
 
1501
1515
  return this._getRoutingListener().navigateToContext(oContext, {
@@ -1504,7 +1518,8 @@ sap.ui.define(
1504
1518
  bPersistOPScroll: true,
1505
1519
  bRecreateContext: bRecreateContext,
1506
1520
  bDraftNavigation: bDraftNavigation,
1507
- showPlaceholder: false
1521
+ showPlaceholder: false,
1522
+ bForceFocus: bForceFocus
1508
1523
  });
1509
1524
  },
1510
1525
 
@@ -3,4 +3,4 @@
3
3
  (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
 
5
5
  */
6
- sap.ui.define(["sap/ui/core/mvc/ControllerExtension","sap/ui/core/mvc/OverrideExecution","sap/fe/core/actions/sticky","sap/base/Log","sap/m/Text","sap/m/Button","sap/m/Dialog","sap/fe/core/CommonUtils","sap/fe/core/BusyLocker","sap/fe/core/library","sap/ui/model/odata/v4/ODataListBinding","sap/fe/core/helpers/SemanticKeyHelper","sap/fe/core/helpers/EditState","sap/fe/core/helpers/FPMHelper","sap/ui/core/message/Message","sap/ui/core/MessageType"],function(C,O,s,L,T,B,D,a,b,F,c,S,E,d,M,f){"use strict";var g=F.CreationMode,P=F.ProgrammingModel,h=F.Constants,j=F.DraftStatus,k=F.EditMode;var l=C.extend("sap.fe.core.controllerextensions.EditFlow",{metadata:{methods:{editDocument:{"public":true,"final":true},updateDocument:{"public":true,"final":true},createDocument:{"public":true,"final":true},saveDocument:{"public":true,"final":true},cancelDocument:{"public":true,"final":true},deleteDocument:{"public":true,"final":true},deleteMultipleDocuments:{"public":true,"final":true},applyDocument:{"public":true,"final":true},invokeAction:{"public":true,"final":true},securedExecution:{"public":true,"final":true},onBeforeSave:{"public":true,"final":false,"overrideExecution":O.Instead}}},editDocument:function(o,p){p=p||{};var t=this,e=p.prepareOnEdit||undefined,i=true,m=this._getTransactionHelper();return m.editDocument(o,e,t.getView(),t._getMessageHandler()).then(function(n){var q=t._getProgrammingModel(o);if(q===P.Sticky){t._getInternalModel().setProperty("/sessionOn",true);}if(n){t._setEditMode(k.Editable,false);t._getMessageHandler().showMessageDialog();if(n!==o){return t._handleNewContext(n,true,undefined,i).then(function(){if(q===P.Sticky){t._handleStickyOn(n);}});}}});},deleteMultipleDocuments:function(e,p){return this.base.getView().getController()._editFlow.deleteMultipleDocuments(e,p);},updateDocument:function(o,p){var t=this,e=t._getTransactionHelper(),i=t._getProgrammingModel(o)===P.Draft;this._getMessageHandler().removeTransitionMessages();return this._syncTask(function(){e.handleDocumentModifications();E.setEditStateDirty();t._getMessageHandler().removeTransitionMessages();if(i){t._setDraftStatus(j.Saving);}return p.then(function(){if(i){var m=t.getView().getBindingContext(),n=m.getModel().getMetaModel(),q=n.getMetaContext(m.getPath()).getObject("@sapui.name"),r=S.getSemanticKeys(n,q);if(r&&r.length){var u=t.base.getAppComponent().getRoutingService().getLastSemanticMapping(),v=u&&u.semanticPath,w=S.getSemanticPath(m,true);if(v!==w){return t._handleNewContext(m,true,undefined,true).then(function(){t._setDraftStatus(j.Saved);});}else{t._setDraftStatus(j.Saved);}}else{t._setDraftStatus(j.Saved);}}},function(){if(i){t._setDraftStatus(j.Clear);}}).catch(function(m){L.error("Error while updating the document",m);}).finally(function(){t._getMessageHandler().showMessageDialog();});});},createDocument:function(v,p){var t=this,e=this._getTransactionHelper(),o=this._getGlobalUIModel(),i,m=0,r=t.getView().getController().oResourceBundle,n=!p||(p.creationMode!==g.Inline&&p.creationMode!==g.CreationRow&&p.creationMode!==g.External),q=Promise.resolve([]),A=a.getAppComponent(this.getView());A.getRouterProxy().removeIAppStateKey();if(p.creationMode===g.External){return this._syncTask().then(function(){var H=t.getView().getController(),J=a.getAbsoluteMetaPathForListBinding(t.getView(),v);H.handlers.onChevronPressNavigateOutBound(H,p.outbound,undefined,J);});}if(p.creationMode===g.CreationRow&&p.creationRow){i=p.creationRow.getParent();var u=i.getCreationRow().data("customValidationFunction");if(u){var w=u.substring(0,u.lastIndexOf(".")||-1).replace(/\./gi,"/"),x=u.substring(u.lastIndexOf(".")+1,u.length),y=p.creationRow.getBindingContext().getObject();delete y["@$ui5.context.isTransient"];q=d.validationWrapper(w,x,y,t.base.getView(),i.getBindingContext("internal"));}if(i.getCreationRow().data("disableAddRowButtonForEmptyData")==="true"){var I=i.getBindingContext("internal");I.setProperty("creationRowFieldValidity",{});}}if(p.creationMode===g.Inline&&p.tableId){i=this.getView().byId(p.tableId);}function z(H,J){J.then(function(N){return N.created();}).then(function(){var K=t.getView().getBindingContext();if(!a.hasTransientContext(H)){var A=a.getAppComponent(t.getView());A.getSideEffectsService().requestSideEffectsForNavigationProperty(H.getPath(),K);}}).catch(function(K){L.error("Error while creating the document",K);});}function G(V){var u=i&&i.getCreationRow().data("customValidationFunction"),H=i&&i.getBindingContext("internal").getProperty("creationRowCustomValidity"),J=sap.ui.getCore().getMessageManager(),K=[],N,Q;J.getMessageModel().getData().forEach(function(R){if(R.code===u){J.removeMessages(R);}});V.forEach(function(R){if(R.messageTarget){N=sap.ui.getCore().getControl(H[R.messageTarget].fieldId);Q=N.getBindingContext().getPath()+"/"+N.getBindingPath("value");if(J.getMessageModel().getData().filter(function(W){return W.target===Q;}).length===0){J.addMessages(new M({message:R.messageText,processor:t.getView().getModel(),type:f.Error,code:u,technical:false,persistent:false,target:Q}));}var U=J.getMessageModel().getData().filter(function(W){return W.target===Q;});U[0].addControlId(H[R.messageTarget].fieldId);}else{K.push({code:u,text:R.messageText,persistent:true,type:f.Error});}});if(K.length>0){t._getMessageHandler().showMessageDialog({customMessages:K});}}n&&b.lock(o);return this._syncTask(q).then(function(V){if(V.length>0){G(V);L.error("Custom Validation failed");return;}var H,J,K;p=p||{};if(v&&typeof v==="object"){J=v;}else if(typeof v==="string"){J=new c(t.getView().getModel(),v);p.creationMode=g.Sync;delete p.createAtEnd;}else{throw new Error("Binding object or path expected");}K=J.getModel();m=J.iMaxLength||0;var N=p.creationMode;return Promise.resolve(t._getProgrammingModel(J)).then(function(Q){H=Q;if(N&&N!==g.NewPage){return N;}else{var R=K.getMetaModel();if(!J.isRelative()){var U=J.getPath(),W=H===P.Draft?R.getObject(U+"@com.sap.vocabularies.Common.v1.DraftRoot/NewAction"):R.getObject(U+"@com.sap.vocabularies.Session.v1.StickySessionSupported/NewAction");if(W){var X=R.getObject("/"+W+"/@$ui5.overload/0/$Parameter")||[];if(X.length>1){return g.Deferred;}}}var Y=R.getMetaPath(J.getHeaderContext().getPath());var Z=a.getNonComputedVisibleFields(R,Y);if(Z.length>0){return g.Deferred;}return g.Async;}}).then(function(N){var Q,R,U=p.creationRow,W,X=Promise.resolve(),Y,Z,$=K.getMetaModel(),_=t._getRoutingListener();if(N!==g.Deferred){if(N===g.CreationRow){W=U.getBindingContext();Z=$.getMetaPath(W.getPath());Y=W.getObject();p.data={};Object.keys(Y).forEach(function(b1){var c1=$.getObject(Z+"/"+b1);if(c1&&c1.$kind==="NavigationProperty"){return;}p.data[b1]=Y[b1];});X=t._checkForValidationErrors(W);}if(N===g.CreationRow||N===g.Inline){p.keepTransientContextOnFailed=false;p.busyMode="Local";t._handleCreateEvents(J);}Q=X.then(function(){if(!p.parentControl){p.parentControl=t.getView();}return e.createDocument(J,p,r,t._getMessageHandler());});}var a1;switch(N){case g.Deferred:a1=_.navigateForwardToContext(J,{bDeferredContext:true,editable:true});break;case g.Async:a1=_.navigateForwardToContext(J,{asyncContext:Q,editable:true});break;case g.Sync:R={editable:true};if(H==P.Sticky||p.createAction){R.transient=true;}a1=Q.then(function(b1){if(!b1){var r=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core");return _.navigateToMessagePage(r.getText("C_COMMON_SAPFE_DATA_RECEIVED_ERROR"),{title:r.getText("C_COMMON_SAPFE_ERROR"),description:r.getText("C_EDITFLOW_SAPFE_CREATION_FAILED_DESCRIPTION")});}else{return _.navigateForwardToContext(b1,R);}});break;case g.Inline:a1=z(J,Q);t._syncTask(Q);break;case g.CreationRow:a1=X.then(function(){var b1=W.getBinding(),c1;if(!p.bSkipSideEffects){z(J,Q);}c1=b1.create();U.setBindingContext(c1);c1.created().catch(function(){L.trace("transient fast creation context deleted");});return W.delete("$direct");}).catch(function(b1){if(b.isLocked(t.getView().getModel("ui"))){b.unlock(t.getView().getModel("ui"));}L.error("CreationRow navigation error: ",b1);});break;default:a1=Promise.reject("Unhandled creationMode "+N);break;}if(H===P.Sticky){t._getInternalModel().setProperty("/sessionOn",true);}if(Q){return Promise.all([Q,a1]).then(function(b1){t._setEditMode(k.Editable,true);var c1=b1[0];if(c1){E.setEditStateDirty();if(H===P.Sticky){t._handleStickyOn(c1);}}}).catch(function(b1){if(b1&&b1.navigateBackFromTransientState){_.navigateBackFromTransientState();}return Promise.reject(b1);});}});}).finally(function(){if(i&&i.isA("sap.ui.mdc.Table")){var H=p.creationMode===g.Inline?i.focusRow.bind(i):i.scrollToIndex.bind(i);i.getRowBinding().attachEventOnce("change",function(){switch(p.createAtEnd){case true:if(i.data("tableType")==="ResponsiveTable"&&i.getThreshold()){H(i.getThreshold(),true);}else{H(m,true);}break;case false:H(0,true);break;}});}n&&b.unlock(o);});},onBeforeSave:function(){return Promise.resolve();},saveDocument:function(o,p){p=p||{};var t=this,e=p.bExecuteSideEffectsOnError||undefined,i=true,m=this._getTransactionHelper(),r=t.getView().getController().oResourceBundle,n=p.bindings;return(this._syncTask().then(this._submitOpenChanges.bind(this,o)).then(this._checkForValidationErrors.bind(this,o)).then(this.base.editFlow.onBeforeSave.bind(this)).then(m.saveDocument.bind(m,o,r,e,n,t._getMessageHandler())).then(function(A){var q=t._getProgrammingModel(o);t._removeContextsFromPages();if(q===P.Sticky){t._getInternalModel().setProperty("/sessionOn",false);t._handleStickyOff(o);}t._setEditMode(k.Display,false);t._getMessageHandler().showMessageDialog();if(A!==o){t._handleNewContext(A,false,undefined,i);}}).catch(function(q){L.error("Error while saving the document",q);return Promise.reject(q);}));},toggleDraftActive:function(o){var e=o.getObject();var t=this;var i;var I=o&&this._getProgrammingModel(o)===P.Draft;var m=o.getModel().bindContext(o.getPath()+"/SiblingEntity").getBoundContext();if(!I||!((!e.IsActiveEntity&&e.HasActiveEntity)||(e.IsActiveEntity&&e.HasDraftEntity))){return;}if(!e.IsActiveEntity&&e.HasActiveEntity){i=false;}else if(e.IsActiveEntity&&e.HasDraftEntity){i=true;}m.requestCanonicalPath().then(function(n){return m.getModel().bindContext(n).getBoundContext();}).then(function(m){t._setEditMode(i?k.Editable:k.Display,false);t._handleNewContext(m,i,true,true);}).catch(function(n){return Promise.reject("Error in EditFlow.toggleDraftActive:"+n);});},cancelDocument:function(o,p){var t=this,e=this._getTransactionHelper(),r=t.getView().getController().oResourceBundle;p.cancelButton=p.control||p.cancelButton;return this._syncTask().then(e.cancelDocument.bind(e,o,p,r,t._getMessageHandler())).then(function(A){var i=true,m=t._getProgrammingModel(o);t._removeContextsFromPages();if(m===P.Sticky){t._getInternalModel().setProperty("/sessionOn",false);t._handleStickyOff(o);}t._setEditMode(k.Display,false);t._setDraftStatus(j.Clear);if(!A){E.setEditStateDirty();t._getRoutingListener().navigateBackFromContext(o);}else if(m===P.Draft){return t._fetchSemanticKeyValues(A).then(function(){if(p.bSkipBindingToView){return A;}else{return t._handleNewContext(A,false,true,i);}});}else{return t._handleNewContext(A,false,undefined,i);}});},deleteDocument:function(o,p){var t=this;var A=a.getAppComponent(t.getView());if(!p){p={bFindActiveContexts:false};}else{p.bFindActiveContexts=false;}return this._deleteDocumentTransaction(o,p).then(function(){E.setEditStateDirty();t._getRoutingListener().navigateBackFromContext(o);if(A){A.getShellServices().setBackNavigation();}});},applyDocument:function(o){var t=this,e=this._getGlobalUIModel();b.lock(e);return(this._submitOpenChanges(o).then(this._checkForValidationErrors.bind(this,o)).then(function(){t._getMessageHandler().showMessageDialog();t._getRoutingListener().navigateBackFromContext(o);return true;}).finally(function(){if(b.isLocked(e)){b.unlock(e);}}));},invokeAction:function(A,p){var t=this,o,e=this._getTransactionHelper(),i,m,n,q,r,v=this.getView();p=p||{};if((p.isA&&p.isA("sap.ui.model.odata.v4.Context"))||Array.isArray(p)||arguments.length===3){var u=p;p=arguments[2]||{};if(u){p.contexts=u;}else{p.model=this.getView().getModel();}}p.isNavigable=p.requiresNavigation||p.isNavigable;if(!p.parentControl){p.parentControl=this.getView();}if(p.prefix){o=this.getView().byId(p.prefix);if(o){p.internalModelContext=o.getBindingContext("internal");}}else{p.internalModelContext=v.getBindingContext("internal");}if(A&&A.indexOf("(")>-1){n=A.split("(");A=n[0];q=n[n.length-1].replaceAll(")","");}if(p.bStaticAction){if(o.isTableBound()){p.contexts=o.getRowBinding().getHeaderContext();}else{var w=o.data("rowsBindingInfo").path,x=new c(t.getView().getModel(),w);p.contexts=x.getHeaderContext();}if(q){var y=p.contexts.getModel().getMetaModel().getMetaContext(p.contexts.getPath()).getObject("$Type");if(q!==y){i=o;while(i){m=i.getBindingContext();if(m&&m.getModel().getMetaModel().getMetaContext(m.getPath()).getObject("$Type")===q){p.contexts=m;break;}else{i=i.getParent();}}if(!p.contexts){return Promise.reject("Context not found for entity type "+q);}}}if(p.enableAutoScroll){r=this._createActionPromise(A,o.sId);}}if(p.isNavigable){p.bGetBoundContext=false;}else{p.bGetBoundContext=true;}p.bObjectPage=v.getViewData().converterType==="ObjectPage";return this._syncTask().then(e.callAction.bind(e,A,p,t.getView(),t._getMessageHandler())).then(function(R){if(p.contexts){return t._refreshListIfRequired(t._getActionResponseDataAndKeys(A,R),p.contexts[0]).then(function(){return R;});}}).then(function(R){if(r){r.fResolver(R);}if(p.contexts){E.setEditStateDirty();}if(p.isNavigable){var z=R;if(Array.isArray(z)&&z.length===1){z=z[0];}if(z&&!Array.isArray(z)){var G=v.getModel().getMetaModel();var H=G.getMetaPath(z.getPath());var I=Array.isArray(p.contexts)?p.contexts[0]:p.contexts;var J=I&&G.getMetaPath(I.getPath());if(H!=undefined&&H===J){if(I.getPath()!==z.getPath()){t._getRoutingListener().navigateForwardToContext(z,{noHistoryEntry:false});}else{L.info("Navigation to the same context is not allowed");}}}}}).catch(function(z){if(r){r.fRejector();}if(z==h.CancelActionDialog){return Promise.reject("Dialog cancelled.");}else{return Promise.reject("Error in EditFlow.invokeAction:"+z);}});},securedExecution:function(e,p){var i=p&&p.busy&&p.busy.set!==undefined?p.busy.set:true,m=p&&p.busy&&p.busy.check!==undefined?p.busy.check:true,u=(p&&p.updatesDocument)||false,o=this._getGlobalUIModel(),n=this.base.getView().getBindingContext(),I=n&&this._getProgrammingModel(n)===P.Draft,t=this;if(m&&b.isLocked(o)){return Promise.reject("Application already busy therefore execution rejected");}if(i){b.lock(o);}if(u&&I){this._setDraftStatus(j.Saving);}this._getMessageHandler().removeTransitionMessages();return this._syncTask(e).then(function(){if(u){t._getTransactionHelper().handleDocumentModifications();E.setEditStateDirty();if(I){t._setDraftStatus(j.Saved);}}}).catch(function(q){if(u&&I){t._setDraftStatus(j.Clear);}return Promise.reject(q);}).finally(function(){if(i){b.unlock(o);}return t._getMessageHandler().showMessageDialog();});},handlePatchSent:function(e){var t=this;this.mPatchPromises=this.mPatchPromises?this.mPatchPromises:{};var p=new Promise(function(r,i){t.mPatchPromises[e.getSource()]={resolvePatchPromise:r,rejectPatchPromise:i};});this.updateDocument(e.getSource(),p);},handlePatchCompleted:function(e){var i=e.getParameter("success");if(i){this.mPatchPromises[e.getSource()].resolvePatchPromise();}else{this.mPatchPromises[e.getSource()].rejectPatchPromise();}delete this.mPatchPromises[e.getSource()];},_setEditMode:function(e,i){this.base.getView().getController()._editFlow.setEditMode(e,i);},_setDraftStatus:function(e){this.base.getView().getController()._editFlow.setDraftStatus(e);},_getRoutingListener:function(){return this.base.getView().getController()._editFlow.getRoutingListener();},_getGlobalUIModel:function(){return this.base.getView().getController()._editFlow.getGlobalUIModel();},_syncTask:function(t){return this.base.getView().getController()._editFlow.syncTask(t);},_getProgrammingModel:function(o){return this.base.getView().getController()._editFlow.getProgrammingModel(o);},_deleteDocumentTransaction:function(o,p){return this.base.getView().getController()._editFlow.deleteDocumentTransaction(o,p);},_handleCreateEvents:function(o){this.base.getView().getController()._editFlow.handleCreateEvents(o);},_getTransactionHelper:function(){return this.base.getView().getController()._editFlow.getTransactionHelper();},_getInternalModel:function(){return this.base.getView().getController()._editFlow.getInternalModel();},_createActionPromise:function(A,e){return this.base.getView().getController()._editFlow.createActionPromise(A,e);},_getCurrentActionPromise:function(){return this.base.getView().getController()._editFlow.getCurrentActionPromise();},_deleteCurrentActionPromise:function(){return this.base.getView().getController()._editFlow.deleteCurrentActionPromise();},_getMessageHandler:function(){return this.base.getView().getController()._editFlow.getMessageHandler();},_getActionResponseDataAndKeys:function(A,r){return this.base.getView().getController()._editFlow.getActionResponseDataAndKeys(A,r);},_submitOpenChanges:function(o){var m=o.getModel(),e=this._getGlobalUIModel();return m.submitBatch("$auto").then(function(){if(m.hasPendingChanges("$auto")){return Promise.reject("submit of open changes failed");}}).finally(function(){if(b.isLocked(e)){b.unlock(e);}});},_handleStickyOn:function(o){var t=this,A=a.getAppComponent(this.getView());if(!A.getRouterProxy().hasNavigationGuard()){var H=A.getRouterProxy().getHash(),i=this._getInternalModel();setTimeout(function(){A.getRouterProxy().setNavigationGuard();},0);A.getShellServices().setBackNavigation(t._onBackNavigationInSession.bind(t));this.fnDirtyStateProvider=function(n){var m=n.innerAppRoute,r=A.getRouterProxy(),p,q=i.getProperty("/sessionOn");if(!q){return;}if(!r.isNavigationFinalized()){p=false;H=m;}else if(H===m){p=true;}else if(r.checkHashWithGuard(m)||r.isGuardCrossAllowedByUser()){H=m;p=false;}else{p=true;}if(p){setTimeout(function(){A.getShellServices().setDirtyFlag(false);},0);}return p;};A.getShellServices().registerDirtyStateProvider(this.fnDirtyStateProvider);var e=this.getView().getModel("sap.fe.i18n");this.fnHandleSessionTimeout=function(){t._getMessageHandler().removeTransitionMessages();var m=new D({title:"{sap.fe.i18n>C_EDITFLOW_OBJECT_PAGE_SESSION_EXPIRED_DIALOG_TITLE}",state:"Warning",content:new T({text:"{sap.fe.i18n>C_EDITFLOW_OBJECT_PAGE_SESSION_EXPIRED_DIALOG_MESSAGE}"}),beginButton:new B({text:"{sap.fe.i18n>C_COMMON_DIALOG_OK}",type:"Emphasized",press:function(){t._handleStickyOff();t._getRoutingListener().navigateBackFromContext(o);}}),afterClose:function(){m.destroy();}});m.addStyleClass("sapUiContentPadding");m.setModel(e,"sap.fe.i18n");t.getView().addDependent(m);m.open();};this.getView().getModel().attachSessionTimeout(this.fnHandleSessionTimeout);this._fnStickyDiscardAfterNavigation=function(){var m=A.getRouterProxy().getHash();if(!m||!A.getRouterProxy().checkHashWithGuard(m)){t._discardStickySession(o);}};A.getRoutingService().attachRouteMatched(this._fnStickyDiscardAfterNavigation);}},_handleStickyOff:function(){var A=a.getAppComponent(this.getView());if(A.getRouterProxy){A.getRouterProxy().discardNavigationGuard();}if(this.fnDirtyStateProvider){A.getShellServices().deregisterDirtyStateProvider(this.fnDirtyStateProvider);this.fnDirtyStateProvider=null;}if(this.getView().getModel()&&this.fnHandleSessionTimeout){this.getView().getModel().detachSessionTimeout(this.fnHandleSessionTimeout);}A.getRoutingService().detachRouteMatched(this._fnStickyDiscardAfterNavigation);this._fnStickyDiscardAfterNavigation=null;this._setEditMode(k.Display,false);if(A){A.getShellServices().setBackNavigation();}},_handleNewContext:function(o,e,r,i){E.setEditStateDirty();return this._getRoutingListener().navigateToContext(o,{checkNoHashChange:true,editable:e,bPersistOPScroll:true,bRecreateContext:r,bDraftNavigation:i,showPlaceholder:false});},_checkForValidationErrors:function(o){var t=this;return this._syncTask().then(function(){var v=t.base.getView().getId();var m=sap.ui.getCore().getMessageManager().getMessageModel().getData(),e,n;if(!m.length){return Promise.resolve("No validation errors found");}for(var i=0;i<m.length;i++){n=m[i];if(n.validation){e=sap.ui.getCore().byId(n.getControlId());while(e){if(e.getId()===v){return Promise.reject("validation errors exist");}e=e.getParent();}}}});},_onBackNavigationInSession:function(){var t=this,v=t.getView(),A=a.getAppComponent(v),r=A.getRouterProxy();if(r.checkIfBackIsOutOfGuard()){var o=v&&v.getBindingContext();a.processDataLossConfirmation(function(){t._discardStickySession(o);history.back();},v,t._getProgrammingModel(o));return;}history.back();},_discardStickySession:function(o){s.discardDocument(o);this._handleStickyOff();},_refreshListIfRequired:function(r,o){if(!o||!r||!r.oData){return Promise.resolve();}var i=o.getBinding();if(i&&i.isA("sap.ui.model.odata.v4.ODataListBinding")){var t=this,m=r.oData,K=r.keys,n=o.getObject(),R=true;if(Object.keys(m).length){R=K.every(function(e){return n[e]===m[e];});if(!R){return new Promise(function(p,q){if(i.isRoot()){i.attachEventOnce("dataReceived",function(){p();});i.refresh();}else{var A=a.getAppComponent(t.getView());A.getSideEffectsService().requestSideEffects([{$NavigationPropertyPath:i.getPath()}],i.getContext()).then(function(){p();},function(){L.error("Error while refreshing the table");p();}).catch(function(e){L.error("Error while refreshing the table",e);});}});}}}return Promise.resolve();},_fetchSemanticKeyValues:function(o){var m=o.getModel().getMetaModel(),e=m.getMetaContext(o.getPath()).getObject("@sapui.name"),i=S.getSemanticKeys(m,e);if(i&&i.length){var r=i.map(function(K){return o.requestObject(K.$PropertyPath);});return Promise.all(r);}else{return Promise.resolve();}},_removeContextsFromPages:function(){var p=[];var A=a.getAppComponent(this.getView());if(A._isFclEnabled()){p=p.concat(A.getRootContainer().getMidColumnPages()||[]);p=p.concat(A.getRootContainer().getEndColumnPages()||[]);}else{p=A.getRootContainer().getPages()||[];}p.forEach(function(o){if(o.isA("sap.ui.core.ComponentContainer")){o=o.getComponentInstance();}if(o.getBindingContext()){o.setBindingContext(null);}});}});return l;});
6
+ sap.ui.define(["sap/ui/core/mvc/ControllerExtension","sap/ui/core/mvc/OverrideExecution","sap/fe/core/actions/sticky","sap/base/Log","sap/m/Text","sap/m/Button","sap/m/Dialog","sap/fe/core/CommonUtils","sap/fe/core/BusyLocker","sap/fe/core/library","sap/ui/model/odata/v4/ODataListBinding","sap/fe/core/helpers/SemanticKeyHelper","sap/fe/core/helpers/EditState","sap/fe/core/helpers/FPMHelper","sap/ui/core/message/Message","sap/ui/core/MessageType","sap/fe/core/helpers/ModelHelper"],function(C,O,s,L,T,B,D,a,b,F,c,S,E,d,M,f,g){"use strict";var h=F.CreationMode,P=F.ProgrammingModel,j=F.Constants,k=F.DraftStatus,l=F.EditMode;var m=C.extend("sap.fe.core.controllerextensions.EditFlow",{metadata:{methods:{editDocument:{"public":true,"final":true},updateDocument:{"public":true,"final":true},createDocument:{"public":true,"final":true},saveDocument:{"public":true,"final":true},cancelDocument:{"public":true,"final":true},deleteDocument:{"public":true,"final":true},deleteMultipleDocuments:{"public":true,"final":true},applyDocument:{"public":true,"final":true},invokeAction:{"public":true,"final":true},securedExecution:{"public":true,"final":true},onBeforeSave:{"public":true,"final":false,"overrideExecution":O.Instead}}},editDocument:function(o,p){p=p||{};var t=this,e=p.prepareOnEdit||undefined,i=true,n=this._getTransactionHelper();return n.editDocument(o,e,t.getView(),t._getMessageHandler()).then(function(N){var q=t._getProgrammingModel(o);if(q===P.Sticky){t._getInternalModel().setProperty("/sessionOn",true);}if(N){t._setEditMode(l.Editable,false);t._getMessageHandler().showMessageDialog();if(N!==o){return t._handleNewContext(N,true,undefined,i,true).then(function(){if(q===P.Sticky){t._handleStickyOn(N);}});}}});},deleteMultipleDocuments:function(e,p){return this.base.getView().getController()._editFlow.deleteMultipleDocuments(e,p);},updateDocument:function(o,p){var t=this,e=t._getTransactionHelper(),i=t._getProgrammingModel(o)===P.Draft;this._getMessageHandler().removeTransitionMessages();return this._syncTask(function(){e.handleDocumentModifications();E.setEditStateDirty();t._getMessageHandler().removeTransitionMessages();if(i){t._setDraftStatus(k.Saving);}return p.then(function(){if(i){var n=t.getView().getBindingContext(),q=n.getModel().getMetaModel(),r=q.getMetaContext(n.getPath()).getObject("@sapui.name"),u=S.getSemanticKeys(q,r);if(u&&u.length){var v=t.base.getAppComponent().getRoutingService().getLastSemanticMapping(),w=v&&v.semanticPath,x=S.getSemanticPath(n,true);if(w!==x){return t._handleNewContext(n,true,undefined,true).then(function(){t._setDraftStatus(k.Saved);});}else{t._setDraftStatus(k.Saved);}}else{t._setDraftStatus(k.Saved);}}},function(){if(i){t._setDraftStatus(k.Clear);}}).catch(function(n){L.error("Error while updating the document",n);}).finally(function(){t._getMessageHandler().showMessages();});});},createDocument:function(v,p){var t=this,e=this._getTransactionHelper(),o=this._getGlobalUIModel(),i,n=0,r=t.getView().getController().oResourceBundle,q=!p||(p.creationMode!==h.Inline&&p.creationMode!==h.CreationRow&&p.creationMode!==h.External),u=Promise.resolve([]),A=a.getAppComponent(this.getView());A.getRouterProxy().removeIAppStateKey();if(p.creationMode===h.External){return this._syncTask().then(function(){var J=t.getView().getController(),K=g.getAbsoluteMetaPathForListBinding(t.getView(),v);J.handlers.onChevronPressNavigateOutBound(J,p.outbound,undefined,K);});}if(p.creationMode===h.CreationRow&&p.creationRow){i=p.creationRow.getParent();var w=i.getCreationRow().data("customValidationFunction");if(w){var x=w.substring(0,w.lastIndexOf(".")||-1).replace(/\./gi,"/"),y=w.substring(w.lastIndexOf(".")+1,w.length),z=p.creationRow.getBindingContext().getObject();delete z["@$ui5.context.isTransient"];u=d.validationWrapper(x,y,z,t.base.getView(),i.getBindingContext("internal"));}if(i.getCreationRow().data("disableAddRowButtonForEmptyData")==="true"){var I=i.getBindingContext("internal");I.setProperty("creationRowFieldValidity",{});}}if(p.creationMode===h.Inline&&p.tableId){i=this.getView().byId(p.tableId);}function G(J,K){K.then(function(N){return N.created();}).then(function(){var N=t.getView().getBindingContext();if(!a.hasTransientContext(J)){var A=a.getAppComponent(t.getView());A.getSideEffectsService().requestSideEffectsForNavigationProperty(J.getPath(),N);}}).catch(function(N){L.error("Error while creating the document",N);});}function H(V){var w=i&&i.getCreationRow().data("customValidationFunction"),J=i&&i.getBindingContext("internal").getProperty("creationRowCustomValidity"),K=sap.ui.getCore().getMessageManager(),N=[],Q,R;K.getMessageModel().getData().forEach(function(U){if(U.code===w){K.removeMessages(U);}});V.forEach(function(U){if(U.messageTarget){Q=sap.ui.getCore().getControl(J[U.messageTarget].fieldId);R=Q.getBindingContext().getPath()+"/"+Q.getBindingPath("value");if(K.getMessageModel().getData().filter(function(X){return X.target===R;}).length===0){K.addMessages(new M({message:U.messageText,processor:t.getView().getModel(),type:f.Error,code:w,technical:false,persistent:false,target:R}));}var W=K.getMessageModel().getData().filter(function(X){return X.target===R;});W[0].addControlId(J[U.messageTarget].fieldId);}else{N.push({code:w,text:U.messageText,persistent:true,type:f.Error});}});if(N.length>0){t._getMessageHandler().showMessageDialog({customMessages:N});}}q&&b.lock(o);return this._syncTask(u).then(function(V){if(V.length>0){H(V);L.error("Custom Validation failed");return;}var J,K,N;p=p||{};if(v&&typeof v==="object"){K=v;}else if(typeof v==="string"){K=new c(t.getView().getModel(),v);p.creationMode=h.Sync;delete p.createAtEnd;}else{throw new Error("Binding object or path expected");}N=K.getModel();n=K.iMaxLength||0;var Q=p.creationMode;return Promise.resolve(t._getProgrammingModel(K)).then(function(R){J=R;if(Q&&Q!==h.NewPage){return Q;}else{var U=N.getMetaModel();if(!K.isRelative()){var W=K.getPath(),X=J===P.Draft?U.getObject(W+"@com.sap.vocabularies.Common.v1.DraftRoot/NewAction"):U.getObject(W+"@com.sap.vocabularies.Session.v1.StickySessionSupported/NewAction");if(X){var Y=U.getObject("/"+X+"/@$ui5.overload/0/$Parameter")||[];if(Y.length>1){return h.Deferred;}}}var Z=U.getMetaPath(K.getHeaderContext().getPath());var $=a.getNonComputedVisibleFields(U,Z);if($.length>0){return h.Deferred;}return h.Async;}}).then(function(Q){var R,U,W=p.creationRow,X,Y=Promise.resolve(),Z,$,_=N.getMetaModel(),a1=t._getRoutingListener();if(Q!==h.Deferred){if(Q===h.CreationRow){X=W.getBindingContext();$=_.getMetaPath(X.getPath());Z=X.getObject();p.data={};Object.keys(Z).forEach(function(d1){var e1=_.getObject($+"/"+d1);if(e1&&e1.$kind==="NavigationProperty"){return;}p.data[d1]=Z[d1];});Y=t._checkForValidationErrors(X);}if(Q===h.CreationRow||Q===h.Inline){p.keepTransientContextOnFailed=false;p.busyMode="Local";t._handleCreateEvents(K);}R=Y.then(function(){if(!p.parentControl){p.parentControl=t.getView();}return e.createDocument(K,p,r,t._getMessageHandler());});}var b1;switch(Q){case h.Deferred:b1=a1.navigateForwardToContext(K,{bDeferredContext:true,editable:true,bForceFocus:true});break;case h.Async:b1=a1.navigateForwardToContext(K,{asyncContext:R,editable:true,bForceFocus:true});break;case h.Sync:U={editable:true,bForceFocus:true};if(J==P.Sticky||p.createAction){U.transient=true;}b1=R.then(function(d1){if(!d1){var r=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core");return a1.navigateToMessagePage(r.getText("C_COMMON_SAPFE_DATA_RECEIVED_ERROR"),{title:r.getText("C_COMMON_SAPFE_ERROR"),description:r.getText("C_EDITFLOW_SAPFE_CREATION_FAILED_DESCRIPTION")});}else{return a1.navigateForwardToContext(d1,U);}});break;case h.Inline:b1=G(K,R);t._syncTask(R);break;case h.CreationRow:b1=Y.then(function(){var d1=X.getBinding(),e1;if(!p.bSkipSideEffects){G(K,R);}e1=d1.create();W.setBindingContext(e1);e1.created().catch(function(){L.trace("transient fast creation context deleted");});return X.delete("$direct");}).catch(function(d1){if(b.isLocked(t.getView().getModel("ui"))){b.unlock(t.getView().getModel("ui"));}L.error("CreationRow navigation error: ",d1);});break;default:b1=Promise.reject("Unhandled creationMode "+Q);break;}if(J===P.Sticky){t._getInternalModel().setProperty("/sessionOn",true);}var c1=p.creationMode!==h.CreationRow&&p.creationMode!==h.Inline;if(R){return Promise.all([R,b1]).then(function(d1){if(c1){t._setEditMode(l.Editable,c1);}else{t._setEditMode(l.Editable);}var e1=d1[0];if(e1){E.setEditStateDirty();if(J===P.Sticky){t._handleStickyOn(e1);}}}).catch(function(d1){if(d1&&d1.navigateBackFromTransientState){a1.navigateBackFromTransientState();}return Promise.reject(d1);});}});}).finally(function(){if(i&&i.isA("sap.ui.mdc.Table")){var J=p.creationMode===h.Inline?i.focusRow.bind(i):i.scrollToIndex.bind(i);i.getRowBinding().attachEventOnce("change",function(){switch(p.createAtEnd){case true:if(i.data("tableType")==="ResponsiveTable"&&i.getThreshold()){J(i.getThreshold(),true);}else{J(n,true);}break;case false:J(0,true);break;}});}q&&b.unlock(o);});},onBeforeSave:function(){return Promise.resolve();},saveDocument:function(o,p){p=p||{};var t=this,e=p.bExecuteSideEffectsOnError||undefined,i=true,n=this._getTransactionHelper(),r=t.getView().getController().oResourceBundle,q=p.bindings;return(this._syncTask().then(this._submitOpenChanges.bind(this,o)).then(this._checkForValidationErrors.bind(this,o)).then(this.base.editFlow.onBeforeSave.bind(this)).then(n.saveDocument.bind(n,o,r,e,q,t._getMessageHandler())).then(function(A){var u=t._getProgrammingModel(o);t._removeContextsFromPages();if(u===P.Sticky){t._getInternalModel().setProperty("/sessionOn",false);t._handleStickyOff(o);}t._setEditMode(l.Display,false);t._getMessageHandler().showMessageDialog();if(A!==o){t._handleNewContext(A,false,undefined,i,true);}}).catch(function(u){L.error("Error while saving the document",u);return Promise.reject(u);}));},toggleDraftActive:function(o){var e=o.getObject();var t=this;var i;var I=o&&this._getProgrammingModel(o)===P.Draft;var n=o.getModel().bindContext(o.getPath()+"/SiblingEntity").getBoundContext();if(!I||!((!e.IsActiveEntity&&e.HasActiveEntity)||(e.IsActiveEntity&&e.HasDraftEntity))){return;}if(!e.IsActiveEntity&&e.HasActiveEntity){i=false;}else if(e.IsActiveEntity&&e.HasDraftEntity){i=true;}n.requestCanonicalPath().then(function(p){return n.getModel().bindContext(p).getBoundContext();}).then(function(n){t._setEditMode(i?l.Editable:l.Display,false);t._handleNewContext(n,i,true,true,true);}).catch(function(p){return Promise.reject("Error in EditFlow.toggleDraftActive:"+p);});},cancelDocument:function(o,p){var t=this,e=this._getTransactionHelper(),r=t.getView().getController().oResourceBundle;p.cancelButton=p.control||p.cancelButton;return this._syncTask().then(e.cancelDocument.bind(e,o,p,r,t._getMessageHandler())).then(function(A){var i=true,n=t._getProgrammingModel(o);t._removeContextsFromPages();if(n===P.Sticky){t._getInternalModel().setProperty("/sessionOn",false);t._handleStickyOff(o);}t._setEditMode(l.Display,false);t._setDraftStatus(k.Clear);if(!A){E.setEditStateDirty();t._getRoutingListener().navigateBackFromContext(o);}else if(n===P.Draft){return t._fetchSemanticKeyValues(A).then(function(){if(p.bSkipBindingToView){return A;}else{return t._handleNewContext(A,false,true,i,true);}});}else{return t._handleNewContext(A,false,undefined,i,true);}});},deleteDocument:function(o,p){var t=this;var A=a.getAppComponent(t.getView());if(!p){p={bFindActiveContexts:false};}else{p.bFindActiveContexts=false;}return this._deleteDocumentTransaction(o,p).then(function(){E.setEditStateDirty();t._getRoutingListener().navigateBackFromContext(o);if(A){A.getShellServices().setBackNavigation();}});},applyDocument:function(o){var t=this,e=this._getGlobalUIModel();b.lock(e);return(this._submitOpenChanges(o).then(this._checkForValidationErrors.bind(this,o)).then(function(){t._getMessageHandler().showMessageDialog();t._getRoutingListener().navigateBackFromContext(o);return true;}).finally(function(){if(b.isLocked(e)){b.unlock(e);}}));},invokeAction:function(A,p){var t=this,o,e=this._getTransactionHelper(),i,n,q,r,u,v=this.getView();p=p||{};if((p.isA&&p.isA("sap.ui.model.odata.v4.Context"))||Array.isArray(p)||arguments.length===3){var w=p;p=arguments[2]||{};if(w){p.contexts=w;}else{p.model=this.getView().getModel();}}p.isNavigable=p.requiresNavigation||p.isNavigable;if(!p.parentControl){p.parentControl=this.getView();}if(p.prefix){o=this.getView().byId(p.prefix);if(o){p.internalModelContext=o.getBindingContext("internal");}}else{p.internalModelContext=v.getBindingContext("internal");}if(A&&A.indexOf("(")>-1){q=A.split("(");A=q[0];r=q[q.length-1].replaceAll(")","");}if(p.bStaticAction){if(o.isTableBound()){p.contexts=o.getRowBinding().getHeaderContext();}else{var x=o.data("rowsBindingInfo").path,y=new c(t.getView().getModel(),x);p.contexts=y.getHeaderContext();}if(r){var z=p.contexts.getModel().getMetaModel().getMetaContext(p.contexts.getPath()).getObject("$Type");if(r!==z){i=o;while(i){n=i.getBindingContext();if(n&&n.getModel().getMetaModel().getMetaContext(n.getPath()).getObject("$Type")===r){p.contexts=n;break;}else{i=i.getParent();}}if(!p.contexts){return Promise.reject("Context not found for entity type "+r);}}}if(p.enableAutoScroll){u=this._createActionPromise(A,o.sId);}}if(p.isNavigable){p.bGetBoundContext=false;}else{p.bGetBoundContext=true;}p.bObjectPage=v.getViewData().converterType==="ObjectPage";return this._syncTask().then(e.callAction.bind(e,A,p,t.getView(),t._getMessageHandler())).then(function(R){if(p.contexts){return t._refreshListIfRequired(t._getActionResponseDataAndKeys(A,R),p.contexts[0]).then(function(){return R;});}}).then(function(R){if(u){u.fResolver(R);}if(p.contexts){E.setEditStateDirty();}if(p.isNavigable){var G=R;if(Array.isArray(G)&&G.length===1){G=G[0];}if(G&&!Array.isArray(G)){var H=v.getModel().getMetaModel();var I=H.getMetaPath(G.getPath());var J=Array.isArray(p.contexts)?p.contexts[0]:p.contexts;var K=J&&H.getMetaPath(J.getPath());if(I!=undefined&&I===K){if(J.getPath()!==G.getPath()){t._getRoutingListener().navigateForwardToContext(G,{noHistoryEntry:false});}else{L.info("Navigation to the same context is not allowed");}}}}}).catch(function(G){if(u){u.fRejector();}if(G==j.CancelActionDialog){return Promise.reject("Dialog cancelled.");}else{return Promise.reject("Error in EditFlow.invokeAction:"+G);}});},securedExecution:function(e,p){var i=p&&p.busy&&p.busy.set!==undefined?p.busy.set:true,n=p&&p.busy&&p.busy.check!==undefined?p.busy.check:true,u=(p&&p.updatesDocument)||false,o=this._getGlobalUIModel(),q=this.base.getView().getBindingContext(),I=q&&this._getProgrammingModel(q)===P.Draft,t=this;if(n&&b.isLocked(o)){return Promise.reject("Application already busy therefore execution rejected");}if(i){b.lock(o);}if(u&&I){this._setDraftStatus(k.Saving);}this._getMessageHandler().removeTransitionMessages();return this._syncTask(e).then(function(){if(u){t._getTransactionHelper().handleDocumentModifications();E.setEditStateDirty();if(I){t._setDraftStatus(k.Saved);}}}).catch(function(r){if(u&&I){t._setDraftStatus(k.Clear);}return Promise.reject(r);}).finally(function(){if(i){b.unlock(o);}return t._getMessageHandler().showMessageDialog();});},handlePatchSent:function(e){var t=this;this.mPatchPromises=this.mPatchPromises?this.mPatchPromises:{};var p=new Promise(function(r,i){t.mPatchPromises[e.getSource()]={resolvePatchPromise:r,rejectPatchPromise:i};});this.updateDocument(e.getSource(),p);},handlePatchCompleted:function(e){var i=e.getParameter("success");if(i){this.mPatchPromises[e.getSource()].resolvePatchPromise();}else{this.mPatchPromises[e.getSource()].rejectPatchPromise();}delete this.mPatchPromises[e.getSource()];},_setEditMode:function(e,i){this.base.getView().getController()._editFlow.setEditMode(e,i);},_setDraftStatus:function(e){this.base.getView().getController()._editFlow.setDraftStatus(e);},_getRoutingListener:function(){return this.base.getView().getController()._editFlow.getRoutingListener();},_getGlobalUIModel:function(){return this.base.getView().getController()._editFlow.getGlobalUIModel();},_syncTask:function(t){return this.base.getView().getController()._editFlow.syncTask(t);},_getProgrammingModel:function(o){return this.base.getView().getController()._editFlow.getProgrammingModel(o);},_deleteDocumentTransaction:function(o,p){return this.base.getView().getController()._editFlow.deleteDocumentTransaction(o,p);},_handleCreateEvents:function(o){this.base.getView().getController()._editFlow.handleCreateEvents(o);},_getTransactionHelper:function(){return this.base.getView().getController()._editFlow.getTransactionHelper();},_getInternalModel:function(){return this.base.getView().getController()._editFlow.getInternalModel();},_createActionPromise:function(A,e){return this.base.getView().getController()._editFlow.createActionPromise(A,e);},_getCurrentActionPromise:function(){return this.base.getView().getController()._editFlow.getCurrentActionPromise();},_deleteCurrentActionPromise:function(){return this.base.getView().getController()._editFlow.deleteCurrentActionPromise();},_getMessageHandler:function(){return this.base.getView().getController()._editFlow.getMessageHandler();},_getActionResponseDataAndKeys:function(A,r){return this.base.getView().getController()._editFlow.getActionResponseDataAndKeys(A,r);},_submitOpenChanges:function(o){var e=o.getModel(),i=this._getGlobalUIModel();return e.submitBatch("$auto").then(function(){if(e.hasPendingChanges("$auto")){return Promise.reject("submit of open changes failed");}}).finally(function(){if(b.isLocked(i)){b.unlock(i);}});},_handleStickyOn:function(o){var t=this,A=a.getAppComponent(this.getView());if(!A.getRouterProxy().hasNavigationGuard()){var H=A.getRouterProxy().getHash(),i=this._getInternalModel();setTimeout(function(){A.getRouterProxy().setNavigationGuard();},0);A.getShellServices().setBackNavigation(t._onBackNavigationInSession.bind(t));this.fnDirtyStateProvider=function(n){var p=n.innerAppRoute,r=A.getRouterProxy(),q,u=i.getProperty("/sessionOn");if(!u){return;}if(!r.isNavigationFinalized()){q=false;H=p;}else if(H===p){q=true;}else if(r.checkHashWithGuard(p)||r.isGuardCrossAllowedByUser()){H=p;q=false;}else{q=true;}if(q){setTimeout(function(){A.getShellServices().setDirtyFlag(false);},0);}return q;};A.getShellServices().registerDirtyStateProvider(this.fnDirtyStateProvider);var e=this.getView().getModel("sap.fe.i18n");this.fnHandleSessionTimeout=function(){t._getMessageHandler().removeTransitionMessages();var n=new D({title:"{sap.fe.i18n>C_EDITFLOW_OBJECT_PAGE_SESSION_EXPIRED_DIALOG_TITLE}",state:"Warning",content:new T({text:"{sap.fe.i18n>C_EDITFLOW_OBJECT_PAGE_SESSION_EXPIRED_DIALOG_MESSAGE}"}),beginButton:new B({text:"{sap.fe.i18n>C_COMMON_DIALOG_OK}",type:"Emphasized",press:function(){t._handleStickyOff();t._getRoutingListener().navigateBackFromContext(o);}}),afterClose:function(){n.destroy();}});n.addStyleClass("sapUiContentPadding");n.setModel(e,"sap.fe.i18n");t.getView().addDependent(n);n.open();};this.getView().getModel().attachSessionTimeout(this.fnHandleSessionTimeout);this._fnStickyDiscardAfterNavigation=function(){var n=A.getRouterProxy().getHash();if(!n||!A.getRouterProxy().checkHashWithGuard(n)){t._discardStickySession(o);}};A.getRoutingService().attachRouteMatched(this._fnStickyDiscardAfterNavigation);}},_handleStickyOff:function(){var A=a.getAppComponent(this.getView());if(A.getRouterProxy){A.getRouterProxy().discardNavigationGuard();}if(this.fnDirtyStateProvider){A.getShellServices().deregisterDirtyStateProvider(this.fnDirtyStateProvider);this.fnDirtyStateProvider=null;}if(this.getView().getModel()&&this.fnHandleSessionTimeout){this.getView().getModel().detachSessionTimeout(this.fnHandleSessionTimeout);}A.getRoutingService().detachRouteMatched(this._fnStickyDiscardAfterNavigation);this._fnStickyDiscardAfterNavigation=null;this._setEditMode(l.Display,false);if(A){A.getShellServices().setBackNavigation();}},_handleNewContext:function(o,e,r,i,n){E.setEditStateDirty();return this._getRoutingListener().navigateToContext(o,{checkNoHashChange:true,editable:e,bPersistOPScroll:true,bRecreateContext:r,bDraftNavigation:i,showPlaceholder:false,bForceFocus:n});},_checkForValidationErrors:function(o){var t=this;return this._syncTask().then(function(){var v=t.base.getView().getId();var e=sap.ui.getCore().getMessageManager().getMessageModel().getData(),n,p;if(!e.length){return Promise.resolve("No validation errors found");}for(var i=0;i<e.length;i++){p=e[i];if(p.validation){n=sap.ui.getCore().byId(p.getControlId());while(n){if(n.getId()===v){return Promise.reject("validation errors exist");}n=n.getParent();}}}});},_onBackNavigationInSession:function(){var t=this,v=t.getView(),A=a.getAppComponent(v),r=A.getRouterProxy();if(r.checkIfBackIsOutOfGuard()){var o=v&&v.getBindingContext();a.processDataLossConfirmation(function(){t._discardStickySession(o);history.back();},v,t._getProgrammingModel(o));return;}history.back();},_discardStickySession:function(o){s.discardDocument(o);this._handleStickyOff();},_refreshListIfRequired:function(r,o){if(!o||!r||!r.oData){return Promise.resolve();}var i=o.getBinding();if(i&&i.isA("sap.ui.model.odata.v4.ODataListBinding")){var t=this,n=r.oData,K=r.keys,p=o.getObject(),R=true;if(Object.keys(n).length){R=K.every(function(e){return p[e]===n[e];});if(!R){return new Promise(function(q,u){if(i.isRoot()){i.attachEventOnce("dataReceived",function(){q();});i.refresh();}else{var A=a.getAppComponent(t.getView());A.getSideEffectsService().requestSideEffects([{$NavigationPropertyPath:i.getPath()}],i.getContext()).then(function(){q();},function(){L.error("Error while refreshing the table");q();}).catch(function(e){L.error("Error while refreshing the table",e);});}});}}}return Promise.resolve();},_fetchSemanticKeyValues:function(o){var e=o.getModel().getMetaModel(),i=e.getMetaContext(o.getPath()).getObject("@sapui.name"),n=S.getSemanticKeys(e,i);if(n&&n.length){var r=n.map(function(K){return o.requestObject(K.$PropertyPath);});return Promise.all(r);}else{return Promise.resolve();}},_removeContextsFromPages:function(){var p=[];var A=a.getAppComponent(this.getView());if(A._isFclEnabled()){p=p.concat(A.getRootContainer().getMidColumnPages()||[]);p=p.concat(A.getRootContainer().getEndColumnPages()||[]);}else{p=A.getRootContainer().getPages()||[];}p.forEach(function(o){if(o.isA("sap.ui.core.ComponentContainer")){o=o.getComponentInstance();}if(o.getBindingContext()){o.setBindingContext(null);}});}});return m;});