@sapui5/sap.fe.core 1.113.0 → 1.115.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 (375) 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 +68 -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 +120 -4
  7. package/src/sap/fe/core/AppComponent-dbg.js +8 -2
  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 +19 -3
  11. package/src/sap/fe/core/AppStateHandler-dbg.js +14 -10
  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 +17 -11
  15. package/src/sap/fe/core/BaseController-dbg.js +1 -1
  16. package/src/sap/fe/core/BaseController.ts +13 -2
  17. package/src/sap/fe/core/CommonUtils-dbg.js +74 -317
  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 +96 -473
  21. package/src/sap/fe/core/ExtensionAPI-dbg.js +1 -1
  22. package/src/sap/fe/core/ExtensionAPI.ts +2 -2
  23. package/src/sap/fe/core/StateFilterToSelectionVariant-dbg.js +263 -0
  24. package/src/sap/fe/core/StateFilterToSelectionVariant.js +6 -0
  25. package/src/sap/fe/core/StateFilterToSelectionVariant.js.map +1 -0
  26. package/src/sap/fe/core/StateFilterToSelectionVariant.ts +316 -0
  27. package/src/sap/fe/core/TemplateComponent-dbg.js +1 -1
  28. package/src/sap/fe/core/TemplateComponent.ts +6 -0
  29. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +10 -3
  30. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +1 -1
  31. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -1
  32. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +8 -1
  33. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +1 -1
  34. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +1 -0
  35. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +8 -8
  36. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -1
  37. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.ts +7 -7
  38. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +1 -1
  39. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +1 -1
  40. package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +68 -36
  41. package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
  42. package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
  43. package/src/sap/fe/core/controllerextensions/EditFlow.ts +83 -43
  44. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +12 -11
  45. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
  46. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -1
  47. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +17 -21
  48. package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +233 -133
  49. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
  50. package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
  51. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +260 -145
  52. package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +1 -1
  53. package/src/sap/fe/core/controllerextensions/MassEdit.ts +3 -3
  54. package/src/sap/fe/core/controllerextensions/Routing-dbg.js +5 -3
  55. package/src/sap/fe/core/controllerextensions/Routing.js.map +1 -1
  56. package/src/sap/fe/core/controllerextensions/Routing.ts +5 -4
  57. package/src/sap/fe/core/controllerextensions/Share-dbg.js +3 -2
  58. package/src/sap/fe/core/controllerextensions/Share.js +1 -1
  59. package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
  60. package/src/sap/fe/core/controllerextensions/Share.ts +2 -1
  61. package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +19 -14
  62. package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
  63. package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -1
  64. package/src/sap/fe/core/controllerextensions/SideEffects.ts +25 -18
  65. package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +40 -26
  66. package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
  67. package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -1
  68. package/src/sap/fe/core/controllerextensions/ViewState.ts +59 -33
  69. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +8 -8
  70. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +1 -1
  71. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -1
  72. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +23 -25
  73. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +7 -45
  74. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +1 -1
  75. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -1
  76. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +5 -48
  77. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog-dbg.js +2 -2
  78. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +1 -1
  79. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js.map +1 -1
  80. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.tsx +7 -3
  81. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +73 -90
  82. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
  83. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
  84. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +88 -101
  85. package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +26 -4
  86. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +1 -1
  87. package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -1
  88. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +29 -3
  89. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup-dbg.js +13 -10
  90. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +1 -1
  91. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
  92. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +7 -20
  93. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +64 -4
  94. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +1 -1
  95. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -1
  96. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +91 -8
  97. package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +2 -4
  98. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
  99. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
  100. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +3 -5
  101. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +9 -9
  102. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
  103. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
  104. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +8 -8
  105. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -0
  106. package/src/sap/fe/core/controls/CommandExecution-dbg.js +4 -9
  107. package/src/sap/fe/core/controls/CommandExecution.js +1 -1
  108. package/src/sap/fe/core/controls/CommandExecution.js.map +1 -1
  109. package/src/sap/fe/core/controls/CommandExecution.ts +0 -8
  110. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block-dbg.js +335 -0
  111. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js +6 -0
  112. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js.map +1 -0
  113. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.tsx +336 -0
  114. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -0
  115. package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +3 -28
  116. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +1 -1
  117. package/src/sap/fe/core/controls/filterbar/VisualFilter.js.map +1 -1
  118. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +8 -29
  119. package/src/sap/fe/core/controls/filterbar/adapter/SelectionVariantToStateFilters-dbg.js +435 -0
  120. package/src/sap/fe/core/controls/filterbar/adapter/SelectionVariantToStateFilters.js +6 -0
  121. package/src/sap/fe/core/controls/filterbar/adapter/SelectionVariantToStateFilters.js.map +1 -0
  122. package/src/sap/fe/core/controls/filterbar/adapter/SelectionVariantToStateFilters.ts +532 -0
  123. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +30 -1
  124. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +1 -1
  125. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -1
  126. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +38 -0
  127. package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -1
  128. package/src/sap/fe/core/converters/ManifestSettings.ts +7 -5
  129. package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +36 -4
  130. package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  131. package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -1
  132. package/src/sap/fe/core/converters/MetaModelConverter.ts +45 -4
  133. package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -3
  134. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  135. package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
  136. package/src/sap/fe/core/converters/TemplateConverter.ts +1 -6
  137. package/src/sap/fe/core/converters/annotations/DataField-dbg.js +18 -3
  138. package/src/sap/fe/core/converters/annotations/DataField.js +1 -1
  139. package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -1
  140. package/src/sap/fe/core/converters/annotations/DataField.ts +18 -2
  141. package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +679 -676
  142. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
  143. package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
  144. package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +32 -20
  145. package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
  146. package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
  147. package/src/sap/fe/core/converters/controls/Common/Chart.ts +30 -18
  148. package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +4 -5
  149. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
  150. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
  151. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +6 -37
  152. package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +100 -72
  153. package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
  154. package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
  155. package/src/sap/fe/core/converters/controls/Common/Table.ts +146 -99
  156. package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +37 -10
  157. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
  158. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
  159. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +49 -16
  160. package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +47 -18
  161. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
  162. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -1
  163. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +74 -20
  164. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +26 -9
  165. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
  166. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -1
  167. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +24 -8
  168. package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +28 -2
  169. package/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
  170. package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
  171. package/src/sap/fe/core/converters/helpers/Aggregation.ts +28 -9
  172. package/src/sap/fe/core/converters/helpers/InsightsHelpers-dbg.js +39 -0
  173. package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +6 -0
  174. package/src/sap/fe/core/converters/helpers/InsightsHelpers.js.map +1 -0
  175. package/src/sap/fe/core/converters/helpers/InsightsHelpers.ts +45 -0
  176. package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +13 -15
  177. package/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
  178. package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -1
  179. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +18 -54
  180. package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +12 -12
  181. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
  182. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -1
  183. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +16 -11
  184. package/src/sap/fe/core/formatters/CollaborationFormatter-dbg.js +17 -33
  185. package/src/sap/fe/core/formatters/CollaborationFormatter.js +1 -1
  186. package/src/sap/fe/core/formatters/CollaborationFormatter.js.map +1 -1
  187. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +27 -22
  188. package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +5 -11
  189. package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
  190. package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -1
  191. package/src/sap/fe/core/formatters/ValueFormatter.ts +4 -25
  192. package/src/sap/fe/core/fpm/Component-dbg.js +3 -1
  193. package/src/sap/fe/core/fpm/Component.js +1 -1
  194. package/src/sap/fe/core/fpm/Component.js.map +1 -1
  195. package/src/sap/fe/core/fpm/Component.ts +3 -1
  196. package/src/sap/fe/core/fpm/manifest.json +1 -1
  197. package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +74 -26
  198. package/src/sap/fe/core/helpers/BindingToolkit.js +1 -1
  199. package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
  200. package/src/sap/fe/core/helpers/BindingToolkit.ts +116 -33
  201. package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +82 -37
  202. package/src/sap/fe/core/helpers/DeleteHelper.js +1 -1
  203. package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -1
  204. package/src/sap/fe/core/helpers/DeleteHelper.ts +109 -56
  205. package/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +1 -1
  206. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +7 -5
  207. package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +13 -3
  208. package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
  209. package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
  210. package/src/sap/fe/core/helpers/MassEditHelper.ts +28 -18
  211. package/src/sap/fe/core/helpers/MessageStrip-dbg.js +1 -1
  212. package/src/sap/fe/core/helpers/MessageStrip.ts +2 -1
  213. package/src/sap/fe/core/helpers/ModelHelper-dbg.js +1 -1
  214. package/src/sap/fe/core/helpers/ModelHelper.ts +3 -3
  215. package/src/sap/fe/core/helpers/RecommendationHelper-dbg.js +71 -0
  216. package/src/sap/fe/core/helpers/RecommendationHelper.js +6 -0
  217. package/src/sap/fe/core/helpers/RecommendationHelper.js.map +1 -0
  218. package/src/sap/fe/core/helpers/RecommendationHelper.ts +94 -0
  219. package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +5 -2
  220. package/src/sap/fe/core/helpers/ResourceModelHelper.js +1 -1
  221. package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -1
  222. package/src/sap/fe/core/helpers/ResourceModelHelper.ts +5 -0
  223. package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +24 -2
  224. package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
  225. package/src/sap/fe/core/helpers/StableIdHelper.js.map +1 -1
  226. package/src/sap/fe/core/helpers/StableIdHelper.ts +23 -1
  227. package/src/sap/fe/core/helpers/TitleHelper-dbg.js +239 -0
  228. package/src/sap/fe/core/helpers/TitleHelper.js +6 -0
  229. package/src/sap/fe/core/helpers/TitleHelper.js.map +1 -0
  230. package/src/sap/fe/core/helpers/TitleHelper.ts +295 -0
  231. package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +4 -1
  232. package/src/sap/fe/core/jsx-runtime/ViewLoader.js +1 -1
  233. package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +1 -1
  234. package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +3 -0
  235. package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +41 -17
  236. package/src/sap/fe/core/jsx-runtime/jsx-control.js +1 -1
  237. package/src/sap/fe/core/jsx-runtime/jsx-control.js.map +1 -1
  238. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +45 -21
  239. package/src/sap/fe/core/jsx-runtime/jsx-dbg.js +1 -1
  240. package/src/sap/fe/core/jsx-runtime/jsx.ts +1 -0
  241. package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +8 -4
  242. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +1 -1
  243. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +1 -1
  244. package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +7 -2
  245. package/src/sap/fe/core/library-dbg.js +4 -3
  246. package/src/sap/fe/core/library-preload.js +91 -74
  247. package/src/sap/fe/core/library-preload.js.map +1 -1
  248. package/src/sap/fe/core/library.js +1 -1
  249. package/src/sap/fe/core/library.js.map +1 -1
  250. package/src/sap/fe/core/library.ts +1 -1
  251. package/src/sap/fe/core/manifest.json +1 -1
  252. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +4 -3
  253. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  254. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +1 -1
  255. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +3 -2
  256. package/src/sap/fe/core/messagebundle.properties +12 -8
  257. package/src/sap/fe/core/messagebundle_ar.properties +7 -5
  258. package/src/sap/fe/core/messagebundle_bg.properties +7 -5
  259. package/src/sap/fe/core/messagebundle_ca.properties +7 -5
  260. package/src/sap/fe/core/messagebundle_cs.properties +7 -5
  261. package/src/sap/fe/core/messagebundle_cy.properties +7 -5
  262. package/src/sap/fe/core/messagebundle_da.properties +7 -5
  263. package/src/sap/fe/core/messagebundle_de.properties +7 -5
  264. package/src/sap/fe/core/messagebundle_el.properties +7 -5
  265. package/src/sap/fe/core/messagebundle_en.properties +7 -5
  266. package/src/sap/fe/core/messagebundle_en_GB.properties +6 -4
  267. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +7 -4
  268. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +6 -4
  269. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +7 -4
  270. package/src/sap/fe/core/messagebundle_es.properties +7 -5
  271. package/src/sap/fe/core/messagebundle_es_MX.properties +7 -5
  272. package/src/sap/fe/core/messagebundle_et.properties +7 -5
  273. package/src/sap/fe/core/messagebundle_fi.properties +7 -5
  274. package/src/sap/fe/core/messagebundle_fr.properties +7 -5
  275. package/src/sap/fe/core/messagebundle_fr_CA.properties +8 -6
  276. package/src/sap/fe/core/messagebundle_hi.properties +7 -5
  277. package/src/sap/fe/core/messagebundle_hr.properties +7 -5
  278. package/src/sap/fe/core/messagebundle_hu.properties +7 -5
  279. package/src/sap/fe/core/messagebundle_id.properties +7 -5
  280. package/src/sap/fe/core/messagebundle_it.properties +8 -6
  281. package/src/sap/fe/core/messagebundle_iw.properties +7 -5
  282. package/src/sap/fe/core/messagebundle_ja.properties +7 -5
  283. package/src/sap/fe/core/messagebundle_kk.properties +7 -5
  284. package/src/sap/fe/core/messagebundle_ko.properties +7 -5
  285. package/src/sap/fe/core/messagebundle_lt.properties +7 -5
  286. package/src/sap/fe/core/messagebundle_lv.properties +7 -5
  287. package/src/sap/fe/core/messagebundle_ms.properties +7 -5
  288. package/src/sap/fe/core/messagebundle_nl.properties +7 -5
  289. package/src/sap/fe/core/messagebundle_no.properties +7 -5
  290. package/src/sap/fe/core/messagebundle_pl.properties +7 -5
  291. package/src/sap/fe/core/messagebundle_pt.properties +7 -5
  292. package/src/sap/fe/core/messagebundle_pt_PT.properties +7 -5
  293. package/src/sap/fe/core/messagebundle_ro.properties +7 -5
  294. package/src/sap/fe/core/messagebundle_ru.properties +7 -5
  295. package/src/sap/fe/core/messagebundle_sh.properties +7 -5
  296. package/src/sap/fe/core/messagebundle_sk.properties +7 -5
  297. package/src/sap/fe/core/messagebundle_sl.properties +7 -5
  298. package/src/sap/fe/core/messagebundle_sv.properties +7 -5
  299. package/src/sap/fe/core/messagebundle_th.properties +7 -5
  300. package/src/sap/fe/core/messagebundle_tr.properties +7 -5
  301. package/src/sap/fe/core/messagebundle_uk.properties +7 -5
  302. package/src/sap/fe/core/messagebundle_vi.properties +7 -5
  303. package/src/sap/fe/core/messagebundle_zh_CN.properties +7 -5
  304. package/src/sap/fe/core/messagebundle_zh_TW.properties +7 -5
  305. package/src/sap/fe/core/operationsHelper-dbg.js +1 -1
  306. package/src/sap/fe/core/operationsHelper.ts +1 -1
  307. package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +8 -2
  308. package/src/sap/fe/core/rootView/Fcl.controller.js +1 -1
  309. package/src/sap/fe/core/rootView/Fcl.controller.js.map +1 -1
  310. package/src/sap/fe/core/rootView/Fcl.controller.ts +8 -1
  311. package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +8 -2
  312. package/src/sap/fe/core/rootView/NavContainer.controller.js +1 -1
  313. package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -1
  314. package/src/sap/fe/core/rootView/NavContainer.controller.ts +10 -3
  315. package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +16 -6
  316. package/src/sap/fe/core/rootView/RootViewBaseController.js +1 -1
  317. package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -1
  318. package/src/sap/fe/core/rootView/RootViewBaseController.ts +10 -4
  319. package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +54 -5
  320. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  321. package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
  322. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +52 -6
  323. package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +31 -14
  324. package/src/sap/fe/core/services/NavigationServiceFactory.js +1 -1
  325. package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
  326. package/src/sap/fe/core/services/NavigationServiceFactory.ts +15 -1
  327. package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +10 -4
  328. package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
  329. package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
  330. package/src/sap/fe/core/services/RoutingServiceFactory.ts +29 -7
  331. package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +5 -2
  332. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
  333. package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -1
  334. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +9 -5
  335. package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +1 -2
  336. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
  337. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +2 -18
  338. package/src/sap/fe/core/templating/CommonFormatters-dbg.js +8 -8
  339. package/src/sap/fe/core/templating/CommonFormatters.js.map +1 -1
  340. package/src/sap/fe/core/templating/CommonFormatters.ts +9 -9
  341. package/src/sap/fe/core/templating/CriticalityFormatters-dbg.js +1 -1
  342. package/src/sap/fe/core/templating/CriticalityFormatters.ts +2 -2
  343. package/src/sap/fe/core/templating/DataFieldFormatters-dbg.js +38 -2
  344. package/src/sap/fe/core/templating/DataFieldFormatters.js +1 -1
  345. package/src/sap/fe/core/templating/DataFieldFormatters.js.map +1 -1
  346. package/src/sap/fe/core/templating/DataFieldFormatters.ts +40 -0
  347. package/src/sap/fe/core/templating/FieldControlHelper-dbg.js +5 -6
  348. package/src/sap/fe/core/templating/FieldControlHelper.js +1 -1
  349. package/src/sap/fe/core/templating/FieldControlHelper.js.map +1 -1
  350. package/src/sap/fe/core/templating/FieldControlHelper.ts +13 -11
  351. package/src/sap/fe/core/templating/FilterHelper-dbg.js +13 -1
  352. package/src/sap/fe/core/templating/FilterHelper.js +1 -1
  353. package/src/sap/fe/core/templating/FilterHelper.js.map +1 -1
  354. package/src/sap/fe/core/templating/FilterHelper.ts +13 -1
  355. package/src/sap/fe/core/templating/PropertyHelper-dbg.js +1 -1
  356. package/src/sap/fe/core/templating/PropertyHelper.ts +7 -7
  357. package/src/sap/fe/core/templating/UIFormatters-dbg.js +5 -6
  358. package/src/sap/fe/core/templating/UIFormatters.js +1 -1
  359. package/src/sap/fe/core/templating/UIFormatters.js.map +1 -1
  360. package/src/sap/fe/core/templating/UIFormatters.ts +6 -7
  361. package/src/sap/fe/core/type/TypeUtil-dbg.js +2 -2
  362. package/src/sap/fe/core/type/TypeUtil.js +1 -1
  363. package/src/sap/fe/core/type/TypeUtil.js.map +1 -1
  364. package/src/sap/fe/core/type/TypeUtil.ts +2 -2
  365. package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +0 -243
  366. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +0 -6
  367. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +0 -1
  368. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +0 -283
  369. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +0 -121
  370. package/src/sap/fe/core/controllerextensions/collaboration/UserDetails.fragment.xml +0 -11
  371. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +0 -59
  372. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +0 -171
  373. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +0 -6
  374. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +0 -1
  375. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +0 -184
@@ -18,9 +18,12 @@ sap.ui.define(["sap/fe/core/helpers/TypeGuards"], function (TypeGuards) {
18
18
  *
19
19
  * @param entityType The EntityType
20
20
  * @param converterContext The ConverterContext
21
+ * @param [considerOldAnnotations] The flag to indicate whether or not to consider old annotations
21
22
  */
22
23
  function AggregationHelper(entityType, converterContext) {
23
24
  var _this$oTargetAggregat;
25
+ let considerOldAnnotations = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
26
+ //considerOldAnnotations will be true and sent only for chart
24
27
  this._entityType = entityType;
25
28
  this._converterContext = converterContext;
26
29
  this._oAggregationAnnotationTarget = this._determineAggregationAnnotationTarget();
@@ -34,6 +37,13 @@ sap.ui.define(["sap/fe/core/helpers/TypeGuards"], function (TypeGuards) {
34
37
  this._aAggregatableProperties = (_this$oTargetAggregat4 = this.oTargetAggregationAnnotations) === null || _this$oTargetAggregat4 === void 0 ? void 0 : (_this$oTargetAggregat5 = _this$oTargetAggregat4.ApplySupported) === null || _this$oTargetAggregat5 === void 0 ? void 0 : _this$oTargetAggregat5.AggregatableProperties;
35
38
  this.oContainerAggregationAnnotation = converterContext.getEntityContainer().annotations.Aggregation;
36
39
  }
40
+ if (!this._aAggregatableProperties && considerOldAnnotations) {
41
+ const entityProperties = this._getEntityProperties();
42
+ this._aAggregatableProperties = entityProperties === null || entityProperties === void 0 ? void 0 : entityProperties.filter(property => {
43
+ var _property$annotations, _property$annotations2;
44
+ return (_property$annotations = property.annotations) === null || _property$annotations === void 0 ? void 0 : (_property$annotations2 = _property$annotations.Aggregation) === null || _property$annotations2 === void 0 ? void 0 : _property$annotations2.Aggregatable;
45
+ });
46
+ }
37
47
  }
38
48
 
39
49
  /**
@@ -168,8 +178,24 @@ sap.ui.define(["sap/fe/core/helpers/TypeGuards"], function (TypeGuards) {
168
178
  _proto._getAggregatableAggregates = function _getAggregatableAggregates(property) {
169
179
  const aAggregatableProperties = this.getAggregatableProperties() || [];
170
180
  return aAggregatableProperties.find(function (obj) {
171
- return obj.Property.value === (property.qualifier ? property.qualifier : property.$target.name);
181
+ var _obj$Property;
182
+ const prop = property.qualifier ? property.qualifier : property.$target.name;
183
+ if (obj !== null && obj !== void 0 && (_obj$Property = obj.Property) !== null && _obj$Property !== void 0 && _obj$Property.value) {
184
+ return obj.Property.value === prop;
185
+ }
186
+ return (obj === null || obj === void 0 ? void 0 : obj.name) === prop;
172
187
  });
188
+ };
189
+ _proto._getEntityProperties = function _getEntityProperties() {
190
+ let entityProperties;
191
+ if (isEntitySet(this._oAggregationAnnotationTarget)) {
192
+ var _this$_oAggregationAn, _this$_oAggregationAn2;
193
+ entityProperties = (_this$_oAggregationAn = this._oAggregationAnnotationTarget) === null || _this$_oAggregationAn === void 0 ? void 0 : (_this$_oAggregationAn2 = _this$_oAggregationAn.entityType) === null || _this$_oAggregationAn2 === void 0 ? void 0 : _this$_oAggregationAn2.entityProperties;
194
+ } else if (isEntityType(this._oAggregationAnnotationTarget)) {
195
+ var _this$_oAggregationAn3;
196
+ entityProperties = (_this$_oAggregationAn3 = this._oAggregationAnnotationTarget) === null || _this$_oAggregationAn3 === void 0 ? void 0 : _this$_oAggregationAn3.entityProperties;
197
+ }
198
+ return entityProperties;
173
199
  }
174
200
 
175
201
  /**
@@ -199,4 +225,4 @@ sap.ui.define(["sap/fe/core/helpers/TypeGuards"], function (TypeGuards) {
199
225
  _exports.AggregationHelper = AggregationHelper;
200
226
  return _exports;
201
227
  }, false);
202
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBZ2dyZWdhdGlvbkhlbHBlciIsImVudGl0eVR5cGUiLCJjb252ZXJ0ZXJDb250ZXh0IiwiX2VudGl0eVR5cGUiLCJfY29udmVydGVyQ29udGV4dCIsIl9vQWdncmVnYXRpb25Bbm5vdGF0aW9uVGFyZ2V0IiwiX2RldGVybWluZUFnZ3JlZ2F0aW9uQW5ub3RhdGlvblRhcmdldCIsImlzTmF2aWdhdGlvblByb3BlcnR5IiwiaXNFbnRpdHlUeXBlIiwiaXNFbnRpdHlTZXQiLCJvVGFyZ2V0QWdncmVnYXRpb25Bbm5vdGF0aW9ucyIsImFubm90YXRpb25zIiwiQWdncmVnYXRpb24iLCJfYkFwcGx5U3VwcG9ydGVkIiwiQXBwbHlTdXBwb3J0ZWQiLCJfYUdyb3VwYWJsZVByb3BlcnRpZXMiLCJHcm91cGFibGVQcm9wZXJ0aWVzIiwiX2FBZ2dyZWdhdGFibGVQcm9wZXJ0aWVzIiwiQWdncmVnYXRhYmxlUHJvcGVydGllcyIsIm9Db250YWluZXJBZ2dyZWdhdGlvbkFubm90YXRpb24iLCJnZXRFbnRpdHlDb250YWluZXIiLCJiSXNQYXJhbWV0ZXJpemVkIiwiZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCIsInRhcmdldEVudGl0eVNldCIsIkNvbW1vbiIsIlJlc3VsdENvbnRleHQiLCJvQWdncmVnYXRpb25Bbm5vdGF0aW9uU291cmNlIiwib0RhdGFNb2RlbE9iamVjdFBhdGgiLCJvTmF2aWdhdGlvblByb3BlcnR5T2JqZWN0IiwidGFyZ2V0T2JqZWN0Iiwib0VudGl0eVR5cGVPYmplY3QiLCJ0YXJnZXRFbnRpdHlUeXBlIiwib0VudGl0eVNldE9iamVjdCIsImdldEVudGl0eVNldCIsImdldEVudGl0eVR5cGUiLCJpc0FuYWx5dGljc1N1cHBvcnRlZCIsImlzUHJvcGVydHlHcm91cGFibGUiLCJwcm9wZXJ0eSIsInVuZGVmaW5lZCIsImxlbmd0aCIsImZpbmRJbmRleCIsInBhdGgiLCIkdGFyZ2V0IiwiZnVsbHlRdWFsaWZpZWROYW1lIiwiaXNQcm9wZXJ0eUFnZ3JlZ2F0YWJsZSIsImFDdXN0b21BZ2dyZWdhdGVBbm5vdGF0aW9ucyIsImdldEFubm90YXRpb25zQnlUZXJtIiwic29tZSIsImFubm90YXRpb24iLCJuYW1lIiwicXVhbGlmaWVyIiwiZ2V0R3JvdXBhYmxlUHJvcGVydGllcyIsImdldEFnZ3JlZ2F0YWJsZVByb3BlcnRpZXMiLCJnZXRBZ2dyZWdhdGVkUHJvcGVydGllcyIsIlRlcm0iLCJnZXRUcmFuc0FnZ3JlZ2F0aW9ucyIsImFBZ2dyZWdhdGVkUHJvcGVydHlPYmplY3RzIiwiZmlsdGVyIiwiYWdncmVnYXRlZFByb3BlcnR5IiwiX2dldEFnZ3JlZ2F0YWJsZUFnZ3JlZ2F0ZXMiLCJBZ2dyZWdhdGFibGVQcm9wZXJ0eSIsImFBZ2dyZWdhdGFibGVQcm9wZXJ0aWVzIiwiZmluZCIsIm9iaiIsIlByb3BlcnR5IiwidmFsdWUiLCJnZXRDdXN0b21BZ2dyZWdhdGVEZWZpbml0aW9ucyIsImdldEFsbG93ZWRUcmFuc2Zvcm1hdGlvbnMiLCJUcmFuc2Zvcm1hdGlvbnMiLCJBcHBseVN1cHBvcnRlZERlZmF1bHRzIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJBZ2dyZWdhdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFubm90YXRpb25UZXJtLCBFbnRpdHlTZXQsIEVudGl0eVR5cGUsIE5hdmlnYXRpb25Qcm9wZXJ0eSwgUHJvcGVydHksIFByb3BlcnR5UGF0aCB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBBZ2dyZWdhdGFibGVQcm9wZXJ0eVR5cGUsIEFwcGx5U3VwcG9ydGVkVHlwZSwgQ3VzdG9tQWdncmVnYXRlIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9BZ2dyZWdhdGlvblwiO1xuaW1wb3J0IHsgQWdncmVnYXRpb25Bbm5vdGF0aW9uVGVybXMgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL0FnZ3JlZ2F0aW9uXCI7XG5pbXBvcnQgdHlwZSB7XG5cdENvbGxlY3Rpb25Bbm5vdGF0aW9uc19BZ2dyZWdhdGlvbixcblx0RW50aXR5Q29udGFpbmVyQW5ub3RhdGlvbnNfQWdncmVnYXRpb24sXG5cdEVudGl0eVNldEFubm90YXRpb25zX0FnZ3JlZ2F0aW9uLFxuXHRFbnRpdHlUeXBlQW5ub3RhdGlvbnNfQWdncmVnYXRpb25cbn0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9BZ2dyZWdhdGlvbl9FZG1cIjtcbmltcG9ydCB0eXBlIHsgQWdncmVnYXRlZFByb3BlcnR5VHlwZSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvQW5hbHl0aWNzXCI7XG5pbXBvcnQgeyBpc0VudGl0eVNldCwgaXNFbnRpdHlUeXBlLCBpc05hdmlnYXRpb25Qcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1R5cGVHdWFyZHNcIjtcbmltcG9ydCB0eXBlIENvbnZlcnRlckNvbnRleHQgZnJvbSBcIi4uL0NvbnZlcnRlckNvbnRleHRcIjtcblxuLyoqXG4gKiBoZWxwZXIgY2xhc3MgZm9yIEFnZ3JlZ2F0aW9uIGFubm90YXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgQWdncmVnYXRpb25IZWxwZXIge1xuXHRfZW50aXR5VHlwZTogRW50aXR5VHlwZTtcblxuXHRfY29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dDtcblxuXHRfYkFwcGx5U3VwcG9ydGVkOiBib29sZWFuO1xuXG5cdF9hR3JvdXBhYmxlUHJvcGVydGllcz86IFByb3BlcnR5UGF0aFtdO1xuXG5cdF9hQWdncmVnYXRhYmxlUHJvcGVydGllcz87XG5cblx0X29BZ2dyZWdhdGlvbkFubm90YXRpb25UYXJnZXQ6IEVudGl0eVR5cGUgfCBFbnRpdHlTZXQgfCBOYXZpZ2F0aW9uUHJvcGVydHk7XG5cblx0b1RhcmdldEFnZ3JlZ2F0aW9uQW5ub3RhdGlvbnM/OlxuXHRcdHwgQ29sbGVjdGlvbkFubm90YXRpb25zX0FnZ3JlZ2F0aW9uXG5cdFx0fCBFbnRpdHlUeXBlQW5ub3RhdGlvbnNfQWdncmVnYXRpb25cblx0XHR8IEVudGl0eVNldEFubm90YXRpb25zX0FnZ3JlZ2F0aW9uO1xuXG5cdG9Db250YWluZXJBZ2dyZWdhdGlvbkFubm90YXRpb24/OiBFbnRpdHlDb250YWluZXJBbm5vdGF0aW9uc19BZ2dyZWdhdGlvbjtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIGhlbHBlciBmb3IgYSBzcGVjaWZpYyBlbnRpdHkgdHlwZSBhbmQgYSBjb252ZXJ0ZXIgY29udGV4dC5cblx0ICpcblx0ICogQHBhcmFtIGVudGl0eVR5cGUgVGhlIEVudGl0eVR5cGVcblx0ICogQHBhcmFtIGNvbnZlcnRlckNvbnRleHQgVGhlIENvbnZlcnRlckNvbnRleHRcblx0ICovXG5cdGNvbnN0cnVjdG9yKGVudGl0eVR5cGU6IEVudGl0eVR5cGUsIGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQpIHtcblx0XHR0aGlzLl9lbnRpdHlUeXBlID0gZW50aXR5VHlwZTtcblx0XHR0aGlzLl9jb252ZXJ0ZXJDb250ZXh0ID0gY29udmVydGVyQ29udGV4dDtcblxuXHRcdHRoaXMuX29BZ2dyZWdhdGlvbkFubm90YXRpb25UYXJnZXQgPSB0aGlzLl9kZXRlcm1pbmVBZ2dyZWdhdGlvbkFubm90YXRpb25UYXJnZXQoKTtcblx0XHRpZiAoXG5cdFx0XHRpc05hdmlnYXRpb25Qcm9wZXJ0eSh0aGlzLl9vQWdncmVnYXRpb25Bbm5vdGF0aW9uVGFyZ2V0KSB8fFxuXHRcdFx0aXNFbnRpdHlUeXBlKHRoaXMuX29BZ2dyZWdhdGlvbkFubm90YXRpb25UYXJnZXQpIHx8XG5cdFx0XHRpc0VudGl0eVNldCh0aGlzLl9vQWdncmVnYXRpb25Bbm5vdGF0aW9uVGFyZ2V0KVxuXHRcdCkge1xuXHRcdFx0dGhpcy5vVGFyZ2V0QWdncmVnYXRpb25Bbm5vdGF0aW9ucyA9IHRoaXMuX29BZ2dyZWdhdGlvbkFubm90YXRpb25UYXJnZXQuYW5ub3RhdGlvbnMuQWdncmVnYXRpb247XG5cdFx0fVxuXHRcdHRoaXMuX2JBcHBseVN1cHBvcnRlZCA9IHRoaXMub1RhcmdldEFnZ3JlZ2F0aW9uQW5ub3RhdGlvbnM/LkFwcGx5U3VwcG9ydGVkID8gdHJ1ZSA6IGZhbHNlO1xuXG5cdFx0aWYgKHRoaXMuX2JBcHBseVN1cHBvcnRlZCkge1xuXHRcdFx0dGhpcy5fYUdyb3VwYWJsZVByb3BlcnRpZXMgPSB0aGlzLm9UYXJnZXRBZ2dyZWdhdGlvbkFubm90YXRpb25zPy5BcHBseVN1cHBvcnRlZD8uR3JvdXBhYmxlUHJvcGVydGllcyBhcyBQcm9wZXJ0eVBhdGhbXTtcblx0XHRcdHRoaXMuX2FBZ2dyZWdhdGFibGVQcm9wZXJ0aWVzID0gdGhpcy5vVGFyZ2V0QWdncmVnYXRpb25Bbm5vdGF0aW9ucz8uQXBwbHlTdXBwb3J0ZWQ/LkFnZ3JlZ2F0YWJsZVByb3BlcnRpZXM7XG5cblx0XHRcdHRoaXMub0NvbnRhaW5lckFnZ3JlZ2F0aW9uQW5ub3RhdGlvbiA9IGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5Q29udGFpbmVyKCkuYW5ub3RhdGlvbnNcblx0XHRcdFx0LkFnZ3JlZ2F0aW9uIGFzIEVudGl0eUNvbnRhaW5lckFubm90YXRpb25zX0FnZ3JlZ2F0aW9uO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBEZXRlcm1pbmVzIHRoZSBtb3N0IGFwcHJvcHJpYXRlIHRhcmdldCBmb3IgdGhlIGFnZ3JlZ2F0aW9uIGFubm90YXRpb25zLlxuXHQgKlxuXHQgKiBAcmV0dXJucyAgRW50aXR5VHlwZSwgRW50aXR5U2V0IG9yIE5hdmlnYXRpb25Qcm9wZXJ0eSB3aGVyZSBhZ2dyZWdhdGlvbiBhbm5vdGF0aW9ucyBzaG91bGQgYmUgcmVhZCBmcm9tLlxuXHQgKi9cblx0cHJpdmF0ZSBfZGV0ZXJtaW5lQWdncmVnYXRpb25Bbm5vdGF0aW9uVGFyZ2V0KCk6IEVudGl0eVR5cGUgfCBFbnRpdHlTZXQgfCBOYXZpZ2F0aW9uUHJvcGVydHkge1xuXHRcdGNvbnN0IGJJc1BhcmFtZXRlcml6ZWQgPSB0aGlzLl9jb252ZXJ0ZXJDb250ZXh0LmdldERhdGFNb2RlbE9iamVjdFBhdGgoKT8udGFyZ2V0RW50aXR5U2V0Py5lbnRpdHlUeXBlPy5hbm5vdGF0aW9ucz8uQ29tbW9uXG5cdFx0XHQ/LlJlc3VsdENvbnRleHRcblx0XHRcdD8gdHJ1ZVxuXHRcdFx0OiBmYWxzZTtcblx0XHRsZXQgb0FnZ3JlZ2F0aW9uQW5ub3RhdGlvblNvdXJjZTtcblxuXHRcdC8vIGZpbmQgQXBwbHlTdXBwb3J0ZWRcblx0XHRpZiAoYklzUGFyYW1ldGVyaXplZCkge1xuXHRcdFx0Ly8gaWYgdGhpcyBpcyBhIHBhcmFtZXRlcml6ZWQgdmlldyB0aGVuIGFwcGx5c3VwcG9ydGVkIGNhbiBiZSBmb3VuZCBhdCBlaXRoZXIgdGhlIG5hdlByb3AgcG9pbnRpbmcgdG8gdGhlIHJlc3VsdCBzZXQgb3IgZW50aXR5VHlwZS5cblx0XHRcdC8vIElmIGFwcGx5U3VwcG9ydGVkIGlzIHByZXNlbnQgYXQgYm90aCB0aGUgbmF2UHJvcCBhbmQgdGhlIGVudGl0eVR5cGUgdGhlbiBuYXZQcm9wIGlzIG1vcmUgc3BlY2lmaWMgc28gdGFrZSBhbm5vdGF0aW9ucyBmcm9tIHRoZXJlXG5cdFx0XHQvLyB0YXJnZXRPYmplY3QgaW4gdGhlIGNvbnZlcnRlciBjb250ZXh0IGZvciBhIHBhcmFtZXRlcml6ZWQgdmlldyBpcyB0aGUgbmF2aWdhdGlvbiBwcm9wZXJ0eSBwb2ludGluZyB0byB0aCByZXN1bHQgc2V0XG5cdFx0XHRjb25zdCBvRGF0YU1vZGVsT2JqZWN0UGF0aCA9IHRoaXMuX2NvbnZlcnRlckNvbnRleHQuZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCgpO1xuXHRcdFx0Y29uc3Qgb05hdmlnYXRpb25Qcm9wZXJ0eU9iamVjdCA9IG9EYXRhTW9kZWxPYmplY3RQYXRoPy50YXJnZXRPYmplY3Q7XG5cdFx0XHRjb25zdCBvRW50aXR5VHlwZU9iamVjdCA9IG9EYXRhTW9kZWxPYmplY3RQYXRoPy50YXJnZXRFbnRpdHlUeXBlO1xuXHRcdFx0aWYgKG9OYXZpZ2F0aW9uUHJvcGVydHlPYmplY3Q/LmFubm90YXRpb25zPy5BZ2dyZWdhdGlvbj8uQXBwbHlTdXBwb3J0ZWQpIHtcblx0XHRcdFx0b0FnZ3JlZ2F0aW9uQW5ub3RhdGlvblNvdXJjZSA9IG9OYXZpZ2F0aW9uUHJvcGVydHlPYmplY3Q7XG5cdFx0XHR9IGVsc2UgaWYgKG9FbnRpdHlUeXBlT2JqZWN0Py5hbm5vdGF0aW9ucz8uQWdncmVnYXRpb24/LkFwcGx5U3VwcG9ydGVkKSB7XG5cdFx0XHRcdG9BZ2dyZWdhdGlvbkFubm90YXRpb25Tb3VyY2UgPSBvRW50aXR5VHlwZU9iamVjdDtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gRm9yIHRoZSB0aW1lIGJlaW5nLCB3ZSBpZ25vcmUgYW5ub3RhdGlvbnMgYXQgdGhlIGNvbnRhaW5lciBsZXZlbCwgdW50aWwgdGhlIHZvY2FidWxhcnkgaXMgc3RhYmlsaXplZFxuXHRcdFx0Y29uc3Qgb0VudGl0eVNldE9iamVjdCA9IHRoaXMuX2NvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0KCk7XG5cdFx0XHRpZiAoaXNFbnRpdHlTZXQob0VudGl0eVNldE9iamVjdCkgJiYgb0VudGl0eVNldE9iamVjdC5hbm5vdGF0aW9ucy5BZ2dyZWdhdGlvbj8uQXBwbHlTdXBwb3J0ZWQpIHtcblx0XHRcdFx0b0FnZ3JlZ2F0aW9uQW5ub3RhdGlvblNvdXJjZSA9IG9FbnRpdHlTZXRPYmplY3Q7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRvQWdncmVnYXRpb25Bbm5vdGF0aW9uU291cmNlID0gdGhpcy5fY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBvQWdncmVnYXRpb25Bbm5vdGF0aW9uU291cmNlO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgZW50aXR5IHN1cHBvcnRzIGFuYWx5dGljYWwgcXVlcmllcy5cblx0ICpcblx0ICogQHJldHVybnMgYHRydWVgIGlmIGFuYWx5dGljYWwgcXVlcmllcyBhcmUgc3VwcG9ydGVkLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgaXNBbmFseXRpY3NTdXBwb3J0ZWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2JBcHBseVN1cHBvcnRlZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYSBwcm9wZXJ0eSBpcyBncm91cGFibGUuXG5cdCAqXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gY2hlY2tcblx0ICogQHJldHVybnMgYHVuZGVmaW5lZGAgaWYgdGhlIGVudGl0eSBkb2Vzbid0IHN1cHBvcnQgYW5hbHl0aWNhbCBxdWVyaWVzLCB0cnVlIG9yIGZhbHNlIG90aGVyd2lzZVxuXHQgKi9cblx0cHVibGljIGlzUHJvcGVydHlHcm91cGFibGUocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKCF0aGlzLl9iQXBwbHlTdXBwb3J0ZWQpIHtcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fSBlbHNlIGlmICghdGhpcy5fYUdyb3VwYWJsZVByb3BlcnRpZXMgfHwgdGhpcy5fYUdyb3VwYWJsZVByb3BlcnRpZXMubGVuZ3RoID09PSAwKSB7XG5cdFx0XHQvLyBObyBncm91cGFibGVQcm9wZXJ0aWVzIC0tPiBhbGwgcHJvcGVydGllcyBhcmUgZ3JvdXBhYmxlXG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHRoaXMuX2FHcm91cGFibGVQcm9wZXJ0aWVzLmZpbmRJbmRleCgocGF0aCkgPT4gcGF0aC4kdGFyZ2V0LmZ1bGx5UXVhbGlmaWVkTmFtZSA9PT0gcHJvcGVydHkuZnVsbHlRdWFsaWZpZWROYW1lKSA+PSAwO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYSBwcm9wZXJ0eSBpcyBhZ2dyZWdhdGFibGUuXG5cdCAqXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gY2hlY2tcblx0ICogQHJldHVybnMgYHVuZGVmaW5lZGAgaWYgdGhlIGVudGl0eSBkb2Vzbid0IHN1cHBvcnQgYW5hbHl0aWNhbCBxdWVyaWVzLCB0cnVlIG9yIGZhbHNlIG90aGVyd2lzZVxuXHQgKi9cblx0cHVibGljIGlzUHJvcGVydHlBZ2dyZWdhdGFibGUocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKCF0aGlzLl9iQXBwbHlTdXBwb3J0ZWQpIHtcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIEdldCB0aGUgY3VzdG9tIGFnZ3JlZ2F0ZXNcblx0XHRcdGNvbnN0IGFDdXN0b21BZ2dyZWdhdGVBbm5vdGF0aW9uczogQ3VzdG9tQWdncmVnYXRlW10gPSB0aGlzLl9jb252ZXJ0ZXJDb250ZXh0LmdldEFubm90YXRpb25zQnlUZXJtKFxuXHRcdFx0XHRcIkFnZ3JlZ2F0aW9uXCIsXG5cdFx0XHRcdEFnZ3JlZ2F0aW9uQW5ub3RhdGlvblRlcm1zLkN1c3RvbUFnZ3JlZ2F0ZSxcblx0XHRcdFx0W3RoaXMuX29BZ2dyZWdhdGlvbkFubm90YXRpb25UYXJnZXRdXG5cdFx0XHQpO1xuXG5cdFx0XHQvLyBDaGVjayBpZiBhIGN1c3RvbSBhZ2dyZWdhdGUgaGFzIGEgcXVhbGlmaWVyIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIHByb3BlcnR5IG5hbWVcblx0XHRcdHJldHVybiBhQ3VzdG9tQWdncmVnYXRlQW5ub3RhdGlvbnMuc29tZSgoYW5ub3RhdGlvbikgPT4ge1xuXHRcdFx0XHRyZXR1cm4gcHJvcGVydHkubmFtZSA9PT0gYW5ub3RhdGlvbi5xdWFsaWZpZXI7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgZ2V0R3JvdXBhYmxlUHJvcGVydGllcygpIHtcblx0XHRyZXR1cm4gdGhpcy5fYUdyb3VwYWJsZVByb3BlcnRpZXM7XG5cdH1cblxuXHRwdWJsaWMgZ2V0QWdncmVnYXRhYmxlUHJvcGVydGllcygpIHtcblx0XHRyZXR1cm4gdGhpcy5fYUFnZ3JlZ2F0YWJsZVByb3BlcnRpZXM7XG5cdH1cblxuXHRwdWJsaWMgZ2V0RW50aXR5VHlwZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5fZW50aXR5VHlwZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIEFnZ3JlZ2F0ZWRQcm9wZXJ0aWVzIG9yIEFnZ3JlZ2F0ZWRQcm9wZXJ0eSBiYXNlZCBvbiBwYXJhbSBUZXJtLlxuXHQgKiBUaGUgVGVybSBoZXJlIGluZGljYXRlcyBpZiB0aGUgQWdncmVnYXRlZFByb3BlcnR5IHNob3VsZCBiZSByZXRyaWV2ZWQgb3IgdGhlIGRlcHJlY2F0ZWQgQWdncmVnYXRlZFByb3BlcnRpZXMuXG5cdCAqXG5cdCAqIEBwYXJhbSBUZXJtIFRoZSBBbm5vdGF0aW9uIFRlcm1cblx0ICogQHJldHVybnMgQW5ub3RhdGlvbnMgVGhlIGFwcHJvcHJpYXRlIGFubm90YXRpb25zIGJhc2VkIG9uIHRoZSBnaXZlbiBUZXJtLlxuXHQgKi9cblx0cHVibGljIGdldEFnZ3JlZ2F0ZWRQcm9wZXJ0aWVzKFRlcm06IFN0cmluZykge1xuXHRcdGlmIChUZXJtID09PSBcIkFnZ3JlZ2F0ZWRQcm9wZXJ0aWVzXCIpIHtcblx0XHRcdHJldHVybiB0aGlzLl9jb252ZXJ0ZXJDb250ZXh0LmdldEFubm90YXRpb25zQnlUZXJtKFwiQW5hbHl0aWNzXCIsIFwiY29tLnNhcC52b2NhYnVsYXJpZXMuQW5hbHl0aWNzLnYxLkFnZ3JlZ2F0ZWRQcm9wZXJ0aWVzXCIsIFtcblx0XHRcdFx0dGhpcy5fY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlDb250YWluZXIoKSxcblx0XHRcdFx0dGhpcy5fY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKClcblx0XHRcdF0pO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5fY29udmVydGVyQ29udGV4dC5nZXRBbm5vdGF0aW9uc0J5VGVybShcIkFuYWx5dGljc1wiLCBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLkFuYWx5dGljcy52MS5BZ2dyZWdhdGVkUHJvcGVydHlcIiwgW1xuXHRcdFx0dGhpcy5fY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlDb250YWluZXIoKSxcblx0XHRcdHRoaXMuX2NvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZSgpXG5cdFx0XSk7XG5cdH1cblxuXHQvLyByZXRpcnZlIGFsbCB0cmFuc2Zvcm1hdGlvbiBhZ2dyZWdhdGVzIGJ5IHByaW9yaXRpemluZyBBZ2dyZWdhdGVkUHJvcGVydHkgb3ZlciBBZ2dyZWdhdGVkUHJvcGVydGllcyBvYmplY3RzXG5cdHB1YmxpYyBnZXRUcmFuc0FnZ3JlZ2F0aW9ucygpIHtcblx0XHRsZXQgYUFnZ3JlZ2F0ZWRQcm9wZXJ0eU9iamVjdHMgPSB0aGlzLmdldEFnZ3JlZ2F0ZWRQcm9wZXJ0aWVzKFwiQWdncmVnYXRlZFByb3BlcnR5XCIpO1xuXHRcdGlmICghYUFnZ3JlZ2F0ZWRQcm9wZXJ0eU9iamVjdHMgfHwgYUFnZ3JlZ2F0ZWRQcm9wZXJ0eU9iamVjdHMubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRhQWdncmVnYXRlZFByb3BlcnR5T2JqZWN0cyA9IHRoaXMuZ2V0QWdncmVnYXRlZFByb3BlcnRpZXMoXCJBZ2dyZWdhdGVkUHJvcGVydGllc1wiKVswXTtcblx0XHR9XG5cdFx0cmV0dXJuIGFBZ2dyZWdhdGVkUHJvcGVydHlPYmplY3RzPy5maWx0ZXIoKGFnZ3JlZ2F0ZWRQcm9wZXJ0eTogQWdncmVnYXRlZFByb3BlcnR5VHlwZSkgPT4ge1xuXHRcdFx0aWYgKHRoaXMuX2dldEFnZ3JlZ2F0YWJsZUFnZ3JlZ2F0ZXMoYWdncmVnYXRlZFByb3BlcnR5LkFnZ3JlZ2F0YWJsZVByb3BlcnR5KSkge1xuXHRcdFx0XHRyZXR1cm4gYWdncmVnYXRlZFByb3BlcnR5O1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrIGlmIGVhY2ggdHJhbnNmb3JtYXRpb24gaXMgYWdncmVnYXRhYmxlLlxuXHQgKlxuXHQgKiBAcGFyYW0gcHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIGNoZWNrXG5cdCAqIEByZXR1cm5zICdhZ2dyZWdhdGVkUHJvcGVydHknXG5cdCAqL1xuXG5cdHByaXZhdGUgX2dldEFnZ3JlZ2F0YWJsZUFnZ3JlZ2F0ZXMocHJvcGVydHk6IFByb3BlcnR5UGF0aCB8IEFubm90YXRpb25UZXJtPEN1c3RvbUFnZ3JlZ2F0ZT4pIHtcblx0XHRjb25zdCBhQWdncmVnYXRhYmxlUHJvcGVydGllcyA9ICh0aGlzLmdldEFnZ3JlZ2F0YWJsZVByb3BlcnRpZXMoKSBhcyBBcHBseVN1cHBvcnRlZFR5cGVbXCJBZ2dyZWdhdGFibGVQcm9wZXJ0aWVzXCJdKSB8fCBbXTtcblx0XHRyZXR1cm4gYUFnZ3JlZ2F0YWJsZVByb3BlcnRpZXMuZmluZChmdW5jdGlvbiAob2JqOiBBZ2dyZWdhdGFibGVQcm9wZXJ0eVR5cGUpIHtcblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdG9iai5Qcm9wZXJ0eS52YWx1ZSA9PT1cblx0XHRcdFx0KChwcm9wZXJ0eSBhcyBBbm5vdGF0aW9uVGVybTxDdXN0b21BZ2dyZWdhdGU+KS5xdWFsaWZpZXJcblx0XHRcdFx0XHQ/IChwcm9wZXJ0eSBhcyBBbm5vdGF0aW9uVGVybTxDdXN0b21BZ2dyZWdhdGU+KS5xdWFsaWZpZXJcblx0XHRcdFx0XHQ6IChwcm9wZXJ0eSBhcyBQcm9wZXJ0eVBhdGgpLiR0YXJnZXQubmFtZSlcblx0XHRcdCk7XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgbGlzdCBvZiBjdXN0b20gYWdncmVnYXRlIGRlZmluaXRpb25zIGZvciB0aGUgZW50aXR5IHR5cGUuXG5cdCAqXG5cdCAqIEByZXR1cm5zIEEgbWFwIChwcm9wZXJ0eU5hbWUgLS0+IGFycmF5IG9mIGNvbnRleHQtZGVmaW5pbmcgcHJvcGVydHkgbmFtZXMpIGZvciBlYWNoIGN1c3RvbSBhZ2dyZWdhdGUgY29ycmVzcG9uZGluZyB0byBhIHByb3BlcnR5LiBUaGUgYXJyYXkgb2Zcblx0ICogY29udGV4dC1kZWZpbmluZyBwcm9wZXJ0eSBuYW1lcyBpcyBlbXB0eSBpZiB0aGUgY3VzdG9tIGFnZ3JlZ2F0ZSBkb2Vzbid0IGhhdmUgYW55IGNvbnRleHQtZGVmaW5pbmcgcHJvcGVydHkuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Q3VzdG9tQWdncmVnYXRlRGVmaW5pdGlvbnMoKSB7XG5cdFx0Ly8gR2V0IHRoZSBjdXN0b20gYWdncmVnYXRlc1xuXHRcdGNvbnN0IGFDdXN0b21BZ2dyZWdhdGVBbm5vdGF0aW9uczogQ3VzdG9tQWdncmVnYXRlW10gPSB0aGlzLl9jb252ZXJ0ZXJDb250ZXh0LmdldEFubm90YXRpb25zQnlUZXJtKFxuXHRcdFx0XCJBZ2dyZWdhdGlvblwiLFxuXHRcdFx0QWdncmVnYXRpb25Bbm5vdGF0aW9uVGVybXMuQ3VzdG9tQWdncmVnYXRlLFxuXHRcdFx0W3RoaXMuX29BZ2dyZWdhdGlvbkFubm90YXRpb25UYXJnZXRdXG5cdFx0KTtcblx0XHRyZXR1cm4gYUN1c3RvbUFnZ3JlZ2F0ZUFubm90YXRpb25zO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGxpc3Qgb2YgYWxsb3dlZCB0cmFuc2Zvcm1hdGlvbnMgaW4gdGhlICRhcHBseS5cblx0ICogRmlyc3QgbG9vayBhdCB0aGUgY3VycmVudCBFbnRpdHlTZXQsIHRoZW4gbG9vayBhdCB0aGUgZGVmYXVsdCB2YWx1ZXMgcHJvdmlkZWQgYXQgdGhlIGNvbnRhaW5lciBsZXZlbC5cblx0ICpcblx0ICogQHJldHVybnMgVGhlIGxpc3Qgb2YgdHJhbnNmb3JtYXRpb25zLCBvciB1bmRlZmluZWQgaWYgbm8gbGlzdCBpcyBmb3VuZFxuXHQgKi9cblx0cHVibGljIGdldEFsbG93ZWRUcmFuc2Zvcm1hdGlvbnMoKTogU3RyaW5nW10gfCB1bmRlZmluZWQge1xuXHRcdHJldHVybiAoXG5cdFx0XHQodGhpcy5vVGFyZ2V0QWdncmVnYXRpb25Bbm5vdGF0aW9ucz8uQXBwbHlTdXBwb3J0ZWQ/LlRyYW5zZm9ybWF0aW9ucyBhcyBTdHJpbmdbXSkgfHxcblx0XHRcdCh0aGlzLm9Db250YWluZXJBZ2dyZWdhdGlvbkFubm90YXRpb24/LkFwcGx5U3VwcG9ydGVkRGVmYXVsdHM/LlRyYW5zZm9ybWF0aW9ucyBhcyBTdHJpbmdbXSlcblx0XHQpO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7O0VBYUE7QUFDQTtBQUNBO0VBRkEsSUFHYUEsaUJBQWlCO0lBb0I3QjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDQywyQkFBWUMsVUFBc0IsRUFBRUMsZ0JBQWtDLEVBQUU7TUFBQTtNQUN2RSxJQUFJLENBQUNDLFdBQVcsR0FBR0YsVUFBVTtNQUM3QixJQUFJLENBQUNHLGlCQUFpQixHQUFHRixnQkFBZ0I7TUFFekMsSUFBSSxDQUFDRyw2QkFBNkIsR0FBRyxJQUFJLENBQUNDLHFDQUFxQyxFQUFFO01BQ2pGLElBQ0NDLG9CQUFvQixDQUFDLElBQUksQ0FBQ0YsNkJBQTZCLENBQUMsSUFDeERHLFlBQVksQ0FBQyxJQUFJLENBQUNILDZCQUE2QixDQUFDLElBQ2hESSxXQUFXLENBQUMsSUFBSSxDQUFDSiw2QkFBNkIsQ0FBQyxFQUM5QztRQUNELElBQUksQ0FBQ0ssNkJBQTZCLEdBQUcsSUFBSSxDQUFDTCw2QkFBNkIsQ0FBQ00sV0FBVyxDQUFDQyxXQUFXO01BQ2hHO01BQ0EsSUFBSSxDQUFDQyxnQkFBZ0IsR0FBRyw2QkFBSSxDQUFDSCw2QkFBNkIsa0RBQWxDLHNCQUFvQ0ksY0FBYyxHQUFHLElBQUksR0FBRyxLQUFLO01BRXpGLElBQUksSUFBSSxDQUFDRCxnQkFBZ0IsRUFBRTtRQUFBO1FBQzFCLElBQUksQ0FBQ0UscUJBQXFCLDZCQUFHLElBQUksQ0FBQ0wsNkJBQTZCLHFGQUFsQyx1QkFBb0NJLGNBQWMsMkRBQWxELHVCQUFvREUsbUJBQXFDO1FBQ3RILElBQUksQ0FBQ0Msd0JBQXdCLDZCQUFH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
228
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBZ2dyZWdhdGlvbkhlbHBlciIsImVudGl0eVR5cGUiLCJjb252ZXJ0ZXJDb250ZXh0IiwiY29uc2lkZXJPbGRBbm5vdGF0aW9ucyIsIl9lbnRpdHlUeXBlIiwiX2NvbnZlcnRlckNvbnRleHQiLCJfb0FnZ3JlZ2F0aW9uQW5ub3RhdGlvblRhcmdldCIsIl9kZXRlcm1pbmVBZ2dyZWdhdGlvbkFubm90YXRpb25UYXJnZXQiLCJpc05hdmlnYXRpb25Qcm9wZXJ0eSIsImlzRW50aXR5VHlwZSIsImlzRW50aXR5U2V0Iiwib1RhcmdldEFnZ3JlZ2F0aW9uQW5ub3RhdGlvbnMiLCJhbm5vdGF0aW9ucyIsIkFnZ3JlZ2F0aW9uIiwiX2JBcHBseVN1cHBvcnRlZCIsIkFwcGx5U3VwcG9ydGVkIiwiX2FHcm91cGFibGVQcm9wZXJ0aWVzIiwiR3JvdXBhYmxlUHJvcGVydGllcyIsIl9hQWdncmVnYXRhYmxlUHJvcGVydGllcyIsIkFnZ3JlZ2F0YWJsZVByb3BlcnRpZXMiLCJvQ29udGFpbmVyQWdncmVnYXRpb25Bbm5vdGF0aW9uIiwiZ2V0RW50aXR5Q29udGFpbmVyIiwiZW50aXR5UHJvcGVydGllcyIsIl9nZXRFbnRpdHlQcm9wZXJ0aWVzIiwiZmlsdGVyIiwicHJvcGVydHkiLCJBZ2dyZWdhdGFibGUiLCJiSXNQYXJhbWV0ZXJpemVkIiwiZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCIsInRhcmdldEVudGl0eVNldCIsIkNvbW1vbiIsIlJlc3VsdENvbnRleHQiLCJvQWdncmVnYXRpb25Bbm5vdGF0aW9uU291cmNlIiwib0RhdGFNb2RlbE9iamVjdFBhdGgiLCJvTmF2aWdhdGlvblByb3BlcnR5T2JqZWN0IiwidGFyZ2V0T2JqZWN0Iiwib0VudGl0eVR5cGVPYmplY3QiLCJ0YXJnZXRFbnRpdHlUeXBlIiwib0VudGl0eVNldE9iamVjdCIsImdldEVudGl0eVNldCIsImdldEVudGl0eVR5cGUiLCJpc0FuYWx5dGljc1N1cHBvcnRlZCIsImlzUHJvcGVydHlHcm91cGFibGUiLCJ1bmRlZmluZWQiLCJsZW5ndGgiLCJmaW5kSW5kZXgiLCJwYXRoIiwiJHRhcmdldCIsImZ1bGx5UXVhbGlmaWVkTmFtZSIsImlzUHJvcGVydHlBZ2dyZWdhdGFibGUiLCJhQ3VzdG9tQWdncmVnYXRlQW5ub3RhdGlvbnMiLCJnZXRBbm5vdGF0aW9uc0J5VGVybSIsInNvbWUiLCJhbm5vdGF0aW9uIiwibmFtZSIsInF1YWxpZmllciIsImdldEdyb3VwYWJsZVByb3BlcnRpZXMiLCJnZXRBZ2dyZWdhdGFibGVQcm9wZXJ0aWVzIiwiZ2V0QWdncmVnYXRlZFByb3BlcnRpZXMiLCJUZXJtIiwiZ2V0VHJhbnNBZ2dyZWdhdGlvbnMiLCJhQWdncmVnYXRlZFByb3BlcnR5T2JqZWN0cyIsImFnZ3JlZ2F0ZWRQcm9wZXJ0eSIsIl9nZXRBZ2dyZWdhdGFibGVBZ2dyZWdhdGVzIiwiQWdncmVnYXRhYmxlUHJvcGVydHkiLCJhQWdncmVnYXRhYmxlUHJvcGVydGllcyIsImZpbmQiLCJvYmoiLCJwcm9wIiwiUHJvcGVydHkiLCJ2YWx1ZSIsImdldEN1c3RvbUFnZ3JlZ2F0ZURlZmluaXRpb25zIiwiZ2V0QWxsb3dlZFRyYW5zZm9ybWF0aW9ucyIsIlRyYW5zZm9ybWF0aW9ucyIsIkFwcGx5U3VwcG9ydGVkRGVmYXVsdHMiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkFnZ3JlZ2F0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQW5ub3RhdGlvblRlcm0sIEVudGl0eVNldCwgRW50aXR5VHlwZSwgTmF2aWdhdGlvblByb3BlcnR5LCBQcm9wZXJ0eSwgUHJvcGVydHlQYXRoIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IEFnZ3JlZ2F0YWJsZVByb3BlcnR5VHlwZSwgQXBwbHlTdXBwb3J0ZWRUeXBlLCBDdXN0b21BZ2dyZWdhdGUgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL0FnZ3JlZ2F0aW9uXCI7XG5pbXBvcnQgeyBBZ2dyZWdhdGlvbkFubm90YXRpb25UZXJtcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvQWdncmVnYXRpb25cIjtcbmltcG9ydCB0eXBlIHtcblx0Q29sbGVjdGlvbkFubm90YXRpb25zX0FnZ3JlZ2F0aW9uLFxuXHRFbnRpdHlDb250YWluZXJBbm5vdGF0aW9uc19BZ2dyZWdhdGlvbixcblx0RW50aXR5U2V0QW5ub3RhdGlvbnNfQWdncmVnYXRpb24sXG5cdEVudGl0eVR5cGVBbm5vdGF0aW9uc19BZ2dyZWdhdGlvblxufSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL0FnZ3JlZ2F0aW9uX0VkbVwiO1xuaW1wb3J0IHR5cGUgeyBBZ2dyZWdhdGVkUHJvcGVydHlUeXBlIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9BbmFseXRpY3NcIjtcbmltcG9ydCB7IGlzRW50aXR5U2V0LCBpc0VudGl0eVR5cGUsIGlzTmF2aWdhdGlvblByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvVHlwZUd1YXJkc1wiO1xuaW1wb3J0IHR5cGUgQ29udmVydGVyQ29udGV4dCBmcm9tIFwiLi4vQ29udmVydGVyQ29udGV4dFwiO1xuXG4vKipcbiAqIGhlbHBlciBjbGFzcyBmb3IgQWdncmVnYXRpb24gYW5ub3RhdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBZ2dyZWdhdGlvbkhlbHBlciB7XG5cdF9lbnRpdHlUeXBlOiBFbnRpdHlUeXBlO1xuXG5cdF9jb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0O1xuXG5cdF9iQXBwbHlTdXBwb3J0ZWQ6IGJvb2xlYW47XG5cblx0X2FHcm91cGFibGVQcm9wZXJ0aWVzPzogUHJvcGVydHlQYXRoW107XG5cblx0X2FBZ2dyZWdhdGFibGVQcm9wZXJ0aWVzPzogQWdncmVnYXRhYmxlUHJvcGVydHlUeXBlW10gfCBQcm9wZXJ0eVtdO1xuXG5cdF9vQWdncmVnYXRpb25Bbm5vdGF0aW9uVGFyZ2V0OiBFbnRpdHlUeXBlIHwgRW50aXR5U2V0IHwgTmF2aWdhdGlvblByb3BlcnR5O1xuXG5cdG9UYXJnZXRBZ2dyZWdhdGlvbkFubm90YXRpb25zPzpcblx0XHR8IENvbGxlY3Rpb25Bbm5vdGF0aW9uc19BZ2dyZWdhdGlvblxuXHRcdHwgRW50aXR5VHlwZUFubm90YXRpb25zX0FnZ3JlZ2F0aW9uXG5cdFx0fCBFbnRpdHlTZXRBbm5vdGF0aW9uc19BZ2dyZWdhdGlvbjtcblxuXHRvQ29udGFpbmVyQWdncmVnYXRpb25Bbm5vdGF0aW9uPzogRW50aXR5Q29udGFpbmVyQW5ub3RhdGlvbnNfQWdncmVnYXRpb247XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBoZWxwZXIgZm9yIGEgc3BlY2lmaWMgZW50aXR5IHR5cGUgYW5kIGEgY29udmVydGVyIGNvbnRleHQuXG5cdCAqXG5cdCAqIEBwYXJhbSBlbnRpdHlUeXBlIFRoZSBFbnRpdHlUeXBlXG5cdCAqIEBwYXJhbSBjb252ZXJ0ZXJDb250ZXh0IFRoZSBDb252ZXJ0ZXJDb250ZXh0XG5cdCAqIEBwYXJhbSBbY29uc2lkZXJPbGRBbm5vdGF0aW9uc10gVGhlIGZsYWcgdG8gaW5kaWNhdGUgd2hldGhlciBvciBub3QgdG8gY29uc2lkZXIgb2xkIGFubm90YXRpb25zXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihlbnRpdHlUeXBlOiBFbnRpdHlUeXBlLCBjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0LCBjb25zaWRlck9sZEFubm90YXRpb25zOiBib29sZWFuID0gZmFsc2UpIHtcblx0XHQvL2NvbnNpZGVyT2xkQW5ub3RhdGlvbnMgd2lsbCBiZSB0cnVlIGFuZCBzZW50IG9ubHkgZm9yIGNoYXJ0XG5cdFx0dGhpcy5fZW50aXR5VHlwZSA9IGVudGl0eVR5cGU7XG5cdFx0dGhpcy5fY29udmVydGVyQ29udGV4dCA9IGNvbnZlcnRlckNvbnRleHQ7XG5cblx0XHR0aGlzLl9vQWdncmVnYXRpb25Bbm5vdGF0aW9uVGFyZ2V0ID0gdGhpcy5fZGV0ZXJtaW5lQWdncmVnYXRpb25Bbm5vdGF0aW9uVGFyZ2V0KCk7XG5cdFx0aWYgKFxuXHRcdFx0aXNOYXZpZ2F0aW9uUHJvcGVydHkodGhpcy5fb0FnZ3JlZ2F0aW9uQW5ub3RhdGlvblRhcmdldCkgfHxcblx0XHRcdGlzRW50aXR5VHlwZSh0aGlzLl9vQWdncmVnYXRpb25Bbm5vdGF0aW9uVGFyZ2V0KSB8fFxuXHRcdFx0aXNFbnRpdHlTZXQodGhpcy5fb0FnZ3JlZ2F0aW9uQW5ub3RhdGlvblRhcmdldClcblx0XHQpIHtcblx0XHRcdHRoaXMub1RhcmdldEFnZ3JlZ2F0aW9uQW5ub3RhdGlvbnMgPSB0aGlzLl9vQWdncmVnYXRpb25Bbm5vdGF0aW9uVGFyZ2V0LmFubm90YXRpb25zLkFnZ3JlZ2F0aW9uO1xuXHRcdH1cblx0XHR0aGlzLl9iQXBwbHlTdXBwb3J0ZWQgPSB0aGlzLm9UYXJnZXRBZ2dyZWdhdGlvbkFubm90YXRpb25zPy5BcHBseVN1cHBvcnRlZCA/IHRydWUgOiBmYWxzZTtcblxuXHRcdGlmICh0aGlzLl9iQXBwbHlTdXBwb3J0ZWQpIHtcblx0XHRcdHRoaXMuX2FHcm91cGFibGVQcm9wZXJ0aWVzID0gdGhpcy5vVGFyZ2V0QWdncmVnYXRpb25Bbm5vdGF0aW9ucz8uQXBwbHlTdXBwb3J0ZWQ/Lkdyb3VwYWJsZVByb3BlcnRpZXMgYXMgUHJvcGVydHlQYXRoW107XG5cdFx0XHR0aGlzLl9hQWdncmVnYXRhYmxlUHJvcGVydGllcyA9IHRoaXMub1RhcmdldEFnZ3JlZ2F0aW9uQW5ub3RhdGlvbnM/LkFwcGx5U3VwcG9ydGVkPy5BZ2dyZWdhdGFibGVQcm9wZXJ0aWVzO1xuXG5cdFx0XHR0aGlzLm9Db250YWluZXJBZ2dyZWdhdGlvbkFubm90YXRpb24gPSBjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eUNvbnRhaW5lcigpLmFubm90YXRpb25zXG5cdFx0XHRcdC5BZ2dyZWdhdGlvbiBhcyBFbnRpdHlDb250YWluZXJBbm5vdGF0aW9uc19BZ2dyZWdhdGlvbjtcblx0XHR9XG5cdFx0aWYgKCF0aGlzLl9hQWdncmVnYXRhYmxlUHJvcGVydGllcyAmJiBjb25zaWRlck9sZEFubm90YXRpb25zKSB7XG5cdFx0XHRjb25zdCBlbnRpdHlQcm9wZXJ0aWVzID0gdGhpcy5fZ2V0RW50aXR5UHJvcGVydGllcygpO1xuXHRcdFx0dGhpcy5fYUFnZ3JlZ2F0YWJsZVByb3BlcnRpZXMgPSBlbnRpdHlQcm9wZXJ0aWVzPy5maWx0ZXIoKHByb3BlcnR5KSA9PiB7XG5cdFx0XHRcdHJldHVybiBwcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQWdncmVnYXRpb24/LkFnZ3JlZ2F0YWJsZTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBEZXRlcm1pbmVzIHRoZSBtb3N0IGFwcHJvcHJpYXRlIHRhcmdldCBmb3IgdGhlIGFnZ3JlZ2F0aW9uIGFubm90YXRpb25zLlxuXHQgKlxuXHQgKiBAcmV0dXJucyAgRW50aXR5VHlwZSwgRW50aXR5U2V0IG9yIE5hdmlnYXRpb25Qcm9wZXJ0eSB3aGVyZSBhZ2dyZWdhdGlvbiBhbm5vdGF0aW9ucyBzaG91bGQgYmUgcmVhZCBmcm9tLlxuXHQgKi9cblx0cHJpdmF0ZSBfZGV0ZXJtaW5lQWdncmVnYXRpb25Bbm5vdGF0aW9uVGFyZ2V0KCk6IEVudGl0eVR5cGUgfCBFbnRpdHlTZXQgfCBOYXZpZ2F0aW9uUHJvcGVydHkge1xuXHRcdGNvbnN0IGJJc1BhcmFtZXRlcml6ZWQgPSB0aGlzLl9jb252ZXJ0ZXJDb250ZXh0LmdldERhdGFNb2RlbE9iamVjdFBhdGgoKT8udGFyZ2V0RW50aXR5U2V0Py5lbnRpdHlUeXBlPy5hbm5vdGF0aW9ucz8uQ29tbW9uXG5cdFx0XHQ/LlJlc3VsdENvbnRleHRcblx0XHRcdD8gdHJ1ZVxuXHRcdFx0OiBmYWxzZTtcblx0XHRsZXQgb0FnZ3JlZ2F0aW9uQW5ub3RhdGlvblNvdXJjZTtcblxuXHRcdC8vIGZpbmQgQXBwbHlTdXBwb3J0ZWRcblx0XHRpZiAoYklzUGFyYW1ldGVyaXplZCkge1xuXHRcdFx0Ly8gaWYgdGhpcyBpcyBhIHBhcmFtZXRlcml6ZWQgdmlldyB0aGVuIGFwcGx5c3VwcG9ydGVkIGNhbiBiZSBmb3VuZCBhdCBlaXRoZXIgdGhlIG5hdlByb3AgcG9pbnRpbmcgdG8gdGhlIHJlc3VsdCBzZXQgb3IgZW50aXR5VHlwZS5cblx0XHRcdC8vIElmIGFwcGx5U3VwcG9ydGVkIGlzIHByZXNlbnQgYXQgYm90aCB0aGUgbmF2UHJvcCBhbmQgdGhlIGVudGl0eVR5cGUgdGhlbiBuYXZQcm9wIGlzIG1vcmUgc3BlY2lmaWMgc28gdGFrZSBhbm5vdGF0aW9ucyBmcm9tIHRoZXJlXG5cdFx0XHQvLyB0YXJnZXRPYmplY3QgaW4gdGhlIGNvbnZlcnRlciBjb250ZXh0IGZvciBhIHBhcmFtZXRlcml6ZWQgdmlldyBpcyB0aGUgbmF2aWdhdGlvbiBwcm9wZXJ0eSBwb2ludGluZyB0byB0aCByZXN1bHQgc2V0XG5cdFx0XHRjb25zdCBvRGF0YU1vZGVsT2JqZWN0UGF0aCA9IHRoaXMuX2NvbnZlcnRlckNvbnRleHQuZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCgpO1xuXHRcdFx0Y29uc3Qgb05hdmlnYXRpb25Qcm9wZXJ0eU9iamVjdCA9IG9EYXRhTW9kZWxPYmplY3RQYXRoPy50YXJnZXRPYmplY3Q7XG5cdFx0XHRjb25zdCBvRW50aXR5VHlwZU9iamVjdCA9IG9EYXRhTW9kZWxPYmplY3RQYXRoPy50YXJnZXRFbnRpdHlUeXBlO1xuXHRcdFx0aWYgKG9OYXZpZ2F0aW9uUHJvcGVydHlPYmplY3Q/LmFubm90YXRpb25zPy5BZ2dyZWdhdGlvbj8uQXBwbHlTdXBwb3J0ZWQpIHtcblx0XHRcdFx0b0FnZ3JlZ2F0aW9uQW5ub3RhdGlvblNvdXJjZSA9IG9OYXZpZ2F0aW9uUHJvcGVydHlPYmplY3Q7XG5cdFx0XHR9IGVsc2UgaWYgKG9FbnRpdHlUeXBlT2JqZWN0Py5hbm5vdGF0aW9ucz8uQWdncmVnYXRpb24/LkFwcGx5U3VwcG9ydGVkKSB7XG5cdFx0XHRcdG9BZ2dyZWdhdGlvbkFubm90YXRpb25Tb3VyY2UgPSBvRW50aXR5VHlwZU9iamVjdDtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gRm9yIHRoZSB0aW1lIGJlaW5nLCB3ZSBpZ25vcmUgYW5ub3RhdGlvbnMgYXQgdGhlIGNvbnRhaW5lciBsZXZlbCwgdW50aWwgdGhlIHZvY2FidWxhcnkgaXMgc3RhYmlsaXplZFxuXHRcdFx0Y29uc3Qgb0VudGl0eVNldE9iamVjdCA9IHRoaXMuX2NvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0KCk7XG5cdFx0XHRpZiAoaXNFbnRpdHlTZXQob0VudGl0eVNldE9iamVjdCkgJiYgb0VudGl0eVNldE9iamVjdC5hbm5vdGF0aW9ucy5BZ2dyZWdhdGlvbj8uQXBwbHlTdXBwb3J0ZWQpIHtcblx0XHRcdFx0b0FnZ3JlZ2F0aW9uQW5ub3RhdGlvblNvdXJjZSA9IG9FbnRpdHlTZXRPYmplY3Q7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRvQWdncmVnYXRpb25Bbm5vdGF0aW9uU291cmNlID0gdGhpcy5fY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBvQWdncmVnYXRpb25Bbm5vdGF0aW9uU291cmNlO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgZW50aXR5IHN1cHBvcnRzIGFuYWx5dGljYWwgcXVlcmllcy5cblx0ICpcblx0ICogQHJldHVybnMgYHRydWVgIGlmIGFuYWx5dGljYWwgcXVlcmllcyBhcmUgc3VwcG9ydGVkLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgaXNBbmFseXRpY3NTdXBwb3J0ZWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2JBcHBseVN1cHBvcnRlZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYSBwcm9wZXJ0eSBpcyBncm91cGFibGUuXG5cdCAqXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gY2hlY2tcblx0ICogQHJldHVybnMgYHVuZGVmaW5lZGAgaWYgdGhlIGVudGl0eSBkb2Vzbid0IHN1cHBvcnQgYW5hbHl0aWNhbCBxdWVyaWVzLCB0cnVlIG9yIGZhbHNlIG90aGVyd2lzZVxuXHQgKi9cblx0cHVibGljIGlzUHJvcGVydHlHcm91cGFibGUocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKCF0aGlzLl9iQXBwbHlTdXBwb3J0ZWQpIHtcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fSBlbHNlIGlmICghdGhpcy5fYUdyb3VwYWJsZVByb3BlcnRpZXMgfHwgdGhpcy5fYUdyb3VwYWJsZVByb3BlcnRpZXMubGVuZ3RoID09PSAwKSB7XG5cdFx0XHQvLyBObyBncm91cGFibGVQcm9wZXJ0aWVzIC0tPiBhbGwgcHJvcGVydGllcyBhcmUgZ3JvdXBhYmxlXG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHRoaXMuX2FHcm91cGFibGVQcm9wZXJ0aWVzLmZpbmRJbmRleCgocGF0aCkgPT4gcGF0aC4kdGFyZ2V0LmZ1bGx5UXVhbGlmaWVkTmFtZSA9PT0gcHJvcGVydHkuZnVsbHlRdWFsaWZpZWROYW1lKSA+PSAwO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYSBwcm9wZXJ0eSBpcyBhZ2dyZWdhdGFibGUuXG5cdCAqXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gY2hlY2tcblx0ICogQHJldHVybnMgYHVuZGVmaW5lZGAgaWYgdGhlIGVudGl0eSBkb2Vzbid0IHN1cHBvcnQgYW5hbHl0aWNhbCBxdWVyaWVzLCB0cnVlIG9yIGZhbHNlIG90aGVyd2lzZVxuXHQgKi9cblx0cHVibGljIGlzUHJvcGVydHlBZ2dyZWdhdGFibGUocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKCF0aGlzLl9iQXBwbHlTdXBwb3J0ZWQpIHtcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIEdldCB0aGUgY3VzdG9tIGFnZ3JlZ2F0ZXNcblx0XHRcdGNvbnN0IGFDdXN0b21BZ2dyZWdhdGVBbm5vdGF0aW9uczogQ3VzdG9tQWdncmVnYXRlW10gPSB0aGlzLl9jb252ZXJ0ZXJDb250ZXh0LmdldEFubm90YXRpb25zQnlUZXJtKFxuXHRcdFx0XHRcIkFnZ3JlZ2F0aW9uXCIsXG5cdFx0XHRcdEFnZ3JlZ2F0aW9uQW5ub3RhdGlvblRlcm1zLkN1c3RvbUFnZ3JlZ2F0ZSxcblx0XHRcdFx0W3RoaXMuX29BZ2dyZWdhdGlvbkFubm90YXRpb25UYXJnZXRdXG5cdFx0XHQpO1xuXG5cdFx0XHQvLyBDaGVjayBpZiBhIGN1c3RvbSBhZ2dyZWdhdGUgaGFzIGEgcXVhbGlmaWVyIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIHByb3BlcnR5IG5hbWVcblx0XHRcdHJldHVybiBhQ3VzdG9tQWdncmVnYXRlQW5ub3RhdGlvbnMuc29tZSgoYW5ub3RhdGlvbikgPT4ge1xuXHRcdFx0XHRyZXR1cm4gcHJvcGVydHkubmFtZSA9PT0gYW5ub3RhdGlvbi5xdWFsaWZpZXI7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgZ2V0R3JvdXBhYmxlUHJvcGVydGllcygpIHtcblx0XHRyZXR1cm4gdGhpcy5fYUdyb3VwYWJsZVByb3BlcnRpZXM7XG5cdH1cblxuXHRwdWJsaWMgZ2V0QWdncmVnYXRhYmxlUHJvcGVydGllcygpIHtcblx0XHRyZXR1cm4gdGhpcy5fYUFnZ3JlZ2F0YWJsZVByb3BlcnRpZXM7XG5cdH1cblxuXHRwdWJsaWMgZ2V0RW50aXR5VHlwZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5fZW50aXR5VHlwZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIEFnZ3JlZ2F0ZWRQcm9wZXJ0aWVzIG9yIEFnZ3JlZ2F0ZWRQcm9wZXJ0eSBiYXNlZCBvbiBwYXJhbSBUZXJtLlxuXHQgKiBUaGUgVGVybSBoZXJlIGluZGljYXRlcyBpZiB0aGUgQWdncmVnYXRlZFByb3BlcnR5IHNob3VsZCBiZSByZXRyaWV2ZWQgb3IgdGhlIGRlcHJlY2F0ZWQgQWdncmVnYXRlZFByb3BlcnRpZXMuXG5cdCAqXG5cdCAqIEBwYXJhbSBUZXJtIFRoZSBBbm5vdGF0aW9uIFRlcm1cblx0ICogQHJldHVybnMgQW5ub3RhdGlvbnMgVGhlIGFwcHJvcHJpYXRlIGFubm90YXRpb25zIGJhc2VkIG9uIHRoZSBnaXZlbiBUZXJtLlxuXHQgKi9cblx0cHVibGljIGdldEFnZ3JlZ2F0ZWRQcm9wZXJ0aWVzKFRlcm06IFN0cmluZykge1xuXHRcdGlmIChUZXJtID09PSBcIkFnZ3JlZ2F0ZWRQcm9wZXJ0aWVzXCIpIHtcblx0XHRcdHJldHVybiB0aGlzLl9jb252ZXJ0ZXJDb250ZXh0LmdldEFubm90YXRpb25zQnlUZXJtKFwiQW5hbHl0aWNzXCIsIFwiY29tLnNhcC52b2NhYnVsYXJpZXMuQW5hbHl0aWNzLnYxLkFnZ3JlZ2F0ZWRQcm9wZXJ0aWVzXCIsIFtcblx0XHRcdFx0dGhpcy5fY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlDb250YWluZXIoKSxcblx0XHRcdFx0dGhpcy5fY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKClcblx0XHRcdF0pO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5fY29udmVydGVyQ29udGV4dC5nZXRBbm5vdGF0aW9uc0J5VGVybShcIkFuYWx5dGljc1wiLCBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLkFuYWx5dGljcy52MS5BZ2dyZWdhdGVkUHJvcGVydHlcIiwgW1xuXHRcdFx0dGhpcy5fY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlDb250YWluZXIoKSxcblx0XHRcdHRoaXMuX2NvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZSgpXG5cdFx0XSk7XG5cdH1cblxuXHQvLyByZXRpcnZlIGFsbCB0cmFuc2Zvcm1hdGlvbiBhZ2dyZWdhdGVzIGJ5IHByaW9yaXRpemluZyBBZ2dyZWdhdGVkUHJvcGVydHkgb3ZlciBBZ2dyZWdhdGVkUHJvcGVydGllcyBvYmplY3RzXG5cdHB1YmxpYyBnZXRUcmFuc0FnZ3JlZ2F0aW9ucygpIHtcblx0XHRsZXQgYUFnZ3JlZ2F0ZWRQcm9wZXJ0eU9iamVjdHMgPSB0aGlzLmdldEFnZ3JlZ2F0ZWRQcm9wZXJ0aWVzKFwiQWdncmVnYXRlZFByb3BlcnR5XCIpO1xuXHRcdGlmICghYUFnZ3JlZ2F0ZWRQcm9wZXJ0eU9iamVjdHMgfHwgYUFnZ3JlZ2F0ZWRQcm9wZXJ0eU9iamVjdHMubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRhQWdncmVnYXRlZFByb3BlcnR5T2JqZWN0cyA9IHRoaXMuZ2V0QWdncmVnYXRlZFByb3BlcnRpZXMoXCJBZ2dyZWdhdGVkUHJvcGVydGllc1wiKVswXTtcblx0XHR9XG5cdFx0cmV0dXJuIGFBZ2dyZWdhdGVkUHJvcGVydHlPYmplY3RzPy5maWx0ZXIoKGFnZ3JlZ2F0ZWRQcm9wZXJ0eTogQWdncmVnYXRlZFByb3BlcnR5VHlwZSkgPT4ge1xuXHRcdFx0aWYgKHRoaXMuX2dldEFnZ3JlZ2F0YWJsZUFnZ3JlZ2F0ZXMoYWdncmVnYXRlZFByb3BlcnR5LkFnZ3JlZ2F0YWJsZVByb3BlcnR5KSkge1xuXHRcdFx0XHRyZXR1cm4gYWdncmVnYXRlZFByb3BlcnR5O1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrIGlmIGVhY2ggdHJhbnNmb3JtYXRpb24gaXMgYWdncmVnYXRhYmxlLlxuXHQgKlxuXHQgKiBAcGFyYW0gcHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIGNoZWNrXG5cdCAqIEByZXR1cm5zICdhZ2dyZWdhdGVkUHJvcGVydHknXG5cdCAqL1xuXG5cdHByaXZhdGUgX2dldEFnZ3JlZ2F0YWJsZUFnZ3JlZ2F0ZXMocHJvcGVydHk6IFByb3BlcnR5UGF0aCB8IEFubm90YXRpb25UZXJtPEN1c3RvbUFnZ3JlZ2F0ZT4pIHtcblx0XHRjb25zdCBhQWdncmVnYXRhYmxlUHJvcGVydGllcyA9ICh0aGlzLmdldEFnZ3JlZ2F0YWJsZVByb3BlcnRpZXMoKSBhcyBBcHBseVN1cHBvcnRlZFR5cGVbXCJBZ2dyZWdhdGFibGVQcm9wZXJ0aWVzXCJdKSB8fCBbXTtcblx0XHRyZXR1cm4gYUFnZ3JlZ2F0YWJsZVByb3BlcnRpZXMuZmluZChmdW5jdGlvbiAob2JqOiBBZ2dyZWdhdGFibGVQcm9wZXJ0eVR5cGUgfCBhbnkpIHtcblx0XHRcdGNvbnN0IHByb3AgPSAocHJvcGVydHkgYXMgQW5ub3RhdGlvblRlcm08Q3VzdG9tQWdncmVnYXRlPikucXVhbGlmaWVyXG5cdFx0XHRcdD8gKHByb3BlcnR5IGFzIEFubm90YXRpb25UZXJtPEN1c3RvbUFnZ3JlZ2F0ZT4pLnF1YWxpZmllclxuXHRcdFx0XHQ6IChwcm9wZXJ0eSBhcyBQcm9wZXJ0eVBhdGgpLiR0YXJnZXQubmFtZTtcblx0XHRcdGlmIChvYmo/LlByb3BlcnR5Py52YWx1ZSkge1xuXHRcdFx0XHRyZXR1cm4gb2JqLlByb3BlcnR5LnZhbHVlID09PSBwcm9wO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIG9iaj8ubmFtZSA9PT0gcHJvcDtcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgX2dldEVudGl0eVByb3BlcnRpZXMoKSB7XG5cdFx0bGV0IGVudGl0eVByb3BlcnRpZXM7XG5cdFx0aWYgKGlzRW50aXR5U2V0KHRoaXMuX29BZ2dyZWdhdGlvbkFubm90YXRpb25UYXJnZXQpKSB7XG5cdFx0XHRlbnRpdHlQcm9wZXJ0aWVzID0gdGhpcy5fb0FnZ3JlZ2F0aW9uQW5ub3RhdGlvblRhcmdldD8uZW50aXR5VHlwZT8uZW50aXR5UHJvcGVydGllcztcblx0XHR9IGVsc2UgaWYgKGlzRW50aXR5VHlwZSh0aGlzLl9vQWdncmVnYXRpb25Bbm5vdGF0aW9uVGFyZ2V0KSkge1xuXHRcdFx0ZW50aXR5UHJvcGVydGllcyA9IHRoaXMuX29BZ2dyZWdhdGlvbkFubm90YXRpb25UYXJnZXQ/LmVudGl0eVByb3BlcnRpZXM7XG5cdFx0fVxuXHRcdHJldHVybiBlbnRpdHlQcm9wZXJ0aWVzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGxpc3Qgb2YgY3VzdG9tIGFnZ3JlZ2F0ZSBkZWZpbml0aW9ucyBmb3IgdGhlIGVudGl0eSB0eXBlLlxuXHQgKlxuXHQgKiBAcmV0dXJucyBBIG1hcCAocHJvcGVydHlOYW1lIC0tPiBhcnJheSBvZiBjb250ZXh0LWRlZmluaW5nIHByb3BlcnR5IG5hbWVzKSBmb3IgZWFjaCBjdXN0b20gYWdncmVnYXRlIGNvcnJlc3BvbmRpbmcgdG8gYSBwcm9wZXJ0eS4gVGhlIGFycmF5IG9mXG5cdCAqIGNvbnRleHQtZGVmaW5pbmcgcHJvcGVydHkgbmFtZXMgaXMgZW1wdHkgaWYgdGhlIGN1c3RvbSBhZ2dyZWdhdGUgZG9lc24ndCBoYXZlIGFueSBjb250ZXh0LWRlZmluaW5nIHByb3BlcnR5LlxuXHQgKi9cblx0cHVibGljIGdldEN1c3RvbUFnZ3JlZ2F0ZURlZmluaXRpb25zKCkge1xuXHRcdC8vIEdldCB0aGUgY3VzdG9tIGFnZ3JlZ2F0ZXNcblx0XHRjb25zdCBhQ3VzdG9tQWdncmVnYXRlQW5ub3RhdGlvbnM6IEN1c3RvbUFnZ3JlZ2F0ZVtdID0gdGhpcy5fY29udmVydGVyQ29udGV4dC5nZXRBbm5vdGF0aW9uc0J5VGVybShcblx0XHRcdFwiQWdncmVnYXRpb25cIixcblx0XHRcdEFnZ3JlZ2F0aW9uQW5ub3RhdGlvblRlcm1zLkN1c3RvbUFnZ3JlZ2F0ZSxcblx0XHRcdFt0aGlzLl9vQWdncmVnYXRpb25Bbm5vdGF0aW9uVGFyZ2V0XVxuXHRcdCk7XG5cdFx0cmV0dXJuIGFDdXN0b21BZ2dyZWdhdGVBbm5vdGF0aW9ucztcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBsaXN0IG9mIGFsbG93ZWQgdHJhbnNmb3JtYXRpb25zIGluIHRoZSAkYXBwbHkuXG5cdCAqIEZpcnN0IGxvb2sgYXQgdGhlIGN1cnJlbnQgRW50aXR5U2V0LCB0aGVuIGxvb2sgYXQgdGhlIGRlZmF1bHQgdmFsdWVzIHByb3ZpZGVkIGF0IHRoZSBjb250YWluZXIgbGV2ZWwuXG5cdCAqXG5cdCAqIEByZXR1cm5zIFRoZSBsaXN0IG9mIHRyYW5zZm9ybWF0aW9ucywgb3IgdW5kZWZpbmVkIGlmIG5vIGxpc3QgaXMgZm91bmRcblx0ICovXG5cdHB1YmxpYyBnZXRBbGxvd2VkVHJhbnNmb3JtYXRpb25zKCk6IFN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gKFxuXHRcdFx0KHRoaXMub1RhcmdldEFnZ3JlZ2F0aW9uQW5ub3RhdGlvbnM/LkFwcGx5U3VwcG9ydGVkPy5UcmFuc2Zvcm1hdGlvbnMgYXMgU3RyaW5nW10pIHx8XG5cdFx0XHQodGhpcy5vQ29udGFpbmVyQWdncmVnYXRpb25Bbm5vdGF0aW9uPy5BcHBseVN1cHBvcnRlZERlZmF1bHRzPy5UcmFuc2Zvcm1hdGlvbnMgYXMgU3RyaW5nW10pXG5cdFx0KTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7OztFQWFBO0FBQ0E7QUFDQTtFQUZBLElBR2FBLGlCQUFpQjtJQW9CN0I7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDQywyQkFBWUMsVUFBc0IsRUFBRUMsZ0JBQWtDLEVBQTJDO01BQUE7TUFBQSxJQUF6Q0Msc0JBQStCLHVFQUFHLEtBQUs7TUFDOUc7TUFDQSxJQUFJLENBQUNDLFdBQVcsR0FBR0gsVUFBVTtNQUM3QixJQUFJLENBQUNJLGlCQUFpQixHQUFHSCxnQkFBZ0I7TUFFekMsSUFBSSxDQUFDSSw2QkFBNkIsR0FBRyxJQUFJLENBQUNDLHFDQUFxQyxFQUFFO01BQ2pGLElBQ0NDLG9CQUFvQixDQUFDLElBQUksQ0FBQ0YsNkJBQTZCLENBQUMsSUFDeERHLFlBQVksQ0FBQyxJQUFJLENBQUNILDZCQUE2QixDQUFDLElBQ2hESSxXQUFXLENBQUMsSUFBSSxDQUFDSiw2QkFBNkIsQ0FBQyxFQUM5QztRQUNELElBQUksQ0FBQ0ssNkJBQTZCLEdBQUcsSUFBSSxDQUFDTCw2QkFBNkIsQ0FBQ00sV0FBVyxDQUFD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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/fe/core/helpers/TypeGuards"],function(t){"use strict";var e={};var n=t.isNavigationProperty;var o=t.isEntityType;var r=t.isEntitySet;let i=function(){function t(t,e){var i;this._entityType=t;this._converterContext=e;this._oAggregationAnnotationTarget=this._determineAggregationAnnotationTarget();if(n(this._oAggregationAnnotationTarget)||o(this._oAggregationAnnotationTarget)||r(this._oAggregationAnnotationTarget)){this.oTargetAggregationAnnotations=this._oAggregationAnnotationTarget.annotations.Aggregation}this._bApplySupported=(i=this.oTargetAggregationAnnotations)!==null&&i!==void 0&&i.ApplySupported?true:false;if(this._bApplySupported){var g,a,s,l;this._aGroupableProperties=(g=this.oTargetAggregationAnnotations)===null||g===void 0?void 0:(a=g.ApplySupported)===null||a===void 0?void 0:a.GroupableProperties;this._aAggregatableProperties=(s=this.oTargetAggregationAnnotations)===null||s===void 0?void 0:(l=s.ApplySupported)===null||l===void 0?void 0:l.AggregatableProperties;this.oContainerAggregationAnnotation=e.getEntityContainer().annotations.Aggregation}}e.AggregationHelper=t;var i=t.prototype;i._determineAggregationAnnotationTarget=function t(){var e,n,o,i,g;const a=(e=this._converterContext.getDataModelObjectPath())!==null&&e!==void 0&&(n=e.targetEntitySet)!==null&&n!==void 0&&(o=n.entityType)!==null&&o!==void 0&&(i=o.annotations)!==null&&i!==void 0&&(g=i.Common)!==null&&g!==void 0&&g.ResultContext?true:false;let s;if(a){var l,p,u,A;const t=this._converterContext.getDataModelObjectPath();const e=t===null||t===void 0?void 0:t.targetObject;const n=t===null||t===void 0?void 0:t.targetEntityType;if(e!==null&&e!==void 0&&(l=e.annotations)!==null&&l!==void 0&&(p=l.Aggregation)!==null&&p!==void 0&&p.ApplySupported){s=e}else if(n!==null&&n!==void 0&&(u=n.annotations)!==null&&u!==void 0&&(A=u.Aggregation)!==null&&A!==void 0&&A.ApplySupported){s=n}}else{var d;const t=this._converterContext.getEntitySet();if(r(t)&&(d=t.annotations.Aggregation)!==null&&d!==void 0&&d.ApplySupported){s=t}else{s=this._converterContext.getEntityType()}}return s};i.isAnalyticsSupported=function t(){return this._bApplySupported};i.isPropertyGroupable=function t(e){if(!this._bApplySupported){return undefined}else if(!this._aGroupableProperties||this._aGroupableProperties.length===0){return true}else{return this._aGroupableProperties.findIndex(t=>t.$target.fullyQualifiedName===e.fullyQualifiedName)>=0}};i.isPropertyAggregatable=function t(e){if(!this._bApplySupported){return undefined}else{const t=this._converterContext.getAnnotationsByTerm("Aggregation","Org.OData.Aggregation.V1.CustomAggregate",[this._oAggregationAnnotationTarget]);return t.some(t=>e.name===t.qualifier)}};i.getGroupableProperties=function t(){return this._aGroupableProperties};i.getAggregatableProperties=function t(){return this._aAggregatableProperties};i.getEntityType=function t(){return this._entityType};i.getAggregatedProperties=function t(e){if(e==="AggregatedProperties"){return this._converterContext.getAnnotationsByTerm("Analytics","com.sap.vocabularies.Analytics.v1.AggregatedProperties",[this._converterContext.getEntityContainer(),this._converterContext.getEntityType()])}return this._converterContext.getAnnotationsByTerm("Analytics","com.sap.vocabularies.Analytics.v1.AggregatedProperty",[this._converterContext.getEntityContainer(),this._converterContext.getEntityType()])};i.getTransAggregations=function t(){var e;let n=this.getAggregatedProperties("AggregatedProperty");if(!n||n.length===0){n=this.getAggregatedProperties("AggregatedProperties")[0]}return(e=n)===null||e===void 0?void 0:e.filter(t=>{if(this._getAggregatableAggregates(t.AggregatableProperty)){return t}})};i._getAggregatableAggregates=function t(e){const n=this.getAggregatableProperties()||[];return n.find(function(t){return t.Property.value===(e.qualifier?e.qualifier:e.$target.name)})};i.getCustomAggregateDefinitions=function t(){const e=this._converterContext.getAnnotationsByTerm("Aggregation","Org.OData.Aggregation.V1.CustomAggregate",[this._oAggregationAnnotationTarget]);return e};i.getAllowedTransformations=function t(){var e,n,o,r;return((e=this.oTargetAggregationAnnotations)===null||e===void 0?void 0:(n=e.ApplySupported)===null||n===void 0?void 0:n.Transformations)||((o=this.oContainerAggregationAnnotation)===null||o===void 0?void 0:(r=o.ApplySupportedDefaults)===null||r===void 0?void 0:r.Transformations)};return t}();e.AggregationHelper=i;return e},false);
5
+ sap.ui.define(["sap/fe/core/helpers/TypeGuards"],function(t){"use strict";var e={};var n=t.isNavigationProperty;var o=t.isEntityType;var i=t.isEntitySet;let r=function(){function t(t,e){var r;let g=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;this._entityType=t;this._converterContext=e;this._oAggregationAnnotationTarget=this._determineAggregationAnnotationTarget();if(n(this._oAggregationAnnotationTarget)||o(this._oAggregationAnnotationTarget)||i(this._oAggregationAnnotationTarget)){this.oTargetAggregationAnnotations=this._oAggregationAnnotationTarget.annotations.Aggregation}this._bApplySupported=(r=this.oTargetAggregationAnnotations)!==null&&r!==void 0&&r.ApplySupported?true:false;if(this._bApplySupported){var a,s,l,u;this._aGroupableProperties=(a=this.oTargetAggregationAnnotations)===null||a===void 0?void 0:(s=a.ApplySupported)===null||s===void 0?void 0:s.GroupableProperties;this._aAggregatableProperties=(l=this.oTargetAggregationAnnotations)===null||l===void 0?void 0:(u=l.ApplySupported)===null||u===void 0?void 0:u.AggregatableProperties;this.oContainerAggregationAnnotation=e.getEntityContainer().annotations.Aggregation}if(!this._aAggregatableProperties&&g){const t=this._getEntityProperties();this._aAggregatableProperties=t===null||t===void 0?void 0:t.filter(t=>{var e,n;return(e=t.annotations)===null||e===void 0?void 0:(n=e.Aggregation)===null||n===void 0?void 0:n.Aggregatable})}}e.AggregationHelper=t;var r=t.prototype;r._determineAggregationAnnotationTarget=function t(){var e,n,o,r,g;const a=(e=this._converterContext.getDataModelObjectPath())!==null&&e!==void 0&&(n=e.targetEntitySet)!==null&&n!==void 0&&(o=n.entityType)!==null&&o!==void 0&&(r=o.annotations)!==null&&r!==void 0&&(g=r.Common)!==null&&g!==void 0&&g.ResultContext?true:false;let s;if(a){var l,u,p,A;const t=this._converterContext.getDataModelObjectPath();const e=t===null||t===void 0?void 0:t.targetObject;const n=t===null||t===void 0?void 0:t.targetEntityType;if(e!==null&&e!==void 0&&(l=e.annotations)!==null&&l!==void 0&&(u=l.Aggregation)!==null&&u!==void 0&&u.ApplySupported){s=e}else if(n!==null&&n!==void 0&&(p=n.annotations)!==null&&p!==void 0&&(A=p.Aggregation)!==null&&A!==void 0&&A.ApplySupported){s=n}}else{var d;const t=this._converterContext.getEntitySet();if(i(t)&&(d=t.annotations.Aggregation)!==null&&d!==void 0&&d.ApplySupported){s=t}else{s=this._converterContext.getEntityType()}}return s};r.isAnalyticsSupported=function t(){return this._bApplySupported};r.isPropertyGroupable=function t(e){if(!this._bApplySupported){return undefined}else if(!this._aGroupableProperties||this._aGroupableProperties.length===0){return true}else{return this._aGroupableProperties.findIndex(t=>t.$target.fullyQualifiedName===e.fullyQualifiedName)>=0}};r.isPropertyAggregatable=function t(e){if(!this._bApplySupported){return undefined}else{const t=this._converterContext.getAnnotationsByTerm("Aggregation","Org.OData.Aggregation.V1.CustomAggregate",[this._oAggregationAnnotationTarget]);return t.some(t=>e.name===t.qualifier)}};r.getGroupableProperties=function t(){return this._aGroupableProperties};r.getAggregatableProperties=function t(){return this._aAggregatableProperties};r.getEntityType=function t(){return this._entityType};r.getAggregatedProperties=function t(e){if(e==="AggregatedProperties"){return this._converterContext.getAnnotationsByTerm("Analytics","com.sap.vocabularies.Analytics.v1.AggregatedProperties",[this._converterContext.getEntityContainer(),this._converterContext.getEntityType()])}return this._converterContext.getAnnotationsByTerm("Analytics","com.sap.vocabularies.Analytics.v1.AggregatedProperty",[this._converterContext.getEntityContainer(),this._converterContext.getEntityType()])};r.getTransAggregations=function t(){var e;let n=this.getAggregatedProperties("AggregatedProperty");if(!n||n.length===0){n=this.getAggregatedProperties("AggregatedProperties")[0]}return(e=n)===null||e===void 0?void 0:e.filter(t=>{if(this._getAggregatableAggregates(t.AggregatableProperty)){return t}})};r._getAggregatableAggregates=function t(e){const n=this.getAggregatableProperties()||[];return n.find(function(t){var n;const o=e.qualifier?e.qualifier:e.$target.name;if(t!==null&&t!==void 0&&(n=t.Property)!==null&&n!==void 0&&n.value){return t.Property.value===o}return(t===null||t===void 0?void 0:t.name)===o})};r._getEntityProperties=function t(){let e;if(i(this._oAggregationAnnotationTarget)){var n,r;e=(n=this._oAggregationAnnotationTarget)===null||n===void 0?void 0:(r=n.entityType)===null||r===void 0?void 0:r.entityProperties}else if(o(this._oAggregationAnnotationTarget)){var g;e=(g=this._oAggregationAnnotationTarget)===null||g===void 0?void 0:g.entityProperties}return e};r.getCustomAggregateDefinitions=function t(){const e=this._converterContext.getAnnotationsByTerm("Aggregation","Org.OData.Aggregation.V1.CustomAggregate",[this._oAggregationAnnotationTarget]);return e};r.getAllowedTransformations=function t(){var e,n,o,i;return((e=this.oTargetAggregationAnnotations)===null||e===void 0?void 0:(n=e.ApplySupported)===null||n===void 0?void 0:n.Transformations)||((o=this.oContainerAggregationAnnotation)===null||o===void 0?void 0:(i=o.ApplySupportedDefaults)===null||i===void 0?void 0:i.Transformations)};return t}();e.AggregationHelper=r;return e},false);
6
6
  //# sourceMappingURL=Aggregation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Aggregation.js","names":["sap","ui","define","TypeGuards","_exports","isNavigationProperty","isEntityType","isEntitySet","AggregationHelper","entityType","converterContext","_this$oTargetAggregat","this","_entityType","_converterContext","_oAggregationAnnotationTarget","_determineAggregationAnnotationTarget","oTargetAggregationAnnotations","annotations","Aggregation","_bApplySupported","ApplySupported","_this$oTargetAggregat2","_this$oTargetAggregat3","_this$oTargetAggregat4","_this$oTargetAggregat5","_aGroupableProperties","GroupableProperties","_aAggregatableProperties","AggregatableProperties","oContainerAggregationAnnotation","getEntityContainer","_proto","prototype","_this$_converterConte","_this$_converterConte2","_this$_converterConte3","_this$_converterConte4","_this$_converterConte5","bIsParameterized","getDataModelObjectPath","targetEntitySet","Common","ResultContext","oAggregationAnnotationSource","_oNavigationPropertyO","_oNavigationPropertyO2","_oEntityTypeObject$an","_oEntityTypeObject$an2","oDataModelObjectPath","oNavigationPropertyObject","targetObject","oEntityTypeObject","targetEntityType","_oEntitySetObject$ann","oEntitySetObject","getEntitySet","getEntityType","isAnalyticsSupported","isPropertyGroupable","property","undefined","length","findIndex","path","$target","fullyQualifiedName","isPropertyAggregatable","aCustomAggregateAnnotations","getAnnotationsByTerm","some","annotation","name","qualifier","getGroupableProperties","getAggregatableProperties","getAggregatedProperties","Term","getTransAggregations","_aAggregatedPropertyO","aAggregatedPropertyObjects","filter","aggregatedProperty","_getAggregatableAggregates","AggregatableProperty","aAggregatableProperties","find","obj","Property","value","getCustomAggregateDefinitions","getAllowedTransformations","_this$oTargetAggregat6","_this$oTargetAggregat7","_this$oContainerAggre","_this$oContainerAggre2","Transformations","ApplySupportedDefaults"],"sources":["Aggregation-dbg.js"],"mappings":"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"}
1
+ {"version":3,"file":"Aggregation.js","names":["sap","ui","define","TypeGuards","_exports","isNavigationProperty","isEntityType","isEntitySet","AggregationHelper","entityType","converterContext","_this$oTargetAggregat","considerOldAnnotations","arguments","length","undefined","this","_entityType","_converterContext","_oAggregationAnnotationTarget","_determineAggregationAnnotationTarget","oTargetAggregationAnnotations","annotations","Aggregation","_bApplySupported","ApplySupported","_this$oTargetAggregat2","_this$oTargetAggregat3","_this$oTargetAggregat4","_this$oTargetAggregat5","_aGroupableProperties","GroupableProperties","_aAggregatableProperties","AggregatableProperties","oContainerAggregationAnnotation","getEntityContainer","entityProperties","_getEntityProperties","filter","property","_property$annotations","_property$annotations2","Aggregatable","_proto","prototype","_this$_converterConte","_this$_converterConte2","_this$_converterConte3","_this$_converterConte4","_this$_converterConte5","bIsParameterized","getDataModelObjectPath","targetEntitySet","Common","ResultContext","oAggregationAnnotationSource","_oNavigationPropertyO","_oNavigationPropertyO2","_oEntityTypeObject$an","_oEntityTypeObject$an2","oDataModelObjectPath","oNavigationPropertyObject","targetObject","oEntityTypeObject","targetEntityType","_oEntitySetObject$ann","oEntitySetObject","getEntitySet","getEntityType","isAnalyticsSupported","isPropertyGroupable","findIndex","path","$target","fullyQualifiedName","isPropertyAggregatable","aCustomAggregateAnnotations","getAnnotationsByTerm","some","annotation","name","qualifier","getGroupableProperties","getAggregatableProperties","getAggregatedProperties","Term","getTransAggregations","_aAggregatedPropertyO","aAggregatedPropertyObjects","aggregatedProperty","_getAggregatableAggregates","AggregatableProperty","aAggregatableProperties","find","obj","_obj$Property","prop","Property","value","_this$_oAggregationAn","_this$_oAggregationAn2","_this$_oAggregationAn3","getCustomAggregateDefinitions","getAllowedTransformations","_this$oTargetAggregat6","_this$oTargetAggregat7","_this$oContainerAggre","_this$oContainerAggre2","Transformations","ApplySupportedDefaults"],"sources":["Aggregation-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,kCAAmC,SAAUC,GAC1D,aAEA,IAAIC,EAAW,CAAC,EAChB,IAAIC,EAAuBF,EAAWE,qBACtC,IAAIC,EAAeH,EAAWG,aAC9B,IAAIC,EAAcJ,EAAWI,YAI7B,IAAIC,EAAiC,WAQnC,SAASA,EAAkBC,EAAYC,GACrC,IAAIC,EACJ,IAAIC,EAAyBC,UAAUC,OAAS,GAAKD,UAAU,KAAOE,UAAYF,UAAU,GAAK,MAEjGG,KAAKC,YAAcR,EACnBO,KAAKE,kBAAoBR,EACzBM,KAAKG,8BAAgCH,KAAKI,wCAC1C,GAAIf,EAAqBW,KAAKG,gCAAkCb,EAAaU,KAAKG,gCAAkCZ,EAAYS,KAAKG,+BAAgC,CACnKH,KAAKK,8BAAgCL,KAAKG,8BAA8BG,YAAYC,WACtF,CACAP,KAAKQ,kBAAoBb,EAAwBK,KAAKK,iCAAmC,MAAQV,SAA+B,GAAKA,EAAsBc,eAAiB,KAAO,MACnL,GAAIT,KAAKQ,iBAAkB,CACzB,IAAIE,EAAwBC,EAAwBC,EAAwBC,EAC5Eb,KAAKc,uBAAyBJ,EAAyBV,KAAKK,iCAAmC,MAAQK,SAAgC,OAAS,GAAKC,EAAyBD,EAAuBD,kBAAoB,MAAQE,SAAgC,OAAS,EAAIA,EAAuBI,oBACrSf,KAAKgB,0BAA4BJ,EAAyBZ,KAAKK,iCAAmC,MAAQO,SAAgC,OAAS,GAAKC,EAAyBD,EAAuBH,kBAAoB,MAAQI,SAAgC,OAAS,EAAIA,EAAuBI,uBACxSjB,KAAKkB,gCAAkCxB,EAAiByB,qBAAqBb,YAAYC,WAC3F,CACA,IAAKP,KAAKgB,0BAA4BpB,EAAwB,CAC5D,MAAMwB,EAAmBpB,KAAKqB,uBAC9BrB,KAAKgB,yBAA2BI,IAAqB,MAAQA,SAA0B,OAAS,EAAIA,EAAiBE,OAAOC,IAC1H,IAAIC,EAAuBC,EAC3B,OAAQD,EAAwBD,EAASjB,eAAiB,MAAQkB,SAA+B,OAAS,GAAKC,EAAyBD,EAAsBjB,eAAiB,MAAQkB,SAAgC,OAAS,EAAIA,EAAuBC,YAAY,EAE3Q,CACF,CAOAtC,EAASI,kBAAoBA,EAC7B,IAAImC,EAASnC,EAAkBoC,UAC/BD,EAAOvB,sCAAwC,SAASA,IACtD,IAAIyB,EAAuBC,EAAwBC,EAAwBC,EAAwBC,EACnG,MAAMC,GAAoBL,EAAwB7B,KAAKE,kBAAkBiC,4BAA8B,MAAQN,SAA+B,IAAMC,EAAyBD,EAAsBO,mBAAqB,MAAQN,SAAgC,IAAMC,EAAyBD,EAAuBrC,cAAgB,MAAQsC,SAAgC,IAAMC,EAAyBD,EAAuBzB,eAAiB,MAAQ0B,SAAgC,IAAMC,EAAyBD,EAAuBK,UAAY,MAAQJ,SAAgC,GAAKA,EAAuBK,cAAgB,KAAO,MAC1nB,IAAIC,EAGJ,GAAIL,EAAkB,CACpB,IAAIM,EAAuBC,EAAwBC,EAAuBC,EAI1E,MAAMC,EAAuB5C,KAAKE,kBAAkBiC,yBACpD,MAAMU,EAA4BD,IAAyB,MAAQA,SAA8B,OAAS,EAAIA,EAAqBE,aACnI,MAAMC,EAAoBH,IAAyB,MAAQA,SAA8B,OAAS,EAAIA,EAAqBI,iBAC3H,GAAIH,IAA8B,MAAQA,SAAmC,IAAML,EAAwBK,EAA0BvC,eAAiB,MAAQkC,SAA+B,IAAMC,EAAyBD,EAAsBjC,eAAiB,MAAQkC,SAAgC,GAAKA,EAAuBhC,eAAgB,CACrV8B,EAA+BM,CACjC,MAAO,GAAIE,IAAsB,MAAQA,SAA2B,IAAML,EAAwBK,EAAkBzC,eAAiB,MAAQoC,SAA+B,IAAMC,EAAyBD,EAAsBnC,eAAiB,MAAQoC,SAAgC,GAAKA,EAAuBlC,eAAgB,CACpU8B,EAA+BQ,CACjC,CACF,KAAO,CACL,IAAIE,EAEJ,MAAMC,EAAmBlD,KAAKE,kBAAkBiD,eAChD,GAAI5D,EAAY2D,KAAsBD,EAAwBC,EAAiB5C,YAAYC,eAAiB,MAAQ0C,SAA+B,GAAKA,EAAsBxC,eAAgB,CAC5L8B,EAA+BW,CACjC,KAAO,CACLX,EAA+BvC,KAAKE,kBAAkBkD,eACxD,CACF,CACA,OAAOb,CACT,EAOAZ,EAAO0B,qBAAuB,SAASA,IACrC,OAAOrD,KAAKQ,gBACd,EAQAmB,EAAO2B,oBAAsB,SAASA,EAAoB/B,GACxD,IAAKvB,KAAKQ,iBAAkB,CAC1B,OAAOT,SACT,MAAO,IAAKC,KAAKc,uBAAyBd,KAAKc,sBAAsBhB,SAAW,EAAG,CAEjF,OAAO,IACT,KAAO,CACL,OAAOE,KAAKc,sBAAsByC,UAAUC,GAAQA,EAAKC,QAAQC,qBAAuBnC,EAASmC,qBAAuB,CAC1H,CACF,EAQA/B,EAAOgC,uBAAyB,SAASA,EAAuBpC,GAC9D,IAAKvB,KAAKQ,iBAAkB,CAC1B,OAAOT,SACT,KAAO,CAEL,MAAM6D,EAA8B5D,KAAKE,kBAAkB2D,qBAAqB,cAAe,2CAA4C,CAAC7D,KAAKG,gCAGjJ,OAAOyD,EAA4BE,KAAKC,GAC/BxC,EAASyC,OAASD,EAAWE,UAExC,CACF,EACAtC,EAAOuC,uBAAyB,SAASA,IACvC,OAAOlE,KAAKc,qBACd,EACAa,EAAOwC,0BAA4B,SAASA,IAC1C,OAAOnE,KAAKgB,wBACd,EACAW,EAAOyB,cAAgB,SAASA,IAC9B,OAAOpD,KAAKC,WACd,EASA0B,EAAOyC,wBAA0B,SAASA,EAAwBC,GAChE,GAAIA,IAAS,uBAAwB,CACnC,OAAOrE,KAAKE,kBAAkB2D,qBAAqB,YAAa,yDAA0D,CAAC7D,KAAKE,kBAAkBiB,qBAAsBnB,KAAKE,kBAAkBkD,iBACjM,CACA,OAAOpD,KAAKE,kBAAkB2D,qBAAqB,YAAa,uDAAwD,CAAC7D,KAAKE,kBAAkBiB,qBAAsBnB,KAAKE,kBAAkBkD,iBAC/L,EAIAzB,EAAO2C,qBAAuB,SAASA,IACrC,IAAIC,EACJ,IAAIC,EAA6BxE,KAAKoE,wBAAwB,sBAC9D,IAAKI,GAA8BA,EAA2B1E,SAAW,EAAG,CAC1E0E,EAA6BxE,KAAKoE,wBAAwB,wBAAwB,EACpF,CACA,OAAQG,EAAwBC,KAAgC,MAAQD,SAA+B,OAAS,EAAIA,EAAsBjD,OAAOmD,IAC/I,GAAIzE,KAAK0E,2BAA2BD,EAAmBE,sBAAuB,CAC5E,OAAOF,CACT,GAEJ,EAQA9C,EAAO+C,2BAA6B,SAASA,EAA2BnD,GACtE,MAAMqD,EAA0B5E,KAAKmE,6BAA+B,GACpE,OAAOS,EAAwBC,KAAK,SAAUC,GAC5C,IAAIC,EACJ,MAAMC,EAAOzD,EAAS0C,UAAY1C,EAAS0C,UAAY1C,EAASkC,QAAQO,KACxE,GAAIc,IAAQ,MAAQA,SAAa,IAAMC,EAAgBD,EAAIG,YAAc,MAAQF,SAAuB,GAAKA,EAAcG,MAAO,CAChI,OAAOJ,EAAIG,SAASC,QAAUF,CAChC,CACA,OAAQF,IAAQ,MAAQA,SAAa,OAAS,EAAIA,EAAId,QAAUgB,CAClE,EACF,EACArD,EAAON,qBAAuB,SAASA,IACrC,IAAID,EACJ,GAAI7B,EAAYS,KAAKG,+BAAgC,CACnD,IAAIgF,EAAuBC,EAC3BhE,GAAoB+D,EAAwBnF,KAAKG,iCAAmC,MAAQgF,SAA+B,OAAS,GAAKC,EAAyBD,EAAsB1F,cAAgB,MAAQ2F,SAAgC,OAAS,EAAIA,EAAuBhE,gBACtR,MAAO,GAAI9B,EAAaU,KAAKG,+BAAgC,CAC3D,IAAIkF,EACJjE,GAAoBiE,EAAyBrF,KAAKG,iCAAmC,MAAQkF,SAAgC,OAAS,EAAIA,EAAuBjE,gBACnK,CACA,OAAOA,CACT,EAQAO,EAAO2D,8BAAgC,SAASA,IAE9C,MAAM1B,EAA8B5D,KAAKE,kBAAkB2D,qBAAqB,cAAe,2CAA4C,CAAC7D,KAAKG,gCACjJ,OAAOyD,CACT,EAQAjC,EAAO4D,0BAA4B,SAASA,IAC1C,IAAIC,EAAwBC,EAAwBC,EAAuBC,EAC3E,QAASH,EAAyBxF,KAAKK,iCAAmC,MAAQmF,SAAgC,OAAS,GAAKC,EAAyBD,EAAuB/E,kBAAoB,MAAQgF,SAAgC,OAAS,EAAIA,EAAuBG,oBAAsBF,EAAwB1F,KAAKkB,mCAAqC,MAAQwE,SAA+B,OAAS,GAAKC,EAAyBD,EAAsBG,0BAA4B,MAAQF,SAAgC,OAAS,EAAIA,EAAuBC,gBACtjB,EACA,OAAOpG,CACT,CAjNqC,GAkNrCJ,EAASI,kBAAoBA,EAC7B,OAAOJ,CACT,EAAG"}
@@ -23,7 +23,7 @@ export class AggregationHelper {
23
23
 
24
24
  _aGroupableProperties?: PropertyPath[];
25
25
 
26
- _aAggregatableProperties?;
26
+ _aAggregatableProperties?: AggregatablePropertyType[] | Property[];
27
27
 
28
28
  _oAggregationAnnotationTarget: EntityType | EntitySet | NavigationProperty;
29
29
 
@@ -39,8 +39,10 @@ export class AggregationHelper {
39
39
  *
40
40
  * @param entityType The EntityType
41
41
  * @param converterContext The ConverterContext
42
+ * @param [considerOldAnnotations] The flag to indicate whether or not to consider old annotations
42
43
  */
43
- constructor(entityType: EntityType, converterContext: ConverterContext) {
44
+ constructor(entityType: EntityType, converterContext: ConverterContext, considerOldAnnotations: boolean = false) {
45
+ //considerOldAnnotations will be true and sent only for chart
44
46
  this._entityType = entityType;
45
47
  this._converterContext = converterContext;
46
48
 
@@ -61,6 +63,12 @@ export class AggregationHelper {
61
63
  this.oContainerAggregationAnnotation = converterContext.getEntityContainer().annotations
62
64
  .Aggregation as EntityContainerAnnotations_Aggregation;
63
65
  }
66
+ if (!this._aAggregatableProperties && considerOldAnnotations) {
67
+ const entityProperties = this._getEntityProperties();
68
+ this._aAggregatableProperties = entityProperties?.filter((property) => {
69
+ return property.annotations?.Aggregation?.Aggregatable;
70
+ });
71
+ }
64
72
  }
65
73
 
66
74
  /**
@@ -204,16 +212,27 @@ export class AggregationHelper {
204
212
 
205
213
  private _getAggregatableAggregates(property: PropertyPath | AnnotationTerm<CustomAggregate>) {
206
214
  const aAggregatableProperties = (this.getAggregatableProperties() as ApplySupportedType["AggregatableProperties"]) || [];
207
- return aAggregatableProperties.find(function (obj: AggregatablePropertyType) {
208
- return (
209
- obj.Property.value ===
210
- ((property as AnnotationTerm<CustomAggregate>).qualifier
211
- ? (property as AnnotationTerm<CustomAggregate>).qualifier
212
- : (property as PropertyPath).$target.name)
213
- );
215
+ return aAggregatableProperties.find(function (obj: AggregatablePropertyType | any) {
216
+ const prop = (property as AnnotationTerm<CustomAggregate>).qualifier
217
+ ? (property as AnnotationTerm<CustomAggregate>).qualifier
218
+ : (property as PropertyPath).$target.name;
219
+ if (obj?.Property?.value) {
220
+ return obj.Property.value === prop;
221
+ }
222
+ return obj?.name === prop;
214
223
  });
215
224
  }
216
225
 
226
+ private _getEntityProperties() {
227
+ let entityProperties;
228
+ if (isEntitySet(this._oAggregationAnnotationTarget)) {
229
+ entityProperties = this._oAggregationAnnotationTarget?.entityType?.entityProperties;
230
+ } else if (isEntityType(this._oAggregationAnnotationTarget)) {
231
+ entityProperties = this._oAggregationAnnotationTarget?.entityProperties;
232
+ }
233
+ return entityProperties;
234
+ }
235
+
217
236
  /**
218
237
  * Returns the list of custom aggregate definitions for the entity type.
219
238
  *
@@ -0,0 +1,39 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["../ManifestSettings"], function (ManifestSettings) {
6
+ "use strict";
7
+
8
+ var _exports = {};
9
+ var TemplateType = ManifestSettings.TemplateType;
10
+ /**
11
+ * Gets the boolean value for the 'visible' property of the 'AddCardToInsights' action.
12
+ *
13
+ * @param cardType
14
+ * @param converterContext
15
+ * @param visualizationPath
16
+ * @param standardActionsContext
17
+ * @returns Boolean value for the 'visible' property of the 'AddCardToInsights' action.
18
+ */
19
+ function getInsightsVisibility(cardType, converterContext, visualizationPath, standardActionsContext) {
20
+ var _vizPathConfiguration;
21
+ let tableManifestConfig, isResponsiveTable;
22
+ const isMultiEntity = converterContext.getManifestWrapper().hasMultipleEntitySets();
23
+ const isMultipleVisualizations = converterContext.getManifestWrapper().hasMultipleVisualizations();
24
+ const viewConfig = converterContext.getManifestWrapper().getViewConfiguration();
25
+ const isMultiTabs = viewConfig !== undefined && viewConfig.paths.length > 1 ? true : false;
26
+ const templateBindingExpression = converterContext.getTemplateType() === TemplateType.ListReport;
27
+ const vizPathConfiguration = converterContext.getManifestControlConfiguration(visualizationPath);
28
+ const enableAddCardToInsights = cardType === "Analytical" ? (vizPathConfiguration === null || vizPathConfiguration === void 0 ? void 0 : vizPathConfiguration.enableAddCardToInsights) ?? true : (vizPathConfiguration === null || vizPathConfiguration === void 0 ? void 0 : (_vizPathConfiguration = vizPathConfiguration.tableSettings) === null || _vizPathConfiguration === void 0 ? void 0 : _vizPathConfiguration.enableAddCardToInsights) ?? true;
29
+ if (cardType === "Table") {
30
+ var _tableManifestConfig;
31
+ tableManifestConfig = standardActionsContext === null || standardActionsContext === void 0 ? void 0 : standardActionsContext.tableManifestConfiguration;
32
+ isResponsiveTable = ((_tableManifestConfig = tableManifestConfig) === null || _tableManifestConfig === void 0 ? void 0 : _tableManifestConfig.type) === "ResponsiveTable";
33
+ }
34
+ return enableAddCardToInsights && templateBindingExpression && !isMultiEntity && !isMultiTabs && (cardType === "Table" ? (isResponsiveTable ?? false) && !isMultipleVisualizations : true);
35
+ }
36
+ _exports.getInsightsVisibility = getInsightsVisibility;
37
+ return _exports;
38
+ }, false);
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRJbnNpZ2h0c1Zpc2liaWxpdHkiLCJjYXJkVHlwZSIsImNvbnZlcnRlckNvbnRleHQiLCJ2aXN1YWxpemF0aW9uUGF0aCIsInN0YW5kYXJkQWN0aW9uc0NvbnRleHQiLCJ0YWJsZU1hbmlmZXN0Q29uZmlnIiwiaXNSZXNwb25zaXZlVGFibGUiLCJpc011bHRpRW50aXR5IiwiZ2V0TWFuaWZlc3RXcmFwcGVyIiwiaGFzTXVsdGlwbGVFbnRpdHlTZXRzIiwiaXNNdWx0aXBsZVZpc3VhbGl6YXRpb25zIiwiaGFzTXVsdGlwbGVWaXN1YWxpemF0aW9ucyIsInZpZXdDb25maWciLCJnZXRWaWV3Q29uZmlndXJhdGlvbiIsImlzTXVsdGlUYWJzIiwidW5kZWZpbmVkIiwicGF0aHMiLCJsZW5ndGgiLCJ0ZW1wbGF0ZUJpbmRpbmdFeHByZXNzaW9uIiwiZ2V0VGVtcGxhdGVUeXBlIiwiVGVtcGxhdGVUeXBlIiwiTGlzdFJlcG9ydCIsInZpelBhdGhDb25maWd1cmF0aW9uIiwiZ2V0TWFuaWZlc3RDb250cm9sQ29uZmlndXJhdGlvbiIsImVuYWJsZUFkZENhcmRUb0luc2lnaHRzIiwidGFibGVTZXR0aW5ncyIsInRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uIiwidHlwZSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiSW5zaWdodHNIZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YW5kYXJkQWN0aW9uc0NvbnRleHQgfSBmcm9tIFwiLi4vY29udHJvbHMvQ29tbW9uL3RhYmxlL1N0YW5kYXJkQWN0aW9uc1wiO1xuaW1wb3J0IENvbnZlcnRlckNvbnRleHQgZnJvbSBcIi4uL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB7IFRlbXBsYXRlVHlwZSB9IGZyb20gXCIuLi9NYW5pZmVzdFNldHRpbmdzXCI7XG5cbi8qKlxuICogR2V0cyB0aGUgYm9vbGVhbiB2YWx1ZSBmb3IgdGhlICd2aXNpYmxlJyBwcm9wZXJ0eSBvZiB0aGUgJ0FkZENhcmRUb0luc2lnaHRzJyBhY3Rpb24uXG4gKlxuICogQHBhcmFtIGNhcmRUeXBlXG4gKiBAcGFyYW0gY29udmVydGVyQ29udGV4dFxuICogQHBhcmFtIHZpc3VhbGl6YXRpb25QYXRoXG4gKiBAcGFyYW0gc3RhbmRhcmRBY3Rpb25zQ29udGV4dFxuICogQHJldHVybnMgQm9vbGVhbiB2YWx1ZSBmb3IgdGhlICd2aXNpYmxlJyBwcm9wZXJ0eSBvZiB0aGUgJ0FkZENhcmRUb0luc2lnaHRzJyBhY3Rpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnNpZ2h0c1Zpc2liaWxpdHkoXG5cdGNhcmRUeXBlOiBcIkFuYWx5dGljYWxcIiB8IFwiVGFibGVcIixcblx0Y29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCxcblx0dmlzdWFsaXphdGlvblBhdGg6IHN0cmluZyxcblx0c3RhbmRhcmRBY3Rpb25zQ29udGV4dD86IFN0YW5kYXJkQWN0aW9uc0NvbnRleHRcbik6IGJvb2xlYW4ge1xuXHRsZXQgdGFibGVNYW5pZmVzdENvbmZpZywgaXNSZXNwb25zaXZlVGFibGU7XG5cblx0Y29uc3QgaXNNdWx0aUVudGl0eSA9IGNvbnZlcnRlckNvbnRleHQuZ2V0TWFuaWZlc3RXcmFwcGVyKCkuaGFzTXVsdGlwbGVFbnRpdHlTZXRzKCk7XG5cdGNvbnN0IGlzTXVsdGlwbGVWaXN1YWxpemF0aW9ucyA9IGNvbnZlcnRlckNvbnRleHQuZ2V0TWFuaWZlc3RXcmFwcGVyKCkuaGFzTXVsdGlwbGVWaXN1YWxpemF0aW9ucygpO1xuXHRjb25zdCB2aWV3Q29uZmlnID0gY29udmVydGVyQ29udGV4dC5nZXRNYW5pZmVzdFdyYXBwZXIoKS5nZXRWaWV3Q29uZmlndXJhdGlvbigpO1xuXHRjb25zdCBpc011bHRpVGFicyA9IHZpZXdDb25maWcgIT09IHVuZGVmaW5lZCAmJiB2aWV3Q29uZmlnLnBhdGhzLmxlbmd0aCA+IDEgPyB0cnVlIDogZmFsc2U7XG5cdGNvbnN0IHRlbXBsYXRlQmluZGluZ0V4cHJlc3Npb24gPSBjb252ZXJ0ZXJDb250ZXh0LmdldFRlbXBsYXRlVHlwZSgpID09PSBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydDtcblx0Y29uc3Qgdml6UGF0aENvbmZpZ3VyYXRpb24gPSBjb252ZXJ0ZXJDb250ZXh0LmdldE1hbmlmZXN0Q29udHJvbENvbmZpZ3VyYXRpb24odmlzdWFsaXphdGlvblBhdGgpO1xuXHRjb25zdCBlbmFibGVBZGRDYXJkVG9JbnNpZ2h0cyA9XG5cdFx0Y2FyZFR5cGUgPT09IFwiQW5hbHl0aWNhbFwiXG5cdFx0XHQ/IHZpelBhdGhDb25maWd1cmF0aW9uPy5lbmFibGVBZGRDYXJkVG9JbnNpZ2h0cyA/PyB0cnVlXG5cdFx0XHQ6IHZpelBhdGhDb25maWd1cmF0aW9uPy50YWJsZVNldHRpbmdzPy5lbmFibGVBZGRDYXJkVG9JbnNpZ2h0cyA/PyB0cnVlO1xuXG5cdGlmIChjYXJkVHlwZSA9PT0gXCJUYWJsZVwiKSB7XG5cdFx0dGFibGVNYW5pZmVzdENvbmZpZyA9IHN0YW5kYXJkQWN0aW9uc0NvbnRleHQ/LnRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uO1xuXHRcdGlzUmVzcG9uc2l2ZVRhYmxlID0gdGFibGVNYW5pZmVzdENvbmZpZz8udHlwZSA9PT0gXCJSZXNwb25zaXZlVGFibGVcIjtcblx0fVxuXG5cdHJldHVybiAoXG5cdFx0ZW5hYmxlQWRkQ2FyZFRvSW5zaWdodHMgJiZcblx0XHR0ZW1wbGF0ZUJpbmRpbmdFeHByZXNzaW9uICYmXG5cdFx0IWlzTXVsdGlFbnRpdHkgJiZcblx0XHQhaXNNdWx0aVRhYnMgJiZcblx0XHQoY2FyZFR5cGUgPT09IFwiVGFibGVcIiA/IChpc1Jlc3BvbnNpdmVUYWJsZSA/PyBmYWxzZSkgJiYgIWlzTXVsdGlwbGVWaXN1YWxpemF0aW9ucyA6IHRydWUpXG5cdCk7XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7OztFQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNPLFNBQVNBLHFCQUFxQixDQUNwQ0MsUUFBZ0MsRUFDaENDLGdCQUFrQyxFQUNsQ0MsaUJBQXlCLEVBQ3pCQyxzQkFBK0MsRUFDckM7SUFBQTtJQUNWLElBQUlDLG1CQUFtQixFQUFFQyxpQkFBaUI7SUFFMUMsTUFBTUMsYUFBYSxHQUFHTCxnQkFBZ0IsQ0FBQ00sa0JBQWtCLEVBQUUsQ0FBQ0MscUJBQXFCLEVBQUU7SUFDbkYsTUFBTUMsd0JBQXdCLEdBQUdSLGdCQUFnQixDQUFDTSxrQkFBa0IsRUFBRSxDQUFDRyx5QkFBeUIsRUFBRTtJQUNsRyxNQUFNQyxVQUFVLEdBQUdWLGdCQUFnQixDQUFDTSxrQkFBa0IsRUFBRSxDQUFDSyxvQkFBb0IsRUFBRTtJQUMvRSxNQUFNQyxXQUFXLEdBQUdGLFVBQVUsS0FBS0csU0FBUyxJQUFJSCxVQUFVLENBQUNJLEtBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsS0FBSztJQUMxRixNQUFNQyx5QkFBeUIsR0FBR2hCLGdCQUFnQixDQUFDaUIsZUFBZSxFQUFFLEtBQUtDLFlBQVksQ0FBQ0MsVUFBVTtJQUNoRyxNQUFNQyxvQkFBb0IsR0FBR3BCLGdCQUFnQixDQUFDcUIsK0JBQStCLENBQUNwQixpQkFBaUIsQ0FBQztJQUNoRyxNQUFNcUIsdUJBQXVCLEdBQzVCdkIsUUFBUSxLQUFLLFlBQVksR0FDdEIsQ0FBQXFCLG9CQUFvQixhQUFwQkEsb0JBQW9CLHVCQUFwQkEsb0JBQW9CLENBQUVFLHVCQUF1QixLQUFJLElBQUksR0FDckQsQ0FBQUYsb0JBQW9CLGFBQXBCQSxvQkFBb0IsZ0RBQXBCQSxvQkFBb0IsQ0FBRUcsYUFBYSwwREFBbkMsc0JBQXFDRCx1QkFBdUIsS0FBSSxJQUFJO0lBRXhFLElBQUl2QixRQUFRLEtBQUssT0FBTyxFQUFFO01BQUE7TUFDekJJLG1CQUFtQixHQUFHRCxzQkFBc0IsYUFBdEJBLHNCQUFzQix1QkFBdEJBLHNCQUFzQixDQUFFc0IsMEJBQTBCO01BQ3hFcEIsaUJBQWlCLEdBQUcseUJBQUFELG1CQUFtQix5REFBbkIscUJBQXFCc0IsSUFBSSxNQUFLLGlCQUFpQjtJQUNwRTtJQUVBLE9BQ0NILHVCQUF1QixJQUN2Qk4seUJBQXlCLElBQ3pCLENBQUNYLGFBQWEsSUFDZCxDQUFDTyxXQUFXLEtBQ1hiLFFBQVEsS0FBSyxPQUFPLEdBQUcsQ0FBQ0ssaUJBQWlCLElBQUksS0FBSyxLQUFLLENBQUNJLHdCQUF3QixHQUFHLElBQUksQ0FBQztFQUUzRjtFQUFDO0VBQUE7QUFBQSJ9
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["../ManifestSettings"],function(t){"use strict";var e={};var i=t.TemplateType;function n(t,e,n,a){var s;let l,o;const r=e.getManifestWrapper().hasMultipleEntitySets();const u=e.getManifestWrapper().hasMultipleVisualizations();const d=e.getManifestWrapper().getViewConfiguration();const f=d!==undefined&&d.paths.length>1?true:false;const p=e.getTemplateType()===i.ListReport;const g=e.getManifestControlConfiguration(n);const v=t==="Analytical"?(g===null||g===void 0?void 0:g.enableAddCardToInsights)??true:(g===null||g===void 0?void 0:(s=g.tableSettings)===null||s===void 0?void 0:s.enableAddCardToInsights)??true;if(t==="Table"){var c;l=a===null||a===void 0?void 0:a.tableManifestConfiguration;o=((c=l)===null||c===void 0?void 0:c.type)==="ResponsiveTable"}return v&&p&&!r&&!f&&(t==="Table"?(o??false)&&!u:true)}e.getInsightsVisibility=n;return e},false);
6
+ //# sourceMappingURL=InsightsHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InsightsHelpers.js","names":["sap","ui","define","ManifestSettings","_exports","TemplateType","getInsightsVisibility","cardType","converterContext","visualizationPath","standardActionsContext","_vizPathConfiguration","tableManifestConfig","isResponsiveTable","isMultiEntity","getManifestWrapper","hasMultipleEntitySets","isMultipleVisualizations","hasMultipleVisualizations","viewConfig","getViewConfiguration","isMultiTabs","undefined","paths","length","templateBindingExpression","getTemplateType","ListReport","vizPathConfiguration","getManifestControlConfiguration","enableAddCardToInsights","tableSettings","_tableManifestConfig","tableManifestConfiguration","type"],"sources":["InsightsHelpers-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,uBAAwB,SAAUC,GAC/C,aAEA,IAAIC,EAAW,CAAC,EAChB,IAAIC,EAAeF,EAAiBE,aAUpC,SAASC,EAAsBC,EAAUC,EAAkBC,EAAmBC,GAC5E,IAAIC,EACJ,IAAIC,EAAqBC,EACzB,MAAMC,EAAgBN,EAAiBO,qBAAqBC,wBAC5D,MAAMC,EAA2BT,EAAiBO,qBAAqBG,4BACvE,MAAMC,EAAaX,EAAiBO,qBAAqBK,uBACzD,MAAMC,EAAcF,IAAeG,WAAaH,EAAWI,MAAMC,OAAS,EAAI,KAAO,MACrF,MAAMC,EAA4BjB,EAAiBkB,oBAAsBrB,EAAasB,WACtF,MAAMC,EAAuBpB,EAAiBqB,gCAAgCpB,GAC9E,MAAMqB,EAA0BvB,IAAa,cAAgBqB,IAAyB,MAAQA,SAA8B,OAAS,EAAIA,EAAqBE,0BAA4B,MAAQF,IAAyB,MAAQA,SAA8B,OAAS,GAAKjB,EAAwBiB,EAAqBG,iBAAmB,MAAQpB,SAA+B,OAAS,EAAIA,EAAsBmB,0BAA4B,KACrb,GAAIvB,IAAa,QAAS,CACxB,IAAIyB,EACJpB,EAAsBF,IAA2B,MAAQA,SAAgC,OAAS,EAAIA,EAAuBuB,2BAC7HpB,IAAsBmB,EAAuBpB,KAAyB,MAAQoB,SAA8B,OAAS,EAAIA,EAAqBE,QAAU,iBAC1J,CACA,OAAOJ,GAA2BL,IAA8BX,IAAkBO,IAAgBd,IAAa,SAAWM,GAAqB,SAAWI,EAA2B,KACvL,CACAb,EAASE,sBAAwBA,EACjC,OAAOF,CACT,EAAG"}
@@ -0,0 +1,45 @@
1
+ import { StandardActionsContext } from "../controls/Common/table/StandardActions";
2
+ import ConverterContext from "../ConverterContext";
3
+ import { TemplateType } from "../ManifestSettings";
4
+
5
+ /**
6
+ * Gets the boolean value for the 'visible' property of the 'AddCardToInsights' action.
7
+ *
8
+ * @param cardType
9
+ * @param converterContext
10
+ * @param visualizationPath
11
+ * @param standardActionsContext
12
+ * @returns Boolean value for the 'visible' property of the 'AddCardToInsights' action.
13
+ */
14
+ export function getInsightsVisibility(
15
+ cardType: "Analytical" | "Table",
16
+ converterContext: ConverterContext,
17
+ visualizationPath: string,
18
+ standardActionsContext?: StandardActionsContext
19
+ ): boolean {
20
+ let tableManifestConfig, isResponsiveTable;
21
+
22
+ const isMultiEntity = converterContext.getManifestWrapper().hasMultipleEntitySets();
23
+ const isMultipleVisualizations = converterContext.getManifestWrapper().hasMultipleVisualizations();
24
+ const viewConfig = converterContext.getManifestWrapper().getViewConfiguration();
25
+ const isMultiTabs = viewConfig !== undefined && viewConfig.paths.length > 1 ? true : false;
26
+ const templateBindingExpression = converterContext.getTemplateType() === TemplateType.ListReport;
27
+ const vizPathConfiguration = converterContext.getManifestControlConfiguration(visualizationPath);
28
+ const enableAddCardToInsights =
29
+ cardType === "Analytical"
30
+ ? vizPathConfiguration?.enableAddCardToInsights ?? true
31
+ : vizPathConfiguration?.tableSettings?.enableAddCardToInsights ?? true;
32
+
33
+ if (cardType === "Table") {
34
+ tableManifestConfig = standardActionsContext?.tableManifestConfiguration;
35
+ isResponsiveTable = tableManifestConfig?.type === "ResponsiveTable";
36
+ }
37
+
38
+ return (
39
+ enableAddCardToInsights &&
40
+ templateBindingExpression &&
41
+ !isMultiEntity &&
42
+ !isMultiTabs &&
43
+ (cardType === "Table" ? (isResponsiveTable ?? false) && !isMultipleVisualizations : true)
44
+ );
45
+ }