@sapui5/sap.fe.core 1.108.2 → 1.110.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 (359) hide show
  1. package/README.md +5 -1
  2. package/package.json +11 -9
  3. package/src/.eslintrc +7 -0
  4. package/src/sap/fe/core/.library +39 -37
  5. package/src/sap/fe/core/.supportrc +3 -3
  6. package/src/sap/fe/core/ActionRuntime.js +72 -27
  7. package/src/sap/fe/core/ActionRuntime.ts +104 -21
  8. package/src/sap/fe/core/AppComponent.js +102 -120
  9. package/src/sap/fe/core/AppComponent.ts +148 -45
  10. package/src/sap/fe/core/AppStateHandler.js +105 -91
  11. package/src/sap/fe/core/AppStateHandler.ts +85 -23
  12. package/src/sap/fe/core/BaseController.js +5 -20
  13. package/src/sap/fe/core/BaseController.ts +11 -2
  14. package/src/sap/fe/core/CommonUtils.js +770 -1079
  15. package/src/sap/fe/core/CommonUtils.ts +750 -491
  16. package/src/sap/fe/core/ExtensionAPI.js +69 -96
  17. package/src/sap/fe/core/ExtensionAPI.ts +15 -17
  18. package/src/sap/fe/core/PageController.js +21 -46
  19. package/src/sap/fe/core/PageController.ts +11 -2
  20. package/src/sap/fe/core/TemplateComponent.js +6 -51
  21. package/src/sap/fe/core/TemplateComponent.ts +27 -16
  22. package/src/sap/fe/core/TemplateModel.js +18 -24
  23. package/src/sap/fe/core/TemplateModel.ts +25 -6
  24. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +8 -23
  25. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +5 -4
  26. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +146 -180
  27. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +144 -57
  28. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js +1 -1
  29. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js +43 -0
  30. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.ts +11 -0
  31. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +436 -556
  32. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +288 -157
  33. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +215 -202
  34. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +93 -51
  35. package/src/sap/fe/core/controllerextensions/BusyLocker.js +11 -26
  36. package/src/sap/fe/core/controllerextensions/EditFlow.js +407 -596
  37. package/src/sap/fe/core/controllerextensions/EditFlow.ts +163 -56
  38. package/src/sap/fe/core/controllerextensions/Feedback.js +70 -0
  39. package/src/sap/fe/core/controllerextensions/Feedback.ts +64 -0
  40. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +12 -23
  41. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +1 -1
  42. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +127 -182
  43. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +65 -32
  44. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +96 -198
  45. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +4 -5
  46. package/src/sap/fe/core/controllerextensions/InternalRouting.js +134 -291
  47. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +21 -12
  48. package/src/sap/fe/core/controllerextensions/KPIManagement.js +111 -214
  49. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +44 -44
  50. package/src/sap/fe/core/controllerextensions/MassEdit.js +24 -44
  51. package/src/sap/fe/core/controllerextensions/MassEdit.ts +3 -2
  52. package/src/sap/fe/core/controllerextensions/MessageHandler.js +39 -52
  53. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +26 -7
  54. package/src/sap/fe/core/controllerextensions/PageReady.js +81 -119
  55. package/src/sap/fe/core/controllerextensions/PageReady.ts +36 -15
  56. package/src/sap/fe/core/controllerextensions/Paginator.js +16 -51
  57. package/src/sap/fe/core/controllerextensions/Paginator.ts +1 -3
  58. package/src/sap/fe/core/controllerextensions/Placeholder.js +7 -33
  59. package/src/sap/fe/core/controllerextensions/Routing.js +24 -32
  60. package/src/sap/fe/core/controllerextensions/Routing.ts +6 -1
  61. package/src/sap/fe/core/controllerextensions/RoutingListener.js +1 -1
  62. package/src/sap/fe/core/controllerextensions/Share.js +53 -98
  63. package/src/sap/fe/core/controllerextensions/Share.ts +6 -3
  64. package/src/sap/fe/core/controllerextensions/SideEffects.js +103 -174
  65. package/src/sap/fe/core/controllerextensions/SideEffects.ts +37 -22
  66. package/src/sap/fe/core/controllerextensions/ViewState.js +341 -276
  67. package/src/sap/fe/core/controllerextensions/ViewState.ts +236 -84
  68. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +6 -22
  69. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -2
  70. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +66 -88
  71. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +64 -17
  72. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +28 -34
  73. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +22 -1
  74. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +69 -65
  75. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +31 -12
  76. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +15 -13
  77. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +273 -906
  78. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +142 -420
  79. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +49 -115
  80. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +12 -7
  81. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +70 -89
  82. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +313 -320
  83. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +582 -683
  84. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +507 -386
  85. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +111 -102
  86. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +102 -79
  87. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +689 -154
  88. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +866 -31
  89. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js +24 -101
  90. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.ts +5 -5
  91. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +91 -217
  92. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +3 -20
  93. package/src/sap/fe/core/controls/ActionParameterDialogValueHelp.fragment.xml +1 -0
  94. package/src/sap/fe/core/controls/ActionPartial.fragment.xml +46 -46
  95. package/src/sap/fe/core/controls/Any.js +1 -1
  96. package/src/sap/fe/core/controls/AnyElement.js +1 -1
  97. package/src/sap/fe/core/controls/CommandExecution.js +4 -26
  98. package/src/sap/fe/core/controls/ConditionalWrapper.js +16 -33
  99. package/src/sap/fe/core/controls/ConditionalWrapper.ts +16 -2
  100. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +41 -94
  101. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +1 -1
  102. package/src/sap/fe/core/controls/CustomQuickViewPage.js +5 -34
  103. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +5 -7
  104. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +7 -7
  105. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +56 -58
  106. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +53 -33
  107. package/src/sap/fe/core/controls/FieldWrapper.js +6 -49
  108. package/src/sap/fe/core/controls/FileWrapper.js +51 -136
  109. package/src/sap/fe/core/controls/FileWrapper.ts +25 -29
  110. package/src/sap/fe/core/controls/FilterBar.js +19 -54
  111. package/src/sap/fe/core/controls/FormElementWrapper.js +1 -22
  112. package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
  113. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +1 -5
  114. package/src/sap/fe/core/controls/MultiValueParameterDelegate.ts +2 -2
  115. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +24 -46
  116. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +14 -41
  117. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +4 -4
  118. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +26 -67
  119. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -20
  120. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +12 -48
  121. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +17 -46
  122. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +3 -3
  123. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +1 -0
  124. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +6 -78
  125. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +4 -4
  126. package/src/sap/fe/core/converters/ConverterContext.js +44 -98
  127. package/src/sap/fe/core/converters/ConverterContext.ts +1 -1
  128. package/src/sap/fe/core/converters/ManifestSettings.js +1 -20
  129. package/src/sap/fe/core/converters/ManifestSettings.ts +16 -9
  130. package/src/sap/fe/core/converters/ManifestWrapper.js +97 -158
  131. package/src/sap/fe/core/converters/ManifestWrapper.ts +4 -0
  132. package/src/sap/fe/core/converters/MetaModelConverter.js +28 -167
  133. package/src/sap/fe/core/converters/MetaModelConverter.ts +9 -3
  134. package/src/sap/fe/core/converters/TemplateConverter.js +10 -22
  135. package/src/sap/fe/core/converters/TemplateConverter.ts +10 -7
  136. package/src/sap/fe/core/converters/annotations/DataField.js +88 -132
  137. package/src/sap/fe/core/converters/annotations/DataField.ts +90 -38
  138. package/src/sap/fe/core/converters/common/AnnotationConverter.js +57 -379
  139. package/src/sap/fe/core/converters/controls/Common/Action.js +45 -115
  140. package/src/sap/fe/core/converters/controls/Common/Action.ts +17 -5
  141. package/src/sap/fe/core/converters/controls/Common/Chart.js +20 -73
  142. package/src/sap/fe/core/converters/controls/Common/Chart.ts +21 -14
  143. package/src/sap/fe/core/converters/controls/Common/Criticality.js +1 -9
  144. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +40 -94
  145. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +44 -31
  146. package/src/sap/fe/core/converters/controls/Common/Form.js +26 -63
  147. package/src/sap/fe/core/converters/controls/Common/Form.ts +24 -10
  148. package/src/sap/fe/core/converters/controls/Common/KPI.js +13 -63
  149. package/src/sap/fe/core/converters/controls/Common/Table.js +368 -707
  150. package/src/sap/fe/core/converters/controls/Common/Table.ts +308 -197
  151. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +54 -109
  152. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +15 -9
  153. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +69 -210
  154. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +23 -16
  155. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +12 -80
  156. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +3 -1
  157. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +1 -19
  158. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +45 -136
  159. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +10 -10
  160. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +82 -173
  161. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +48 -22
  162. package/src/sap/fe/core/converters/helpers/Aggregation.js +24 -66
  163. package/src/sap/fe/core/converters/helpers/Aggregation.ts +3 -7
  164. package/src/sap/fe/core/converters/helpers/BindingHelper.js +9 -19
  165. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +0 -1
  166. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +20 -48
  167. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +5 -1
  168. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +12 -51
  169. package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +13 -11
  170. package/src/sap/fe/core/converters/helpers/ID.js +3 -17
  171. package/src/sap/fe/core/converters/helpers/ID.ts +2 -3
  172. package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -6
  173. package/src/sap/fe/core/converters/helpers/Key.js +10 -19
  174. package/src/sap/fe/core/converters/helpers/Key.ts +3 -3
  175. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +2 -20
  176. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +2 -37
  177. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +126 -131
  178. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +112 -31
  179. package/src/sap/fe/core/converters/templates/ListReportConverter.js +67 -131
  180. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +58 -27
  181. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +106 -183
  182. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +73 -104
  183. package/src/sap/fe/core/designtime/AppComponent.designtime.js +74 -67
  184. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +77 -69
  185. package/src/sap/fe/core/formatters/CollaborationFormatter.js +20 -29
  186. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +21 -0
  187. package/src/sap/fe/core/formatters/FPMFormatter.js +3 -7
  188. package/src/sap/fe/core/formatters/KPIFormatter.js +5 -13
  189. package/src/sap/fe/core/formatters/StandardFormatter.js +3 -18
  190. package/src/sap/fe/core/formatters/StandardFormatter.ts +3 -2
  191. package/src/sap/fe/core/formatters/TableFormatter.js +87 -53
  192. package/src/sap/fe/core/formatters/TableFormatter.ts +96 -9
  193. package/src/sap/fe/core/formatters/TableFormatterTypes.js +1 -4
  194. package/src/sap/fe/core/formatters/ValueFormatter.js +1 -37
  195. package/src/sap/fe/core/fpm/Component.js +2 -17
  196. package/src/sap/fe/core/helpers/AnnotationEnum.js +10 -20
  197. package/src/sap/fe/core/helpers/AnnotationEnum.ts +6 -6
  198. package/src/sap/fe/core/helpers/AppStartupHelper.js +16 -52
  199. package/src/sap/fe/core/helpers/AppStartupHelper.ts +1 -1
  200. package/src/sap/fe/core/helpers/BindingToolkit.js +106 -364
  201. package/src/sap/fe/core/helpers/BindingToolkit.ts +30 -7
  202. package/src/sap/fe/core/helpers/ClassSupport.js +16 -97
  203. package/src/sap/fe/core/helpers/ClassSupport.ts +7 -4
  204. package/src/sap/fe/core/helpers/DeleteHelper.js +621 -0
  205. package/src/sap/fe/core/helpers/DeleteHelper.ts +796 -0
  206. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +1 -12
  207. package/src/sap/fe/core/helpers/EditState.js +2 -5
  208. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +1 -10
  209. package/src/sap/fe/core/helpers/FPMHelper.js +3 -8
  210. package/src/sap/fe/core/helpers/FPMHelper.ts +2 -1
  211. package/src/sap/fe/core/helpers/KeepAliveHelper.js +8 -38
  212. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +1 -5
  213. package/src/sap/fe/core/helpers/LoaderUtils.js +1 -7
  214. package/src/sap/fe/core/helpers/MassEditHelper.js +177 -289
  215. package/src/sap/fe/core/helpers/MassEditHelper.ts +124 -91
  216. package/src/sap/fe/core/helpers/MessageStrip.js +12 -28
  217. package/src/sap/fe/core/helpers/MessageStrip.ts +7 -7
  218. package/src/sap/fe/core/helpers/ModelHelper.js +62 -103
  219. package/src/sap/fe/core/helpers/ModelHelper.ts +58 -20
  220. package/src/sap/fe/core/helpers/PasteHelper.js +28 -51
  221. package/src/sap/fe/core/helpers/PasteHelper.ts +10 -9
  222. package/src/sap/fe/core/helpers/SemanticDateOperators.js +112 -136
  223. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +111 -111
  224. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +5 -11
  225. package/src/sap/fe/core/helpers/SideEffectsHelper.js +26 -32
  226. package/src/sap/fe/core/helpers/StableIdHelper.js +166 -218
  227. package/src/sap/fe/core/helpers/StableIdHelper.ts +175 -191
  228. package/src/sap/fe/core/helpers/Synchronization.js +1 -8
  229. package/src/sap/fe/core/helpers/ToES6Promise.js +1 -4
  230. package/src/sap/fe/core/helpers/TypeGuards.js +22 -0
  231. package/src/sap/fe/core/helpers/TypeGuards.ts +9 -0
  232. package/src/sap/fe/core/jsx-runtime/Fragment.js +1 -3
  233. package/src/sap/fe/core/jsx-runtime/ViewLoader.js +3 -23
  234. package/src/sap/fe/core/jsx-runtime/jsx-control.js +3 -23
  235. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +2 -1
  236. package/src/sap/fe/core/jsx-runtime/jsx-xml.js +4 -16
  237. package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +1 -1
  238. package/src/sap/fe/core/jsx-runtime/jsx.js +2 -5
  239. package/src/sap/fe/core/jsx-runtime/jsxs.js +1 -1
  240. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +4 -27
  241. package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +1 -1
  242. package/src/sap/fe/core/library.js +9 -48
  243. package/src/sap/fe/core/library.support.js +3 -2
  244. package/src/sap/fe/core/library.support.ts +3 -1
  245. package/src/sap/fe/core/library.ts +3 -8
  246. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +74 -39
  247. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +71 -26
  248. package/src/sap/fe/core/messagebundle.properties +113 -67
  249. package/src/sap/fe/core/messagebundle_ar.properties +20 -3
  250. package/src/sap/fe/core/messagebundle_bg.properties +22 -5
  251. package/src/sap/fe/core/messagebundle_ca.properties +21 -4
  252. package/src/sap/fe/core/messagebundle_cs.properties +21 -4
  253. package/src/sap/fe/core/messagebundle_cy.properties +22 -5
  254. package/src/sap/fe/core/messagebundle_da.properties +20 -3
  255. package/src/sap/fe/core/messagebundle_de.properties +38 -21
  256. package/src/sap/fe/core/messagebundle_el.properties +20 -3
  257. package/src/sap/fe/core/messagebundle_en.properties +38 -21
  258. package/src/sap/fe/core/messagebundle_en_GB.properties +20 -3
  259. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +41 -28
  260. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +41 -24
  261. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +42 -29
  262. package/src/sap/fe/core/messagebundle_es.properties +40 -23
  263. package/src/sap/fe/core/messagebundle_es_MX.properties +20 -3
  264. package/src/sap/fe/core/messagebundle_et.properties +20 -3
  265. package/src/sap/fe/core/messagebundle_fi.properties +20 -3
  266. package/src/sap/fe/core/messagebundle_fr.properties +21 -4
  267. package/src/sap/fe/core/messagebundle_fr_CA.properties +22 -5
  268. package/src/sap/fe/core/messagebundle_hi.properties +20 -3
  269. package/src/sap/fe/core/messagebundle_hr.properties +22 -5
  270. package/src/sap/fe/core/messagebundle_hu.properties +20 -3
  271. package/src/sap/fe/core/messagebundle_id.properties +20 -3
  272. package/src/sap/fe/core/messagebundle_it.properties +23 -6
  273. package/src/sap/fe/core/messagebundle_iw.properties +20 -3
  274. package/src/sap/fe/core/messagebundle_ja.properties +22 -5
  275. package/src/sap/fe/core/messagebundle_kk.properties +21 -4
  276. package/src/sap/fe/core/messagebundle_ko.properties +20 -3
  277. package/src/sap/fe/core/messagebundle_lt.properties +20 -3
  278. package/src/sap/fe/core/messagebundle_lv.properties +20 -3
  279. package/src/sap/fe/core/messagebundle_ms.properties +20 -3
  280. package/src/sap/fe/core/messagebundle_nl.properties +20 -3
  281. package/src/sap/fe/core/messagebundle_no.properties +20 -3
  282. package/src/sap/fe/core/messagebundle_pl.properties +21 -4
  283. package/src/sap/fe/core/messagebundle_pt.properties +20 -3
  284. package/src/sap/fe/core/messagebundle_pt_PT.properties +20 -3
  285. package/src/sap/fe/core/messagebundle_ro.properties +20 -3
  286. package/src/sap/fe/core/messagebundle_ru.properties +20 -3
  287. package/src/sap/fe/core/messagebundle_sh.properties +20 -3
  288. package/src/sap/fe/core/messagebundle_sk.properties +20 -3
  289. package/src/sap/fe/core/messagebundle_sl.properties +26 -9
  290. package/src/sap/fe/core/messagebundle_sv.properties +20 -3
  291. package/src/sap/fe/core/messagebundle_th.properties +21 -4
  292. package/src/sap/fe/core/messagebundle_tr.properties +20 -3
  293. package/src/sap/fe/core/messagebundle_uk.properties +23 -6
  294. package/src/sap/fe/core/messagebundle_vi.properties +20 -3
  295. package/src/sap/fe/core/messagebundle_zh_CN.properties +20 -3
  296. package/src/sap/fe/core/messagebundle_zh_TW.properties +20 -3
  297. package/src/sap/fe/core/operationsHelper.js +74 -101
  298. package/src/sap/fe/core/operationsHelper.ts +113 -44
  299. package/src/sap/fe/core/rootView/Fcl.controller.js +151 -228
  300. package/src/sap/fe/core/rootView/Fcl.controller.ts +90 -15
  301. package/src/sap/fe/core/rootView/Fcl.view.xml +1 -8
  302. package/src/sap/fe/core/rootView/NavContainer.controller.js +41 -78
  303. package/src/sap/fe/core/rootView/NavContainer.controller.ts +32 -38
  304. package/src/sap/fe/core/rootView/RootViewBaseController.js +110 -181
  305. package/src/sap/fe/core/rootView/RootViewBaseController.ts +37 -17
  306. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +1 -18
  307. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +13 -52
  308. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -22
  309. package/src/sap/fe/core/services/NavigationServiceFactory.js +45 -87
  310. package/src/sap/fe/core/services/NavigationServiceFactory.ts +17 -10
  311. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +4 -28
  312. package/src/sap/fe/core/services/RoutingServiceFactory.js +92 -250
  313. package/src/sap/fe/core/services/RoutingServiceFactory.ts +8 -12
  314. package/src/sap/fe/core/services/ShellServicesFactory.js +122 -251
  315. package/src/sap/fe/core/services/ShellServicesFactory.ts +19 -4
  316. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +188 -273
  317. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +143 -154
  318. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +37 -135
  319. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +59 -94
  320. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +2 -16
  321. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +1 -1
  322. package/src/sap/fe/core/support/AnnotationIssue.support.js +6 -9
  323. package/src/sap/fe/core/support/AnnotationIssue.support.ts +4 -4
  324. package/src/sap/fe/core/support/CollectionFacetMissingID.support.js +6 -9
  325. package/src/sap/fe/core/support/CollectionFacetMissingID.support.ts +3 -3
  326. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +6 -9
  327. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.ts +3 -3
  328. package/src/sap/fe/core/support/CommonHelper.js +7 -16
  329. package/src/sap/fe/core/support/Diagnostics.js +1 -10
  330. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +6 -9
  331. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.ts +3 -3
  332. package/src/sap/fe/core/templating/CommonFormatters.js +1 -15
  333. package/src/sap/fe/core/templating/CriticalityFormatters.js +4 -20
  334. package/src/sap/fe/core/templating/DataFieldFormatters.js +1 -20
  335. package/src/sap/fe/core/templating/DataModelPathHelper.js +49 -121
  336. package/src/sap/fe/core/templating/DataModelPathHelper.ts +41 -31
  337. package/src/sap/fe/core/templating/DisplayModeFormatter.js +8 -15
  338. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +7 -7
  339. package/src/sap/fe/core/templating/EntitySetHelper.js +6 -31
  340. package/src/sap/fe/core/templating/FieldControlHelper.js +4 -21
  341. package/src/sap/fe/core/templating/FieldControlHelper.ts +1 -1
  342. package/src/sap/fe/core/templating/FilterHelper.js +40 -111
  343. package/src/sap/fe/core/templating/FilterHelper.ts +20 -16
  344. package/src/sap/fe/core/templating/FilterTemplating.js +1 -19
  345. package/src/sap/fe/core/templating/FilterTemplating.ts +1 -1
  346. package/src/sap/fe/core/templating/PropertyFormatters.js +1 -34
  347. package/src/sap/fe/core/templating/PropertyHelper.js +120 -163
  348. package/src/sap/fe/core/templating/PropertyHelper.ts +69 -33
  349. package/src/sap/fe/core/templating/SemanticObjectHelper.js +46 -0
  350. package/src/sap/fe/core/templating/SemanticObjectHelper.ts +34 -0
  351. package/src/sap/fe/core/templating/UIFormatters.js +40 -180
  352. package/src/sap/fe/core/templating/UIFormatters.ts +37 -43
  353. package/src/sap/fe/core/type/DateTimeWithTimezone.js +3 -14
  354. package/src/sap/fe/core/type/Email.js +1 -10
  355. package/src/sap/fe/core/type/TypeUtil.js +1 -11
  356. package/ui5.yaml +0 -1
  357. package/src/sap/fe/core/controls/ActionParameterDialogFieldValueHelp.fragment.xml +0 -35
  358. package/src/sap/fe/core/helpers/LRMessageStrip.js +0 -234
  359. package/src/sap/fe/core/helpers/LRMessageStrip.ts +0 -216
@@ -6,76 +6,70 @@ sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/ui/base/Object", "sap/ui
6
6
  "use strict";
7
7
 
8
8
  var _dec, _class;
9
-
10
9
  var defineUI5Class = ClassSupport.defineUI5Class;
11
-
12
10
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
13
-
14
11
  function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
15
-
16
12
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
17
-
18
13
  var TemplateModel = (_dec = defineUI5Class("sap.fe.core.TemplateModel"), _dec(_class = /*#__PURE__*/function (_BaseObject) {
19
14
  _inheritsLoose(TemplateModel, _BaseObject);
20
-
21
15
  function TemplateModel(pageConfig, oMetaModel) {
22
16
  var _this;
23
-
24
17
  _this = _BaseObject.call(this) || this;
25
18
  _this.oMetaModel = oMetaModel;
26
- _this.oConfigModel = new JSONModel(); // don't limit aggregation bindings
27
-
19
+ _this.oConfigModel = new JSONModel();
20
+ // don't limit aggregation bindings
28
21
  _this.oConfigModel.setSizeLimit(Number.MAX_VALUE);
29
-
30
- _this.bConfigLoaded = false; // eslint-disable-next-line @typescript-eslint/no-this-alias
31
-
22
+ _this.bConfigLoaded = false;
23
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
32
24
  var that = _assertThisInitialized(_this);
33
-
34
25
  if (typeof pageConfig === "function") {
35
26
  var fnGetObject = _this.oConfigModel._getObject.bind(_this.oConfigModel);
36
-
37
27
  _this.oConfigModel._getObject = function (sPath, oContext) {
38
28
  if (!that.bConfigLoaded) {
39
29
  this.setData(pageConfig());
40
- that.bConfigLoaded = true;
41
30
  }
42
-
43
31
  return fnGetObject(sPath, oContext);
44
32
  };
45
33
  } else {
46
34
  _this.oConfigModel.setData(pageConfig);
47
35
  }
48
-
49
36
  _this.fnCreateMetaBindingContext = _this.oMetaModel.createBindingContext.bind(_this.oMetaModel);
50
37
  _this.fnCreateConfigBindingContext = _this.oConfigModel.createBindingContext.bind(_this.oConfigModel);
38
+ _this.fnSetData = _this.oConfigModel.setData.bind(_this.oConfigModel);
51
39
  _this.oConfigModel.createBindingContext = _this.createBindingContext.bind(_assertThisInitialized(_this));
40
+ _this.oConfigModel.setData = _this.setData.bind(_assertThisInitialized(_this));
41
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
42
+ // @ts-ignore
52
43
  return _this.oConfigModel || _assertThisInitialized(_this);
53
44
  }
54
45
 
46
+ /**
47
+ * Overwrite the standard setData to keep track whether the external configuration has been loaded or not.
48
+ *
49
+ * @param dataToSet The data to set to the json model containing the configuration
50
+ */
55
51
  var _proto = TemplateModel.prototype;
56
-
52
+ _proto.setData = function setData(dataToSet) {
53
+ this.fnSetData(dataToSet);
54
+ this.bConfigLoaded = true;
55
+ };
57
56
  _proto.createBindingContext = function createBindingContext(sPath, oContext, mParameters, fnCallBack) {
58
57
  var _oBindingContext;
59
-
60
58
  var oBindingContext;
61
59
  var bNoResolve = mParameters && mParameters.noResolve;
62
60
  oBindingContext = this.fnCreateConfigBindingContext(sPath, oContext, mParameters, fnCallBack);
63
61
  var sResolvedPath = !bNoResolve && ((_oBindingContext = oBindingContext) === null || _oBindingContext === void 0 ? void 0 : _oBindingContext.getObject());
64
-
65
62
  if (sResolvedPath && typeof sResolvedPath === "string") {
66
63
  oBindingContext = this.fnCreateMetaBindingContext(sResolvedPath, oContext, mParameters, fnCallBack);
67
64
  }
68
-
69
65
  return oBindingContext;
70
66
  };
71
-
72
67
  _proto.destroy = function destroy() {
73
68
  this.oConfigModel.destroy();
74
69
  JSONModel.prototype.destroy.apply(this);
75
70
  };
76
-
77
71
  return TemplateModel;
78
72
  }(BaseObject)) || _class);
79
73
  return TemplateModel;
80
74
  }, false);
81
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZU1vZGVsIiwiZGVmaW5lVUk1Q2xhc3MiLCJwYWdlQ29uZmlnIiwib01ldGFNb2RlbCIsIm9Db25maWdNb2RlbCIsIkpTT05Nb2RlbCIsInNldFNpemVMaW1pdCIsIk51bWJlciIsIk1BWF9WQUxVRSIsImJDb25maWdMb2FkZWQiLCJ0aGF0IiwiZm5HZXRPYmplY3QiLCJfZ2V0T2JqZWN0IiwiYmluZCIsInNQYXRoIiwib0NvbnRleHQiLCJzZXREYXRhIiwiZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsImZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQiLCJtUGFyYW1ldGVycyIsImZuQ2FsbEJhY2siLCJvQmluZGluZ0NvbnRleHQiLCJiTm9SZXNvbHZlIiwibm9SZXNvbHZlIiwic1Jlc29sdmVkUGF0aCIsImdldE9iamVjdCIsImRlc3Ryb3kiLCJwcm90b3R5cGUiLCJhcHBseSIsIkJhc2VPYmplY3QiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbXBsYXRlTW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBCYXNlT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9PYmplY3RcIjtcbmltcG9ydCBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1ldGFNb2RlbFwiO1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5UZW1wbGF0ZU1vZGVsXCIpXG5jbGFzcyBUZW1wbGF0ZU1vZGVsIGV4dGVuZHMgQmFzZU9iamVjdCB7XG5cdHB1YmxpYyBvTWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbDtcblx0cHVibGljIG9Db25maWdNb2RlbDogYW55O1xuXHRwdWJsaWMgYkNvbmZpZ0xvYWRlZDogYm9vbGVhbjtcblx0cHVibGljIGZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0OiBGdW5jdGlvbjtcblx0cHVibGljIGZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQ6IEZ1bmN0aW9uO1xuXG5cdGNvbnN0cnVjdG9yKHBhZ2VDb25maWc6IGFueSwgb01ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwpIHtcblx0XHRzdXBlcigpO1xuXHRcdHRoaXMub01ldGFNb2RlbCA9IG9NZXRhTW9kZWw7XG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwgPSBuZXcgSlNPTk1vZGVsKCk7XG5cdFx0Ly8gZG9uJ3QgbGltaXQgYWdncmVnYXRpb24gYmluZGluZ3Ncblx0XHR0aGlzLm9Db25maWdNb2RlbC5zZXRTaXplTGltaXQoTnVtYmVyLk1BWF9WQUxVRSk7XG5cdFx0dGhpcy5iQ29uZmlnTG9hZGVkID0gZmFsc2U7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cblx0XHRpZiAodHlwZW9mIHBhZ2VDb25maWcgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0Y29uc3QgZm5HZXRPYmplY3QgPSB0aGlzLm9Db25maWdNb2RlbC5fZ2V0T2JqZWN0LmJpbmQodGhpcy5vQ29uZmlnTW9kZWwpO1xuXHRcdFx0dGhpcy5vQ29uZmlnTW9kZWwuX2dldE9iamVjdCA9IGZ1bmN0aW9uIChzUGF0aDogYW55LCBvQ29udGV4dDogYW55KSB7XG5cdFx0XHRcdGlmICghdGhhdC5iQ29uZmlnTG9hZGVkKSB7XG5cdFx0XHRcdFx0dGhpcy5zZXREYXRhKHBhZ2VDb25maWcoKSk7XG5cdFx0XHRcdFx0dGhhdC5iQ29uZmlnTG9hZGVkID0gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gZm5HZXRPYmplY3Qoc1BhdGgsIG9Db250ZXh0KTtcblx0XHRcdH07XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMub0NvbmZpZ01vZGVsLnNldERhdGEocGFnZUNvbmZpZyk7XG5cdFx0fVxuXG5cdFx0dGhpcy5mbkNyZWF0ZU1ldGFCaW5kaW5nQ29udGV4dCA9IHRoaXMub01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dC5iaW5kKHRoaXMub01ldGFNb2RlbCk7XG5cdFx0dGhpcy5mbkNyZWF0ZUNvbmZpZ0JpbmRpbmdDb250ZXh0ID0gdGhpcy5vQ29uZmlnTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQuYmluZCh0aGlzLm9Db25maWdNb2RlbCk7XG5cblx0XHR0aGlzLm9Db25maWdNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dCA9IHRoaXMuY3JlYXRlQmluZGluZ0NvbnRleHQuYmluZCh0aGlzKTtcblx0XHRyZXR1cm4gdGhpcy5vQ29uZmlnTW9kZWw7XG5cdH1cblxuXHRjcmVhdGVCaW5kaW5nQ29udGV4dChzUGF0aDogYW55LCBvQ29udGV4dD86IGFueSwgbVBhcmFtZXRlcnM/OiBhbnksIGZuQ2FsbEJhY2s/OiBhbnkpIHtcblx0XHRsZXQgb0JpbmRpbmdDb250ZXh0O1xuXHRcdGNvbnN0IGJOb1Jlc29sdmUgPSBtUGFyYW1ldGVycyAmJiBtUGFyYW1ldGVycy5ub1Jlc29sdmU7XG5cblx0XHRvQmluZGluZ0NvbnRleHQgPSB0aGlzLmZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQoc1BhdGgsIG9Db250ZXh0LCBtUGFyYW1ldGVycywgZm5DYWxsQmFjayk7XG5cdFx0Y29uc3Qgc1Jlc29sdmVkUGF0aCA9ICFiTm9SZXNvbHZlICYmIG9CaW5kaW5nQ29udGV4dD8uZ2V0T2JqZWN0KCk7XG5cdFx0aWYgKHNSZXNvbHZlZFBhdGggJiYgdHlwZW9mIHNSZXNvbHZlZFBhdGggPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdG9CaW5kaW5nQ29udGV4dCA9IHRoaXMuZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQoc1Jlc29sdmVkUGF0aCwgb0NvbnRleHQsIG1QYXJhbWV0ZXJzLCBmbkNhbGxCYWNrKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gb0JpbmRpbmdDb250ZXh0O1xuXHR9XG5cblx0ZGVzdHJveSgpIHtcblx0XHR0aGlzLm9Db25maWdNb2RlbC5kZXN0cm95KCk7XG5cdFx0SlNPTk1vZGVsLnByb3RvdHlwZS5kZXN0cm95LmFwcGx5KHRoaXMpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRlbXBsYXRlTW9kZWw7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7O01BTU1BLGEsV0FETEMsY0FBYyxDQUFDLDJCQUFELEM7OztJQVFkLHVCQUFZQyxVQUFaLEVBQTZCQyxVQUE3QixFQUF5RDtNQUFBOztNQUN4RDtNQUNBLE1BQUtBLFVBQUwsR0FBa0JBLFVBQWxCO01BQ0EsTUFBS0MsWUFBTCxHQUFvQixJQUFJQyxTQUFKLEVBQXBCLENBSHdELENBSXhEOztNQUNBLE1BQUtELFlBQUwsQ0FBa0JFLFlBQWxCLENBQStCQyxNQUFNLENBQUNDLFNBQXRDOztNQUNBLE1BQUtDLGFBQUwsR0FBcUIsS0FBckIsQ0FOd0QsQ0FPeEQ7O01BQ0EsSUFBTUMsSUFBSSxnQ0FBVjs7TUFFQSxJQUFJLE9BQU9SLFVBQVAsS0FBc0IsVUFBMUIsRUFBc0M7UUFDckMsSUFBTVMsV0FBVyxHQUFHLE1BQUtQLFlBQUwsQ0FBa0JRLFVBQWxCLENBQTZCQyxJQUE3QixDQUFrQyxNQUFLVCxZQUF2QyxDQUFwQjs7UUFDQSxNQUFLQSxZQUFMLENBQWtCUSxVQUFsQixHQUErQixVQUFVRSxLQUFWLEVBQXNCQyxRQUF0QixFQUFxQztVQUNuRSxJQUFJLENBQUNMLElBQUksQ0FBQ0QsYUFBVixFQUF5QjtZQUN4QixLQUFLTyxPQUFMLENBQWFkLFVBQVUsRUFBdkI7WUFDQVEsSUFBSSxDQUFDRCxhQUFMLEdBQXFCLElBQXJCO1VBQ0E7O1VBQ0QsT0FBT0UsV0FBVyxDQUFDRyxLQUFELEVBQVFDLFFBQVIsQ0FBbEI7UUFDQSxDQU5EO01BT0EsQ0FURCxNQVNPO1FBQ04sTUFBS1gsWUFBTCxDQUFrQlksT0FBbEIsQ0FBMEJkLFVBQTFCO01BQ0E7O01BRUQsTUFBS2UsMEJBQUwsR0FBa0MsTUFBS2QsVUFBTCxDQUFnQmUsb0JBQWhCLENBQXFDTCxJQUFyQyxDQUEwQyxNQUFLVixVQUEvQyxDQUFsQztNQUNBLE1BQUtnQiw0QkFBTCxHQUFvQyxNQUFLZixZQUFMLENBQWtCYyxvQkFBbEIsQ0FBdUNMLElBQXZDLENBQTRDLE1BQUtULFlBQWpELENBQXBDO01BRUEsTUFBS0EsWUFBTCxDQUFrQmMsb0JBQWxCLEdBQXlDLE1BQUtBLG9CQUFMLENBQTBCTCxJQUExQiwrQkFBekM7TUFDQSxPQUFPLE1BQUtULFlBQVo7SUFDQTs7OztXQUVEYyxvQixHQUFBLDhCQUFxQkosS0FBckIsRUFBaUNDLFFBQWpDLEVBQWlESyxXQUFqRCxFQUFvRUMsVUFBcEUsRUFBc0Y7TUFBQTs7TUFDckYsSUFBSUMsZUFBSjtNQUNBLElBQU1DLFVBQVUsR0FBR0gsV0FBVyxJQUFJQSxXQUFXLENBQUNJLFNBQTlDO01BRUFGLGVBQWUsR0FBRyxLQUFLSCw0QkFBTCxDQUFrQ0wsS0FBbEMsRUFBeUNDLFFBQXpDLEVBQW1ESyxXQUFuRCxFQUFnRUMsVUFBaEUsQ0FBbEI7TUFDQSxJQUFNSSxhQUFhLEdBQUcsQ0FBQ0YsVUFBRCx5QkFBZUQsZUFBZixxREFBZSxpQkFBaUJJLFNBQWpCLEVBQWYsQ0FBdEI7O01BQ0EsSUFBSUQsYUFBYSxJQUFJLE9BQU9BLGFBQVAsS0FBeUIsUUFBOUMsRUFBd0Q7UUFDdkRILGVBQWUsR0FBRyxLQUFLTCwwQkFBTCxDQUFnQ1EsYUFBaEMsRUFBK0NWLFFBQS9DLEVBQXlESyxXQUF6RCxFQUFzRUMsVUFBdEUsQ0FBbEI7TUFDQTs7TUFFRCxPQUFPQyxlQUFQO0lBQ0EsQzs7V0FFREssTyxHQUFBLG1CQUFVO01BQ1QsS0FBS3ZCLFlBQUwsQ0FBa0J1QixPQUFsQjtNQUNBdEIsU0FBUyxDQUFDdUIsU0FBVixDQUFvQkQsT0FBcEIsQ0FBNEJFLEtBQTVCLENBQWtDLElBQWxDO0lBQ0EsQzs7O0lBckQwQkMsVTtTQXdEYjlCLGEifQ==
75
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZU1vZGVsIiwiZGVmaW5lVUk1Q2xhc3MiLCJwYWdlQ29uZmlnIiwib01ldGFNb2RlbCIsIm9Db25maWdNb2RlbCIsIkpTT05Nb2RlbCIsInNldFNpemVMaW1pdCIsIk51bWJlciIsIk1BWF9WQUxVRSIsImJDb25maWdMb2FkZWQiLCJ0aGF0IiwiZm5HZXRPYmplY3QiLCJfZ2V0T2JqZWN0IiwiYmluZCIsInNQYXRoIiwib0NvbnRleHQiLCJzZXREYXRhIiwiZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsImZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQiLCJmblNldERhdGEiLCJkYXRhVG9TZXQiLCJtUGFyYW1ldGVycyIsImZuQ2FsbEJhY2siLCJvQmluZGluZ0NvbnRleHQiLCJiTm9SZXNvbHZlIiwibm9SZXNvbHZlIiwic1Jlc29sdmVkUGF0aCIsImdldE9iamVjdCIsImRlc3Ryb3kiLCJwcm90b3R5cGUiLCJhcHBseSIsIkJhc2VPYmplY3QiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbXBsYXRlTW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBCYXNlT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9PYmplY3RcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcblxuLy8gV2UgYXJlIG92ZXJyaWRpbmcgaW50ZXJuYWwgZnJvbSB0aGUgSlNPTk1vZGVsIHNvIHRoaXMgbWFrZXMgc2Vuc2VcbnR5cGUgSW50ZXJuYWxKU09OTW9kZWwgPSBKU09OTW9kZWwgJiB7XG5cdF9nZXRPYmplY3Qoc1BhdGg6IHN0cmluZywgb0NvbnRleHQ/OiBDb250ZXh0KTogb2JqZWN0O1xufTtcbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLlRlbXBsYXRlTW9kZWxcIilcbmNsYXNzIFRlbXBsYXRlTW9kZWwgZXh0ZW5kcyBCYXNlT2JqZWN0IHtcblx0cHVibGljIG9NZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsO1xuXHRwdWJsaWMgb0NvbmZpZ01vZGVsOiBKU09OTW9kZWw7XG5cdHB1YmxpYyBiQ29uZmlnTG9hZGVkOiBib29sZWFuO1xuXHRwdWJsaWMgZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQ6IEZ1bmN0aW9uO1xuXHRwdWJsaWMgZm5DcmVhdGVDb25maWdCaW5kaW5nQ29udGV4dDogRnVuY3Rpb247XG5cdHB1YmxpYyBmblNldERhdGE6IEZ1bmN0aW9uO1xuXG5cdGNvbnN0cnVjdG9yKHBhZ2VDb25maWc6IEZ1bmN0aW9uIHwgb2JqZWN0LCBvTWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5vTWV0YU1vZGVsID0gb01ldGFNb2RlbDtcblx0XHR0aGlzLm9Db25maWdNb2RlbCA9IG5ldyBKU09OTW9kZWwoKTtcblx0XHQvLyBkb24ndCBsaW1pdCBhZ2dyZWdhdGlvbiBiaW5kaW5nc1xuXHRcdHRoaXMub0NvbmZpZ01vZGVsLnNldFNpemVMaW1pdChOdW1iZXIuTUFYX1ZBTFVFKTtcblx0XHR0aGlzLmJDb25maWdMb2FkZWQgPSBmYWxzZTtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcblx0XHRjb25zdCB0aGF0ID0gdGhpcztcblxuXHRcdGlmICh0eXBlb2YgcGFnZUNvbmZpZyA9PT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0XHRjb25zdCBmbkdldE9iamVjdCA9ICh0aGlzLm9Db25maWdNb2RlbCBhcyBJbnRlcm5hbEpTT05Nb2RlbCkuX2dldE9iamVjdC5iaW5kKHRoaXMub0NvbmZpZ01vZGVsKTtcblx0XHRcdCh0aGlzLm9Db25maWdNb2RlbCBhcyBJbnRlcm5hbEpTT05Nb2RlbCkuX2dldE9iamVjdCA9IGZ1bmN0aW9uIChzUGF0aDogc3RyaW5nLCBvQ29udGV4dDogQ29udGV4dCkge1xuXHRcdFx0XHRpZiAoIXRoYXQuYkNvbmZpZ0xvYWRlZCkge1xuXHRcdFx0XHRcdHRoaXMuc2V0RGF0YShwYWdlQ29uZmlnKCkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBmbkdldE9iamVjdChzUGF0aCwgb0NvbnRleHQpO1xuXHRcdFx0fTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5vQ29uZmlnTW9kZWwuc2V0RGF0YShwYWdlQ29uZmlnKTtcblx0XHR9XG5cblx0XHR0aGlzLmZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0ID0gdGhpcy5vTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0LmJpbmQodGhpcy5vTWV0YU1vZGVsKTtcblx0XHR0aGlzLmZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQgPSB0aGlzLm9Db25maWdNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dC5iaW5kKHRoaXMub0NvbmZpZ01vZGVsKTtcblx0XHR0aGlzLmZuU2V0RGF0YSA9IHRoaXMub0NvbmZpZ01vZGVsLnNldERhdGEuYmluZCh0aGlzLm9Db25maWdNb2RlbCk7XG5cblx0XHR0aGlzLm9Db25maWdNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dCA9IHRoaXMuY3JlYXRlQmluZGluZ0NvbnRleHQuYmluZCh0aGlzKTtcblx0XHR0aGlzLm9Db25maWdNb2RlbC5zZXREYXRhID0gdGhpcy5zZXREYXRhLmJpbmQodGhpcyk7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRyZXR1cm4gdGhpcy5vQ29uZmlnTW9kZWw7XG5cdH1cblxuXHQvKipcblx0ICogT3ZlcndyaXRlIHRoZSBzdGFuZGFyZCBzZXREYXRhIHRvIGtlZXAgdHJhY2sgd2hldGhlciB0aGUgZXh0ZXJuYWwgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBsb2FkZWQgb3Igbm90LlxuXHQgKlxuXHQgKiBAcGFyYW0gZGF0YVRvU2V0IFRoZSBkYXRhIHRvIHNldCB0byB0aGUganNvbiBtb2RlbCBjb250YWluaW5nIHRoZSBjb25maWd1cmF0aW9uXG5cdCAqL1xuXHRzZXREYXRhKGRhdGFUb1NldDogb2JqZWN0KSB7XG5cdFx0dGhpcy5mblNldERhdGEoZGF0YVRvU2V0KTtcblx0XHR0aGlzLmJDb25maWdMb2FkZWQgPSB0cnVlO1xuXHR9XG5cblx0Y3JlYXRlQmluZGluZ0NvbnRleHQoc1BhdGg6IHN0cmluZywgb0NvbnRleHQ/OiBDb250ZXh0LCBtUGFyYW1ldGVycz86IHsgbm9SZXNvbHZlPzogYm9vbGVhbiB9LCBmbkNhbGxCYWNrPzogRnVuY3Rpb24pIHtcblx0XHRsZXQgb0JpbmRpbmdDb250ZXh0O1xuXHRcdGNvbnN0IGJOb1Jlc29sdmUgPSBtUGFyYW1ldGVycyAmJiBtUGFyYW1ldGVycy5ub1Jlc29sdmU7XG5cblx0XHRvQmluZGluZ0NvbnRleHQgPSB0aGlzLmZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQoc1BhdGgsIG9Db250ZXh0LCBtUGFyYW1ldGVycywgZm5DYWxsQmFjayk7XG5cdFx0Y29uc3Qgc1Jlc29sdmVkUGF0aCA9ICFiTm9SZXNvbHZlICYmIG9CaW5kaW5nQ29udGV4dD8uZ2V0T2JqZWN0KCk7XG5cdFx0aWYgKHNSZXNvbHZlZFBhdGggJiYgdHlwZW9mIHNSZXNvbHZlZFBhdGggPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdG9CaW5kaW5nQ29udGV4dCA9IHRoaXMuZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQoc1Jlc29sdmVkUGF0aCwgb0NvbnRleHQsIG1QYXJhbWV0ZXJzLCBmbkNhbGxCYWNrKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gb0JpbmRpbmdDb250ZXh0O1xuXHR9XG5cblx0ZGVzdHJveSgpIHtcblx0XHR0aGlzLm9Db25maWdNb2RlbC5kZXN0cm95KCk7XG5cdFx0SlNPTk1vZGVsLnByb3RvdHlwZS5kZXN0cm95LmFwcGx5KHRoaXMpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRlbXBsYXRlTW9kZWw7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7OztNQVdNQSxhQUFhLFdBRGxCQyxjQUFjLENBQUMsMkJBQTJCLENBQUM7SUFBQTtJQVMzQyx1QkFBWUMsVUFBNkIsRUFBRUMsVUFBMEIsRUFBRTtNQUFBO01BQ3RFLDhCQUFPO01BQ1AsTUFBS0EsVUFBVSxHQUFHQSxVQUFVO01BQzVCLE1BQUtDLFlBQVksR0FBRyxJQUFJQyxTQUFTLEVBQUU7TUFDbkM7TUFDQSxNQUFLRCxZQUFZLENBQUNFLFlBQVksQ0FBQ0MsTUFBTSxDQUFDQyxTQUFTLENBQUM7TUFDaEQsTUFBS0MsYUFBYSxHQUFHLEtBQUs7TUFDMUI7TUFDQSxJQUFNQyxJQUFJLGdDQUFPO01BRWpCLElBQUksT0FBT1IsVUFBVSxLQUFLLFVBQVUsRUFBRTtRQUNyQyxJQUFNUyxXQUFXLEdBQUksTUFBS1AsWUFBWSxDQUF1QlEsVUFBVSxDQUFDQyxJQUFJLENBQUMsTUFBS1QsWUFBWSxDQUFDO1FBQzlGLE1BQUtBLFlBQVksQ0FBdUJRLFVBQVUsR0FBRyxVQUFVRSxLQUFhLEVBQUVDLFFBQWlCLEVBQUU7VUFDakcsSUFBSSxDQUFDTCxJQUFJLENBQUNELGFBQWEsRUFBRTtZQUN4QixJQUFJLENBQUNPLE9BQU8sQ0FBQ2QsVUFBVSxFQUFFLENBQUM7VUFDM0I7VUFDQSxPQUFPUyxXQUFXLENBQUNHLEtBQUssRUFBRUMsUUFBUSxDQUFDO1FBQ3BDLENBQUM7TUFDRixDQUFDLE1BQU07UUFDTixNQUFLWCxZQUFZLENBQUNZLE9BQU8sQ0FBQ2QsVUFBVSxDQUFDO01BQ3RDO01BRUEsTUFBS2UsMEJBQTBCLEdBQUcsTUFBS2QsVUFBVSxDQUFDZSxvQkFBb0IsQ0FBQ0wsSUFBSSxDQUFDLE1BQUtWLFVBQVUsQ0FBQztNQUM1RixNQUFLZ0IsNEJBQTRCLEdBQUcsTUFBS2YsWUFBWSxDQUFDYyxvQkFBb0IsQ0FBQ0wsSUFBSSxDQUFDLE1BQUtULFlBQVksQ0FBQztNQUNsRyxNQUFLZ0IsU0FBUyxHQUFHLE1BQUtoQixZQUFZLENBQUNZLE9BQU8sQ0FBQ0gsSUFBSSxDQUFDLE1BQUtULFlBQVksQ0FBQztNQUVsRSxNQUFLQSxZQUFZLENBQUNjLG9CQUFvQixHQUFHLE1BQUtBLG9CQUFvQixDQUFDTCxJQUFJLCtCQUFNO01BQzdFLE1BQUtULFlBQVksQ0FBQ1ksT0FBTyxHQUFHLE1BQUtBLE9BQU8sQ0FBQ0gsSUFBSSwrQkFBTTtNQUNuRDtNQUNBO01BQ0EsT0FBTyxNQUFLVCxZQUFZO0lBQ3pCOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7SUFKQztJQUFBLE9BS0FZLE9BQU8sR0FBUCxpQkFBUUssU0FBaUIsRUFBRTtNQUMxQixJQUFJLENBQUNELFNBQVMsQ0FBQ0MsU0FBUyxDQUFDO01BQ3pCLElBQUksQ0FBQ1osYUFBYSxHQUFHLElBQUk7SUFDMUIsQ0FBQztJQUFBLE9BRURTLG9CQUFvQixHQUFwQiw4QkFBcUJKLEtBQWEsRUFBRUMsUUFBa0IsRUFBRU8sV0FBcUMsRUFBRUMsVUFBcUIsRUFBRTtNQUFBO01BQ3JILElBQUlDLGVBQWU7TUFDbkIsSUFBTUMsVUFBVSxHQUFHSCxXQUFXLElBQUlBLFdBQVcsQ0FBQ0ksU0FBUztNQUV2REYsZUFBZSxHQUFHLElBQUksQ0FBQ0wsNEJBQTRCLENBQUNMLEtBQUssRUFBRUMsUUFBUSxFQUFFTyxXQUFXLEVBQUVDLFVBQVUsQ0FBQztNQUM3RixJQUFNSSxhQUFhLEdBQUcsQ0FBQ0YsVUFBVSx5QkFBSUQsZUFBZSxxREFBZixpQkFBaUJJLFNBQVMsRUFBRTtNQUNqRSxJQUFJRCxhQUFhLElBQUksT0FBT0EsYUFBYSxLQUFLLFFBQVEsRUFBRTtRQUN2REgsZUFBZSxHQUFHLElBQUksQ0FBQ1AsMEJBQTBCLENBQUNVLGFBQWEsRUFBRVosUUFBUSxFQUFFTyxXQUFXLEVBQUVDLFVBQVUsQ0FBQztNQUNwRztNQUVBLE9BQU9DLGVBQWU7SUFDdkIsQ0FBQztJQUFBLE9BRURLLE9BQU8sR0FBUCxtQkFBVTtNQUNULElBQUksQ0FBQ3pCLFlBQVksQ0FBQ3lCLE9BQU8sRUFBRTtNQUMzQnhCLFNBQVMsQ0FBQ3lCLFNBQVMsQ0FBQ0QsT0FBTyxDQUFDRSxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3hDLENBQUM7SUFBQTtFQUFBLEVBbkUwQkMsVUFBVTtFQUFBLE9Bc0V2QmhDLGFBQWE7QUFBQSJ9
@@ -1,17 +1,23 @@
1
1
  import { defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
2
2
  import BaseObject from "sap/ui/base/Object";
3
+ import type Context from "sap/ui/model/Context";
3
4
  import JSONModel from "sap/ui/model/json/JSONModel";
4
5
  import type ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
5
6
 
7
+ // We are overriding internal from the JSONModel so this makes sense
8
+ type InternalJSONModel = JSONModel & {
9
+ _getObject(sPath: string, oContext?: Context): object;
10
+ };
6
11
  @defineUI5Class("sap.fe.core.TemplateModel")
7
12
  class TemplateModel extends BaseObject {
8
13
  public oMetaModel: ODataMetaModel;
9
- public oConfigModel: any;
14
+ public oConfigModel: JSONModel;
10
15
  public bConfigLoaded: boolean;
11
16
  public fnCreateMetaBindingContext: Function;
12
17
  public fnCreateConfigBindingContext: Function;
18
+ public fnSetData: Function;
13
19
 
14
- constructor(pageConfig: any, oMetaModel: ODataMetaModel) {
20
+ constructor(pageConfig: Function | object, oMetaModel: ODataMetaModel) {
15
21
  super();
16
22
  this.oMetaModel = oMetaModel;
17
23
  this.oConfigModel = new JSONModel();
@@ -22,11 +28,10 @@ class TemplateModel extends BaseObject {
22
28
  const that = this;
23
29
 
24
30
  if (typeof pageConfig === "function") {
25
- const fnGetObject = this.oConfigModel._getObject.bind(this.oConfigModel);
26
- this.oConfigModel._getObject = function (sPath: any, oContext: any) {
31
+ const fnGetObject = (this.oConfigModel as InternalJSONModel)._getObject.bind(this.oConfigModel);
32
+ (this.oConfigModel as InternalJSONModel)._getObject = function (sPath: string, oContext: Context) {
27
33
  if (!that.bConfigLoaded) {
28
34
  this.setData(pageConfig());
29
- that.bConfigLoaded = true;
30
35
  }
31
36
  return fnGetObject(sPath, oContext);
32
37
  };
@@ -36,12 +41,26 @@ class TemplateModel extends BaseObject {
36
41
 
37
42
  this.fnCreateMetaBindingContext = this.oMetaModel.createBindingContext.bind(this.oMetaModel);
38
43
  this.fnCreateConfigBindingContext = this.oConfigModel.createBindingContext.bind(this.oConfigModel);
44
+ this.fnSetData = this.oConfigModel.setData.bind(this.oConfigModel);
39
45
 
40
46
  this.oConfigModel.createBindingContext = this.createBindingContext.bind(this);
47
+ this.oConfigModel.setData = this.setData.bind(this);
48
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
49
+ // @ts-ignore
41
50
  return this.oConfigModel;
42
51
  }
43
52
 
44
- createBindingContext(sPath: any, oContext?: any, mParameters?: any, fnCallBack?: any) {
53
+ /**
54
+ * Overwrite the standard setData to keep track whether the external configuration has been loaded or not.
55
+ *
56
+ * @param dataToSet The data to set to the json model containing the configuration
57
+ */
58
+ setData(dataToSet: object) {
59
+ this.fnSetData(dataToSet);
60
+ this.bConfigLoaded = true;
61
+ }
62
+
63
+ createBindingContext(sPath: string, oContext?: Context, mParameters?: { noResolve?: boolean }, fnCallBack?: Function) {
45
64
  let oBindingContext;
46
65
  const bNoResolve = mParameters && mParameters.noResolve;
47
66
 
@@ -5,68 +5,53 @@
5
5
  sap.ui.define(["sap/base/Log", "sap/base/util/ObjectPath", "sap/ui/model/json/JSONModel"], function (Log, ObjectPath, JSONModel) {
6
6
  "use strict";
7
7
 
8
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9
-
10
8
  function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
11
-
12
9
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
13
-
14
10
  /**
15
11
  * Special JSONModel that is used to store the attribute model for the building block.
16
12
  * It has specific handling for undefinedValue mapping
17
13
  */
18
14
  var AttributeModel = /*#__PURE__*/function (_JSONModel) {
19
15
  _inheritsLoose(AttributeModel, _JSONModel);
20
-
21
16
  function AttributeModel(oNode, oProps, buildingBlockDefinition) {
22
17
  var _this;
23
-
24
18
  _this = _JSONModel.call(this) || this;
25
19
  _this.oNode = oNode;
26
20
  _this.oProps = oProps;
27
21
  _this.buildingBlockDefinition = buildingBlockDefinition;
28
- _assertThisInitialized(_this).$$valueAsPromise = true;
22
+ _this.$$valueAsPromise = true;
29
23
  return _this;
30
24
  }
31
-
32
25
  var _proto = AttributeModel.prototype;
33
-
34
26
  _proto._getObject = function _getObject(sPath, oContext) {
35
27
  if (sPath === undefined || sPath === "") {
36
28
  if (oContext !== undefined && oContext.getPath() !== "/") {
37
29
  return this._getObject(oContext.getPath(sPath));
38
30
  }
39
-
40
31
  return this.oProps;
41
32
  }
42
-
43
33
  if (sPath === "/undefinedValue" || sPath === "undefinedValue") {
44
34
  return undefined;
45
- } // just return the attribute - we can't validate them, and we don't support aggregations for now
46
-
47
-
35
+ }
36
+ // just return the attribute - we can't validate them, and we don't support aggregations for now
48
37
  var oValue = ObjectPath.get(sPath.replace(/\//g, "."), this.oProps);
49
-
50
38
  if (oValue !== undefined) {
51
39
  return oValue;
52
- } // Deal with undefined properties
53
-
54
-
40
+ }
41
+ // Deal with undefined properties
55
42
  if (this.oProps.hasOwnProperty(sPath)) {
56
43
  return this.oProps[sPath];
57
44
  }
58
-
59
45
  if (sPath.indexOf(":") === -1 && sPath.indexOf("/") === -1) {
60
46
  // Gloves are off, if you have this error you forgot to define your property on your metadata but are still using it in the underlying code
61
- Log.error("Missing property ".concat(sPath, " on building block metadata ").concat(this.buildingBlockDefinition.name)); //throw new Error(`Missing property ${sPath} on macro metadata ${this.buildingBlockDefinition.name}`);
47
+ Log.error("Missing property ".concat(sPath, " on building block metadata ").concat(this.buildingBlockDefinition.name));
48
+ //throw new Error(`Missing property ${sPath} on macro metadata ${this.buildingBlockDefinition.name}`);
62
49
  }
63
50
 
64
51
  return this.oNode.getAttribute(sPath);
65
52
  };
66
-
67
53
  return AttributeModel;
68
54
  }(JSONModel);
69
-
70
55
  return AttributeModel;
71
56
  }, false);
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBdHRyaWJ1dGVNb2RlbCIsIm9Ob2RlIiwib1Byb3BzIiwiYnVpbGRpbmdCbG9ja0RlZmluaXRpb24iLCIkJHZhbHVlQXNQcm9taXNlIiwiX2dldE9iamVjdCIsInNQYXRoIiwib0NvbnRleHQiLCJ1bmRlZmluZWQiLCJnZXRQYXRoIiwib1ZhbHVlIiwiT2JqZWN0UGF0aCIsImdldCIsInJlcGxhY2UiLCJoYXNPd25Qcm9wZXJ0eSIsImluZGV4T2YiLCJMb2ciLCJlcnJvciIsIm5hbWUiLCJnZXRBdHRyaWJ1dGUiLCJKU09OTW9kZWwiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkF0dHJpYnV0ZU1vZGVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IE9iamVjdFBhdGggZnJvbSBcInNhcC9iYXNlL3V0aWwvT2JqZWN0UGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBCdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrXCI7XG5pbXBvcnQgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcbmltcG9ydCBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuXG4vKipcbiAqIFNwZWNpYWwgSlNPTk1vZGVsIHRoYXQgaXMgdXNlZCB0byBzdG9yZSB0aGUgYXR0cmlidXRlIG1vZGVsIGZvciB0aGUgYnVpbGRpbmcgYmxvY2suXG4gKiBJdCBoYXMgc3BlY2lmaWMgaGFuZGxpbmcgZm9yIHVuZGVmaW5lZFZhbHVlIG1hcHBpbmdcbiAqL1xuY2xhc3MgQXR0cmlidXRlTW9kZWwgZXh0ZW5kcyBKU09OTW9kZWwge1xuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IG9Ob2RlOiBFbGVtZW50LFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgb1Byb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgYnVpbGRpbmdCbG9ja0RlZmluaXRpb246IEJ1aWxkaW5nQmxvY2tEZWZpbml0aW9uXG5cdCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0KHRoaXMgYXMgYW55KS4kJHZhbHVlQXNQcm9taXNlID0gdHJ1ZTtcblx0fVxuXHRfZ2V0T2JqZWN0KHNQYXRoOiBzdHJpbmcsIG9Db250ZXh0PzogQ29udGV4dCk6IGFueSB7XG5cdFx0aWYgKHNQYXRoID09PSB1bmRlZmluZWQgfHwgc1BhdGggPT09IFwiXCIpIHtcblx0XHRcdGlmIChvQ29udGV4dCAhPT0gdW5kZWZpbmVkICYmIG9Db250ZXh0LmdldFBhdGgoKSAhPT0gXCIvXCIpIHtcblx0XHRcdFx0cmV0dXJuIHRoaXMuX2dldE9iamVjdChvQ29udGV4dC5nZXRQYXRoKHNQYXRoKSk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdGhpcy5vUHJvcHM7XG5cdFx0fVxuXHRcdGlmIChzUGF0aCA9PT0gXCIvdW5kZWZpbmVkVmFsdWVcIiB8fCBzUGF0aCA9PT0gXCJ1bmRlZmluZWRWYWx1ZVwiKSB7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH1cblx0XHQvLyBqdXN0IHJldHVybiB0aGUgYXR0cmlidXRlIC0gd2UgY2FuJ3QgdmFsaWRhdGUgdGhlbSwgYW5kIHdlIGRvbid0IHN1cHBvcnQgYWdncmVnYXRpb25zIGZvciBub3dcblx0XHRjb25zdCBvVmFsdWUgPSBPYmplY3RQYXRoLmdldChzUGF0aC5yZXBsYWNlKC9cXC8vZywgXCIuXCIpLCB0aGlzLm9Qcm9wcyk7XG5cdFx0aWYgKG9WYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRyZXR1cm4gb1ZhbHVlO1xuXHRcdH1cblx0XHQvLyBEZWFsIHdpdGggdW5kZWZpbmVkIHByb3BlcnRpZXNcblx0XHRpZiAodGhpcy5vUHJvcHMuaGFzT3duUHJvcGVydHkoc1BhdGgpKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5vUHJvcHNbc1BhdGhdO1xuXHRcdH1cblx0XHRpZiAoc1BhdGguaW5kZXhPZihcIjpcIikgPT09IC0xICYmIHNQYXRoLmluZGV4T2YoXCIvXCIpID09PSAtMSkge1xuXHRcdFx0Ly8gR2xvdmVzIGFyZSBvZmYsIGlmIHlvdSBoYXZlIHRoaXMgZXJyb3IgeW91IGZvcmdvdCB0byBkZWZpbmUgeW91ciBwcm9wZXJ0eSBvbiB5b3VyIG1ldGFkYXRhIGJ1dCBhcmUgc3RpbGwgdXNpbmcgaXQgaW4gdGhlIHVuZGVybHlpbmcgY29kZVxuXHRcdFx0TG9nLmVycm9yKGBNaXNzaW5nIHByb3BlcnR5ICR7c1BhdGh9IG9uIGJ1aWxkaW5nIGJsb2NrIG1ldGFkYXRhICR7dGhpcy5idWlsZGluZ0Jsb2NrRGVmaW5pdGlvbi5uYW1lfWApO1xuXHRcdFx0Ly90aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgcHJvcGVydHkgJHtzUGF0aH0gb24gbWFjcm8gbWV0YWRhdGEgJHt0aGlzLmJ1aWxkaW5nQmxvY2tEZWZpbml0aW9uLm5hbWV9YCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLm9Ob2RlLmdldEF0dHJpYnV0ZShzUGF0aCk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQXR0cmlidXRlTW9kZWw7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7RUFNQTtBQUNBO0FBQ0E7QUFDQTtNQUNNQSxjOzs7SUFDTCx3QkFDa0JDLEtBRGxCLEVBRWtCQyxNQUZsQixFQUdrQkMsdUJBSGxCLEVBSUU7TUFBQTs7TUFDRDtNQURDLE1BSGdCRixLQUdoQixHQUhnQkEsS0FHaEI7TUFBQSxNQUZnQkMsTUFFaEIsR0FGZ0JBLE1BRWhCO01BQUEsTUFEZ0JDLHVCQUNoQixHQURnQkEsdUJBQ2hCO01BRUQsOEJBQWNDLGdCQUFkLEdBQWlDLElBQWpDO01BRkM7SUFHRDs7OztXQUNEQyxVLEdBQUEsb0JBQVdDLEtBQVgsRUFBMEJDLFFBQTFCLEVBQW1EO01BQ2xELElBQUlELEtBQUssS0FBS0UsU0FBVixJQUF1QkYsS0FBSyxLQUFLLEVBQXJDLEVBQXlDO1FBQ3hDLElBQUlDLFFBQVEsS0FBS0MsU0FBYixJQUEwQkQsUUFBUSxDQUFDRSxPQUFULE9BQXVCLEdBQXJELEVBQTBEO1VBQ3pELE9BQU8sS0FBS0osVUFBTCxDQUFnQkUsUUFBUSxDQUFDRSxPQUFULENBQWlCSCxLQUFqQixDQUFoQixDQUFQO1FBQ0E7O1FBQ0QsT0FBTyxLQUFLSixNQUFaO01BQ0E7O01BQ0QsSUFBSUksS0FBSyxLQUFLLGlCQUFWLElBQStCQSxLQUFLLEtBQUssZ0JBQTdDLEVBQStEO1FBQzlELE9BQU9FLFNBQVA7TUFDQSxDQVRpRCxDQVVsRDs7O01BQ0EsSUFBTUUsTUFBTSxHQUFHQyxVQUFVLENBQUNDLEdBQVgsQ0FBZU4sS0FBSyxDQUFDTyxPQUFOLENBQWMsS0FBZCxFQUFxQixHQUFyQixDQUFmLEVBQTBDLEtBQUtYLE1BQS9DLENBQWY7O01BQ0EsSUFBSVEsTUFBTSxLQUFLRixTQUFmLEVBQTBCO1FBQ3pCLE9BQU9FLE1BQVA7TUFDQSxDQWRpRCxDQWVsRDs7O01BQ0EsSUFBSSxLQUFLUixNQUFMLENBQVlZLGNBQVosQ0FBMkJSLEtBQTNCLENBQUosRUFBdUM7UUFDdEMsT0FBTyxLQUFLSixNQUFMLENBQVlJLEtBQVosQ0FBUDtNQUNBOztNQUNELElBQUlBLEtBQUssQ0FBQ1MsT0FBTixDQUFjLEdBQWQsTUFBdUIsQ0FBQyxDQUF4QixJQUE2QlQsS0FBSyxDQUFDUyxPQUFOLENBQWMsR0FBZCxNQUF1QixDQUFDLENBQXpELEVBQTREO1FBQzNEO1FBQ0FDLEdBQUcsQ0FBQ0MsS0FBSiw0QkFBOEJYLEtBQTlCLHlDQUFrRSxLQUFLSCx1QkFBTCxDQUE2QmUsSUFBL0YsR0FGMkQsQ0FHM0Q7TUFDQTs7TUFDRCxPQUFPLEtBQUtqQixLQUFMLENBQVdrQixZQUFYLENBQXdCYixLQUF4QixDQUFQO0lBQ0EsQzs7O0lBbEMyQmMsUzs7U0FxQ2RwQixjIn0=
57
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBdHRyaWJ1dGVNb2RlbCIsIm9Ob2RlIiwib1Byb3BzIiwiYnVpbGRpbmdCbG9ja0RlZmluaXRpb24iLCIkJHZhbHVlQXNQcm9taXNlIiwiX2dldE9iamVjdCIsInNQYXRoIiwib0NvbnRleHQiLCJ1bmRlZmluZWQiLCJnZXRQYXRoIiwib1ZhbHVlIiwiT2JqZWN0UGF0aCIsImdldCIsInJlcGxhY2UiLCJoYXNPd25Qcm9wZXJ0eSIsImluZGV4T2YiLCJMb2ciLCJlcnJvciIsIm5hbWUiLCJnZXRBdHRyaWJ1dGUiLCJKU09OTW9kZWwiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkF0dHJpYnV0ZU1vZGVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IE9iamVjdFBhdGggZnJvbSBcInNhcC9iYXNlL3V0aWwvT2JqZWN0UGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBCdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5cbi8qKlxuICogU3BlY2lhbCBKU09OTW9kZWwgdGhhdCBpcyB1c2VkIHRvIHN0b3JlIHRoZSBhdHRyaWJ1dGUgbW9kZWwgZm9yIHRoZSBidWlsZGluZyBibG9jay5cbiAqIEl0IGhhcyBzcGVjaWZpYyBoYW5kbGluZyBmb3IgdW5kZWZpbmVkVmFsdWUgbWFwcGluZ1xuICovXG5jbGFzcyBBdHRyaWJ1dGVNb2RlbCBleHRlbmRzIEpTT05Nb2RlbCB7XG5cdHB1YmxpYyAkJHZhbHVlQXNQcm9taXNlOiBib29sZWFuO1xuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IG9Ob2RlOiBFbGVtZW50LFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgb1Byb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcblx0XHRwcml2YXRlIHJlYWRvbmx5IGJ1aWxkaW5nQmxvY2tEZWZpbml0aW9uOiBCdWlsZGluZ0Jsb2NrRGVmaW5pdGlvblxuXHQpIHtcblx0XHRzdXBlcigpO1xuXHRcdHRoaXMuJCR2YWx1ZUFzUHJvbWlzZSA9IHRydWU7XG5cdH1cblx0X2dldE9iamVjdChzUGF0aDogc3RyaW5nLCBvQ29udGV4dD86IENvbnRleHQpOiB1bmtub3duIHtcblx0XHRpZiAoc1BhdGggPT09IHVuZGVmaW5lZCB8fCBzUGF0aCA9PT0gXCJcIikge1xuXHRcdFx0aWYgKG9Db250ZXh0ICE9PSB1bmRlZmluZWQgJiYgb0NvbnRleHQuZ2V0UGF0aCgpICE9PSBcIi9cIikge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy5fZ2V0T2JqZWN0KG9Db250ZXh0LmdldFBhdGgoc1BhdGgpKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiB0aGlzLm9Qcm9wcztcblx0XHR9XG5cdFx0aWYgKHNQYXRoID09PSBcIi91bmRlZmluZWRWYWx1ZVwiIHx8IHNQYXRoID09PSBcInVuZGVmaW5lZFZhbHVlXCIpIHtcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fVxuXHRcdC8vIGp1c3QgcmV0dXJuIHRoZSBhdHRyaWJ1dGUgLSB3ZSBjYW4ndCB2YWxpZGF0ZSB0aGVtLCBhbmQgd2UgZG9uJ3Qgc3VwcG9ydCBhZ2dyZWdhdGlvbnMgZm9yIG5vd1xuXHRcdGNvbnN0IG9WYWx1ZSA9IE9iamVjdFBhdGguZ2V0KHNQYXRoLnJlcGxhY2UoL1xcLy9nLCBcIi5cIiksIHRoaXMub1Byb3BzKTtcblx0XHRpZiAob1ZhbHVlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdHJldHVybiBvVmFsdWU7XG5cdFx0fVxuXHRcdC8vIERlYWwgd2l0aCB1bmRlZmluZWQgcHJvcGVydGllc1xuXHRcdGlmICh0aGlzLm9Qcm9wcy5oYXNPd25Qcm9wZXJ0eShzUGF0aCkpIHtcblx0XHRcdHJldHVybiB0aGlzLm9Qcm9wc1tzUGF0aF07XG5cdFx0fVxuXHRcdGlmIChzUGF0aC5pbmRleE9mKFwiOlwiKSA9PT0gLTEgJiYgc1BhdGguaW5kZXhPZihcIi9cIikgPT09IC0xKSB7XG5cdFx0XHQvLyBHbG92ZXMgYXJlIG9mZiwgaWYgeW91IGhhdmUgdGhpcyBlcnJvciB5b3UgZm9yZ290IHRvIGRlZmluZSB5b3VyIHByb3BlcnR5IG9uIHlvdXIgbWV0YWRhdGEgYnV0IGFyZSBzdGlsbCB1c2luZyBpdCBpbiB0aGUgdW5kZXJseWluZyBjb2RlXG5cdFx0XHRMb2cuZXJyb3IoYE1pc3NpbmcgcHJvcGVydHkgJHtzUGF0aH0gb24gYnVpbGRpbmcgYmxvY2sgbWV0YWRhdGEgJHt0aGlzLmJ1aWxkaW5nQmxvY2tEZWZpbml0aW9uLm5hbWV9YCk7XG5cdFx0XHQvL3Rocm93IG5ldyBFcnJvcihgTWlzc2luZyBwcm9wZXJ0eSAke3NQYXRofSBvbiBtYWNybyBtZXRhZGF0YSAke3RoaXMuYnVpbGRpbmdCbG9ja0RlZmluaXRpb24ubmFtZX1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMub05vZGUuZ2V0QXR0cmlidXRlKHNQYXRoKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBBdHRyaWJ1dGVNb2RlbDtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7O0VBTUE7QUFDQTtBQUNBO0FBQ0E7RUFIQSxJQUlNQSxjQUFjO0lBQUE7SUFFbkIsd0JBQ2tCQyxLQUFjLEVBQ2RDLE1BQStCLEVBQy9CQyx1QkFBZ0QsRUFDaEU7TUFBQTtNQUNELDZCQUFPO01BQUMsTUFKU0YsS0FBYyxHQUFkQSxLQUFjO01BQUEsTUFDZEMsTUFBK0IsR0FBL0JBLE1BQStCO01BQUEsTUFDL0JDLHVCQUFnRCxHQUFoREEsdUJBQWdEO01BR2pFLE1BQUtDLGdCQUFnQixHQUFHLElBQUk7TUFBQztJQUM5QjtJQUFDO0lBQUEsT0FDREMsVUFBVSxHQUFWLG9CQUFXQyxLQUFhLEVBQUVDLFFBQWtCLEVBQVc7TUFDdEQsSUFBSUQsS0FBSyxLQUFLRSxTQUFTLElBQUlGLEtBQUssS0FBSyxFQUFFLEVBQUU7UUFDeEMsSUFBSUMsUUFBUSxLQUFLQyxTQUFTLElBQUlELFFBQVEsQ0FBQ0UsT0FBTyxFQUFFLEtBQUssR0FBRyxFQUFFO1VBQ3pELE9BQU8sSUFBSSxDQUFDSixVQUFVLENBQUNFLFFBQVEsQ0FBQ0UsT0FBTyxDQUFDSCxLQUFLLENBQUMsQ0FBQztRQUNoRDtRQUNBLE9BQU8sSUFBSSxDQUFDSixNQUFNO01BQ25CO01BQ0EsSUFBSUksS0FBSyxLQUFLLGlCQUFpQixJQUFJQSxLQUFLLEtBQUssZ0JBQWdCLEVBQUU7UUFDOUQsT0FBT0UsU0FBUztNQUNqQjtNQUNBO01BQ0EsSUFBTUUsTUFBTSxHQUFHQyxVQUFVLENBQUNDLEdBQUcsQ0FBQ04sS0FBSyxDQUFDTyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQ1gsTUFBTSxDQUFDO01BQ3JFLElBQUlRLE1BQU0sS0FBS0YsU0FBUyxFQUFFO1FBQ3pCLE9BQU9FLE1BQU07TUFDZDtNQUNBO01BQ0EsSUFBSSxJQUFJLENBQUNSLE1BQU0sQ0FBQ1ksY0FBYyxDQUFDUixLQUFLLENBQUMsRUFBRTtRQUN0QyxPQUFPLElBQUksQ0FBQ0osTUFBTSxDQUFDSSxLQUFLLENBQUM7TUFDMUI7TUFDQSxJQUFJQSxLQUFLLENBQUNTLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSVQsS0FBSyxDQUFDUyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDM0Q7UUFDQUMsR0FBRyxDQUFDQyxLQUFLLDRCQUFxQlgsS0FBSyx5Q0FBK0IsSUFBSSxDQUFDSCx1QkFBdUIsQ0FBQ2UsSUFBSSxFQUFHO1FBQ3RHO01BQ0Q7O01BQ0EsT0FBTyxJQUFJLENBQUNqQixLQUFLLENBQUNrQixZQUFZLENBQUNiLEtBQUssQ0FBQztJQUN0QyxDQUFDO0lBQUE7RUFBQSxFQW5DMkJjLFNBQVM7RUFBQSxPQXNDdkJwQixjQUFjO0FBQUEifQ==
@@ -1,7 +1,7 @@
1
1
  import Log from "sap/base/Log";
2
2
  import ObjectPath from "sap/base/util/ObjectPath";
3
3
  import type { BuildingBlockDefinition } from "sap/fe/core/buildingBlocks/BuildingBlock";
4
- import Context from "sap/ui/model/Context";
4
+ import type Context from "sap/ui/model/Context";
5
5
  import JSONModel from "sap/ui/model/json/JSONModel";
6
6
 
7
7
  /**
@@ -9,15 +9,16 @@ import JSONModel from "sap/ui/model/json/JSONModel";
9
9
  * It has specific handling for undefinedValue mapping
10
10
  */
11
11
  class AttributeModel extends JSONModel {
12
+ public $$valueAsPromise: boolean;
12
13
  constructor(
13
14
  private readonly oNode: Element,
14
- private readonly oProps: Record<string, any>,
15
+ private readonly oProps: Record<string, unknown>,
15
16
  private readonly buildingBlockDefinition: BuildingBlockDefinition
16
17
  ) {
17
18
  super();
18
- (this as any).$$valueAsPromise = true;
19
+ this.$$valueAsPromise = true;
19
20
  }
20
- _getObject(sPath: string, oContext?: Context): any {
21
+ _getObject(sPath: string, oContext?: Context): unknown {
21
22
  if (sPath === undefined || sPath === "") {
22
23
  if (oContext !== undefined && oContext.getPath() !== "/") {
23
24
  return this._getObject(oContext.getPath(sPath));