@sapui5/sap.fe.core 1.111.1 → 1.113.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 (579) 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 +6 -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 +12 -11
  7. package/src/sap/fe/core/AppComponent-dbg.js +35 -9
  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 +66 -9
  11. package/src/sap/fe/core/AppStateHandler-dbg.js +5 -2
  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 +10 -1
  15. package/src/sap/fe/core/BaseController-dbg.js +1 -1
  16. package/src/sap/fe/core/BaseController.ts +2 -1
  17. package/src/sap/fe/core/CommonUtils-dbg.js +202 -533
  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 +260 -681
  21. package/src/sap/fe/core/ExtensionAPI-dbg.js +4 -1
  22. package/src/sap/fe/core/ExtensionAPI.js +1 -1
  23. package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
  24. package/src/sap/fe/core/ExtensionAPI.ts +11 -1
  25. package/src/sap/fe/core/PageController-dbg.js +26 -31
  26. package/src/sap/fe/core/PageController.js +1 -1
  27. package/src/sap/fe/core/PageController.js.map +1 -1
  28. package/src/sap/fe/core/PageController.ts +17 -3
  29. package/src/sap/fe/core/ResourceModel-dbg.js +71 -0
  30. package/src/sap/fe/core/ResourceModel.js +6 -0
  31. package/src/sap/fe/core/ResourceModel.js.map +1 -0
  32. package/src/sap/fe/core/ResourceModel.ts +67 -0
  33. package/src/sap/fe/core/TemplateComponent-dbg.js +1 -1
  34. package/src/sap/fe/core/TemplateComponent.ts +1 -0
  35. package/src/sap/fe/core/TemplateModel-dbg.js +1 -1
  36. package/src/sap/fe/core/TemplateModel.ts +6 -1
  37. package/src/sap/fe/core/buildingBlocks/AttributeModel-dbg.js +5 -7
  38. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
  39. package/src/sap/fe/core/buildingBlocks/AttributeModel.js.map +1 -1
  40. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +6 -5
  41. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +164 -0
  42. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +6 -0
  43. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -0
  44. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +170 -0
  45. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +88 -0
  46. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js +6 -0
  47. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js.map +1 -0
  48. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +142 -0
  49. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +913 -0
  50. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js +21 -0
  51. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -0
  52. package/src/sap/fe/core/buildingBlocks/{BuildingBlockRuntime.ts → BuildingBlockTemplateProcessor.ts} +313 -373
  53. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock-dbg.js +79 -0
  54. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js +15 -0
  55. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js.map +1 -0
  56. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.ts +68 -0
  57. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +162 -0
  58. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js +6 -0
  59. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js.map +1 -0
  60. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +183 -0
  61. package/src/sap/fe/core/buildingBlocks/TraceInfo-dbg.js +4 -2
  62. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +1 -1
  63. package/src/sap/fe/core/buildingBlocks/TraceInfo.js.map +1 -1
  64. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +5 -3
  65. package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +936 -231
  66. package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
  67. package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
  68. package/src/sap/fe/core/controllerextensions/EditFlow.ts +1023 -255
  69. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +48 -98
  70. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
  71. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -1
  72. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +95 -129
  73. package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +14 -17
  74. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
  75. package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
  76. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +23 -17
  77. package/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +1 -1
  78. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -0
  79. package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +3 -3
  80. package/src/sap/fe/core/controllerextensions/MassEdit.js +1 -1
  81. package/src/sap/fe/core/controllerextensions/MassEdit.js.map +1 -1
  82. package/src/sap/fe/core/controllerextensions/MassEdit.ts +2 -2
  83. package/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +2 -1
  84. package/src/sap/fe/core/controllerextensions/MessageHandler.js.map +1 -1
  85. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +2 -0
  86. package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +3 -5
  87. package/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
  88. package/src/sap/fe/core/controllerextensions/PageReady.js.map +1 -1
  89. package/src/sap/fe/core/controllerextensions/PageReady.ts +26 -4
  90. package/src/sap/fe/core/controllerextensions/Paginator-dbg.js +2 -1
  91. package/src/sap/fe/core/controllerextensions/Paginator.js.map +1 -1
  92. package/src/sap/fe/core/controllerextensions/Paginator.ts +7 -0
  93. package/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +1 -1
  94. package/src/sap/fe/core/controllerextensions/Placeholder.ts +8 -0
  95. package/src/sap/fe/core/controllerextensions/Share-dbg.js +8 -1
  96. package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
  97. package/src/sap/fe/core/controllerextensions/Share.ts +11 -0
  98. package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +14 -13
  99. package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
  100. package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -1
  101. package/src/sap/fe/core/controllerextensions/SideEffects.ts +27 -27
  102. package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +17 -8
  103. package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
  104. package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -1
  105. package/src/sap/fe/core/controllerextensions/ViewState.ts +35 -14
  106. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase-dbg.js +6 -5
  107. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +1 -1
  108. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js.map +1 -1
  109. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +7 -4
  110. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +285 -82
  111. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +1 -1
  112. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -1
  113. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +326 -89
  114. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +23 -2
  115. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +1 -1
  116. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -1
  117. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +32 -3
  118. package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +4 -4
  119. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +1 -1
  120. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -1
  121. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +4 -5
  122. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +17 -3
  123. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block-dbg.js +65 -34
  124. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +1 -1
  125. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js.map +1 -1
  126. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +33 -18
  127. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog-dbg.js +103 -0
  128. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +6 -0
  129. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js.map +1 -0
  130. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.tsx +124 -0
  131. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +78 -149
  132. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
  133. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
  134. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +85 -160
  135. package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +49 -49
  136. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +1 -1
  137. package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -1
  138. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +52 -63
  139. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
  140. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +82 -0
  141. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +6 -0
  142. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js.map +1 -0
  143. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +123 -0
  144. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +1508 -0
  145. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +6 -0
  146. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -0
  147. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +1993 -0
  148. package/src/sap/fe/core/controllerextensions/editFlow/operations-dbg.js +3 -1415
  149. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1 -1
  150. package/src/sap/fe/core/controllerextensions/editFlow/operations.js.map +1 -1
  151. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +2 -1921
  152. package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +10 -18
  153. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
  154. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
  155. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +9 -22
  156. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +53 -47
  157. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
  158. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
  159. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +55 -61
  160. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher-dbg.js +12 -1
  161. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js.map +1 -1
  162. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.ts +19 -0
  163. package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +78 -13
  164. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +1 -1
  165. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +1 -1
  166. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +100 -13
  167. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +4 -1
  168. package/src/sap/fe/core/controls/CommandExecution-dbg.js +16 -5
  169. package/src/sap/fe/core/controls/CommandExecution.js +1 -1
  170. package/src/sap/fe/core/controls/CommandExecution.js.map +1 -1
  171. package/src/sap/fe/core/controls/CommandExecution.ts +15 -3
  172. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +3 -2
  173. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
  174. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +1 -1
  175. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +4 -1
  176. package/src/sap/fe/core/controls/FilterBar-dbg.js +1 -1
  177. package/src/sap/fe/core/controls/FilterBar.ts +5 -0
  178. package/src/sap/fe/core/controls/FormElementWrapper-dbg.js +1 -1
  179. package/src/sap/fe/core/controls/FormElementWrapper.ts +3 -0
  180. package/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +1 -1
  181. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +7 -0
  182. package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +1 -1
  183. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +4 -0
  184. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +1 -1
  185. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +10 -0
  186. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +4 -3
  187. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +1 -1
  188. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -1
  189. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +3 -2
  190. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +0 -1
  191. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +2 -0
  192. package/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +6 -1
  193. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +1 -1
  194. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js.map +1 -1
  195. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +5 -0
  196. package/src/sap/fe/core/converters/ConverterContext-dbg.js +3 -5
  197. package/src/sap/fe/core/converters/ConverterContext.js +1 -1
  198. package/src/sap/fe/core/converters/ConverterContext.js.map +1 -1
  199. package/src/sap/fe/core/converters/ConverterContext.ts +4 -6
  200. package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -8
  201. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  202. package/src/sap/fe/core/converters/ManifestSettings.js.map +1 -1
  203. package/src/sap/fe/core/converters/ManifestSettings.ts +15 -6
  204. package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +21 -3
  205. package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
  206. package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -1
  207. package/src/sap/fe/core/converters/ManifestWrapper.ts +23 -1
  208. package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +67 -62
  209. package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  210. package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -1
  211. package/src/sap/fe/core/converters/MetaModelConverter.ts +75 -66
  212. package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -1
  213. package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
  214. package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
  215. package/src/sap/fe/core/converters/annotations/DataField-dbg.js +81 -20
  216. package/src/sap/fe/core/converters/annotations/DataField.js +1 -1
  217. package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -1
  218. package/src/sap/fe/core/converters/annotations/DataField.ts +76 -22
  219. package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1027 -956
  220. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
  221. package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
  222. package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +13 -19
  223. package/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
  224. package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -1
  225. package/src/sap/fe/core/converters/controls/Common/Action.ts +37 -40
  226. package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +95 -33
  227. package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
  228. package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
  229. package/src/sap/fe/core/converters/controls/Common/Chart.ts +133 -49
  230. package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +99 -62
  231. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
  232. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
  233. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +140 -75
  234. package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +7 -6
  235. package/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
  236. package/src/sap/fe/core/converters/controls/Common/Form.js.map +1 -1
  237. package/src/sap/fe/core/converters/controls/Common/Form.ts +8 -14
  238. package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +9 -9
  239. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  240. package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -1
  241. package/src/sap/fe/core/converters/controls/Common/KPI.ts +17 -18
  242. package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +143 -93
  243. package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
  244. package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
  245. package/src/sap/fe/core/converters/controls/Common/Table.ts +221 -177
  246. package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +23 -16
  247. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
  248. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
  249. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +27 -23
  250. package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +138 -75
  251. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
  252. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -1
  253. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +223 -110
  254. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +38 -28
  255. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
  256. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -1
  257. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +67 -47
  258. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar-dbg.js +1 -1
  259. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +1 -1
  260. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +6 -6
  261. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +1 -1
  262. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js.map +1 -1
  263. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +5 -8
  264. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +54 -24
  265. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
  266. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -1
  267. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +84 -37
  268. package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +12 -14
  269. package/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
  270. package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
  271. package/src/sap/fe/core/converters/helpers/Aggregation.ts +16 -11
  272. package/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +8 -6
  273. package/src/sap/fe/core/converters/helpers/BindingHelper.js +1 -1
  274. package/src/sap/fe/core/converters/helpers/BindingHelper.js.map +1 -1
  275. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +8 -6
  276. package/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +7 -6
  277. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +1 -1
  278. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js.map +1 -1
  279. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +19 -10
  280. package/src/sap/fe/core/converters/helpers/DataFieldHelper-dbg.js +1 -1
  281. package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +7 -2
  282. package/src/sap/fe/core/converters/helpers/ID-dbg.js +1 -1
  283. package/src/sap/fe/core/converters/helpers/ID.ts +2 -1
  284. package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +11 -9
  285. package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
  286. package/src/sap/fe/core/converters/helpers/IssueManager.js.map +1 -1
  287. package/src/sap/fe/core/converters/helpers/IssueManager.ts +10 -8
  288. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +22 -20
  289. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
  290. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -1
  291. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +19 -16
  292. package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +32 -35
  293. package/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
  294. package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -1
  295. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +42 -37
  296. package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +12 -5
  297. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
  298. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -1
  299. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +8 -2
  300. package/src/sap/fe/core/formatters/FPMFormatter-dbg.js +1 -1
  301. package/src/sap/fe/core/formatters/FPMFormatter.ts +1 -1
  302. package/src/sap/fe/core/formatters/FiscalFormat-dbg.js +2 -2
  303. package/src/sap/fe/core/formatters/FiscalFormat.ts +6 -1
  304. package/src/sap/fe/core/formatters/TableFormatter-dbg.js +3 -7
  305. package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
  306. package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -1
  307. package/src/sap/fe/core/formatters/TableFormatter.ts +2 -6
  308. package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +9 -5
  309. package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
  310. package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -1
  311. package/src/sap/fe/core/formatters/ValueFormatter.ts +11 -4
  312. package/src/sap/fe/core/fpm/Component-dbg.js +1 -1
  313. package/src/sap/fe/core/fpm/Component.ts +1 -0
  314. package/src/sap/fe/core/fpm/manifest.json +1 -1
  315. package/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +2 -2
  316. package/src/sap/fe/core/helpers/AppStartupHelper.js +1 -1
  317. package/src/sap/fe/core/helpers/AppStartupHelper.js.map +1 -1
  318. package/src/sap/fe/core/helpers/AppStartupHelper.ts +1 -1
  319. package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +7 -6
  320. package/src/sap/fe/core/helpers/BindingToolkit.js +1 -1
  321. package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
  322. package/src/sap/fe/core/helpers/BindingToolkit.ts +9 -9
  323. package/src/sap/fe/core/helpers/ClassSupport-dbg.js +1 -1
  324. package/src/sap/fe/core/helpers/ClassSupport.js.map +1 -1
  325. package/src/sap/fe/core/helpers/ClassSupport.ts +1 -0
  326. package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +93 -62
  327. package/src/sap/fe/core/helpers/DeleteHelper.js +1 -1
  328. package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -1
  329. package/src/sap/fe/core/helpers/DeleteHelper.ts +140 -185
  330. package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +23 -20
  331. package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
  332. package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
  333. package/src/sap/fe/core/helpers/MassEditHelper.ts +26 -28
  334. package/src/sap/fe/core/helpers/MessageStrip-dbg.js +9 -9
  335. package/src/sap/fe/core/helpers/MessageStrip.js +1 -1
  336. package/src/sap/fe/core/helpers/MessageStrip.js.map +1 -1
  337. package/src/sap/fe/core/helpers/MessageStrip.ts +8 -8
  338. package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +517 -0
  339. package/src/sap/fe/core/helpers/MetaModelFunction.js +6 -0
  340. package/src/sap/fe/core/helpers/MetaModelFunction.js.map +1 -0
  341. package/src/sap/fe/core/helpers/MetaModelFunction.ts +610 -0
  342. package/src/sap/fe/core/helpers/ModelHelper-dbg.js +37 -73
  343. package/src/sap/fe/core/helpers/ModelHelper.js +1 -1
  344. package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
  345. package/src/sap/fe/core/helpers/ModelHelper.ts +47 -74
  346. package/src/sap/fe/core/helpers/PasteHelper-dbg.js +5 -5
  347. package/src/sap/fe/core/helpers/PasteHelper.js +1 -1
  348. package/src/sap/fe/core/helpers/PasteHelper.js.map +1 -1
  349. package/src/sap/fe/core/helpers/PasteHelper.ts +6 -10
  350. package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +39 -0
  351. package/src/sap/fe/core/helpers/ResourceModelHelper.js +6 -0
  352. package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -0
  353. package/src/sap/fe/core/helpers/ResourceModelHelper.ts +35 -0
  354. package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +132 -23
  355. package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  356. package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -1
  357. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +109 -22
  358. package/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +2 -2
  359. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
  360. package/src/sap/fe/core/helpers/SemanticKeyHelper.js.map +1 -1
  361. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
  362. package/src/sap/fe/core/helpers/SizeHelper-dbg.js +53 -0
  363. package/src/sap/fe/core/helpers/SizeHelper.js +6 -0
  364. package/src/sap/fe/core/helpers/SizeHelper.js.map +1 -0
  365. package/src/sap/fe/core/helpers/SizeHelper.ts +51 -0
  366. package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +29 -25
  367. package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
  368. package/src/sap/fe/core/helpers/StableIdHelper.js.map +1 -1
  369. package/src/sap/fe/core/helpers/StableIdHelper.ts +26 -24
  370. package/src/sap/fe/core/helpers/Synchronization-dbg.js +1 -1
  371. package/src/sap/fe/core/helpers/Synchronization.ts +2 -0
  372. package/src/sap/fe/core/helpers/TypeGuards-dbg.js +151 -1
  373. package/src/sap/fe/core/helpers/TypeGuards.js +1 -1
  374. package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -1
  375. package/src/sap/fe/core/helpers/TypeGuards.ts +162 -1
  376. package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +2 -1
  377. package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +1 -1
  378. package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +6 -2
  379. package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +1 -1
  380. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +3 -1
  381. package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +3 -3
  382. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +1 -1
  383. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +1 -1
  384. package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +1 -1
  385. package/src/sap/fe/core/library-dbg.js +2 -2
  386. package/src/sap/fe/core/library-preload.js +156 -140
  387. package/src/sap/fe/core/library-preload.js.map +1 -1
  388. package/src/sap/fe/core/library.js +1 -1
  389. package/src/sap/fe/core/library.ts +7 -0
  390. package/src/sap/fe/core/manifest.json +1 -1
  391. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +67 -15
  392. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  393. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +1 -1
  394. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +66 -14
  395. package/src/sap/fe/core/messagebundle.properties +35 -0
  396. package/src/sap/fe/core/messagebundle_ar.properties +15 -12
  397. package/src/sap/fe/core/messagebundle_bg.properties +20 -17
  398. package/src/sap/fe/core/messagebundle_ca.properties +12 -9
  399. package/src/sap/fe/core/messagebundle_cs.properties +12 -9
  400. package/src/sap/fe/core/messagebundle_cy.properties +12 -9
  401. package/src/sap/fe/core/messagebundle_da.properties +12 -9
  402. package/src/sap/fe/core/messagebundle_de.properties +13 -10
  403. package/src/sap/fe/core/messagebundle_el.properties +14 -11
  404. package/src/sap/fe/core/messagebundle_en.properties +4 -1
  405. package/src/sap/fe/core/messagebundle_en_GB.properties +4 -1
  406. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +2 -0
  407. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +21 -0
  408. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +23 -3
  409. package/src/sap/fe/core/messagebundle_es.properties +12 -9
  410. package/src/sap/fe/core/messagebundle_es_MX.properties +12 -9
  411. package/src/sap/fe/core/messagebundle_et.properties +12 -9
  412. package/src/sap/fe/core/messagebundle_fi.properties +12 -9
  413. package/src/sap/fe/core/messagebundle_fr.properties +12 -9
  414. package/src/sap/fe/core/messagebundle_fr_CA.properties +13 -10
  415. package/src/sap/fe/core/messagebundle_hi.properties +12 -9
  416. package/src/sap/fe/core/messagebundle_hr.properties +12 -9
  417. package/src/sap/fe/core/messagebundle_hu.properties +12 -9
  418. package/src/sap/fe/core/messagebundle_id.properties +13 -10
  419. package/src/sap/fe/core/messagebundle_it.properties +12 -9
  420. package/src/sap/fe/core/messagebundle_iw.properties +12 -9
  421. package/src/sap/fe/core/messagebundle_ja.properties +13 -10
  422. package/src/sap/fe/core/messagebundle_kk.properties +12 -9
  423. package/src/sap/fe/core/messagebundle_ko.properties +12 -9
  424. package/src/sap/fe/core/messagebundle_lt.properties +12 -9
  425. package/src/sap/fe/core/messagebundle_lv.properties +12 -9
  426. package/src/sap/fe/core/messagebundle_ms.properties +13 -10
  427. package/src/sap/fe/core/messagebundle_nl.properties +13 -10
  428. package/src/sap/fe/core/messagebundle_no.properties +12 -9
  429. package/src/sap/fe/core/messagebundle_pl.properties +12 -9
  430. package/src/sap/fe/core/messagebundle_pt.properties +12 -9
  431. package/src/sap/fe/core/messagebundle_pt_PT.properties +12 -9
  432. package/src/sap/fe/core/messagebundle_ro.properties +16 -13
  433. package/src/sap/fe/core/messagebundle_ru.properties +13 -10
  434. package/src/sap/fe/core/messagebundle_sh.properties +12 -9
  435. package/src/sap/fe/core/messagebundle_sk.properties +12 -9
  436. package/src/sap/fe/core/messagebundle_sl.properties +12 -9
  437. package/src/sap/fe/core/messagebundle_sv.properties +12 -9
  438. package/src/sap/fe/core/messagebundle_th.properties +12 -9
  439. package/src/sap/fe/core/messagebundle_tr.properties +12 -9
  440. package/src/sap/fe/core/messagebundle_uk.properties +12 -9
  441. package/src/sap/fe/core/messagebundle_vi.properties +13 -10
  442. package/src/sap/fe/core/messagebundle_zh_CN.properties +12 -9
  443. package/src/sap/fe/core/messagebundle_zh_TW.properties +12 -9
  444. package/src/sap/fe/core/operationsHelper-dbg.js +70 -44
  445. package/src/sap/fe/core/operationsHelper.js +1 -1
  446. package/src/sap/fe/core/operationsHelper.js.map +1 -1
  447. package/src/sap/fe/core/operationsHelper.ts +88 -63
  448. package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +1 -1
  449. package/src/sap/fe/core/rootView/Fcl.controller.ts +10 -0
  450. package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +2 -2
  451. package/src/sap/fe/core/rootView/NavContainer.controller.js +1 -1
  452. package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -1
  453. package/src/sap/fe/core/rootView/NavContainer.controller.ts +5 -3
  454. package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +10 -5
  455. package/src/sap/fe/core/rootView/RootViewBaseController.js +1 -1
  456. package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -1
  457. package/src/sap/fe/core/rootView/RootViewBaseController.ts +22 -8
  458. package/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +1 -1
  459. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
  460. package/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +1 -1
  461. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js.map +1 -1
  462. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +15 -1
  463. package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +1 -1
  464. package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
  465. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +4 -1
  466. package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +9 -1
  467. package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
  468. package/src/sap/fe/core/services/NavigationServiceFactory.ts +19 -1
  469. package/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +2 -2
  470. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +1 -1
  471. package/src/sap/fe/core/services/ResourceModelServiceFactory.js.map +1 -1
  472. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +10 -3
  473. package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +9 -3
  474. package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
  475. package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
  476. package/src/sap/fe/core/services/RoutingServiceFactory.ts +35 -3
  477. package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +7 -1
  478. package/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
  479. package/src/sap/fe/core/services/ShellServicesFactory.js.map +1 -1
  480. package/src/sap/fe/core/services/ShellServicesFactory.ts +24 -2
  481. package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +448 -279
  482. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
  483. package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -1
  484. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +497 -333
  485. package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +26 -6
  486. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
  487. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
  488. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +54 -13
  489. package/src/sap/fe/core/support/Diagnostics-dbg.js +1 -1
  490. package/src/sap/fe/core/support/Diagnostics.ts +5 -0
  491. package/src/sap/fe/core/templating/CommonFormatters-dbg.js +4 -3
  492. package/src/sap/fe/core/templating/CommonFormatters.js +1 -1
  493. package/src/sap/fe/core/templating/CommonFormatters.js.map +1 -1
  494. package/src/sap/fe/core/templating/CommonFormatters.ts +2 -2
  495. package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +195 -95
  496. package/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
  497. package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -1
  498. package/src/sap/fe/core/templating/DataModelPathHelper.ts +210 -96
  499. package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +5 -5
  500. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  501. package/src/sap/fe/core/templating/DisplayModeFormatter.js.map +1 -1
  502. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -2
  503. package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +19 -29
  504. package/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
  505. package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -1
  506. package/src/sap/fe/core/templating/EntitySetHelper.ts +14 -26
  507. package/src/sap/fe/core/templating/EntityTypeHelper-dbg.js +48 -0
  508. package/src/sap/fe/core/templating/EntityTypeHelper.js +6 -0
  509. package/src/sap/fe/core/templating/EntityTypeHelper.js.map +1 -0
  510. package/src/sap/fe/core/templating/EntityTypeHelper.ts +37 -0
  511. package/src/sap/fe/core/templating/FilterHelper-dbg.js +3 -3
  512. package/src/sap/fe/core/templating/FilterHelper.js +1 -1
  513. package/src/sap/fe/core/templating/FilterHelper.js.map +1 -1
  514. package/src/sap/fe/core/templating/FilterHelper.ts +5 -3
  515. package/src/sap/fe/core/templating/FilterTemplating-dbg.js +7 -8
  516. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  517. package/src/sap/fe/core/templating/FilterTemplating.js.map +1 -1
  518. package/src/sap/fe/core/templating/FilterTemplating.ts +5 -8
  519. package/src/sap/fe/core/templating/PropertyFormatters-dbg.js +1 -6
  520. package/src/sap/fe/core/templating/PropertyFormatters.js +1 -1
  521. package/src/sap/fe/core/templating/PropertyFormatters.js.map +1 -1
  522. package/src/sap/fe/core/templating/PropertyFormatters.ts +0 -5
  523. package/src/sap/fe/core/templating/PropertyHelper-dbg.js +13 -46
  524. package/src/sap/fe/core/templating/PropertyHelper.js +1 -1
  525. package/src/sap/fe/core/templating/PropertyHelper.js.map +1 -1
  526. package/src/sap/fe/core/templating/PropertyHelper.ts +14 -43
  527. package/src/sap/fe/core/templating/UIFormatters-dbg.js +32 -26
  528. package/src/sap/fe/core/templating/UIFormatters.js +1 -1
  529. package/src/sap/fe/core/templating/UIFormatters.js.map +1 -1
  530. package/src/sap/fe/core/templating/UIFormatters.ts +47 -32
  531. package/src/sap/fe/core/type/DateTimeWithTimezone-dbg.js +1 -1
  532. package/src/sap/fe/core/type/DateTimeWithTimezone.ts +2 -0
  533. package/src/sap/fe/core/type/FiscalDate-dbg.js +2 -2
  534. package/src/sap/fe/core/type/FiscalDate.js.map +1 -1
  535. package/src/sap/fe/core/type/FiscalDate.ts +2 -1
  536. package/src/sap/fe/core/type/TypeUtil-dbg.js +5 -10
  537. package/src/sap/fe/core/type/TypeUtil.js +1 -1
  538. package/src/sap/fe/core/type/TypeUtil.js.map +1 -1
  539. package/src/sap/fe/core/type/TypeUtil.ts +3 -6
  540. package/src/sap/fe/core/buildingBlocks/BuildingBlock-dbg.js +0 -410
  541. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +0 -15
  542. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js.map +0 -1
  543. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +0 -536
  544. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment-dbg.js +0 -44
  545. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js +0 -6
  546. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js.map +0 -1
  547. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.ts +0 -14
  548. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime-dbg.js +0 -948
  549. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +0 -19
  550. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js.map +0 -1
  551. package/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +0 -711
  552. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +0 -6
  553. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js.map +0 -1
  554. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +0 -863
  555. package/src/sap/fe/core/controls/ActionPartial.fragment.xml +0 -91
  556. package/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +0 -151
  557. package/src/sap/fe/core/controls/ConditionalWrapper.js +0 -6
  558. package/src/sap/fe/core/controls/ConditionalWrapper.js.map +0 -1
  559. package/src/sap/fe/core/controls/ConditionalWrapper.ts +0 -88
  560. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper-dbg.js +0 -330
  561. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +0 -6
  562. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js.map +0 -1
  563. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +0 -292
  564. package/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +0 -126
  565. package/src/sap/fe/core/controls/CustomQuickViewPage.js +0 -6
  566. package/src/sap/fe/core/controls/CustomQuickViewPage.js.map +0 -1
  567. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +0 -105
  568. package/src/sap/fe/core/controls/FieldWrapper-dbg.js +0 -194
  569. package/src/sap/fe/core/controls/FieldWrapper.js +0 -6
  570. package/src/sap/fe/core/controls/FieldWrapper.js.map +0 -1
  571. package/src/sap/fe/core/controls/FieldWrapper.ts +0 -121
  572. package/src/sap/fe/core/controls/FileWrapper-dbg.js +0 -280
  573. package/src/sap/fe/core/controls/FileWrapper.js +0 -6
  574. package/src/sap/fe/core/controls/FileWrapper.js.map +0 -1
  575. package/src/sap/fe/core/controls/FileWrapper.ts +0 -202
  576. package/src/sap/fe/core/helpers/SideEffectsHelper-dbg.js +0 -141
  577. package/src/sap/fe/core/helpers/SideEffectsHelper.js +0 -6
  578. package/src/sap/fe/core/helpers/SideEffectsHelper.js.map +0 -1
  579. package/src/sap/fe/core/helpers/SideEffectsHelper.ts +0 -129
@@ -2,7 +2,7 @@
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/BindingToolkit", "sap/ui/core/Component", "sap/ui/core/Core", "../../formatters/CollaborationFormatter"], function (BindingToolkit, Component, Core, collaborationFormatter) {
5
+ sap.ui.define(["sap/fe/core/helpers/BindingToolkit", "sap/fe/macros/CommonHelper", "sap/ui/core/Component", "sap/ui/core/Core", "../../formatters/CollaborationFormatter"], function (BindingToolkit, CommonHelper, Component, Core, collaborationFormatter) {
6
6
  "use strict";
7
7
 
8
8
  var _exports = {};
@@ -39,6 +39,8 @@ sap.ui.define(["sap/fe/core/helpers/BindingToolkit", "sap/ui/core/Component", "s
39
39
  Activity["Undo"] = "UNDO";
40
40
  })(Activity || (Activity = {}));
41
41
  _exports.Activity = Activity;
42
+ const USERS_PARAMETERS = "Users";
43
+ const USER_ID_PARAMETER = "UserID";
42
44
  function formatInitials(fullName) {
43
45
  // remove titles - those are the ones from S/4 to be checked if there are others
44
46
  const academicTitles = ["Dr.", "Prof.", "Prof. Dr.", "B.A.", "MBA", "Ph.D."];
@@ -72,9 +74,28 @@ sap.ui.define(["sap/fe/core/helpers/BindingToolkit", "sap/ui/core/Component", "s
72
74
  return 10;
73
75
  }
74
76
  }
77
+ function getValueHelpDelegate(contextPath) {
78
+ // The non null assertion is safe here, because the action is only available if the annotation is present
79
+ const actionName = contextPath.targetEntitySet.annotations.Common.DraftRoot.ShareAction.toString();
80
+ // We are also sure that the action exist
81
+ const action = contextPath.targetEntityType.resolvePath(actionName);
82
+ // By definition the action has a parameter with the name "Users"
83
+ const userParameters = action.parameters.find(param => param.name === USERS_PARAMETERS);
84
+ const delegateConfiguration = {
85
+ name: CommonHelper.addSingleQuotes("sap/fe/macros/valuehelp/ValueHelpDelegate"),
86
+ payload: {
87
+ propertyPath: CommonHelper.addSingleQuotes(`/${userParameters.type}/${USER_ID_PARAMETER}`),
88
+ qualifiers: {},
89
+ valueHelpQualifier: CommonHelper.addSingleQuotes(""),
90
+ isActionParameterDialog: true
91
+ }
92
+ };
93
+ return CommonHelper.objectToString(delegateConfiguration);
94
+ }
75
95
 
76
96
  // copied from CommonUtils. Due to a cycle dependency I can't use CommonUtils here.
77
97
  // That's to be fixed. the discard popover thingy shouldn't be in the common utils at all
98
+ _exports.getValueHelpDelegate = getValueHelpDelegate;
78
99
  function getAppComponent(oControl) {
79
100
  if (oControl.isA("sap.fe.core.AppComponent")) {
80
101
  return oControl;
@@ -149,4 +170,4 @@ sap.ui.define(["sap/fe/core/helpers/BindingToolkit", "sap/ui/core/Component", "s
149
170
  _exports.shareObject = shareObject;
150
171
  return _exports;
151
172
  }, false);
152
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJVc2VyU3RhdHVzIiwiVXNlckVkaXRpbmdTdGF0ZSIsIkFjdGl2aXR5IiwiZm9ybWF0SW5pdGlhbHMiLCJmdWxsTmFtZSIsImFjYWRlbWljVGl0bGVzIiwiZm9yRWFjaCIsImFjYWRlbWljVGl0bGUiLCJyZXBsYWNlIiwiaW5pdGlhbHMiLCJwYXJ0cyIsInRyaW1TdGFydCIsInNwbGl0IiwibGVuZ3RoIiwic2hpZnQiLCJjaGFyQXQiLCJwb3AiLCJzdWJzdHJpbmciLCJ0b1VwcGVyQ2FzZSIsImdldFVzZXJDb2xvciIsIlVzZXJJRCIsImFjdGl2ZVVzZXJzIiwiaW52aXRlZFVzZXJzIiwidXNlciIsImZpbmQiLCJ1IiwiaWQiLCJjb2xvciIsImkiLCJmaW5kSW5kZXgiLCJnZXRBcHBDb21wb25lbnQiLCJvQ29udHJvbCIsImlzQSIsIm9Pd25lciIsIkNvbXBvbmVudCIsImdldE93bmVyQ29tcG9uZW50Rm9yIiwiZ2V0TWUiLCJ2aWV3Iiwic2hlbGxTZXJ2aWNlSGVscGVyIiwiZ2V0U2hlbGxTZXJ2aWNlcyIsImhhc1VTaGVsbCIsImdldFVzZXIiLCJnZXRJbml0aWFscyIsImdldElkIiwibmFtZSIsImdldEZ1bGxOYW1lIiwiZ2V0VGV4dCIsImluaXRpYWxOYW1lIiwibWUiLCJzdGF0dXMiLCJDdXJyZW50bHlFZGl0aW5nIiwidGV4dElkIiwib1Jlc291cmNlTW9kZWwiLCJDb3JlIiwiZ2V0TGlicmFyeVJlc291cmNlQnVuZGxlIiwiYXJncyIsImdldEludml0YXRpb25EaWFsb2dUaXRsZUV4cEJpbmRpbmciLCJkYXRhTW9kZWxQYXRoIiwiaGVhZGVySW5mbyIsInRhcmdldE9iamVjdCIsInRpdGxlIiwiZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uIiwiVGl0bGUiLCJWYWx1ZSIsInBhcmFtcyIsImNvbnN0YW50IiwiVHlwZU5hbWUiLCJ0aXRsZUV4cHJlc3Npb24iLCJmb3JtYXRSZXN1bHQiLCJjb2xsYWJvcmF0aW9uRm9ybWF0dGVyIiwiZ2V0Rm9ybWF0dGVkVGV4dCIsImNvbXBpbGVFeHByZXNzaW9uIiwiQ29sbGFib3JhdGlvblV0aWxzIiwic2hhcmVPYmplY3QiLCJiaW5kaW5nQ29udGV4dCIsInVzZXJzIiwibW9kZWwiLCJnZXRNb2RlbCIsIm1ldGFNb2RlbCIsImdldE1ldGFNb2RlbCIsImVudGl0eVNldCIsImdldE1ldGFQYXRoIiwic2hhcmVBY3Rpb25OYW1lIiwiZ2V0T2JqZWN0Iiwic2hhcmVBY3Rpb24iLCJiaW5kQ29udGV4dCIsInNldFBhcmFtZXRlciIsImV4ZWN1dGUiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbGxhYm9yYXRpb25Db21tb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUZpZWxkLCBIZWFkZXJJbmZvIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9VSVwiO1xuaW1wb3J0IHR5cGUgQXBwQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9BcHBDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHsgY29tcGlsZUV4cHJlc3Npb24sIGNvbnN0YW50LCBmb3JtYXRSZXN1bHQsIGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9Db21wb25lbnRcIjtcbmltcG9ydCBDb3JlIGZyb20gXCJzYXAvdWkvY29yZS9Db3JlXCI7XG5pbXBvcnQgdHlwZSBWaWV3IGZyb20gXCJzYXAvdWkvY29yZS9tdmMvVmlld1wiO1xuaW1wb3J0IHR5cGUgeyBWNENvbnRleHQgfSBmcm9tIFwidHlwZXMvZXh0ZW5zaW9uX3R5cGVzXCI7XG5pbXBvcnQgY29sbGFib3JhdGlvbkZvcm1hdHRlciBmcm9tIFwiLi4vLi4vZm9ybWF0dGVycy9Db2xsYWJvcmF0aW9uRm9ybWF0dGVyXCI7XG5pbXBvcnQgeyBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcIi4uLy4uL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuXG5leHBvcnQgZW51bSBVc2VyU3RhdHVzIHtcblx0Tm90WWV0SW52aXRlZCA9IDAsXG5cdE5vQ2hhbmdlc01hZGUgPSAxLFxuXHRDaGFuZ2VzTWFkZSA9IDIsXG5cdEN1cnJlbnRseUVkaXRpbmcgPSAzXG59XG5cbmV4cG9ydCBlbnVtIFVzZXJFZGl0aW5nU3RhdGUge1xuXHROb0NoYW5nZXMgPSBcIk5cIixcblx0SW5Qcm9ncmVzcyA9IFwiUFwiXG59XG5cbmV4cG9ydCB0eXBlIFVzZXIgPSB7XG5cdGlkOiBzdHJpbmc7XG5cdGluaXRpYWxzPzogc3RyaW5nO1xuXHRuYW1lOiBzdHJpbmc7XG5cdGNvbG9yPzogbnVtYmVyO1xuXHR0cmFuc2llbnQ/OiBib29sZWFuO1xuXHRzdGF0dXM/OiBVc2VyU3RhdHVzO1xuXHRtZT86IGJvb2xlYW47XG5cdGluaXRpYWxOYW1lPzogc3RyaW5nO1xufTtcblxuLy8gYmFja2VuZCByZXByZXNlbnRhdGlvbiBvZiBhIHVzZXIgYWNjb3JkaW5nIHRvIGNvbGxhYm9yYXRpb24gZHJhZnQgc3BlY1xuZXhwb3J0IHR5cGUgQmFja2VuZFVzZXIgPSB7XG5cdFVzZXJJRDogc3RyaW5nO1xuXHRVc2VyQWNjZXNzUm9sZTogc3RyaW5nO1xuXHRVc2VyRWRpdGluZ1N0YXRlPzogVXNlckVkaXRpbmdTdGF0ZTtcblx0VXNlckRlc2NyaXB0aW9uPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVXNlckFjdGl2aXR5ID0gVXNlciAmIHtcblx0a2V5Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGVudW0gQWN0aXZpdHkge1xuXHRKb2luID0gXCJKT0lOXCIsXG5cdEpvaW5FY2hvID0gXCJKT0lORUNIT1wiLFxuXHRMZWF2ZSA9IFwiTEVBVkVcIixcblx0Q2hhbmdlID0gXCJDSEFOR0VcIixcblx0Q3JlYXRlID0gXCJDUkVBVEVcIixcblx0RGVsZXRlID0gXCJERUxFVEVcIixcblx0QWN0aW9uID0gXCJBQ1RJT05cIixcblx0TGl2ZUNoYW5nZSA9IFwiTElWRUNIQU5HRVwiLFxuXHRBY3RpdmF0ZSA9IFwiQUNUSVZBVEVcIixcblx0RGlzY2FyZCA9IFwiRElTQ0FSRFwiLFxuXHRVbmRvID0gXCJVTkRPXCJcbn1cblxuZXhwb3J0IHR5cGUgTWVzc2FnZSA9IHtcblx0dXNlckRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cdHVzZXJJRDogc3RyaW5nO1xuXHR1c2VyQWN0aW9uOiBzdHJpbmc7XG5cdGNsaWVudEFjdGlvbjogc3RyaW5nO1xuXHRjbGllbnRUcmlnZ2VyZWRBY3Rpb25OYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdGNsaWVudENvbnRlbnQ6IHN0cmluZztcbn07XG5cbmZ1bmN0aW9uIGZvcm1hdEluaXRpYWxzKGZ1bGxOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHQvLyByZW1vdmUgdGl0bGVzIC0gdGhvc2UgYXJlIHRoZSBvbmVzIGZyb20gUy80IHRvIGJlIGNoZWNrZWQgaWYgdGhlcmUgYXJlIG90aGVyc1xuXHRjb25zdCBhY2FkZW1pY1RpdGxlcyA9IFtcIkRyLlwiLCBcIlByb2YuXCIsIFwiUHJvZi4gRHIuXCIsIFwiQi5BLlwiLCBcIk1CQVwiLCBcIlBoLkQuXCJdO1xuXHRhY2FkZW1pY1RpdGxlcy5mb3JFYWNoKGZ1bmN0aW9uIChhY2FkZW1pY1RpdGxlKSB7XG5cdFx0ZnVsbE5hbWUgPSBmdWxsTmFtZS5yZXBsYWNlKGFjYWRlbWljVGl0bGUsIFwiXCIpO1xuXHR9KTtcblxuXHRsZXQgaW5pdGlhbHM6IHN0cmluZztcblx0Y29uc3QgcGFydHMgPSBmdWxsTmFtZS50cmltU3RhcnQoKS5zcGxpdChcIiBcIik7XG5cblx0aWYgKHBhcnRzLmxlbmd0aCA+IDEpIHtcblx0XHRpbml0aWFscyA9IChwYXJ0cz8uc2hpZnQoKT8uY2hhckF0KDApIHx8IFwiXCIpICsgcGFydHMucG9wKCk/LmNoYXJBdCgwKTtcblx0fSBlbHNlIHtcblx0XHRpbml0aWFscyA9IGZ1bGxOYW1lLnN1YnN0cmluZygwLCAyKTtcblx0fVxuXG5cdHJldHVybiBpbml0aWFscy50b1VwcGVyQ2FzZSgpO1xufVxuXG5mdW5jdGlvbiBnZXRVc2VyQ29sb3IoVXNlcklEOiBzdHJpbmcsIGFjdGl2ZVVzZXJzOiBVc2VyW10sIGludml0ZWRVc2VyczogVXNlcltdKSB7XG5cdC8vIHNlYXJjaCBpZiB1c2VyIGlzIGtub3duXG5cdGNvbnN0IHVzZXIgPSBhY3RpdmVVc2Vycy5maW5kKCh1KSA9PiB1LmlkID09PSBVc2VySUQpO1xuXHRpZiAodXNlcikge1xuXHRcdHJldHVybiB1c2VyLmNvbG9yO1xuXHR9IGVsc2Uge1xuXHRcdC8vIHNlYXJjaCBmb3IgbmV4dCBmcmVlIGNvbG9yXG5cdFx0Zm9yIChsZXQgaSA9IDE7IGkgPD0gMTA7IGkrKykge1xuXHRcdFx0aWYgKGFjdGl2ZVVzZXJzLmZpbmRJbmRleCgodSkgPT4gdS5jb2xvciA9PT0gaSkgPT09IC0xICYmIGludml0ZWRVc2Vycy5maW5kSW5kZXgoKHUpID0+IHUuY29sb3IgPT09IGkpID09PSAtMSkge1xuXHRcdFx0XHRyZXR1cm4gaTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ly8gdGhpcyBzZWVtcyB0byBiZSBhIHBvcHVsYXIgb2JqZWN0IDopIGZvciBub3cganVzdCByZXR1cm4gMTAgZm9yIGFsbC5cblx0XHQvLyBmb3IgaW52aXRlZCB3ZSBzaG91bGQgc3RhcnQgZnJvbSAxIGFnYWluIHNvIHRoZSBjb2xvcnMgYXJlIGRpZmZlcmVudFxuXHRcdHJldHVybiAxMDtcblx0fVxufVxuXG4vLyBjb3BpZWQgZnJvbSBDb21tb25VdGlscy4gRHVlIHRvIGEgY3ljbGUgZGVwZW5kZW5jeSBJIGNhbid0IHVzZSBDb21tb25VdGlscyBoZXJlLlxuLy8gVGhhdCdzIHRvIGJlIGZpeGVkLiB0aGUgZGlzY2FyZCBwb3BvdmVyIHRoaW5neSBzaG91bGRuJ3QgYmUgaW4gdGhlIGNvbW1vbiB1dGlscyBhdCBhbGxcbmZ1bmN0aW9uIGdldEFwcENvbXBvbmVudChvQ29udHJvbDogYW55KTogQXBwQ29tcG9uZW50IHtcblx0aWYgKG9Db250cm9sLmlzQShcInNhcC5mZS5jb3JlLkFwcENvbXBvbmVudFwiKSkge1xuXHRcdHJldHVybiBvQ29udHJvbDtcblx0fVxuXHRjb25zdCBvT3duZXIgPSBDb21wb25lbnQuZ2V0T3duZXJDb21wb25lbnRGb3Iob0NvbnRyb2wpO1xuXHRpZiAoIW9Pd25lcikge1xuXHRcdHJldHVybiBvQ29udHJvbDtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gZ2V0QXBwQ29tcG9uZW50KG9Pd25lcik7XG5cdH1cbn1cblxuZnVuY3Rpb24gZ2V0TWUodmlldzogVmlldyk6IFVzZXIge1xuXHRjb25zdCBzaGVsbFNlcnZpY2VIZWxwZXIgPSBnZXRBcHBDb21wb25lbnQodmlldykuZ2V0U2hlbGxTZXJ2aWNlcygpO1xuXHRpZiAoIXNoZWxsU2VydmljZUhlbHBlciB8fCAhc2hlbGxTZXJ2aWNlSGVscGVyLmhhc1VTaGVsbCgpKSB7XG5cdFx0dGhyb3cgXCJObyBTaGVsbC4uLiBObyBVc2VyXCI7XG5cdH1cblx0cmV0dXJuIHtcblx0XHRpbml0aWFsczogc2hlbGxTZXJ2aWNlSGVscGVyLmdldFVzZXIoKS5nZXRJbml0aWFscygpLFxuXHRcdGlkOiBzaGVsbFNlcnZpY2VIZWxwZXIuZ2V0VXNlcigpLmdldElkKCksXG5cdFx0bmFtZTogYCR7c2hlbGxTZXJ2aWNlSGVscGVyLmdldFVzZXIoKS5nZXRGdWxsTmFtZSgpfSAoJHtnZXRUZXh0KFwiQ19DT0xMQUJPUkFUSU9ORFJBRlRfWU9VXCIpfSlgLFxuXHRcdGluaXRpYWxOYW1lOiBzaGVsbFNlcnZpY2VIZWxwZXIuZ2V0VXNlcigpLmdldEZ1bGxOYW1lKCksXG5cdFx0Y29sb3I6IDYsIC8vICBzYW1lIGNvbG9yIGFzIEZMUC4uLlxuXHRcdG1lOiB0cnVlLFxuXHRcdHN0YXR1czogVXNlclN0YXR1cy5DdXJyZW50bHlFZGl0aW5nXG5cdH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXh0KHRleHRJZDogc3RyaW5nLCAuLi5hcmdzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG5cdGNvbnN0IG9SZXNvdXJjZU1vZGVsID0gQ29yZS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUuY29yZVwiKTtcblx0cmV0dXJuIG9SZXNvdXJjZU1vZGVsLmdldFRleHQodGV4dElkLCBhcmdzKTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSB0aGUgZXhwcmVzc2lvbiBiaW5kaW5nIG9mIHRoZSBJbnZpdGF0aW9uIGRpYWxvZy5cbiAqXG4gKiBAcGFyYW0gZGF0YU1vZGVsUGF0aCBUaGUgRGF0YU1vZGVsT2JqZWN0UGF0aFxuICogQHJldHVybnMgVGhlIGRpYWxvZyB0aXRsZSBiaW5kaW5nIGV4cHJlc3Npb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEludml0YXRpb25EaWFsb2dUaXRsZUV4cEJpbmRpbmcoZGF0YU1vZGVsUGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aCk6IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIHtcblx0Y29uc3QgaGVhZGVySW5mbyA9IGRhdGFNb2RlbFBhdGgudGFyZ2V0T2JqZWN0IGFzIEhlYWRlckluZm87XG5cdGNvbnN0IHRpdGxlID0gZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKChoZWFkZXJJbmZvLlRpdGxlIGFzIERhdGFGaWVsZCB8IHVuZGVmaW5lZCk/LlZhbHVlLCBbXSwgXCJcIik7XG5cdGNvbnN0IHBhcmFtcyA9IFtcIkNfQ09MTEFCT1JBVElPTkRSQUZUX0lOVklUQVRJT05fRElBTE9HXCIsIGNvbnN0YW50KGhlYWRlckluZm8uVHlwZU5hbWUpLCB0aXRsZV07XG5cdGNvbnN0IHRpdGxlRXhwcmVzc2lvbiA9IGZvcm1hdFJlc3VsdChwYXJhbXMsIGNvbGxhYm9yYXRpb25Gb3JtYXR0ZXIuZ2V0Rm9ybWF0dGVkVGV4dCk7XG5cdHJldHVybiBjb21waWxlRXhwcmVzc2lvbih0aXRsZUV4cHJlc3Npb24pO1xufVxuXG5leHBvcnQgY29uc3QgQ29sbGFib3JhdGlvblV0aWxzID0ge1xuXHRmb3JtYXRJbml0aWFsczogZm9ybWF0SW5pdGlhbHMsXG5cdGdldFVzZXJDb2xvcjogZ2V0VXNlckNvbG9yLFxuXHRnZXRNZTogZ2V0TWUsXG5cdGdldEFwcENvbXBvbmVudDogZ2V0QXBwQ29tcG9uZW50LFxuXHRnZXRUZXh0OiBnZXRUZXh0LFxuXHRnZXRJbnZpdGF0aW9uRGlhbG9nVGl0bGVFeHBCaW5kaW5nOiBnZXRJbnZpdGF0aW9uRGlhbG9nVGl0bGVFeHBCaW5kaW5nXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc2hhcmVPYmplY3QoYmluZGluZ0NvbnRleHQ6IFY0Q29udGV4dCwgdXNlcnM6IEJhY2tlbmRVc2VyW10gPSBbXSk6IFByb21pc2U8dm9pZD4ge1xuXHRjb25zdCBtb2RlbCA9IGJpbmRpbmdDb250ZXh0LmdldE1vZGVsKCk7XG5cdGNvbnN0IG1ldGFNb2RlbCA9IG1vZGVsLmdldE1ldGFNb2RlbCgpO1xuXHRjb25zdCBlbnRpdHlTZXQgPSBtZXRhTW9kZWwuZ2V0TWV0YVBhdGgoYmluZGluZ0NvbnRleHQgYXMgYW55KTtcblx0Y29uc3Qgc2hhcmVBY3Rpb25OYW1lID0gbWV0YU1vZGVsLmdldE9iamVjdChgJHtlbnRpdHlTZXR9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5EcmFmdFJvb3QvU2hhcmVBY3Rpb25gKTtcblx0Y29uc3Qgc2hhcmVBY3Rpb24gPSBtb2RlbC5iaW5kQ29udGV4dChgJHtzaGFyZUFjdGlvbk5hbWV9KC4uLilgLCBiaW5kaW5nQ29udGV4dCk7XG5cdHNoYXJlQWN0aW9uLnNldFBhcmFtZXRlcihcIlVzZXJzXCIsIHVzZXJzKTtcblx0c2hhcmVBY3Rpb24uc2V0UGFyYW1ldGVyKFwiU2hhcmVBbGxcIiwgdHJ1ZSk7XG5cdHJldHVybiBzaGFyZUFj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
173
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJVc2VyU3RhdHVzIiwiVXNlckVkaXRpbmdTdGF0ZSIsIkFjdGl2aXR5IiwiVVNFUlNfUEFSQU1FVEVSUyIsIlVTRVJfSURfUEFSQU1FVEVSIiwiZm9ybWF0SW5pdGlhbHMiLCJmdWxsTmFtZSIsImFjYWRlbWljVGl0bGVzIiwiZm9yRWFjaCIsImFjYWRlbWljVGl0bGUiLCJyZXBsYWNlIiwiaW5pdGlhbHMiLCJwYXJ0cyIsInRyaW1TdGFydCIsInNwbGl0IiwibGVuZ3RoIiwic2hpZnQiLCJjaGFyQXQiLCJwb3AiLCJzdWJzdHJpbmciLCJ0b1VwcGVyQ2FzZSIsImdldFVzZXJDb2xvciIsIlVzZXJJRCIsImFjdGl2ZVVzZXJzIiwiaW52aXRlZFVzZXJzIiwidXNlciIsImZpbmQiLCJ1IiwiaWQiLCJjb2xvciIsImkiLCJmaW5kSW5kZXgiLCJnZXRWYWx1ZUhlbHBEZWxlZ2F0ZSIsImNvbnRleHRQYXRoIiwiYWN0aW9uTmFtZSIsInRhcmdldEVudGl0eVNldCIsImFubm90YXRpb25zIiwiQ29tbW9uIiwiRHJhZnRSb290IiwiU2hhcmVBY3Rpb24iLCJ0b1N0cmluZyIsImFjdGlvbiIsInRhcmdldEVudGl0eVR5cGUiLCJyZXNvbHZlUGF0aCIsInVzZXJQYXJhbWV0ZXJzIiwicGFyYW1ldGVycyIsInBhcmFtIiwibmFtZSIsImRlbGVnYXRlQ29uZmlndXJhdGlvbiIsIkNvbW1vbkhlbHBlciIsImFkZFNpbmdsZVF1b3RlcyIsInBheWxvYWQiLCJwcm9wZXJ0eVBhdGgiLCJ0eXBlIiwicXVhbGlmaWVycyIsInZhbHVlSGVscFF1YWxpZmllciIsImlzQWN0aW9uUGFyYW1ldGVyRGlhbG9nIiwib2JqZWN0VG9TdHJpbmciLCJnZXRBcHBDb21wb25lbnQiLCJvQ29udHJvbCIsImlzQSIsIm9Pd25lciIsIkNvbXBvbmVudCIsImdldE93bmVyQ29tcG9uZW50Rm9yIiwiZ2V0TWUiLCJ2aWV3Iiwic2hlbGxTZXJ2aWNlSGVscGVyIiwiZ2V0U2hlbGxTZXJ2aWNlcyIsImhhc1VTaGVsbCIsImdldFVzZXIiLCJnZXRJbml0aWFscyIsImdldElkIiwiZ2V0RnVsbE5hbWUiLCJnZXRUZXh0IiwiaW5pdGlhbE5hbWUiLCJtZSIsInN0YXR1cyIsIkN1cnJlbnRseUVkaXRpbmciLCJ0ZXh0SWQiLCJvUmVzb3VyY2VNb2RlbCIsIkNvcmUiLCJnZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUiLCJhcmdzIiwiZ2V0SW52aXRhdGlvbkRpYWxvZ1RpdGxlRXhwQmluZGluZyIsImRhdGFNb2RlbFBhdGgiLCJoZWFkZXJJbmZvIiwidGFyZ2V0T2JqZWN0IiwidGl0bGUiLCJnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24iLCJUaXRsZSIsIlZhbHVlIiwicGFyYW1zIiwiY29uc3RhbnQiLCJUeXBlTmFtZSIsInRpdGxlRXhwcmVzc2lvbiIsImZvcm1hdFJlc3VsdCIsImNvbGxhYm9yYXRpb25Gb3JtYXR0ZXIiLCJnZXRGb3JtYXR0ZWRUZXh0IiwiY29tcGlsZUV4cHJlc3Npb24iLCJDb2xsYWJvcmF0aW9uVXRpbHMiLCJzaGFyZU9iamVjdCIsImJpbmRpbmdDb250ZXh0IiwidXNlcnMiLCJtb2RlbCIsImdldE1vZGVsIiwibWV0YU1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwiZW50aXR5U2V0IiwiZ2V0TWV0YVBhdGgiLCJzaGFyZUFjdGlvbk5hbWUiLCJnZXRPYmplY3QiLCJzaGFyZUFjdGlvbiIsImJpbmRDb250ZXh0Iiwic2V0UGFyYW1ldGVyIiwiZXhlY3V0ZSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQ29sbGFib3JhdGlvbkNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gYXMgVm9jYWJ1bGFyeUFjdGlvbiB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IHsgRW50aXR5U2V0QW5ub3RhdGlvbnNfQ29tbW9uIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9Db21tb25fRWRtXCI7XG5pbXBvcnQgeyBEYXRhRmllbGQsIEhlYWRlckluZm8gfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1VJXCI7XG5pbXBvcnQgdHlwZSBBcHBDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBjb21waWxlRXhwcmVzc2lvbiwgY29uc3RhbnQsIGZvcm1hdFJlc3VsdCwgZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCBDb21tb25IZWxwZXIgZnJvbSBcInNhcC9mZS9tYWNyb3MvQ29tbW9uSGVscGVyXCI7XG5pbXBvcnQgeyB0eXBlIFZhbHVlSGVscFBheWxvYWQgfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC92YWx1ZWhlbHAvVmFsdWVMaXN0SGVscGVyXCI7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9Db21wb25lbnRcIjtcbmltcG9ydCBDb3JlIGZyb20gXCJzYXAvdWkvY29yZS9Db3JlXCI7XG5pbXBvcnQgdHlwZSBWaWV3IGZyb20gXCJzYXAvdWkvY29yZS9tdmMvVmlld1wiO1xuaW1wb3J0IENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgY29sbGFib3JhdGlvbkZvcm1hdHRlciBmcm9tIFwiLi4vLi4vZm9ybWF0dGVycy9Db2xsYWJvcmF0aW9uRm9ybWF0dGVyXCI7XG5pbXBvcnQgeyBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcIi4uLy4uL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuXG5leHBvcnQgZW51bSBVc2VyU3RhdHVzIHtcblx0Tm90WWV0SW52aXRlZCA9IDAsXG5cdE5vQ2hhbmdlc01hZGUgPSAxLFxuXHRDaGFuZ2VzTWFkZSA9IDIsXG5cdEN1cnJlbnRseUVkaXRpbmcgPSAzXG59XG5cbmV4cG9ydCBlbnVtIFVzZXJFZGl0aW5nU3RhdGUge1xuXHROb0NoYW5nZXMgPSBcIk5cIixcblx0SW5Qcm9ncmVzcyA9IFwiUFwiXG59XG5cbmV4cG9ydCB0eXBlIFVzZXIgPSB7XG5cdGlkOiBzdHJpbmc7XG5cdGluaXRpYWxzPzogc3RyaW5nO1xuXHRuYW1lOiBzdHJpbmc7XG5cdGNvbG9yPzogbnVtYmVyO1xuXHR0cmFuc2llbnQ/OiBib29sZWFuO1xuXHRzdGF0dXM/OiBVc2VyU3RhdHVzO1xuXHRtZT86IGJvb2xlYW47XG5cdGluaXRpYWxOYW1lPzogc3RyaW5nO1xufTtcblxuLy8gYmFja2VuZCByZXByZXNlbnRhdGlvbiBvZiBhIHVzZXIgYWNjb3JkaW5nIHRvIGNvbGxhYm9yYXRpb24gZHJhZnQgc3BlY1xuZXhwb3J0IHR5cGUgQmFja2VuZFVzZXIgPSB7XG5cdFVzZXJJRDogc3RyaW5nO1xuXHRVc2VyQWNjZXNzUm9sZTogc3RyaW5nO1xuXHRVc2VyRWRpdGluZ1N0YXRlPzogVXNlckVkaXRpbmdTdGF0ZTtcblx0VXNlckRlc2NyaXB0aW9uPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVXNlckFjdGl2aXR5ID0gVXNlciAmIHtcblx0a2V5Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGVudW0gQWN0aXZpdHkge1xuXHRKb2luID0gXCJKT0lOXCIsXG5cdEpvaW5FY2hvID0gXCJKT0lORUNIT1wiLFxuXHRMZWF2ZSA9IFwiTEVBVkVcIixcblx0Q2hhbmdlID0gXCJDSEFOR0VcIixcblx0Q3JlYXRlID0gXCJDUkVBVEVcIixcblx0RGVsZXRlID0gXCJERUxFVEVcIixcblx0QWN0aW9uID0gXCJBQ1RJT05cIixcblx0TGl2ZUNoYW5nZSA9IFwiTElWRUNIQU5HRVwiLFxuXHRBY3RpdmF0ZSA9IFwiQUNUSVZBVEVcIixcblx0RGlzY2FyZCA9IFwiRElTQ0FSRFwiLFxuXHRVbmRvID0gXCJVTkRPXCJcbn1cblxuZXhwb3J0IHR5cGUgTWVzc2FnZSA9IHtcblx0dXNlckRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cdHVzZXJJRDogc3RyaW5nO1xuXHR1c2VyQWN0aW9uOiBzdHJpbmc7XG5cdGNsaWVudEFjdGlvbjogc3RyaW5nO1xuXHRjbGllbnRUcmlnZ2VyZWRBY3Rpb25OYW1lPzogc3RyaW5nO1xuXHRjbGllbnRSZWZyZXNoTGlzdEJpbmRpbmc/OiBzdHJpbmc7XG5cdGNsaWVudFJlcXVlc3RlZFByb3BlcnRpZXM/OiBzdHJpbmc7XG5cdGNsaWVudENvbnRlbnQ6IHN0cmluZztcbn07XG5cbmNvbnN0IFVTRVJTX1BBUkFNRVRFUlMgPSBcIlVzZXJzXCI7XG5jb25zdCBVU0VSX0lEX1BBUkFNRVRFUiA9IFwiVXNlcklEXCI7XG5cbmZ1bmN0aW9uIGZvcm1hdEluaXRpYWxzKGZ1bGxOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHQvLyByZW1vdmUgdGl0bGVzIC0gdGhvc2UgYXJlIHRoZSBvbmVzIGZyb20gUy80IHRvIGJlIGNoZWNrZWQgaWYgdGhlcmUgYXJlIG90aGVyc1xuXHRjb25zdCBhY2FkZW1pY1RpdGxlcyA9IFtcIkRyLlwiLCBcIlByb2YuXCIsIFwiUHJvZi4gRHIuXCIsIFwiQi5BLlwiLCBcIk1CQVwiLCBcIlBoLkQuXCJdO1xuXHRhY2FkZW1pY1RpdGxlcy5mb3JFYWNoKGZ1bmN0aW9uIChhY2FkZW1pY1RpdGxlKSB7XG5cdFx0ZnVsbE5hbWUgPSBmdWxsTmFtZS5yZXBsYWNlKGFjYWRlbWljVGl0bGUsIFwiXCIpO1xuXHR9KTtcblxuXHRsZXQgaW5pdGlhbHM6IHN0cmluZztcblx0Y29uc3QgcGFydHMgPSBmdWxsTmFtZS50cmltU3RhcnQoKS5zcGxpdChcIiBcIik7XG5cblx0aWYgKHBhcnRzLmxlbmd0aCA+IDEpIHtcblx0XHRpbml0aWFscyA9IChwYXJ0cz8uc2hpZnQoKT8uY2hhckF0KDApIHx8IFwiXCIpICsgcGFydHMucG9wKCk/LmNoYXJBdCgwKTtcblx0fSBlbHNlIHtcblx0XHRpbml0aWFscyA9IGZ1bGxOYW1lLnN1YnN0cmluZygwLCAyKTtcblx0fVxuXG5cdHJldHVybiBpbml0aWFscy50b1VwcGVyQ2FzZSgpO1xufVxuXG5mdW5jdGlvbiBnZXRVc2VyQ29sb3IoVXNlcklEOiBzdHJpbmcsIGFjdGl2ZVVzZXJzOiBVc2VyW10sIGludml0ZWRVc2VyczogVXNlcltdKSB7XG5cdC8vIHNlYXJjaCBpZiB1c2VyIGlzIGtub3duXG5cdGNvbnN0IHVzZXIgPSBhY3RpdmVVc2Vycy5maW5kKCh1KSA9PiB1LmlkID09PSBVc2VySUQpO1xuXHRpZiAodXNlcikge1xuXHRcdHJldHVybiB1c2VyLmNvbG9yO1xuXHR9IGVsc2Uge1xuXHRcdC8vIHNlYXJjaCBmb3IgbmV4dCBmcmVlIGNvbG9yXG5cdFx0Zm9yIChsZXQgaSA9IDE7IGkgPD0gMTA7IGkrKykge1xuXHRcdFx0aWYgKGFjdGl2ZVVzZXJzLmZpbmRJbmRleCgodSkgPT4gdS5jb2xvciA9PT0gaSkgPT09IC0xICYmIGludml0ZWRVc2Vycy5maW5kSW5kZXgoKHUpID0+IHUuY29sb3IgPT09IGkpID09PSAtMSkge1xuXHRcdFx0XHRyZXR1cm4gaTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ly8gdGhpcyBzZWVtcyB0byBiZSBhIHBvcHVsYXIgb2JqZWN0IDopIGZvciBub3cganVzdCByZXR1cm4gMTAgZm9yIGFsbC5cblx0XHQvLyBmb3IgaW52aXRlZCB3ZSBzaG91bGQgc3RhcnQgZnJvbSAxIGFnYWluIHNvIHRoZSBjb2xvcnMgYXJlIGRpZmZlcmVudFxuXHRcdHJldHVybiAxMDtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmFsdWVIZWxwRGVsZWdhdGUoY29udGV4dFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgpIHtcblx0Ly8gVGhlIG5vbiBudWxsIGFzc2VydGlvbiBpcyBzYWZlIGhlcmUsIGJlY2F1c2UgdGhlIGFjdGlvbiBpcyBvbmx5IGF2YWlsYWJsZSBpZiB0aGUgYW5ub3RhdGlvbiBpcyBwcmVzZW50XG5cdGNvbnN0IGFjdGlvbk5hbWUgPSAoY29udGV4dFBhdGgudGFyZ2V0RW50aXR5U2V0IS5hbm5vdGF0aW9ucy5Db21tb24gYXMgRW50aXR5U2V0QW5ub3RhdGlvbnNfQ29tbW9uKS5EcmFmdFJvb3QhLlNoYXJlQWN0aW9uIS50b1N0cmluZygpO1xuXHQvLyBXZSBhcmUgYWxzbyBzdXJlIHRoYXQgdGhlIGFjdGlvbiBleGlzdFxuXHRjb25zdCBhY3Rpb24gPSBjb250ZXh0UGF0aC50YXJnZXRFbnRpdHlUeXBlLnJlc29sdmVQYXRoKGFjdGlvbk5hbWUpIGFzIFZvY2FidWxhcnlBY3Rpb247XG5cdC8vIEJ5IGRlZmluaXRpb24gdGhlIGFjdGlvbiBoYXMgYSBwYXJhbWV0ZXIgd2l0aCB0aGUgbmFtZSBcIlVzZXJzXCJcblx0Y29uc3QgdXNlclBhcmFtZXRlcnMgPSBhY3Rpb24ucGFyYW1ldGVycy5maW5kKChwYXJhbSkgPT4gcGFyYW0ubmFtZSA9PT0gVVNFUlNfUEFSQU1FVEVSUykhO1xuXG5cdGNvbnN0IGRlbGVnYXRlQ29uZmlndXJhdGlvbjogeyBuYW1lOiBzdHJpbmc7IHBheWxvYWQ6IFZhbHVlSGVscFBheWxvYWQgfSA9IHtcblx0XHRuYW1lOiBDb21tb25IZWxwZXIuYWRkU2luZ2xlUXVvdGVzKFwic2FwL2ZlL21hY3Jvcy92YWx1ZWhlbHAvVmFsdWVIZWxwRGVsZWdhdGVcIiksXG5cdFx0cGF5bG9hZDoge1xuXHRcdFx0cHJvcGVydHlQYXRoOiBDb21tb25IZWxwZXIuYWRkU2luZ2xlUXVvdGVzKGAvJHt1c2VyUGFyYW1ldGVycy50eXBlfS8ke1VTRVJfSURfUEFSQU1FVEVSfWApLFxuXHRcdFx0cXVhbGlmaWVyczoge30sXG5cdFx0XHR2YWx1ZUhlbHBRdWFsaWZpZXI6IENvbW1vbkhlbHBlci5hZGRTaW5nbGVRdW90ZXMoXCJcIiksXG5cdFx0XHRpc0FjdGlvblBhcmFtZXRlckRpYWxvZzogdHJ1ZVxuXHRcdH1cblx0fTtcblx0cmV0dXJuIENvbW1vbkhlbHBlci5vYmplY3RUb1N0cmluZyhkZWxlZ2F0ZUNvbmZpZ3VyYXRpb24pO1xufVxuXG4vLyBjb3BpZWQgZnJvbSBDb21tb25VdGlscy4gRHVlIHRvIGEgY3ljbGUgZGVwZW5kZW5jeSBJIGNhbid0IHVzZSBDb21tb25VdGlscyBoZXJlLlxuLy8gVGhhdCdzIHRvIGJlIGZpeGVkLiB0aGUgZGlzY2FyZCBwb3BvdmVyIHRoaW5neSBzaG91bGRuJ3QgYmUgaW4gdGhlIGNvbW1vbiB1dGlscyBhdCBhbGxcbmZ1bmN0aW9uIGdldEFwcENvbXBvbmVudChvQ29udHJvbDogYW55KTogQXBwQ29tcG9uZW50IHtcblx0aWYgKG9Db250cm9sLmlzQShcInNhcC5mZS5jb3JlLkFwcENvbXBvbmVudFwiKSkge1xuXHRcdHJldHVybiBvQ29udHJvbDtcblx0fVxuXHRjb25zdCBvT3duZXIgPSBDb21wb25lbnQuZ2V0T3duZXJDb21wb25lbnRGb3Iob0NvbnRyb2wpO1xuXHRpZiAoIW9Pd25lcikge1xuXHRcdHJldHVybiBvQ29udHJvbDtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gZ2V0QXBwQ29tcG9uZW50KG9Pd25lcik7XG5cdH1cbn1cblxuZnVuY3Rpb24gZ2V0TWUodmlldzogVmlldyk6IFVzZXIge1xuXHRjb25zdCBzaGVsbFNlcnZpY2VIZWxwZXIgPSBnZXRBcHBDb21wb25lbnQodmlldykuZ2V0U2hlbGxTZXJ2aWNlcygpO1xuXHRpZiAoIXNoZWxsU2VydmljZUhlbHBlciB8fCAhc2hlbGxTZXJ2aWNlSGVscGVyLmhhc1VTaGVsbCgpKSB7XG5cdFx0dGhyb3cgXCJObyBTaGVsbC4uLiBObyBVc2VyXCI7XG5cdH1cblx0cmV0dXJuIHtcblx0XHRpbml0aWFsczogc2hlbGxTZXJ2aWNlSGVscGVyLmdldFVzZXIoKS5nZXRJbml0aWFscygpLFxuXHRcdGlkOiBzaGVsbFNlcnZpY2VIZWxwZXIuZ2V0VXNlcigpLmdldElkKCksXG5cdFx0bmFtZTogYCR7c2hlbGxTZXJ2aWNlSGVscGVyLmdldFVzZXIoKS5nZXRGdWxsTmFtZSgpfSAoJHtnZXRUZXh0KFwiQ19DT0xMQUJPUkFUSU9ORFJBRlRfWU9VXCIpfSlgLFxuXHRcdGluaXRpYWxOYW1lOiBzaGVsbFNlcnZpY2VIZWxwZXIuZ2V0VXNlcigpLmdldEZ1bGxOYW1lKCksXG5cdFx0Y29sb3I6IDYsIC8vICBzYW1lIGNvbG9yIGFzIEZMUC4uLlxuXHRcdG1lOiB0cnVlLFxuXHRcdHN0YXR1czogVXNlclN0YXR1cy5DdXJyZW50bHlFZGl0aW5nXG5cdH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXh0KHRleHRJZDogc3RyaW5nLCAuLi5hcmdzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG5cdGNvbnN0IG9SZXNvdXJjZU1vZGVsID0gQ29yZS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUuY29yZVwiKTtcblx0cmV0dXJuIG9SZXNvdXJjZU1vZGVsLmdldFRleHQodGV4dElkLCBhcmdzKTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSB0aGUgZXhwcmVzc2lvbiBiaW5kaW5nIG9mIHRoZSBJbnZpdGF0aW9uIGRpYWxvZy5cbiAqXG4gKiBAcGFyYW0gZGF0YU1vZGVsUGF0aCBUaGUgRGF0YU1vZGVsT2JqZWN0UGF0aFxuICogQHJldHVybnMgVGhlIGRpYWxvZyB0aXRsZSBiaW5kaW5nIGV4cHJlc3Npb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEludml0YXRpb25EaWFsb2dUaXRsZUV4cEJpbmRpbmcoZGF0YU1vZGVsUGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aCk6IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIHtcblx0Y29uc3QgaGVhZGVySW5mbyA9IGRhdGFNb2RlbFBhdGgudGFyZ2V0T2JqZWN0IGFzIEhlYWRlckluZm87XG5cdGNvbnN0IHRpdGxlID0gZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKChoZWFkZXJJbmZvLlRpdGxlIGFzIERhdGFGaWVsZCB8IHVuZGVmaW5lZCk/LlZhbHVlLCBbXSwgXCJcIik7XG5cdGNvbnN0IHBhcmFtcyA9IFtcIkNfQ09MTEFCT1JBVElPTkRSQUZUX0lOVklUQVRJT05fRElBTE9HXCIsIGNvbnN0YW50KGhlYWRlckluZm8uVHlwZU5hbWUpLCB0aXRsZV07XG5cdGNvbnN0IHRpdGxlRXhwcmVzc2lvbiA9IGZvcm1hdFJlc3VsdChwYXJhbXMsIGNvbGxhYm9yYXRpb25Gb3JtYXR0ZXIuZ2V0Rm9ybWF0dGVkVGV4dCk7XG5cdHJldHVybiBjb21waWxlRXhwcmVzc2lvbih0aXRsZUV4cHJlc3Npb24pO1xufVxuXG5leHBvcnQgY29uc3QgQ29sbGFib3JhdGlvblV0aWxzID0ge1xuXHRmb3JtYXRJbml0aWFsczogZm9ybWF0SW5pdGlhbHMsXG5cdGdldFVzZXJDb2xvcjogZ2V0VXNlckNvbG9yLFxuXHRnZXRNZTogZ2V0TWUsXG5cdGdldEFwcENvbXBvbmVudDogZ2V0QXBwQ29tcG9uZW50LFxuXHRnZXRUZXh0OiBnZXRUZXh0LFxuXHRnZXRJbnZpdGF0aW9uRGlhbG9nVGl0bGVFeHBCaW5kaW5nOiBnZXRJbnZpdGF0aW9uRGlhbG9nVGl0bGVFeHBCaW5kaW5nXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc2hhcmVPYmplY3QoYmluZGluZ0NvbnRleHQ6IENvbnRleHQsIHVzZXJzOiBCYWNrZW5kVXNlcltdID0gW10pOiBQcm9taXNlPHZvaWQ+IHtcblx0Y29uc3QgbW9kZWwgPSBiaW5kaW5nQ29udGV4dC5nZXRNb2RlbCgpO1xuXHRjb25zdCBtZXRhTW9kZWwgPSBtb2RlbC5nZXRNZXRhTW9kZWwoKTtcblx0Y29uc3QgZW50aXR5U2V0ID0gbWV0YU1vZGVsLmdldE1ldGFQYXRoKGJpbmRpbmdDb250ZXh0IGFzIGFueSk7XG5cdGNvbnN0IHNoYXJlQWN0aW9uTmFtZSA9IG1ldGFNb2RlbC5nZXRPYmplY3QoYCR7ZW50aXR5U2V0fUBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuRHJhZnRSb290L1NoYXJlQWN0aW9uYCk7XG5cdGNvbnN0IHNoYXJlQWN0aW9uID0gbW9kZWwuYmluZENvbnRleHQoYCR7c2hhcmVBY3Rpb25OYW1lfSguLi4pYCwgYmluZGluZ0NvbnRleHQpO1xuXHRzaGFyZUFjdGlvbi5zZXRQYXJhbWV0ZXIoXCJVc2Vyc1wiLCB1c2Vycyk7XG5cdHNoYXJlQWN0aW9uLnNldFBhcmFtZXRlcihcIlNoYXJlQWxsXCIsIHRydWUpO1xuXHRyZXR1cm4gc2hhcmVBY3Rpb24uZXhlY3V0ZSgpO1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7TUFlWUEsVUFBVTtFQUFBLFdBQVZBLFVBQVU7SUFBVkEsVUFBVSxDQUFWQSxVQUFVO0lBQVZBLFVBQVUsQ0FBVkEsVUFBVTtJQUFWQSxVQUFVLENBQVZBLFVBQVU7SUFBVkEsVUFBVSxDQUFWQSxVQUFVO0VBQUEsR0FBVkEsVUFBVSxLQUFWQSxVQUFVO0VBQUE7RUFBQSxJQU9WQyxnQkFBZ0I7RUFBQSxXQUFoQkEsZ0JBQWdCO0lBQWhCQSxnQkFBZ0I7SUFBaEJBLGdCQUFnQjtFQUFBLEdBQWhCQSxnQkFBZ0IsS0FBaEJBLGdCQUFnQjtFQUFBO0VBQUEsSUE0QmhCQyxRQUFRO0VBQUEsV0FBUkEsUUFBUTtJQUFSQSxRQUFRO0lBQVJBLFFBQVE7SUFBUkEsUUFBUTtJQUFSQSxRQUFRO0lBQVJBLFFBQVE7SUFBUkEsUUFBUTtJQUFSQSxRQUFRO0lBQVJBLFFBQVE7SUFBUkEsUUFBUTtJQUFSQSxRQUFRO0lBQVJBLFFBQVE7RUFBQSxHQUFSQSxRQUFRLEtBQVJBLFFBQVE7RUFBQTtFQXlCcEIsTUFBTUMsZ0JBQWdCLEdBQUcsT0FBTztFQUNoQyxNQUFNQyxpQkFBaUIsR0FBRyxRQUFRO0VBRWxDLFNBQVNDLGNBQWMsQ0FBQ0MsUUFBZ0IsRUFBVTtJQUNqRDtJQUNBLE1BQU1DLGNBQWMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO0lBQzVFQSxjQUFjLENBQUNDLE9BQU8sQ0FB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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/BindingToolkit","sap/ui/core/Component","sap/ui/core/Core","../../formatters/CollaborationFormatter"],function(e,t,n,o){"use strict";var r={};var i=e.getExpressionFromAnnotation;var a=e.formatResult;var s=e.constant;var l=e.compileExpression;let c;(function(e){e[e["NotYetInvited"]=0]="NotYetInvited";e[e["NoChangesMade"]=1]="NoChangesMade";e[e["ChangesMade"]=2]="ChangesMade";e[e["CurrentlyEditing"]=3]="CurrentlyEditing"})(c||(c={}));r.UserStatus=c;let u;(function(e){e["NoChanges"]="N";e["InProgress"]="P"})(u||(u={}));r.UserEditingState=u;let g;(function(e){e["Join"]="JOIN";e["JoinEcho"]="JOINECHO";e["Leave"]="LEAVE";e["Change"]="CHANGE";e["Create"]="CREATE";e["Delete"]="DELETE";e["Action"]="ACTION";e["LiveChange"]="LIVECHANGE";e["Activate"]="ACTIVATE";e["Discard"]="DISCARD";e["Undo"]="UNDO"})(g||(g={}));r.Activity=g;function d(e){const t=["Dr.","Prof.","Prof. Dr.","B.A.","MBA","Ph.D."];t.forEach(function(t){e=e.replace(t,"")});let n;const o=e.trimStart().split(" ");if(o.length>1){var r,i;n=((o===null||o===void 0?void 0:(r=o.shift())===null||r===void 0?void 0:r.charAt(0))||"")+((i=o.pop())===null||i===void 0?void 0:i.charAt(0))}else{n=e.substring(0,2)}return n.toUpperCase()}function f(e,t,n){const o=t.find(t=>t.id===e);if(o){return o.color}else{for(let e=1;e<=10;e++){if(t.findIndex(t=>t.color===e)===-1&&n.findIndex(t=>t.color===e)===-1){return e}}return 10}}function C(e){if(e.isA("sap.fe.core.AppComponent")){return e}const n=t.getOwnerComponentFor(e);if(!n){return e}else{return C(n)}}function A(e){const t=C(e).getShellServices();if(!t||!t.hasUShell()){throw"No Shell... No User"}return{initials:t.getUser().getInitials(),id:t.getUser().getId(),name:`${t.getUser().getFullName()} (${p("C_COLLABORATIONDRAFT_YOU")})`,initialName:t.getUser().getFullName(),color:6,me:true,status:c.CurrentlyEditing}}function p(e){const t=n.getLibraryResourceBundle("sap.fe.core");for(var o=arguments.length,r=new Array(o>1?o-1:0),i=1;i<o;i++){r[i-1]=arguments[i]}return t.getText(e,r)}r.getText=p;function v(e){var t;const n=e.targetObject;const r=i((t=n.Title)===null||t===void 0?void 0:t.Value,[],"");const c=["C_COLLABORATIONDRAFT_INVITATION_DIALOG",s(n.TypeName),r];const u=a(c,o.getFormattedText);return l(u)}r.getInvitationDialogTitleExpBinding=v;const h={formatInitials:d,getUserColor:f,getMe:A,getAppComponent:C,getText:p,getInvitationDialogTitleExpBinding:v};r.CollaborationUtils=h;function m(e){let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];const n=e.getModel();const o=n.getMetaModel();const r=o.getMetaPath(e);const i=o.getObject(`${r}@com.sap.vocabularies.Common.v1.DraftRoot/ShareAction`);const a=n.bindContext(`${i}(...)`,e);a.setParameter("Users",t);a.setParameter("ShareAll",true);return a.execute()}r.shareObject=m;return r},false);
5
+ sap.ui.define(["sap/fe/core/helpers/BindingToolkit","sap/fe/macros/CommonHelper","sap/ui/core/Component","sap/ui/core/Core","../../formatters/CollaborationFormatter"],function(e,t,n,o,r){"use strict";var i={};var a=e.getExpressionFromAnnotation;var s=e.formatResult;var l=e.constant;var c=e.compileExpression;let u;(function(e){e[e["NotYetInvited"]=0]="NotYetInvited";e[e["NoChangesMade"]=1]="NoChangesMade";e[e["ChangesMade"]=2]="ChangesMade";e[e["CurrentlyEditing"]=3]="CurrentlyEditing"})(u||(u={}));i.UserStatus=u;let g;(function(e){e["NoChanges"]="N";e["InProgress"]="P"})(g||(g={}));i.UserEditingState=g;let d;(function(e){e["Join"]="JOIN";e["JoinEcho"]="JOINECHO";e["Leave"]="LEAVE";e["Change"]="CHANGE";e["Create"]="CREATE";e["Delete"]="DELETE";e["Action"]="ACTION";e["LiveChange"]="LIVECHANGE";e["Activate"]="ACTIVATE";e["Discard"]="DISCARD";e["Undo"]="UNDO"})(d||(d={}));i.Activity=d;const f="Users";const p="UserID";function C(e){const t=["Dr.","Prof.","Prof. Dr.","B.A.","MBA","Ph.D."];t.forEach(function(t){e=e.replace(t,"")});let n;const o=e.trimStart().split(" ");if(o.length>1){var r,i;n=((o===null||o===void 0?void 0:(r=o.shift())===null||r===void 0?void 0:r.charAt(0))||"")+((i=o.pop())===null||i===void 0?void 0:i.charAt(0))}else{n=e.substring(0,2)}return n.toUpperCase()}function m(e,t,n){const o=t.find(t=>t.id===e);if(o){return o.color}else{for(let e=1;e<=10;e++){if(t.findIndex(t=>t.color===e)===-1&&n.findIndex(t=>t.color===e)===-1){return e}}return 10}}function A(e){const n=e.targetEntitySet.annotations.Common.DraftRoot.ShareAction.toString();const o=e.targetEntityType.resolvePath(n);const r=o.parameters.find(e=>e.name===f);const i={name:t.addSingleQuotes("sap/fe/macros/valuehelp/ValueHelpDelegate"),payload:{propertyPath:t.addSingleQuotes(`/${r.type}/${p}`),qualifiers:{},valueHelpQualifier:t.addSingleQuotes(""),isActionParameterDialog:true}};return t.objectToString(i)}i.getValueHelpDelegate=A;function h(e){if(e.isA("sap.fe.core.AppComponent")){return e}const t=n.getOwnerComponentFor(e);if(!t){return e}else{return h(t)}}function v(e){const t=h(e).getShellServices();if(!t||!t.hasUShell()){throw"No Shell... No User"}return{initials:t.getUser().getInitials(),id:t.getUser().getId(),name:`${t.getUser().getFullName()} (${E("C_COLLABORATIONDRAFT_YOU")})`,initialName:t.getUser().getFullName(),color:6,me:true,status:u.CurrentlyEditing}}function E(e){const t=o.getLibraryResourceBundle("sap.fe.core");for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++){r[i-1]=arguments[i]}return t.getText(e,r)}i.getText=E;function I(e){var t;const n=e.targetObject;const o=a((t=n.Title)===null||t===void 0?void 0:t.Value,[],"");const i=["C_COLLABORATIONDRAFT_INVITATION_DIALOG",l(n.TypeName),o];const u=s(i,r.getFormattedText);return c(u)}i.getInvitationDialogTitleExpBinding=I;const N={formatInitials:C,getUserColor:m,getMe:v,getAppComponent:h,getText:E,getInvitationDialogTitleExpBinding:I};i.CollaborationUtils=N;function T(e){let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];const n=e.getModel();const o=n.getMetaModel();const r=o.getMetaPath(e);const i=o.getObject(`${r}@com.sap.vocabularies.Common.v1.DraftRoot/ShareAction`);const a=n.bindContext(`${i}(...)`,e);a.setParameter("Users",t);a.setParameter("ShareAll",true);return a.execute()}i.shareObject=T;return i},false);
6
6
  //# sourceMappingURL=CollaborationCommon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CollaborationCommon.js","names":["sap","ui","define","BindingToolkit","Component","Core","collaborationFormatter","_exports","getExpressionFromAnnotation","formatResult","constant","compileExpression","UserStatus","UserEditingState","Activity","formatInitials","fullName","academicTitles","forEach","academicTitle","replace","initials","parts","trimStart","split","length","_parts$shift","_parts$pop","shift","charAt","pop","substring","toUpperCase","getUserColor","UserID","activeUsers","invitedUsers","user","find","u","id","color","i","findIndex","getAppComponent","oControl","isA","oOwner","getOwnerComponentFor","getMe","view","shellServiceHelper","getShellServices","hasUShell","getUser","getInitials","getId","name","getFullName","getText","initialName","me","status","CurrentlyEditing","textId","oResourceModel","getLibraryResourceBundle","_len","arguments","args","Array","_key","getInvitationDialogTitleExpBinding","dataModelPath","_headerInfo$Title","headerInfo","targetObject","title","Title","Value","params","TypeName","titleExpression","getFormattedText","CollaborationUtils","shareObject","bindingContext","users","undefined","model","getModel","metaModel","getMetaModel","entitySet","getMetaPath","shareActionName","getObject","shareAction","bindContext","setParameter","execute"],"sources":["CollaborationCommon-dbg.js"],"mappings":"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"}
1
+ {"version":3,"file":"CollaborationCommon.js","names":["sap","ui","define","BindingToolkit","CommonHelper","Component","Core","collaborationFormatter","_exports","getExpressionFromAnnotation","formatResult","constant","compileExpression","UserStatus","UserEditingState","Activity","USERS_PARAMETERS","USER_ID_PARAMETER","formatInitials","fullName","academicTitles","forEach","academicTitle","replace","initials","parts","trimStart","split","length","_parts$shift","_parts$pop","shift","charAt","pop","substring","toUpperCase","getUserColor","UserID","activeUsers","invitedUsers","user","find","u","id","color","i","findIndex","getValueHelpDelegate","contextPath","actionName","targetEntitySet","annotations","Common","DraftRoot","ShareAction","toString","action","targetEntityType","resolvePath","userParameters","parameters","param","name","delegateConfiguration","addSingleQuotes","payload","propertyPath","type","qualifiers","valueHelpQualifier","isActionParameterDialog","objectToString","getAppComponent","oControl","isA","oOwner","getOwnerComponentFor","getMe","view","shellServiceHelper","getShellServices","hasUShell","getUser","getInitials","getId","getFullName","getText","initialName","me","status","CurrentlyEditing","textId","oResourceModel","getLibraryResourceBundle","_len","arguments","args","Array","_key","getInvitationDialogTitleExpBinding","dataModelPath","_headerInfo$Title","headerInfo","targetObject","title","Title","Value","params","TypeName","titleExpression","getFormattedText","CollaborationUtils","shareObject","bindingContext","users","undefined","model","getModel","metaModel","getMetaModel","entitySet","getMetaPath","shareActionName","getObject","shareAction","bindContext","setParameter","execute"],"sources":["CollaborationCommon-dbg.js"],"mappings":"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"}
@@ -1,11 +1,15 @@
1
+ import { Action as VocabularyAction } from "@sap-ux/vocabularies-types";
2
+ import { EntitySetAnnotations_Common } from "@sap-ux/vocabularies-types/vocabularies/Common_Edm";
1
3
  import { DataField, HeaderInfo } from "@sap-ux/vocabularies-types/vocabularies/UI";
2
4
  import type AppComponent from "sap/fe/core/AppComponent";
3
5
  import type { CompiledBindingToolkitExpression } from "sap/fe/core/helpers/BindingToolkit";
4
6
  import { compileExpression, constant, formatResult, getExpressionFromAnnotation } from "sap/fe/core/helpers/BindingToolkit";
7
+ import CommonHelper from "sap/fe/macros/CommonHelper";
8
+ import { type ValueHelpPayload } from "sap/fe/macros/internal/valuehelp/ValueListHelper";
5
9
  import Component from "sap/ui/core/Component";
6
10
  import Core from "sap/ui/core/Core";
7
11
  import type View from "sap/ui/core/mvc/View";
8
- import type { V4Context } from "types/extension_types";
12
+ import Context from "sap/ui/model/odata/v4/Context";
9
13
  import collaborationFormatter from "../../formatters/CollaborationFormatter";
10
14
  import { DataModelObjectPath } from "../../templating/DataModelPathHelper";
11
15
 
@@ -63,10 +67,15 @@ export type Message = {
63
67
  userID: string;
64
68
  userAction: string;
65
69
  clientAction: string;
66
- clientTriggeredActionName: string | undefined;
70
+ clientTriggeredActionName?: string;
71
+ clientRefreshListBinding?: string;
72
+ clientRequestedProperties?: string;
67
73
  clientContent: string;
68
74
  };
69
75
 
76
+ const USERS_PARAMETERS = "Users";
77
+ const USER_ID_PARAMETER = "UserID";
78
+
70
79
  function formatInitials(fullName: string): string {
71
80
  // remove titles - those are the ones from S/4 to be checked if there are others
72
81
  const academicTitles = ["Dr.", "Prof.", "Prof. Dr.", "B.A.", "MBA", "Ph.D."];
@@ -104,6 +113,26 @@ function getUserColor(UserID: string, activeUsers: User[], invitedUsers: User[])
104
113
  }
105
114
  }
106
115
 
116
+ export function getValueHelpDelegate(contextPath: DataModelObjectPath) {
117
+ // The non null assertion is safe here, because the action is only available if the annotation is present
118
+ const actionName = (contextPath.targetEntitySet!.annotations.Common as EntitySetAnnotations_Common).DraftRoot!.ShareAction!.toString();
119
+ // We are also sure that the action exist
120
+ const action = contextPath.targetEntityType.resolvePath(actionName) as VocabularyAction;
121
+ // By definition the action has a parameter with the name "Users"
122
+ const userParameters = action.parameters.find((param) => param.name === USERS_PARAMETERS)!;
123
+
124
+ const delegateConfiguration: { name: string; payload: ValueHelpPayload } = {
125
+ name: CommonHelper.addSingleQuotes("sap/fe/macros/valuehelp/ValueHelpDelegate"),
126
+ payload: {
127
+ propertyPath: CommonHelper.addSingleQuotes(`/${userParameters.type}/${USER_ID_PARAMETER}`),
128
+ qualifiers: {},
129
+ valueHelpQualifier: CommonHelper.addSingleQuotes(""),
130
+ isActionParameterDialog: true
131
+ }
132
+ };
133
+ return CommonHelper.objectToString(delegateConfiguration);
134
+ }
135
+
107
136
  // copied from CommonUtils. Due to a cycle dependency I can't use CommonUtils here.
108
137
  // That's to be fixed. the discard popover thingy shouldn't be in the common utils at all
109
138
  function getAppComponent(oControl: any): AppComponent {
@@ -162,7 +191,7 @@ export const CollaborationUtils = {
162
191
  getInvitationDialogTitleExpBinding: getInvitationDialogTitleExpBinding
163
192
  };
164
193
 
165
- export function shareObject(bindingContext: V4Context, users: BackendUser[] = []): Promise<void> {
194
+ export function shareObject(bindingContext: Context, users: BackendUser[] = []): Promise<void> {
166
195
  const model = bindingContext.getModel();
167
196
  const metaModel = model.getMetaModel();
168
197
  const entitySet = metaModel.getMetaPath(bindingContext as any);
@@ -2,11 +2,11 @@
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/controllerextensions/collaboration/CollaborationCommon", "sap/fe/core/converters/MetaModelConverter", "sap/m/MessageToast", "sap/ui/core/Core", "sap/ui/core/Fragment", "sap/ui/core/library", "../../templating/PropertyHelper"], function (CollaborationCommon, MetaModelConverter, MessageToast, Core, Fragment, coreLibrary, PropertyHelper) {
5
+ sap.ui.define(["sap/fe/core/controllerextensions/collaboration/CollaborationCommon", "sap/fe/core/converters/MetaModelConverter", "sap/fe/core/helpers/TypeGuards", "sap/m/MessageToast", "sap/ui/core/Core", "sap/ui/core/Fragment", "sap/ui/core/library"], function (CollaborationCommon, MetaModelConverter, TypeGuards, MessageToast, Core, Fragment, coreLibrary) {
6
6
  "use strict";
7
7
 
8
8
  var _exports = {};
9
- var isPathExpression = PropertyHelper.isPathExpression;
9
+ var isPathAnnotationExpression = TypeGuards.isPathAnnotationExpression;
10
10
  var UserStatus = CollaborationCommon.UserStatus;
11
11
  var UserEditingState = CollaborationCommon.UserEditingState;
12
12
  var shareObject = CollaborationCommon.shareObject;
@@ -160,7 +160,7 @@ sap.ui.define(["sap/fe/core/controllerextensions/collaboration/CollaborationComm
160
160
  let sharedItemName = "";
161
161
  const title = headerInfo === null || headerInfo === void 0 ? void 0 : headerInfo.Title;
162
162
  if (title) {
163
- sharedItemName = isPathExpression(title.Value) ? bindingContext.getProperty(title.Value.path) : title.Value;
163
+ sharedItemName = isPathAnnotationExpression(title.Value) ? bindingContext.getProperty(title.Value.path) : title.Value;
164
164
  }
165
165
  return sharedItemName || (headerInfo === null || headerInfo === void 0 ? void 0 : headerInfo.TypeName) || "";
166
166
  }
@@ -240,4 +240,4 @@ sap.ui.define(["sap/fe/core/controllerextensions/collaboration/CollaborationComm
240
240
  }
241
241
  return _exports;
242
242
  }, false);
243
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWYWx1ZVN0YXRlIiwiY29yZUxpYnJhcnkiLCJvcGVuTWFuYWdlRGlhbG9nIiwidmlldyIsImRpYWxvZyIsImJ5SWQiLCJjcmVhdGVNYW5hZ2VDb2xsYWJvcmF0aW9uRGlhbG9nIiwicmVhZEludml0ZWRVc2VycyIsIm9wZW4iLCJwRGlhbG9nIiwiZ2V0Q29udHJvbGxlciIsImdldEV4dGVuc2lvbkFQSSIsImxvYWRGcmFnbWVudCIsIm5hbWUiLCJpZCIsImNvbnRyb2xsZXIiLCJzaGFyZSIsImFkZFVzZXIiLCJyZW1vdmVVc2VyIiwiY2xvc2UiLCJjbG9zZURpYWxvZyIsImFkZFVzZXJDaGFuZ2VkIiwiZm9ybWF0VXNlclN0YXR1cyIsImZvcm1hdFVzZXJTdGF0dXNDb2xvciIsInRoZW4iLCJhZGREZXBlbmRlbnQiLCJjYXRjaCIsIm1vZGVsIiwiZ2V0TW9kZWwiLCJwYXJhbWV0ZXJzIiwiJHNlbGVjdCIsImludml0ZWRVc2VyTGlzdCIsImJpbmRMaXN0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJpbnRlcm5hbE1vZGVsQ29udGV4dCIsInJlcXVlc3RDb250ZXh0cyIsImFDb250ZXh0cyIsImludml0ZWRVc2VycyIsImFjdGl2ZVVzZXJzIiwiZ2V0UHJvcGVydHkiLCJtZSIsIkNvbGxhYm9yYXRpb25VdGlscyIsImdldE1lIiwidXNlclN0YXR1cyIsImxlbmd0aCIsImZvckVhY2giLCJvQ29udGV4dCIsInVzZXJEYXRhIiwiZ2V0T2JqZWN0IiwiaXNNZSIsIlVzZXJJRCIsImlzQWN0aXZlIiwiZmluZCIsInUiLCJ1c2VyRGVzY3JpcHRpb24iLCJVc2VyRGVzY3JpcHRpb24iLCJpbml0aWFscyIsImZvcm1hdEluaXRpYWxzIiwiZ2V0VGV4dCIsIlVzZXJFZGl0aW5nU3RhdGUiLCJOb0NoYW5nZXMiLCJVc2VyU3RhdHVzIiwiQ3VycmVudGx5RWRpdGluZyIsIk5vQ2hhbmdlc01hZGUiLCJJblByb2dyZXNzIiwiQ2hhbmdlc01hZGUiLCJOb3RZZXRJbnZpdGVkIiwidXNlciIsInN0YXR1cyIsImNvbG9yIiwiZ2V0VXNlckNvbG9yIiwicHVzaCIsInNldFByb3BlcnR5IiwiZXZlbnQiLCJhZGRCdXR0b24iLCJnZXRTb3VyY2UiLCJuZXdVc2VyIiwiZmluZEluZGV4IiwidHJhbnNpZW50IiwidW5zaGlmdCIsInVzZXJJbnB1dCIsImdldFBhcmFtZXRlciIsIm5ld1VzZXJJZCIsInNldFZhbHVlU3RhdGUiLCJzZXRWYWx1ZVN0YXRlVGV4dCIsInJlbW92ZVVzZXJGcm9tTGlzdCIsIml0ZW0iLCJkZWxldGVVc2VySUQiLCJmaWx0ZXIiLCJDb3JlIiwiZ2V0U2hhcmVkSXRlbU5hbWUiLCJiaW5kaW5nQ29udGV4dCIsIm1ldGFNb2RlbCIsImdldE1ldGFNb2RlbCIsImVudGl0eVBhdGgiLCJnZXRNZXRhUGF0aCIsImdldFBhdGgiLCJkYXRhTW9kZWwiLCJNZXRhTW9kZWxDb252ZXJ0ZXIiLCJnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMiLCJnZXRDb250ZXh0IiwiaGVhZGVySW5mbyIsInRhcmdldE9iamVjdCIsImVudGl0eVR5cGUiLCJhbm5vdGF0aW9ucyIsIlVJIiwiSGVhZGVySW5mbyIsInNoYXJlZEl0ZW1OYW1lIiwidGl0bGUiLCJUaXRsZSIsImlzUGF0aEV4cHJlc3Npb24iLCJWYWx1ZSIsInBhdGgiLCJUeXBlTmFtZSIsInVzZXJzIiwic291cmNlIiwiY29udGV4dHMiLCJnZXRCaW5kaW5nIiwiZ2V0Q29udGV4dHMiLCJudW1iZXJPZk5ld0ludml0ZWRVc2VycyIsImNvbnRleHQiLCJVc2VyQWNjZXNzUm9sZSIsInNoYXJlT2JqZWN0IiwiTWVzc2FnZVRvYXN0Iiwic2hvdyIsInRvU3RyaW5nIiwic2hvd1VzZXJEZXRhaWxzIiwicG9wb3ZlciIsImNyZWF0ZVVzZXJEZXRhaWxzUG9wb3ZlciIsInNldEJpbmRpbmdDb250ZXh0Iiwib3BlbkJ5IiwicG9wb3ZlclByb21pc2UiLCJGcmFnbWVudCIsImxvYWQiLCJTdWNjZXNzIiwiV2FybmluZyIsIkluZm9ybWF0aW9uIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJNYW5hZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCYWNrZW5kVXNlciwgVXNlciB9IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9jb2xsYWJvcmF0aW9uL0NvbGxhYm9yYXRpb25Db21tb25cIjtcbmltcG9ydCB7XG5cdENvbGxhYm9yYXRpb25VdGlscyxcblx0Z2V0VGV4dCxcblx0c2hhcmVPYmplY3QsXG5cdFVzZXJFZGl0aW5nU3RhdGUsXG5cdFVzZXJTdGF0dXNcbn0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL2NvbGxhYm9yYXRpb24vQ29sbGFib3JhdGlvbkNvbW1vblwiO1xuaW1wb3J0ICogYXMgTWV0YU1vZGVsQ29udmVydGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHR5cGUgeyBJbnRlcm5hbE1vZGVsQ29udGV4dCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL01vZGVsSGVscGVyXCI7XG5pbXBvcnQgdHlwZSBCdXR0b24gZnJvbSBcInNhcC9tL0J1dHRvblwiO1xuaW1wb3J0IHR5cGUgRGlhbG9nIGZyb20gXCJzYXAvbS9EaWFsb2dcIjtcbmltcG9ydCB0eXBlIElucHV0IGZyb20gXCJzYXAvbS9JbnB1dFwiO1xuaW1wb3J0IE1lc3NhZ2VUb2FzdCBmcm9tIFwic2FwL20vTWVzc2FnZVRvYXN0XCI7XG5pbXBvcnQgdHlwZSBQb3BvdmVyIGZyb20gXCJzYXAvbS9Qb3BvdmVyXCI7XG5pbXBvcnQgdHlwZSBUYWJsZSBmcm9tIFwic2FwL20vVGFibGVcIjtcbmltcG9ydCB0eXBlIEV2ZW50IGZyb20gXCJzYXAvdWkvYmFzZS9FdmVudFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IENvcmUgZnJvbSBcInNhcC91aS9jb3JlL0NvcmVcIjtcbmltcG9ydCBGcmFnbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRnJhZ21lbnRcIjtcbmltcG9ydCBjb3JlTGlicmFyeSBmcm9tIFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBPRGF0YUxpc3RCaW5kaW5nIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFMaXN0QmluZGluZ1wiO1xuaW1wb3J0IHR5cGUgT0RhdGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTW9kZWxcIjtcbmltcG9ydCB0eXBlIHsgVjRDb250ZXh0IH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3R5cGVzL2V4dGVuc2lvbl90eXBlc1wiO1xuaW1wb3J0IHsgaXNQYXRoRXhwcmVzc2lvbiB9IGZyb20gXCIuLi8uLi90ZW1wbGF0aW5nL1Byb3BlcnR5SGVscGVyXCI7XG5jb25zdCBWYWx1ZVN0YXRlID0gY29yZUxpYnJhcnkuVmFsdWVTdGF0ZTtcblxuZXhwb3J0IGNvbnN0IG9wZW5NYW5hZ2VEaWFsb2cgPSBhc3luYyBmdW5jdGlvbiAodmlldzogVmlldykge1xuXHRsZXQgZGlhbG9nOiBhbnkgPSBieUlkKFwiZGlhbG9nXCIpO1xuXG5cdGlmICghZGlhbG9nKSB7XG5cdFx0ZGlhbG9nID0gYXdhaXQgY3JlYXRlTWFuYWdlQ29sbGFib3JhdGlvbkRpYWxvZyh2aWV3KTtcblx0fVxuXG5cdGF3YWl0IHJlYWRJbnZpdGVkVXNlcnModmlldyk7XG5cdGRpYWxvZy5vcGVuKCk7XG59O1xuXG5hc3luYyBmdW5jdGlvbiBjcmVhdGVNYW5hZ2VDb2xsYWJvcmF0aW9uRGlhbG9nKHZpZXc6IFZpZXcpIHtcblx0Y29uc3QgcERpYWxvZzogUHJvbWlzZTxhbnk+ID0gKHZpZXcuZ2V0Q29udHJvbGxlcigpIGFzIGFueSkuZ2V0RXh0ZW5zaW9uQVBJKCkubG9hZEZyYWdtZW50KHtcblx0XHRuYW1lOiBcInNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLmNvbGxhYm9yYXRpb24uTWFuYWdlRGlhbG9nXCIsXG5cdFx0aWQ6IFwibWFuYWdlQ29sbGFib3JhdGlvbkRyYWZ0XCIsXG5cdFx0Y29udHJvbGxlcjoge1xuXHRcdFx0c2hhcmU6IHNoYXJlLFxuXHRcdFx0YWRkVXNlcjogYWRkVXNlcixcblx0XHRcdHJlbW92ZVVzZXI6IHJlbW92ZVVzZXIsXG5cdFx0XHRjbG9zZTogY2xvc2VEaWFsb2csXG5cdFx0XHRhZGRVc2VyQ2hhbmdlZDogYWRkVXNlckNoYW5nZWQsXG5cdFx0XHRmb3JtYXRVc2VyU3RhdHVzOiBmb3JtYXRVc2VyU3RhdHVzLFxuXHRcdFx0Zm9ybWF0VXNlclN0YXR1c0NvbG9yOiBmb3JtYXRVc2VyU3RhdHVzQ29sb3Jcblx0XHR9XG5cdH0pO1xuXHRyZXR1cm4gcERpYWxvZ1xuXHRcdC50aGVuKGZ1bmN0aW9uIChkaWFsb2c6IGFueSkge1xuXHRcdFx0dmlldy5hZGREZXBlbmRlbnQoZGlhbG9nKTtcblx0XHRcdHJldHVybiBkaWFsb2c7XG5cdFx0fSlcblx0XHQuY2F0Y2goZnVuY3Rpb24gKCkge1xuXHRcdFx0dGhyb3cgXCJub3QgdGhpcyB0aW1lXCI7XG5cdFx0fSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkSW52aXRlZFVzZXJzKHZpZXc6IFZpZXcpIHtcblx0Y29uc3QgbW9kZWwgPSB2aWV3LmdldE1vZGVsKCkgYXMgT0RhdGFNb2RlbDtcblx0Ly8gVE9ETzogaW5mb3JtIG1vZGVsIGNvbGxlYWd1ZXMgb24gbWlzc2luZyBUUyBkZWZpbml0aW9uXG5cdGNvbnN0IHBhcmFtZXRlcnM6IGFueSA9IHtcblx0XHQkc2VsZWN0OiBcIlVzZXJJRCxVc2VyRGVzY3JpcHRpb24sVXNlckVkaXRpbmdTdGF0ZVwiXG5cdH07XG5cdGNvbnN0IGludml0ZWRVc2VyTGlzdCA9IG1vZGVsLmJpbmRMaXN0KFxuXHRcdFwiRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGEvRHJhZnRBZG1pbmlzdHJhdGl2ZVVzZXJcIixcblx0XHR2aWV3LmdldEJpbmRpbmdDb250ZXh0KCkgYXMgQ29udGV4dCxcblx0XHRbXSxcblx0XHRbXSxcblx0XHRwYXJhbWV0ZXJzXG5cdCk7XG5cdGNvbnN0IGludGVybmFsTW9kZWxDb250ZXh0ID0gdmlldy5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpIGFzIEludGVybmFsTW9kZWxDb250ZXh0O1xuXHQvLyBUT0RPOiBsaW1pdD9cblx0cmV0dXJuIGludml0ZWRVc2VyTGlzdFxuXHRcdC5yZXF1ZXN0Q29udGV4dHMoMCwgMTAwKVxuXHRcdC50aGVuKGZ1bmN0aW9uIChhQ29udGV4dHMpIHtcblx0XHRcdGNvbnN0IGludml0ZWRVc2VyczogVXNlcltdID0gW107XG5cdFx0XHRjb25zdCBhY3RpdmVVc2VycyA9IHZpZXcuZ2V0TW9kZWwoXCJpbnRlcm5hbFwiKS5nZXRQcm9wZXJ0eShcIi9jb2xsYWJvcmF0aW9uL2FjdGl2ZVVzZXJzXCIpIHx8IFtdO1xuXHRcdFx0Y29uc3QgbWUgPSBDb2xsYWJvcmF0aW9uVXRpbHMuZ2V0TWUodmlldyk7XG5cdFx0XHRsZXQgdXNlclN0YXR1czogVXNlclN0YXR1cztcblx0XHRcdGlmIChhQ29udGV4dHM/Lmxlbmd0aCA+IDApIHtcblx0XHRcdFx0YUNvbnRleHRzLmZvckVhY2goZnVuY3Rpb24gKG9Db250ZXh0KSB7XG5cdFx0XHRcdFx0Y29uc3QgdXNlckRhdGEgPSBvQ29udGV4dC5nZXRPYmplY3QoKSBhcyBCYWNrZW5kVXNlcjtcblx0XHRcdFx0XHRjb25zdCBpc01lOiBib29sZWFuID0gbWU/LmlkID09PSB1c2VyRGF0YS5Vc2VySUQ7XG5cdFx0XHRcdFx0Y29uc3QgaXNBY3RpdmUgPSBhY3RpdmVVc2Vycy5maW5kKCh1OiBVc2VyKSA9PiB1LmlkID09PSB1c2VyRGF0YS5Vc2VySUQpO1xuXHRcdFx0XHRcdGxldCB1c2VyRGVzY3JpcHRpb24gPSB1c2VyRGF0YS5Vc2VyRGVzY3JpcHRpb24gfHwgdXNlckRhdGEuVXNlcklEO1xuXHRcdFx0XHRcdGNvbnN0IGluaXRpYWxzID0gQ29sbGFib3JhdGlvblV0aWxzLmZvcm1hdEluaXRpYWxzKHVzZXJEZXNjcmlwdGlvbik7XG5cdFx0XHRcdFx0dXNlckRlc2NyaXB0aW9uICs9IGlzTWUgPyBgICgke0NvbGxhYm9yYXRpb25VdGlscy5nZXRUZXh0KFwiQ19DT0xMQUJPUkFUSU9ORFJBRlRfWU9VXCIpfSlgIDogXCJcIjtcblx0XHRcdFx0XHRzd2l0Y2ggKHVzZXJEYXRhLlVzZXJFZGl0aW5nU3RhdGUpIHtcblx0XHRcdFx0XHRcdGNhc2UgVXNlckVkaXRpbmdTdGF0ZS5Ob0NoYW5nZXM6XG5cdFx0XHRcdFx0XHRcdHVzZXJTdGF0dXMgPSBpc0FjdGl2ZSA/IFVzZXJTdGF0dXMuQ3VycmVudGx5RWRpdGluZyA6IFVzZXJTdGF0dXMuTm9DaGFuZ2VzTWFkZTtcblx0XHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0XHRjYXNlIFVzZXJFZGl0aW5nU3RhdGUuSW5Qcm9ncmVzczpcblx0XHRcdFx0XHRcdFx0dXNlclN0YXR1cyA9IGlzQWN0aXZlID8gVXNlclN0YXR1cy5DdXJyZW50bHlFZGl0aW5nIDogVXNlclN0YXR1cy5DaGFuZ2VzTWFkZTtcblx0XHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0XHR1c2VyU3RhdHVzID0gVXNlclN0YXR1cy5Ob3RZZXRJbnZpdGVkO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRjb25zdCB1c2VyOiBVc2VyID0ge1xuXHRcdFx0XHRcdFx0aWQ6IHVzZXJEYXRhLlVzZXJJRCxcblx0XHRcdFx0XHRcdG5hbWU6IHVzZXJEZXNjcmlwdGlvbixcblx0XHRcdFx0XHRcdHN0YXR1czogdXNlclN0YXR1cyxcblx0XHRcdFx0XHRcdGNvbG9yOiBDb2xsYWJvcmF0aW9uVXRpbHMuZ2V0VXNlckNvbG9yKHVzZXJEYXRhLlVzZXJJRCwgYWN0aXZlVXNlcnMsIGludml0ZWRVc2VycyksXG5cdFx0XHRcdFx0XHRpbml0aWFsczogaW5pdGlhbHMsXG5cdFx0XHRcdFx0XHRtZTogaXNNZVxuXHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0aW52aXRlZFVzZXJzLnB1c2godXNlcik7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Ly9ub3QgeWV0IHNoYXJlZCwganVzdCBhZGQgbWVcblx0XHRcdFx0aW52aXRlZFVzZXJzLnB1c2gobWUpO1xuXHRcdFx0fVxuXHRcdFx0aW50ZXJuYWxNb2RlbENvbnRleHQuc2V0UHJvcGVydHkoXCJjb2xsYWJvcmF0aW9uL1VzZXJJRFwiLCBcIlwiKTtcblx0XHRcdGludGVybmFsTW9kZWxDb250ZXh0LnNldFByb3BlcnR5KFwiY29sbGFib3JhdGlvbi9Vc2VyRGVzY3JpcHRpb25cIiwgXCJcIik7XG5cdFx0XHRpbnRlcm5hbE1vZGVsQ29udGV4dC5zZXRQcm9wZXJ0eShcImNvbGxhYm9yYXRpb24vaW52aXRlZFVzZXJzXCIsIGludml0ZWRVc2Vycyk7XG5cdFx0fSlcblx0XHQuY2F0Y2goZnVuY3Rpb24gKCkge1xuXHRcdFx0Ly8gVE9ETzogaGFuZGxlIHRoaXMgY2FzZSwgY2xvc2UgZGlhbG9nP1xuXHRcdH0pO1xufVxuXG5mdW5jdGlvbiBhZGRVc2VyKGV2ZW50OiBFdmVudCkge1xuXHRjb25zdCBhZGRCdXR0b24gPSBldmVudC5nZXRTb3VyY2UoKSBhcyBCdXR0b247XG5cdGNvbnN0IGludGVybmFsTW9kZWxDb250ZXh0ID0gYWRkQnV0dG9uLmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIikgYXMgSW50ZXJuYWxNb2RlbENvbnRleHQ7XG5cdGNvbnN0IGludml0ZWRVc2VyczogVXNlcltdID0gaW50ZXJuYWxNb2RlbENvbnRleHQuZ2V0UHJvcGVydHkoXCJpbnZpdGVkVXNlcnNcIikgfHwgW107XG5cdGNvbnN0IGFjdGl2ZVVzZXJzID0gYWRkQnV0dG9uLmdldE1vZGVsKFwiaW50ZXJuYWxcIikuZ2V0UHJvcGVydHkoXCIvY29sbGFib3JhdGlvbi9hY3RpdmVVc2Vyc1wiKTtcblx0Y29uc3QgbmV3VXNlcjogVXNlciA9IHtcblx0XHRpZDogaW50ZXJuYWxNb2RlbENvbnRleHQ/LmdldFByb3BlcnR5KFwiVXNlcklEXCIpLFxuXHRcdG5hbWU6IGludGVybmFsTW9kZWxDb250ZXh0Py5nZXRQcm9wZXJ0eShcIlVzZXJEZXNjcmlwdGlvblwiKVxuXHR9O1xuXG5cdGlmICghKGludml0ZWRVc2Vycy5maW5kSW5kZXgoKHVzZXIpID0+IHVzZXIuaWQgPT09IG5ld1VzZXIuaWQpID4gLTEgfHwgKG5ld1VzZXIuaWQgPT09IG5ld1VzZXIubmFtZSAmJiBuZXdVc2VyLmlkID09PSBcIlwiKSkpIHtcblx0XHRuZXdVc2VyLm5hbWUgPSBuZXdVc2VyLm5hbWUgfHwgbmV3VXNlci5pZDtcblx0XHRuZXdVc2VyLmluaXRpYWxzID0gQ29sbGFib3JhdGlvblV0aWxzLmZvcm1hdEluaXRpYWxzKG5ld1VzZXIubmFtZSk7XG5cdFx0bmV3VXNlci5jb2xvciA9IENvbGxhYm9yYXRpb25VdGlscy5nZXRVc2VyQ29sb3IobmV3VXNlci5pZCwgYWN0aXZlVXNlcnMsIGludml0ZWRVc2Vycyk7XG5cdFx0bmV3VXNlci50cmFuc2llbnQgPSB0cnVlO1xuXHRcdG5ld1VzZXIuc3RhdHVzID0gVXNlclN0YXR1cy5Ob3RZZXRJbnZpdGVkO1xuXHRcdGludml0ZWRVc2Vycy51bnNoaWZ0KG5ld1VzZXIpO1xuXHRcdGludGVybmFsTW9kZWxDb250ZXh0LnNldFByb3BlcnR5KFwiaW52aXRlZFVzZXJzXCIsIGludml0ZWRVc2Vycyk7XG5cdFx0aW50ZXJuYWxNb2RlbENvbnRleHQuc2V0UHJvcGVydHkoXCJVc2VySURcIiwgXCJcIik7XG5cdFx0aW50ZXJuYWxNb2RlbENvbnRleHQuc2V0UHJvcGVydHkoXCJVc2VyRGVzY3JpcHRpb25cIiwgXCJcIik7XG5cdH1cbn1cblxuZnVuY3Rpb24gYWRkVXNlckNoYW5nZWQoZXZlbnQ6IEV2ZW50KSB7XG5cdGNvbnN0IHVzZXJJbnB1dCA9IGV2ZW50LmdldFNvdXJjZSgpIGFzIElucHV0O1xuXHRldmVudFxuXHRcdC5nZXRQYXJhbWV0ZXIoXCJwcm9taXNlXCIpXG5cdFx0LnRoZW4oZnVuY3Rpb24gKG5ld1VzZXJJZDogc3RyaW5nKSB7XG5cdFx0XHRjb25zdCBpbnRlcm5hbE1vZGVsQ29udGV4dCA9IHVzZXJJbnB1dC5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpIGFzIEludGVybmFsTW9kZWxDb250ZXh0O1xuXHRcdFx0Y29uc3QgaW52aXRlZFVzZXJzOiBVc2VyW10gPSBpbnRlcm5hbE1vZGVsQ29udGV4dC5nZXRQcm9wZXJ0eShcImludml0ZWRVc2Vyc1wiKSB8fCBbXTtcblx0XHRcdGlmIChpbnZpdGVkVXNlcnMuZmluZEluZGV4KCh1c2VyKSA9PiB1c2VyLmlkID09PSBuZXdVc2VySWQpID4gLTEpIHtcblx0XHRcdFx0dXNlcklucHV0LnNldFZhbHVlU3RhdGUoXCJFcnJvclwiKTtcblx0XHRcdFx0dXNlcklucHV0LnNldFZhbHVlU3RhdGVUZXh0KGdldFRleHQoXCJDX0NPTExBQk9SQVRJT05EUkFGVF9JTlZJVEFUSU9OX1VTRVJfRVJST1JcIikpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dXNlcklucHV0LnNldFZhbHVlU3RhdGUoXCJOb25lXCIpO1xuXHRcdFx0XHR1c2VySW5wdXQuc2V0VmFsdWVTdGF0ZVRleHQoXCJcIik7XG5cdFx0XHR9XG5cdFx0fSlcblx0XHQuY2F0Y2goZnVuY3Rpb24gKCkge1xuXHRcdFx0dGhyb3cgXCJVc2VyIGNvdWxkbid0IGJlIGRldGVybWluZWQgYXQgYWxsXCI7XG5cdFx0fSk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVVzZXIoZXZlbnQ6IEV2ZW50KSB7XG5cdHJlbW92ZVVzZXJGcm9tTGlzdChldmVudC5nZXRTb3VyY2UoKSk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVVzZXJGcm9tTGlzdChpdGVtOiBhbnkpIHtcblx0Y29uc3QgaW50ZXJuYWxNb2RlbENvbnRleHQgPSBpdGVtLmdldEJpbmRpbmdDb250ZXh0KFwicGFnZUludGVybmFsXCIpO1xuXHRjb25zdCBkZWxldGVVc2VySUQgPSBpdGVtLmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIikuZ2V0UHJvcGVydHkoXCJpZFwiKTtcblx0bGV0IGludml0ZWRVc2VyczogVXNlcltdID0gaW50ZXJuYWxNb2RlbENvbnRleHQuZ2V0UHJvcGVydHkoXCJjb2xsYWJvcmF0aW9uL2ludml0ZWRVc2Vyc1wiKTtcblx0aW52aXRlZFVzZXJzID0gaW52aXRlZFVzZXJzLmZpbHRlcigodXNlcikgPT4gdXNlci5pZCAhPT0gZGVsZXRlVXNlcklEKTtcblx0aW50ZXJuYWxNb2RlbENvbnRleHQuc2V0UHJvcGVydHkoXCJjb2xsYWJvcmF0aW9uL2ludml0ZWRVc2Vyc1wiLCBpbnZpdGVkVXNlcnMpO1xufVxuXG5mdW5jdGlvbiBieUlkKGlkOiBzdHJpbmcpOiBhbnkge1xuXHRyZXR1cm4gQ29yZS5ieUlkKGBtYW5hZ2VDb2xsYWJvcmF0aW9uRHJhZnQtLSR7aWR9YCk7XG59XG5cbmZ1bmN0aW9uIGNsb3NlRGlhbG9nKCkge1xuXHQoYnlJZChcImRpYWxvZ1wiKSBhcyBEaWFsb2cpLmNsb3NlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTaGFyZWRJdGVtTmFtZShiaW5kaW5nQ29udGV4dDogVjRDb250ZXh0KTogc3RyaW5nIHtcblx0Y29uc3QgbW9kZWwgPSBiaW5kaW5nQ29udGV4dC5nZXRNb2RlbCgpO1xuXHRjb25zdCBtZXRhTW9kZWwgPSBtb2RlbC5nZXRNZXRhTW9kZWwoKTtcblx0Y29uc3QgZW50aXR5UGF0aCA9IG1ldGFNb2RlbC5nZXRNZXRhUGF0aChiaW5kaW5nQ29udGV4dC5nZXRQYXRoKCkpO1xuXHRjb25zdCBkYXRhTW9kZWwgPSBNZXRhTW9kZWxDb252ZXJ0ZXIuZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG1ldGFNb2RlbC5nZXRDb250ZXh0KGVudGl0eVBhdGgpKTtcblx0Y29uc3QgaGVhZGVySW5mbyA9IGRhdGFNb2RlbC50YXJnZXRPYmplY3QuZW50aXR5VHlwZS5hbm5vdGF0aW9ucz8uVUk/LkhlYWRlckluZm87XG5cdGxldCBzaGFyZWRJdGVtTmFtZSA9IFwiXCI7XG5cdGNvbnN0IHRpdGxlID0gaGVhZGVySW5mbz8uVGl0bGU7XG5cdGlmICh0aXRsZSkge1xuXHRcdHNoYXJlZEl0ZW1OYW1lID0gaXNQYXRoRXhwcmVzc2lvbih0aXRsZS5WYWx1ZSkgPyBiaW5kaW5nQ29udGV4dC5nZXRQcm9wZXJ0eSh0aXRsZS5WYWx1ZS5wYXRoKSA6IHRpdGxlLlZhbHVlO1xuXHR9XG5cdHJldHVybiBzaGFyZWRJdGVtTmFtZSB8fCBoZWFkZXJJbmZvPy5UeXBlTmFtZSB8fCBcIlwiO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2hhcmUoZXZlbnQ6IEV2ZW50KSB7XG5cdGNvbnN0IHVzZXJzOiBCYWNrZW5kVXNlcltdID0gW107XG5cdGNvbnN0IHNvdXJjZSA9IGV2ZW50LmdldFNvdXJjZSgpIGFzIENvbnRyb2w7XG5cdGNvbnN0IGJpbmRpbmdDb250ZXh0ID0gc291cmNlLmdldEJpbmRpbmdDb250ZXh0KCkgYXMgVjRDb250ZXh0O1xuXHRjb25zdCBjb250ZXh0cyA9ICgoYnlJZChcInVzZXJMaXN0XCIpIGFzIFRhYmxlKS5nZXRCaW5kaW5nKFwiaXRlbXNcIikgYXMgT0RhdGFMaXN0QmluZGluZykuZ2V0Q29udGV4dHMoKTtcblx0bGV0IG51bWJlck9mTmV3SW52aXRlZFVzZXJzID0gMDtcblx0Y29udGV4dHMuZm9yRWFjaChmdW5jdGlvbiAoY29udGV4dCkge1xuXHRcdHVzZXJzLnB1c2goe1xuXHRcdFx0VXNlcklEOiBjb250ZXh0LmdldFByb3BlcnR5KFwiaWRcIiksXG5cdFx0XHRVc2VyQWNjZXNzUm9sZTogXCJPXCIgLy8gRm9yIG5vdyBhY2NvcmRpbmcgdG8gVVggZXZlcnkgdXNlciByZXRyaWV2ZXMgdGhlIG93bmVyIHJvbGVcblx0XHR9KTtcblx0XHRpZiAoY29udGV4dC5nZXRPYmplY3QoKS5zdGF0dXMgPT09IDApIHtcblx0XHRcdG51bWJlck9mTmV3SW52aXRlZFVzZXJzKys7XG5cdFx0fVxuXHR9KTtcblxuXHR0cnkge1xuXHRcdGF3YWl0IHNoYXJlT2JqZWN0KGJpbmRpbmdDb250ZXh0LCB1c2Vycyk7XG5cdFx0TWVzc2FnZVRvYXN0LnNob3coXG5cdFx0XHRnZXRUZXh0KFwiQ19DT0xMQUJPUkFUSU9ORFJBRlRfSU5WSVRBVElPTl9TVUNDRVNTX1RPQVNUXCIsIG51bWJlck9mTmV3SW52aXRlZFVzZXJzLnRvU3RyaW5nKCksIGdldFNoYXJlZEl0ZW1OYW1lKGJpbmRpbmdDb250ZXh0KSlcblx0XHQpO1xuXHR9IGNhdGNoIHtcblx0XHRNZXNzYWdlVG9hc3Quc2hvdyhnZXRUZXh0KFwiQ19DT0xMQUJPUkFUSU9ORFJBRlRfSU5WSVRBVElPTl9GQUlMRURfVE9BU1RcIikpO1xuXHR9XG5cdGNsb3NlRGlhbG9nKCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaG93VXNlckRldGFpbHMoZXZlbnQ6IEV2ZW50LCB2aWV3OiBWaWV3KSB7XG5cdGNvbnN0IHNvdXJjZSA9IGV2ZW50LmdldFNvdXJjZSgpIGFzIENvbnRyb2w7XG5cdGxldCBwb3BvdmVyID0gYnlJZChcInVzZXJEZXRhaWxzXCIpIGFzIFBvcG92ZXI7XG5cdGlmICghcG9wb3Zlcikge1xuXHRcdHBvcG92ZXIgPSBhd2FpdCBjcmVhdGVVc2VyRGV0YWlsc1BvcG92ZXIodmlldyk7XG5cdH1cblxuXHRwb3BvdmVyLnNldEJpbmRpbmdDb250ZXh0KHNvdXJjZS5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpIGFzIEludGVybmFsTW9kZWxDb250ZXh0LCBcImludGVybmFsXCIpO1xuXG5cdHBvcG92ZXIub3BlbkJ5KHNvdXJjZSwgZmFsc2UpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjcmVhdGVVc2VyRGV0YWlsc1BvcG92ZXIodmlldzogVmlldykge1xuXHRjb25zdCBwb3BvdmVyUHJvbWlzZTogUHJvbWlzZTxhbnk+ID0gRnJhZ21lbnQubG9hZCh7XG5cdFx0aWQ6IFwibWFuYWdlQ29sbGFib3JhdGlvbkRyYWZ0XCIsIC8vIHRvZG8gc2hvdWxkIGJlIHZpZXcgaWRcblx0XHRuYW1lOiBcInNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLmNvbGxhYm9yYXRpb24uVXNlckRldGFpbHNcIlxuXHR9KTtcblx0cmV0dXJuIHBvcG92ZXJQcm9taXNlXG5cdFx0LnRoZW4oZnVuY3Rpb24gKHBvcG92ZXI6IGFueSkge1xuXHRcdFx0dmlldy5hZGREZXBlbmRlbnQocG9wb3Zlcik7XG5cdFx0XHRyZXR1cm4gcG9wb3Zlcjtcblx0XHR9KVxuXHRcdC5jYXRjaChmdW5jdGlvbiAoKSB7XG5cdFx0XHR0aHJvdyBcIm5vdCB0aGlzIHRpbWVcIjtcblx0XHR9KTtcbn1cblxuZnVuY3Rpb24gZm9ybWF0VXNlclN0YXR1cyh1c2VyU3RhdHVzOiBVc2VyU3RhdHVzKSB7XG5cdHN3aXRjaCAodXNlclN0YXR1cykge1xuXHRcdGNhc2UgVXNlclN0YXR1cy5DdXJyZW50bHlFZGl0aW5nOlxuXHRcdFx0cmV0dXJuIGdldFRleHQoXCJDX0NPTExBQk9SQVRJT05EUkFGVF9VU0VSX0NVUlJFTlRMWV9FRElUSU5HXCIpO1xuXHRcdGNhc2UgVXNlclN0YXR1cy5DaGFuZ2VzTWFkZTpcblx0XHRcdHJldHVybiBnZXRUZXh0KFwiQ19DT0xMQUJPUkFUSU9ORFJBRlRfVVNFUl9DSEFOR0VTX01BREVcIik7XG5cdFx0Y2FzZSBVc2VyU3RhdHVzLk5vQ2hhbmdlc01hZGU6XG5cdFx0XHRyZXR1cm4gZ2V0VGV4dChcIkNfQ09MTEFCT1JBVElPTkRSQUZUX1VTRVJfTk9fQ0hBTkdFU19NQURFXCIpO1xuXHRcdGNhc2UgVXNlclN0YXR1cy5Ob3RZZXRJbnZpdGVkOlxuXHRcdGRlZmF1bHQ6XG5cdFx0XHRyZXR1cm4gZ2V0VGV4dChcIkNfQ09MTEFCT1JBVElPTkRSQUZUX1VTRVJfTk9UX1lFVF9JTlZJVEVEXCIpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIGZvcm1hdFVzZXJTdGF0dXNDb2xvcih1c2VyU3RhdHVzOiBVc2VyU3RhdHVzKSB7XG5cdHN3aXRjaCAodXNlclN0YXR1cykge1xuXHRcdGNhc2UgVXNlclN0YXR1cy5DdXJyZW50bHlFZGl0aW5nOlxuXHRcdFx0cmV0dXJuIFZhbHVlU3RhdGUuU3VjY2Vzcztcblx0XHRjYXNlIFVzZXJTdGF0dXMuQ2hhbmdlc01hZGU6XG5cdFx0XHRyZXR1cm4gVmFsdWVTdGF0ZS5XYXJuaW5nO1xuXHRcdGNhc2UgVXNlclN0YXR1cy5Ob0NoYW5nZXNNYWRlOlxuXHRcdGNhc2UgVXNlclN0YXR1cy5Ob3RZZXRJbnZpdGVkOlxuXHRcdGRlZmF1bHQ6XG5cdFx0XHRyZXR1cm4gVmFsdWVTdGF0ZS5JbmZvcm1hdGlvbjtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7OztFQTJCQSxNQUFNQSxVQUFVLEdBQUdDLFdBQVcsQ0FBQ0QsVUFBVTtFQUVsQyxNQUFNRSxnQkFBZ0IsR0FBRyxnQkFBZ0JDLElBQVUsRUFBRTtJQUMzRCxJQUFJQyxNQUFXLEdBQUdDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFFaEMsSUFBSSxDQUFDRCxNQUFNLEVBQUU7TUFDWkEsTUFBTSxHQUFHLE1BQU1FLCtCQUErQixDQUFDSCxJQUFJLENBQUM7SUFDckQ7SUFFQSxNQUFNSSxnQkFBZ0IsQ0FBQ0osSUFBSSxDQUFDO0lBQzVCQyxNQUFNLENBQUNJLElBQUksRUFBRTtFQUNkLENBQUM7RUFBQztFQUVGLGVBQWVGLCtCQUErQixDQUFDSCxJQUFVLEVBQUU7SUFDMUQsTUFBTU0sT0FBcUIsR0FBSU4sSUFBSSxDQUFDTyxhQUFhLEVBQUUsQ0FBU0MsZUFBZSxFQUFFLENBQUNDLFlBQVksQ0FBQztNQUMxRkMsSUFBSSxFQUFFLDZEQUE2RDtNQUNu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
243
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWYWx1ZVN0YXRlIiwiY29yZUxpYnJhcnkiLCJvcGVuTWFuYWdlRGlhbG9nIiwidmlldyIsImRpYWxvZyIsImJ5SWQiLCJjcmVhdGVNYW5hZ2VDb2xsYWJvcmF0aW9uRGlhbG9nIiwicmVhZEludml0ZWRVc2VycyIsIm9wZW4iLCJwRGlhbG9nIiwiZ2V0Q29udHJvbGxlciIsImdldEV4dGVuc2lvbkFQSSIsImxvYWRGcmFnbWVudCIsIm5hbWUiLCJpZCIsImNvbnRyb2xsZXIiLCJzaGFyZSIsImFkZFVzZXIiLCJyZW1vdmVVc2VyIiwiY2xvc2UiLCJjbG9zZURpYWxvZyIsImFkZFVzZXJDaGFuZ2VkIiwiZm9ybWF0VXNlclN0YXR1cyIsImZvcm1hdFVzZXJTdGF0dXNDb2xvciIsInRoZW4iLCJhZGREZXBlbmRlbnQiLCJjYXRjaCIsIm1vZGVsIiwiZ2V0TW9kZWwiLCJwYXJhbWV0ZXJzIiwiJHNlbGVjdCIsImludml0ZWRVc2VyTGlzdCIsImJpbmRMaXN0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJpbnRlcm5hbE1vZGVsQ29udGV4dCIsInJlcXVlc3RDb250ZXh0cyIsImFDb250ZXh0cyIsImludml0ZWRVc2VycyIsImFjdGl2ZVVzZXJzIiwiZ2V0UHJvcGVydHkiLCJtZSIsIkNvbGxhYm9yYXRpb25VdGlscyIsImdldE1lIiwidXNlclN0YXR1cyIsImxlbmd0aCIsImZvckVhY2giLCJvQ29udGV4dCIsInVzZXJEYXRhIiwiZ2V0T2JqZWN0IiwiaXNNZSIsIlVzZXJJRCIsImlzQWN0aXZlIiwiZmluZCIsInUiLCJ1c2VyRGVzY3JpcHRpb24iLCJVc2VyRGVzY3JpcHRpb24iLCJpbml0aWFscyIsImZvcm1hdEluaXRpYWxzIiwiZ2V0VGV4dCIsIlVzZXJFZGl0aW5nU3RhdGUiLCJOb0NoYW5nZXMiLCJVc2VyU3RhdHVzIiwiQ3VycmVudGx5RWRpdGluZyIsIk5vQ2hhbmdlc01hZGUiLCJJblByb2dyZXNzIiwiQ2hhbmdlc01hZGUiLCJOb3RZZXRJbnZpdGVkIiwidXNlciIsInN0YXR1cyIsImNvbG9yIiwiZ2V0VXNlckNvbG9yIiwicHVzaCIsInNldFByb3BlcnR5IiwiZXZlbnQiLCJhZGRCdXR0b24iLCJnZXRTb3VyY2UiLCJuZXdVc2VyIiwiZmluZEluZGV4IiwidHJhbnNpZW50IiwidW5zaGlmdCIsInVzZXJJbnB1dCIsImdldFBhcmFtZXRlciIsIm5ld1VzZXJJZCIsInNldFZhbHVlU3RhdGUiLCJzZXRWYWx1ZVN0YXRlVGV4dCIsInJlbW92ZVVzZXJGcm9tTGlzdCIsIml0ZW0iLCJkZWxldGVVc2VySUQiLCJmaWx0ZXIiLCJDb3JlIiwiZ2V0U2hhcmVkSXRlbU5hbWUiLCJiaW5kaW5nQ29udGV4dCIsIm1ldGFNb2RlbCIsImdldE1ldGFNb2RlbCIsImVudGl0eVBhdGgiLCJnZXRNZXRhUGF0aCIsImdldFBhdGgiLCJkYXRhTW9kZWwiLCJNZXRhTW9kZWxDb252ZXJ0ZXIiLCJnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMiLCJnZXRDb250ZXh0IiwiaGVhZGVySW5mbyIsInRhcmdldE9iamVjdCIsImVudGl0eVR5cGUiLCJhbm5vdGF0aW9ucyIsIlVJIiwiSGVhZGVySW5mbyIsInNoYXJlZEl0ZW1OYW1lIiwidGl0bGUiLCJUaXRsZSIsImlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uIiwiVmFsdWUiLCJwYXRoIiwiVHlwZU5hbWUiLCJ1c2VycyIsInNvdXJjZSIsImNvbnRleHRzIiwiZ2V0QmluZGluZyIsImdldENvbnRleHRzIiwibnVtYmVyT2ZOZXdJbnZpdGVkVXNlcnMiLCJjb250ZXh0IiwiVXNlckFjY2Vzc1JvbGUiLCJzaGFyZU9iamVjdCIsIk1lc3NhZ2VUb2FzdCIsInNob3ciLCJ0b1N0cmluZyIsInNob3dVc2VyRGV0YWlscyIsInBvcG92ZXIiLCJjcmVhdGVVc2VyRGV0YWlsc1BvcG92ZXIiLCJzZXRCaW5kaW5nQ29udGV4dCIsIm9wZW5CeSIsInBvcG92ZXJQcm9taXNlIiwiRnJhZ21lbnQiLCJsb2FkIiwiU3VjY2VzcyIsIldhcm5pbmciLCJJbmZvcm1hdGlvbiJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiTWFuYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFja2VuZFVzZXIsIFVzZXIgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvY29sbGFib3JhdGlvbi9Db2xsYWJvcmF0aW9uQ29tbW9uXCI7XG5pbXBvcnQge1xuXHRDb2xsYWJvcmF0aW9uVXRpbHMsXG5cdGdldFRleHQsXG5cdHNoYXJlT2JqZWN0LFxuXHRVc2VyRWRpdGluZ1N0YXRlLFxuXHRVc2VyU3RhdHVzXG59IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9jb2xsYWJvcmF0aW9uL0NvbGxhYm9yYXRpb25Db21tb25cIjtcbmltcG9ydCAqIGFzIE1ldGFNb2RlbENvbnZlcnRlciBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxNb2RlbENvbnRleHQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9Nb2RlbEhlbHBlclwiO1xuaW1wb3J0IHsgaXNQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9UeXBlR3VhcmRzXCI7XG5pbXBvcnQgdHlwZSBCdXR0b24gZnJvbSBcInNhcC9tL0J1dHRvblwiO1xuaW1wb3J0IHR5cGUgRGlhbG9nIGZyb20gXCJzYXAvbS9EaWFsb2dcIjtcbmltcG9ydCB0eXBlIElucHV0IGZyb20gXCJzYXAvbS9JbnB1dFwiO1xuaW1wb3J0IE1lc3NhZ2VUb2FzdCBmcm9tIFwic2FwL20vTWVzc2FnZVRvYXN0XCI7XG5pbXBvcnQgdHlwZSBQb3BvdmVyIGZyb20gXCJzYXAvbS9Qb3BvdmVyXCI7XG5pbXBvcnQgdHlwZSBUYWJsZSBmcm9tIFwic2FwL20vVGFibGVcIjtcbmltcG9ydCB0eXBlIEV2ZW50IGZyb20gXCJzYXAvdWkvYmFzZS9FdmVudFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IENvcmUgZnJvbSBcInNhcC91aS9jb3JlL0NvcmVcIjtcbmltcG9ydCBGcmFnbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRnJhZ21lbnRcIjtcbmltcG9ydCBjb3JlTGlicmFyeSBmcm9tIFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBPRGF0YUxpc3RCaW5kaW5nIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFMaXN0QmluZGluZ1wiO1xuaW1wb3J0IHR5cGUgT0RhdGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTW9kZWxcIjtcbmNvbnN0IFZhbHVlU3RhdGUgPSBjb3JlTGlicmFyeS5WYWx1ZVN0YXRlO1xuXG5leHBvcnQgY29uc3Qgb3Blbk1hbmFnZURpYWxvZyA9IGFzeW5jIGZ1bmN0aW9uICh2aWV3OiBWaWV3KSB7XG5cdGxldCBkaWFsb2c6IGFueSA9IGJ5SWQoXCJkaWFsb2dcIik7XG5cblx0aWYgKCFkaWFsb2cpIHtcblx0XHRkaWFsb2cgPSBhd2FpdCBjcmVhdGVNYW5hZ2VDb2xsYWJvcmF0aW9uRGlhbG9nKHZpZXcpO1xuXHR9XG5cblx0YXdhaXQgcmVhZEludml0ZWRVc2Vycyh2aWV3KTtcblx0ZGlhbG9nLm9wZW4oKTtcbn07XG5cbmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZU1hbmFnZUNvbGxhYm9yYXRpb25EaWFsb2codmlldzogVmlldykge1xuXHRjb25zdCBwRGlhbG9nOiBQcm9taXNlPGFueT4gPSAodmlldy5nZXRDb250cm9sbGVyKCkgYXMgYW55KS5nZXRFeHRlbnNpb25BUEkoKS5sb2FkRnJhZ21lbnQoe1xuXHRcdG5hbWU6IFwic2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMuY29sbGFib3JhdGlvbi5NYW5hZ2VEaWFsb2dcIixcblx0XHRpZDogXCJtYW5hZ2VDb2xsYWJvcmF0aW9uRHJhZnRcIixcblx0XHRjb250cm9sbGVyOiB7XG5cdFx0XHRzaGFyZTogc2hhcmUsXG5cdFx0XHRhZGRVc2VyOiBhZGRVc2VyLFxuXHRcdFx0cmVtb3ZlVXNlcjogcmVtb3ZlVXNlcixcblx0XHRcdGNsb3NlOiBjbG9zZURpYWxvZyxcblx0XHRcdGFkZFVzZXJDaGFuZ2VkOiBhZGRVc2VyQ2hhbmdlZCxcblx0XHRcdGZvcm1hdFVzZXJTdGF0dXM6IGZvcm1hdFVzZXJTdGF0dXMsXG5cdFx0XHRmb3JtYXRVc2VyU3RhdHVzQ29sb3I6IGZvcm1hdFVzZXJTdGF0dXNDb2xvclxuXHRcdH1cblx0fSk7XG5cdHJldHVybiBwRGlhbG9nXG5cdFx0LnRoZW4oZnVuY3Rpb24gKGRpYWxvZzogYW55KSB7XG5cdFx0XHR2aWV3LmFkZERlcGVuZGVudChkaWFsb2cpO1xuXHRcdFx0cmV0dXJuIGRpYWxvZztcblx0XHR9KVxuXHRcdC5jYXRjaChmdW5jdGlvbiAoKSB7XG5cdFx0XHR0aHJvdyBcIm5vdCB0aGlzIHRpbWVcIjtcblx0XHR9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRJbnZpdGVkVXNlcnModmlldzogVmlldykge1xuXHRjb25zdCBtb2RlbCA9IHZpZXcuZ2V0TW9kZWwoKSBhcyBPRGF0YU1vZGVsO1xuXHQvLyBUT0RPOiBpbmZvcm0gbW9kZWwgY29sbGVhZ3VlcyBvbiBtaXNzaW5nIFRTIGRlZmluaXRpb25cblx0Y29uc3QgcGFyYW1ldGVyczogYW55ID0ge1xuXHRcdCRzZWxlY3Q6IFwiVXNlcklELFVzZXJEZXNjcmlwdGlvbixVc2VyRWRpdGluZ1N0YXRlXCJcblx0fTtcblx0Y29uc3QgaW52aXRlZFVzZXJMaXN0ID0gbW9kZWwuYmluZExpc3QoXG5cdFx0XCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YS9EcmFmdEFkbWluaXN0cmF0aXZlVXNlclwiLFxuXHRcdHZpZXcuZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0LFxuXHRcdFtdLFxuXHRcdFtdLFxuXHRcdHBhcmFtZXRlcnNcblx0KTtcblx0Y29uc3QgaW50ZXJuYWxNb2RlbENvbnRleHQgPSB2aWV3LmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIikgYXMgSW50ZXJuYWxNb2RlbENvbnRleHQ7XG5cdC8vIFRPRE86IGxpbWl0P1xuXHRyZXR1cm4gaW52aXRlZFVzZXJMaXN0XG5cdFx0LnJlcXVlc3RDb250ZXh0cygwLCAxMDApXG5cdFx0LnRoZW4oZnVuY3Rpb24gKGFDb250ZXh0cykge1xuXHRcdFx0Y29uc3QgaW52aXRlZFVzZXJzOiBVc2VyW10gPSBbXTtcblx0XHRcdGNvbnN0IGFjdGl2ZVVzZXJzID0gdmlldy5nZXRNb2RlbChcImludGVybmFsXCIpLmdldFByb3BlcnR5KFwiL2NvbGxhYm9yYXRpb24vYWN0aXZlVXNlcnNcIikgfHwgW107XG5cdFx0XHRjb25zdCBtZSA9IENvbGxhYm9yYXRpb25VdGlscy5nZXRNZSh2aWV3KTtcblx0XHRcdGxldCB1c2VyU3RhdHVzOiBVc2VyU3RhdHVzO1xuXHRcdFx0aWYgKGFDb250ZXh0cz8ubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRhQ29udGV4dHMuZm9yRWFjaChmdW5jdGlvbiAob0NvbnRleHQpIHtcblx0XHRcdFx0XHRjb25zdCB1c2VyRGF0YSA9IG9Db250ZXh0LmdldE9iamVjdCgpIGFzIEJhY2tlbmRVc2VyO1xuXHRcdFx0XHRcdGNvbnN0IGlzTWU6IGJvb2xlYW4gPSBtZT8uaWQgPT09IHVzZXJEYXRhLlVzZXJJRDtcblx0XHRcdFx0XHRjb25zdCBpc0FjdGl2ZSA9IGFjdGl2ZVVzZXJzLmZpbmQoKHU6IFVzZXIpID0+IHUuaWQgPT09IHVzZXJEYXRhLlVzZXJJRCk7XG5cdFx0XHRcdFx0bGV0IHVzZXJEZXNjcmlwdGlvbiA9IHVzZXJEYXRhLlVzZXJEZXNjcmlwdGlvbiB8fCB1c2VyRGF0YS5Vc2VySUQ7XG5cdFx0XHRcdFx0Y29uc3QgaW5pdGlhbHMgPSBDb2xsYWJvcmF0aW9uVXRpbHMuZm9ybWF0SW5pdGlhbHModXNlckRlc2NyaXB0aW9uKTtcblx0XHRcdFx0XHR1c2VyRGVzY3JpcHRpb24gKz0gaXNNZSA/IGAgKCR7Q29sbGFib3JhdGlvblV0aWxzLmdldFRleHQoXCJDX0NPTExBQk9SQVRJT05EUkFGVF9ZT1VcIil9KWAgOiBcIlwiO1xuXHRcdFx0XHRcdHN3aXRjaCAodXNlckRhdGEuVXNlckVkaXRpbmdTdGF0ZSkge1xuXHRcdFx0XHRcdFx0Y2FzZSBVc2VyRWRpdGluZ1N0YXRlLk5vQ2hhbmdlczpcblx0XHRcdFx0XHRcdFx0dXNlclN0YXR1cyA9IGlzQWN0aXZlID8gVXNlclN0YXR1cy5DdXJyZW50bHlFZGl0aW5nIDogVXNlclN0YXR1cy5Ob0NoYW5nZXNNYWRlO1xuXHRcdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRcdGNhc2UgVXNlckVkaXRpbmdTdGF0ZS5JblByb2dyZXNzOlxuXHRcdFx0XHRcdFx0XHR1c2VyU3RhdHVzID0gaXNBY3RpdmUgPyBVc2VyU3RhdHVzLkN1cnJlbnRseUVkaXRpbmcgOiBVc2VyU3RhdHVzLkNoYW5nZXNNYWRlO1xuXHRcdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRcdHVzZXJTdGF0dXMgPSBVc2VyU3RhdHVzLk5vdFlldEludml0ZWQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGNvbnN0IHVzZXI6IFVzZXIgPSB7XG5cdFx0XHRcdFx0XHRpZDogdXNlckRhdGEuVXNlcklELFxuXHRcdFx0XHRcdFx0bmFtZTogdXNlckRlc2NyaXB0aW9uLFxuXHRcdFx0XHRcdFx0c3RhdHVzOiB1c2VyU3RhdHVzLFxuXHRcdFx0XHRcdFx0Y29sb3I6IENvbGxhYm9yYXRpb25VdGlscy5nZXRVc2VyQ29sb3IodXNlckRhdGEuVXNlcklELCBhY3RpdmVVc2VycywgaW52aXRlZFVzZXJzKSxcblx0XHRcdFx0XHRcdGluaXRpYWxzOiBpbml0aWFscyxcblx0XHRcdFx0XHRcdG1lOiBpc01lXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRpbnZpdGVkVXNlcnMucHVzaCh1c2VyKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHQvL25vdCB5ZXQgc2hhcmVkLCBqdXN0IGFkZCBtZVxuXHRcdFx0XHRpbnZpdGVkVXNlcnMucHVzaChtZSk7XG5cdFx0XHR9XG5cdFx0XHRpbnRlcm5hbE1vZGVsQ29udGV4dC5zZXRQcm9wZXJ0eShcImNvbGxhYm9yYXRpb24vVXNlcklEXCIsIFwiXCIpO1xuXHRcdFx0aW50ZXJuYWxNb2RlbENvbnRleHQuc2V0UHJvcGVydHkoXCJjb2xsYWJvcmF0aW9uL1VzZXJEZXNjcmlwdGlvblwiLCBcIlwiKTtcblx0XHRcdGludGVybmFsTW9kZWxDb250ZXh0LnNldFByb3BlcnR5KFwiY29sbGFib3JhdGlvbi9pbnZpdGVkVXNlcnNcIiwgaW52aXRlZFVzZXJzKTtcblx0XHR9KVxuXHRcdC5jYXRjaChmdW5jdGlvbiAoKSB7XG5cdFx0XHQvLyBUT0RPOiBoYW5kbGUgdGhpcyBjYXNlLCBjbG9zZSBkaWFsb2c/XG5cdFx0fSk7XG59XG5cbmZ1bmN0aW9uIGFkZFVzZXIoZXZlbnQ6IEV2ZW50KSB7XG5cdGNvbnN0IGFkZEJ1dHRvbiA9IGV2ZW50LmdldFNvdXJjZSgpIGFzIEJ1dHRvbjtcblx0Y29uc3QgaW50ZXJuYWxNb2RlbENvbnRleHQgPSBhZGRCdXR0b24uZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKSBhcyBJbnRlcm5hbE1vZGVsQ29udGV4dDtcblx0Y29uc3QgaW52aXRlZFVzZXJzOiBVc2VyW10gPSBpbnRlcm5hbE1vZGVsQ29udGV4dC5nZXRQcm9wZXJ0eShcImludml0ZWRVc2Vyc1wiKSB8fCBbXTtcblx0Y29uc3QgYWN0aXZlVXNlcnMgPSBhZGRCdXR0b24uZ2V0TW9kZWwoXCJpbnRlcm5hbFwiKS5nZXRQcm9wZXJ0eShcIi9jb2xsYWJvcmF0aW9uL2FjdGl2ZVVzZXJzXCIpO1xuXHRjb25zdCBuZXdVc2VyOiBVc2VyID0ge1xuXHRcdGlkOiBpbnRlcm5hbE1vZGVsQ29udGV4dD8uZ2V0UHJvcGVydHkoXCJVc2VySURcIiksXG5cdFx0bmFtZTogaW50ZXJuYWxNb2RlbENvbnRleHQ/LmdldFByb3BlcnR5KFwiVXNlckRlc2NyaXB0aW9uXCIpXG5cdH07XG5cblx0aWYgKCEoaW52aXRlZFVzZXJzLmZpbmRJbmRleCgodXNlcikgPT4gdXNlci5pZCA9PT0gbmV3VXNlci5pZCkgPiAtMSB8fCAobmV3VXNlci5pZCA9PT0gbmV3VXNlci5uYW1lICYmIG5ld1VzZXIuaWQgPT09IFwiXCIpKSkge1xuXHRcdG5ld1VzZXIubmFtZSA9IG5ld1VzZXIubmFtZSB8fCBuZXdVc2VyLmlkO1xuXHRcdG5ld1VzZXIuaW5pdGlhbHMgPSBDb2xsYWJvcmF0aW9uVXRpbHMuZm9ybWF0SW5pdGlhbHMobmV3VXNlci5uYW1lKTtcblx0XHRuZXdVc2VyLmNvbG9yID0gQ29sbGFib3JhdGlvblV0aWxzLmdldFVzZXJDb2xvcihuZXdVc2VyLmlkLCBhY3RpdmVVc2VycywgaW52aXRlZFVzZXJzKTtcblx0XHRuZXdVc2VyLnRyYW5zaWVudCA9IHRydWU7XG5cdFx0bmV3VXNlci5zdGF0dXMgPSBVc2VyU3RhdHVzLk5vdFlldEludml0ZWQ7XG5cdFx0aW52aXRlZFVzZXJzLnVuc2hpZnQobmV3VXNlcik7XG5cdFx0aW50ZXJuYWxNb2RlbENvbnRleHQuc2V0UHJvcGVydHkoXCJpbnZpdGVkVXNlcnNcIiwgaW52aXRlZFVzZXJzKTtcblx0XHRpbnRlcm5hbE1vZGVsQ29udGV4dC5zZXRQcm9wZXJ0eShcIlVzZXJJRFwiLCBcIlwiKTtcblx0XHRpbnRlcm5hbE1vZGVsQ29udGV4dC5zZXRQcm9wZXJ0eShcIlVzZXJEZXNjcmlwdGlvblwiLCBcIlwiKTtcblx0fVxufVxuXG5mdW5jdGlvbiBhZGRVc2VyQ2hhbmdlZChldmVudDogRXZlbnQpIHtcblx0Y29uc3QgdXNlcklucHV0ID0gZXZlbnQuZ2V0U291cmNlKCkgYXMgSW5wdXQ7XG5cdGV2ZW50XG5cdFx0LmdldFBhcmFtZXRlcihcInByb21pc2VcIilcblx0XHQudGhlbihmdW5jdGlvbiAobmV3VXNlcklkOiBzdHJpbmcpIHtcblx0XHRcdGNvbnN0IGludGVybmFsTW9kZWxDb250ZXh0ID0gdXNlcklucHV0LmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIikgYXMgSW50ZXJuYWxNb2RlbENvbnRleHQ7XG5cdFx0XHRjb25zdCBpbnZpdGVkVXNlcnM6IFVzZXJbXSA9IGludGVybmFsTW9kZWxDb250ZXh0LmdldFByb3BlcnR5KFwiaW52aXRlZFVzZXJzXCIpIHx8IFtdO1xuXHRcdFx0aWYgKGludml0ZWRVc2Vycy5maW5kSW5kZXgoKHVzZXIpID0+IHVzZXIuaWQgPT09IG5ld1VzZXJJZCkgPiAtMSkge1xuXHRcdFx0XHR1c2VySW5wdXQuc2V0VmFsdWVTdGF0ZShcIkVycm9yXCIpO1xuXHRcdFx0XHR1c2VySW5wdXQuc2V0VmFsdWVTdGF0ZVRleHQoZ2V0VGV4dChcIkNfQ09MTEFCT1JBVElPTkRSQUZUX0lOVklUQVRJT05fVVNFUl9FUlJPUlwiKSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR1c2VySW5wdXQuc2V0VmFsdWVTdGF0ZShcIk5vbmVcIik7XG5cdFx0XHRcdHVzZXJJbnB1dC5zZXRWYWx1ZVN0YXRlVGV4dChcIlwiKTtcblx0XHRcdH1cblx0XHR9KVxuXHRcdC5jYXRjaChmdW5jdGlvbiAoKSB7XG5cdFx0XHR0aHJvdyBcIlVzZXIgY291bGRuJ3QgYmUgZGV0ZXJtaW5lZCBhdCBhbGxcIjtcblx0XHR9KTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlVXNlcihldmVudDogRXZlbnQpIHtcblx0cmVtb3ZlVXNlckZyb21MaXN0KGV2ZW50LmdldFNvdXJjZSgpKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlVXNlckZyb21MaXN0KGl0ZW06IGFueSkge1xuXHRjb25zdCBpbnRlcm5hbE1vZGVsQ29udGV4dCA9IGl0ZW0uZ2V0QmluZGluZ0NvbnRleHQoXCJwYWdlSW50ZXJuYWxcIik7XG5cdGNvbnN0IGRlbGV0ZVVzZXJJRCA9IGl0ZW0uZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKS5nZXRQcm9wZXJ0eShcImlkXCIpO1xuXHRsZXQgaW52aXRlZFVzZXJzOiBVc2VyW10gPSBpbnRlcm5hbE1vZGVsQ29udGV4dC5nZXRQcm9wZXJ0eShcImNvbGxhYm9yYXRpb24vaW52aXRlZFVzZXJzXCIpO1xuXHRpbnZpdGVkVXNlcnMgPSBpbnZpdGVkVXNlcnMuZmlsdGVyKCh1c2VyKSA9PiB1c2VyLmlkICE9PSBkZWxldGVVc2VySUQpO1xuXHRpbnRlcm5hbE1vZGVsQ29udGV4dC5zZXRQcm9wZXJ0eShcImNvbGxhYm9yYXRpb24vaW52aXRlZFVzZXJzXCIsIGludml0ZWRVc2Vycyk7XG59XG5cbmZ1bmN0aW9uIGJ5SWQoaWQ6IHN0cmluZyk6IGFueSB7XG5cdHJldHVybiBDb3JlLmJ5SWQoYG1hbmFnZUNvbGxhYm9yYXRpb25EcmFmdC0tJHtpZH1gKTtcbn1cblxuZnVuY3Rpb24gY2xvc2VEaWFsb2coKSB7XG5cdChieUlkKFwiZGlhbG9nXCIpIGFzIERpYWxvZykuY2xvc2UoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNoYXJlZEl0ZW1OYW1lKGJpbmRpbmdDb250ZXh0OiBDb250ZXh0KTogc3RyaW5nIHtcblx0Y29uc3QgbW9kZWwgPSBiaW5kaW5nQ29udGV4dC5nZXRNb2RlbCgpO1xuXHRjb25zdCBtZXRhTW9kZWwgPSBtb2RlbC5nZXRNZXRhTW9kZWwoKTtcblx0Y29uc3QgZW50aXR5UGF0aCA9IG1ldGFNb2RlbC5nZXRNZXRhUGF0aChiaW5kaW5nQ29udGV4dC5nZXRQYXRoKCkpO1xuXHRjb25zdCBkYXRhTW9kZWwgPSBNZXRhTW9kZWxDb252ZXJ0ZXIuZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG1ldGFNb2RlbC5nZXRDb250ZXh0KGVudGl0eVBhdGgpKTtcblx0Y29uc3QgaGVhZGVySW5mbyA9IGRhdGFNb2RlbC50YXJnZXRPYmplY3QuZW50aXR5VHlwZS5hbm5vdGF0aW9ucz8uVUk/LkhlYWRlckluZm87XG5cdGxldCBzaGFyZWRJdGVtTmFtZSA9IFwiXCI7XG5cdGNvbnN0IHRpdGxlID0gaGVhZGVySW5mbz8uVGl0bGU7XG5cdGlmICh0aXRsZSkge1xuXHRcdHNoYXJlZEl0ZW1OYW1lID0gaXNQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb24odGl0bGUuVmFsdWUpID8gYmluZGluZ0NvbnRleHQuZ2V0UHJvcGVydHkodGl0bGUuVmFsdWUucGF0aCkgOiB0aXRsZS5WYWx1ZTtcblx0fVxuXHRyZXR1cm4gc2hhcmVkSXRlbU5hbWUgfHwgaGVhZGVySW5mbz8uVHlwZU5hbWUgfHwgXCJcIjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNoYXJlKGV2ZW50OiBFdmVudCkge1xuXHRjb25zdCB1c2VyczogQmFja2VuZFVzZXJbXSA9IFtdO1xuXHRjb25zdCBzb3VyY2UgPSBldmVudC5nZXRTb3VyY2UoKSBhcyBDb250cm9sO1xuXHRjb25zdCBiaW5kaW5nQ29udGV4dCA9IHNvdXJjZS5nZXRCaW5kaW5nQ29udGV4dCgpIGFzIENvbnRleHQ7XG5cdGNvbnN0IGNvbnRleHRzID0gKChieUlkKFwidXNlckxpc3RcIikgYXMgVGFibGUpLmdldEJpbmRpbmcoXCJpdGVtc1wiKSBhcyBPRGF0YUxpc3RCaW5kaW5nKS5nZXRDb250ZXh0cygpO1xuXHRsZXQgbnVtYmVyT2ZOZXdJbnZpdGVkVXNlcnMgPSAwO1xuXHRjb250ZXh0cy5mb3JFYWNoKGZ1bmN0aW9uIChjb250ZXh0KSB7XG5cdFx0dXNlcnMucHVzaCh7XG5cdFx0XHRVc2VySUQ6IGNvbnRleHQuZ2V0UHJvcGVydHkoXCJpZFwiKSxcblx0XHRcdFVzZXJBY2Nlc3NSb2xlOiBcIk9cIiAvLyBGb3Igbm93IGFjY29yZGluZyB0byBVWCBldmVyeSB1c2VyIHJldHJpZXZlcyB0aGUgb3duZXIgcm9sZVxuXHRcdH0pO1xuXHRcdGlmIChjb250ZXh0LmdldE9iamVjdCgpLnN0YXR1cyA9PT0gMCkge1xuXHRcdFx0bnVtYmVyT2ZOZXdJbnZpdGVkVXNlcnMrKztcblx0XHR9XG5cdH0pO1xuXG5cdHRyeSB7XG5cdFx0YXdhaXQgc2hhcmVPYmplY3QoYmluZGluZ0NvbnRleHQsIHVzZXJzKTtcblx0XHRNZXNzYWdlVG9hc3Quc2hvdyhcblx0XHRcdGdldFRleHQoXCJDX0NPTExBQk9SQVRJT05EUkFGVF9JTlZJVEFUSU9OX1NVQ0NFU1NfVE9BU1RcIiwgbnVtYmVyT2ZOZXdJbnZpdGVkVXNlcnMudG9TdHJpbmcoKSwgZ2V0U2hhcmVkSXRlbU5hbWUoYmluZGluZ0NvbnRleHQpKVxuXHRcdCk7XG5cdH0gY2F0Y2gge1xuXHRcdE1lc3NhZ2VUb2FzdC5zaG93KGdldFRleHQoXCJDX0NPTExBQk9SQVRJT05EUkFGVF9JTlZJVEFUSU9OX0ZBSUxFRF9UT0FTVFwiKSk7XG5cdH1cblx0Y2xvc2VEaWFsb2coKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNob3dVc2VyRGV0YWlscyhldmVudDogRXZlbnQsIHZpZXc6IFZpZXcpIHtcblx0Y29uc3Qgc291cmNlID0gZXZlbnQuZ2V0U291cmNlKCkgYXMgQ29udHJvbDtcblx0bGV0IHBvcG92ZXIgPSBieUlkKFwidXNlckRldGFpbHNcIikgYXMgUG9wb3Zlcjtcblx0aWYgKCFwb3BvdmVyKSB7XG5cdFx0cG9wb3ZlciA9IGF3YWl0IGNyZWF0ZVVzZXJEZXRhaWxzUG9wb3Zlcih2aWV3KTtcblx0fVxuXG5cdHBvcG92ZXIuc2V0QmluZGluZ0NvbnRleHQoc291cmNlLmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIikgYXMgSW50ZXJuYWxNb2RlbENvbnRleHQsIFwiaW50ZXJuYWxcIik7XG5cblx0cG9wb3Zlci5vcGVuQnkoc291cmNlLCBmYWxzZSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVVzZXJEZXRhaWxzUG9wb3Zlcih2aWV3OiBWaWV3KSB7XG5cdGNvbnN0IHBvcG92ZXJQcm9taXNlOiBQcm9taXNlPGFueT4gPSBGcmFnbWVudC5sb2FkKHtcblx0XHRpZDogXCJtYW5hZ2VDb2xsYWJvcmF0aW9uRHJhZnRcIiwgLy8gdG9kbyBzaG91bGQgYmUgdmlldyBpZFxuXHRcdG5hbWU6IFwic2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMuY29sbGFib3JhdGlvbi5Vc2VyRGV0YWlsc1wiXG5cdH0pO1xuXHRyZXR1cm4gcG9wb3ZlclByb21pc2Vcblx0XHQudGhlbihmdW5jdGlvbiAocG9wb3ZlcjogYW55KSB7XG5cdFx0XHR2aWV3LmFkZERlcGVuZGVudChwb3BvdmVyKTtcblx0XHRcdHJldHVybiBwb3BvdmVyO1xuXHRcdH0pXG5cdFx0LmNhdGNoKGZ1bmN0aW9uICgpIHtcblx0XHRcdHRocm93IFwibm90IHRoaXMgdGltZVwiO1xuXHRcdH0pO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRVc2VyU3RhdHVzKHVzZXJTdGF0dXM6IFVzZXJTdGF0dXMpIHtcblx0c3dpdGNoICh1c2VyU3RhdHVzKSB7XG5cdFx0Y2FzZSBVc2VyU3RhdHVzLkN1cnJlbnRseUVkaXRpbmc6XG5cdFx0XHRyZXR1cm4gZ2V0VGV4dChcIkNfQ09MTEFCT1JBVElPTkRSQUZUX1VTRVJfQ1VSUkVOVExZX0VESVRJTkdcIik7XG5cdFx0Y2FzZSBVc2VyU3RhdHVzLkNoYW5nZXNNYWRlOlxuXHRcdFx0cmV0dXJuIGdldFRleHQoXCJDX0NPTExBQk9SQVRJT05EUkFGVF9VU0VSX0NIQU5HRVNfTUFERVwiKTtcblx0XHRjYXNlIFVzZXJTdGF0dXMuTm9DaGFuZ2VzTWFkZTpcblx0XHRcdHJldHVybiBnZXRUZXh0KFwiQ19DT0xMQUJPUkFUSU9ORFJBRlRfVVNFUl9OT19DSEFOR0VTX01BREVcIik7XG5cdFx0Y2FzZSBVc2VyU3RhdHVzLk5vdFlldEludml0ZWQ6XG5cdFx0ZGVmYXVsdDpcblx0XHRcdHJldHVybiBnZXRUZXh0KFwiQ19DT0xMQUJPUkFUSU9ORFJBRlRfVVNFUl9OT1RfWUVUX0lOVklURURcIik7XG5cdH1cbn1cblxuZnVuY3Rpb24gZm9ybWF0VXNlclN0YXR1c0NvbG9yKHVzZXJTdGF0dXM6IFVzZXJTdGF0dXMpIHtcblx0c3dpdGNoICh1c2VyU3RhdHVzKSB7XG5cdFx0Y2FzZSBVc2VyU3RhdHVzLkN1cnJlbnRseUVkaXRpbmc6XG5cdFx0XHRyZXR1cm4gVmFsdWVTdGF0ZS5TdWNjZXNzO1xuXHRcdGNhc2UgVXNlclN0YXR1cy5DaGFuZ2VzTWFkZTpcblx0XHRcdHJldHVybiBWYWx1ZVN0YXRlLldhcm5pbmc7XG5cdFx0Y2FzZSBVc2VyU3RhdHVzLk5vQ2hhbmdlc01hZGU6XG5cdFx0Y2FzZSBVc2VyU3RhdHVzLk5vdFlldEludml0ZWQ6XG5cdFx0ZGVmYXVsdDpcblx0XHRcdHJldHVybiBWYWx1ZVN0YXRlLkluZm9ybWF0aW9uO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7O0VBMEJBLE1BQU1BLFVBQVUsR0FBR0MsV0FBVyxDQUFDRCxVQUFVO0VBRWxDLE1BQU1FLGdCQUFnQixHQUFHLGdCQUFnQkMsSUFBVSxFQUFFO0lBQzNELElBQUlDLE1BQVcsR0FBR0MsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUVoQyxJQUFJLENBQUNELE1BQU0sRUFBRTtNQUNaQSxNQUFNLEdBQUcsTUFBTUUsK0JBQStCLENBQUNILElBQUksQ0FBQztJQUNyRDtJQUVBLE1BQU1JLGdCQUFnQixDQUFDSixJQUFJLENBQUM7SUFDNUJDLE1BQU0sQ0FBQ0ksSUFBSSxFQUFFO0VBQ2QsQ0FBQztFQUFDO0VBRUYsZUFBZUYsK0JBQStCLENBQUNILElBQVUsRUFBRTtJQUMxRCxNQUFNTSxPQUFxQixHQUFJTixJQUFJLENBQUNPLGFBQWEsRUFBRSxDQUFTQyxlQUFlLEVBQUUsQ0FBQ0MsWUFBWSxDQUFDO01BQzFGQyxJQUFJLEVBQUUsNkRBQTZEO01BQ25FQyxFQUFFLEVBQUUsMEJBQTBCO01BQzlCQyxVQUFVLEVBQUU7UUFDWEMsS0FBSyxFQUFFQSxLQUFLO1FBQ1pDLE9BQU8sRUFBRUEsT0FBTztRQUNoQkMsVUFBVSxFQUFFQSxVQUFVO1FBQ3RCQyxLQUFLLEVBQUVDLFdBQVc7UUFDbEJDLGNBQWMsRUFBRUEsY0FBYztRQUM5QkMsZ0JBQWdCLEVBQUVBLGdCQUFnQjtRQUNsQ0MscUJBQXFCLEVBQUVBO01BQ3hCO0lBQ0QsQ0FBQyxDQUFDO0lBQ0YsT0FBT2QsT0FBTyxDQUNaZSxJQUFJLENBQUMsVUFBVXBCLE1BQVcsRUFBRTtNQUM1QkQsSUFBSSxDQUFDc0IsWUFBWSxDQUFDckIsTUFBTSxDQUFDO01BQ3pCLE9BQU9BLE1BQU07SUFDZCxDQUFDLENBQUMsQ0FDRHNCLEtBQUssQ0FBQyxZQUFZO01BQ2xCLE1BQU0sZUFBZTtJQUN0QixDQUFDLENBQUM7RUFDSjtFQUVPLGVBQWVuQixnQkFBZ0IsQ0FBQ0osSUFBVSxFQUFFO0lBQ2xELE1BQU13QixLQUFLLEdBQUd4QixJQUFJLENBQUN5QixRQUFRLEVBQWdCO0lBQzNDO0lBQ0EsTUFBTUMsVUFBZSxHQUFHO01BQ3ZCQyxPQUFPLEVBQUU7SUFDVixDQUFDO0lBQ0QsTUFBTUMsZUFBZSxHQUFHSixLQUFLLENBQUNLLFFBQVEsQ0FDckMsaURBQWlELEVBQ2pEN0IsSUFBSSxDQUFDOEIsaUJBQWlCLEVBQUUsRUFDeEIsRUFBRSxFQUNGLEVBQUUsRUFDRkosVUFBVSxDQUNWO0lBQ0QsTUFBTUssb0JBQW9CLEdBQUcvQixJQUFJLENBQUM4QixpQkFBaUIsQ0FBQyxVQUFVLENBQXlCO0lBQ3ZGO0lBQ0EsT0FBT0YsZUFBZSxDQUNwQkksZUFBZSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FDdkJYLElBQUksQ0FBQyxVQUFVWSxTQUFTLEVBQUU7TUFDMUIsTUFBTUMsWUFBb0IsR0FBRyxFQUFFO01BQy9CLE1BQU1DLFdBQVcsR0FBR25DLElBQUksQ0FBQ3lCLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQ1csV0FBVyxDQUFDLDRCQUE0QixDQUFDLElBQUksRUFBRTtNQUM3RixNQUFNQyxFQUFFLEdBQUdDLGtCQUFrQixDQUFDQyxLQUFLLENBQUN2QyxJQUFJLENBQUM7TUFDekMsSUFBSXdDLFVBQXNCO01BQzFCLElBQUksQ0FBQVAsU0FBUyxhQUFUQSxTQUFTLHVCQUFUQSxTQUFTLENBQUVRLE1BQU0sSUFBRyxDQUFDLEVBQUU7UUFDMUJSLFNBQVMsQ0FBQ1MsT0FBTyxDQUFDLFVBQVVDLFFBQVEsRUFBRTtVQUNyQyxNQUFNQyxRQUFRLEdBQUdELFFBQVEsQ0FBQ0UsU0FBUyxFQUFpQjtVQUNwRCxNQUFNQyxJQUFhLEdBQUcsQ0FBQVQsRUFBRSxhQUFGQSxFQUFFLHVCQUFGQSxFQUFFLENBQUUxQixFQUFFLE1BQUtpQyxRQUFRLENBQUNHLE1BQU07VUFDaEQsTUFBTUMsUUFBUSxHQUFHYixXQUFXLENBQUNjLElBQUksQ0FBRUMsQ0FBTyxJQUFLQSxDQUFDLENBQUN2QyxFQUFFLEtBQUtpQyxRQUFRLENBQUNHLE1BQU0sQ0FBQztVQUN4RSxJQUFJSSxlQUFlLEdBQUdQLFFBQVEsQ0FBQ1EsZUFBZSxJQUFJUixRQUFRLENBQUNHLE1BQU07VUFDakUsTUFBTU0sUUFBUSxHQUFHZixrQkFBa0IsQ0FBQ2dCLGNBQWMsQ0FBQ0gsZUFBZSxDQUFDO1VBQ25FQSxlQUFlLElBQUlMLElBQUksR0FBSSxLQUFJUixrQkFBa0IsQ0FBQ2lCLE9BQU8sQ0FBQywwQkFBMEIsQ0FBRSxHQUFFLEdBQUcsRUFBRTtVQUM3RixRQUFRWCxRQUFRLENBQUNZLGdCQUFnQjtZQUNoQyxLQUFLQSxnQkFBZ0IsQ0FBQ0MsU0FBUztjQUM5QmpCLFVBQVUsR0FBR1EsUUFBUSxHQUFHVSxVQUFVLENBQUNDLGdCQUFnQixHQUFHRCxVQUFVLENBQUNFLGFBQWE7Y0FDOUU7WUFDRCxLQUFLSixnQkFBZ0IsQ0FBQ0ssVUFBVTtjQUMvQnJCLFVBQVUsR0FBR1EsUUFBUSxHQUFHVSxVQUFVLENBQUNDLGdCQUFnQixHQUFHRCxVQUFVLENBQUNJLFdBQVc7Y0FDNUU7WUFDRDtjQUNDdEIsVUFBVSxHQUFHa0IsVUFBVSxDQUFDSyxhQUFhO1VBQUM7VUFFeEMsTUFBTUMsSUFBVSxHQUFHO1lBQ2xCckQsRUFBRSxFQUFFaUMsUUFBUSxDQUFDRyxNQUFNO1lBQ25CckMsSUFBSSxFQUFFeUMsZUFBZTtZQUNyQmMsTUFBTSxFQUFFekIsVUFBVTtZQUNsQjBCLEtBQUssRUFBRTVCLGtCQUFrQixDQUFDNkIsWUFBWSxDQUFDdkIsUUFBUSxDQUFDRyxNQUFNLEVBQUVaLFdBQVcsRUFBRUQsWUFBWSxDQUFDO1lBQ2xGbUIsUUFBUSxFQUFFQSxRQUFRO1lBQ2xCaEIsRUFBRSxFQUFFUztVQUNMLENBQUM7VUFDRFosWUFBWSxDQUFDa0MsSUFBSSxDQUFDSixJQUFJLENBQUM7UUFDeEIsQ0FBQyxDQUFDO01BQ0gsQ0FBQyxNQUFNO1FBQ047UUFDQTlCLFlBQVksQ0FBQ2tDLElBQUksQ0FBQy9CLEVBQUUsQ0FBQztNQUN0QjtNQUNBTixvQkFBb0IsQ0FBQ3NDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLENBQUM7TUFDNUR0QyxvQkFBb0IsQ0FBQ3NDLFdBQVcsQ0FBQywrQkFBK0IsRUFBRSxFQUFFLENBQUM7TUFDckV0QyxvQkFBb0IsQ0FBQ3NDLFdBQVcsQ0FBQyw0QkFBNEIsRUFBRW5DLFlBQVksQ0FBQztJQUM3RSxDQUFDLENBQUMsQ0FDRFgsS0FBSyxDQUFDLFlBQVk7TUFDbEI7SUFBQSxDQUNBLENBQUM7RUFDSjtFQUFDO0VBRUQsU0FBU1QsT0FBTyxDQUFDd0QsS0FBWSxFQUFFO0lBQzlCLE1BQU1DLFNBQVMsR0FBR0QsS0FBSyxDQUFDRSxTQUFTLEVBQVk7SUFDN0MsTUFBTXpDLG9CQUFvQixHQUFHd0MsU0FBUyxDQUFDekMsaUJBQWlCLENBQUMsVUFBVSxDQUF5QjtJQUM1RixNQUFNSSxZQUFvQixHQUFHSCxvQkFBb0IsQ0FBQ0ssV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUU7SUFDbkYsTUFBTUQsV0FBVyxHQUFHb0MsU0FBUyxDQUFDOUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDVyxXQUFXLENBQUMsNEJBQTRCLENBQUM7SUFDNUYsTUFBTXFDLE9BQWEsR0FBRztNQUNyQjlELEVBQUUsRUFBRW9CLG9CQUFvQixhQUFwQkEsb0JBQW9CLHVCQUFwQkEsb0JBQW9CLENBQUVLLFdBQVcsQ0FBQyxRQUFRLENBQUM7TUFDL0MxQixJQUFJLEVBQUVxQixvQkFBb0IsYUFBcEJBLG9CQUFvQix1QkFBcEJBLG9CQUFvQixDQUFFSyxXQUFXLENBQUMsaUJBQWlCO0lBQzFELENBQUM7SUFFRCxJQUFJLEVBQUVGLFlBQVksQ0FBQ3dDLFNBQVMsQ0FBRVYsSUFBSSxJQUFLQSxJQUFJLENBQUNyRCxFQUFFLEtBQUs4RCxPQUFPLENBQUM5RCxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSzhELE9BQU8sQ0FBQzlELEVBQUUsS0FBSzhELE9BQU8sQ0FBQy9ELElBQUksSUFBSStELE9BQU8sQ0FBQzlELEVBQUUsS0FBSyxFQUFHLENBQUMsRUFBRTtNQUMzSDhELE9BQU8sQ0FBQy9ELElBQUksR0FBRytELE9BQU8sQ0FBQy9ELElBQUksSUFBSStELE9BQU8sQ0FBQzlELEVBQUU7TUFDekM4RCxPQUFPLENBQUNwQixRQUFRLEdBQUdmLGtCQUFrQixDQUFDZ0IsY0FBYyxDQUFDbUIsT0FBTyxDQUFDL0QsSUFBSSxDQUFDO01BQ2xFK0QsT0FBTyxDQUFDUCxLQUFLLEdBQUc1QixrQkFBa0IsQ0FBQzZCLFlBQVksQ0FBQ00sT0FBTyxDQUFDOUQsRUFBRSxFQUFFd0IsV0FBVyxFQUFFRCxZQUFZLENBQUM7TUFDdEZ1QyxPQUFPLENBQUNFLFNBQVMsR0FBRyxJQUFJO01BQ3hCRixPQUFPLENBQUNSLE1BQU0sR0FBR1AsVUFBVSxDQUFDSyxhQUFhO01BQ3pDN0IsWUFBWSxDQUFDMEMsT0FBTyxDQUFDSCxPQUFPLENBQUM7TUFDN0IxQyxvQkFBb0IsQ0FBQ3NDLFdBQVcsQ0FBQyxjQUFjLEVBQUVuQyxZQUFZLENBQUM7TUFDOURILG9CQUFvQixDQUFDc0MsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7TUFDOUN0QyxvQkFBb0IsQ0FBQ3NDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7SUFDeEQ7RUFDRDtFQUVBLFNBQVNuRCxjQUFjLENBQUNvRCxLQUFZLEVBQUU7SUFDckMsTUFBTU8sU0FBUyxHQUFHUCxLQUFLLENBQUNFLFNBQVMsRUFBVztJQUM1Q0YsS0FBSyxDQUNIUSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQ3ZCekQsSUFBSSxDQUFDLFVBQVUwRCxTQUFpQixFQUFFO01BQ2xDLE1BQU1oRCxvQkFBb0IsR0FBRzhDLFNBQVMsQ0FBQy9DLGlCQUFpQixDQUFDLFVBQVUsQ0FBeUI7TUFDNUYsTUFBTUksWUFBb0IsR0FBR0gsb0JBQW9CLENBQUNLLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFO01BQ25GLElBQUlGLFlBQVksQ0FBQ3dDLFNBQVMsQ0FBRVYsSUFBSSxJQUFLQSxJQUFJLENBQUNyRCxFQUFFLEtBQUtvRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtRQUNqRUYsU0FBUyxDQUFDRyxhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ2hDSCxTQUFTLENBQUNJLGlCQUFpQixDQUFDMUIsT0FBTyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7TUFDbkYsQ0FBQyxNQUFNO1FBQ05zQixTQUFTLENBQUNHLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDL0JILFNBQVMsQ0FBQ0ksaUJBQWlCLENBQUMsRUFBRSxDQUFDO01BQ2hDO0lBQ0QsQ0FBQyxDQUFDLENBQ0QxRCxLQUFLLENBQUMsWUFBWTtNQUNsQixNQUFNLG9DQUFvQztJQUMzQyxDQUFDLENBQUM7RUFDSjtFQUVBLFNBQVNSLFVBQVUsQ0FBQ3VELEtBQVksRUFBRTtJQUNqQ1ksa0JBQWtCLENBQUNaLEtBQUssQ0FBQ0UsU0FBUyxFQUFFLENBQUM7RUFDdEM7RUFFQSxTQUFTVSxrQkFBa0IsQ0FBQ0MsSUFBUyxFQUFFO0lBQ3RDLE1BQU1wRCxvQkFBb0IsR0FBR29ELElBQUksQ0FBQ3JELGlCQUFpQixDQUFDLGNBQWMsQ0FBQztJQUNuRSxNQUFNc0QsWUFBWSxHQUFHRCxJQUFJLENBQUNyRCxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQ00sV0FBVyxDQUFDLElBQUksQ0FBQztJQUN6RSxJQUFJRixZQUFvQixHQUFHSCxvQkFBb0IsQ0FBQ0ssV0FBVyxDQUFDLDRCQUE0QixDQUFDO0lBQ3pGRixZQUFZLEdBQUdBLFlBQVksQ0FBQ21ELE1BQU0sQ0FBRXJCLElBQUksSUFBS0EsSUFBSSxDQUFDckQsRUFBRSxLQUFLeUUsWUFBWSxDQUFDO0lBQ3RFckQsb0JBQW9CLENBQUNzQyxXQUFXLENBQUMsNEJBQTRCLEVBQUVuQyxZQUFZLENBQUM7RUFDN0U7RUFFQSxTQUFTaEMsSUFBSSxDQUFDUyxFQUFVLEVBQU87SUFDOUIsT0FBTzJFLElBQUksQ0FBQ3BGLElBQUksQ0FBRSw2QkFBNEJTLEVBQUcsRUFBQyxDQUFDO0VBQ3BEO0VBRUEsU0FBU00sV0FBVyxHQUFHO0lBQ3JCZixJQUFJLENBQUMsUUFBUSxDQUFDLENBQVljLEtBQUssRUFBRTtFQUNuQztFQUVPLFNBQVN1RSxpQkFBaUIsQ0FBQ0MsY0FBdUIsRUFBVTtJQUFBO0lBQ2xFLE1BQU1oRSxLQUFLLEdBQUdnRSxjQUFjLENBQUMvRCxRQUFRLEVBQUU7SUFDdkMsTUFBTWdFLFNBQVMsR0FBR2pFLEtBQUssQ0FBQ2tFLFlBQVksRUFBRTtJQUN0QyxNQUFNQyxVQUFVLEdBQUdGLFNBQVMsQ0FBQ0csV0FBVyxDQUFDSixjQUFjLENBQUNLLE9BQU8sRUFBRSxDQUFDO0lBQ2xFLE1BQU1DLFNBQVMsR0FBR0Msa0JBQWtCLENBQUNDLDJCQUEyQixDQUFDUCxTQUFTLENBQUNRLFVBQVUsQ0FBQ04sVUFBVSxDQUFDLENBQUM7SUFDbEcsTUFBTU8sVUFBVSw0QkFBR0osU0FBUyxDQUFDSyxZQUFZLENBQUNDLFVBQVUsQ0FBQ0MsV0FBVyxvRkFBN0Msc0JBQStDQyxFQUFFLDJEQUFqRCx1QkFBbURDLFVBQVU7SUFDaEYsSUFBSUMsY0FBYyxHQUFHLEVBQUU7SUFDdkIsTUFBTUMsS0FBSyxHQUFHUCxVQUFVLGFBQVZBLFVBQVUsdUJBQVZBLFVBQVUsQ0FBRVEsS0FBSztJQUMvQixJQUFJRCxLQUFLLEVBQUU7TUFDVkQsY0FBYyxHQUFHRywwQkFBMEIsQ0FBQ0YsS0FBSyxDQUFDRyxLQUFLLENBQUMsR0FBR3BCLGNBQWMsQ0FBQ3BELFdBQVcsQ0FBQ3FFLEtBQUssQ0FBQ0csS0FBSyxDQUFDQyxJQUFJLENBQUMsR0FBR0osS0FBSyxDQUFDRyxLQUFLO0lBQ3RIO0lBQ0EsT0FBT0osY0FBYyxLQUFJTixVQUFVLGFBQVZBLFVBQVUsdUJBQVZBLFVBQVUsQ0FBRVksUUFBUSxLQUFJLEVBQUU7RUFDcEQ7RUFBQztFQUVNLGVBQWVqRyxLQUFLLENBQUN5RCxLQUFZLEVBQUU7SUFDekMsTUFBTXlDLEtBQW9CLEdBQUcsRUFBRTtJQUMvQixNQUFNQyxNQUFNLEdBQUcxQyxLQUFLLENBQUNFLFNBQVMsRUFBYTtJQUMzQyxNQUFNZ0IsY0FBYyxHQUFHd0IsTUFBTSxDQUFDbEYsaUJBQWlCLEVBQWE7SUFDNUQsTUFBTW1GLFFBQVEsR0FBSy9HLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBV2dILFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBc0JDLFdBQVcsRUFBRTtJQUNwRyxJQUFJQyx1QkFBdUIsR0FBRyxDQUFDO0lBQy9CSCxRQUFRLENBQUN2RSxPQUFPLENBQUMsVUFBVTJFLE9BQU8sRUFBRTtNQUNuQ04sS0FBSyxDQUFDM0MsSUFBSSxDQUFDO1FBQ1ZyQixNQUFNLEVBQUVzRSxPQUFPLENBQUNqRixXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2pDa0YsY0FBYyxFQUFFLEdBQUcsQ0FBQztNQUNyQixDQUFDLENBQUM7O01BQ0YsSUFBSUQsT0FBTyxDQUFDeEUsU0FBUyxFQUFFLENBQUNvQixNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3JDbUQsdUJBQXVCLEVBQUU7TUFDMUI7SUFDRCxDQUFDLENBQUM7SUFFRixJQUFJO01BQ0gsTUFBTUcsV0FBVyxDQUFDL0IsY0FBYyxFQUFFdUIsS0FBSyxDQUFDO01BQ3hDUyxZQUFZLENBQUNDLElBQUksQ0FDaEJsRSxPQUFPLENBQUMsK0NBQStDLEVBQUU2RCx1QkFBdUIsQ0FBQ00sUUFBUSxFQUFFLEVBQUVuQyxpQkFBaUIsQ0FBQ0MsY0FBYyxDQUFDLENBQUMsQ0FDL0g7SUFDRixDQUFDLENBQUMsTUFBTTtNQUNQZ0MsWUFBWSxDQUFDQyxJQUFJLENBQUNsRSxPQUFPLENBQUMsOENBQThDLENBQUMsQ0FBQztJQUMzRTtJQUNBdEMsV0FBVyxFQUFFO0VBQ2Q7RUFBQztFQUVNLGVBQWUwRyxlQUFlLENBQUNyRCxLQUFZLEVBQUV0RSxJQUFVLEVBQUU7SUFDL0QsTUFBTWdILE1BQU0sR0FBRzFDLEtBQUssQ0FBQ0UsU0FBUyxFQUFhO0lBQzNDLElBQUlvRCxPQUFPLEdBQUcxSCxJQUFJLENBQUMsYUFBYSxDQUFZO0lBQzVDLElBQUksQ0FBQzBILE9BQU8sRUFBRTtNQUNiQSxPQUFPLEdBQUcsTUFBTUMsd0JBQXdCLENBQUM3SCxJQUFJLENBQUM7SUFDL0M7SUFFQTRILE9BQU8sQ0FBQ0UsaUJBQWlCLENBQUNkLE1BQU0sQ0FBQ2xGLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxFQUEwQixVQUFVLENBQUM7SUFFbkc4RixPQUFPLENBQUNHLE1BQU0sQ0FBQ2YsTUFBTSxFQUFFLEtBQUssQ0FBQztFQUM5QjtFQUFDO0VBRUQsZUFBZWEsd0JBQXdCLENBQUM3SCxJQUFVLEVBQUU7SUFDbkQsTUFBTWdJLGNBQTRCLEdBQUdDLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDO01BQ2xEdkgsRUFBRSxFQUFFLDBCQUEwQjtNQUFFO01BQ2hDRCxJQUFJLEVBQUU7SUFDUCxDQUFDLENBQUM7SUFDRixPQUFPc0gsY0FBYyxDQUNuQjNHLElBQUksQ0FBQyxVQUFVdUcsT0FBWSxFQUFFO01BQzdCNUgsSUFBSSxDQUFDc0IsWUFBWSxDQUFDc0csT0FBTyxDQUFDO01BQzFCLE9BQU9BLE9BQU87SUFDZixDQUFDLENBQUMsQ0FDRHJHLEtBQUssQ0FBQyxZQUFZO01BQ2xCLE1BQU0sZUFBZTtJQUN0QixDQUFDLENBQUM7RUFDSjtFQUVBLFNBQVNKLGdCQUFnQixDQUFDcUIsVUFBc0IsRUFBRTtJQUNqRCxRQUFRQSxVQUFVO01BQ2pCLEtBQUtrQixVQUFVLENBQUNDLGdCQUFnQjtRQUMvQixPQUFPSixPQUFPLENBQUMsNkNBQTZDLENBQUM7TUFDOUQsS0FBS0csVUFBVSxDQUFDSSxXQUFXO1FBQzFCLE9BQU9QLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQztNQUN6RCxLQUFLRyxVQUFVLENBQUNFLGFBQWE7UUFDNUIsT0FBT0wsT0FBTyxDQUFDLDJDQUEyQyxDQUFDO01BQzVELEtBQUtHLFVBQVUsQ0FBQ0ssYUFBYTtNQUM3QjtRQUNDLE9BQU9SLE9BQU8sQ0FBQywyQ0FBMkMsQ0FBQztJQUFDO0VBRS9EO0VBRUEsU0FBU25DLHFCQUFxQixDQUFDb0IsVUFBc0IsRUFBRTtJQUN0RCxRQUFRQSxVQUFVO01BQ2pCLEtBQUtrQixVQUFVLENBQUNDLGdCQUFnQjtRQUMvQixPQUFPOUQsVUFBVSxDQUFDc0ksT0FBTztNQUMxQixLQUFLekUsVUFBVSxDQUFDSSxXQUFXO1FBQzFCLE9BQU9qRSxVQUFVLENBQUN1SSxPQUFPO01BQzFCLEtBQUsxRSxVQUFVLENBQUNFLGFBQWE7TUFDN0IsS0FBS0YsVUFBVSxDQUFDSyxhQUFhO01BQzdCO1FBQ0MsT0FBT2xFLFVBQVUsQ0FBQ3dJLFdBQVc7SUFBQztFQUVqQztFQUFDO0FBQUEifQ==
@@ -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/controllerextensions/collaboration/CollaborationCommon","sap/fe/core/converters/MetaModelConverter","sap/m/MessageToast","sap/ui/core/Core","sap/ui/core/Fragment","sap/ui/core/library","../../templating/PropertyHelper"],function(t,e,n,o,r,i,a){"use strict";var s={};var c=a.isPathExpression;var l=t.UserStatus;var d=t.UserEditingState;var u=t.shareObject;var g=t.getText;var f=t.CollaborationUtils;const C=i.ValueState;const I=async function(t){let e=T("dialog");if(!e){e=await U(t)}await p(t);e.open()};s.openManageDialog=I;async function U(t){const e=t.getController().getExtensionAPI().loadFragment({name:"sap.fe.core.controllerextensions.collaboration.ManageDialog",id:"manageCollaborationDraft",controller:{share:y,addUser:v,removeUser:D,close:A,addUserChanged:h,formatUserStatus:S,formatUserStatusColor:E}});return e.then(function(e){t.addDependent(e);return e}).catch(function(){throw"not this time"})}async function p(t){const e=t.getModel();const n={$select:"UserID,UserDescription,UserEditingState"};const o=e.bindList("DraftAdministrativeData/DraftAdministrativeUser",t.getBindingContext(),[],[],n);const r=t.getBindingContext("internal");return o.requestContexts(0,100).then(function(e){const n=[];const o=t.getModel("internal").getProperty("/collaboration/activeUsers")||[];const i=f.getMe(t);let a;if((e===null||e===void 0?void 0:e.length)>0){e.forEach(function(t){const e=t.getObject();const r=(i===null||i===void 0?void 0:i.id)===e.UserID;const s=o.find(t=>t.id===e.UserID);let c=e.UserDescription||e.UserID;const u=f.formatInitials(c);c+=r?` (${f.getText("C_COLLABORATIONDRAFT_YOU")})`:"";switch(e.UserEditingState){case d.NoChanges:a=s?l.CurrentlyEditing:l.NoChangesMade;break;case d.InProgress:a=s?l.CurrentlyEditing:l.ChangesMade;break;default:a=l.NotYetInvited}const g={id:e.UserID,name:c,status:a,color:f.getUserColor(e.UserID,o,n),initials:u,me:r};n.push(g)})}else{n.push(i)}r.setProperty("collaboration/UserID","");r.setProperty("collaboration/UserDescription","");r.setProperty("collaboration/invitedUsers",n)}).catch(function(){})}s.readInvitedUsers=p;function v(t){const e=t.getSource();const n=e.getBindingContext("internal");const o=n.getProperty("invitedUsers")||[];const r=e.getModel("internal").getProperty("/collaboration/activeUsers");const i={id:n===null||n===void 0?void 0:n.getProperty("UserID"),name:n===null||n===void 0?void 0:n.getProperty("UserDescription")};if(!(o.findIndex(t=>t.id===i.id)>-1||i.id===i.name&&i.id==="")){i.name=i.name||i.id;i.initials=f.formatInitials(i.name);i.color=f.getUserColor(i.id,r,o);i.transient=true;i.status=l.NotYetInvited;o.unshift(i);n.setProperty("invitedUsers",o);n.setProperty("UserID","");n.setProperty("UserDescription","")}}function h(t){const e=t.getSource();t.getParameter("promise").then(function(t){const n=e.getBindingContext("internal");const o=n.getProperty("invitedUsers")||[];if(o.findIndex(e=>e.id===t)>-1){e.setValueState("Error");e.setValueStateText(g("C_COLLABORATIONDRAFT_INVITATION_USER_ERROR"))}else{e.setValueState("None");e.setValueStateText("")}}).catch(function(){throw"User couldn't be determined at all"})}function D(t){O(t.getSource())}function O(t){const e=t.getBindingContext("pageInternal");const n=t.getBindingContext("internal").getProperty("id");let o=e.getProperty("collaboration/invitedUsers");o=o.filter(t=>t.id!==n);e.setProperty("collaboration/invitedUsers",o)}function T(t){return o.byId(`manageCollaborationDraft--${t}`)}function A(){T("dialog").close()}function m(t){var n,o;const r=t.getModel();const i=r.getMetaModel();const a=i.getMetaPath(t.getPath());const s=e.getInvolvedDataModelObjects(i.getContext(a));const l=(n=s.targetObject.entityType.annotations)===null||n===void 0?void 0:(o=n.UI)===null||o===void 0?void 0:o.HeaderInfo;let d="";const u=l===null||l===void 0?void 0:l.Title;if(u){d=c(u.Value)?t.getProperty(u.Value.path):u.Value}return d||(l===null||l===void 0?void 0:l.TypeName)||""}s.getSharedItemName=m;async function y(t){const e=[];const o=t.getSource();const r=o.getBindingContext();const i=T("userList").getBinding("items").getContexts();let a=0;i.forEach(function(t){e.push({UserID:t.getProperty("id"),UserAccessRole:"O"});if(t.getObject().status===0){a++}});try{await u(r,e);n.show(g("C_COLLABORATIONDRAFT_INVITATION_SUCCESS_TOAST",a.toString(),m(r)))}catch{n.show(g("C_COLLABORATIONDRAFT_INVITATION_FAILED_TOAST"))}A()}s.share=y;async function N(t,e){const n=t.getSource();let o=T("userDetails");if(!o){o=await _(e)}o.setBindingContext(n.getBindingContext("internal"),"internal");o.openBy(n,false)}s.showUserDetails=N;async function _(t){const e=r.load({id:"manageCollaborationDraft",name:"sap.fe.core.controllerextensions.collaboration.UserDetails"});return e.then(function(e){t.addDependent(e);return e}).catch(function(){throw"not this time"})}function S(t){switch(t){case l.CurrentlyEditing:return g("C_COLLABORATIONDRAFT_USER_CURRENTLY_EDITING");case l.ChangesMade:return g("C_COLLABORATIONDRAFT_USER_CHANGES_MADE");case l.NoChangesMade:return g("C_COLLABORATIONDRAFT_USER_NO_CHANGES_MADE");case l.NotYetInvited:default:return g("C_COLLABORATIONDRAFT_USER_NOT_YET_INVITED")}}function E(t){switch(t){case l.CurrentlyEditing:return C.Success;case l.ChangesMade:return C.Warning;case l.NoChangesMade:case l.NotYetInvited:default:return C.Information}}return s},false);
5
+ sap.ui.define(["sap/fe/core/controllerextensions/collaboration/CollaborationCommon","sap/fe/core/converters/MetaModelConverter","sap/fe/core/helpers/TypeGuards","sap/m/MessageToast","sap/ui/core/Core","sap/ui/core/Fragment","sap/ui/core/library"],function(t,e,n,o,r,i,a){"use strict";var s={};var c=n.isPathAnnotationExpression;var l=t.UserStatus;var d=t.UserEditingState;var u=t.shareObject;var g=t.getText;var f=t.CollaborationUtils;const C=a.ValueState;const I=async function(t){let e=A("dialog");if(!e){e=await U(t)}await p(t);e.open()};s.openManageDialog=I;async function U(t){const e=t.getController().getExtensionAPI().loadFragment({name:"sap.fe.core.controllerextensions.collaboration.ManageDialog",id:"manageCollaborationDraft",controller:{share:m,addUser:h,removeUser:D,close:O,addUserChanged:v,formatUserStatus:S,formatUserStatusColor:E}});return e.then(function(e){t.addDependent(e);return e}).catch(function(){throw"not this time"})}async function p(t){const e=t.getModel();const n={$select:"UserID,UserDescription,UserEditingState"};const o=e.bindList("DraftAdministrativeData/DraftAdministrativeUser",t.getBindingContext(),[],[],n);const r=t.getBindingContext("internal");return o.requestContexts(0,100).then(function(e){const n=[];const o=t.getModel("internal").getProperty("/collaboration/activeUsers")||[];const i=f.getMe(t);let a;if((e===null||e===void 0?void 0:e.length)>0){e.forEach(function(t){const e=t.getObject();const r=(i===null||i===void 0?void 0:i.id)===e.UserID;const s=o.find(t=>t.id===e.UserID);let c=e.UserDescription||e.UserID;const u=f.formatInitials(c);c+=r?` (${f.getText("C_COLLABORATIONDRAFT_YOU")})`:"";switch(e.UserEditingState){case d.NoChanges:a=s?l.CurrentlyEditing:l.NoChangesMade;break;case d.InProgress:a=s?l.CurrentlyEditing:l.ChangesMade;break;default:a=l.NotYetInvited}const g={id:e.UserID,name:c,status:a,color:f.getUserColor(e.UserID,o,n),initials:u,me:r};n.push(g)})}else{n.push(i)}r.setProperty("collaboration/UserID","");r.setProperty("collaboration/UserDescription","");r.setProperty("collaboration/invitedUsers",n)}).catch(function(){})}s.readInvitedUsers=p;function h(t){const e=t.getSource();const n=e.getBindingContext("internal");const o=n.getProperty("invitedUsers")||[];const r=e.getModel("internal").getProperty("/collaboration/activeUsers");const i={id:n===null||n===void 0?void 0:n.getProperty("UserID"),name:n===null||n===void 0?void 0:n.getProperty("UserDescription")};if(!(o.findIndex(t=>t.id===i.id)>-1||i.id===i.name&&i.id==="")){i.name=i.name||i.id;i.initials=f.formatInitials(i.name);i.color=f.getUserColor(i.id,r,o);i.transient=true;i.status=l.NotYetInvited;o.unshift(i);n.setProperty("invitedUsers",o);n.setProperty("UserID","");n.setProperty("UserDescription","")}}function v(t){const e=t.getSource();t.getParameter("promise").then(function(t){const n=e.getBindingContext("internal");const o=n.getProperty("invitedUsers")||[];if(o.findIndex(e=>e.id===t)>-1){e.setValueState("Error");e.setValueStateText(g("C_COLLABORATIONDRAFT_INVITATION_USER_ERROR"))}else{e.setValueState("None");e.setValueStateText("")}}).catch(function(){throw"User couldn't be determined at all"})}function D(t){T(t.getSource())}function T(t){const e=t.getBindingContext("pageInternal");const n=t.getBindingContext("internal").getProperty("id");let o=e.getProperty("collaboration/invitedUsers");o=o.filter(t=>t.id!==n);e.setProperty("collaboration/invitedUsers",o)}function A(t){return r.byId(`manageCollaborationDraft--${t}`)}function O(){A("dialog").close()}function y(t){var n,o;const r=t.getModel();const i=r.getMetaModel();const a=i.getMetaPath(t.getPath());const s=e.getInvolvedDataModelObjects(i.getContext(a));const l=(n=s.targetObject.entityType.annotations)===null||n===void 0?void 0:(o=n.UI)===null||o===void 0?void 0:o.HeaderInfo;let d="";const u=l===null||l===void 0?void 0:l.Title;if(u){d=c(u.Value)?t.getProperty(u.Value.path):u.Value}return d||(l===null||l===void 0?void 0:l.TypeName)||""}s.getSharedItemName=y;async function m(t){const e=[];const n=t.getSource();const r=n.getBindingContext();const i=A("userList").getBinding("items").getContexts();let a=0;i.forEach(function(t){e.push({UserID:t.getProperty("id"),UserAccessRole:"O"});if(t.getObject().status===0){a++}});try{await u(r,e);o.show(g("C_COLLABORATIONDRAFT_INVITATION_SUCCESS_TOAST",a.toString(),y(r)))}catch{o.show(g("C_COLLABORATIONDRAFT_INVITATION_FAILED_TOAST"))}O()}s.share=m;async function N(t,e){const n=t.getSource();let o=A("userDetails");if(!o){o=await _(e)}o.setBindingContext(n.getBindingContext("internal"),"internal");o.openBy(n,false)}s.showUserDetails=N;async function _(t){const e=i.load({id:"manageCollaborationDraft",name:"sap.fe.core.controllerextensions.collaboration.UserDetails"});return e.then(function(e){t.addDependent(e);return e}).catch(function(){throw"not this time"})}function S(t){switch(t){case l.CurrentlyEditing:return g("C_COLLABORATIONDRAFT_USER_CURRENTLY_EDITING");case l.ChangesMade:return g("C_COLLABORATIONDRAFT_USER_CHANGES_MADE");case l.NoChangesMade:return g("C_COLLABORATIONDRAFT_USER_NO_CHANGES_MADE");case l.NotYetInvited:default:return g("C_COLLABORATIONDRAFT_USER_NOT_YET_INVITED")}}function E(t){switch(t){case l.CurrentlyEditing:return C.Success;case l.ChangesMade:return C.Warning;case l.NoChangesMade:case l.NotYetInvited:default:return C.Information}}return s},false);
6
6
  //# sourceMappingURL=Manage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Manage.js","names":["sap","ui","define","CollaborationCommon","MetaModelConverter","MessageToast","Core","Fragment","coreLibrary","PropertyHelper","_exports","isPathExpression","UserStatus","UserEditingState","shareObject","getText","CollaborationUtils","ValueState","openManageDialog","async","view","dialog","byId","createManageCollaborationDialog","readInvitedUsers","open","pDialog","getController","getExtensionAPI","loadFragment","name","id","controller","share","addUser","removeUser","close","closeDialog","addUserChanged","formatUserStatus","formatUserStatusColor","then","addDependent","catch","model","getModel","parameters","$select","invitedUserList","bindList","getBindingContext","internalModelContext","requestContexts","aContexts","invitedUsers","activeUsers","getProperty","me","getMe","userStatus","length","forEach","oContext","userData","getObject","isMe","UserID","isActive","find","u","userDescription","UserDescription","initials","formatInitials","NoChanges","CurrentlyEditing","NoChangesMade","InProgress","ChangesMade","NotYetInvited","user","status","color","getUserColor","push","setProperty","event","addButton","getSource","newUser","findIndex","transient","unshift","userInput","getParameter","newUserId","setValueState","setValueStateText","removeUserFromList","item","deleteUserID","filter","getSharedItemName","bindingContext","_dataModel$targetObje","_dataModel$targetObje2","metaModel","getMetaModel","entityPath","getMetaPath","getPath","dataModel","getInvolvedDataModelObjects","getContext","headerInfo","targetObject","entityType","annotations","UI","HeaderInfo","sharedItemName","title","Title","Value","path","TypeName","users","source","contexts","getBinding","getContexts","numberOfNewInvitedUsers","context","UserAccessRole","show","toString","showUserDetails","popover","createUserDetailsPopover","setBindingContext","openBy","popoverPromise","load","Success","Warning","Information"],"sources":["Manage-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,qEAAsE,4CAA6C,qBAAsB,mBAAoB,uBAAwB,sBAAuB,mCAAoC,SAAUC,EAAqBC,EAAoBC,EAAcC,EAAMC,EAAUC,EAAaC,GAC3V,aAEA,IAAIC,EAAW,CAAC,EAChB,IAAIC,EAAmBF,EAAeE,iBACtC,IAAIC,EAAaT,EAAoBS,WACrC,IAAIC,EAAmBV,EAAoBU,iBAC3C,IAAIC,EAAcX,EAAoBW,YACtC,IAAIC,EAAUZ,EAAoBY,QAClC,IAAIC,EAAqBb,EAAoBa,mBAC7C,MAAMC,EAAaT,EAAYS,WAC/B,MAAMC,EAAmBC,eAAgBC,GACvC,IAAIC,EAASC,EAAK,UAClB,IAAKD,EAAQ,CACXA,QAAeE,EAAgCH,EACjD,OACMI,EAAiBJ,GACvBC,EAAOI,MACT,EACAf,EAASQ,iBAAmBA,EAC5BC,eAAeI,EAAgCH,GAC7C,MAAMM,EAAUN,EAAKO,gBAAgBC,kBAAkBC,aAAa,CAClEC,KAAM,8DACNC,GAAI,2BACJC,WAAY,CACVC,MAAOA,EACPC,QAASA,EACTC,WAAYA,EACZC,MAAOC,EACPC,eAAgBA,EAChBC,iBAAkBA,EAClBC,sBAAuBA,KAG3B,OAAOd,EAAQe,KAAK,SAAUpB,GAC5BD,EAAKsB,aAAarB,GAClB,OAAOA,CACT,GAAGsB,MAAM,WACP,KAAM,eACR,EACF,CACAxB,eAAeK,EAAiBJ,GAC9B,MAAMwB,EAAQxB,EAAKyB,WAEnB,MAAMC,EAAa,CACjBC,QAAS,2CAEX,MAAMC,EAAkBJ,EAAMK,SAAS,kDAAmD7B,EAAK8B,oBAAqB,GAAI,GAAIJ,GAC5H,MAAMK,EAAuB/B,EAAK8B,kBAAkB,YAEpD,OAAOF,EAAgBI,gBAAgB,EAAG,KAAKX,KAAK,SAAUY,GAC5D,MAAMC,EAAe,GACrB,MAAMC,EAAcnC,EAAKyB,SAAS,YAAYW,YAAY,+BAAiC,GAC3F,MAAMC,EAAKzC,EAAmB0C,MAAMtC,GACpC,IAAIuC,EACJ,IAAKN,IAAc,MAAQA,SAAmB,OAAS,EAAIA,EAAUO,QAAU,EAAG,CAChFP,EAAUQ,QAAQ,SAAUC,GAC1B,MAAMC,EAAWD,EAASE,YAC1B,MAAMC,GAAQR,IAAO,MAAQA,SAAY,OAAS,EAAIA,EAAG1B,MAAQgC,EAASG,OAC1E,MAAMC,EAAWZ,EAAYa,KAAKC,GAAKA,EAAEtC,KAAOgC,EAASG,QACzD,IAAII,EAAkBP,EAASQ,iBAAmBR,EAASG,OAC3D,MAAMM,EAAWxD,EAAmByD,eAAeH,GACnDA,GAAmBL,EAAO,KAAKjD,EAAmBD,QAAQ,+BAAiC,GAC3F,OAAQgD,EAASlD,kBACf,KAAKA,EAAiB6D,UACpBf,EAAaQ,EAAWvD,EAAW+D,iBAAmB/D,EAAWgE,cACjE,MACF,KAAK/D,EAAiBgE,WACpBlB,EAAaQ,EAAWvD,EAAW+D,iBAAmB/D,EAAWkE,YACjE,MACF,QACEnB,EAAa/C,EAAWmE,cAE5B,MAAMC,EAAO,CACXjD,GAAIgC,EAASG,OACbpC,KAAMwC,EACNW,OAAQtB,EACRuB,MAAOlE,EAAmBmE,aAAapB,EAASG,OAAQX,EAAaD,GACrEkB,SAAUA,EACVf,GAAIQ,GAENX,EAAa8B,KAAKJ,EACpB,EACF,KAAO,CAEL1B,EAAa8B,KAAK3B,EACpB,CACAN,EAAqBkC,YAAY,uBAAwB,IACzDlC,EAAqBkC,YAAY,gCAAiC,IAClElC,EAAqBkC,YAAY,6BAA8B/B,EACjE,GAAGX,MAAM,WAET,EACF,CACAjC,EAASc,iBAAmBA,EAC5B,SAASU,EAAQoD,GACf,MAAMC,EAAYD,EAAME,YACxB,MAAMrC,EAAuBoC,EAAUrC,kBAAkB,YACzD,MAAMI,EAAeH,EAAqBK,YAAY,iBAAmB,GACzE,MAAMD,EAAcgC,EAAU1C,SAAS,YAAYW,YAAY,8BAC/D,MAAMiC,EAAU,CACd1D,GAAIoB,IAAyB,MAAQA,SAA8B,OAAS,EAAIA,EAAqBK,YAAY,UACjH1B,KAAMqB,IAAyB,MAAQA,SAA8B,OAAS,EAAIA,EAAqBK,YAAY,oBAErH,KAAMF,EAAaoC,UAAUV,GAAQA,EAAKjD,KAAO0D,EAAQ1D,KAAO,GAAK0D,EAAQ1D,KAAO0D,EAAQ3D,MAAQ2D,EAAQ1D,KAAO,IAAK,CACtH0D,EAAQ3D,KAAO2D,EAAQ3D,MAAQ2D,EAAQ1D,GACvC0D,EAAQjB,SAAWxD,EAAmByD,eAAegB,EAAQ3D,MAC7D2D,EAAQP,MAAQlE,EAAmBmE,aAAaM,EAAQ1D,GAAIwB,EAAaD,GACzEmC,EAAQE,UAAY,KACpBF,EAAQR,OAASrE,EAAWmE,cAC5BzB,EAAasC,QAAQH,GACrBtC,EAAqBkC,YAAY,eAAgB/B,GACjDH,EAAqBkC,YAAY,SAAU,IAC3ClC,EAAqBkC,YAAY,kBAAmB,GACtD,CACF,CACA,SAAS/C,EAAegD,GACtB,MAAMO,EAAYP,EAAME,YACxBF,EAAMQ,aAAa,WAAWrD,KAAK,SAAUsD,GAC3C,MAAM5C,EAAuB0C,EAAU3C,kBAAkB,YACzD,MAAMI,EAAeH,EAAqBK,YAAY,iBAAmB,GACzE,GAAIF,EAAaoC,UAAUV,GAAQA,EAAKjD,KAAOgE,IAAc,EAAG,CAC9DF,EAAUG,cAAc,SACxBH,EAAUI,kBAAkBlF,EAAQ,8CACtC,KAAO,CACL8E,EAAUG,cAAc,QACxBH,EAAUI,kBAAkB,GAC9B,CACF,GAAGtD,MAAM,WACP,KAAM,oCACR,EACF,CACA,SAASR,EAAWmD,GAClBY,EAAmBZ,EAAME,YAC3B,CACA,SAASU,EAAmBC,GAC1B,MAAMhD,EAAuBgD,EAAKjD,kBAAkB,gBACpD,MAAMkD,EAAeD,EAAKjD,kBAAkB,YAAYM,YAAY,MACpE,IAAIF,EAAeH,EAAqBK,YAAY,8BACpDF,EAAeA,EAAa+C,OAAOrB,GAAQA,EAAKjD,KAAOqE,GACvDjD,EAAqBkC,YAAY,6BAA8B/B,EACjE,CACA,SAAShC,EAAKS,GACZ,OAAOzB,EAAKgB,KAAK,6BAA6BS,IAChD,CACA,SAASM,IACPf,EAAK,UAAUc,OACjB,CACA,SAASkE,EAAkBC,GACzB,IAAIC,EAAuBC,EAC3B,MAAM7D,EAAQ2D,EAAe1D,WAC7B,MAAM6D,EAAY9D,EAAM+D,eACxB,MAAMC,EAAaF,EAAUG,YAAYN,EAAeO,WACxD,MAAMC,EAAY3G,EAAmB4G,4BAA4BN,EAAUO,WAAWL,IACtF,MAAMM,GAAcV,EAAwBO,EAAUI,aAAaC,WAAWC,eAAiB,MAAQb,SAA+B,OAAS,GAAKC,EAAyBD,EAAsBc,MAAQ,MAAQb,SAAgC,OAAS,EAAIA,EAAuBc,WACvR,IAAIC,EAAiB,GACrB,MAAMC,EAAQP,IAAe,MAAQA,SAAoB,OAAS,EAAIA,EAAWQ,MACjF,GAAID,EAAO,CACTD,EAAiB7G,EAAiB8G,EAAME,OAASpB,EAAe/C,YAAYiE,EAAME,MAAMC,MAAQH,EAAME,KACxG,CACA,OAAOH,IAAmBN,IAAe,MAAQA,SAAoB,OAAS,EAAIA,EAAWW,WAAa,EAC5G,CACAnH,EAAS4F,kBAAoBA,EAC7BnF,eAAec,EAAMqD,GACnB,MAAMwC,EAAQ,GACd,MAAMC,EAASzC,EAAME,YACrB,MAAMe,EAAiBwB,EAAO7E,oBAC9B,MAAM8E,EAAW1G,EAAK,YAAY2G,WAAW,SAASC,cACtD,IAAIC,EAA0B,EAC9BH,EAASnE,QAAQ,SAAUuE,GACzBN,EAAM1C,KAAK,CACTlB,OAAQkE,EAAQ5E,YAAY,MAC5B6E,eAAgB,MAGlB,GAAID,EAAQpE,YAAYiB,SAAW,EAAG,CACpCkD,GACF,CACF,GACA,UACQrH,EAAYyF,EAAgBuB,GAClCzH,EAAaiI,KAAKvH,EAAQ,gDAAiDoH,EAAwBI,WAAYjC,EAAkBC,IAGnI,CAFE,MACAlG,EAAaiI,KAAKvH,EAAQ,gDAC5B,CACAsB,GACF,CACA3B,EAASuB,MAAQA,EACjBd,eAAeqH,EAAgBlD,EAAOlE,GACpC,MAAM2G,EAASzC,EAAME,YACrB,IAAIiD,EAAUnH,EAAK,eACnB,IAAKmH,EAAS,CACZA,QAAgBC,EAAyBtH,EAC3C,CACAqH,EAAQE,kBAAkBZ,EAAO7E,kBAAkB,YAAa,YAChEuF,EAAQG,OAAOb,EAAQ,MACzB,CACArH,EAAS8H,gBAAkBA,EAC3BrH,eAAeuH,EAAyBtH,GACtC,MAAMyH,EAAiBtI,EAASuI,KAAK,CACnC/G,GAAI,2BAEJD,KAAM,+DAER,OAAO+G,EAAepG,KAAK,SAAUgG,GACnCrH,EAAKsB,aAAa+F,GAClB,OAAOA,CACT,GAAG9F,MAAM,WACP,KAAM,eACR,EACF,CACA,SAASJ,EAAiBoB,GACxB,OAAQA,GACN,KAAK/C,EAAW+D,iBACd,OAAO5D,EAAQ,+CACjB,KAAKH,EAAWkE,YACd,OAAO/D,EAAQ,0CACjB,KAAKH,EAAWgE,cACd,OAAO7D,EAAQ,6CACjB,KAAKH,EAAWmE,cAChB,QACE,OAAOhE,EAAQ,6CAErB,CACA,SAASyB,EAAsBmB,GAC7B,OAAQA,GACN,KAAK/C,EAAW+D,iBACd,OAAO1D,EAAW8H,QACpB,KAAKnI,EAAWkE,YACd,OAAO7D,EAAW+H,QACpB,KAAKpI,EAAWgE,cAChB,KAAKhE,EAAWmE,cAChB,QACE,OAAO9D,EAAWgI,YAExB,CACA,OAAOvI,CACT,EAAG"}
1
+ {"version":3,"file":"Manage.js","names":["sap","ui","define","CollaborationCommon","MetaModelConverter","TypeGuards","MessageToast","Core","Fragment","coreLibrary","_exports","isPathAnnotationExpression","UserStatus","UserEditingState","shareObject","getText","CollaborationUtils","ValueState","openManageDialog","async","view","dialog","byId","createManageCollaborationDialog","readInvitedUsers","open","pDialog","getController","getExtensionAPI","loadFragment","name","id","controller","share","addUser","removeUser","close","closeDialog","addUserChanged","formatUserStatus","formatUserStatusColor","then","addDependent","catch","model","getModel","parameters","$select","invitedUserList","bindList","getBindingContext","internalModelContext","requestContexts","aContexts","invitedUsers","activeUsers","getProperty","me","getMe","userStatus","length","forEach","oContext","userData","getObject","isMe","UserID","isActive","find","u","userDescription","UserDescription","initials","formatInitials","NoChanges","CurrentlyEditing","NoChangesMade","InProgress","ChangesMade","NotYetInvited","user","status","color","getUserColor","push","setProperty","event","addButton","getSource","newUser","findIndex","transient","unshift","userInput","getParameter","newUserId","setValueState","setValueStateText","removeUserFromList","item","deleteUserID","filter","getSharedItemName","bindingContext","_dataModel$targetObje","_dataModel$targetObje2","metaModel","getMetaModel","entityPath","getMetaPath","getPath","dataModel","getInvolvedDataModelObjects","getContext","headerInfo","targetObject","entityType","annotations","UI","HeaderInfo","sharedItemName","title","Title","Value","path","TypeName","users","source","contexts","getBinding","getContexts","numberOfNewInvitedUsers","context","UserAccessRole","show","toString","showUserDetails","popover","createUserDetailsPopover","setBindingContext","openBy","popoverPromise","load","Success","Warning","Information"],"sources":["Manage-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,qEAAsE,4CAA6C,iCAAkC,qBAAsB,mBAAoB,uBAAwB,uBAAwB,SAAUC,EAAqBC,EAAoBC,EAAYC,EAAcC,EAAMC,EAAUC,GACzV,aAEA,IAAIC,EAAW,CAAC,EAChB,IAAIC,EAA6BN,EAAWM,2BAC5C,IAAIC,EAAaT,EAAoBS,WACrC,IAAIC,EAAmBV,EAAoBU,iBAC3C,IAAIC,EAAcX,EAAoBW,YACtC,IAAIC,EAAUZ,EAAoBY,QAClC,IAAIC,EAAqBb,EAAoBa,mBAC7C,MAAMC,EAAaR,EAAYQ,WAC/B,MAAMC,EAAmBC,eAAgBC,GACvC,IAAIC,EAASC,EAAK,UAClB,IAAKD,EAAQ,CACXA,QAAeE,EAAgCH,EACjD,OACMI,EAAiBJ,GACvBC,EAAOI,MACT,EACAf,EAASQ,iBAAmBA,EAC5BC,eAAeI,EAAgCH,GAC7C,MAAMM,EAAUN,EAAKO,gBAAgBC,kBAAkBC,aAAa,CAClEC,KAAM,8DACNC,GAAI,2BACJC,WAAY,CACVC,MAAOA,EACPC,QAASA,EACTC,WAAYA,EACZC,MAAOC,EACPC,eAAgBA,EAChBC,iBAAkBA,EAClBC,sBAAuBA,KAG3B,OAAOd,EAAQe,KAAK,SAAUpB,GAC5BD,EAAKsB,aAAarB,GAClB,OAAOA,CACT,GAAGsB,MAAM,WACP,KAAM,eACR,EACF,CACAxB,eAAeK,EAAiBJ,GAC9B,MAAMwB,EAAQxB,EAAKyB,WAEnB,MAAMC,EAAa,CACjBC,QAAS,2CAEX,MAAMC,EAAkBJ,EAAMK,SAAS,kDAAmD7B,EAAK8B,oBAAqB,GAAI,GAAIJ,GAC5H,MAAMK,EAAuB/B,EAAK8B,kBAAkB,YAEpD,OAAOF,EAAgBI,gBAAgB,EAAG,KAAKX,KAAK,SAAUY,GAC5D,MAAMC,EAAe,GACrB,MAAMC,EAAcnC,EAAKyB,SAAS,YAAYW,YAAY,+BAAiC,GAC3F,MAAMC,EAAKzC,EAAmB0C,MAAMtC,GACpC,IAAIuC,EACJ,IAAKN,IAAc,MAAQA,SAAmB,OAAS,EAAIA,EAAUO,QAAU,EAAG,CAChFP,EAAUQ,QAAQ,SAAUC,GAC1B,MAAMC,EAAWD,EAASE,YAC1B,MAAMC,GAAQR,IAAO,MAAQA,SAAY,OAAS,EAAIA,EAAG1B,MAAQgC,EAASG,OAC1E,MAAMC,EAAWZ,EAAYa,KAAKC,GAAKA,EAAEtC,KAAOgC,EAASG,QACzD,IAAII,EAAkBP,EAASQ,iBAAmBR,EAASG,OAC3D,MAAMM,EAAWxD,EAAmByD,eAAeH,GACnDA,GAAmBL,EAAO,KAAKjD,EAAmBD,QAAQ,+BAAiC,GAC3F,OAAQgD,EAASlD,kBACf,KAAKA,EAAiB6D,UACpBf,EAAaQ,EAAWvD,EAAW+D,iBAAmB/D,EAAWgE,cACjE,MACF,KAAK/D,EAAiBgE,WACpBlB,EAAaQ,EAAWvD,EAAW+D,iBAAmB/D,EAAWkE,YACjE,MACF,QACEnB,EAAa/C,EAAWmE,cAE5B,MAAMC,EAAO,CACXjD,GAAIgC,EAASG,OACbpC,KAAMwC,EACNW,OAAQtB,EACRuB,MAAOlE,EAAmBmE,aAAapB,EAASG,OAAQX,EAAaD,GACrEkB,SAAUA,EACVf,GAAIQ,GAENX,EAAa8B,KAAKJ,EACpB,EACF,KAAO,CAEL1B,EAAa8B,KAAK3B,EACpB,CACAN,EAAqBkC,YAAY,uBAAwB,IACzDlC,EAAqBkC,YAAY,gCAAiC,IAClElC,EAAqBkC,YAAY,6BAA8B/B,EACjE,GAAGX,MAAM,WAET,EACF,CACAjC,EAASc,iBAAmBA,EAC5B,SAASU,EAAQoD,GACf,MAAMC,EAAYD,EAAME,YACxB,MAAMrC,EAAuBoC,EAAUrC,kBAAkB,YACzD,MAAMI,EAAeH,EAAqBK,YAAY,iBAAmB,GACzE,MAAMD,EAAcgC,EAAU1C,SAAS,YAAYW,YAAY,8BAC/D,MAAMiC,EAAU,CACd1D,GAAIoB,IAAyB,MAAQA,SAA8B,OAAS,EAAIA,EAAqBK,YAAY,UACjH1B,KAAMqB,IAAyB,MAAQA,SAA8B,OAAS,EAAIA,EAAqBK,YAAY,oBAErH,KAAMF,EAAaoC,UAAUV,GAAQA,EAAKjD,KAAO0D,EAAQ1D,KAAO,GAAK0D,EAAQ1D,KAAO0D,EAAQ3D,MAAQ2D,EAAQ1D,KAAO,IAAK,CACtH0D,EAAQ3D,KAAO2D,EAAQ3D,MAAQ2D,EAAQ1D,GACvC0D,EAAQjB,SAAWxD,EAAmByD,eAAegB,EAAQ3D,MAC7D2D,EAAQP,MAAQlE,EAAmBmE,aAAaM,EAAQ1D,GAAIwB,EAAaD,GACzEmC,EAAQE,UAAY,KACpBF,EAAQR,OAASrE,EAAWmE,cAC5BzB,EAAasC,QAAQH,GACrBtC,EAAqBkC,YAAY,eAAgB/B,GACjDH,EAAqBkC,YAAY,SAAU,IAC3ClC,EAAqBkC,YAAY,kBAAmB,GACtD,CACF,CACA,SAAS/C,EAAegD,GACtB,MAAMO,EAAYP,EAAME,YACxBF,EAAMQ,aAAa,WAAWrD,KAAK,SAAUsD,GAC3C,MAAM5C,EAAuB0C,EAAU3C,kBAAkB,YACzD,MAAMI,EAAeH,EAAqBK,YAAY,iBAAmB,GACzE,GAAIF,EAAaoC,UAAUV,GAAQA,EAAKjD,KAAOgE,IAAc,EAAG,CAC9DF,EAAUG,cAAc,SACxBH,EAAUI,kBAAkBlF,EAAQ,8CACtC,KAAO,CACL8E,EAAUG,cAAc,QACxBH,EAAUI,kBAAkB,GAC9B,CACF,GAAGtD,MAAM,WACP,KAAM,oCACR,EACF,CACA,SAASR,EAAWmD,GAClBY,EAAmBZ,EAAME,YAC3B,CACA,SAASU,EAAmBC,GAC1B,MAAMhD,EAAuBgD,EAAKjD,kBAAkB,gBACpD,MAAMkD,EAAeD,EAAKjD,kBAAkB,YAAYM,YAAY,MACpE,IAAIF,EAAeH,EAAqBK,YAAY,8BACpDF,EAAeA,EAAa+C,OAAOrB,GAAQA,EAAKjD,KAAOqE,GACvDjD,EAAqBkC,YAAY,6BAA8B/B,EACjE,CACA,SAAShC,EAAKS,GACZ,OAAOxB,EAAKe,KAAK,6BAA6BS,IAChD,CACA,SAASM,IACPf,EAAK,UAAUc,OACjB,CACA,SAASkE,EAAkBC,GACzB,IAAIC,EAAuBC,EAC3B,MAAM7D,EAAQ2D,EAAe1D,WAC7B,MAAM6D,EAAY9D,EAAM+D,eACxB,MAAMC,EAAaF,EAAUG,YAAYN,EAAeO,WACxD,MAAMC,EAAY3G,EAAmB4G,4BAA4BN,EAAUO,WAAWL,IACtF,MAAMM,GAAcV,EAAwBO,EAAUI,aAAaC,WAAWC,eAAiB,MAAQb,SAA+B,OAAS,GAAKC,EAAyBD,EAAsBc,MAAQ,MAAQb,SAAgC,OAAS,EAAIA,EAAuBc,WACvR,IAAIC,EAAiB,GACrB,MAAMC,EAAQP,IAAe,MAAQA,SAAoB,OAAS,EAAIA,EAAWQ,MACjF,GAAID,EAAO,CACTD,EAAiB7G,EAA2B8G,EAAME,OAASpB,EAAe/C,YAAYiE,EAAME,MAAMC,MAAQH,EAAME,KAClH,CACA,OAAOH,IAAmBN,IAAe,MAAQA,SAAoB,OAAS,EAAIA,EAAWW,WAAa,EAC5G,CACAnH,EAAS4F,kBAAoBA,EAC7BnF,eAAec,EAAMqD,GACnB,MAAMwC,EAAQ,GACd,MAAMC,EAASzC,EAAME,YACrB,MAAMe,EAAiBwB,EAAO7E,oBAC9B,MAAM8E,EAAW1G,EAAK,YAAY2G,WAAW,SAASC,cACtD,IAAIC,EAA0B,EAC9BH,EAASnE,QAAQ,SAAUuE,GACzBN,EAAM1C,KAAK,CACTlB,OAAQkE,EAAQ5E,YAAY,MAC5B6E,eAAgB,MAGlB,GAAID,EAAQpE,YAAYiB,SAAW,EAAG,CACpCkD,GACF,CACF,GACA,UACQrH,EAAYyF,EAAgBuB,GAClCxH,EAAagI,KAAKvH,EAAQ,gDAAiDoH,EAAwBI,WAAYjC,EAAkBC,IACnI,CAAE,MACAjG,EAAagI,KAAKvH,EAAQ,gDAC5B,CACAsB,GACF,CACA3B,EAASuB,MAAQA,EACjBd,eAAeqH,EAAgBlD,EAAOlE,GACpC,MAAM2G,EAASzC,EAAME,YACrB,IAAIiD,EAAUnH,EAAK,eACnB,IAAKmH,EAAS,CACZA,QAAgBC,EAAyBtH,EAC3C,CACAqH,EAAQE,kBAAkBZ,EAAO7E,kBAAkB,YAAa,YAChEuF,EAAQG,OAAOb,EAAQ,MACzB,CACArH,EAAS8H,gBAAkBA,EAC3BrH,eAAeuH,EAAyBtH,GACtC,MAAMyH,EAAiBrI,EAASsI,KAAK,CACnC/G,GAAI,2BAEJD,KAAM,+DAER,OAAO+G,EAAepG,KAAK,SAAUgG,GACnCrH,EAAKsB,aAAa+F,GAClB,OAAOA,CACT,GAAG9F,MAAM,WACP,KAAM,eACR,EACF,CACA,SAASJ,EAAiBoB,GACxB,OAAQA,GACN,KAAK/C,EAAW+D,iBACd,OAAO5D,EAAQ,+CACjB,KAAKH,EAAWkE,YACd,OAAO/D,EAAQ,0CACjB,KAAKH,EAAWgE,cACd,OAAO7D,EAAQ,6CACjB,KAAKH,EAAWmE,cAChB,QACE,OAAOhE,EAAQ,6CAErB,CACA,SAASyB,EAAsBmB,GAC7B,OAAQA,GACN,KAAK/C,EAAW+D,iBACd,OAAO1D,EAAW8H,QACpB,KAAKnI,EAAWkE,YACd,OAAO7D,EAAW+H,QACpB,KAAKpI,EAAWgE,cAChB,KAAKhE,EAAWmE,cAChB,QACE,OAAO9D,EAAWgI,YAExB,CACA,OAAOvI,CACT,EAAG"}
@@ -8,6 +8,7 @@ import {
8
8
  } from "sap/fe/core/controllerextensions/collaboration/CollaborationCommon";
9
9
  import * as MetaModelConverter from "sap/fe/core/converters/MetaModelConverter";
10
10
  import type { InternalModelContext } from "sap/fe/core/helpers/ModelHelper";
11
+ import { isPathAnnotationExpression } from "sap/fe/core/helpers/TypeGuards";
11
12
  import type Button from "sap/m/Button";
12
13
  import type Dialog from "sap/m/Dialog";
13
14
  import type Input from "sap/m/Input";
@@ -23,8 +24,6 @@ import type View from "sap/ui/core/mvc/View";
23
24
  import type Context from "sap/ui/model/odata/v4/Context";
24
25
  import type ODataListBinding from "sap/ui/model/odata/v4/ODataListBinding";
25
26
  import type ODataModel from "sap/ui/model/odata/v4/ODataModel";
26
- import type { V4Context } from "../../../../../../../../types/extension_types";
27
- import { isPathExpression } from "../../templating/PropertyHelper";
28
27
  const ValueState = coreLibrary.ValueState;
29
28
 
30
29
  export const openManageDialog = async function (view: View) {
@@ -188,7 +187,7 @@ function closeDialog() {
188
187
  (byId("dialog") as Dialog).close();
189
188
  }
190
189
 
191
- export function getSharedItemName(bindingContext: V4Context): string {
190
+ export function getSharedItemName(bindingContext: Context): string {
192
191
  const model = bindingContext.getModel();
193
192
  const metaModel = model.getMetaModel();
194
193
  const entityPath = metaModel.getMetaPath(bindingContext.getPath());
@@ -197,7 +196,7 @@ export function getSharedItemName(bindingContext: V4Context): string {
197
196
  let sharedItemName = "";
198
197
  const title = headerInfo?.Title;
199
198
  if (title) {
200
- sharedItemName = isPathExpression(title.Value) ? bindingContext.getProperty(title.Value.path) : title.Value;
199
+ sharedItemName = isPathAnnotationExpression(title.Value) ? bindingContext.getProperty(title.Value.path) : title.Value;
201
200
  }
202
201
  return sharedItemName || headerInfo?.TypeName || "";
203
202
  }
@@ -205,7 +204,7 @@ export function getSharedItemName(bindingContext: V4Context): string {
205
204
  export async function share(event: Event) {
206
205
  const users: BackendUser[] = [];
207
206
  const source = event.getSource() as Control;
208
- const bindingContext = source.getBindingContext() as V4Context;
207
+ const bindingContext = source.getBindingContext() as Context;
209
208
  const contexts = ((byId("userList") as Table).getBinding("items") as ODataListBinding).getContexts();
210
209
  let numberOfNewInvitedUsers = 0;
211
210
  contexts.forEach(function (context) {
@@ -4,6 +4,9 @@
4
4
  xmlns:core="sap.ui.core"
5
5
  xmlns:macro="sap.fe.macros"
6
6
  xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
7
+ xmlns:customData="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
8
+ xmlns:mdcv="sap.ui.mdc.valuehelp"
9
+ xmlns:mdcvc="sap.ui.mdc.valuehelp.content"
7
10
  template:require="{
8
11
  MODEL: 'sap/ui/model/odata/v4/AnnotationHelper',
9
12
  COMMON: 'sap/fe/core/controllerextensions/collaboration/CollaborationCommon',
@@ -42,9 +45,20 @@
42
45
  change=".addUserChanged"
43
46
  >
44
47
  <mdc:dependents>
45
- <template:with path="contextPath>DraftAdministrativeData/DraftAdministrativeUser/UserID" var="vhProperty">
46
- <macro:ValueHelp _flexId="userValueHelp" property="{vhProperty>}" requiresValidation="true" />
47
- </template:with>
48
+ <mdc:ValueHelp
49
+ id="userValueHelp"
50
+ delegate="{= COMMON.getValueHelpDelegate(${contextPath>@@UI.getDataModelObjectPath}) }"
51
+ validateInput="true"
52
+ >
53
+ <mdc:typeahead>
54
+ <mdcv:Popover>
55
+ <mdcvc:MTable id="userValueHelp::Popover::qualifier::" caseSensitive="true" useAsValueHelp="false" />
56
+ </mdcv:Popover>
57
+ </mdc:typeahead>
58
+ <mdc:dialog>
59
+ <mdcv:Dialog />
60
+ </mdc:dialog>
61
+ </mdc:ValueHelp>
48
62
  </mdc:dependents>
49
63
  </mdc:Field>
50
64
  <Button