@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
@@ -0,0 +1,165 @@
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/util/deepClone", "sap/fe/core/buildingBlocks/BuildingBlockRuntime", "sap/fe/core/helpers/StableIdHelper"], function (deepClone, BuildingBlockRuntime, StableIdHelper) {
6
+ "use strict";
7
+
8
+ var _exports = {};
9
+ var generate = StableIdHelper.generate;
10
+ var registerBuildingBlock = BuildingBlockRuntime.registerBuildingBlock;
11
+
12
+ /**
13
+ * Base class for Building Block
14
+ */
15
+ var BuildingBlockBase = /*#__PURE__*/function () {
16
+ function BuildingBlockBase(oProps) {
17
+ var _this = this;
18
+
19
+ Object.keys(oProps).forEach(function (propName) {
20
+ _this[propName] = oProps[propName];
21
+ });
22
+ }
23
+ /**
24
+ * Convert the given local element ID to a globally unique ID by prefixing with the Building Block ID.
25
+ *
26
+ * @param stringParts
27
+ * @returns Either the global ID or undefined if the Building Block doesn't have an ID
28
+ */
29
+
30
+
31
+ _exports.BuildingBlockBase = BuildingBlockBase;
32
+ var _proto = BuildingBlockBase.prototype;
33
+
34
+ _proto.createId = function createId() {
35
+ // If the child instance has an ID property use it otherwise return undefined
36
+ if (this.id) {
37
+ for (var _len = arguments.length, stringParts = new Array(_len), _key = 0; _key < _len; _key++) {
38
+ stringParts[_key] = arguments[_key];
39
+ }
40
+
41
+ return generate([this.id].concat(stringParts));
42
+ }
43
+
44
+ return undefined;
45
+ }
46
+ /*
47
+ // This block is commented out because I am not using them for now / need to change this but still want to keep them around
48
+ static getConverterContext = function (oVisualizationObjectPath: any, contextPath: any, mSettings: any, mExtraParams?: any) {
49
+ const oAppComponent = mSettings.appComponent;
50
+ const originalViewData = mSettings.models.viewData && mSettings.models.viewData.getData();
51
+ let viewData = Object.assign({}, originalViewData);
52
+ delete viewData.resourceBundle;
53
+ viewData = deepClone(viewData);
54
+ viewData.controlConfiguration = merge(viewData.controlConfiguration, mExtraParams);
55
+ return ConverterContext.createConverterContextForMacro(
56
+ oVisualizationObjectPath.startingEntitySet.name,
57
+ mSettings.models.metaModel,
58
+ oAppComponent && oAppComponent.getDiagnostics(),
59
+ merge,
60
+ oVisualizationObjectPath.contextLocation,
61
+ viewData
62
+ );
63
+ };
64
+ static getMetadata() {
65
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
66
+ // @ts-ignore
67
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
68
+ return {
69
+ getAllProperties(this: BuildingBlockDefinition) {
70
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
71
+ // @ts-ignore
72
+ return this.metadata.properties;
73
+ },
74
+ getName(this: BuildingBlockDefinition) {
75
+ return `${this.namespace}.${this.name}`;
76
+ },
77
+ getAllAggregations() {
78
+ return {};
79
+ },
80
+ getDefaultAggregationName() {
81
+ return "";
82
+ }
83
+ };
84
+ }*/
85
+ ;
86
+
87
+ BuildingBlockBase.register = function register() {// To be overriden
88
+ };
89
+
90
+ return BuildingBlockBase;
91
+ }();
92
+
93
+ _exports.BuildingBlockBase = BuildingBlockBase;
94
+
95
+ var ensureMetadata = function (target) {
96
+ if (!target.hasOwnProperty("metadata")) {
97
+ target.metadata = deepClone(target.metadata || {
98
+ properties: {},
99
+ aggregations: {},
100
+ events: {}
101
+ });
102
+ }
103
+
104
+ return target.metadata;
105
+ };
106
+ /**
107
+ * Indicates that the property shall be declared as an xml attribute that can be used from the outside of the building block.
108
+ *
109
+ * @param attributeDefinition
110
+ * @returns The decorated property
111
+ */
112
+
113
+
114
+ function xmlAttribute(attributeDefinition) {
115
+ return function (target, propertyKey, propertyDescriptor) {
116
+ var metadata = ensureMetadata(target.constructor);
117
+ delete propertyDescriptor.initializer;
118
+
119
+ if (!metadata.properties[propertyKey]) {
120
+ metadata.properties[propertyKey] = attributeDefinition;
121
+ }
122
+
123
+ return propertyDescriptor;
124
+ };
125
+ }
126
+
127
+ _exports.xmlAttribute = xmlAttribute;
128
+
129
+ function xmlEvent() {
130
+ return function (target, propertyKey, propertyDescriptor) {
131
+ var metadata = ensureMetadata(target.constructor);
132
+ delete propertyDescriptor.initializer;
133
+
134
+ if (!metadata.events[propertyKey]) {
135
+ metadata.events[propertyKey] = {
136
+ type: "Function"
137
+ };
138
+ }
139
+
140
+ return propertyDescriptor;
141
+ };
142
+ }
143
+
144
+ _exports.xmlEvent = xmlEvent;
145
+
146
+ function defineBuildingBlock(oBuildingBlockDefinition) {
147
+ return function (classDefinition) {
148
+ ensureMetadata(classDefinition);
149
+ classDefinition.xmlTag = oBuildingBlockDefinition.name;
150
+ classDefinition.namespace = oBuildingBlockDefinition.namespace;
151
+ classDefinition.publicNamespace = oBuildingBlockDefinition.publicNamespace;
152
+ classDefinition.fragment = oBuildingBlockDefinition.fragment;
153
+ classDefinition.isOpen = oBuildingBlockDefinition.isOpen;
154
+ classDefinition.apiVersion = 2;
155
+
156
+ classDefinition.register = function () {
157
+ registerBuildingBlock(classDefinition);
158
+ };
159
+ };
160
+ }
161
+
162
+ _exports.defineBuildingBlock = defineBuildingBlock;
163
+ return _exports;
164
+ }, false);
165
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJ1aWxkaW5nQmxvY2sudHMiXSwibmFtZXMiOlsiQnVpbGRpbmdCbG9ja0Jhc2UiLCJvUHJvcHMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsInByb3BOYW1lIiwiY3JlYXRlSWQiLCJpZCIsInN0cmluZ1BhcnRzIiwiZ2VuZXJhdGUiLCJ1bmRlZmluZWQiLCJyZWdpc3RlciIsImVuc3VyZU1ldGFkYXRhIiwidGFyZ2V0IiwiaGFzT3duUHJvcGVydHkiLCJtZXRhZGF0YSIsImRlZXBDbG9uZSIsInByb3BlcnRpZXMiLCJhZ2dyZWdhdGlvbnMiLCJldmVudHMiLCJ4bWxBdHRyaWJ1dGUiLCJhdHRyaWJ1dGVEZWZpbml0aW9uIiwicHJvcGVydHlLZXkiLCJwcm9wZXJ0eURlc2NyaXB0b3IiLCJjb25zdHJ1Y3RvciIsImluaXRpYWxpemVyIiwieG1sRXZlbnQiLCJ0eXBlIiwiZGVmaW5lQnVpbGRpbmdCbG9jayIsIm9CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbiIsImNsYXNzRGVmaW5pdGlvbiIsInhtbFRhZyIsIm5hbWUiLCJuYW1lc3BhY2UiLCJwdWJsaWNOYW1lc3BhY2UiLCJmcmFnbWVudCIsImlzT3BlbiIsImFwaVZlcnNpb24iLCJyZWdpc3RlckJ1aWxkaW5nQmxvY2siXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FBQ0E7QUFDQTtBQUNBO01BQ2FBLGlCO0FBQ1osK0JBQVlDLE1BQVosRUFBeUM7QUFBQTs7QUFDeENDLE1BQUFBLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZRixNQUFaLEVBQW9CRyxPQUFwQixDQUE0QixVQUFDQyxRQUFELEVBQWM7QUFDekMsUUFBQSxLQUFJLENBQUNBLFFBQUQsQ0FBSixHQUErQkosTUFBTSxDQUFDSSxRQUFELENBQXJDO0FBQ0EsT0FGRDtBQUdBO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7V0FDUUMsUSxHQUFQLG9CQUEwQztBQUN6QztBQUNBLFVBQUssSUFBRCxDQUFjQyxFQUFs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LE1BQUFBLGVBQWUsQ0FBQ25CLFFBQWhCLEdBQTJCLFlBQVk7QUFDdEMyQixRQUFBQSxxQkFBcUIsQ0FBQ1IsZUFBRCxDQUFyQjtBQUNBLE9BRkQ7QUFHQSxLQVhEO0FBWUEiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWVwQ2xvbmUgZnJvbSBcInNhcC9iYXNlL3V0aWwvZGVlcENsb25lXCI7XG5pbXBvcnQgeyByZWdpc3RlckJ1aWxkaW5nQmxvY2sgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1J1bnRpbWVcIjtcbmltcG9ydCB7IGdlbmVyYXRlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvU3RhYmxlSWRIZWxwZXJcIjtcbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgQnVpbGRpbmcgQmxvY2tcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1aWxkaW5nQmxvY2tCYXNlIHtcblx0Y29uc3RydWN0b3Iob1Byb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG5cdFx0T2JqZWN0LmtleXMob1Byb3BzKS5mb3JFYWNoKChwcm9wTmFtZSkgPT4ge1xuXHRcdFx0dGhpc1twcm9wTmFtZSBhcyBrZXlvZiB0aGlzXSA9IG9Qcm9wc1twcm9wTmFtZV07XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogQ29udmVydCB0aGUgZ2l2ZW4gbG9jYWwgZWxlbWVudCBJRCB0byBhIGdsb2JhbGx5IHVuaXF1ZSBJRCBieSBwcmVmaXhpbmcgd2l0aCB0aGUgQnVpbGRpbmcgQmxvY2sgSUQuXG5cdCAqXG5cdCAqIEBwYXJhbSBzdHJpbmdQYXJ0c1xuXHQgKiBAcmV0dXJucyBFaXRoZXIgdGhlIGdsb2JhbCBJRCBvciB1bmRlZmluZWQgaWYgdGhlIEJ1aWxkaW5nIEJsb2NrIGRvZXNuJ3QgaGF2ZSBhbiBJRFxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUlkKC4uLnN0cmluZ1BhcnRzOiBzdHJpbmdbXSkge1xuXHRcdC8vIElmIHRoZSBjaGlsZCBpbnN0YW5jZSBoYXMgYW4gSUQgcHJvcGVydHkgdXNlIGl0IG90aGVyd2lzZSByZXR1cm4gdW5kZWZpbmVkXG5cdFx0aWYgKCh0aGlzIGFzIGFueSkuaWQpIHtcblx0XHRcdHJldHVybiBnZW5lcmF0ZShbKHRoaXMgYXMgYW55KS5pZCwgLi4uc3RyaW5nUGFydHNdKTtcblx0XHR9XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXHQvKlxuXHQvLyBUaGlzIGJsb2NrIGlzIGNvbW1lbnRlZCBvdXQgYmVjYXVzZSBJIGFtIG5vdCB1c2luZyB0aGVtIGZvciBub3cgLyBuZWVkIHRvIGNoYW5nZSB0aGlzIGJ1dCBzdGlsbCB3YW50IHRvIGtlZXAgdGhlbSBhcm91bmRcblx0c3RhdGljIGdldENvbnZlcnRlckNvbnRleHQgPSBmdW5jdGlvbiAob1Zpc3VhbGl6YXRpb25PYmplY3RQYXRoOiBhbnksIGNvbnRleHRQYXRoOiBhbnksIG1TZXR0aW5nczogYW55LCBtRXh0cmFQYXJhbXM/OiBhbnkpIHtcblx0XHRjb25zdCBvQXBwQ29tcG9uZW50ID0gbVNldHRpbmdzLmFwcENvbXBvbmVudDtcblx0XHRjb25zdCBvcmlnaW5hbFZpZXdEYXRhID0gbVNldHRpbmdzLm1vZGVscy52aWV3RGF0YSAmJiBtU2V0dGluZ3MubW9kZWxzLnZpZXdEYXRhLmdldERhdGEoKTtcblx0XHRsZXQgdmlld0RhdGEgPSBPYmplY3QuYXNzaWduKHt9LCBvcmlnaW5hbFZpZXdEYXRhKTtcblx0XHRkZWxldGUgdmlld0RhdGEucmVzb3VyY2VCdW5kbGU7XG5cdFx0dmlld0RhdGEgPSBkZWVwQ2xvbmUodmlld0RhdGEpO1xuXHRcdHZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uID0gbWVyZ2Uodmlld0RhdGEuY29udHJvbENvbmZpZ3VyYXRpb24sIG1FeHRyYVBhcmFtcyk7XG5cdFx0cmV0dXJuIENvbnZlcnRlckNvbnRleHQuY3JlYXRlQ29udmVydGVyQ29udGV4dEZvck1hY3JvKFxuXHRcdFx0b1Zpc3VhbGl6YXRpb25PYmplY3RQYXRoLnN0YXJ0aW5nRW50aXR5U2V0Lm5hbWUsXG5cdFx0XHRtU2V0dGluZ3MubW9kZWxzLm1ldGFNb2RlbCxcblx0XHRcdG9BcHBDb21wb25lbnQgJiYgb0FwcENvbXBvbmVudC5nZXREaWFnbm9zdGljcygpLFxuXHRcdFx0bWVyZ2UsXG5cdFx0XHRvVmlzdWFsaXphdGlvbk9iamVjdFBhdGguY29udGV4dExvY2F0aW9uLFxuXHRcdFx0dmlld0RhdGFcblx0XHQpO1xuXHR9O1xuXHRzdGF0aWMgZ2V0TWV0YWRhdGEoKSB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcblx0XHRyZXR1cm4ge1xuXHRcdFx0Z2V0QWxsUHJvcGVydGllcyh0aGlzOiBCdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbikge1xuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG5cdFx0XHRcdC8vIEB0cy1pZ25vcmVcblx0XHRcdFx0cmV0dXJuIHRoaXMubWV0YWRhdGEucHJvcGVydGllcztcblx0XHRcdH0sXG5cdFx0XHRnZXROYW1lKHRoaXM6IEJ1aWxkaW5nQmxvY2tEZWZpbml0aW9uKSB7XG5cdFx0XHRcdHJldHVybiBgJHt0aGlzLm5hbWVzcGFjZX0uJHt0aGlzLm5hbWV9YDtcblx0XHRcdH0sXG5cdFx0XHRnZXRBbGxBZ2dyZWdhdGlvbnMoKSB7XG5cdFx0XHRcdHJldHVybiB7fTtcblx0XHRcdH0sXG5cdFx0XHRnZXREZWZhdWx0QWdncmVnYXRpb25OYW1lKCkge1xuXHRcdFx0XHRyZXR1cm4gXCJcIjtcblx0XHRcdH1cblx0XHR9O1xuXHR9Ki9cblx0c3RhdGljIHJlZ2lzdGVyKCkge1xuXHRcdC8vIFRvIGJlIG92ZXJyaWRlblxuXHR9XG59XG5cbmV4cG9ydCB0eXBlIEJ1aWxkaW5nQmxvY2tQcm9wZXJ0eURlZmluaXRpb24gPSB7XG5cdHR5cGU6IHN0cmluZztcblx0aXNQdWJsaWM/OiBib29sZWFuO1xuXHRkZWZhdWx0VmFsdWU/OiBhbnk7XG5cdGNvbXB1dGVkPzogYm9vbGVhbjtcblx0cmVxdWlyZWQ/OiBib29sZWFuO1xuXHQka2luZD86IHN0cmluZ1tdO1xufTtcbmV4cG9ydCB0eXBlIEJ1aWxkaW5nQmxvY2tNZXRhZGF0YUNvbnRleHREZWZpbml0aW9uID0ge1xuXHR0eXBlOiBzdHJpbmc7XG5cdGlzUHVibGljPzogYm9vbGVhbjtcblx0cmVxdWlyZWQ/OiBib29sZWFuO1xuXHRjb21wdXRlZD86IGJvb2xlYW47XG5cdCRUeXBlPzogc3RyaW5nW107XG5cdCRraW5kPzogc3RyaW5nW107XG59O1xuZXhwb3J0IHR5cGUgQnVpbGRpbmdCbG9ja0V2ZW50ID0ge307XG5leHBvcnQgdHlwZSBCdWlsZGluZ0Jsb2NrQWdncmVnYXRpb25EZWZpbml0aW9uID0ge1xuXHRpc1B1YmxpYz86IGJvb2xlYW47XG5cdHR5cGU6IHN0cmluZztcblx0c2xvdD86IHN0cmluZztcbn07XG50eXBlIENvbW1vbkJ1aWxkaW5nQmxvY2tEZWZpbml0aW9uID0ge1xuXHRuYW1lc3BhY2U6IHN0cmluZztcblx0bmFtZTogc3RyaW5nO1xuXHR4bWxUYWc/OiBzdHJpbmc7XG5cdGZyYWdtZW50Pzogc3RyaW5nO1xuXHRwdWJsaWNOYW1lc3BhY2U/OiBzdHJpbmc7XG5cblx0aXNPcGVuPzogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBCdWlsZGluZ0Jsb2NrRGVmaW5pdGlvblYyID0gQ29tbW9uQnVpbGRpbmdCbG9ja0RlZmluaXRpb24gJlxuXHR0eXBlb2YgQnVpbGRpbmdCbG9ja0Jhc2UgJiB7XG5cdFx0YXBpVmVyc2lvbjogMjtcblx0XHRtZXRhZGF0YTogQnVpbGRpbmdCbG9ja01ldGFkYXRhO1xuXHR9O1xuXG5leHBvcnQgdHlwZSBCdWlsZGluZ0Jsb2NrRGVmaW5pdGlvblYxID0gQ29tbW9uQnVpbGRpbmdCbG9ja0RlZmluaXRpb24gJiB7XG5cdG5hbWU6IHN0cmluZztcblx0YXBpVmVyc2lvbj86IDE7XG5cdGNyZWF0ZT86IEZ1bmN0aW9uO1xuXHRnZXRUZW1wbGF0ZT86IEZ1bmN0aW9uO1xuXHRtZXRhZGF0YTogQnVpbGRpbmdCbG9ja01ldGFkYXRhO1xufTtcbmV4cG9ydCB0eXBlIEJ1aWxkaW5nQmxvY2tEZWZpbml0aW9uID0gQnVpbGRpbmdCbG9ja0RlZmluaXRpb25WMiB8IEJ1aWxkaW5nQmxvY2tEZWZpbml0aW9uVjE7XG5leHBvcnQgdHlwZSBCdWlsZGluZ0Jsb2NrTWV0YWRhdGEgPSB7XG5cdGV2ZW50czogUmVjb3JkPHN0cmluZywgQnVpbGRpbmdCbG9ja0V2ZW50Pjtcblx0cHJvcGVydGllczogUmVjb3JkPHN0cmluZywgQnVpbGRpbmdCbG9ja1Byb3BlcnR5RGVmaW5pdGlvbj47XG5cdGFnZ3JlZ2F0aW9uczogUmVjb3JkPHN0cmluZywgQnVpbGRpbmdCbG9ja0FnZ3JlZ2F0aW9uRGVmaW5pdGlvbj47XG59O1xuXG5jb25zdCBlbnN1cmVNZXRhZGF0YSA9IGZ1bmN0aW9uICh0YXJnZXQ6IGFueSk6IEJ1aWxkaW5nQmxvY2tNZXRhZGF0YSB7XG5cdGlmICghdGFyZ2V0Lmhhc093blByb3BlcnR5KFwibWV0YWRhdGFcIikpIHtcblx0XHR0YXJnZXQubWV0YWRhdGEgPSBkZWVwQ2xvbmUoXG5cdFx0XHR0YXJnZXQubWV0YWRhdGEgfHwge1xuXHRcdFx0XHRwcm9wZXJ0aWVzOiB7fSxcblx0XHRcdFx0YWdncmVnYXRpb25zOiB7fSxcblx0XHRcdFx0ZXZlbnRzOiB7fVxuXHRcdFx0fVxuXHRcdCk7XG5cdH1cblx0cmV0dXJuIHRhcmdldC5tZXRhZGF0YTtcbn07XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIHByb3BlcnR5IHNoYWxsIGJlIGRlY2xhcmVkIGFzIGFuIHhtbCBhdHRyaWJ1dGUgdGhhdCBjYW4gYmUgdXNlZCBmcm9tIHRoZSBvdXRzaWRlIG9mIHRoZSBidWlsZGluZyBibG9jay5cbiAqXG4gKiBAcGFyYW0gYXR0cmlidXRlRGVmaW5pdGlvblxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBwcm9wZXJ0eVxuICovXG5leHBvcnQgZnVuY3Rpb24geG1sQXR0cmlidXRlKGF0dHJpYnV0ZURlZmluaXRpb246IEJ1aWxkaW5nQmxvY2tQcm9wZXJ0eURlZmluaXRpb24pOiBQcm9wZXJ0eURlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBCdWlsZGluZ0Jsb2NrQmFzZSwgcHJvcGVydHlLZXk6IHN0cmluZywgcHJvcGVydHlEZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxhbnk+KSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQuY29uc3RydWN0b3IpO1xuXHRcdGRlbGV0ZSAocHJvcGVydHlEZXNjcmlwdG9yIGFzIGFueSkuaW5pdGlhbGl6ZXI7XG5cdFx0aWYgKCFtZXRhZGF0YS5wcm9wZXJ0aWVzW3Byb3BlcnR5S2V5XSkge1xuXHRcdFx0bWV0YWRhdGEucHJvcGVydGllc1twcm9wZXJ0eUtleV0gPSBhdHRyaWJ1dGVEZWZpbml0aW9uO1xuXHRcdH1cblxuXHRcdHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG5cdH0gYXMgYW55O1xufVxuXG5leHBvcnQgZnVuY3Rpb24geG1sRXZlbnQoKTogUHJvcGVydHlEZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogQnVpbGRpbmdCbG9ja0Jhc2UsIHByb3BlcnR5S2V5OiBzdHJpbmcsIHByb3BlcnR5RGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8YW55Pikge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gZW5zdXJlTWV0YWRhdGEodGFyZ2V0LmNvbnN0cnVjdG9yKTtcblx0XHRkZWxldGUgKHByb3BlcnR5RGVzY3JpcHRvciBhcyBhbnkpLmluaXRpYWxpemVyO1xuXHRcdGlmICghbWV0YWRhdGEuZXZlbnRzW3Byb3BlcnR5S2V5XSkge1xuXHRcdFx0bWV0YWRhdGEuZXZlbnRzW3Byb3BlcnR5S2V5XSA9IHsgdHlwZTogXCJGdW5jdGlvblwiIH07XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHByb3BlcnR5RGVzY3JpcHRvcjtcblx0fSBhcyBhbnk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVCdWlsZGluZ0Jsb2NrKG9CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbjogQ29tbW9uQnVpbGRpbmdCbG9ja0RlZmluaXRpb24pIHtcblx0cmV0dXJuIGZ1bmN0aW9uIChjbGFzc0RlZmluaXRpb246IGFueSkge1xuXHRcdGVuc3VyZU1ldGFkYXRhKGNsYXNzRGVmaW5pdGlvbik7XG5cdFx0Y2xhc3NEZWZpbml0aW9uLnhtbFRhZyA9IG9CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbi5uYW1lO1xuXHRcdGNsYXNzRGVmaW5pdGlvbi5uYW1lc3BhY2UgPSBvQnVpbGRpbmdCbG9ja0RlZmluaXRpb24ubmFtZXNwYWNlO1xuXHRcdGNsYXNzRGVmaW5pdGlvbi5wdWJsaWNOYW1lc3BhY2UgPSBvQnVpbGRpbmdCbG9ja0RlZmluaXRpb24ucHVibGljTmFtZXNwYWNlO1xuXHRcdGNsYXNzRGVmaW5pdGlvbi5mcmFnbWVudCA9IG9CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbi5mcmFnbWVudDtcblx0XHRjbGFzc0RlZmluaXRpb24uaXNPcGVuID0gb0J1aWxkaW5nQmxvY2tEZWZpbml0aW9uLmlzT3Blbjtcblx0XHRjbGFzc0RlZmluaXRpb24uYXBpVmVyc2lvbiA9IDI7XG5cdFx0Y2xhc3NEZWZpbml0aW9uLnJlZ2lzdGVyID0gZnVuY3Rpb24gKCkge1xuXHRcdFx0cmVnaXN0ZXJCdWlsZGluZ0Jsb2NrKGNsYXNzRGVmaW5pdGlvbik7XG5cdFx0fTtcblx0fTtcbn1cbiJdfQ==
@@ -0,0 +1,178 @@
1
+ import deepClone from "sap/base/util/deepClone";
2
+ import { registerBuildingBlock } from "sap/fe/core/buildingBlocks/BuildingBlockRuntime";
3
+ import { generate } from "sap/fe/core/helpers/StableIdHelper";
4
+ /**
5
+ * Base class for Building Block
6
+ */
7
+ export class BuildingBlockBase {
8
+ constructor(oProps: Record<string, any>) {
9
+ Object.keys(oProps).forEach((propName) => {
10
+ this[propName as keyof this] = oProps[propName];
11
+ });
12
+ }
13
+
14
+ /**
15
+ * Convert the given local element ID to a globally unique ID by prefixing with the Building Block ID.
16
+ *
17
+ * @param stringParts
18
+ * @returns Either the global ID or undefined if the Building Block doesn't have an ID
19
+ */
20
+ public createId(...stringParts: string[]) {
21
+ // If the child instance has an ID property use it otherwise return undefined
22
+ if ((this as any).id) {
23
+ return generate([(this as any).id, ...stringParts]);
24
+ }
25
+ return undefined;
26
+ }
27
+ /*
28
+ // This block is commented out because I am not using them for now / need to change this but still want to keep them around
29
+ static getConverterContext = function (oVisualizationObjectPath: any, contextPath: any, mSettings: any, mExtraParams?: any) {
30
+ const oAppComponent = mSettings.appComponent;
31
+ const originalViewData = mSettings.models.viewData && mSettings.models.viewData.getData();
32
+ let viewData = Object.assign({}, originalViewData);
33
+ delete viewData.resourceBundle;
34
+ viewData = deepClone(viewData);
35
+ viewData.controlConfiguration = merge(viewData.controlConfiguration, mExtraParams);
36
+ return ConverterContext.createConverterContextForMacro(
37
+ oVisualizationObjectPath.startingEntitySet.name,
38
+ mSettings.models.metaModel,
39
+ oAppComponent && oAppComponent.getDiagnostics(),
40
+ merge,
41
+ oVisualizationObjectPath.contextLocation,
42
+ viewData
43
+ );
44
+ };
45
+ static getMetadata() {
46
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
47
+ // @ts-ignore
48
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
49
+ return {
50
+ getAllProperties(this: BuildingBlockDefinition) {
51
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
52
+ // @ts-ignore
53
+ return this.metadata.properties;
54
+ },
55
+ getName(this: BuildingBlockDefinition) {
56
+ return `${this.namespace}.${this.name}`;
57
+ },
58
+ getAllAggregations() {
59
+ return {};
60
+ },
61
+ getDefaultAggregationName() {
62
+ return "";
63
+ }
64
+ };
65
+ }*/
66
+ static register() {
67
+ // To be overriden
68
+ }
69
+ }
70
+
71
+ export type BuildingBlockPropertyDefinition = {
72
+ type: string;
73
+ isPublic?: boolean;
74
+ defaultValue?: any;
75
+ computed?: boolean;
76
+ required?: boolean;
77
+ $kind?: string[];
78
+ };
79
+ export type BuildingBlockMetadataContextDefinition = {
80
+ type: string;
81
+ isPublic?: boolean;
82
+ required?: boolean;
83
+ computed?: boolean;
84
+ $Type?: string[];
85
+ $kind?: string[];
86
+ };
87
+ export type BuildingBlockEvent = {};
88
+ export type BuildingBlockAggregationDefinition = {
89
+ isPublic?: boolean;
90
+ type: string;
91
+ slot?: string;
92
+ };
93
+ type CommonBuildingBlockDefinition = {
94
+ namespace: string;
95
+ name: string;
96
+ xmlTag?: string;
97
+ fragment?: string;
98
+ publicNamespace?: string;
99
+
100
+ isOpen?: boolean;
101
+ };
102
+ export type BuildingBlockDefinitionV2 = CommonBuildingBlockDefinition &
103
+ typeof BuildingBlockBase & {
104
+ apiVersion: 2;
105
+ metadata: BuildingBlockMetadata;
106
+ };
107
+
108
+ export type BuildingBlockDefinitionV1 = CommonBuildingBlockDefinition & {
109
+ name: string;
110
+ apiVersion?: 1;
111
+ create?: Function;
112
+ getTemplate?: Function;
113
+ metadata: BuildingBlockMetadata;
114
+ };
115
+ export type BuildingBlockDefinition = BuildingBlockDefinitionV2 | BuildingBlockDefinitionV1;
116
+ export type BuildingBlockMetadata = {
117
+ events: Record<string, BuildingBlockEvent>;
118
+ properties: Record<string, BuildingBlockPropertyDefinition>;
119
+ aggregations: Record<string, BuildingBlockAggregationDefinition>;
120
+ };
121
+
122
+ const ensureMetadata = function (target: any): BuildingBlockMetadata {
123
+ if (!target.hasOwnProperty("metadata")) {
124
+ target.metadata = deepClone(
125
+ target.metadata || {
126
+ properties: {},
127
+ aggregations: {},
128
+ events: {}
129
+ }
130
+ );
131
+ }
132
+ return target.metadata;
133
+ };
134
+
135
+ /**
136
+ * Indicates that the property shall be declared as an xml attribute that can be used from the outside of the building block.
137
+ *
138
+ * @param attributeDefinition
139
+ * @returns The decorated property
140
+ */
141
+ export function xmlAttribute(attributeDefinition: BuildingBlockPropertyDefinition): PropertyDecorator {
142
+ return function (target: BuildingBlockBase, propertyKey: string, propertyDescriptor: TypedPropertyDescriptor<any>) {
143
+ const metadata = ensureMetadata(target.constructor);
144
+ delete (propertyDescriptor as any).initializer;
145
+ if (!metadata.properties[propertyKey]) {
146
+ metadata.properties[propertyKey] = attributeDefinition;
147
+ }
148
+
149
+ return propertyDescriptor;
150
+ } as any;
151
+ }
152
+
153
+ export function xmlEvent(): PropertyDecorator {
154
+ return function (target: BuildingBlockBase, propertyKey: string, propertyDescriptor: TypedPropertyDescriptor<any>) {
155
+ const metadata = ensureMetadata(target.constructor);
156
+ delete (propertyDescriptor as any).initializer;
157
+ if (!metadata.events[propertyKey]) {
158
+ metadata.events[propertyKey] = { type: "Function" };
159
+ }
160
+
161
+ return propertyDescriptor;
162
+ } as any;
163
+ }
164
+
165
+ export function defineBuildingBlock(oBuildingBlockDefinition: CommonBuildingBlockDefinition) {
166
+ return function (classDefinition: any) {
167
+ ensureMetadata(classDefinition);
168
+ classDefinition.xmlTag = oBuildingBlockDefinition.name;
169
+ classDefinition.namespace = oBuildingBlockDefinition.namespace;
170
+ classDefinition.publicNamespace = oBuildingBlockDefinition.publicNamespace;
171
+ classDefinition.fragment = oBuildingBlockDefinition.fragment;
172
+ classDefinition.isOpen = oBuildingBlockDefinition.isOpen;
173
+ classDefinition.apiVersion = 2;
174
+ classDefinition.register = function () {
175
+ registerBuildingBlock(classDefinition);
176
+ };
177
+ };
178
+ }