@sapui5/sap.fe.core 1.97.0 → 1.100.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 (306) hide show
  1. package/package.json +7 -4
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AnnotationHelper.js +309 -405
  4. package/src/sap/fe/core/AnnotationHelper.ts +315 -0
  5. package/src/sap/fe/core/AppComponent.js +389 -397
  6. package/src/sap/fe/core/AppComponent.ts +403 -0
  7. package/src/sap/fe/core/AppStateHandler.js +198 -181
  8. package/src/sap/fe/core/AppStateHandler.ts +171 -0
  9. package/src/sap/fe/core/BaseController.js +83 -58
  10. package/src/sap/fe/core/BaseController.ts +68 -0
  11. package/src/sap/fe/core/BusyLocker.js +105 -121
  12. package/src/sap/fe/core/BusyLocker.ts +98 -0
  13. package/src/sap/fe/core/CommonUtils.js +2164 -2379
  14. package/src/sap/fe/core/CommonUtils.ts +2177 -0
  15. package/src/sap/fe/core/ExtensionAPI.js +279 -266
  16. package/src/sap/fe/core/ExtensionAPI.ts +250 -0
  17. package/src/sap/fe/core/PageController.js +218 -125
  18. package/src/sap/fe/core/PageController.ts +129 -0
  19. package/src/sap/fe/core/RouterProxy.js +924 -807
  20. package/src/sap/fe/core/RouterProxy.ts +840 -0
  21. package/src/sap/fe/core/Synchronization.js +41 -35
  22. package/src/sap/fe/core/Synchronization.ts +29 -0
  23. package/src/sap/fe/core/TemplateComponent.js +173 -155
  24. package/src/sap/fe/core/TemplateComponent.ts +173 -0
  25. package/src/sap/fe/core/TemplateModel.js +79 -54
  26. package/src/sap/fe/core/TemplateModel.ts +63 -0
  27. package/src/sap/fe/core/TransactionHelper.js +1560 -1579
  28. package/src/sap/fe/core/TransactionHelper.ts +1717 -0
  29. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +392 -0
  30. package/src/sap/fe/core/actions/collaboration/ActivitySync.ts +355 -0
  31. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +136 -0
  32. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.ts +119 -0
  33. package/src/sap/fe/core/actions/collaboration/Manage.js +262 -0
  34. package/src/sap/fe/core/actions/collaboration/Manage.ts +244 -0
  35. package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +103 -0
  36. package/src/sap/fe/core/actions/collaboration/UserDetails.fragment.xml +13 -0
  37. package/src/sap/fe/core/actions/draft.js +521 -581
  38. package/src/sap/fe/core/actions/draft.ts +566 -0
  39. package/src/sap/fe/core/actions/messageHandling.js +564 -511
  40. package/src/sap/fe/core/actions/messageHandling.ts +552 -0
  41. package/src/sap/fe/core/actions/nonDraft.js +17 -19
  42. package/src/sap/fe/core/actions/nonDraft.ts +12 -0
  43. package/src/sap/fe/core/actions/operations.js +1093 -1211
  44. package/src/sap/fe/core/actions/operations.ts +1192 -0
  45. package/src/sap/fe/core/actions/sticky.js +114 -104
  46. package/src/sap/fe/core/actions/sticky.ts +119 -0
  47. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +70 -66
  48. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +65 -0
  49. package/src/sap/fe/core/controllerextensions/EditFlow.js +1594 -1701
  50. package/src/sap/fe/core/controllerextensions/EditFlow.ts +1672 -0
  51. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +80 -54
  52. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +61 -0
  53. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +719 -505
  54. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +783 -0
  55. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +797 -813
  56. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +803 -0
  57. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1005 -973
  58. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +978 -0
  59. package/src/sap/fe/core/controllerextensions/KPIManagement.js +530 -476
  60. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +137 -46
  61. package/src/sap/fe/core/controllerextensions/MassEdit.js +144 -0
  62. package/src/sap/fe/core/controllerextensions/MassEdit.ts +156 -0
  63. package/src/sap/fe/core/controllerextensions/MessageHandler.js +234 -232
  64. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +225 -0
  65. package/src/sap/fe/core/controllerextensions/PageReady.js +302 -337
  66. package/src/sap/fe/core/controllerextensions/PageReady.ts +23 -17
  67. package/src/sap/fe/core/controllerextensions/Paginator.js +189 -148
  68. package/src/sap/fe/core/controllerextensions/Paginator.ts +163 -0
  69. package/src/sap/fe/core/controllerextensions/Placeholder.js +158 -146
  70. package/src/sap/fe/core/controllerextensions/Placeholder.ts +151 -0
  71. package/src/sap/fe/core/controllerextensions/Routing.js +145 -106
  72. package/src/sap/fe/core/controllerextensions/Routing.ts +132 -0
  73. package/src/sap/fe/core/controllerextensions/RoutingListener.js +8 -6
  74. package/src/sap/fe/core/controllerextensions/RoutingListener.ts +3 -0
  75. package/src/sap/fe/core/controllerextensions/Share.js +220 -244
  76. package/src/sap/fe/core/controllerextensions/Share.ts +231 -0
  77. package/src/sap/fe/core/controllerextensions/SideEffects.js +593 -634
  78. package/src/sap/fe/core/controllerextensions/SideEffects.ts +29 -27
  79. package/src/sap/fe/core/controllerextensions/ViewState.js +789 -806
  80. package/src/sap/fe/core/controllerextensions/ViewState.ts +805 -0
  81. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +4 -3
  82. package/src/sap/fe/core/controls/ActionPartial.fragment.xml +2 -2
  83. package/src/sap/fe/core/controls/CommandExecution.js +68 -66
  84. package/src/sap/fe/core/controls/CommandExecution.ts +72 -0
  85. package/src/sap/fe/core/controls/ConditionalWrapper.js +91 -75
  86. package/src/sap/fe/core/controls/ConditionalWrapper.ts +83 -0
  87. package/src/sap/fe/core/controls/CustomQuickViewPage.js +131 -125
  88. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +126 -0
  89. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +105 -110
  90. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +101 -0
  91. package/src/sap/fe/core/controls/FieldWrapper.js +122 -140
  92. package/src/sap/fe/core/controls/FieldWrapper.ts +115 -0
  93. package/src/sap/fe/core/controls/FilterBar.js +163 -159
  94. package/src/sap/fe/core/controls/FilterBar.ts +143 -0
  95. package/src/sap/fe/core/controls/FormElementWrapper.js +46 -44
  96. package/src/sap/fe/core/controls/FormElementWrapper.ts +40 -0
  97. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +38 -42
  98. package/src/sap/fe/core/controls/MultiValueParameterDelegate.ts +31 -0
  99. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +2 -1
  100. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +127 -116
  101. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +98 -0
  102. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +242 -255
  103. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +245 -0
  104. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +151 -141
  105. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +125 -0
  106. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +336 -322
  107. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +337 -0
  108. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +106 -0
  109. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +79 -0
  110. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +70 -0
  111. package/src/sap/fe/core/converters/ConverterContext.js +348 -367
  112. package/src/sap/fe/core/converters/ConverterContext.ts +33 -19
  113. package/src/sap/fe/core/converters/ManifestSettings.js +12 -1
  114. package/src/sap/fe/core/converters/ManifestSettings.ts +16 -1
  115. package/src/sap/fe/core/converters/ManifestWrapper.js +354 -354
  116. package/src/sap/fe/core/converters/ManifestWrapper.ts +34 -6
  117. package/src/sap/fe/core/converters/MetaModelConverter.js +72 -9
  118. package/src/sap/fe/core/converters/MetaModelConverter.ts +75 -16
  119. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  120. package/src/sap/fe/core/converters/TemplateConverter.ts +4 -3
  121. package/src/sap/fe/core/converters/annotations/DataField.js +28 -14
  122. package/src/sap/fe/core/converters/annotations/DataField.ts +38 -14
  123. package/src/sap/fe/core/converters/common/AnnotationConverter.js +33 -21
  124. package/src/sap/fe/core/converters/controls/Common/Action.js +11 -2
  125. package/src/sap/fe/core/converters/controls/Common/Action.ts +8 -2
  126. package/src/sap/fe/core/converters/controls/Common/Chart.js +5 -3
  127. package/src/sap/fe/core/converters/controls/Common/Chart.ts +11 -3
  128. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +3 -3
  129. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +2 -2
  130. package/src/sap/fe/core/converters/controls/Common/Form.js +21 -11
  131. package/src/sap/fe/core/converters/controls/Common/Form.ts +28 -6
  132. package/src/sap/fe/core/converters/controls/Common/KPI.js +69 -4
  133. package/src/sap/fe/core/converters/controls/Common/KPI.ts +75 -2
  134. package/src/sap/fe/core/converters/controls/Common/Table.js +507 -408
  135. package/src/sap/fe/core/converters/controls/Common/Table.ts +618 -500
  136. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +592 -0
  137. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +718 -0
  138. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +465 -59
  139. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +462 -72
  140. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +2 -2
  141. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +1 -1
  142. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +17 -9
  143. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +24 -9
  144. package/src/sap/fe/core/converters/helpers/Aggregation.js +118 -121
  145. package/src/sap/fe/core/converters/helpers/Aggregation.ts +28 -5
  146. package/src/sap/fe/core/converters/helpers/BindingHelper.js +20 -6
  147. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +16 -4
  148. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +12 -1
  149. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +11 -0
  150. package/src/sap/fe/core/converters/helpers/IssueManager.js +7 -1
  151. package/src/sap/fe/core/converters/helpers/IssueManager.ts +6 -0
  152. package/src/sap/fe/core/converters/helpers/Key.js +42 -57
  153. package/src/sap/fe/core/converters/helpers/Key.ts +1 -1
  154. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +28 -7
  155. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +23 -6
  156. package/src/sap/fe/core/converters/templates/ListReportConverter.js +20 -7
  157. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +36 -14
  158. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +7 -5
  159. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +5 -1
  160. package/src/sap/fe/core/designtime/AppComponent.designtime.js +93 -90
  161. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +91 -0
  162. package/src/sap/fe/core/formatters/CollaborationFormatter.js +104 -0
  163. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +60 -0
  164. package/src/sap/fe/core/formatters/CriticalityFormatter.js +1 -1
  165. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +1 -1
  166. package/src/sap/fe/core/formatters/FPMFormatter.js +1 -1
  167. package/src/sap/fe/core/formatters/FPMFormatter.ts +4 -10
  168. package/src/sap/fe/core/formatters/KPIFormatter.js +1 -1
  169. package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -1
  170. package/src/sap/fe/core/formatters/TableFormatter.js +91 -29
  171. package/src/sap/fe/core/formatters/TableFormatter.ts +94 -28
  172. package/src/sap/fe/core/formatters/ValueFormatter.js +30 -5
  173. package/src/sap/fe/core/formatters/ValueFormatter.ts +30 -7
  174. package/src/sap/fe/core/fpm/Component.js +51 -54
  175. package/src/sap/fe/core/fpm/Component.ts +48 -0
  176. package/src/sap/fe/core/helpers/AppStartupHelper.js +373 -0
  177. package/src/sap/fe/core/helpers/AppStartupHelper.ts +417 -0
  178. package/src/sap/fe/core/helpers/BindingExpression.js +489 -442
  179. package/src/sap/fe/core/helpers/BindingExpression.ts +486 -469
  180. package/src/sap/fe/core/helpers/ClassSupport.js +212 -76
  181. package/src/sap/fe/core/helpers/ClassSupport.ts +198 -71
  182. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +64 -59
  183. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +52 -0
  184. package/src/sap/fe/core/helpers/EditState.js +81 -84
  185. package/src/sap/fe/core/helpers/EditState.ts +81 -0
  186. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +62 -48
  187. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +49 -0
  188. package/src/sap/fe/core/helpers/FPMHelper.js +52 -56
  189. package/src/sap/fe/core/helpers/FPMHelper.ts +62 -0
  190. package/src/sap/fe/core/helpers/KeepAliveHelper.js +4 -5
  191. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +10 -10
  192. package/src/sap/fe/core/helpers/MassEditHelper.js +604 -0
  193. package/src/sap/fe/core/helpers/MassEditHelper.ts +699 -0
  194. package/src/sap/fe/core/helpers/ModelHelper.js +253 -225
  195. package/src/sap/fe/core/helpers/ModelHelper.ts +250 -0
  196. package/src/sap/fe/core/helpers/PasteHelper.js +210 -132
  197. package/src/sap/fe/core/helpers/PasteHelper.ts +196 -0
  198. package/src/sap/fe/core/helpers/SemanticDateOperators.js +336 -313
  199. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +334 -0
  200. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +66 -67
  201. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +73 -0
  202. package/src/sap/fe/core/helpers/StableIdHelper.js +4 -7
  203. package/src/sap/fe/core/helpers/StableIdHelper.ts +2 -6
  204. package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
  205. package/src/sap/fe/core/jsx-runtime/jsx.ts +1 -1
  206. package/src/sap/fe/core/library.js +427 -425
  207. package/src/sap/fe/core/library.support.js +23 -27
  208. package/src/sap/fe/core/library.support.ts +23 -0
  209. package/src/sap/fe/core/library.ts +420 -0
  210. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +64 -0
  211. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +69 -0
  212. package/src/sap/fe/core/messagebundle.properties +78 -13
  213. package/src/sap/fe/core/messagebundle_ar.properties +58 -7
  214. package/src/sap/fe/core/messagebundle_bg.properties +58 -7
  215. package/src/sap/fe/core/messagebundle_ca.properties +58 -7
  216. package/src/sap/fe/core/messagebundle_cs.properties +59 -8
  217. package/src/sap/fe/core/messagebundle_cy.properties +58 -7
  218. package/src/sap/fe/core/messagebundle_da.properties +58 -7
  219. package/src/sap/fe/core/messagebundle_de.properties +58 -7
  220. package/src/sap/fe/core/messagebundle_el.properties +58 -7
  221. package/src/sap/fe/core/messagebundle_en.properties +57 -6
  222. package/src/sap/fe/core/messagebundle_en_GB.properties +57 -6
  223. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +61 -6
  224. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +58 -7
  225. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +58 -7
  226. package/src/sap/fe/core/messagebundle_es.properties +58 -7
  227. package/src/sap/fe/core/messagebundle_es_MX.properties +58 -7
  228. package/src/sap/fe/core/messagebundle_et.properties +58 -7
  229. package/src/sap/fe/core/messagebundle_fi.properties +60 -9
  230. package/src/sap/fe/core/messagebundle_fr.properties +64 -13
  231. package/src/sap/fe/core/messagebundle_fr_CA.properties +59 -8
  232. package/src/sap/fe/core/messagebundle_hi.properties +58 -7
  233. package/src/sap/fe/core/messagebundle_hr.properties +58 -7
  234. package/src/sap/fe/core/messagebundle_hu.properties +59 -8
  235. package/src/sap/fe/core/messagebundle_id.properties +61 -10
  236. package/src/sap/fe/core/messagebundle_it.properties +58 -7
  237. package/src/sap/fe/core/messagebundle_iw.properties +58 -7
  238. package/src/sap/fe/core/messagebundle_ja.properties +58 -7
  239. package/src/sap/fe/core/messagebundle_kk.properties +58 -7
  240. package/src/sap/fe/core/messagebundle_ko.properties +58 -7
  241. package/src/sap/fe/core/messagebundle_lt.properties +58 -7
  242. package/src/sap/fe/core/messagebundle_lv.properties +59 -8
  243. package/src/sap/fe/core/messagebundle_ms.properties +58 -7
  244. package/src/sap/fe/core/messagebundle_nl.properties +58 -7
  245. package/src/sap/fe/core/messagebundle_no.properties +58 -7
  246. package/src/sap/fe/core/messagebundle_pl.properties +58 -7
  247. package/src/sap/fe/core/messagebundle_pt.properties +59 -8
  248. package/src/sap/fe/core/messagebundle_pt_PT.properties +58 -7
  249. package/src/sap/fe/core/messagebundle_ro.properties +58 -7
  250. package/src/sap/fe/core/messagebundle_ru.properties +58 -7
  251. package/src/sap/fe/core/messagebundle_sh.properties +58 -7
  252. package/src/sap/fe/core/messagebundle_sk.properties +58 -7
  253. package/src/sap/fe/core/messagebundle_sl.properties +58 -7
  254. package/src/sap/fe/core/messagebundle_sv.properties +59 -8
  255. package/src/sap/fe/core/messagebundle_th.properties +58 -7
  256. package/src/sap/fe/core/messagebundle_tr.properties +60 -9
  257. package/src/sap/fe/core/messagebundle_uk.properties +58 -7
  258. package/src/sap/fe/core/messagebundle_vi.properties +58 -7
  259. package/src/sap/fe/core/messagebundle_zh_CN.properties +58 -7
  260. package/src/sap/fe/core/messagebundle_zh_TW.properties +58 -7
  261. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +45 -71
  262. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
  263. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +231 -202
  264. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +212 -0
  265. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +67 -92
  266. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +10 -6
  267. package/src/sap/fe/core/services/NavigationServiceFactory.js +351 -300
  268. package/src/sap/fe/core/services/NavigationServiceFactory.ts +313 -0
  269. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +114 -81
  270. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +83 -0
  271. package/src/sap/fe/core/services/RoutingServiceFactory.js +927 -1152
  272. package/src/sap/fe/core/services/RoutingServiceFactory.ts +898 -0
  273. package/src/sap/fe/core/services/ShellServicesFactory.js +649 -707
  274. package/src/sap/fe/core/services/ShellServicesFactory.ts +52 -15
  275. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +569 -637
  276. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +78 -102
  277. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +429 -478
  278. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +460 -0
  279. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +10 -8
  280. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +8 -0
  281. package/src/sap/fe/core/support/AnnotationIssue.support.js +15 -3
  282. package/src/sap/fe/core/support/AnnotationIssue.support.ts +16 -2
  283. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +2 -2
  284. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.ts +1 -1
  285. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  286. package/src/sap/fe/core/support/CommonHelper.ts +1 -1
  287. package/src/sap/fe/core/support/Diagnostics.js +36 -48
  288. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +38 -0
  289. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.ts +18 -0
  290. package/src/sap/fe/core/templating/DataModelPathHelper.js +97 -127
  291. package/src/sap/fe/core/templating/DataModelPathHelper.ts +112 -135
  292. package/src/sap/fe/core/templating/DisplayModeFormatter.js +114 -0
  293. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +86 -0
  294. package/src/sap/fe/core/templating/FieldControlHelper.js +8 -8
  295. package/src/sap/fe/core/templating/FieldControlHelper.ts +25 -7
  296. package/src/sap/fe/core/templating/FilterHelper.js +140 -78
  297. package/src/sap/fe/core/templating/FilterHelper.ts +149 -78
  298. package/src/sap/fe/core/templating/PropertyHelper.js +3 -3
  299. package/src/sap/fe/core/templating/PropertyHelper.ts +2 -2
  300. package/src/sap/fe/core/templating/UIFormatters.js +76 -135
  301. package/src/sap/fe/core/templating/UIFormatters.ts +76 -99
  302. package/src/sap/fe/core/type/Email.js +1 -1
  303. package/src/sap/fe/core/type/Email.ts +4 -6
  304. package/ui5.yaml +0 -3
  305. package/src/sap/fe/core/controls/filterbar.d.js +0 -8
  306. package/src/sap/fe/core/controls/filterbar.d.ts +0 -0
@@ -0,0 +1,403 @@
1
+ import UIComponent from "sap/ui/core/UIComponent";
2
+ import RouterProxy from "sap/fe/core/RouterProxy";
3
+ import AppStateHandler from "sap/fe/core/AppStateHandler";
4
+ import Log from "sap/base/Log";
5
+ import Diagnostics from "sap/fe/core/support/Diagnostics";
6
+ import JSONModel from "sap/ui/model/json/JSONModel";
7
+ import library from "sap/fe/core/library";
8
+ import ModelHelper from "sap/fe/core/helpers/ModelHelper";
9
+ import ValueListHelper from "sap/fe/macros/internal/valuehelp/ValueListHelper";
10
+ import { UI5Class } from "sap/fe/core/helpers/ClassSupport";
11
+ import ComponentMetadata from "sap/ui/core/ComponentMetadata";
12
+ import View from "sap/ui/core/mvc/View";
13
+ import ODataModel from "sap/ui/model/odata/v4/ODataModel";
14
+ import ResourceBundle from "sap/base/i18n/ResourceBundle";
15
+ import BaseController from "./BaseController";
16
+ import { deleteModelCacheData } from "./converters/MetaModelConverter";
17
+ import ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
18
+ import { RoutingService } from "sap/fe/core/services/RoutingServiceFactory";
19
+ import { IShellServices } from "sap/fe/core/services/ShellServicesFactory";
20
+ import { NavigationService } from "sap/fe/core/services/NavigationServiceFactory";
21
+ import { SideEffectsService } from "sap/fe/core/services/SideEffectsServiceFactory";
22
+ import { EnvironmentCapabilitiesService } from "sap/fe/core/services/EnvironmentServiceFactory";
23
+
24
+ const NAVCONF = {
25
+ FCL: {
26
+ VIEWNAME: "sap.fe.templates.RootContainer.view.Fcl",
27
+ ROUTERCLASS: "sap.f.routing.Router"
28
+ },
29
+ NAVCONTAINER: {
30
+ VIEWNAME: "sap.fe.templates.RootContainer.view.NavContainer",
31
+ ROUTERCLASS: "sap.m.routing.Router"
32
+ }
33
+ };
34
+
35
+ /**
36
+ * Main class for components used for an application in SAP Fiori elements.
37
+ *
38
+ * Application developers using the templates and building blocks provided by SAP Fiori elements should create their apps by extending this component.
39
+ * This ensures that all the necessary services that you need for the building blocks and templates to work properly are started.
40
+ *
41
+ * When you use sap.fe.core.AppComponent as the base component, you also need to use a rootView. SAP Fiori elements provides two options: <br/>
42
+ * - sap.fe.templates.RootContainer.view.NavContainer when using sap.m.routing.Router <br/>
43
+ * - sap.fe.templates.RootContainer.view.Fcl when using sap.f.routing.Router (FCL use case) <br/>
44
+ *
45
+ * @hideconstructor
46
+ * @public
47
+ * @name sap.fe.core.AppComponent
48
+ */
49
+ @UI5Class("sap.fe.core.AppComponent", ComponentMetadata, {
50
+ interfaces: ["sap.ui.core.IAsyncContentCreation"],
51
+ config: {
52
+ fullWidth: true
53
+ },
54
+ manifest: {
55
+ "sap.ui5": {
56
+ services: {
57
+ resourceModel: {
58
+ factoryName: "sap.fe.core.services.ResourceModelService",
59
+ "startup": "waitFor",
60
+ "settings": {
61
+ "bundles": ["sap.fe.core.messagebundle"],
62
+ "modelName": "sap.fe.i18n"
63
+ }
64
+ },
65
+ routingService: {
66
+ factoryName: "sap.fe.core.services.RoutingService",
67
+ startup: "waitFor"
68
+ },
69
+ shellServices: {
70
+ factoryName: "sap.fe.core.services.ShellServices",
71
+ startup: "waitFor"
72
+ },
73
+ ShellUIService: {
74
+ factoryName: "sap.ushell.ui5service.ShellUIService"
75
+ },
76
+ navigationService: {
77
+ factoryName: "sap.fe.core.services.NavigationService",
78
+ startup: "waitFor"
79
+ },
80
+ environmentCapabilities: {
81
+ factoryName: "sap.fe.core.services.EnvironmentService",
82
+ startup: "waitFor"
83
+ },
84
+ sideEffectsService: {
85
+ factoryName: "sap.fe.core.services.SideEffectsService",
86
+ startup: "waitFor"
87
+ },
88
+ asyncComponentService: {
89
+ factoryName: "sap.fe.core.services.AsyncComponentService",
90
+ startup: "waitFor"
91
+ }
92
+ },
93
+ rootView: {
94
+ viewName: NAVCONF.NAVCONTAINER.VIEWNAME,
95
+ type: "XML",
96
+ async: true,
97
+ id: "appRootView"
98
+ },
99
+ routing: {
100
+ config: {
101
+ controlId: "appContent",
102
+ routerClass: NAVCONF.NAVCONTAINER.ROUTERCLASS,
103
+ viewType: "XML",
104
+ controlAggregation: "pages",
105
+ async: true,
106
+ containerOptions: {
107
+ propagateModel: true
108
+ }
109
+ }
110
+ }
111
+ }
112
+ },
113
+ designtime: "sap/fe/core/designtime/AppComponent.designtime",
114
+
115
+ library: "sap.fe.core"
116
+ })
117
+ class AppComponent extends UIComponent {
118
+ static instanceMap: Record<string, AppComponent> = {};
119
+ private _oRouterProxy!: RouterProxy;
120
+ private _oAppStateHandler!: AppStateHandler;
121
+ private bInitializeRouting?: boolean;
122
+ private _oDiagnostics!: Diagnostics;
123
+ private entityContainer: any;
124
+ /**
125
+ * @private
126
+ * @name sap.fe.core.AppComponent.getMetadata
127
+ * @function
128
+ */
129
+
130
+ _isFclEnabled() {
131
+ const oManifestUI5 = this.getMetadata().getManifestEntry("/sap.ui5", true);
132
+ return NAVCONF.FCL.VIEWNAME === oManifestUI5.rootView.viewName;
133
+ }
134
+
135
+ /**
136
+ * Get a reference to the RouterProxy.
137
+ *
138
+ * @function
139
+ * @name sap.fe.core.AppComponent#getRouterProxy
140
+ * @memberof sap.fe.core.AppComponent
141
+ * @returns {oObject} A Reference to the RouterProxy
142
+ *
143
+ * @ui5-restricted
144
+ * @final
145
+ */
146
+ getRouterProxy(): RouterProxy {
147
+ return this._oRouterProxy;
148
+ }
149
+
150
+ /**
151
+ * Get a reference to the AppStateHandler.
152
+ *
153
+ * @function
154
+ * @name sap.fe.core.AppComponent#getAppStateHandler
155
+ * @memberof sap.fe.core.AppComponent
156
+ * @returns {oObject} A reference to the AppStateHandler
157
+ *
158
+ * @ui5-restricted
159
+ * @final
160
+ */
161
+ getAppStateHandler() {
162
+ return this._oAppStateHandler;
163
+ }
164
+
165
+ /**
166
+ * Get a reference to the nav/FCL Controller.
167
+ *
168
+ * @function
169
+ * @name sap.fe.core.AppComponent#getRootViewController
170
+ * @memberof sap.fe.core.AppComponent
171
+ * @returns {oObject} A reference to the FCL Controller
172
+ *
173
+ * @ui5-restricted
174
+ * @final
175
+ */
176
+ getRootViewController(): BaseController {
177
+ return (this.getRootControl() as View).getController() as BaseController;
178
+ }
179
+
180
+ /**
181
+ * Get the NavContainer control or the FCL control.
182
+ *
183
+ * @function
184
+ * @name sap.fe.core.AppComponent#getRootContainer
185
+ * @memberof sap.fe.core.AppComponent
186
+ * @returns {oObject} A reference to NavContainer control or the FCL control
187
+ *
188
+ * @ui5-restricted
189
+ * @final
190
+ */
191
+ getRootContainer() {
192
+ return (this.getRootControl() as View).getContent()[0];
193
+ }
194
+
195
+ init(...args: any[]) {
196
+ this.setModel(
197
+ new JSONModel({
198
+ editMode: library.EditMode.Display,
199
+ isEditable: false,
200
+ draftStatus: library.DraftStatus.Clear,
201
+ busy: false,
202
+ busyLocal: {},
203
+ pages: {}
204
+ }),
205
+ "ui"
206
+ );
207
+
208
+ const oInternalModel = new JSONModel({
209
+ pages: {}
210
+ });
211
+
212
+ ModelHelper.enhanceInternalJSONModel(oInternalModel);
213
+
214
+ this.setModel(oInternalModel, "internal");
215
+
216
+ this.bInitializeRouting = this.bInitializeRouting !== undefined ? this.bInitializeRouting : true;
217
+ this._oRouterProxy = new RouterProxy();
218
+ this._oAppStateHandler = new AppStateHandler(this);
219
+ this._oDiagnostics = new Diagnostics();
220
+ const oModel = this.getModel() as ODataModel;
221
+ if (oModel) {
222
+ this.entityContainer = oModel.getMetaModel().requestObject("/$EntityContainer/");
223
+ }
224
+
225
+ const oManifestUI5 = this.getMetadata().getManifestEntry("/sap.ui5", true);
226
+ if (
227
+ oManifestUI5.rootView.viewName === NAVCONF.FCL.VIEWNAME &&
228
+ oManifestUI5.routing.config.routerClass === NAVCONF.FCL.ROUTERCLASS
229
+ ) {
230
+ Log.info('Rootcontainer: "' + NAVCONF.FCL.VIEWNAME + '" - Routerclass: "' + NAVCONF.FCL.ROUTERCLASS + '"');
231
+ } else if (
232
+ oManifestUI5.rootView.viewName === NAVCONF.NAVCONTAINER.VIEWNAME &&
233
+ oManifestUI5.routing.config.routerClass === NAVCONF.NAVCONTAINER.ROUTERCLASS
234
+ ) {
235
+ Log.info('Rootcontainer: "' + NAVCONF.NAVCONTAINER.VIEWNAME + '" - Routerclass: "' + NAVCONF.NAVCONTAINER.ROUTERCLASS + '"');
236
+ } else if (oManifestUI5.rootView.viewName.indexOf("sap.fe") !== -1) {
237
+ throw Error(
238
+ "\nWrong configuration for the couple (rootView/routerClass) in manifest file.\n" +
239
+ "Current values are :(" +
240
+ oManifestUI5.rootView.viewName +
241
+ "/" +
242
+ oManifestUI5.routing.config.routerClass +
243
+ ")\n" +
244
+ "Expected values are \n" +
245
+ "\t - (" +
246
+ NAVCONF.NAVCONTAINER.VIEWNAME +
247
+ "/" +
248
+ NAVCONF.NAVCONTAINER.ROUTERCLASS +
249
+ ")\n" +
250
+ "\t - (" +
251
+ NAVCONF.FCL.VIEWNAME +
252
+ "/" +
253
+ NAVCONF.FCL.ROUTERCLASS +
254
+ ")"
255
+ );
256
+ } else {
257
+ Log.info('Rootcontainer: "' + oManifestUI5.rootView.viewName + '" - Routerclass: "' + NAVCONF.NAVCONTAINER.ROUTERCLASS + '"');
258
+ }
259
+
260
+ // Adding Semantic Date Operators
261
+ // Commenting since it is not needed for SingleRange
262
+ // SemanticDateOperators.addSemanticDateOperators();
263
+
264
+ // the init function configures the routing according to the settings above
265
+ // it will call the createContent function to instantiate the RootView and add it to the UIComponent aggregations
266
+
267
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
268
+ // @ts-ignore
269
+ UIComponent.prototype.init.apply(this, args);
270
+ AppComponent.instanceMap[this.getId()] = this;
271
+ }
272
+ onServicesStarted() {
273
+ //router must be started once the rootcontainer is initialized
274
+ //starting of the router
275
+ const finalizedRoutingInitialization = () => {
276
+ this.entityContainer
277
+ .then(() => {
278
+ if ((this.getRootViewController() as any).attachRouteMatchers) {
279
+ (this.getRootViewController() as any).attachRouteMatchers();
280
+ }
281
+ this.getRouter().initialize();
282
+ this.getRouterProxy().init(this, this._isFclEnabled());
283
+ })
284
+ .catch((error: any) => {
285
+ const oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.fe.core") as ResourceBundle;
286
+
287
+ (this.getRootViewController() as any).displayMessagePage(
288
+ oResourceBundle.getText("C_APP_COMPONENT_SAPFE_APPSTART_TECHNICAL_ISSUES"),
289
+ {
290
+ title: oResourceBundle.getText("C_COMMON_SAPFE_ERROR"),
291
+ description: error.message,
292
+ FCLLevel: 0
293
+ }
294
+ );
295
+ });
296
+ };
297
+
298
+ if (this.bInitializeRouting) {
299
+ return this.getRoutingService()
300
+ .initializeRouting()
301
+ .then(() => {
302
+ if (this.getRootViewController()) {
303
+ return finalizedRoutingInitialization();
304
+ } else {
305
+ (this.getRootControl() as any).attachAfterInit(function() {
306
+ finalizedRoutingInitialization();
307
+ });
308
+ }
309
+ })
310
+ .catch(function(err: any) {
311
+ Log.error("cannot cannot initialize routing: " + err);
312
+ });
313
+ }
314
+ }
315
+ exit() {
316
+ this._oAppStateHandler.destroy();
317
+ this._oRouterProxy.destroy();
318
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
319
+ // @ts-ignore
320
+ delete this._oAppStateHandler;
321
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
322
+ // @ts-ignore
323
+ delete this._oRouterProxy;
324
+ deleteModelCacheData(this.getMetaModel());
325
+ this.getModel("ui").destroy();
326
+ }
327
+ getMetaModel(): ODataMetaModel {
328
+ return this.getModel().getMetaModel() as ODataMetaModel;
329
+ }
330
+ getDiagnostics() {
331
+ return this._oDiagnostics;
332
+ }
333
+ destroy(...args: any[]) {
334
+ // LEAKS, with workaround for some Flex / MDC issue
335
+ try {
336
+ // // This one is only a leak if you don't go back to the same component in the long run
337
+ //delete sap.ui.fl.FlexControllerFactory._componentInstantiationPromises[this.getId()];
338
+
339
+ ValueListHelper.initializeCachedValueHelp();
340
+
341
+ delete AppComponent.instanceMap[this.getId()];
342
+
343
+ // var oRegistry = sap.ui.mdc.p13n.Engine.getInstance()._getRegistry();
344
+ // Object.keys(oRegistry).forEach(function(sKey) {
345
+ // Object.keys(oRegistry[sKey].controller).forEach(function(sControllerKey) {
346
+ // oRegistry[sKey].controller[sControllerKey].destroy();
347
+ // });
348
+ // });
349
+ // sap.ui.mdc.p13n.Engine.getInstance().destroy();
350
+ delete (window as any)._routing;
351
+ } catch (e) {
352
+ Log.info(e);
353
+ }
354
+
355
+ //WORKAROUND for sticky discard request : due to async callback, request triggered by the exitApplication will be send after the UIComponent.prototype.destroy
356
+ //so we need to copy the Requestor headers as it will be destroy
357
+
358
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
359
+ // @ts-ignore
360
+ const oMainModel = (this as any).oModels[undefined];
361
+ const oHeaders = jQuery.extend({}, oMainModel.oRequestor.mHeaders);
362
+ // As we need to cleanup the application / handle the dirty object we need to call our cleanup before the models are destroyed
363
+ this.getRoutingService().beforeExit();
364
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
365
+ // @ts-ignore
366
+ UIComponent.prototype.destroy.apply(this, [args]);
367
+ oMainModel.oRequestor.mHeaders = oHeaders;
368
+ }
369
+ getComponentData(): any {
370
+ return super.getComponentData();
371
+ }
372
+ getRoutingService(): RoutingService {
373
+ return {} as RoutingService; // overriden at runtime
374
+ }
375
+ getShellServices(): IShellServices {
376
+ return {} as IShellServices; // overriden at runtime
377
+ }
378
+ getNavigationService(): NavigationService {
379
+ return {} as NavigationService; // overriden at runtime
380
+ }
381
+ getSideEffectsService(): SideEffectsService {
382
+ return {} as SideEffectsService;
383
+ }
384
+ getEnvironmentCapabilities(): EnvironmentCapabilitiesService {
385
+ return {} as EnvironmentCapabilitiesService;
386
+ }
387
+
388
+ getStartupParameters() {
389
+ const oComponentData = this.getComponentData() as any;
390
+ const oStartUpParameters = (oComponentData && oComponentData.startupParameters) || {};
391
+ return Promise.resolve(oStartUpParameters);
392
+ }
393
+ restore() {
394
+ // called by FLP when app sap-keep-alive is enabled and app is restored
395
+ (this.getRootViewController() as any).viewState.onRestore();
396
+ }
397
+ suspend() {
398
+ // called by FLP when app sap-keep-alive is enabled and app is suspended
399
+ (this.getRootViewController() as any).viewState.onSuspend();
400
+ }
401
+ }
402
+
403
+ export default AppComponent;