@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,31 +1,27 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- /**
6
- * Adds support rules of the sap.fe.core library to the support infrastructure.
7
- */
8
- sap.ui.define(
9
- [
10
- "./support/AnnotationIssue.support",
11
- "./support/CollectionFacetMissingID.support",
12
- "./support/CollectionFacetUnsupportedLevel.support"
13
- ],
14
- function(AnnotationIssue, CollectionFacetMissingID, CollectionFacetUnsupportedLevel) {
15
- "use strict";
5
+ sap.ui.define(["./support/AnnotationIssue.support", "./support/CollectionFacetMissingID.support", "./support/CollectionFacetUnsupportedLevel.support", "./support/InvalidAnnotationColumnKey.support"], function (AnnotationIssue, CollectionFacetMissingID, CollectionFacetUnsupportedLevel, InvalidAnnotationColumnKey) {
6
+ "use strict";
16
7
 
17
- sap.ui.support.SystemPresets.FeV4 = {
18
- id: "FioriElementsV4",
19
- title: "Fiori Elements V4",
20
- description: "Fiori Elements V4 rules",
21
- selections: [{ ruleId: "annotationIssue", libName: "sap.fe.core" }]
22
- };
8
+ sap.ui.support.SystemPresets.FeV4 = {
9
+ id: "FioriElementsV4",
10
+ title: "Fiori Elements V4",
11
+ description: "Fiori Elements V4 rules",
12
+ selections: [{
13
+ ruleId: "annotationIssue",
14
+ libName: "sap.fe.core"
15
+ }]
16
+ };
17
+ /**
18
+ * Adds support rules of the sap.fe.core library to the support infrastructure.
19
+ */
23
20
 
24
- return {
25
- name: "sap.fe.core",
26
- niceName: "SAP.FE V4 - Core library",
27
- ruleset: [AnnotationIssue.getRules(), CollectionFacetMissingID.getRules(), CollectionFacetUnsupportedLevel.getRules()]
28
- };
29
- },
30
- true
31
- );
21
+ return {
22
+ name: "sap.fe.core",
23
+ niceName: "SAP.FE V4 - Core library",
24
+ ruleset: [AnnotationIssue.getRules(), CollectionFacetMissingID.getRules(), CollectionFacetUnsupportedLevel.getRules(), InvalidAnnotationColumnKey.getRules()]
25
+ };
26
+ }, false);
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYnJhcnkuc3VwcG9ydC50cyJdLCJuYW1lcyI6WyJzYXAiLCJ1aSIsInN1cHBvcnQiLCJTeXN0ZW1QcmVzZXRzIiwiRmVWNCIsImlkIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInNlbGVjdGlvbnMiLCJydWxlSWQiLCJsaWJOYW1lIiwibmFtZSIsIm5pY2VOYW1lIiwicnVsZXNldCIsIkFubm90YXRpb25Jc3N1ZSIsImdldFJ1bGVzIiwiQ29sbGVjdGlvbkZhY2V0TWlzc2luZ0lEIiwiQ29sbGVjdGlvbkZhY2V0VW5zdXBwb3J0ZWRMZXZlbCIsIkludmFsaWRBbm5vdGF0aW9uQ29sdW1uS2V5Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7O0FBRUNBLEVBQUFBLEdBQUcsQ0FBQ0MsRUFBSixDQUFPQyxPQUFSLENBQXdCQyxhQUF4QixDQUFzQ0MsSUFBdEMsR0FBNkM7QUFDNUNDLElBQUFBLEVBQUUsRUFBRSxpQkFEd0M7QUFFNUNDLElBQUFBLEtBQUssRUFBRSxtQkFGcUM7QUFHNUNDLElBQUFBLFdBQVcsRUFBRSx5QkFIK0I7QUFJNUNDLElBQUFBLFVBQVUsRUFBRSxDQUFDO0FBQUVDLE1BQUFBLE1BQU0sRUFBRSxpQkFBVjtBQUE2QkMsTUFBQUEsT0FBTyxFQUFFO0FBQXRDLEtBQUQ7QUFKZ0MsR0FBN0M7QUFNQTtBQUNBO0FBQ0E7O1NBQ2U7QUFDZEMsSUFBQUEsSUFBSSxFQUFFLGFBRFE7QUFFZEMsSUFBQUEsUUFBUSxFQUFFLDBCQUZJO0FBR2RDLElBQUFBLE9BQU8sRUFBRSxDQUNSQyxlQUFlLENBQUNDLFFBQWhCLEVBRFEsRUFFUkMsd0JBQXdCLENBQUNELFFBQXpCLEVBRlEsRUFHUkUsK0JBQStCLENBQUNGLFFBQWhDLEVBSFEsRUFJUkcsMEJBQTBCLENBQUNILFFBQTNCLEVBSlE7QUFISyxHIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBBbm5vdGF0aW9uSXNzdWUgZnJvbSBcIi4vc3VwcG9ydC9Bbm5vdGF0aW9uSXNzdWUuc3VwcG9ydFwiO1xuaW1wb3J0ICogYXMgQ29sbGVjdGlvbkZhY2V0TWlzc2luZ0lEIGZyb20gXCIuL3N1cHBvcnQvQ29sbGVjdGlvbkZhY2V0TWlzc2luZ0lELnN1cHBvcnRcIjtcbmltcG9ydCAqIGFzIENvbGxlY3Rpb25GYWNldFVuc3VwcG9ydGVkTGV2ZWwgZnJvbSBcIi4vc3VwcG9ydC9Db2xsZWN0aW9uRmFjZXRVbnN1cHBvcnRlZExldmVsLnN1cHBvcnRcIjtcbmltcG9ydCAqIGFzIEludmFsaWRBbm5vdGF0aW9uQ29sdW1uS2V5IGZyb20gXCIuL3N1cHBvcnQvSW52YWxpZEFubm90YXRpb25Db2x1bW5LZXkuc3VwcG9ydFwiO1xuKHNhcC51aS5zdXBwb3J0IGFzIGFueSkuU3lzdGVtUHJlc2V0cy5GZVY0ID0ge1xuXHRpZDogXCJGaW9yaUVsZW1lbnRzVjRcIixcblx0dGl0bGU6IFwiRmlvcmkgRWxlbWVudHMgVjRcIixcblx0ZGVzY3JpcHRpb246IFwiRmlvcmkgRWxlbWVudHMgVjQgcnVsZXNcIixcblx0c2VsZWN0aW9uczogW3sgcnVsZUlkOiBcImFubm90YXRpb25Jc3N1ZVwiLCBsaWJOYW1lOiBcInNhcC5mZS5jb3JlXCIgfV1cbn07XG4vKipcbiAqIEFkZHMgc3VwcG9ydCBydWxlcyBvZiB0aGUgc2FwLmZlLmNvcmUgbGlicmFyeSB0byB0aGUgc3VwcG9ydCBpbmZyYXN0cnVjdHVyZS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiBcInNhcC5mZS5jb3JlXCIsXG5cdG5pY2VOYW1lOiBcIlNBUC5GRSBWNCAtIENvcmUgbGlicmFyeVwiLFxuXHRydWxlc2V0OiBbXG5cdFx0QW5ub3RhdGlvbklzc3VlLmdldFJ1bGVzKCksXG5cdFx0Q29sbGVjdGlvbkZhY2V0TWlzc2luZ0lELmdldFJ1bGVzKCksXG5cdFx0Q29sbGVjdGlvbkZhY2V0VW5zdXBwb3J0ZWRMZXZlbC5nZXRSdWxlcygpLFxuXHRcdEludmFsaWRBbm5vdGF0aW9uQ29sdW1uS2V5LmdldFJ1bGVzKClcblx0XVxufTtcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import * as AnnotationIssue from "./support/AnnotationIssue.support";
2
+ import * as CollectionFacetMissingID from "./support/CollectionFacetMissingID.support";
3
+ import * as CollectionFacetUnsupportedLevel from "./support/CollectionFacetUnsupportedLevel.support";
4
+ import * as InvalidAnnotationColumnKey from "./support/InvalidAnnotationColumnKey.support";
5
+ (sap.ui.support as any).SystemPresets.FeV4 = {
6
+ id: "FioriElementsV4",
7
+ title: "Fiori Elements V4",
8
+ description: "Fiori Elements V4 rules",
9
+ selections: [{ ruleId: "annotationIssue", libName: "sap.fe.core" }]
10
+ };
11
+ /**
12
+ * Adds support rules of the sap.fe.core library to the support infrastructure.
13
+ */
14
+ export default {
15
+ name: "sap.fe.core",
16
+ niceName: "SAP.FE V4 - Core library",
17
+ ruleset: [
18
+ AnnotationIssue.getRules(),
19
+ CollectionFacetMissingID.getRules(),
20
+ CollectionFacetUnsupportedLevel.getRules(),
21
+ InvalidAnnotationColumnKey.getRules()
22
+ ]
23
+ };
@@ -0,0 +1,420 @@
1
+ import Log from "sap/base/Log";
2
+ import DataType from "sap/ui/base/DataType";
3
+ import TemplatedViewServiceFactory from "sap/fe/core/services/TemplatedViewServiceFactory";
4
+ import ResourceModelServiceFactory from "sap/fe/core/services/ResourceModelServiceFactory";
5
+ import CacheHandlerServiceFactory from "sap/fe/core/services/CacheHandlerServiceFactory";
6
+ import NavigationService from "sap/fe/core/services/NavigationServiceFactory";
7
+ import RoutingServiceFactory from "sap/fe/core/services/RoutingServiceFactory";
8
+ import SideEffectsServiceFactory from "sap/fe/core/services/SideEffectsServiceFactory";
9
+ import ShellServicesFactory from "sap/fe/core/services/ShellServicesFactory";
10
+ import AsyncComponentServiceFactory from "sap/fe/core/services/AsyncComponentServiceFactory";
11
+ import EnvironmentServiceFactory from "sap/fe/core/services/EnvironmentServiceFactory";
12
+ import ServiceFactoryRegistry from "sap/ui/core/service/ServiceFactoryRegistry";
13
+ import "sap/ui/core/Core";
14
+ import "sap/ui/core/library";
15
+ import "sap/fe/navigation/library";
16
+ import "sap/fe/placeholder/library";
17
+ import "sap/ui/fl/library";
18
+ import "sap/ui/mdc/library";
19
+ import "sap/fe/core/formatters/ValueFormatter";
20
+ import "sap/fe/core/formatters/FPMFormatter";
21
+ import "sap/fe/core/type/Email";
22
+ /**
23
+ * Root namespace for all the libraries related to SAP Fiori elements.
24
+ *
25
+ * @namespace
26
+ * @name sap.fe
27
+ * @public
28
+ */
29
+
30
+ /**
31
+ * Library providing the core functionality of the runtime for SAP Fiori elements for OData V4.
32
+ *
33
+ * @namespace
34
+ * @name sap.fe.core
35
+ * @public
36
+ */
37
+
38
+ /**
39
+ * Collection of controller extensions used internally in SAP Fiori elements exposing a method that you can override to allow more flexibility.
40
+ *
41
+ * @namespace
42
+ * @name sap.fe.core.controllerextensions
43
+ * @public
44
+ */
45
+
46
+ /**
47
+ * Collection of classes provided by SAP Fiori elements for the Flexible Programming Model
48
+ *
49
+ * @namespace
50
+ * @name sap.fe.core.fpm
51
+ * @public
52
+ */
53
+
54
+ /**
55
+ * @namespace
56
+ * @name sap.fe.core.actions
57
+ * @private
58
+ */
59
+
60
+ /**
61
+ * @namespace
62
+ * @name sap.fe.common
63
+ * @private
64
+ */
65
+
66
+ /**
67
+ * @namespace
68
+ * @name sap.fe.core.model
69
+ * @private
70
+ */
71
+
72
+ /**
73
+ * @namespace
74
+ * @name sap.fe.core.navigation
75
+ * @private
76
+ */
77
+ sap.ui.getCore().initLibrary({
78
+ name: "sap.fe.core",
79
+ dependencies: ["sap.ui.core", "sap.fe.navigation", "sap.fe.placeholder", "sap.ui.fl", "sap.ui.mdc"],
80
+ types: ["sap.fe.core.CreationMode", "sap.fe.core.VariantManagement"],
81
+ interfaces: [],
82
+ controls: [],
83
+ elements: [],
84
+ version: "${version}",
85
+ noLibraryCSS: true,
86
+ extensions: {
87
+ //Configuration used for rule loading of Support Assistant
88
+ "sap.ui.support": {
89
+ publicRules: true,
90
+ internalRules: true
91
+ },
92
+ flChangeHandlers: {
93
+ "sap.fe.core.controls.FilterBar": "sap/ui/mdc/flexibility/FilterBar"
94
+ }
95
+ }
96
+ });
97
+ const thisLib = (sap as any).fe.core;
98
+ /**
99
+ * Available values for invocation grouping.
100
+ *
101
+ * @readonly
102
+ * @enum {string}
103
+ * @private
104
+ */
105
+ thisLib.InvocationGrouping = {
106
+ /**
107
+ * Isolated.
108
+ *
109
+ * @constant
110
+ * @type {string}
111
+ * @public
112
+ */
113
+ Isolated: "Isolated",
114
+ /**
115
+ * ChangeSet.
116
+ *
117
+ * @constant
118
+ * @type {string}
119
+ * @public
120
+ */
121
+ ChangeSet: "ChangeSet"
122
+ };
123
+ /**
124
+ * Available values for creation mode.
125
+ *
126
+ * @readonly
127
+ * @enum {string}
128
+ * @private
129
+ */
130
+ thisLib.CreationMode = {
131
+ /**
132
+ * New Page.
133
+ *
134
+ * @constant
135
+ * @type {string}
136
+ * @public
137
+ */
138
+ NewPage: "NewPage",
139
+ /**
140
+ * Sync.
141
+ *
142
+ * @constant
143
+ * @type {string}
144
+ * @public
145
+ */
146
+ Sync: "Sync",
147
+ /**
148
+ * Async.
149
+ *
150
+ * @constant
151
+ * @type {string}
152
+ * @public
153
+ */
154
+ Async: "Async",
155
+ /**
156
+ * Deferred.
157
+ *
158
+ * @constant
159
+ * @type {string}
160
+ * @public
161
+ */
162
+ Deferred: "Deferred",
163
+ /**
164
+ * Inline.
165
+ *
166
+ * @constant
167
+ * @type {string}
168
+ * @public
169
+ */
170
+ Inline: "Inline",
171
+ /**
172
+ * Creation row.
173
+ *
174
+ * @constant
175
+ * @type {string}
176
+ * @public
177
+ */
178
+ CreationRow: "CreationRow",
179
+ /**
180
+ * External (by outbound navigation).
181
+ *
182
+ * @constant
183
+ * @type {string}
184
+ * @public
185
+ */
186
+ External: "External"
187
+ };
188
+ /**
189
+ * Available values for Variant Management.
190
+ *
191
+ * @readonly
192
+ * @enum {string}
193
+ * @private
194
+ */
195
+ thisLib.VariantManagement = {
196
+ /**
197
+ * No variant management at all.
198
+ *
199
+ * @constant
200
+ * @type {string}
201
+ * @public
202
+ */
203
+ None: "None",
204
+
205
+ /**
206
+ * One variant configuration for the whole page.
207
+ *
208
+ * @constant
209
+ * @type {string}
210
+ * @public
211
+ */
212
+ Page: "Page",
213
+
214
+ /**
215
+ * Variant management on control level.
216
+ *
217
+ * @constant
218
+ * @type {string}
219
+ * @public
220
+ */
221
+ Control: "Control"
222
+ };
223
+ /**
224
+ * Available constants.
225
+ *
226
+ * @readonly
227
+ * @enum {string}
228
+ * @private
229
+ */
230
+ thisLib.Constants = {
231
+ /**
232
+ * Indicates cancelling of an action dialog.
233
+ *
234
+ * @constant
235
+ * @type {string}
236
+ * @public
237
+ */
238
+ CancelActionDialog: "cancel"
239
+ };
240
+ /**
241
+ * Available values for programming model.
242
+ *
243
+ * @readonly
244
+ * @enum {string}
245
+ * @private
246
+ */
247
+ thisLib.ProgrammingModel = {
248
+ /**
249
+ * Draft.
250
+ *
251
+ * @constant
252
+ * @type {string}
253
+ * @public
254
+ */
255
+ Draft: "Draft",
256
+ /**
257
+ * Sticky.
258
+ *
259
+ * @constant
260
+ * @type {string}
261
+ * @public
262
+ */
263
+ Sticky: "Sticky",
264
+ /**
265
+ * NonDraft.
266
+ *
267
+ * @constant
268
+ * @type {string}
269
+ * @public
270
+ */
271
+ NonDraft: "NonDraft"
272
+ };
273
+ /**
274
+ * Available values for draft status.
275
+ *
276
+ * @readonly
277
+ * @enum {string}
278
+ * @private
279
+ */
280
+ thisLib.DraftStatus = {
281
+ /**
282
+ * Saving.
283
+ *
284
+ * @constant
285
+ * @type {string}
286
+ * @public
287
+ */
288
+ Saving: "Saving",
289
+ /**
290
+ * Saved.
291
+ *
292
+ * @constant
293
+ * @type {string}
294
+ * @public
295
+ */
296
+ Saved: "Saved",
297
+ /**
298
+ * Clear.
299
+ *
300
+ * @constant
301
+ * @type {string}
302
+ * @public
303
+ */
304
+ Clear: "Clear"
305
+ };
306
+ /**
307
+ * Edit mode values.
308
+ *
309
+ * @readonly
310
+ * @enum {string}
311
+ * @private
312
+ */
313
+ thisLib.EditMode = {
314
+ /**
315
+ * View is currently displaying only.
316
+ *
317
+ * @constant
318
+ * @type {string}
319
+ * @public
320
+ */
321
+ Display: "Display",
322
+ /**
323
+ * View is currently editable.
324
+ *
325
+ * @constant
326
+ * @type {string}
327
+ * @public
328
+ */
329
+ Editable: "Editable"
330
+ };
331
+ /**
332
+ * Template views.
333
+ *
334
+ * @readonly
335
+ * @enum {string}
336
+ * @private
337
+ */
338
+ thisLib.TemplateContentView = {
339
+ /**
340
+ * Hybrid.
341
+ * @constant
342
+ * @type {string}
343
+ */
344
+ Hybrid: "Hybrid",
345
+ /**
346
+ * Chart.
347
+ * @constant
348
+ * @type {string}
349
+ */
350
+ Chart: "Chart",
351
+ /**
352
+ * Table.
353
+ * @constant
354
+ * @type {string}
355
+ */
356
+ Table: "Table"
357
+ };
358
+ /**
359
+ * Possible initial load (first app startup) modes for a ListReport.
360
+ *
361
+ * @enum {string}
362
+ * @name sap.fe.core.InitialLoadMode
363
+ * @readonly
364
+ * @public
365
+ * @since 1.86.0
366
+ */
367
+ thisLib.InitialLoadMode = {
368
+ /**
369
+ * Data will be loaded initially.
370
+ *
371
+ * @name sap.fe.core.InitialLoadMode.Enabled
372
+ * @public
373
+ */
374
+ Enabled: "Enabled",
375
+
376
+ /**
377
+ * Data will not be loaded initially.
378
+ * @name sap.fe.core.InitialLoadMode.Disabled
379
+ * @public
380
+ */
381
+ Disabled: "Disabled",
382
+
383
+ /**
384
+ * Data will be loaded initially if filters are set.
385
+ * @name sap.fe.core.InitialLoadMode.Auto
386
+ * @public
387
+ */
388
+ Auto: "Auto"
389
+ };
390
+ // explicit type to handle backward compatibility with boolean values
391
+ const InitialLoadType = DataType.createType("sap.fe.core.InitialLoadMode", {
392
+ defaultValue: thisLib.InitialLoadMode.Auto,
393
+ isValid: function(vValue: any) {
394
+ if (typeof vValue === "boolean") {
395
+ Log.warning(
396
+ "DEPRECATED: boolean value not allowed for 'initialLoad' manifest setting - supported values are: Disabled|Enabled|Auto"
397
+ );
398
+ }
399
+ return vValue === undefined || vValue === null || typeof vValue === "boolean" || thisLib.InitialLoadMode.hasOwnProperty(vValue);
400
+ }
401
+ });
402
+ // normalize a value, taking care of boolean type
403
+ InitialLoadType.setNormalizer(function(vValue: any) {
404
+ if (!vValue) {
405
+ // undefined, null or false
406
+ return thisLib.InitialLoadMode.Disabled;
407
+ }
408
+ return vValue === true ? thisLib.InitialLoadMode.Enabled : vValue;
409
+ });
410
+ ServiceFactoryRegistry.register("sap.fe.core.services.TemplatedViewService", new TemplatedViewServiceFactory());
411
+ ServiceFactoryRegistry.register("sap.fe.core.services.ResourceModelService", new ResourceModelServiceFactory());
412
+ ServiceFactoryRegistry.register("sap.fe.core.services.CacheHandlerService", new CacheHandlerServiceFactory());
413
+ ServiceFactoryRegistry.register("sap.fe.core.services.NavigationService", new NavigationService());
414
+ ServiceFactoryRegistry.register("sap.fe.core.services.RoutingService", new RoutingServiceFactory());
415
+ ServiceFactoryRegistry.register("sap.fe.core.services.SideEffectsService", new SideEffectsServiceFactory());
416
+ ServiceFactoryRegistry.register("sap.fe.core.services.ShellServices", new ShellServicesFactory());
417
+ ServiceFactoryRegistry.register("sap.fe.core.services.EnvironmentService", new EnvironmentServiceFactory());
418
+ ServiceFactoryRegistry.register("sap.fe.core.services.AsyncComponentService", new AsyncComponentServiceFactory());
419
+
420
+ export default thisLib;
@@ -0,0 +1,64 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/base/util/ObjectPath", "sap/base/Log"], function (ObjectPath, Log) {
6
+ "use strict";
7
+
8
+ var _exports = {};
9
+
10
+ function applyChange(manifest, change) {
11
+ var _manifest$sapUi, _manifest$sapUi$routi;
12
+
13
+ var changeContent = change.getContent();
14
+ var pageID = changeContent === null || changeContent === void 0 ? void 0 : changeContent.page;
15
+ var targets = ((_manifest$sapUi = manifest["sap.ui5"]) === null || _manifest$sapUi === void 0 ? void 0 : (_manifest$sapUi$routi = _manifest$sapUi.routing) === null || _manifest$sapUi$routi === void 0 ? void 0 : _manifest$sapUi$routi.targets) || {};
16
+ var pageSettings;
17
+ var propertyChange = changeContent === null || changeContent === void 0 ? void 0 : changeContent.entityPropertyChange; // return unmodified manifest in case change not valid
18
+
19
+ if ((propertyChange === null || propertyChange === void 0 ? void 0 : propertyChange.operation) !== "UPSERT" || !(propertyChange !== null && propertyChange !== void 0 && propertyChange.propertyPath) || (propertyChange === null || propertyChange === void 0 ? void 0 : propertyChange.propertyValue) === undefined || propertyChange !== null && propertyChange !== void 0 && propertyChange.propertyPath.startsWith("/")) {
20
+ Log.error("Change content is not a valid");
21
+ return manifest;
22
+ }
23
+
24
+ for (var p in targets) {
25
+ if (targets[p].id === pageID) {
26
+ var _targets$p$name;
27
+
28
+ if ((_targets$p$name = targets[p].name) !== null && _targets$p$name !== void 0 && _targets$p$name.startsWith("sap.fe.templates.")) {
29
+ var _targets$p, _targets$p$options;
30
+
31
+ pageSettings = ((_targets$p = targets[p]) === null || _targets$p === void 0 ? void 0 : (_targets$p$options = _targets$p.options) === null || _targets$p$options === void 0 ? void 0 : _targets$p$options.settings) || {};
32
+ break;
33
+ }
34
+ }
35
+ }
36
+
37
+ if (!pageSettings) {
38
+ Log.error("No Fiori elements page with ID " + pageID + " found in routing targets.");
39
+ return manifest;
40
+ }
41
+
42
+ var propertyPath = propertyChange.propertyPath.split("/");
43
+
44
+ if (propertyPath[0] === "controlConfiguration") {
45
+ var annotationPath = ""; // the annotation path in the control configuration has to stay together. For now rely on the fact the @ is in the last part
46
+
47
+ for (var i = 1; i < propertyPath.length; i++) {
48
+ annotationPath += (i > 1 ? "/" : "") + propertyPath[i];
49
+
50
+ if (annotationPath.indexOf("@") > -1) {
51
+ propertyPath = ["controlConfiguration", annotationPath].concat(propertyPath.slice(i + 1));
52
+ break;
53
+ }
54
+ }
55
+ }
56
+
57
+ ObjectPath.set(propertyPath, propertyChange.propertyValue, pageSettings);
58
+ return manifest;
59
+ }
60
+
61
+ _exports.applyChange = applyChange;
62
+ return _exports;
63
+ }, false);
64
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoYW5nZVBhZ2VDb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbImFwcGx5Q2hhbmdlIiwibWFuaWZlc3QiLCJjaGFuZ2UiLCJjaGFuZ2VDb250ZW50IiwiZ2V0Q29udGVudCIsInBhZ2VJRCIsInBhZ2UiLCJ0YXJnZXRzIiwicm91dGluZyIsInBhZ2VTZXR0aW5ncyIsInByb3BlcnR5Q2hhbmdlIiwiZW50aXR5UHJvcGVydHlDaGFuZ2UiLCJvcGVyYXRpb24iLCJwcm9wZXJ0eVBhdGgiLCJwcm9wZXJ0eVZhbHVlIiwidW5kZWZpbmVkIiwic3RhcnRzV2l0aCIsIkxvZyIsImVycm9yIiwicCIsImlkIiwibmFtZSIsIm9wdGlvbnMiLCJzZXR0aW5ncyIsInNwbGl0IiwiYW5ub3RhdGlvblBhdGgiLCJpIiwibGVuZ3RoIiwiaW5kZXhPZiIsImNvbmNhdCIsInNsaWNlIiwiT2JqZWN0UGF0aCIsInNldCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7O0FBbUJPLFdBQVNBLFdBQVQsQ0FBcUJDLFFBQXJCLEVBQW9DQyxNQUFwQyxFQUF5RDtBQUFBOztBQUMvRCxRQUFNQyxhQUFhLEdBQUdELE1BQU0sQ0FBQ0UsVUFBUCxFQUF0QjtBQUNBLFFBQU1DLE1BQU0sR0FBR0YsYUFBSCxhQUFHQSxhQUFILHVCQUFHQSxhQUFhLENBQUVHLElBQTlCO0FBQ0EsUUFBTUMsT0FBTyxHQUFHLG9CQUFBTixRQUFRLENBQUMsU0FBRCxDQUFSLDZGQUFxQk8sT0FBckIsZ0ZBQThCRCxPQUE5QixLQUF5QyxFQUF6RDtBQUNBLFFBQUlFLFlBQUo7QUFDQSxRQUFNQyxjQUFjLEdBQUdQLGFBQUgsYUFBR0EsYUFBSCx1QkFBR0EsYUFBYSxDQUFFUSxvQkFBdEMsQ0FMK0QsQ0FPL0Q7O0FBQ0EsUUFDQyxDQUFBRCxjQUFjLFNBQWQsSUFBQUEsY0FBYyxXQUFkLFlBQUFBLGNBQWMsQ0FBRUUsU0FBaEIsTUFBOEIsUUFBOUIsSUFDQSxFQUFDRixjQUFELGFBQUNBLGNBQUQsZUFBQ0EsY0FBYyxDQUFFRyxZQUFqQixDQURBLElBRUEsQ0FBQUgsY0FBYyxTQUFkLElBQUFBLGNBQWMsV0FBZCxZQUFBQSxjQUFjLENBQUVJLGFBQWhCLE1BQWtDQyxTQUZsQyxJQUdBTCxjQUhBLGFBR0FBLGNBSEEsZUFHQUEsY0FBYyxDQUFFRyxZQUFoQixDQUE2QkcsVUFBN0IsQ0FBd0MsR0FBeEMsQ0FKRCxFQUtFO0FBQ0RDLE1BQUFBLEdBQUcsQ0FBQ0MsS0FBSixDQUFVLCtCQUFWO0FBQ0EsYUFBT2pCLFFBQVA7QUFDQTs7QUFFRCxTQUFLLElBQU1rQixDQUFYLElBQWdCWixPQUFoQixFQUF5QjtBQUN4QixVQUFJQSxPQUFPLENBQUNZLENBQUQsQ0FBUCxDQUFXQyxFQUFYLEtBQWtCZixNQUF0QixFQUE4QjtBQUFBOztBQUM3QiwrQkFBSUUsT0FBTyxDQUFDWSxDQUFELENBQVAsQ0FBV0UsSUFBZiw0Q0FBSSxnQkFBaUJMLFVBQWpCLENBQTRCLG1CQUE1QixDQUFKLEVBQXNEO0FBQUE7O0FBQ3JEUCxVQUFBQSxZQUFZLEdBQUcsZUFBQUYsT0FBTyxDQUFDWSxDQUFELENBQVAsZ0ZBQVlHLE9BQVosMEVBQXFCQyxRQUFyQixLQUFpQyxFQUFoRDtBQUNBO0FBQ0E7QUFDRDtBQUNEOztBQUVELFFBQUksQ0FBQ2QsWUFBTCxFQUFtQjtBQUNsQlEsTUFBQUEsR0FBRyxDQUFDQyxLQUFKLENBQVUsb0NBQW9DYixNQUFwQyxHQUE2Qyw0QkFBdkQ7QUFDQSxhQUFPSixRQUFQO0FBQ0E7O0FBRUQsUUFBSVksWUFBWSxHQUFHSCxjQUFjLENBQUNHLFlBQWYsQ0FBNEJXLEtBQTVCLENBQWtDLEdBQWxDLENBQW5COztBQUNBLFFBQUlYLFlBQVksQ0FBQyxDQUFELENBQVosS0FBb0Isc0JBQXhCLEVBQWdEO0FBQy9DLFVBQUlZLGNBQWMsR0FBRyxFQUFyQixDQUQrQyxDQUUvQzs7QUFDQSxXQUFLLElBQUlDLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUdiLFlBQVksQ0FBQ2MsTUFBakMsRUFBeUNELENBQUMsRUFBMUMsRUFBOEM7QUFDN0NELFFBQUFBLGNBQWMsSUFBSSxDQUFDQyxDQUFDLEdBQUcsQ0FBSixHQUFRLEdBQVIsR0FBYyxFQUFmLElBQXFCYixZQUFZLENBQUNhLENBQUQsQ0FBbkQ7O0FBQ0EsWUFBSUQsY0FBYyxDQUFDRyxPQUFmLENBQXVCLEdBQXZCLElBQThCLENBQUMsQ0FBbkMsRUFBc0M7QUFDckNmLFVBQUFBLFlBQVksR0FBRyxDQUFDLHNCQUFELEVBQXlCWSxjQUF6QixFQUF5Q0ksTUFBekMsQ0FBZ0RoQixZQUFZLENBQUNpQixLQUFiLENBQW1CSixDQUFDLEdBQUcsQ0FBdkIsQ0FBaEQsQ0FBZjtBQUNBO0FBQ0E7QUFDRDtBQUNEOztBQUNESyxJQUFBQSxVQUFVLENBQUNDLEdBQVgsQ0FBZW5CLFlBQWYsRUFBNkJILGNBQWMsQ0FBQ0ksYUFBNUMsRUFBMkRMLFlBQTNEO0FBRUEsV0FBT1IsUUFBUDtBQUNBIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqICR7Y29weXJpZ2h0fVxuICovXG5pbXBvcnQgT2JqZWN0UGF0aCBmcm9tIFwic2FwL2Jhc2UvdXRpbC9PYmplY3RQYXRoXCI7XG5pbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcblxuZXhwb3J0IHR5cGUgQ2hhbmdlID0ge1xuXHRnZXRDb250ZW50KCk6IENoYW5nZUNvbnRlbnQ7XG59O1xuXG50eXBlIENoYW5nZUNvbnRlbnQgPSB7XG5cdHBhZ2U6IHN0cmluZzsgLy8gSUQgb2YgdGhlIHBhZ2UgdG8gYmUgY2hhbmdlZFxuXHRlbnRpdHlQcm9wZXJ0eUNoYW5nZTogRW50aXR5UHJvcGVydHlDaGFuZ2U7XG59O1xuXG50eXBlIEVudGl0eVByb3BlcnR5Q2hhbmdlID0ge1xuXHRwcm9wZXJ0eVBhdGg6IHN0cmluZzsgLy8gcGF0aCB0byB0aGUgcHJvcGVydHkgdG8gYmUgY2hhbmdlZFxuXHRvcGVyYXRpb246IHN0cmluZzsgLy8gb25seSBVUFNFUlQgc3VwcG9ydGVkXG5cdHByb3BlcnR5VmFsdWU6IHN0cmluZyB8IE9iamVjdDsgLy93aGF0IHRvIGJlIGNoYW5nZWRcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseUNoYW5nZShtYW5pZmVzdDogYW55LCBjaGFuZ2U6IENoYW5nZSk6IGFueSB7XG5cdGNvbnN0IGNoYW5nZUNvbnRlbnQgPSBjaGFuZ2UuZ2V0Q29udGVudCgpO1xuXHRjb25zdCBwYWdlSUQgPSBjaGFuZ2VDb250ZW50Py5wYWdlO1xuXHRjb25zdCB0YXJnZXRzID0gbWFuaWZlc3RbXCJzYXAudWk1XCJdPy5yb3V0aW5nPy50YXJnZXRzIHx8IHt9O1xuXHRsZXQgcGFnZVNldHRpbmdzO1xuXHRjb25zdCBwcm9wZXJ0eUNoYW5nZSA9IGNoYW5nZUNvbnRlbnQ/LmVudGl0eVByb3BlcnR5Q2hhbmdlO1xuXG5cdC8vIHJldHVybiB1bm1vZGlmaWVkIG1hbmlmZXN0IGluIGNhc2UgY2hhbmdlIG5vdCB2YWxpZFxuXHRpZiAoXG5cdFx0cHJvcGVydHlDaGFuZ2U/Lm9wZXJhdGlvbiAhPT0gXCJVUFNFUlRcIiB8fFxuXHRcdCFwcm9wZXJ0eUNoYW5nZT8ucHJvcGVydHlQYXRoIHx8XG5cdFx0cHJvcGVydHlDaGFuZ2U/LnByb3BlcnR5VmFsdWUgPT09IHVuZGVmaW5lZCB8fFxuXHRcdHByb3BlcnR5Q2hhbmdlPy5wcm9wZXJ0eVBhdGguc3RhcnRzV2l0aChcIi9cIilcblx0KSB7XG5cdFx0TG9nLmVycm9yKFwiQ2hhbmdlIGNvbnRlbnQgaXMgbm90IGEgdmFsaWRcIik7XG5cdFx0cmV0dXJuIG1hbmlmZXN0O1xuXHR9XG5cblx0Zm9yIChjb25zdCBwIGluIHRhcmdldHMpIHtcblx0XHRpZiAodGFyZ2V0c1twXS5pZCA9PT0gcGFnZUlEKSB7XG5cdFx0XHRpZiAodGFyZ2V0c1twXS5uYW1lPy5zdGFydHNXaXRoKFwic2FwLmZlLnRlbXBsYXRlcy5cIikpIHtcblx0XHRcdFx0cGFnZVNldHRpbmdzID0gdGFyZ2V0c1twXT8ub3B0aW9ucz8uc2V0dGluZ3MgfHwge307XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGlmICghcGFnZVNldHRpbmdzKSB7XG5cdFx0TG9nLmVycm9yKFwiTm8gRmlvcmkgZWxlbWVudHMgcGFnZSB3aXRoIElEIFwiICsgcGFnZUlEICsgXCIgZm91bmQgaW4gcm91dGluZyB0YXJnZXRzLlwiKTtcblx0XHRyZXR1cm4gbWFuaWZlc3Q7XG5cdH1cblxuXHRsZXQgcHJvcGVydHlQYXRoID0gcHJvcGVydHlDaGFuZ2UucHJvcGVydHlQYXRoLnNwbGl0KFwiL1wiKTtcblx0aWYgKHByb3BlcnR5UGF0aFswXSA9PT0gXCJjb250cm9sQ29uZmlndXJhdGlvblwiKSB7XG5cdFx0bGV0IGFubm90YXRpb25QYXRoID0gXCJcIjtcblx0XHQvLyB0aGUgYW5ub3RhdGlvbiBwYXRoIGluIHRoZSBjb250cm9sIGNvbmZpZ3VyYXRpb24gaGFzIHRvIHN0YXkgdG9nZXRoZXIuIEZvciBub3cgcmVseSBvbiB0aGUgZmFjdCB0aGUgQCBpcyBpbiB0aGUgbGFzdCBwYXJ0XG5cdFx0Zm9yIChsZXQgaSA9IDE7IGkgPCBwcm9wZXJ0eVBhdGgubGVuZ3RoOyBpKyspIHtcblx0XHRcdGFubm90YXRpb25QYXRoICs9IChpID4gMSA/IFwiL1wiIDogXCJcIikgKyBwcm9wZXJ0eVBhdGhbaV07XG5cdFx0XHRpZiAoYW5ub3RhdGlvblBhdGguaW5kZXhPZihcIkBcIikgPiAtMSkge1xuXHRcdFx0XHRwcm9wZXJ0eVBhdGggPSBbXCJjb250cm9sQ29uZmlndXJhdGlvblwiLCBhbm5vdGF0aW9uUGF0aF0uY29uY2F0KHByb3BlcnR5UGF0aC5zbGljZShpICsgMSkpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0T2JqZWN0UGF0aC5zZXQocHJvcGVydHlQYXRoLCBwcm9wZXJ0eUNoYW5nZS5wcm9wZXJ0eVZhbHVlLCBwYWdlU2V0dGluZ3MpO1xuXG5cdHJldHVybiBtYW5pZmVzdDtcbn1cbiJdfQ==
@@ -0,0 +1,69 @@
1
+ /*!
2
+ * ${copyright}
3
+ */
4
+ import ObjectPath from "sap/base/util/ObjectPath";
5
+ import Log from "sap/base/Log";
6
+
7
+ export type Change = {
8
+ getContent(): ChangeContent;
9
+ };
10
+
11
+ type ChangeContent = {
12
+ page: string; // ID of the page to be changed
13
+ entityPropertyChange: EntityPropertyChange;
14
+ };
15
+
16
+ type EntityPropertyChange = {
17
+ propertyPath: string; // path to the property to be changed
18
+ operation: string; // only UPSERT supported
19
+ propertyValue: string | Object; //what to be changed
20
+ };
21
+
22
+ export function applyChange(manifest: any, change: Change): any {
23
+ const changeContent = change.getContent();
24
+ const pageID = changeContent?.page;
25
+ const targets = manifest["sap.ui5"]?.routing?.targets || {};
26
+ let pageSettings;
27
+ const propertyChange = changeContent?.entityPropertyChange;
28
+
29
+ // return unmodified manifest in case change not valid
30
+ if (
31
+ propertyChange?.operation !== "UPSERT" ||
32
+ !propertyChange?.propertyPath ||
33
+ propertyChange?.propertyValue === undefined ||
34
+ propertyChange?.propertyPath.startsWith("/")
35
+ ) {
36
+ Log.error("Change content is not a valid");
37
+ return manifest;
38
+ }
39
+
40
+ for (const p in targets) {
41
+ if (targets[p].id === pageID) {
42
+ if (targets[p].name?.startsWith("sap.fe.templates.")) {
43
+ pageSettings = targets[p]?.options?.settings || {};
44
+ break;
45
+ }
46
+ }
47
+ }
48
+
49
+ if (!pageSettings) {
50
+ Log.error("No Fiori elements page with ID " + pageID + " found in routing targets.");
51
+ return manifest;
52
+ }
53
+
54
+ let propertyPath = propertyChange.propertyPath.split("/");
55
+ if (propertyPath[0] === "controlConfiguration") {
56
+ let annotationPath = "";
57
+ // the annotation path in the control configuration has to stay together. For now rely on the fact the @ is in the last part
58
+ for (let i = 1; i < propertyPath.length; i++) {
59
+ annotationPath += (i > 1 ? "/" : "") + propertyPath[i];
60
+ if (annotationPath.indexOf("@") > -1) {
61
+ propertyPath = ["controlConfiguration", annotationPath].concat(propertyPath.slice(i + 1));
62
+ break;
63
+ }
64
+ }
65
+ }
66
+ ObjectPath.set(propertyPath, propertyChange.propertyValue, pageSettings);
67
+
68
+ return manifest;
69
+ }