@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,25 +1,24 @@
1
- import { Property } from "@sap-ux/annotation-converter";
2
- import {
3
- CommunicationAnnotationTypes,
4
- Contact,
1
+ import type { PrimitiveType, Property } from "@sap-ux/vocabularies-types";
2
+ import type { Contact } from "@sap-ux/vocabularies-types/vocabularies/Communication";
3
+ import { CommunicationAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/Communication";
4
+ import type {
5
5
  DataField,
6
6
  DataFieldAbstractTypes,
7
7
  DataFieldForActionAbstractTypes,
8
8
  DataFieldForAnnotation,
9
9
  DataFieldTypes,
10
- DataPoint,
11
- UIAnnotationTypes
12
- } from "@sap-ux/vocabularies-types";
13
- import * as Edm from "@sap-ux/vocabularies-types/dist/Edm";
14
- import { TableType } from "sap/fe/core/converters/controls/Common/Table";
15
- import { getDisplayMode, PropertyOrPath } from "sap/fe/core/templating/DisplayModeFormatter";
10
+ DataPoint
11
+ } from "@sap-ux/vocabularies-types/vocabularies/UI";
12
+ import { UIAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/UI";
13
+ import type { TableType } from "sap/fe/core/converters/controls/Common/Table";
14
+ import { getDisplayMode } from "sap/fe/core/templating/DisplayModeFormatter";
16
15
  import {
17
16
  getAssociatedCurrencyProperty,
18
17
  getAssociatedTimezoneProperty,
19
18
  getAssociatedUnitProperty,
20
19
  isProperty
21
20
  } from "sap/fe/core/templating/PropertyHelper";
22
- import ConverterContext from "../ConverterContext";
21
+ import type ConverterContext from "../ConverterContext";
23
22
 
24
23
  export type ComplexPropertyInfo = {
25
24
  properties: Record<string, Property>;
@@ -38,8 +37,8 @@ export type ComplexPropertyInfo = {
38
37
  * Identifies if the given dataFieldAbstract that is passed is a "DataFieldForActionAbstract".
39
38
  * DataFieldForActionAbstract has an inline action defined.
40
39
  *
41
- * @param {DataFieldAbstractTypes} dataField DataField to be evaluated
42
- * @returns {boolean} Validates that dataField is a DataFieldForActionAbstractType
40
+ * @param dataField DataField to be evaluated
41
+ * @returns Validates that dataField is a DataFieldForActionAbstractType
43
42
  */
44
43
  export function isDataFieldForActionAbstract(dataField: DataFieldAbstractTypes): dataField is DataFieldForActionAbstractTypes {
45
44
  return (dataField as DataFieldForActionAbstractTypes).hasOwnProperty("Action");
@@ -49,8 +48,8 @@ export function isDataFieldForActionAbstract(dataField: DataFieldAbstractTypes):
49
48
  * Identifies if the given dataFieldAbstract that is passed is a "DataField".
50
49
  * DataField has a value defined.
51
50
  *
52
- * @param {DataFieldAbstractTypes} dataField DataField to be evaluated
53
- * @returns {boolean} Validate that dataField is a DataFieldTypes
51
+ * @param dataField DataField to be evaluated
52
+ * @returns Validate that dataField is a DataFieldTypes
54
53
  */
55
54
  export function isDataFieldTypes(dataField: DataFieldAbstractTypes): dataField is DataFieldTypes {
56
55
  return (dataField as DataFieldTypes).hasOwnProperty("Value");
@@ -59,8 +58,8 @@ export function isDataFieldTypes(dataField: DataFieldAbstractTypes): dataField i
59
58
  /**
60
59
  * Returns whether given DataField has a static hidden annotation.
61
60
  *
62
- * @param {DataFieldAbstractTypes} dataField The datafield to check
63
- * @returns {boolean} `true` if datafield or referenced property has a static Hidden annotation, false else
61
+ * @param dataField The DataField to check
62
+ * @returns `true` if DataField or referenced property has a static Hidden annotation, false else
64
63
  * @private
65
64
  */
66
65
  export function isDataFieldAlwaysHidden(dataField: DataFieldAbstractTypes): boolean {
@@ -90,7 +89,7 @@ export function getSemanticObjectPath(converterContext: ConverterContext, object
90
89
  * Returns the navigation path prefix for a property path.
91
90
  *
92
91
  * @param path The property path For e.g. /EntityType/Navigation/Property
93
- * @returns {string} The navigation path prefix For e.g. /EntityType/Navigation/
92
+ * @returns The navigation path prefix For e.g. /EntityType/Navigation/
94
93
  */
95
94
  function _getNavigationPathPrefix(path: string): string {
96
95
  return path.indexOf("/") > -1 ? path.substring(0, path.lastIndexOf("/") + 1) : "";
@@ -105,10 +104,10 @@ function _getNavigationPathPrefix(path: string): string {
105
104
  * @param navigationPathPrefix Navigation path prefix, applicable in case of navigation properties.
106
105
  * @param tableType Table type.
107
106
  * @param relatedProperties The related properties identified so far.
108
- * @returns {ComplexPropertyInfo} The related properties identified.
107
+ * @returns The related properties identified.
109
108
  */
110
109
  function _collectAdditionalPropertiesForAnalyticalTable(
111
- target: Edm.PrimitiveType,
110
+ target: PrimitiveType,
112
111
  navigationPathPrefix: string,
113
112
  tableType: TableType,
114
113
  relatedProperties: ComplexPropertyInfo
@@ -134,11 +133,11 @@ function _collectAdditionalPropertiesForAnalyticalTable(
134
133
  * @param tableType The table type.
135
134
  * @param relatedProperties The related properties identified so far.
136
135
  * @param addUnitInTemplate True if the unit/currency property needs to be added in the export template
137
- * @returns {ComplexPropertyInfo} The related properties identified.
136
+ * @returns The related properties identified.
138
137
  */
139
138
  export function collectRelatedProperties(
140
139
  path: string,
141
- property: Edm.PrimitiveType,
140
+ property: PrimitiveType,
142
141
  converterContext: ConverterContext,
143
142
  ignoreSelf: boolean,
144
143
  tableType: TableType,
@@ -190,7 +189,7 @@ export function collectRelatedProperties(
190
189
  // Check for Text Arrangement.
191
190
  const dataModelObjectPath = converterContext.getDataModelObjectPath();
192
191
  const textAnnotationPropertyPath = navigationPathPrefix + textAnnotation.path;
193
- const displayMode = getDisplayMode(property as PropertyOrPath<Property>, dataModelObjectPath);
192
+ const displayMode = getDisplayMode(property, dataModelObjectPath);
194
193
  let descriptionIndex: number;
195
194
  switch (displayMode) {
196
195
  case "Value":
@@ -217,6 +216,7 @@ export function collectRelatedProperties(
217
216
  descriptionIndex = _pushUnique(textAnnotationPropertyPath, textAnnotation.$target);
218
217
  _appendTemplate(`{${descriptionIndex}} ({${valueIndex}})`);
219
218
  break;
219
+ // no default
220
220
  }
221
221
  } else {
222
222
  // Check for field containing Currency Or Unit Properties or Timezone
@@ -242,7 +242,7 @@ export function collectRelatedProperties(
242
242
  relatedProperties.exportTimezoneName = timezoneProperty.name;
243
243
  }
244
244
  } else if (property.Target?.$target?.Visualization) {
245
- const dataPointProperty: Edm.PrimitiveType = property.Target.$target.Value.$target;
245
+ const dataPointProperty: PrimitiveType = property.Target.$target.Value.$target;
246
246
  valueIndex = _pushUnique(path, dataPointProperty);
247
247
  // New fake property created for the Rating/Progress Target Value. It'll be used for the export on split mode.
248
248
  _pushUnique(property.Target.value, property.Target.$target);
@@ -250,7 +250,7 @@ export function collectRelatedProperties(
250
250
  _appendTemplate(`{${valueIndex}}/${targetValue}`);
251
251
  } else if (property.annotations?.UI?.DataFieldDefault?.Target?.$target?.$Type === UIAnnotationTypes.DataPointType) {
252
252
  // DataPoint use-case using DataFieldDefault.
253
- const dataPointDefaultProperty: Edm.PrimitiveType = property.annotations.UI.DataFieldDefault;
253
+ const dataPointDefaultProperty: PrimitiveType = property.annotations.UI.DataFieldDefault;
254
254
  valueIndex = _pushUnique(path, property);
255
255
  // New fake property created for the Rating/Progress Target Value. It'll be used for the export on split mode.
256
256
  _pushUnique(dataPointDefaultProperty.Target.value, property);
@@ -291,12 +291,12 @@ export function collectRelatedProperties(
291
291
  * Collect properties consumed by a DataField.
292
292
  * This is for populating the ComplexPropertyInfos of the table delegate.
293
293
  *
294
- * @param {DataFieldAbstractTypes} dataField The DataField for which the properties need to be identified.
294
+ * @param dataField The DataField for which the properties need to be identified.
295
295
  * @param converterContext The converter context.
296
- * @param {TableType} tableType The table type.
297
- * @param {ComplexPropertyInfo} relatedProperties The properties identified so far.
298
- * @param {boolean} isEmbedded True if the datafield is embedded in another annotation (e.g. FieldGroup).
299
- * @returns {ComplexPropertyInfo} The properties related to the DataField.
296
+ * @param tableType The table type.
297
+ * @param relatedProperties The properties identified so far.
298
+ * @param isEmbedded True if the DataField is embedded in another annotation (e.g. FieldGroup).
299
+ * @returns The properties related to the DataField.
300
300
  */
301
301
  export function collectRelatedPropertiesRecursively(
302
302
  dataField: DataFieldAbstractTypes,
@@ -305,57 +305,79 @@ export function collectRelatedPropertiesRecursively(
305
305
  relatedProperties: ComplexPropertyInfo = { properties: {}, additionalProperties: {} },
306
306
  isEmbedded: boolean = false
307
307
  ): ComplexPropertyInfo {
308
- if ((dataField.$Type === UIAnnotationTypes.DataField || dataField.$Type === UIAnnotationTypes.DataFieldWithUrl) && dataField.Value) {
309
- const property = dataField.Value;
310
- relatedProperties = collectRelatedProperties(
311
- property.path,
312
- property.$target,
313
- converterContext,
314
- false,
315
- tableType,
316
- relatedProperties,
317
- isEmbedded
318
- );
319
- const navigationPathPrefix = _getNavigationPathPrefix(property.path);
320
- relatedProperties = _collectAdditionalPropertiesForAnalyticalTable(dataField, navigationPathPrefix, tableType, relatedProperties);
321
- } else if (dataField.$Type === UIAnnotationTypes.DataFieldForAnnotation) {
322
- switch (dataField.Target?.$target?.$Type) {
323
- case UIAnnotationTypes.FieldGroupType:
324
- dataField.Target.$target.Data?.forEach((innerDataField: DataFieldAbstractTypes) => {
325
- relatedProperties = collectRelatedPropertiesRecursively(
326
- innerDataField,
308
+ switch (dataField?.$Type) {
309
+ case UIAnnotationTypes.DataField:
310
+ case UIAnnotationTypes.DataFieldWithUrl:
311
+ case UIAnnotationTypes.DataFieldWithNavigationPath:
312
+ case UIAnnotationTypes.DataFieldWithIntentBasedNavigation:
313
+ case UIAnnotationTypes.DataFieldWithAction:
314
+ const property = dataField.Value;
315
+ relatedProperties = collectRelatedProperties(
316
+ property.path,
317
+ property.$target,
318
+ converterContext,
319
+ false,
320
+ tableType,
321
+ relatedProperties,
322
+ isEmbedded
323
+ );
324
+ const navigationPathPrefix = _getNavigationPathPrefix(property.path);
325
+ relatedProperties = _collectAdditionalPropertiesForAnalyticalTable(
326
+ dataField,
327
+ navigationPathPrefix,
328
+ tableType,
329
+ relatedProperties
330
+ );
331
+ break;
332
+
333
+ case UIAnnotationTypes.DataFieldForAction:
334
+ case UIAnnotationTypes.DataFieldForIntentBasedNavigation:
335
+ break;
336
+
337
+ case UIAnnotationTypes.DataFieldForAnnotation:
338
+ switch (dataField.Target?.$target?.$Type) {
339
+ case UIAnnotationTypes.FieldGroupType:
340
+ dataField.Target.$target.Data?.forEach((innerDataField: DataFieldAbstractTypes) => {
341
+ relatedProperties = collectRelatedPropertiesRecursively(
342
+ innerDataField,
343
+ converterContext,
344
+ tableType,
345
+ relatedProperties,
346
+ true
347
+ );
348
+ });
349
+ break;
350
+
351
+ case UIAnnotationTypes.DataPointType:
352
+ relatedProperties = collectRelatedProperties(
353
+ dataField.Target.$target.Value.path,
354
+ dataField,
327
355
  converterContext,
356
+ false,
328
357
  tableType,
329
358
  relatedProperties,
330
- true
359
+ isEmbedded
331
360
  );
332
- });
333
- break;
361
+ break;
334
362
 
335
- case UIAnnotationTypes.DataPointType:
336
- relatedProperties = collectRelatedProperties(
337
- dataField.Target.$target.Value.path,
338
- dataField,
339
- converterContext,
340
- false,
341
- tableType,
342
- relatedProperties,
343
- isEmbedded
344
- );
345
- break;
363
+ case "com.sap.vocabularies.Communication.v1.ContactType":
364
+ relatedProperties = collectRelatedProperties(
365
+ dataField.Target.value,
366
+ dataField,
367
+ converterContext,
368
+ false,
369
+ tableType,
370
+ relatedProperties,
371
+ isEmbedded
372
+ );
373
+ break;
374
+ default:
375
+ break;
376
+ }
377
+ break;
346
378
 
347
- case "com.sap.vocabularies.Communication.v1.ContactType":
348
- relatedProperties = collectRelatedProperties(
349
- dataField.Target.value,
350
- dataField,
351
- converterContext,
352
- false,
353
- tableType,
354
- relatedProperties,
355
- isEmbedded
356
- );
357
- break;
358
- }
379
+ default:
380
+ break;
359
381
  }
360
382
 
361
383
  return relatedProperties;