@sapui5/sap.fe.core 1.118.1 → 1.120.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 (527) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/ActionRuntime-dbg.js +42 -5
  4. package/src/sap/fe/core/ActionRuntime.js +1 -1
  5. package/src/sap/fe/core/ActionRuntime.js.map +1 -1
  6. package/src/sap/fe/core/ActionRuntime.ts +51 -9
  7. package/src/sap/fe/core/AppComponent-dbg.js +47 -22
  8. package/src/sap/fe/core/AppComponent.js +1 -1
  9. package/src/sap/fe/core/AppComponent.js.map +1 -1
  10. package/src/sap/fe/core/AppComponent.ts +53 -20
  11. package/src/sap/fe/core/AppStateHandler-dbg.js +5 -6
  12. package/src/sap/fe/core/AppStateHandler.js +1 -1
  13. package/src/sap/fe/core/AppStateHandler.js.map +1 -1
  14. package/src/sap/fe/core/AppStateHandler.ts +6 -6
  15. package/src/sap/fe/core/BaseController-dbg.js +0 -1
  16. package/src/sap/fe/core/BaseController.ts +2 -0
  17. package/src/sap/fe/core/CommonUtils-dbg.js +32 -45
  18. package/src/sap/fe/core/CommonUtils.js +1 -1
  19. package/src/sap/fe/core/CommonUtils.js.map +1 -1
  20. package/src/sap/fe/core/CommonUtils.ts +45 -57
  21. package/src/sap/fe/core/ExtensionAPI-dbg.js +32 -4
  22. package/src/sap/fe/core/ExtensionAPI.js +1 -1
  23. package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
  24. package/src/sap/fe/core/ExtensionAPI.ts +39 -7
  25. package/src/sap/fe/core/InsightsFormattersExtension-dbg.js +0 -1
  26. package/src/sap/fe/core/PageController-dbg.js +40 -29
  27. package/src/sap/fe/core/PageController.js +1 -1
  28. package/src/sap/fe/core/PageController.js.map +1 -1
  29. package/src/sap/fe/core/PageController.ts +9 -1
  30. package/src/sap/fe/core/ResourceModel-dbg.js +0 -1
  31. package/src/sap/fe/core/TemplateComponent-dbg.js +0 -1
  32. package/src/sap/fe/core/TemplateComponent.ts +8 -1
  33. package/src/sap/fe/core/TemplateModel-dbg.js +0 -1
  34. package/src/sap/fe/core/buildingBlocks/AttributeModel-dbg.js +0 -1
  35. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +0 -1
  36. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter-dbg.js +0 -1
  37. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +3 -6
  38. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js +1 -1
  39. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js.map +1 -1
  40. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +5 -7
  41. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +7 -5
  42. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js +2 -2
  43. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -1
  44. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.ts +25 -22
  45. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock-dbg.js +12 -7
  46. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js +4 -4
  47. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js.map +1 -1
  48. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.ts +13 -3
  49. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +19 -7
  50. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js +1 -1
  51. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js.map +1 -1
  52. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +25 -8
  53. package/src/sap/fe/core/buildingBlocks/TraceInfo-dbg.js +0 -1
  54. package/src/sap/fe/core/controllerextensions/BaseControllerExtension-dbg.js +34 -0
  55. package/src/sap/fe/core/controllerextensions/BaseControllerExtension.js +6 -0
  56. package/src/sap/fe/core/controllerextensions/BaseControllerExtension.js.map +1 -0
  57. package/src/sap/fe/core/controllerextensions/BaseControllerExtension.ts +15 -0
  58. package/src/sap/fe/core/controllerextensions/BusyLocker-dbg.js +0 -1
  59. package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +161 -79
  60. package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
  61. package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
  62. package/src/sap/fe/core/controllerextensions/EditFlow.ts +217 -87
  63. package/src/sap/fe/core/controllerextensions/Feedback-dbg.js +0 -1
  64. package/src/sap/fe/core/controllerextensions/HookSupport-dbg.js +11 -1
  65. package/src/sap/fe/core/controllerextensions/HookSupport.js +1 -1
  66. package/src/sap/fe/core/controllerextensions/HookSupport.js.map +1 -1
  67. package/src/sap/fe/core/controllerextensions/HookSupport.ts +17 -2
  68. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation-dbg.js +0 -1
  69. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +0 -1
  70. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +1 -1
  71. package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +61 -69
  72. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
  73. package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
  74. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +70 -86
  75. package/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +18 -16
  76. package/src/sap/fe/core/controllerextensions/KPIManagement.js +1 -1
  77. package/src/sap/fe/core/controllerextensions/KPIManagement.js.map +1 -1
  78. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +48 -26
  79. package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +15 -24
  80. package/src/sap/fe/core/controllerextensions/MassEdit.js +1 -1
  81. package/src/sap/fe/core/controllerextensions/MassEdit.js.map +1 -1
  82. package/src/sap/fe/core/controllerextensions/MassEdit.ts +23 -34
  83. package/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +0 -1
  84. package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +5 -6
  85. package/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
  86. package/src/sap/fe/core/controllerextensions/PageReady.js.map +1 -1
  87. package/src/sap/fe/core/controllerextensions/PageReady.ts +8 -7
  88. package/src/sap/fe/core/controllerextensions/Paginator-dbg.js +1 -1
  89. package/src/sap/fe/core/controllerextensions/Paginator.js +1 -1
  90. package/src/sap/fe/core/controllerextensions/Paginator.js.map +1 -1
  91. package/src/sap/fe/core/controllerextensions/Paginator.ts +1 -0
  92. package/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +2 -3
  93. package/src/sap/fe/core/controllerextensions/Placeholder.js +1 -1
  94. package/src/sap/fe/core/controllerextensions/Placeholder.js.map +1 -1
  95. package/src/sap/fe/core/controllerextensions/Placeholder.ts +1 -2
  96. package/src/sap/fe/core/controllerextensions/Recommendations-dbg.js +291 -0
  97. package/src/sap/fe/core/controllerextensions/Recommendations.js +6 -0
  98. package/src/sap/fe/core/controllerextensions/Recommendations.js.map +1 -0
  99. package/src/sap/fe/core/controllerextensions/Recommendations.ts +319 -0
  100. package/src/sap/fe/core/controllerextensions/Routing-dbg.js +4 -6
  101. package/src/sap/fe/core/controllerextensions/Routing.js +1 -1
  102. package/src/sap/fe/core/controllerextensions/Routing.js.map +1 -1
  103. package/src/sap/fe/core/controllerextensions/Routing.ts +0 -2
  104. package/src/sap/fe/core/controllerextensions/RoutingListener-dbg.js +0 -1
  105. package/src/sap/fe/core/controllerextensions/Share-dbg.js +11 -5
  106. package/src/sap/fe/core/controllerextensions/Share.js +1 -1
  107. package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
  108. package/src/sap/fe/core/controllerextensions/Share.ts +12 -2
  109. package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +88 -38
  110. package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
  111. package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -1
  112. package/src/sap/fe/core/controllerextensions/SideEffects.ts +116 -44
  113. package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +18 -3
  114. package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
  115. package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -1
  116. package/src/sap/fe/core/controllerextensions/ViewState.ts +15 -3
  117. package/src/sap/fe/core/controllerextensions/cards/CollaborationManager-dbg.js +72 -0
  118. package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.js +6 -0
  119. package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.js.map +1 -0
  120. package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.ts +75 -0
  121. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase-dbg.js +18 -8
  122. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +1 -1
  123. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js.map +1 -1
  124. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +18 -8
  125. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +0 -1
  126. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +1 -4
  127. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +0 -1
  128. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block-dbg.js +0 -1
  129. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog-dbg.js +0 -1
  130. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +82 -27
  131. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
  132. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
  133. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +112 -53
  134. package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +0 -1
  135. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup-dbg.js +4 -2
  136. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +1 -1
  137. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
  138. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +9 -2
  139. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +0 -1
  140. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +48 -57
  141. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +1 -1
  142. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -1
  143. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +55 -61
  144. package/src/sap/fe/core/controllerextensions/editFlow/operations-dbg.js +0 -1
  145. package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +0 -1
  146. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +3 -4
  147. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
  148. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
  149. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +8 -7
  150. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher-dbg.js +0 -1
  151. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.ts +4 -1
  152. package/src/sap/fe/core/controllerextensions/routing/NavigationReason-dbg.js +0 -1
  153. package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +0 -1
  154. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +7 -5
  155. package/src/sap/fe/core/controls/Any-dbg.js +2 -2
  156. package/src/sap/fe/core/controls/Any.js +1 -1
  157. package/src/sap/fe/core/controls/Any.js.map +1 -1
  158. package/src/sap/fe/core/controls/Any.ts +2 -1
  159. package/src/sap/fe/core/controls/AnyElement-dbg.js +0 -1
  160. package/src/sap/fe/core/controls/CommandExecution-dbg.js +0 -1
  161. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block-dbg.js +0 -1
  162. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.tsx +1 -2
  163. package/src/sap/fe/core/controls/EventDelegateHook-dbg.js +0 -1
  164. package/src/sap/fe/core/controls/FilterBar-dbg.js +0 -1
  165. package/src/sap/fe/core/controls/FormElementWrapper-dbg.js +0 -1
  166. package/src/sap/fe/core/controls/MassEditSelect-dbg.js +0 -1
  167. package/src/sap/fe/core/controls/MultiValueParameterDelegate-dbg.js +0 -1
  168. package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block-dbg.js +279 -0
  169. package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.js +6 -0
  170. package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.js.map +1 -0
  171. package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.tsx +329 -0
  172. package/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +0 -1
  173. package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +0 -1
  174. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +0 -1
  175. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +0 -1
  176. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +9 -5
  177. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +1 -0
  178. package/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +1 -2
  179. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +1 -1
  180. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js.map +1 -1
  181. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +1 -1
  182. package/src/sap/fe/core/converters/ConverterContext-dbg.js +0 -1
  183. package/src/sap/fe/core/converters/ManifestSettings-dbg.js +4 -1
  184. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  185. package/src/sap/fe/core/converters/ManifestSettings.js.map +1 -1
  186. package/src/sap/fe/core/converters/ManifestSettings.ts +33 -12
  187. package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +2 -3
  188. package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
  189. package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -1
  190. package/src/sap/fe/core/converters/ManifestWrapper.ts +6 -3
  191. package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +5 -20
  192. package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  193. package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -1
  194. package/src/sap/fe/core/converters/MetaModelConverter.ts +4 -22
  195. package/src/sap/fe/core/converters/TemplateConverter-dbg.js +0 -1
  196. package/src/sap/fe/core/converters/TemplateConverter.ts +1 -1
  197. package/src/sap/fe/core/converters/annotations/DataField-dbg.js +88 -29
  198. package/src/sap/fe/core/converters/annotations/DataField.js +1 -1
  199. package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -1
  200. package/src/sap/fe/core/converters/annotations/DataField.ts +91 -32
  201. package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +18 -18
  202. package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js.map +1 -0
  203. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
  204. package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
  205. package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +5 -25
  206. package/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
  207. package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -1
  208. package/src/sap/fe/core/converters/controls/Common/Action.ts +12 -34
  209. package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +6 -7
  210. package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
  211. package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
  212. package/src/sap/fe/core/converters/controls/Common/Chart.ts +4 -4
  213. package/src/sap/fe/core/converters/controls/Common/Criticality-dbg.js +0 -1
  214. package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +2 -2
  215. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
  216. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
  217. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +3 -1
  218. package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +4 -6
  219. package/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
  220. package/src/sap/fe/core/converters/controls/Common/Form.js.map +1 -1
  221. package/src/sap/fe/core/converters/controls/Common/Form.ts +6 -7
  222. package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +16 -2
  223. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  224. package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -1
  225. package/src/sap/fe/core/converters/controls/Common/KPI.ts +41 -8
  226. package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +423 -187
  227. package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
  228. package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
  229. package/src/sap/fe/core/converters/controls/Common/Table.ts +530 -338
  230. package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +98 -32
  231. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
  232. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
  233. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +129 -32
  234. package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +9 -8
  235. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
  236. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -1
  237. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +10 -8
  238. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +0 -1
  239. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +2 -3
  240. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar-dbg.js +0 -1
  241. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +11 -25
  242. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +1 -1
  243. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js.map +1 -1
  244. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +10 -14
  245. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +9 -4
  246. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
  247. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -1
  248. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +15 -6
  249. package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +0 -1
  250. package/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +0 -7
  251. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +1 -1
  252. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js.map +1 -1
  253. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +0 -5
  254. package/src/sap/fe/core/converters/helpers/DataFieldHelper-dbg.js +143 -111
  255. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +1 -1
  256. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js.map +1 -1
  257. package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +154 -146
  258. package/src/sap/fe/core/converters/helpers/ID-dbg.js +0 -1
  259. package/src/sap/fe/core/converters/helpers/InsightsHelpers-dbg.js +0 -1
  260. package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +0 -1
  261. package/src/sap/fe/core/converters/helpers/Key-dbg.js +0 -1
  262. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper-dbg.js +0 -1
  263. package/src/sap/fe/core/converters/objectPage/FormMenuActions-dbg.js +0 -1
  264. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +1 -1
  265. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +5 -5
  266. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
  267. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -1
  268. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +4 -2
  269. package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +30 -6
  270. package/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
  271. package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -1
  272. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +38 -11
  273. package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +10 -8
  274. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
  275. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -1
  276. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +13 -9
  277. package/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +13 -24
  278. package/src/sap/fe/core/designtime/AppComponent.designtime.js +1 -1
  279. package/src/sap/fe/core/designtime/AppComponent.designtime.js.map +1 -1
  280. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +13 -23
  281. package/src/sap/fe/core/designtime/library-preload.designtime.js +1 -1
  282. package/src/sap/fe/core/designtime/library-preload.designtime.js.map +1 -1
  283. package/src/sap/fe/core/filter/DraftEditState.fragment.xml +40 -0
  284. package/src/sap/fe/core/formatters/CollaborationFormatter-dbg.js +0 -1
  285. package/src/sap/fe/core/formatters/FPMFormatter-dbg.js +0 -1
  286. package/src/sap/fe/core/formatters/FiscalFormat-dbg.js +0 -1
  287. package/src/sap/fe/core/formatters/KPIFormatter-dbg.js +0 -1
  288. package/src/sap/fe/core/formatters/StandardFormatter-dbg.js +0 -1
  289. package/src/sap/fe/core/formatters/TableFormatter-dbg.js +27 -23
  290. package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
  291. package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -1
  292. package/src/sap/fe/core/formatters/TableFormatter.ts +37 -26
  293. package/src/sap/fe/core/formatters/TableFormatterTypes-dbg.js +0 -1
  294. package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +0 -1
  295. package/src/sap/fe/core/fpm/Component-dbg.js +0 -1
  296. package/src/sap/fe/core/fpm/manifest.json +2 -3
  297. package/src/sap/fe/core/helpers/AdaptiveCardExpressionCompiler-dbg.js +390 -0
  298. package/src/sap/fe/core/helpers/AdaptiveCardExpressionCompiler.js +6 -0
  299. package/src/sap/fe/core/helpers/AdaptiveCardExpressionCompiler.js.map +1 -0
  300. package/src/sap/fe/core/helpers/AdaptiveCardExpressionCompiler.ts +426 -0
  301. package/src/sap/fe/core/helpers/AnnotationEnum-dbg.js +0 -1
  302. package/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +0 -1
  303. package/src/sap/fe/core/helpers/BindingHelper-dbg.js +101 -0
  304. package/src/sap/fe/core/{converters/helpers → helpers}/BindingHelper.js +1 -1
  305. package/src/sap/fe/core/helpers/BindingHelper.js.map +1 -0
  306. package/src/sap/fe/core/{converters/helpers → helpers}/BindingHelper.ts +3 -4
  307. package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +18 -4
  308. package/src/sap/fe/core/helpers/BindingToolkit.js +1 -1
  309. package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
  310. package/src/sap/fe/core/helpers/BindingToolkit.ts +41 -9
  311. package/src/sap/fe/core/helpers/ClassSupport-dbg.js +34 -3
  312. package/src/sap/fe/core/helpers/ClassSupport.js +1 -1
  313. package/src/sap/fe/core/helpers/ClassSupport.js.map +1 -1
  314. package/src/sap/fe/core/helpers/ClassSupport.ts +31 -2
  315. package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +26 -9
  316. package/src/sap/fe/core/helpers/DeleteHelper.js +1 -1
  317. package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -1
  318. package/src/sap/fe/core/helpers/DeleteHelper.ts +34 -9
  319. package/src/sap/fe/core/helpers/DraftEditState-dbg.js +238 -0
  320. package/src/sap/fe/core/helpers/DraftEditState.js +6 -0
  321. package/src/sap/fe/core/helpers/DraftEditState.js.map +1 -0
  322. package/src/sap/fe/core/helpers/DraftEditState.ts +238 -0
  323. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper-dbg.js +0 -1
  324. package/src/sap/fe/core/helpers/EditState-dbg.js +0 -1
  325. package/src/sap/fe/core/helpers/ExcelFormatHelper-dbg.js +0 -1
  326. package/src/sap/fe/core/helpers/FPMHelper-dbg.js +34 -4
  327. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  328. package/src/sap/fe/core/helpers/FPMHelper.js.map +1 -1
  329. package/src/sap/fe/core/helpers/FPMHelper.ts +36 -1
  330. package/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +0 -1
  331. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes-dbg.js +0 -1
  332. package/src/sap/fe/core/helpers/LoaderUtils-dbg.js +0 -1
  333. package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +115 -127
  334. package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
  335. package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
  336. package/src/sap/fe/core/helpers/MassEditHelper.ts +226 -161
  337. package/src/sap/fe/core/helpers/MessageStrip-dbg.js +0 -1
  338. package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +0 -1
  339. package/src/sap/fe/core/helpers/MetaModelFunction.ts +3 -3
  340. package/src/sap/fe/core/helpers/ModelHelper-dbg.js +96 -2
  341. package/src/sap/fe/core/helpers/ModelHelper.js +1 -1
  342. package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
  343. package/src/sap/fe/core/helpers/ModelHelper.ts +103 -2
  344. package/src/sap/fe/core/helpers/PasteHelper-dbg.js +0 -1
  345. package/src/sap/fe/core/helpers/RecommendationHelper-dbg.js +7 -7
  346. package/src/sap/fe/core/helpers/RecommendationHelper.js +1 -1
  347. package/src/sap/fe/core/helpers/RecommendationHelper.js.map +1 -1
  348. package/src/sap/fe/core/helpers/RecommendationHelper.ts +9 -8
  349. package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +17 -3
  350. package/src/sap/fe/core/helpers/ResourceModelHelper.js +1 -1
  351. package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -1
  352. package/src/sap/fe/core/helpers/ResourceModelHelper.ts +17 -3
  353. package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +0 -1
  354. package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -1
  355. package/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +0 -1
  356. package/src/sap/fe/core/helpers/SizeHelper-dbg.js +0 -1
  357. package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +0 -1
  358. package/src/sap/fe/core/helpers/StandardRecommendationHelper-dbg.js +142 -0
  359. package/src/sap/fe/core/helpers/StandardRecommendationHelper.js +6 -0
  360. package/src/sap/fe/core/helpers/StandardRecommendationHelper.js.map +1 -0
  361. package/src/sap/fe/core/helpers/StandardRecommendationHelper.ts +183 -0
  362. package/src/sap/fe/core/helpers/Synchronization-dbg.js +0 -1
  363. package/src/sap/fe/core/helpers/TitleHelper-dbg.js +17 -14
  364. package/src/sap/fe/core/helpers/TitleHelper.js +1 -1
  365. package/src/sap/fe/core/helpers/TitleHelper.js.map +1 -1
  366. package/src/sap/fe/core/helpers/TitleHelper.ts +26 -23
  367. package/src/sap/fe/core/helpers/ToES6Promise-dbg.js +0 -1
  368. package/src/sap/fe/core/helpers/TypeGuards-dbg.js +12 -2
  369. package/src/sap/fe/core/helpers/TypeGuards.js +1 -1
  370. package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -1
  371. package/src/sap/fe/core/helpers/TypeGuards.ts +11 -0
  372. package/src/sap/fe/core/jsx-runtime/Fragment-dbg.js +0 -1
  373. package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +0 -1
  374. package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +0 -1
  375. package/src/sap/fe/core/jsx-runtime/jsx-dbg.js +0 -1
  376. package/src/sap/fe/core/jsx-runtime/jsx-xml-dbg.js +0 -1
  377. package/src/sap/fe/core/jsx-runtime/jsxs-dbg.js +0 -1
  378. package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +0 -1
  379. package/src/sap/fe/core/library-dbg.js +6 -3
  380. package/src/sap/fe/core/library-preload.js +141 -90
  381. package/src/sap/fe/core/library-preload.js.map +1 -1
  382. package/src/sap/fe/core/library.js +1 -1
  383. package/src/sap/fe/core/library.js.map +1 -1
  384. package/src/sap/fe/core/library.ts +8 -0
  385. package/src/sap/fe/core/manifest.json +7 -2
  386. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +0 -1
  387. package/src/sap/fe/core/messagebundle.properties +97 -3
  388. package/src/sap/fe/core/messagebundle_ar.properties +11 -5
  389. package/src/sap/fe/core/messagebundle_bg.properties +15 -9
  390. package/src/sap/fe/core/messagebundle_ca.properties +2 -2
  391. package/src/sap/fe/core/messagebundle_cs.properties +9 -3
  392. package/src/sap/fe/core/messagebundle_cy.properties +9 -3
  393. package/src/sap/fe/core/messagebundle_da.properties +10 -4
  394. package/src/sap/fe/core/messagebundle_de.properties +8 -2
  395. package/src/sap/fe/core/messagebundle_el.properties +11 -5
  396. package/src/sap/fe/core/messagebundle_en.properties +46 -1
  397. package/src/sap/fe/core/messagebundle_en_GB.properties +1 -1
  398. package/src/sap/fe/core/messagebundle_es.properties +8 -8
  399. package/src/sap/fe/core/messagebundle_es_MX.properties +2 -2
  400. package/src/sap/fe/core/messagebundle_et.properties +9 -3
  401. package/src/sap/fe/core/messagebundle_fi.properties +3 -3
  402. package/src/sap/fe/core/messagebundle_fr.properties +10 -4
  403. package/src/sap/fe/core/messagebundle_fr_CA.properties +4 -4
  404. package/src/sap/fe/core/messagebundle_hi.properties +9 -3
  405. package/src/sap/fe/core/messagebundle_hr.properties +16 -10
  406. package/src/sap/fe/core/messagebundle_hu.properties +9 -3
  407. package/src/sap/fe/core/messagebundle_id.properties +15 -9
  408. package/src/sap/fe/core/messagebundle_it.properties +9 -9
  409. package/src/sap/fe/core/messagebundle_iw.properties +9 -3
  410. package/src/sap/fe/core/messagebundle_ja.properties +13 -7
  411. package/src/sap/fe/core/messagebundle_kk.properties +11 -5
  412. package/src/sap/fe/core/messagebundle_ko.properties +4 -4
  413. package/src/sap/fe/core/messagebundle_lt.properties +9 -3
  414. package/src/sap/fe/core/messagebundle_lv.properties +9 -3
  415. package/src/sap/fe/core/messagebundle_mk.properties +408 -0
  416. package/src/sap/fe/core/messagebundle_ms.properties +9 -3
  417. package/src/sap/fe/core/messagebundle_nl.properties +2 -2
  418. package/src/sap/fe/core/messagebundle_no.properties +1 -1
  419. package/src/sap/fe/core/messagebundle_pl.properties +10 -4
  420. package/src/sap/fe/core/messagebundle_pt.properties +9 -3
  421. package/src/sap/fe/core/messagebundle_pt_PT.properties +9 -3
  422. package/src/sap/fe/core/messagebundle_ro.properties +14 -8
  423. package/src/sap/fe/core/messagebundle_ru.properties +9 -3
  424. package/src/sap/fe/core/messagebundle_sh.properties +10 -4
  425. package/src/sap/fe/core/messagebundle_sk.properties +9 -3
  426. package/src/sap/fe/core/messagebundle_sl.properties +15 -9
  427. package/src/sap/fe/core/messagebundle_sv.properties +9 -3
  428. package/src/sap/fe/core/messagebundle_th.properties +9 -3
  429. package/src/sap/fe/core/messagebundle_tr.properties +10 -4
  430. package/src/sap/fe/core/messagebundle_uk.properties +24 -18
  431. package/src/sap/fe/core/messagebundle_vi.properties +9 -3
  432. package/src/sap/fe/core/messagebundle_zh_CN.properties +9 -3
  433. package/src/sap/fe/core/messagebundle_zh_TW.properties +10 -4
  434. package/src/sap/fe/core/operationsHelper-dbg.js +0 -1
  435. package/src/sap/fe/core/operationsHelper.ts +2 -2
  436. package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +9 -5
  437. package/src/sap/fe/core/rootView/Fcl.controller.js +1 -1
  438. package/src/sap/fe/core/rootView/Fcl.controller.js.map +1 -1
  439. package/src/sap/fe/core/rootView/Fcl.controller.ts +15 -6
  440. package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +0 -1
  441. package/src/sap/fe/core/rootView/NavContainer.controller.ts +1 -1
  442. package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +1 -2
  443. package/src/sap/fe/core/rootView/RootViewBaseController.js +1 -1
  444. package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -1
  445. package/src/sap/fe/core/rootView/RootViewBaseController.ts +2 -2
  446. package/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +0 -1
  447. package/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +0 -1
  448. package/src/sap/fe/core/services/CollaborationManagerServiceFactory-dbg.js +159 -0
  449. package/src/sap/fe/core/services/CollaborationManagerServiceFactory.js +6 -0
  450. package/src/sap/fe/core/services/CollaborationManagerServiceFactory.js.map +1 -0
  451. package/src/sap/fe/core/services/CollaborationManagerServiceFactory.ts +143 -0
  452. package/src/sap/fe/core/services/CollaborativeToolsServiceFactory-dbg.js +85 -0
  453. package/src/sap/fe/core/services/CollaborativeToolsServiceFactory.js +6 -0
  454. package/src/sap/fe/core/services/CollaborativeToolsServiceFactory.js.map +1 -0
  455. package/src/sap/fe/core/services/CollaborativeToolsServiceFactory.ts +88 -0
  456. package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +1 -2
  457. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  458. package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
  459. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +1 -1
  460. package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +1 -2
  461. package/src/sap/fe/core/services/NavigationServiceFactory.js +1 -1
  462. package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
  463. package/src/sap/fe/core/services/NavigationServiceFactory.ts +1 -0
  464. package/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +0 -1
  465. package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +88 -84
  466. package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
  467. package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
  468. package/src/sap/fe/core/services/RoutingServiceFactory.ts +112 -108
  469. package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +13 -1
  470. package/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
  471. package/src/sap/fe/core/services/ShellServicesFactory.js.map +1 -1
  472. package/src/sap/fe/core/services/ShellServicesFactory.ts +16 -0
  473. package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +47 -1
  474. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
  475. package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -1
  476. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +68 -0
  477. package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +9 -6
  478. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
  479. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
  480. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +19 -10
  481. package/src/sap/fe/core/services/view/TemplatingErrorPage-dbg.controller.js +0 -1
  482. package/src/sap/fe/core/services/view/TemplatingErrorPage.view.xml +7 -6
  483. package/src/sap/fe/core/support/CommonHelper-dbg.js +0 -1
  484. package/src/sap/fe/core/support/Diagnostics-dbg.js +0 -1
  485. package/src/sap/fe/core/templating/ActionHelper-dbg.js +53 -0
  486. package/src/sap/fe/core/templating/ActionHelper.js +6 -0
  487. package/src/sap/fe/core/templating/ActionHelper.js.map +1 -0
  488. package/src/sap/fe/core/templating/ActionHelper.ts +56 -0
  489. package/src/sap/fe/core/templating/CommonFormatters-dbg.js +0 -1
  490. package/src/sap/fe/core/templating/CriticalityFormatters-dbg.js +27 -8
  491. package/src/sap/fe/core/templating/CriticalityFormatters.js +1 -1
  492. package/src/sap/fe/core/templating/CriticalityFormatters.js.map +1 -1
  493. package/src/sap/fe/core/templating/CriticalityFormatters.ts +33 -10
  494. package/src/sap/fe/core/templating/DataFieldFormatters-dbg.js +56 -2
  495. package/src/sap/fe/core/templating/DataFieldFormatters.js +1 -1
  496. package/src/sap/fe/core/templating/DataFieldFormatters.js.map +1 -1
  497. package/src/sap/fe/core/templating/DataFieldFormatters.ts +63 -3
  498. package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +1 -1
  499. package/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
  500. package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -1
  501. package/src/sap/fe/core/templating/DataModelPathHelper.ts +1 -1
  502. package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +0 -1
  503. package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +0 -1
  504. package/src/sap/fe/core/templating/EntityTypeHelper-dbg.js +0 -1
  505. package/src/sap/fe/core/templating/FieldControlHelper-dbg.js +67 -4
  506. package/src/sap/fe/core/templating/FieldControlHelper.js +1 -1
  507. package/src/sap/fe/core/templating/FieldControlHelper.js.map +1 -1
  508. package/src/sap/fe/core/templating/FieldControlHelper.ts +70 -8
  509. package/src/sap/fe/core/templating/FilterHelper-dbg.js +0 -1
  510. package/src/sap/fe/core/templating/FilterTemplating-dbg.js +0 -1
  511. package/src/sap/fe/core/templating/PropertyFormatters-dbg.js +0 -1
  512. package/src/sap/fe/core/templating/PropertyHelper-dbg.js +26 -14
  513. package/src/sap/fe/core/templating/PropertyHelper.js +1 -1
  514. package/src/sap/fe/core/templating/PropertyHelper.js.map +1 -1
  515. package/src/sap/fe/core/templating/PropertyHelper.ts +21 -12
  516. package/src/sap/fe/core/templating/SemanticObjectHelper-dbg.js +0 -1
  517. package/src/sap/fe/core/templating/UIFormatters-dbg.js +60 -5
  518. package/src/sap/fe/core/templating/UIFormatters.js +1 -1
  519. package/src/sap/fe/core/templating/UIFormatters.js.map +1 -1
  520. package/src/sap/fe/core/templating/UIFormatters.ts +80 -6
  521. package/src/sap/fe/core/type/DateTimeWithTimezone-dbg.js +0 -1
  522. package/src/sap/fe/core/type/EDM-dbg.js +0 -1
  523. package/src/sap/fe/core/type/Email-dbg.js +0 -1
  524. package/src/sap/fe/core/type/FiscalDate-dbg.js +0 -1
  525. package/ui5.yaml +5 -1
  526. package/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +0 -102
  527. package/src/sap/fe/core/converters/helpers/BindingHelper.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.fe.core",
3
- "version": "1.118.1",
3
+ "version": "1.120.0",
4
4
  "description": "SAPUI5 Library sap.fe.core",
5
5
  "keywords": [
6
6
  "sapui5",
@@ -6,7 +6,7 @@
6
6
  SAP UI development toolkit for HTML5 (SAPUI5)
7
7
  (c) Copyright 2009-2021 SAP SE. All rights reserved
8
8
  </copyright>
9
- <version>1.118.1</version>
9
+ <version>1.120.0</version>
10
10
 
11
11
  <documentation>UI5 library: sap.fe.core</documentation>
12
12
 
@@ -2,16 +2,20 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/util/merge", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/BindingToolkit", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/helpers/TypeGuards", "sap/ui/core/message/Message", "./controls/AnyElement", "./converters/ConverterContext", "./converters/objectPage/HeaderAndFooterAction"], function (merge, CommonUtils, BindingToolkit, ModelHelper, TypeGuards, Message, AnyElement, ConverterContext, HeaderAndFooterAction) {
5
+ sap.ui.define(["sap/base/util/merge", "sap/fe/core/CommonUtils", "sap/fe/core/controls/Any", "sap/fe/core/helpers/BindingToolkit", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/helpers/TypeGuards", "sap/fe/core/templating/ActionHelper", "sap/ui/core/message/Message", "./controls/AnyElement", "./converters/ConverterContext", "./converters/MetaModelConverter", "./converters/objectPage/HeaderAndFooterAction"], function (merge, CommonUtils, Any, BindingToolkit, ModelHelper, TypeGuards, ActionHelper, Message, AnyElement, ConverterContext, MetaModelConverter, HeaderAndFooterAction) {
6
6
  "use strict";
7
7
 
8
8
  var getHiddenExpression = HeaderAndFooterAction.getHiddenExpression;
9
9
  var getEditButtonEnabled = HeaderAndFooterAction.getEditButtonEnabled;
10
+ var convertTypes = MetaModelConverter.convertTypes;
11
+ var getIsActionCriticalExpression = ActionHelper.getIsActionCriticalExpression;
10
12
  var isEntitySet = TypeGuards.isEntitySet;
11
13
  var transformRecursively = BindingToolkit.transformRecursively;
14
+ var isConstant = BindingToolkit.isConstant;
12
15
  var equal = BindingToolkit.equal;
13
16
  var constant = BindingToolkit.constant;
14
17
  var compileExpression = BindingToolkit.compileExpression;
18
+ var compileConstant = BindingToolkit.compileConstant;
15
19
  const ActionRuntime = {
16
20
  /**
17
21
  * Adds error messages for an action parameter field to the message manager.
@@ -91,8 +95,8 @@ sap.ui.define(["sap/base/util/merge", "sap/fe/core/CommonUtils", "sap/fe/core/he
91
95
  let aRequestPromises = [];
92
96
  oInternalModelContext.setProperty(sAction, false);
93
97
  const sProperty = oActionOperationAvailableMap[sAction];
94
- for (let i = 0; i < aSelectedContexts.length; i++) {
95
- const oSelectedContext = aSelectedContexts[i];
98
+ for (const element of aSelectedContexts) {
99
+ const oSelectedContext = element;
96
100
  if (oSelectedContext) {
97
101
  const oContextData = oSelectedContext.getObject();
98
102
  if (sControl === "chart") {
@@ -160,7 +164,7 @@ sap.ui.define(["sap/base/util/merge", "sap/fe/core/CommonUtils", "sap/fe/core/he
160
164
  updateHidden = ModelHelper.isUpdateHidden(entitySet, entityType);
161
165
  }
162
166
  //Find the operation available property of the root edit configuration and fetch the property using AnyElement
163
- const sEditEnableBinding = getEditButtonEnabled(converterContext, undefined);
167
+ const sEditEnableBinding = getEditButtonEnabled(converterContext);
164
168
  const draftRootPath = ModelHelper.getDraftRootPath(oContext);
165
169
  const sStickyRootPath = ModelHelper.getStickyRootPath(oContext);
166
170
  const sPath = draftRootPath || sStickyRootPath;
@@ -237,8 +241,41 @@ sap.ui.define(["sap/base/util/merge", "sap/fe/core/CommonUtils", "sap/fe/core/he
237
241
  }
238
242
  }
239
243
  return aRequestPromises;
244
+ },
245
+ /**
246
+ * Check if action is critical.
247
+ *
248
+ * @param metaModel MetaModel
249
+ * @param path Path to the action
250
+ * @param contexts Contexts in case of bound actions.
251
+ * @returns Boolean indicating action is critical
252
+ */
253
+ getIsActionCritical: function (metaModel, path) {
254
+ let contexts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
255
+ // default is true.
256
+ let isActionCriticalValue = true;
257
+ const convertedTypes = convertTypes(metaModel);
258
+ const actionTargetResolution = convertedTypes.resolvePath(path);
259
+ const actionTarget = actionTargetResolution.target;
260
+ if (!actionTarget) {
261
+ return isActionCriticalValue;
262
+ }
263
+ const isActionCriticalBindingExp = getIsActionCriticalExpression(actionTarget, convertedTypes);
264
+ if (isConstant(isActionCriticalBindingExp)) {
265
+ // Constant expression resolves to "true" or "false". But, we need boolean.
266
+ isActionCriticalValue = compileConstant(isActionCriticalBindingExp, false, undefined, true);
267
+ } else if (contexts.length > 0) {
268
+ // We evaluate the value of the expression via a UI5 managed object instance.
269
+ const anyObject = new Any({
270
+ anyBoolean: compileExpression(isActionCriticalBindingExp)
271
+ });
272
+ anyObject.setModel(contexts[0].getModel());
273
+ anyObject.setBindingContext(contexts[0]);
274
+ isActionCriticalValue = anyObject.getBinding("anyBoolean").getExternalValue();
275
+ anyObject.destroy();
276
+ }
277
+ return isActionCriticalValue;
240
278
  }
241
279
  };
242
280
  return ActionRuntime;
243
281
  }, false);
244
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY3Rpb25SdW50aW1lIiwiX2FkZE1lc3NhZ2VGb3JBY3Rpb25QYXJhbWV0ZXIiLCJtZXNzYWdlTWFuYWdlciIsIm1lc3NhZ2VQYXJhbWV0ZXJzIiwiYWRkTWVzc2FnZXMiLCJtYXAiLCJtZXNzYWdlUGFyYW1ldGVyIiwiYmluZGluZyIsImFjdGlvblBhcmFtZXRlckluZm8iLCJmaWVsZCIsImdldEJpbmRpbmciLCJpc011bHRpVmFsdWUiLCJNZXNzYWdlIiwibWVzc2FnZSIsInR5cGUiLCJwcm9jZXNzb3IiLCJnZXRNb2RlbCIsInBlcnNpc3RlbnQiLCJ0YXJnZXQiLCJnZXRSZXNvbHZlZFBhdGgiLCJ2YWxpZGF0ZVByb3BlcnRpZXMiLCJhY3Rpb25QYXJhbWV0ZXJJbmZvcyIsInJlc291cmNlTW9kZWwiLCJQcm9taXNlIiwiYWxsU2V0dGxlZCIsInZhbGlkYXRpb25Qcm9taXNlIiwicmVxdWlyZWRQYXJhbWV0ZXJJbmZvcyIsImZpbHRlciIsInBhcmFtZXRlckluZm8iLCJnZXRSZXF1aXJlZCIsImFsbE1lc3NhZ2VzIiwiZ2V0TWVzc2FnZU1vZGVsIiwiZ2V0RGF0YSIsImVtcHR5UmVxdWlyZWRGaWVsZHMiLCJyZXF1aXJlZFBhcmFtZXRlckluZm8iLCJmaWVsZElkIiwiZ2V0SWQiLCJyZWxldmFudE1lc3NhZ2VzIiwibXNnIiwiZ2V0Q29udHJvbElkcyIsInNvbWUiLCJjb250cm9sSWQiLCJpbmNsdWRlcyIsImxlbmd0aCIsInZhbHVlIiwidW5kZWZpbmVkIiwiZmllbGRWYWx1ZSIsImdldFZhbHVlIiwiZ2V0VGV4dCIsImdldFBhcmVudCIsImdldEFnZ3JlZ2F0aW9uIiwiZmlyc3RJbnZhbGlkUGFyYW1ldGVyIiwiZmluZCIsImhhc0Vycm9yIiwiZ2V0VmFsdWVTdGF0ZSIsImZvY3VzIiwic2V0QWN0aW9uRW5hYmxlbWVudCIsIm9JbnRlcm5hbE1vZGVsQ29udGV4dCIsIm9BY3Rpb25PcGVyYXRpb25BdmFpbGFibGVNYXAiLCJhU2VsZWN0ZWRDb250ZXh0cyIsInNDb250cm9sIiwiYVByb21pc2VzIiwic0FjdGlvbiIsImFSZXF1ZXN0UHJvbWlzZXMiLCJzZXRQcm9wZXJ0eSIsInNQcm9wZXJ0eSIsImkiLCJvU2VsZWN0ZWRDb250ZXh0Iiwib0NvbnRleHREYXRhIiwiZ2V0T2JqZWN0IiwiX3NldEFjdGlvbkVuYWJsZW1lbnRGb3JUYWJsZSIsImJFbmFibGVkIiwiYUFwcGxpY2FibGUiLCJhTm90QXBwbGljYWJsZSIsInB1c2giLCJDb21tb25VdGlscyIsInNldENvbnRleHRzQmFzZWRPbk9wZXJhdGlvbkF2YWlsYWJsZSIsImFsbCIsInNldEFjdGlvbkVuYWJsZW1lbnRBZnRlclBhdGNoIiwib1ZpZXciLCJvTGlzdEJpbmRpbmciLCJvSW50ZXJuYWxNb2RlbENvbnRleHREYXRhIiwib0NvbnRyb2xzIiwiY29udHJvbHMiLCJzS2V5Iiwib1RhYmxlIiwiYnlJZCIsImlzQSIsIm9Sb3dCaW5kaW5nIiwiZ2V0Um93QmluZGluZyIsImdldEJpbmRpbmdDb250ZXh0IiwiSlNPTiIsInBhcnNlIiwiZGF0YSIsImN1c3RvbURhdGEiLCJnZXRTZWxlY3RlZENvbnRleHRzIiwidXBkYXRlRWRpdEJ1dHRvblZpc2liaWxpdHlBbmRFbmFibGVtZW50IiwiaVZpZXdMZXZlbCIsImdldFZpZXdEYXRhIiwidmlld0xldmVsIiwiaXNFZGl0YWJsZSIsImdldFByb3BlcnR5Iiwib0NvbnRleHQiLCJvQXBwQ29tcG9uZW50IiwiZ2V0QXBwQ29tcG9uZW50Iiwic01ldGFQYXRoIiwiTW9kZWxIZWxwZXIiLCJnZXRNZXRhUGF0aEZvckNvbnRleHQiLCJzRW50aXR5U2V0IiwiZ2V0Um9vdEVudGl0eVNldFBhdGgiLCJtZXRhQ29udGV4dCIsImdldE1ldGFNb2RlbCIsImdldENvbnRleHQiLCJnZXRQYXRoIiwiY29udmVydGVyQ29udGV4dCIsIkNvbnZlcnRlckNvbnRleHQiLCJjcmVhdGVDb252ZXJ0ZXJDb250ZXh0Rm9yTWFjcm8iLCJnZXREaWFnbm9zdGljcyIsIm1lcmdlIiwiZW50aXR5U2V0IiwiZ2V0RW50aXR5U2V0IiwiZW50aXR5VHlwZSIsImdldEVudGl0eVR5cGUiLCJ1cGRhdGVIaWRkZW4iLCJiVXBkYXRlSGlkZGVuIiwiaXNFbnRpdHlTZXQiLCJhbm5vdGF0aW9ucyIsIlVJIiwiVXBkYXRlSGlkZGVuIiwidmFsdWVPZiIsImlzVXBkYXRlSGlkZGVuIiwic0VkaXRFbmFibGVCaW5kaW5nIiwiZ2V0RWRpdEJ1dHRvbkVuYWJsZWQiLCJkcmFmdFJvb3RQYXRoIiwiZ2V0RHJhZnRSb290UGF0aCIsInNTdGlja3lSb290UGF0aCIsImdldFN0aWNreVJvb3RQYXRoIiwic1BhdGgiLCJvUm9vdENvbnRleHQiLCJiaW5kQ29udGV4dCIsImdldEJvdW5kQ29udGV4dCIsInNIaWRkZW5FeHByZXNzaW9uIiwiY29tcGlsZUV4cHJlc3Npb24iLCJlcXVhbCIsImdldEhpZGRlbkV4cHJlc3Npb24iLCJ1cGRhdGVFZGl0TW9kZWxDb250ZXh0Iiwic0JpbmRpbmdFeHByZXNzaW9uIiwib0hpZGRlbkVsZW1lbnQiLCJBbnlFbGVtZW50IiwiYW55VGV4dCIsInNldEJpbmRpbmdDb250ZXh0IiwiYWRkRGVwZW5kZW50IiwiJCRncm91cElkIiwiYXR0YWNoQ2hhbmdlIiwib0V2ZW50Iiwib05ld1ZhbHVlIiwiZ2V0U291cmNlIiwiZ2V0RXh0ZXJuYWxWYWx1ZSIsInNEeW5hbWljQWN0aW9uRW5hYmxlZFBhdGgiLCJvVHJhbnNmb3JtZWRCaW5kaW5nIiwidHJhbnNmb3JtUmVjdXJzaXZlbHkiLCJvQmluZGluZ0V4cHJlc3Npb24iLCJjb25zdGFudCIsInBhdGgiLCJzUmVzdWx0Iiwic2V0RHluYW1pY0FjdGlvbkNvbnRleHRzIiwicmVxdWVzdFByb3BlcnR5Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJBY3Rpb25SdW50aW1lLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJpbWl0aXZlVHlwZSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IG1lcmdlIGZyb20gXCJzYXAvYmFzZS91dGlsL21lcmdlXCI7XG5pbXBvcnQgdHlwZSB7IEZFVmlldyB9IGZyb20gXCJzYXAvZmUvY29yZS9CYXNlQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgeyBfUmVxdWVzdGVkUHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIHsgUGF0aEluTW9kZWxFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGNvbXBpbGVFeHByZXNzaW9uLCBjb25zdGFudCwgZXF1YWwsIHRyYW5zZm9ybVJlY3Vyc2l2ZWx5IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxNb2RlbENvbnRleHQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9Nb2RlbEhlbHBlclwiO1xuaW1wb3J0IE1vZGVsSGVscGVyIGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL01vZGVsSGVscGVyXCI7XG5pbXBvcnQgeyBpc0VudGl0eVNldCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1R5cGVHdWFyZHNcIjtcbmltcG9ydCB0eXBlIFJlc291cmNlTW9kZWwgZnJvbSBcInNhcC9mZS9jb3JlL1Jlc291cmNlTW9kZWxcIjtcbmltcG9ydCB0eXBlIExhYmVsIGZyb20gXCJzYXAvbS9MYWJlbFwiO1xuaW1wb3J0IHR5cGUgRXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgTWVzc2FnZSBmcm9tIFwic2FwL3VpL2NvcmUvbWVzc2FnZS9NZXNzYWdlXCI7XG5pbXBvcnQgdHlwZSBNZXNzYWdlTWFuYWdlciBmcm9tIFwic2FwL3VpL2NvcmUvbWVzc2FnZS9NZXNzYWdlTWFuYWdlclwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCB0eXBlIEZpZWxkIGZyb20gXCJzYXAvdWkvbWRjL0ZpZWxkXCI7XG5pbXBvcnQgdHlwZSBNdWx0aVZhbHVlRmllbGRJdGVtIGZyb20gXCJzYXAvdWkvbWRjL2ZpZWxkL011bHRpVmFsdWVGaWVsZEl0ZW1cIjtcbmltcG9ydCB0eXBlIE11bHRpVmFsdWVGaWVsZCBmcm9tIFwic2FwL3VpL21kYy9NdWx0aVZhbHVlRmllbGRcIjtcbmltcG9ydCB0eXBlIFRhYmxlIGZyb20gXCJzYXAvdWkvbWRjL1RhYmxlXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFMaXN0QmluZGluZyBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTGlzdEJpbmRpbmdcIjtcbmltcG9ydCB0eXBlIFByb3BlcnR5QmluZGluZyBmcm9tIFwic2FwL3VpL21vZGVsL1Byb3BlcnR5QmluZGluZ1wiO1xuaW1wb3J0IEFueUVsZW1lbnQgZnJvbSBcIi4vY29udHJvbHMvQW55RWxlbWVudFwiO1xuaW1wb3J0IENvbnZlcnRlckNvbnRleHQgZnJvbSBcIi4vY29udmVydGVycy9Db252ZXJ0ZXJDb250ZXh0XCI7XG5pbXBvcnQgdHlwZSB7IEJhc2VNYW5pZmVzdFNldHRpbmdzIH0gZnJvbSBcIi4vY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyBnZXRFZGl0QnV0dG9uRW5hYmxlZCwgZ2V0SGlkZGVuRXhwcmVzc2lvbiB9IGZyb20gXCIuL2NvbnZlcnRlcnMvb2JqZWN0UGFnZS9IZWFkZXJBbmRGb290ZXJBY3Rpb25cIjtcblxudHlwZSBBY3Rpb25QYXJhbWV0ZXIgPSB7XG5cdCROYW1lOiBzdHJpbmc7XG5cdCRpc0NvbGxlY3Rpb246IGJvb2xlYW47XG5cdC8vIGN1cnJlbnRseSBydW50aW1lIGluZm9ybWF0aW9uIGlzIHdyaXR0ZW4gaW50byB0aGUgbWV0YW1vZGVsOlxuXHQvLyAtIGluIHRoZSBwcmVzcyBoYW5kbGVyIG9mIHRoZSBhY3Rpb24gYnV0dG9uIG9uIHRoZSBwYXJhbWV0ZXIgZGlhbG9nLCB0aGUgdmFsdWUgb2YgZWFjaCBwYXJhbWV0ZXIgaXMgYWRkZWRcblx0Ly8gLSBpbiBzZXRBY3Rpb25QYXJhbWV0ZXJEZWZhdWx0VmFsdWUsIHRoaXMgaW5mb3JtYXRpb24gaXMgdXNlZCBhbmQgdHJhbnNmZXJyZWQgdG8gdGhlIGNvbnRleHQgKGluIE9EYXRhTW9kZWwpIGNyZWF0ZWQgZm9yIHRoZSBhY3Rpb24gZXhlY3V0aW9uXG5cdC8vIHRoaXMgaXMgcXVpdGUgb2RkLCBhbmQgaXQgd291bGQgbWFrZSBtdWNoIG1vcmUgc2Vuc2UgdG8gdGFrZSB0aGUgdmFsdWUgZnJvbSBhY3Rpb25QYXJhbWV0ZXJJbmZvc1xuXHQvLyAtIGhvd2V2ZXIsIHNldEFjdGlvblBhcmFtZXRlckRlZmF1bHRWYWx1ZSAob3IgcmF0aGVyIHRoZSBzdXJyb3VuZGluZyBfZXhlY3V0ZUFjdGlvbikgaXMgYWxzbyBjYWxsZWQgZnJvbSBvdGhlciBwbGFjZXNcblx0Ly8gPT4gZm9yIHRoZSB0aW1lIGJlaW5nLCBhZGRpbmcgdmFsdWUgaGVyZSB0byBhdm9pZCB0cyBlcnJvcnMsIHN1YmplY3QgdG8gcmVmYWN0b3Jpbmdcblx0Ly8gaW4gY2FzZSBvZiBGaWVsZCwgdGhlIHZhbHVlIGlzIHN0cmluZywgaW4gY2FzZSBvZiBNdWx0aVZhbHVlRmllbGQsIGl0J3MgTXVsdGlWYWx1ZUZpZWxkSXRlbVtdXG5cdHZhbHVlOiBzdHJpbmcgfCBNdWx0aVZhbHVlRmllbGRJdGVtW107XG59O1xuXG5leHBvcnQgdHlwZSBBY3Rpb25QYXJhbWV0ZXJJbmZvID0ge1xuXHRwYXJhbWV0ZXI6IEFjdGlvblBhcmFtZXRlcjtcblx0ZmllbGQ6IEZpZWxkIHwgTXVsdGlWYWx1ZUZpZWxkO1xuXHRpc011bHRpVmFsdWU6IGJvb2xlYW47XG5cdHZhbHVlPzogc3RyaW5nIHwgTXVsdGlWYWx1ZUZpZWxkSXRlbVtdO1xuXHR2YWxpZGF0aW9uUHJvbWlzZT86IFByb21pc2U8c3RyaW5nIHwgTXVsdGlWYWx1ZUZpZWxkSXRlbVtdPjtcblx0aGFzRXJyb3I6IGJvb2xlYW47XG59O1xuXG5jb25zdCBBY3Rpb25SdW50aW1lID0ge1xuXHQvKipcblx0ICogQWRkcyBlcnJvciBtZXNzYWdlcyBmb3IgYW4gYWN0aW9uIHBhcmFtZXRlciBmaWVsZCB0byB0aGUgbWVzc2FnZSBtYW5hZ2VyLlxuXHQgKlxuXHQgKiBAcGFyYW0gbWVzc2FnZU1hbmFnZXIgVGhlIGFjdGl2ZSBNZXNzYWdlTWFuYWdlciBpbnN0YW5jZVxuXHQgKiBAcGFyYW0gbWVzc2FnZVBhcmFtZXRlcnMgSW5mb3JtYXRpb24gaWRlbnRpZnlpbmcgYW4gYWN0aW9uIHBhcmFtZXRlciBhbmQgbWVzc2FnZXMgcmVmZXJyaW5nIHRvIHRoaXMgcGFyYW1ldGVyXG5cdCAqL1xuXHRfYWRkTWVzc2FnZUZvckFjdGlvblBhcmFtZXRlcjogZnVuY3Rpb24gKFxuXHRcdG1lc3NhZ2VNYW5hZ2VyOiBNZXNzYWdlTWFuYWdlcixcblx0XHRtZXNzYWdlUGFyYW1ldGVyczogeyBhY3Rpb25QYXJhbWV0ZXJJbmZvOiBBY3Rpb25QYXJhbWV0ZXJJbmZvOyBtZXNzYWdlOiBzdHJpbmcgfVtdXG5cdCkge1xuXHRcdG1lc3NhZ2VNYW5hZ2VyLmFkZE1lc3NhZ2VzKFxuXHRcdFx0bWVzc2FnZVBhcmFtZXRlcnMubWFwKChtZXNzYWdlUGFyYW1ldGVyKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGJpbmRpbmcgPSBtZXNzYWdlUGFyYW1ldGVyLmFjdGlvblBhcmFtZXRlckluZm8uZmllbGQuZ2V0QmluZGluZyhcblx0XHRcdFx0XHRtZXNzYWdlUGFyYW1ldGVyLmFjdGlvblBhcmFtZXRlckluZm8uaXNNdWx0aVZhbHVlID8gXCJpdGVtc1wiIDogXCJ2YWx1ZVwiXG5cdFx0XHRcdCk7XG5cdFx0XHRcdHJldHVybiBuZXcgTWVzc2FnZSh7XG5cdFx0XHRcdFx0bWVzc2FnZTogbWVzc2FnZVBhcmFtZXRlci5tZXNzYWdlLFxuXHRcdFx0XHRcdHR5cGU6IFwiRXJyb3JcIixcblx0XHRcdFx0XHRwcm9jZXNzb3I6IGJpbmRpbmc/LmdldE1vZGVsKCksXG5cdFx0XHRcdFx0cGVyc2lzdGVudDogdHJ1ZSxcblx0XHRcdFx0XHR0YXJnZXQ6IGJpbmRpbmc/LmdldFJlc29sdmVkUGF0aCgpXG5cdFx0XHRcdH0pO1xuXHRcdFx0fSlcblx0XHQpO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYWxsIHJlcXVpcmVkIGFjdGlvbiBwYXJhbWV0ZXJzIGNvbnRhaW4gZGF0YSBhbmQgY2hlY2tzIGZvciBhbGwgYWN0aW9uIHBhcmFtZXRlcnMgaWYgdGhlXG5cdCAqIGNvbnRhaW5lZCBkYXRhIGlzIHZhbGlkLlxuXHQgKlxuXHQgKlxuXHQgKiBAcGFyYW0gbWVzc2FnZU1hbmFnZXIgVGhlIGFjdGl2ZSBNZXNzYWdlTWFuYWdlciBpbnN0YW5jZVxuXHQgKiBAcGFyYW0gYWN0aW9uUGFyYW1ldGVySW5mb3MgSW5mb3JtYXRpb24gaWRlbnRpZnlpbmcgYW4gYWN0aW9uIHBhcmFtZXRlclxuXHQgKiBAcGFyYW0gcmVzb3VyY2VNb2RlbCBUaGUgbW9kZWwgdG8gbG9hZCB0ZXh0IHJlc291cmNlc1xuXHQgKiBAcmV0dXJucyBUaGUgdmFsaWRhdGlvbiByZXN1bHQgY2FuIGJlIHRydWUgb3IgZmFsc2Vcblx0ICovXG5cdHZhbGlkYXRlUHJvcGVydGllczogYXN5bmMgZnVuY3Rpb24gKFxuXHRcdG1lc3NhZ2VNYW5hZ2VyOiBNZXNzYWdlTWFuYWdlcixcblx0XHRhY3Rpb25QYXJhbWV0ZXJJbmZvczogQWN0aW9uUGFyYW1ldGVySW5mb1tdLFxuXHRcdHJlc291cmNlTW9kZWw6IFJlc291cmNlTW9kZWxcblx0KTogUHJvbWlzZTxib29sZWFuPiB7XG5cdFx0YXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKGFjdGlvblBhcmFtZXRlckluZm9zLm1hcCgoYWN0aW9uUGFyYW1ldGVySW5mbykgPT4gYWN0aW9uUGFyYW1ldGVySW5mby52YWxpZGF0aW9uUHJvbWlzZSkpO1xuXG5cdFx0Y29uc3QgcmVxdWlyZWRQYXJhbWV0ZXJJbmZvcyA9IGFjdGlvblBhcmFtZXRlckluZm9zLmZpbHRlcigocGFyYW1ldGVySW5mbykgPT4gcGFyYW1ldGVySW5mby5maWVsZC5nZXRSZXF1aXJlZCgpKTtcblx0XHRjb25zdCBhbGxNZXNzYWdlcyA9IG1lc3NhZ2VNYW5hZ2VyLmdldE1lc3NhZ2VNb2RlbCgpLmdldERhdGEoKTtcblx0XHRjb25zdCBlbXB0eVJlcXVpcmVkRmllbGRzID0gcmVxdWlyZWRQYXJhbWV0ZXJJbmZvcy5maWx0ZXIoKHJlcXVpcmVkUGFyYW1ldGVySW5mbykgPT4ge1xuXHRcdFx0Y29uc3QgZmllbGRJZCA9IHJlcXVpcmVkUGFyYW1ldGVySW5mby5maWVsZC5nZXRJZCgpO1xuXHRcdFx0Y29uc3QgcmVsZXZhbnRNZXNzYWdlcyA9IGFsbE1lc3NhZ2VzLmZpbHRlcigobXNnOiBNZXNzYWdlKSA9PlxuXHRcdFx0XHRtc2cuZ2V0Q29udHJvbElkcygpLnNvbWUoKGNvbnRyb2xJZDogc3RyaW5nKSA9PiBjb250cm9sSWQuaW5jbHVkZXMoZmllbGRJZCkpXG5cdFx0XHQpO1xuXHRcdFx0aWYgKHJlbGV2YW50TWVzc2FnZXMubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9IGVsc2UgaWYgKHJlcXVpcmVkUGFyYW1ldGVySW5mby5pc011bHRpVmFsdWUpIHtcblx0XHRcdFx0cmV0dXJuIHJlcXVpcmVkUGFyYW1ldGVySW5mby52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8ICFyZXF1aXJlZFBhcmFtZXRlckluZm8udmFsdWUubGVuZ3RoO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y29uc3QgZmllbGRWYWx1ZSA9IChyZXF1aXJlZFBhcmFtZXRlckluZm8uZmllbGQgYXMgRmllbGQpLmdldFZhbHVlKCk7XG5cdFx0XHRcdHJldHVybiBmaWVsZFZhbHVlID09PSB1bmRlZmluZWQgfHwgZmllbGRWYWx1ZSA9PT0gbnVsbCB8fCBmaWVsZFZhbHVlID09PSBcIlwiO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdC8qIE1lc3NhZ2UgZm9yIG1pc3NpbmcgbWFuZGF0b3J5IHZhbHVlIG9mIHRoZSBhY3Rpb24gcGFyYW1ldGVyICovXG5cdFx0aWYgKGVtcHR5UmVxdWlyZWRGaWVsZHMubGVuZ3RoKSB7XG5cdFx0XHR0aGlzLl9hZGRNZXNzYWdlRm9yQWN0aW9uUGFyYW1ldGVyKFxuXHRcdFx0XHRtZXNzYWdlTWFuYWdlcixcblx0XHRcdFx0ZW1wdHlSZXF1aXJlZEZpZWxkcy5tYXAoKGFjdGlvblBhcmFtZXRlckluZm8pID0+ICh7XG5cdFx0XHRcdFx0YWN0aW9uUGFyYW1ldGVySW5mbzogYWN0aW9uUGFyYW1ldGVySW5mbyxcblx0XHRcdFx0XHRtZXNzYWdlOiByZXNvdXJjZU1vZGVsLmdldFRleHQoXCJDX09QRVJBVElPTlNfQUNUSU9OX1BBUkFNRVRFUl9ESUFMT0dfTUlTU0lOR19NQU5EQVRPUllfTVNHXCIsIFtcblx0XHRcdFx0XHRcdChhY3Rpb25QYXJhbWV0ZXJJbmZvLmZpZWxkLmdldFBhcmVudCgpPy5nZXRBZ2dyZWdhdGlvbihcImxhYmVsXCIpIGFzIExhYmVsKS5nZXRUZXh0KClcblx0XHRcdFx0XHRdKVxuXHRcdFx0XHR9KSlcblx0XHRcdCk7XG5cdFx0fVxuXHRcdC8qIENoZWNrIHZhbHVlIHN0YXRlIG9mIGFsbCBwYXJhbWV0ZXJzICovXG5cdFx0Y29uc3QgZmlyc3RJbnZhbGlkUGFyYW1ldGVyID0gYWN0aW9uUGFyYW1ldGVySW5mb3MuZmluZChcblx0XHRcdChwYXJhbWV0ZXJJbmZvKSA9PlxuXHRcdFx0XHRwYXJhbWV0ZXJJbmZvLmhhc0Vycm9yIHx8IHBhcmFtZXRlckluZm8uZmllbGQuZ2V0VmFsdWVTdGF0ZSgpID09PSBcIkVycm9yXCIgfHwgZW1wdHlSZXF1aXJlZEZpZWxkcy5pbmNsdWRlcyhwYXJhbWV0ZXJJbmZvKVxuXHRcdCk7XG5cdFx0aWYgKGZpcnN0SW52YWxpZFBhcmFtZXRlcikge1xuXHRcdFx0Zmlyc3RJbnZhbGlkUGFyYW1ldGVyLmZpZWxkLmZvY3VzKCk7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0fSxcblxuXHQvKipcblx0ICogU2V0cyB0aGUgYWN0aW9uIGVuYWJsZW1lbnQuXG5cdCAqXG5cdCAqIEBwYXJhbSBvSW50ZXJuYWxNb2RlbENvbnRleHQgT2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbnRleHQgbW9kZWxcblx0ICogQHBhcmFtIG9BY3Rpb25PcGVyYXRpb25BdmFpbGFibGVNYXAgTWFwIGNvbnRhaW5pbmcgdGhlIG9wZXJhdGlvbiBhdmFpbGFiaWxpdHkgb2YgYWN0aW9uc1xuXHQgKiBAcGFyYW0gYVNlbGVjdGVkQ29udGV4dHMgQXJyYXkgY29udGFpbmluZyBzZWxlY3RlZCBjb250ZXh0cyBvZiB0aGUgY2hhcnRcblx0ICogQHBhcmFtIHNDb250cm9sIENvbnRyb2wgbmFtZVxuXHQgKiBAcmV0dXJucyBUaGUgYWN0aW9uIGVuYWJsZW1lbnQgcHJvbWlzZXNcblx0ICovXG5cdHNldEFjdGlvbkVuYWJsZW1lbnQ6IGFzeW5jIGZ1bmN0aW9uIChcblx0XHRvSW50ZXJuYWxNb2RlbENvbnRleHQ6IEludGVybmFsTW9kZWxDb250ZXh0LFxuXHRcdG9BY3Rpb25PcGVyYXRpb25BdmFpbGFibGVNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG5cdFx0YVNlbGVjdGVkQ29udGV4dHM6IENvbnRleHRbXSxcblx0XHRzQ29udHJvbDogc3RyaW5nXG5cdCkge1xuXHRcdGNvbnN0IGFQcm9taXNlcyA9IFtdO1xuXHRcdGZvciAoY29uc3Qgc0FjdGlvbiBpbiBvQWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlTWFwKSB7XG5cdFx0XHRsZXQgYVJlcXVlc3RQcm9taXNlczogUHJvbWlzZTxfUmVxdWVzdGVkUHJvcGVydHk+W10gPSBbXTtcblx0XHRcdG9JbnRlcm5hbE1vZGVsQ29udGV4dC5zZXRQcm9wZXJ0eShzQWN0aW9uLCBmYWxzZSk7XG5cdFx0XHRjb25zdCBzUHJvcGVydHkgPSBvQWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlTWFwW3NBY3Rpb25dO1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhU2VsZWN0ZWRDb250ZXh0cy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRjb25zdCBvU2VsZWN0ZWRDb250ZXh0ID0gYVNlbGVjdGVkQ29udGV4dHNbaV07XG5cdFx0XHRcdGlmIChvU2VsZWN0ZWRDb250ZXh0KSB7XG5cdFx0XHRcdFx0Y29uc3Qgb0NvbnRleHREYXRhID0gb1NlbGVjdGVkQ29udGV4dC5nZXRPYmplY3QoKSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblx0XHRcdFx0XHRpZiAoc0NvbnRyb2wgPT09IFwiY2hhcnRcIikge1xuXHRcdFx0XHRcdFx0aWYgKChzUHJvcGVydHkgPT09IG51bGwgJiYgISFvQ29udGV4dERhdGFbYCMke3NBY3Rpb259YF0pIHx8IG9TZWxlY3RlZENvbnRleHQuZ2V0T2JqZWN0KHNQcm9wZXJ0eSkpIHtcblx0XHRcdFx0XHRcdFx0Ly9sb29rIGZvciBhY3Rpb24gYWR2ZXJ0aXNlbWVudCBpZiBwcmVzZW50IGFuZCBpdHMgdmFsdWUgaXMgbm90IG51bGxcblx0XHRcdFx0XHRcdFx0b0ludGVybmFsTW9kZWxDb250ZXh0LnNldFByb3BlcnR5KHNBY3Rpb24sIHRydWUpO1xuXHRcdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9IGVsc2UgaWYgKHNDb250cm9sID09PSBcInRhYmxlXCIpIHtcblx0XHRcdFx0XHRcdGFSZXF1ZXN0UHJvbWlzZXMgPSB0aGlzLl9zZXRBY3Rpb25FbmFibGVtZW50Rm9yVGFibGUoXG5cdFx0XHRcdFx0XHRcdG9TZWxlY3RlZENvbnRleHQsXG5cdFx0XHRcdFx0XHRcdG9JbnRlcm5hbE1vZGVsQ29udGV4dCxcblx0XHRcdFx0XHRcdFx0c0FjdGlvbixcblx0XHRcdFx0XHRcdFx0c1Byb3BlcnR5LFxuXHRcdFx0XHRcdFx0XHRhUmVxdWVzdFByb21pc2VzXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKHNDb250cm9sID09PSBcInRhYmxlXCIpIHtcblx0XHRcdFx0aWYgKCFhU2VsZWN0ZWRDb250ZXh0cy5sZW5ndGgpIHtcblx0XHRcdFx0XHRvSW50ZXJuYWxNb2RlbENvbnRleHQuc2V0UHJvcGVydHkoYGR5bmFtaWNBY3Rpb25zLyR7c0FjdGlvbn1gLCB7XG5cdFx0XHRcdFx0XHRiRW5hYmxlZDogZmFsc2UsXG5cdFx0XHRcdFx0XHRhQXBwbGljYWJsZTogW10sXG5cdFx0XHRcdFx0XHRhTm90QXBwbGljYWJsZTogW11cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRhUHJvbWlzZXMucHVzaChDb21tb25VdGlscy5zZXRDb250ZXh0c0Jhc2VkT25PcGVyYXRpb25BdmFpbGFibGUob0ludGVybmFsTW9kZWxDb250ZXh0LCBbXSkpO1xuXHRcdFx0XHR9IGVsc2UgaWYgKGFTZWxlY3RlZENvbnRleHRzLmxlbmd0aCAmJiB0eXBlb2Ygc1Byb3BlcnR5ID09PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRcdFx0Ly8gV2hlbiBhbGwgcHJvcGVydHkgdmFsdWVzIGhhdmUgYmVlbiByZXRyaWV2ZWQsIHNldFxuXHRcdFx0XHRcdC8vIFRoZSBhcHBsaWNhYmxlIGFuZCBub3QtYXBwbGljYWJsZSBzZWxlY3RlZCBjb250ZXh0cyBmb3IgZWFjaCBhY3Rpb24gYW5kXG5cdFx0XHRcdFx0Ly8gVGhlIGVuYWJsZWQgcHJvcGVydHkgb2YgdGhlIGR5bmFtaWMgYWN0aW9uIGluIGludGVybmFsIG1vZGVsIGNvbnRleHQuXG5cdFx0XHRcdFx0YVByb21pc2VzLnB1c2goQ29tbW9uVXRpbHMuc2V0Q29udGV4dHNCYXNlZE9uT3BlcmF0aW9uQXZhaWxhYmxlKG9JbnRlcm5hbE1vZGVsQ29udGV4dCwgYVJlcXVlc3RQcm9taXNlcykpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBQcm9taXNlLmFsbChhUHJvbWlzZXMpO1xuXHR9LFxuXHRzZXRBY3Rpb25FbmFibGVtZW50QWZ0ZXJQYXRjaDogZnVuY3Rpb24gKG9WaWV3OiBWaWV3LCBvTGlzdEJpbmRpbmc6IE9EYXRhTGlzdEJpbmRpbmcsIG9JbnRlcm5hbE1vZGVsQ29udGV4dDogSW50ZXJuYWxNb2RlbENvbnRleHQpIHtcblx0XHRjb25zdCBvSW50ZXJuYWxNb2RlbENvbnRleHREYXRhID0gb0ludGVybmFsTW9kZWxDb250ZXh0Py5nZXRPYmplY3QoKSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblx0XHRjb25zdCBvQ29udHJvbHMgPSAob0ludGVybmFsTW9kZWxDb250ZXh0RGF0YT8uY29udHJvbHMgfHwge30pIGFzIFJlY29yZDxzdHJpbmcsIHsgY29udHJvbElkPzogc3RyaW5nIH0+O1xuXHRcdGZvciAoY29uc3Qgc0tleSBpbiBvQ29udHJvbHMpIHtcblx0XHRcdGlmIChvQ29udHJvbHNbc0tleV0gJiYgb0NvbnRyb2xzW3NLZXldLmNvbnRyb2xJZCkge1xuXHRcdFx0XHRjb25zdCBvVGFibGUgPSBvVmlldy5ieUlkKHNLZXkpO1xuXHRcdFx0XHRpZiAob1RhYmxlICYmIG9UYWJsZS5pc0E8VGFibGU+KFwic2FwLnVpLm1kYy5UYWJsZVwiKSkge1xuXHRcdFx0XHRcdGNvbnN0IG9Sb3dCaW5kaW5nID0gb1RhYmxlLmdldFJvd0JpbmRpbmcoKTtcblx0XHRcdFx0XHRpZiAob1Jvd0JpbmRpbmcgPT0gb0xpc3RCaW5kaW5nKSB7XG5cdFx0XHRcdFx0XHRBY3Rpb25SdW50aW1lLnNldEFjdGlvbkVuYWJsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdG9UYWJsZS5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpIGFzIEludGVybmFsTW9kZWxDb250ZXh0LFxuXHRcdFx0XHRcdFx0XHRKU09OLnBhcnNlKG9UYWJsZS5kYXRhKFwib3BlcmF0aW9uQXZhaWxhYmxlTWFwXCIpLmN1c3RvbURhdGEpLFxuXHRcdFx0XHRcdFx0XHRvVGFibGUuZ2V0U2VsZWN0ZWRDb250ZXh0cygpIGFzIENvbnRleHRbXSxcblx0XHRcdFx0XHRcdFx0XCJ0YWJsZVwiXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fSxcblxuXHR1cGRhdGVFZGl0QnV0dG9uVmlzaWJpbGl0eUFuZEVuYWJsZW1lbnQob1ZpZXc6IEZFVmlldykge1xuXHRcdGNvbnN0IGlWaWV3TGV2ZWwgPSAob1ZpZXcuZ2V0Vmlld0RhdGEoKSBhcyBCYXNlTWFuaWZlc3RTZXR0aW5ncyk/LnZpZXdMZXZlbCxcblx0XHRcdGlzRWRpdGFibGUgPSBvVmlldy5nZXRNb2RlbChcInVpXCIpPy5nZXRQcm9wZXJ0eShcIi9pc0VkaXRhYmxlXCIpO1xuXHRcdGlmICgoaVZpZXdMZXZlbCBhcyBudW1iZXIpID4gMSAmJiBpc0VkaXRhYmxlICE9PSB0cnVlKSB7XG5cdFx0XHRjb25zdCBvQ29udGV4dCA9IG9WaWV3LmdldEJpbmRpbmdDb250ZXh0KCkgYXMgQ29udGV4dDtcblx0XHRcdGNvbnN0IG9BcHBDb21wb25lbnQgPSBDb21tb25VdGlscy5nZXRBcHBDb21wb25lbnQob1ZpZXcpO1xuXHRcdFx0Y29uc3Qgc01ldGFQYXRoID0gTW9kZWxIZWxwZXIuZ2V0TWV0YVBhdGhGb3JDb250ZXh0KG9Db250ZXh0KTtcblx0XHRcdGNvbnN0IHNFbnRpdHlTZXQgPSBNb2RlbEhlbHBlci5nZXRSb290RW50aXR5U2V0UGF0aChzTWV0YVBhdGgpO1xuXHRcdFx0Y29uc3QgbWV0YUNvbnRleHQgPSBvQ29udGV4dD8uZ2V0TW9kZWwoKS5nZXRNZXRhTW9kZWwoKT8uZ2V0Q29udGV4dChvQ29udGV4dD8uZ2V0UGF0aCgpKTtcblx0XHRcdGNvbnN0IGNvbnZlcnRlckNvbnRleHQgPSBDb252ZXJ0ZXJDb250ZXh0Py5jcmVhdGVDb252ZXJ0ZXJDb250ZXh0Rm9yTWFjcm8oXG5cdFx0XHRcdHNFbnRpdHlTZXQsXG5cdFx0XHRcdG1ldGFDb250ZXh0LFxuXHRcdFx0XHRvQXBwQ29tcG9uZW50LmdldERpYWdub3N0aWNzKCksXG5cdFx0XHRcdG1lcmdlLFxuXHRcdFx0XHR1bmRlZmluZWRcblx0XHRcdCk7XG5cdFx0XHRjb25zdCBlbnRpdHlTZXQgPSBjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVNldCgpO1xuXHRcdFx0Y29uc3QgZW50aXR5VHlwZSA9IGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZSgpO1xuXHRcdFx0bGV0IHVwZGF0ZUhpZGRlbjtcblx0XHRcdC8vRmluZCB0aGUgVXBkYXRlIEhpZGRlbiBvZiB0aGUgcm9vdCBlbnRpdHkgc2V0IGFuZCBiaW5kIHRoZSBwcm9wZXJ0eSB0byBBbnlFbGVtZW50LCBhbnkgY2hhbmdlcyBpbiB0aGUgcGF0aCBvZiB0aGUgcm9vdCBVcGRhdGVIaWRkZW4gd2lsbCBiZSB1cGRhdGVkIHZpYSB0aGUgcHJvcGVydHksIGludGVybmFsIG1vZGVsIGNvbnRleHQgaXMgdXBkYXRlZCBiYXNlZCBvbiB0aGUgcHJvcGVydHlcblx0XHRcdGNvbnN0IGJVcGRhdGVIaWRkZW4gPSBpc0VudGl0eVNldChlbnRpdHlTZXQpICYmIGVudGl0eVNldC5hbm5vdGF0aW9ucy5VST8uVXBkYXRlSGlkZGVuPy52YWx1ZU9mKCk7XG5cdFx0XHRpZiAoYlVwZGF0ZUhpZGRlbiAhPT0gdHJ1ZSkge1xuXHRcdFx0XHR1cGRhdGVIaWRkZW4gPSBNb2RlbEhlbHBlci5pc1VwZGF0ZUhpZGRlbihlbnRpdHlTZXQsIGVudGl0eVR5cGUpO1xuXHRcdFx0fVxuXHRcdFx0Ly9GaW5kIHRoZSBvcGVyYXRpb24gYXZhaWxhYmxlIHByb3BlcnR5IG9mIHRoZSByb290IGVkaXQgY29uZmlndXJhdGlvbiBhbmQgZmV0Y2ggdGhlIHByb3BlcnR5IHVzaW5nIEFueUVsZW1lbnRcblx0XHRcdGNvbnN0IHNFZGl0RW5hYmxlQmluZGluZyA9IGdldEVkaXRCdXR0b25FbmFibGVkKGNvbnZlcnRlckNvbnRleHQsIHVuZGVmaW5lZCk7XG5cdFx0XHRjb25zdCBkcmFmdFJvb3RQYXRoID0gTW9kZWxIZWxwZXIuZ2V0RHJhZnRSb290UGF0aChvQ29udGV4dCk7XG5cdFx0XHRjb25zdCBzU3RpY2t5Um9vdFBhdGggPSBNb2RlbEhlbHBlci5nZXRTdGlja3lSb290UGF0aChvQ29udGV4dCk7XG5cdFx0XHRjb25zdCBzUGF0aCA9IGRyYWZ0Um9vdFBhdGggfHwgc1N0aWNreVJvb3RQYXRoO1xuXHRcdFx0Y29uc3Qgb0ludGVybmFsTW9kZWxDb250ZXh0ID0gb1ZpZXcuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKSBhcyBJbnRlcm5hbE1vZGVsQ29udGV4dDtcblx0XHRcdGlmIChzUGF0aCkge1xuXHRcdFx0XHRjb25zdCBvUm9vdENvbnRleHQgPSBvVmlldy5nZXRNb2RlbCgpLmJpbmRDb250ZXh0KHNQYXRoKS5nZXRCb3VuZENvbnRleHQoKTtcblx0XHRcdFx0aWYgKHVwZGF0ZUhpZGRlbiAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0Y29uc3Qgc0hpZGRlbkV4cHJlc3Npb24gPSBjb21waWxlRXhwcmVzc2lvbihlcXVhbChnZXRIaWRkZW5FeHByZXNzaW9uKGNvbnZlcnRlckNvbnRleHQsIHVwZGF0ZUhpZGRlbiksIGZhbHNlKSk7XG5cdFx0XHRcdFx0dGhpcy51cGRhdGVFZGl0TW9kZWxDb250ZXh0KHNIaWRkZW5FeHByZXNzaW9uLCBvVmlldywgb1Jvb3RDb250ZXh0LCBcInJvb3RFZGl0VmlzaWJsZVwiLCBvSW50ZXJuYWxNb2RlbENvbnRleHQpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChzRWRpdEVuYWJsZUJpbmRpbmcpIHtcblx0XHRcdFx0XHR0aGlzLnVwZGF0ZUVkaXRNb2RlbENvbnRleHQoc0VkaXRFbmFibGVCaW5kaW5nLCBvVmlldywgb1Jvb3RDb250ZXh0LCBcInJvb3RFZGl0RW5hYmxlZFwiLCBvSW50ZXJuYWxNb2RlbENvbnRleHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9LFxuXG5cdHVwZGF0ZUVkaXRNb2RlbENvbnRleHQ6IGZ1bmN0aW9uIChcblx0XHRzQmluZGluZ0V4cHJlc3Npb246IHN0cmluZyB8IHVuZGVmaW5lZCxcblx0XHRvVmlldzogVmlldyxcblx0XHRvUm9vdENvbnRleHQ6IENvbnRleHQsXG5cdFx0c1Byb3BlcnR5OiBzdHJpbmcsXG5cdFx0b0ludGVybmFsTW9kZWxDb250ZXh0OiBJbnRlcm5hbE1vZGVsQ29udGV4dFxuXHQpIHtcblx0XHRpZiAoc0JpbmRpbmdFeHByZXNzaW9uKSB7XG5cdFx0XHRjb25zdCBvSGlkZGVuRWxlbWVudCA9IG5ldyBBbnlFbGVtZW50KHsgYW55VGV4dDogc0JpbmRpbmdFeHByZXNzaW9uIH0pO1xuXHRcdFx0b0hpZGRlbkVsZW1lbnQuc2V0QmluZGluZ0NvbnRleHQobnVsbCk7XG5cdFx0XHRvVmlldy5hZGREZXBlbmRlbnQob0hpZGRlbkVsZW1lbnQpO1xuXHRcdFx0b0hpZGRlbkVsZW1lbnQuZ2V0QmluZGluZyhcImFueVRleHRcIik7XG5cdFx0XHRjb25zdCBvQ29udGV4dCA9IG9IaWRkZW5FbGVtZW50XG5cdFx0XHRcdC5nZXRNb2RlbCgpXG5cdFx0XHRcdD8uYmluZENvbnRleHQob1Jvb3RDb250ZXh0LmdldFBhdGgoKSwgb1Jvb3RDb250ZXh0LCB7ICQkZ3JvdXBJZDogXCIkYXV0by5IZXJvZXNcIiB9KVxuXHRcdFx0XHQ/LmdldEJvdW5kQ29udGV4dCgpO1xuXHRcdFx0b0hpZGRlbkVsZW1lbnQuc2V0QmluZGluZ0NvbnRleHQob0NvbnRleHQpO1xuXHRcdFx0b0hpZGRlbkVsZW1lbnQ/LmdldEJpbmRpbmcoXCJhbnlUZXh0XCIpPy5hdHRhY2hDaGFuZ2UoKG9FdmVudDogRXZlbnQpID0+IHtcblx0XHRcdFx0Y29uc3Qgb05ld1ZhbHVlID0gKG9FdmVudC5nZXRTb3VyY2UoKSBhcyBQcm9wZXJ0eUJpbmRpbmcpLmdldEV4dGVybmFsVmFsdWUoKTtcblx0XHRcdFx0b0ludGVybmFsTW9kZWxDb250ZXh0LnNldFByb3BlcnR5KHNQcm9wZXJ0eSwgb05ld1ZhbHVlKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fSxcblxuXHRfc2V0QWN0aW9uRW5hYmxlbWVudEZvclRhYmxlOiBmdW5jdGlvbiAoXG5cdFx0b1NlbGVjdGVkQ29udGV4dDogQ29udGV4dCB8IHVuZGVmaW5lZCxcblx0XHRvSW50ZXJuYWxNb2RlbENvbnRleHQ6IEludGVybmFsTW9kZWxDb250ZXh0LFxuXHRcdHNBY3Rpb246IHN0cmluZyxcblx0XHRzUHJvcGVydHk6IHN0cmluZyxcblx0XHRhUmVxdWVzdFByb21pc2VzOiBQcm9taXNlPF9SZXF1ZXN0ZWRQcm9wZXJ0eT5bXVxuXHQpIHtcblx0XHQvLyBSZXNldCBhbGwgcHJvcGVydGllcyBiZWZvcmUgY29tcHV0YXRpb25cblx0XHRvSW50ZXJuYWxNb2RlbENvbnRleHQuc2V0UHJvcGVydHkoYGR5bmFtaWNBY3Rpb25zLyR7c0FjdGlvbn1gLCB7XG5cdFx0XHRiRW5hYmxlZDogZmFsc2UsXG5cdFx0XHRhQXBwbGljYWJsZTogW10sXG5cdFx0XHRhTm90QXBwbGljYWJsZTogW11cblx0XHR9KTtcblx0XHQvLyBOb3RlIHRoYXQgbm9uIGR5bmFtaWMgYWN0aW9ucyBhcmUgbm90IHByb2Nlc3NlZCBoZXJlLiBUaGV5IGFyZSBlbmFibGVkIGJlY2F1c2Vcblx0XHQvLyBvbmUgb3IgbW9yZSBhcmUgc2VsZWN0ZWQgYW5kIHRoZSBzZWNvbmQgcGFydCBvZiB0aGUgY29uZGl0aW9uIGluIHRoZSB0ZW1wbGF0aW5nXG5cdFx0Ly8gaXMgdGhlbiB1bmRlZmluZWQgYW5kIHRodXMgdGhlIGJ1dHRvbiB0YWtlcyB0aGUgZGVmYXVsdCBlbmFibGluZywgd2hpY2ggaXMgdHJ1ZSFcblx0XHRjb25zdCBhQXBwbGljYWJsZSA9IFtdLFxuXHRcdFx0YU5vdEFwcGxpY2FibGUgPSBbXSxcblx0XHRcdHNEeW5hbWljQWN0aW9uRW5hYmxlZFBhdGggPSBgJHtvSW50ZXJuYWxNb2RlbENvbnRleHQuZ2V0UGF0aCgpfS9keW5hbWljQWN0aW9ucy8ke3NBY3Rpb259L2JFbmFibGVkYDtcblx0XHRpZiAodHlwZW9mIHNQcm9wZXJ0eSA9PT0gXCJvYmplY3RcIiAmJiBzUHJvcGVydHkgIT09IG51bGwgJiYgc1Byb3BlcnR5ICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdGlmIChvU2VsZWN0ZWRDb250ZXh0KSB7XG5cdFx0XHRcdGNvbnN0IG9Db250ZXh0RGF0YSA9IG9TZWxlY3RlZENvbnRleHQuZ2V0T2JqZWN0KCkgYXMgUmVjb3JkPHN0cmluZywgUHJpbWl0aXZlVHlwZT47XG5cdFx0XHRcdGNvbnN0IG9UcmFuc2Zvcm1lZEJpbmRpbmcgPSB0cmFuc2Zvcm1SZWN1cnNpdmVseShcblx0XHRcdFx0XHRzUHJvcGVydHksXG5cdFx0XHRcdFx0XCJQYXRoSW5Nb2RlbFwiLFxuXHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1sb29wLWZ1bmNcblx0XHRcdFx0XHRmdW5jdGlvbiAob0JpbmRpbmdFeHByZXNzaW9uOiBQYXRoSW5Nb2RlbEV4cHJlc3Npb248UHJpbWl0aXZlVHlwZT4pIHtcblx0XHRcdFx0XHRcdHJldHVybiBvQ29udGV4dERhdGEgPyBjb25zdGFudChvQ29udGV4dERhdGFbb0JpbmRpbmdFeHByZXNzaW9uLnBhdGhdKSA6IGNvbnN0YW50KGZhbHNlKTtcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHRydWVcblx0XHRcdFx0KTtcblx0XHRcdFx0Y29uc3Qgc1Jlc3VsdCA9IGNvbXBpbGVFeHByZXNzaW9uKG9UcmFuc2Zvcm1lZEJpbmRpbmcpO1xuXHRcdFx0XHRpZiAoc1Jlc3VsdCA9PT0gXCJ0cnVlXCIpIHtcblx0XHRcdFx0XHRvSW50ZXJuYWxNb2RlbENvbnRleHQuZ2V0TW9kZWwoKS5zZXRQcm9wZXJ0eShzRHluYW1pY0FjdGlvbkVuYWJsZWRQYXRoLCB0cnVlKTtcblx0XHRcdFx0XHRhQXBwbGljYWJsZS5wdXNoKG9TZWxlY3RlZENvbnRleHQpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGFOb3RBcHBsaWNhYmxlLnB1c2gob1NlbGVjdGVkQ29udGV4dCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdENvbW1vblV0aWxzLnNldER5bmFtaWNBY3Rpb25Db250ZXh0cyhvSW50ZXJuYWxNb2RlbENvbnRleHQsIHNBY3Rpb24sIGFBcHBsaWNhYmxlLCBhTm90QXBwbGljYWJsZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IG9Db250ZXh0RGF0YSA9IG9TZWxlY3RlZENvbnRleHQ/LmdldE9iamVjdCgpIGFzIFJlY29yZDxzdHJpbmcsIFByaW1pdGl2ZVR5cGU+O1xuXHRcdFx0aWYgKHNQcm9wZXJ0eSA9PT0gbnVsbCAmJiAhIW9Db250ZXh0RGF0YVtgIyR7c0FjdGlvbn1gXSkge1xuXHRcdFx0XHQvL2xvb2sgZm9yIGFjdGlvbiBhZHZlcnRpc2VtZW50IGlmIHByZXNlbnQgYW5kIGl0cyB2YWx1ZSBpcyBub3QgbnVsbFxuXHRcdFx0XHRvSW50ZXJuYWxNb2RlbENvbnRleHQuZ2V0TW9kZWwoKS5zZXRQcm9wZXJ0eShzRHluYW1pY0FjdGlvbkVuYWJsZWRQYXRoLCB0cnVlKTtcblx0XHRcdH0gZWxzZSBpZiAob1NlbGVjdGVkQ29udGV4dCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdC8vIENvbGxlY3QgcHJvbWlzZXMgdG8gcmV0cmlldmUgc2luZ2xldG9uIG9yIG5vcm1hbCBwcm9wZXJ0eSB2YWx1ZSBhc3luY2hyb25vdXNseVxuXHRcdFx0XHRhUmVxdWVzdFByb21pc2VzLnB1c2goQ29tbW9uVXRpbHMucmVxdWVzdFByb3BlcnR5KG9TZWxlY3RlZENvbnRleHQsIHNBY3Rpb24sIHNQcm9wZXJ0eSwgc0R5bmFtaWNBY3Rpb25FbmFibGVkUGF0aCkpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gYVJlcXVlc3RQcm9taXNlcztcblx0fVxufTtcbmV4cG9ydCBkZWZh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
@@ -2,5 +2,5 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/util/merge","sap/fe/core/CommonUtils","sap/fe/core/helpers/BindingToolkit","sap/fe/core/helpers/ModelHelper","sap/fe/core/helpers/TypeGuards","sap/ui/core/message/Message","./controls/AnyElement","./converters/ConverterContext","./converters/objectPage/HeaderAndFooterAction"],function(e,t,n,o,i,a,s,l,r){"use strict";var d=r.getHiddenExpression;var c=r.getEditButtonEnabled;var u=i.isEntitySet;var g=n.transformRecursively;var f=n.equal;var p=n.constant;var v=n.compileExpression;const b={_addMessageForActionParameter:function(e,t){e.addMessages(t.map(e=>{const t=e.actionParameterInfo.field.getBinding(e.actionParameterInfo.isMultiValue?"items":"value");return new a({message:e.message,type:"Error",processor:t===null||t===void 0?void 0:t.getModel(),persistent:true,target:t===null||t===void 0?void 0:t.getResolvedPath()})}))},validateProperties:async function(e,t,n){await Promise.allSettled(t.map(e=>e.validationPromise));const o=t.filter(e=>e.field.getRequired());const i=e.getMessageModel().getData();const a=o.filter(e=>{const t=e.field.getId();const n=i.filter(e=>e.getControlIds().some(e=>e.includes(t)));if(n.length>0){return false}else if(e.isMultiValue){return e.value===undefined||!e.value.length}else{const t=e.field.getValue();return t===undefined||t===null||t===""}});if(a.length){this._addMessageForActionParameter(e,a.map(e=>{var t;return{actionParameterInfo:e,message:n.getText("C_OPERATIONS_ACTION_PARAMETER_DIALOG_MISSING_MANDATORY_MSG",[((t=e.field.getParent())===null||t===void 0?void 0:t.getAggregation("label")).getText()])}}))}const s=t.find(e=>e.hasError||e.field.getValueState()==="Error"||a.includes(e));if(s){s.field.focus();return false}else{return true}},setActionEnablement:async function(e,n,o,i){const a=[];for(const s in n){let l=[];e.setProperty(s,false);const r=n[s];for(let t=0;t<o.length;t++){const n=o[t];if(n){const t=n.getObject();if(i==="chart"){if(r===null&&!!t[`#${s}`]||n.getObject(r)){e.setProperty(s,true);break}}else if(i==="table"){l=this._setActionEnablementForTable(n,e,s,r,l)}}}if(i==="table"){if(!o.length){e.setProperty(`dynamicActions/${s}`,{bEnabled:false,aApplicable:[],aNotApplicable:[]});a.push(t.setContextsBasedOnOperationAvailable(e,[]))}else if(o.length&&typeof r==="string"){a.push(t.setContextsBasedOnOperationAvailable(e,l))}}}return Promise.all(a)},setActionEnablementAfterPatch:function(e,t,n){const o=n===null||n===void 0?void 0:n.getObject();const i=(o===null||o===void 0?void 0:o.controls)||{};for(const n in i){if(i[n]&&i[n].controlId){const o=e.byId(n);if(o&&o.isA("sap.ui.mdc.Table")){const e=o.getRowBinding();if(e==t){b.setActionEnablement(o.getBindingContext("internal"),JSON.parse(o.data("operationAvailableMap").customData),o.getSelectedContexts(),"table")}}}}},updateEditButtonVisibilityAndEnablement(n){var i,a;const s=(i=n.getViewData())===null||i===void 0?void 0:i.viewLevel,r=(a=n.getModel("ui"))===null||a===void 0?void 0:a.getProperty("/isEditable");if(s>1&&r!==true){var g,p,b;const i=n.getBindingContext();const a=t.getAppComponent(n);const s=o.getMetaPathForContext(i);const r=o.getRootEntitySetPath(s);const m=i===null||i===void 0?void 0:(g=i.getModel().getMetaModel())===null||g===void 0?void 0:g.getContext(i===null||i===void 0?void 0:i.getPath());const h=l===null||l===void 0?void 0:l.createConverterContextForMacro(r,m,a.getDiagnostics(),e,undefined);const A=h.getEntitySet();const E=h.getEntityType();let y;const P=u(A)&&((p=A.annotations.UI)===null||p===void 0?void 0:(b=p.UpdateHidden)===null||b===void 0?void 0:b.valueOf());if(P!==true){y=o.isUpdateHidden(A,E)}const M=c(h,undefined);const x=o.getDraftRootPath(i);const C=o.getStickyRootPath(i);const B=x||C;const O=n.getBindingContext("internal");if(B){const e=n.getModel().bindContext(B).getBoundContext();if(y!==undefined){const t=v(f(d(h,y),false));this.updateEditModelContext(t,n,e,"rootEditVisible",O)}if(M){this.updateEditModelContext(M,n,e,"rootEditEnabled",O)}}}},updateEditModelContext:function(e,t,n,o,i){if(e){var a,l,r;const d=new s({anyText:e});d.setBindingContext(null);t.addDependent(d);d.getBinding("anyText");const c=(a=d.getModel())===null||a===void 0?void 0:(l=a.bindContext(n.getPath(),n,{$$groupId:"$auto.Heroes"}))===null||l===void 0?void 0:l.getBoundContext();d.setBindingContext(c);d===null||d===void 0?void 0:(r=d.getBinding("anyText"))===null||r===void 0?void 0:r.attachChange(e=>{const t=e.getSource().getExternalValue();i.setProperty(o,t)})}},_setActionEnablementForTable:function(e,n,o,i,a){n.setProperty(`dynamicActions/${o}`,{bEnabled:false,aApplicable:[],aNotApplicable:[]});const s=[],l=[],r=`${n.getPath()}/dynamicActions/${o}/bEnabled`;if(typeof i==="object"&&i!==null&&i!==undefined){if(e){const t=e.getObject();const o=g(i,"PathInModel",function(e){return t?p(t[e.path]):p(false)},true);const a=v(o);if(a==="true"){n.getModel().setProperty(r,true);s.push(e)}else{l.push(e)}}t.setDynamicActionContexts(n,o,s,l)}else{const s=e===null||e===void 0?void 0:e.getObject();if(i===null&&!!s[`#${o}`]){n.getModel().setProperty(r,true)}else if(e!==undefined){a.push(t.requestProperty(e,o,i,r))}}return a}};return b},false);
5
+ sap.ui.define(["sap/base/util/merge","sap/fe/core/CommonUtils","sap/fe/core/controls/Any","sap/fe/core/helpers/BindingToolkit","sap/fe/core/helpers/ModelHelper","sap/fe/core/helpers/TypeGuards","sap/fe/core/templating/ActionHelper","sap/ui/core/message/Message","./controls/AnyElement","./converters/ConverterContext","./converters/MetaModelConverter","./converters/objectPage/HeaderAndFooterAction"],function(e,t,n,o,i,s,a,l,r,d,c,u){"use strict";var g=u.getHiddenExpression;var f=u.getEditButtonEnabled;var p=c.convertTypes;var v=a.getIsActionCriticalExpression;var b=s.isEntitySet;var m=o.transformRecursively;var y=o.isConstant;var A=o.equal;var h=o.constant;var E=o.compileExpression;var C=o.compileConstant;const M={_addMessageForActionParameter:function(e,t){e.addMessages(t.map(e=>{const t=e.actionParameterInfo.field.getBinding(e.actionParameterInfo.isMultiValue?"items":"value");return new l({message:e.message,type:"Error",processor:t===null||t===void 0?void 0:t.getModel(),persistent:true,target:t===null||t===void 0?void 0:t.getResolvedPath()})}))},validateProperties:async function(e,t,n){await Promise.allSettled(t.map(e=>e.validationPromise));const o=t.filter(e=>e.field.getRequired());const i=e.getMessageModel().getData();const s=o.filter(e=>{const t=e.field.getId();const n=i.filter(e=>e.getControlIds().some(e=>e.includes(t)));if(n.length>0){return false}else if(e.isMultiValue){return e.value===undefined||!e.value.length}else{const t=e.field.getValue();return t===undefined||t===null||t===""}});if(s.length){this._addMessageForActionParameter(e,s.map(e=>{var t;return{actionParameterInfo:e,message:n.getText("C_OPERATIONS_ACTION_PARAMETER_DIALOG_MISSING_MANDATORY_MSG",[((t=e.field.getParent())===null||t===void 0?void 0:t.getAggregation("label")).getText()])}}))}const a=t.find(e=>e.hasError||e.field.getValueState()==="Error"||s.includes(e));if(a){a.field.focus();return false}else{return true}},setActionEnablement:async function(e,n,o,i){const s=[];for(const a in n){let l=[];e.setProperty(a,false);const r=n[a];for(const t of o){const n=t;if(n){const t=n.getObject();if(i==="chart"){if(r===null&&!!t[`#${a}`]||n.getObject(r)){e.setProperty(a,true);break}}else if(i==="table"){l=this._setActionEnablementForTable(n,e,a,r,l)}}}if(i==="table"){if(!o.length){e.setProperty(`dynamicActions/${a}`,{bEnabled:false,aApplicable:[],aNotApplicable:[]});s.push(t.setContextsBasedOnOperationAvailable(e,[]))}else if(o.length&&typeof r==="string"){s.push(t.setContextsBasedOnOperationAvailable(e,l))}}}return Promise.all(s)},setActionEnablementAfterPatch:function(e,t,n){const o=n===null||n===void 0?void 0:n.getObject();const i=(o===null||o===void 0?void 0:o.controls)||{};for(const n in i){if(i[n]&&i[n].controlId){const o=e.byId(n);if(o&&o.isA("sap.ui.mdc.Table")){const e=o.getRowBinding();if(e==t){M.setActionEnablement(o.getBindingContext("internal"),JSON.parse(o.data("operationAvailableMap").customData),o.getSelectedContexts(),"table")}}}}},updateEditButtonVisibilityAndEnablement(n){var o,s;const a=(o=n.getViewData())===null||o===void 0?void 0:o.viewLevel,l=(s=n.getModel("ui"))===null||s===void 0?void 0:s.getProperty("/isEditable");if(a>1&&l!==true){var r,c,u;const o=n.getBindingContext();const s=t.getAppComponent(n);const a=i.getMetaPathForContext(o);const l=i.getRootEntitySetPath(a);const p=o===null||o===void 0?void 0:(r=o.getModel().getMetaModel())===null||r===void 0?void 0:r.getContext(o===null||o===void 0?void 0:o.getPath());const v=d===null||d===void 0?void 0:d.createConverterContextForMacro(l,p,s.getDiagnostics(),e,undefined);const m=v.getEntitySet();const y=v.getEntityType();let h;const C=b(m)&&((c=m.annotations.UI)===null||c===void 0?void 0:(u=c.UpdateHidden)===null||u===void 0?void 0:u.valueOf());if(C!==true){h=i.isUpdateHidden(m,y)}const M=f(v);const P=i.getDraftRootPath(o);const x=i.getStickyRootPath(o);const B=P||x;const I=n.getBindingContext("internal");if(B){const e=n.getModel().bindContext(B).getBoundContext();if(h!==undefined){const t=E(A(g(v,h),false));this.updateEditModelContext(t,n,e,"rootEditVisible",I)}if(M){this.updateEditModelContext(M,n,e,"rootEditEnabled",I)}}}},updateEditModelContext:function(e,t,n,o,i){if(e){var s,a,l;const d=new r({anyText:e});d.setBindingContext(null);t.addDependent(d);d.getBinding("anyText");const c=(s=d.getModel())===null||s===void 0?void 0:(a=s.bindContext(n.getPath(),n,{$$groupId:"$auto.Heroes"}))===null||a===void 0?void 0:a.getBoundContext();d.setBindingContext(c);d===null||d===void 0?void 0:(l=d.getBinding("anyText"))===null||l===void 0?void 0:l.attachChange(e=>{const t=e.getSource().getExternalValue();i.setProperty(o,t)})}},_setActionEnablementForTable:function(e,n,o,i,s){n.setProperty(`dynamicActions/${o}`,{bEnabled:false,aApplicable:[],aNotApplicable:[]});const a=[],l=[],r=`${n.getPath()}/dynamicActions/${o}/bEnabled`;if(typeof i==="object"&&i!==null&&i!==undefined){if(e){const t=e.getObject();const o=m(i,"PathInModel",function(e){return t?h(t[e.path]):h(false)},true);const s=E(o);if(s==="true"){n.getModel().setProperty(r,true);a.push(e)}else{l.push(e)}}t.setDynamicActionContexts(n,o,a,l)}else{const a=e===null||e===void 0?void 0:e.getObject();if(i===null&&!!a[`#${o}`]){n.getModel().setProperty(r,true)}else if(e!==undefined){s.push(t.requestProperty(e,o,i,r))}}return s},getIsActionCritical:function(e,t){let o=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];let i=true;const s=p(e);const a=s.resolvePath(t);const l=a.target;if(!l){return i}const r=v(l,s);if(y(r)){i=C(r,false,undefined,true)}else if(o.length>0){const e=new n({anyBoolean:E(r)});e.setModel(o[0].getModel());e.setBindingContext(o[0]);i=e.getBinding("anyBoolean").getExternalValue();e.destroy()}return i}};return M},false);
6
6
  //# sourceMappingURL=ActionRuntime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionRuntime.js","names":["sap","ui","define","merge","CommonUtils","BindingToolkit","ModelHelper","TypeGuards","Message","AnyElement","ConverterContext","HeaderAndFooterAction","getHiddenExpression","getEditButtonEnabled","isEntitySet","transformRecursively","equal","constant","compileExpression","ActionRuntime","_addMessageForActionParameter","messageManager","messageParameters","addMessages","map","messageParameter","binding","actionParameterInfo","field","getBinding","isMultiValue","message","type","processor","getModel","persistent","target","getResolvedPath","validateProperties","async","actionParameterInfos","resourceModel","Promise","allSettled","validationPromise","requiredParameterInfos","filter","parameterInfo","getRequired","allMessages","getMessageModel","getData","emptyRequiredFields","requiredParameterInfo","fieldId","getId","relevantMessages","msg","getControlIds","some","controlId","includes","length","value","undefined","fieldValue","getValue","this","_actionParameterInfo$","getText","getParent","getAggregation","firstInvalidParameter","find","hasError","getValueState","focus","setActionEnablement","oInternalModelContext","oActionOperationAvailableMap","aSelectedContexts","sControl","aPromises","sAction","aRequestPromises","setProperty","sProperty","i","oSelectedContext","oContextData","getObject","_setActionEnablementForTable","bEnabled","aApplicable","aNotApplicable","push","setContextsBasedOnOperationAvailable","all","setActionEnablementAfterPatch","oView","oListBinding","oInternalModelContextData","oControls","controls","sKey","oTable","byId","isA","oRowBinding","getRowBinding","getBindingContext","JSON","parse","data","customData","getSelectedContexts","updateEditButtonVisibilityAndEnablement","_oView$getViewData","_oView$getModel","iViewLevel","getViewData","viewLevel","isEditable","getProperty","_oContext$getModel$ge","_entitySet$annotation","_entitySet$annotation2","oContext","oAppComponent","getAppComponent","sMetaPath","getMetaPathForContext","sEntitySet","getRootEntitySetPath","metaContext","getMetaModel","getContext","getPath","converterContext","createConverterContextForMacro","getDiagnostics","entitySet","getEntitySet","entityType","getEntityType","updateHidden","bUpdateHidden","annotations","UI","UpdateHidden","valueOf","isUpdateHidden","sEditEnableBinding","draftRootPath","getDraftRootPath","sStickyRootPath","getStickyRootPath","sPath","oRootContext","bindContext","getBoundContext","sHiddenExpression","updateEditModelContext","sBindingExpression","_oHiddenElement$getMo","_oHiddenElement$getMo2","_oHiddenElement$getBi","oHiddenElement","anyText","setBindingContext","addDependent","$$groupId","attachChange","oEvent","oNewValue","getSource","getExternalValue","sDynamicActionEnabledPath","oTransformedBinding","oBindingExpression","path","sResult","setDynamicActionContexts","requestProperty"],"sources":["ActionRuntime-dbg.js"],"mappings":"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"}
1
+ {"version":3,"file":"ActionRuntime.js","names":["sap","ui","define","merge","CommonUtils","Any","BindingToolkit","ModelHelper","TypeGuards","ActionHelper","Message","AnyElement","ConverterContext","MetaModelConverter","HeaderAndFooterAction","getHiddenExpression","getEditButtonEnabled","convertTypes","getIsActionCriticalExpression","isEntitySet","transformRecursively","isConstant","equal","constant","compileExpression","compileConstant","ActionRuntime","_addMessageForActionParameter","messageManager","messageParameters","addMessages","map","messageParameter","binding","actionParameterInfo","field","getBinding","isMultiValue","message","type","processor","getModel","persistent","target","getResolvedPath","validateProperties","async","actionParameterInfos","resourceModel","Promise","allSettled","validationPromise","requiredParameterInfos","filter","parameterInfo","getRequired","allMessages","getMessageModel","getData","emptyRequiredFields","requiredParameterInfo","fieldId","getId","relevantMessages","msg","getControlIds","some","controlId","includes","length","value","undefined","fieldValue","getValue","this","_actionParameterInfo$","getText","getParent","getAggregation","firstInvalidParameter","find","hasError","getValueState","focus","setActionEnablement","oInternalModelContext","oActionOperationAvailableMap","aSelectedContexts","sControl","aPromises","sAction","aRequestPromises","setProperty","sProperty","element","oSelectedContext","oContextData","getObject","_setActionEnablementForTable","bEnabled","aApplicable","aNotApplicable","push","setContextsBasedOnOperationAvailable","all","setActionEnablementAfterPatch","oView","oListBinding","oInternalModelContextData","oControls","controls","sKey","oTable","byId","isA","oRowBinding","getRowBinding","getBindingContext","JSON","parse","data","customData","getSelectedContexts","updateEditButtonVisibilityAndEnablement","_oView$getViewData","_oView$getModel","iViewLevel","getViewData","viewLevel","isEditable","getProperty","_oContext$getModel$ge","_entitySet$annotation","_entitySet$annotation2","oContext","oAppComponent","getAppComponent","sMetaPath","getMetaPathForContext","sEntitySet","getRootEntitySetPath","metaContext","getMetaModel","getContext","getPath","converterContext","createConverterContextForMacro","getDiagnostics","entitySet","getEntitySet","entityType","getEntityType","updateHidden","bUpdateHidden","annotations","UI","UpdateHidden","valueOf","isUpdateHidden","sEditEnableBinding","draftRootPath","getDraftRootPath","sStickyRootPath","getStickyRootPath","sPath","oRootContext","bindContext","getBoundContext","sHiddenExpression","updateEditModelContext","sBindingExpression","_oHiddenElement$getMo","_oHiddenElement$getMo2","_oHiddenElement$getBi","oHiddenElement","anyText","setBindingContext","addDependent","$$groupId","attachChange","oEvent","oNewValue","getSource","getExternalValue","sDynamicActionEnabledPath","oTransformedBinding","oBindingExpression","path","sResult","setDynamicActionContexts","requestProperty","getIsActionCritical","metaModel","contexts","arguments","isActionCriticalValue","convertedTypes","actionTargetResolution","resolvePath","actionTarget","isActionCriticalBindingExp","anyObject","anyBoolean","setModel","destroy"],"sources":["ActionRuntime-dbg.js"],"mappings":"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"}
@@ -1,29 +1,33 @@
1
- import type { PrimitiveType } from "@sap-ux/vocabularies-types";
1
+ import type { Action as EdmAction, PrimitiveType } from "@sap-ux/vocabularies-types";
2
2
  import merge from "sap/base/util/merge";
3
3
  import type { FEView } from "sap/fe/core/BaseController";
4
4
  import type { _RequestedProperty } from "sap/fe/core/CommonUtils";
5
5
  import CommonUtils from "sap/fe/core/CommonUtils";
6
+ import type ResourceModel from "sap/fe/core/ResourceModel";
7
+ import Any from "sap/fe/core/controls/Any";
6
8
  import type { PathInModelExpression } from "sap/fe/core/helpers/BindingToolkit";
7
- import { compileExpression, constant, equal, transformRecursively } from "sap/fe/core/helpers/BindingToolkit";
9
+ import { compileConstant, compileExpression, constant, equal, isConstant, transformRecursively } from "sap/fe/core/helpers/BindingToolkit";
8
10
  import type { InternalModelContext } from "sap/fe/core/helpers/ModelHelper";
9
11
  import ModelHelper from "sap/fe/core/helpers/ModelHelper";
10
12
  import { isEntitySet } from "sap/fe/core/helpers/TypeGuards";
11
- import type ResourceModel from "sap/fe/core/ResourceModel";
13
+ import { getIsActionCriticalExpression } from "sap/fe/core/templating/ActionHelper";
12
14
  import type Label from "sap/m/Label";
13
15
  import type Event from "sap/ui/base/Event";
14
16
  import Message from "sap/ui/core/message/Message";
15
17
  import type MessageManager from "sap/ui/core/message/MessageManager";
16
18
  import type View from "sap/ui/core/mvc/View";
17
19
  import type Field from "sap/ui/mdc/Field";
18
- import type MultiValueFieldItem from "sap/ui/mdc/field/MultiValueFieldItem";
19
20
  import type MultiValueField from "sap/ui/mdc/MultiValueField";
20
21
  import type Table from "sap/ui/mdc/Table";
22
+ import type MultiValueFieldItem from "sap/ui/mdc/field/MultiValueFieldItem";
23
+ import type PropertyBinding from "sap/ui/model/PropertyBinding";
21
24
  import type Context from "sap/ui/model/odata/v4/Context";
22
25
  import type ODataListBinding from "sap/ui/model/odata/v4/ODataListBinding";
23
- import type PropertyBinding from "sap/ui/model/PropertyBinding";
26
+ import type ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
24
27
  import AnyElement from "./controls/AnyElement";
25
28
  import ConverterContext from "./converters/ConverterContext";
26
29
  import type { BaseManifestSettings } from "./converters/ManifestSettings";
30
+ import { convertTypes } from "./converters/MetaModelConverter";
27
31
  import { getEditButtonEnabled, getHiddenExpression } from "./converters/objectPage/HeaderAndFooterAction";
28
32
 
29
33
  type ActionParameter = {
@@ -153,8 +157,8 @@ const ActionRuntime = {
153
157
  let aRequestPromises: Promise<_RequestedProperty>[] = [];
154
158
  oInternalModelContext.setProperty(sAction, false);
155
159
  const sProperty = oActionOperationAvailableMap[sAction];
156
- for (let i = 0; i < aSelectedContexts.length; i++) {
157
- const oSelectedContext = aSelectedContexts[i];
160
+ for (const element of aSelectedContexts) {
161
+ const oSelectedContext = element;
158
162
  if (oSelectedContext) {
159
163
  const oContextData = oSelectedContext.getObject() as Record<string, unknown>;
160
164
  if (sControl === "chart") {
@@ -221,7 +225,10 @@ const ActionRuntime = {
221
225
  const oAppComponent = CommonUtils.getAppComponent(oView);
222
226
  const sMetaPath = ModelHelper.getMetaPathForContext(oContext);
223
227
  const sEntitySet = ModelHelper.getRootEntitySetPath(sMetaPath);
224
- const metaContext = oContext?.getModel().getMetaModel()?.getContext(oContext?.getPath());
228
+ const metaContext = oContext
229
+ ?.getModel()
230
+ .getMetaModel()
231
+ ?.getContext(oContext?.getPath());
225
232
  const converterContext = ConverterContext?.createConverterContextForMacro(
226
233
  sEntitySet,
227
234
  metaContext,
@@ -238,7 +245,7 @@ const ActionRuntime = {
238
245
  updateHidden = ModelHelper.isUpdateHidden(entitySet, entityType);
239
246
  }
240
247
  //Find the operation available property of the root edit configuration and fetch the property using AnyElement
241
- const sEditEnableBinding = getEditButtonEnabled(converterContext, undefined);
248
+ const sEditEnableBinding = getEditButtonEnabled(converterContext);
242
249
  const draftRootPath = ModelHelper.getDraftRootPath(oContext);
243
250
  const sStickyRootPath = ModelHelper.getStickyRootPath(oContext);
244
251
  const sPath = draftRootPath || sStickyRootPath;
@@ -331,6 +338,41 @@ const ActionRuntime = {
331
338
  }
332
339
  }
333
340
  return aRequestPromises;
341
+ },
342
+
343
+ /**
344
+ * Check if action is critical.
345
+ *
346
+ * @param metaModel MetaModel
347
+ * @param path Path to the action
348
+ * @param contexts Contexts in case of bound actions.
349
+ * @returns Boolean indicating action is critical
350
+ */
351
+ getIsActionCritical: function (metaModel: ODataMetaModel, path: string, contexts: Context[] = []): Boolean {
352
+ // default is true.
353
+ let isActionCriticalValue = true;
354
+ const convertedTypes = convertTypes(metaModel);
355
+ const actionTargetResolution = convertedTypes.resolvePath<EdmAction>(path);
356
+ const actionTarget = actionTargetResolution.target;
357
+ if (!actionTarget) {
358
+ return isActionCriticalValue;
359
+ }
360
+
361
+ const isActionCriticalBindingExp = getIsActionCriticalExpression(actionTarget, convertedTypes);
362
+
363
+ if (isConstant(isActionCriticalBindingExp)) {
364
+ // Constant expression resolves to "true" or "false". But, we need boolean.
365
+ isActionCriticalValue = compileConstant(isActionCriticalBindingExp, false, undefined, true);
366
+ } else if (contexts.length > 0) {
367
+ // We evaluate the value of the expression via a UI5 managed object instance.
368
+ const anyObject = new Any({ anyBoolean: compileExpression(isActionCriticalBindingExp) });
369
+ anyObject.setModel(contexts[0].getModel());
370
+ anyObject.setBindingContext(contexts[0]);
371
+ isActionCriticalValue = anyObject.getBinding("anyBoolean").getExternalValue();
372
+ anyObject.destroy();
373
+ }
374
+
375
+ return isActionCriticalValue;
334
376
  }
335
377
  };
336
378
  export default ActionRuntime;