@sapui5/sap.fe.core 1.112.0 → 1.114.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 (434) 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 +70 -6
  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 +118 -3
  7. package/src/sap/fe/core/AppComponent-dbg.js +16 -6
  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 +21 -7
  11. package/src/sap/fe/core/AppStateHandler-dbg.js +11 -10
  12. package/src/sap/fe/core/AppStateHandler.js +1 -1
  13. package/src/sap/fe/core/AppStateHandler.js.map +1 -1
  14. package/src/sap/fe/core/AppStateHandler.ts +14 -11
  15. package/src/sap/fe/core/CommonUtils-dbg.js +102 -175
  16. package/src/sap/fe/core/CommonUtils.js +1 -1
  17. package/src/sap/fe/core/CommonUtils.js.map +1 -1
  18. package/src/sap/fe/core/CommonUtils.ts +114 -211
  19. package/src/sap/fe/core/ExtensionAPI-dbg.js +3 -1
  20. package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
  21. package/src/sap/fe/core/ExtensionAPI.ts +2 -0
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +2 -1
  23. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +1 -1
  24. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -1
  25. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +1 -0
  26. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +2 -2
  27. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js +1 -1
  28. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js.map +1 -1
  29. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +13 -18
  30. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +32 -24
  31. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js +4 -4
  32. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -1
  33. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.ts +41 -29
  34. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock-dbg.js +2 -2
  35. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js +1 -1
  36. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js.map +1 -1
  37. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.ts +1 -1
  38. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +2 -2
  39. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js +1 -1
  40. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js.map +1 -1
  41. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +3 -1
  42. package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +124 -57
  43. package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
  44. package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
  45. package/src/sap/fe/core/controllerextensions/EditFlow.ts +146 -73
  46. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +35 -74
  47. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
  48. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -1
  49. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +35 -78
  50. package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +217 -127
  51. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
  52. package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
  53. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +227 -129
  54. package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +3 -5
  55. package/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
  56. package/src/sap/fe/core/controllerextensions/PageReady.js.map +1 -1
  57. package/src/sap/fe/core/controllerextensions/PageReady.ts +2 -4
  58. package/src/sap/fe/core/controllerextensions/Share-dbg.js +3 -2
  59. package/src/sap/fe/core/controllerextensions/Share.js +1 -1
  60. package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
  61. package/src/sap/fe/core/controllerextensions/Share.ts +2 -1
  62. package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +19 -14
  63. package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
  64. package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -1
  65. package/src/sap/fe/core/controllerextensions/SideEffects.ts +22 -14
  66. package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +41 -24
  67. package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
  68. package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -1
  69. package/src/sap/fe/core/controllerextensions/ViewState.ts +64 -31
  70. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +8 -8
  71. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +1 -1
  72. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -1
  73. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +7 -9
  74. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +7 -45
  75. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +1 -1
  76. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -1
  77. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +5 -48
  78. package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +4 -4
  79. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +1 -1
  80. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -1
  81. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +2 -2
  82. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +3 -3
  83. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating-dbg.js +52 -0
  84. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating.js +6 -0
  85. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating.js.map +1 -0
  86. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating.ts +46 -0
  87. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog-dbg.js +103 -0
  88. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +6 -0
  89. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js.map +1 -0
  90. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.tsx +124 -0
  91. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +106 -205
  92. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
  93. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
  94. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +121 -216
  95. package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +31 -4
  96. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +1 -1
  97. package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -1
  98. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +38 -3
  99. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup-dbg.js +13 -10
  100. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +1 -1
  101. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
  102. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +7 -20
  103. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +9 -4
  104. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +1 -1
  105. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js.map +1 -1
  106. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +12 -3
  107. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +10 -6
  108. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +1 -1
  109. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -1
  110. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +20 -11
  111. package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +1 -8
  112. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
  113. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
  114. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +0 -9
  115. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +19 -15
  116. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
  117. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
  118. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +19 -22
  119. package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +67 -1
  120. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +1 -1
  121. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +1 -1
  122. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +68 -0
  123. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -0
  124. package/src/sap/fe/core/controls/CommandExecution-dbg.js +4 -9
  125. package/src/sap/fe/core/controls/CommandExecution.js +1 -1
  126. package/src/sap/fe/core/controls/CommandExecution.js.map +1 -1
  127. package/src/sap/fe/core/controls/CommandExecution.ts +0 -8
  128. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block-dbg.js +335 -0
  129. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js +6 -0
  130. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js.map +1 -0
  131. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.tsx +336 -0
  132. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -0
  133. package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +3 -28
  134. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +1 -1
  135. package/src/sap/fe/core/controls/filterbar/VisualFilter.js.map +1 -1
  136. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +8 -29
  137. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +30 -1
  138. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +1 -1
  139. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -1
  140. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +38 -0
  141. package/src/sap/fe/core/converters/ConverterContext-dbg.js +3 -5
  142. package/src/sap/fe/core/converters/ConverterContext.js +1 -1
  143. package/src/sap/fe/core/converters/ConverterContext.js.map +1 -1
  144. package/src/sap/fe/core/converters/ConverterContext.ts +2 -5
  145. package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -1
  146. package/src/sap/fe/core/converters/ManifestSettings.ts +7 -6
  147. package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +5 -3
  148. package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
  149. package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -1
  150. package/src/sap/fe/core/converters/ManifestWrapper.ts +7 -1
  151. package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +49 -28
  152. package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  153. package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -1
  154. package/src/sap/fe/core/converters/MetaModelConverter.ts +62 -30
  155. package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -3
  156. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  157. package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
  158. package/src/sap/fe/core/converters/TemplateConverter.ts +1 -6
  159. package/src/sap/fe/core/converters/annotations/DataField-dbg.js +22 -7
  160. package/src/sap/fe/core/converters/annotations/DataField.js +1 -1
  161. package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -1
  162. package/src/sap/fe/core/converters/annotations/DataField.ts +20 -7
  163. package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +701 -681
  164. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
  165. package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
  166. package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +6 -12
  167. package/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
  168. package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -1
  169. package/src/sap/fe/core/converters/controls/Common/Action.ts +9 -14
  170. package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +32 -20
  171. package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
  172. package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
  173. package/src/sap/fe/core/converters/controls/Common/Chart.ts +30 -18
  174. package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +4 -5
  175. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
  176. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
  177. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +6 -37
  178. package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +7 -6
  179. package/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
  180. package/src/sap/fe/core/converters/controls/Common/Form.js.map +1 -1
  181. package/src/sap/fe/core/converters/controls/Common/Form.ts +5 -11
  182. package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +5 -5
  183. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  184. package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -1
  185. package/src/sap/fe/core/converters/controls/Common/KPI.ts +3 -4
  186. package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +135 -85
  187. package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
  188. package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
  189. package/src/sap/fe/core/converters/controls/Common/Table.ts +189 -119
  190. package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +56 -22
  191. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
  192. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
  193. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +67 -31
  194. package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +137 -49
  195. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
  196. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -1
  197. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +166 -43
  198. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +33 -14
  199. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
  200. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -1
  201. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +31 -12
  202. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +27 -18
  203. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
  204. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -1
  205. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +36 -23
  206. package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +37 -15
  207. package/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
  208. package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
  209. package/src/sap/fe/core/converters/helpers/Aggregation.ts +36 -20
  210. package/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +8 -6
  211. package/src/sap/fe/core/converters/helpers/BindingHelper.js +1 -1
  212. package/src/sap/fe/core/converters/helpers/BindingHelper.js.map +1 -1
  213. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +8 -6
  214. package/src/sap/fe/core/converters/helpers/InsightsHelpers-dbg.js +39 -0
  215. package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +6 -0
  216. package/src/sap/fe/core/converters/helpers/InsightsHelpers.js.map +1 -0
  217. package/src/sap/fe/core/converters/helpers/InsightsHelpers.ts +45 -0
  218. package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +3 -2
  219. package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
  220. package/src/sap/fe/core/converters/helpers/IssueManager.js.map +1 -1
  221. package/src/sap/fe/core/converters/helpers/IssueManager.ts +2 -1
  222. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +17 -16
  223. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
  224. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -1
  225. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +11 -11
  226. package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +20 -17
  227. package/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
  228. package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -1
  229. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +25 -56
  230. package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +13 -13
  231. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
  232. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -1
  233. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +18 -13
  234. package/src/sap/fe/core/formatters/CollaborationFormatter-dbg.js +17 -33
  235. package/src/sap/fe/core/formatters/CollaborationFormatter.js +1 -1
  236. package/src/sap/fe/core/formatters/CollaborationFormatter.js.map +1 -1
  237. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +27 -22
  238. package/src/sap/fe/core/formatters/TableFormatter-dbg.js +2 -6
  239. package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
  240. package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -1
  241. package/src/sap/fe/core/formatters/TableFormatter.ts +1 -5
  242. package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +13 -5
  243. package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
  244. package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -1
  245. package/src/sap/fe/core/formatters/ValueFormatter.ts +19 -9
  246. package/src/sap/fe/core/fpm/manifest.json +1 -1
  247. package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +2 -1
  248. package/src/sap/fe/core/helpers/BindingToolkit.js +1 -1
  249. package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
  250. package/src/sap/fe/core/helpers/BindingToolkit.ts +1 -1
  251. package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +58 -35
  252. package/src/sap/fe/core/helpers/DeleteHelper.js +1 -1
  253. package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -1
  254. package/src/sap/fe/core/helpers/DeleteHelper.ts +76 -54
  255. package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +8 -4
  256. package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
  257. package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
  258. package/src/sap/fe/core/helpers/MassEditHelper.ts +7 -5
  259. package/src/sap/fe/core/helpers/MessageStrip-dbg.js +6 -5
  260. package/src/sap/fe/core/helpers/MessageStrip.js +1 -1
  261. package/src/sap/fe/core/helpers/MessageStrip.js.map +1 -1
  262. package/src/sap/fe/core/helpers/MessageStrip.ts +4 -4
  263. package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +167 -4
  264. package/src/sap/fe/core/helpers/MetaModelFunction.js +1 -1
  265. package/src/sap/fe/core/helpers/MetaModelFunction.js.map +1 -1
  266. package/src/sap/fe/core/helpers/MetaModelFunction.ts +205 -3
  267. package/src/sap/fe/core/helpers/ModelHelper-dbg.js +37 -73
  268. package/src/sap/fe/core/helpers/ModelHelper.js +1 -1
  269. package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
  270. package/src/sap/fe/core/helpers/ModelHelper.ts +41 -68
  271. package/src/sap/fe/core/helpers/RecommendationHelper-dbg.js +71 -0
  272. package/src/sap/fe/core/helpers/RecommendationHelper.js +6 -0
  273. package/src/sap/fe/core/helpers/RecommendationHelper.js.map +1 -0
  274. package/src/sap/fe/core/helpers/RecommendationHelper.ts +94 -0
  275. package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +19 -3
  276. package/src/sap/fe/core/helpers/ResourceModelHelper.js +1 -1
  277. package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -1
  278. package/src/sap/fe/core/helpers/ResourceModelHelper.ts +21 -0
  279. package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +40 -6
  280. package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  281. package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -1
  282. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +39 -5
  283. package/src/sap/fe/core/helpers/SizeHelper-dbg.js +53 -0
  284. package/src/sap/fe/core/helpers/SizeHelper.js +6 -0
  285. package/src/sap/fe/core/helpers/SizeHelper.js.map +1 -0
  286. package/src/sap/fe/core/helpers/SizeHelper.ts +51 -0
  287. package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +52 -26
  288. package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
  289. package/src/sap/fe/core/helpers/StableIdHelper.js.map +1 -1
  290. package/src/sap/fe/core/helpers/StableIdHelper.ts +49 -25
  291. package/src/sap/fe/core/helpers/TypeGuards-dbg.js +147 -1
  292. package/src/sap/fe/core/helpers/TypeGuards.js +1 -1
  293. package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -1
  294. package/src/sap/fe/core/helpers/TypeGuards.ts +151 -1
  295. package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +25 -2
  296. package/src/sap/fe/core/jsx-runtime/jsx-control.js +1 -1
  297. package/src/sap/fe/core/jsx-runtime/jsx-control.js.map +1 -1
  298. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +24 -0
  299. package/src/sap/fe/core/jsx-runtime/jsx-dbg.js +1 -1
  300. package/src/sap/fe/core/jsx-runtime/jsx.ts +1 -0
  301. package/src/sap/fe/core/library-dbg.js +1 -1
  302. package/src/sap/fe/core/library-preload.js +123 -95
  303. package/src/sap/fe/core/library-preload.js.map +1 -1
  304. package/src/sap/fe/core/library.js +1 -1
  305. package/src/sap/fe/core/manifest.json +1 -1
  306. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +67 -15
  307. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  308. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +1 -1
  309. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +66 -14
  310. package/src/sap/fe/core/messagebundle.properties +6 -6
  311. package/src/sap/fe/core/messagebundle_ar.properties +5 -6
  312. package/src/sap/fe/core/messagebundle_bg.properties +11 -12
  313. package/src/sap/fe/core/messagebundle_ca.properties +3 -4
  314. package/src/sap/fe/core/messagebundle_cs.properties +3 -4
  315. package/src/sap/fe/core/messagebundle_cy.properties +3 -4
  316. package/src/sap/fe/core/messagebundle_da.properties +3 -4
  317. package/src/sap/fe/core/messagebundle_de.properties +11 -12
  318. package/src/sap/fe/core/messagebundle_el.properties +5 -6
  319. package/src/sap/fe/core/messagebundle_en.properties +3 -4
  320. package/src/sap/fe/core/messagebundle_en_GB.properties +4 -5
  321. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +3 -4
  322. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +3 -4
  323. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +3 -2
  324. package/src/sap/fe/core/messagebundle_es.properties +3 -4
  325. package/src/sap/fe/core/messagebundle_es_MX.properties +3 -4
  326. package/src/sap/fe/core/messagebundle_et.properties +3 -4
  327. package/src/sap/fe/core/messagebundle_fi.properties +3 -4
  328. package/src/sap/fe/core/messagebundle_fr.properties +3 -4
  329. package/src/sap/fe/core/messagebundle_fr_CA.properties +11 -12
  330. package/src/sap/fe/core/messagebundle_hi.properties +11 -12
  331. package/src/sap/fe/core/messagebundle_hr.properties +3 -4
  332. package/src/sap/fe/core/messagebundle_hu.properties +3 -4
  333. package/src/sap/fe/core/messagebundle_id.properties +11 -12
  334. package/src/sap/fe/core/messagebundle_it.properties +3 -4
  335. package/src/sap/fe/core/messagebundle_iw.properties +3 -4
  336. package/src/sap/fe/core/messagebundle_ja.properties +4 -5
  337. package/src/sap/fe/core/messagebundle_kk.properties +3 -4
  338. package/src/sap/fe/core/messagebundle_ko.properties +11 -12
  339. package/src/sap/fe/core/messagebundle_lt.properties +3 -4
  340. package/src/sap/fe/core/messagebundle_lv.properties +11 -12
  341. package/src/sap/fe/core/messagebundle_ms.properties +3 -4
  342. package/src/sap/fe/core/messagebundle_nl.properties +3 -4
  343. package/src/sap/fe/core/messagebundle_no.properties +3 -4
  344. package/src/sap/fe/core/messagebundle_pl.properties +11 -12
  345. package/src/sap/fe/core/messagebundle_pt.properties +3 -4
  346. package/src/sap/fe/core/messagebundle_pt_PT.properties +3 -4
  347. package/src/sap/fe/core/messagebundle_ro.properties +14 -15
  348. package/src/sap/fe/core/messagebundle_ru.properties +11 -12
  349. package/src/sap/fe/core/messagebundle_sh.properties +3 -4
  350. package/src/sap/fe/core/messagebundle_sk.properties +3 -4
  351. package/src/sap/fe/core/messagebundle_sl.properties +3 -4
  352. package/src/sap/fe/core/messagebundle_sv.properties +11 -12
  353. package/src/sap/fe/core/messagebundle_th.properties +3 -4
  354. package/src/sap/fe/core/messagebundle_tr.properties +3 -4
  355. package/src/sap/fe/core/messagebundle_uk.properties +3 -4
  356. package/src/sap/fe/core/messagebundle_vi.properties +3 -4
  357. package/src/sap/fe/core/messagebundle_zh_CN.properties +11 -12
  358. package/src/sap/fe/core/messagebundle_zh_TW.properties +11 -12
  359. package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +22 -8
  360. package/src/sap/fe/core/rootView/RootViewBaseController.js +1 -1
  361. package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -1
  362. package/src/sap/fe/core/rootView/RootViewBaseController.ts +17 -7
  363. package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +36 -3
  364. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  365. package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
  366. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +37 -1
  367. package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +13 -1
  368. package/src/sap/fe/core/services/NavigationServiceFactory.js +1 -1
  369. package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
  370. package/src/sap/fe/core/services/NavigationServiceFactory.ts +13 -0
  371. package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +7 -1
  372. package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
  373. package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
  374. package/src/sap/fe/core/services/RoutingServiceFactory.ts +20 -2
  375. package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +7 -1
  376. package/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
  377. package/src/sap/fe/core/services/ShellServicesFactory.js.map +1 -1
  378. package/src/sap/fe/core/services/ShellServicesFactory.ts +10 -0
  379. package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +10 -7
  380. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
  381. package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -1
  382. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +12 -13
  383. package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +9 -3
  384. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
  385. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
  386. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +11 -15
  387. package/src/sap/fe/core/templating/CommonFormatters-dbg.js +4 -3
  388. package/src/sap/fe/core/templating/CommonFormatters.js +1 -1
  389. package/src/sap/fe/core/templating/CommonFormatters.js.map +1 -1
  390. package/src/sap/fe/core/templating/CommonFormatters.ts +2 -2
  391. package/src/sap/fe/core/templating/CriticalityFormatters-dbg.js +1 -1
  392. package/src/sap/fe/core/templating/CriticalityFormatters.ts +2 -2
  393. package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +19 -18
  394. package/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
  395. package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -1
  396. package/src/sap/fe/core/templating/DataModelPathHelper.ts +24 -18
  397. package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +5 -5
  398. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  399. package/src/sap/fe/core/templating/DisplayModeFormatter.js.map +1 -1
  400. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -2
  401. package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +19 -28
  402. package/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
  403. package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -1
  404. package/src/sap/fe/core/templating/EntitySetHelper.ts +14 -24
  405. package/src/sap/fe/core/templating/EntityTypeHelper-dbg.js +48 -0
  406. package/src/sap/fe/core/templating/EntityTypeHelper.js +6 -0
  407. package/src/sap/fe/core/templating/EntityTypeHelper.js.map +1 -0
  408. package/src/sap/fe/core/templating/EntityTypeHelper.ts +37 -0
  409. package/src/sap/fe/core/templating/FilterHelper-dbg.js +12 -1
  410. package/src/sap/fe/core/templating/FilterHelper.js +1 -1
  411. package/src/sap/fe/core/templating/FilterHelper.js.map +1 -1
  412. package/src/sap/fe/core/templating/FilterHelper.ts +12 -0
  413. package/src/sap/fe/core/templating/FilterTemplating-dbg.js +7 -8
  414. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  415. package/src/sap/fe/core/templating/FilterTemplating.js.map +1 -1
  416. package/src/sap/fe/core/templating/FilterTemplating.ts +5 -8
  417. package/src/sap/fe/core/templating/PropertyFormatters-dbg.js +1 -6
  418. package/src/sap/fe/core/templating/PropertyFormatters.js +1 -1
  419. package/src/sap/fe/core/templating/PropertyFormatters.js.map +1 -1
  420. package/src/sap/fe/core/templating/PropertyFormatters.ts +0 -5
  421. package/src/sap/fe/core/templating/PropertyHelper-dbg.js +13 -46
  422. package/src/sap/fe/core/templating/PropertyHelper.js +1 -1
  423. package/src/sap/fe/core/templating/PropertyHelper.js.map +1 -1
  424. package/src/sap/fe/core/templating/PropertyHelper.ts +14 -43
  425. package/src/sap/fe/core/templating/UIFormatters-dbg.js +32 -26
  426. package/src/sap/fe/core/templating/UIFormatters.js +1 -1
  427. package/src/sap/fe/core/templating/UIFormatters.js.map +1 -1
  428. package/src/sap/fe/core/templating/UIFormatters.ts +45 -34
  429. package/src/sap/fe/core/controls/ActionPartial.fragment.xml +0 -91
  430. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +0 -59
  431. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +0 -171
  432. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +0 -6
  433. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +0 -1
  434. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +0 -184
@@ -278,6 +278,7 @@ class RouterProxy extends BaseObject {
278
278
  }
279
279
 
280
280
  const oHistoryAction = this._pushNewState(oNewState, false, bPreserveHistory, bDisablePreservationCache);
281
+ this.storeFocusInfoForCurrentHash();
281
282
 
282
283
  return this._rebuildBrowserHistory(oHistoryAction, false);
283
284
  }
@@ -585,6 +586,10 @@ class RouterProxy extends BaseObject {
585
586
  const bHasSameHash = oLastRemovedItem && oNewState.hash === oLastRemovedItem.hash;
586
587
  if (this._oManagedHistory.length === 0 || this._oManagedHistory[this._oManagedHistory.length - 1].hash !== oNewState.hash) {
587
588
  this._oManagedHistory.push(oNewState);
589
+ if (oLastRemovedItem && removeAppStateInHash(oLastRemovedItem.hash) === removeAppStateInHash(oNewState.hash)) {
590
+ oNewState.focusControlId = oLastRemovedItem.focusControlId;
591
+ oNewState.focusInfo = oLastRemovedItem.focusInfo;
592
+ }
588
593
  }
589
594
 
590
595
  // 6. Determine which actions to do on the history
@@ -860,6 +865,69 @@ class RouterProxy extends BaseObject {
860
865
 
861
866
  return oCurrentState.hash.split("?")[0] === oPreviousState.hash.split("?")[0];
862
867
  }
868
+
869
+ /**
870
+ * Restores the focus for the current hash, if we can find it in the history.
871
+ *
872
+ * @returns True if focus was set, false otherwise.
873
+ */
874
+ restoreFocusForCurrentHash(): boolean {
875
+ const currentHash = removeAppStateInHash(this.getHash());
876
+ const stateForHash = this._oManagedHistory.find((state) => {
877
+ return removeAppStateInHash(state.hash) === currentHash;
878
+ });
879
+
880
+ let focusApplied = false;
881
+ if (stateForHash?.focusControlId) {
882
+ const focusControl = sap.ui.getCore().byId(stateForHash.focusControlId);
883
+ focusControl?.focus(stateForHash.focusInfo);
884
+ focusApplied = focusControl !== undefined;
885
+ }
886
+
887
+ return focusApplied;
888
+ }
889
+
890
+ /**
891
+ * Stores the ID of the currently focused control in the history for the current hash.
892
+ *
893
+ */
894
+ private storeFocusInfoForCurrentHash() {
895
+ const currentHash = removeAppStateInHash(this.getHash());
896
+ const stateForHash = this._oManagedHistory.find((state) => {
897
+ return removeAppStateInHash(state.hash) === currentHash;
898
+ });
899
+ if (stateForHash) {
900
+ const focusControlId = sap.ui.getCore().getCurrentFocusedControlId();
901
+ const focusControl = focusControlId ? sap.ui.getCore().byId(focusControlId) : undefined;
902
+ stateForHash.focusControlId = focusControlId;
903
+ stateForHash.focusInfo = focusControl?.getFocusInfo();
904
+ }
905
+ }
906
+
907
+ /**
908
+ * Finds a layout value for a hash in the history.
909
+ *
910
+ * @param hash The hash to look for in the history.
911
+ * @returns A layout value if it could be found, undefined otherwise.
912
+ */
913
+ findLayoutForHash(hash: string): string | undefined {
914
+ if (!this.fclEnabled) {
915
+ return undefined;
916
+ }
917
+
918
+ // Remove all query parameters from the hash
919
+ const hashNoParam = hash.split("?")[0];
920
+
921
+ // Look for the state backwards, so that we find the last state in the history (e.g. if we have 2 states with the same hash but 2 different layouts)
922
+ let targetState: any;
923
+ for (let index = this._oManagedHistory.length - 1; index >= 0 && targetState === undefined; index--) {
924
+ if (this._oManagedHistory[index].hash.split("?")[0] === hashNoParam) {
925
+ targetState = this._oManagedHistory[index];
926
+ }
927
+ }
928
+
929
+ return targetState?.sLayout;
930
+ }
863
931
  }
864
932
 
865
933
  export default RouterProxy;
@@ -43,6 +43,7 @@
43
43
  unittest:id="ActionParameterDialogFieldExpressionTest"
44
44
  id="{= ID.generate(['APD_', ${parameter>$Name}]) }"
45
45
  value="{parameter>@@MODEL.format}"
46
+ placeholder="{actionParameter>@com.sap.vocabularies.UI.v1.Placeholder@@MODEL.value}"
46
47
  display="{actionParameter>@@FIELD.getAPDialogDisplayFormat}"
47
48
  editMode="{actionParameter>@@COMMON.getParameterEditMode}"
48
49
  width="100%"
@@ -59,6 +60,7 @@
59
60
  <template:else>
60
61
  <mdc:MultiValueField
61
62
  id="{= ID.generate(['APD_', ${parameter>$Name}]) }"
63
+ placeholder="{actionParameter>@com.sap.vocabularies.UI.v1.Placeholder@@MODEL.value}"
62
64
  items="{actionParameter>@@FE_MODEL.getActionParameterItemsModelPath}"
63
65
  delegate="{name: 'sap/fe/core/controls/MultiValueParameterDelegate'}"
64
66
  unittest:id="ActionParameterDialogMultiValueFieldExpressionTest"
@@ -5,12 +5,12 @@
5
5
  sap.ui.define(["sap/base/Log", "sap/fe/core/helpers/ClassSupport", "sap/ui/core/CommandExecution", "sap/ui/core/Component", "sap/ui/core/Element", "sap/ui/core/Shortcut"], function (Log, ClassSupport, CoreCommandExecution, Component, Element, Shortcut) {
6
6
  "use strict";
7
7
 
8
- var _dec, _class, _class2;
8
+ var _dec, _class;
9
9
  var _exports = {};
10
10
  var defineUI5Class = ClassSupport.defineUI5Class;
11
11
  function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
12
12
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
13
- let CommandExecution = (_dec = defineUI5Class("sap.fe.core.controls.CommandExecution"), _dec(_class = (_class2 = /*#__PURE__*/function (_CoreCommandExecution) {
13
+ let CommandExecution = (_dec = defineUI5Class("sap.fe.core.controls.CommandExecution"), _dec(_class = /*#__PURE__*/function (_CoreCommandExecution) {
14
14
  _inheritsLoose(CommandExecution, _CoreCommandExecution);
15
15
  function CommandExecution(sId, mSettings) {
16
16
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -71,13 +71,8 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/helpers/ClassSupport", "sap/ui/core/
71
71
  return this;
72
72
  };
73
73
  return CommandExecution;
74
- }(CoreCommandExecution), _class2.executeCommand = command => {
75
- return event => {
76
- const commandExecution = CoreCommandExecution.find(event.getSource(), command);
77
- commandExecution === null || commandExecution === void 0 ? void 0 : commandExecution.trigger();
78
- };
79
- }, _class2)) || _class);
74
+ }(CoreCommandExecution)) || _class);
80
75
  _exports = CommandExecution;
81
76
  return _exports;
82
77
  }, false);
83
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21tYW5kRXhlY3V0aW9uIiwiZGVmaW5lVUk1Q2xhc3MiLCJzSWQiLCJtU2V0dGluZ3MiLCJzZXRQYXJlbnQiLCJvUGFyZW50IiwiYUNvbW1hbmRzIiwiZGF0YSIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsIm9Db21tYW5kIiwib1Nob3J0Y3V0Iiwic2hvcnRjdXRTcGVjIiwia2V5IiwiZGVzdHJveSIsImJTdXBwcmVzc0ludmFsaWRhdGUiLCJnZXRQYXJlbnQiLCJfZ2V0Q29tbWFuZEluZm8iLCJTaG9ydGN1dCIsInVucmVnaXN0ZXIiLCJzaG9ydGN1dCIsIl9jbGVhbnVwQ29udGV4dCIsIkVsZW1lbnQiLCJwcm90b3R5cGUiLCJhcHBseSIsInNldFZpc2libGUiLCJiVmFsdWUiLCJvUGFyZW50Q29udHJvbCIsIm9Db21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsImdldENvbW1hbmQiLCJMb2ciLCJpbmZvIiwiQ29yZUNvbW1hbmRFeGVjdXRpb24iLCJleGVjdXRlQ29tbWFuZCIsImNvbW1hbmQiLCJldmVudCIsImNvbW1hbmRFeGVjdXRpb24iLCJmaW5kIiwiZ2V0U291cmNlIiwidHJpZ2dlciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQ29tbWFuZEV4ZWN1dGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCB7IEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcyB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgRXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgQ29yZUNvbW1hbmRFeGVjdXRpb24gZnJvbSBcInNhcC91aS9jb3JlL0NvbW1hbmRFeGVjdXRpb25cIjtcbmltcG9ydCBDb21wb25lbnQgZnJvbSBcInNhcC91aS9jb3JlL0NvbXBvbmVudFwiO1xuaW1wb3J0IEVsZW1lbnQgZnJvbSBcInNhcC91aS9jb3JlL0VsZW1lbnRcIjtcbmltcG9ydCBTaG9ydGN1dCBmcm9tIFwic2FwL3VpL2NvcmUvU2hvcnRjdXRcIjtcblxudHlwZSAkQ29tbWFuZEV4ZWN1dGlvblNldHRpbmdzID0ge1xuXHR2aXNpYmxlOiBib29sZWFuIHwgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+O1xuXHRlbmFibGVkOiBib29sZWFuIHwgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+O1xuXHRleGVjdXRlOiBGdW5jdGlvbjtcblx0Y29tbWFuZDogc3RyaW5nO1xufTtcbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLmNvbnRyb2xzLkNvbW1hbmRFeGVjdXRpb25cIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbW1hbmRFeGVjdXRpb24gZXh0ZW5kcyBDb3JlQ29tbWFuZEV4ZWN1dGlvbiB7XG5cdGNvbnN0cnVjdG9yKHNJZD86IHN0cmluZyB8ICRDb21tYW5kRXhlY3V0aW9uU2V0dGluZ3MsIG1TZXR0aW5ncz86ICRDb21tYW5kRXhlY3V0aW9uU2V0dGluZ3MpIHtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdHN1cGVyKHNJZCwgbVNldHRpbmdzKTtcblx0fVxuXG5cdHNldFBhcmVudChvUGFyZW50OiBhbnkpIHtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdHN1cGVyLnNldFBhcmVudChvUGFyZW50KTtcblx0XHRjb25zdCBhQ29tbWFuZHMgPSBvUGFyZW50LmRhdGEoXCJzYXAudWkuY29yZS5TaG9ydGN1dFwiKTtcblx0XHRpZiAoQXJyYXkuaXNBcnJheShhQ29tbWFuZHMpICYmIGFDb21tYW5kcy5sZW5ndGggPiAwKSB7XG5cdFx0XHRjb25zdCBvQ29tbWFuZCA9IG9QYXJlbnQuZGF0YShcInNhcC51aS5jb3JlLlNob3J0Y3V0XCIpW2FDb21tYW5kcy5sZW5ndGggLSAxXSxcblx0XHRcdFx0b1Nob3J0Y3V0ID0gb0NvbW1hbmQuc2hvcnRjdXRTcGVjO1xuXHRcdFx0aWYgKG9TaG9ydGN1dCkge1xuXHRcdFx0XHQvLyBDaGVjayBpZiBzaW5nbGUga2V5IHNob3J0Y3V0XG5cdFx0XHRcdGZvciAoY29uc3Qga2V5IGluIG9TaG9ydGN1dCkge1xuXHRcdFx0XHRcdGlmIChvU2hvcnRjdXRba2V5XSAmJiBrZXkgIT09IFwia2V5XCIpIHtcblx0XHRcdFx0XHRcdHJldHVybiB0aGlzO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHRoaXM7XG5cdFx0fVxuXHR9XG5cblx0ZGVzdHJveShiU3VwcHJlc3NJbnZhbGlkYXRlOiBib29sZWFuKSB7XG5cdFx0Y29uc3Qgb1BhcmVudCA9IHRoaXMuZ2V0UGFyZW50KCk7XG5cdFx0aWYgKG9QYXJlbnQpIHtcblx0XHRcdGNvbnN0IG9Db21tYW5kID0gdGhpcy5fZ2V0Q29tbWFuZEluZm8oKTtcblx0XHRcdGlmIChvQ29tbWFuZCkge1xuXHRcdFx0XHRTaG9ydGN1dC51bnJlZ2lzdGVyKHRoaXMuZ2V0UGFyZW50KCksIG9Db21tYW5kLnNob3J0Y3V0KTtcblx0XHRcdH1cblx0XHRcdHRoaXMuX2NsZWFudXBDb250ZXh0KG9QYXJlbnQpO1xuXHRcdH1cblx0XHRFbGVtZW50LnByb3RvdHlwZS5kZXN0cm95LmFwcGx5KHRoaXMsIFtiU3VwcHJlc3NJbnZhbGlkYXRlXSk7XG5cdH1cblxuXHRzZXRWaXNpYmxlKGJWYWx1ZTogYm9vbGVhbikge1xuXHRcdGxldCBvQ29tbWFuZCxcblx0XHRcdG9QYXJlbnRDb250cm9sID0gdGhpcy5nZXRQYXJlbnQoKSxcblx0XHRcdG9Db21wb25lbnQ6IGFueTtcblxuXHRcdGlmICghb1BhcmVudENvbnRyb2wpIHtcblx0XHRcdHN1cGVyLnNldFZpc2libGUoYlZhbHVlKTtcblx0XHR9XG5cblx0XHR3aGlsZSAoIW9Db21wb25lbnQgJiYgb1BhcmVudENvbnRyb2wpIHtcblx0XHRcdG9Db21wb25lbnQgPSBDb21wb25lbnQuZ2V0T3duZXJDb21wb25lbnRGb3Iob1BhcmVudENvbnRyb2wpO1xuXHRcdFx0b1BhcmVudENvbnRyb2wgPSBvUGFyZW50Q29udHJvbC5nZXRQYXJlbnQoKTtcblx0XHR9XG5cblx0XHRpZiAob0NvbXBvbmVudCkge1xuXHRcdFx0b0NvbW1hbmQgPSBvQ29tcG9uZW50LmdldENvbW1hbmQodGhpcy5nZXRDb21tYW5kKCkpO1xuXG5cdFx0XHRpZiAob0NvbW1hbmQpIHtcblx0XHRcdFx0c3VwZXIuc2V0VmlzaWJsZShiVmFsdWUpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0TG9nLmluZm8oXCJUaGVyZSBpcyBubyBzaG9ydGN1dCBkZWZpbml0aW9uIHJlZ2lzdGVyZWQgaW4gdGhlIG1hbmlmZXN0IGZvciB0aGUgY29tbWFuZCA6IFwiICsgdGhpcy5nZXRDb21tYW5kKCkpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHN0YXRpYyBleGVjdXRlQ29tbWFuZCA9IChjb21tYW5kOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gKGV2ZW50OiBFdmVudCkgPT4ge1xuXHRcdFx0Y29uc3QgY29tbWFuZEV4ZWN1dGlvbiA9IChDb3JlQ29tbWFuZEV4ZWN1dGlvbiBhcyBhbnkpLmZpbmQoZXZlbnQuZ2V0U291cmNlKCksIGNvbW1hbmQpO1xuXHRcdFx0Y29tbWFuZEV4ZWN1dGlvbj8udHJpZ2dlcigpO1xuXHRcdH07XG5cdH07XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7OztNQWdCcUJBLGdC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
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21tYW5kRXhlY3V0aW9uIiwiZGVmaW5lVUk1Q2xhc3MiLCJzSWQiLCJtU2V0dGluZ3MiLCJzZXRQYXJlbnQiLCJvUGFyZW50IiwiYUNvbW1hbmRzIiwiZGF0YSIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsIm9Db21tYW5kIiwib1Nob3J0Y3V0Iiwic2hvcnRjdXRTcGVjIiwia2V5IiwiZGVzdHJveSIsImJTdXBwcmVzc0ludmFsaWRhdGUiLCJnZXRQYXJlbnQiLCJfZ2V0Q29tbWFuZEluZm8iLCJTaG9ydGN1dCIsInVucmVnaXN0ZXIiLCJzaG9ydGN1dCIsIl9jbGVhbnVwQ29udGV4dCIsIkVsZW1lbnQiLCJwcm90b3R5cGUiLCJhcHBseSIsInNldFZpc2libGUiLCJiVmFsdWUiLCJvUGFyZW50Q29udHJvbCIsIm9Db21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsImdldENvbW1hbmQiLCJMb2ciLCJpbmZvIiwiQ29yZUNvbW1hbmRFeGVjdXRpb24iXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbW1hbmRFeGVjdXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgeyBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb3JlQ29tbWFuZEV4ZWN1dGlvbiBmcm9tIFwic2FwL3VpL2NvcmUvQ29tbWFuZEV4ZWN1dGlvblwiO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50XCI7XG5pbXBvcnQgRWxlbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRWxlbWVudFwiO1xuaW1wb3J0IFNob3J0Y3V0IGZyb20gXCJzYXAvdWkvY29yZS9TaG9ydGN1dFwiO1xuXG50eXBlICRDb21tYW5kRXhlY3V0aW9uU2V0dGluZ3MgPSB7XG5cdHZpc2libGU6IGJvb2xlYW4gfCBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248Ym9vbGVhbj47XG5cdGVuYWJsZWQ6IGJvb2xlYW4gfCBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248Ym9vbGVhbj47XG5cdGV4ZWN1dGU6IEZ1bmN0aW9uO1xuXHRjb21tYW5kOiBzdHJpbmc7XG59O1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbHMuQ29tbWFuZEV4ZWN1dGlvblwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tbWFuZEV4ZWN1dGlvbiBleHRlbmRzIENvcmVDb21tYW5kRXhlY3V0aW9uIHtcblx0Y29uc3RydWN0b3Ioc0lkPzogc3RyaW5nIHwgJENvbW1hbmRFeGVjdXRpb25TZXR0aW5ncywgbVNldHRpbmdzPzogJENvbW1hbmRFeGVjdXRpb25TZXR0aW5ncykge1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0c3VwZXIoc0lkLCBtU2V0dGluZ3MpO1xuXHR9XG5cblx0c2V0UGFyZW50KG9QYXJlbnQ6IGFueSkge1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0c3VwZXIuc2V0UGFyZW50KG9QYXJlbnQpO1xuXHRcdGNvbnN0IGFDb21tYW5kcyA9IG9QYXJlbnQuZGF0YShcInNhcC51aS5jb3JlLlNob3J0Y3V0XCIpO1xuXHRcdGlmIChBcnJheS5pc0FycmF5KGFDb21tYW5kcykgJiYgYUNvbW1hbmRzLmxlbmd0aCA+IDApIHtcblx0XHRcdGNvbnN0IG9Db21tYW5kID0gb1BhcmVudC5kYXRhKFwic2FwLnVpLmNvcmUuU2hvcnRjdXRcIilbYUNvbW1hbmRzLmxlbmd0aCAtIDFdLFxuXHRcdFx0XHRvU2hvcnRjdXQgPSBvQ29tbWFuZC5zaG9ydGN1dFNwZWM7XG5cdFx0XHRpZiAob1Nob3J0Y3V0KSB7XG5cdFx0XHRcdC8vIENoZWNrIGlmIHNpbmdsZSBrZXkgc2hvcnRjdXRcblx0XHRcdFx0Zm9yIChjb25zdCBrZXkgaW4gb1Nob3J0Y3V0KSB7XG5cdFx0XHRcdFx0aWYgKG9TaG9ydGN1dFtrZXldICYmIGtleSAhPT0gXCJrZXlcIikge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXM7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdGhpcztcblx0XHR9XG5cdH1cblxuXHRkZXN0cm95KGJTdXBwcmVzc0ludmFsaWRhdGU6IGJvb2xlYW4pIHtcblx0XHRjb25zdCBvUGFyZW50ID0gdGhpcy5nZXRQYXJlbnQoKTtcblx0XHRpZiAob1BhcmVudCkge1xuXHRcdFx0Y29uc3Qgb0NvbW1hbmQgPSB0aGlzLl9nZXRDb21tYW5kSW5mbygpO1xuXHRcdFx0aWYgKG9Db21tYW5kKSB7XG5cdFx0XHRcdFNob3J0Y3V0LnVucmVnaXN0ZXIodGhpcy5nZXRQYXJlbnQoKSwgb0NvbW1hbmQuc2hvcnRjdXQpO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5fY2xlYW51cENvbnRleHQob1BhcmVudCk7XG5cdFx0fVxuXHRcdEVsZW1lbnQucHJvdG90eXBlLmRlc3Ryb3kuYXBwbHkodGhpcywgW2JTdXBwcmVzc0ludmFsaWRhdGVdKTtcblx0fVxuXG5cdHNldFZpc2libGUoYlZhbHVlOiBib29sZWFuKSB7XG5cdFx0bGV0IG9Db21tYW5kLFxuXHRcdFx0b1BhcmVudENvbnRyb2wgPSB0aGlzLmdldFBhcmVudCgpLFxuXHRcdFx0b0NvbXBvbmVudDogYW55O1xuXG5cdFx0aWYgKCFvUGFyZW50Q29udHJvbCkge1xuXHRcdFx0c3VwZXIuc2V0VmlzaWJsZShiVmFsdWUpO1xuXHRcdH1cblxuXHRcdHdoaWxlICghb0NvbXBvbmVudCAmJiBvUGFyZW50Q29udHJvbCkge1xuXHRcdFx0b0NvbXBvbmVudCA9IENvbXBvbmVudC5nZXRPd25lckNvbXBvbmVudEZvcihvUGFyZW50Q29udHJvbCk7XG5cdFx0XHRvUGFyZW50Q29udHJvbCA9IG9QYXJlbnRDb250cm9sLmdldFBhcmVudCgpO1xuXHRcdH1cblxuXHRcdGlmIChvQ29tcG9uZW50KSB7XG5cdFx0XHRvQ29tbWFuZCA9IG9Db21wb25lbnQuZ2V0Q29tbWFuZCh0aGlzLmdldENvbW1hbmQoKSk7XG5cblx0XHRcdGlmIChvQ29tbWFuZCkge1xuXHRcdFx0XHRzdXBlci5zZXRWaXNpYmxlKGJWYWx1ZSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRMb2cuaW5mbyhcIlRoZXJlIGlzIG5vIHNob3J0Y3V0IGRlZmluaXRpb24gcmVnaXN0ZXJlZCBpbiB0aGUgbWFuaWZlc3QgZm9yIHRoZSBjb21tYW5kIDogXCIgKyB0aGlzLmdldENvbW1hbmQoKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7OztNQWVxQkEsZ0JBQWdCLFdBRHBDQyxjQUFjLENBQUMsdUNBQXVDLENBQUM7SUFBQTtJQUV2RCwwQkFBWUMsR0FBd0MsRUFBRUMsU0FBcUMsRUFBRTtNQUM1RjtNQUNBO01BQUEsT0FDQSxpQ0FBTUQsR0FBRyxFQUFFQyxTQUFTLENBQUM7SUFDdEI7SUFBQztJQUFBO0lBQUEsT0FFREMsU0FBUyxHQUFULG1CQUFVQyxPQUFZLEVBQUU7TUFDdkI7TUFDQTtNQUNBLGdDQUFNRCxTQUFTLFlBQUNDLE9BQU87TUFDdkIsTUFBTUMsU0FBUyxHQUFHRCxPQUFPLENBQUNFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztNQUN0RCxJQUFJQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0gsU0FBUyxDQUFDLElBQUlBLFNBQVMsQ0FBQ0ksTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNyRCxNQUFNQyxRQUFRLEdBQUdOLE9BQU8sQ0FBQ0UsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUNELFNBQVMsQ0FBQ0ksTUFBTSxHQUFHLENBQUMsQ0FBQztVQUMxRUUsU0FBUyxHQUFHRCxRQUFRLENBQUNFLFlBQVk7UUFDbEMsSUFBSUQsU0FBUyxFQUFFO1VBQ2Q7VUFDQSxLQUFLLE1BQU1FLEdBQUcsSUFBSUYsU0FBUyxFQUFFO1lBQzVCLElBQUlBLFNBQVMsQ0FBQ0UsR0FBRyxDQUFDLElBQUlBLEdBQUcsS0FBSyxLQUFLLEVBQUU7Y0FDcEMsT0FBTyxJQUFJO1lBQ1o7VUFDRDtRQUNEO1FBQ0EsT0FBTyxJQUFJO01BQ1o7SUFDRCxDQUFDO0lBQUEsT0FFREMsT0FBTyxHQUFQLGlCQUFRQyxtQkFBNEIsRUFBRTtNQUNyQyxNQUFNWCxPQUFPLEdBQUcsSUFBSSxDQUFDWSxTQUFTLEVBQUU7TUFDaEMsSUFBSVosT0FBTyxFQUFFO1FBQ1osTUFBTU0sUUFBUSxHQUFHLElBQUksQ0FBQ08sZUFBZSxFQUFFO1FBQ3ZDLElBQUlQLFFBQVEsRUFBRTtVQUNiUSxRQUFRLENBQUNDLFVBQVUsQ0FBQyxJQUFJLENBQUNILFNBQVMsRUFBRSxFQUFFTixRQUFRLENBQUNVLFFBQVEsQ0FBQztRQUN6RDtRQUNBLElBQUksQ0FBQ0MsZUFBZSxDQUFDakIsT0FBTyxDQUFDO01BQzlCO01BQ0FrQixPQUFPLENBQUNDLFNBQVMsQ0FBQ1QsT0FBTyxDQUFDVSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUNULG1CQUFtQixDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUFBLE9BRURVLFVBQVUsR0FBVixvQkFBV0MsTUFBZSxFQUFFO01BQzNCLElBQUloQixRQUFRO1FBQ1hpQixjQUFjLEdBQUcsSUFBSSxDQUFDWCxTQUFTLEVBQUU7UUFDakNZLFVBQWU7TUFFaEIsSUFBSSxDQUFDRCxjQUFjLEVBQUU7UUFDcEIsZ0NBQU1GLFVBQVUsWUFBQ0MsTUFBTTtNQUN4QjtNQUVBLE9BQU8sQ0FBQ0UsVUFBVSxJQUFJRCxjQUFjLEVBQUU7UUFDckNDLFVBQVUsR0FBR0MsU0FBUyxDQUFDQyxvQkFBb0IsQ0FBQ0gsY0FBYyxDQUFDO1FBQzNEQSxjQUFjLEdBQUdBLGNBQWMsQ0FBQ1gsU0FBUyxFQUFFO01BQzVDO01BRUEsSUFBSVksVUFBVSxFQUFFO1FBQ2ZsQixRQUFRLEdBQUdrQixVQUFVLENBQUNHLFVBQVUsQ0FBQyxJQUFJLENBQUNBLFVBQVUsRUFBRSxDQUFDO1FBRW5ELElBQUlyQixRQUFRLEVBQUU7VUFDYixnQ0FBTWUsVUFBVSxZQUFDQyxNQUFNO1FBQ3hCLENBQUMsTUFBTTtVQUNOTSxHQUFHLENBQUNDLElBQUksQ0FBQywrRUFBK0UsR0FBRyxJQUFJLENBQUNGLFVBQVUsRUFBRSxDQUFDO1FBQzlHO01BQ0Q7TUFDQSxPQUFPLElBQUk7SUFDWixDQUFDO0lBQUE7RUFBQSxFQS9ENENHLG9CQUFvQjtFQUFBO0VBQUE7QUFBQSJ9
@@ -2,5 +2,5 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log","sap/fe/core/helpers/ClassSupport","sap/ui/core/CommandExecution","sap/ui/core/Component","sap/ui/core/Element","sap/ui/core/Shortcut"],function(t,e,o,r,n,i){"use strict";var s,c,a;var u={};var p=e.defineUI5Class;function f(t,e){t.prototype=Object.create(e.prototype);t.prototype.constructor=t;h(t,e)}function h(t,e){h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function t(e,o){e.__proto__=o;return e};return h(t,e)}let l=(s=p("sap.fe.core.controls.CommandExecution"),s(c=(a=function(e){f(o,e);function o(t,o){return e.call(this,t,o)||this}u=o;var s=o.prototype;s.setParent=function t(o){e.prototype.setParent.call(this,o);const r=o.data("sap.ui.core.Shortcut");if(Array.isArray(r)&&r.length>0){const t=o.data("sap.ui.core.Shortcut")[r.length-1],e=t.shortcutSpec;if(e){for(const t in e){if(e[t]&&t!=="key"){return this}}}return this}};s.destroy=function t(e){const o=this.getParent();if(o){const t=this._getCommandInfo();if(t){i.unregister(this.getParent(),t.shortcut)}this._cleanupContext(o)}n.prototype.destroy.apply(this,[e])};s.setVisible=function o(n){let i,s=this.getParent(),c;if(!s){e.prototype.setVisible.call(this,n)}while(!c&&s){c=r.getOwnerComponentFor(s);s=s.getParent()}if(c){i=c.getCommand(this.getCommand());if(i){e.prototype.setVisible.call(this,n)}else{t.info("There is no shortcut definition registered in the manifest for the command : "+this.getCommand())}}return this};return o}(o),a.executeCommand=t=>e=>{const r=o.find(e.getSource(),t);r===null||r===void 0?void 0:r.trigger()},a))||c);u=l;return u},false);
5
+ sap.ui.define(["sap/base/Log","sap/fe/core/helpers/ClassSupport","sap/ui/core/CommandExecution","sap/ui/core/Component","sap/ui/core/Element","sap/ui/core/Shortcut"],function(t,e,o,r,n,i){"use strict";var s,a;var c={};var p=e.defineUI5Class;function u(t,e){t.prototype=Object.create(e.prototype);t.prototype.constructor=t;f(t,e)}function f(t,e){f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function t(e,o){e.__proto__=o;return e};return f(t,e)}let h=(s=p("sap.fe.core.controls.CommandExecution"),s(a=function(e){u(o,e);function o(t,o){return e.call(this,t,o)||this}c=o;var s=o.prototype;s.setParent=function t(o){e.prototype.setParent.call(this,o);const r=o.data("sap.ui.core.Shortcut");if(Array.isArray(r)&&r.length>0){const t=o.data("sap.ui.core.Shortcut")[r.length-1],e=t.shortcutSpec;if(e){for(const t in e){if(e[t]&&t!=="key"){return this}}}return this}};s.destroy=function t(e){const o=this.getParent();if(o){const t=this._getCommandInfo();if(t){i.unregister(this.getParent(),t.shortcut)}this._cleanupContext(o)}n.prototype.destroy.apply(this,[e])};s.setVisible=function o(n){let i,s=this.getParent(),a;if(!s){e.prototype.setVisible.call(this,n)}while(!a&&s){a=r.getOwnerComponentFor(s);s=s.getParent()}if(a){i=a.getCommand(this.getCommand());if(i){e.prototype.setVisible.call(this,n)}else{t.info("There is no shortcut definition registered in the manifest for the command : "+this.getCommand())}}return this};return o}(o))||a);c=h;return c},false);
6
6
  //# sourceMappingURL=CommandExecution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandExecution.js","names":["sap","ui","define","Log","ClassSupport","CoreCommandExecution","Component","Element","Shortcut","_dec","_class","_class2","_exports","defineUI5Class","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","CommandExecution","_CoreCommandExecution","sId","mSettings","call","this","_proto","setParent","oParent","aCommands","data","Array","isArray","length","oCommand","oShortcut","shortcutSpec","key","destroy","bSuppressInvalidate","getParent","_getCommandInfo","unregister","shortcut","_cleanupContext","apply","setVisible","bValue","oParentControl","oComponent","getOwnerComponentFor","getCommand","info","executeCommand","command","event","commandExecution","find","getSource","trigger"],"sources":["CommandExecution-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,eAAgB,mCAAoC,+BAAgC,wBAAyB,sBAAuB,wBAAyB,SAAUC,EAAKC,EAAcC,EAAsBC,EAAWC,EAASC,GACjP,aAEA,IAAIC,EAAMC,EAAQC,EAClB,IAAIC,EAAW,CAAC,EAChB,IAAIC,EAAiBT,EAAaS,eAClC,SAASC,EAAeC,EAAUC,GAAcD,EAASE,UAAYC,OAAOC,OAAOH,EAAWC,WAAYF,EAASE,UAAUG,YAAcL,EAAUM,EAAgBN,EAAUC,EAAa,CAC5L,SAASK,EAAgBC,EAAGC,GAAKF,EAAkBH,OAAOM,eAAiBN,OAAOM,eAAeC,OAAS,SAASJ,EAAgBC,EAAGC,GAAKD,EAAEI,UAAYH,EAAG,OAAOD,CAAG,EAAG,OAAOD,EAAgBC,EAAGC,EAAI,CACvM,IAAII,GAAoBlB,EAAOI,EAAe,yCAA0CJ,EAAKC,GAAUC,EAAuB,SAAUiB,GACtId,EAAea,EAAkBC,GACjC,SAASD,EAAiBE,EAAKC,GAG7B,OAAOF,EAAsBG,KAAKC,KAAMH,EAAKC,IAAcE,IAC7D,CACApB,EAAWe,EACX,IAAIM,EAASN,EAAiBV,UAC9BgB,EAAOC,UAAY,SAASA,EAAUC,GAGpCP,EAAsBX,UAAUiB,UAAUH,KAAKC,KAAMG,GACrD,MAAMC,EAAYD,EAAQE,KAAK,wBAC/B,GAAIC,MAAMC,QAAQH,IAAcA,EAAUI,OAAS,EAAG,CACpD,MAAMC,EAAWN,EAAQE,KAAK,wBAAwBD,EAAUI,OAAS,GACvEE,EAAYD,EAASE,aACvB,GAAID,EAAW,CAEb,IAAK,MAAME,KAAOF,EAAW,CAC3B,GAAIA,EAAUE,IAAQA,IAAQ,MAAO,CACnC,OAAOZ,IACT,CACF,CACF,CACA,OAAOA,IACT,CACF,EACAC,EAAOY,QAAU,SAASA,EAAQC,GAChC,MAAMX,EAAUH,KAAKe,YACrB,GAAIZ,EAAS,CACX,MAAMM,EAAWT,KAAKgB,kBACtB,GAAIP,EAAU,CACZjC,EAASyC,WAAWjB,KAAKe,YAAaN,EAASS,SACjD,CACAlB,KAAKmB,gBAAgBhB,EACvB,CACA5B,EAAQU,UAAU4B,QAAQO,MAAMpB,KAAM,CAACc,GACzC,EACAb,EAAOoB,WAAa,SAASA,EAAWC,GACtC,IAAIb,EACFc,EAAiBvB,KAAKe,YACtBS,EACF,IAAKD,EAAgB,CACnB3B,EAAsBX,UAAUoC,WAAWtB,KAAKC,KAAMsB,EACxD,CACA,OAAQE,GAAcD,EAAgB,CACpCC,EAAalD,EAAUmD,qBAAqBF,GAC5CA,EAAiBA,EAAeR,WAClC,CACA,GAAIS,EAAY,CACdf,EAAWe,EAAWE,WAAW1B,KAAK0B,cACtC,GAAIjB,EAAU,CACZb,EAAsBX,UAAUoC,WAAWtB,KAAKC,KAAMsB,EACxD,KAAO,CACLnD,EAAIwD,KAAK,gFAAkF3B,KAAK0B,aAClG,CACF,CACA,OAAO1B,IACT,EACA,OAAOL,CACT,CA7D8H,CA6D5HtB,GAAuBM,EAAQiD,eAAiBC,GACzCC,IACL,MAAMC,EAAmB1D,EAAqB2D,KAAKF,EAAMG,YAAaJ,GACtEE,IAAqB,MAAQA,SAA0B,OAAS,EAAIA,EAAiBG,SAAS,EAE/FvD,KAAaD,GAChBE,EAAWe,EACX,OAAOf,CACT,EAAG"}
1
+ {"version":3,"file":"CommandExecution.js","names":["sap","ui","define","Log","ClassSupport","CoreCommandExecution","Component","Element","Shortcut","_dec","_class","_exports","defineUI5Class","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","CommandExecution","_CoreCommandExecution","sId","mSettings","call","this","_proto","setParent","oParent","aCommands","data","Array","isArray","length","oCommand","oShortcut","shortcutSpec","key","destroy","bSuppressInvalidate","getParent","_getCommandInfo","unregister","shortcut","_cleanupContext","apply","setVisible","bValue","oParentControl","oComponent","getOwnerComponentFor","getCommand","info"],"sources":["CommandExecution-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,eAAgB,mCAAoC,+BAAgC,wBAAyB,sBAAuB,wBAAyB,SAAUC,EAAKC,EAAcC,EAAsBC,EAAWC,EAASC,GACjP,aAEA,IAAIC,EAAMC,EACV,IAAIC,EAAW,CAAC,EAChB,IAAIC,EAAiBR,EAAaQ,eAClC,SAASC,EAAeC,EAAUC,GAAcD,EAASE,UAAYC,OAAOC,OAAOH,EAAWC,WAAYF,EAASE,UAAUG,YAAcL,EAAUM,EAAgBN,EAAUC,EAAa,CAC5L,SAASK,EAAgBC,EAAGC,GAAKF,EAAkBH,OAAOM,eAAiBN,OAAOM,eAAeC,OAAS,SAASJ,EAAgBC,EAAGC,GAAKD,EAAEI,UAAYH,EAAG,OAAOD,CAAG,EAAG,OAAOD,EAAgBC,EAAGC,EAAI,CACvM,IAAII,GAAoBjB,EAAOG,EAAe,yCAA0CH,EAAKC,EAAsB,SAAUiB,GAC3Hd,EAAea,EAAkBC,GACjC,SAASD,EAAiBE,EAAKC,GAG7B,OAAOF,EAAsBG,KAAKC,KAAMH,EAAKC,IAAcE,IAC7D,CACApB,EAAWe,EACX,IAAIM,EAASN,EAAiBV,UAC9BgB,EAAOC,UAAY,SAASA,EAAUC,GAGpCP,EAAsBX,UAAUiB,UAAUH,KAAKC,KAAMG,GACrD,MAAMC,EAAYD,EAAQE,KAAK,wBAC/B,GAAIC,MAAMC,QAAQH,IAAcA,EAAUI,OAAS,EAAG,CACpD,MAAMC,EAAWN,EAAQE,KAAK,wBAAwBD,EAAUI,OAAS,GACvEE,EAAYD,EAASE,aACvB,GAAID,EAAW,CAEb,IAAK,MAAME,KAAOF,EAAW,CAC3B,GAAIA,EAAUE,IAAQA,IAAQ,MAAO,CACnC,OAAOZ,IACT,CACF,CACF,CACA,OAAOA,IACT,CACF,EACAC,EAAOY,QAAU,SAASA,EAAQC,GAChC,MAAMX,EAAUH,KAAKe,YACrB,GAAIZ,EAAS,CACX,MAAMM,EAAWT,KAAKgB,kBACtB,GAAIP,EAAU,CACZhC,EAASwC,WAAWjB,KAAKe,YAAaN,EAASS,SACjD,CACAlB,KAAKmB,gBAAgBhB,EACvB,CACA3B,EAAQS,UAAU4B,QAAQO,MAAMpB,KAAM,CAACc,GACzC,EACAb,EAAOoB,WAAa,SAASA,EAAWC,GACtC,IAAIb,EACFc,EAAiBvB,KAAKe,YACtBS,EACF,IAAKD,EAAgB,CACnB3B,EAAsBX,UAAUoC,WAAWtB,KAAKC,KAAMsB,EACxD,CACA,OAAQE,GAAcD,EAAgB,CACpCC,EAAajD,EAAUkD,qBAAqBF,GAC5CA,EAAiBA,EAAeR,WAClC,CACA,GAAIS,EAAY,CACdf,EAAWe,EAAWE,WAAW1B,KAAK0B,cACtC,GAAIjB,EAAU,CACZb,EAAsBX,UAAUoC,WAAWtB,KAAKC,KAAMsB,EACxD,KAAO,CACLlD,EAAIuD,KAAK,gFAAkF3B,KAAK0B,aAClG,CACF,CACA,OAAO1B,IACT,EACA,OAAOL,CACT,CA7DmH,CA6DjHrB,KAA0BK,GAC5BC,EAAWe,EACX,OAAOf,CACT,EAAG"}
@@ -1,7 +1,6 @@
1
1
  import Log from "sap/base/Log";
2
2
  import { BindingToolkitExpression } from "sap/fe/core/helpers/BindingToolkit";
3
3
  import { defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
4
- import type Event from "sap/ui/base/Event";
5
4
  import CoreCommandExecution from "sap/ui/core/CommandExecution";
6
5
  import Component from "sap/ui/core/Component";
7
6
  import Element from "sap/ui/core/Element";
@@ -78,11 +77,4 @@ export default class CommandExecution extends CoreCommandExecution {
78
77
  }
79
78
  return this;
80
79
  }
81
-
82
- static executeCommand = (command: string) => {
83
- return (event: Event) => {
84
- const commandExecution = (CoreCommandExecution as any).find(event.getSource(), command);
85
- commandExecution?.trigger();
86
- };
87
- };
88
80
  }
@@ -0,0 +1,335 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/base/Log", "sap/fe/core/buildingBlocks/BuildingBlockSupport", "sap/fe/core/buildingBlocks/RuntimeBuildingBlock", "sap/fe/core/helpers/ClassSupport", "sap/fe/core/helpers/ResourceModelHelper", "sap/m/Button", "sap/m/CustomListItem", "sap/m/Dialog", "sap/m/Label", "sap/m/List", "sap/m/Text", "sap/m/VBox", "sap/ui/core/CustomData", "sap/ui/core/library", "sap/fe/core/jsx-runtime/jsx", "sap/fe/core/jsx-runtime/jsxs", "sap/fe/core/jsx-runtime/Fragment"], function (Log, BuildingBlockSupport, RuntimeBuildingBlock, ClassSupport, ResourceModelHelper, Button, CustomListItem, Dialog, Label, List, Text, VBox, CustomData, library, _jsx, _jsxs, _Fragment) {
6
+ "use strict";
7
+
8
+ var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
9
+ var _exports = {};
10
+ var ValueState = library.ValueState;
11
+ var getResourceModel = ResourceModelHelper.getResourceModel;
12
+ var defineReference = ClassSupport.defineReference;
13
+ var defineBuildingBlock = BuildingBlockSupport.defineBuildingBlock;
14
+ function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
15
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16
+ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
17
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
18
+ function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
19
+ function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }
20
+ var DraftDataLossOptions;
21
+ (function (DraftDataLossOptions) {
22
+ DraftDataLossOptions["Save"] = "draftDataLossOptionSave";
23
+ DraftDataLossOptions["Keep"] = "draftDataLossOptionKeep";
24
+ DraftDataLossOptions["Discard"] = "draftDataLossOptionDiscard";
25
+ })(DraftDataLossOptions || (DraftDataLossOptions = {}));
26
+ let DraftDataLossDialogBlock = (_dec = defineBuildingBlock({
27
+ name: "DraftDataLossDialog",
28
+ namespace: "sap.fe.core.controllerextensions"
29
+ }), _dec2 = defineReference(), _dec3 = defineReference(), _dec(_class = (_class2 = /*#__PURE__*/function (_RuntimeBuildingBlock) {
30
+ _inheritsLoose(DraftDataLossDialogBlock, _RuntimeBuildingBlock);
31
+ function DraftDataLossDialogBlock(props) {
32
+ var _this;
33
+ _this = _RuntimeBuildingBlock.call(this, props) || this;
34
+ _initializerDefineProperty(_this, "dataLossDialog", _descriptor, _assertThisInitialized(_this));
35
+ _initializerDefineProperty(_this, "optionsList", _descriptor2, _assertThisInitialized(_this));
36
+ return _this;
37
+ }
38
+ _exports = DraftDataLossDialogBlock;
39
+ var _proto = DraftDataLossDialogBlock.prototype;
40
+ /**
41
+ * Opens the data loss dialog.
42
+ *
43
+ * @function
44
+ * @name dataLossConfirmation
45
+ */
46
+ _proto.dataLossConfirmation = function dataLossConfirmation() {
47
+ var _this$optionsList$cur;
48
+ const view = this.controller.getView();
49
+ this.dataLossResourceModel = getResourceModel(view);
50
+ this.getContent();
51
+ const dataLossConfirm = () => this.handleDataLossOk();
52
+ (_this$optionsList$cur = this.optionsList.current) === null || _this$optionsList$cur === void 0 ? void 0 : _this$optionsList$cur.addEventDelegate({
53
+ onsapenter: function () {
54
+ dataLossConfirm();
55
+ }
56
+ });
57
+ view.addDependent(this.dataLossDialog.current);
58
+ this.openDataLossDialog();
59
+ this.selectAndFocusFirstEntry();
60
+ }
61
+
62
+ /**
63
+ * Executes the follow-up function and resolves/rejects the promise.
64
+ *
65
+ * @function
66
+ * @name performAfterDiscardorKeepDraft
67
+ * @param processFunctionOnDatalossOk Callback to process the draft handler
68
+ * @param processFunctionOnDatalossCancel Callback to process the cancel function
69
+ * @param controller Controller of the current view
70
+ * @param skipBindingToView The parameter to skip the binding to the view
71
+ */;
72
+ _proto.performAfterDiscardorKeepDraft = async function performAfterDiscardorKeepDraft(processFunctionOnDatalossOk, processFunctionOnDatalossCancel, controller, skipBindingToView) {
73
+ this.controller = controller;
74
+ this.skipBindingToView = skipBindingToView;
75
+ this.dataLossConfirmation();
76
+ return new Promise((resolve, reject) => {
77
+ this.onDataLossConfirmationFollowUpFunction = context => {
78
+ const value = processFunctionOnDatalossOk(context);
79
+ resolve(value);
80
+ };
81
+ this.onDataLossCancelFollowUpFunction = () => {
82
+ processFunctionOnDatalossCancel();
83
+ reject();
84
+ };
85
+ });
86
+ }
87
+
88
+ /**
89
+ * Executes the logic when the data loss dialog is confirmed. The selection of an option resolves the promise and leads to the
90
+ * processing of the originally triggered action like e.g. a back navigation.
91
+ *
92
+ * @function
93
+ * @name handleDataLossOk
94
+ */;
95
+ _proto.handleDataLossOk = function handleDataLossOk() {
96
+ const selectedKey = this.getSelectedKey();
97
+ if (selectedKey === DraftDataLossOptions.Save) {
98
+ this.saveDocument(this.controller).then(this.onDataLossConfirmationFollowUpFunction).catch(function (error) {
99
+ Log.error("Error while saving document", error);
100
+ });
101
+ this.closeDataLossDialog();
102
+ } else if (selectedKey === DraftDataLossOptions.Keep) {
103
+ this.onDataLossConfirmationFollowUpFunction();
104
+ this.closeDataLossDialog();
105
+ } else if (selectedKey === DraftDataLossOptions.Discard) {
106
+ this.discardDraft(this.controller, this.skipBindingToView).then(this.onDataLossConfirmationFollowUpFunction).catch(function (error) {
107
+ Log.error("Error while discarding draft", error);
108
+ });
109
+ this.closeDataLossDialog();
110
+ }
111
+ }
112
+
113
+ /**
114
+ * Handler to close the dataloss dialog.
115
+ *
116
+ * @function
117
+ * @name handleDataLossCancel
118
+ */;
119
+ _proto.handleDataLossCancel = function handleDataLossCancel() {
120
+ this.onDataLossCancelFollowUpFunction();
121
+ this.closeDataLossDialog();
122
+ }
123
+
124
+ /**
125
+ * Sets the focus on the first list item of the dialog.
126
+ *
127
+ * @function
128
+ * @name selectAndFocusFirstEntry
129
+ */;
130
+ _proto.selectAndFocusFirstEntry = function selectAndFocusFirstEntry() {
131
+ var _this$optionsList$cur2, _this$optionsList$cur3;
132
+ const firstListItemOption = (_this$optionsList$cur2 = this.optionsList.current) === null || _this$optionsList$cur2 === void 0 ? void 0 : _this$optionsList$cur2.getItems()[0];
133
+ (_this$optionsList$cur3 = this.optionsList.current) === null || _this$optionsList$cur3 === void 0 ? void 0 : _this$optionsList$cur3.setSelectedItem(firstListItemOption);
134
+ // We do not set the focus on the button, but catch the ENTER key in the dialog
135
+ // and process it as Ok, since focusing the button was reported as an ACC issue
136
+ firstListItemOption === null || firstListItemOption === void 0 ? void 0 : firstListItemOption.focus();
137
+ }
138
+
139
+ /**
140
+ * Discards the draft.
141
+ *
142
+ * @function
143
+ * @name discardDraft
144
+ * @param controller Controller of the current view
145
+ * @param skipBindingToView The parameter to skip the binding to the view
146
+ * @returns A promise resolved if cancelDocument was successful
147
+ */;
148
+ _proto.discardDraft = async function discardDraft(controller, skipBindingToView) {
149
+ const context = controller.getView().getBindingContext();
150
+ const params = {
151
+ skipBackNavigation: true,
152
+ skipDiscardPopover: true,
153
+ skipBindingToView: skipBindingToView !== undefined ? skipBindingToView : true
154
+ };
155
+ return controller.editFlow.cancelDocument(context, params);
156
+ }
157
+
158
+ /**
159
+ * Saves the document. If the controller is of type ObjectPage, then internal _saveDocument is called, otherwise saveDocument
160
+ * from EditFlow is called.
161
+ *
162
+ * @function
163
+ * @name saveDocument
164
+ * @param controller Controller of the current view
165
+ * @returns A promise resolved if the save was successful
166
+ */;
167
+ _proto.saveDocument = function saveDocument(controller) {
168
+ const context = controller.getView().getBindingContext();
169
+ if (controller.isA("sap.fe.templates.ObjectPage.ObjectPageController")) {
170
+ return controller._saveDocument(context);
171
+ } else {
172
+ return controller.editFlow.saveDocument(context, {});
173
+ }
174
+ }
175
+
176
+ /**
177
+ * Gets the key of the selected item from the list of options that was set via customData.
178
+ *
179
+ * @function
180
+ * @name getSelectedKey
181
+ * @returns The key of the currently selected item
182
+ */;
183
+ _proto.getSelectedKey = function getSelectedKey() {
184
+ const optionsList = this.optionsList.current;
185
+ return optionsList.getSelectedItem().data("itemKey");
186
+ }
187
+
188
+ /**
189
+ * Handler to open the dataloss dialog.
190
+ *
191
+ * @function
192
+ * @name openDataLossDialog
193
+ */;
194
+ _proto.openDataLossDialog = function openDataLossDialog() {
195
+ var _this$dataLossDialog$;
196
+ (_this$dataLossDialog$ = this.dataLossDialog.current) === null || _this$dataLossDialog$ === void 0 ? void 0 : _this$dataLossDialog$.open();
197
+ }
198
+
199
+ /**
200
+ * Handler to close the dataloss dialog.
201
+ *
202
+ * @function
203
+ * @name closeDataLossDialog
204
+ */;
205
+ _proto.closeDataLossDialog = function closeDataLossDialog() {
206
+ var _this$dataLossDialog$2, _this$dataLossDialog$3;
207
+ (_this$dataLossDialog$2 = this.dataLossDialog.current) === null || _this$dataLossDialog$2 === void 0 ? void 0 : _this$dataLossDialog$2.close();
208
+ (_this$dataLossDialog$3 = this.dataLossDialog.current) === null || _this$dataLossDialog$3 === void 0 ? void 0 : _this$dataLossDialog$3.destroy();
209
+ }
210
+
211
+ /**
212
+ * Returns the confirm button.
213
+ *
214
+ * @function
215
+ * @name getConfirmButton
216
+ * @returns A button
217
+ */;
218
+ _proto.getConfirmButton = function getConfirmButton() {
219
+ return _jsx(Button, {
220
+ text: this.dataLossResourceModel.getText("C_COMMON_DIALOG_OK"),
221
+ type: "Emphasized",
222
+ press: () => this.handleDataLossOk()
223
+ });
224
+ }
225
+
226
+ /**
227
+ * Returns the cancel button.
228
+ *
229
+ * @function
230
+ * @name getCancelButton
231
+ * @returns A button
232
+ */;
233
+ _proto.getCancelButton = function getCancelButton() {
234
+ return _jsx(Button, {
235
+ text: this.dataLossResourceModel.getText("C_COMMON_DIALOG_CANCEL"),
236
+ press: () => this.handleDataLossCancel()
237
+ });
238
+ }
239
+
240
+ /**
241
+ * The building block render function.
242
+ *
243
+ * @returns An XML-based string
244
+ */;
245
+ _proto.getContent = function getContent() {
246
+ var _this$controller$getV;
247
+ const hasActiveEntity = (_this$controller$getV = this.controller.getView().getBindingContext()) === null || _this$controller$getV === void 0 ? void 0 : _this$controller$getV.getObject().HasActiveEntity;
248
+ const description = hasActiveEntity ? this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_POPUP_MESSAGE_SAVE") : this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_POPUP_MESSAGE_CREATE");
249
+ const createOrSaveLabel = hasActiveEntity ? this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_SAVE_DRAFT_RBL") : this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_CREATE_ENTITY_RBL");
250
+ const createOrSaveText = hasActiveEntity ? this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_SAVE_DRAFT_TOL") : this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_CREATE_ENTITY_TOL");
251
+ return _jsx(Dialog, {
252
+ title: this.dataLossResourceModel.getText("WARNING"),
253
+ state: ValueState.Warning,
254
+ type: "Message",
255
+ contentWidth: "22rem",
256
+ ref: this.dataLossDialog,
257
+ children: {
258
+ content: _jsxs(_Fragment, {
259
+ children: [_jsx(Text, {
260
+ text: description,
261
+ class: "sapUiTinyMarginBegin sapUiTinyMarginTopBottom"
262
+ }), _jsxs(List, {
263
+ mode: "SingleSelectLeft",
264
+ showSeparators: "None",
265
+ includeItemInSelection: "true",
266
+ backgroundDesign: "Transparent",
267
+ class: "sapUiNoContentPadding",
268
+ ref: this.optionsList,
269
+ children: [_jsx(CustomListItem, {
270
+ customData: [new CustomData({
271
+ key: "itemKey",
272
+ value: "draftDataLossOptionSave"
273
+ })],
274
+ children: _jsxs(VBox, {
275
+ class: "sapUiTinyMargin",
276
+ children: [_jsx(Label, {
277
+ text: createOrSaveLabel,
278
+ design: "Bold"
279
+ }), _jsx(Text, {
280
+ text: createOrSaveText
281
+ })]
282
+ })
283
+ }), _jsx(CustomListItem, {
284
+ customData: [new CustomData({
285
+ key: "itemKey",
286
+ value: "draftDataLossOptionKeep"
287
+ })],
288
+ children: _jsxs(VBox, {
289
+ class: "sapUiTinyMargin",
290
+ children: [_jsx(Label, {
291
+ text: this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_KEEP_DRAFT_RBL"),
292
+ design: "Bold"
293
+ }), _jsx(Text, {
294
+ text: this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_KEEP_DRAFT_TOL")
295
+ })]
296
+ })
297
+ }), _jsx(CustomListItem, {
298
+ customData: [new CustomData({
299
+ key: "itemKey",
300
+ value: "draftDataLossOptionDiscard"
301
+ })],
302
+ children: _jsxs(VBox, {
303
+ class: "sapUiTinyMargin",
304
+ children: [_jsx(Label, {
305
+ text: this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_DISCARD_DRAFT_RBL"),
306
+ design: "Bold"
307
+ }), _jsx(Text, {
308
+ text: this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_DISCARD_DRAFT_TOL")
309
+ })]
310
+ })
311
+ })]
312
+ })]
313
+ }),
314
+ buttons: _jsxs(_Fragment, {
315
+ children: ["confirmButton = ", this.getConfirmButton(), "cancelButton = ", this.getCancelButton()]
316
+ })
317
+ }
318
+ });
319
+ };
320
+ return DraftDataLossDialogBlock;
321
+ }(RuntimeBuildingBlock), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "dataLossDialog", [_dec2], {
322
+ configurable: true,
323
+ enumerable: true,
324
+ writable: true,
325
+ initializer: null
326
+ }), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "optionsList", [_dec3], {
327
+ configurable: true,
328
+ enumerable: true,
329
+ writable: true,
330
+ initializer: null
331
+ })), _class2)) || _class);
332
+ _exports = DraftDataLossDialogBlock;
333
+ return _exports;
334
+ }, false);
335
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEcmFmdERhdGFMb3NzT3B0aW9ucyIsIkRyYWZ0RGF0YUxvc3NEaWFsb2dCbG9jayIsImRlZmluZUJ1aWxkaW5nQmxvY2siLCJuYW1lIiwibmFtZXNwYWNlIiwiZGVmaW5lUmVmZXJlbmNlIiwicHJvcHMiLCJkYXRhTG9zc0NvbmZpcm1hdGlvbiIsInZpZXciLCJjb250cm9sbGVyIiwiZ2V0VmlldyIsImRhdGFMb3NzUmVzb3VyY2VNb2RlbCIsImdldFJlc291cmNlTW9kZWwiLCJnZXRDb250ZW50IiwiZGF0YUxvc3NDb25maXJtIiwiaGFuZGxlRGF0YUxvc3NPayIsIm9wdGlvbnNMaXN0IiwiY3VycmVudCIsImFkZEV2ZW50RGVsZWdhdGUiLCJvbnNhcGVudGVyIiwiYWRkRGVwZW5kZW50IiwiZGF0YUxvc3NEaWFsb2ciLCJvcGVuRGF0YUxvc3NEaWFsb2ciLCJzZWxlY3RBbmRGb2N1c0ZpcnN0RW50cnkiLCJwZXJmb3JtQWZ0ZXJEaXNjYXJkb3JLZWVwRHJhZnQiLCJwcm9jZXNzRnVuY3Rpb25PbkRhdGFsb3NzT2siLCJwcm9jZXNzRnVuY3Rpb25PbkRhdGFsb3NzQ2FuY2VsIiwic2tpcEJpbmRpbmdUb1ZpZXciLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsIm9uRGF0YUxvc3NDb25maXJtYXRpb25Gb2xsb3dVcEZ1bmN0aW9uIiwiY29udGV4dCIsInZhbHVlIiwib25EYXRhTG9zc0NhbmNlbEZvbGxvd1VwRnVuY3Rpb24iLCJzZWxlY3RlZEtleSIsImdldFNlbGVjdGVkS2V5IiwiU2F2ZSIsInNhdmVEb2N1bWVudCIsInRoZW4iLCJjYXRjaCIsImVycm9yIiwiTG9nIiwiY2xvc2VEYXRhTG9zc0RpYWxvZyIsIktlZXAiLCJEaXNjYXJkIiwiZGlzY2FyZERyYWZ0IiwiaGFuZGxlRGF0YUxvc3NDYW5jZWwiLCJmaXJzdExpc3RJdGVtT3B0aW9uIiwiZ2V0SXRlbXMiLCJzZXRTZWxlY3RlZEl0ZW0iLCJmb2N1cyIsImdldEJpbmRpbmdDb250ZXh0IiwicGFyYW1zIiwic2tpcEJhY2tOYXZpZ2F0aW9uIiwic2tpcERpc2NhcmRQb3BvdmVyIiwidW5kZWZpbmVkIiwiZWRpdEZsb3ciLCJjYW5jZWxEb2N1bWVudCIsImlzQSIsIl9zYXZlRG9jdW1lbnQiLCJnZXRTZWxlY3RlZEl0ZW0iLCJkYXRhIiwib3BlbiIsImNsb3NlIiwiZGVzdHJveSIsImdldENvbmZpcm1CdXR0b24iLCJnZXRUZXh0IiwiZ2V0Q2FuY2VsQnV0dG9uIiwiaGFzQWN0aXZlRW50aXR5IiwiZ2V0T2JqZWN0IiwiSGFzQWN0aXZlRW50aXR5IiwiZGVzY3JpcHRpb24iLCJjcmVhdGVPclNhdmVMYWJlbCIsImNyZWF0ZU9yU2F2ZVRleHQiLCJWYWx1ZVN0YXRlIiwiV2FybmluZyIsImNvbnRlbnQiLCJDdXN0b21EYXRhIiwia2V5IiwiYnV0dG9ucyIsIlJ1bnRpbWVCdWlsZGluZ0Jsb2NrIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJEcmFmdERhdGFMb3NzRGlhbG9nLmJsb2NrLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCB7IGRlZmluZUJ1aWxkaW5nQmxvY2sgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1N1cHBvcnRcIjtcbmltcG9ydCBSdW50aW1lQnVpbGRpbmdCbG9jayBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvUnVudGltZUJ1aWxkaW5nQmxvY2tcIjtcbmltcG9ydCB0eXBlIEVkaXRGbG93IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9FZGl0Rmxvd1wiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVJlZmVyZW5jZSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgZ2V0UmVzb3VyY2VNb2RlbCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1Jlc291cmNlTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgUmVmIH0gZnJvbSBcInNhcC9mZS9jb3JlL2pzeC1ydW50aW1lL2pzeFwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwic2FwL20vQnV0dG9uXCI7XG5pbXBvcnQgQ3VzdG9tTGlzdEl0ZW0gZnJvbSBcInNhcC9tL0N1c3RvbUxpc3RJdGVtXCI7XG5pbXBvcnQgRGlhbG9nIGZyb20gXCJzYXAvbS9EaWFsb2dcIjtcbmltcG9ydCBMYWJlbCBmcm9tIFwic2FwL20vTGFiZWxcIjtcbmltcG9ydCBMaXN0IGZyb20gXCJzYXAvbS9MaXN0XCI7XG5pbXBvcnQgVGV4dCBmcm9tIFwic2FwL20vVGV4dFwiO1xuaW1wb3J0IFZCb3ggZnJvbSBcInNhcC9tL1ZCb3hcIjtcbmltcG9ydCBDdXN0b21EYXRhIGZyb20gXCJzYXAvdWkvY29yZS9DdXN0b21EYXRhXCI7XG5pbXBvcnQgdHlwZSBVSTVFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5pbXBvcnQgeyBWYWx1ZVN0YXRlIH0gZnJvbSBcInNhcC91aS9jb3JlL2xpYnJhcnlcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBQYWdlQ29udHJvbGxlciBmcm9tIFwiLi4vLi4vUGFnZUNvbnRyb2xsZXJcIjtcbmltcG9ydCB0eXBlIFJlc291cmNlTW9kZWwgZnJvbSBcIi4uLy4uL1Jlc291cmNlTW9kZWxcIjtcblxuLy9jdXN0b20gdHlwZSBmb3IgY29udHJvbGxlciBpbiBvcmRlciB0byBhbGxvdyBhZGRpdGlvbmFsIHByb3BlcnRpZXNcbnR5cGUgRGF0YUxvc3NDb250cm9sbGVyID0gUGFnZUNvbnRyb2xsZXIgJiB7IF9zYXZlRG9jdW1lbnQ6IEZ1bmN0aW9uOyBlZGl0RmxvdzogRWRpdEZsb3cgfTtcblxuZW51bSBEcmFmdERhdGFMb3NzT3B0aW9ucyB7XG5cdFNhdmUgPSBcImRyYWZ0RGF0YUxvc3NPcHRpb25TYXZlXCIsXG5cdEtlZXAgPSBcImRyYWZ0RGF0YUxvc3NPcHRpb25LZWVwXCIsXG5cdERpc2NhcmQgPSBcImRyYWZ0RGF0YUxvc3NPcHRpb25EaXNjYXJkXCJcbn1cblxuQGRlZmluZUJ1aWxkaW5nQmxvY2soe1xuXHRuYW1lOiBcIkRyYWZ0RGF0YUxvc3NEaWFsb2dcIixcblx0bmFtZXNwYWNlOiBcInNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zXCJcbn0pXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcmFmdERhdGFMb3NzRGlhbG9nQmxvY2sgZXh0ZW5kcyBSdW50aW1lQnVpbGRpbmdCbG9jayB7XG5cdGNvbnN0cnVjdG9yKHByb3BzOiBQcm9wZXJ0aWVzT2Y8RHJhZnREYXRhTG9zc0RpYWxvZ0Jsb2NrPikge1xuXHRcdHN1cGVyKHByb3BzKTtcblx0fVxuXG5cdEBkZWZpbmVSZWZlcmVuY2UoKVxuXHRkYXRhTG9zc0RpYWxvZyE6IFJlZjxEaWFsb2c+O1xuXG5cdEBkZWZpbmVSZWZlcmVuY2UoKVxuXHRvcHRpb25zTGlzdCE6IFJlZjxMaXN0PjtcblxuXHRwcml2YXRlIG9uRGF0YUxvc3NDb25maXJtYXRpb25Gb2xsb3dVcEZ1bmN0aW9uITogKCkgPT4gdm9pZDtcblxuXHRwcml2YXRlIG9uRGF0YUxvc3NDYW5jZWxGb2xsb3dVcEZ1bmN0aW9uITogKCkgPT4gdm9pZDtcblxuXHRwcml2YXRlIGNvbnRyb2xsZXIhOiBEYXRhTG9zc0NvbnRyb2xsZXI7XG5cblx0cHJpdmF0ZSBkYXRhTG9zc1Jlc291cmNlTW9kZWwhOiBSZXNvdXJjZU1vZGVsO1xuXG5cdHByaXZhdGUgc2tpcEJpbmRpbmdUb1ZpZXchOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBPcGVucyB0aGUgZGF0YSBsb3NzIGRpYWxvZy5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGRhdGFMb3NzQ29uZmlybWF0aW9uXG5cdCAqL1xuXHRwcml2YXRlIGRhdGFMb3NzQ29uZmlybWF0aW9uKCkge1xuXHRcdGNvbnN0IHZpZXcgPSB0aGlzLmNvbnRyb2xsZXIuZ2V0VmlldygpO1xuXHRcdHRoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsID0gZ2V0UmVzb3VyY2VNb2RlbCh2aWV3KTtcblx0XHR0aGlzLmdldENvbnRlbnQoKTtcblx0XHRjb25zdCBkYXRhTG9zc0NvbmZpcm0gPSAoKSA9PiB0aGlzLmhhbmRsZURhdGFMb3NzT2soKTtcblx0XHR0aGlzLm9wdGlvbnNMaXN0LmN1cnJlbnQ/LmFkZEV2ZW50RGVsZWdhdGUoe1xuXHRcdFx0b25zYXBlbnRlcjogZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRkYXRhTG9zc0NvbmZpcm0oKTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHR2aWV3LmFkZERlcGVuZGVudCh0aGlzLmRhdGFMb3NzRGlhbG9nLmN1cnJlbnQgYXMgVUk1RWxlbWVudCk7XG5cdFx0dGhpcy5vcGVuRGF0YUxvc3NEaWFsb2coKTtcblx0XHR0aGlzLnNlbGVjdEFuZEZvY3VzRmlyc3RFbnRyeSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEV4ZWN1dGVzIHRoZSBmb2xsb3ctdXAgZnVuY3Rpb24gYW5kIHJlc29sdmVzL3JlamVjdHMgdGhlIHByb21pc2UuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBwZXJmb3JtQWZ0ZXJEaXNjYXJkb3JLZWVwRHJhZnRcblx0ICogQHBhcmFtIHByb2Nlc3NGdW5jdGlvbk9uRGF0YWxvc3NPayBDYWxsYmFjayB0byBwcm9jZXNzIHRoZSBkcmFmdCBoYW5kbGVyXG5cdCAqIEBwYXJhbSBwcm9jZXNzRnVuY3Rpb25PbkRhdGFsb3NzQ2FuY2VsIENhbGxiYWNrIHRvIHByb2Nlc3MgdGhlIGNhbmNlbCBmdW5jdGlvblxuXHQgKiBAcGFyYW0gY29udHJvbGxlciBDb250cm9sbGVyIG9mIHRoZSBjdXJyZW50IHZpZXdcblx0ICogQHBhcmFtIHNraXBCaW5kaW5nVG9WaWV3IFRoZSBwYXJhbWV0ZXIgdG8gc2tpcCB0aGUgYmluZGluZyB0byB0aGUgdmlld1xuXHQgKi9cblx0cHVibGljIGFzeW5jIHBlcmZvcm1BZnRlckRpc2NhcmRvcktlZXBEcmFmdChcblx0XHRwcm9jZXNzRnVuY3Rpb25PbkRhdGFsb3NzT2s6IEZ1bmN0aW9uLFxuXHRcdHByb2Nlc3NGdW5jdGlvbk9uRGF0YWxvc3NDYW5jZWw6IEZ1bmN0aW9uLFxuXHRcdGNvbnRyb2xsZXI6IERhdGFMb3NzQ29udHJvbGxlcixcblx0XHRza2lwQmluZGluZ1RvVmlldzogYm9vbGVhbiB8IHVuZGVmaW5lZFxuXHQpIHtcblx0XHR0aGlzLmNvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuXHRcdHRoaXMuc2tpcEJpbmRpbmdUb1ZpZXcgPSBza2lwQmluZGluZ1RvVmlldztcblx0XHR0aGlzLmRhdGFMb3NzQ29uZmlybWF0aW9uKCk7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiAodmFsdWU6IHVua25vd24pID0+IHZvaWQsIHJlamVjdDogKHJlYXNvbj86IHVua25vd24pID0+IHZvaWQpID0+IHtcblx0XHRcdHRoaXMub25EYXRhTG9zc0NvbmZpcm1hdGlvbkZvbGxvd1VwRnVuY3Rpb24gPSAoY29udGV4dD86IENvbnRleHQpID0+IHtcblx0XHRcdFx0Y29uc3QgdmFsdWUgPSBwcm9jZXNzRnVuY3Rpb25PbkRhdGFsb3NzT2soY29udGV4dCk7XG5cdFx0XHRcdHJlc29sdmUodmFsdWUpO1xuXHRcdFx0fTtcblx0XHRcdHRoaXMub25EYXRhTG9zc0NhbmNlbEZvbGxvd1VwRnVuY3Rpb24gPSAoKSA9PiB7XG5cdFx0XHRcdHByb2Nlc3NGdW5jdGlvbk9uRGF0YWxvc3NDYW5jZWwoKTtcblx0XHRcdFx0cmVqZWN0KCk7XG5cdFx0XHR9O1xuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEV4ZWN1dGVzIHRoZSBsb2dpYyB3aGVuIHRoZSBkYXRhIGxvc3MgZGlhbG9nIGlzIGNvbmZpcm1lZC4gVGhlIHNlbGVjdGlvbiBvZiBhbiBvcHRpb24gcmVzb2x2ZXMgdGhlIHByb21pc2UgYW5kIGxlYWRzIHRvIHRoZVxuXHQgKiBwcm9jZXNzaW5nIG9mIHRoZSBvcmlnaW5hbGx5IHRyaWdnZXJlZCBhY3Rpb24gbGlrZSBlLmcuIGEgYmFjayBuYXZpZ2F0aW9uLlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgaGFuZGxlRGF0YUxvc3NPa1xuXHQgKi9cblx0cHJpdmF0ZSBoYW5kbGVEYXRhTG9zc09rKCkge1xuXHRcdGNvbnN0IHNlbGVjdGVkS2V5ID0gdGhpcy5nZXRTZWxlY3RlZEtleSgpO1xuXHRcdGlmIChzZWxlY3RlZEtleSA9PT0gRHJhZnREYXRhTG9zc09wdGlvbnMuU2F2ZSkge1xuXHRcdFx0dGhpcy5zYXZlRG9jdW1lbnQodGhpcy5jb250cm9sbGVyKVxuXHRcdFx0XHQudGhlbih0aGlzLm9uRGF0YUxvc3NDb25maXJtYXRpb25Gb2xsb3dVcEZ1bmN0aW9uKVxuXHRcdFx0XHQuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRMb2cuZXJyb3IoXCJFcnJvciB3aGlsZSBzYXZpbmcgZG9jdW1lbnRcIiwgZXJyb3IpO1xuXHRcdFx0XHR9KTtcblx0XHRcdHRoaXMuY2xvc2VEYXRhTG9zc0RpYWxvZygpO1xuXHRcdH0gZWxzZSBpZiAoc2VsZWN0ZWRLZXkgPT09IERyYWZ0RGF0YUxvc3NPcHRpb25zLktlZXApIHtcblx0XHRcdHRoaXMub25EYXRhTG9zc0NvbmZpcm1hdGlvbkZvbGxvd1VwRnVuY3Rpb24oKTtcblx0XHRcdHRoaXMuY2xvc2VEYXRhTG9zc0RpYWxvZygpO1xuXHRcdH0gZWxzZSBpZiAoc2VsZWN0ZWRLZXkgPT09IERyYWZ0RGF0YUxvc3NPcHRpb25zLkRpc2NhcmQpIHtcblx0XHRcdHRoaXMuZGlzY2FyZERyYWZ0KHRoaXMuY29udHJvbGxlciwgdGhpcy5za2lwQmluZGluZ1RvVmlldylcblx0XHRcdFx0LnRoZW4odGhpcy5vbkRhdGFMb3NzQ29uZmlybWF0aW9uRm9sbG93VXBGdW5jdGlvbilcblx0XHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0TG9nLmVycm9yKFwiRXJyb3Igd2hpbGUgZGlzY2FyZGluZyBkcmFmdFwiLCBlcnJvcik7XG5cdFx0XHRcdH0pO1xuXHRcdFx0dGhpcy5jbG9zZURhdGFMb3NzRGlhbG9nKCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEhhbmRsZXIgdG8gY2xvc2UgdGhlIGRhdGFsb3NzIGRpYWxvZy5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGhhbmRsZURhdGFMb3NzQ2FuY2VsXG5cdCAqL1xuXHRwcml2YXRlIGhhbmRsZURhdGFMb3NzQ2FuY2VsKCkge1xuXHRcdHRoaXMub25EYXRhTG9zc0NhbmNlbEZvbGxvd1VwRnVuY3Rpb24oKTtcblx0XHR0aGlzLmNsb3NlRGF0YUxvc3NEaWFsb2coKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBmb2N1cyBvbiB0aGUgZmlyc3QgbGlzdCBpdGVtIG9mIHRoZSBkaWFsb2cuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBzZWxlY3RBbmRGb2N1c0ZpcnN0RW50cnlcblx0ICovXG5cdHByaXZhdGUgc2VsZWN0QW5kRm9jdXNGaXJzdEVudHJ5KCkge1xuXHRcdGNvbnN0IGZpcnN0TGlzdEl0ZW1PcHRpb246IEN1c3RvbUxpc3RJdGVtID0gdGhpcy5vcHRpb25zTGlzdC5jdXJyZW50Py5nZXRJdGVtcygpWzBdIGFzIEN1c3RvbUxpc3RJdGVtO1xuXHRcdHRoaXMub3B0aW9uc0xpc3QuY3VycmVudD8uc2V0U2VsZWN0ZWRJdGVtKGZpcnN0TGlzdEl0ZW1PcHRpb24pO1xuXHRcdC8vIFdlIGRvIG5vdCBzZXQgdGhlIGZvY3VzIG9uIHRoZSBidXR0b24sIGJ1dCBjYXRjaCB0aGUgRU5URVIga2V5IGluIHRoZSBkaWFsb2dcblx0XHQvLyBhbmQgcHJvY2VzcyBpdCBhcyBPaywgc2luY2UgZm9jdXNpbmcgdGhlIGJ1dHRvbiB3YXMgcmVwb3J0ZWQgYXMgYW4gQUNDIGlzc3VlXG5cdFx0Zmlyc3RMaXN0SXRlbU9wdGlvbj8uZm9jdXMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNjYXJkcyB0aGUgZHJhZnQuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBkaXNjYXJkRHJhZnRcblx0ICogQHBhcmFtIGNvbnRyb2xsZXIgQ29udHJvbGxlciBvZiB0aGUgY3VycmVudCB2aWV3XG5cdCAqIEBwYXJhbSBza2lwQmluZGluZ1RvVmlldyBUaGUgcGFyYW1ldGVyIHRvIHNraXAgdGhlIGJpbmRpbmcgdG8gdGhlIHZpZXdcblx0ICogQHJldHVybnMgQSBwcm9taXNlIHJlc29sdmVkIGlmIGNhbmNlbERvY3VtZW50IHdhcyBzdWNjZXNzZnVsXG5cdCAqL1xuXHRwdWJsaWMgYXN5bmMgZGlzY2FyZERyYWZ0KGNvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyLCBza2lwQmluZGluZ1RvVmlldzogdW5rbm93bikge1xuXHRcdGNvbnN0IGNvbnRleHQgPSBjb250cm9sbGVyLmdldFZpZXcoKS5nZXRCaW5kaW5nQ29udGV4dCgpIGFzIENvbnRleHQ7XG5cdFx0Y29uc3QgcGFyYW1zID0ge1xuXHRcdFx0c2tpcEJhY2tOYXZpZ2F0aW9uOiB0cnVlLFxuXHRcdFx0c2tpcERpc2NhcmRQb3BvdmVyOiB0cnVlLFxuXHRcdFx0c2tpcEJpbmRpbmdUb1ZpZXc6IHNraXBCaW5kaW5nVG9WaWV3ICE9PSB1bmRlZmluZWQgPyBza2lwQmluZGluZ1RvVmlldyA6IHRydWVcblx0XHR9O1xuXHRcdHJldHVybiBjb250cm9sbGVyLmVkaXRGbG93LmNhbmNlbERvY3VtZW50KGNvbnRleHQsIHBhcmFtcyk7XG5cdH1cblxuXHQvKipcblx0ICogU2F2ZXMgdGhlIGRvY3VtZW50LiBJZiB0aGUgY29udHJvbGxlciBpcyBvZiB0eXBlIE9iamVjdFBhZ2UsIHRoZW4gaW50ZXJuYWwgX3NhdmVEb2N1bWVudCBpcyBjYWxsZWQsIG90aGVyd2lzZSBzYXZlRG9jdW1lbnRcblx0ICogZnJvbSBFZGl0RmxvdyBpcyBjYWxsZWQuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBzYXZlRG9jdW1lbnRcblx0ICogQHBhcmFtIGNvbnRyb2xsZXIgQ29udHJvbGxlciBvZiB0aGUgY3VycmVudCB2aWV3XG5cdCAqIEByZXR1cm5zIEEgcHJvbWlzZSByZXNvbHZlZCBpZiB0aGUgc2F2ZSB3YXMgc3VjY2Vzc2Z1bFxuXHQgKi9cblx0cHJpdmF0ZSBzYXZlRG9jdW1lbnQoY29udHJvbGxlcjogRGF0YUxvc3NDb250cm9sbGVyKSB7XG5cdFx0Y29uc3QgY29udGV4dCA9IGNvbnRyb2xsZXIuZ2V0VmlldygpLmdldEJpbmRpbmdDb250ZXh0KCkgYXMgQ29udGV4dDtcblx0XHRpZiAoY29udHJvbGxlci5pc0EoXCJzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuT2JqZWN0UGFnZUNvbnRyb2xsZXJcIikpIHtcblx0XHRcdHJldHVybiBjb250cm9sbGVyLl9zYXZlRG9jdW1lbnQoY29udGV4dCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiAoY29udHJvbGxlciBhcyBEYXRhTG9zc0NvbnRyb2xsZXIpLmVkaXRGbG93LnNhdmVEb2N1bWVudChjb250ZXh0LCB7fSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGtleSBvZiB0aGUgc2VsZWN0ZWQgaXRlbSBmcm9tIHRoZSBsaXN0IG9mIG9wdGlvbnMgdGhhdCB3YXMgc2V0IHZpYSBjdXN0b21EYXRhLlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgZ2V0U2VsZWN0ZWRLZXlcblx0ICogQHJldHVybnMgVGhlIGtleSBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW1cblx0ICovXG5cdHByaXZhdGUgZ2V0U2VsZWN0ZWRLZXkoKSB7XG5cdFx0Y29uc3Qgb3B0aW9uc0xpc3QgPSB0aGlzLm9wdGlvbnNMaXN0LmN1cnJlbnQgYXMgTGlzdDtcblx0XHRyZXR1cm4gb3B0aW9uc0xpc3QuZ2V0U2VsZWN0ZWRJdGVtKCkuZGF0YShcIml0ZW1LZXlcIik7XG5cdH1cblxuXHQvKipcblx0ICogSGFuZGxlciB0byBvcGVuIHRoZSBkYXRhbG9zcyBkaWFsb2cuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBvcGVuRGF0YUxvc3NEaWFsb2dcblx0ICovXG5cdHByaXZhdGUgb3BlbkRhdGFMb3NzRGlhbG9nKCkge1xuXHRcdHRoaXMuZGF0YUxvc3NEaWFsb2cuY3VycmVudD8ub3BlbigpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEhhbmRsZXIgdG8gY2xvc2UgdGhlIGRhdGFsb3NzIGRpYWxvZy5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGNsb3NlRGF0YUxvc3NEaWFsb2dcblx0ICovXG5cdHByaXZhdGUgY2xvc2VEYXRhTG9zc0RpYWxvZygpIHtcblx0XHR0aGlzLmRhdGFMb3NzRGlhbG9nLmN1cnJlbnQ/LmNsb3NlKCk7XG5cdFx0dGhpcy5kYXRhTG9zc0RpYWxvZy5jdXJyZW50Py5kZXN0cm95KCk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY29uZmlybSBidXR0b24uXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBnZXRDb25maXJtQnV0dG9uXG5cdCAqIEByZXR1cm5zIEEgYnV0dG9uXG5cdCAqL1xuXHRwcml2YXRlIGdldENvbmZpcm1CdXR0b24oKSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdDxCdXR0b25cblx0XHRcdFx0dGV4dD17dGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfQ09NTU9OX0RJQUxPR19PS1wiKX1cblx0XHRcdFx0dHlwZT17XCJFbXBoYXNpemVkXCJ9XG5cdFx0XHRcdHByZXNzPXsoKSA9PiB0aGlzLmhhbmRsZURhdGFMb3NzT2soKX1cblx0XHRcdC8+XG5cdFx0KSBhcyBCdXR0b247XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY2FuY2VsIGJ1dHRvbi5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGdldENhbmNlbEJ1dHRvblxuXHQgKiBAcmV0dXJucyBBIGJ1dHRvblxuXHQgKi9cblx0cHJpdmF0ZSBnZXRDYW5jZWxCdXR0b24oKSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdDxCdXR0b24gdGV4dD17dGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfQ09NTU9OX0RJQUxPR19DQU5DRUxcIil9IHByZXNzPXsoKSA9PiB0aGlzLmhhbmRsZURhdGFMb3NzQ2FuY2VsKCl9IC8+XG5cdFx0KSBhcyBCdXR0b247XG5cdH1cblxuXHQvKipcblx0ICogVGhlIGJ1aWxkaW5nIGJsb2NrIHJlbmRlciBmdW5jdGlvbi5cblx0ICpcblx0ICogQHJldHVybnMgQW4gWE1MLWJhc2VkIHN0cmluZ1xuXHQgKi9cblx0Z2V0Q29udGVudCgpIHtcblx0XHRjb25zdCBoYXNBY3RpdmVFbnRpdHkgPSB0aGlzLmNvbnRyb2xsZXIuZ2V0VmlldygpLmdldEJpbmRpbmdDb250ZXh0KCk/LmdldE9iamVjdCgpLkhhc0FjdGl2ZUVudGl0eTtcblx0XHRjb25zdCBkZXNjcmlwdGlvbiA9IGhhc0FjdGl2ZUVudGl0eVxuXHRcdFx0PyB0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiU1RfRFJBRlRfREFUQUxPU1NfUE9QVVBfTUVTU0FHRV9TQVZFXCIpXG5cdFx0XHQ6IHRoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19QT1BVUF9NRVNTQUdFX0NSRUFURVwiKTtcblx0XHRjb25zdCBjcmVhdGVPclNhdmVMYWJlbCA9IGhhc0FjdGl2ZUVudGl0eVxuXHRcdFx0PyB0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiU1RfRFJBRlRfREFUQUxPU1NfU0FWRV9EUkFGVF9SQkxcIilcblx0XHRcdDogdGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlNUX0RSQUZUX0RBVEFMT1NTX0NSRUFURV9FTlRJVFlfUkJMXCIpO1xuXHRcdGNvbnN0IGNyZWF0ZU9yU2F2ZVRleHQgPSBoYXNBY3RpdmVFbnRpdHlcblx0XHRcdD8gdGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlNUX0RSQUZUX0RBVEFMT1NTX1NBVkVfRFJBRlRfVE9MXCIpXG5cdFx0XHQ6IHRoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19DUkVBVEVfRU5USVRZX1RPTFwiKTtcblx0XHRyZXR1cm4gKFxuXHRcdFx0PERpYWxvZ1xuXHRcdFx0XHR0aXRsZT17dGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIldBUk5JTkdcIil9XG5cdFx0XHRcdHN0YXRlPXtWYWx1ZVN0YXRlLldhcm5pbmd9XG5cdFx0XHRcdHR5cGU9e1wiTWVzc2FnZVwifVxuXHRcdFx0XHRjb250ZW50V2lkdGg9e1wiMjJyZW1cIn1cblx0XHRcdFx0cmVmPXt0aGlzLmRhdGFMb3NzRGlhbG9nfVxuXHRcdFx0PlxuXHRcdFx0XHR7e1xuXHRcdFx0XHRcdGNvbnRlbnQ6IChcblx0XHRcdFx0XHRcdDw+XG5cdFx0XHRcdFx0XHRcdDxUZXh0IHRleHQ9e2Rlc2NyaXB0aW9ufSBjbGFzcz1cInNhcFVpVGlueU1hcmdpbkJlZ2luIHNhcFVpVGlueU1hcmdpblRvcEJvdHRvbVwiIC8+XG5cdFx0XHRcdFx0XHRcdDxMaXN0XG5cdFx0XHRcdFx0XHRcdFx0bW9kZT1cIlNpbmdsZVNlbGVjdExlZnRcIlxuXHRcdFx0XHRcdFx0XHRcdHNob3dTZXBhcmF0b3JzPVwiTm9uZVwiXG5cdFx0XHRcdFx0XHRcdFx0aW5jbHVkZUl0ZW1JblNlbGVjdGlvbj1cInRydWVcIlxuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmREZXNpZ249XCJUcmFuc3BhcmVudFwiXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJzYXBVaU5vQ29udGVudFBhZGRpbmdcIlxuXHRcdFx0XHRcdFx0XHRcdHJlZj17dGhpcy5vcHRpb25zTGlzdH1cblx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdDxDdXN0b21MaXN0SXRlbSBjdXN0b21EYXRhPXtbbmV3IEN1c3RvbURhdGEoeyBrZXk6IFwiaXRlbUtleVwiLCB2YWx1ZTogXCJkcmFmdERhdGFMb3NzT3B0aW9uU2F2ZVwiIH0pXX0+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8VkJveCBjbGFzcz1cInNhcFVpVGlueU1hcmdpblwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8TGFiZWwgdGV4dD17Y3JlYXRlT3JTYXZlTGFiZWx9IGRlc2lnbj1cIkJvbGRcIiAvPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8VGV4dCB0ZXh0PXtjcmVhdGVPclNhdmVUZXh0fSAvPlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9WQm94PlxuXHRcdFx0XHRcdFx0XHRcdDwvQ3VzdG9tTGlzdEl0ZW0+XG5cdFx0XHRcdFx0XHRcdFx0PEN1c3RvbUxpc3RJdGVtIGN1c3RvbURhdGE9e1tuZXcgQ3VzdG9tRGF0YSh7IGtleTogXCJpdGVtS2V5XCIsIHZhbHVlOiBcImRyYWZ0RGF0YUxvc3NPcHRpb25LZWVwXCIgfSldfT5cblx0XHRcdFx0XHRcdFx0XHRcdDxWQm94IGNsYXNzPVwic2FwVWlUaW55TWFyZ2luXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxMYWJlbFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ9e3RoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19LRUVQX0RSQUZUX1JCTFwiKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkZXNpZ249XCJCb2xkXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PFRleHQgdGV4dD17dGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlNUX0RSQUZUX0RBVEFMT1NTX0tFRVBfRFJBRlRfVE9MXCIpfSAvPlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9WQm94PlxuXHRcdFx0XHRcdFx0XHRcdDwvQ3VzdG9tTGlzdEl0ZW0+XG5cdFx0XHRcdFx0XHRcdFx0PEN1c3RvbUxpc3RJdGVtIGN1c3RvbURhdGE9e1tuZXcgQ3VzdG9tRGF0YSh7IGtleTogXCJpdGVtS2V5XCIsIHZhbHVlOiBcImRyYWZ0RGF0YUxvc3NPcHRpb25EaXNjYXJkXCIgfSldfT5cblx0XHRcdFx0XHRcdFx0XHRcdDxWQm94IGNsYXNzPVwic2FwVWlUaW55TWFyZ2luXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxMYWJlbFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ9e3RoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19ESVNDQVJEX0RSQUZUX1JCTFwiKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkZXNpZ249XCJCb2xkXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PFRleHQgdGV4dD17dGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlNUX0RSQUZUX0RBVEFMT1NTX0RJU0NBUkRfRFJBRlRfVE9MXCIpfSAvPlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9WQm94PlxuXHRcdFx0XHRcdFx0XHRcdDwvQ3VzdG9tTGlzdEl0ZW0+XG5cdFx0XHRcdFx0XHRcdDwvTGlzdD5cblx0XHRcdFx0XHRcdDwvPlxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0YnV0dG9uczogKFxuXHRcdFx0XHRcdFx0PD5cblx0XHRcdFx0XHRcdFx0Y29uZmlybUJ1dHRvbiA9IHt0aGlzLmdldENvbmZpcm1CdXR0b24oKX1cblx0XHRcdFx0XHRcdFx0Y2FuY2VsQnV0dG9uID0ge3RoaXMuZ2V0Q2FuY2VsQnV0dG9uKCl9XG5cdFx0XHRcdFx0XHQ8Lz5cblx0XHRcdFx0XHQpXG5cdFx0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
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/base/Log","sap/fe/core/buildingBlocks/BuildingBlockSupport","sap/fe/core/buildingBlocks/RuntimeBuildingBlock","sap/fe/core/helpers/ClassSupport","sap/fe/core/helpers/ResourceModelHelper","sap/m/Button","sap/m/CustomListItem","sap/m/Dialog","sap/m/Label","sap/m/List","sap/m/Text","sap/m/VBox","sap/ui/core/CustomData","sap/ui/core/library","sap/fe/core/jsx-runtime/jsx","sap/fe/core/jsx-runtime/jsxs","sap/fe/core/jsx-runtime/Fragment"],function(e,t,o,i,s,n,a,r,l,c,u,d,p,D,f,g,h){"use strict";var L,T,_,m,v,A,S;var R={};var O=D.ValueState;var b=s.getResourceModel;var y=i.defineReference;var C=t.defineBuildingBlock;function F(e,t,o,i){if(!o)return;Object.defineProperty(e,t,{enumerable:o.enumerable,configurable:o.configurable,writable:o.writable,value:o.initializer?o.initializer.call(i):void 0})}function x(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function B(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;w(e,t)}function w(e,t){w=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,o){t.__proto__=o;return t};return w(e,t)}function E(e,t,o,i,s){var n={};Object.keys(i).forEach(function(e){n[e]=i[e]});n.enumerable=!!n.enumerable;n.configurable=!!n.configurable;if("value"in n||n.initializer){n.writable=true}n=o.slice().reverse().reduce(function(o,i){return i(e,t,o)||o},n);if(s&&n.initializer!==void 0){n.value=n.initializer?n.initializer.call(s):void 0;n.initializer=undefined}if(n.initializer===void 0){Object.defineProperty(e,t,n);n=null}return n}function M(e,t){throw new Error("Decorating class property failed. Please ensure that "+"proposal-class-properties is enabled and runs after the decorators transform.")}var k;(function(e){e["Save"]="draftDataLossOptionSave";e["Keep"]="draftDataLossOptionKeep";e["Discard"]="draftDataLossOptionDiscard"})(k||(k={}));let P=(L=C({name:"DraftDataLossDialog",namespace:"sap.fe.core.controllerextensions"}),T=y(),_=y(),L(m=(v=function(t){B(o,t);function o(e){var o;o=t.call(this,e)||this;F(o,"dataLossDialog",A,x(o));F(o,"optionsList",S,x(o));return o}R=o;var i=o.prototype;i.dataLossConfirmation=function e(){var t;const o=this.controller.getView();this.dataLossResourceModel=b(o);this.getContent();const i=()=>this.handleDataLossOk();(t=this.optionsList.current)===null||t===void 0?void 0:t.addEventDelegate({onsapenter:function(){i()}});o.addDependent(this.dataLossDialog.current);this.openDataLossDialog();this.selectAndFocusFirstEntry()};i.performAfterDiscardorKeepDraft=async function e(t,o,i,s){this.controller=i;this.skipBindingToView=s;this.dataLossConfirmation();return new Promise((e,i)=>{this.onDataLossConfirmationFollowUpFunction=o=>{const i=t(o);e(i)};this.onDataLossCancelFollowUpFunction=()=>{o();i()}})};i.handleDataLossOk=function t(){const o=this.getSelectedKey();if(o===k.Save){this.saveDocument(this.controller).then(this.onDataLossConfirmationFollowUpFunction).catch(function(t){e.error("Error while saving document",t)});this.closeDataLossDialog()}else if(o===k.Keep){this.onDataLossConfirmationFollowUpFunction();this.closeDataLossDialog()}else if(o===k.Discard){this.discardDraft(this.controller,this.skipBindingToView).then(this.onDataLossConfirmationFollowUpFunction).catch(function(t){e.error("Error while discarding draft",t)});this.closeDataLossDialog()}};i.handleDataLossCancel=function e(){this.onDataLossCancelFollowUpFunction();this.closeDataLossDialog()};i.selectAndFocusFirstEntry=function e(){var t,o;const i=(t=this.optionsList.current)===null||t===void 0?void 0:t.getItems()[0];(o=this.optionsList.current)===null||o===void 0?void 0:o.setSelectedItem(i);i===null||i===void 0?void 0:i.focus()};i.discardDraft=async function e(t,o){const i=t.getView().getBindingContext();const s={skipBackNavigation:true,skipDiscardPopover:true,skipBindingToView:o!==undefined?o:true};return t.editFlow.cancelDocument(i,s)};i.saveDocument=function e(t){const o=t.getView().getBindingContext();if(t.isA("sap.fe.templates.ObjectPage.ObjectPageController")){return t._saveDocument(o)}else{return t.editFlow.saveDocument(o,{})}};i.getSelectedKey=function e(){const t=this.optionsList.current;return t.getSelectedItem().data("itemKey")};i.openDataLossDialog=function e(){var t;(t=this.dataLossDialog.current)===null||t===void 0?void 0:t.open()};i.closeDataLossDialog=function e(){var t,o;(t=this.dataLossDialog.current)===null||t===void 0?void 0:t.close();(o=this.dataLossDialog.current)===null||o===void 0?void 0:o.destroy()};i.getConfirmButton=function e(){return f(n,{text:this.dataLossResourceModel.getText("C_COMMON_DIALOG_OK"),type:"Emphasized",press:()=>this.handleDataLossOk()})};i.getCancelButton=function e(){return f(n,{text:this.dataLossResourceModel.getText("C_COMMON_DIALOG_CANCEL"),press:()=>this.handleDataLossCancel()})};i.getContent=function e(){var t;const o=(t=this.controller.getView().getBindingContext())===null||t===void 0?void 0:t.getObject().HasActiveEntity;const i=o?this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_POPUP_MESSAGE_SAVE"):this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_POPUP_MESSAGE_CREATE");const s=o?this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_SAVE_DRAFT_RBL"):this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_CREATE_ENTITY_RBL");const n=o?this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_SAVE_DRAFT_TOL"):this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_CREATE_ENTITY_TOL");return f(r,{title:this.dataLossResourceModel.getText("WARNING"),state:O.Warning,type:"Message",contentWidth:"22rem",ref:this.dataLossDialog,children:{content:g(h,{children:[f(u,{text:i,class:"sapUiTinyMarginBegin sapUiTinyMarginTopBottom"}),g(c,{mode:"SingleSelectLeft",showSeparators:"None",includeItemInSelection:"true",backgroundDesign:"Transparent",class:"sapUiNoContentPadding",ref:this.optionsList,children:[f(a,{customData:[new p({key:"itemKey",value:"draftDataLossOptionSave"})],children:g(d,{class:"sapUiTinyMargin",children:[f(l,{text:s,design:"Bold"}),f(u,{text:n})]})}),f(a,{customData:[new p({key:"itemKey",value:"draftDataLossOptionKeep"})],children:g(d,{class:"sapUiTinyMargin",children:[f(l,{text:this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_KEEP_DRAFT_RBL"),design:"Bold"}),f(u,{text:this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_KEEP_DRAFT_TOL")})]})}),f(a,{customData:[new p({key:"itemKey",value:"draftDataLossOptionDiscard"})],children:g(d,{class:"sapUiTinyMargin",children:[f(l,{text:this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_DISCARD_DRAFT_RBL"),design:"Bold"}),f(u,{text:this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_DISCARD_DRAFT_TOL")})]})})]})]}),buttons:g(h,{children:["confirmButton = ",this.getConfirmButton(),"cancelButton = ",this.getCancelButton()]})}})};return o}(o),A=E(v.prototype,"dataLossDialog",[T],{configurable:true,enumerable:true,writable:true,initializer:null}),S=E(v.prototype,"optionsList",[_],{configurable:true,enumerable:true,writable:true,initializer:null}),v))||m);R=P;return R},false);
6
+ //# sourceMappingURL=DraftDataLossDialog.block.js.map