@sapui5/sap.fe.core 1.98.0 → 1.99.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 (231) hide show
  1. package/package.json +3 -2
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AnnotationHelper.js +377 -405
  4. package/src/sap/fe/core/AnnotationHelper.ts +385 -0
  5. package/src/sap/fe/core/AppComponent.js +3 -2
  6. package/src/sap/fe/core/AppStateHandler.js +229 -181
  7. package/src/sap/fe/core/AppStateHandler.ts +171 -0
  8. package/src/sap/fe/core/BaseController.js +3 -2
  9. package/src/sap/fe/core/BusyLocker.js +105 -121
  10. package/src/sap/fe/core/BusyLocker.ts +98 -0
  11. package/src/sap/fe/core/CommonUtils.js +2073 -2399
  12. package/src/sap/fe/core/CommonUtils.ts +2078 -0
  13. package/src/sap/fe/core/ExtensionAPI.js +3 -2
  14. package/src/sap/fe/core/PageController.js +84 -125
  15. package/src/sap/fe/core/PageController.ts +101 -0
  16. package/src/sap/fe/core/RouterProxy.js +986 -823
  17. package/src/sap/fe/core/RouterProxy.ts +838 -0
  18. package/src/sap/fe/core/Synchronization.js +51 -35
  19. package/src/sap/fe/core/Synchronization.ts +29 -0
  20. package/src/sap/fe/core/TemplateComponent.js +173 -164
  21. package/src/sap/fe/core/TemplateComponent.ts +166 -0
  22. package/src/sap/fe/core/TemplateModel.js +97 -54
  23. package/src/sap/fe/core/TemplateModel.ts +63 -0
  24. package/src/sap/fe/core/TransactionHelper.js +1576 -1664
  25. package/src/sap/fe/core/TransactionHelper.ts +1706 -0
  26. package/src/sap/fe/core/actions/draft.js +559 -608
  27. package/src/sap/fe/core/actions/draft.ts +593 -0
  28. package/src/sap/fe/core/actions/messageHandling.js +545 -514
  29. package/src/sap/fe/core/actions/messageHandling.ts +532 -0
  30. package/src/sap/fe/core/actions/nonDraft.js +17 -19
  31. package/src/sap/fe/core/actions/nonDraft.ts +12 -0
  32. package/src/sap/fe/core/actions/operations.js +1074 -1215
  33. package/src/sap/fe/core/actions/operations.ts +1162 -0
  34. package/src/sap/fe/core/actions/sticky.js +102 -105
  35. package/src/sap/fe/core/actions/sticky.ts +102 -0
  36. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +3 -2
  37. package/src/sap/fe/core/controllerextensions/EditFlow.js +54 -211
  38. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +3 -2
  39. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +279 -11
  40. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +8 -6
  41. package/src/sap/fe/core/controllerextensions/InternalRouting.js +47 -45
  42. package/src/sap/fe/core/controllerextensions/KPIManagement.js +2 -3
  43. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +29 -26
  44. package/src/sap/fe/core/controllerextensions/MassEdit.js +101 -8
  45. package/src/sap/fe/core/controllerextensions/MessageHandler.js +17 -8
  46. package/src/sap/fe/core/controllerextensions/PageReady.js +2 -2
  47. package/src/sap/fe/core/controllerextensions/PageReady.ts +12 -8
  48. package/src/sap/fe/core/controllerextensions/Paginator.js +3 -2
  49. package/src/sap/fe/core/controllerextensions/Placeholder.js +3 -2
  50. package/src/sap/fe/core/controllerextensions/Routing.js +9 -4
  51. package/src/sap/fe/core/controllerextensions/RoutingListener.js +3 -2
  52. package/src/sap/fe/core/controllerextensions/Share.js +3 -2
  53. package/src/sap/fe/core/controllerextensions/SideEffects.js +3 -3
  54. package/src/sap/fe/core/controllerextensions/SideEffects.ts +18 -18
  55. package/src/sap/fe/core/controllerextensions/ViewState.js +3 -2
  56. package/src/sap/fe/core/controls/CommandExecution.js +3 -2
  57. package/src/sap/fe/core/controls/ConditionalWrapper.js +3 -2
  58. package/src/sap/fe/core/controls/CustomQuickViewPage.js +3 -2
  59. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -2
  60. package/src/sap/fe/core/controls/FieldWrapper.js +11 -22
  61. package/src/sap/fe/core/controls/FilterBar.js +3 -2
  62. package/src/sap/fe/core/controls/FormElementWrapper.js +3 -2
  63. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +3 -2
  64. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -0
  65. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +3 -2
  66. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +5 -4
  67. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -2
  68. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +3 -2
  69. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +3 -2
  70. package/src/sap/fe/core/converters/ConverterContext.js +2 -2
  71. package/src/sap/fe/core/converters/ConverterContext.ts +4 -3
  72. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  73. package/src/sap/fe/core/converters/ManifestSettings.ts +1 -0
  74. package/src/sap/fe/core/converters/ManifestWrapper.js +39 -26
  75. package/src/sap/fe/core/converters/ManifestWrapper.ts +9 -0
  76. package/src/sap/fe/core/converters/MetaModelConverter.js +11 -8
  77. package/src/sap/fe/core/converters/MetaModelConverter.ts +16 -16
  78. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  79. package/src/sap/fe/core/converters/TemplateConverter.ts +2 -2
  80. package/src/sap/fe/core/converters/common/AnnotationConverter.js +17 -13
  81. package/src/sap/fe/core/converters/controls/Common/Action.js +2 -2
  82. package/src/sap/fe/core/converters/controls/Common/Action.ts +2 -2
  83. package/src/sap/fe/core/converters/controls/Common/Chart.js +5 -3
  84. package/src/sap/fe/core/converters/controls/Common/Chart.ts +11 -3
  85. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +3 -3
  86. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +2 -2
  87. package/src/sap/fe/core/converters/controls/Common/Form.js +4 -2
  88. package/src/sap/fe/core/converters/controls/Common/Form.ts +16 -2
  89. package/src/sap/fe/core/converters/controls/Common/Table.js +250 -146
  90. package/src/sap/fe/core/converters/controls/Common/Table.ts +300 -167
  91. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +115 -56
  92. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +120 -74
  93. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +467 -32
  94. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +483 -54
  95. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +6 -6
  96. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +9 -15
  97. package/src/sap/fe/core/converters/helpers/Aggregation.js +13 -5
  98. package/src/sap/fe/core/converters/helpers/Aggregation.ts +20 -5
  99. package/src/sap/fe/core/converters/helpers/IssueManager.js +4 -1
  100. package/src/sap/fe/core/converters/helpers/IssueManager.ts +3 -0
  101. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +4 -4
  102. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +3 -3
  103. package/src/sap/fe/core/converters/templates/ListReportConverter.js +13 -6
  104. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +26 -15
  105. package/src/sap/fe/core/designtime/AppComponent.designtime.js +3 -2
  106. package/src/sap/fe/core/formatters/CriticalityFormatter.js +1 -1
  107. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +1 -1
  108. package/src/sap/fe/core/formatters/FPMFormatter.js +1 -1
  109. package/src/sap/fe/core/formatters/FPMFormatter.ts +4 -10
  110. package/src/sap/fe/core/formatters/KPIFormatter.js +1 -1
  111. package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -1
  112. package/src/sap/fe/core/formatters/TableFormatter.js +39 -28
  113. package/src/sap/fe/core/formatters/TableFormatter.ts +43 -28
  114. package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
  115. package/src/sap/fe/core/formatters/ValueFormatter.ts +7 -6
  116. package/src/sap/fe/core/fpm/Component.js +3 -2
  117. package/src/sap/fe/core/helpers/AppStartupHelper.js +2 -2
  118. package/src/sap/fe/core/helpers/AppStartupHelper.ts +7 -4
  119. package/src/sap/fe/core/helpers/BindingExpression.js +314 -355
  120. package/src/sap/fe/core/helpers/BindingExpression.ts +317 -391
  121. package/src/sap/fe/core/helpers/ClassSupport.js +27 -15
  122. package/src/sap/fe/core/helpers/ClassSupport.ts +31 -20
  123. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +63 -59
  124. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +56 -0
  125. package/src/sap/fe/core/helpers/EditState.js +81 -84
  126. package/src/sap/fe/core/helpers/EditState.ts +81 -0
  127. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +62 -48
  128. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +49 -0
  129. package/src/sap/fe/core/helpers/FPMHelper.js +52 -56
  130. package/src/sap/fe/core/helpers/FPMHelper.ts +62 -0
  131. package/src/sap/fe/core/helpers/KeepAliveHelper.js +3 -4
  132. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +9 -9
  133. package/src/sap/fe/core/helpers/MassEditHelper.js +27 -18
  134. package/src/sap/fe/core/helpers/ModelHelper.js +229 -225
  135. package/src/sap/fe/core/helpers/ModelHelper.ts +227 -0
  136. package/src/sap/fe/core/helpers/PasteHelper.js +210 -132
  137. package/src/sap/fe/core/helpers/PasteHelper.ts +196 -0
  138. package/src/sap/fe/core/helpers/SemanticDateOperators.js +332 -313
  139. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +330 -0
  140. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +66 -67
  141. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +73 -0
  142. package/src/sap/fe/core/helpers/StableIdHelper.js +4 -7
  143. package/src/sap/fe/core/helpers/StableIdHelper.ts +2 -6
  144. package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
  145. package/src/sap/fe/core/jsx-runtime/jsx.ts +1 -1
  146. package/src/sap/fe/core/library.js +4 -3
  147. package/src/sap/fe/core/library.support.js +3 -2
  148. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  149. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +1 -1
  150. package/src/sap/fe/core/messagebundle.properties +23 -10
  151. package/src/sap/fe/core/messagebundle_ar.properties +9 -0
  152. package/src/sap/fe/core/messagebundle_bg.properties +9 -0
  153. package/src/sap/fe/core/messagebundle_ca.properties +9 -0
  154. package/src/sap/fe/core/messagebundle_cs.properties +10 -1
  155. package/src/sap/fe/core/messagebundle_cy.properties +9 -0
  156. package/src/sap/fe/core/messagebundle_da.properties +9 -0
  157. package/src/sap/fe/core/messagebundle_de.properties +9 -0
  158. package/src/sap/fe/core/messagebundle_el.properties +9 -0
  159. package/src/sap/fe/core/messagebundle_en.properties +9 -0
  160. package/src/sap/fe/core/messagebundle_en_GB.properties +9 -0
  161. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +9 -0
  162. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +9 -0
  163. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +9 -0
  164. package/src/sap/fe/core/messagebundle_es.properties +9 -0
  165. package/src/sap/fe/core/messagebundle_es_MX.properties +9 -0
  166. package/src/sap/fe/core/messagebundle_et.properties +9 -0
  167. package/src/sap/fe/core/messagebundle_fi.properties +9 -0
  168. package/src/sap/fe/core/messagebundle_fr.properties +13 -4
  169. package/src/sap/fe/core/messagebundle_fr_CA.properties +15 -6
  170. package/src/sap/fe/core/messagebundle_hi.properties +15 -6
  171. package/src/sap/fe/core/messagebundle_hr.properties +15 -6
  172. package/src/sap/fe/core/messagebundle_hu.properties +9 -0
  173. package/src/sap/fe/core/messagebundle_id.properties +10 -1
  174. package/src/sap/fe/core/messagebundle_it.properties +9 -0
  175. package/src/sap/fe/core/messagebundle_iw.properties +9 -0
  176. package/src/sap/fe/core/messagebundle_ja.properties +9 -0
  177. package/src/sap/fe/core/messagebundle_kk.properties +15 -6
  178. package/src/sap/fe/core/messagebundle_ko.properties +9 -0
  179. package/src/sap/fe/core/messagebundle_lt.properties +9 -0
  180. package/src/sap/fe/core/messagebundle_lv.properties +15 -6
  181. package/src/sap/fe/core/messagebundle_ms.properties +14 -5
  182. package/src/sap/fe/core/messagebundle_nl.properties +9 -0
  183. package/src/sap/fe/core/messagebundle_no.properties +9 -0
  184. package/src/sap/fe/core/messagebundle_pl.properties +9 -0
  185. package/src/sap/fe/core/messagebundle_pt.properties +9 -0
  186. package/src/sap/fe/core/messagebundle_pt_PT.properties +9 -0
  187. package/src/sap/fe/core/messagebundle_ro.properties +9 -0
  188. package/src/sap/fe/core/messagebundle_ru.properties +9 -0
  189. package/src/sap/fe/core/messagebundle_sh.properties +11 -2
  190. package/src/sap/fe/core/messagebundle_sk.properties +9 -0
  191. package/src/sap/fe/core/messagebundle_sl.properties +15 -6
  192. package/src/sap/fe/core/messagebundle_sv.properties +9 -0
  193. package/src/sap/fe/core/messagebundle_th.properties +9 -0
  194. package/src/sap/fe/core/messagebundle_tr.properties +9 -0
  195. package/src/sap/fe/core/messagebundle_uk.properties +9 -0
  196. package/src/sap/fe/core/messagebundle_vi.properties +9 -0
  197. package/src/sap/fe/core/messagebundle_zh_CN.properties +9 -0
  198. package/src/sap/fe/core/messagebundle_zh_TW.properties +15 -6
  199. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +1 -1
  200. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
  201. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +269 -202
  202. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +212 -0
  203. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  204. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +7 -6
  205. package/src/sap/fe/core/services/NavigationServiceFactory.js +406 -300
  206. package/src/sap/fe/core/services/NavigationServiceFactory.ts +316 -0
  207. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +149 -81
  208. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +80 -0
  209. package/src/sap/fe/core/services/RoutingServiceFactory.js +987 -899
  210. package/src/sap/fe/core/services/RoutingServiceFactory.ts +898 -0
  211. package/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
  212. package/src/sap/fe/core/services/ShellServicesFactory.ts +15 -10
  213. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +35 -81
  214. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +46 -94
  215. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +461 -487
  216. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +453 -0
  217. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +10 -8
  218. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +8 -0
  219. package/src/sap/fe/core/support/AnnotationIssue.support.js +15 -3
  220. package/src/sap/fe/core/support/AnnotationIssue.support.ts +16 -2
  221. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +2 -2
  222. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.ts +1 -1
  223. package/src/sap/fe/core/templating/FieldControlHelper.js +8 -8
  224. package/src/sap/fe/core/templating/FieldControlHelper.ts +25 -7
  225. package/src/sap/fe/core/templating/FilterHelper.js +138 -72
  226. package/src/sap/fe/core/templating/FilterHelper.ts +139 -71
  227. package/src/sap/fe/core/templating/UIFormatters.js +31 -1
  228. package/src/sap/fe/core/templating/UIFormatters.ts +33 -2
  229. package/src/sap/fe/core/type/Email.js +1 -1
  230. package/src/sap/fe/core/type/Email.ts +4 -6
  231. package/ui5.yaml +0 -3
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2022 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+
4
5
  */
5
6
  sap.ui.define(
6
7
  [
7
8
  "sap/ui/core/mvc/ControllerExtension",
8
9
  "sap/ui/core/mvc/OverrideExecution",
9
- "sap/fe/core/actions/sticky",
10
10
  "sap/base/Log",
11
11
  "sap/m/Text",
12
12
  "sap/m/Button",
@@ -25,7 +25,6 @@ sap.ui.define(
25
25
  function(
26
26
  ControllerExtension,
27
27
  OverrideExecution,
28
- sticky,
29
28
  Log,
30
29
  Text,
31
30
  Button,
@@ -58,7 +57,7 @@ sap.ui.define(
58
57
  DraftStatus = FELibrary.DraftStatus,
59
58
  EditMode = FELibrary.EditMode;
60
59
 
61
- var Extension = ControllerExtension.extend("sap.fe.core.controllerextensions.EditFlow", {
60
+ return ControllerExtension.extend("sap.fe.core.controllerextensions.EditFlow", {
62
61
  metadata: {
63
62
  methods: {
64
63
  editDocument: { "public": true, "final": true },
@@ -269,7 +268,7 @@ sap.ui.define(
269
268
  (mParameters.creationMode !== CreationMode.Inline &&
270
269
  mParameters.creationMode !== CreationMode.CreationRow &&
271
270
  mParameters.creationMode !== CreationMode.External),
272
- oExecFunctionFromManifestPromise = Promise.resolve([]),
271
+ oExecCustomValidation = Promise.resolve([]),
273
272
  oAppComponent = CommonUtils.getAppComponent(this.getView());
274
273
  oAppComponent.getRouterProxy().removeIAppStateKey();
275
274
 
@@ -285,27 +284,17 @@ sap.ui.define(
285
284
  }
286
285
 
287
286
  if (mParameters.creationMode === CreationMode.CreationRow && mParameters.creationRow) {
287
+ var oCreationRowObjects = mParameters.creationRow.getBindingContext().getObject();
288
+ delete oCreationRowObjects["@$ui5.context.isTransient"];
288
289
  oTable = mParameters.creationRow.getParent();
289
- // get custom validation function from manifest
290
- var sCustomValidationFunction = oTable.getCreationRow().data("customValidationFunction");
291
- if (sCustomValidationFunction) {
292
- var sModule = sCustomValidationFunction
293
- .substring(0, sCustomValidationFunction.lastIndexOf(".") || -1)
294
- .replace(/\./gi, "/"),
295
- sFunctionName = sCustomValidationFunction.substring(
296
- sCustomValidationFunction.lastIndexOf(".") + 1,
297
- sCustomValidationFunction.length
298
- ),
299
- oCreationRowObjects = mParameters.creationRow.getBindingContext().getObject();
300
- delete oCreationRowObjects["@$ui5.context.isTransient"];
301
- oExecFunctionFromManifestPromise = FPMHelper.validationWrapper(
302
- sModule,
303
- sFunctionName,
304
- oCreationRowObjects,
305
- that.base.getView(),
306
- oTable.getBindingContext("internal")
307
- );
308
- }
290
+ oExecCustomValidation = transactionHelper.validateDocument(
291
+ oTable.getBindingContext(),
292
+ {
293
+ data: oCreationRowObjects,
294
+ customValidationFunction: oTable.getCreationRow().data("customValidationFunction")
295
+ },
296
+ that.base.getView()
297
+ );
309
298
 
310
299
  // disableAddRowButtonForEmptyData is set to false in manifest converter (Table.ts) if customValidationFunction exists
311
300
  if (oTable.getCreationRow().data("disableAddRowButtonForEmptyData") === "true") {
@@ -420,7 +409,7 @@ sap.ui.define(
420
409
  }
421
410
 
422
411
  bShouldBusyLock && BusyLocker.lock(oLockObject);
423
- return this._syncTask(oExecFunctionFromManifestPromise)
412
+ return this._syncTask(oExecCustomValidation)
424
413
  .then(function(aValidationMessages) {
425
414
  if (aValidationMessages.length > 0) {
426
415
  createCustomValidationMessages(aValidationMessages);
@@ -476,7 +465,11 @@ sap.ui.define(
476
465
  }
477
466
  }
478
467
  var sMetaPath = oMetaModel.getMetaPath(oListBinding.getHeaderContext().getPath());
479
- var aNonComputedVisibleKeyFields = CommonUtils.getNonComputedVisibleFields(oMetaModel, sMetaPath);
468
+ var aNonComputedVisibleKeyFields = CommonUtils.getNonComputedVisibleFields(
469
+ oMetaModel,
470
+ sMetaPath,
471
+ that.getView()
472
+ );
480
473
  if (aNonComputedVisibleKeyFields.length > 0) {
481
474
  return CreationMode.Deferred;
482
475
  }
@@ -525,21 +518,15 @@ sap.ui.define(
525
518
  if (!mParameters.parentControl) {
526
519
  mParameters.parentControl = that.getView();
527
520
  }
528
- return that.base.editFlow
529
- .onBeforeCreate({ contextPath: oListBinding.getPath() })
530
- .then(
531
- transactionHelper.createDocument.bind(
532
- transactionHelper,
533
- oListBinding,
534
- mParameters,
535
- oResourceBundle,
536
- that._getMessageHandler()
537
- )
538
- )
539
- .catch(function(oError) {
540
- Log.error("Error while creating the document", oError);
541
- return Promise.reject();
542
- });
521
+ mParameters.beforeCreateCallBack = that.base.editFlow.onBeforeCreate;
522
+ return transactionHelper.createDocument(
523
+ oListBinding,
524
+ mParameters,
525
+ oResourceBundle,
526
+ that._getMessageHandler(),
527
+ false,
528
+ that.getView()
529
+ );
543
530
  });
544
531
  }
545
532
 
@@ -583,7 +570,7 @@ sap.ui.define(
583
570
  });
584
571
  break;
585
572
  case CreationMode.Inline:
586
- oNavigation = handleSideEffects(oListBinding, oCreation);
573
+ handleSideEffects(oListBinding, oCreation);
587
574
  that._syncTask(oCreation);
588
575
  break;
589
576
  case CreationMode.CreationRow:
@@ -706,7 +693,8 @@ sap.ui.define(
706
693
  * This function is meant to be individually overridden by consuming controllers, but not to be called directly.
707
694
  * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}.
708
695
  * @param {map} [mParameters] Object containing the parameters passed to onBeforeCreate
709
- * @param {string} [mParameters.contextPath] Path pointing to the context on which 'Create' action is triggered
696
+ * @param {string} [mParameters.contextPath] Path pointing to the context on which Create action is triggered
697
+ * @param {Array} [mParameters.createParameters] Array of values that are filled in the Action Parameter Dialog
710
698
  * @returns {Promise} A promise to be returned by the overridden method. If resolved, the 'Create' action is triggered. If rejected, the 'Create' action is not triggered.
711
699
  * @memberof sap.fe.core.controllerextensions.EditFlow
712
700
  * @alias sap.fe.core.controllerextensions.EditFlow#onBeforeCreate
@@ -1213,6 +1201,7 @@ sap.ui.define(
1213
1201
  */
1214
1202
  if (mParameters.contexts) {
1215
1203
  EditState.setEditStateDirty();
1204
+ that._getInternalModel().setProperty("/sCustomAction", sActionName);
1216
1205
  }
1217
1206
  if (mParameters.isNavigable) {
1218
1207
  var vContext = oResponse;
@@ -1498,140 +1487,31 @@ sap.ui.define(
1498
1487
  },
1499
1488
 
1500
1489
  _handleStickyOn: function(oContext) {
1501
- var that = this,
1502
- oAppComponent = CommonUtils.getAppComponent(this.getView());
1503
-
1504
- if (!oAppComponent.getRouterProxy().hasNavigationGuard()) {
1505
- var sHashTracker = oAppComponent.getRouterProxy().getHash(),
1506
- oInternalModel = this._getInternalModel();
1507
-
1508
- // Set a guard in the RouterProxy
1509
- // A timeout is necessary, as with deferred creation the hashChanger is not updated yet with
1510
- // the new hash, and the guard cannot be found in the managed history of the router proxy
1511
- setTimeout(function() {
1512
- oAppComponent.getRouterProxy().setNavigationGuard();
1513
- }, 0);
1514
-
1515
- // Setting back navigation on shell service, to get the dicard message box in case of sticky
1516
- oAppComponent.getShellServices().setBackNavigation(that._onBackNavigationInSession.bind(that));
1517
-
1518
- this.fnDirtyStateProvider = function(oNavigationContext) {
1519
- var sTargetHash = oNavigationContext.innerAppRoute,
1520
- oRouterProxy = oAppComponent.getRouterProxy(),
1521
- bDirty,
1522
- bSessionON = oInternalModel.getProperty("/sessionOn");
1523
-
1524
- if (!bSessionON) {
1525
- // If the sticky session was terminated before hand.
1526
- // Eexample in case of navigating away from application using IBN.
1527
- return;
1528
- }
1529
-
1530
- if (!oRouterProxy.isNavigationFinalized()) {
1531
- // If navigation is currently happening in RouterProxy, it's a transient state
1532
- // (not dirty)
1533
- bDirty = false;
1534
- sHashTracker = sTargetHash;
1535
- } else if (sHashTracker === sTargetHash) {
1536
- // the hash didn't change so either the user attempts to refresh or to leave the app
1537
- bDirty = true;
1538
- } else if (oRouterProxy.checkHashWithGuard(sTargetHash) || oRouterProxy.isGuardCrossAllowedByUser()) {
1539
- // the user attempts to navigate within the root object
1540
- // or crossing the guard has already been allowed by the RouterProxy
1541
- sHashTracker = sTargetHash;
1542
- bDirty = false;
1543
- } else {
1544
- // the user attempts to navigate within the app, for example back to the list report
1545
- bDirty = true;
1546
- }
1547
-
1548
- if (bDirty) {
1549
- // the FLP doesn't call the dirty state provider anymore once it's dirty, as they can't
1550
- // change this due to compatibility reasons we set it back to not-dirty
1551
- setTimeout(function() {
1552
- oAppComponent.getShellServices().setDirtyFlag(false);
1553
- }, 0);
1554
- }
1555
-
1556
- return bDirty;
1557
- };
1558
-
1559
- oAppComponent.getShellServices().registerDirtyStateProvider(this.fnDirtyStateProvider);
1560
-
1561
- var i18nModel = this.getView().getModel("sap.fe.i18n");
1562
-
1563
- this.fnHandleSessionTimeout = function() {
1564
- // remove transient messages since we will showing our own message
1565
- that._getMessageHandler().removeTransitionMessages();
1566
-
1567
- var oDialog = new Dialog({
1568
- title: "{sap.fe.i18n>C_EDITFLOW_OBJECT_PAGE_SESSION_EXPIRED_DIALOG_TITLE}",
1569
- state: "Warning",
1570
- content: new Text({ text: "{sap.fe.i18n>C_EDITFLOW_OBJECT_PAGE_SESSION_EXPIRED_DIALOG_MESSAGE}" }),
1571
- beginButton: new Button({
1572
- text: "{sap.fe.i18n>C_COMMON_DIALOG_OK}",
1573
- type: "Emphasized",
1574
- press: function() {
1575
- // remove sticky handling after navigation since session has already been terminated
1576
- that._handleStickyOff();
1577
- that._getRoutingListener().navigateBackFromContext(oContext);
1578
- }
1579
- }),
1580
- afterClose: function() {
1581
- oDialog.destroy();
1582
- }
1583
- });
1584
- oDialog.addStyleClass("sapUiContentPadding");
1585
- oDialog.setModel(i18nModel, "sap.fe.i18n");
1586
- that.getView().addDependent(oDialog);
1587
- oDialog.open();
1588
- };
1589
- // handle session timeout
1590
- this.getView()
1591
- .getModel()
1592
- .attachSessionTimeout(this.fnHandleSessionTimeout);
1593
-
1594
- this._fnStickyDiscardAfterNavigation = function() {
1595
- var sCurrentHash = oAppComponent.getRouterProxy().getHash();
1596
- // either current hash is empty so the user left the app or he navigated away from the object
1597
- if (!sCurrentHash || !oAppComponent.getRouterProxy().checkHashWithGuard(sCurrentHash)) {
1598
- that._discardStickySession(oContext);
1599
- }
1600
- };
1601
- oAppComponent.getRoutingService().attachRouteMatched(this._fnStickyDiscardAfterNavigation);
1602
- }
1490
+ return this.base
1491
+ .getView()
1492
+ .getController()
1493
+ ._editFlow.handleStickyOn(oContext);
1603
1494
  },
1604
1495
 
1605
1496
  _handleStickyOff: function() {
1606
- var oAppComponent = CommonUtils.getAppComponent(this.getView());
1607
-
1608
- if (oAppComponent.getRouterProxy) {
1609
- // If we have exited from the app, CommonUtils.getAppComponent doesn't return a
1610
- // sap.fe.core.AppComponent, hence the 'if' above
1611
- oAppComponent.getRouterProxy().discardNavigationGuard();
1612
- }
1613
-
1614
- if (this.fnDirtyStateProvider) {
1615
- oAppComponent.getShellServices().deregisterDirtyStateProvider(this.fnDirtyStateProvider);
1616
- this.fnDirtyStateProvider = null;
1617
- }
1618
-
1619
- if (this.getView().getModel() && this.fnHandleSessionTimeout) {
1620
- this.getView()
1621
- .getModel()
1622
- .detachSessionTimeout(this.fnHandleSessionTimeout);
1623
- }
1624
-
1625
- oAppComponent.getRoutingService().detachRouteMatched(this._fnStickyDiscardAfterNavigation);
1626
- this._fnStickyDiscardAfterNavigation = null;
1497
+ return this.base
1498
+ .getView()
1499
+ .getController()
1500
+ ._editFlow.handleStickyOff();
1501
+ },
1627
1502
 
1628
- this._setEditMode(EditMode.Display, false);
1503
+ _onBackNavigationInSession: function() {
1504
+ return this.base
1505
+ .getView()
1506
+ .getController()
1507
+ ._editFlow.onBackNavigationInSession();
1508
+ },
1629
1509
 
1630
- if (oAppComponent) {
1631
- // If we have exited from the app, CommonUtils.getAppComponent doesn't return a
1632
- // sap.fe.core.AppComponent, hence the 'if' above
1633
- oAppComponent.getShellServices().setBackNavigation();
1634
- }
1510
+ _discardStickySession: function(oContext) {
1511
+ return this.base
1512
+ .getView()
1513
+ .getController()
1514
+ ._editFlow.discardStickySession(oContext);
1635
1515
  },
1636
1516
 
1637
1517
  _handleNewContext: function(oContext, bEditable, bRecreateContext, bDraftNavigation, bForceFocus) {
@@ -1689,41 +1569,6 @@ sap.ui.define(
1689
1569
  });
1690
1570
  },
1691
1571
 
1692
- /**
1693
- * @description Method to display a 'discard' popover when exiting a sticky session.
1694
- *
1695
- * @function
1696
- * @name _onBackNavigationInSession
1697
- * @memberof sap.fe.core.controllerextensions.EditFlow
1698
- */
1699
- _onBackNavigationInSession: function() {
1700
- var that = this,
1701
- oView = that.getView(),
1702
- oAppComponent = CommonUtils.getAppComponent(oView),
1703
- oRouterProxy = oAppComponent.getRouterProxy();
1704
-
1705
- if (oRouterProxy.checkIfBackIsOutOfGuard()) {
1706
- var oBindingContext = oView && oView.getBindingContext();
1707
-
1708
- CommonUtils.processDataLossConfirmation(
1709
- function() {
1710
- that._discardStickySession(oBindingContext);
1711
- history.back();
1712
- },
1713
- oView,
1714
- that._getProgrammingModel(oBindingContext)
1715
- );
1716
-
1717
- return;
1718
- }
1719
- history.back();
1720
- },
1721
-
1722
- _discardStickySession: function(oContext) {
1723
- sticky.discardDocument(oContext);
1724
- this._handleStickyOff();
1725
- },
1726
-
1727
1572
  /**
1728
1573
  * @function
1729
1574
  * @name _refreshListIfRequired
@@ -1823,7 +1668,5 @@ sap.ui.define(
1823
1668
  });
1824
1669
  }
1825
1670
  });
1826
-
1827
- return Extension;
1828
1671
  }
1829
1672
  );
@@ -1,6 +1,7 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2022 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
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"], function(
6
7
  ControllerExtension,