@sapui5/sap.fe.core 1.99.0 → 1.100.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/package.json +4 -2
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AnnotationHelper.js +1 -69
  4. package/src/sap/fe/core/AnnotationHelper.ts +0 -70
  5. package/src/sap/fe/core/AppComponent.js +388 -399
  6. package/src/sap/fe/core/AppComponent.ts +403 -0
  7. package/src/sap/fe/core/AppStateHandler.js +127 -158
  8. package/src/sap/fe/core/BaseController.js +82 -58
  9. package/src/sap/fe/core/BaseController.ts +68 -0
  10. package/src/sap/fe/core/CommonUtils.js +111 -20
  11. package/src/sap/fe/core/CommonUtils.ts +131 -32
  12. package/src/sap/fe/core/ExtensionAPI.js +278 -274
  13. package/src/sap/fe/core/ExtensionAPI.ts +250 -0
  14. package/src/sap/fe/core/PageController.js +157 -29
  15. package/src/sap/fe/core/PageController.ts +60 -32
  16. package/src/sap/fe/core/RouterProxy.js +694 -756
  17. package/src/sap/fe/core/RouterProxy.ts +11 -9
  18. package/src/sap/fe/core/Synchronization.js +21 -31
  19. package/src/sap/fe/core/TemplateComponent.js +1 -1
  20. package/src/sap/fe/core/TemplateComponent.ts +10 -3
  21. package/src/sap/fe/core/TemplateModel.js +20 -38
  22. package/src/sap/fe/core/TemplateModel.ts +1 -1
  23. package/src/sap/fe/core/TransactionHelper.js +1354 -1370
  24. package/src/sap/fe/core/TransactionHelper.ts +33 -22
  25. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +392 -0
  26. package/src/sap/fe/core/actions/collaboration/ActivitySync.ts +355 -0
  27. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +136 -0
  28. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.ts +119 -0
  29. package/src/sap/fe/core/actions/collaboration/Manage.js +262 -0
  30. package/src/sap/fe/core/actions/collaboration/Manage.ts +244 -0
  31. package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +103 -0
  32. package/src/sap/fe/core/actions/collaboration/UserDetails.fragment.xml +13 -0
  33. package/src/sap/fe/core/actions/draft.js +30 -68
  34. package/src/sap/fe/core/actions/draft.ts +44 -71
  35. package/src/sap/fe/core/actions/messageHandling.js +55 -36
  36. package/src/sap/fe/core/actions/messageHandling.ts +66 -46
  37. package/src/sap/fe/core/actions/operations.js +34 -15
  38. package/src/sap/fe/core/actions/operations.ts +48 -18
  39. package/src/sap/fe/core/actions/sticky.js +17 -4
  40. package/src/sap/fe/core/actions/sticky.ts +21 -4
  41. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +69 -66
  42. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +65 -0
  43. package/src/sap/fe/core/controllerextensions/EditFlow.js +1593 -1669
  44. package/src/sap/fe/core/controllerextensions/EditFlow.ts +1672 -0
  45. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +79 -54
  46. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +61 -0
  47. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +718 -779
  48. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +783 -0
  49. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +796 -816
  50. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +803 -0
  51. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1004 -1005
  52. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +978 -0
  53. package/src/sap/fe/core/controllerextensions/KPIManagement.js +487 -521
  54. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -2
  55. package/src/sap/fe/core/controllerextensions/MassEdit.js +141 -169
  56. package/src/sap/fe/core/controllerextensions/MassEdit.ts +156 -0
  57. package/src/sap/fe/core/controllerextensions/MessageHandler.js +233 -244
  58. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +225 -0
  59. package/src/sap/fe/core/controllerextensions/PageReady.js +301 -336
  60. package/src/sap/fe/core/controllerextensions/PageReady.ts +12 -10
  61. package/src/sap/fe/core/controllerextensions/Paginator.js +188 -175
  62. package/src/sap/fe/core/controllerextensions/Paginator.ts +163 -0
  63. package/src/sap/fe/core/controllerextensions/Placeholder.js +157 -149
  64. package/src/sap/fe/core/controllerextensions/Placeholder.ts +151 -0
  65. package/src/sap/fe/core/controllerextensions/Routing.js +144 -125
  66. package/src/sap/fe/core/controllerextensions/Routing.ts +132 -0
  67. package/src/sap/fe/core/controllerextensions/RoutingListener.js +7 -6
  68. package/src/sap/fe/core/controllerextensions/RoutingListener.ts +3 -0
  69. package/src/sap/fe/core/controllerextensions/Share.js +230 -268
  70. package/src/sap/fe/core/controllerextensions/Share.ts +231 -0
  71. package/src/sap/fe/core/controllerextensions/SideEffects.js +592 -633
  72. package/src/sap/fe/core/controllerextensions/SideEffects.ts +8 -7
  73. package/src/sap/fe/core/controllerextensions/ViewState.js +788 -806
  74. package/src/sap/fe/core/controllerextensions/ViewState.ts +805 -0
  75. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -2
  76. package/src/sap/fe/core/controls/ActionPartial.fragment.xml +2 -2
  77. package/src/sap/fe/core/controls/CommandExecution.js +67 -66
  78. package/src/sap/fe/core/controls/CommandExecution.ts +72 -0
  79. package/src/sap/fe/core/controls/ConditionalWrapper.js +90 -75
  80. package/src/sap/fe/core/controls/ConditionalWrapper.ts +83 -0
  81. package/src/sap/fe/core/controls/CustomQuickViewPage.js +130 -125
  82. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +126 -0
  83. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +103 -112
  84. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +101 -0
  85. package/src/sap/fe/core/controls/FieldWrapper.js +122 -135
  86. package/src/sap/fe/core/controls/FieldWrapper.ts +115 -0
  87. package/src/sap/fe/core/controls/FilterBar.js +162 -159
  88. package/src/sap/fe/core/controls/FilterBar.ts +143 -0
  89. package/src/sap/fe/core/controls/FormElementWrapper.js +45 -39
  90. package/src/sap/fe/core/controls/FormElementWrapper.ts +40 -0
  91. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +37 -42
  92. package/src/sap/fe/core/controls/MultiValueParameterDelegate.ts +31 -0
  93. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +126 -116
  94. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +98 -0
  95. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +241 -255
  96. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +245 -0
  97. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +150 -141
  98. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +125 -0
  99. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +335 -322
  100. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +337 -0
  101. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +74 -74
  102. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +70 -0
  103. package/src/sap/fe/core/converters/ConverterContext.js +348 -379
  104. package/src/sap/fe/core/converters/ConverterContext.ts +19 -16
  105. package/src/sap/fe/core/converters/ManifestSettings.js +12 -1
  106. package/src/sap/fe/core/converters/ManifestSettings.ts +12 -1
  107. package/src/sap/fe/core/converters/ManifestWrapper.js +354 -378
  108. package/src/sap/fe/core/converters/ManifestWrapper.ts +10 -0
  109. package/src/sap/fe/core/converters/MetaModelConverter.js +6 -4
  110. package/src/sap/fe/core/converters/MetaModelConverter.ts +5 -2
  111. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  112. package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
  113. package/src/sap/fe/core/converters/annotations/DataField.js +26 -12
  114. package/src/sap/fe/core/converters/annotations/DataField.ts +37 -13
  115. package/src/sap/fe/core/converters/controls/Common/Form.js +2 -2
  116. package/src/sap/fe/core/converters/controls/Common/Form.ts +4 -2
  117. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  118. package/src/sap/fe/core/converters/controls/Common/KPI.ts +3 -2
  119. package/src/sap/fe/core/converters/controls/Common/Table.js +130 -23
  120. package/src/sap/fe/core/converters/controls/Common/Table.ts +134 -29
  121. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +118 -53
  122. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +156 -93
  123. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +161 -207
  124. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +148 -206
  125. package/src/sap/fe/core/converters/helpers/Aggregation.js +115 -133
  126. package/src/sap/fe/core/converters/helpers/BindingHelper.js +20 -6
  127. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +16 -4
  128. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +12 -1
  129. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +11 -0
  130. package/src/sap/fe/core/converters/helpers/Key.js +42 -57
  131. package/src/sap/fe/core/converters/helpers/Key.ts +1 -1
  132. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +25 -4
  133. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +20 -3
  134. package/src/sap/fe/core/converters/templates/ListReportConverter.js +10 -4
  135. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +15 -4
  136. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +7 -5
  137. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +5 -1
  138. package/src/sap/fe/core/designtime/AppComponent.designtime.js +92 -98
  139. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +91 -0
  140. package/src/sap/fe/core/formatters/CollaborationFormatter.js +104 -0
  141. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +60 -0
  142. package/src/sap/fe/core/formatters/TableFormatter.js +53 -2
  143. package/src/sap/fe/core/formatters/TableFormatter.ts +51 -0
  144. package/src/sap/fe/core/fpm/Component.js +50 -54
  145. package/src/sap/fe/core/fpm/Component.ts +48 -0
  146. package/src/sap/fe/core/helpers/AppStartupHelper.js +323 -309
  147. package/src/sap/fe/core/helpers/AppStartupHelper.ts +363 -337
  148. package/src/sap/fe/core/helpers/BindingExpression.js +7 -7
  149. package/src/sap/fe/core/helpers/BindingExpression.ts +7 -7
  150. package/src/sap/fe/core/helpers/ClassSupport.js +186 -62
  151. package/src/sap/fe/core/helpers/ClassSupport.ts +168 -52
  152. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +5 -4
  153. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -5
  154. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  155. package/src/sap/fe/core/helpers/FPMHelper.ts +1 -1
  156. package/src/sap/fe/core/helpers/MassEditHelper.js +601 -684
  157. package/src/sap/fe/core/helpers/MassEditHelper.ts +699 -0
  158. package/src/sap/fe/core/helpers/ModelHelper.js +25 -1
  159. package/src/sap/fe/core/helpers/ModelHelper.ts +23 -0
  160. package/src/sap/fe/core/helpers/SemanticDateOperators.js +5 -1
  161. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +4 -0
  162. package/src/sap/fe/core/library.js +426 -451
  163. package/src/sap/fe/core/library.support.js +22 -33
  164. package/src/sap/fe/core/library.support.ts +23 -0
  165. package/src/sap/fe/core/library.ts +420 -0
  166. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +5 -3
  167. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +4 -1
  168. package/src/sap/fe/core/messagebundle.properties +22 -5
  169. package/src/sap/fe/core/messagebundle_ar.properties +27 -7
  170. package/src/sap/fe/core/messagebundle_bg.properties +27 -7
  171. package/src/sap/fe/core/messagebundle_ca.properties +27 -7
  172. package/src/sap/fe/core/messagebundle_cs.properties +27 -7
  173. package/src/sap/fe/core/messagebundle_cy.properties +27 -7
  174. package/src/sap/fe/core/messagebundle_da.properties +27 -7
  175. package/src/sap/fe/core/messagebundle_de.properties +27 -7
  176. package/src/sap/fe/core/messagebundle_el.properties +27 -7
  177. package/src/sap/fe/core/messagebundle_en.properties +27 -7
  178. package/src/sap/fe/core/messagebundle_en_GB.properties +27 -7
  179. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +27 -7
  180. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +27 -7
  181. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +27 -7
  182. package/src/sap/fe/core/messagebundle_es.properties +27 -7
  183. package/src/sap/fe/core/messagebundle_es_MX.properties +27 -7
  184. package/src/sap/fe/core/messagebundle_et.properties +27 -7
  185. package/src/sap/fe/core/messagebundle_fi.properties +28 -8
  186. package/src/sap/fe/core/messagebundle_fr.properties +28 -8
  187. package/src/sap/fe/core/messagebundle_fr_CA.properties +29 -9
  188. package/src/sap/fe/core/messagebundle_hi.properties +27 -7
  189. package/src/sap/fe/core/messagebundle_hr.properties +27 -7
  190. package/src/sap/fe/core/messagebundle_hu.properties +27 -7
  191. package/src/sap/fe/core/messagebundle_id.properties +27 -7
  192. package/src/sap/fe/core/messagebundle_it.properties +27 -7
  193. package/src/sap/fe/core/messagebundle_iw.properties +27 -7
  194. package/src/sap/fe/core/messagebundle_ja.properties +26 -6
  195. package/src/sap/fe/core/messagebundle_kk.properties +27 -7
  196. package/src/sap/fe/core/messagebundle_ko.properties +27 -7
  197. package/src/sap/fe/core/messagebundle_lt.properties +27 -7
  198. package/src/sap/fe/core/messagebundle_lv.properties +28 -8
  199. package/src/sap/fe/core/messagebundle_ms.properties +27 -7
  200. package/src/sap/fe/core/messagebundle_nl.properties +27 -7
  201. package/src/sap/fe/core/messagebundle_no.properties +27 -7
  202. package/src/sap/fe/core/messagebundle_pl.properties +27 -7
  203. package/src/sap/fe/core/messagebundle_pt.properties +28 -8
  204. package/src/sap/fe/core/messagebundle_pt_PT.properties +27 -7
  205. package/src/sap/fe/core/messagebundle_ro.properties +27 -7
  206. package/src/sap/fe/core/messagebundle_ru.properties +27 -7
  207. package/src/sap/fe/core/messagebundle_sh.properties +27 -7
  208. package/src/sap/fe/core/messagebundle_sk.properties +27 -7
  209. package/src/sap/fe/core/messagebundle_sl.properties +27 -7
  210. package/src/sap/fe/core/messagebundle_sv.properties +27 -7
  211. package/src/sap/fe/core/messagebundle_th.properties +26 -6
  212. package/src/sap/fe/core/messagebundle_tr.properties +30 -10
  213. package/src/sap/fe/core/messagebundle_uk.properties +27 -7
  214. package/src/sap/fe/core/messagebundle_vi.properties +27 -7
  215. package/src/sap/fe/core/messagebundle_zh_CN.properties +27 -7
  216. package/src/sap/fe/core/messagebundle_zh_TW.properties +27 -7
  217. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +45 -71
  218. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +154 -192
  219. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +4 -4
  220. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +66 -92
  221. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +1 -1
  222. package/src/sap/fe/core/services/NavigationServiceFactory.js +284 -339
  223. package/src/sap/fe/core/services/NavigationServiceFactory.ts +10 -13
  224. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +67 -102
  225. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +5 -2
  226. package/src/sap/fe/core/services/RoutingServiceFactory.js +754 -814
  227. package/src/sap/fe/core/services/RoutingServiceFactory.ts +13 -13
  228. package/src/sap/fe/core/services/ShellServicesFactory.js +649 -736
  229. package/src/sap/fe/core/services/ShellServicesFactory.ts +7 -4
  230. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +567 -592
  231. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +22 -3
  232. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +354 -386
  233. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +21 -14
  234. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +1 -1
  235. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +1 -1
  236. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  237. package/src/sap/fe/core/support/CommonHelper.ts +1 -1
  238. package/src/sap/fe/core/support/Diagnostics.js +36 -48
  239. package/src/sap/fe/core/templating/DataModelPathHelper.js +93 -85
  240. package/src/sap/fe/core/templating/DataModelPathHelper.ts +104 -95
  241. package/src/sap/fe/core/templating/FilterHelper.js +25 -32
  242. package/src/sap/fe/core/templating/FilterHelper.ts +36 -35
  243. package/src/sap/fe/core/templating/PropertyHelper.js +2 -2
  244. package/src/sap/fe/core/templating/PropertyHelper.ts +1 -1
  245. package/src/sap/fe/core/templating/UIFormatters.js +32 -26
  246. package/src/sap/fe/core/templating/UIFormatters.ts +37 -24
@@ -1,22 +1,27 @@
1
1
  import OverrideExecution from "sap/ui/core/mvc/OverrideExecution";
2
2
  import ObjectPath from "sap/base/util/ObjectPath";
3
- import deepClone from "sap/base/util/deepClone";
4
3
  import ElementMetadata from "sap/ui/core/ElementMetadata";
5
4
  import RenderManager from "sap/ui/core/RenderManager";
5
+ import Metadata from "sap/ui/base/Metadata";
6
+ import ControllerExtensionMetadata from "sap/fe/core/controllerextensions/ControllerExtensionMetadata";
7
+ import ControllerMetadata from "sap/ui/core/mvc/ControllerMetadata";
8
+ import uid from "sap/base/util/uid";
9
+ import merge from "sap/base/util/merge";
10
+ import UI5Event from "sap/ui/base/Event";
6
11
 
7
12
  const ensureMetadata = function(target: any) {
8
- if (!target.hasOwnProperty("metadata")) {
9
- target.metadata = deepClone(
10
- target.metadata || {
11
- properties: {},
12
- macroContexts: {},
13
- aggregations: {},
14
- associations: {},
15
- methods: {},
16
- events: {}
17
- }
18
- );
19
- }
13
+ target.metadata = merge(
14
+ {
15
+ controllerExtensions: {},
16
+ properties: {},
17
+ macroContexts: {},
18
+ aggregations: {},
19
+ associations: {},
20
+ methods: {},
21
+ events: {}
22
+ },
23
+ target.metadata || {}
24
+ );
20
25
  return target.metadata;
21
26
  };
22
27
  export function Override(sTarget?: string) {
@@ -46,22 +51,25 @@ export function Extensible(oOverrideExecution?: OverrideExecution) {
46
51
  metadata.methods[propertyKey].overrideExecution = oOverrideExecution;
47
52
  };
48
53
  }
49
- export function Public(target: any, propertyKey: string) {
54
+ export function Public(target: any, propertyKey: string, descriptor: any): any {
50
55
  const metadata = ensureMetadata(target);
56
+ descriptor.enumerable = true;
51
57
  if (!metadata.methods[propertyKey]) {
52
58
  metadata.methods[propertyKey] = {};
53
59
  }
54
60
  metadata.methods[propertyKey].public = true;
55
61
  }
56
- export function Private(target: any, propertyKey: string) {
62
+ export function Private(target: any, propertyKey: string, descriptor: any) {
57
63
  const metadata = ensureMetadata(target);
64
+ descriptor.enumerable = true;
58
65
  if (!metadata.methods[propertyKey]) {
59
66
  metadata.methods[propertyKey] = {};
60
67
  }
61
68
  metadata.methods[propertyKey].public = false;
62
69
  }
63
- export function Final(target: any, propertyKey: string) {
70
+ export function Final(target: any, propertyKey: string, descriptor: any) {
64
71
  const metadata = ensureMetadata(target);
72
+ descriptor.enumerable = true;
65
73
  if (!metadata.methods[propertyKey]) {
66
74
  metadata.methods[propertyKey] = {};
67
75
  }
@@ -86,6 +94,14 @@ export function MacroContext(bMetaModelObject: boolean = false): any {
86
94
  return Property({ type: "sap.ui.model.Context", macroContext: true, metaModelObject: bMetaModelObject });
87
95
  }
88
96
 
97
+ export function UsingExtension(extensionClass: any): any {
98
+ return function(target: any, propertyKey: string, propertyDescriptor: PropertyDescriptor): any {
99
+ const metadata = ensureMetadata(target);
100
+ delete (propertyDescriptor as any).initializer;
101
+ metadata.controllerExtensions[propertyKey] = extensionClass;
102
+ return propertyDescriptor;
103
+ };
104
+ }
89
105
  export function Property(oPropertyParams: any): any {
90
106
  return function(target: any, propertyKey: string, propertyDescriptor: PropertyDescriptor): any {
91
107
  const metadata = ensureMetadata(target);
@@ -99,12 +115,12 @@ export function Property(oPropertyParams: any): any {
99
115
  }
100
116
  delete propertyDescriptor.writable;
101
117
  delete (propertyDescriptor as any).initializer;
102
- (propertyDescriptor as any).set = function(v: any) {
103
- return this.setProperty(propertyKey, v);
104
- };
105
- (propertyDescriptor as any).get = function() {
106
- return this.getProperty(propertyKey);
107
- };
118
+ // (propertyDescriptor as any).set = function(v: any) {
119
+ // return this.setProperty(propertyKey, v);
120
+ // };
121
+ // (propertyDescriptor as any).get = function() {
122
+ // return this.getProperty(propertyKey);
123
+ // };
108
124
 
109
125
  return propertyDescriptor;
110
126
  };
@@ -121,12 +137,12 @@ export function Aggregation(oAggregationDescriptor?: any): any {
121
137
  }
122
138
  delete propertyDescriptor.writable;
123
139
  delete (propertyDescriptor as any).initializer;
124
- (propertyDescriptor as any).set = function(v: any) {
125
- return this.setAggregation(propertyKey, v);
126
- };
127
- (propertyDescriptor as any).get = function() {
128
- return this.getAggregation(propertyKey);
129
- };
140
+ // (propertyDescriptor as any).set = function(v: any) {
141
+ // return this.setAggregation(propertyKey, v);
142
+ // };
143
+ // (propertyDescriptor as any).get = function() {
144
+ // return this.getAggregation(propertyKey);
145
+ // };
130
146
 
131
147
  return propertyDescriptor;
132
148
  };
@@ -140,12 +156,12 @@ export function Association(oAssociationDescription?: any): any {
140
156
  }
141
157
  delete propertyDescriptor.writable;
142
158
  delete (propertyDescriptor as any).initializer;
143
- (propertyDescriptor as any).set = function(v: any) {
144
- return this.setAggregation(propertyKey, v);
145
- };
146
- (propertyDescriptor as any).get = function() {
147
- return this.getAggregation(propertyKey);
148
- };
159
+ // (propertyDescriptor as any).set = function(v: any) {
160
+ // return this.setAggregation(propertyKey, v);
161
+ // };
162
+ // (propertyDescriptor as any).get = function() {
163
+ // return this.getAggregation(propertyKey);
164
+ // };
149
165
 
150
166
  return propertyDescriptor;
151
167
  };
@@ -185,22 +201,29 @@ export function APIClass(sTarget: string, isDependentBound = false) {
185
201
  describe(constructor, sTarget, constructor.prototype, ElementMetadata);
186
202
  };
187
203
  }
188
- export function UI5Class(sTarget: string, metadataClass?: any, metadataDefinition?: any) {
204
+ export function UI5Class(sTarget: string, metadataClass?: any, metadataDefinition?: any, useExtend: boolean = true) {
189
205
  return function(constructor: Function) {
190
206
  if (!constructor.prototype.metadata) {
191
207
  constructor.prototype.metadata = {};
192
208
  }
193
- if (metadataDefinition?.properties) {
194
- constructor.prototype.metadata.properties = metadataDefinition.properties;
195
- }
196
- if (metadataDefinition?.events) {
197
- constructor.prototype.metadata.events = metadataDefinition.events;
209
+ if (metadataDefinition) {
210
+ Object.keys(metadataDefinition).forEach(key => {
211
+ constructor.prototype.metadata[key] = metadataDefinition[key];
212
+ });
198
213
  }
199
- describe(constructor, sTarget, constructor.prototype, metadataClass);
214
+ return describe(constructor, sTarget, constructor.prototype, metadataClass, useExtend);
200
215
  };
201
216
  }
202
-
203
- function describe(clazz: any, name: string, inObj: any, metadataClass?: any) {
217
+ function describe(clazz: any, name: string, inObj: any, metadataClass?: any, useExtend: boolean = true) {
218
+ if (metadataClass === ControllerExtensionMetadata) {
219
+ Object.getOwnPropertyNames(inObj).forEach(objName => {
220
+ const descriptor = Object.getOwnPropertyDescriptor(inObj, objName);
221
+ if (descriptor && !descriptor.enumerable) {
222
+ descriptor.enumerable = true;
223
+ // Log.error(`Property ${objName} from ${name} should be decorated as public`);
224
+ }
225
+ });
226
+ }
204
227
  const obj: any = {};
205
228
  obj.metadata = inObj.metadata || {};
206
229
  obj.override = inObj.override;
@@ -208,19 +231,111 @@ function describe(clazz: any, name: string, inObj: any, metadataClass?: any) {
208
231
  obj.metadata.baseType = Object.getPrototypeOf(clazz.prototype)
209
232
  .getMetadata()
210
233
  .getName();
211
- obj.renderer = inObj.renderer || clazz.renderer;
234
+
235
+ const rendererDefinition = inObj.renderer || clazz.renderer;
236
+ obj.renderer = { apiVersion: 2 };
237
+ if (typeof rendererDefinition === "function") {
238
+ obj.renderer.render = rendererDefinition;
239
+ } else if (rendererDefinition != undefined) {
240
+ obj.renderer = rendererDefinition;
241
+ }
212
242
  obj.metadata.interfaces = inObj.metadata?.interfaces || clazz.metadata?.interfaces;
213
- let metadata: any;
214
- if (metadataClass) {
215
- metadata = new metadataClass(name, obj);
243
+ if (useExtend) {
244
+ Object.keys(clazz.prototype).forEach(key => {
245
+ if (key !== "metadata") {
246
+ try {
247
+ obj[key] = clazz.prototype[key];
248
+ } catch (e) {
249
+ //console.log(e);
250
+ }
251
+ }
252
+ });
253
+ }
254
+ if (obj.metadata?.controllerExtensions && Object.keys(obj.metadata.controllerExtensions).length > 0) {
255
+ for (const cExtName in obj.metadata.controllerExtensions) {
256
+ obj[cExtName] = obj.metadata.controllerExtensions[cExtName];
257
+ }
258
+ }
259
+ let output = clazz;
260
+ if (useExtend) {
261
+ output = clazz.extend(name, obj, metadataClass);
262
+ const fnInit = output.prototype.init;
263
+ output.prototype.init = function(...args: any[]) {
264
+ fnInit && fnInit.apply(this, args);
265
+ this.metadata = obj.metadata;
266
+
267
+ if (obj.metadata.properties) {
268
+ const aPropertyKeys = Object.keys(obj.metadata.properties);
269
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
270
+ const that = this;
271
+ aPropertyKeys.forEach(propertyKey => {
272
+ Object.defineProperty(that, propertyKey, {
273
+ configurable: true,
274
+ set: (v: any) => {
275
+ return that.setProperty(propertyKey, v);
276
+ },
277
+ get: () => {
278
+ return that.getProperty(propertyKey);
279
+ }
280
+ });
281
+ });
282
+ const aAggregationKeys = Object.keys(obj.metadata.aggregations);
283
+ aAggregationKeys.forEach(aggregationKey => {
284
+ Object.defineProperty(that, aggregationKey, {
285
+ configurable: true,
286
+ set: (v: any) => {
287
+ return that.setAggregation(aggregationKey, v);
288
+ },
289
+ get: () => {
290
+ return that.getAggregation(aggregationKey);
291
+ }
292
+ });
293
+ });
294
+ }
295
+ };
216
296
  } else {
217
- metadata = new ElementMetadata(name, obj);
297
+ let metadata: any;
298
+ if (metadataClass) {
299
+ metadata = new metadataClass(name, obj);
300
+ } else {
301
+ metadata = new ElementMetadata(name, obj);
302
+ }
303
+ clazz.getMetadata = clazz.prototype.getMetadata = function() {
304
+ return metadata;
305
+ };
306
+ if (!clazz.getMetadata().isFinal()) {
307
+ clazz.extend = function(sSCName: string, oSCClassInfo: any, fnSCMetaImpl: Function) {
308
+ // the default constructor created by ui5 does not return the value which is problematic with TS
309
+ oSCClassInfo.constructor = function(...args: any[]) {
310
+ return clazz.apply(this, args);
311
+ };
312
+
313
+ const fnClass = (Metadata as any).createClass(
314
+ clazz,
315
+ sSCName,
316
+ oSCClassInfo,
317
+ fnSCMetaImpl || metadataClass || ElementMetadata
318
+ );
319
+ // fnClass.prototype.constructor = function(...args: any[]) {
320
+ // return clazz.apply(this, ...args);
321
+ // };
322
+ return fnClass;
323
+ };
324
+ }
218
325
  }
219
- clazz.getMetadata = clazz.prototype.getMetadata = function() {
220
- return metadata;
326
+ clazz.override = function(oExtension: any) {
327
+ const pol = {};
328
+ (pol as any).constructor = function(...args: any[]) {
329
+ return clazz.apply(this, args as any);
330
+ };
331
+ const oClass = (Metadata as any).createClass(clazz, "anonymousExtension~" + uid(), pol, ControllerMetadata);
332
+ oClass.getMetadata()._staticOverride = oExtension;
333
+ oClass.getMetadata()._override = (clazz.getMetadata() as any)._override;
334
+ return oClass;
221
335
  };
336
+
222
337
  const fnInit = clazz.prototype.init;
223
- clazz.prototype.init = function(...args: any[]) {
338
+ output.prototype.init = function(...args: any[]) {
224
339
  fnInit && fnInit.apply(this, args);
225
340
  if (obj.metadata.properties) {
226
341
  const aPropertyKeys = Object.keys(obj.metadata.properties);
@@ -239,5 +354,6 @@ function describe(clazz: any, name: string, inObj: any, metadataClass?: any) {
239
354
  });
240
355
  }
241
356
  };
242
- ObjectPath.set(name, clazz);
357
+ ObjectPath.set(name, output);
358
+ return output;
243
359
  }
@@ -5,6 +5,8 @@
5
5
  sap.ui.define(["sap/ui/base/BindingParser"], function (BindingParser) {
6
6
  "use strict";
7
7
 
8
+ var _exports = {};
9
+
8
10
  function getObject(oObject, sPath) {
9
11
  if (!oObject) {
10
12
  return null;
@@ -58,8 +60,7 @@ sap.ui.define(["sap/ui/base/BindingParser"], function (BindingParser) {
58
60
  return sAnnotationPath;
59
61
  }
60
62
 
61
- return {
62
- resolveDynamicExpression: resolveDynamicExpression
63
- };
63
+ _exports.resolveDynamicExpression = resolveDynamicExpression;
64
+ return _exports;
64
65
  }, false);
65
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR5bmFtaWNBbm5vdGF0aW9uUGF0aEhlbHBlci50cyJdLCJuYW1lcyI6WyJnZXRPYmplY3QiLCJvT2JqZWN0Iiwic1BhdGgiLCJzUGF0aFNwbGl0Iiwic3BsaXQiLCJsZW5ndGgiLCJzcGxpY2UiLCJqb2luIiwicmVzb2x2ZUR5bmFtaWNFeHByZXNzaW9uIiwic0Fubm90YXRpb25QYXRoIiwib01ldGFNb2RlbCIsImluZGV4T2YiLCJmaXJzdEJyYWNrZXQiLCJzU3RhYmxlQnJhY2tldCIsInN1YnN0ciIsInNSZXN0IiwibGFzdEJyYWNrZXQiLCJhVmFsdWUiLCJvRXhwcmVzc2lvbiIsIkJpbmRpbmdQYXJzZXIiLCJwYXJzZUV4cHJlc3Npb24iLCJBcnJheSIsImlzQXJyYXkiLCJyZXN1bHQiLCJwYXJ0cyIsInBhdGgiLCJpIiwiYkZvdW5kIiwib09iamVjdFZhbHVlIiwiYlJlc3VsdCIsImZvcm1hdHRlciJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUFBLFdBQVNBLFNBQVQsQ0FBbUJDLE9BQW5CLEVBQWlDQyxLQUFqQyxFQUFrRDtBQUNqRCxRQUFJLENBQUNELE9BQUwsRUFBYztBQUNiLGFBQU8sSUFBUDtBQUNBOztBQUNELFFBQU1FLFVBQVUsR0FBR0QsS0FBSyxDQUFDRSxLQUFOLENBQVksR0FBWixDQUFuQjs7QUFDQSxRQUFJRCxVQUFVLENBQUNFLE1BQVgsS0FBc0IsQ0FBMUIsRUFBNkI7QUFDNUIsYUFBT0osT0FBTyxDQUFDQyxLQUFELENBQWQ7QUFDQSxLQUZELE1BRU87QUFDTixhQUFPRixTQUFTLENBQUNDLE9BQU8sQ0FBQ0UsVUFBVSxDQUFDLENBQUQsQ0FBWCxDQUFSLEVBQXlCQSxVQUFVLENBQUNHLE1BQVgsQ0FBa0IsQ0FBbEIsRUFBcUJDLElBQXJCLENBQTBCLEdBQTFCLENBQXpCLENBQWhCO0FBQ0E7QUFDRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxXQUFTQyx3QkFBVCxDQUFrQ0MsZUFBbEMsRUFBd0RDLFVBQXhELEVBQXlFO0FBQ3hFLFFBQUlELGVBQWUsQ0FBQ0UsT0FBaEIsQ0FBd0IsR0FBeEIsTUFBaUMsQ0FBQyxDQUF0QyxFQUF5QztBQUN4QyxVQUFNQyxZQUFZLEdBQUdILGVBQWUsQ0FBQ0UsT0FBaEIsQ0FBd0IsR0FBeEIsQ0FBckI7QUFDQSxVQUFNRSxjQUFjLEdBQUdKLGVBQWUsQ0FBQ0ssTUFBaEIsQ0FBdUIsQ0FBdkIsRUFBMEJGLFlBQTFCLENBQXZCO0FBQ0EsVUFBTUcsS0FBSyxHQUFHTixlQUFlLENBQUNLLE1BQWhCLENBQXVCRixZQUFZLEdBQUcsQ0FBdEMsQ0FBZDtBQUNBLFVBQU1JLFdBQVcsR0FBR0QsS0FBSyxDQUFDSixPQUFOLENBQWMsR0FBZCxDQUFwQjtBQUNBLFVBQU1NLE1BQU0sR0FBR1AsVUFBVSxDQUFDVixTQUFYLENBQXFCYSxjQUFyQixDQUFmO0FBQ0EsVUFBTUssV0FBVyxHQUFHQyxhQUFhLENBQUNDLGVBQWQsQ0FBOEJMLEtBQUssQ0FBQ0QsTUFBTixDQUFhLENBQWIsRUFBZ0JFLFdBQWhCLENBQTlCLENBQXBCOztBQUNBLFVBQ0NLLEtBQUssQ0FBQ0MsT0FBTixDQUFjTCxNQUFkLEtBQ0FDLFdBREEsSUFFQUEsV0FBVyxDQUFDSyxNQUZaLElBR0FMLFdBQVcsQ0FBQ0ssTUFBWixDQUFtQkMsS0FIbkIsSUFJQU4sV0FBVyxDQUFDSyxNQUFaLENBQW1CQyxLQUFuQixDQUF5QixDQUF6QixDQUpBLElBS0FOLFdBQVcsQ0FBQ0ssTUFBWixDQUFtQkMsS0FBbkIsQ0FBeUIsQ0FBekIsRUFBNEJDLElBTjdCLEVBT0U7QUFDRCxZQUFJQyxDQUFKO0FBQ0EsWUFBSUMsTUFBTSxHQUFHLEtBQWI7O0FBQ0EsYUFBS0QsQ0FBQyxHQUFHLENBQVQsRUFBWUEsQ0FBQyxHQUFHVCxNQUFNLENBQUNaLE1BQVgsSUFBcUIsQ0FBQ3NCLE1BQWxDLEVBQTBDRCxDQUFDLEVBQTNDLEVBQStDO0FBQzlDLGNBQU1FLFlBQVksR0FBRzVCLFNBQVMsQ0FBQ2lCLE1BQU0sQ0FBQ1MsQ0FBRCxDQUFQLEVBQVlSLFdBQVcsQ0FBQ0ssTUFBWixDQUFtQkMsS0FBbkIsQ0FBeUIsQ0FBekIsRUFBNEJDLElBQXhDLENBQTlCO0FBQ0EsY0FBTUksT0FBTyxHQUFHWCxXQUFXLENBQUNLLE1BQVosQ0FBbUJPLFNBQW5CLENBQTZCRixZQUE3QixDQUFoQjs7QUFDQSxjQUFJQyxPQUFKLEVBQWE7QUFDWkYsWUFBQUEsTUFBTSxHQUFHLElBQVQ7QUFDQTtBQUNEOztBQUNELFlBQUlBLE1BQUosRUFBWTtBQUNYbEIsVUFBQUEsZUFBZSxHQUFHRCx3QkFBd0IsQ0FBQ0ssY0FBYyxJQUFJYSxDQUFDLEdBQUcsQ0FBUixDQUFkLEdBQTJCWCxLQUFLLENBQUNELE1BQU4sQ0FBYUUsV0FBVyxHQUFHLENBQTNCLENBQTVCLEVBQTJETixVQUEzRCxDQUExQztBQUNBO0FBQ0Q7QUFDRDs7QUFDRCxXQUFPRCxlQUFQO0FBQ0E7O1NBRWM7QUFDZEQsSUFBQUEsd0JBQXdCLEVBQUVBO0FBRFosRyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpbmRpbmdQYXJzZXIgZnJvbSBcInNhcC91aS9iYXNlL0JpbmRpbmdQYXJzZXJcIjtcblxuZnVuY3Rpb24gZ2V0T2JqZWN0KG9PYmplY3Q6IGFueSwgc1BhdGg6IGFueSk6IGFueSB7XG5cdGlmICghb09iamVjdCkge1xuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cdGNvbnN0IHNQYXRoU3BsaXQgPSBzUGF0aC5zcGxpdChcIi9cIik7XG5cdGlmIChzUGF0aFNwbGl0Lmxlbmd0aCA9PT0gMSkge1xuXHRcdHJldHVybiBvT2JqZWN0W3NQYXRoXTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gZ2V0T2JqZWN0KG9PYmplY3Rbc1BhdGhTcGxpdFswXV0sIHNQYXRoU3BsaXQuc3BsaWNlKDEpLmpvaW4oXCIvXCIpKTtcblx0fVxufVxuLyoqXG4gKiBSZXNvbHZlIGEgZHluYW1pYyBhbm5vdGF0aW9uIHBhdGggZG93biB0byBhIHN0YW5kYXJkIGFubm90YXRpb24gcGF0aC5cbiAqXG4gKiBAcGFyYW0gc0Fubm90YXRpb25QYXRoXG4gKiBAcGFyYW0gb01ldGFNb2RlbFxuICogQHJldHVybnMge3N0cmluZ30gVGhlIG5vbiBkeW5hbWljIHZlcnNpb24gb2YgdGhlIGFubm90YXRpb24gcGF0aFxuICovXG5mdW5jdGlvbiByZXNvbHZlRHluYW1pY0V4cHJlc3Npb24oc0Fubm90YXRpb25QYXRoOiBhbnksIG9NZXRhTW9kZWw6IGFueSkge1xuXHRpZiAoc0Fubm90YXRpb25QYXRoLmluZGV4T2YoXCJbXCIpICE9PSAtMSkge1xuXHRcdGNvbnN0IGZpcnN0QnJhY2tldCA9IHNBbm5vdGF0aW9uUGF0aC5pbmRleE9mKFwiW1wiKTtcblx0XHRjb25zdCBzU3RhYmxlQnJhY2tldCA9IHNBbm5vdGF0aW9uUGF0aC5zdWJzdHIoMCwgZmlyc3RCcmFja2V0KTtcblx0XHRjb25zdCBzUmVzdCA9IHNBbm5vdGF0aW9uUGF0aC5zdWJzdHIoZmlyc3RCcmFja2V0ICsgMSk7XG5cdFx0Y29uc3QgbGFzdEJyYWNrZXQgPSBzUmVzdC5pbmRleE9mKFwiXVwiKTtcblx0XHRjb25zdCBhVmFsdWUgPSBvTWV0YU1vZGVsLmdldE9iamVjdChzU3RhYmxlQnJhY2tldCk7XG5cdFx0Y29uc3Qgb0V4cHJlc3Npb24gPSBCaW5kaW5nUGFyc2VyLnBhcnNlRXhwcmVzc2lvbihzUmVzdC5zdWJzdHIoMCwgbGFzdEJyYWNrZXQpKTtcblx0XHRpZiAoXG5cdFx0XHRBcnJheS5pc0FycmF5KGFWYWx1ZSkgJiZcblx0XHRcdG9FeHByZXNzaW9uICYmXG5cdFx0XHRvRXhwcmVzc2lvbi5yZXN1bHQgJiZcblx0XHRcdG9FeHByZXNzaW9uLnJlc3VsdC5wYXJ0cyAmJlxuXHRcdFx0b0V4cHJlc3Npb24ucmVzdWx0LnBhcnRzWzBdICYmXG5cdFx0XHRvRXhwcmVzc2lvbi5yZXN1bHQucGFydHNbMF0ucGF0aFxuXHRcdCkge1xuXHRcdFx0bGV0IGk7XG5cdFx0XHRsZXQgYkZvdW5kID0gZmFsc2U7XG5cdFx0XHRmb3IgKGkgPSAwOyBpIDwgYVZhbHVlLmxlbmd0aCAmJiAhYkZvdW5kOyBpKyspIHtcblx0XHRcdFx0Y29uc3Qgb09iamVjdFZhbHVlID0gZ2V0T2JqZWN0KGFWYWx1ZVtpXSwgb0V4cHJlc3Npb24ucmVzdWx0LnBhcnRzWzBdLnBhdGgpO1xuXHRcdFx0XHRjb25zdCBiUmVzdWx0ID0gb0V4cHJlc3Npb24ucmVzdWx0LmZvcm1hdHRlcihvT2JqZWN0VmFsdWUpO1xuXHRcdFx0XHRpZiAoYlJlc3VsdCkge1xuXHRcdFx0XHRcdGJGb3VuZCA9IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGlmIChiRm91bmQpIHtcblx0XHRcdFx0c0Fubm90YXRpb25QYXRoID0gcmVzb2x2ZUR5bmFtaWNFeHByZXNzaW9uKHNTdGFibGVCcmFja2V0ICsgKGkgLSAxKSArIHNSZXN0LnN1YnN0cihsYXN0QnJhY2tldCArIDEpLCBvTWV0YU1vZGVsKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0cmV0dXJuIHNBbm5vdGF0aW9uUGF0aDtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuXHRyZXNvbHZlRHluYW1pY0V4cHJlc3Npb246IHJlc29sdmVEeW5hbWljRXhwcmVzc2lvblxufTtcbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR5bmFtaWNBbm5vdGF0aW9uUGF0aEhlbHBlci50cyJdLCJuYW1lcyI6WyJnZXRPYmplY3QiLCJvT2JqZWN0Iiwic1BhdGgiLCJzUGF0aFNwbGl0Iiwic3BsaXQiLCJsZW5ndGgiLCJzcGxpY2UiLCJqb2luIiwicmVzb2x2ZUR5bmFtaWNFeHByZXNzaW9uIiwic0Fubm90YXRpb25QYXRoIiwib01ldGFNb2RlbCIsImluZGV4T2YiLCJmaXJzdEJyYWNrZXQiLCJzU3RhYmxlQnJhY2tldCIsInN1YnN0ciIsInNSZXN0IiwibGFzdEJyYWNrZXQiLCJhVmFsdWUiLCJvRXhwcmVzc2lvbiIsIkJpbmRpbmdQYXJzZXIiLCJwYXJzZUV4cHJlc3Npb24iLCJBcnJheSIsImlzQXJyYXkiLCJyZXN1bHQiLCJwYXJ0cyIsInBhdGgiLCJpIiwiYkZvdW5kIiwib09iamVjdFZhbHVlIiwiYlJlc3VsdCIsImZvcm1hdHRlciJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7O0FBQUEsV0FBU0EsU0FBVCxDQUFtQkMsT0FBbkIsRUFBaUNDLEtBQWpDLEVBQWtEO0FBQ2pELFFBQUksQ0FBQ0QsT0FBTCxFQUFjO0FBQ2IsYUFBTyxJQUFQO0FBQ0E7O0FBQ0QsUUFBTUUsVUFBVSxHQUFHRCxLQUFLLENBQUNFLEtBQU4sQ0FBWSxHQUFaLENBQW5COztBQUNBLFFBQUlELFVBQVUsQ0FBQ0UsTUFBWCxLQUFzQixDQUExQixFQUE2QjtBQUM1QixhQUFPSixPQUFPLENBQUNDLEtBQUQsQ0FBZDtBQUNBLEtBRkQsTUFFTztBQUNOLGFBQU9GLFNBQVMsQ0FBQ0MsT0FBTyxDQUFDRSxVQUFVLENBQUMsQ0FBRCxDQUFYLENBQVIsRUFBeUJBLFVBQVUsQ0FBQ0csTUFBWCxDQUFrQixDQUFsQixFQUFxQkMsSUFBckIsQ0FBMEIsR0FBMUIsQ0FBekIsQ0FBaEI7QUFDQTtBQUNEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFdBQVNDLHdCQUFULENBQWtDQyxlQUFsQyxFQUF3REMsVUFBeEQsRUFBeUU7QUFDL0UsUUFBSUQsZUFBZSxDQUFDRSxPQUFoQixDQUF3QixHQUF4QixNQUFpQyxDQUFDLENBQXRDLEVBQXlDO0FBQ3hDLFVBQU1DLFlBQVksR0FBR0gsZUFBZSxDQUFDRSxPQUFoQixDQUF3QixHQUF4QixDQUFyQjtBQUNBLFVBQU1FLGNBQWMsR0FBR0osZUFBZSxDQUFDSyxNQUFoQixDQUF1QixDQUF2QixFQUEwQkYsWUFBMUIsQ0FBdkI7QUFDQSxVQUFNRyxLQUFLLEdBQUdOLGVBQWUsQ0FBQ0ssTUFBaEIsQ0FBdUJGLFlBQVksR0FBRyxDQUF0QyxDQUFkO0FBQ0EsVUFBTUksV0FBVyxHQUFHRCxLQUFLLENBQUNKLE9BQU4sQ0FBYyxHQUFkLENBQXBCO0FBQ0EsVUFBTU0sTUFBTSxHQUFHUCxVQUFVLENBQUNWLFNBQVgsQ0FBcUJhLGNBQXJCLENBQWY7QUFDQSxVQUFNSyxXQUFXLEdBQUdDLGFBQWEsQ0FBQ0MsZUFBZCxDQUE4QkwsS0FBSyxDQUFDRCxNQUFOLENBQWEsQ0FBYixFQUFnQkUsV0FBaEIsQ0FBOUIsQ0FBcEI7O0FBQ0EsVUFDQ0ssS0FBSyxDQUFDQyxPQUFOLENBQWNMLE1BQWQsS0FDQUMsV0FEQSxJQUVBQSxXQUFXLENBQUNLLE1BRlosSUFHQUwsV0FBVyxDQUFDSyxNQUFaLENBQW1CQyxLQUhuQixJQUlBTixXQUFXLENBQUNLLE1BQVosQ0FBbUJDLEtBQW5CLENBQXlCLENBQXpCLENBSkEsSUFLQU4sV0FBVyxDQUFDSyxNQUFaLENBQW1CQyxLQUFuQixDQUF5QixDQUF6QixFQUE0QkMsSUFON0IsRUFPRTtBQUNELFlBQUlDLENBQUo7QUFDQSxZQUFJQyxNQUFNLEdBQUcsS0FBYjs7QUFDQSxhQUFLRCxDQUFDLEdBQUcsQ0FBVCxFQUFZQSxDQUFDLEdBQUdULE1BQU0sQ0FBQ1osTUFBWCxJQUFxQixDQUFDc0IsTUFBbEMsRUFBMENELENBQUMsRUFBM0MsRUFBK0M7QUFDOUMsY0FBTUUsWUFBWSxHQUFHNUIsU0FBUyxDQUFDaUIsTUFBTSxDQUFDUyxDQUFELENBQVAsRUFBWVIsV0FBVyxDQUFDSyxNQUFaLENBQW1CQyxLQUFuQixDQUF5QixDQUF6QixFQUE0QkMsSUFBeEMsQ0FBOUI7QUFDQSxjQUFNSSxPQUFPLEdBQUdYLFdBQVcsQ0FBQ0ssTUFBWixDQUFtQk8sU0FBbkIsQ0FBNkJGLFlBQTdCLENBQWhCOztBQUNBLGNBQUlDLE9BQUosRUFBYTtBQUNaRixZQUFBQSxNQUFNLEdBQUcsSUFBVDtBQUNBO0FBQ0Q7O0FBQ0QsWUFBSUEsTUFBSixFQUFZO0FBQ1hsQixVQUFBQSxlQUFlLEdBQUdELHdCQUF3QixDQUFDSyxjQUFjLElBQUlhLENBQUMsR0FBRyxDQUFSLENBQWQsR0FBMkJYLEtBQUssQ0FBQ0QsTUFBTixDQUFhRSxXQUFXLEdBQUcsQ0FBM0IsQ0FBNUIsRUFBMkROLFVBQTNELENBQTFDO0FBQ0E7QUFDRDtBQUNEOztBQUNELFdBQU9ELGVBQVA7QUFDQSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpbmRpbmdQYXJzZXIgZnJvbSBcInNhcC91aS9iYXNlL0JpbmRpbmdQYXJzZXJcIjtcblxuZnVuY3Rpb24gZ2V0T2JqZWN0KG9PYmplY3Q6IGFueSwgc1BhdGg6IGFueSk6IGFueSB7XG5cdGlmICghb09iamVjdCkge1xuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cdGNvbnN0IHNQYXRoU3BsaXQgPSBzUGF0aC5zcGxpdChcIi9cIik7XG5cdGlmIChzUGF0aFNwbGl0Lmxlbmd0aCA9PT0gMSkge1xuXHRcdHJldHVybiBvT2JqZWN0W3NQYXRoXTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gZ2V0T2JqZWN0KG9PYmplY3Rbc1BhdGhTcGxpdFswXV0sIHNQYXRoU3BsaXQuc3BsaWNlKDEpLmpvaW4oXCIvXCIpKTtcblx0fVxufVxuLyoqXG4gKiBSZXNvbHZlIGEgZHluYW1pYyBhbm5vdGF0aW9uIHBhdGggZG93biB0byBhIHN0YW5kYXJkIGFubm90YXRpb24gcGF0aC5cbiAqXG4gKiBAcGFyYW0gc0Fubm90YXRpb25QYXRoXG4gKiBAcGFyYW0gb01ldGFNb2RlbFxuICogQHJldHVybnMge3N0cmluZ30gVGhlIG5vbiBkeW5hbWljIHZlcnNpb24gb2YgdGhlIGFubm90YXRpb24gcGF0aFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUR5bmFtaWNFeHByZXNzaW9uKHNBbm5vdGF0aW9uUGF0aDogYW55LCBvTWV0YU1vZGVsOiBhbnkpIHtcblx0aWYgKHNBbm5vdGF0aW9uUGF0aC5pbmRleE9mKFwiW1wiKSAhPT0gLTEpIHtcblx0XHRjb25zdCBmaXJzdEJyYWNrZXQgPSBzQW5ub3RhdGlvblBhdGguaW5kZXhPZihcIltcIik7XG5cdFx0Y29uc3Qgc1N0YWJsZUJyYWNrZXQgPSBzQW5ub3RhdGlvblBhdGguc3Vic3RyKDAsIGZpcnN0QnJhY2tldCk7XG5cdFx0Y29uc3Qgc1Jlc3QgPSBzQW5ub3RhdGlvblBhdGguc3Vic3RyKGZpcnN0QnJhY2tldCArIDEpO1xuXHRcdGNvbnN0IGxhc3RCcmFja2V0ID0gc1Jlc3QuaW5kZXhPZihcIl1cIik7XG5cdFx0Y29uc3QgYVZhbHVlID0gb01ldGFNb2RlbC5nZXRPYmplY3Qoc1N0YWJsZUJyYWNrZXQpO1xuXHRcdGNvbnN0IG9FeHByZXNzaW9uID0gQmluZGluZ1BhcnNlci5wYXJzZUV4cHJlc3Npb24oc1Jlc3Quc3Vic3RyKDAsIGxhc3RCcmFja2V0KSk7XG5cdFx0aWYgKFxuXHRcdFx0QXJyYXkuaXNBcnJheShhVmFsdWUpICYmXG5cdFx0XHRvRXhwcmVzc2lvbiAmJlxuXHRcdFx0b0V4cHJlc3Npb24ucmVzdWx0ICYmXG5cdFx0XHRvRXhwcmVzc2lvbi5yZXN1bHQucGFydHMgJiZcblx0XHRcdG9FeHByZXNzaW9uLnJlc3VsdC5wYXJ0c1swXSAmJlxuXHRcdFx0b0V4cHJlc3Npb24ucmVzdWx0LnBhcnRzWzBdLnBhdGhcblx0XHQpIHtcblx0XHRcdGxldCBpO1xuXHRcdFx0bGV0IGJGb3VuZCA9IGZhbHNlO1xuXHRcdFx0Zm9yIChpID0gMDsgaSA8IGFWYWx1ZS5sZW5ndGggJiYgIWJGb3VuZDsgaSsrKSB7XG5cdFx0XHRcdGNvbnN0IG9PYmplY3RWYWx1ZSA9IGdldE9iamVjdChhVmFsdWVbaV0sIG9FeHByZXNzaW9uLnJlc3VsdC5wYXJ0c1swXS5wYXRoKTtcblx0XHRcdFx0Y29uc3QgYlJlc3VsdCA9IG9FeHByZXNzaW9uLnJlc3VsdC5mb3JtYXR0ZXIob09iamVjdFZhbHVlKTtcblx0XHRcdFx0aWYgKGJSZXN1bHQpIHtcblx0XHRcdFx0XHRiRm91bmQgPSB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAoYkZvdW5kKSB7XG5cdFx0XHRcdHNBbm5vdGF0aW9uUGF0aCA9IHJlc29sdmVEeW5hbWljRXhwcmVzc2lvbihzU3RhYmxlQnJhY2tldCArIChpIC0gMSkgKyBzUmVzdC5zdWJzdHIobGFzdEJyYWNrZXQgKyAxKSwgb01ldGFNb2RlbCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHJldHVybiBzQW5ub3RhdGlvblBhdGg7XG59XG4iXX0=
@@ -18,7 +18,7 @@ function getObject(oObject: any, sPath: any): any {
18
18
  * @param oMetaModel
19
19
  * @returns {string} The non dynamic version of the annotation path
20
20
  */
21
- function resolveDynamicExpression(sAnnotationPath: any, oMetaModel: any) {
21
+ export function resolveDynamicExpression(sAnnotationPath: any, oMetaModel: any) {
22
22
  if (sAnnotationPath.indexOf("[") !== -1) {
23
23
  const firstBracket = sAnnotationPath.indexOf("[");
24
24
  const sStableBracket = sAnnotationPath.substr(0, firstBracket);
@@ -50,7 +50,3 @@ function resolveDynamicExpression(sAnnotationPath: any, oMetaModel: any) {
50
50
  }
51
51
  return sAnnotationPath;
52
52
  }
53
-
54
- export default {
55
- resolveDynamicExpression: resolveDynamicExpression
56
- };
@@ -56,4 +56,4 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/base/util/ObjectPath"], function
56
56
  };
57
57
  return FPMHelper;
58
58
  }, false);
59
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZQTUhlbHBlci50cyJdLCJuYW1lcyI6WyJGUE1IZWxwZXIiLCJhY3Rpb25XcmFwcGVyIiwib0V2ZW50Iiwic01vZHVsZSIsInNNZXRob2QiLCJvUGFyYW1ldGVycyIsIlByb21pc2UiLCJyZXNvbHZlIiwib1NvdXJjZSIsImdldFNvdXJjZSIsIm9WaWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3Iiwib0JpbmRpbmdDb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJvRXh0ZW5zaW9uQVBJIiwiYVNlbGVjdGVkQ29udGV4dHMiLCJ1bmRlZmluZWQiLCJjb250ZXh0cyIsImdldENvbnRyb2xsZXJOYW1lIiwiZ2V0Q29udHJvbGxlciIsImdldEV4dGVuc2lvbkFQSSIsInN0YXJ0c1dpdGgiLCJmblRhcmdldCIsIk9iamVjdFBhdGgiLCJnZXQiLCJyZXBsYWNlIiwic3Vic3RyIiwic2FwIiwidWkiLCJyZXF1aXJlIiwibW9kdWxlIiwiYmluZCIsInZhbGlkYXRpb25XcmFwcGVyIiwib1ZhbGlkYXRpb25Db250ZXh0cyJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUdBLE1BQU1BLFNBQVMsR0FBRztBQUNqQkMsSUFBQUEsYUFBYSxFQUFFLFVBQVNDLE1BQVQsRUFBc0JDLE9BQXRCLEVBQW9DQyxPQUFwQyxFQUFrREMsV0FBbEQsRUFBb0U7QUFDbEYsYUFBTyxJQUFJQyxPQUFKLENBQVksVUFBU0MsT0FBVCxFQUF3QztBQUMxRCxZQUFNQyxPQUFPLEdBQUdOLE1BQU0sQ0FBQ08sU0FBUCxHQUFtQlAsTUFBTSxDQUFDTyxTQUFQLEVBQW5CLEdBQXdDUCxNQUFNLENBQUNNLE9BQS9EO0FBQUEsWUFDQ0UsS0FBSyxHQUFHQyxXQUFXLENBQUNDLGFBQVosQ0FBMEJKLE9BQTFCLENBRFQ7QUFBQSxZQUVDSyxlQUFlLEdBQUdMLE9BQU8sQ0FBQ00saUJBQVIsRUFGbkI7QUFHQSxZQUFJQyxhQUFKO0FBQ0EsWUFBSUMsaUJBQUo7O0FBRUEsWUFBSVgsV0FBVyxLQUFLWSxTQUFwQixFQUErQjtBQUM5QkQsVUFBQUEsaUJBQWlCLEdBQUdYLFdBQVcsQ0FBQ2EsUUFBWixJQUF3QixFQUE1QztBQUNBLFNBRkQsTUFFTyxJQUFJTCxlQUFlLEtBQUtJLFNBQXhCLEVBQW1DO0FBQ3pDRCxVQUFBQSxpQkFBaUIsR0FBRyxDQUFDSCxlQUFELENBQXBCO0FBQ0EsU0FGTSxNQUVBO0FBQ05HLFVBQUFBLGlCQUFpQixHQUFHLEVBQXBCO0FBQ0E7O0FBRUQsWUFDQ04sS0FBSyxDQUFDUyxpQkFBTixPQUE4QixrREFBOUIsSUFDQVQsS0FBSyxDQUFDUyxpQkFBTixPQUE4QixrREFGL0IsRUFHRTtBQUNESixVQUFBQSxhQUFhLEdBQUdMLEtBQUssQ0FBQ1UsYUFBTixHQUFzQkMsZUFBdEIsRUFBaEI7QUFDQTs7QUFFRCxZQUFJbEIsT0FBTyxDQUFDbUIsVUFBUixDQUFtQixhQUFuQixDQUFKLEVBQXVDO0FBQ3RDLGNBQU1DLFFBQVEsR0FBR0MsVUFBVSxDQUFDQyxHQUFYLENBQWV0QixPQUFPLENBQUN1QixPQUFSLENBQWdCLEtBQWhCLEVBQXVCLEdBQXZCLEVBQTRCQyxNQUE1QixDQUFtQyxDQUFuQyxDQUFmLEVBQXNEWixhQUF0RCxDQUFqQjtBQUNBUixVQUFBQSxPQUFPLENBQUNnQixRQUFRLENBQUNuQixPQUFELENBQVIsQ0FBa0JTLGVBQWxCLEVBQW1DRyxpQkFBbkMsQ0FBRCxDQUFQO0FBQ0EsU0FIRCxNQUdPO0FBQ05ZLFVBQUFBLEdBQUcsQ0FBQ0MsRUFBSixDQUFPQyxPQUFQLENBQWUsQ0FBQzNCLE9BQUQsQ0FBZixFQUEwQixVQUFTNEIsTUFBVCxFQUFzQjtBQUMvQztBQUNBO0FBQ0F4QixZQUFBQSxPQUFPLENBQUN3QixNQUFNLENBQUMzQixPQUFELENBQU4sQ0FBZ0I0QixJQUFoQixDQUFxQmpCLGFBQXJCLEVBQW9DRixlQUFwQyxFQUFxREcsaUJBQXJELENBQUQsQ0FBUDtBQUNBLFdBSkQ7QUFLQTtBQUNELE9BaENNLENBQVA7QUFpQ0EsS0FuQ2dCO0FBb0NqQmlCLElBQUFBLGlCQUFpQixFQUFFLFVBQVM5QixPQUFULEVBQXVCQyxPQUF2QixFQUFxQzhCLG1CQUFyQyxFQUErRHhCLEtBQS9ELEVBQTJFRyxlQUEzRSxFQUFpRztBQUNuSCxhQUFPLElBQUlQLE9BQUosQ0FBWSxVQUFTQyxPQUFULEVBQXdDO0FBQzFELFlBQUlRLGFBQUo7O0FBRUEsWUFDQ0wsS0FBSyxDQUFDUyxpQkFBTixPQUE4QixrREFBOUIsSUFDQVQsS0FBSyxDQUFDUyxpQkFBTixPQUE4QixrREFGL0IsRUFHRTtBQUNESixVQUFBQSxhQUFhLEdBQUdMLEtBQUssQ0FBQ1UsYUFBTixHQUFzQkMsZUFBdEIsRUFBaEI7QUFDQTs7QUFFRE8sUUFBQUEsR0FBRyxDQUFDQyxFQUFKLENBQU9DLE9BQVAsQ0FBZSxDQUFDM0IsT0FBRCxDQUFmLEVBQTBCLFVBQVM0QixNQUFULEVBQXNCO0FBQy9DO0FBQ0E7QUFDQXhCLFVBQUFBLE9BQU8sQ0FBQ3dCLE1BQU0sQ0FBQzNCLE9BQUQsQ0FBTixDQUFnQjRCLElBQWhCLENBQXFCakIsYUFBckIsRUFBb0NGLGVBQXBDLEVBQXFEcUIsbUJBQXJELENBQUQsQ0FBUDtBQUNBLFNBSkQ7QUFLQSxPQWZNLENBQVA7QUFnQkE7QUFyRGdCLEdBQWxCO1NBd0RlbEMsUyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXh0ZW5zaW9uQVBJIH0gZnJvbSBcInNhcC9mZS9jb3JlXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgT2JqZWN0UGF0aCBmcm9tIFwic2FwL2Jhc2UvdXRpbC9PYmplY3RQYXRoXCI7XG5pbXBvcnQgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcblxuY29uc3QgRlBNSGVscGVyID0ge1xuXHRhY3Rpb25XcmFwcGVyOiBmdW5jdGlvbihvRXZlbnQ6IGFueSwgc01vZHVsZTogYW55LCBzTWV0aG9kOiBhbnksIG9QYXJhbWV0ZXJzOiBhbnkpIHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZTogKHZhbHVlOiBhbnkpID0+IHZvaWQpIHtcblx0XHRcdGNvbnN0IG9Tb3VyY2UgPSBvRXZlbnQuZ2V0U291cmNlID8gb0V2ZW50LmdldFNvdXJjZSgpIDogb0V2ZW50Lm9Tb3VyY2UsXG5cdFx0XHRcdG9WaWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0VmlldyhvU291cmNlKSxcblx0XHRcdFx0b0JpbmRpbmdDb250ZXh0ID0gb1NvdXJjZS5nZXRCaW5kaW5nQ29udGV4dCgpO1xuXHRcdFx0bGV0IG9FeHRlbnNpb25BUEk6IEV4dGVuc2lvbkFQSSB8IHVuZGVmaW5lZDtcblx0XHRcdGxldCBhU2VsZWN0ZWRDb250ZXh0czogQ29udGV4dFtdO1xuXG5cdFx0XHRpZiAob1BhcmFtZXRlcnMgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRhU2VsZWN0ZWRDb250ZXh0cyA9IG9QYXJhbWV0ZXJzLmNvbnRleHRzIHx8IFtdO1xuXHRcdFx0fSBlbHNlIGlmIChvQmluZGluZ0NvbnRleHQgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRhU2VsZWN0ZWRDb250ZXh0cyA9IFtvQmluZGluZ0NvbnRleHRdO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0YVNlbGVjdGVkQ29udGV4dHMgPSBbXTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKFxuXHRcdFx0XHRvVmlldy5nZXRDb250cm9sbGVyTmFtZSgpID09PSBcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5PYmplY3RQYWdlQ29udHJvbGxlclwiIHx8XG5cdFx0XHRcdG9WaWV3LmdldENvbnRyb2xsZXJOYW1lKCkgPT09IFwic2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0Lkxpc3RSZXBvcnRDb250cm9sbGVyXCJcblx0XHRcdCkge1xuXHRcdFx0XHRvRXh0ZW5zaW9uQVBJID0gb1ZpZXcuZ2V0Q29udHJvbGxlcigpLmdldEV4dGVuc2lvbkFQSSgpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoc01vZHVsZS5zdGFydHNXaXRoKFwiL2V4dGVuc2lvbi9cIikpIHtcblx0XHRcdFx0Y29uc3QgZm5UYXJnZXQgPSBPYmplY3RQYXRoLmdldChzTW9kdWxlLnJlcGxhY2UoL1xcLy9nLCBcIi5cIikuc3Vic3RyKDEpLCBvRXh0ZW5zaW9uQVBJKTtcblx0XHRcdFx0cmVzb2x2ZShmblRhcmdldFtzTWV0aG9kXShvQmluZGluZ0NvbnRleHQsIGFTZWxlY3RlZENvbnRleHRzKSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRzYXAudWkucmVxdWlyZShbc01vZHVsZV0sIGZ1bmN0aW9uKG1vZHVsZTogYW55KSB7XG5cdFx0XHRcdFx0Ly8gLSB3ZSBiaW5kIHRoZSBhY3Rpb24gdG8gdGhlIGV4dGVuc2lvbkFQSSBvZiB0aGUgY29udHJvbGxlciBzbyBpdCBoYXMgdGhlIHNhbWUgc2NvcGUgYXMgYSBjdXN0b20gc2VjdGlvblxuXHRcdFx0XHRcdC8vIC0gd2UgcHJvdmlkZSB0aGUgY29udGV4dCBhcyBBUEksIG1heWJlIGlmIG5lZWRlZCBmdXJ0aGVyIHByb3BlcnRpZXNcblx0XHRcdFx0XHRyZXNvbHZlKG1vZHVsZVtzTWV0aG9kXS5iaW5kKG9FeHRlbnNpb25BUEkpKG9CaW5kaW5nQ29udGV4dCwgYVNlbGVjdGVkQ29udGV4dHMpKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH0sXG5cdHZhbGlkYXRpb25XcmFwcGVyOiBmdW5jdGlvbihzTW9kdWxlOiBhbnksIHNNZXRob2Q6IGFueSwgb1ZhbGlkYXRpb25Db250ZXh0czogYW55LCBvVmlldzogYW55LCBvQmluZGluZ0NvbnRleHQ6IGFueSkge1xuXHRcdHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xuXHRcdFx0bGV0IG9FeHRlbnNpb25BUEk6IEV4dGVuc2lvbkFQSTtcblxuXHRcdFx0aWYgKFxuXHRcdFx0XHRvVmlldy5nZXRDb250cm9sbGVyTmFtZSgpID09PSBcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5PYmplY3RQYWdlQ29udHJvbGxlclwiIHx8XG5cdFx0XHRcdG9WaWV3LmdldENvbnRyb2xsZXJOYW1lKCkgPT09IFwic2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0Lkxpc3RSZXBvcnRDb250cm9sbGVyXCJcblx0XHRcdCkge1xuXHRcdFx0XHRvRXh0ZW5zaW9uQVBJID0gb1ZpZXcuZ2V0Q29udHJvbGxlcigpLmdldEV4dGVuc2lvbkFQSSgpO1xuXHRcdFx0fVxuXG5cdFx0XHRzYXAudWkucmVxdWlyZShbc01vZHVsZV0sIGZ1bmN0aW9uKG1vZHVsZTogYW55KSB7XG5cdFx0XHRcdC8vIC0gd2UgYmluZCB0aGUgYWN0aW9uIHRvIHRoZSBleHRlbnNpb25BUEkgb2YgdGhlIGNvbnRyb2xsZXIgc28gaXQgaGFzIHRoZSBzYW1lIHNjb3BlIGFzIGEgY3VzdG9tIHNlY3Rpb25cblx0XHRcdFx0Ly8gLSB3ZSBwcm92aWRlIHRoZSBjb250ZXh0IGFzIEFQSSwgbWF5YmUgaWYgbmVlZGVkIGZ1cnRoZXIgcHJvcGVydGllc1xuXHRcdFx0XHRyZXNvbHZlKG1vZHVsZVtzTWV0aG9kXS5iaW5kKG9FeHRlbnNpb25BUEkpKG9CaW5kaW5nQ29udGV4dCwgb1ZhbGlkYXRpb25Db250ZXh0cykpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZQTUhlbHBlcjtcbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZQTUhlbHBlci50cyJdLCJuYW1lcyI6WyJGUE1IZWxwZXIiLCJhY3Rpb25XcmFwcGVyIiwib0V2ZW50Iiwic01vZHVsZSIsInNNZXRob2QiLCJvUGFyYW1ldGVycyIsIlByb21pc2UiLCJyZXNvbHZlIiwib1NvdXJjZSIsImdldFNvdXJjZSIsIm9WaWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3Iiwib0JpbmRpbmdDb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJvRXh0ZW5zaW9uQVBJIiwiYVNlbGVjdGVkQ29udGV4dHMiLCJ1bmRlZmluZWQiLCJjb250ZXh0cyIsImdldENvbnRyb2xsZXJOYW1lIiwiZ2V0Q29udHJvbGxlciIsImdldEV4dGVuc2lvbkFQSSIsInN0YXJ0c1dpdGgiLCJmblRhcmdldCIsIk9iamVjdFBhdGgiLCJnZXQiLCJyZXBsYWNlIiwic3Vic3RyIiwic2FwIiwidWkiLCJyZXF1aXJlIiwibW9kdWxlIiwiYmluZCIsInZhbGlkYXRpb25XcmFwcGVyIiwib1ZhbGlkYXRpb25Db250ZXh0cyJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUdBLE1BQU1BLFNBQVMsR0FBRztBQUNqQkMsSUFBQUEsYUFBYSxFQUFFLFVBQVNDLE1BQVQsRUFBc0JDLE9BQXRCLEVBQW9DQyxPQUFwQyxFQUFrREMsV0FBbEQsRUFBb0U7QUFDbEYsYUFBTyxJQUFJQyxPQUFKLENBQVksVUFBU0MsT0FBVCxFQUF3QztBQUMxRCxZQUFNQyxPQUFPLEdBQUdOLE1BQU0sQ0FBQ08sU0FBUCxHQUFtQlAsTUFBTSxDQUFDTyxTQUFQLEVBQW5CLEdBQXdDUCxNQUFNLENBQUNNLE9BQS9EO0FBQUEsWUFDQ0UsS0FBSyxHQUFHQyxXQUFXLENBQUNDLGFBQVosQ0FBMEJKLE9BQTFCLENBRFQ7QUFBQSxZQUVDSyxlQUFlLEdBQUdMLE9BQU8sQ0FBQ00saUJBQVIsRUFGbkI7QUFHQSxZQUFJQyxhQUFKO0FBQ0EsWUFBSUMsaUJBQUo7O0FBRUEsWUFBSVgsV0FBVyxLQUFLWSxTQUFwQixFQUErQjtBQUM5QkQsVUFBQUEsaUJBQWlCLEdBQUdYLFdBQVcsQ0FBQ2EsUUFBWixJQUF3QixFQUE1QztBQUNBLFNBRkQsTUFFTyxJQUFJTCxlQUFlLEtBQUtJLFNBQXhCLEVBQW1DO0FBQ3pDRCxVQUFBQSxpQkFBaUIsR0FBRyxDQUFDSCxlQUFELENBQXBCO0FBQ0EsU0FGTSxNQUVBO0FBQ05HLFVBQUFBLGlCQUFpQixHQUFHLEVBQXBCO0FBQ0E7O0FBRUQsWUFDQ04sS0FBSyxDQUFDUyxpQkFBTixPQUE4QixrREFBOUIsSUFDQVQsS0FBSyxDQUFDUyxpQkFBTixPQUE4QixrREFGL0IsRUFHRTtBQUNESixVQUFBQSxhQUFhLEdBQUdMLEtBQUssQ0FBQ1UsYUFBTixHQUFzQkMsZUFBdEIsRUFBaEI7QUFDQTs7QUFFRCxZQUFJbEIsT0FBTyxDQUFDbUIsVUFBUixDQUFtQixhQUFuQixDQUFKLEVBQXVDO0FBQ3RDLGNBQU1DLFFBQVEsR0FBR0MsVUFBVSxDQUFDQyxHQUFYLENBQWV0QixPQUFPLENBQUN1QixPQUFSLENBQWdCLEtBQWhCLEVBQXVCLEdBQXZCLEVBQTRCQyxNQUE1QixDQUFtQyxDQUFuQyxDQUFmLEVBQXNEWixhQUF0RCxDQUFqQjtBQUNBUixVQUFBQSxPQUFPLENBQUNnQixRQUFRLENBQUNuQixPQUFELENBQVIsQ0FBa0JTLGVBQWxCLEVBQW1DRyxpQkFBbkMsQ0FBRCxDQUFQO0FBQ0EsU0FIRCxNQUdPO0FBQ05ZLFVBQUFBLEdBQUcsQ0FBQ0MsRUFBSixDQUFPQyxPQUFQLENBQWUsQ0FBQzNCLE9BQUQsQ0FBZixFQUEwQixVQUFTNEIsTUFBVCxFQUFzQjtBQUMvQztBQUNBO0FBQ0F4QixZQUFBQSxPQUFPLENBQUN3QixNQUFNLENBQUMzQixPQUFELENBQU4sQ0FBZ0I0QixJQUFoQixDQUFxQmpCLGFBQXJCLEVBQW9DRixlQUFwQyxFQUFxREcsaUJBQXJELENBQUQsQ0FBUDtBQUNBLFdBSkQ7QUFLQTtBQUNELE9BaENNLENBQVA7QUFpQ0EsS0FuQ2dCO0FBb0NqQmlCLElBQUFBLGlCQUFpQixFQUFFLFVBQVM5QixPQUFULEVBQXVCQyxPQUF2QixFQUFxQzhCLG1CQUFyQyxFQUErRHhCLEtBQS9ELEVBQTJFRyxlQUEzRSxFQUFpRztBQUNuSCxhQUFPLElBQUlQLE9BQUosQ0FBWSxVQUFTQyxPQUFULEVBQXdDO0FBQzFELFlBQUlRLGFBQUo7O0FBRUEsWUFDQ0wsS0FBSyxDQUFDUyxpQkFBTixPQUE4QixrREFBOUIsSUFDQVQsS0FBSyxDQUFDUyxpQkFBTixPQUE4QixrREFGL0IsRUFHRTtBQUNESixVQUFBQSxhQUFhLEdBQUdMLEtBQUssQ0FBQ1UsYUFBTixHQUFzQkMsZUFBdEIsRUFBaEI7QUFDQTs7QUFFRE8sUUFBQUEsR0FBRyxDQUFDQyxFQUFKLENBQU9DLE9BQVAsQ0FBZSxDQUFDM0IsT0FBRCxDQUFmLEVBQTBCLFVBQVM0QixNQUFULEVBQXNCO0FBQy9DO0FBQ0E7QUFDQXhCLFVBQUFBLE9BQU8sQ0FBQ3dCLE1BQU0sQ0FBQzNCLE9BQUQsQ0FBTixDQUFnQjRCLElBQWhCLENBQXFCakIsYUFBckIsRUFBb0NGLGVBQXBDLEVBQXFEcUIsbUJBQXJELENBQUQsQ0FBUDtBQUNBLFNBSkQ7QUFLQSxPQWZNLENBQVA7QUFnQkE7QUFyRGdCLEdBQWxCO1NBd0RlbEMsUyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEV4dGVuc2lvbkFQSSBmcm9tIFwic2FwL2ZlL2NvcmUvRXh0ZW5zaW9uQVBJXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgT2JqZWN0UGF0aCBmcm9tIFwic2FwL2Jhc2UvdXRpbC9PYmplY3RQYXRoXCI7XG5pbXBvcnQgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcblxuY29uc3QgRlBNSGVscGVyID0ge1xuXHRhY3Rpb25XcmFwcGVyOiBmdW5jdGlvbihvRXZlbnQ6IGFueSwgc01vZHVsZTogYW55LCBzTWV0aG9kOiBhbnksIG9QYXJhbWV0ZXJzOiBhbnkpIHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZTogKHZhbHVlOiBhbnkpID0+IHZvaWQpIHtcblx0XHRcdGNvbnN0IG9Tb3VyY2UgPSBvRXZlbnQuZ2V0U291cmNlID8gb0V2ZW50LmdldFNvdXJjZSgpIDogb0V2ZW50Lm9Tb3VyY2UsXG5cdFx0XHRcdG9WaWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0VmlldyhvU291cmNlKSxcblx0XHRcdFx0b0JpbmRpbmdDb250ZXh0ID0gb1NvdXJjZS5nZXRCaW5kaW5nQ29udGV4dCgpO1xuXHRcdFx0bGV0IG9FeHRlbnNpb25BUEk6IEV4dGVuc2lvbkFQSSB8IHVuZGVmaW5lZDtcblx0XHRcdGxldCBhU2VsZWN0ZWRDb250ZXh0czogQ29udGV4dFtdO1xuXG5cdFx0XHRpZiAob1BhcmFtZXRlcnMgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRhU2VsZWN0ZWRDb250ZXh0cyA9IG9QYXJhbWV0ZXJzLmNvbnRleHRzIHx8IFtdO1xuXHRcdFx0fSBlbHNlIGlmIChvQmluZGluZ0NvbnRleHQgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRhU2VsZWN0ZWRDb250ZXh0cyA9IFtvQmluZGluZ0NvbnRleHRdO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0YVNlbGVjdGVkQ29udGV4dHMgPSBbXTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKFxuXHRcdFx0XHRvVmlldy5nZXRDb250cm9sbGVyTmFtZSgpID09PSBcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5PYmplY3RQYWdlQ29udHJvbGxlclwiIHx8XG5cdFx0XHRcdG9WaWV3LmdldENvbnRyb2xsZXJOYW1lKCkgPT09IFwic2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0Lkxpc3RSZXBvcnRDb250cm9sbGVyXCJcblx0XHRcdCkge1xuXHRcdFx0XHRvRXh0ZW5zaW9uQVBJID0gb1ZpZXcuZ2V0Q29udHJvbGxlcigpLmdldEV4dGVuc2lvbkFQSSgpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoc01vZHVsZS5zdGFydHNXaXRoKFwiL2V4dGVuc2lvbi9cIikpIHtcblx0XHRcdFx0Y29uc3QgZm5UYXJnZXQgPSBPYmplY3RQYXRoLmdldChzTW9kdWxlLnJlcGxhY2UoL1xcLy9nLCBcIi5cIikuc3Vic3RyKDEpLCBvRXh0ZW5zaW9uQVBJKTtcblx0XHRcdFx0cmVzb2x2ZShmblRhcmdldFtzTWV0aG9kXShvQmluZGluZ0NvbnRleHQsIGFTZWxlY3RlZENvbnRleHRzKSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRzYXAudWkucmVxdWlyZShbc01vZHVsZV0sIGZ1bmN0aW9uKG1vZHVsZTogYW55KSB7XG5cdFx0XHRcdFx0Ly8gLSB3ZSBiaW5kIHRoZSBhY3Rpb24gdG8gdGhlIGV4dGVuc2lvbkFQSSBvZiB0aGUgY29udHJvbGxlciBzbyBpdCBoYXMgdGhlIHNhbWUgc2NvcGUgYXMgYSBjdXN0b20gc2VjdGlvblxuXHRcdFx0XHRcdC8vIC0gd2UgcHJvdmlkZSB0aGUgY29udGV4dCBhcyBBUEksIG1heWJlIGlmIG5lZWRlZCBmdXJ0aGVyIHByb3BlcnRpZXNcblx0XHRcdFx0XHRyZXNvbHZlKG1vZHVsZVtzTWV0aG9kXS5iaW5kKG9FeHRlbnNpb25BUEkpKG9CaW5kaW5nQ29udGV4dCwgYVNlbGVjdGVkQ29udGV4dHMpKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH0sXG5cdHZhbGlkYXRpb25XcmFwcGVyOiBmdW5jdGlvbihzTW9kdWxlOiBhbnksIHNNZXRob2Q6IGFueSwgb1ZhbGlkYXRpb25Db250ZXh0czogYW55LCBvVmlldzogYW55LCBvQmluZGluZ0NvbnRleHQ6IGFueSkge1xuXHRcdHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xuXHRcdFx0bGV0IG9FeHRlbnNpb25BUEk6IEV4dGVuc2lvbkFQSTtcblxuXHRcdFx0aWYgKFxuXHRcdFx0XHRvVmlldy5nZXRDb250cm9sbGVyTmFtZSgpID09PSBcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5PYmplY3RQYWdlQ29udHJvbGxlclwiIHx8XG5cdFx0XHRcdG9WaWV3LmdldENvbnRyb2xsZXJOYW1lKCkgPT09IFwic2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0Lkxpc3RSZXBvcnRDb250cm9sbGVyXCJcblx0XHRcdCkge1xuXHRcdFx0XHRvRXh0ZW5zaW9uQVBJID0gb1ZpZXcuZ2V0Q29udHJvbGxlcigpLmdldEV4dGVuc2lvbkFQSSgpO1xuXHRcdFx0fVxuXG5cdFx0XHRzYXAudWkucmVxdWlyZShbc01vZHVsZV0sIGZ1bmN0aW9uKG1vZHVsZTogYW55KSB7XG5cdFx0XHRcdC8vIC0gd2UgYmluZCB0aGUgYWN0aW9uIHRvIHRoZSBleHRlbnNpb25BUEkgb2YgdGhlIGNvbnRyb2xsZXIgc28gaXQgaGFzIHRoZSBzYW1lIHNjb3BlIGFzIGEgY3VzdG9tIHNlY3Rpb25cblx0XHRcdFx0Ly8gLSB3ZSBwcm92aWRlIHRoZSBjb250ZXh0IGFzIEFQSSwgbWF5YmUgaWYgbmVlZGVkIGZ1cnRoZXIgcHJvcGVydGllc1xuXHRcdFx0XHRyZXNvbHZlKG1vZHVsZVtzTWV0aG9kXS5iaW5kKG9FeHRlbnNpb25BUEkpKG9CaW5kaW5nQ29udGV4dCwgb1ZhbGlkYXRpb25Db250ZXh0cykpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZQTUhlbHBlcjtcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { ExtensionAPI } from "sap/fe/core";
1
+ import ExtensionAPI from "sap/fe/core/ExtensionAPI";
2
2
  import CommonUtils from "sap/fe/core/CommonUtils";
3
3
  import ObjectPath from "sap/base/util/ObjectPath";
4
4
  import Context from "sap/ui/model/Context";