@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,120 +1,117 @@
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
+ sap.ui.define([], function () {
6
+ "use strict";
5
7
 
6
- // Provides static functions for the sticky session programming model
7
- sap.ui.define(["sap/fe/core/actions/operations"], function(operations) {
8
- "use strict";
8
+ /**
9
+ * Opens a sticky session to edit a document.
10
+ *
11
+ * @function
12
+ * @name sap.fe.core.actions.sticky#editDocumentInStickySession
13
+ * @memberof sap.fe.core.actions.sticky
14
+ * @static
15
+ * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be edited
16
+ * @returns {Promise}
17
+ * @private
18
+ * @ui5-restricted
19
+ */
20
+ function editDocumentInStickySession(oContext) {
21
+ var oModel = oContext.getModel(),
22
+ oMetaModel = oModel.getMetaModel(),
23
+ sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
24
+ sEditAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/EditAction");
9
25
 
10
- /**
11
- * Opens a sticky session to edit a document.
12
- *
13
- * @function
14
- * @name sap.fe.core.actions.sticky#editDocumentInStickySession
15
- * @memberof sap.fe.core.actions.sticky
16
- * @static
17
- * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be edited
18
- * @returns {Promise}
19
- * @private
20
- * @ui5-restricted
21
- */
22
- function editDocumentInStickySession(oContext) {
23
- var oModel = oContext.getModel(),
24
- oMetaModel = oModel.getMetaModel(),
25
- sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
26
- sEditAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/EditAction"),
27
- oEditAction,
28
- oEditPromise;
26
+ if (!sEditAction) {
27
+ throw new Error("Edit Action for Sticky Session not found for " + sMetaPath);
28
+ }
29
29
 
30
- if (!sEditAction) {
31
- throw new Error("Edit Action for Sticky Session not found for " + sMetaPath);
32
- }
30
+ var oEditAction = oModel.bindContext(sEditAction + "(...)", oContext, {
31
+ $$inheritExpandSelect: true
32
+ });
33
+ var oEditPromise = oEditAction.execute("direct");
34
+ oModel.submitBatch("direct");
35
+ return oEditPromise;
36
+ }
37
+ /**
38
+ * Activates a document and closes sticky session.
39
+ *
40
+ * @function
41
+ * @name sap.fe.core.actions.sticky#activateDocument
42
+ * @memberof sap.fe.core.actions.sticky
43
+ * @static
44
+ * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be activated
45
+ * @returns {Promise}
46
+ * @private
47
+ * @ui5-restricted
48
+ */
33
49
 
34
- oEditAction = oModel.bindContext(sEditAction + "(...)", oContext, { $$inheritExpandSelect: true });
35
50
 
36
- oEditPromise = oEditAction.execute("direct");
37
- oModel.submitBatch("direct");
38
- return oEditPromise;
39
- }
51
+ function activateDocument(oContext) {
52
+ var oModel = oContext.getModel(),
53
+ oMetaModel = oModel.getMetaModel(),
54
+ sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
55
+ sSaveAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/SaveAction");
40
56
 
41
- /**
42
- * Activates a document and closes sticky session.
43
- *
44
- * @function
45
- * @name sap.fe.core.actions.sticky#activateDocument
46
- * @memberof sap.fe.core.actions.sticky
47
- * @static
48
- * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be activated
49
- * @returns {Promise}
50
- * @private
51
- * @ui5-restricted
52
- */
53
- function activateDocument(oContext) {
54
- var oModel = oContext.getModel(),
55
- oMetaModel = oModel.getMetaModel(),
56
- sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
57
- sSaveAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/SaveAction"),
58
- oSaveAction,
59
- oSavePromise;
57
+ if (!sSaveAction) {
58
+ throw new Error("Save Action for Sticky Session not found for " + sMetaPath);
59
+ }
60
60
 
61
- if (!sSaveAction) {
62
- throw new Error("Save Action for Sticky Session not found for " + sMetaPath);
63
- }
61
+ var oSaveAction = oModel.bindContext(sSaveAction + "(...)", oContext, {
62
+ $$inheritExpandSelect: true
63
+ });
64
+ var oSavePromise = oSaveAction.execute("direct");
65
+ oModel.submitBatch("direct");
66
+ return oSavePromise;
67
+ }
68
+ /**
69
+ * Discards a document and closes sticky session.
70
+ *
71
+ * @function
72
+ * @name sap.fe.core.actions.sticky#discardDocument
73
+ * @memberof sap.fe.core.actions.sticky
74
+ * @static
75
+ * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be discarded
76
+ * @returns {Promise}
77
+ * @private
78
+ * @ui5-restricted
79
+ */
64
80
 
65
- oSaveAction = oModel.bindContext(sSaveAction + "(...)", oContext, { $$inheritExpandSelect: true });
66
81
 
67
- oSavePromise = oSaveAction.execute("direct");
68
- oModel.submitBatch("direct");
69
- return oSavePromise;
70
- }
82
+ function discardDocument(oContext) {
83
+ var oModel = oContext.getModel(),
84
+ oMetaModel = oModel.getMetaModel(),
85
+ sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
86
+ sDiscardAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/DiscardAction");
71
87
 
72
- /**
73
- * Discards a document and closes sticky session.
74
- *
75
- * @function
76
- * @name sap.fe.core.actions.sticky#discardDocument
77
- * @memberof sap.fe.core.actions.sticky
78
- * @static
79
- * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be discarded
80
- * @returns {Promise}
81
- * @private
82
- * @ui5-restricted
83
- */
84
- function discardDocument(oContext) {
85
- var oModel = oContext.getModel(),
86
- oMetaModel = oModel.getMetaModel(),
87
- sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
88
- sDiscardAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/DiscardAction"),
89
- oDiscardAction,
90
- oDiscardPromise;
88
+ if (!sDiscardAction) {
89
+ throw new Error("Discard Action for Sticky Session not found for " + sMetaPath);
90
+ }
91
91
 
92
- if (!sDiscardAction) {
93
- throw new Error("Discard Action for Sticky Session not found for " + sMetaPath);
94
- }
92
+ var oDiscardAction = oModel.bindContext("/" + sDiscardAction + "(...)");
93
+ var oDiscardPromise = oDiscardAction.execute("direct").then(function () {
94
+ return oContext;
95
+ });
96
+ oModel.submitBatch("direct");
97
+ return oDiscardPromise;
98
+ }
99
+ /**
100
+ * Static functions for the sticky session programming model
101
+ *
102
+ * @namespace
103
+ * @alias sap.fe.core.actions.sticky
104
+ * @private
105
+ * @experimental This module is only for experimental use! <br/><b>This is only a POC and maybe deleted</b>
106
+ * @since 1.54.0
107
+ */
95
108
 
96
- oDiscardAction = oModel.bindContext("/" + sDiscardAction + "(...)");
97
- oDiscardPromise = oDiscardAction.execute("direct").then(function() {
98
- return oContext;
99
- });
100
- oModel.submitBatch("direct");
101
- return oDiscardPromise;
102
- }
103
109
 
104
- /**
105
- * Static functions for the sticky session programming model
106
- *
107
- * @namespace
108
- * @alias sap.fe.core.actions.sticky
109
- * @private
110
- * @experimental This module is only for experimental use! <br/><b>This is only a POC and maybe deleted</b>
111
- * @since 1.54.0
112
- */
113
- var sticky = {
114
- editDocumentInStickySession: editDocumentInStickySession,
115
- activateDocument: activateDocument,
116
- discardDocument: discardDocument
117
- };
118
-
119
- return sticky;
120
- });
110
+ var sticky = {
111
+ editDocumentInStickySession: editDocumentInStickySession,
112
+ activateDocument: activateDocument,
113
+ discardDocument: discardDocument
114
+ };
115
+ return sticky;
116
+ }, false);
117
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0aWNreS50cyJdLCJuYW1lcyI6WyJlZGl0RG9jdW1lbnRJblN0aWNreVNlc3Npb24iLCJvQ29udGV4dCIsIm9Nb2RlbCIsImdldE1vZGVsIiwib01ldGFNb2RlbCIsImdldE1ldGFNb2RlbCIsInNNZXRhUGF0aCIsImdldE1ldGFQYXRoIiwiZ2V0UGF0aCIsInNFZGl0QWN0aW9uIiwiZ2V0T2JqZWN0IiwiRXJyb3IiLCJvRWRpdEFjdGlvbiIsImJpbmRDb250ZXh0IiwiJCRpbmhlcml0RXhwYW5kU2VsZWN0Iiwib0VkaXRQcm9taXNlIiwiZXhlY3V0ZSIsInN1Ym1pdEJhdGNoIiwiYWN0aXZhdGVEb2N1bWVudCIsInNTYXZlQWN0aW9uIiwib1NhdmVBY3Rpb24iLCJvU2F2ZVByb21pc2UiLCJkaXNjYXJkRG9jdW1lbnQiLCJzRGlzY2FyZEFjdGlvbiIsIm9EaXNjYXJkQWN0aW9uIiwib0Rpc2NhcmRQcm9taXNlIiwidGhlbiIsInN0aWNreSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVNBLDJCQUFULENBQXFDQyxRQUFyQyxFQUFvRDtBQUNuRCxRQUFNQyxNQUFNLEdBQUdELFFBQVEsQ0FBQ0UsUUFBVCxFQUFmO0FBQUEsUUFDQ0MsVUFBVSxHQUFHRixNQUFNLENBQUNHLFlBQVAsRUFEZDtBQUFBLFFBRUNDLFNBQVMsR0FBR0YsVUFBVSxDQUFDRyxXQUFYLENBQXVCTixRQUFRLENBQUNPLE9BQVQsRUFBdkIsQ0FGYjtBQUFBLFFBR0NDLFdBQVcsR0FBR0wsVUFBVSxDQUFDTSxTQUFYLENBQXFCSixTQUFTLEdBQUcsb0VBQWpDLENBSGY7O0FBS0EsUUFBSSxDQUFDRyxXQUFMLEVBQWtCO0FBQ2pCLFlBQU0sSUFBSUUsS0FBSixDQUFVLGtEQUFrREwsU0FBNUQsQ0FBTjtBQUNBOztBQUVELFFBQU1NLFdBQVcsR0FBR1YsTUFBTSxDQUFDVyxXQUFQLENBQW1CSixXQUFXLEdBQUcsT0FBakMsRUFBMENSLFFBQTFDLEVBQW9EO0FBQUVhLE1BQUFBLHFCQUFxQixFQUFFO0FBQXpCLEtBQXBELENBQXBCO0FBRUEsUUFBTUMsWUFBWSxHQUFHSCxXQUFXLENBQUNJLE9BQVosQ0FBb0IsUUFBcEIsQ0FBckI7QUFDQWQsSUFBQUEsTUFBTSxDQUFDZSxXQUFQLENBQW1CLFFBQW5CO0FBQ0EsV0FBT0YsWUFBUDtBQUNBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxXQUFTRyxnQkFBVCxDQUEwQmpCLFFBQTFCLEVBQXlDO0FBQ3hDLFFBQU1DLE1BQU0sR0FBR0QsUUFBUSxDQUFDRSxRQUFULEVBQWY7QUFBQSxRQUNDQyxVQUFVLEdBQUdGLE1BQU0sQ0FBQ0csWUFBUCxFQURkO0FBQUEsUUFFQ0MsU0FBUyxHQUFHRixVQUFVLENBQUNHLFdBQVgsQ0FBdUJOLFFBQVEsQ0FBQ08sT0FBVCxFQUF2QixDQUZiO0FBQUEsUUFHQ1csV0FBVyxHQUFHZixVQUFVLENBQUNNLFNBQVgsQ0FBcUJKLFNBQVMsR0FBRyxvRUFBakMsQ0FIZjs7QUFLQSxRQUFJLENBQUNhLFdBQUwsRUFBa0I7QUFDakIsWUFBTSxJQUFJUixLQUFKLENBQVUsa0RBQWtETCxTQUE1RCxDQUFOO0FBQ0E7O0FBRUQsUUFBTWMsV0FBVyxHQUFHbEIsTUFBTSxDQUFDVyxXQUFQLENBQW1CTSxXQUFXLEdBQUcsT0FBakMsRUFBMENsQixRQUExQyxFQUFvRDtBQUFFYSxNQUFBQSxxQkFBcUIsRUFBRTtBQUF6QixLQUFwRCxDQUFwQjtBQUVBLFFBQU1PLFlBQVksR0FBR0QsV0FBVyxDQUFDSixPQUFaLENBQW9CLFFBQXBCLENBQXJCO0FBQ0FkLElBQUFBLE1BQU0sQ0FBQ2UsV0FBUCxDQUFtQixRQUFuQjtBQUNBLFdBQU9JLFlBQVA7QUFDQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsV0FBU0MsZUFBVCxDQUF5QnJCLFFBQXpCLEVBQXdDO0FBQ3ZDLFFBQU1DLE1BQU0sR0FBR0QsUUFBUSxDQUFDRSxRQUFULEVBQWY7QUFBQSxRQUNDQyxVQUFVLEdBQUdGLE1BQU0sQ0FBQ0csWUFBUCxFQURkO0FBQUEsUUFFQ0MsU0FBUyxHQUFHRixVQUFVLENBQUNHLFdBQVgsQ0FBdUJOLFFBQVEsQ0FBQ08sT0FBVCxFQUF2QixDQUZiO0FBQUEsUUFHQ2UsY0FBYyxHQUFHbkIsVUFBVSxDQUFDTSxTQUFYLENBQXFCSixTQUFTLEdBQUcsdUVBQWpDLENBSGxCOztBQUtBLFFBQUksQ0FBQ2lCLGNBQUwsRUFBcUI7QUFDcEIsWUFBTSxJQUFJWixLQUFKLENBQVUscURBQXFETCxTQUEvRCxDQUFOO0FBQ0E7O0FBRUQsUUFBTWtCLGNBQWMsR0FBR3RCLE1BQU0sQ0FBQ1csV0FBUCxDQUFtQixNQUFNVSxjQUFOLEdBQXVCLE9BQTFDLENBQXZCO0FBQ0EsUUFBTUUsZUFBZSxHQUFHRCxjQUFjLENBQUNSLE9BQWYsQ0FBdUIsUUFBdkIsRUFBaUNVLElBQWpDLENBQXNDLFlBQVc7QUFDeEUsYUFBT3pCLFFBQVA7QUFDQSxLQUZ1QixDQUF4QjtBQUdBQyxJQUFBQSxNQUFNLENBQUNlLFdBQVAsQ0FBbUIsUUFBbkI7QUFDQSxXQUFPUSxlQUFQO0FBQ0E7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLE1BQU1FLE1BQU0sR0FBRztBQUNkM0IsSUFBQUEsMkJBQTJCLEVBQUVBLDJCQURmO0FBRWRrQixJQUFBQSxnQkFBZ0IsRUFBRUEsZ0JBRko7QUFHZEksSUFBQUEsZUFBZSxFQUFFQTtBQUhILEdBQWY7U0FNZUssTSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBPcGVucyBhIHN0aWNreSBzZXNzaW9uIHRvIGVkaXQgYSBkb2N1bWVudC5cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBuYW1lIHNhcC5mZS5jb3JlLmFjdGlvbnMuc3RpY2t5I2VkaXREb2N1bWVudEluU3RpY2t5U2Vzc2lvblxuICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmFjdGlvbnMuc3RpY2t5XG4gKiBAc3RhdGljXG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IG9mIHRoZSBkb2N1bWVudCB0byBiZSBlZGl0ZWRcbiAqIEByZXR1cm5zIHtQcm9taXNlfVxuICogQHByaXZhdGVcbiAqIEB1aTUtcmVzdHJpY3RlZFxuICovXG5mdW5jdGlvbiBlZGl0RG9jdW1lbnRJblN0aWNreVNlc3Npb24ob0NvbnRleHQ6IGFueSkge1xuXHRjb25zdCBvTW9kZWwgPSBvQ29udGV4dC5nZXRNb2RlbCgpLFxuXHRcdG9NZXRhTW9kZWwgPSBvTW9kZWwuZ2V0TWV0YU1vZGVsKCksXG5cdFx0c01ldGFQYXRoID0gb01ldGFNb2RlbC5nZXRNZXRhUGF0aChvQ29udGV4dC5nZXRQYXRoKCkpLFxuXHRcdHNFZGl0QWN0aW9uID0gb01ldGFNb2RlbC5nZXRPYmplY3Qoc01ldGFQYXRoICsgXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuU2Vzc2lvbi52MS5TdGlja3lTZXNzaW9uU3VwcG9ydGVkL0VkaXRBY3Rpb25cIik7XG5cblx0aWYgKCFzRWRpdEFjdGlvbikge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIkVkaXQgQWN0aW9uIGZvciBTdGlja3kgU2Vzc2lvbiBub3QgZm91bmQgZm9yIFwiICsgc01ldGFQYXRoKTtcblx0fVxuXG5cdGNvbnN0IG9FZGl0QWN0aW9uID0gb01vZGVsLmJpbmRDb250ZXh0KHNFZGl0QWN0aW9uICsgXCIoLi4uKVwiLCBvQ29udGV4dCwgeyAkJGluaGVyaXRFeHBhbmRTZWxlY3Q6IHRydWUgfSk7XG5cblx0Y29uc3Qgb0VkaXRQcm9taXNlID0gb0VkaXRBY3Rpb24uZXhlY3V0ZShcImRpcmVjdFwiKTtcblx0b01vZGVsLnN1Ym1pdEJhdGNoKFwiZGlyZWN0XCIpO1xuXHRyZXR1cm4gb0VkaXRQcm9taXNlO1xufVxuLyoqXG4gKiBBY3RpdmF0ZXMgYSBkb2N1bWVudCBhbmQgY2xvc2VzIHN0aWNreSBzZXNzaW9uLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3kjYWN0aXZhdGVEb2N1bWVudFxuICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmFjdGlvbnMuc3RpY2t5XG4gKiBAc3RhdGljXG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IG9mIHRoZSBkb2N1bWVudCB0byBiZSBhY3RpdmF0ZWRcbiAqIEByZXR1cm5zIHtQcm9taXNlfVxuICogQHByaXZhdGVcbiAqIEB1aTUtcmVzdHJpY3RlZFxuICovXG5mdW5jdGlvbiBhY3RpdmF0ZURvY3VtZW50KG9Db250ZXh0OiBhbnkpIHtcblx0Y29uc3Qgb01vZGVsID0gb0NvbnRleHQuZ2V0TW9kZWwoKSxcblx0XHRvTWV0YU1vZGVsID0gb01vZGVsLmdldE1ldGFNb2RlbCgpLFxuXHRcdHNNZXRhUGF0aCA9IG9NZXRhTW9kZWwuZ2V0TWV0YVBhdGgob0NvbnRleHQuZ2V0UGF0aCgpKSxcblx0XHRzU2F2ZUFjdGlvbiA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KHNNZXRhUGF0aCArIFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlNlc3Npb24udjEuU3RpY2t5U2Vzc2lvblN1cHBvcnRlZC9TYXZlQWN0aW9uXCIpO1xuXG5cdGlmICghc1NhdmVBY3Rpb24pIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJTYXZlIEFjdGlvbiBmb3IgU3RpY2t5IFNlc3Npb24gbm90IGZvdW5kIGZvciBcIiArIHNNZXRhUGF0aCk7XG5cdH1cblxuXHRjb25zdCBvU2F2ZUFjdGlvbiA9IG9Nb2RlbC5iaW5kQ29udGV4dChzU2F2ZUFjdGlvbiArIFwiKC4uLilcIiwgb0NvbnRleHQsIHsgJCRpbmhlcml0RXhwYW5kU2VsZWN0OiB0cnVlIH0pO1xuXG5cdGNvbnN0IG9TYXZlUHJvbWlzZSA9IG9TYXZlQWN0aW9uLmV4ZWN1dGUoXCJkaXJlY3RcIik7XG5cdG9Nb2RlbC5zdWJtaXRCYXRjaChcImRpcmVjdFwiKTtcblx0cmV0dXJuIG9TYXZlUHJvbWlzZTtcbn1cbi8qKlxuICogRGlzY2FyZHMgYSBkb2N1bWVudCBhbmQgY2xvc2VzIHN0aWNreSBzZXNzaW9uLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3kjZGlzY2FyZERvY3VtZW50XG4gKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3lcbiAqIEBzdGF0aWNcbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IENvbnRleHQgb2YgdGhlIGRvY3VtZW50IHRvIGJlIGRpc2NhcmRlZFxuICogQHJldHVybnMge1Byb21pc2V9XG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmZ1bmN0aW9uIGRpc2NhcmREb2N1bWVudChvQ29udGV4dDogYW55KSB7XG5cdGNvbnN0IG9Nb2RlbCA9IG9Db250ZXh0LmdldE1vZGVsKCksXG5cdFx0b01ldGFNb2RlbCA9IG9Nb2RlbC5nZXRNZXRhTW9kZWwoKSxcblx0XHRzTWV0YVBhdGggPSBvTWV0YU1vZGVsLmdldE1ldGFQYXRoKG9Db250ZXh0LmdldFBhdGgoKSksXG5cdFx0c0Rpc2NhcmRBY3Rpb24gPSBvTWV0YU1vZGVsLmdldE9iamVjdChzTWV0YVBhdGggKyBcIkBjb20uc2FwLnZvY2FidWxhcmllcy5TZXNzaW9uLnYxLlN0aWNreVNlc3Npb25TdXBwb3J0ZWQvRGlzY2FyZEFjdGlvblwiKTtcblxuXHRpZiAoIXNEaXNjYXJkQWN0aW9uKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiRGlzY2FyZCBBY3Rpb24gZm9yIFN0aWNreSBTZXNzaW9uIG5vdCBmb3VuZCBmb3IgXCIgKyBzTWV0YVBhdGgpO1xuXHR9XG5cblx0Y29uc3Qgb0Rpc2NhcmRBY3Rpb24gPSBvTW9kZWwuYmluZENvbnRleHQoXCIvXCIgKyBzRGlzY2FyZEFjdGlvbiArIFwiKC4uLilcIik7XG5cdGNvbnN0IG9EaXNjYXJkUHJvbWlzZSA9IG9EaXNjYXJkQWN0aW9uLmV4ZWN1dGUoXCJkaXJlY3RcIikudGhlbihmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gb0NvbnRleHQ7XG5cdH0pO1xuXHRvTW9kZWwuc3VibWl0QmF0Y2goXCJkaXJlY3RcIik7XG5cdHJldHVybiBvRGlzY2FyZFByb21pc2U7XG59XG5cbi8qKlxuICogU3RhdGljIGZ1bmN0aW9ucyBmb3IgdGhlIHN0aWNreSBzZXNzaW9uIHByb2dyYW1taW5nIG1vZGVsXG4gKlxuICogQG5hbWVzcGFjZVxuICogQGFsaWFzIHNhcC5mZS5jb3JlLmFjdGlvbnMuc3RpY2t5XG4gKiBAcHJpdmF0ZVxuICogQGV4cGVyaW1lbnRhbCBUaGlzIG1vZHVsZSBpcyBvbmx5IGZvciBleHBlcmltZW50YWwgdXNlISA8YnIvPjxiPlRoaXMgaXMgb25seSBhIFBPQyBhbmQgbWF5YmUgZGVsZXRlZDwvYj5cbiAqIEBzaW5jZSAxLjU0LjBcbiAqL1xuY29uc3Qgc3RpY2t5ID0ge1xuXHRlZGl0RG9jdW1lbnRJblN0aWNreVNlc3Npb246IGVkaXREb2N1bWVudEluU3RpY2t5U2Vzc2lvbixcblx0YWN0aXZhdGVEb2N1bWVudDogYWN0aXZhdGVEb2N1bWVudCxcblx0ZGlzY2FyZERvY3VtZW50OiBkaXNjYXJkRG9jdW1lbnRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHN0aWNreTtcbiJdfQ==
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Opens a sticky session to edit a document.
3
+ *
4
+ * @function
5
+ * @name sap.fe.core.actions.sticky#editDocumentInStickySession
6
+ * @memberof sap.fe.core.actions.sticky
7
+ * @static
8
+ * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be edited
9
+ * @returns {Promise}
10
+ * @private
11
+ * @ui5-restricted
12
+ */
13
+ function editDocumentInStickySession(oContext: any) {
14
+ const oModel = oContext.getModel(),
15
+ oMetaModel = oModel.getMetaModel(),
16
+ sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
17
+ sEditAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/EditAction");
18
+
19
+ if (!sEditAction) {
20
+ throw new Error("Edit Action for Sticky Session not found for " + sMetaPath);
21
+ }
22
+
23
+ const oEditAction = oModel.bindContext(sEditAction + "(...)", oContext, { $$inheritExpandSelect: true });
24
+
25
+ const oEditPromise = oEditAction.execute("direct");
26
+ oModel.submitBatch("direct");
27
+ return oEditPromise;
28
+ }
29
+ /**
30
+ * Activates a document and closes sticky session.
31
+ *
32
+ * @function
33
+ * @name sap.fe.core.actions.sticky#activateDocument
34
+ * @memberof sap.fe.core.actions.sticky
35
+ * @static
36
+ * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be activated
37
+ * @returns {Promise}
38
+ * @private
39
+ * @ui5-restricted
40
+ */
41
+ function activateDocument(oContext: any) {
42
+ const oModel = oContext.getModel(),
43
+ oMetaModel = oModel.getMetaModel(),
44
+ sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
45
+ sSaveAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/SaveAction");
46
+
47
+ if (!sSaveAction) {
48
+ throw new Error("Save Action for Sticky Session not found for " + sMetaPath);
49
+ }
50
+
51
+ const oSaveAction = oModel.bindContext(sSaveAction + "(...)", oContext, { $$inheritExpandSelect: true });
52
+
53
+ const oSavePromise = oSaveAction.execute("direct");
54
+ oModel.submitBatch("direct");
55
+ return oSavePromise;
56
+ }
57
+ /**
58
+ * Discards a document and closes sticky session.
59
+ *
60
+ * @function
61
+ * @name sap.fe.core.actions.sticky#discardDocument
62
+ * @memberof sap.fe.core.actions.sticky
63
+ * @static
64
+ * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be discarded
65
+ * @returns {Promise}
66
+ * @private
67
+ * @ui5-restricted
68
+ */
69
+ function discardDocument(oContext: any) {
70
+ const oModel = oContext.getModel(),
71
+ oMetaModel = oModel.getMetaModel(),
72
+ sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
73
+ sDiscardAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/DiscardAction");
74
+
75
+ if (!sDiscardAction) {
76
+ throw new Error("Discard Action for Sticky Session not found for " + sMetaPath);
77
+ }
78
+
79
+ const oDiscardAction = oModel.bindContext("/" + sDiscardAction + "(...)");
80
+ const oDiscardPromise = oDiscardAction.execute("direct").then(function() {
81
+ return oContext;
82
+ });
83
+ oModel.submitBatch("direct");
84
+ return oDiscardPromise;
85
+ }
86
+
87
+ /**
88
+ * Static functions for the sticky session programming model
89
+ *
90
+ * @namespace
91
+ * @alias sap.fe.core.actions.sticky
92
+ * @private
93
+ * @experimental This module is only for experimental use! <br/><b>This is only a POC and maybe deleted</b>
94
+ * @since 1.54.0
95
+ */
96
+ const sticky = {
97
+ editDocumentInStickySession: editDocumentInStickySession,
98
+ activateDocument: activateDocument,
99
+ discardDocument: discardDocument
100
+ };
101
+
102
+ export default sticky;
@@ -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
 
6
7
  // Provides ControllerMetadata