@sapui5/sap.fe.core 1.100.0 → 1.102.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 (295) hide show
  1. package/package.json +4 -4
  2. package/src/sap/fe/core/.library +2 -3
  3. package/src/sap/fe/core/AppComponent.js +23 -30
  4. package/src/sap/fe/core/AppComponent.ts +35 -40
  5. package/src/sap/fe/core/AppStateHandler.js +8 -8
  6. package/src/sap/fe/core/AppStateHandler.ts +11 -11
  7. package/src/sap/fe/core/BaseController.js +9 -9
  8. package/src/sap/fe/core/BaseController.ts +3 -4
  9. package/src/sap/fe/core/CommonUtils.js +122 -101
  10. package/src/sap/fe/core/CommonUtils.ts +239 -193
  11. package/src/sap/fe/core/ExtensionAPI.js +12 -13
  12. package/src/sap/fe/core/ExtensionAPI.ts +21 -31
  13. package/src/sap/fe/core/PageController.js +19 -13
  14. package/src/sap/fe/core/PageController.ts +40 -34
  15. package/src/sap/fe/core/TemplateComponent.js +198 -123
  16. package/src/sap/fe/core/TemplateComponent.ts +109 -121
  17. package/src/sap/fe/core/TemplateModel.js +7 -9
  18. package/src/sap/fe/core/TemplateModel.ts +3 -3
  19. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +60 -0
  20. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +37 -0
  21. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +165 -0
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +178 -0
  23. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +935 -0
  24. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +837 -0
  25. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +436 -0
  26. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +431 -0
  27. package/src/sap/fe/core/{BusyLocker.js → controllerextensions/BusyLocker.js} +1 -1
  28. package/src/sap/fe/core/{BusyLocker.ts → controllerextensions/BusyLocker.ts} +7 -7
  29. package/src/sap/fe/core/controllerextensions/EditFlow.js +660 -288
  30. package/src/sap/fe/core/controllerextensions/EditFlow.ts +513 -331
  31. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +11 -11
  32. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +6 -7
  33. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +43 -25
  34. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +132 -103
  35. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +16 -16
  36. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +64 -55
  37. package/src/sap/fe/core/controllerextensions/InternalRouting.js +166 -99
  38. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +187 -149
  39. package/src/sap/fe/core/controllerextensions/KPIManagement.js +14 -14
  40. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +12 -11
  41. package/src/sap/fe/core/controllerextensions/MassEdit.js +13 -12
  42. package/src/sap/fe/core/controllerextensions/MassEdit.ts +22 -22
  43. package/src/sap/fe/core/controllerextensions/MessageHandler.js +14 -26
  44. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +20 -30
  45. package/src/sap/fe/core/controllerextensions/PageReady.js +25 -23
  46. package/src/sap/fe/core/controllerextensions/PageReady.ts +49 -47
  47. package/src/sap/fe/core/controllerextensions/Paginator.js +24 -15
  48. package/src/sap/fe/core/controllerextensions/Paginator.ts +35 -20
  49. package/src/sap/fe/core/controllerextensions/Placeholder.js +10 -10
  50. package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
  51. package/src/sap/fe/core/controllerextensions/Routing.js +11 -11
  52. package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
  53. package/src/sap/fe/core/controllerextensions/Share.js +34 -16
  54. package/src/sap/fe/core/controllerextensions/Share.ts +50 -32
  55. package/src/sap/fe/core/controllerextensions/SideEffects.js +15 -15
  56. package/src/sap/fe/core/controllerextensions/SideEffects.ts +64 -65
  57. package/src/sap/fe/core/controllerextensions/ViewState.js +27 -31
  58. package/src/sap/fe/core/controllerextensions/ViewState.ts +103 -102
  59. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +105 -0
  60. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +98 -0
  61. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +360 -0
  62. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/ActivitySync.ts +90 -132
  63. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +146 -0
  64. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/CollaborationCommon.ts +18 -8
  65. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +264 -0
  66. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/Manage.ts +35 -33
  67. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +100 -0
  68. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/UserDetails.fragment.xml +5 -7
  69. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1584 -0
  70. package/src/sap/fe/core/{TransactionHelper.ts → controllerextensions/editFlow/TransactionHelper.ts} +190 -159
  71. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +780 -0
  72. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/draft.ts +329 -76
  73. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1149 -0
  74. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/operations.ts +169 -97
  75. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +190 -0
  76. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/sticky.ts +76 -12
  77. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +592 -0
  78. package/src/sap/fe/core/{actions → controllerextensions/messageHandler}/messageHandling.ts +83 -60
  79. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +940 -0
  80. package/src/sap/fe/core/{RouterProxy.ts → controllerextensions/routing/RouterProxy.ts} +52 -36
  81. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +21 -18
  82. package/src/sap/fe/core/controls/Any.js +28 -0
  83. package/src/sap/fe/core/controls/Any.ts +30 -0
  84. package/src/sap/fe/core/controls/CommandExecution.js +50 -16
  85. package/src/sap/fe/core/controls/CommandExecution.ts +31 -22
  86. package/src/sap/fe/core/controls/ConditionalWrapper.js +136 -65
  87. package/src/sap/fe/core/controls/ConditionalWrapper.ts +49 -58
  88. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +371 -0
  89. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +282 -0
  90. package/src/sap/fe/core/controls/CustomQuickViewPage.js +74 -36
  91. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +23 -32
  92. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +52 -5
  93. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +127 -67
  94. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +127 -67
  95. package/src/sap/fe/core/controls/FieldWrapper.js +171 -87
  96. package/src/sap/fe/core/controls/FieldWrapper.ts +69 -80
  97. package/src/sap/fe/core/controls/FileWrapper.js +360 -0
  98. package/src/sap/fe/core/controls/FileWrapper.ts +202 -0
  99. package/src/sap/fe/core/controls/FilterBar.js +154 -119
  100. package/src/sap/fe/core/controls/FilterBar.ts +128 -123
  101. package/src/sap/fe/core/controls/FormElementWrapper.js +102 -37
  102. package/src/sap/fe/core/controls/FormElementWrapper.ts +43 -35
  103. package/src/sap/fe/core/controls/MassEditSelect.js +33 -0
  104. package/src/sap/fe/core/controls/MassEditSelect.ts +45 -0
  105. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +111 -89
  106. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +86 -82
  107. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +242 -193
  108. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +211 -204
  109. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +152 -116
  110. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +105 -105
  111. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +2 -2
  112. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +23 -28
  113. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +41 -81
  114. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +107 -0
  115. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +550 -35
  116. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +604 -35
  117. package/src/sap/fe/core/converters/ManifestSettings.js +3 -1
  118. package/src/sap/fe/core/converters/ManifestSettings.ts +9 -2
  119. package/src/sap/fe/core/converters/MetaModelConverter.js +11 -40
  120. package/src/sap/fe/core/converters/MetaModelConverter.ts +56 -84
  121. package/src/sap/fe/core/converters/annotations/DataField.js +20 -5
  122. package/src/sap/fe/core/converters/annotations/DataField.ts +27 -6
  123. package/src/sap/fe/core/converters/controls/Common/Action.js +14 -21
  124. package/src/sap/fe/core/converters/controls/Common/Action.ts +23 -28
  125. package/src/sap/fe/core/converters/controls/Common/Chart.js +17 -10
  126. package/src/sap/fe/core/converters/controls/Common/Chart.ts +20 -14
  127. package/src/sap/fe/core/converters/controls/Common/Form.js +16 -18
  128. package/src/sap/fe/core/converters/controls/Common/Form.ts +20 -20
  129. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  130. package/src/sap/fe/core/converters/controls/Common/KPI.ts +2 -3
  131. package/src/sap/fe/core/converters/controls/Common/Table.js +389 -173
  132. package/src/sap/fe/core/converters/controls/Common/Table.ts +440 -244
  133. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +26 -16
  134. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +27 -19
  135. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +78 -47
  136. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +146 -107
  137. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +6 -6
  138. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +20 -18
  139. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +30 -25
  140. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +39 -34
  141. package/src/sap/fe/core/converters/helpers/Aggregation.js +10 -2
  142. package/src/sap/fe/core/converters/helpers/Aggregation.ts +18 -13
  143. package/src/sap/fe/core/converters/helpers/BindingHelper.js +3 -2
  144. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +6 -5
  145. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +1 -1
  146. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +0 -4
  147. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +27 -24
  148. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +49 -40
  149. package/src/sap/fe/core/converters/templates/ListReportConverter.js +33 -22
  150. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +77 -62
  151. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +28 -28
  152. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +38 -45
  153. package/src/sap/fe/core/designtime/AppComponent.designtime.js +3 -3
  154. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +8 -6
  155. package/src/sap/fe/core/formatters/KPIFormatter.js +3 -12
  156. package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -2
  157. package/src/sap/fe/core/formatters/TableFormatter.js +74 -13
  158. package/src/sap/fe/core/formatters/TableFormatter.ts +71 -16
  159. package/src/sap/fe/core/formatters/ValueFormatter.js +4 -4
  160. package/src/sap/fe/core/formatters/ValueFormatter.ts +4 -7
  161. package/src/sap/fe/core/fpm/Component.js +46 -17
  162. package/src/sap/fe/core/fpm/Component.ts +11 -16
  163. package/src/sap/fe/core/helpers/AppStartupHelper.js +4 -4
  164. package/src/sap/fe/core/helpers/AppStartupHelper.ts +3 -3
  165. package/src/sap/fe/core/helpers/BindingExpression.js +10 -7
  166. package/src/sap/fe/core/helpers/BindingExpression.ts +37 -35
  167. package/src/sap/fe/core/helpers/ClassSupport.js +273 -256
  168. package/src/sap/fe/core/helpers/ClassSupport.ts +315 -237
  169. package/src/sap/fe/core/helpers/FPMHelper.js +3 -2
  170. package/src/sap/fe/core/helpers/FPMHelper.ts +9 -8
  171. package/src/sap/fe/core/helpers/MassEditHelper.js +522 -147
  172. package/src/sap/fe/core/helpers/MassEditHelper.ts +563 -236
  173. package/src/sap/fe/core/helpers/ModelHelper.js +29 -1
  174. package/src/sap/fe/core/helpers/ModelHelper.ts +39 -26
  175. package/src/sap/fe/core/helpers/PasteHelper.js +4 -4
  176. package/src/sap/fe/core/helpers/PasteHelper.ts +4 -3
  177. package/src/sap/fe/core/helpers/SemanticDateOperators.js +3 -3
  178. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +3 -1
  179. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
  180. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
  181. package/src/sap/fe/core/helpers/StableIdHelper.js +5 -7
  182. package/src/sap/fe/core/helpers/StableIdHelper.ts +8 -8
  183. package/src/sap/fe/core/{Synchronization.js → helpers/Synchronization.js} +1 -1
  184. package/src/sap/fe/core/{Synchronization.ts → helpers/Synchronization.ts} +1 -1
  185. package/src/sap/fe/core/jsx-runtime/jsx.js +35 -5
  186. package/src/sap/fe/core/jsx-runtime/jsx.ts +22 -8
  187. package/src/sap/fe/core/library.js +13 -5
  188. package/src/sap/fe/core/library.ts +26 -17
  189. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  190. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +0 -3
  191. package/src/sap/fe/core/messagebundle.properties +135 -180
  192. package/src/sap/fe/core/messagebundle_ar.properties +31 -64
  193. package/src/sap/fe/core/messagebundle_bg.properties +31 -64
  194. package/src/sap/fe/core/messagebundle_ca.properties +31 -64
  195. package/src/sap/fe/core/messagebundle_cs.properties +31 -64
  196. package/src/sap/fe/core/messagebundle_cy.properties +32 -65
  197. package/src/sap/fe/core/messagebundle_da.properties +31 -64
  198. package/src/sap/fe/core/messagebundle_de.properties +29 -62
  199. package/src/sap/fe/core/messagebundle_el.properties +32 -65
  200. package/src/sap/fe/core/messagebundle_en.properties +32 -65
  201. package/src/sap/fe/core/messagebundle_en_GB.properties +29 -62
  202. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +41 -74
  203. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +32 -65
  204. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +20 -6
  205. package/src/sap/fe/core/messagebundle_es.properties +31 -64
  206. package/src/sap/fe/core/messagebundle_es_MX.properties +31 -64
  207. package/src/sap/fe/core/messagebundle_et.properties +31 -64
  208. package/src/sap/fe/core/messagebundle_fi.properties +29 -62
  209. package/src/sap/fe/core/messagebundle_fr.properties +36 -69
  210. package/src/sap/fe/core/messagebundle_fr_CA.properties +33 -66
  211. package/src/sap/fe/core/messagebundle_hi.properties +29 -62
  212. package/src/sap/fe/core/messagebundle_hr.properties +32 -65
  213. package/src/sap/fe/core/messagebundle_hu.properties +30 -63
  214. package/src/sap/fe/core/messagebundle_id.properties +32 -65
  215. package/src/sap/fe/core/messagebundle_it.properties +31 -64
  216. package/src/sap/fe/core/messagebundle_iw.properties +31 -64
  217. package/src/sap/fe/core/messagebundle_ja.properties +29 -62
  218. package/src/sap/fe/core/messagebundle_kk.properties +31 -64
  219. package/src/sap/fe/core/messagebundle_ko.properties +31 -64
  220. package/src/sap/fe/core/messagebundle_lt.properties +31 -64
  221. package/src/sap/fe/core/messagebundle_lv.properties +32 -65
  222. package/src/sap/fe/core/messagebundle_ms.properties +31 -64
  223. package/src/sap/fe/core/messagebundle_nl.properties +31 -64
  224. package/src/sap/fe/core/messagebundle_no.properties +31 -64
  225. package/src/sap/fe/core/messagebundle_pl.properties +34 -67
  226. package/src/sap/fe/core/messagebundle_pt.properties +32 -65
  227. package/src/sap/fe/core/messagebundle_pt_PT.properties +31 -64
  228. package/src/sap/fe/core/messagebundle_ro.properties +33 -66
  229. package/src/sap/fe/core/messagebundle_ru.properties +33 -66
  230. package/src/sap/fe/core/messagebundle_sh.properties +31 -64
  231. package/src/sap/fe/core/messagebundle_sk.properties +31 -64
  232. package/src/sap/fe/core/messagebundle_sl.properties +29 -62
  233. package/src/sap/fe/core/messagebundle_sv.properties +30 -63
  234. package/src/sap/fe/core/messagebundle_th.properties +31 -64
  235. package/src/sap/fe/core/messagebundle_tr.properties +31 -64
  236. package/src/sap/fe/core/messagebundle_uk.properties +32 -65
  237. package/src/sap/fe/core/messagebundle_vi.properties +31 -64
  238. package/src/sap/fe/core/messagebundle_zh_CN.properties +32 -65
  239. package/src/sap/fe/core/messagebundle_zh_TW.properties +34 -67
  240. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +4 -4
  241. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +1 -1
  242. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +5 -5
  243. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +1 -2
  244. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +11 -8
  245. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +15 -13
  246. package/src/sap/fe/core/services/NavigationServiceFactory.js +5 -5
  247. package/src/sap/fe/core/services/NavigationServiceFactory.ts +9 -5
  248. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +4 -4
  249. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +1 -1
  250. package/src/sap/fe/core/services/RoutingServiceFactory.js +105 -66
  251. package/src/sap/fe/core/services/RoutingServiceFactory.ts +59 -49
  252. package/src/sap/fe/core/services/ShellServicesFactory.js +104 -29
  253. package/src/sap/fe/core/services/ShellServicesFactory.ts +64 -30
  254. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +4 -4
  255. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +1 -1
  256. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +11 -10
  257. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +38 -51
  258. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +43 -5
  259. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +6 -3
  260. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  261. package/src/sap/fe/core/support/CommonHelper.ts +0 -3
  262. package/src/sap/fe/core/templating/DataModelPathHelper.js +2 -9
  263. package/src/sap/fe/core/templating/DataModelPathHelper.ts +32 -38
  264. package/src/sap/fe/core/templating/DisplayModeFormatter.js +23 -3
  265. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +27 -6
  266. package/src/sap/fe/core/templating/EntitySetHelper.js +1 -9
  267. package/src/sap/fe/core/templating/EntitySetHelper.ts +11 -13
  268. package/src/sap/fe/core/templating/FilterHelper.js +4 -4
  269. package/src/sap/fe/core/templating/FilterHelper.ts +6 -5
  270. package/src/sap/fe/core/templating/PropertyHelper.js +70 -33
  271. package/src/sap/fe/core/templating/PropertyHelper.ts +49 -27
  272. package/src/sap/fe/core/templating/UIFormatters.js +133 -22
  273. package/src/sap/fe/core/templating/UIFormatters.ts +144 -50
  274. package/src/sap/fe/core/type/DateTimeWithTimezone.js +47 -0
  275. package/src/sap/fe/core/type/DateTimeWithTimezone.ts +23 -0
  276. package/src/sap/fe/core/type/Email.js +26 -8
  277. package/src/sap/fe/core/type/Email.ts +8 -7
  278. package/src/sap/fe/core/AnnotationHelper.js +0 -312
  279. package/src/sap/fe/core/AnnotationHelper.ts +0 -315
  280. package/src/sap/fe/core/RouterProxy.js +0 -926
  281. package/src/sap/fe/core/TransactionHelper.js +0 -1562
  282. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +0 -392
  283. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +0 -136
  284. package/src/sap/fe/core/actions/collaboration/Manage.js +0 -262
  285. package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +0 -103
  286. package/src/sap/fe/core/actions/draft.js +0 -523
  287. package/src/sap/fe/core/actions/messageHandling.js +0 -567
  288. package/src/sap/fe/core/actions/nonDraft.js +0 -20
  289. package/src/sap/fe/core/actions/nonDraft.ts +0 -12
  290. package/src/sap/fe/core/actions/operations.js +0 -1096
  291. package/src/sap/fe/core/actions/sticky.js +0 -130
  292. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +0 -78
  293. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +0 -65
  294. package/src/sap/fe/core/formatters/CriticalityFormatter.js +0 -77
  295. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +0 -58
@@ -1,126 +1,111 @@
1
- import UIComponent from "sap/ui/core/UIComponent";
1
+ import AppComponent from "sap/fe/core/AppComponent";
2
2
  import CommonUtils from "sap/fe/core/CommonUtils";
3
- import StateUtil from "sap/ui/mdc/p13n/StateUtil";
3
+ import { defineUI5Class, event, implementInterface, property } from "sap/fe/core/helpers/ClassSupport";
4
+ import PageController from "sap/fe/core/PageController";
4
5
  import ComponentContainer from "sap/ui/core/ComponentContainer";
5
- import AppComponent from "sap/fe/core/AppComponent";
6
+ import { IAsyncContentCreation } from "sap/ui/core/library";
6
7
  import View from "sap/ui/core/mvc/View";
7
- import PageController from "sap/fe/core/PageController";
8
+ import UIComponent from "sap/ui/core/UIComponent";
9
+ import StateUtil from "sap/ui/mdc/p13n/StateUtil";
10
+ import ODataListBinding from "sap/ui/model/odata/v4/ODataListBinding";
8
11
 
9
- export type TemplateComponentType = UIComponent & {
10
- oAppComponent: AppComponent;
11
- getNavigation(): any;
12
- getNavigationConfiguration(sNavigationName: string): any;
13
- getBindingContextPattern(): any;
14
- createDeferredContext(sPath: string, oListBinding: any, bActionCreate: boolean): any;
15
- getEntitySet(): string;
16
- getContextPath(): string;
17
- getViewData(): any;
18
- extend(sName: string, sExtension: any): any;
19
- };
20
- const TemplateComponent = UIComponent.extend("sap.fe.core.TemplateComponent", {
21
- metadata: {
22
- interfaces: ["sap.ui.core.IAsyncContentCreation"],
23
- properties: {
24
- /**
25
- * Name of the OData entity set
26
- */
27
- entitySet: {
28
- type: "string",
29
- defaultValue: null
30
- },
31
- /**
32
- * Context Path for rendering the template
33
- */
34
- contextPath: {
35
- type: "string",
36
- defaultValue: null
37
- },
38
- /**
39
- * The pattern for the binding context to be create based on the parameters from the navigation
40
- * If not provided we'll default to what was passed in the URL
41
- */
42
- bindingContextPattern: {
43
- type: "string"
44
- },
45
-
46
- /**
47
- * Map of used OData navigations and its routing targets
48
- */
49
- navigation: {
50
- type: "object"
51
- },
52
- /**
53
- * Enhance the i18n bundle used for this page with one or more app specific i18n resource bundles or resource models
54
- * or a combination of both. The last resource bundle/model is given highest priority
55
- */
56
- enhanceI18n: {
57
- type: "string[]"
58
- },
59
- /**
60
- * Define control related configuration settings
61
- */
62
- controlConfiguration: {
63
- type: "object"
64
- },
65
- /**
66
- * Adjusts the template content
67
- */
68
- content: {
69
- type: "object"
70
- },
71
- /**
72
- * Whether or not you can reach this page directly through semantic bookmarks
73
- */
74
- allowDeepLinking: {
75
- type: "boolean"
76
- },
77
- /**
78
- * Defines the context path on the component that is refreshed when the app is restored using keep alive mode
79
- */
80
- refreshStrategyOnAppRestore: {
81
- type: "object"
82
- }
83
- },
84
- events: {
85
- containerDefined: {
86
- container: { type: "sap.ui.base.ManagedObject" }
87
- },
88
- heroesBatchReceived: {
89
- element: { type: "sap.ui.base.ManagedObject" }
90
- },
91
- workersBatchReceived: {
92
- element: { type: "sap.ui.base.ManagedObject" }
93
- }
94
- },
95
- library: "sap.fe.core"
96
- },
12
+ @defineUI5Class("sap.fe.core.TemplateComponent")
13
+ class TemplateComponent extends UIComponent implements IAsyncContentCreation {
14
+ @implementInterface("sap.ui.core.IAsyncContentCreation")
15
+ __implements__sap_ui_core_IAsyncContentCreation: boolean = true;
16
+
17
+ /**
18
+ * Name of the OData entity set
19
+ */
20
+ @property({ type: "string", defaultValue: null })
21
+ entitySet: string | null = null;
22
+
23
+ /**
24
+ * Context Path for rendering the template
25
+ */
26
+ @property({ type: "string", defaultValue: null })
27
+ contextPath: string | null = null;
28
+
29
+ /**
30
+ * The pattern for the binding context to be create based on the parameters from the navigation
31
+ * If not provided we'll default to what was passed in the URL
32
+ */
33
+ @property({ type: "string" })
34
+ bindingContextPattern!: string;
35
+
36
+ /**
37
+ * Map of used OData navigations and its routing targets
38
+ */
39
+ @property({ type: "object" })
40
+ navigation: any;
41
+
42
+ /**
43
+ * Enhance the i18n bundle used for this page with one or more app specific i18n resource bundles or resource models
44
+ * or a combination of both. The last resource bundle/model is given highest priority
45
+ */
46
+ @property({ type: "string[]" })
47
+ enhanceI18n!: string[];
48
+
49
+ /**
50
+ * Define control related configuration settings
51
+ */
52
+ @property({ type: "object" })
53
+ controlConfiguration: any;
97
54
 
98
- setContainer: function(oContainer: ComponentContainer): UIComponent {
99
- const setContainerOutput = UIComponent.prototype.setContainer.apply(this, [oContainer]);
100
- (this as any).fireContainerDefined({ container: oContainer });
101
- return setContainerOutput;
102
- },
55
+ /**
56
+ * Adjusts the template content
57
+ */
58
+ @property({ type: "object" })
59
+ content: any;
103
60
 
104
- init: function(this: TemplateComponentType) {
61
+ /**
62
+ * Whether or not you can reach this page directly through semantic bookmarks
63
+ */
64
+ @property({ type: "boolean" })
65
+ allowDeepLinking!: boolean;
66
+ /**
67
+ * Defines the context path on the component that is refreshed when the app is restored using keep alive mode
68
+ */
69
+ @property({ type: "object" })
70
+ refreshStrategyOnAppRestore: any;
71
+
72
+ @event()
73
+ containerDefined!: Function;
74
+
75
+ @event()
76
+ heroesBatchReceived!: Function;
77
+
78
+ @event()
79
+ workersBatchReceived!: Function;
80
+
81
+ protected oAppComponent!: AppComponent;
82
+
83
+ setContainer(oContainer: ComponentContainer): this {
84
+ super.setContainer(oContainer);
85
+ this.fireEvent("containerDefined", { container: oContainer });
86
+ return this;
87
+ }
88
+
89
+ init() {
105
90
  this.oAppComponent = CommonUtils.getAppComponent(this);
106
- UIComponent.prototype.init.apply(this);
107
- const oStateChangedHandler = function(oEvent: any) {
91
+ super.init();
92
+ const oStateChangeHandler = function (oEvent: any) {
108
93
  const oControl = oEvent.getParameter("control");
109
- if (oControl.isA("sap.ui.mdc.Table") || oControl.isA("sap.ui.mdc.FilterBar")) {
94
+ if (oControl.isA("sap.ui.mdc.Table") || oControl.isA("sap.ui.mdc.FilterBar") || oControl.isA("sap.ui.mdc.Chart")) {
110
95
  const oMacroAPI = oControl.getParent();
111
- oMacroAPI.fireStateChanged();
96
+ oMacroAPI.fireStateChange();
112
97
  }
113
98
  };
114
- StateUtil.detachStateChange(oStateChangedHandler);
115
- StateUtil.attachStateChange(oStateChangedHandler);
116
- },
99
+ StateUtil.detachStateChange(oStateChangeHandler);
100
+ StateUtil.attachStateChange(oStateChangeHandler);
101
+ }
117
102
 
118
103
  // This method is called by UI5 core to access to the component containing the customizing configuration.
119
104
  // as controller extensions are defined in the manifest for the app component and not for the
120
105
  // template component we return the app component.
121
- getExtensionComponent: function(this: TemplateComponentType): AppComponent {
106
+ getExtensionComponent(): AppComponent {
122
107
  return this.oAppComponent;
123
- },
108
+ }
124
109
 
125
110
  getRootController(): any | undefined {
126
111
  const rootControl: View = this.getRootControl() as View;
@@ -129,21 +114,21 @@ const TemplateComponent = UIComponent.extend("sap.fe.core.TemplateComponent", {
129
114
  rootController = rootControl.getController() as PageController;
130
115
  }
131
116
  return rootController;
132
- },
117
+ }
133
118
 
134
- onPageReady: function(mParameters: any) {
119
+ onPageReady(mParameters: any) {
135
120
  const rootController = this.getRootController();
136
121
  if (rootController && rootController.onPageReady) {
137
122
  rootController.onPageReady(mParameters);
138
123
  }
139
- },
124
+ }
140
125
 
141
- getNavigationConfiguration: function(this: TemplateComponentType, sTargetPath: string): string {
142
- const mNavigation = this.getNavigation();
126
+ getNavigationConfiguration(sTargetPath: string): any {
127
+ const mNavigation = this.navigation;
143
128
  return mNavigation[sTargetPath];
144
- },
129
+ }
145
130
 
146
- getViewData: function(this: TemplateComponentType) {
131
+ getViewData() {
147
132
  const mProperties = this.getMetadata().getAllProperties();
148
133
  const oViewData = Object.keys(mProperties).reduce((mViewData: any, sPropertyName: any) => {
149
134
  mViewData[sPropertyName] = (mProperties[sPropertyName] as any).get(this);
@@ -154,20 +139,23 @@ const TemplateComponent = UIComponent.extend("sap.fe.core.TemplateComponent", {
154
139
  oViewData.fclEnabled = this.oAppComponent._isFclEnabled();
155
140
 
156
141
  return oViewData;
157
- },
142
+ }
158
143
 
159
- _getPageTitleInformation: function() {
144
+ _getPageTitleInformation() {
160
145
  const rootControl = this.getRootControl() as View;
161
146
  if (rootControl && rootControl.getController() && (rootControl.getController() as any)._getPageTitleInformation) {
162
147
  return (rootControl.getController() as any)._getPageTitleInformation();
163
148
  } else {
164
149
  return {};
165
150
  }
166
- },
151
+ }
167
152
 
168
- getExtensionAPI: function() {
153
+ getExtensionAPI() {
169
154
  return ((this.getRootControl() as View).getController() as any).getExtensionAPI();
170
155
  }
171
- });
172
-
173
- export default (TemplateComponent as any) as TemplateComponentType;
156
+ }
157
+ interface TemplateComponent {
158
+ // TODO: this should be ideally be handled by the editflow/routing without the need to have this method in the object page - for now keep it here
159
+ createDeferredContext?(sPath: string, oListBinding: ODataListBinding, bActionCreate: boolean): void;
160
+ }
161
+ export default TemplateComponent;
@@ -2,23 +2,21 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/ui/base/Object", "sap/ui/model/json/JSONModel", "sap/fe/core/helpers/ClassSupport"], function (BaseObject, JSONModel, ClassSupport) {
5
+ sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/ui/base/Object", "sap/ui/model/json/JSONModel"], function (ClassSupport, BaseObject, JSONModel) {
6
6
  "use strict";
7
7
 
8
8
  var _dec, _class;
9
9
 
10
- var UI5Class = ClassSupport.UI5Class;
11
-
12
- function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
10
+ var defineUI5Class = ClassSupport.defineUI5Class;
13
11
 
14
12
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15
13
 
16
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
14
+ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
17
15
 
18
16
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
19
17
 
20
- var TemplateModel = (_dec = UI5Class("sap.fe.core.TemplateModel"), _dec(_class = /*#__PURE__*/function (_BaseObject) {
21
- _inherits(TemplateModel, _BaseObject);
18
+ var TemplateModel = (_dec = defineUI5Class("sap.fe.core.TemplateModel"), _dec(_class = /*#__PURE__*/function (_BaseObject) {
19
+ _inheritsLoose(TemplateModel, _BaseObject);
22
20
 
23
21
  function TemplateModel(pageConfig, oMetaModel) {
24
22
  var _this;
@@ -51,7 +49,7 @@ sap.ui.define(["sap/ui/base/Object", "sap/ui/model/json/JSONModel", "sap/fe/core
51
49
  _this.fnCreateMetaBindingContext = _this.oMetaModel.createBindingContext.bind(_this.oMetaModel);
52
50
  _this.fnCreateConfigBindingContext = _this.oConfigModel.createBindingContext.bind(_this.oConfigModel);
53
51
  _this.oConfigModel.createBindingContext = _this.createBindingContext.bind(_assertThisInitialized(_this));
54
- return _possibleConstructorReturn(_this, _this.oConfigModel);
52
+ return _this.oConfigModel || _assertThisInitialized(_this);
55
53
  }
56
54
 
57
55
  var _proto = TemplateModel.prototype;
@@ -78,4 +76,4 @@ sap.ui.define(["sap/ui/base/Object", "sap/ui/model/json/JSONModel", "sap/fe/core
78
76
  }(BaseObject)) || _class);
79
77
  return TemplateModel;
80
78
  }, false);
81
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRlbXBsYXRlTW9kZWwudHMiXSwibmFtZXMiOlsiVGVtcGxhdGVNb2RlbCIsIlVJNUNsYXNzIiwicGFnZUNvbmZpZyIsIm9NZXRhTW9kZWwiLCJvQ29uZmlnTW9kZWwiLCJKU09OTW9kZWwiLCJzZXRTaXplTGltaXQiLCJOdW1iZXIiLCJNQVhfVkFMVUUiLCJiQ29uZmlnTG9hZGVkIiwidGhhdCIsImZuR2V0T2JqZWN0IiwiX2dldE9iamVjdCIsImJpbmQiLCJzUGF0aCIsIm9Db250ZXh0Iiwic2V0RGF0YSIsImZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJmbkNyZWF0ZUNvbmZpZ0JpbmRpbmdDb250ZXh0IiwibVBhcmFtZXRlcnMiLCJmbkNhbGxCYWNrIiwib0JpbmRpbmdDb250ZXh0IiwiYk5vUmVzb2x2ZSIsIm5vUmVzb2x2ZSIsInNSZXNvbHZlZFBhdGgiLCJnZXRPYmplY3QiLCJkZXN0cm95IiwicHJvdG90eXBlIiwiYXBwbHkiLCJCYXNlT2JqZWN0Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7O01BSU1BLGEsV0FETEMsUUFBUSxDQUFDLDJCQUFELEM7OztBQVFSLDJCQUFZQyxVQUFaLEVBQTZCQyxVQUE3QixFQUF5RDtBQUFBOztBQUN4RDtBQUNBLFlBQUtBLFVBQUwsR0FBa0JBLFVBQWxCO0FBQ0EsWUFBS0MsWUFBTCxHQUFvQixJQUFJQyxTQUFKLEVBQXBCLENBSHdELENBSXhEOztBQUNBLFlBQUtELFlBQUwsQ0FBa0JFLFlBQWxCLENBQStCQyxNQUFNLENBQUNDLFNBQXRDOztBQUNBLFlBQUtDLGFBQUwsR0FBcUIsS0FBckIsQ0FOd0QsQ0FPeEQ7O0FBQ0EsVUFBTUMsSUFBSSxnQ0FBVjs7QUFFQSxVQUFJLE9BQU9SLFVBQVAsS0FBc0IsVUFBMUIsRUFBc0M7QUFDckMsWUFBTVMsV0FBVyxHQUFHLE1BQUtQLFlBQUwsQ0FBa0JRLFVBQWxCLENBQTZCQyxJQUE3QixDQUFrQyxNQUFLVCxZQUF2QyxDQUFwQjs7QUFDQSxjQUFLQSxZQUFMLENBQWtCUSxVQUFsQixHQUErQixVQUFTRSxLQUFULEVBQXFCQyxRQUFyQixFQUFvQztBQUNsRSxjQUFJLENBQUNMLElBQUksQ0FBQ0QsYUFBVixFQUF5QjtBQUN4QixpQkFBS08sT0FBTCxDQUFhZCxVQUFVLEVBQXZCO0FBQ0FRLFlBQUFBLElBQUksQ0FBQ0QsYUFBTCxHQUFxQixJQUFyQjtBQUNBOztBQUNELGlCQUFPRSxXQUFXLENBQUNHLEtBQUQsRUFBUUMsUUFBUixDQUFsQjtBQUNBLFNBTkQ7QUFPQSxPQVRELE1BU087QUFDTixjQUFLWCxZQUFMLENBQWtCWSxPQUFsQixDQUEwQmQsVUFBMUI7QUFDQTs7QUFFRCxZQUFLZSwwQkFBTCxHQUFrQyxNQUFLZCxVQUFMLENBQWdCZSxvQkFBaEIsQ0FBcUNMLElBQXJDLENBQTBDLE1BQUtWLFVBQS9DLENBQWxDO0FBQ0EsWUFBS2dCLDRCQUFMLEdBQW9DLE1BQUtmLFlBQUwsQ0FBa0JjLG9CQUFsQixDQUF1Q0wsSUFBdkMsQ0FBNEMsTUFBS1QsWUFBakQsQ0FBcEM7QUFFQSxZQUFLQSxZQUFMLENBQWtCYyxvQkFBbEIsR0FBeUMsTUFBS0Esb0JBQUwsQ0FBMEJMLElBQTFCLCtCQUF6QztBQUNBLCtDQUFPLE1BQUtULFlBQVo7QUFDQTs7OztXQUVEYyxvQixHQUFBLDhCQUFxQkosS0FBckIsRUFBaUNDLFFBQWpDLEVBQWlESyxXQUFqRCxFQUFvRUMsVUFBcEUsRUFBc0Y7QUFDckYsVUFBSUMsZUFBSjtBQUNBLFVBQU1DLFVBQVUsR0FBR0gsV0FBVyxJQUFJQSxXQUFXLENBQUNJLFNBQTlDO0FBRUFGLE1BQUFBLGVBQWUsR0FBRyxLQUFLSCw0QkFBTCxDQUFrQ0wsS0FBbEMsRUFBeUNDLFFBQXpDLEVBQW1ESyxXQUFuRCxFQUFnRUMsVUFBaEUsQ0FBbEI7QUFDQSxVQUFNSSxhQUFhLEdBQUcsQ0FBQ0YsVUFBRCxJQUFlRCxlQUFlLENBQUNJLFNBQWhCLEVBQXJDOztBQUNBLFVBQUlELGFBQWEsSUFBSSxPQUFPQSxhQUFQLEtBQXlCLFFBQTlDLEVBQXdEO0FBQ3ZESCxRQUFBQSxlQUFlLEdBQUcsS0FBS0wsMEJBQUwsQ0FBZ0NRLGFBQWhDLEVBQStDVixRQUEvQyxFQUF5REssV0FBekQsRUFBc0VDLFVBQXRFLENBQWxCO0FBQ0E7O0FBRUQsYUFBT0MsZUFBUDtBQUNBLEs7O1dBRURLLE8sR0FBQSxtQkFBVTtBQUNULFdBQUt2QixZQUFMLENBQWtCdUIsT0FBbEI7QUFDQXRCLE1BQUFBLFNBQVMsQ0FBQ3VCLFNBQVYsQ0FBb0JELE9BQXBCLENBQTRCRSxLQUE1QixDQUFrQyxJQUFsQztBQUNBLEs7OztJQXJEMEJDLFU7U0F3RGI5QixhIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZU9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvT2JqZWN0XCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB7IFVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgT0RhdGFNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1ldGFNb2RlbFwiO1xuXG5AVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5UZW1wbGF0ZU1vZGVsXCIpXG5jbGFzcyBUZW1wbGF0ZU1vZGVsIGV4dGVuZHMgQmFzZU9iamVjdCB7XG5cdHB1YmxpYyBvTWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbDtcblx0cHVibGljIG9Db25maWdNb2RlbDogYW55O1xuXHRwdWJsaWMgYkNvbmZpZ0xvYWRlZDogYm9vbGVhbjtcblx0cHVibGljIGZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0OiBGdW5jdGlvbjtcblx0cHVibGljIGZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQ6IEZ1bmN0aW9uO1xuXG5cdGNvbnN0cnVjdG9yKHBhZ2VDb25maWc6IGFueSwgb01ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwpIHtcblx0XHRzdXBlcigpO1xuXHRcdHRoaXMub01ldGFNb2RlbCA9IG9NZXRhTW9kZWw7XG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwgPSBuZXcgSlNPTk1vZGVsKCk7XG5cdFx0Ly8gZG9uJ3QgbGltaXQgYWdncmVnYXRpb24gYmluZGluZ3Ncblx0XHR0aGlzLm9Db25maWdNb2RlbC5zZXRTaXplTGltaXQoTnVtYmVyLk1BWF9WQUxVRSk7XG5cdFx0dGhpcy5iQ29uZmlnTG9hZGVkID0gZmFsc2U7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cblx0XHRpZiAodHlwZW9mIHBhZ2VDb25maWcgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0Y29uc3QgZm5HZXRPYmplY3QgPSB0aGlzLm9Db25maWdNb2RlbC5fZ2V0T2JqZWN0LmJpbmQodGhpcy5vQ29uZmlnTW9kZWwpO1xuXHRcdFx0dGhpcy5vQ29uZmlnTW9kZWwuX2dldE9iamVjdCA9IGZ1bmN0aW9uKHNQYXRoOiBhbnksIG9Db250ZXh0OiBhbnkpIHtcblx0XHRcdFx0aWYgKCF0aGF0LmJDb25maWdMb2FkZWQpIHtcblx0XHRcdFx0XHR0aGlzLnNldERhdGEocGFnZUNvbmZpZygpKTtcblx0XHRcdFx0XHR0aGF0LmJDb25maWdMb2FkZWQgPSB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBmbkdldE9iamVjdChzUGF0aCwgb0NvbnRleHQpO1xuXHRcdFx0fTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5vQ29uZmlnTW9kZWwuc2V0RGF0YShwYWdlQ29uZmlnKTtcblx0XHR9XG5cblx0XHR0aGlzLmZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0ID0gdGhpcy5vTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0LmJpbmQodGhpcy5vTWV0YU1vZGVsKTtcblx0XHR0aGlzLmZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQgPSB0aGlzLm9Db25maWdNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dC5iaW5kKHRoaXMub0NvbmZpZ01vZGVsKTtcblxuXHRcdHRoaXMub0NvbmZpZ01vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0ID0gdGhpcy5jcmVhdGVCaW5kaW5nQ29udGV4dC5iaW5kKHRoaXMpO1xuXHRcdHJldHVybiB0aGlzLm9Db25maWdNb2RlbDtcblx0fVxuXG5cdGNyZWF0ZUJpbmRpbmdDb250ZXh0KHNQYXRoOiBhbnksIG9Db250ZXh0PzogYW55LCBtUGFyYW1ldGVycz86IGFueSwgZm5DYWxsQmFjaz86IGFueSkge1xuXHRcdGxldCBvQmluZGluZ0NvbnRleHQ7XG5cdFx0Y29uc3QgYk5vUmVzb2x2ZSA9IG1QYXJhbWV0ZXJzICYmIG1QYXJhbWV0ZXJzLm5vUmVzb2x2ZTtcblxuXHRcdG9CaW5kaW5nQ29udGV4dCA9IHRoaXMuZm5DcmVhdGVDb25maWdCaW5kaW5nQ29udGV4dChzUGF0aCwgb0NvbnRleHQsIG1QYXJhbWV0ZXJzLCBmbkNhbGxCYWNrKTtcblx0XHRjb25zdCBzUmVzb2x2ZWRQYXRoID0gIWJOb1Jlc29sdmUgJiYgb0JpbmRpbmdDb250ZXh0LmdldE9iamVjdCgpO1xuXHRcdGlmIChzUmVzb2x2ZWRQYXRoICYmIHR5cGVvZiBzUmVzb2x2ZWRQYXRoID09PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRvQmluZGluZ0NvbnRleHQgPSB0aGlzLmZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0KHNSZXNvbHZlZFBhdGgsIG9Db250ZXh0LCBtUGFyYW1ldGVycywgZm5DYWxsQmFjayk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG9CaW5kaW5nQ29udGV4dDtcblx0fVxuXG5cdGRlc3Ryb3koKSB7XG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuZGVzdHJveSgpO1xuXHRcdEpTT05Nb2RlbC5wcm90b3R5cGUuZGVzdHJveS5hcHBseSh0aGlzKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBUZW1wbGF0ZU1vZGVsO1xuIl19
79
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRlbXBsYXRlTW9kZWwudHMiXSwibmFtZXMiOlsiVGVtcGxhdGVNb2RlbCIsImRlZmluZVVJNUNsYXNzIiwicGFnZUNvbmZpZyIsIm9NZXRhTW9kZWwiLCJvQ29uZmlnTW9kZWwiLCJKU09OTW9kZWwiLCJzZXRTaXplTGltaXQiLCJOdW1iZXIiLCJNQVhfVkFMVUUiLCJiQ29uZmlnTG9hZGVkIiwidGhhdCIsImZuR2V0T2JqZWN0IiwiX2dldE9iamVjdCIsImJpbmQiLCJzUGF0aCIsIm9Db250ZXh0Iiwic2V0RGF0YSIsImZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJmbkNyZWF0ZUNvbmZpZ0JpbmRpbmdDb250ZXh0IiwibVBhcmFtZXRlcnMiLCJmbkNhbGxCYWNrIiwib0JpbmRpbmdDb250ZXh0IiwiYk5vUmVzb2x2ZSIsIm5vUmVzb2x2ZSIsInNSZXNvbHZlZFBhdGgiLCJnZXRPYmplY3QiLCJkZXN0cm95IiwicHJvdG90eXBlIiwiYXBwbHkiLCJCYXNlT2JqZWN0Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7OztNQUlNQSxhLFdBRExDLGNBQWMsQ0FBQywyQkFBRCxDOzs7QUFRZCwyQkFBWUMsVUFBWixFQUE2QkMsVUFBN0IsRUFBeUQ7QUFBQTs7QUFDeEQ7QUFDQSxZQUFLQSxVQUFMLEdBQWtCQSxVQUFsQjtBQUNBLFlBQUtDLFlBQUwsR0FBb0IsSUFBSUMsU0FBSixFQUFwQixDQUh3RCxDQUl4RDs7QUFDQSxZQUFLRCxZQUFMLENBQWtCRSxZQUFsQixDQUErQkMsTUFBTSxDQUFDQyxTQUF0Qzs7QUFDQSxZQUFLQyxhQUFMLEdBQXFCLEtBQXJCLENBTndELENBT3hEOztBQUNBLFVBQU1DLElBQUksZ0NBQVY7O0FBRUEsVUFBSSxPQUFPUixVQUFQLEtBQXNCLFVBQTFCLEVBQXNDO0FBQ3JDLFlBQU1TLFdBQVcsR0FBRyxNQUFLUCxZQUFMLENBQWtCUSxVQUFsQixDQUE2QkMsSUFBN0IsQ0FBa0MsTUFBS1QsWUFBdkMsQ0FBcEI7O0FBQ0EsY0FBS0EsWUFBTCxDQUFrQlEsVUFBbEIsR0FBK0IsVUFBVUUsS0FBVixFQUFzQkMsUUFBdEIsRUFBcUM7QUFDbkUsY0FBSSxDQUFDTCxJQUFJLENBQUNELGFBQVYsRUFBeUI7QUFDeEIsaUJBQUtPLE9BQUwsQ0FBYWQsVUFBVSxFQUF2QjtBQUNBUSxZQUFBQSxJQUFJLENBQUNELGFBQUwsR0FBcUIsSUFBckI7QUFDQTs7QUFDRCxpQkFBT0UsV0FBVyxDQUFDRyxLQUFELEVBQVFDLFFBQVIsQ0FBbEI7QUFDQSxTQU5EO0FBT0EsT0FURCxNQVNPO0FBQ04sY0FBS1gsWUFBTCxDQUFrQlksT0FBbEIsQ0FBMEJkLFVBQTFCO0FBQ0E7O0FBRUQsWUFBS2UsMEJBQUwsR0FBa0MsTUFBS2QsVUFBTCxDQUFnQmUsb0JBQWhCLENBQXFDTCxJQUFyQyxDQUEwQyxNQUFLVixVQUEvQyxDQUFsQztBQUNBLFlBQUtnQiw0QkFBTCxHQUFvQyxNQUFLZixZQUFMLENBQWtCYyxvQkFBbEIsQ0FBdUNMLElBQXZDLENBQTRDLE1BQUtULFlBQWpELENBQXBDO0FBRUEsWUFBS0EsWUFBTCxDQUFrQmMsb0JBQWxCLEdBQXlDLE1BQUtBLG9CQUFMLENBQTBCTCxJQUExQiwrQkFBekM7QUFDQSxhQUFPLE1BQUtULFlBQVo7QUFDQTs7OztXQUVEYyxvQixHQUFBLDhCQUFxQkosS0FBckIsRUFBaUNDLFFBQWpDLEVBQWlESyxXQUFqRCxFQUFvRUMsVUFBcEUsRUFBc0Y7QUFDckYsVUFBSUMsZUFBSjtBQUNBLFVBQU1DLFVBQVUsR0FBR0gsV0FBVyxJQUFJQSxXQUFXLENBQUNJLFNBQTlDO0FBRUFGLE1BQUFBLGVBQWUsR0FBRyxLQUFLSCw0QkFBTCxDQUFrQ0wsS0FBbEMsRUFBeUNDLFFBQXpDLEVBQW1ESyxXQUFuRCxFQUFnRUMsVUFBaEUsQ0FBbEI7QUFDQSxVQUFNSSxhQUFhLEdBQUcsQ0FBQ0YsVUFBRCxJQUFlRCxlQUFlLENBQUNJLFNBQWhCLEVBQXJDOztBQUNBLFVBQUlELGFBQWEsSUFBSSxPQUFPQSxhQUFQLEtBQXlCLFFBQTlDLEVBQXdEO0FBQ3ZESCxRQUFBQSxlQUFlLEdBQUcsS0FBS0wsMEJBQUwsQ0FBZ0NRLGFBQWhDLEVBQStDVixRQUEvQyxFQUF5REssV0FBekQsRUFBc0VDLFVBQXRFLENBQWxCO0FBQ0E7O0FBRUQsYUFBT0MsZUFBUDtBQUNBLEs7O1dBRURLLE8sR0FBQSxtQkFBVTtBQUNULFdBQUt2QixZQUFMLENBQWtCdUIsT0FBbEI7QUFDQXRCLE1BQUFBLFNBQVMsQ0FBQ3VCLFNBQVYsQ0FBb0JELE9BQXBCLENBQTRCRSxLQUE1QixDQUFrQyxJQUFsQztBQUNBLEs7OztJQXJEMEJDLFU7U0F3RGI5QixhIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWZpbmVVSTVDbGFzcyB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IEJhc2VPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL09iamVjdFwiO1xuaW1wb3J0IEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5pbXBvcnQgT0RhdGFNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1ldGFNb2RlbFwiO1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5UZW1wbGF0ZU1vZGVsXCIpXG5jbGFzcyBUZW1wbGF0ZU1vZGVsIGV4dGVuZHMgQmFzZU9iamVjdCB7XG5cdHB1YmxpYyBvTWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbDtcblx0cHVibGljIG9Db25maWdNb2RlbDogYW55O1xuXHRwdWJsaWMgYkNvbmZpZ0xvYWRlZDogYm9vbGVhbjtcblx0cHVibGljIGZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0OiBGdW5jdGlvbjtcblx0cHVibGljIGZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQ6IEZ1bmN0aW9uO1xuXG5cdGNvbnN0cnVjdG9yKHBhZ2VDb25maWc6IGFueSwgb01ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwpIHtcblx0XHRzdXBlcigpO1xuXHRcdHRoaXMub01ldGFNb2RlbCA9IG9NZXRhTW9kZWw7XG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwgPSBuZXcgSlNPTk1vZGVsKCk7XG5cdFx0Ly8gZG9uJ3QgbGltaXQgYWdncmVnYXRpb24gYmluZGluZ3Ncblx0XHR0aGlzLm9Db25maWdNb2RlbC5zZXRTaXplTGltaXQoTnVtYmVyLk1BWF9WQUxVRSk7XG5cdFx0dGhpcy5iQ29uZmlnTG9hZGVkID0gZmFsc2U7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cblx0XHRpZiAodHlwZW9mIHBhZ2VDb25maWcgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0Y29uc3QgZm5HZXRPYmplY3QgPSB0aGlzLm9Db25maWdNb2RlbC5fZ2V0T2JqZWN0LmJpbmQodGhpcy5vQ29uZmlnTW9kZWwpO1xuXHRcdFx0dGhpcy5vQ29uZmlnTW9kZWwuX2dldE9iamVjdCA9IGZ1bmN0aW9uIChzUGF0aDogYW55LCBvQ29udGV4dDogYW55KSB7XG5cdFx0XHRcdGlmICghdGhhdC5iQ29uZmlnTG9hZGVkKSB7XG5cdFx0XHRcdFx0dGhpcy5zZXREYXRhKHBhZ2VDb25maWcoKSk7XG5cdFx0XHRcdFx0dGhhdC5iQ29uZmlnTG9hZGVkID0gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gZm5HZXRPYmplY3Qoc1BhdGgsIG9Db250ZXh0KTtcblx0XHRcdH07XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMub0NvbmZpZ01vZGVsLnNldERhdGEocGFnZUNvbmZpZyk7XG5cdFx0fVxuXG5cdFx0dGhpcy5mbkNyZWF0ZU1ldGFCaW5kaW5nQ29udGV4dCA9IHRoaXMub01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dC5iaW5kKHRoaXMub01ldGFNb2RlbCk7XG5cdFx0dGhpcy5mbkNyZWF0ZUNvbmZpZ0JpbmRpbmdDb250ZXh0ID0gdGhpcy5vQ29uZmlnTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQuYmluZCh0aGlzLm9Db25maWdNb2RlbCk7XG5cblx0XHR0aGlzLm9Db25maWdNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dCA9IHRoaXMuY3JlYXRlQmluZGluZ0NvbnRleHQuYmluZCh0aGlzKTtcblx0XHRyZXR1cm4gdGhpcy5vQ29uZmlnTW9kZWw7XG5cdH1cblxuXHRjcmVhdGVCaW5kaW5nQ29udGV4dChzUGF0aDogYW55LCBvQ29udGV4dD86IGFueSwgbVBhcmFtZXRlcnM/OiBhbnksIGZuQ2FsbEJhY2s/OiBhbnkpIHtcblx0XHRsZXQgb0JpbmRpbmdDb250ZXh0O1xuXHRcdGNvbnN0IGJOb1Jlc29sdmUgPSBtUGFyYW1ldGVycyAmJiBtUGFyYW1ldGVycy5ub1Jlc29sdmU7XG5cblx0XHRvQmluZGluZ0NvbnRleHQgPSB0aGlzLmZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQoc1BhdGgsIG9Db250ZXh0LCBtUGFyYW1ldGVycywgZm5DYWxsQmFjayk7XG5cdFx0Y29uc3Qgc1Jlc29sdmVkUGF0aCA9ICFiTm9SZXNvbHZlICYmIG9CaW5kaW5nQ29udGV4dC5nZXRPYmplY3QoKTtcblx0XHRpZiAoc1Jlc29sdmVkUGF0aCAmJiB0eXBlb2Ygc1Jlc29sdmVkUGF0aCA9PT0gXCJzdHJpbmdcIikge1xuXHRcdFx0b0JpbmRpbmdDb250ZXh0ID0gdGhpcy5mbkNyZWF0ZU1ldGFCaW5kaW5nQ29udGV4dChzUmVzb2x2ZWRQYXRoLCBvQ29udGV4dCwgbVBhcmFtZXRlcnMsIGZuQ2FsbEJhY2spO1xuXHRcdH1cblxuXHRcdHJldHVybiBvQmluZGluZ0NvbnRleHQ7XG5cdH1cblxuXHRkZXN0cm95KCkge1xuXHRcdHRoaXMub0NvbmZpZ01vZGVsLmRlc3Ryb3koKTtcblx0XHRKU09OTW9kZWwucHJvdG90eXBlLmRlc3Ryb3kuYXBwbHkodGhpcyk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgVGVtcGxhdGVNb2RlbDtcbiJdfQ==
@@ -1,9 +1,9 @@
1
+ import { defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
1
2
  import BaseObject from "sap/ui/base/Object";
2
3
  import JSONModel from "sap/ui/model/json/JSONModel";
3
- import { UI5Class } from "sap/fe/core/helpers/ClassSupport";
4
4
  import ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
5
5
 
6
- @UI5Class("sap.fe.core.TemplateModel")
6
+ @defineUI5Class("sap.fe.core.TemplateModel")
7
7
  class TemplateModel extends BaseObject {
8
8
  public oMetaModel: ODataMetaModel;
9
9
  public oConfigModel: any;
@@ -23,7 +23,7 @@ class TemplateModel extends BaseObject {
23
23
 
24
24
  if (typeof pageConfig === "function") {
25
25
  const fnGetObject = this.oConfigModel._getObject.bind(this.oConfigModel);
26
- this.oConfigModel._getObject = function(sPath: any, oContext: any) {
26
+ this.oConfigModel._getObject = function (sPath: any, oContext: any) {
27
27
  if (!that.bConfigLoaded) {
28
28
  this.setData(pageConfig());
29
29
  that.bConfigLoaded = true;
@@ -0,0 +1,60 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/base/Log", "sap/base/util/ObjectPath", "sap/ui/model/json/JSONModel"], function (Log, ObjectPath, JSONModel) {
6
+ "use strict";
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
+ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
11
+
12
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
13
+
14
+ var AttributeModel = /*#__PURE__*/function (_JSONModel) {
15
+ _inheritsLoose(AttributeModel, _JSONModel);
16
+
17
+ function AttributeModel(oNode, oProps, buildingBlockDefinition) {
18
+ var _this;
19
+
20
+ _this = _JSONModel.call(this) || this;
21
+ _this.oNode = oNode;
22
+ _this.oProps = oProps;
23
+ _this.buildingBlockDefinition = buildingBlockDefinition;
24
+ _assertThisInitialized(_this).$$valueAsPromise = true;
25
+ return _this;
26
+ }
27
+
28
+ var _proto = AttributeModel.prototype;
29
+
30
+ _proto._getObject = function _getObject(sPath) {
31
+ if ((sPath === undefined || sPath === "") && this.oProps) {
32
+ return this.oProps;
33
+ } // just return the attribute - we can't validate them and we don't support aggregations for now
34
+
35
+
36
+ var oValue = ObjectPath.get(sPath.replace(/\//g, "."), this.oProps);
37
+
38
+ if (oValue !== undefined) {
39
+ return oValue;
40
+ } // Deal with undefined properties
41
+
42
+
43
+ if (this.oProps && this.oProps.hasOwnProperty(sPath)) {
44
+ return this.oProps[sPath];
45
+ }
46
+
47
+ if (sPath.indexOf(":") === -1 && sPath.indexOf("/") === -1) {
48
+ // 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
49
+ Log.error("Missing property ".concat(sPath, " on macro metadata ").concat(this.buildingBlockDefinition.name)); //throw new Error(`Missing property ${sPath} on macro metadata ${this.buildingBlockDefinition.name}`);
50
+ }
51
+
52
+ return this.oNode.getAttribute(sPath);
53
+ };
54
+
55
+ return AttributeModel;
56
+ }(JSONModel);
57
+
58
+ return AttributeModel;
59
+ }, false);
60
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkF0dHJpYnV0ZU1vZGVsLnRzIl0sIm5hbWVzIjpbIkF0dHJpYnV0ZU1vZGVsIiwib05vZGUiLCJvUHJvcHMiLCJidWlsZGluZ0Jsb2NrRGVmaW5pdGlvbiIsIiQkdmFsdWVBc1Byb21pc2UiLCJfZ2V0T2JqZWN0Iiwic1BhdGgiLCJ1bmRlZmluZWQiLCJvVmFsdWUiLCJPYmplY3RQYXRoIiwiZ2V0IiwicmVwbGFjZSIsImhhc093blByb3BlcnR5IiwiaW5kZXhPZiIsIkxvZyIsImVycm9yIiwibmFtZSIsImdldEF0dHJpYnV0ZSIsIkpTT05Nb2RlbCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7OztNQUdNQSxjOzs7QUFDTCw0QkFDa0JDLEtBRGxCLEVBRWtCQyxNQUZsQixFQUdrQkMsdUJBSGxCLEVBSUU7QUFBQTs7QUFDRDtBQURDLFlBSGdCRixLQUdoQixHQUhnQkEsS0FHaEI7QUFBQSxZQUZnQkMsTUFFaEIsR0FGZ0JBLE1BRWhCO0FBQUEsWUFEZ0JDLHVCQUNoQixHQURnQkEsdUJBQ2hCO0FBRUQsb0NBQWNDLGdCQUFkLEdBQWlDLElBQWpDO0FBRkM7QUFHRDs7OztXQUNEQyxVLEdBQUEsb0JBQVdDLEtBQVgsRUFBeUM7QUFDeEMsVUFBSSxDQUFDQSxLQUFLLEtBQUtDLFNBQVYsSUFBdUJELEtBQUssS0FBSyxFQUFsQyxLQUF5QyxLQUFLSixNQUFsRCxFQUEwRDtBQUN6RCxlQUFPLEtBQUtBLE1BQVo7QUFDQSxPQUh1QyxDQUl4Qzs7O0FBQ0EsVUFBTU0sTUFBTSxHQUFHQyxVQUFVLENBQUNDLEdBQVgsQ0FBZUosS0FBSyxDQUFDSyxPQUFOLENBQWMsS0FBZCxFQUFxQixHQUFyQixDQUFmLEVBQTBDLEtBQUtULE1BQS9DLENBQWY7O0FBQ0EsVUFBSU0sTUFBTSxLQUFLRCxTQUFmLEVBQTBCO0FBQ3pCLGVBQU9DLE1BQVA7QUFDQSxPQVJ1QyxDQVN4Qzs7O0FBQ0EsVUFBSSxLQUFLTixNQUFMLElBQWUsS0FBS0EsTUFBTCxDQUFZVSxjQUFaLENBQTJCTixLQUEzQixDQUFuQixFQUFzRDtBQUNyRCxlQUFPLEtBQUtKLE1BQUwsQ0FBWUksS0FBWixDQUFQO0FBQ0E7O0FBQ0QsVUFBSUEsS0FBSyxDQUFDTyxPQUFOLENBQWMsR0FBZCxNQUF1QixDQUFDLENBQXhCLElBQTZCUCxLQUFLLENBQUNPLE9BQU4sQ0FBYyxHQUFkLE1BQXVCLENBQUMsQ0FBekQsRUFBNEQ7QUFDM0Q7QUFDQUMsUUFBQUEsR0FBRyxDQUFDQyxLQUFKLDRCQUE4QlQsS0FBOUIsZ0NBQXlELEtBQUtILHVCQUFMLENBQTZCYSxJQUF0RixHQUYyRCxDQUczRDtBQUNBOztBQUNELGFBQU8sS0FBS2YsS0FBTCxDQUFXZ0IsWUFBWCxDQUF3QlgsS0FBeEIsQ0FBUDtBQUNBLEs7OztJQTVCMkJZLFM7O1NBK0JkbEIsYyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgT2JqZWN0UGF0aCBmcm9tIFwic2FwL2Jhc2UvdXRpbC9PYmplY3RQYXRoXCI7XG5pbXBvcnQgeyBCdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrXCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcblxuY2xhc3MgQXR0cmlidXRlTW9kZWwgZXh0ZW5kcyBKU09OTW9kZWwge1xuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IG9Ob2RlOiBFbGVtZW50LFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgb1Byb3BzOiBhbnksXG5cdFx0cHJpdmF0ZSByZWFkb25seSBidWlsZGluZ0Jsb2NrRGVmaW5pdGlvbjogQnVpbGRpbmdCbG9ja0RlZmluaXRpb25cblx0KSB7XG5cdFx0c3VwZXIoKTtcblx0XHQodGhpcyBhcyBhbnkpLiQkdmFsdWVBc1Byb21pc2UgPSB0cnVlO1xuXHR9XG5cdF9nZXRPYmplY3Qoc1BhdGg6IGFueSAvKm9Db250ZXh0OiBhbnkqLykge1xuXHRcdGlmICgoc1BhdGggPT09IHVuZGVmaW5lZCB8fCBzUGF0aCA9PT0gXCJcIikgJiYgdGhpcy5vUHJvcHMpIHtcblx0XHRcdHJldHVybiB0aGlzLm9Qcm9wcztcblx0XHR9XG5cdFx0Ly8ganVzdCByZXR1cm4gdGhlIGF0dHJpYnV0ZSAtIHdlIGNhbid0IHZhbGlkYXRlIHRoZW0gYW5kIHdlIGRvbid0IHN1cHBvcnQgYWdncmVnYXRpb25zIGZvciBub3dcblx0XHRjb25zdCBvVmFsdWUgPSBPYmplY3RQYXRoLmdldChzUGF0aC5yZXBsYWNlKC9cXC8vZywgXCIuXCIpLCB0aGlzLm9Qcm9wcyk7XG5cdFx0aWYgKG9WYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRyZXR1cm4gb1ZhbHVlO1xuXHRcdH1cblx0XHQvLyBEZWFsIHdpdGggdW5kZWZpbmVkIHByb3BlcnRpZXNcblx0XHRpZiAodGhpcy5vUHJvcHMgJiYgdGhpcy5vUHJvcHMuaGFzT3duUHJvcGVydHkoc1BhdGgpKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5vUHJvcHNbc1BhdGhdO1xuXHRcdH1cblx0XHRpZiAoc1BhdGguaW5kZXhPZihcIjpcIikgPT09IC0xICYmIHNQYXRoLmluZGV4T2YoXCIvXCIpID09PSAtMSkge1xuXHRcdFx0Ly8gR2xvdmVzIGFyZSBvZmYsIGlmIHlvdSBoYXZlIHRoaXMgZXJyb3IgeW91IGZvcmdvdCB0byBkZWZpbmUgeW91ciBwcm9wZXJ0eSBvbiB5b3VyIG1ldGFkYXRhIGJ1dCBhcmUgc3RpbGwgdXNpbmcgaXQgaW4gdGhlIHVuZGVybHlpbmcgY29kZVxuXHRcdFx0TG9nLmVycm9yKGBNaXNzaW5nIHByb3BlcnR5ICR7c1BhdGh9IG9uIG1hY3JvIG1ldGFkYXRhICR7dGhpcy5idWlsZGluZ0Jsb2NrRGVmaW5pdGlvbi5uYW1lfWApO1xuXHRcdFx0Ly90aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgcHJvcGVydHkgJHtzUGF0aH0gb24gbWFjcm8gbWV0YWRhdGEgJHt0aGlzLmJ1aWxkaW5nQmxvY2tEZWZpbml0aW9uLm5hbWV9YCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLm9Ob2RlLmdldEF0dHJpYnV0ZShzUGF0aCk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQXR0cmlidXRlTW9kZWw7XG4iXX0=
@@ -0,0 +1,37 @@
1
+ import Log from "sap/base/Log";
2
+ import ObjectPath from "sap/base/util/ObjectPath";
3
+ import { BuildingBlockDefinition } from "sap/fe/core/buildingBlocks/BuildingBlock";
4
+ import JSONModel from "sap/ui/model/json/JSONModel";
5
+
6
+ class AttributeModel extends JSONModel {
7
+ constructor(
8
+ private readonly oNode: Element,
9
+ private readonly oProps: any,
10
+ private readonly buildingBlockDefinition: BuildingBlockDefinition
11
+ ) {
12
+ super();
13
+ (this as any).$$valueAsPromise = true;
14
+ }
15
+ _getObject(sPath: any /*oContext: any*/) {
16
+ if ((sPath === undefined || sPath === "") && this.oProps) {
17
+ return this.oProps;
18
+ }
19
+ // just return the attribute - we can't validate them and we don't support aggregations for now
20
+ const oValue = ObjectPath.get(sPath.replace(/\//g, "."), this.oProps);
21
+ if (oValue !== undefined) {
22
+ return oValue;
23
+ }
24
+ // Deal with undefined properties
25
+ if (this.oProps && this.oProps.hasOwnProperty(sPath)) {
26
+ return this.oProps[sPath];
27
+ }
28
+ if (sPath.indexOf(":") === -1 && sPath.indexOf("/") === -1) {
29
+ // 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
30
+ Log.error(`Missing property ${sPath} on macro metadata ${this.buildingBlockDefinition.name}`);
31
+ //throw new Error(`Missing property ${sPath} on macro metadata ${this.buildingBlockDefinition.name}`);
32
+ }
33
+ return this.oNode.getAttribute(sPath);
34
+ }
35
+ }
36
+
37
+ export default AttributeModel;