@sapui5/sap.fe.core 1.131.0 → 1.133.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 (317) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/ActionRuntime.js +17 -23
  4. package/src/sap/fe/core/AppComponent.js +74 -36
  5. package/src/sap/fe/core/AppComponent.ts +70 -3
  6. package/src/sap/fe/core/AppStateHandler.js +44 -13
  7. package/src/sap/fe/core/AppStateHandler.ts +38 -0
  8. package/src/sap/fe/core/BaseController.js +3 -3
  9. package/src/sap/fe/core/CommonUtils.js +30 -37
  10. package/src/sap/fe/core/CommonUtils.ts +15 -13
  11. package/src/sap/fe/core/ExtensionAPI.js +29 -34
  12. package/src/sap/fe/core/ExtensionAPI.ts +3 -0
  13. package/src/sap/fe/core/InsightsFormattersExtension.js +2 -2
  14. package/src/sap/fe/core/PageController.js +40 -31
  15. package/src/sap/fe/core/PageController.ts +14 -1
  16. package/src/sap/fe/core/ResourceModel.js +4 -4
  17. package/src/sap/fe/core/ReuseComponent.js +27 -13
  18. package/src/sap/fe/core/ReuseComponent.ts +18 -0
  19. package/src/sap/fe/core/TemplateComponent.js +102 -89
  20. package/src/sap/fe/core/TemplateComponent.ts +20 -1
  21. package/src/sap/fe/core/TemplateModel.js +6 -7
  22. package/src/sap/fe/core/UIProvider.js +1 -1
  23. package/src/sap/fe/core/UIProvider.ts +2 -9
  24. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +63 -48
  25. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +56 -27
  26. package/src/sap/fe/core/buildingBlocks/IBuildingBlockOwnerComponent.js +9 -0
  27. package/src/sap/fe/core/buildingBlocks/IBuildingBlockOwnerComponent.ts +48 -0
  28. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +4 -6
  29. package/src/sap/fe/core/buildingBlocks/templating/AttributeModel.js +2 -2
  30. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.js +2 -3
  31. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.js +32 -18
  32. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.ts +30 -3
  33. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.js +9 -13
  34. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.ts +2 -1
  35. package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlock.js +2 -2
  36. package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlockFragment.js +19 -25
  37. package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlockFragment.ts +1 -1
  38. package/src/sap/fe/core/controllerextensions/BaseControllerExtension.js +3 -4
  39. package/src/sap/fe/core/controllerextensions/CollaborativeDraft.js +20 -24
  40. package/src/sap/fe/core/controllerextensions/CollaborativeDraft.ts +10 -15
  41. package/src/sap/fe/core/controllerextensions/ContextSharing.js +3 -3
  42. package/src/sap/fe/core/controllerextensions/EditFlow.js +296 -246
  43. package/src/sap/fe/core/controllerextensions/EditFlow.ts +253 -175
  44. package/src/sap/fe/core/controllerextensions/Feedback.js +10 -11
  45. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +6 -6
  46. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +1 -0
  47. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +27 -36
  48. package/src/sap/fe/core/controllerextensions/InternalRouting.js +57 -78
  49. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +42 -50
  50. package/src/sap/fe/core/controllerextensions/KPIManagement.js +12 -19
  51. package/src/sap/fe/core/controllerextensions/MessageHandler.js +23 -17
  52. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +21 -7
  53. package/src/sap/fe/core/controllerextensions/PageReady.js +15 -21
  54. package/src/sap/fe/core/controllerextensions/Paginator.js +3 -3
  55. package/src/sap/fe/core/controllerextensions/Placeholder.js +3 -3
  56. package/src/sap/fe/core/controllerextensions/Recommendations.js +23 -36
  57. package/src/sap/fe/core/controllerextensions/Recommendations.ts +1 -1
  58. package/src/sap/fe/core/controllerextensions/Routing.js +3 -3
  59. package/src/sap/fe/core/controllerextensions/Share.js +19 -28
  60. package/src/sap/fe/core/controllerextensions/SideEffects.js +68 -32
  61. package/src/sap/fe/core/controllerextensions/SideEffects.ts +58 -6
  62. package/src/sap/fe/core/controllerextensions/Telemetry.js +4 -5
  63. package/src/sap/fe/core/controllerextensions/ViewState.js +23 -24
  64. package/src/sap/fe/core/controllerextensions/ViewState.ts +6 -1
  65. package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.js +13 -10
  66. package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.ts +13 -8
  67. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
  68. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +15 -16
  69. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +3 -4
  70. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.js +288 -0
  71. package/src/sap/fe/core/controllerextensions/dialog/{OperationsDialog.block.tsx → OperationsDialog.tsx} +27 -29
  72. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +41 -5
  73. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.tsx +61 -8
  74. package/src/sap/fe/core/controllerextensions/editFlow/ODataOperation.js +404 -0
  75. package/src/sap/fe/core/controllerextensions/editFlow/ODataOperation.ts +502 -0
  76. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +35 -43
  77. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +34 -14
  78. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +37 -27
  79. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +27 -15
  80. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +51 -39
  81. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +75 -34
  82. package/src/sap/fe/core/controllerextensions/editFlow/editFlowConstants.js +4 -4
  83. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +88 -427
  84. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +82 -620
  85. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +9 -5
  86. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +6 -5
  87. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +116 -79
  88. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +87 -13
  89. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js +4 -6
  90. package/src/sap/fe/core/controllerextensions/recommendations/Telemetry.js +5 -7
  91. package/src/sap/fe/core/controllerextensions/routing/ContextPathHelper.js +6 -7
  92. package/src/sap/fe/core/controllerextensions/routing/NavigationReason.js +4 -4
  93. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +58 -20
  94. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +55 -4
  95. package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributor.js +1 -1
  96. package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributor.ts +1 -1
  97. package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributorMixin.js +9 -12
  98. package/src/sap/fe/core/controls/CommandExecution.js +2 -2
  99. package/src/sap/fe/core/controls/ComponentLoader.js +20 -21
  100. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.js +250 -0
  101. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/{DraftDataLossDialog.block.tsx → DraftDataLossDialog.tsx} +31 -19
  102. package/src/sap/fe/core/controls/FormElementWrapper.js +19 -21
  103. package/src/sap/fe/core/controls/HideFormGroupAutomatically.js +114 -0
  104. package/src/sap/fe/core/controls/HideFormGroupAutomatically.ts +115 -0
  105. package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.js +454 -0
  106. package/src/sap/fe/core/controls/Recommendations/{ConfirmRecommendationDialog.block.tsx → ConfirmRecommendationDialog.tsx} +5 -9
  107. package/src/sap/fe/core/converters/ConverterContext.js +17 -18
  108. package/src/sap/fe/core/converters/ConverterContext.ts +10 -15
  109. package/src/sap/fe/core/converters/ManifestSettings.js +29 -28
  110. package/src/sap/fe/core/converters/ManifestSettings.ts +22 -1
  111. package/src/sap/fe/core/converters/ManifestWrapper.js +26 -48
  112. package/src/sap/fe/core/converters/MetaModelConverter.js +21 -28
  113. package/src/sap/fe/core/converters/MetaModelConverter.ts +2 -0
  114. package/src/sap/fe/core/converters/TemplateConverter.js +17 -21
  115. package/src/sap/fe/core/converters/TemplateConverter.ts +5 -3
  116. package/src/sap/fe/core/converters/annotations/DataField.js +69 -66
  117. package/src/sap/fe/core/converters/annotations/DataField.ts +30 -0
  118. package/src/sap/fe/core/converters/common/AnnotationConverter.js +20 -23
  119. package/src/sap/fe/core/converters/controls/Common/Action.js +178 -43
  120. package/src/sap/fe/core/converters/controls/Common/Action.ts +202 -19
  121. package/src/sap/fe/core/converters/controls/Common/Chart.js +47 -22
  122. package/src/sap/fe/core/converters/controls/Common/Chart.ts +50 -5
  123. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +16 -23
  124. package/src/sap/fe/core/converters/controls/Common/Form.js +25 -38
  125. package/src/sap/fe/core/converters/controls/Common/Form.ts +3 -0
  126. package/src/sap/fe/core/converters/controls/Common/KPI.js +32 -47
  127. package/src/sap/fe/core/converters/controls/Common/Table.js +464 -506
  128. package/src/sap/fe/core/converters/controls/Common/Table.ts +335 -219
  129. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +17 -28
  130. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +1 -2
  131. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +66 -90
  132. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +10 -1
  133. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +49 -73
  134. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +6 -10
  135. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +35 -50
  136. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +110 -60
  137. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +137 -41
  138. package/src/sap/fe/core/converters/helpers/Aggregation.js +19 -30
  139. package/src/sap/fe/core/converters/helpers/Aggregation.ts +5 -5
  140. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +11 -14
  141. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +14 -21
  142. package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +4 -6
  143. package/src/sap/fe/core/converters/helpers/IssueManager.js +7 -7
  144. package/src/sap/fe/core/converters/helpers/Key.js +1 -1
  145. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +2 -3
  146. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +18 -52
  147. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +0 -34
  148. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +103 -74
  149. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +111 -39
  150. package/src/sap/fe/core/converters/templates/ListReportConverter.js +28 -31
  151. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +17 -9
  152. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +61 -52
  153. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +60 -21
  154. package/src/sap/fe/core/definition/FEDefinition.js +104 -44
  155. package/src/sap/fe/core/designtime/AppComponent.designtime.js +37 -7
  156. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +42 -2
  157. package/src/sap/fe/core/formatters/CollaborationFormatter.js +4 -5
  158. package/src/sap/fe/core/formatters/FiscalFormat.js +24 -24
  159. package/src/sap/fe/core/formatters/ValueFormatter.js +4 -23
  160. package/src/sap/fe/core/formatters/ValueFormatter.ts +0 -18
  161. package/src/sap/fe/core/fpm/Component.js +12 -14
  162. package/src/sap/fe/core/fpm/manifest.json +1 -1
  163. package/src/sap/fe/core/helpers/AppStartupHelper.js +20 -15
  164. package/src/sap/fe/core/helpers/AppStartupHelper.ts +22 -13
  165. package/src/sap/fe/core/helpers/BindingHelper.js +3 -3
  166. package/src/sap/fe/core/helpers/BindingHelper.ts +1 -1
  167. package/src/sap/fe/core/helpers/DeleteHelper.js +55 -62
  168. package/src/sap/fe/core/helpers/DeleteHelper.ts +48 -51
  169. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +4 -7
  170. package/src/sap/fe/core/helpers/FPMHelper.js +4 -7
  171. package/src/sap/fe/core/helpers/HTTP503Handler.js +2 -1
  172. package/src/sap/fe/core/helpers/HTTP503Handler.ts +4 -3
  173. package/src/sap/fe/core/helpers/KeepAliveHelper.js +5 -5
  174. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +6 -6
  175. package/src/sap/fe/core/helpers/LoaderUtils.js +8 -3
  176. package/src/sap/fe/core/helpers/LoaderUtils.ts +15 -4
  177. package/src/sap/fe/core/helpers/MessageStrip.js +3 -4
  178. package/src/sap/fe/core/helpers/MetaModelFunction.js +26 -40
  179. package/src/sap/fe/core/helpers/MetaPath.js +9 -7
  180. package/src/sap/fe/core/helpers/MetaPath.ts +9 -3
  181. package/src/sap/fe/core/helpers/ModelHelper.js +33 -57
  182. package/src/sap/fe/core/helpers/ModelHelper.ts +3 -3
  183. package/src/sap/fe/core/helpers/PasteHelper.js +11 -19
  184. package/src/sap/fe/core/helpers/PromiseKeeper.js +1 -1
  185. package/src/sap/fe/core/helpers/RecommendationHelper.js +3 -4
  186. package/src/sap/fe/core/helpers/ResourceModelHelper.js +3 -5
  187. package/src/sap/fe/core/helpers/SizeHelper.js +3 -5
  188. package/src/sap/fe/core/helpers/StableIdHelper.js +13 -11
  189. package/src/sap/fe/core/helpers/StableIdHelper.ts +5 -1
  190. package/src/sap/fe/core/helpers/StandardRecommendationHelper.js +28 -38
  191. package/src/sap/fe/core/helpers/Synchronization.js +1 -1
  192. package/src/sap/fe/core/helpers/TitleHelper.js +19 -40
  193. package/src/sap/fe/core/helpers/TitleHelper.ts +5 -25
  194. package/src/sap/fe/core/helpers/TypeGuards.js +25 -18
  195. package/src/sap/fe/core/helpers/TypeGuards.ts +7 -0
  196. package/src/sap/fe/core/helpers/WebSocket.js +4 -4
  197. package/src/sap/fe/core/library.js +8 -7
  198. package/src/sap/fe/core/library.ts +2 -0
  199. package/src/sap/fe/core/manifestMerger/AddNewPage.js +9 -11
  200. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +14 -25
  201. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +15 -17
  202. package/src/sap/fe/core/messagebundle.properties +21 -0
  203. package/src/sap/fe/core/messagebundle_ar.properties +5 -1
  204. package/src/sap/fe/core/messagebundle_bg.properties +4 -0
  205. package/src/sap/fe/core/messagebundle_ca.properties +4 -0
  206. package/src/sap/fe/core/messagebundle_cnr.properties +4 -0
  207. package/src/sap/fe/core/messagebundle_cs.properties +8 -4
  208. package/src/sap/fe/core/messagebundle_cy.properties +4 -0
  209. package/src/sap/fe/core/messagebundle_da.properties +4 -0
  210. package/src/sap/fe/core/messagebundle_de.properties +4 -0
  211. package/src/sap/fe/core/messagebundle_el.properties +4 -0
  212. package/src/sap/fe/core/messagebundle_en.properties +4 -0
  213. package/src/sap/fe/core/messagebundle_en_GB.properties +4 -0
  214. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +4 -0
  215. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +249 -231
  216. package/src/sap/fe/core/messagebundle_es.properties +5 -1
  217. package/src/sap/fe/core/messagebundle_es_MX.properties +4 -0
  218. package/src/sap/fe/core/messagebundle_et.properties +4 -0
  219. package/src/sap/fe/core/messagebundle_fi.properties +4 -0
  220. package/src/sap/fe/core/messagebundle_fr.properties +6 -2
  221. package/src/sap/fe/core/messagebundle_fr_CA.properties +4 -0
  222. package/src/sap/fe/core/messagebundle_hi.properties +4 -0
  223. package/src/sap/fe/core/messagebundle_hr.properties +4 -0
  224. package/src/sap/fe/core/messagebundle_hu.properties +4 -0
  225. package/src/sap/fe/core/messagebundle_id.properties +4 -0
  226. package/src/sap/fe/core/messagebundle_it.properties +4 -0
  227. package/src/sap/fe/core/messagebundle_iw.properties +4 -0
  228. package/src/sap/fe/core/messagebundle_ja.properties +4 -0
  229. package/src/sap/fe/core/messagebundle_kk.properties +4 -0
  230. package/src/sap/fe/core/messagebundle_ko.properties +4 -0
  231. package/src/sap/fe/core/messagebundle_lt.properties +4 -0
  232. package/src/sap/fe/core/messagebundle_lv.properties +4 -0
  233. package/src/sap/fe/core/messagebundle_mk.properties +4 -0
  234. package/src/sap/fe/core/messagebundle_ms.properties +4 -0
  235. package/src/sap/fe/core/messagebundle_nl.properties +4 -0
  236. package/src/sap/fe/core/messagebundle_no.properties +4 -0
  237. package/src/sap/fe/core/messagebundle_pl.properties +4 -0
  238. package/src/sap/fe/core/messagebundle_pt.properties +4 -0
  239. package/src/sap/fe/core/messagebundle_pt_PT.properties +4 -0
  240. package/src/sap/fe/core/messagebundle_ro.properties +4 -0
  241. package/src/sap/fe/core/messagebundle_ru.properties +4 -0
  242. package/src/sap/fe/core/messagebundle_sh.properties +4 -0
  243. package/src/sap/fe/core/messagebundle_sk.properties +4 -0
  244. package/src/sap/fe/core/messagebundle_sl.properties +4 -0
  245. package/src/sap/fe/core/messagebundle_sr.properties +4 -0
  246. package/src/sap/fe/core/messagebundle_sv.properties +4 -0
  247. package/src/sap/fe/core/messagebundle_th.properties +4 -0
  248. package/src/sap/fe/core/messagebundle_tr.properties +5 -1
  249. package/src/sap/fe/core/messagebundle_uk.properties +4 -0
  250. package/src/sap/fe/core/messagebundle_vi.properties +4 -0
  251. package/src/sap/fe/core/messagebundle_zh_CN.properties +4 -0
  252. package/src/sap/fe/core/messagebundle_zh_TW.properties +4 -0
  253. package/src/sap/fe/core/operationsHelper.js +23 -27
  254. package/src/sap/fe/core/operationsHelper.ts +6 -7
  255. package/src/sap/fe/core/rootView/Fcl.controller.js +53 -40
  256. package/src/sap/fe/core/rootView/Fcl.controller.ts +42 -7
  257. package/src/sap/fe/core/rootView/NavContainer.controller.js +7 -10
  258. package/src/sap/fe/core/rootView/RootViewBaseController.js +22 -21
  259. package/src/sap/fe/core/rootView/RootViewBaseController.ts +10 -2
  260. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +3 -3
  261. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +4 -3
  262. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +1 -0
  263. package/src/sap/fe/core/services/CollaborationManagerServiceFactory.js +12 -10
  264. package/src/sap/fe/core/services/CollaborationManagerServiceFactory.ts +6 -2
  265. package/src/sap/fe/core/services/CollaborativeToolsServiceFactory.js +8 -13
  266. package/src/sap/fe/core/services/ContextSharingServiceFactory.js +5 -7
  267. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +31 -8
  268. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +31 -5
  269. package/src/sap/fe/core/services/InlineEditServiceFactory.js +190 -0
  270. package/src/sap/fe/core/services/InlineEditServiceFactory.ts +226 -0
  271. package/src/sap/fe/core/services/NavigationServiceFactory.js +10 -15
  272. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +3 -3
  273. package/src/sap/fe/core/services/RoutingServiceFactory.js +76 -56
  274. package/src/sap/fe/core/services/RoutingServiceFactory.ts +47 -14
  275. package/src/sap/fe/core/services/ShellServicesFactory.js +32 -34
  276. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +75 -60
  277. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +58 -12
  278. package/src/sap/fe/core/services/TelemetryServiceFactory.js +8 -9
  279. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +13 -18
  280. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +3 -0
  281. package/src/sap/fe/core/services/ValueHelpHistoryServiceFactory.js +7 -9
  282. package/src/sap/fe/core/services/collaborativeDraftServiceFactory.js +12 -16
  283. package/src/sap/fe/core/services/collaborativeDraftServiceFactory.ts +1 -1
  284. package/src/sap/fe/core/services/valueHelpService/HistoryOptOutProvider.js +4 -7
  285. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +5 -6
  286. package/src/sap/fe/core/support/CommonHelper.js +2 -3
  287. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  288. package/src/sap/fe/core/templating/ActionHelper.js +3 -4
  289. package/src/sap/fe/core/templating/CommonFormatters.js +6 -8
  290. package/src/sap/fe/core/templating/CommonFormatters.ts +2 -2
  291. package/src/sap/fe/core/templating/CriticalityFormatters.js +53 -5
  292. package/src/sap/fe/core/templating/CriticalityFormatters.ts +129 -7
  293. package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -11
  294. package/src/sap/fe/core/templating/DataFieldFormatters.ts +1 -1
  295. package/src/sap/fe/core/templating/DataModelPathHelper.js +33 -56
  296. package/src/sap/fe/core/templating/DisplayModeFormatter.js +4 -5
  297. package/src/sap/fe/core/templating/EntitySetHelper.js +11 -19
  298. package/src/sap/fe/core/templating/EntityTypeHelper.js +4 -5
  299. package/src/sap/fe/core/templating/FieldControlHelper.js +13 -20
  300. package/src/sap/fe/core/templating/FilterTemplating.js +6 -9
  301. package/src/sap/fe/core/templating/PropertyHelper.js +33 -63
  302. package/src/sap/fe/core/templating/PropertyHelper.ts +0 -1
  303. package/src/sap/fe/core/templating/SemanticObjectHelper.js +13 -21
  304. package/src/sap/fe/core/templating/UIFormatters.js +57 -78
  305. package/src/sap/fe/core/templating/UIFormatters.ts +2 -1
  306. package/src/sap/fe/core/type/Date.js +2 -2
  307. package/src/sap/fe/core/type/DateTimeWithTimezone.js +3 -3
  308. package/src/sap/fe/core/type/EDM.js +3 -5
  309. package/src/sap/fe/core/type/Email.js +17 -6
  310. package/src/sap/fe/core/type/Email.ts +23 -4
  311. package/src/sap/fe/core/type/FiscalDate.js +8 -9
  312. package/src/sap/fe/core/type/InputMask.js +3 -4
  313. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +0 -299
  314. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +0 -87
  315. package/src/sap/fe/core/controls/ActionParameterDialogValueHelp.fragment.xml +0 -43
  316. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js +0 -251
  317. package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.js +0 -471
@@ -73,6 +73,8 @@ class SideEffectsControllerExtension extends ControllerExtension {
73
73
 
74
74
  private isConfirmationDialogOpen?: boolean;
75
75
 
76
+ private readonly requestExecutions: Promise<unknown>[] = [];
77
+
76
78
  constructor() {
77
79
  super();
78
80
  }
@@ -145,6 +147,16 @@ class SideEffectsControllerExtension extends ControllerExtension {
145
147
  return contextForSideEffects || undefined;
146
148
  }
147
149
 
150
+ /**
151
+ * Wait For all sideEffects execution to be completed.
152
+ *
153
+ */
154
+ @publicExtension()
155
+ @finalExtension()
156
+ async waitForSideEffectExecutions(): Promise<void> {
157
+ await Promise.allSettled(this.requestExecutions);
158
+ }
159
+
148
160
  /**
149
161
  * Gets the SideEffects map for a field
150
162
  * These SideEffects are
@@ -397,6 +409,25 @@ class SideEffectsControllerExtension extends ControllerExtension {
397
409
  return null;
398
410
  }
399
411
 
412
+ /* Manages the deferred SideEffects which have to be executed when the context of the page changes (saving a document).
413
+ *
414
+ * @param context The context of the page
415
+ * @returns Promise returning true if the SideEffects have been successfully executed
416
+ */
417
+ @publicExtension()
418
+ @finalExtension()
419
+ async handlePageChangeContext(context: Context): Promise<void | unknown[]> {
420
+ await this.waitForSideEffectExecutions();
421
+ const sideEffectsFieldGroupOnPage = this.getRegisteredSideEffectsForContext(context);
422
+ return Promise.all(
423
+ sideEffectsFieldGroupOnPage.map(async (fieldGroupSideEffects) => {
424
+ return this._requestFieldGroupSideEffects(fieldGroupSideEffects);
425
+ })
426
+ ).catch((error) => {
427
+ Log.debug(`Error while processing on page context ${context.getPath()}`, error);
428
+ });
429
+ }
430
+
400
431
  /**
401
432
  * Request SideEffects on a specific context.
402
433
  * @param sideEffects SideEffects to be executed
@@ -423,11 +454,11 @@ class SideEffectsControllerExtension extends ControllerExtension {
423
454
  triggerAction: !this._sideEffectsService.isControlSideEffects(sideEffects) ? sideEffects.triggerAction : undefined
424
455
  };
425
456
  if (triggerAction && !ignoreTriggerActions) {
426
- this._sideEffectsService.executeAction(triggerAction, context, groupId);
457
+ this.requestExecutions.push(this._sideEffectsService.executeAction(triggerAction, context, groupId));
427
458
  }
428
459
 
429
460
  if (targets.length) {
430
- return this._sideEffectsService
461
+ const requestTargets = this._sideEffectsService
431
462
  .requestSideEffects(targets, context, groupId)
432
463
  .then(async function async() {
433
464
  return fnTriggerCallbacks(sideEffects.targetEntities?.map((target) => target.$NavigationPropertyPath) || []);
@@ -436,6 +467,8 @@ class SideEffectsControllerExtension extends ControllerExtension {
436
467
  this.registerFailedSideEffects([sideEffects], context);
437
468
  throw error;
438
469
  });
470
+ this.requestExecutions.push(requestTargets);
471
+ return requestTargets;
439
472
  }
440
473
  }
441
474
 
@@ -443,7 +476,7 @@ class SideEffectsControllerExtension extends ControllerExtension {
443
476
  * Requests the SideEffects for a sideEffect event.
444
477
  *
445
478
  * The default implementation is to execute the side effect on the page's context, but pages (like the LR) might override this method.
446
- * @param eventName SideEffects event which was triggered
479
+ * @param eventName The SideEffects event that is triggered
447
480
  * @param path The path for which this event was triggered
448
481
  * @returns Promise on SideEffects request
449
482
  */
@@ -451,7 +484,7 @@ class SideEffectsControllerExtension extends ControllerExtension {
451
484
  @publicExtension()
452
485
  @extensible(OverrideExecution.Instead)
453
486
  async requestSideEffectsForEvent(eventName: string, path: string): Promise<undefined> {
454
- if (this.isDataPathRelevant(path)) {
487
+ if (this.isDataPathRelevant(path, eventName)) {
455
488
  // use the default implementation from the SideEffects Service
456
489
  const context = this._findRelevantContext(path, this.getView().getBindingContext() as Context);
457
490
  if (context) {
@@ -461,11 +494,12 @@ class SideEffectsControllerExtension extends ControllerExtension {
461
494
  }
462
495
 
463
496
  /**
464
- * Checks if a given data path is shown/relevant on the page.
497
+ * Checks whether a specific data path is visible on the page.
465
498
  * @param path The path to be checked
499
+ * @param _eventName SideEffects event which was triggered
466
500
  * @returns True if the data path is shown on the UI
467
501
  */
468
- isDataPathRelevant(path: string): boolean {
502
+ isDataPathRelevant(path: string, _eventName: string): boolean {
469
503
  const context = this.getView().getBindingContext() as Context;
470
504
 
471
505
  if (this._contextIsRelevant(path, context)) {
@@ -758,6 +792,24 @@ class SideEffectsControllerExtension extends ControllerExtension {
758
792
  return sideEffects;
759
793
  }
760
794
 
795
+ /**
796
+ * Gets the registered SideEffects into the queue for a context and its children.
797
+ * @param context The context
798
+ * @returns Array of registered SideEffects and their promise
799
+ */
800
+ @publicExtension()
801
+ @finalExtension()
802
+ getRegisteredSideEffectsForContext(context: Context): FieldGroupSideEffectType[] {
803
+ const sideEffects = [];
804
+ for (const registryIndex of Object.keys(this._registeredFieldGroupMap)) {
805
+ if (this._registeredFieldGroupMap)
806
+ if (registryIndex.includes(`_${context.getPath()}`)) {
807
+ sideEffects.push(this._registeredFieldGroupMap[registryIndex]);
808
+ }
809
+ }
810
+ return sideEffects;
811
+ }
812
+
761
813
  /**
762
814
  * Gets a status index.
763
815
  * @param fieldGroupId The field group id
@@ -13,19 +13,18 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/controllerextensions/Bas
13
13
  function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
14
14
  function _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; }
15
15
  let Telemetry = (_dec = defineUI5Class("sap.fe.core.controllerextensions.Telemetry"), _dec2 = publicExtension(), _dec(_class = (_class2 = /*#__PURE__*/function (_BaseControllerExtens) {
16
- _inheritsLoose(Telemetry, _BaseControllerExtens);
17
16
  function Telemetry() {
18
17
  return _BaseControllerExtens.apply(this, arguments) || this;
19
18
  }
20
19
  _exports = Telemetry;
20
+ _inheritsLoose(Telemetry, _BaseControllerExtens);
21
21
  var _proto = Telemetry.prototype;
22
22
  _proto.storeAction = function storeAction(actionDefinition) {
23
- var _this$base$getView;
24
- this.base.getAppComponent().getTelemetryService().storeAction(actionDefinition, ((_this$base$getView = this.base.getView()) === null || _this$base$getView === void 0 ? void 0 : _this$base$getView.getViewData()).converterType);
23
+ this.base.getAppComponent().getTelemetryService().storeAction(actionDefinition, (this.base.getView()?.getViewData()).converterType);
25
24
  };
26
25
  return Telemetry;
27
- }(BaseControllerExtension), (_applyDecoratedDescriptor(_class2.prototype, "storeAction", [_dec2], Object.getOwnPropertyDescriptor(_class2.prototype, "storeAction"), _class2.prototype)), _class2)) || _class);
26
+ }(BaseControllerExtension), _applyDecoratedDescriptor(_class2.prototype, "storeAction", [_dec2], Object.getOwnPropertyDescriptor(_class2.prototype, "storeAction"), _class2.prototype), _class2)) || _class);
28
27
  _exports = Telemetry;
29
28
  return _exports;
30
29
  }, false);
31
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZWxlbWV0cnkiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInB1YmxpY0V4dGVuc2lvbiIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQmFzZUNvbnRyb2xsZXJFeHRlbnMiLCJfaW5oZXJpdHNMb29zZSIsImFwcGx5IiwiYXJndW1lbnRzIiwiX2V4cG9ydHMiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJzdG9yZUFjdGlvbiIsImFjdGlvbkRlZmluaXRpb24iLCJfdGhpcyRiYXNlJGdldFZpZXciLCJiYXNlIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0VGVsZW1ldHJ5U2VydmljZSIsImdldFZpZXciLCJnZXRWaWV3RGF0YSIsImNvbnZlcnRlclR5cGUiLCJCYXNlQ29udHJvbGxlckV4dGVuc2lvbiIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbGVtZXRyeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgcHVibGljRXh0ZW5zaW9uIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgQmFzZUNvbnRyb2xsZXJFeHRlbnNpb24gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0Jhc2VDb250cm9sbGVyRXh0ZW5zaW9uXCI7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlVHlwZSB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCB0eXBlIHsgVGVsZW1ldHJ5RXZlbnRzIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL1RlbGVtZXRyeVNlcnZpY2VGYWN0b3J5XCI7XG5cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLlRlbGVtZXRyeVwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGVsZW1ldHJ5IGV4dGVuZHMgQmFzZUNvbnRyb2xsZXJFeHRlbnNpb24ge1xuXHRiYXNlITogUGFnZUNvbnRyb2xsZXI7XG5cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdHB1YmxpYyBzdG9yZUFjdGlvbihhY3Rpb25EZWZpbml0aW9uOiBUZWxlbWV0cnlFdmVudHMpOiB2b2lkIHtcblx0XHR0aGlzLmJhc2Vcblx0XHRcdC5nZXRBcHBDb21wb25lbnQoKVxuXHRcdFx0LmdldFRlbGVtZXRyeVNlcnZpY2UoKVxuXHRcdFx0LnN0b3JlQWN0aW9uKGFjdGlvbkRlZmluaXRpb24sICh0aGlzLmJhc2UuZ2V0VmlldygpPy5nZXRWaWV3RGF0YSgpIGFzIHsgY29udmVydGVyVHlwZTogc3RyaW5nIH0pLmNvbnZlcnRlclR5cGUgYXMgVGVtcGxhdGVUeXBlKTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztNQU9xQkEsU0FBUyxJQUFBQyxJQUFBLEdBRDdCQyxjQUFjLENBQUMsNENBQTRDLENBQUMsRUFBQUMsS0FBQSxHQUkzREMsZUFBZSxDQUFDLENBQUMsRUFBQUgsSUFBQSxDQUFBSSxNQUFBLElBQUFDLE9BQUEsMEJBQUFDLHFCQUFBO0lBQUFDLGNBQUEsQ0FBQVIsU0FBQSxFQUFBTyxxQkFBQTtJQUFBLFNBQUFQLFVBQUE7TUFBQSxPQUFBTyxxQkFBQSxDQUFBRSxLQUFBLE9BQUFDLFNBQUE7SUFBQTtJQUFBQyxRQUFBLEdBQUFYLFNBQUE7SUFBQSxJQUFBWSxNQUFBLEdBQUFaLFNBQUEsQ0FBQWEsU0FBQTtJQUFBRCxNQUFBLENBQ1hFLFdBQVcsR0FEbEIsU0FBQUEsWUFDbUJDLGdCQUFpQyxFQUFRO01BQUEsSUFBQUMsa0JBQUE7TUFDM0QsSUFBSSxDQUFDQyxJQUFJLENBQ1BDLGVBQWUsQ0FBQyxDQUFDLENBQ2pCQyxtQkFBbUIsQ0FBQyxDQUFDLENBQ3JCTCxXQUFXLENBQUNDLGdCQUFnQixFQUFFLEVBQUFDLGtCQUFBLEdBQUMsSUFBSSxDQUFDQyxJQUFJLENBQUNHLE9BQU8sQ0FBQyxDQUFDLGNBQUFKLGtCQUFBLHVCQUFuQkEsa0JBQUEsQ0FBcUJLLFdBQVcsQ0FBQyxDQUFDLEVBQStCQyxhQUE2QixDQUFDO0lBQ2pJLENBQUM7SUFBQSxPQUFBdEIsU0FBQTtFQUFBLEVBVHFDdUIsdUJBQXVCLElBQUFDLHlCQUFBLENBQUFsQixPQUFBLENBQUFPLFNBQUEsa0JBQUFWLEtBQUEsR0FBQXNCLE1BQUEsQ0FBQUMsd0JBQUEsQ0FBQXBCLE9BQUEsQ0FBQU8sU0FBQSxrQkFBQVAsT0FBQSxDQUFBTyxTQUFBLElBQUFQLE9BQUEsTUFBQUQsTUFBQTtFQUFBTSxRQUFBLEdBQUFYLFNBQUE7RUFBQSxPQUFBVyxRQUFBO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZWxlbWV0cnkiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInB1YmxpY0V4dGVuc2lvbiIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQmFzZUNvbnRyb2xsZXJFeHRlbnMiLCJhcHBseSIsImFyZ3VtZW50cyIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJzdG9yZUFjdGlvbiIsImFjdGlvbkRlZmluaXRpb24iLCJiYXNlIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0VGVsZW1ldHJ5U2VydmljZSIsImdldFZpZXciLCJnZXRWaWV3RGF0YSIsImNvbnZlcnRlclR5cGUiLCJCYXNlQ29udHJvbGxlckV4dGVuc2lvbiIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbGVtZXRyeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgcHVibGljRXh0ZW5zaW9uIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgQmFzZUNvbnRyb2xsZXJFeHRlbnNpb24gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0Jhc2VDb250cm9sbGVyRXh0ZW5zaW9uXCI7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlVHlwZSB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCB0eXBlIHsgVGVsZW1ldHJ5RXZlbnRzIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL1RlbGVtZXRyeVNlcnZpY2VGYWN0b3J5XCI7XG5cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLlRlbGVtZXRyeVwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGVsZW1ldHJ5IGV4dGVuZHMgQmFzZUNvbnRyb2xsZXJFeHRlbnNpb24ge1xuXHRiYXNlITogUGFnZUNvbnRyb2xsZXI7XG5cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdHB1YmxpYyBzdG9yZUFjdGlvbihhY3Rpb25EZWZpbml0aW9uOiBUZWxlbWV0cnlFdmVudHMpOiB2b2lkIHtcblx0XHR0aGlzLmJhc2Vcblx0XHRcdC5nZXRBcHBDb21wb25lbnQoKVxuXHRcdFx0LmdldFRlbGVtZXRyeVNlcnZpY2UoKVxuXHRcdFx0LnN0b3JlQWN0aW9uKGFjdGlvbkRlZmluaXRpb24sICh0aGlzLmJhc2UuZ2V0VmlldygpPy5nZXRWaWV3RGF0YSgpIGFzIHsgY29udmVydGVyVHlwZTogc3RyaW5nIH0pLmNvbnZlcnRlclR5cGUgYXMgVGVtcGxhdGVUeXBlKTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztNQU9xQkEsU0FBUyxJQUFBQyxJQUFBLEdBRDdCQyxjQUFjLENBQUMsNENBQTRDLENBQUMsRUFBQUMsS0FBQSxHQUkzREMsZUFBZSxDQUFDLENBQUMsRUFBQUgsSUFBQSxDQUFBSSxNQUFBLElBQUFDLE9BQUEsMEJBQUFDLHFCQUFBO0lBQUEsU0FBQVAsVUFBQTtNQUFBLE9BQUFPLHFCQUFBLENBQUFDLEtBQUEsT0FBQUMsU0FBQTtJQUFBO0lBQUFDLFFBQUEsR0FBQVYsU0FBQTtJQUFBVyxjQUFBLENBQUFYLFNBQUEsRUFBQU8scUJBQUE7SUFBQSxJQUFBSyxNQUFBLEdBQUFaLFNBQUEsQ0FBQWEsU0FBQTtJQUFBRCxNQUFBLENBQ1hFLFdBQVcsR0FEbEIsU0FDT0EsV0FBV0EsQ0FBQ0MsZ0JBQWlDLEVBQVE7TUFDM0QsSUFBSSxDQUFDQyxJQUFJLENBQ1BDLGVBQWUsQ0FBQyxDQUFDLENBQ2pCQyxtQkFBbUIsQ0FBQyxDQUFDLENBQ3JCSixXQUFXLENBQUNDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDQyxJQUFJLENBQUNHLE9BQU8sQ0FBQyxDQUFDLEVBQUVDLFdBQVcsQ0FBQyxDQUFDLEVBQStCQyxhQUE2QixDQUFDO0lBQ2pJLENBQUM7SUFBQSxPQUFBckIsU0FBQTtFQUFBLEVBVHFDc0IsdUJBQXVCLEdBQUFDLHlCQUFBLENBQUFqQixPQUFBLENBQUFPLFNBQUEsa0JBQUFWLEtBQUEsR0FBQXFCLE1BQUEsQ0FBQUMsd0JBQUEsQ0FBQW5CLE9BQUEsQ0FBQU8sU0FBQSxrQkFBQVAsT0FBQSxDQUFBTyxTQUFBLEdBQUFQLE9BQUEsTUFBQUQsTUFBQTtFQUFBSyxRQUFBLEdBQUFWLFNBQUE7RUFBQSxPQUFBVSxRQUFBO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=