@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
@@ -1,9 +1,10 @@
1
- import { Context } from "sap/ui/model/odata/v4";
1
+ import Context from "sap/ui/model/odata/v4/Context";
2
2
  import { convertMetaModelContext, getInvolvedDataModelObjects } from "sap/fe/core/converters/MetaModelConverter";
3
3
  import {
4
4
  addTypeInformation,
5
5
  and,
6
6
  annotationExpression,
7
+ bindingExpression,
7
8
  BindingExpression,
8
9
  BindingExpressionExpression,
9
10
  compileBinding,
@@ -18,7 +19,7 @@ import {
18
19
  not,
19
20
  or
20
21
  } from "sap/fe/core/helpers/BindingExpression";
21
- import { UI } from "sap/fe/core/converters/helpers/BindingHelper";
22
+ import { singletonPathVisitor, UI } from "sap/fe/core/converters/helpers/BindingHelper";
22
23
  import {
23
24
  getAssociatedUnitProperty,
24
25
  getAssociatedCurrencyProperty,
@@ -33,13 +34,24 @@ import { NavigationProperty, Property } from "@sap-ux/annotation-converter";
33
34
  import { PathAnnotationExpression } from "@sap-ux/vocabularies-types/types/Edm";
34
35
  import {
35
36
  DataModelObjectPath,
36
- getTargetEntitySetPath,
37
37
  isPathUpdatable,
38
- getPathRelativeLocation
38
+ getPathRelativeLocation,
39
+ getTargetObjectPath
39
40
  } from "sap/fe/core/templating/DataModelPathHelper";
40
- import { isReadOnlyExpression, isNonEditableExpression, isDisabledExpression } from "sap/fe/core/templating/FieldControlHelper";
41
+ import {
42
+ isReadOnlyExpression,
43
+ isNonEditableExpression,
44
+ isDisabledExpression,
45
+ isRequiredExpression
46
+ } from "sap/fe/core/templating/FieldControlHelper";
41
47
  import valueFormatters from "sap/fe/core/formatters/ValueFormatter";
42
48
  import { DataFieldAbstractTypes } from "@sap-ux/vocabularies-types";
49
+ import * as DisplayModeFormatter from "sap/fe/core/templating/DisplayModeFormatter";
50
+
51
+ // Import-export method used by the converter to use them in the templating through the UIFormatters.
52
+ export type DisplayMode = DisplayModeFormatter.DisplayMode;
53
+ export const getDisplayMode = DisplayModeFormatter.getDisplayMode;
54
+ export const EDM_TYPE_MAPPING = DisplayModeFormatter.EDM_TYPE_MAPPING;
43
55
 
44
56
  export type PropertyOrPath<P> = string | P | PathAnnotationExpression<P>;
45
57
  export type MetaModelContext = {
@@ -73,51 +85,6 @@ export type configType = {
73
85
  formatOptions: configTypeformatOptions;
74
86
  };
75
87
 
76
- export const EDM_TYPE_MAPPING: Record<string, any> = {
77
- "Edm.Boolean": { type: "sap.ui.model.odata.type.Boolean" },
78
- "Edm.Byte": { type: "sap.ui.model.odata.type.Byte" },
79
- "Edm.Date": { type: "sap.ui.model.odata.type.Date" },
80
- "Edm.DateTimeOffset": {
81
- constraints: {
82
- "$Precision": "precision"
83
- },
84
- type: "sap.ui.model.odata.type.DateTimeOffset"
85
- },
86
- "Edm.Decimal": {
87
- constraints: {
88
- "@Org.OData.Validation.V1.Minimum/$Decimal": "minimum",
89
- "@Org.OData.Validation.V1.Minimum@Org.OData.Validation.V1.Exclusive": "minimumExclusive",
90
- "@Org.OData.Validation.V1.Maximum/$Decimal": "maximum",
91
- "@Org.OData.Validation.V1.Maximum@Org.OData.Validation.V1.Exclusive": "maximumExclusive",
92
- "$Precision": "precision",
93
- "$Scale": "scale"
94
- },
95
- type: "sap.ui.model.odata.type.Decimal"
96
- },
97
- "Edm.Double": { type: "sap.ui.model.odata.type.Double" },
98
- "Edm.Guid": { type: "sap.ui.model.odata.type.Guid" },
99
- "Edm.Int16": { type: "sap.ui.model.odata.type.Int16" },
100
- "Edm.Int32": { type: "sap.ui.model.odata.type.Int32" },
101
- "Edm.Int64": { type: "sap.ui.model.odata.type.Int64" },
102
- "Edm.SByte": { type: "sap.ui.model.odata.type.SByte" },
103
- "Edm.Single": { type: "sap.ui.model.odata.type.Single" },
104
- "Edm.Stream": { type: "sap.ui.model.odata.type.Stream" },
105
- "Edm.String": {
106
- constraints: {
107
- "@com.sap.vocabularies.Common.v1.IsDigitSequence": "isDigitSequence",
108
- "$MaxLength": "maxLength",
109
- "$Nullable": "nullable"
110
- },
111
- type: "sap.ui.model.odata.type.String"
112
- },
113
- "Edm.TimeOfDay": {
114
- constraints: {
115
- "$Precision": "precision"
116
- },
117
- type: "sap.ui.model.odata.type.TimeOfDay"
118
- }
119
- };
120
-
121
88
  /**
122
89
  * Create the expression to generate an "editable" boolean value.
123
90
  *
@@ -130,7 +97,7 @@ export const EDM_TYPE_MAPPING: Record<string, any> = {
130
97
  export const getEditableExpression = function(
131
98
  oPropertyPath: PropertyOrPath<Property>,
132
99
  oDataFieldConverted: any = null,
133
- oDataModelObjectPath?: DataModelObjectPath,
100
+ oDataModelObjectPath: DataModelObjectPath,
134
101
  bAsObject: boolean = false
135
102
  ): BindingExpression<boolean> | ExpressionOrPrimitive<boolean> {
136
103
  if (!oPropertyPath || typeof oPropertyPath === "string") {
@@ -152,7 +119,11 @@ export const getEditableExpression = function(
152
119
  // Else, to be editable you need
153
120
  // immutable and key while in the creation row
154
121
  // ui/isEditable
155
- const isPathUpdatableExpression = isPathUpdatable(oDataModelObjectPath, oPropertyPath);
122
+ const isPathUpdatableExpression = isPathUpdatable(oDataModelObjectPath, {
123
+ propertyPath: oPropertyPath,
124
+ pathVisitor: (path: string, navigationPaths: string[]) =>
125
+ singletonPathVisitor(path, oDataModelObjectPath.convertedTypes, navigationPaths)
126
+ });
156
127
  const editableExpression = ifElse(
157
128
  or(
158
129
  not(isPathUpdatableExpression),
@@ -170,6 +141,18 @@ export const getEditableExpression = function(
170
141
  return compileBinding(and(editableExpression, dataFieldEditableExpression));
171
142
  };
172
143
 
144
+ export const getCollaborationExpression = function(dataModelObjectPath: DataModelObjectPath, formatter: any): BindingExpression<any> {
145
+ const objectPath = getTargetObjectPath(dataModelObjectPath);
146
+ const activityExpression = bindingExpression("/collaboration/activities" + objectPath, "internal");
147
+ const keys = dataModelObjectPath?.targetEntityType?.keys;
148
+ const keysExpressions: BindingExpressionExpression<any>[] = [];
149
+ keys?.forEach(function(key) {
150
+ const keyExpression = bindingExpression(key.name) as BindingExpressionExpression<any>;
151
+ keysExpressions.push(keyExpression);
152
+ });
153
+ return formatResult([activityExpression, ...keysExpressions], formatter);
154
+ };
155
+
173
156
  /**
174
157
  * Create the expression to generate an "enabled" boolean value.
175
158
  *
@@ -203,6 +186,7 @@ export const getEnabledExpression = function(
203
186
 
204
187
  /**
205
188
  * Create the expression to generate an "editMode" enum value.
189
+ *
206
190
  * @param {PropertyPath} oPropertyPath The input property
207
191
  * @param {DataModelObjectPath} oDataModelObjectPath The list of data model objects that are involved to reach that property
208
192
  * @param {boolean} bMeasureReadOnly Whether we should set UoM / currency field mode to read only
@@ -289,34 +273,6 @@ export const ifUnitEditable = function(
289
273
  return compileBinding(ifElse(editableExpression, sEditableValue, sNonEditableValue));
290
274
  };
291
275
 
292
- export type DisplayMode = "Value" | "Description" | "DescriptionValue" | "ValueDescription";
293
- export const getDisplayMode = function(oPropertyPath: PropertyOrPath<Property>, oDataModelObjectPath?: DataModelObjectPath): DisplayMode {
294
- if (!oPropertyPath || typeof oPropertyPath === "string") {
295
- return "Value";
296
- }
297
- const oProperty = (isPathExpression(oPropertyPath) && oPropertyPath.$target) || (oPropertyPath as Property);
298
- const oEntityType = oDataModelObjectPath && oDataModelObjectPath.targetEntityType;
299
- const oTextAnnotation = oProperty.annotations?.Common?.Text;
300
- const oTextArrangementAnnotation =
301
- (typeof oTextAnnotation !== "string" && oTextAnnotation?.annotations?.UI?.TextArrangement?.toString()) ||
302
- oEntityType?.annotations?.UI?.TextArrangement?.toString();
303
-
304
- let sDisplayValue = oTextAnnotation ? "DescriptionValue" : "Value";
305
- if ((oTextAnnotation && oTextArrangementAnnotation) || oEntityType?.annotations?.UI?.TextArrangement?.toString()) {
306
- if (oTextArrangementAnnotation === "UI.TextArrangementType/TextOnly") {
307
- sDisplayValue = "Description";
308
- } else if (oTextArrangementAnnotation === "UI.TextArrangementType/TextLast") {
309
- sDisplayValue = "ValueDescription";
310
- } else if (oTextArrangementAnnotation === "UI.TextArrangementType/TextSeparate") {
311
- sDisplayValue = "Value";
312
- } else {
313
- //Default should be TextFirst if there is a Text annotation and neither TextOnly nor TextLast are set
314
- sDisplayValue = "DescriptionValue";
315
- }
316
- }
317
- return sDisplayValue as DisplayMode;
318
- };
319
-
320
276
  export const getFieldDisplay = function(
321
277
  oPropertyPath: PropertyOrPath<Property>,
322
278
  sTargetDisplayMode: string,
@@ -329,13 +285,17 @@ export const getFieldDisplay = function(
329
285
  : compileBinding(ifElse(equal(oComputedEditMode, "Editable"), "Value", sTargetDisplayMode));
330
286
  };
331
287
 
332
- export const formatWithTypeInformation = function(oProperty: Property, propertyBindingExpression: Expression<string>): Expression<string> {
288
+ export const formatWithTypeInformation = function(
289
+ oProperty: Property,
290
+ propertyBindingExpression: Expression<string>,
291
+ ignoreConstraints?: boolean
292
+ ): Expression<string> {
333
293
  const outExpression: BindingExpressionExpression<any> = propertyBindingExpression as BindingExpressionExpression<any>;
334
294
  if (oProperty._type === "Property") {
335
295
  const oTargetMapping = EDM_TYPE_MAPPING[(oProperty as Property).type];
336
296
  if (oTargetMapping) {
337
297
  outExpression.type = oTargetMapping.type;
338
- if (oTargetMapping.constraints) {
298
+ if (oTargetMapping.constraints && !ignoreConstraints) {
339
299
  outExpression.constraints = {};
340
300
  if (oTargetMapping.constraints.$Scale && oProperty.scale !== undefined) {
341
301
  outExpression.constraints.scale = oProperty.scale;
@@ -449,7 +409,8 @@ export const getTypeConfig = function(oProperty: Property | DataFieldAbstractTyp
449
409
 
450
410
  export const getBindingWithUnitOrCurrency = function(
451
411
  oPropertyDataModelPath: DataModelObjectPath,
452
- propertyBindingExpression: Expression<string>
412
+ propertyBindingExpression: Expression<string>,
413
+ ignoreUnitConstraint?: boolean
453
414
  ): Expression<string> {
454
415
  const oPropertyDefinition = oPropertyDataModelPath.targetObject as Property;
455
416
  let unit = oPropertyDefinition.annotations?.Measures?.Unit;
@@ -464,8 +425,13 @@ export const getBindingWithUnitOrCurrency = function(
464
425
  const complexType = unit ? "sap.ui.model.odata.type.Unit" : "sap.ui.model.odata.type.Currency";
465
426
  unit = unit ? unit : oPropertyDefinition.annotations?.Measures?.ISOCurrency;
466
427
  const unitBindingExpression = (unit as any).$target
467
- ? formatWithTypeInformation((unit as any).$target, annotationExpression(unit, relativeLocation) as Expression<string>)
428
+ ? formatWithTypeInformation(
429
+ (unit as any).$target,
430
+ annotationExpression(unit, relativeLocation) as Expression<string>,
431
+ ignoreUnitConstraint
432
+ )
468
433
  : (annotationExpression(unit, relativeLocation) as Expression<string>);
434
+
469
435
  return addTypeInformation([propertyBindingExpression, unitBindingExpression], complexType);
470
436
  };
471
437
 
@@ -520,21 +486,6 @@ export const getExpressionBinding = function(expression: Expression<any>): Bindi
520
486
  return compileBinding(expression);
521
487
  };
522
488
 
523
- /**
524
- * Retrieve the target entityset for a context path if it exists.
525
- *
526
- * @param oContext
527
- * @returns {string}
528
- */
529
- export const getTargetEntitySet = function(oContext: Context): string | null {
530
- if (oContext) {
531
- const oDataModelPath = getInvolvedDataModelObjects(oContext);
532
- return getTargetEntitySetPath(oDataModelPath);
533
- }
534
-
535
- return null;
536
- };
537
-
538
489
  export const isCollectionField = function(oDataModelPath: DataModelObjectPath): boolean {
539
490
  if (oDataModelPath.navigationProperties?.length) {
540
491
  const hasOneToManyNavigation =
@@ -558,3 +509,29 @@ export const isCollectionField = function(oDataModelPath: DataModelObjectPath):
558
509
  }
559
510
  return false;
560
511
  };
512
+
513
+ export const getRequiredExpression = function(
514
+ oPropertyPath: PropertyOrPath<Property>,
515
+ oDataFieldConverted?: any,
516
+ forceEditMode: boolean = false,
517
+ bAsObject: boolean = false
518
+ ): BindingExpression<boolean> | ExpressionOrPrimitive<boolean> {
519
+ if (!oPropertyPath || typeof oPropertyPath === "string") {
520
+ return compileBinding(false);
521
+ }
522
+
523
+ let dataFieldRequiredExpression: BindingExpression<boolean> | ExpressionOrPrimitive<boolean> = true;
524
+ if (oDataFieldConverted !== null) {
525
+ dataFieldRequiredExpression = isRequiredExpression(oDataFieldConverted);
526
+ }
527
+
528
+ const oProperty: Property = (isPathExpression(oPropertyPath) && oPropertyPath.$target) || (oPropertyPath as Property);
529
+ // Enablement depends on the field control expression
530
+ // If the Field control is statically in Inapplicable (disabled) -> not enabled
531
+ const requiredExpression = isRequiredExpression(oProperty);
532
+ const editMode = forceEditMode || UI.IsEditable;
533
+ if (bAsObject) {
534
+ return and(or(requiredExpression, dataFieldRequiredExpression), editMode);
535
+ }
536
+ return compileBinding(and(or(requiredExpression, dataFieldRequiredExpression), editMode));
537
+ };
@@ -17,4 +17,4 @@ sap.ui.define(["sap/ui/model/odata/type/String", "sap/ui/model/ValidateException
17
17
  });
18
18
  return EmailType;
19
19
  }, false);
20
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkVtYWlsLnRzIl0sIm5hbWVzIjpbImVtYWlsVzNDUmVnZXhwIiwiRW1haWxUeXBlIiwiT0RhdGFTdHJpbmdUeXBlIiwiZXh0ZW5kIiwidmFsaWRhdGVWYWx1ZSIsInNWYWx1ZSIsInRlc3QiLCJWYWxpZGF0ZUV4Y2VwdGlvbiIsInNhcCIsInVpIiwiZ2V0Q29yZSIsImdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZSIsImdldFRleHQiLCJwcm90b3R5cGUiLCJhcHBseSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUNBLE1BQU1BLGNBQWMsR0FBRyxxRUFBdkI7QUFDQSxNQUFNQyxTQUFTLEdBQUdDLGVBQWUsQ0FBQ0MsTUFBaEIsQ0FBdUIsd0JBQXZCLEVBQWlEO0FBQ2xFQyxJQUFBQSxhQURrRSxZQUNwREMsTUFEb0QsRUFDcEM7QUFDN0IsVUFBSSxDQUFDTCxjQUFjLENBQUNNLElBQWYsQ0FBb0JELE1BQXBCLENBQUwsRUFBa0M7QUFDakMsY0FBTSxJQUFJRSxpQkFBSixDQUNMQyxHQUFHLENBQUNDLEVBQUosQ0FDRUMsT0FERixHQUVFQyx3QkFGRixDQUUyQixhQUYzQixFQUdFQyxPQUhGLENBR1UsMkJBSFYsQ0FESyxDQUFOO0FBTUE7O0FBQ0RWLE1BQUFBLGVBQWUsQ0FBQ1csU0FBaEIsQ0FBMEJULGFBQTFCLENBQXdDVSxLQUF4QyxDQUE4QyxJQUE5QyxFQUFvRCxDQUFDVCxNQUFELENBQXBEO0FBQ0E7QUFYaUUsR0FBakQsQ0FBbEI7U0FhZUosUyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RyaW5nIGFzIE9EYXRhU3RyaW5nVHlwZSB9IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdHlwZVwiO1xuaW1wb3J0IHsgVmFsaWRhdGVFeGNlcHRpb24gfSBmcm9tIFwic2FwL3VpL21vZGVsXCI7XG5cbmNvbnN0IGVtYWlsVzNDUmVnZXhwID0gL15bYS16QS1aMC05LiEjJCUm4oCZKisvPT9eX2B7fH1+LV0rQFthLXpBLVowLTktXSsoPzouW2EtekEtWjAtOS1dKykqJC87XG5jb25zdCBFbWFpbFR5cGUgPSBPRGF0YVN0cmluZ1R5cGUuZXh0ZW5kKFwic2FwLmZlLmNvcmUudHlwZS5FbWFpbFwiLCB7XG5cdHZhbGlkYXRlVmFsdWUoc1ZhbHVlOiBzdHJpbmcpIHtcblx0XHRpZiAoIWVtYWlsVzNDUmVnZXhwLnRlc3Qoc1ZhbHVlKSkge1xuXHRcdFx0dGhyb3cgbmV3IFZhbGlkYXRlRXhjZXB0aW9uKFxuXHRcdFx0XHRzYXAudWlcblx0XHRcdFx0XHQuZ2V0Q29yZSgpXG5cdFx0XHRcdFx0LmdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZShcInNhcC5mZS5jb3JlXCIpXG5cdFx0XHRcdFx0LmdldFRleHQoXCJUX0VNQUlMVFlQRV9JTlZBTElEX1ZBTFVFXCIpXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRPRGF0YVN0cmluZ1R5cGUucHJvdG90eXBlLnZhbGlkYXRlVmFsdWUuYXBwbHkodGhpcywgW3NWYWx1ZV0pO1xuXHR9XG59KTtcbmV4cG9ydCBkZWZhdWx0IEVtYWlsVHlwZTtcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkVtYWlsLnRzIl0sIm5hbWVzIjpbImVtYWlsVzNDUmVnZXhwIiwiRW1haWxUeXBlIiwiT0RhdGFTdHJpbmdUeXBlIiwiZXh0ZW5kIiwidmFsaWRhdGVWYWx1ZSIsInNWYWx1ZSIsInRlc3QiLCJWYWxpZGF0ZUV4Y2VwdGlvbiIsInNhcCIsInVpIiwiZ2V0Q29yZSIsImdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZSIsImdldFRleHQiLCJwcm90b3R5cGUiLCJhcHBseSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUVBLE1BQU1BLGNBQWMsR0FBRyxxRUFBdkI7QUFDQSxNQUFNQyxTQUFTLEdBQUdDLGVBQWUsQ0FBQ0MsTUFBaEIsQ0FBdUIsd0JBQXZCLEVBQWlEO0FBQ2xFQyxJQUFBQSxhQURrRSxZQUNwREMsTUFEb0QsRUFDcEM7QUFDN0IsVUFBSSxDQUFDTCxjQUFjLENBQUNNLElBQWYsQ0FBb0JELE1BQXBCLENBQUwsRUFBa0M7QUFDakMsY0FBTSxJQUFJRSxpQkFBSixDQUNKQyxHQUFHLENBQUNDLEVBQUosQ0FBT0MsT0FBUCxHQUFpQkMsd0JBQWpCLENBQTBDLGFBQTFDLENBQUQsQ0FBNkVDLE9BQTdFLENBQXFGLDJCQUFyRixDQURLLENBQU47QUFHQTs7QUFDRFYsTUFBQUEsZUFBZSxDQUFDVyxTQUFoQixDQUEwQlQsYUFBMUIsQ0FBd0NVLEtBQXhDLENBQThDLElBQTlDLEVBQW9ELENBQUNULE1BQUQsQ0FBcEQ7QUFDQTtBQVJpRSxHQUFqRCxDQUFsQjtTQVVlSixTIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVzb3VyY2VCdW5kbGUgZnJvbSBcInNhcC9iYXNlL2kxOG4vUmVzb3VyY2VCdW5kbGVcIjtcbmltcG9ydCBPRGF0YVN0cmluZ1R5cGUgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS90eXBlL1N0cmluZ1wiO1xuaW1wb3J0IFZhbGlkYXRlRXhjZXB0aW9uIGZyb20gXCJzYXAvdWkvbW9kZWwvVmFsaWRhdGVFeGNlcHRpb25cIjtcblxuY29uc3QgZW1haWxXM0NSZWdleHAgPSAvXlthLXpBLVowLTkuISMkJSbigJkqKy89P15fYHt8fX4tXStAW2EtekEtWjAtOS1dKyg/Oi5bYS16QS1aMC05LV0rKSokLztcbmNvbnN0IEVtYWlsVHlwZSA9IE9EYXRhU3RyaW5nVHlwZS5leHRlbmQoXCJzYXAuZmUuY29yZS50eXBlLkVtYWlsXCIsIHtcblx0dmFsaWRhdGVWYWx1ZShzVmFsdWU6IHN0cmluZykge1xuXHRcdGlmICghZW1haWxXM0NSZWdleHAudGVzdChzVmFsdWUpKSB7XG5cdFx0XHR0aHJvdyBuZXcgVmFsaWRhdGVFeGNlcHRpb24oXG5cdFx0XHRcdChzYXAudWkuZ2V0Q29yZSgpLmdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZShcInNhcC5mZS5jb3JlXCIpIGFzIFJlc291cmNlQnVuZGxlKS5nZXRUZXh0KFwiVF9FTUFJTFRZUEVfSU5WQUxJRF9WQUxVRVwiKVxuXHRcdFx0KTtcblx0XHR9XG5cdFx0T0RhdGFTdHJpbmdUeXBlLnByb3RvdHlwZS52YWxpZGF0ZVZhbHVlLmFwcGx5KHRoaXMsIFtzVmFsdWVdKTtcblx0fVxufSk7XG5leHBvcnQgZGVmYXVsdCBFbWFpbFR5cGU7XG4iXX0=
@@ -1,15 +1,13 @@
1
- import { String as ODataStringType } from "sap/ui/model/odata/type";
2
- import { ValidateException } from "sap/ui/model";
1
+ import ResourceBundle from "sap/base/i18n/ResourceBundle";
2
+ import ODataStringType from "sap/ui/model/odata/type/String";
3
+ import ValidateException from "sap/ui/model/ValidateException";
3
4
 
4
5
  const emailW3CRegexp = /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$/;
5
6
  const EmailType = ODataStringType.extend("sap.fe.core.type.Email", {
6
7
  validateValue(sValue: string) {
7
8
  if (!emailW3CRegexp.test(sValue)) {
8
9
  throw new ValidateException(
9
- sap.ui
10
- .getCore()
11
- .getLibraryResourceBundle("sap.fe.core")
12
- .getText("T_EMAILTYPE_INVALID_VALUE")
10
+ (sap.ui.getCore().getLibraryResourceBundle("sap.fe.core") as ResourceBundle).getText("T_EMAILTYPE_INVALID_VALUE")
13
11
  );
14
12
  }
15
13
  ODataStringType.prototype.validateValue.apply(this, [sValue]);
package/ui5.yaml CHANGED
@@ -3,9 +3,6 @@ type: library
3
3
  metadata:
4
4
  sapInternal: true
5
5
  name: sap.fe.core
6
- copyright: |-
7
- SAPUI5
8
- * (c) Copyright 2009-${currentYear} SAP SE. All rights reserved.
9
6
  framework:
10
7
  name: SAPUI5
11
8
  libraries:
@@ -1,8 +0,0 @@
1
- /*!
2
- * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
- */
5
- sap.ui.define([], function () {
6
- "use strict";
7
- }, false);
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbHRlcmJhci5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbIiJdfQ==
File without changes