@sapui5/sap.fe.core 1.97.0 → 1.99.1

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 (249) hide show
  1. package/package.json +5 -4
  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 +6 -3
  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 -2379
  12. package/src/sap/fe/core/CommonUtils.ts +2078 -0
  13. package/src/sap/fe/core/ExtensionAPI.js +16 -7
  14. package/src/sap/fe/core/PageController.js +84 -119
  15. package/src/sap/fe/core/PageController.ts +101 -0
  16. package/src/sap/fe/core/RouterProxy.js +986 -807
  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 -155
  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 +64 -0
  24. package/src/sap/fe/core/TransactionHelper.js +1576 -1579
  25. package/src/sap/fe/core/TransactionHelper.ts +1706 -0
  26. package/src/sap/fe/core/actions/draft.js +560 -581
  27. package/src/sap/fe/core/actions/draft.ts +594 -0
  28. package/src/sap/fe/core/actions/messageHandling.js +545 -511
  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 -1211
  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 +229 -260
  38. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +3 -2
  39. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +288 -13
  40. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +27 -23
  41. package/src/sap/fe/core/controllerextensions/InternalRouting.js +82 -46
  42. package/src/sap/fe/core/controllerextensions/KPIManagement.js +113 -25
  43. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +135 -44
  44. package/src/sap/fe/core/controllerextensions/MassEdit.js +172 -0
  45. package/src/sap/fe/core/controllerextensions/MessageHandler.js +22 -9
  46. package/src/sap/fe/core/controllerextensions/PageReady.js +3 -3
  47. package/src/sap/fe/core/controllerextensions/PageReady.ts +12 -8
  48. package/src/sap/fe/core/controllerextensions/Paginator.js +37 -9
  49. package/src/sap/fe/core/controllerextensions/Placeholder.js +8 -4
  50. package/src/sap/fe/core/controllerextensions/Routing.js +25 -5
  51. package/src/sap/fe/core/controllerextensions/RoutingListener.js +3 -2
  52. package/src/sap/fe/core/controllerextensions/Share.js +22 -8
  53. package/src/sap/fe/core/controllerextensions/SideEffects.js +9 -9
  54. package/src/sap/fe/core/controllerextensions/SideEffects.ts +22 -21
  55. package/src/sap/fe/core/controllerextensions/ViewState.js +3 -2
  56. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -1
  57. package/src/sap/fe/core/controls/CommandExecution.js +3 -2
  58. package/src/sap/fe/core/controls/ConditionalWrapper.js +3 -2
  59. package/src/sap/fe/core/controls/CustomQuickViewPage.js +3 -2
  60. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +9 -5
  61. package/src/sap/fe/core/controls/FieldWrapper.js +18 -23
  62. package/src/sap/fe/core/controls/FilterBar.js +3 -2
  63. package/src/sap/fe/core/controls/FormElementWrapper.js +3 -7
  64. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +3 -2
  65. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +2 -1
  66. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +3 -2
  67. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +5 -4
  68. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -2
  69. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +3 -2
  70. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +106 -0
  71. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +79 -0
  72. package/src/sap/fe/core/converters/ConverterContext.js +14 -2
  73. package/src/sap/fe/core/converters/ConverterContext.ts +14 -3
  74. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  75. package/src/sap/fe/core/converters/ManifestSettings.ts +4 -0
  76. package/src/sap/fe/core/converters/ManifestWrapper.js +56 -32
  77. package/src/sap/fe/core/converters/ManifestWrapper.ts +24 -6
  78. package/src/sap/fe/core/converters/MetaModelConverter.js +67 -6
  79. package/src/sap/fe/core/converters/MetaModelConverter.ts +70 -14
  80. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  81. package/src/sap/fe/core/converters/TemplateConverter.ts +2 -2
  82. package/src/sap/fe/core/converters/annotations/DataField.js +3 -3
  83. package/src/sap/fe/core/converters/annotations/DataField.ts +1 -1
  84. package/src/sap/fe/core/converters/common/AnnotationConverter.js +33 -21
  85. package/src/sap/fe/core/converters/controls/Common/Action.js +11 -2
  86. package/src/sap/fe/core/converters/controls/Common/Action.ts +8 -2
  87. package/src/sap/fe/core/converters/controls/Common/Chart.js +5 -3
  88. package/src/sap/fe/core/converters/controls/Common/Chart.ts +11 -3
  89. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +3 -3
  90. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +2 -2
  91. package/src/sap/fe/core/converters/controls/Common/Form.js +20 -10
  92. package/src/sap/fe/core/converters/controls/Common/Form.ts +24 -4
  93. package/src/sap/fe/core/converters/controls/Common/KPI.js +69 -4
  94. package/src/sap/fe/core/converters/controls/Common/KPI.ts +72 -0
  95. package/src/sap/fe/core/converters/controls/Common/Table.js +390 -398
  96. package/src/sap/fe/core/converters/controls/Common/Table.ts +497 -484
  97. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +527 -0
  98. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +655 -0
  99. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +489 -37
  100. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +506 -58
  101. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +2 -2
  102. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +1 -1
  103. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +17 -9
  104. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +24 -9
  105. package/src/sap/fe/core/converters/helpers/Aggregation.js +18 -3
  106. package/src/sap/fe/core/converters/helpers/Aggregation.ts +28 -5
  107. package/src/sap/fe/core/converters/helpers/IssueManager.js +7 -1
  108. package/src/sap/fe/core/converters/helpers/IssueManager.ts +6 -0
  109. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +4 -4
  110. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +3 -3
  111. package/src/sap/fe/core/converters/templates/ListReportConverter.js +13 -6
  112. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +26 -15
  113. package/src/sap/fe/core/designtime/AppComponent.designtime.js +11 -2
  114. package/src/sap/fe/core/formatters/CriticalityFormatter.js +1 -1
  115. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +1 -1
  116. package/src/sap/fe/core/formatters/FPMFormatter.js +1 -1
  117. package/src/sap/fe/core/formatters/FPMFormatter.ts +4 -10
  118. package/src/sap/fe/core/formatters/KPIFormatter.js +1 -1
  119. package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -1
  120. package/src/sap/fe/core/formatters/TableFormatter.js +39 -28
  121. package/src/sap/fe/core/formatters/TableFormatter.ts +43 -28
  122. package/src/sap/fe/core/formatters/ValueFormatter.js +30 -5
  123. package/src/sap/fe/core/formatters/ValueFormatter.ts +30 -7
  124. package/src/sap/fe/core/fpm/Component.js +3 -2
  125. package/src/sap/fe/core/helpers/AppStartupHelper.js +359 -0
  126. package/src/sap/fe/core/helpers/AppStartupHelper.ts +391 -0
  127. package/src/sap/fe/core/helpers/BindingExpression.js +484 -437
  128. package/src/sap/fe/core/helpers/BindingExpression.ts +480 -463
  129. package/src/sap/fe/core/helpers/ClassSupport.js +27 -15
  130. package/src/sap/fe/core/helpers/ClassSupport.ts +31 -20
  131. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +63 -59
  132. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +56 -0
  133. package/src/sap/fe/core/helpers/EditState.js +81 -84
  134. package/src/sap/fe/core/helpers/EditState.ts +81 -0
  135. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +62 -48
  136. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +49 -0
  137. package/src/sap/fe/core/helpers/FPMHelper.js +52 -56
  138. package/src/sap/fe/core/helpers/FPMHelper.ts +62 -0
  139. package/src/sap/fe/core/helpers/KeepAliveHelper.js +4 -5
  140. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +10 -10
  141. package/src/sap/fe/core/helpers/MassEditHelper.js +687 -0
  142. package/src/sap/fe/core/helpers/ModelHelper.js +229 -225
  143. package/src/sap/fe/core/helpers/ModelHelper.ts +227 -0
  144. package/src/sap/fe/core/helpers/PasteHelper.js +210 -132
  145. package/src/sap/fe/core/helpers/PasteHelper.ts +196 -0
  146. package/src/sap/fe/core/helpers/SemanticDateOperators.js +332 -313
  147. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +330 -0
  148. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +66 -67
  149. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +73 -0
  150. package/src/sap/fe/core/helpers/StableIdHelper.js +4 -7
  151. package/src/sap/fe/core/helpers/StableIdHelper.ts +2 -6
  152. package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
  153. package/src/sap/fe/core/jsx-runtime/jsx.ts +1 -1
  154. package/src/sap/fe/core/library.js +30 -3
  155. package/src/sap/fe/core/library.support.js +12 -5
  156. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +62 -0
  157. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +66 -0
  158. package/src/sap/fe/core/messagebundle.properties +61 -13
  159. package/src/sap/fe/core/messagebundle_ar.properties +33 -2
  160. package/src/sap/fe/core/messagebundle_bg.properties +33 -2
  161. package/src/sap/fe/core/messagebundle_ca.properties +33 -2
  162. package/src/sap/fe/core/messagebundle_cs.properties +34 -3
  163. package/src/sap/fe/core/messagebundle_cy.properties +33 -2
  164. package/src/sap/fe/core/messagebundle_da.properties +33 -2
  165. package/src/sap/fe/core/messagebundle_de.properties +33 -2
  166. package/src/sap/fe/core/messagebundle_el.properties +33 -2
  167. package/src/sap/fe/core/messagebundle_en.properties +32 -1
  168. package/src/sap/fe/core/messagebundle_en_GB.properties +32 -1
  169. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +36 -1
  170. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +33 -2
  171. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +33 -2
  172. package/src/sap/fe/core/messagebundle_es.properties +33 -2
  173. package/src/sap/fe/core/messagebundle_es_MX.properties +33 -2
  174. package/src/sap/fe/core/messagebundle_et.properties +33 -2
  175. package/src/sap/fe/core/messagebundle_fi.properties +34 -3
  176. package/src/sap/fe/core/messagebundle_fr.properties +38 -7
  177. package/src/sap/fe/core/messagebundle_fr_CA.properties +33 -2
  178. package/src/sap/fe/core/messagebundle_hi.properties +33 -2
  179. package/src/sap/fe/core/messagebundle_hr.properties +33 -2
  180. package/src/sap/fe/core/messagebundle_hu.properties +34 -3
  181. package/src/sap/fe/core/messagebundle_id.properties +36 -5
  182. package/src/sap/fe/core/messagebundle_it.properties +33 -2
  183. package/src/sap/fe/core/messagebundle_iw.properties +33 -2
  184. package/src/sap/fe/core/messagebundle_ja.properties +33 -2
  185. package/src/sap/fe/core/messagebundle_kk.properties +33 -2
  186. package/src/sap/fe/core/messagebundle_ko.properties +33 -2
  187. package/src/sap/fe/core/messagebundle_lt.properties +33 -2
  188. package/src/sap/fe/core/messagebundle_lv.properties +33 -2
  189. package/src/sap/fe/core/messagebundle_ms.properties +33 -2
  190. package/src/sap/fe/core/messagebundle_nl.properties +33 -2
  191. package/src/sap/fe/core/messagebundle_no.properties +33 -2
  192. package/src/sap/fe/core/messagebundle_pl.properties +33 -2
  193. package/src/sap/fe/core/messagebundle_pt.properties +34 -3
  194. package/src/sap/fe/core/messagebundle_pt_PT.properties +33 -2
  195. package/src/sap/fe/core/messagebundle_ro.properties +33 -2
  196. package/src/sap/fe/core/messagebundle_ru.properties +33 -2
  197. package/src/sap/fe/core/messagebundle_sh.properties +33 -2
  198. package/src/sap/fe/core/messagebundle_sk.properties +33 -2
  199. package/src/sap/fe/core/messagebundle_sl.properties +33 -2
  200. package/src/sap/fe/core/messagebundle_sv.properties +34 -3
  201. package/src/sap/fe/core/messagebundle_th.properties +33 -2
  202. package/src/sap/fe/core/messagebundle_tr.properties +33 -2
  203. package/src/sap/fe/core/messagebundle_uk.properties +33 -2
  204. package/src/sap/fe/core/messagebundle_vi.properties +33 -2
  205. package/src/sap/fe/core/messagebundle_zh_CN.properties +33 -2
  206. package/src/sap/fe/core/messagebundle_zh_TW.properties +33 -2
  207. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
  208. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
  209. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +269 -202
  210. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +212 -0
  211. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +4 -3
  212. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +9 -5
  213. package/src/sap/fe/core/services/NavigationServiceFactory.js +406 -300
  214. package/src/sap/fe/core/services/NavigationServiceFactory.ts +316 -0
  215. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +149 -81
  216. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +80 -0
  217. package/src/sap/fe/core/services/RoutingServiceFactory.js +987 -1152
  218. package/src/sap/fe/core/services/RoutingServiceFactory.ts +898 -0
  219. package/src/sap/fe/core/services/ShellServicesFactory.js +31 -2
  220. package/src/sap/fe/core/services/ShellServicesFactory.ts +45 -11
  221. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +42 -85
  222. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +57 -100
  223. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +461 -478
  224. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +453 -0
  225. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +10 -8
  226. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +8 -0
  227. package/src/sap/fe/core/support/AnnotationIssue.support.js +15 -3
  228. package/src/sap/fe/core/support/AnnotationIssue.support.ts +16 -2
  229. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +2 -2
  230. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.ts +1 -1
  231. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +38 -0
  232. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.ts +18 -0
  233. package/src/sap/fe/core/templating/DataModelPathHelper.js +10 -48
  234. package/src/sap/fe/core/templating/DataModelPathHelper.ts +14 -46
  235. package/src/sap/fe/core/templating/DisplayModeFormatter.js +114 -0
  236. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +86 -0
  237. package/src/sap/fe/core/templating/FieldControlHelper.js +8 -8
  238. package/src/sap/fe/core/templating/FieldControlHelper.ts +25 -7
  239. package/src/sap/fe/core/templating/FilterHelper.js +139 -70
  240. package/src/sap/fe/core/templating/FilterHelper.ts +140 -70
  241. package/src/sap/fe/core/templating/PropertyHelper.js +2 -2
  242. package/src/sap/fe/core/templating/PropertyHelper.ts +1 -1
  243. package/src/sap/fe/core/templating/UIFormatters.js +45 -110
  244. package/src/sap/fe/core/templating/UIFormatters.ts +39 -75
  245. package/src/sap/fe/core/type/Email.js +1 -1
  246. package/src/sap/fe/core/type/Email.ts +4 -6
  247. package/ui5.yaml +0 -3
  248. package/src/sap/fe/core/controls/filterbar.d.js +0 -8
  249. package/src/sap/fe/core/controls/filterbar.d.ts +0 -0
@@ -1,56 +1,99 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2021 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(["sap/base/Log", "sap/ui/base/Object", "sap/ui/model/json/JSONModel"], function(Log, BaseObject, JSONModel) {
6
- "use strict";
7
-
8
- return BaseObject.extend("sap.fe.core.TemplateModel", {
9
- constructor: function(pageConfig, oMetaModel) {
10
- this.oMetaModel = oMetaModel;
11
- this.oConfigModel = new JSONModel();
12
- // don't limit aggregation bindings
13
- this.oConfigModel.setSizeLimit(Number.MAX_VALUE);
14
- this.bConfigLoaded = false;
15
- var that = this;
16
-
17
- if (typeof pageConfig === "function") {
18
- var fnGetObject = this.oConfigModel._getObject.bind(this.oConfigModel);
19
- this.oConfigModel._getObject = function(sPath, oContext) {
20
- if (!that.bConfigLoaded) {
21
- this.setData(pageConfig());
22
- that.bConfigLoaded = true;
23
- }
24
- return fnGetObject(sPath, oContext);
25
- };
26
- } else {
27
- this.oConfigModel.setData(pageConfig);
28
- }
29
-
30
- this.fnCreateMetaBindingContext = this.oMetaModel.createBindingContext.bind(this.oMetaModel);
31
- this.fnCreateConfigBindingContext = this.oConfigModel.createBindingContext.bind(this.oConfigModel);
32
-
33
- this.oConfigModel.createBindingContext = this.createBindingContext.bind(this);
34
- return this.oConfigModel;
35
- },
36
-
37
- createBindingContext: function(sPath, oContext, mParameters, fnCallBack) {
38
- var oBindingContext,
39
- sResolvedPath,
40
- bNoResolve = mParameters && mParameters.noResolve;
41
-
42
- oBindingContext = this.fnCreateConfigBindingContext(sPath, oContext, mParameters, fnCallBack);
43
- sResolvedPath = !bNoResolve && oBindingContext.getObject();
44
- if (sResolvedPath && typeof sResolvedPath === "string") {
45
- oBindingContext = this.fnCreateMetaBindingContext(sResolvedPath, oContext, mParameters, fnCallBack);
46
- }
47
-
48
- return oBindingContext;
49
- },
50
-
51
- destroy: function() {
52
- this.oConfigModel.destroy();
53
- JSONModel.prototype.destroy.apply(this, arguments);
54
- }
55
- });
56
- });
5
+ sap.ui.define(["sap/ui/base/Object", "sap/ui/model/json/JSONModel", "sap/fe/core/helpers/ClassSupport", "sap/ui/base/Metadata"], function (BaseObject, JSONModel, ClassSupport, Metadata) {
6
+ "use strict";
7
+
8
+ var _dec, _class;
9
+
10
+ var UI5Class = ClassSupport.UI5Class;
11
+
12
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13
+
14
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15
+
16
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
17
+
18
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
19
+
20
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
21
+
22
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
23
+
24
+ function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
25
+
26
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
27
+
28
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
29
+
30
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
31
+
32
+ var TemplateModel = (_dec = UI5Class("sap.fe.core.TemplateModel", Metadata), _dec(_class = /*#__PURE__*/function (_BaseObject) {
33
+ _inherits(TemplateModel, _BaseObject);
34
+
35
+ var _super = _createSuper(TemplateModel);
36
+
37
+ function TemplateModel(pageConfig, oMetaModel) {
38
+ var _this;
39
+
40
+ _classCallCheck(this, TemplateModel);
41
+
42
+ _this = _super.call(this);
43
+ _this.oMetaModel = oMetaModel;
44
+ _this.oConfigModel = new JSONModel(); // don't limit aggregation bindings
45
+
46
+ _this.oConfigModel.setSizeLimit(Number.MAX_VALUE);
47
+
48
+ _this.bConfigLoaded = false; // eslint-disable-next-line @typescript-eslint/no-this-alias
49
+
50
+ var that = _assertThisInitialized(_this);
51
+
52
+ if (typeof pageConfig === "function") {
53
+ var fnGetObject = _this.oConfigModel._getObject.bind(_this.oConfigModel);
54
+
55
+ _this.oConfigModel._getObject = function (sPath, oContext) {
56
+ if (!that.bConfigLoaded) {
57
+ this.setData(pageConfig());
58
+ that.bConfigLoaded = true;
59
+ }
60
+
61
+ return fnGetObject(sPath, oContext);
62
+ };
63
+ } else {
64
+ _this.oConfigModel.setData(pageConfig);
65
+ }
66
+
67
+ _this.fnCreateMetaBindingContext = _this.oMetaModel.createBindingContext.bind(_this.oMetaModel);
68
+ _this.fnCreateConfigBindingContext = _this.oConfigModel.createBindingContext.bind(_this.oConfigModel);
69
+ _this.oConfigModel.createBindingContext = _this.createBindingContext.bind(_assertThisInitialized(_this));
70
+ return _possibleConstructorReturn(_this, _this.oConfigModel);
71
+ }
72
+
73
+ _createClass(TemplateModel, [{
74
+ key: "createBindingContext",
75
+ value: function createBindingContext(sPath, oContext, mParameters, fnCallBack) {
76
+ var oBindingContext;
77
+ var bNoResolve = mParameters && mParameters.noResolve;
78
+ oBindingContext = this.fnCreateConfigBindingContext(sPath, oContext, mParameters, fnCallBack);
79
+ var sResolvedPath = !bNoResolve && oBindingContext.getObject();
80
+
81
+ if (sResolvedPath && typeof sResolvedPath === "string") {
82
+ oBindingContext = this.fnCreateMetaBindingContext(sResolvedPath, oContext, mParameters, fnCallBack);
83
+ }
84
+
85
+ return oBindingContext;
86
+ }
87
+ }, {
88
+ key: "destroy",
89
+ value: function destroy() {
90
+ this.oConfigModel.destroy();
91
+ JSONModel.prototype.destroy.apply(this);
92
+ }
93
+ }]);
94
+
95
+ return TemplateModel;
96
+ }(BaseObject)) || _class);
97
+ return TemplateModel;
98
+ }, false);
99
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRlbXBsYXRlTW9kZWwudHMiXSwibmFtZXMiOlsiVGVtcGxhdGVNb2RlbCIsIlVJNUNsYXNzIiwiTWV0YWRhdGEiLCJwYWdlQ29uZmlnIiwib01ldGFNb2RlbCIsIm9Db25maWdNb2RlbCIsIkpTT05Nb2RlbCIsInNldFNpemVMaW1pdCIsIk51bWJlciIsIk1BWF9WQUxVRSIsImJDb25maWdMb2FkZWQiLCJ0aGF0IiwiZm5HZXRPYmplY3QiLCJfZ2V0T2JqZWN0IiwiYmluZCIsInNQYXRoIiwib0NvbnRleHQiLCJzZXREYXRhIiwiZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsImZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQiLCJtUGFyYW1ldGVycyIsImZuQ2FsbEJhY2siLCJvQmluZGluZ0NvbnRleHQiLCJiTm9SZXNvbHZlIiwibm9SZXNvbHZlIiwic1Jlc29sdmVkUGF0aCIsImdldE9iamVjdCIsImRlc3Ryb3kiLCJwcm90b3R5cGUiLCJhcHBseSIsIkJhc2VPYmplY3QiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFLTUEsYSxXQURMQyxRQUFRLENBQUMsMkJBQUQsRUFBOEJDLFFBQTlCLEM7Ozs7O0FBUVIsMkJBQVlDLFVBQVosRUFBNkJDLFVBQTdCLEVBQXlEO0FBQUE7O0FBQUE7O0FBQ3hEO0FBQ0EsWUFBS0EsVUFBTCxHQUFrQkEsVUFBbEI7QUFDQSxZQUFLQyxZQUFMLEdBQW9CLElBQUlDLFNBQUosRUFBcEIsQ0FId0QsQ0FJeEQ7O0FBQ0EsWUFBS0QsWUFBTCxDQUFrQkUsWUFBbEIsQ0FBK0JDLE1BQU0sQ0FBQ0MsU0FBdEM7O0FBQ0EsWUFBS0MsYUFBTCxHQUFxQixLQUFyQixDQU53RCxDQU94RDs7QUFDQSxVQUFNQyxJQUFJLGdDQUFWOztBQUVBLFVBQUksT0FBT1IsVUFBUCxLQUFzQixVQUExQixFQUFzQztBQUNyQyxZQUFNUyxXQUFXLEdBQUcsTUFBS1AsWUFBTCxDQUFrQlEsVUFBbEIsQ0FBNkJDLElBQTdCLENBQWtDLE1BQUtULFlBQXZDLENBQXBCOztBQUNBLGNBQUtBLFlBQUwsQ0FBa0JRLFVBQWxCLEdBQStCLFVBQVNFLEtBQVQsRUFBcUJDLFFBQXJCLEVBQW9DO0FBQ2xFLGNBQUksQ0FBQ0wsSUFBSSxDQUFDRCxhQUFWLEVBQXlCO0FBQ3hCLGlCQUFLTyxPQUFMLENBQWFkLFVBQVUsRUFBdkI7QUFDQVEsWUFBQUEsSUFBSSxDQUFDRCxhQUFMLEdBQXFCLElBQXJCO0FBQ0E7O0FBQ0QsaUJBQU9FLFdBQVcsQ0FBQ0csS0FBRCxFQUFRQyxRQUFSLENBQWxCO0FBQ0EsU0FORDtBQU9BLE9BVEQsTUFTTztBQUNOLGNBQUtYLFlBQUwsQ0FBa0JZLE9BQWxCLENBQTBCZCxVQUExQjtBQUNBOztBQUVELFlBQUtlLDBCQUFMLEdBQWtDLE1BQUtkLFVBQUwsQ0FBZ0JlLG9CQUFoQixDQUFxQ0wsSUFBckMsQ0FBMEMsTUFBS1YsVUFBL0MsQ0FBbEM7QUFDQSxZQUFLZ0IsNEJBQUwsR0FBb0MsTUFBS2YsWUFBTCxDQUFrQmMsb0JBQWxCLENBQXVDTCxJQUF2QyxDQUE0QyxNQUFLVCxZQUFqRCxDQUFwQztBQUVBLFlBQUtBLFlBQUwsQ0FBa0JjLG9CQUFsQixHQUF5QyxNQUFLQSxvQkFBTCxDQUEwQkwsSUFBMUIsK0JBQXpDO0FBQ0EsK0NBQU8sTUFBS1QsWUFBWjtBQUNBOzs7O2FBRUQsOEJBQXFCVSxLQUFyQixFQUFpQ0MsUUFBakMsRUFBZ0RLLFdBQWhELEVBQWtFQyxVQUFsRSxFQUFvRjtBQUNuRixZQUFJQyxlQUFKO0FBQ0EsWUFBTUMsVUFBVSxHQUFHSCxXQUFXLElBQUlBLFdBQVcsQ0FBQ0ksU0FBOUM7QUFFQUYsUUFBQUEsZUFBZSxHQUFHLEtBQUtILDRCQUFMLENBQWtDTCxLQUFsQyxFQUF5Q0MsUUFBekMsRUFBbURLLFdBQW5ELEVBQWdFQyxVQUFoRSxDQUFsQjtBQUNBLFlBQU1JLGFBQWEsR0FBRyxDQUFDRixVQUFELElBQWVELGVBQWUsQ0FBQ0ksU0FBaEIsRUFBckM7O0FBQ0EsWUFBSUQsYUFBYSxJQUFJLE9BQU9BLGFBQVAsS0FBeUIsUUFBOUMsRUFBd0Q7QUFDdkRILFVBQUFBLGVBQWUsR0FBRyxLQUFLTCwwQkFBTCxDQUFnQ1EsYUFBaEMsRUFBK0NWLFFBQS9DLEVBQXlESyxXQUF6RCxFQUFzRUMsVUFBdEUsQ0FBbEI7QUFDQTs7QUFFRCxlQUFPQyxlQUFQO0FBQ0E7OzthQUVELG1CQUFVO0FBQ1QsYUFBS2xCLFlBQUwsQ0FBa0J1QixPQUFsQjtBQUNBdEIsUUFBQUEsU0FBUyxDQUFDdUIsU0FBVixDQUFvQkQsT0FBcEIsQ0FBNEJFLEtBQTVCLENBQWtDLElBQWxDO0FBQ0E7Ozs7SUFyRDBCQyxVO1NBd0RiL0IsYSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL09iamVjdFwiO1xuaW1wb3J0IEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5pbXBvcnQgeyBVSTVDbGFzcyB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcbmltcG9ydCBNZXRhZGF0YSBmcm9tIFwic2FwL3VpL2Jhc2UvTWV0YWRhdGFcIjtcblxuQFVJNUNsYXNzKFwic2FwLmZlLmNvcmUuVGVtcGxhdGVNb2RlbFwiLCBNZXRhZGF0YSlcbmNsYXNzIFRlbXBsYXRlTW9kZWwgZXh0ZW5kcyBCYXNlT2JqZWN0IHtcblx0cHVibGljIG9NZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsO1xuXHRwdWJsaWMgb0NvbmZpZ01vZGVsOiBhbnk7XG5cdHB1YmxpYyBiQ29uZmlnTG9hZGVkOiBib29sZWFuO1xuXHRwdWJsaWMgZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQ6IEZ1bmN0aW9uO1xuXHRwdWJsaWMgZm5DcmVhdGVDb25maWdCaW5kaW5nQ29udGV4dDogRnVuY3Rpb247XG5cblx0Y29uc3RydWN0b3IocGFnZUNvbmZpZzogYW55LCBvTWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5vTWV0YU1vZGVsID0gb01ldGFNb2RlbDtcblx0XHR0aGlzLm9Db25maWdNb2RlbCA9IG5ldyBKU09OTW9kZWwoKTtcblx0XHQvLyBkb24ndCBsaW1pdCBhZ2dyZWdhdGlvbiBiaW5kaW5nc1xuXHRcdHRoaXMub0NvbmZpZ01vZGVsLnNldFNpemVMaW1pdChOdW1iZXIuTUFYX1ZBTFVFKTtcblx0XHR0aGlzLmJDb25maWdMb2FkZWQgPSBmYWxzZTtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcblx0XHRjb25zdCB0aGF0ID0gdGhpcztcblxuXHRcdGlmICh0eXBlb2YgcGFnZUNvbmZpZyA9PT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0XHRjb25zdCBmbkdldE9iamVjdCA9IHRoaXMub0NvbmZpZ01vZGVsLl9nZXRPYmplY3QuYmluZCh0aGlzLm9Db25maWdNb2RlbCk7XG5cdFx0XHR0aGlzLm9Db25maWdNb2RlbC5fZ2V0T2JqZWN0ID0gZnVuY3Rpb24oc1BhdGg6IGFueSwgb0NvbnRleHQ6IGFueSkge1xuXHRcdFx0XHRpZiAoIXRoYXQuYkNvbmZpZ0xvYWRlZCkge1xuXHRcdFx0XHRcdHRoaXMuc2V0RGF0YShwYWdlQ29uZmlnKCkpO1xuXHRcdFx0XHRcdHRoYXQuYkNvbmZpZ0xvYWRlZCA9IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIGZuR2V0T2JqZWN0KHNQYXRoLCBvQ29udGV4dCk7XG5cdFx0XHR9O1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLm9Db25maWdNb2RlbC5zZXREYXRhKHBhZ2VDb25maWcpO1xuXHRcdH1cblxuXHRcdHRoaXMuZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQgPSB0aGlzLm9NZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQuYmluZCh0aGlzLm9NZXRhTW9kZWwpO1xuXHRcdHRoaXMuZm5DcmVhdGVDb25maWdCaW5kaW5nQ29udGV4dCA9IHRoaXMub0NvbmZpZ01vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0LmJpbmQodGhpcy5vQ29uZmlnTW9kZWwpO1xuXG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQgPSB0aGlzLmNyZWF0ZUJpbmRpbmdDb250ZXh0LmJpbmQodGhpcyk7XG5cdFx0cmV0dXJuIHRoaXMub0NvbmZpZ01vZGVsO1xuXHR9XG5cblx0Y3JlYXRlQmluZGluZ0NvbnRleHQoc1BhdGg6IGFueSwgb0NvbnRleHQ6IGFueSwgbVBhcmFtZXRlcnM6IGFueSwgZm5DYWxsQmFjaz86IGFueSkge1xuXHRcdGxldCBvQmluZGluZ0NvbnRleHQ7XG5cdFx0Y29uc3QgYk5vUmVzb2x2ZSA9IG1QYXJhbWV0ZXJzICYmIG1QYXJhbWV0ZXJzLm5vUmVzb2x2ZTtcblxuXHRcdG9CaW5kaW5nQ29udGV4dCA9IHRoaXMuZm5DcmVhdGVDb25maWdCaW5kaW5nQ29udGV4dChzUGF0aCwgb0NvbnRleHQsIG1QYXJhbWV0ZXJzLCBmbkNhbGxCYWNrKTtcblx0XHRjb25zdCBzUmVzb2x2ZWRQYXRoID0gIWJOb1Jlc29sdmUgJiYgb0JpbmRpbmdDb250ZXh0LmdldE9iamVjdCgpO1xuXHRcdGlmIChzUmVzb2x2ZWRQYXRoICYmIHR5cGVvZiBzUmVzb2x2ZWRQYXRoID09PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRvQmluZGluZ0NvbnRleHQgPSB0aGlzLmZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0KHNSZXNvbHZlZFBhdGgsIG9Db250ZXh0LCBtUGFyYW1ldGVycywgZm5DYWxsQmFjayk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG9CaW5kaW5nQ29udGV4dDtcblx0fVxuXG5cdGRlc3Ryb3koKSB7XG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuZGVzdHJveSgpO1xuXHRcdEpTT05Nb2RlbC5wcm90b3R5cGUuZGVzdHJveS5hcHBseSh0aGlzKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBUZW1wbGF0ZU1vZGVsO1xuIl19
@@ -0,0 +1,64 @@
1
+ import BaseObject from "sap/ui/base/Object";
2
+ import JSONModel from "sap/ui/model/json/JSONModel";
3
+ import { UI5Class } from "sap/fe/core/helpers/ClassSupport";
4
+ import ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
5
+ import Metadata from "sap/ui/base/Metadata";
6
+
7
+ @UI5Class("sap.fe.core.TemplateModel", Metadata)
8
+ class TemplateModel extends BaseObject {
9
+ public oMetaModel: ODataMetaModel;
10
+ public oConfigModel: any;
11
+ public bConfigLoaded: boolean;
12
+ public fnCreateMetaBindingContext: Function;
13
+ public fnCreateConfigBindingContext: Function;
14
+
15
+ constructor(pageConfig: any, oMetaModel: ODataMetaModel) {
16
+ super();
17
+ this.oMetaModel = oMetaModel;
18
+ this.oConfigModel = new JSONModel();
19
+ // don't limit aggregation bindings
20
+ this.oConfigModel.setSizeLimit(Number.MAX_VALUE);
21
+ this.bConfigLoaded = false;
22
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
23
+ const that = this;
24
+
25
+ if (typeof pageConfig === "function") {
26
+ const fnGetObject = this.oConfigModel._getObject.bind(this.oConfigModel);
27
+ this.oConfigModel._getObject = function(sPath: any, oContext: any) {
28
+ if (!that.bConfigLoaded) {
29
+ this.setData(pageConfig());
30
+ that.bConfigLoaded = true;
31
+ }
32
+ return fnGetObject(sPath, oContext);
33
+ };
34
+ } else {
35
+ this.oConfigModel.setData(pageConfig);
36
+ }
37
+
38
+ this.fnCreateMetaBindingContext = this.oMetaModel.createBindingContext.bind(this.oMetaModel);
39
+ this.fnCreateConfigBindingContext = this.oConfigModel.createBindingContext.bind(this.oConfigModel);
40
+
41
+ this.oConfigModel.createBindingContext = this.createBindingContext.bind(this);
42
+ return this.oConfigModel;
43
+ }
44
+
45
+ createBindingContext(sPath: any, oContext: any, mParameters: any, fnCallBack?: any) {
46
+ let oBindingContext;
47
+ const bNoResolve = mParameters && mParameters.noResolve;
48
+
49
+ oBindingContext = this.fnCreateConfigBindingContext(sPath, oContext, mParameters, fnCallBack);
50
+ const sResolvedPath = !bNoResolve && oBindingContext.getObject();
51
+ if (sResolvedPath && typeof sResolvedPath === "string") {
52
+ oBindingContext = this.fnCreateMetaBindingContext(sResolvedPath, oContext, mParameters, fnCallBack);
53
+ }
54
+
55
+ return oBindingContext;
56
+ }
57
+
58
+ destroy() {
59
+ this.oConfigModel.destroy();
60
+ JSONModel.prototype.destroy.apply(this);
61
+ }
62
+ }
63
+
64
+ export default TemplateModel;