@sapui5/sap.fe.core 1.101.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 (339) 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 +66 -30
  4. package/src/sap/fe/core/AppComponent.ts +68 -51
  5. package/src/sap/fe/core/AppStateHandler.js +13 -13
  6. package/src/sap/fe/core/AppStateHandler.ts +18 -18
  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 +279 -188
  10. package/src/sap/fe/core/CommonUtils.ts +306 -215
  11. package/src/sap/fe/core/ExtensionAPI.js +25 -30
  12. package/src/sap/fe/core/ExtensionAPI.ts +37 -41
  13. package/src/sap/fe/core/PageController.js +12 -7
  14. package/src/sap/fe/core/PageController.ts +10 -5
  15. package/src/sap/fe/core/TemplateComponent.js +6 -6
  16. package/src/sap/fe/core/TemplateComponent.ts +11 -11
  17. package/src/sap/fe/core/TemplateModel.js +2 -2
  18. package/src/sap/fe/core/TemplateModel.ts +3 -3
  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 +306 -78
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +280 -70
  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/{BusyLocker.js → controllerextensions/BusyLocker.js} +1 -1
  26. package/src/sap/fe/core/{BusyLocker.ts → controllerextensions/BusyLocker.ts} +7 -7
  27. package/src/sap/fe/core/controllerextensions/EditFlow.js +351 -229
  28. package/src/sap/fe/core/controllerextensions/EditFlow.ts +321 -246
  29. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +9 -9
  30. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
  31. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +59 -34
  32. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +71 -45
  33. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +72 -72
  34. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +82 -80
  35. package/src/sap/fe/core/controllerextensions/InternalRouting.js +152 -131
  36. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +171 -152
  37. package/src/sap/fe/core/controllerextensions/KPIManagement.js +66 -68
  38. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
  39. package/src/sap/fe/core/controllerextensions/MassEdit.js +11 -10
  40. package/src/sap/fe/core/controllerextensions/MassEdit.ts +31 -37
  41. package/src/sap/fe/core/controllerextensions/MessageHandler.js +21 -13
  42. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +30 -15
  43. package/src/sap/fe/core/controllerextensions/PageReady.js +97 -25
  44. package/src/sap/fe/core/controllerextensions/PageReady.ts +94 -34
  45. package/src/sap/fe/core/controllerextensions/Paginator.js +19 -11
  46. package/src/sap/fe/core/controllerextensions/Paginator.ts +22 -14
  47. package/src/sap/fe/core/controllerextensions/Placeholder.js +4 -6
  48. package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
  49. package/src/sap/fe/core/controllerextensions/Routing.js +10 -11
  50. package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
  51. package/src/sap/fe/core/controllerextensions/Share.js +39 -21
  52. package/src/sap/fe/core/controllerextensions/Share.ts +45 -26
  53. package/src/sap/fe/core/controllerextensions/SideEffects.js +47 -51
  54. package/src/sap/fe/core/controllerextensions/SideEffects.ts +58 -62
  55. package/src/sap/fe/core/controllerextensions/ViewState.js +75 -62
  56. package/src/sap/fe/core/controllerextensions/ViewState.ts +78 -63
  57. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +105 -0
  58. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +99 -0
  59. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +360 -0
  60. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/ActivitySync.ts +58 -112
  61. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/CollaborationCommon.js +2 -2
  62. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/CollaborationCommon.ts +7 -7
  63. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +262 -0
  64. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/Manage.ts +20 -21
  65. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/ManageDialog.fragment.xml +0 -0
  66. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/UserDetails.fragment.xml +5 -7
  67. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1631 -0
  68. package/src/sap/fe/core/{TransactionHelper.ts → controllerextensions/editFlow/TransactionHelper.ts} +270 -211
  69. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +772 -0
  70. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/draft.ts +240 -100
  71. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1199 -0
  72. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/operations.ts +364 -229
  73. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +188 -0
  74. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +185 -0
  75. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +626 -0
  76. package/src/sap/fe/core/{actions → controllerextensions/messageHandler}/messageHandling.ts +112 -69
  77. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +937 -0
  78. package/src/sap/fe/core/{RouterProxy.ts → controllerextensions/routing/RouterProxy.ts} +72 -73
  79. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +21 -18
  80. package/src/sap/fe/core/controls/Any.js +9 -5
  81. package/src/sap/fe/core/controls/Any.ts +10 -4
  82. package/src/sap/fe/core/controls/CommandExecution.js +21 -24
  83. package/src/sap/fe/core/controls/CommandExecution.ts +19 -24
  84. package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
  85. package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
  86. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +48 -43
  87. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +51 -46
  88. package/src/sap/fe/core/controls/CustomQuickViewPage.js +3 -2
  89. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +3 -2
  90. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +11 -3
  91. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +19 -9
  92. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +14 -8
  93. package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
  94. package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
  95. package/src/sap/fe/core/controls/FileWrapper.js +50 -3
  96. package/src/sap/fe/core/controls/FileWrapper.ts +45 -12
  97. package/src/sap/fe/core/controls/FilterBar.js +6 -2
  98. package/src/sap/fe/core/controls/FilterBar.ts +13 -9
  99. package/src/sap/fe/core/controls/FormElementWrapper.js +12 -2
  100. package/src/sap/fe/core/controls/FormElementWrapper.ts +14 -3
  101. package/src/sap/fe/core/controls/MassEditSelect.js +33 -0
  102. package/src/sap/fe/core/controls/MassEditSelect.ts +41 -0
  103. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +3 -3
  104. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +16 -12
  105. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
  106. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -3
  107. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
  108. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +48 -48
  109. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +71 -76
  110. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +36 -65
  111. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +107 -0
  112. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +551 -36
  113. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +605 -36
  114. package/src/sap/fe/core/converters/ConverterContext.js +26 -33
  115. package/src/sap/fe/core/converters/ConverterContext.ts +51 -60
  116. package/src/sap/fe/core/converters/ManifestSettings.js +2 -1
  117. package/src/sap/fe/core/converters/ManifestSettings.ts +17 -14
  118. package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
  119. package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
  120. package/src/sap/fe/core/converters/MetaModelConverter.js +56 -67
  121. package/src/sap/fe/core/converters/MetaModelConverter.ts +183 -193
  122. package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
  123. package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
  124. package/src/sap/fe/core/converters/annotations/DataField.js +73 -37
  125. package/src/sap/fe/core/converters/annotations/DataField.ts +121 -77
  126. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1911 -1495
  127. package/src/sap/fe/core/converters/controls/Common/Action.js +51 -49
  128. package/src/sap/fe/core/converters/controls/Common/Action.ts +58 -54
  129. package/src/sap/fe/core/converters/controls/Common/Chart.js +22 -15
  130. package/src/sap/fe/core/converters/controls/Common/Chart.ts +29 -27
  131. package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
  132. package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
  133. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +28 -28
  134. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +40 -36
  135. package/src/sap/fe/core/converters/controls/Common/Form.js +30 -34
  136. package/src/sap/fe/core/converters/controls/Common/Form.ts +48 -58
  137. package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
  138. package/src/sap/fe/core/converters/controls/Common/KPI.ts +35 -39
  139. package/src/sap/fe/core/converters/controls/Common/Table.js +318 -244
  140. package/src/sap/fe/core/converters/controls/Common/Table.ts +368 -297
  141. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +135 -125
  142. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +162 -148
  143. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +51 -45
  144. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +79 -67
  145. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
  146. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
  147. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
  148. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
  149. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +67 -64
  150. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +69 -66
  151. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +92 -89
  152. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +124 -120
  153. package/src/sap/fe/core/converters/helpers/Aggregation.js +11 -5
  154. package/src/sap/fe/core/converters/helpers/Aggregation.ts +25 -23
  155. package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -30
  156. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +31 -29
  157. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +4 -4
  158. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +9 -9
  159. package/src/sap/fe/core/converters/helpers/ID.js +46 -46
  160. package/src/sap/fe/core/converters/helpers/ID.ts +25 -25
  161. package/src/sap/fe/core/converters/helpers/Key.js +7 -7
  162. package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
  163. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  164. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -4
  165. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
  166. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
  167. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +46 -62
  168. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +54 -82
  169. package/src/sap/fe/core/converters/templates/ListReportConverter.js +30 -29
  170. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +40 -40
  171. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +56 -55
  172. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +65 -77
  173. package/src/sap/fe/core/designtime/AppComponent.designtime.js +6 -6
  174. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +10 -8
  175. package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
  176. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
  177. package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
  178. package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
  179. package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
  180. package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
  181. package/src/sap/fe/core/formatters/StandardFormatter.js +89 -0
  182. package/src/sap/fe/core/formatters/StandardFormatter.ts +64 -0
  183. package/src/sap/fe/core/formatters/TableFormatter.js +83 -22
  184. package/src/sap/fe/core/formatters/TableFormatter.ts +80 -25
  185. package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
  186. package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
  187. package/src/sap/fe/core/fpm/Component.js +2 -2
  188. package/src/sap/fe/core/fpm/Component.ts +1 -1
  189. package/src/sap/fe/core/helpers/AppStartupHelper.js +15 -15
  190. package/src/sap/fe/core/helpers/AppStartupHelper.ts +37 -40
  191. package/src/sap/fe/core/helpers/BindingToolkit.js +1809 -0
  192. package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +388 -285
  193. package/src/sap/fe/core/helpers/ClassSupport.js +20 -11
  194. package/src/sap/fe/core/helpers/ClassSupport.ts +15 -10
  195. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
  196. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
  197. package/src/sap/fe/core/helpers/EditState.js +1 -6
  198. package/src/sap/fe/core/helpers/EditState.ts +5 -10
  199. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
  200. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
  201. package/src/sap/fe/core/helpers/FPMHelper.js +3 -2
  202. package/src/sap/fe/core/helpers/FPMHelper.ts +10 -9
  203. package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
  204. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
  205. package/src/sap/fe/core/helpers/MassEditHelper.js +532 -264
  206. package/src/sap/fe/core/helpers/MassEditHelper.ts +560 -289
  207. package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
  208. package/src/sap/fe/core/helpers/ModelHelper.ts +50 -58
  209. package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
  210. package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
  211. package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  212. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
  213. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
  214. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
  215. package/src/sap/fe/core/helpers/StableIdHelper.js +16 -12
  216. package/src/sap/fe/core/helpers/StableIdHelper.ts +20 -16
  217. package/src/sap/fe/core/{Synchronization.js → helpers/Synchronization.js} +1 -1
  218. package/src/sap/fe/core/{Synchronization.ts → helpers/Synchronization.ts} +1 -1
  219. package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
  220. package/src/sap/fe/core/jsx-runtime/jsx.ts +8 -8
  221. package/src/sap/fe/core/library.js +51 -3
  222. package/src/sap/fe/core/library.ts +47 -0
  223. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
  224. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
  225. package/src/sap/fe/core/messagebundle.properties +151 -197
  226. package/src/sap/fe/core/messagebundle_ar.properties +36 -63
  227. package/src/sap/fe/core/messagebundle_bg.properties +36 -63
  228. package/src/sap/fe/core/messagebundle_ca.properties +36 -63
  229. package/src/sap/fe/core/messagebundle_cs.properties +36 -63
  230. package/src/sap/fe/core/messagebundle_cy.properties +36 -63
  231. package/src/sap/fe/core/messagebundle_da.properties +37 -64
  232. package/src/sap/fe/core/messagebundle_de.properties +36 -63
  233. package/src/sap/fe/core/messagebundle_el.properties +38 -65
  234. package/src/sap/fe/core/messagebundle_en.properties +37 -64
  235. package/src/sap/fe/core/messagebundle_en_GB.properties +37 -64
  236. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +44 -73
  237. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +37 -64
  238. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +52 -81
  239. package/src/sap/fe/core/messagebundle_es.properties +36 -63
  240. package/src/sap/fe/core/messagebundle_es_MX.properties +36 -63
  241. package/src/sap/fe/core/messagebundle_et.properties +36 -63
  242. package/src/sap/fe/core/messagebundle_fi.properties +36 -63
  243. package/src/sap/fe/core/messagebundle_fr.properties +39 -66
  244. package/src/sap/fe/core/messagebundle_fr_CA.properties +36 -63
  245. package/src/sap/fe/core/messagebundle_hi.properties +36 -63
  246. package/src/sap/fe/core/messagebundle_hr.properties +36 -63
  247. package/src/sap/fe/core/messagebundle_hu.properties +35 -62
  248. package/src/sap/fe/core/messagebundle_id.properties +37 -64
  249. package/src/sap/fe/core/messagebundle_it.properties +54 -81
  250. package/src/sap/fe/core/messagebundle_iw.properties +36 -63
  251. package/src/sap/fe/core/messagebundle_ja.properties +36 -63
  252. package/src/sap/fe/core/messagebundle_kk.properties +36 -63
  253. package/src/sap/fe/core/messagebundle_ko.properties +36 -63
  254. package/src/sap/fe/core/messagebundle_lt.properties +36 -63
  255. package/src/sap/fe/core/messagebundle_lv.properties +36 -63
  256. package/src/sap/fe/core/messagebundle_ms.properties +37 -64
  257. package/src/sap/fe/core/messagebundle_nl.properties +37 -64
  258. package/src/sap/fe/core/messagebundle_no.properties +36 -63
  259. package/src/sap/fe/core/messagebundle_pl.properties +37 -64
  260. package/src/sap/fe/core/messagebundle_pt.properties +37 -64
  261. package/src/sap/fe/core/messagebundle_pt_PT.properties +36 -63
  262. package/src/sap/fe/core/messagebundle_ro.properties +36 -63
  263. package/src/sap/fe/core/messagebundle_ru.properties +36 -63
  264. package/src/sap/fe/core/messagebundle_sh.properties +36 -63
  265. package/src/sap/fe/core/messagebundle_sk.properties +36 -63
  266. package/src/sap/fe/core/messagebundle_sl.properties +38 -65
  267. package/src/sap/fe/core/messagebundle_sv.properties +36 -63
  268. package/src/sap/fe/core/messagebundle_th.properties +36 -63
  269. package/src/sap/fe/core/messagebundle_tr.properties +36 -63
  270. package/src/sap/fe/core/messagebundle_uk.properties +37 -64
  271. package/src/sap/fe/core/messagebundle_vi.properties +37 -64
  272. package/src/sap/fe/core/messagebundle_zh_CN.properties +36 -63
  273. package/src/sap/fe/core/messagebundle_zh_TW.properties +37 -64
  274. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
  275. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
  276. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +2 -2
  277. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +14 -14
  278. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +6 -3
  279. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +12 -10
  280. package/src/sap/fe/core/services/NavigationServiceFactory.js +54 -45
  281. package/src/sap/fe/core/services/NavigationServiceFactory.ts +61 -49
  282. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
  283. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
  284. package/src/sap/fe/core/services/RoutingServiceFactory.js +63 -60
  285. package/src/sap/fe/core/services/RoutingServiceFactory.ts +76 -73
  286. package/src/sap/fe/core/services/ShellServicesFactory.js +102 -71
  287. package/src/sap/fe/core/services/ShellServicesFactory.ts +109 -78
  288. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +61 -61
  289. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
  290. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +24 -18
  291. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +53 -50
  292. package/src/sap/fe/core/support/CommonHelper.js +3 -2
  293. package/src/sap/fe/core/support/CommonHelper.ts +9 -13
  294. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  295. package/src/sap/fe/core/support/Diagnostics.ts +5 -5
  296. package/src/sap/fe/core/templating/CommonFormatters.js +84 -0
  297. package/src/sap/fe/core/templating/CommonFormatters.ts +86 -0
  298. package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
  299. package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
  300. package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
  301. package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
  302. package/src/sap/fe/core/templating/DataModelPathHelper.js +16 -15
  303. package/src/sap/fe/core/templating/DataModelPathHelper.ts +42 -32
  304. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  305. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +3 -4
  306. package/src/sap/fe/core/templating/EntitySetHelper.js +7 -15
  307. package/src/sap/fe/core/templating/EntitySetHelper.ts +14 -18
  308. package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
  309. package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
  310. package/src/sap/fe/core/templating/FilterHelper.js +12 -11
  311. package/src/sap/fe/core/templating/FilterHelper.ts +17 -16
  312. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  313. package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
  314. package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
  315. package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
  316. package/src/sap/fe/core/templating/PropertyHelper.js +79 -56
  317. package/src/sap/fe/core/templating/PropertyHelper.ts +41 -27
  318. package/src/sap/fe/core/templating/UIFormatters.js +163 -97
  319. package/src/sap/fe/core/templating/UIFormatters.ts +210 -129
  320. package/src/sap/fe/core/type/DateTimeWithTimezone.js +47 -0
  321. package/src/sap/fe/core/type/DateTimeWithTimezone.ts +23 -0
  322. package/src/sap/fe/core/type/Email.js +2 -2
  323. package/src/sap/fe/core/type/Email.ts +2 -2
  324. package/src/sap/fe/core/AnnotationHelper.js +0 -331
  325. package/src/sap/fe/core/AnnotationHelper.ts +0 -321
  326. package/src/sap/fe/core/RouterProxy.js +0 -938
  327. package/src/sap/fe/core/TransactionHelper.js +0 -1577
  328. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +0 -406
  329. package/src/sap/fe/core/actions/collaboration/Manage.js +0 -264
  330. package/src/sap/fe/core/actions/draft.js +0 -665
  331. package/src/sap/fe/core/actions/messageHandling.js +0 -579
  332. package/src/sap/fe/core/actions/nonDraft.js +0 -20
  333. package/src/sap/fe/core/actions/nonDraft.ts +0 -12
  334. package/src/sap/fe/core/actions/operations.js +0 -1096
  335. package/src/sap/fe/core/actions/sticky.js +0 -130
  336. package/src/sap/fe/core/actions/sticky.ts +0 -119
  337. package/src/sap/fe/core/formatters/CriticalityFormatter.js +0 -77
  338. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +0 -58
  339. package/src/sap/fe/core/helpers/BindingExpression.js +0 -1729
@@ -1,20 +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";
16
- import { getAssociatedCurrencyProperty, getAssociatedUnitProperty, isProperty } from "sap/fe/core/templating/PropertyHelper";
17
- import ConverterContext from "../ConverterContext";
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";
15
+ import {
16
+ getAssociatedCurrencyProperty,
17
+ getAssociatedTimezoneProperty,
18
+ getAssociatedUnitProperty,
19
+ isProperty
20
+ } from "sap/fe/core/templating/PropertyHelper";
21
+ import type ConverterContext from "../ConverterContext";
18
22
 
19
23
  export type ComplexPropertyInfo = {
20
24
  properties: Record<string, Property>;
@@ -25,14 +29,16 @@ export type ComplexPropertyInfo = {
25
29
  visualSettingsToBeExcluded?: string;
26
30
  exportUnitName?: string;
27
31
  exportUnitString?: string;
32
+ exportTimezoneName?: string;
33
+ exportTimezoneString?: string;
28
34
  };
29
35
 
30
36
  /**
31
37
  * Identifies if the given dataFieldAbstract that is passed is a "DataFieldForActionAbstract".
32
38
  * DataFieldForActionAbstract has an inline action defined.
33
39
  *
34
- * @param {DataFieldAbstractTypes} dataField DataField to be evaluated
35
- * @returns {boolean} Validates that dataField is a DataFieldForActionAbstractType
40
+ * @param dataField DataField to be evaluated
41
+ * @returns Validates that dataField is a DataFieldForActionAbstractType
36
42
  */
37
43
  export function isDataFieldForActionAbstract(dataField: DataFieldAbstractTypes): dataField is DataFieldForActionAbstractTypes {
38
44
  return (dataField as DataFieldForActionAbstractTypes).hasOwnProperty("Action");
@@ -42,8 +48,8 @@ export function isDataFieldForActionAbstract(dataField: DataFieldAbstractTypes):
42
48
  * Identifies if the given dataFieldAbstract that is passed is a "DataField".
43
49
  * DataField has a value defined.
44
50
  *
45
- * @param {DataFieldAbstractTypes} dataField DataField to be evaluated
46
- * @returns {boolean} Validate that dataField is a DataFieldTypes
51
+ * @param dataField DataField to be evaluated
52
+ * @returns Validate that dataField is a DataFieldTypes
47
53
  */
48
54
  export function isDataFieldTypes(dataField: DataFieldAbstractTypes): dataField is DataFieldTypes {
49
55
  return (dataField as DataFieldTypes).hasOwnProperty("Value");
@@ -52,8 +58,8 @@ export function isDataFieldTypes(dataField: DataFieldAbstractTypes): dataField i
52
58
  /**
53
59
  * Returns whether given DataField has a static hidden annotation.
54
60
  *
55
- * @param {DataFieldAbstractTypes} dataField The datafield to check
56
- * @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
57
63
  * @private
58
64
  */
59
65
  export function isDataFieldAlwaysHidden(dataField: DataFieldAbstractTypes): boolean {
@@ -83,7 +89,7 @@ export function getSemanticObjectPath(converterContext: ConverterContext, object
83
89
  * Returns the navigation path prefix for a property path.
84
90
  *
85
91
  * @param path The property path For e.g. /EntityType/Navigation/Property
86
- * @returns {string} The navigation path prefix For e.g. /EntityType/Navigation/
92
+ * @returns The navigation path prefix For e.g. /EntityType/Navigation/
87
93
  */
88
94
  function _getNavigationPathPrefix(path: string): string {
89
95
  return path.indexOf("/") > -1 ? path.substring(0, path.lastIndexOf("/") + 1) : "";
@@ -93,14 +99,15 @@ function _getNavigationPathPrefix(path: string): string {
93
99
  * Collect additional properties for the ALP table use-case.
94
100
  *
95
101
  * For e.g. If UI.Hidden points to a property, include this property in the additionalProperties of ComplexPropertyInfo object.
102
+ *
96
103
  * @param target Property or DataField being processed
97
104
  * @param navigationPathPrefix Navigation path prefix, applicable in case of navigation properties.
98
105
  * @param tableType Table type.
99
106
  * @param relatedProperties The related properties identified so far.
100
- * @returns {ComplexPropertyInfo} The related properties identified.
107
+ * @returns The related properties identified.
101
108
  */
102
109
  function _collectAdditionalPropertiesForAnalyticalTable(
103
- target: Edm.PrimitiveType,
110
+ target: PrimitiveType,
104
111
  navigationPathPrefix: string,
105
112
  tableType: TableType,
106
113
  relatedProperties: ComplexPropertyInfo
@@ -126,11 +133,11 @@ function _collectAdditionalPropertiesForAnalyticalTable(
126
133
  * @param tableType The table type.
127
134
  * @param relatedProperties The related properties identified so far.
128
135
  * @param addUnitInTemplate True if the unit/currency property needs to be added in the export template
129
- * @returns {ComplexPropertyInfo} The related properties identified.
136
+ * @returns The related properties identified.
130
137
  */
131
138
  export function collectRelatedProperties(
132
139
  path: string,
133
- property: Edm.PrimitiveType,
140
+ property: PrimitiveType,
134
141
  converterContext: ConverterContext,
135
142
  ignoreSelf: boolean,
136
143
  tableType: TableType,
@@ -170,6 +177,7 @@ export function collectRelatedProperties(
170
177
  let valueIndex: number;
171
178
  let targetValue: string;
172
179
  let currencyOrUoMIndex: number;
180
+ let timezoneOrUoMIndex: number;
173
181
 
174
182
  if (relatedProperties.exportSettingsTemplate) {
175
183
  // FieldGroup use-case. Need to add each Field in new line.
@@ -181,7 +189,7 @@ export function collectRelatedProperties(
181
189
  // Check for Text Arrangement.
182
190
  const dataModelObjectPath = converterContext.getDataModelObjectPath();
183
191
  const textAnnotationPropertyPath = navigationPathPrefix + textAnnotation.path;
184
- const displayMode = getDisplayMode(property as PropertyOrPath<Property>, dataModelObjectPath);
192
+ const displayMode = getDisplayMode(property, dataModelObjectPath);
185
193
  let descriptionIndex: number;
186
194
  switch (displayMode) {
187
195
  case "Value":
@@ -208,11 +216,15 @@ export function collectRelatedProperties(
208
216
  descriptionIndex = _pushUnique(textAnnotationPropertyPath, textAnnotation.$target);
209
217
  _appendTemplate(`{${descriptionIndex}} ({${valueIndex}})`);
210
218
  break;
219
+ // no default
211
220
  }
212
221
  } else {
213
- // Check for field containing Currency Or Unit Properties.
222
+ // Check for field containing Currency Or Unit Properties or Timezone
214
223
  const currencyOrUoMProperty = getAssociatedCurrencyProperty(property) || getAssociatedUnitProperty(property);
215
224
  const currencyOrUnitAnnotation = property?.annotations?.Measures?.ISOCurrency || property?.annotations?.Measures?.Unit;
225
+ const timezoneProperty = getAssociatedTimezoneProperty(property);
226
+ const timezoneAnnotation = property?.annotations?.Common?.Timezone;
227
+
216
228
  if (currencyOrUoMProperty && currencyOrUnitAnnotation?.$target) {
217
229
  valueIndex = _pushUnique(path, property);
218
230
  currencyOrUoMIndex = _pushUnique(currencyOrUoMProperty.name, currencyOrUnitAnnotation.$target);
@@ -221,8 +233,16 @@ export function collectRelatedProperties(
221
233
  } else {
222
234
  relatedProperties.exportUnitName = currencyOrUoMProperty.name;
223
235
  }
236
+ } else if (timezoneProperty && timezoneAnnotation?.$target) {
237
+ valueIndex = _pushUnique(path, property);
238
+ timezoneOrUoMIndex = _pushUnique(timezoneProperty.name, timezoneAnnotation.$target);
239
+ if (addUnitInTemplate) {
240
+ _appendTemplate(`{${valueIndex}} {${timezoneOrUoMIndex}}`);
241
+ } else {
242
+ relatedProperties.exportTimezoneName = timezoneProperty.name;
243
+ }
224
244
  } else if (property.Target?.$target?.Visualization) {
225
- const dataPointProperty: Edm.PrimitiveType = property.Target.$target.Value.$target;
245
+ const dataPointProperty: PrimitiveType = property.Target.$target.Value.$target;
226
246
  valueIndex = _pushUnique(path, dataPointProperty);
227
247
  // New fake property created for the Rating/Progress Target Value. It'll be used for the export on split mode.
228
248
  _pushUnique(property.Target.value, property.Target.$target);
@@ -230,7 +250,7 @@ export function collectRelatedProperties(
230
250
  _appendTemplate(`{${valueIndex}}/${targetValue}`);
231
251
  } else if (property.annotations?.UI?.DataFieldDefault?.Target?.$target?.$Type === UIAnnotationTypes.DataPointType) {
232
252
  // DataPoint use-case using DataFieldDefault.
233
- const dataPointDefaultProperty: Edm.PrimitiveType = property.annotations.UI.DataFieldDefault;
253
+ const dataPointDefaultProperty: PrimitiveType = property.annotations.UI.DataFieldDefault;
234
254
  valueIndex = _pushUnique(path, property);
235
255
  // New fake property created for the Rating/Progress Target Value. It'll be used for the export on split mode.
236
256
  _pushUnique(dataPointDefaultProperty.Target.value, property);
@@ -249,6 +269,8 @@ export function collectRelatedProperties(
249
269
  _appendTemplate(`{${valueIndex}}`);
250
270
  if (currencyOrUnitAnnotation) {
251
271
  relatedProperties.exportUnitString = `${currencyOrUnitAnnotation}`; // Hard-coded currency/unit
272
+ } else if (timezoneAnnotation) {
273
+ relatedProperties.exportTimezoneString = `${timezoneAnnotation}`; // Hard-coded timezone
252
274
  }
253
275
  }
254
276
  }
@@ -269,12 +291,12 @@ export function collectRelatedProperties(
269
291
  * Collect properties consumed by a DataField.
270
292
  * This is for populating the ComplexPropertyInfos of the table delegate.
271
293
  *
272
- * @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.
273
295
  * @param converterContext The converter context.
274
- * @param {TableType} tableType The table type.
275
- * @param {ComplexPropertyInfo} relatedProperties The properties identified so far.
276
- * @param {boolean} isEmbedded True if the datafield is embedded in another annotation (e.g. FieldGroup).
277
- * @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.
278
300
  */
279
301
  export function collectRelatedPropertiesRecursively(
280
302
  dataField: DataFieldAbstractTypes,
@@ -283,57 +305,79 @@ export function collectRelatedPropertiesRecursively(
283
305
  relatedProperties: ComplexPropertyInfo = { properties: {}, additionalProperties: {} },
284
306
  isEmbedded: boolean = false
285
307
  ): ComplexPropertyInfo {
286
- if ((dataField.$Type === UIAnnotationTypes.DataField || dataField.$Type === UIAnnotationTypes.DataFieldWithUrl) && dataField.Value) {
287
- const property = dataField.Value;
288
- relatedProperties = collectRelatedProperties(
289
- property.path,
290
- property.$target,
291
- converterContext,
292
- false,
293
- tableType,
294
- relatedProperties,
295
- isEmbedded
296
- );
297
- const navigationPathPrefix = _getNavigationPathPrefix(property.path);
298
- relatedProperties = _collectAdditionalPropertiesForAnalyticalTable(dataField, navigationPathPrefix, tableType, relatedProperties);
299
- } else if (dataField.$Type === UIAnnotationTypes.DataFieldForAnnotation) {
300
- switch (dataField.Target?.$target?.$Type) {
301
- case UIAnnotationTypes.FieldGroupType:
302
- dataField.Target.$target.Data?.forEach((innerDataField: DataFieldAbstractTypes) => {
303
- relatedProperties = collectRelatedPropertiesRecursively(
304
- 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,
305
355
  converterContext,
356
+ false,
306
357
  tableType,
307
358
  relatedProperties,
308
- true
359
+ isEmbedded
309
360
  );
310
- });
311
- break;
361
+ break;
312
362
 
313
- case UIAnnotationTypes.DataPointType:
314
- relatedProperties = collectRelatedProperties(
315
- dataField.Target.$target.Value.path,
316
- dataField,
317
- converterContext,
318
- false,
319
- tableType,
320
- relatedProperties,
321
- isEmbedded
322
- );
323
- 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;
324
378
 
325
- case "com.sap.vocabularies.Communication.v1.ContactType":
326
- relatedProperties = collectRelatedProperties(
327
- dataField.Target.value,
328
- dataField,
329
- converterContext,
330
- false,
331
- tableType,
332
- relatedProperties,
333
- isEmbedded
334
- );
335
- break;
336
- }
379
+ default:
380
+ break;
337
381
  }
338
382
 
339
383
  return relatedProperties;