@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,30 +1,30 @@
1
- import { PropertyAnnotationValue } from "@sap-ux/vocabularies-types";
1
+ import type { PropertyAnnotationValue } from "@sap-ux/vocabularies-types";
2
2
  import tableFormatters from "sap/fe/core/formatters/TableFormatter";
3
+ import type { BindingToolkitExpression, CompiledBindingToolkitExpression } from "sap/fe/core/helpers/BindingToolkit";
3
4
  import {
4
5
  and,
5
- annotationExpression,
6
- bindingExpression,
7
- BindingExpression,
8
- compileBinding,
6
+ compileExpression,
9
7
  constant,
10
8
  equal,
11
- Expression,
12
9
  formatResult,
10
+ getExpressionFromAnnotation,
13
11
  greaterOrEqual,
14
12
  greaterThan,
15
13
  ifElse,
16
- isBinding,
17
14
  isConstant,
15
+ isPathInModelExpression,
18
16
  length,
19
17
  not,
20
18
  notEqual,
21
- or
22
- } from "sap/fe/core/helpers/BindingExpression";
19
+ or,
20
+ pathInModel
21
+ } from "sap/fe/core/helpers/BindingToolkit";
23
22
  import { getTargetObjectPath, isPathDeletable, isPathInsertable, isPathUpdatable } from "sap/fe/core/templating/DataModelPathHelper";
24
- import ConverterContext from "../../../ConverterContext";
23
+ import type ConverterContext from "../../../ConverterContext";
25
24
  import { singletonPathVisitor, UI } from "../../../helpers/BindingHelper";
26
- import { CreationMode, TemplateType, ViewPathConfiguration } from "../../../ManifestSettings";
27
- import { TableControlConfiguration } from "../Table";
25
+ import type { ViewPathConfiguration } from "../../../ManifestSettings";
26
+ import { CreationMode, TemplateType } from "../../../ManifestSettings";
27
+ import type { TableControlConfiguration } from "../Table";
28
28
 
29
29
  enum AnnotationHiddenProperty {
30
30
  CreateHidden = "CreateHidden",
@@ -33,30 +33,30 @@ enum AnnotationHiddenProperty {
33
33
  }
34
34
 
35
35
  export type StandardActionConfigType = {
36
- isTemplated?: BindingExpression<boolean>;
37
- visible: BindingExpression<boolean>;
38
- enabled: BindingExpression<boolean>;
36
+ isTemplated?: CompiledBindingToolkitExpression;
37
+ visible: CompiledBindingToolkitExpression;
38
+ enabled: CompiledBindingToolkitExpression;
39
39
  };
40
40
 
41
41
  type ExpressionRestrictionsType = {
42
- expression: Expression<boolean>;
43
- navigationExpression: Expression<boolean>;
42
+ expression: BindingToolkitExpression<boolean>;
43
+ navigationExpression: BindingToolkitExpression<boolean>;
44
44
  };
45
45
  type StandardActionsRestrictionsType = Record<string, ExpressionRestrictionsType>;
46
46
 
47
47
  export type StandardActionsContext = {
48
48
  collectionPath: string;
49
49
  hiddenAnnotation: {
50
- create: Expression<boolean>;
51
- "delete": Expression<boolean>;
52
- update: Expression<boolean>;
50
+ create: BindingToolkitExpression<boolean>;
51
+ "delete": BindingToolkitExpression<boolean>;
52
+ update: BindingToolkitExpression<boolean>;
53
53
  };
54
54
  creationMode: CreationMode;
55
55
  isDraftOrStickySupported: boolean;
56
56
  isViewWithMultipleVisualizations: boolean;
57
57
  newAction?: {
58
58
  name?: string;
59
- available?: Expression<boolean>;
59
+ available?: BindingToolkitExpression<boolean>;
60
60
  };
61
61
  tableManifestConfiguration: TableControlConfiguration;
62
62
  restrictions: StandardActionsRestrictionsType;
@@ -65,10 +65,10 @@ export type StandardActionsContext = {
65
65
  /**
66
66
  * Generates the context for the standard actions.
67
67
  *
68
- * @param {ConverterContext} converterContext
69
- * @param {NavigationSettingsConfiguration} creationMode
70
- * @param {TableControlConfiguration} tableManifestConfiguration
71
- * @param {ViewPathConfiguration} viewConfiguration
68
+ * @param converterContext
69
+ * @param creationMode
70
+ * @param tableManifestConfiguration
71
+ * @param viewConfiguration
72
72
  * @returns The context for table actions
73
73
  */
74
74
  export function generateStandardActionsContext(
@@ -98,8 +98,8 @@ export function generateStandardActionsContext(
98
98
  /**
99
99
  * Checks if draft is supported.
100
100
  *
101
- * @param {ConverterContext} converterContext
102
- * @returns {boolean}
101
+ * @param converterContext
102
+ * @returns `true` if it is supported
103
103
  */
104
104
  export function isDraftSupported(converterContext: ConverterContext): boolean {
105
105
  const currentEntitySet = converterContext.getEntitySet();
@@ -118,8 +118,8 @@ export function isDraftSupported(converterContext: ConverterContext): boolean {
118
118
  /**
119
119
  * Checks if sticky or draft is supported.
120
120
  *
121
- * @param {ConverterContext} converterContext
122
- * @returns {boolean}
121
+ * @param converterContext
122
+ * @returns `true` if it is supported
123
123
  */
124
124
  export function isDraftOrStickySupported(converterContext: ConverterContext): boolean {
125
125
  const bIsDraftSupported = isDraftSupported(converterContext);
@@ -134,12 +134,12 @@ export function isDraftOrStickySupported(converterContext: ConverterContext): bo
134
134
  /**
135
135
  * Gets the configured newAction into annotation.
136
136
  *
137
- * @param {ConverterContext} converterContext
138
- * @returns {any}
137
+ * @param converterContext
138
+ * @returns The new action info
139
139
  */
140
140
  export function getNewAction(converterContext: ConverterContext): any {
141
141
  const currentEntitySet = converterContext.getEntitySet();
142
- const newActionName: BindingExpression<string> = (
142
+ const newActionName: CompiledBindingToolkitExpression = (
143
143
  currentEntitySet?.annotations?.Common?.DraftRoot?.NewAction ||
144
144
  currentEntitySet?.annotations?.Session?.StickySessionSupported?.NewAction
145
145
  )?.toString();
@@ -148,7 +148,7 @@ export function getNewAction(converterContext: ConverterContext): any {
148
148
  availableProperty = availableProperty !== undefined ? availableProperty : true;
149
149
  return {
150
150
  name: newActionName,
151
- available: annotationExpression(availableProperty)
151
+ available: getExpressionFromAnnotation(availableProperty)
152
152
  };
153
153
  }
154
154
  return undefined;
@@ -157,16 +157,16 @@ export function getNewAction(converterContext: ConverterContext): any {
157
157
  /**
158
158
  * Gets the binding expression for the action visibility configured into annotation.
159
159
  *
160
- * @param {ConverterContext} converterContext
161
- * @param {string} sAnnotationTerm
162
- * @param {boolean} bWithNavigationPath
163
- * @returns {Expression<boolean>}
160
+ * @param converterContext
161
+ * @param sAnnotationTerm
162
+ * @param bWithNavigationPath
163
+ * @returns The binding expression for the action visibility
164
164
  */
165
165
  export function isActionAnnotatedHidden(
166
166
  converterContext: ConverterContext,
167
167
  sAnnotationTerm: string,
168
168
  bWithNavigationPath = true
169
- ): Expression<boolean> {
169
+ ): BindingToolkitExpression<boolean> {
170
170
  const currentEntitySet = converterContext.getEntitySet();
171
171
  const dataModelObjectPath = converterContext.getDataModelObjectPath();
172
172
  // Consider only the last level of navigation. The others are already considered in the element binding of the page.
@@ -178,7 +178,7 @@ export function isActionAnnotatedHidden(
178
178
  ((currentEntitySet?.annotations.UI as any)?.[sAnnotationTerm] as PropertyAnnotationValue<boolean>) || false;
179
179
 
180
180
  return currentEntitySet
181
- ? annotationExpression(actionAnnotationValue, visitedNavigationPaths, undefined, (path: string) =>
181
+ ? getExpressionFromAnnotation(actionAnnotationValue, visitedNavigationPaths, undefined, (path: string) =>
182
182
  singletonPathVisitor(path, converterContext.getConvertedTypes(), visitedNavigationPaths)
183
183
  )
184
184
  : constant(false);
@@ -187,8 +187,8 @@ export function isActionAnnotatedHidden(
187
187
  /**
188
188
  * Gets the annotated restrictions for the actions.
189
189
  *
190
- * @param {ConverterContext} converterContext
191
- * @returns {StandardActionsRestrictionsType}
190
+ * @param converterContext
191
+ * @returns The restriction information
192
192
  */
193
193
  export function getRestrictions(converterContext: ConverterContext): StandardActionsRestrictionsType {
194
194
  const dataModelObjectPath = converterContext.getDataModelObjectPath();
@@ -234,10 +234,10 @@ export function getRestrictions(converterContext: ConverterContext): StandardAct
234
234
  /**
235
235
  * Checks if templating for insert/update actions is mandatory.
236
236
  *
237
- * @param {StandardActionsContext} standardActionsContext
238
- * @param {boolean} isDraftOrSticky
239
- * @param {boolean} isCreateAlwaysHidden
240
- * @returns {boolean}
237
+ * @param standardActionsContext
238
+ * @param isDraftOrSticky
239
+ * @param isCreateAlwaysHidden
240
+ * @returns The
241
241
  */
242
242
  export function getInsertUpdateActionsTemplating(
243
243
  standardActionsContext: StandardActionsContext,
@@ -250,9 +250,9 @@ export function getInsertUpdateActionsTemplating(
250
250
  /**
251
251
  * Gets the binding expressions for the properties of the action Create.
252
252
  *
253
- * @param {ConverterContext} converterContext
254
- * @param {StandardActionsContext} standardActionsContext
255
- * @returns {StandardActionConfigType}
253
+ * @param converterContext
254
+ * @param standardActionsContext
255
+ * @returns The standard action info
256
256
  */
257
257
  export function getStandardActionCreate(
258
258
  converterContext: ConverterContext,
@@ -260,18 +260,18 @@ export function getStandardActionCreate(
260
260
  ): StandardActionConfigType {
261
261
  const createVisibility = getCreateVisibility(converterContext, standardActionsContext);
262
262
  return {
263
- isTemplated: compileBinding(getCreateTemplating(standardActionsContext, createVisibility)),
264
- visible: compileBinding(createVisibility),
265
- enabled: compileBinding(getCreateEnablement(converterContext, standardActionsContext, createVisibility))
263
+ isTemplated: compileExpression(getCreateTemplating(standardActionsContext, createVisibility)),
264
+ visible: compileExpression(createVisibility),
265
+ enabled: compileExpression(getCreateEnablement(converterContext, standardActionsContext, createVisibility))
266
266
  };
267
267
  }
268
268
 
269
269
  /**
270
270
  * Gets the binding expressions for the properties of the action Delete.
271
271
  *
272
- * @param {ConverterContext} converterContext
273
- * @param {StandardActionsContext} standardActionsContext
274
- * @returns {StandardActionConfigType}
272
+ * @param converterContext
273
+ * @param standardActionsContext
274
+ * @returns The binding expressions for the properties of the action Delete.
275
275
  */
276
276
  export function getStandardActionDelete(
277
277
  converterContext: ConverterContext,
@@ -280,9 +280,9 @@ export function getStandardActionDelete(
280
280
  const deleteVisibility = getDeleteVisibility(converterContext, standardActionsContext);
281
281
 
282
282
  return {
283
- isTemplated: compileBinding(getDefaultTemplating(deleteVisibility)),
284
- visible: compileBinding(deleteVisibility),
285
- enabled: compileBinding(getDeleteEnablement(converterContext, standardActionsContext, deleteVisibility))
283
+ isTemplated: compileExpression(getDefaultTemplating(deleteVisibility)),
284
+ visible: compileExpression(deleteVisibility),
285
+ enabled: compileExpression(getDeleteEnablement(converterContext, standardActionsContext, deleteVisibility))
286
286
  };
287
287
  }
288
288
 
@@ -298,19 +298,19 @@ export function getCreationRow(
298
298
  const creationRowVisibility = getCreateVisibility(converterContext, standardActionsContext, true);
299
299
 
300
300
  return {
301
- isTemplated: compileBinding(getCreateTemplating(standardActionsContext, creationRowVisibility, true)),
302
- visible: compileBinding(creationRowVisibility),
303
- enabled: compileBinding(getCreationRowEnablement(converterContext, standardActionsContext, creationRowVisibility))
301
+ isTemplated: compileExpression(getCreateTemplating(standardActionsContext, creationRowVisibility, true)),
302
+ visible: compileExpression(creationRowVisibility),
303
+ enabled: compileExpression(getCreationRowEnablement(converterContext, standardActionsContext, creationRowVisibility))
304
304
  };
305
305
  }
306
306
 
307
307
  /**
308
308
  * Gets the binding expressions for the properties of the action Paste.
309
309
  *
310
- * @param {ConverterContext} converterContext
311
- * @param {StandardActionsContext} standardActionsContext
312
- * @param {boolean} isInsertUpdateActionsTemplated
313
- * @returns {StandardActionConfigType}
310
+ * @param converterContext
311
+ * @param standardActionsContext
312
+ * @param isInsertUpdateActionsTemplated
313
+ * @returns The binding expressions for the properties of the action Paste.
314
314
  */
315
315
  export function getStandardActionPaste(
316
316
  converterContext: ConverterContext,
@@ -321,17 +321,17 @@ export function getStandardActionPaste(
321
321
  const createEnablement = getCreateEnablement(converterContext, standardActionsContext, createVisibility);
322
322
  const pasteVisibility = getPasteVisibility(converterContext, standardActionsContext, createVisibility, isInsertUpdateActionsTemplated);
323
323
  return {
324
- visible: compileBinding(pasteVisibility),
325
- enabled: compileBinding(getPasteEnablement(pasteVisibility, createEnablement))
324
+ visible: compileExpression(pasteVisibility),
325
+ enabled: compileExpression(getPasteEnablement(pasteVisibility, createEnablement))
326
326
  };
327
327
  }
328
328
 
329
329
  /**
330
330
  * Gets the binding expressions for the properties of the action MassEdit.
331
331
  *
332
- * @param {ConverterContext} converterContext
333
- * @param {StandardActionsContext} standardActionsContext
334
- * @returns {StandardActionConfigType}
332
+ * @param converterContext
333
+ * @param standardActionsContext
334
+ * @returns The binding expressions for the properties of the action MassEdit.
335
335
  */
336
336
  export function getStandardActionMassEdit(
337
337
  converterContext: ConverterContext,
@@ -340,25 +340,25 @@ export function getStandardActionMassEdit(
340
340
  const massEditVisibility = getMassEditVisibility(converterContext, standardActionsContext);
341
341
 
342
342
  return {
343
- isTemplated: compileBinding(getDefaultTemplating(massEditVisibility)),
344
- visible: compileBinding(massEditVisibility),
345
- enabled: compileBinding(getMassEditEnablement(converterContext, standardActionsContext, massEditVisibility))
343
+ isTemplated: compileExpression(getDefaultTemplating(massEditVisibility)),
344
+ visible: compileExpression(massEditVisibility),
345
+ enabled: compileExpression(getMassEditEnablement(converterContext, standardActionsContext, massEditVisibility))
346
346
  };
347
347
  }
348
348
 
349
349
  /**
350
350
  * Gets the binding expression for the templating of the action Create.
351
351
  *
352
- * @param {StandardActionsContext} standardActionsContext
353
- * @param {Expression<boolean>} createVisibility
354
- * @param {boolean} isForCreationRow
355
- * @returns {Expression<boolean> }
352
+ * @param standardActionsContext
353
+ * @param createVisibility
354
+ * @param isForCreationRow
355
+ * @returns The create binding expression
356
356
  */
357
357
  export function getCreateTemplating(
358
358
  standardActionsContext: StandardActionsContext,
359
- createVisibility: Expression<boolean>,
359
+ createVisibility: BindingToolkitExpression<boolean>,
360
360
  isForCreationRow = false
361
- ): Expression<boolean> {
361
+ ): BindingToolkitExpression<boolean> {
362
362
  //Templating of Create Button is not done:
363
363
  // - If Button is never visible(covered the External create button, new Action)
364
364
  // - or CreationMode is on CreationRow for Create Button
@@ -377,26 +377,26 @@ export function getCreateTemplating(
377
377
  /**
378
378
  * Gets the binding expression for the templating of the non-Create actions.
379
379
  *
380
- * @param {Expression<boolean>} actionVisibility
381
- * @returns {Expression<boolean> }
380
+ * @param actionVisibility
381
+ * @returns The binding expression for the templating of the non-Create actions.
382
382
  */
383
- export function getDefaultTemplating(actionVisibility: Expression<boolean>): Expression<boolean> {
383
+ export function getDefaultTemplating(actionVisibility: BindingToolkitExpression<boolean>): BindingToolkitExpression<boolean> {
384
384
  return or(not(isConstant(actionVisibility)), actionVisibility);
385
385
  }
386
386
 
387
387
  /**
388
388
  * Gets the binding expression for the property visible of the action Create.
389
389
  *
390
- * @param {ConverterContext} converterContext
391
- * @param {StandardActionsContext} standardActionsContext
392
- * @param {boolean} isForCreationRow
393
- * @returns {Expression<boolean> }
390
+ * @param converterContext
391
+ * @param standardActionsContext
392
+ * @param isForCreationRow
393
+ * @returns The binding expression for the property visible of the action Create.
394
394
  */
395
395
  export function getCreateVisibility(
396
396
  converterContext: ConverterContext,
397
397
  standardActionsContext: StandardActionsContext,
398
398
  isForCreationRow = false
399
- ): Expression<boolean> {
399
+ ): BindingToolkitExpression<boolean> {
400
400
  const isInsertable = standardActionsContext.restrictions.isInsertable.expression;
401
401
  const isCreateHidden = isForCreationRow
402
402
  ? isActionAnnotatedHidden(converterContext, AnnotationHiddenProperty.CreateHidden, false)
@@ -438,7 +438,7 @@ export function getCreateVisibility(
438
438
  false,
439
439
  ifElse(
440
440
  converterContext.getTemplateType() === TemplateType.ListReport,
441
- or(not(isBinding(isCreateHidden)), not(isCreateHidden)),
441
+ or(not(isPathInModelExpression(isCreateHidden)), not(isCreateHidden)),
442
442
  and(not(isCreateHidden), UI.IsEditable)
443
443
  )
444
444
  )
@@ -448,14 +448,14 @@ export function getCreateVisibility(
448
448
  /**
449
449
  * Gets the binding expression for the property visible of the action Delete.
450
450
  *
451
- * @param {ConverterContext} converterContext
452
- * @param {StandardActionsContext} standardActionsContext
453
- * @returns {Expression<boolean> }
451
+ * @param converterContext
452
+ * @param standardActionsContext
453
+ * @returns The binding expression for the property visible of the action Delete.
454
454
  */
455
455
  export function getDeleteVisibility(
456
456
  converterContext: ConverterContext,
457
457
  standardActionsContext: StandardActionsContext
458
- ): Expression<boolean> {
458
+ ): BindingToolkitExpression<boolean> {
459
459
  const isDeleteHidden = standardActionsContext.hiddenAnnotation.delete;
460
460
  const pathDeletableExpression = standardActionsContext.restrictions.isDeletable.expression;
461
461
 
@@ -484,7 +484,7 @@ export function getDeleteVisibility(
484
484
  ifElse(
485
485
  converterContext.getTemplateType() !== TemplateType.ListReport,
486
486
  and(not(isDeleteHidden), UI.IsEditable),
487
- not(and(isBinding(isDeleteHidden), isDeleteHidden))
487
+ not(and(isPathInModelExpression(isDeleteHidden), isDeleteHidden))
488
488
  )
489
489
  )
490
490
  )
@@ -494,18 +494,18 @@ export function getDeleteVisibility(
494
494
  /**
495
495
  * Gets the binding expression for the property visible of the action Paste.
496
496
  *
497
- * @param {ConverterContext} converterContext
498
- * @param {StandardActionsContext} standardActionsContext
499
- * @param {Expression<boolean>} createVisibility
500
- * @param {boolean} isInsertUpdateActionsTemplated
501
- * @returns {Expression<boolean> }
497
+ * @param converterContext
498
+ * @param standardActionsContext
499
+ * @param createVisibility
500
+ * @param isInsertUpdateActionsTemplated
501
+ * @returns The binding expression for the property visible of the action Paste.
502
502
  */
503
503
  export function getPasteVisibility(
504
504
  converterContext: ConverterContext,
505
505
  standardActionsContext: StandardActionsContext,
506
- createVisibility: Expression<boolean>,
506
+ createVisibility: BindingToolkitExpression<boolean>,
507
507
  isInsertUpdateActionsTemplated: boolean
508
- ): Expression<boolean> {
508
+ ): BindingToolkitExpression<boolean> {
509
509
  // If Create is visible, enablePaste is not disabled into manifest and we are on OP/blocks outside Fiori elements templates
510
510
  // Then button will be visible according to insertable restrictions and create visibility
511
511
  // Otherwise it's not visible
@@ -521,14 +521,14 @@ export function getPasteVisibility(
521
521
  /**
522
522
  * Gets the binding expression for the property visible of the action MassEdit.
523
523
  *
524
- * @param {ConverterContext} converterContext
525
- * @param {StandardActionsContext} standardActionsContext
526
- * @returns {Expression<boolean> }
524
+ * @param converterContext
525
+ * @param standardActionsContext
526
+ * @returns The binding expression for the property visible of the action MassEdit
527
527
  */
528
528
  export function getMassEditVisibility(
529
529
  converterContext: ConverterContext,
530
530
  standardActionsContext: StandardActionsContext
531
- ): Expression<boolean> {
531
+ ): BindingToolkitExpression<boolean> {
532
532
  const isUpdateHidden = standardActionsContext.hiddenAnnotation.update,
533
533
  pathUpdatableExpression = standardActionsContext.restrictions.isUpdatable.expression,
534
534
  bMassEditEnabledInManifest: boolean = standardActionsContext.tableManifestConfiguration?.enableMassEdit || false;
@@ -554,16 +554,16 @@ export function getMassEditVisibility(
554
554
  /**
555
555
  * Gets the binding expression for the property enabled of the creationRow.
556
556
  *
557
- * @param {ConverterContext} converterContext
558
- * @param {StandardActionsContext} standardActionsContext
559
- * @param {Expression<boolean>} creationRowVisibility
560
- * @returns {Expression<boolean> }
557
+ * @param converterContext
558
+ * @param standardActionsContext
559
+ * @param creationRowVisibility
560
+ * @returns The binding expression for the property enabled of the creationRow.
561
561
  */
562
562
  export function getCreationRowEnablement(
563
563
  converterContext: ConverterContext,
564
564
  standardActionsContext: StandardActionsContext,
565
- creationRowVisibility: Expression<boolean>
566
- ): Expression<boolean> {
565
+ creationRowVisibility: BindingToolkitExpression<boolean>
566
+ ): BindingToolkitExpression<boolean> {
567
567
  const restrictionsInsertable = isPathInsertable(converterContext.getDataModelObjectPath(), {
568
568
  ignoreTargetCollection: true,
569
569
  authorizeUnresolvable: true,
@@ -594,7 +594,7 @@ export function getCreationRowEnablement(
594
594
  isInsertable,
595
595
  or(
596
596
  !standardActionsContext.tableManifestConfiguration.disableAddRowButtonForEmptyData,
597
- formatResult([bindingExpression("creationRowFieldValidity", "internal")], tableFormatters.validateCreationRowFields)
597
+ formatResult([pathInModel("creationRowFieldValidity", "internal")], tableFormatters.validateCreationRowFields)
598
598
  )
599
599
  );
600
600
  }
@@ -602,16 +602,16 @@ export function getCreationRowEnablement(
602
602
  /**
603
603
  * Gets the binding expression for the property enabled of the action Create.
604
604
  *
605
- * @param {ConverterContext} converterContext
606
- * @param {StandardActionsContext} standardActionsContext
607
- * @param {Expression<boolean>} createVisibility
608
- * @returns {Expression<boolean> }
605
+ * @param converterContext
606
+ * @param standardActionsContext
607
+ * @param createVisibility
608
+ * @returns The binding expression for the property enabled of the action Create.
609
609
  */
610
610
  export function getCreateEnablement(
611
611
  converterContext: ConverterContext,
612
612
  standardActionsContext: StandardActionsContext,
613
- createVisibility: Expression<boolean>
614
- ): Expression<boolean> {
613
+ createVisibility: BindingToolkitExpression<boolean>
614
+ ): BindingToolkitExpression<boolean> {
615
615
  const isInsertable = standardActionsContext.restrictions.isInsertable.expression;
616
616
  const CollectionType = converterContext.resolveAbsolutePath<any>(standardActionsContext.collectionPath).target?._type;
617
617
  return and(
@@ -626,22 +626,22 @@ export function getCreateEnablement(
626
626
  /**
627
627
  * Gets the binding expression for the property enabled of the action Delete.
628
628
  *
629
- * @param {ConverterContext} converterContext
630
- * @param {StandardActionsContext} standardActionsContext
631
- * @param {Expression<boolean>} deleteVisibility
632
- * @returns {Expression<boolean> }
629
+ * @param converterContext
630
+ * @param standardActionsContext
631
+ * @param deleteVisibility
632
+ * @returns The binding expression for the property enabled of the action Delete.
633
633
  */
634
634
  export function getDeleteEnablement(
635
635
  converterContext: ConverterContext,
636
636
  standardActionsContext: StandardActionsContext,
637
- deleteVisibility: Expression<boolean>
638
- ): Expression<boolean> {
637
+ deleteVisibility: BindingToolkitExpression<boolean>
638
+ ): BindingToolkitExpression<boolean> {
639
639
  const isDeletable = standardActionsContext.restrictions.isDeletable.expression;
640
640
  const isOnlyDynamicOnCurrentEntity =
641
641
  !isConstant(isDeletable) && standardActionsContext.restrictions.isDeletable.navigationExpression._type === "Unresolvable";
642
- const numberOfSelectedContexts = bindingExpression("numberOfSelectedContexts", "internal");
643
- const numberOfDeletableContexts = bindingExpression("deletableContexts", "internal");
644
- const numberOfUnSavedContexts = bindingExpression("unSavedContexts", "internal");
642
+ const numberOfSelectedContexts = pathInModel("numberOfSelectedContexts", "internal");
643
+ const numberOfDeletableContexts = pathInModel("deletableContexts", "internal");
644
+ const numberOfUnSavedContexts = pathInModel("unSavedContexts", "internal");
645
645
 
646
646
  return and(
647
647
  deleteVisibility,
@@ -652,7 +652,7 @@ export function getDeleteEnablement(
652
652
  and(notEqual(numberOfDeletableContexts, undefined), greaterThan(length(numberOfDeletableContexts), 0)),
653
653
  and(notEqual(numberOfUnSavedContexts, undefined), greaterThan(length(numberOfUnSavedContexts), 0))
654
654
  ),
655
- bindingExpression("deleteEnabled", "internal")
655
+ pathInModel("deleteEnabled", "internal")
656
656
  ),
657
657
  and(notEqual(numberOfSelectedContexts, 0), isDeletable)
658
658
  )
@@ -662,33 +662,36 @@ export function getDeleteEnablement(
662
662
  /**
663
663
  * Gets the binding expression for the property enabled of the action Paste.
664
664
  *
665
- * @param {Expression<boolean>} pasteVisibility
666
- * @param {Expression<boolean>} createEnablement
667
- * @returns {Expression<boolean> }
665
+ * @param pasteVisibility
666
+ * @param createEnablement
667
+ * @returns The binding expression for the property enabled of the action Paste.
668
668
  */
669
- export function getPasteEnablement(pasteVisibility: Expression<boolean>, createEnablement: Expression<boolean>): Expression<boolean> {
669
+ export function getPasteEnablement(
670
+ pasteVisibility: BindingToolkitExpression<boolean>,
671
+ createEnablement: BindingToolkitExpression<boolean>
672
+ ): BindingToolkitExpression<boolean> {
670
673
  return and(pasteVisibility, createEnablement);
671
674
  }
672
675
 
673
676
  /**
674
677
  * Gets the binding expression for the property enabled of the action MassEdit.
675
678
  *
676
- * @param {ConverterContext} converterContext
677
- * @param {StandardActionsContext} standardActionsContext
678
- * @param {Expression<boolean>} massEditVisibility
679
- * @returns {Expression<boolean> }
679
+ * @param converterContext
680
+ * @param standardActionsContext
681
+ * @param massEditVisibility
682
+ * @returns The binding expression for the property enabled of the action MassEdit.
680
683
  */
681
684
  export function getMassEditEnablement(
682
685
  converterContext: ConverterContext,
683
686
  standardActionsContext: StandardActionsContext,
684
- massEditVisibility: Expression<boolean>
685
- ): Expression<boolean> {
687
+ massEditVisibility: BindingToolkitExpression<boolean>
688
+ ): BindingToolkitExpression<boolean> {
686
689
  const pathUpdatableExpression = standardActionsContext.restrictions.isUpdatable.expression;
687
690
  const isOnlyDynamicOnCurrentEntity: any =
688
691
  !isConstant(pathUpdatableExpression) &&
689
692
  standardActionsContext.restrictions.isUpdatable.navigationExpression._type === "Unresolvable";
690
- const numberOfSelectedContexts = greaterOrEqual(bindingExpression("numberOfSelectedContexts", "internal"), 1);
691
- const numberOfUpdatableContexts = greaterOrEqual(length(bindingExpression("updatableContexts", "internal")), 1);
693
+ const numberOfSelectedContexts = greaterOrEqual(pathInModel("numberOfSelectedContexts", "internal"), 1);
694
+ const numberOfUpdatableContexts = greaterOrEqual(length(pathInModel("updatableContexts", "internal")), 1);
692
695
  const bIsDraftSupported = isDraftSupported(converterContext);
693
696
  const bDisplayMode = isInDisplayMode(converterContext);
694
697
 
@@ -708,9 +711,9 @@ export function getMassEditEnablement(
708
711
  /**
709
712
  * Tells if the table in template is in display mode.
710
713
  *
711
- * @param {ConverterContext} converterContext
712
- * @param {ViewPathConfiguration} viewConfiguration
713
- * @returns {boolean}
714
+ * @param converterContext
715
+ * @param viewConfiguration
716
+ * @returns `true` if the table is in display mode
714
717
  */
715
718
  export function isInDisplayMode(converterContext: ConverterContext, viewConfiguration?: ViewPathConfiguration): boolean {
716
719
  const templateType = converterContext.getTemplateType();