@sapui5/sap.fe.core 1.99.0 → 1.100.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 (246) hide show
  1. package/package.json +4 -2
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AnnotationHelper.js +1 -69
  4. package/src/sap/fe/core/AnnotationHelper.ts +0 -70
  5. package/src/sap/fe/core/AppComponent.js +388 -399
  6. package/src/sap/fe/core/AppComponent.ts +403 -0
  7. package/src/sap/fe/core/AppStateHandler.js +127 -158
  8. package/src/sap/fe/core/BaseController.js +82 -58
  9. package/src/sap/fe/core/BaseController.ts +68 -0
  10. package/src/sap/fe/core/CommonUtils.js +111 -20
  11. package/src/sap/fe/core/CommonUtils.ts +131 -32
  12. package/src/sap/fe/core/ExtensionAPI.js +278 -274
  13. package/src/sap/fe/core/ExtensionAPI.ts +250 -0
  14. package/src/sap/fe/core/PageController.js +157 -29
  15. package/src/sap/fe/core/PageController.ts +60 -32
  16. package/src/sap/fe/core/RouterProxy.js +694 -756
  17. package/src/sap/fe/core/RouterProxy.ts +11 -9
  18. package/src/sap/fe/core/Synchronization.js +21 -31
  19. package/src/sap/fe/core/TemplateComponent.js +1 -1
  20. package/src/sap/fe/core/TemplateComponent.ts +10 -3
  21. package/src/sap/fe/core/TemplateModel.js +20 -38
  22. package/src/sap/fe/core/TemplateModel.ts +1 -1
  23. package/src/sap/fe/core/TransactionHelper.js +1354 -1370
  24. package/src/sap/fe/core/TransactionHelper.ts +33 -22
  25. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +392 -0
  26. package/src/sap/fe/core/actions/collaboration/ActivitySync.ts +355 -0
  27. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +136 -0
  28. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.ts +119 -0
  29. package/src/sap/fe/core/actions/collaboration/Manage.js +262 -0
  30. package/src/sap/fe/core/actions/collaboration/Manage.ts +244 -0
  31. package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +103 -0
  32. package/src/sap/fe/core/actions/collaboration/UserDetails.fragment.xml +13 -0
  33. package/src/sap/fe/core/actions/draft.js +30 -68
  34. package/src/sap/fe/core/actions/draft.ts +44 -71
  35. package/src/sap/fe/core/actions/messageHandling.js +55 -36
  36. package/src/sap/fe/core/actions/messageHandling.ts +66 -46
  37. package/src/sap/fe/core/actions/operations.js +34 -15
  38. package/src/sap/fe/core/actions/operations.ts +48 -18
  39. package/src/sap/fe/core/actions/sticky.js +17 -4
  40. package/src/sap/fe/core/actions/sticky.ts +21 -4
  41. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +69 -66
  42. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +65 -0
  43. package/src/sap/fe/core/controllerextensions/EditFlow.js +1593 -1669
  44. package/src/sap/fe/core/controllerextensions/EditFlow.ts +1672 -0
  45. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +79 -54
  46. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +61 -0
  47. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +718 -779
  48. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +783 -0
  49. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +796 -816
  50. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +803 -0
  51. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1004 -1005
  52. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +978 -0
  53. package/src/sap/fe/core/controllerextensions/KPIManagement.js +487 -521
  54. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -2
  55. package/src/sap/fe/core/controllerextensions/MassEdit.js +141 -169
  56. package/src/sap/fe/core/controllerextensions/MassEdit.ts +156 -0
  57. package/src/sap/fe/core/controllerextensions/MessageHandler.js +233 -244
  58. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +225 -0
  59. package/src/sap/fe/core/controllerextensions/PageReady.js +301 -336
  60. package/src/sap/fe/core/controllerextensions/PageReady.ts +12 -10
  61. package/src/sap/fe/core/controllerextensions/Paginator.js +188 -175
  62. package/src/sap/fe/core/controllerextensions/Paginator.ts +163 -0
  63. package/src/sap/fe/core/controllerextensions/Placeholder.js +157 -149
  64. package/src/sap/fe/core/controllerextensions/Placeholder.ts +151 -0
  65. package/src/sap/fe/core/controllerextensions/Routing.js +144 -125
  66. package/src/sap/fe/core/controllerextensions/Routing.ts +132 -0
  67. package/src/sap/fe/core/controllerextensions/RoutingListener.js +7 -6
  68. package/src/sap/fe/core/controllerextensions/RoutingListener.ts +3 -0
  69. package/src/sap/fe/core/controllerextensions/Share.js +230 -268
  70. package/src/sap/fe/core/controllerextensions/Share.ts +231 -0
  71. package/src/sap/fe/core/controllerextensions/SideEffects.js +592 -633
  72. package/src/sap/fe/core/controllerextensions/SideEffects.ts +8 -7
  73. package/src/sap/fe/core/controllerextensions/ViewState.js +788 -806
  74. package/src/sap/fe/core/controllerextensions/ViewState.ts +805 -0
  75. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -2
  76. package/src/sap/fe/core/controls/ActionPartial.fragment.xml +2 -2
  77. package/src/sap/fe/core/controls/CommandExecution.js +67 -66
  78. package/src/sap/fe/core/controls/CommandExecution.ts +72 -0
  79. package/src/sap/fe/core/controls/ConditionalWrapper.js +90 -75
  80. package/src/sap/fe/core/controls/ConditionalWrapper.ts +83 -0
  81. package/src/sap/fe/core/controls/CustomQuickViewPage.js +130 -125
  82. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +126 -0
  83. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +103 -112
  84. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +101 -0
  85. package/src/sap/fe/core/controls/FieldWrapper.js +122 -135
  86. package/src/sap/fe/core/controls/FieldWrapper.ts +115 -0
  87. package/src/sap/fe/core/controls/FilterBar.js +162 -159
  88. package/src/sap/fe/core/controls/FilterBar.ts +143 -0
  89. package/src/sap/fe/core/controls/FormElementWrapper.js +45 -39
  90. package/src/sap/fe/core/controls/FormElementWrapper.ts +40 -0
  91. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +37 -42
  92. package/src/sap/fe/core/controls/MultiValueParameterDelegate.ts +31 -0
  93. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +126 -116
  94. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +98 -0
  95. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +241 -255
  96. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +245 -0
  97. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +150 -141
  98. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +125 -0
  99. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +335 -322
  100. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +337 -0
  101. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +74 -74
  102. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +70 -0
  103. package/src/sap/fe/core/converters/ConverterContext.js +348 -379
  104. package/src/sap/fe/core/converters/ConverterContext.ts +19 -16
  105. package/src/sap/fe/core/converters/ManifestSettings.js +12 -1
  106. package/src/sap/fe/core/converters/ManifestSettings.ts +12 -1
  107. package/src/sap/fe/core/converters/ManifestWrapper.js +354 -378
  108. package/src/sap/fe/core/converters/ManifestWrapper.ts +10 -0
  109. package/src/sap/fe/core/converters/MetaModelConverter.js +6 -4
  110. package/src/sap/fe/core/converters/MetaModelConverter.ts +5 -2
  111. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  112. package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
  113. package/src/sap/fe/core/converters/annotations/DataField.js +26 -12
  114. package/src/sap/fe/core/converters/annotations/DataField.ts +37 -13
  115. package/src/sap/fe/core/converters/controls/Common/Form.js +2 -2
  116. package/src/sap/fe/core/converters/controls/Common/Form.ts +4 -2
  117. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  118. package/src/sap/fe/core/converters/controls/Common/KPI.ts +3 -2
  119. package/src/sap/fe/core/converters/controls/Common/Table.js +130 -23
  120. package/src/sap/fe/core/converters/controls/Common/Table.ts +134 -29
  121. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +118 -53
  122. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +156 -93
  123. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +161 -207
  124. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +148 -206
  125. package/src/sap/fe/core/converters/helpers/Aggregation.js +115 -133
  126. package/src/sap/fe/core/converters/helpers/BindingHelper.js +20 -6
  127. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +16 -4
  128. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +12 -1
  129. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +11 -0
  130. package/src/sap/fe/core/converters/helpers/Key.js +42 -57
  131. package/src/sap/fe/core/converters/helpers/Key.ts +1 -1
  132. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +25 -4
  133. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +20 -3
  134. package/src/sap/fe/core/converters/templates/ListReportConverter.js +10 -4
  135. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +15 -4
  136. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +7 -5
  137. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +5 -1
  138. package/src/sap/fe/core/designtime/AppComponent.designtime.js +92 -98
  139. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +91 -0
  140. package/src/sap/fe/core/formatters/CollaborationFormatter.js +104 -0
  141. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +60 -0
  142. package/src/sap/fe/core/formatters/TableFormatter.js +53 -2
  143. package/src/sap/fe/core/formatters/TableFormatter.ts +51 -0
  144. package/src/sap/fe/core/fpm/Component.js +50 -54
  145. package/src/sap/fe/core/fpm/Component.ts +48 -0
  146. package/src/sap/fe/core/helpers/AppStartupHelper.js +323 -309
  147. package/src/sap/fe/core/helpers/AppStartupHelper.ts +363 -337
  148. package/src/sap/fe/core/helpers/BindingExpression.js +7 -7
  149. package/src/sap/fe/core/helpers/BindingExpression.ts +7 -7
  150. package/src/sap/fe/core/helpers/ClassSupport.js +186 -62
  151. package/src/sap/fe/core/helpers/ClassSupport.ts +168 -52
  152. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +5 -4
  153. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -5
  154. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  155. package/src/sap/fe/core/helpers/FPMHelper.ts +1 -1
  156. package/src/sap/fe/core/helpers/MassEditHelper.js +601 -684
  157. package/src/sap/fe/core/helpers/MassEditHelper.ts +699 -0
  158. package/src/sap/fe/core/helpers/ModelHelper.js +25 -1
  159. package/src/sap/fe/core/helpers/ModelHelper.ts +23 -0
  160. package/src/sap/fe/core/helpers/SemanticDateOperators.js +5 -1
  161. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +4 -0
  162. package/src/sap/fe/core/library.js +426 -451
  163. package/src/sap/fe/core/library.support.js +22 -33
  164. package/src/sap/fe/core/library.support.ts +23 -0
  165. package/src/sap/fe/core/library.ts +420 -0
  166. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +5 -3
  167. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +4 -1
  168. package/src/sap/fe/core/messagebundle.properties +22 -5
  169. package/src/sap/fe/core/messagebundle_ar.properties +27 -7
  170. package/src/sap/fe/core/messagebundle_bg.properties +27 -7
  171. package/src/sap/fe/core/messagebundle_ca.properties +27 -7
  172. package/src/sap/fe/core/messagebundle_cs.properties +27 -7
  173. package/src/sap/fe/core/messagebundle_cy.properties +27 -7
  174. package/src/sap/fe/core/messagebundle_da.properties +27 -7
  175. package/src/sap/fe/core/messagebundle_de.properties +27 -7
  176. package/src/sap/fe/core/messagebundle_el.properties +27 -7
  177. package/src/sap/fe/core/messagebundle_en.properties +27 -7
  178. package/src/sap/fe/core/messagebundle_en_GB.properties +27 -7
  179. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +27 -7
  180. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +27 -7
  181. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +27 -7
  182. package/src/sap/fe/core/messagebundle_es.properties +27 -7
  183. package/src/sap/fe/core/messagebundle_es_MX.properties +27 -7
  184. package/src/sap/fe/core/messagebundle_et.properties +27 -7
  185. package/src/sap/fe/core/messagebundle_fi.properties +28 -8
  186. package/src/sap/fe/core/messagebundle_fr.properties +28 -8
  187. package/src/sap/fe/core/messagebundle_fr_CA.properties +29 -9
  188. package/src/sap/fe/core/messagebundle_hi.properties +27 -7
  189. package/src/sap/fe/core/messagebundle_hr.properties +27 -7
  190. package/src/sap/fe/core/messagebundle_hu.properties +27 -7
  191. package/src/sap/fe/core/messagebundle_id.properties +27 -7
  192. package/src/sap/fe/core/messagebundle_it.properties +27 -7
  193. package/src/sap/fe/core/messagebundle_iw.properties +27 -7
  194. package/src/sap/fe/core/messagebundle_ja.properties +26 -6
  195. package/src/sap/fe/core/messagebundle_kk.properties +27 -7
  196. package/src/sap/fe/core/messagebundle_ko.properties +27 -7
  197. package/src/sap/fe/core/messagebundle_lt.properties +27 -7
  198. package/src/sap/fe/core/messagebundle_lv.properties +28 -8
  199. package/src/sap/fe/core/messagebundle_ms.properties +27 -7
  200. package/src/sap/fe/core/messagebundle_nl.properties +27 -7
  201. package/src/sap/fe/core/messagebundle_no.properties +27 -7
  202. package/src/sap/fe/core/messagebundle_pl.properties +27 -7
  203. package/src/sap/fe/core/messagebundle_pt.properties +28 -8
  204. package/src/sap/fe/core/messagebundle_pt_PT.properties +27 -7
  205. package/src/sap/fe/core/messagebundle_ro.properties +27 -7
  206. package/src/sap/fe/core/messagebundle_ru.properties +27 -7
  207. package/src/sap/fe/core/messagebundle_sh.properties +27 -7
  208. package/src/sap/fe/core/messagebundle_sk.properties +27 -7
  209. package/src/sap/fe/core/messagebundle_sl.properties +27 -7
  210. package/src/sap/fe/core/messagebundle_sv.properties +27 -7
  211. package/src/sap/fe/core/messagebundle_th.properties +26 -6
  212. package/src/sap/fe/core/messagebundle_tr.properties +30 -10
  213. package/src/sap/fe/core/messagebundle_uk.properties +27 -7
  214. package/src/sap/fe/core/messagebundle_vi.properties +27 -7
  215. package/src/sap/fe/core/messagebundle_zh_CN.properties +27 -7
  216. package/src/sap/fe/core/messagebundle_zh_TW.properties +27 -7
  217. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +45 -71
  218. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +154 -192
  219. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +4 -4
  220. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +66 -92
  221. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +1 -1
  222. package/src/sap/fe/core/services/NavigationServiceFactory.js +284 -339
  223. package/src/sap/fe/core/services/NavigationServiceFactory.ts +10 -13
  224. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +67 -102
  225. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +5 -2
  226. package/src/sap/fe/core/services/RoutingServiceFactory.js +754 -814
  227. package/src/sap/fe/core/services/RoutingServiceFactory.ts +13 -13
  228. package/src/sap/fe/core/services/ShellServicesFactory.js +649 -736
  229. package/src/sap/fe/core/services/ShellServicesFactory.ts +7 -4
  230. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +567 -592
  231. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +22 -3
  232. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +354 -386
  233. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +21 -14
  234. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +1 -1
  235. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +1 -1
  236. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  237. package/src/sap/fe/core/support/CommonHelper.ts +1 -1
  238. package/src/sap/fe/core/support/Diagnostics.js +36 -48
  239. package/src/sap/fe/core/templating/DataModelPathHelper.js +93 -85
  240. package/src/sap/fe/core/templating/DataModelPathHelper.ts +104 -95
  241. package/src/sap/fe/core/templating/FilterHelper.js +25 -32
  242. package/src/sap/fe/core/templating/FilterHelper.ts +36 -35
  243. package/src/sap/fe/core/templating/PropertyHelper.js +2 -2
  244. package/src/sap/fe/core/templating/PropertyHelper.ts +1 -1
  245. package/src/sap/fe/core/templating/UIFormatters.js +32 -26
  246. package/src/sap/fe/core/templating/UIFormatters.ts +37 -24
@@ -178,7 +178,8 @@ function callAction(sActionName: any, oModel: any, oAction: any, oAppComponent:
178
178
  model: oModel,
179
179
  aActionParameters: aActionParameters,
180
180
  bGetBoundContext: mParameters.bGetBoundContext,
181
- defaultValuesExtensionFunction: mParameters.defaultValuesExtensionFunction
181
+ defaultValuesExtensionFunction: mParameters.defaultValuesExtensionFunction,
182
+ label: mParameters.label
182
183
  };
183
184
  if (oAction.getObject("$IsBound")) {
184
185
  if (mParameters.additionalSideEffect && mParameters.additionalSideEffect.pathExpressions) {
@@ -353,6 +354,9 @@ function showActionParameterDialog(
353
354
 
354
355
  aFieldInvalid = aFieldInvalid || [];
355
356
 
357
+ if (!aMessages.length) {
358
+ aFieldInvalid = [];
359
+ }
356
360
  aActionParameters.forEach(function(oActionParameters: any) {
357
361
  const sParameter = oActionParameters.$Name;
358
362
  aMessages.forEach(function(oMessage: any) {
@@ -493,6 +497,7 @@ function showActionParameterDialog(
493
497
  aActionParameters[i].value = vParameterValue;
494
498
  vParameterValue = undefined;
495
499
  }
500
+ mParameters.label = sActionLabel;
496
501
  return _executeAction(oAppComponent, mParameters)
497
502
  .then(function(oOperation: any) {
498
503
  oDialog.close();
@@ -854,6 +859,35 @@ function getIsActionCritical(oMetaModel: any, sPath: any, contexts?: any, oBound
854
859
  return contexts[0].getObject(sCriticalPath);
855
860
  }
856
861
  }
862
+
863
+ function executeDependingOnSelectedContexts(oAction: any, mParameters: any, bGetBoundContext: boolean, sGroupId: string) {
864
+ let oActionPromise;
865
+ if (mParameters.internalModelContext && mParameters.internalModelContext.getObject().numberOfSelectedContexts > 1) {
866
+ oActionPromise = bGetBoundContext
867
+ ? oAction.execute(sGroupId).then(function() {
868
+ return oAction.getBoundContext();
869
+ })
870
+ : oAction.execute(sGroupId);
871
+ } else {
872
+ oActionPromise = bGetBoundContext
873
+ ? oAction
874
+ .execute(
875
+ sGroupId,
876
+ undefined,
877
+ CommonUtils.fnOnStrictHandlingFailed.bind(operations, sGroupId, mParameters.label, mParameters.model)
878
+ )
879
+ .then(function() {
880
+ return oAction.getBoundContext();
881
+ })
882
+ : oAction.execute(
883
+ sGroupId,
884
+ undefined,
885
+ CommonUtils.fnOnStrictHandlingFailed.bind(operations, sGroupId, mParameters.label, mParameters.model)
886
+ );
887
+ }
888
+
889
+ return oActionPromise;
890
+ }
857
891
  function _executeAction(oAppComponent: any, mParameters: any) {
858
892
  const aContexts = mParameters.aContexts || [];
859
893
  const oModel = mParameters.model;
@@ -863,7 +897,6 @@ function _executeAction(oAppComponent: any, mParameters: any) {
863
897
  const fnOnSubmitted = mParameters.fnOnSubmitted;
864
898
  const fnOnResponse = mParameters.fnOnResponse;
865
899
  const bIsCreateAction = mParameters.bIsCreateAction;
866
- let bActionParametersExist = false;
867
900
  let oAction: any;
868
901
 
869
902
  function fnDifferentiate(promise: any) {
@@ -884,7 +917,6 @@ function _executeAction(oAppComponent: any, mParameters: any) {
884
917
 
885
918
  function setActionParameterDefaultValue() {
886
919
  if (aActionParameters && aActionParameters.length) {
887
- bActionParametersExist = true;
888
920
  for (let j = 0; j < aActionParameters.length; j++) {
889
921
  if (!aActionParameters[j].value) {
890
922
  switch (aActionParameters[j].$Type) {
@@ -924,11 +956,7 @@ function _executeAction(oAppComponent: any, mParameters: any) {
924
956
  setActionParameterDefaultValue();
925
957
  // For invocation grouping "isolated" need batch group per action call
926
958
  sGroupId = !bGrouped ? "$auto." + index : oAction.getUpdateGroupId();
927
- oActionPromise = bGetBoundContext
928
- ? oAction.execute(sGroupId).then(function() {
929
- return oAction.getBoundContext();
930
- })
931
- : oAction.execute(sGroupId);
959
+ oActionPromise = executeDependingOnSelectedContexts(oAction, mParameters, bGetBoundContext, sGroupId);
932
960
  aActionPromises.push(oActionPromise);
933
961
  const oSideEffectsService = oAppComponent.getSideEffectsService();
934
962
  // trigger actions from side effects
@@ -965,12 +993,7 @@ function _executeAction(oAppComponent: any, mParameters: any) {
965
993
  setActionParameterDefaultValue();
966
994
  // For invocation grouping "isolated" need batch group per action call
967
995
  sGroupId = "apiMode" + index;
968
- oActionPromise = bGetBoundContext
969
- ? oAction.execute(sGroupId).then(function() {
970
- return oAction.getBoundContext();
971
- })
972
- : oAction.execute(sGroupId);
973
-
996
+ oActionPromise = executeDependingOnSelectedContexts(oAction, mParameters, bGetBoundContext, sGroupId);
974
997
  aActionPromises.push(oActionPromise);
975
998
  aLocalPromise.push(oActionPromise);
976
999
  const oSideEffectsService = oAppComponent.getSideEffectsService();
@@ -1079,7 +1102,8 @@ function _executeAction(oAppComponent: any, mParameters: any) {
1079
1102
  aRejectedItems.push(results[iResultCount].response);
1080
1103
  }
1081
1104
  if (results[iResultCount].status === "resolved") {
1082
- if (bIsCreateAction && bActionParametersExist) {
1105
+ if (bIsCreateAction) {
1106
+ // removed the bActionParametersExist so that create new action can work in both cases - with and without dialog
1083
1107
  //only used for NewAction
1084
1108
  results[iResultCount].bConsiderDocumentModified = true;
1085
1109
  aResolvedItems.push(results[iResultCount]);
@@ -1118,8 +1142,13 @@ function _executeAction(oAppComponent: any, mParameters: any) {
1118
1142
  } else {
1119
1143
  oAction = oModel.bindContext("/" + sActionName + "(...)");
1120
1144
  setActionParameterDefaultValue();
1121
- const oActionPromise = oAction.execute("actionImport");
1122
- oModel.submitBatch("actionImport");
1145
+ const sGroupId = "actionImport";
1146
+ const oActionPromise = oAction.execute(
1147
+ sGroupId,
1148
+ undefined,
1149
+ CommonUtils.fnOnStrictHandlingFailed.bind(operations, sGroupId, mParameters.label, oModel)
1150
+ );
1151
+ oModel.submitBatch(sGroupId);
1123
1152
  // trigger onSubmitted "event"
1124
1153
  (
1125
1154
  fnOnSubmitted ||
@@ -1156,7 +1185,8 @@ const operations = {
1156
1185
  callBoundAction: callBoundAction,
1157
1186
  callActionImport: callActionImport,
1158
1187
  callBoundFunction: callBoundFunction,
1159
- callFunctionImport: callFunctionImport
1188
+ callFunctionImport: callFunctionImport,
1189
+ executeDependingOnSelectedContexts: executeDependingOnSelectedContexts
1160
1190
  };
1161
1191
 
1162
1192
  export default operations;
@@ -13,11 +13,12 @@ sap.ui.define([], function () {
13
13
  * @memberof sap.fe.core.actions.sticky
14
14
  * @static
15
15
  * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be edited
16
+ * @param {AppComponent} oAppComponent The AppComponent
16
17
  * @returns {Promise}
17
18
  * @private
18
19
  * @ui5-restricted
19
20
  */
20
- function editDocumentInStickySession(oContext) {
21
+ function editDocumentInStickySession(oContext, oAppComponent) {
21
22
  var oModel = oContext.getModel(),
22
23
  oMetaModel = oModel.getMetaModel(),
23
24
  sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
@@ -32,10 +33,22 @@ sap.ui.define([], function () {
32
33
  });
33
34
  var oEditPromise = oEditAction.execute("direct");
34
35
  oModel.submitBatch("direct");
35
- return oEditPromise;
36
+ return oEditPromise.then(function (oNewContext) {
37
+ var _oSideEffects$trigger;
38
+
39
+ var oSideEffects = oAppComponent.getSideEffectsService().getODataActionSideEffects(sEditAction, oNewContext);
40
+
41
+ if (oSideEffects !== null && oSideEffects !== void 0 && (_oSideEffects$trigger = oSideEffects.triggerActions) !== null && _oSideEffects$trigger !== void 0 && _oSideEffects$trigger.length) {
42
+ return oAppComponent.getSideEffectsService().requestSideEffectsForODataAction(oSideEffects, oNewContext).then(function () {
43
+ return oNewContext;
44
+ });
45
+ } else {
46
+ return oNewContext;
47
+ }
48
+ });
36
49
  }
37
50
  /**
38
- * Activates a document and closes sticky session.
51
+ * Activates a document and closes the sticky session.
39
52
  *
40
53
  * @function
41
54
  * @name sap.fe.core.actions.sticky#activateDocument
@@ -114,4 +127,4 @@ sap.ui.define([], function () {
114
127
  };
115
128
  return sticky;
116
129
  }, false);
117
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0aWNreS50cyJdLCJuYW1lcyI6WyJlZGl0RG9jdW1lbnRJblN0aWNreVNlc3Npb24iLCJvQ29udGV4dCIsIm9Nb2RlbCIsImdldE1vZGVsIiwib01ldGFNb2RlbCIsImdldE1ldGFNb2RlbCIsInNNZXRhUGF0aCIsImdldE1ldGFQYXRoIiwiZ2V0UGF0aCIsInNFZGl0QWN0aW9uIiwiZ2V0T2JqZWN0IiwiRXJyb3IiLCJvRWRpdEFjdGlvbiIsImJpbmRDb250ZXh0IiwiJCRpbmhlcml0RXhwYW5kU2VsZWN0Iiwib0VkaXRQcm9taXNlIiwiZXhlY3V0ZSIsInN1Ym1pdEJhdGNoIiwiYWN0aXZhdGVEb2N1bWVudCIsInNTYXZlQWN0aW9uIiwib1NhdmVBY3Rpb24iLCJvU2F2ZVByb21pc2UiLCJkaXNjYXJkRG9jdW1lbnQiLCJzRGlzY2FyZEFjdGlvbiIsIm9EaXNjYXJkQWN0aW9uIiwib0Rpc2NhcmRQcm9taXNlIiwidGhlbiIsInN0aWNreSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVNBLDJCQUFULENBQXFDQyxRQUFyQyxFQUFvRDtBQUNuRCxRQUFNQyxNQUFNLEdBQUdELFFBQVEsQ0FBQ0UsUUFBVCxFQUFmO0FBQUEsUUFDQ0MsVUFBVSxHQUFHRixNQUFNLENBQUNHLFlBQVAsRUFEZDtBQUFBLFFBRUNDLFNBQVMsR0FBR0YsVUFBVSxDQUFDRyxXQUFYLENBQXVCTixRQUFRLENBQUNPLE9BQVQsRUFBdkIsQ0FGYjtBQUFBLFFBR0NDLFdBQVcsR0FBR0wsVUFBVSxDQUFDTSxTQUFYLENBQXFCSixTQUFTLEdBQUcsb0VBQWpDLENBSGY7O0FBS0EsUUFBSSxDQUFDRyxXQUFMLEVBQWtCO0FBQ2pCLFlBQU0sSUFBSUUsS0FBSixDQUFVLGtEQUFrREwsU0FBNUQsQ0FBTjtBQUNBOztBQUVELFFBQU1NLFdBQVcsR0FBR1YsTUFBTSxDQUFDVyxXQUFQLENBQW1CSixXQUFXLEdBQUcsT0FBakMsRUFBMENSLFFBQTFDLEVBQW9EO0FBQUVhLE1BQUFBLHFCQUFxQixFQUFFO0FBQXpCLEtBQXBELENBQXBCO0FBRUEsUUFBTUMsWUFBWSxHQUFHSCxXQUFXLENBQUNJLE9BQVosQ0FBb0IsUUFBcEIsQ0FBckI7QUFDQWQsSUFBQUEsTUFBTSxDQUFDZSxXQUFQLENBQW1CLFFBQW5CO0FBQ0EsV0FBT0YsWUFBUDtBQUNBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxXQUFTRyxnQkFBVCxDQUEwQmpCLFFBQTFCLEVBQXlDO0FBQ3hDLFFBQU1DLE1BQU0sR0FBR0QsUUFBUSxDQUFDRSxRQUFULEVBQWY7QUFBQSxRQUNDQyxVQUFVLEdBQUdGLE1BQU0sQ0FBQ0csWUFBUCxFQURkO0FBQUEsUUFFQ0MsU0FBUyxHQUFHRixVQUFVLENBQUNHLFdBQVgsQ0FBdUJOLFFBQVEsQ0FBQ08sT0FBVCxFQUF2QixDQUZiO0FBQUEsUUFHQ1csV0FBVyxHQUFHZixVQUFVLENBQUNNLFNBQVgsQ0FBcUJKLFNBQVMsR0FBRyxvRUFBakMsQ0FIZjs7QUFLQSxRQUFJLENBQUNhLFdBQUwsRUFBa0I7QUFDakIsWUFBTSxJQUFJUixLQUFKLENBQVUsa0RBQWtETCxTQUE1RCxDQUFOO0FBQ0E7O0FBRUQsUUFBTWMsV0FBVyxHQUFHbEIsTUFBTSxDQUFDVyxXQUFQLENBQW1CTSxXQUFXLEdBQUcsT0FBakMsRUFBMENsQixRQUExQyxFQUFvRDtBQUFFYSxNQUFBQSxxQkFBcUIsRUFBRTtBQUF6QixLQUFwRCxDQUFwQjtBQUVBLFFBQU1PLFlBQVksR0FBR0QsV0FBVyxDQUFDSixPQUFaLENBQW9CLFFBQXBCLENBQXJCO0FBQ0FkLElBQUFBLE1BQU0sQ0FBQ2UsV0FBUCxDQUFtQixRQUFuQjtBQUNBLFdBQU9JLFlBQVA7QUFDQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsV0FBU0MsZUFBVCxDQUF5QnJCLFFBQXpCLEVBQXdDO0FBQ3ZDLFFBQU1DLE1BQU0sR0FBR0QsUUFBUSxDQUFDRSxRQUFULEVBQWY7QUFBQSxRQUNDQyxVQUFVLEdBQUdGLE1BQU0sQ0FBQ0csWUFBUCxFQURkO0FBQUEsUUFFQ0MsU0FBUyxHQUFHRixVQUFVLENBQUNHLFdBQVgsQ0FBdUJOLFFBQVEsQ0FBQ08sT0FBVCxFQUF2QixDQUZiO0FBQUEsUUFHQ2UsY0FBYyxHQUFHbkIsVUFBVSxDQUFDTSxTQUFYLENBQXFCSixTQUFTLEdBQUcsdUVBQWpDLENBSGxCOztBQUtBLFFBQUksQ0FBQ2lCLGNBQUwsRUFBcUI7QUFDcEIsWUFBTSxJQUFJWixLQUFKLENBQVUscURBQXFETCxTQUEvRCxDQUFOO0FBQ0E7O0FBRUQsUUFBTWtCLGNBQWMsR0FBR3RCLE1BQU0sQ0FBQ1csV0FBUCxDQUFtQixNQUFNVSxjQUFOLEdBQXVCLE9BQTFDLENBQXZCO0FBQ0EsUUFBTUUsZUFBZSxHQUFHRCxjQUFjLENBQUNSLE9BQWYsQ0FBdUIsUUFBdkIsRUFBaUNVLElBQWpDLENBQXNDLFlBQVc7QUFDeEUsYUFBT3pCLFFBQVA7QUFDQSxLQUZ1QixDQUF4QjtBQUdBQyxJQUFBQSxNQUFNLENBQUNlLFdBQVAsQ0FBbUIsUUFBbkI7QUFDQSxXQUFPUSxlQUFQO0FBQ0E7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLE1BQU1FLE1BQU0sR0FBRztBQUNkM0IsSUFBQUEsMkJBQTJCLEVBQUVBLDJCQURmO0FBRWRrQixJQUFBQSxnQkFBZ0IsRUFBRUEsZ0JBRko7QUFHZEksSUFBQUEsZUFBZSxFQUFFQTtBQUhILEdBQWY7U0FNZUssTSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBPcGVucyBhIHN0aWNreSBzZXNzaW9uIHRvIGVkaXQgYSBkb2N1bWVudC5cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBuYW1lIHNhcC5mZS5jb3JlLmFjdGlvbnMuc3RpY2t5I2VkaXREb2N1bWVudEluU3RpY2t5U2Vzc2lvblxuICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmFjdGlvbnMuc3RpY2t5XG4gKiBAc3RhdGljXG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IG9mIHRoZSBkb2N1bWVudCB0byBiZSBlZGl0ZWRcbiAqIEByZXR1cm5zIHtQcm9taXNlfVxuICogQHByaXZhdGVcbiAqIEB1aTUtcmVzdHJpY3RlZFxuICovXG5mdW5jdGlvbiBlZGl0RG9jdW1lbnRJblN0aWNreVNlc3Npb24ob0NvbnRleHQ6IGFueSkge1xuXHRjb25zdCBvTW9kZWwgPSBvQ29udGV4dC5nZXRNb2RlbCgpLFxuXHRcdG9NZXRhTW9kZWwgPSBvTW9kZWwuZ2V0TWV0YU1vZGVsKCksXG5cdFx0c01ldGFQYXRoID0gb01ldGFNb2RlbC5nZXRNZXRhUGF0aChvQ29udGV4dC5nZXRQYXRoKCkpLFxuXHRcdHNFZGl0QWN0aW9uID0gb01ldGFNb2RlbC5nZXRPYmplY3Qoc01ldGFQYXRoICsgXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuU2Vzc2lvbi52MS5TdGlja3lTZXNzaW9uU3VwcG9ydGVkL0VkaXRBY3Rpb25cIik7XG5cblx0aWYgKCFzRWRpdEFjdGlvbikge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIkVkaXQgQWN0aW9uIGZvciBTdGlja3kgU2Vzc2lvbiBub3QgZm91bmQgZm9yIFwiICsgc01ldGFQYXRoKTtcblx0fVxuXG5cdGNvbnN0IG9FZGl0QWN0aW9uID0gb01vZGVsLmJpbmRDb250ZXh0KHNFZGl0QWN0aW9uICsgXCIoLi4uKVwiLCBvQ29udGV4dCwgeyAkJGluaGVyaXRFeHBhbmRTZWxlY3Q6IHRydWUgfSk7XG5cblx0Y29uc3Qgb0VkaXRQcm9taXNlID0gb0VkaXRBY3Rpb24uZXhlY3V0ZShcImRpcmVjdFwiKTtcblx0b01vZGVsLnN1Ym1pdEJhdGNoKFwiZGlyZWN0XCIpO1xuXHRyZXR1cm4gb0VkaXRQcm9taXNlO1xufVxuLyoqXG4gKiBBY3RpdmF0ZXMgYSBkb2N1bWVudCBhbmQgY2xvc2VzIHN0aWNreSBzZXNzaW9uLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3kjYWN0aXZhdGVEb2N1bWVudFxuICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmFjdGlvbnMuc3RpY2t5XG4gKiBAc3RhdGljXG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IG9mIHRoZSBkb2N1bWVudCB0byBiZSBhY3RpdmF0ZWRcbiAqIEByZXR1cm5zIHtQcm9taXNlfVxuICogQHByaXZhdGVcbiAqIEB1aTUtcmVzdHJpY3RlZFxuICovXG5mdW5jdGlvbiBhY3RpdmF0ZURvY3VtZW50KG9Db250ZXh0OiBhbnkpIHtcblx0Y29uc3Qgb01vZGVsID0gb0NvbnRleHQuZ2V0TW9kZWwoKSxcblx0XHRvTWV0YU1vZGVsID0gb01vZGVsLmdldE1ldGFNb2RlbCgpLFxuXHRcdHNNZXRhUGF0aCA9IG9NZXRhTW9kZWwuZ2V0TWV0YVBhdGgob0NvbnRleHQuZ2V0UGF0aCgpKSxcblx0XHRzU2F2ZUFjdGlvbiA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KHNNZXRhUGF0aCArIFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlNlc3Npb24udjEuU3RpY2t5U2Vzc2lvblN1cHBvcnRlZC9TYXZlQWN0aW9uXCIpO1xuXG5cdGlmICghc1NhdmVBY3Rpb24pIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJTYXZlIEFjdGlvbiBmb3IgU3RpY2t5IFNlc3Npb24gbm90IGZvdW5kIGZvciBcIiArIHNNZXRhUGF0aCk7XG5cdH1cblxuXHRjb25zdCBvU2F2ZUFjdGlvbiA9IG9Nb2RlbC5iaW5kQ29udGV4dChzU2F2ZUFjdGlvbiArIFwiKC4uLilcIiwgb0NvbnRleHQsIHsgJCRpbmhlcml0RXhwYW5kU2VsZWN0OiB0cnVlIH0pO1xuXG5cdGNvbnN0IG9TYXZlUHJvbWlzZSA9IG9TYXZlQWN0aW9uLmV4ZWN1dGUoXCJkaXJlY3RcIik7XG5cdG9Nb2RlbC5zdWJtaXRCYXRjaChcImRpcmVjdFwiKTtcblx0cmV0dXJuIG9TYXZlUHJvbWlzZTtcbn1cbi8qKlxuICogRGlzY2FyZHMgYSBkb2N1bWVudCBhbmQgY2xvc2VzIHN0aWNreSBzZXNzaW9uLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3kjZGlzY2FyZERvY3VtZW50XG4gKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3lcbiAqIEBzdGF0aWNcbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IENvbnRleHQgb2YgdGhlIGRvY3VtZW50IHRvIGJlIGRpc2NhcmRlZFxuICogQHJldHVybnMge1Byb21pc2V9XG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmZ1bmN0aW9uIGRpc2NhcmREb2N1bWVudChvQ29udGV4dDogYW55KSB7XG5cdGNvbnN0IG9Nb2RlbCA9IG9Db250ZXh0LmdldE1vZGVsKCksXG5cdFx0b01ldGFNb2RlbCA9IG9Nb2RlbC5nZXRNZXRhTW9kZWwoKSxcblx0XHRzTWV0YVBhdGggPSBvTWV0YU1vZGVsLmdldE1ldGFQYXRoKG9Db250ZXh0LmdldFBhdGgoKSksXG5cdFx0c0Rpc2NhcmRBY3Rpb24gPSBvTWV0YU1vZGVsLmdldE9iamVjdChzTWV0YVBhdGggKyBcIkBjb20uc2FwLnZvY2FidWxhcmllcy5TZXNzaW9uLnYxLlN0aWNreVNlc3Npb25TdXBwb3J0ZWQvRGlzY2FyZEFjdGlvblwiKTtcblxuXHRpZiAoIXNEaXNjYXJkQWN0aW9uKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiRGlzY2FyZCBBY3Rpb24gZm9yIFN0aWNreSBTZXNzaW9uIG5vdCBmb3VuZCBmb3IgXCIgKyBzTWV0YVBhdGgpO1xuXHR9XG5cblx0Y29uc3Qgb0Rpc2NhcmRBY3Rpb24gPSBvTW9kZWwuYmluZENvbnRleHQoXCIvXCIgKyBzRGlzY2FyZEFjdGlvbiArIFwiKC4uLilcIik7XG5cdGNvbnN0IG9EaXNjYXJkUHJvbWlzZSA9IG9EaXNjYXJkQWN0aW9uLmV4ZWN1dGUoXCJkaXJlY3RcIikudGhlbihmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gb0NvbnRleHQ7XG5cdH0pO1xuXHRvTW9kZWwuc3VibWl0QmF0Y2goXCJkaXJlY3RcIik7XG5cdHJldHVybiBvRGlzY2FyZFByb21pc2U7XG59XG5cbi8qKlxuICogU3RhdGljIGZ1bmN0aW9ucyBmb3IgdGhlIHN0aWNreSBzZXNzaW9uIHByb2dyYW1taW5nIG1vZGVsXG4gKlxuICogQG5hbWVzcGFjZVxuICogQGFsaWFzIHNhcC5mZS5jb3JlLmFjdGlvbnMuc3RpY2t5XG4gKiBAcHJpdmF0ZVxuICogQGV4cGVyaW1lbnRhbCBUaGlzIG1vZHVsZSBpcyBvbmx5IGZvciBleHBlcmltZW50YWwgdXNlISA8YnIvPjxiPlRoaXMgaXMgb25seSBhIFBPQyBhbmQgbWF5YmUgZGVsZXRlZDwvYj5cbiAqIEBzaW5jZSAxLjU0LjBcbiAqL1xuY29uc3Qgc3RpY2t5ID0ge1xuXHRlZGl0RG9jdW1lbnRJblN0aWNreVNlc3Npb246IGVkaXREb2N1bWVudEluU3RpY2t5U2Vzc2lvbixcblx0YWN0aXZhdGVEb2N1bWVudDogYWN0aXZhdGVEb2N1bWVudCxcblx0ZGlzY2FyZERvY3VtZW50OiBkaXNjYXJkRG9jdW1lbnRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHN0aWNreTtcbiJdfQ==
130
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0aWNreS50cyJdLCJuYW1lcyI6WyJlZGl0RG9jdW1lbnRJblN0aWNreVNlc3Npb24iLCJvQ29udGV4dCIsIm9BcHBDb21wb25lbnQiLCJvTW9kZWwiLCJnZXRNb2RlbCIsIm9NZXRhTW9kZWwiLCJnZXRNZXRhTW9kZWwiLCJzTWV0YVBhdGgiLCJnZXRNZXRhUGF0aCIsImdldFBhdGgiLCJzRWRpdEFjdGlvbiIsImdldE9iamVjdCIsIkVycm9yIiwib0VkaXRBY3Rpb24iLCJiaW5kQ29udGV4dCIsIiQkaW5oZXJpdEV4cGFuZFNlbGVjdCIsIm9FZGl0UHJvbWlzZSIsImV4ZWN1dGUiLCJzdWJtaXRCYXRjaCIsInRoZW4iLCJvTmV3Q29udGV4dCIsIm9TaWRlRWZmZWN0cyIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsImdldE9EYXRhQWN0aW9uU2lkZUVmZmVjdHMiLCJ0cmlnZ2VyQWN0aW9ucyIsImxlbmd0aCIsInJlcXVlc3RTaWRlRWZmZWN0c0Zvck9EYXRhQWN0aW9uIiwiYWN0aXZhdGVEb2N1bWVudCIsInNTYXZlQWN0aW9uIiwib1NhdmVBY3Rpb24iLCJvU2F2ZVByb21pc2UiLCJkaXNjYXJkRG9jdW1lbnQiLCJzRGlzY2FyZEFjdGlvbiIsIm9EaXNjYXJkQWN0aW9uIiwib0Rpc2NhcmRQcm9taXNlIiwic3RpY2t5Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFTQSwyQkFBVCxDQUFxQ0MsUUFBckMsRUFBd0RDLGFBQXhELEVBQXFGO0FBQ3BGLFFBQU1DLE1BQU0sR0FBR0YsUUFBUSxDQUFDRyxRQUFULEVBQWY7QUFBQSxRQUNDQyxVQUFVLEdBQUdGLE1BQU0sQ0FBQ0csWUFBUCxFQURkO0FBQUEsUUFFQ0MsU0FBUyxHQUFHRixVQUFVLENBQUNHLFdBQVgsQ0FBdUJQLFFBQVEsQ0FBQ1EsT0FBVCxFQUF2QixDQUZiO0FBQUEsUUFHQ0MsV0FBVyxHQUFHTCxVQUFVLENBQUNNLFNBQVgsQ0FBcUJKLFNBQVMsR0FBRyxvRUFBakMsQ0FIZjs7QUFLQSxRQUFJLENBQUNHLFdBQUwsRUFBa0I7QUFDakIsWUFBTSxJQUFJRSxLQUFKLENBQVUsa0RBQWtETCxTQUE1RCxDQUFOO0FBQ0E7O0FBRUQsUUFBTU0sV0FBVyxHQUFHVixNQUFNLENBQUNXLFdBQVAsQ0FBbUJKLFdBQVcsR0FBRyxPQUFqQyxFQUEwQ1QsUUFBMUMsRUFBb0Q7QUFBRWMsTUFBQUEscUJBQXFCLEVBQUU7QUFBekIsS0FBcEQsQ0FBcEI7QUFFQSxRQUFNQyxZQUFZLEdBQUdILFdBQVcsQ0FBQ0ksT0FBWixDQUFvQixRQUFwQixDQUFyQjtBQUNBZCxJQUFBQSxNQUFNLENBQUNlLFdBQVAsQ0FBbUIsUUFBbkI7QUFDQSxXQUFPRixZQUFZLENBQUNHLElBQWIsQ0FBa0IsVUFBQ0MsV0FBRCxFQUEwQjtBQUFBOztBQUNsRCxVQUFNQyxZQUFZLEdBQUduQixhQUFhLENBQUNvQixxQkFBZCxHQUFzQ0MseUJBQXRDLENBQWdFYixXQUFoRSxFQUE2RVUsV0FBN0UsQ0FBckI7O0FBQ0EsVUFBSUMsWUFBSixhQUFJQSxZQUFKLHdDQUFJQSxZQUFZLENBQUVHLGNBQWxCLGtEQUFJLHNCQUE4QkMsTUFBbEMsRUFBMEM7QUFDekMsZUFBT3ZCLGFBQWEsQ0FDbEJvQixxQkFESyxHQUVMSSxnQ0FGSyxDQUU0QkwsWUFGNUIsRUFFMENELFdBRjFDLEVBR0xELElBSEssQ0FHQSxZQUFNO0FBQ1gsaUJBQU9DLFdBQVA7QUFDQSxTQUxLLENBQVA7QUFNQSxPQVBELE1BT087QUFDTixlQUFPQSxXQUFQO0FBQ0E7QUFDRCxLQVpNLENBQVA7QUFhQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsV0FBU08sZ0JBQVQsQ0FBMEIxQixRQUExQixFQUF5QztBQUN4QyxRQUFNRSxNQUFNLEdBQUdGLFFBQVEsQ0FBQ0csUUFBVCxFQUFmO0FBQUEsUUFDQ0MsVUFBVSxHQUFHRixNQUFNLENBQUNHLFlBQVAsRUFEZDtBQUFBLFFBRUNDLFNBQVMsR0FBR0YsVUFBVSxDQUFDRyxXQUFYLENBQXVCUCxRQUFRLENBQUNRLE9BQVQsRUFBdkIsQ0FGYjtBQUFBLFFBR0NtQixXQUFXLEdBQUd2QixVQUFVLENBQUNNLFNBQVgsQ0FBcUJKLFNBQVMsR0FBRyxvRUFBakMsQ0FIZjs7QUFLQSxRQUFJLENBQUNxQixXQUFMLEVBQWtCO0FBQ2pCLFlBQU0sSUFBSWhCLEtBQUosQ0FBVSxrREFBa0RMLFNBQTVELENBQU47QUFDQTs7QUFFRCxRQUFNc0IsV0FBVyxHQUFHMUIsTUFBTSxDQUFDVyxXQUFQLENBQW1CYyxXQUFXLEdBQUcsT0FBakMsRUFBMEMzQixRQUExQyxFQUFvRDtBQUFFYyxNQUFBQSxxQkFBcUIsRUFBRTtBQUF6QixLQUFwRCxDQUFwQjtBQUVBLFFBQU1lLFlBQVksR0FBR0QsV0FBVyxDQUFDWixPQUFaLENBQW9CLFFBQXBCLENBQXJCO0FBQ0FkLElBQUFBLE1BQU0sQ0FBQ2UsV0FBUCxDQUFtQixRQUFuQjtBQUNBLFdBQU9ZLFlBQVA7QUFDQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsV0FBU0MsZUFBVCxDQUF5QjlCLFFBQXpCLEVBQXdDO0FBQ3ZDLFFBQU1FLE1BQU0sR0FBR0YsUUFBUSxDQUFDRyxRQUFULEVBQWY7QUFBQSxRQUNDQyxVQUFVLEdBQUdGLE1BQU0sQ0FBQ0csWUFBUCxFQURkO0FBQUEsUUFFQ0MsU0FBUyxHQUFHRixVQUFVLENBQUNHLFdBQVgsQ0FBdUJQLFFBQVEsQ0FBQ1EsT0FBVCxFQUF2QixDQUZiO0FBQUEsUUFHQ3VCLGNBQWMsR0FBRzNCLFVBQVUsQ0FBQ00sU0FBWCxDQUFxQkosU0FBUyxHQUFHLHVFQUFqQyxDQUhsQjs7QUFLQSxRQUFJLENBQUN5QixjQUFMLEVBQXFCO0FBQ3BCLFlBQU0sSUFBSXBCLEtBQUosQ0FBVSxxREFBcURMLFNBQS9ELENBQU47QUFDQTs7QUFFRCxRQUFNMEIsY0FBYyxHQUFHOUIsTUFBTSxDQUFDVyxXQUFQLENBQW1CLE1BQU1rQixjQUFOLEdBQXVCLE9BQTFDLENBQXZCO0FBQ0EsUUFBTUUsZUFBZSxHQUFHRCxjQUFjLENBQUNoQixPQUFmLENBQXVCLFFBQXZCLEVBQWlDRSxJQUFqQyxDQUFzQyxZQUFXO0FBQ3hFLGFBQU9sQixRQUFQO0FBQ0EsS0FGdUIsQ0FBeEI7QUFHQUUsSUFBQUEsTUFBTSxDQUFDZSxXQUFQLENBQW1CLFFBQW5CO0FBQ0EsV0FBT2dCLGVBQVA7QUFDQTtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsTUFBTUMsTUFBTSxHQUFHO0FBQ2RuQyxJQUFBQSwyQkFBMkIsRUFBRUEsMkJBRGY7QUFFZDJCLElBQUFBLGdCQUFnQixFQUFFQSxnQkFGSjtBQUdkSSxJQUFBQSxlQUFlLEVBQUVBO0FBSEgsR0FBZjtTQU1lSSxNIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCBPRGF0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNb2RlbFwiO1xuaW1wb3J0IEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5cbi8qKlxuICogT3BlbnMgYSBzdGlja3kgc2Vzc2lvbiB0byBlZGl0IGEgZG9jdW1lbnQuXG4gKlxuICogQGZ1bmN0aW9uXG4gKiBAbmFtZSBzYXAuZmUuY29yZS5hY3Rpb25zLnN0aWNreSNlZGl0RG9jdW1lbnRJblN0aWNreVNlc3Npb25cbiAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5hY3Rpb25zLnN0aWNreVxuICogQHN0YXRpY1xuICogQHBhcmFtIHtzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dH0gb0NvbnRleHQgQ29udGV4dCBvZiB0aGUgZG9jdW1lbnQgdG8gYmUgZWRpdGVkXG4gKiBAcGFyYW0ge0FwcENvbXBvbmVudH0gb0FwcENvbXBvbmVudCBUaGUgQXBwQ29tcG9uZW50XG4gKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAqIEBwcml2YXRlXG4gKiBAdWk1LXJlc3RyaWN0ZWRcbiAqL1xuZnVuY3Rpb24gZWRpdERvY3VtZW50SW5TdGlja3lTZXNzaW9uKG9Db250ZXh0OiBDb250ZXh0LCBvQXBwQ29tcG9uZW50OiBBcHBDb21wb25lbnQpIHtcblx0Y29uc3Qgb01vZGVsID0gb0NvbnRleHQuZ2V0TW9kZWwoKSBhcyBPRGF0YU1vZGVsLFxuXHRcdG9NZXRhTW9kZWwgPSBvTW9kZWwuZ2V0TWV0YU1vZGVsKCksXG5cdFx0c01ldGFQYXRoID0gb01ldGFNb2RlbC5nZXRNZXRhUGF0aChvQ29udGV4dC5nZXRQYXRoKCkpLFxuXHRcdHNFZGl0QWN0aW9uID0gb01ldGFNb2RlbC5nZXRPYmplY3Qoc01ldGFQYXRoICsgXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuU2Vzc2lvbi52MS5TdGlja3lTZXNzaW9uU3VwcG9ydGVkL0VkaXRBY3Rpb25cIik7XG5cblx0aWYgKCFzRWRpdEFjdGlvbikge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIkVkaXQgQWN0aW9uIGZvciBTdGlja3kgU2Vzc2lvbiBub3QgZm91bmQgZm9yIFwiICsgc01ldGFQYXRoKTtcblx0fVxuXG5cdGNvbnN0IG9FZGl0QWN0aW9uID0gb01vZGVsLmJpbmRDb250ZXh0KHNFZGl0QWN0aW9uICsgXCIoLi4uKVwiLCBvQ29udGV4dCwgeyAkJGluaGVyaXRFeHBhbmRTZWxlY3Q6IHRydWUgfSk7XG5cblx0Y29uc3Qgb0VkaXRQcm9taXNlID0gb0VkaXRBY3Rpb24uZXhlY3V0ZShcImRpcmVjdFwiKTtcblx0b01vZGVsLnN1Ym1pdEJhdGNoKFwiZGlyZWN0XCIpO1xuXHRyZXR1cm4gb0VkaXRQcm9taXNlLnRoZW4oKG9OZXdDb250ZXh0OiBDb250ZXh0KSA9PiB7XG5cdFx0Y29uc3Qgb1NpZGVFZmZlY3RzID0gb0FwcENvbXBvbmVudC5nZXRTaWRlRWZmZWN0c1NlcnZpY2UoKS5nZXRPRGF0YUFjdGlvblNpZGVFZmZlY3RzKHNFZGl0QWN0aW9uLCBvTmV3Q29udGV4dCk7XG5cdFx0aWYgKG9TaWRlRWZmZWN0cz8udHJpZ2dlckFjdGlvbnM/Lmxlbmd0aCkge1xuXHRcdFx0cmV0dXJuIG9BcHBDb21wb25lbnRcblx0XHRcdFx0LmdldFNpZGVFZmZlY3RzU2VydmljZSgpXG5cdFx0XHRcdC5yZXF1ZXN0U2lkZUVmZmVjdHNGb3JPRGF0YUFjdGlvbihvU2lkZUVmZmVjdHMsIG9OZXdDb250ZXh0KVxuXHRcdFx0XHQudGhlbigoKSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIG9OZXdDb250ZXh0O1xuXHRcdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIG9OZXdDb250ZXh0O1xuXHRcdH1cblx0fSk7XG59XG4vKipcbiAqIEFjdGl2YXRlcyBhIGRvY3VtZW50IGFuZCBjbG9zZXMgdGhlIHN0aWNreSBzZXNzaW9uLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3kjYWN0aXZhdGVEb2N1bWVudFxuICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmFjdGlvbnMuc3RpY2t5XG4gKiBAc3RhdGljXG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IG9mIHRoZSBkb2N1bWVudCB0byBiZSBhY3RpdmF0ZWRcbiAqIEByZXR1cm5zIHtQcm9taXNlfVxuICogQHByaXZhdGVcbiAqIEB1aTUtcmVzdHJpY3RlZFxuICovXG5mdW5jdGlvbiBhY3RpdmF0ZURvY3VtZW50KG9Db250ZXh0OiBhbnkpIHtcblx0Y29uc3Qgb01vZGVsID0gb0NvbnRleHQuZ2V0TW9kZWwoKSxcblx0XHRvTWV0YU1vZGVsID0gb01vZGVsLmdldE1ldGFNb2RlbCgpLFxuXHRcdHNNZXRhUGF0aCA9IG9NZXRhTW9kZWwuZ2V0TWV0YVBhdGgob0NvbnRleHQuZ2V0UGF0aCgpKSxcblx0XHRzU2F2ZUFjdGlvbiA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KHNNZXRhUGF0aCArIFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlNlc3Npb24udjEuU3RpY2t5U2Vzc2lvblN1cHBvcnRlZC9TYXZlQWN0aW9uXCIpO1xuXG5cdGlmICghc1NhdmVBY3Rpb24pIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJTYXZlIEFjdGlvbiBmb3IgU3RpY2t5IFNlc3Npb24gbm90IGZvdW5kIGZvciBcIiArIHNNZXRhUGF0aCk7XG5cdH1cblxuXHRjb25zdCBvU2F2ZUFjdGlvbiA9IG9Nb2RlbC5iaW5kQ29udGV4dChzU2F2ZUFjdGlvbiArIFwiKC4uLilcIiwgb0NvbnRleHQsIHsgJCRpbmhlcml0RXhwYW5kU2VsZWN0OiB0cnVlIH0pO1xuXG5cdGNvbnN0IG9TYXZlUHJvbWlzZSA9IG9TYXZlQWN0aW9uLmV4ZWN1dGUoXCJkaXJlY3RcIik7XG5cdG9Nb2RlbC5zdWJtaXRCYXRjaChcImRpcmVjdFwiKTtcblx0cmV0dXJuIG9TYXZlUHJvbWlzZTtcbn1cbi8qKlxuICogRGlzY2FyZHMgYSBkb2N1bWVudCBhbmQgY2xvc2VzIHN0aWNreSBzZXNzaW9uLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3kjZGlzY2FyZERvY3VtZW50XG4gKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3lcbiAqIEBzdGF0aWNcbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IENvbnRleHQgb2YgdGhlIGRvY3VtZW50IHRvIGJlIGRpc2NhcmRlZFxuICogQHJldHVybnMge1Byb21pc2V9XG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmZ1bmN0aW9uIGRpc2NhcmREb2N1bWVudChvQ29udGV4dDogYW55KSB7XG5cdGNvbnN0IG9Nb2RlbCA9IG9Db250ZXh0LmdldE1vZGVsKCksXG5cdFx0b01ldGFNb2RlbCA9IG9Nb2RlbC5nZXRNZXRhTW9kZWwoKSxcblx0XHRzTWV0YVBhdGggPSBvTWV0YU1vZGVsLmdldE1ldGFQYXRoKG9Db250ZXh0LmdldFBhdGgoKSksXG5cdFx0c0Rpc2NhcmRBY3Rpb24gPSBvTWV0YU1vZGVsLmdldE9iamVjdChzTWV0YVBhdGggKyBcIkBjb20uc2FwLnZvY2FidWxhcmllcy5TZXNzaW9uLnYxLlN0aWNreVNlc3Npb25TdXBwb3J0ZWQvRGlzY2FyZEFjdGlvblwiKTtcblxuXHRpZiAoIXNEaXNjYXJkQWN0aW9uKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiRGlzY2FyZCBBY3Rpb24gZm9yIFN0aWNreSBTZXNzaW9uIG5vdCBmb3VuZCBmb3IgXCIgKyBzTWV0YVBhdGgpO1xuXHR9XG5cblx0Y29uc3Qgb0Rpc2NhcmRBY3Rpb24gPSBvTW9kZWwuYmluZENvbnRleHQoXCIvXCIgKyBzRGlzY2FyZEFjdGlvbiArIFwiKC4uLilcIik7XG5cdGNvbnN0IG9EaXNjYXJkUHJvbWlzZSA9IG9EaXNjYXJkQWN0aW9uLmV4ZWN1dGUoXCJkaXJlY3RcIikudGhlbihmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gb0NvbnRleHQ7XG5cdH0pO1xuXHRvTW9kZWwuc3VibWl0QmF0Y2goXCJkaXJlY3RcIik7XG5cdHJldHVybiBvRGlzY2FyZFByb21pc2U7XG59XG5cbi8qKlxuICogU3RhdGljIGZ1bmN0aW9ucyBmb3IgdGhlIHN0aWNreSBzZXNzaW9uIHByb2dyYW1taW5nIG1vZGVsXG4gKlxuICogQG5hbWVzcGFjZVxuICogQGFsaWFzIHNhcC5mZS5jb3JlLmFjdGlvbnMuc3RpY2t5XG4gKiBAcHJpdmF0ZVxuICogQGV4cGVyaW1lbnRhbCBUaGlzIG1vZHVsZSBpcyBvbmx5IGZvciBleHBlcmltZW50YWwgdXNlISA8YnIvPjxiPlRoaXMgaXMgb25seSBhIFBPQyBhbmQgbWF5YmUgZGVsZXRlZDwvYj5cbiAqIEBzaW5jZSAxLjU0LjBcbiAqL1xuY29uc3Qgc3RpY2t5ID0ge1xuXHRlZGl0RG9jdW1lbnRJblN0aWNreVNlc3Npb246IGVkaXREb2N1bWVudEluU3RpY2t5U2Vzc2lvbixcblx0YWN0aXZhdGVEb2N1bWVudDogYWN0aXZhdGVEb2N1bWVudCxcblx0ZGlzY2FyZERvY3VtZW50OiBkaXNjYXJkRG9jdW1lbnRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHN0aWNreTtcbiJdfQ==
@@ -1,3 +1,7 @@
1
+ import Context from "sap/ui/model/odata/v4/Context";
2
+ import ODataModel from "sap/ui/model/odata/v4/ODataModel";
3
+ import AppComponent from "sap/fe/core/AppComponent";
4
+
1
5
  /**
2
6
  * Opens a sticky session to edit a document.
3
7
  *
@@ -6,12 +10,13 @@
6
10
  * @memberof sap.fe.core.actions.sticky
7
11
  * @static
8
12
  * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be edited
13
+ * @param {AppComponent} oAppComponent The AppComponent
9
14
  * @returns {Promise}
10
15
  * @private
11
16
  * @ui5-restricted
12
17
  */
13
- function editDocumentInStickySession(oContext: any) {
14
- const oModel = oContext.getModel(),
18
+ function editDocumentInStickySession(oContext: Context, oAppComponent: AppComponent) {
19
+ const oModel = oContext.getModel() as ODataModel,
15
20
  oMetaModel = oModel.getMetaModel(),
16
21
  sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
17
22
  sEditAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/EditAction");
@@ -24,10 +29,22 @@ function editDocumentInStickySession(oContext: any) {
24
29
 
25
30
  const oEditPromise = oEditAction.execute("direct");
26
31
  oModel.submitBatch("direct");
27
- return oEditPromise;
32
+ return oEditPromise.then((oNewContext: Context) => {
33
+ const oSideEffects = oAppComponent.getSideEffectsService().getODataActionSideEffects(sEditAction, oNewContext);
34
+ if (oSideEffects?.triggerActions?.length) {
35
+ return oAppComponent
36
+ .getSideEffectsService()
37
+ .requestSideEffectsForODataAction(oSideEffects, oNewContext)
38
+ .then(() => {
39
+ return oNewContext;
40
+ });
41
+ } else {
42
+ return oNewContext;
43
+ }
44
+ });
28
45
  }
29
46
  /**
30
- * Activates a document and closes sticky session.
47
+ * Activates a document and closes the sticky session.
31
48
  *
32
49
  * @function
33
50
  * @name sap.fe.core.actions.sticky#activateDocument
@@ -1,75 +1,78 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- (c) Copyright 2009-2021 SAP SE. All rights reserved
4
-
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
5
4
  */
5
+ sap.ui.define(["sap/ui/base/Metadata", "sap/base/util/merge", "sap/ui/core/mvc/ControllerMetadata"], function (Metadata, merge, ControllerMetadata) {
6
+ "use strict";
6
7
 
7
- // Provides ControllerMetadata
8
- sap.ui.define(["sap/ui/base/Metadata", "sap/base/util/merge", "sap/ui/core/mvc/ControllerMetadata"], function(
9
- Metadata,
10
- merge,
11
- ControllerMetadata
12
- ) {
13
- "use strict";
8
+ /**
9
+ * Dedicated metadata for the FE controller extensions.
10
+ *
11
+ * @alias sap.fe.core.controllerextensions.ControllerExtensionMetadata
12
+ * @extends sap.ui.core.mvc.ControllerMetadata
13
+ * @param this
14
+ * @param {string} sClassName The target class name
15
+ * @param {object} oClassInfo The content of the class definition
16
+ * @param {any[]} rest
17
+ * @private
18
+ */
19
+ var ControllerExtensionMetadata = function (sClassName, oClassInfo) {
20
+ for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
21
+ rest[_key - 2] = arguments[_key];
22
+ }
14
23
 
15
- /**
16
- * Dedicated metadata for the FE controller extensions.
17
- *
18
- * @alias sap.fe.core.controllerextensions.ControllerExtensionMetadata
19
- * @extends sap.ui.core.mvc.ControllerMetadata
20
- * @param {string} sClassName The target class name
21
- * @param {object} oClassInfo The content of the class definition
22
- * @private
23
- */
24
- var ControllerExtensionMetadata = function(sClassName, oClassInfo) {
25
- // call super constructor
26
- ControllerMetadata.apply(this, arguments);
24
+ // call super constructor
25
+ ControllerMetadata.apply(this, [sClassName, oClassInfo].concat(rest)); // propagate static functions to subclasses of ControllerExtension
27
26
 
28
- // propagate static functions to subclasses of ControllerExtension
29
- if (this.isA("sap.ui.core.mvc.ControllerExtension") && this.getParent().getClass().override) {
30
- this.getClass().override = this.getParent().getClass().override;
31
- }
32
- };
27
+ if (this.isA("sap.ui.core.mvc.ControllerExtension") && this.getParent().getClass().override) {
28
+ this.getClass().override = this.getParent().getClass().override;
29
+ }
30
+ }; // chain the prototypes
33
31
 
34
- // chain the prototypes
35
- ControllerExtensionMetadata.prototype = Object.create(ControllerMetadata.prototype);
36
- ControllerExtensionMetadata.prototype.constructor = ControllerExtensionMetadata;
37
- /**
38
- * Called after new settings have been applied.
39
- *
40
- * Typically, this method is used to do some cleanup (e.g. uniqueness)
41
- * or to calculate an optimized version of some data.
42
- *
43
- * @private
44
- */
45
- ControllerExtensionMetadata.prototype.afterApplySettings = function() {
46
- Metadata.prototype.afterApplySettings.call(this);
47
- if (this._oParent) {
48
- var mParentMethods = this._oParent._mMethods ? this._oParent._mMethods : {};
49
- //allow change of visibility but not the other attributes
50
- for (var sMethod in mParentMethods) {
51
- if (this._mMethods[sMethod]) {
52
- var bPublic = this._mMethods[sMethod].public;
53
- //copy parent method definition as final/overrideExecution should not be overridden
54
- this._mMethods[sMethod] = merge({}, mParentMethods[sMethod]);
55
- if (bPublic !== undefined) {
56
- this._mMethods[sMethod].public = bPublic;
57
- }
58
- if (!this.isMethodPublic(sMethod) && this._mMethods[sMethod].public !== mParentMethods[sMethod].public) {
59
- //if visibility changed to private delete from public methods
60
- this._aAllPublicMethods.splice(this._aAllPublicMethods.indexOf(sMethod), 1);
61
- }
62
- } else {
63
- this._mMethods[sMethod] = mParentMethods[sMethod];
64
- }
65
- }
66
- }
67
32
 
68
- //flag each extension as final (but not the class ControllerExtension itself)
69
- if (this._oParent && this._oParent.isA("sap.ui.core.mvc.ControllerExtension")) {
70
- this._bFinal = true;
71
- }
72
- };
33
+ ControllerExtensionMetadata.prototype = Object.create(ControllerMetadata.prototype);
34
+ ControllerExtensionMetadata.prototype.constructor = ControllerExtensionMetadata;
35
+ /**
36
+ * Called after new settings have been applied.
37
+ *
38
+ * Typically, this method is used to do some cleanup (e.g. uniqueness)
39
+ * or to calculate an optimized version of some data.
40
+ *
41
+ * @private
42
+ */
73
43
 
74
- return ControllerExtensionMetadata;
75
- });
44
+ ControllerExtensionMetadata.prototype.afterApplySettings = function () {
45
+ Metadata.prototype.afterApplySettings.call(this);
46
+
47
+ if (this._oParent) {
48
+ var mParentMethods = this._oParent._mMethods ? this._oParent._mMethods : {}; //allow change of visibility but not the other attributes
49
+
50
+ for (var sMethod in mParentMethods) {
51
+ if (this._mMethods[sMethod]) {
52
+ var bPublic = this._mMethods[sMethod].public; //copy parent method definition as final/overrideExecution should not be overridden
53
+
54
+ this._mMethods[sMethod] = merge({}, mParentMethods[sMethod]);
55
+
56
+ if (bPublic !== undefined) {
57
+ this._mMethods[sMethod].public = bPublic;
58
+ }
59
+
60
+ if (!this.isMethodPublic(sMethod) && this._mMethods[sMethod].public !== mParentMethods[sMethod].public) {
61
+ //if visibility changed to private delete from public methods
62
+ this._aAllPublicMethods.splice(this._aAllPublicMethods.indexOf(sMethod), 1);
63
+ }
64
+ } else {
65
+ this._mMethods[sMethod] = mParentMethods[sMethod];
66
+ }
67
+ }
68
+ } //flag each extension as final (but not the class ControllerExtension itself)
69
+
70
+
71
+ if (this._oParent && this._oParent.isA("sap.ui.core.mvc.ControllerExtension")) {
72
+ this._bFinal = true;
73
+ }
74
+ };
75
+
76
+ return ControllerExtensionMetadata;
77
+ }, false);
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbnRyb2xsZXJFeHRlbnNpb25NZXRhZGF0YS50cyJdLCJuYW1lcyI6WyJDb250cm9sbGVyRXh0ZW5zaW9uTWV0YWRhdGEiLCJzQ2xhc3NOYW1lIiwib0NsYXNzSW5mbyIsInJlc3QiLCJDb250cm9sbGVyTWV0YWRhdGEiLCJhcHBseSIsImlzQSIsImdldFBhcmVudCIsImdldENsYXNzIiwib3ZlcnJpZGUiLCJwcm90b3R5cGUiLCJPYmplY3QiLCJjcmVhdGUiLCJjb25zdHJ1Y3RvciIsImFmdGVyQXBwbHlTZXR0aW5ncyIsIk1ldGFkYXRhIiwiY2FsbCIsIl9vUGFyZW50IiwibVBhcmVudE1ldGhvZHMiLCJfbU1ldGhvZHMiLCJzTWV0aG9kIiwiYlB1YmxpYyIsInB1YmxpYyIsIm1lcmdlIiwidW5kZWZpbmVkIiwiaXNNZXRob2RQdWJsaWMiLCJfYUFsbFB1YmxpY01ldGhvZHMiLCJzcGxpY2UiLCJpbmRleE9mIiwiX2JGaW5hbCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNQSwyQkFBMkIsR0FBRyxVQUFvQkMsVUFBcEIsRUFBd0NDLFVBQXhDLEVBQTRFO0FBQUEsc0NBQWJDLElBQWE7QUFBYkEsTUFBQUEsSUFBYTtBQUFBOztBQUMvRztBQUNBQyxJQUFBQSxrQkFBa0IsQ0FBQ0MsS0FBbkIsQ0FBeUIsSUFBekIsR0FBZ0NKLFVBQWhDLEVBQTRDQyxVQUE1QyxTQUEyREMsSUFBM0QsR0FGK0csQ0FJL0c7O0FBQ0EsUUFBSSxLQUFLRyxHQUFMLENBQVMscUNBQVQsS0FBbUQsS0FBS0MsU0FBTCxHQUFpQkMsUUFBakIsR0FBNEJDLFFBQW5GLEVBQTZGO0FBQzVGLFdBQUtELFFBQUwsR0FBZ0JDLFFBQWhCLEdBQTJCLEtBQUtGLFNBQUwsR0FBaUJDLFFBQWpCLEdBQTRCQyxRQUF2RDtBQUNBO0FBQ0QsR0FSRCxDLENBU0E7OztBQUNBVCxFQUFBQSwyQkFBMkIsQ0FBQ1UsU0FBNUIsR0FBd0NDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjUixrQkFBa0IsQ0FBQ00sU0FBakMsQ0FBeEM7QUFDQVYsRUFBQUEsMkJBQTJCLENBQUNVLFNBQTVCLENBQXNDRyxXQUF0QyxHQUFvRGIsMkJBQXBEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQUEsRUFBQUEsMkJBQTJCLENBQUNVLFNBQTVCLENBQXNDSSxrQkFBdEMsR0FBMkQsWUFBVztBQUNwRUMsSUFBQUEsUUFBUSxDQUFDTCxTQUFWLENBQTRCSSxrQkFBNUIsQ0FBK0NFLElBQS9DLENBQW9ELElBQXBEOztBQUNBLFFBQUksS0FBS0MsUUFBVCxFQUFtQjtBQUNsQixVQUFNQyxjQUFjLEdBQUcsS0FBS0QsUUFBTCxDQUFjRSxTQUFkLEdBQTBCLEtBQUtGLFFBQUwsQ0FBY0UsU0FBeEMsR0FBb0QsRUFBM0UsQ0FEa0IsQ0FFbEI7O0FBQ0EsV0FBSyxJQUFNQyxPQUFYLElBQXNCRixjQUF0QixFQUFzQztBQUNyQyxZQUFJLEtBQUtDLFNBQUwsQ0FBZUMsT0FBZixDQUFKLEVBQTZCO0FBQzVCLGNBQU1DLE9BQU8sR0FBRyxLQUFLRixTQUFMLENBQWVDLE9BQWYsRUFBd0JFLE1BQXhDLENBRDRCLENBRTVCOztBQUNBLGVBQUtILFNBQUwsQ0FBZUMsT0FBZixJQUEwQkcsS0FBSyxDQUFDLEVBQUQsRUFBS0wsY0FBYyxDQUFDRSxPQUFELENBQW5CLENBQS9COztBQUNBLGNBQUlDLE9BQU8sS0FBS0csU0FBaEIsRUFBMkI7QUFDMUIsaUJBQUtMLFNBQUwsQ0FBZUMsT0FBZixFQUF3QkUsTUFBeEIsR0FBaUNELE9BQWpDO0FBQ0E7O0FBQ0QsY0FBSSxDQUFDLEtBQUtJLGNBQUwsQ0FBb0JMLE9BQXBCLENBQUQsSUFBaUMsS0FBS0QsU0FBTCxDQUFlQyxPQUFmLEVBQXdCRSxNQUF4QixLQUFtQ0osY0FBYyxDQUFDRSxPQUFELENBQWQsQ0FBd0JFLE1BQWhHLEVBQXdHO0FBQ3ZHO0FBQ0EsaUJBQUtJLGtCQUFMLENBQXdCQyxNQUF4QixDQUErQixLQUFLRCxrQkFBTCxDQUF3QkUsT0FBeEIsQ0FBZ0NSLE9BQWhDLENBQS9CLEVBQXlFLENBQXpFO0FBQ0E7QUFDRCxTQVhELE1BV087QUFDTixlQUFLRCxTQUFMLENBQWVDLE9BQWYsSUFBMEJGLGNBQWMsQ0FBQ0UsT0FBRCxDQUF4QztBQUNBO0FBQ0Q7QUFDRCxLQXJCb0UsQ0F1QnJFOzs7QUFDQSxRQUFJLEtBQUtILFFBQUwsSUFBaUIsS0FBS0EsUUFBTCxDQUFjWCxHQUFkLENBQWtCLHFDQUFsQixDQUFyQixFQUErRTtBQUM5RSxXQUFLdUIsT0FBTCxHQUFlLElBQWY7QUFDQTtBQUNELEdBM0JEOztTQTZCZTdCLDJCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTWV0YWRhdGEgZnJvbSBcInNhcC91aS9iYXNlL01ldGFkYXRhXCI7XG5pbXBvcnQgbWVyZ2UgZnJvbSBcInNhcC9iYXNlL3V0aWwvbWVyZ2VcIjtcbmltcG9ydCBDb250cm9sbGVyTWV0YWRhdGEgZnJvbSBcInNhcC91aS9jb3JlL212Yy9Db250cm9sbGVyTWV0YWRhdGFcIjtcblxuLyoqXG4gKiBEZWRpY2F0ZWQgbWV0YWRhdGEgZm9yIHRoZSBGRSBjb250cm9sbGVyIGV4dGVuc2lvbnMuXG4gKlxuICogQGFsaWFzIHNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLkNvbnRyb2xsZXJFeHRlbnNpb25NZXRhZGF0YVxuICogQGV4dGVuZHMgc2FwLnVpLmNvcmUubXZjLkNvbnRyb2xsZXJNZXRhZGF0YVxuICogQHBhcmFtIHRoaXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBzQ2xhc3NOYW1lIFRoZSB0YXJnZXQgY2xhc3MgbmFtZVxuICogQHBhcmFtIHtvYmplY3R9IG9DbGFzc0luZm8gVGhlIGNvbnRlbnQgb2YgdGhlIGNsYXNzIGRlZmluaXRpb25cbiAqIEBwYXJhbSB7YW55W119IHJlc3RcbiAqIEBwcml2YXRlXG4gKi9cbmNvbnN0IENvbnRyb2xsZXJFeHRlbnNpb25NZXRhZGF0YSA9IGZ1bmN0aW9uKHRoaXM6IGFueSwgc0NsYXNzTmFtZTogc3RyaW5nLCBvQ2xhc3NJbmZvOiBvYmplY3QsIC4uLnJlc3Q6IGFueVtdKSB7XG5cdC8vIGNhbGwgc3VwZXIgY29uc3RydWN0b3Jcblx0Q29udHJvbGxlck1ldGFkYXRhLmFwcGx5KHRoaXMsIFtzQ2xhc3NOYW1lLCBvQ2xhc3NJbmZvLCAuLi5yZXN0XSk7XG5cblx0Ly8gcHJvcGFnYXRlIHN0YXRpYyBmdW5jdGlvbnMgdG8gc3ViY2xhc3NlcyBvZiBDb250cm9sbGVyRXh0ZW5zaW9uXG5cdGlmICh0aGlzLmlzQShcInNhcC51aS5jb3JlLm12Yy5Db250cm9sbGVyRXh0ZW5zaW9uXCIpICYmIHRoaXMuZ2V0UGFyZW50KCkuZ2V0Q2xhc3MoKS5vdmVycmlkZSkge1xuXHRcdHRoaXMuZ2V0Q2xhc3MoKS5vdmVycmlkZSA9IHRoaXMuZ2V0UGFyZW50KCkuZ2V0Q2xhc3MoKS5vdmVycmlkZTtcblx0fVxufTtcbi8vIGNoYWluIHRoZSBwcm90b3R5cGVzXG5Db250cm9sbGVyRXh0ZW5zaW9uTWV0YWRhdGEucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShDb250cm9sbGVyTWV0YWRhdGEucHJvdG90eXBlKTtcbkNvbnRyb2xsZXJFeHRlbnNpb25NZXRhZGF0YS5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBDb250cm9sbGVyRXh0ZW5zaW9uTWV0YWRhdGE7XG4vKipcbiAqIENhbGxlZCBhZnRlciBuZXcgc2V0dGluZ3MgaGF2ZSBiZWVuIGFwcGxpZWQuXG4gKlxuICogVHlwaWNhbGx5LCB0aGlzIG1ldGhvZCBpcyB1c2VkIHRvIGRvIHNvbWUgY2xlYW51cCAoZS5nLiB1bmlxdWVuZXNzKVxuICogb3IgdG8gY2FsY3VsYXRlIGFuIG9wdGltaXplZCB2ZXJzaW9uIG9mIHNvbWUgZGF0YS5cbiAqXG4gKiBAcHJpdmF0ZVxuICovXG5Db250cm9sbGVyRXh0ZW5zaW9uTWV0YWRhdGEucHJvdG90eXBlLmFmdGVyQXBwbHlTZXR0aW5ncyA9IGZ1bmN0aW9uKCkge1xuXHQoTWV0YWRhdGEucHJvdG90eXBlIGFzIGFueSkuYWZ0ZXJBcHBseVNldHRpbmdzLmNhbGwodGhpcyk7XG5cdGlmICh0aGlzLl9vUGFyZW50KSB7XG5cdFx0Y29uc3QgbVBhcmVudE1ldGhvZHMgPSB0aGlzLl9vUGFyZW50Ll9tTWV0aG9kcyA/IHRoaXMuX29QYXJlbnQuX21NZXRob2RzIDoge307XG5cdFx0Ly9hbGxvdyBjaGFuZ2Ugb2YgdmlzaWJpbGl0eSBidXQgbm90IHRoZSBvdGhlciBhdHRyaWJ1dGVzXG5cdFx0Zm9yIChjb25zdCBzTWV0aG9kIGluIG1QYXJlbnRNZXRob2RzKSB7XG5cdFx0XHRpZiAodGhpcy5fbU1ldGhvZHNbc01ldGhvZF0pIHtcblx0XHRcdFx0Y29uc3QgYlB1YmxpYyA9IHRoaXMuX21NZXRob2RzW3NNZXRob2RdLnB1YmxpYztcblx0XHRcdFx0Ly9jb3B5IHBhcmVudCBtZXRob2QgZGVmaW5pdGlvbiBhcyBmaW5hbC9vdmVycmlkZUV4ZWN1dGlvbiBzaG91bGQgbm90IGJlIG92ZXJyaWRkZW5cblx0XHRcdFx0dGhpcy5fbU1ldGhvZHNbc01ldGhvZF0gPSBtZXJnZSh7fSwgbVBhcmVudE1ldGhvZHNbc01ldGhvZF0pO1xuXHRcdFx0XHRpZiAoYlB1YmxpYyAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0dGhpcy5fbU1ldGhvZHNbc01ldGhvZF0ucHVibGljID0gYlB1YmxpYztcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoIXRoaXMuaXNNZXRob2RQdWJsaWMoc01ldGhvZCkgJiYgdGhpcy5fbU1ldGhvZHNbc01ldGhvZF0ucHVibGljICE9PSBtUGFyZW50TWV0aG9kc1tzTWV0aG9kXS5wdWJsaWMpIHtcblx0XHRcdFx0XHQvL2lmIHZpc2liaWxpdHkgY2hhbmdlZCB0byBwcml2YXRlIGRlbGV0ZSBmcm9tIHB1YmxpYyBtZXRob2RzXG5cdFx0XHRcdFx0dGhpcy5fYUFsbFB1YmxpY01ldGhvZHMuc3BsaWNlKHRoaXMuX2FBbGxQdWJsaWNNZXRob2RzLmluZGV4T2Yoc01ldGhvZCksIDEpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLl9tTWV0aG9kc1tzTWV0aG9kXSA9IG1QYXJlbnRNZXRob2RzW3NNZXRob2RdO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vZmxhZyBlYWNoIGV4dGVuc2lvbiBhcyBmaW5hbCAoYnV0IG5vdCB0aGUgY2xhc3MgQ29udHJvbGxlckV4dGVuc2lvbiBpdHNlbGYpXG5cdGlmICh0aGlzLl9vUGFyZW50ICYmIHRoaXMuX29QYXJlbnQuaXNBKFwic2FwLnVpLmNvcmUubXZjLkNvbnRyb2xsZXJFeHRlbnNpb25cIikpIHtcblx0XHR0aGlzLl9iRmluYWwgPSB0cnVlO1xuXHR9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb250cm9sbGVyRXh0ZW5zaW9uTWV0YWRhdGE7XG4iXX0=
@@ -0,0 +1,65 @@
1
+ import Metadata from "sap/ui/base/Metadata";
2
+ import merge from "sap/base/util/merge";
3
+ import ControllerMetadata from "sap/ui/core/mvc/ControllerMetadata";
4
+
5
+ /**
6
+ * Dedicated metadata for the FE controller extensions.
7
+ *
8
+ * @alias sap.fe.core.controllerextensions.ControllerExtensionMetadata
9
+ * @extends sap.ui.core.mvc.ControllerMetadata
10
+ * @param this
11
+ * @param {string} sClassName The target class name
12
+ * @param {object} oClassInfo The content of the class definition
13
+ * @param {any[]} rest
14
+ * @private
15
+ */
16
+ const ControllerExtensionMetadata = function(this: any, sClassName: string, oClassInfo: object, ...rest: any[]) {
17
+ // call super constructor
18
+ ControllerMetadata.apply(this, [sClassName, oClassInfo, ...rest]);
19
+
20
+ // propagate static functions to subclasses of ControllerExtension
21
+ if (this.isA("sap.ui.core.mvc.ControllerExtension") && this.getParent().getClass().override) {
22
+ this.getClass().override = this.getParent().getClass().override;
23
+ }
24
+ };
25
+ // chain the prototypes
26
+ ControllerExtensionMetadata.prototype = Object.create(ControllerMetadata.prototype);
27
+ ControllerExtensionMetadata.prototype.constructor = ControllerExtensionMetadata;
28
+ /**
29
+ * Called after new settings have been applied.
30
+ *
31
+ * Typically, this method is used to do some cleanup (e.g. uniqueness)
32
+ * or to calculate an optimized version of some data.
33
+ *
34
+ * @private
35
+ */
36
+ ControllerExtensionMetadata.prototype.afterApplySettings = function() {
37
+ (Metadata.prototype as any).afterApplySettings.call(this);
38
+ if (this._oParent) {
39
+ const mParentMethods = this._oParent._mMethods ? this._oParent._mMethods : {};
40
+ //allow change of visibility but not the other attributes
41
+ for (const sMethod in mParentMethods) {
42
+ if (this._mMethods[sMethod]) {
43
+ const bPublic = this._mMethods[sMethod].public;
44
+ //copy parent method definition as final/overrideExecution should not be overridden
45
+ this._mMethods[sMethod] = merge({}, mParentMethods[sMethod]);
46
+ if (bPublic !== undefined) {
47
+ this._mMethods[sMethod].public = bPublic;
48
+ }
49
+ if (!this.isMethodPublic(sMethod) && this._mMethods[sMethod].public !== mParentMethods[sMethod].public) {
50
+ //if visibility changed to private delete from public methods
51
+ this._aAllPublicMethods.splice(this._aAllPublicMethods.indexOf(sMethod), 1);
52
+ }
53
+ } else {
54
+ this._mMethods[sMethod] = mParentMethods[sMethod];
55
+ }
56
+ }
57
+ }
58
+
59
+ //flag each extension as final (but not the class ControllerExtension itself)
60
+ if (this._oParent && this._oParent.isA("sap.ui.core.mvc.ControllerExtension")) {
61
+ this._bFinal = true;
62
+ }
63
+ };
64
+
65
+ export default ControllerExtensionMetadata;