@sapui5/sap.fe.core 1.102.0 → 1.103.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 (311) hide show
  1. package/package.json +5 -5
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AppComponent.js +62 -26
  4. package/src/sap/fe/core/AppComponent.ts +56 -40
  5. package/src/sap/fe/core/AppStateHandler.js +10 -10
  6. package/src/sap/fe/core/AppStateHandler.ts +9 -9
  7. package/src/sap/fe/core/BaseController.js +11 -9
  8. package/src/sap/fe/core/BaseController.ts +15 -13
  9. package/src/sap/fe/core/CommonUtils.js +236 -109
  10. package/src/sap/fe/core/CommonUtils.ts +252 -136
  11. package/src/sap/fe/core/ExtensionAPI.js +24 -27
  12. package/src/sap/fe/core/ExtensionAPI.ts +36 -38
  13. package/src/sap/fe/core/PageController.js +4 -4
  14. package/src/sap/fe/core/PageController.ts +4 -5
  15. package/src/sap/fe/core/TemplateComponent.js +1 -1
  16. package/src/sap/fe/core/TemplateComponent.ts +6 -6
  17. package/src/sap/fe/core/TemplateModel.js +1 -1
  18. package/src/sap/fe/core/TemplateModel.ts +1 -1
  19. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
  20. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +1 -1
  21. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +8 -8
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +11 -10
  23. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +27 -27
  24. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +28 -26
  25. package/src/sap/fe/core/controllerextensions/EditFlow.js +129 -118
  26. package/src/sap/fe/core/controllerextensions/EditFlow.ts +154 -141
  27. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +9 -9
  28. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
  29. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +31 -26
  30. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +34 -35
  31. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +70 -70
  32. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +77 -77
  33. package/src/sap/fe/core/controllerextensions/InternalRouting.js +84 -78
  34. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +105 -101
  35. package/src/sap/fe/core/controllerextensions/KPIManagement.js +66 -68
  36. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
  37. package/src/sap/fe/core/controllerextensions/MassEdit.js +8 -8
  38. package/src/sap/fe/core/controllerextensions/MassEdit.ts +19 -26
  39. package/src/sap/fe/core/controllerextensions/MessageHandler.js +20 -12
  40. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +29 -14
  41. package/src/sap/fe/core/controllerextensions/PageReady.js +97 -25
  42. package/src/sap/fe/core/controllerextensions/PageReady.ts +94 -34
  43. package/src/sap/fe/core/controllerextensions/Paginator.js +21 -22
  44. package/src/sap/fe/core/controllerextensions/Paginator.ts +24 -25
  45. package/src/sap/fe/core/controllerextensions/Placeholder.js +4 -6
  46. package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
  47. package/src/sap/fe/core/controllerextensions/Routing.js +10 -11
  48. package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
  49. package/src/sap/fe/core/controllerextensions/Share.js +22 -22
  50. package/src/sap/fe/core/controllerextensions/Share.ts +30 -29
  51. package/src/sap/fe/core/controllerextensions/SideEffects.js +46 -50
  52. package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
  53. package/src/sap/fe/core/controllerextensions/ViewState.js +65 -62
  54. package/src/sap/fe/core/controllerextensions/ViewState.ts +68 -63
  55. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
  56. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -7
  57. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +6 -6
  58. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +12 -17
  59. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +2 -2
  60. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +4 -4
  61. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +7 -9
  62. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +18 -19
  63. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +184 -137
  64. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +253 -206
  65. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +113 -121
  66. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +148 -158
  67. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +198 -148
  68. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +223 -159
  69. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +24 -26
  70. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +35 -33
  71. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +78 -44
  72. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +90 -60
  73. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +52 -55
  74. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +55 -58
  75. package/src/sap/fe/core/controls/Any.js +9 -5
  76. package/src/sap/fe/core/controls/Any.ts +10 -4
  77. package/src/sap/fe/core/controls/CommandExecution.js +11 -25
  78. package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
  79. package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
  80. package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
  81. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +22 -22
  82. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
  83. package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -2
  84. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +2 -2
  85. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -3
  86. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +5 -5
  87. package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
  88. package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
  89. package/src/sap/fe/core/controls/FileWrapper.js +2 -2
  90. package/src/sap/fe/core/controls/FileWrapper.ts +11 -11
  91. package/src/sap/fe/core/controls/FilterBar.js +6 -2
  92. package/src/sap/fe/core/controls/FilterBar.ts +13 -9
  93. package/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
  94. package/src/sap/fe/core/controls/FormElementWrapper.ts +2 -2
  95. package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
  96. package/src/sap/fe/core/controls/MassEditSelect.ts +0 -4
  97. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +3 -3
  98. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +16 -12
  99. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
  100. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -3
  101. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
  102. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +47 -47
  103. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +52 -52
  104. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
  105. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +89 -88
  106. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +107 -106
  107. package/src/sap/fe/core/converters/ConverterContext.js +26 -33
  108. package/src/sap/fe/core/converters/ConverterContext.ts +51 -60
  109. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  110. package/src/sap/fe/core/converters/ManifestSettings.ts +14 -14
  111. package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
  112. package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
  113. package/src/sap/fe/core/converters/MetaModelConverter.js +50 -32
  114. package/src/sap/fe/core/converters/MetaModelConverter.ts +145 -127
  115. package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
  116. package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
  117. package/src/sap/fe/core/converters/annotations/DataField.js +54 -34
  118. package/src/sap/fe/core/converters/annotations/DataField.ts +97 -75
  119. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1911 -1495
  120. package/src/sap/fe/core/converters/controls/Common/Action.js +50 -41
  121. package/src/sap/fe/core/converters/controls/Common/Action.ts +56 -46
  122. package/src/sap/fe/core/converters/controls/Common/Chart.js +14 -14
  123. package/src/sap/fe/core/converters/controls/Common/Chart.ts +23 -26
  124. package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
  125. package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
  126. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +28 -28
  127. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +40 -36
  128. package/src/sap/fe/core/converters/controls/Common/Form.js +25 -27
  129. package/src/sap/fe/core/converters/controls/Common/Form.ts +37 -45
  130. package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
  131. package/src/sap/fe/core/converters/controls/Common/KPI.ts +35 -39
  132. package/src/sap/fe/core/converters/controls/Common/Table.js +174 -183
  133. package/src/sap/fe/core/converters/controls/Common/Table.ts +237 -250
  134. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
  135. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +144 -141
  136. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +45 -41
  137. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +64 -57
  138. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
  139. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
  140. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
  141. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
  142. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +67 -64
  143. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +69 -66
  144. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +73 -72
  145. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +98 -96
  146. package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
  147. package/src/sap/fe/core/converters/helpers/Aggregation.ts +10 -13
  148. package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -31
  149. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +30 -29
  150. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +4 -4
  151. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +9 -9
  152. package/src/sap/fe/core/converters/helpers/ID.js +46 -46
  153. package/src/sap/fe/core/converters/helpers/ID.ts +25 -25
  154. package/src/sap/fe/core/converters/helpers/Key.js +7 -7
  155. package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
  156. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  157. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -4
  158. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
  159. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
  160. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +46 -62
  161. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +54 -82
  162. package/src/sap/fe/core/converters/templates/ListReportConverter.js +30 -29
  163. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +40 -40
  164. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +39 -38
  165. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +52 -61
  166. package/src/sap/fe/core/designtime/AppComponent.designtime.js +4 -4
  167. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +4 -4
  168. package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
  169. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
  170. package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
  171. package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
  172. package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
  173. package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
  174. package/src/sap/fe/core/formatters/StandardFormatter.js +89 -0
  175. package/src/sap/fe/core/formatters/StandardFormatter.ts +64 -0
  176. package/src/sap/fe/core/formatters/TableFormatter.js +11 -11
  177. package/src/sap/fe/core/formatters/TableFormatter.ts +12 -12
  178. package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
  179. package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
  180. package/src/sap/fe/core/helpers/AppStartupHelper.js +15 -15
  181. package/src/sap/fe/core/helpers/AppStartupHelper.ts +37 -40
  182. package/src/sap/fe/core/helpers/BindingToolkit.js +1809 -0
  183. package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +365 -264
  184. package/src/sap/fe/core/helpers/ClassSupport.js +20 -11
  185. package/src/sap/fe/core/helpers/ClassSupport.ts +14 -10
  186. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
  187. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
  188. package/src/sap/fe/core/helpers/EditState.js +1 -6
  189. package/src/sap/fe/core/helpers/EditState.ts +5 -10
  190. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
  191. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
  192. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  193. package/src/sap/fe/core/helpers/FPMHelper.ts +2 -2
  194. package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
  195. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
  196. package/src/sap/fe/core/helpers/MassEditHelper.js +281 -254
  197. package/src/sap/fe/core/helpers/MassEditHelper.ts +337 -289
  198. package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
  199. package/src/sap/fe/core/helpers/ModelHelper.ts +34 -32
  200. package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
  201. package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
  202. package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  203. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
  204. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
  205. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
  206. package/src/sap/fe/core/helpers/StableIdHelper.js +12 -12
  207. package/src/sap/fe/core/helpers/StableIdHelper.ts +12 -12
  208. package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
  209. package/src/sap/fe/core/jsx-runtime/jsx.ts +8 -8
  210. package/src/sap/fe/core/library.js +42 -3
  211. package/src/sap/fe/core/library.ts +38 -0
  212. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
  213. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
  214. package/src/sap/fe/core/messagebundle.properties +49 -35
  215. package/src/sap/fe/core/messagebundle_ar.properties +13 -5
  216. package/src/sap/fe/core/messagebundle_bg.properties +13 -5
  217. package/src/sap/fe/core/messagebundle_ca.properties +13 -5
  218. package/src/sap/fe/core/messagebundle_cs.properties +13 -5
  219. package/src/sap/fe/core/messagebundle_cy.properties +14 -6
  220. package/src/sap/fe/core/messagebundle_da.properties +13 -5
  221. package/src/sap/fe/core/messagebundle_de.properties +15 -7
  222. package/src/sap/fe/core/messagebundle_el.properties +14 -6
  223. package/src/sap/fe/core/messagebundle_en.properties +9 -1
  224. package/src/sap/fe/core/messagebundle_en_GB.properties +11 -3
  225. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +7 -1
  226. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +9 -1
  227. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +44 -85
  228. package/src/sap/fe/core/messagebundle_es.properties +13 -5
  229. package/src/sap/fe/core/messagebundle_es_MX.properties +13 -5
  230. package/src/sap/fe/core/messagebundle_et.properties +13 -5
  231. package/src/sap/fe/core/messagebundle_fi.properties +14 -6
  232. package/src/sap/fe/core/messagebundle_fr.properties +14 -6
  233. package/src/sap/fe/core/messagebundle_fr_CA.properties +14 -6
  234. package/src/sap/fe/core/messagebundle_hi.properties +14 -6
  235. package/src/sap/fe/core/messagebundle_hr.properties +14 -6
  236. package/src/sap/fe/core/messagebundle_hu.properties +13 -5
  237. package/src/sap/fe/core/messagebundle_id.properties +13 -5
  238. package/src/sap/fe/core/messagebundle_it.properties +33 -25
  239. package/src/sap/fe/core/messagebundle_iw.properties +13 -5
  240. package/src/sap/fe/core/messagebundle_ja.properties +14 -6
  241. package/src/sap/fe/core/messagebundle_kk.properties +13 -5
  242. package/src/sap/fe/core/messagebundle_ko.properties +13 -5
  243. package/src/sap/fe/core/messagebundle_lt.properties +13 -5
  244. package/src/sap/fe/core/messagebundle_lv.properties +14 -6
  245. package/src/sap/fe/core/messagebundle_ms.properties +13 -5
  246. package/src/sap/fe/core/messagebundle_nl.properties +13 -5
  247. package/src/sap/fe/core/messagebundle_no.properties +13 -5
  248. package/src/sap/fe/core/messagebundle_pl.properties +13 -5
  249. package/src/sap/fe/core/messagebundle_pt.properties +13 -5
  250. package/src/sap/fe/core/messagebundle_pt_PT.properties +14 -6
  251. package/src/sap/fe/core/messagebundle_ro.properties +13 -5
  252. package/src/sap/fe/core/messagebundle_ru.properties +13 -5
  253. package/src/sap/fe/core/messagebundle_sh.properties +13 -5
  254. package/src/sap/fe/core/messagebundle_sk.properties +13 -5
  255. package/src/sap/fe/core/messagebundle_sl.properties +17 -9
  256. package/src/sap/fe/core/messagebundle_sv.properties +14 -6
  257. package/src/sap/fe/core/messagebundle_th.properties +13 -5
  258. package/src/sap/fe/core/messagebundle_tr.properties +13 -5
  259. package/src/sap/fe/core/messagebundle_uk.properties +13 -5
  260. package/src/sap/fe/core/messagebundle_vi.properties +13 -5
  261. package/src/sap/fe/core/messagebundle_zh_CN.properties +14 -6
  262. package/src/sap/fe/core/messagebundle_zh_TW.properties +13 -5
  263. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
  264. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
  265. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +2 -2
  266. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +14 -14
  267. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  268. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
  269. package/src/sap/fe/core/services/NavigationServiceFactory.js +53 -44
  270. package/src/sap/fe/core/services/NavigationServiceFactory.ts +54 -46
  271. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
  272. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
  273. package/src/sap/fe/core/services/RoutingServiceFactory.js +55 -55
  274. package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
  275. package/src/sap/fe/core/services/ShellServicesFactory.js +72 -76
  276. package/src/sap/fe/core/services/ShellServicesFactory.ts +76 -82
  277. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +61 -61
  278. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
  279. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +20 -15
  280. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +26 -21
  281. package/src/sap/fe/core/support/CommonHelper.js +3 -2
  282. package/src/sap/fe/core/support/CommonHelper.ts +9 -13
  283. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  284. package/src/sap/fe/core/support/Diagnostics.ts +5 -5
  285. package/src/sap/fe/core/templating/CommonFormatters.js +84 -0
  286. package/src/sap/fe/core/templating/CommonFormatters.ts +86 -0
  287. package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
  288. package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
  289. package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
  290. package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
  291. package/src/sap/fe/core/templating/DataModelPathHelper.js +16 -15
  292. package/src/sap/fe/core/templating/DataModelPathHelper.ts +42 -32
  293. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  294. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -3
  295. package/src/sap/fe/core/templating/EntitySetHelper.js +7 -7
  296. package/src/sap/fe/core/templating/EntitySetHelper.ts +6 -8
  297. package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
  298. package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
  299. package/src/sap/fe/core/templating/FilterHelper.js +10 -9
  300. package/src/sap/fe/core/templating/FilterHelper.ts +13 -13
  301. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  302. package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
  303. package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
  304. package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
  305. package/src/sap/fe/core/templating/PropertyHelper.js +25 -25
  306. package/src/sap/fe/core/templating/PropertyHelper.ts +25 -26
  307. package/src/sap/fe/core/templating/UIFormatters.js +148 -93
  308. package/src/sap/fe/core/templating/UIFormatters.ts +196 -124
  309. package/src/sap/fe/core/type/Email.js +2 -2
  310. package/src/sap/fe/core/type/Email.ts +2 -2
  311. package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
@@ -1,13 +1,23 @@
1
- import ServiceFactory from "sap/ui/core/service/ServiceFactory";
2
- import Service from "sap/ui/core/service/Service";
3
- import { ComplexType, ConverterOutput, EntityType, NavigationProperty, Property } from "@sap-ux/annotation-converter";
4
- import Context from "sap/ui/model/odata/v4/Context";
5
- import ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
6
- import { convertTypes, EnvironmentCapabilities } from "sap/fe/core/converters/MetaModelConverter";
7
- import { CommonAnnotationTypes, QualifiedName } from "@sap-ux/vocabularies-types/dist/generated/Common";
8
- import { Action, NavigationPropertyPath, PropertyPath } from "@sap-ux/vocabularies-types";
1
+ import type {
2
+ Action,
3
+ ComplexType,
4
+ ConvertedMetadata,
5
+ EntityType,
6
+ NavigationProperty,
7
+ NavigationPropertyPath,
8
+ Property,
9
+ PropertyPath
10
+ } from "@sap-ux/vocabularies-types";
11
+ import type { QualifiedName } from "@sap-ux/vocabularies-types/vocabularies/Common";
12
+ import { CommonAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/Common";
9
13
  import Log from "sap/base/Log";
10
- import { ServiceContext } from "types/extension_types";
14
+ import type { EnvironmentCapabilities } from "sap/fe/core/converters/MetaModelConverter";
15
+ import { convertTypes } from "sap/fe/core/converters/MetaModelConverter";
16
+ import Service from "sap/ui/core/service/Service";
17
+ import ServiceFactory from "sap/ui/core/service/ServiceFactory";
18
+ import type Context from "sap/ui/model/odata/v4/Context";
19
+ import type ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
20
+ import type { ServiceContext } from "types/extension_types";
11
21
 
12
22
  type SideEffectsSettings = {};
13
23
 
@@ -103,14 +113,14 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
103
113
  *
104
114
  * @private
105
115
  * @ui5-restricted
106
- * @param {string} sEntityType Name of the entity type
107
- * @param {object} oSideEffect SideEffects definition
116
+ * @param sEntityType Name of the entity type
117
+ * @param oSideEffect SideEffects definition
108
118
  */
109
119
  public addControlSideEffects(sEntityType: string, oSideEffect: Omit<ControlSideEffectsType, "fullyQualifiedName">): void {
110
120
  if (oSideEffect.sourceControlId) {
111
121
  const oControlSideEffect: ControlSideEffectsType = {
112
122
  ...oSideEffect,
113
- fullyQualifiedName: sEntityType + "/SideEffectsForControl/" + oSideEffect.sourceControlId
123
+ fullyQualifiedName: `${sEntityType}/SideEffectsForControl/${oSideEffect.sourceControlId}`
114
124
  };
115
125
  const mEntityControlSideEffects = this._oSideEffectsType.control[sEntityType] || {};
116
126
  mEntityControlSideEffects[oControlSideEffect.sourceControlId] = oControlSideEffect;
@@ -123,13 +133,13 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
123
133
  *
124
134
  * @private
125
135
  * @ui5-restricted
126
- * @param {string} sTriggerAction Name of the action
127
- * @param {object} oContext Context
128
- * @param {string} sGroupId The group ID to be used for the request
129
- * @returns {Promise} A promise that is resolved without data or with a return value context when the action call succeeded
136
+ * @param sTriggerAction Name of the action
137
+ * @param oContext Context
138
+ * @param sGroupId The group ID to be used for the request
139
+ * @returns A promise that is resolved without data or with a return value context when the action call succeeded
130
140
  */
131
141
  public executeAction(sTriggerAction: string, oContext: Context, sGroupId?: string): Promise<any> {
132
- const oTriggerAction: any = oContext.getModel().bindContext(sTriggerAction + "(...)", oContext);
142
+ const oTriggerAction: any = oContext.getModel().bindContext(`${sTriggerAction}(...)`, oContext);
133
143
  return oTriggerAction.execute(sGroupId || (oContext as any).getBinding().getUpdateGroupId());
134
144
  }
135
145
 
@@ -138,9 +148,9 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
138
148
  *
139
149
  * @private
140
150
  * @ui5-restricted
141
- * @returns {object} Converted OData metaModel
151
+ * @returns Converted OData metaModel
142
152
  */
143
- public getConvertedMetaModel(): ConverterOutput {
153
+ public getConvertedMetaModel(): ConvertedMetadata {
144
154
  const oContext = this.getContext();
145
155
  const oComponent = oContext.scopeObject as any;
146
156
  const oMetaModel: ODataMetaModel = oComponent.getModel().getMetaModel();
@@ -152,8 +162,8 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
152
162
  *
153
163
  * @function
154
164
  * @name getEntityTypeFromContext
155
- * @param {object} oContext Context
156
- * @returns {string | undefined } Entity Type
165
+ * @param oContext Context
166
+ * @returns Entity Type
157
167
  */
158
168
  public getEntityTypeFromContext(oContext: Context): string | undefined {
159
169
  const oMetaModel = oContext.getModel().getMetaModel(),
@@ -167,8 +177,8 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
167
177
  *
168
178
  * @private
169
179
  * @ui5-restricted
170
- * @param {string} sEntityTypeName Name of the entity type
171
- * @returns {object} SideEffects dictionary
180
+ * @param sEntityTypeName Name of the entity type
181
+ * @returns SideEffects dictionary
172
182
  */
173
183
  public getODataEntitySideEffects(sEntityTypeName: string): Record<string, ODataSideEffectsType> {
174
184
  return this._oSideEffectsType.oData.entities[sEntityTypeName] || {};
@@ -179,9 +189,9 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
179
189
  *
180
190
  * @private
181
191
  * @ui5-restricted
182
- * @param {string} sActionName Name of the action
183
- * @param {object} oContext Context
184
- * @returns {object} SideEffects definition
192
+ * @param sActionName Name of the action
193
+ * @param oContext Context
194
+ * @returns SideEffects definition
185
195
  */
186
196
  public getODataActionSideEffects(sActionName: string, oContext?: Context): ActionSideEffectsType | undefined {
187
197
  if (oContext) {
@@ -204,7 +214,7 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
204
214
  this._oCapabilities = oCapabilities;
205
215
  if (!this._bInitialized) {
206
216
  const oConvertedMetaModel = this.getConvertedMetaModel();
207
- oConvertedMetaModel.entityTypes.forEach(entityType => {
217
+ oConvertedMetaModel.entityTypes.forEach((entityType) => {
208
218
  this._oSideEffectsType.oData.entities[entityType.fullyQualifiedName] = this._retrieveODataEntitySideEffects(entityType);
209
219
  this._oSideEffectsType.oData.actions[entityType.fullyQualifiedName] = this._retrieveODataActionsSideEffects(entityType); // only bound actions are analyzed since unbound ones don't get SideEffects
210
220
  });
@@ -217,10 +227,10 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
217
227
  *
218
228
  * @private
219
229
  * @ui5-restricted
220
- * @param {string} sControlId Control Id
230
+ * @param sControlId Control Id
221
231
  */
222
232
  public removeControlSideEffects(sControlId: string): void {
223
- Object.keys(this._oSideEffectsType.control).forEach(sEntityType => {
233
+ Object.keys(this._oSideEffectsType.control).forEach((sEntityType) => {
224
234
  if (this._oSideEffectsType.control[sEntityType][sControlId]) {
225
235
  delete this._oSideEffectsType.control[sEntityType][sControlId];
226
236
  }
@@ -232,10 +242,10 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
232
242
  *
233
243
  * @function
234
244
  * @name requestSideEffects
235
- * @param {Array} aPathExpressions Targets of SideEffects to be executed
236
- * @param {object} oContext Context where SideEffects need to be executed
237
- * @param {string} sGroupId The group ID to be used for the request
238
- * @returns {Promise} Promise on SideEffects request
245
+ * @param aPathExpressions Targets of SideEffects to be executed
246
+ * @param oContext Context where SideEffects need to be executed
247
+ * @param sGroupId The group ID to be used for the request
248
+ * @returns Promise on SideEffects request
239
249
  */
240
250
  public requestSideEffects(aPathExpressions: SideEffectsTarget[], oContext: Context, sGroupId?: string): Promise<any> {
241
251
  this._logRequest(aPathExpressions, oContext);
@@ -275,23 +285,23 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
275
285
  *
276
286
  * @function
277
287
  * @name requestSideEffectsForNavigationProperty
278
- * @param {string} sNavigationProperty Navigation property
279
- * @param {object} oContext Context where SideEffects need to be executed
280
- * @returns {object} SideEffects request on SAPUI5 context
288
+ * @param sNavigationProperty Navigation property
289
+ * @param oContext Context where SideEffects need to be executed
290
+ * @returns SideEffects request on SAPUI5 context
281
291
  */
282
292
  public requestSideEffectsForNavigationProperty(sNavigationProperty: string, oContext: Context): Promise<any> {
283
293
  const sBaseEntityType = this.getEntityTypeFromContext(oContext);
284
294
  if (sBaseEntityType) {
285
- const sNavigationPath = sNavigationProperty + "/";
295
+ const sNavigationPath = `${sNavigationProperty}/`;
286
296
  const aSideEffects = this.getODataEntitySideEffects(sBaseEntityType);
287
297
  let aTargets: SideEffectsTarget[] = [];
288
298
  Object.keys(aSideEffects)
289
299
  .filter(
290
300
  // Keep relevant SideEffects
291
- sAnnotationName => {
301
+ (sAnnotationName) => {
292
302
  const oSideEffects: ODataSideEffectsType = aSideEffects[sAnnotationName];
293
303
  return (
294
- (oSideEffects.SourceProperties || []).some(oPropertyPath => {
304
+ (oSideEffects.SourceProperties || []).some((oPropertyPath) => {
295
305
  const sPropertyPath = oPropertyPath.value;
296
306
  return (
297
307
  sPropertyPath.startsWith(sNavigationPath) &&
@@ -299,25 +309,25 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
299
309
  );
300
310
  }) ||
301
311
  (oSideEffects.SourceEntities || []).some(
302
- oNavigationPropertyPath => oNavigationPropertyPath.value === sNavigationProperty
312
+ (oNavigationPropertyPath) => oNavigationPropertyPath.value === sNavigationProperty
303
313
  )
304
314
  );
305
315
  }
306
316
  )
307
- .forEach(sAnnotationName => {
317
+ .forEach((sAnnotationName) => {
308
318
  const oSideEffects: ODataSideEffectsType = aSideEffects[sAnnotationName];
309
319
  if (oSideEffects.TriggerAction) {
310
320
  this.executeAction(oSideEffects.TriggerAction as string, oContext);
311
321
  }
312
322
  ((oSideEffects.TargetEntities as any[]) || [])
313
323
  .concat((oSideEffects.TargetProperties as any[]) || [])
314
- .forEach(mTarget => aTargets.push(mTarget));
324
+ .forEach((mTarget) => aTargets.push(mTarget));
315
325
  });
316
326
  // Remove duplicate properties
317
327
  aTargets = this._removeDuplicateTargets(aTargets);
318
328
  if (aTargets.length > 0) {
319
- return this.requestSideEffects(aTargets, oContext).catch(oError =>
320
- Log.error("SideEffects - Error while processing SideEffects for Navigation Property " + sNavigationProperty, oError)
329
+ return this.requestSideEffects(aTargets, oContext).catch((oError) =>
330
+ Log.error(`SideEffects - Error while processing SideEffects for Navigation Property ${sNavigationProperty}`, oError)
321
331
  );
322
332
  }
323
333
  }
@@ -329,8 +339,8 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
329
339
  *
330
340
  * @private
331
341
  * @ui5-restricted
332
- * @param {string} sEntityTypeName Entity type Name
333
- * @returns {object} SideEffects dictionary
342
+ * @param sEntityTypeName Entity type Name
343
+ * @returns SideEffects dictionary
334
344
  */
335
345
  public getControlEntitySideEffects(sEntityTypeName: string): Record<string, ControlSideEffectsType> {
336
346
  return this._oSideEffectsType.control[sEntityTypeName] || {};
@@ -342,19 +352,19 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
342
352
  *
343
353
  * @private
344
354
  * @ui5-restricted
345
- * @param {object} oSideEffect SideEffects definition
346
- * @param {object} mEntityType Entity type
347
- * @returns {object} SideEffects definition with added text properties
355
+ * @param oSideEffect SideEffects definition
356
+ * @param mEntityType Entity type
357
+ * @returns SideEffects definition with added text properties
348
358
  */
349
359
  private _addRequiredTextProperties(oSideEffect: BaseSideEffectsType, mEntityType: EntityType): BaseSideEffectsType {
350
360
  const aInitialProperties: string[] = oSideEffect.TargetProperties || [],
351
- aEntitiesRequested: string[] = (oSideEffect.TargetEntities || []).map(navigation => navigation.$NavigationPropertyPath);
361
+ aEntitiesRequested: string[] = (oSideEffect.TargetEntities || []).map((navigation) => navigation.$NavigationPropertyPath);
352
362
  let aDerivedProperties: ExtractorPropertyInfo[] = [];
353
363
 
354
- aInitialProperties.forEach(sPropertyPath => {
364
+ aInitialProperties.forEach((sPropertyPath) => {
355
365
  const bIsStarProperty = sPropertyPath.endsWith("*"), // Can be '*' or '.../navProp/*'
356
366
  sNavigationPropertyPath: string = sPropertyPath.substring(0, sPropertyPath.lastIndexOf("/")),
357
- sRelativePath = sNavigationPropertyPath ? sNavigationPropertyPath + "/" : "",
367
+ sRelativePath = sNavigationPropertyPath ? `${sNavigationPropertyPath}/` : "",
358
368
  mTarget: any = mEntityType.resolvePath(sNavigationPropertyPath) || mEntityType;
359
369
 
360
370
  if (mTarget) {
@@ -368,7 +378,7 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
368
378
  // Add all required properties behind the *
369
379
  aEntitiesRequested.push(sNavigationPropertyPath);
370
380
  aDerivedProperties = aDerivedProperties.concat(
371
- aTargetEntityProperties.map(mProperty => {
381
+ aTargetEntityProperties.map((mProperty) => {
372
382
  return {
373
383
  navigationPath: sRelativePath,
374
384
  property: mProperty
@@ -378,20 +388,20 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
378
388
  } else {
379
389
  aDerivedProperties.push({
380
390
  property: aTargetEntityProperties.find(
381
- mProperty => mProperty.name === sPropertyPath.split("/").pop()
391
+ (mProperty) => mProperty.name === sPropertyPath.split("/").pop()
382
392
  ) as Property,
383
393
  navigationPath: sRelativePath
384
394
  });
385
395
  }
386
396
  } else {
387
- Log.info("SideEffects - The entity type associated to property path " + sPropertyPath + " cannot be resolved");
397
+ Log.info(`SideEffects - The entity type associated to property path ${sPropertyPath} cannot be resolved`);
388
398
  }
389
399
  } else {
390
- Log.info("SideEffects - The property path " + sPropertyPath + " cannot be resolved");
400
+ Log.info(`SideEffects - The property path ${sPropertyPath} cannot be resolved`);
391
401
  }
392
402
  });
393
403
 
394
- aDerivedProperties.forEach(mPropertyInfo => {
404
+ aDerivedProperties.forEach((mPropertyInfo) => {
395
405
  if (mPropertyInfo.property) {
396
406
  const sTargetTextPath = (mPropertyInfo.property.annotations?.Common?.Text as any)?.path,
397
407
  sTextPathFromInitialEntity = mPropertyInfo.navigationPath + sTargetTextPath,
@@ -434,10 +444,10 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
434
444
  *
435
445
  * @private
436
446
  * @ui5-restricted
437
- * @param {object} oSideEffects SideEffects definition
438
- * @param {object} mEntityType Entity type
439
- * @param {string} sBindingParameter Name of the binding parameter
440
- * @returns {object} SideEffects definition
447
+ * @param oSideEffects SideEffects definition
448
+ * @param mEntityType Entity type
449
+ * @param sBindingParameter Name of the binding parameter
450
+ * @returns SideEffects definition
441
451
  */
442
452
  private _convertSideEffects(
443
453
  oSideEffects: BaseSideEffectsType | BaseAnnotationSideEffectsType,
@@ -455,20 +465,20 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
455
465
  *
456
466
  * @private
457
467
  * @ui5-restricted
458
- * @param {object} oSideEffects SideEffects definition
459
- * @returns {object} Converted SideEffects
468
+ * @param oSideEffects SideEffects definition
469
+ * @returns Converted SideEffects
460
470
  */
461
471
  private _convertTargetsFormat(oSideEffects: BaseSideEffectsType | BaseAnnotationSideEffectsType): BaseSideEffectsType {
462
- const TargetProperties: string[] = ((oSideEffects.TargetProperties as any[]) || []).reduce(function(aTargetProperties, vTarget) {
472
+ const TargetProperties: string[] = ((oSideEffects.TargetProperties as any[]) || []).reduce(function (aTargetProperties, vTarget) {
463
473
  const sTarget = (typeof vTarget === "string" && vTarget) || (vTarget.type === "PropertyPath" && vTarget.value);
464
474
  if (sTarget) {
465
475
  aTargetProperties.push(sTarget);
466
476
  } else {
467
- Log.error("SideEffects - Error while processing TargetProperties for SideEffects" + oSideEffects.fullyQualifiedName);
477
+ Log.error(`SideEffects - Error while processing TargetProperties for SideEffects${oSideEffects.fullyQualifiedName}`);
468
478
  }
469
479
  return aTargetProperties;
470
480
  }, []),
471
- TargetEntities: SideEffectsTargetEntityType[] = ((oSideEffects.TargetEntities as any[]) || []).map(mTargetEntity => {
481
+ TargetEntities: SideEffectsTargetEntityType[] = ((oSideEffects.TargetEntities as any[]) || []).map((mTargetEntity) => {
472
482
  /**
473
483
  * SideEffects that comes from SAP FE get TargetEntities with $NavigationPropertyPath whereas
474
484
  * ones coming from the converted OData model gets a NavigationPropertyPath format
@@ -486,8 +496,8 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
486
496
  *
487
497
  * @private
488
498
  * @ui5-restricted
489
- * @param {object} oSource Entity type or action
490
- * @returns {object} Array of SideEffects
499
+ * @param oSource Entity type or action
500
+ * @returns Array of SideEffects
491
501
  */
492
502
  private _getSideEffectsFromSource(oSource: any): ODataSideEffectsType[] {
493
503
  const aSideEffects: ODataSideEffectsType[] = [];
@@ -497,12 +507,12 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
497
507
  if (mEntityType) {
498
508
  const mCommonAnnotation: any = oSource.annotations?.Common || {};
499
509
  const mBindingParameter = ((oSource as Action).parameters || []).find(
500
- mParameter => mParameter.type === mEntityType.fullyQualifiedName
510
+ (mParameter) => mParameter.type === mEntityType.fullyQualifiedName
501
511
  );
502
512
  const sBindingParameter = mBindingParameter ? mBindingParameter.fullyQualifiedName.split("/")[1] : "";
503
513
  Object.keys(mCommonAnnotation)
504
- .filter(sAnnotationName => mCommonAnnotation[sAnnotationName].$Type === CommonAnnotationTypes.SideEffectsType)
505
- .forEach(sAnnotationName => {
514
+ .filter((sAnnotationName) => mCommonAnnotation[sAnnotationName].$Type === CommonAnnotationTypes.SideEffectsType)
515
+ .forEach((sAnnotationName) => {
506
516
  aSideEffects.push(this._convertSideEffects(mCommonAnnotation[sAnnotationName], mEntityType, sBindingParameter));
507
517
  });
508
518
  }
@@ -515,14 +525,14 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
515
525
  *
516
526
  * @private
517
527
  * @ui5-restricted
518
- * @param {Array} aPathExpressions SideEffects targets
519
- * @param {object} oContext Context
528
+ * @param aPathExpressions SideEffects targets
529
+ * @param oContext Context
520
530
  */
521
531
  private _logRequest(aPathExpressions: SideEffectsTarget[], oContext: Context) {
522
- const sTargetPaths = aPathExpressions.reduce(function(sPaths, mTarget) {
523
- return sPaths + "\n\t\t" + ((mTarget as SideEffectsTargetEntityType).$NavigationPropertyPath || mTarget || "");
532
+ const sTargetPaths = aPathExpressions.reduce(function (sPaths, mTarget) {
533
+ return `${sPaths}\n\t\t${(mTarget as SideEffectsTargetEntityType).$NavigationPropertyPath || mTarget || ""}`;
524
534
  }, "");
525
- Log.debug("SideEffects - Request:\n\tContext path : " + oContext.getPath() + "\n\tProperty paths :" + sTargetPaths);
535
+ Log.debug(`SideEffects - Request:\n\tContext path : ${oContext.getPath()}\n\tProperty paths :${sTargetPaths}`);
526
536
  }
527
537
 
528
538
  /**
@@ -530,20 +540,20 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
530
540
  *
531
541
  * @private
532
542
  * @ui5-restricted
533
- * @param {object} oSideEffects SideEffects definition
534
- * @param {string} sBindingParameterName Name of binding parameter
535
- * @returns {object} SideEffects definition
543
+ * @param oSideEffects SideEffects definition
544
+ * @param sBindingParameterName Name of binding parameter
545
+ * @returns SideEffects definition
536
546
  */
537
547
  private _removeBindingParameter(oSideEffects: BaseSideEffectsType, sBindingParameterName?: string): BaseSideEffectsType {
538
548
  if (sBindingParameterName) {
539
549
  const aTargets = ["TargetProperties", "TargetEntities"];
540
- aTargets.forEach(sTarget => {
550
+ aTargets.forEach((sTarget) => {
541
551
  let mTarget = (oSideEffects as any)[sTarget];
542
552
  if (mTarget) {
543
553
  mTarget = mTarget.map((mProperty: any) => {
544
554
  const bNavigationPropertyPath = mProperty.$NavigationPropertyPath !== undefined; // Need to test with undefined since mProperty.$NavigationPropertyPath could be "" (empty string)
545
555
  const sValue = (bNavigationPropertyPath ? mProperty.$NavigationPropertyPath : mProperty).replace(
546
- new RegExp("^" + sBindingParameterName + "/?"),
556
+ new RegExp(`^${sBindingParameterName}/?`),
547
557
  ""
548
558
  );
549
559
  return bNavigationPropertyPath ? { $NavigationPropertyPath: sValue } : sValue;
@@ -560,13 +570,13 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
560
570
  *
561
571
  * @private
562
572
  * @ui5-restricted
563
- * @param {Array} aTargets SideEffects targets
564
- * @returns {Array} SideEffects targets without duplicates
573
+ * @param aTargets SideEffects targets
574
+ * @returns SideEffects targets without duplicates
565
575
  */
566
576
  private _removeDuplicateTargets(aTargets: SideEffectsTarget[]): SideEffectsTarget[] {
567
577
  return aTargets.filter(
568
- (mTarget: any, iIndex, aTargets) =>
569
- aTargets.findIndex((mSearchTarget: any) => {
578
+ (mTarget: any, iIndex, aInTargets) =>
579
+ aInTargets.findIndex((mSearchTarget: any) => {
570
580
  return (
571
581
  mSearchTarget === mTarget || // PropertyPath
572
582
  (mTarget.$NavigationPropertyPath && mSearchTarget.$NavigationPropertyPath === mTarget.$NavigationPropertyPath) // NavigationPropertyPath
@@ -583,20 +593,20 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
583
593
  *
584
594
  * @private
585
595
  * @ui5-restricted
586
- * @param {object} mEntityType Entity type
587
- * @returns {object} Entity type SideEffects dictionary
596
+ * @param mEntityType Entity type
597
+ * @returns Entity type SideEffects dictionary
588
598
  */
589
599
  private _retrieveODataActionsSideEffects(mEntityType: EntityType): Record<string, ActionSideEffectsType> {
590
600
  const oSideEffects: Record<string, ActionSideEffectsType> = {};
591
601
  const aActions = mEntityType.actions;
592
602
  if (aActions) {
593
- Object.keys(aActions).forEach(sActionName => {
603
+ Object.keys(aActions).forEach((sActionName) => {
594
604
  const oAction = mEntityType.actions[sActionName];
595
605
  const triggerActions: string[] = [];
596
606
  let pathExpressions: SideEffectsTarget[] = [];
597
607
  let aTargets: SideEffectsTarget[] = [];
598
608
 
599
- this._getSideEffectsFromSource(oAction).forEach(oSideEffect => {
609
+ this._getSideEffectsFromSource(oAction).forEach((oSideEffect) => {
600
610
  const sTriggerAction = oSideEffect.TriggerAction;
601
611
  aTargets = aTargets.concat(oSideEffect.TargetEntities || []).concat((oSideEffect.TargetProperties as any[]) || []);
602
612
  if (sTriggerAction && triggerActions.indexOf(sTriggerAction as string) === -1) {
@@ -618,12 +628,12 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
618
628
  *
619
629
  * @private
620
630
  * @ui5-restricted
621
- * @param {object} mEntityType Entity type
622
- * @returns {object} Entity type SideEffects dictionary
631
+ * @param mEntityType Entity type
632
+ * @returns Entity type SideEffects dictionary
623
633
  */
624
634
  private _retrieveODataEntitySideEffects(mEntityType: EntityType): Record<string, ODataSideEffectsType> {
625
635
  const oEntitySideEffects: Record<string, ODataSideEffectsType> = {};
626
- this._getSideEffectsFromSource(mEntityType).forEach(oSideEffects => {
636
+ this._getSideEffectsFromSource(mEntityType).forEach((oSideEffects) => {
627
637
  oEntitySideEffects[oSideEffects.fullyQualifiedName] = oSideEffects;
628
638
  });
629
639
  return oEntitySideEffects;