@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,321 +0,0 @@
1
- import { DataField, UIAnnotationTerms, UIAnnotationTypes } from "@sap-ux/vocabularies-types";
2
- import CommonUtils from "sap/fe/core/CommonUtils";
3
- import { ConverterAction } from "sap/fe/core/converters/controls/Common/Action";
4
- import { ManifestAction } from "sap/fe/core/converters/ManifestSettings";
5
- import { BindingExpression, compileBinding, Expression, fn, or, ref, resolveBindingString } from "sap/fe/core/helpers/BindingExpression";
6
- import ModelHelper from "sap/fe/core/helpers/ModelHelper";
7
- import { generate } from "sap/fe/core/helpers/StableIdHelper";
8
- import mLibrary from "sap/m/library";
9
- import ODataModelAnnotationHelper from "sap/ui/model/odata/v4/AnnotationHelper";
10
- const ButtonType = mLibrary.ButtonType;
11
- const AnnotationHelper = {
12
- /* this helper can be activated to debug template processing
13
- debug: function (oContext) {
14
- //debugger;
15
- },
16
- */
17
-
18
- getTargetContext: function (oTarget: any) {
19
- const sTarget = oTarget.getObject(oTarget.getPath()),
20
- sNavigationPath = ODataModelAnnotationHelper.getNavigationPath(oTarget.getPath());
21
- return sNavigationPath + "/" + sTarget;
22
- },
23
-
24
- getNavigationContext: function (oContext: any) {
25
- return ODataModelAnnotationHelper.getNavigationPath(oContext.getPath());
26
- },
27
- /**
28
- * Checks if the footer is visible or not.
29
- *
30
- * @function
31
- * @static
32
- * @name sap.fe.core.AnnotationHelper.getDataFieldBasedFooterVisibility
33
- * @memberof sap.fe.core.AnnotationHelper
34
- * @param {Array} aDataFields Array of DataFields in the identification
35
- * @param {boolean} bConsiderEditable Whether the edit mode binding is required or not
36
- * @returns {string} An expression if all the actions are ui.hidden, true otherwise
37
- * @private
38
- * @ui5-restricted
39
- **/
40
- getDataFieldBasedFooterVisibility: function (aDataFields: any[], bConsiderEditable: boolean) {
41
- let sHiddenExpression = "";
42
- let sSemiHiddenExpression;
43
- const aHiddenActionPath = [];
44
-
45
- for (const i in aDataFields) {
46
- const oDataField = aDataFields[i];
47
- if (oDataField.$Type === UIAnnotationTypes.DataFieldForAction && oDataField.Determining === true) {
48
- const hiddenExpression = oDataField[`@${UIAnnotationTerms.Hidden}`];
49
- if (!hiddenExpression) {
50
- return true;
51
- } else if (hiddenExpression.$Path) {
52
- if (aHiddenActionPath.indexOf(hiddenExpression.$Path) === -1) {
53
- aHiddenActionPath.push(hiddenExpression.$Path);
54
- }
55
- }
56
- }
57
- }
58
-
59
- if (aHiddenActionPath.length) {
60
- for (let index = 0; index < aHiddenActionPath.length; index++) {
61
- if (aHiddenActionPath[index]) {
62
- sSemiHiddenExpression = "(%{" + aHiddenActionPath[index] + "} === true ? false : true )";
63
- }
64
- if (index == aHiddenActionPath.length - 1) {
65
- sHiddenExpression = sHiddenExpression + sSemiHiddenExpression;
66
- } else {
67
- sHiddenExpression = sHiddenExpression + sSemiHiddenExpression + "||";
68
- }
69
- }
70
- return (
71
- "{= " +
72
- (bConsiderEditable ? "(" : "") +
73
- sHiddenExpression +
74
- (bConsiderEditable ? " || ${ui>/isEditable}) " : " ") +
75
- "&& ${internal>isCreateDialogOpen} !== true}"
76
- );
77
- } else {
78
- return "{= " + (bConsiderEditable ? "${ui>/isEditable} && " : "") + "${internal>isCreateDialogOpen} !== true}";
79
- }
80
- },
81
-
82
- /**
83
- * Returns the metamodel path correctly for bound actions. For unbound actions,
84
- * an incorrect path is returned, but is ignored during templating.
85
- *
86
- * For example, for the bound action someNameSpace.SomeBoundAction of the entity set SomeEntitySet,
87
- * the string "/SomeEntitySet/someNameSpace.SomeBoundAction" is returned.
88
- *
89
- * @function
90
- * @static
91
- * @name sap.fe.core.AnnotationHelper.getActionContext
92
- * @memberof sap.fe.core.AnnotationHelper
93
- * @param {object} oAction The context object for the action
94
- * @returns {string} Correct metamodel path for bound and incorrect path for unbound actions
95
- * @private
96
- * @ui5-restricted
97
- **/
98
- getActionContext: function (oAction: object) {
99
- return CommonUtils.getActionPath(oAction, true);
100
- },
101
- /**
102
- * Returns the metamodel path correctly for overloaded bound actions. For unbound actions,
103
- * incorrect path is returned but during templating it is ignored.
104
- * e.g. for bound action someNameSpace.SomeBoundAction of entity set SomeEntitySet,
105
- * the string "/SomeEntitySet/someNameSpace.SomeBoundAction/@$ui5.overload/0" is returned.
106
- *
107
- * @function
108
- * @static
109
- * @name sap.fe.core.AnnotationHelper.getPathToBoundActionOverload
110
- * @memberof sap.fe.core.AnnotationHelper
111
- * @param {object} oAction The context object for the action
112
- * @returns {string} Correct metamodel path for bound action overload and incorrect path for unbound actions
113
- * @private
114
- * @ui5-restricted
115
- **/
116
- getPathToBoundActionOverload: function (oAction: object) {
117
- const sPath = CommonUtils.getActionPath(oAction, true);
118
- return sPath + "/@$ui5.overload/0";
119
- },
120
- /**
121
- * Returns an expression to determine Emphasized button type based on Criticality across all actions
122
- * If critical action is rendered, its considered to be the primary action. Hence template's default primary action is set back to Default.
123
- *
124
- * @function
125
- * @static
126
- * @name sap.fe.core.AnnotationHelper.buildEmphasizedButtonExpression
127
- * @memberof sap.fe.core.AnnotationHelper
128
- * @param {Array} aIdentification Array of all the DataFields in Identification
129
- * @returns {string} An expression to deduce if button type is Default or Emphasized
130
- * @private
131
- * @ui5-restricted
132
- **/
133
- buildEmphasizedButtonExpression: function (aIdentification?: any[]) {
134
- if (!aIdentification) {
135
- return ButtonType.Emphasized;
136
- }
137
- let sFormatEmphasizedExpression: string | undefined;
138
- let bIsAlwaysDefault: boolean,
139
- sHiddenSimplePath,
140
- sHiddenExpression = "";
141
- aIdentification.forEach(function (oDataField: any) {
142
- const oCriticalityProperty = oDataField.Criticality;
143
- const oDataFieldHidden = oDataField["@com.sap.vocabularies.UI.v1.Hidden"];
144
- if (oDataField.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" && !bIsAlwaysDefault && oCriticalityProperty) {
145
- if (!sFormatEmphasizedExpression && oDataFieldHidden === true) {
146
- // if DataField is set to hidden, we can skip other checks and return Default button type
147
- sFormatEmphasizedExpression = ButtonType.Emphasized;
148
- return;
149
- }
150
- if (oDataFieldHidden && oDataFieldHidden.$Path) {
151
- // when visibility of critical button is based on path, collect all paths for expression
152
- sHiddenSimplePath = oDataFieldHidden.$Path;
153
- if (sHiddenExpression) {
154
- sHiddenExpression = sHiddenExpression + " && ";
155
- }
156
- sHiddenExpression = sHiddenExpression + "%{" + sHiddenSimplePath + "} === true";
157
- sFormatEmphasizedExpression = "{= (" + sHiddenExpression + ") ? 'Emphasized' : 'Default' }";
158
- }
159
- switch (oCriticalityProperty.$EnumMember) {
160
- // supported criticality are [Positive/3/'3'] and [Negative/1/'1']
161
- case "com.sap.vocabularies.UI.v1.CriticalityType/Negative":
162
- case "com.sap.vocabularies.UI.v1.CriticalityType/Positive":
163
- case "1":
164
- case 1:
165
- case "3":
166
- case 3:
167
- if (!oDataFieldHidden) {
168
- sFormatEmphasizedExpression = ButtonType.Default;
169
- bIsAlwaysDefault = true;
170
- }
171
- sFormatEmphasizedExpression = sFormatEmphasizedExpression || ButtonType.Default;
172
- break;
173
- default:
174
- sFormatEmphasizedExpression = ButtonType.Emphasized;
175
- }
176
- if (oCriticalityProperty.$Path) {
177
- // when Criticality is set using a path, use the path for deducing the Emphsized type for default Primary Action
178
- const sCombinedHiddenExpression = sHiddenExpression ? "!(" + sHiddenExpression + ") && " : "";
179
- sFormatEmphasizedExpression =
180
- "{= " +
181
- sCombinedHiddenExpression +
182
- "((${" +
183
- oCriticalityProperty.$Path +
184
- "} === 'com.sap.vocabularies.UI.v1.CriticalityType/Negative') || (${" +
185
- oCriticalityProperty.$Path +
186
- "} === '1') || (${" +
187
- oCriticalityProperty.$Path +
188
- "} === 1) " +
189
- "|| (${" +
190
- oCriticalityProperty.$Path +
191
- "} === 'com.sap.vocabularies.UI.v1.CriticalityType/Positive') || (${" +
192
- oCriticalityProperty.$Path +
193
- "} === '3') || (${" +
194
- oCriticalityProperty.$Path +
195
- "} === 3)) ? " +
196
- "'Default'" +
197
- " : " +
198
- "'Emphasized'" +
199
- " }";
200
- }
201
- }
202
- });
203
- return sFormatEmphasizedExpression || ButtonType.Emphasized;
204
- },
205
- /**
206
- * Method to determine if the programming model is sticky.
207
- *
208
- * @function
209
- * @name isStickySessionSupported
210
- * @param {object} [vCollectionOrMetaModel] The collection or the metadata model
211
- * @param {object} [oInterface] Contains the context, used in oDataContext
212
- * @returns {boolean} `true` if sticky, `false` otherwise
213
- */
214
- isStickySessionSupported: function (vCollectionOrMetaModel: object | undefined, oInterface: any | undefined) {
215
- let oMetaModel;
216
- if (oInterface) {
217
- oMetaModel = oInterface.context.getModel();
218
- } else {
219
- oMetaModel = vCollectionOrMetaModel;
220
- }
221
- return ModelHelper.isStickySessionSupported(oMetaModel);
222
- },
223
- /**
224
- * Method returns Whether the action type is manifest or not.
225
- *
226
- * @function
227
- * @name isManifestActionVisible
228
- * @param {object} oAction The action object
229
- * @returns {boolean} `true` if action is coming from manifest, `false` otherwise
230
- */
231
- isManifestAction: function (oAction: any) {
232
- const aActions = [
233
- "Primary",
234
- "DefaultApply",
235
- "Secondary",
236
- "ForAction",
237
- "ForNavigation",
238
- "SwitchToActiveObject",
239
- "SwitchToDraftObject",
240
- "DraftActions"
241
- ];
242
- return aActions.indexOf(oAction.type) < 0;
243
- },
244
- /**
245
- * Method returns whether footer is visible or not on object / subobject page.
246
- *
247
- * @function
248
- * @name getFooterVisible
249
- * @param {ConverterAction[]} footerActions The footer action object coming from the converter
250
- * @param {DataField[]} dataFields Data field array for normal footer visibility processing
251
- * @returns {boolean | BindingExpression<string>} `true` if any action is true, otherwise compiled Binding or `false`
252
- */
253
- getFooterVisible: function (footerActions: ConverterAction[], dataFields: DataField[]): boolean | BindingExpression<string> {
254
- const manifestActions = footerActions.filter((action) => AnnotationHelper.isManifestAction(action)) as ManifestAction[];
255
- let customActionVisibility: Expression<boolean>;
256
- if (manifestActions.length) {
257
- // If we have manifest actions
258
- const customActionIndividualVisibility = manifestActions.map((action) => {
259
- return resolveBindingString<boolean>(action.visible as string | boolean, "boolean");
260
- });
261
- // construct the footer's visibility-binding out of all actions' visibility-bindings, first the binding of all custom actions ...
262
- customActionVisibility = or(...customActionIndividualVisibility);
263
- // and then the binding of all annotation actions inside the footer ...
264
- const annotationActionVisibility = this.getDataFieldBasedFooterVisibility(dataFields, true);
265
- // finally, return everything.
266
- return compileBinding(or(customActionVisibility, resolveBindingString<boolean>(annotationActionVisibility, "boolean")));
267
- }
268
- return this.getDataFieldBasedFooterVisibility(dataFields, true);
269
- },
270
- /**
271
- * Build an expression calling an action handler via the FPM helper's actionWrapper function
272
- *
273
- * This function assumes that the 'FPM.actionWrapper()' function is available at runtime.
274
- *
275
- * @param {object} oAction Action metadata
276
- * @param {string} oAction.handlerModule Module containing the action handler method
277
- * @param {string} oAction.handlerMethod Action handler method name
278
- * @param {object} [oThis] `this` (if the function is called from a macro)
279
- * @param {string} oThis.id The table's ID
280
- * @returns {string} The action wrapper binding expression
281
- */
282
- buildActionWrapper: function (oAction: { handlerModule: string; handlerMethod: string }, oThis: { id: string } | undefined) {
283
- const aParams: any[] = [ref("$event"), oAction.handlerModule, oAction.handlerMethod];
284
-
285
- if (oThis && oThis.id) {
286
- const oAdditionalParams = {
287
- contexts: ref("${internal>selectedContexts}")
288
- };
289
- aParams.push(oAdditionalParams);
290
- }
291
- return compileBinding(fn("FPM.actionWrapper", aParams));
292
- },
293
-
294
- /**
295
- * Method returns an VariantBackReference expression based on variantManagement and oConverterContext value.
296
- *
297
- * @function
298
- * @name getVariantBackReference
299
- * @param {object} oViewData Object Containing View Data
300
- * @param {object} oConverterContext Object containing converted context
301
- * @returns {string}
302
- */
303
- getVariantBackReference: function (oViewData: any, oConverterContext: any) {
304
- if (oViewData && oViewData.variantManagement === "Page") {
305
- return "fe::PageVariantManagement";
306
- }
307
- if (oViewData && oViewData.variantManagement === "Control") {
308
- return generate([oConverterContext.filterBarId, "VariantManagement"]);
309
- }
310
- return undefined;
311
- },
312
- getDefaultPath: function (aViews: any) {
313
- for (let i = 0; i < aViews.length; i++) {
314
- if (aViews[i].defaultPath) {
315
- return aViews[i].defaultPath;
316
- }
317
- }
318
- }
319
- };
320
-
321
- export default AnnotationHelper;