@sapui5/sap.fe.core 1.101.0 → 1.103.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 (339) hide show
  1. package/package.json +5 -5
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AppComponent.js +66 -30
  4. package/src/sap/fe/core/AppComponent.ts +68 -51
  5. package/src/sap/fe/core/AppStateHandler.js +13 -13
  6. package/src/sap/fe/core/AppStateHandler.ts +18 -18
  7. package/src/sap/fe/core/BaseController.js +11 -9
  8. package/src/sap/fe/core/BaseController.ts +15 -13
  9. package/src/sap/fe/core/CommonUtils.js +279 -188
  10. package/src/sap/fe/core/CommonUtils.ts +306 -215
  11. package/src/sap/fe/core/ExtensionAPI.js +25 -30
  12. package/src/sap/fe/core/ExtensionAPI.ts +37 -41
  13. package/src/sap/fe/core/PageController.js +12 -7
  14. package/src/sap/fe/core/PageController.ts +10 -5
  15. package/src/sap/fe/core/TemplateComponent.js +6 -6
  16. package/src/sap/fe/core/TemplateComponent.ts +11 -11
  17. package/src/sap/fe/core/TemplateModel.js +2 -2
  18. package/src/sap/fe/core/TemplateModel.ts +3 -3
  19. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
  20. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +1 -1
  21. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +306 -78
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +280 -70
  23. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +27 -27
  24. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +28 -26
  25. package/src/sap/fe/core/{BusyLocker.js → controllerextensions/BusyLocker.js} +1 -1
  26. package/src/sap/fe/core/{BusyLocker.ts → controllerextensions/BusyLocker.ts} +7 -7
  27. package/src/sap/fe/core/controllerextensions/EditFlow.js +351 -229
  28. package/src/sap/fe/core/controllerextensions/EditFlow.ts +321 -246
  29. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +9 -9
  30. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
  31. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +59 -34
  32. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +71 -45
  33. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +72 -72
  34. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +82 -80
  35. package/src/sap/fe/core/controllerextensions/InternalRouting.js +152 -131
  36. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +171 -152
  37. package/src/sap/fe/core/controllerextensions/KPIManagement.js +66 -68
  38. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
  39. package/src/sap/fe/core/controllerextensions/MassEdit.js +11 -10
  40. package/src/sap/fe/core/controllerextensions/MassEdit.ts +31 -37
  41. package/src/sap/fe/core/controllerextensions/MessageHandler.js +21 -13
  42. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +30 -15
  43. package/src/sap/fe/core/controllerextensions/PageReady.js +97 -25
  44. package/src/sap/fe/core/controllerextensions/PageReady.ts +94 -34
  45. package/src/sap/fe/core/controllerextensions/Paginator.js +19 -11
  46. package/src/sap/fe/core/controllerextensions/Paginator.ts +22 -14
  47. package/src/sap/fe/core/controllerextensions/Placeholder.js +4 -6
  48. package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
  49. package/src/sap/fe/core/controllerextensions/Routing.js +10 -11
  50. package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
  51. package/src/sap/fe/core/controllerextensions/Share.js +39 -21
  52. package/src/sap/fe/core/controllerextensions/Share.ts +45 -26
  53. package/src/sap/fe/core/controllerextensions/SideEffects.js +47 -51
  54. package/src/sap/fe/core/controllerextensions/SideEffects.ts +58 -62
  55. package/src/sap/fe/core/controllerextensions/ViewState.js +75 -62
  56. package/src/sap/fe/core/controllerextensions/ViewState.ts +78 -63
  57. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +105 -0
  58. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +99 -0
  59. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +360 -0
  60. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/ActivitySync.ts +58 -112
  61. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/CollaborationCommon.js +2 -2
  62. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/CollaborationCommon.ts +7 -7
  63. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +262 -0
  64. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/Manage.ts +20 -21
  65. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/ManageDialog.fragment.xml +0 -0
  66. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/UserDetails.fragment.xml +5 -7
  67. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1631 -0
  68. package/src/sap/fe/core/{TransactionHelper.ts → controllerextensions/editFlow/TransactionHelper.ts} +270 -211
  69. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +772 -0
  70. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/draft.ts +240 -100
  71. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1199 -0
  72. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/operations.ts +364 -229
  73. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +188 -0
  74. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +185 -0
  75. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +626 -0
  76. package/src/sap/fe/core/{actions → controllerextensions/messageHandler}/messageHandling.ts +112 -69
  77. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +937 -0
  78. package/src/sap/fe/core/{RouterProxy.ts → controllerextensions/routing/RouterProxy.ts} +72 -73
  79. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +21 -18
  80. package/src/sap/fe/core/controls/Any.js +9 -5
  81. package/src/sap/fe/core/controls/Any.ts +10 -4
  82. package/src/sap/fe/core/controls/CommandExecution.js +21 -24
  83. package/src/sap/fe/core/controls/CommandExecution.ts +19 -24
  84. package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
  85. package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
  86. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +48 -43
  87. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +51 -46
  88. package/src/sap/fe/core/controls/CustomQuickViewPage.js +3 -2
  89. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +3 -2
  90. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +11 -3
  91. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +19 -9
  92. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +14 -8
  93. package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
  94. package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
  95. package/src/sap/fe/core/controls/FileWrapper.js +50 -3
  96. package/src/sap/fe/core/controls/FileWrapper.ts +45 -12
  97. package/src/sap/fe/core/controls/FilterBar.js +6 -2
  98. package/src/sap/fe/core/controls/FilterBar.ts +13 -9
  99. package/src/sap/fe/core/controls/FormElementWrapper.js +12 -2
  100. package/src/sap/fe/core/controls/FormElementWrapper.ts +14 -3
  101. package/src/sap/fe/core/controls/MassEditSelect.js +33 -0
  102. package/src/sap/fe/core/controls/MassEditSelect.ts +41 -0
  103. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +3 -3
  104. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +16 -12
  105. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
  106. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -3
  107. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
  108. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +48 -48
  109. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +71 -76
  110. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +36 -65
  111. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +107 -0
  112. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +551 -36
  113. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +605 -36
  114. package/src/sap/fe/core/converters/ConverterContext.js +26 -33
  115. package/src/sap/fe/core/converters/ConverterContext.ts +51 -60
  116. package/src/sap/fe/core/converters/ManifestSettings.js +2 -1
  117. package/src/sap/fe/core/converters/ManifestSettings.ts +17 -14
  118. package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
  119. package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
  120. package/src/sap/fe/core/converters/MetaModelConverter.js +56 -67
  121. package/src/sap/fe/core/converters/MetaModelConverter.ts +183 -193
  122. package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
  123. package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
  124. package/src/sap/fe/core/converters/annotations/DataField.js +73 -37
  125. package/src/sap/fe/core/converters/annotations/DataField.ts +121 -77
  126. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1911 -1495
  127. package/src/sap/fe/core/converters/controls/Common/Action.js +51 -49
  128. package/src/sap/fe/core/converters/controls/Common/Action.ts +58 -54
  129. package/src/sap/fe/core/converters/controls/Common/Chart.js +22 -15
  130. package/src/sap/fe/core/converters/controls/Common/Chart.ts +29 -27
  131. package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
  132. package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
  133. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +28 -28
  134. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +40 -36
  135. package/src/sap/fe/core/converters/controls/Common/Form.js +30 -34
  136. package/src/sap/fe/core/converters/controls/Common/Form.ts +48 -58
  137. package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
  138. package/src/sap/fe/core/converters/controls/Common/KPI.ts +35 -39
  139. package/src/sap/fe/core/converters/controls/Common/Table.js +318 -244
  140. package/src/sap/fe/core/converters/controls/Common/Table.ts +368 -297
  141. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +135 -125
  142. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +162 -148
  143. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +51 -45
  144. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +79 -67
  145. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
  146. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
  147. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
  148. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
  149. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +67 -64
  150. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +69 -66
  151. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +92 -89
  152. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +124 -120
  153. package/src/sap/fe/core/converters/helpers/Aggregation.js +11 -5
  154. package/src/sap/fe/core/converters/helpers/Aggregation.ts +25 -23
  155. package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -30
  156. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +31 -29
  157. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +4 -4
  158. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +9 -9
  159. package/src/sap/fe/core/converters/helpers/ID.js +46 -46
  160. package/src/sap/fe/core/converters/helpers/ID.ts +25 -25
  161. package/src/sap/fe/core/converters/helpers/Key.js +7 -7
  162. package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
  163. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  164. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -4
  165. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
  166. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
  167. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +46 -62
  168. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +54 -82
  169. package/src/sap/fe/core/converters/templates/ListReportConverter.js +30 -29
  170. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +40 -40
  171. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +56 -55
  172. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +65 -77
  173. package/src/sap/fe/core/designtime/AppComponent.designtime.js +6 -6
  174. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +10 -8
  175. package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
  176. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
  177. package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
  178. package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
  179. package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
  180. package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
  181. package/src/sap/fe/core/formatters/StandardFormatter.js +89 -0
  182. package/src/sap/fe/core/formatters/StandardFormatter.ts +64 -0
  183. package/src/sap/fe/core/formatters/TableFormatter.js +83 -22
  184. package/src/sap/fe/core/formatters/TableFormatter.ts +80 -25
  185. package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
  186. package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
  187. package/src/sap/fe/core/fpm/Component.js +2 -2
  188. package/src/sap/fe/core/fpm/Component.ts +1 -1
  189. package/src/sap/fe/core/helpers/AppStartupHelper.js +15 -15
  190. package/src/sap/fe/core/helpers/AppStartupHelper.ts +37 -40
  191. package/src/sap/fe/core/helpers/BindingToolkit.js +1809 -0
  192. package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +388 -285
  193. package/src/sap/fe/core/helpers/ClassSupport.js +20 -11
  194. package/src/sap/fe/core/helpers/ClassSupport.ts +15 -10
  195. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
  196. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
  197. package/src/sap/fe/core/helpers/EditState.js +1 -6
  198. package/src/sap/fe/core/helpers/EditState.ts +5 -10
  199. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
  200. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
  201. package/src/sap/fe/core/helpers/FPMHelper.js +3 -2
  202. package/src/sap/fe/core/helpers/FPMHelper.ts +10 -9
  203. package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
  204. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
  205. package/src/sap/fe/core/helpers/MassEditHelper.js +532 -264
  206. package/src/sap/fe/core/helpers/MassEditHelper.ts +560 -289
  207. package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
  208. package/src/sap/fe/core/helpers/ModelHelper.ts +50 -58
  209. package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
  210. package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
  211. package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  212. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
  213. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
  214. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
  215. package/src/sap/fe/core/helpers/StableIdHelper.js +16 -12
  216. package/src/sap/fe/core/helpers/StableIdHelper.ts +20 -16
  217. package/src/sap/fe/core/{Synchronization.js → helpers/Synchronization.js} +1 -1
  218. package/src/sap/fe/core/{Synchronization.ts → helpers/Synchronization.ts} +1 -1
  219. package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
  220. package/src/sap/fe/core/jsx-runtime/jsx.ts +8 -8
  221. package/src/sap/fe/core/library.js +51 -3
  222. package/src/sap/fe/core/library.ts +47 -0
  223. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
  224. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
  225. package/src/sap/fe/core/messagebundle.properties +151 -197
  226. package/src/sap/fe/core/messagebundle_ar.properties +36 -63
  227. package/src/sap/fe/core/messagebundle_bg.properties +36 -63
  228. package/src/sap/fe/core/messagebundle_ca.properties +36 -63
  229. package/src/sap/fe/core/messagebundle_cs.properties +36 -63
  230. package/src/sap/fe/core/messagebundle_cy.properties +36 -63
  231. package/src/sap/fe/core/messagebundle_da.properties +37 -64
  232. package/src/sap/fe/core/messagebundle_de.properties +36 -63
  233. package/src/sap/fe/core/messagebundle_el.properties +38 -65
  234. package/src/sap/fe/core/messagebundle_en.properties +37 -64
  235. package/src/sap/fe/core/messagebundle_en_GB.properties +37 -64
  236. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +44 -73
  237. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +37 -64
  238. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +52 -81
  239. package/src/sap/fe/core/messagebundle_es.properties +36 -63
  240. package/src/sap/fe/core/messagebundle_es_MX.properties +36 -63
  241. package/src/sap/fe/core/messagebundle_et.properties +36 -63
  242. package/src/sap/fe/core/messagebundle_fi.properties +36 -63
  243. package/src/sap/fe/core/messagebundle_fr.properties +39 -66
  244. package/src/sap/fe/core/messagebundle_fr_CA.properties +36 -63
  245. package/src/sap/fe/core/messagebundle_hi.properties +36 -63
  246. package/src/sap/fe/core/messagebundle_hr.properties +36 -63
  247. package/src/sap/fe/core/messagebundle_hu.properties +35 -62
  248. package/src/sap/fe/core/messagebundle_id.properties +37 -64
  249. package/src/sap/fe/core/messagebundle_it.properties +54 -81
  250. package/src/sap/fe/core/messagebundle_iw.properties +36 -63
  251. package/src/sap/fe/core/messagebundle_ja.properties +36 -63
  252. package/src/sap/fe/core/messagebundle_kk.properties +36 -63
  253. package/src/sap/fe/core/messagebundle_ko.properties +36 -63
  254. package/src/sap/fe/core/messagebundle_lt.properties +36 -63
  255. package/src/sap/fe/core/messagebundle_lv.properties +36 -63
  256. package/src/sap/fe/core/messagebundle_ms.properties +37 -64
  257. package/src/sap/fe/core/messagebundle_nl.properties +37 -64
  258. package/src/sap/fe/core/messagebundle_no.properties +36 -63
  259. package/src/sap/fe/core/messagebundle_pl.properties +37 -64
  260. package/src/sap/fe/core/messagebundle_pt.properties +37 -64
  261. package/src/sap/fe/core/messagebundle_pt_PT.properties +36 -63
  262. package/src/sap/fe/core/messagebundle_ro.properties +36 -63
  263. package/src/sap/fe/core/messagebundle_ru.properties +36 -63
  264. package/src/sap/fe/core/messagebundle_sh.properties +36 -63
  265. package/src/sap/fe/core/messagebundle_sk.properties +36 -63
  266. package/src/sap/fe/core/messagebundle_sl.properties +38 -65
  267. package/src/sap/fe/core/messagebundle_sv.properties +36 -63
  268. package/src/sap/fe/core/messagebundle_th.properties +36 -63
  269. package/src/sap/fe/core/messagebundle_tr.properties +36 -63
  270. package/src/sap/fe/core/messagebundle_uk.properties +37 -64
  271. package/src/sap/fe/core/messagebundle_vi.properties +37 -64
  272. package/src/sap/fe/core/messagebundle_zh_CN.properties +36 -63
  273. package/src/sap/fe/core/messagebundle_zh_TW.properties +37 -64
  274. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
  275. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
  276. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +2 -2
  277. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +14 -14
  278. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +6 -3
  279. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +12 -10
  280. package/src/sap/fe/core/services/NavigationServiceFactory.js +54 -45
  281. package/src/sap/fe/core/services/NavigationServiceFactory.ts +61 -49
  282. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
  283. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
  284. package/src/sap/fe/core/services/RoutingServiceFactory.js +63 -60
  285. package/src/sap/fe/core/services/RoutingServiceFactory.ts +76 -73
  286. package/src/sap/fe/core/services/ShellServicesFactory.js +102 -71
  287. package/src/sap/fe/core/services/ShellServicesFactory.ts +109 -78
  288. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +61 -61
  289. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
  290. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +24 -18
  291. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +53 -50
  292. package/src/sap/fe/core/support/CommonHelper.js +3 -2
  293. package/src/sap/fe/core/support/CommonHelper.ts +9 -13
  294. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  295. package/src/sap/fe/core/support/Diagnostics.ts +5 -5
  296. package/src/sap/fe/core/templating/CommonFormatters.js +84 -0
  297. package/src/sap/fe/core/templating/CommonFormatters.ts +86 -0
  298. package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
  299. package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
  300. package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
  301. package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
  302. package/src/sap/fe/core/templating/DataModelPathHelper.js +16 -15
  303. package/src/sap/fe/core/templating/DataModelPathHelper.ts +42 -32
  304. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  305. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +3 -4
  306. package/src/sap/fe/core/templating/EntitySetHelper.js +7 -15
  307. package/src/sap/fe/core/templating/EntitySetHelper.ts +14 -18
  308. package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
  309. package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
  310. package/src/sap/fe/core/templating/FilterHelper.js +12 -11
  311. package/src/sap/fe/core/templating/FilterHelper.ts +17 -16
  312. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  313. package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
  314. package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
  315. package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
  316. package/src/sap/fe/core/templating/PropertyHelper.js +79 -56
  317. package/src/sap/fe/core/templating/PropertyHelper.ts +41 -27
  318. package/src/sap/fe/core/templating/UIFormatters.js +163 -97
  319. package/src/sap/fe/core/templating/UIFormatters.ts +210 -129
  320. package/src/sap/fe/core/type/DateTimeWithTimezone.js +47 -0
  321. package/src/sap/fe/core/type/DateTimeWithTimezone.ts +23 -0
  322. package/src/sap/fe/core/type/Email.js +2 -2
  323. package/src/sap/fe/core/type/Email.ts +2 -2
  324. package/src/sap/fe/core/AnnotationHelper.js +0 -331
  325. package/src/sap/fe/core/AnnotationHelper.ts +0 -321
  326. package/src/sap/fe/core/RouterProxy.js +0 -938
  327. package/src/sap/fe/core/TransactionHelper.js +0 -1577
  328. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +0 -406
  329. package/src/sap/fe/core/actions/collaboration/Manage.js +0 -264
  330. package/src/sap/fe/core/actions/draft.js +0 -665
  331. package/src/sap/fe/core/actions/messageHandling.js +0 -579
  332. package/src/sap/fe/core/actions/nonDraft.js +0 -20
  333. package/src/sap/fe/core/actions/nonDraft.ts +0 -12
  334. package/src/sap/fe/core/actions/operations.js +0 -1096
  335. package/src/sap/fe/core/actions/sticky.js +0 -130
  336. package/src/sap/fe/core/actions/sticky.ts +0 -119
  337. package/src/sap/fe/core/formatters/CriticalityFormatter.js +0 -77
  338. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +0 -58
  339. package/src/sap/fe/core/helpers/BindingExpression.js +0 -1729
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/ui/base/Object", "sap/fe/navigation/library", "sap/base/Log", "sap/base/util/deepEqual", "sap/fe/core/helpers/ClassSupport", "./BusyLocker", "./helpers/ModelHelper"], function (BaseObject, library, Log, deepEqual, ClassSupport, BusyLocker, ModelHelper) {
5
+ sap.ui.define(["sap/base/Log", "sap/base/util/deepEqual", "sap/fe/core/helpers/ClassSupport", "sap/fe/navigation/library", "sap/ui/base/Object", "./controllerextensions/BusyLocker", "./helpers/ModelHelper"], function (Log, deepEqual, ClassSupport, library, BaseObject, BusyLocker, ModelHelper) {
6
6
  "use strict";
7
7
 
8
8
  var _dec, _class;
@@ -41,7 +41,7 @@ sap.ui.define(["sap/ui/base/Object", "sap/fe/navigation/library", "sap/base/Log"
41
41
  _this = _BaseObject.call(this) || this;
42
42
  _this._mCurrentAppState = {};
43
43
  _this.oAppComponent = oAppComponent;
44
- _this.sId = oAppComponent.getId() + "/AppStateHandler";
44
+ _this.sId = "".concat(oAppComponent.getId(), "/AppStateHandler");
45
45
  _this.bNoRouteChange = false;
46
46
  Log.info("APPSTATE : Appstate handler initialized");
47
47
  return _this;
@@ -55,7 +55,7 @@ sap.ui.define(["sap/ui/base/Object", "sap/fe/navigation/library", "sap/base/Log"
55
55
  /**
56
56
  * Creates/updates the appstate.
57
57
  *
58
- * @returns {Promise} A promise resolving the stored data
58
+ * @returns A promise resolving the stored data
59
59
  * @ui5-restricted
60
60
  */
61
61
  ;
@@ -63,7 +63,7 @@ sap.ui.define(["sap/ui/base/Object", "sap/fe/navigation/library", "sap/base/Log"
63
63
  _proto.createAppState = function createAppState() {
64
64
  var _this2 = this;
65
65
 
66
- if (BusyLocker.isLocked(this)) {
66
+ if (!this.oAppComponent.getEnvironmentCapabilities().getCapabilities().AppState || BusyLocker.isLocked(this)) {
67
67
  return Promise.resolve();
68
68
  }
69
69
 
@@ -74,7 +74,7 @@ sap.ui.define(["sap/ui/base/Object", "sap/fe/navigation/library", "sap/base/Log"
74
74
  bIsStickyMode = ModelHelper.isStickySessionSupported(this.oAppComponent.getMetaModel());
75
75
 
76
76
  if (!oController.viewState) {
77
- return Promise.reject("viewState controller extension not available for controller: " + oController.getMetadata().getName());
77
+ return Promise.reject("viewState controller extension not available for controller: ".concat(oController.getMetadata().getName()));
78
78
  }
79
79
 
80
80
  return oController.viewState.retrieveViewState().then(function (mInnerAppState) {
@@ -115,16 +115,16 @@ sap.ui.define(["sap/ui/base/Object", "sap/fe/navigation/library", "sap/base/Log"
115
115
  * @function
116
116
  * @static
117
117
  * @memberof sap.fe.core.AppStateHandler
118
- * @returns {Promise} A promise for async handling
118
+ * @returns A promise for async handling
119
119
  * @private
120
120
  * @ui5-restricted
121
- **/
121
+ */
122
122
  ;
123
123
 
124
124
  _proto.applyAppState = function applyAppState() {
125
125
  var _this3 = this;
126
126
 
127
- if (this.oAppComponent.getModel("internal").getProperty("/uiAdaptation") || BusyLocker.isLocked(this)) {
127
+ if (!this.oAppComponent.getEnvironmentCapabilities().getCapabilities().AppState || BusyLocker.isLocked(this)) {
128
128
  return Promise.resolve();
129
129
  }
130
130
 
@@ -152,7 +152,7 @@ sap.ui.define(["sap/ui/base/Object", "sap/fe/navigation/library", "sap/base/Log"
152
152
  _this3._mCurrentAppState = sNavType === NavType.iAppState ? oAppData && oAppData.appState : undefined;
153
153
 
154
154
  if (!oRootController.viewState) {
155
- throw new Error("viewState extension required for controller " + oRootController.getMetadata().getName());
155
+ throw new Error("viewState extension required for controller ".concat(oRootController.getMetadata().getName()));
156
156
  }
157
157
 
158
158
  return oRootController.viewState.applyViewState(_this3._mCurrentAppState, _this3._createNavigationParameters(oAppData, sNavType)).catch(function (oError) {
@@ -167,8 +167,8 @@ sap.ui.define(["sap/ui/base/Object", "sap/fe/navigation/library", "sap/base/Log"
167
167
  /**
168
168
  * To check is route is changed by change in the iAPPState.
169
169
  *
170
- * @returns {boolean}
171
- **/
170
+ * @returns `true` if the route has chnaged
171
+ */
172
172
  ;
173
173
 
174
174
  _proto.checkIfRouteChangedByIApp = function checkIfRouteChangedByIApp() {
@@ -176,7 +176,7 @@ sap.ui.define(["sap/ui/base/Object", "sap/fe/navigation/library", "sap/base/Log"
176
176
  }
177
177
  /**
178
178
  * Reset the route changed by iAPPState.
179
- **/
179
+ */
180
180
  ;
181
181
 
182
182
  _proto.resetRouteChangedByIApp = function resetRouteChangedByIApp() {
@@ -197,4 +197,4 @@ sap.ui.define(["sap/ui/base/Object", "sap/fe/navigation/library", "sap/base/Log"
197
197
 
198
198
  return AppStateHandler;
199
199
  }, true);
200
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFwcFN0YXRlSGFuZGxlci50cyJdLCJuYW1lcyI6WyJOYXZUeXBlIiwibGlicmFyeSIsIl90b0VTNlByb21pc2UiLCJvVGhlbmFibGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJhcmdzIiwiQXJyYXkiLCJwcm90b3R5cGUiLCJzbGljZSIsImNhbGwiLCJjYXRjaCIsIkFwcFN0YXRlSGFuZGxlciIsImRlZmluZVVJNUNsYXNzIiwib0FwcENvbXBvbmVudCIsIl9tQ3VycmVudEFwcFN0YXRlIiwic0lkIiwiZ2V0SWQiLCJiTm9Sb3V0ZUNoYW5nZSIsIkxvZyIsImluZm8iLCJjcmVhdGVBcHBTdGF0ZSIsIkJ1c3lMb2NrZXIiLCJpc0xvY2tlZCIsIm9OYXZpZ2F0aW9uU2VydmljZSIsImdldE5hdmlnYXRpb25TZXJ2aWNlIiwib1JvdXRlclByb3h5IiwiZ2V0Um91dGVyUHJveHkiLCJzSGFzaCIsImdldEhhc2giLCJvQ29udHJvbGxlciIsImdldFJvb3RDb250cm9sIiwiZ2V0Q29udHJvbGxlciIsImJJc1N0aWNreU1vZGUiLCJNb2RlbEhlbHBlciIsImlzU3RpY2t5U2Vzc2lvblN1cHBvcnRlZCIsImdldE1ldGFNb2RlbCIsInZpZXdTdGF0ZSIsInJlamVjdCIsImdldE1ldGFkYXRhIiwiZ2V0TmFtZSIsInJldHJpZXZlVmlld1N0YXRlIiwibUlubmVyQXBwU3RhdGUiLCJvU3RvcmVEYXRhIiwiYXBwU3RhdGUiLCJkZWVwRXF1YWwiLCJvQXBwU3RhdGUiLCJzdG9yZUlubmVyQXBwU3RhdGVXaXRoSW1tZWRpYXRlUmV0dXJuIiwic0FwcFN0YXRlS2V5IiwiYXBwU3RhdGVLZXkiLCJzTmV3SGFzaCIsInJlcGxhY2VJbm5lckFwcFN0YXRlS2V5IiwibmF2VG9IYXNoIiwiX2NyZWF0ZU5hdmlnYXRpb25QYXJhbWV0ZXJzIiwib0FwcERhdGEiLCJzTmF2VHlwZSIsIk9iamVjdCIsImFzc2lnbiIsInNlbGVjdGlvblZhcmlhbnREZWZhdWx0cyIsIm9EZWZhdWx0ZWRTZWxlY3Rpb25WYXJpYW50Iiwic2VsZWN0aW9uVmFyaWFudCIsIm9TZWxlY3Rpb25WYXJpYW50IiwicmVxdWlyZXNTdGFuZGFyZFZhcmlhbnQiLCJiTmF2U2VsVmFySGFzRGVmYXVsdHNPbmx5IiwibmF2aWdhdGlvblR5cGUiLCJhcHBseUFwcFN0YXRlIiwiZ2V0TW9kZWwiLCJnZXRQcm9wZXJ0eSIsImxvY2siLCJwYXJzZU5hdmlnYXRpb24iLCJhRXJyb3JEYXRhIiwid2FybmluZyIsImFSZXN1bHRzIiwiaW5pdGlhbCIsIm9Sb290Q29udHJvbGxlciIsImlBcHBTdGF0ZSIsInVuZGVmaW5lZCIsIkVycm9yIiwiYXBwbHlWaWV3U3RhdGUiLCJvRXJyb3IiLCJlcnJvciIsImZpbmFsbHkiLCJ1bmxvY2siLCJjaGVja0lmUm91dGVDaGFuZ2VkQnlJQXBwIiwicmVzZXRSb3V0ZUNoYW5nZWRCeUlBcHAiLCJfaXNMaXN0QmFzZWRDb21wb25lbnQiLCJvQ29tcG9uZW50IiwiaXNBIiwiQmFzZU9iamVjdCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FBTUEsTUFBTUEsT0FBTyxHQUFHQyxPQUFPLENBQUNELE9BQXhCOztBQUNBLFdBQVNFLGFBQVQsQ0FBdUJDLFNBQXZCLEVBQXVDO0FBQ3RDLFdBQU9DLE9BQU8sQ0FBQ0MsT0FBUixDQUNORixTQUFTLENBQ1BHLElBREYsQ0FDTyxZQUF5QjtBQUFBLHdDQUFiQyxJQUFhO0FBQWJBLFFBQUFBLElBQWE7QUFBQTs7QUFDOUIsYUFBT0MsS0FBSyxDQUFDQyxTQUFOLENBQWdCQyxLQUFoQixDQUFzQkMsSUFBdEIsQ0FBMkJKLElBQTNCLENBQVA7QUFDQSxLQUhGLEVBSUVLLEtBSkYsQ0FJUSxZQUF5QjtBQUFBLHlDQUFiTCxJQUFhO0FBQWJBLFFBQUFBLElBQWE7QUFBQTs7QUFDL0IsYUFBT0MsS0FBSyxDQUFDQyxTQUFOLENBQWdCQyxLQUFoQixDQUFzQkMsSUFBdEIsQ0FBMkJKLElBQTNCLENBQVA7QUFDQSxLQU5GLENB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LEVBQWxCO0FBQ0EsT0F0Q0ssQ0FBUDtBQXVDQTtBQUNEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7OztXQUNDb0QseUIsR0FBQSxxQ0FBNEI7QUFDM0IsYUFBTyxLQUFLakUsY0FBWjtBQUNBO0FBQ0Q7QUFDRDtBQUNBOzs7V0FDQ2tFLHVCLEdBQUEsbUNBQTBCO0FBQ3pCLFVBQUksS0FBS2xFLGNBQVQsRUFBeUI7QUFDeEIsYUFBS0EsY0FBTCxHQUFzQixLQUF0QjtBQUNBO0FBQ0QsSzs7V0FDRG1FLHFCLEdBQUEsK0JBQXNCQyxVQUF0QixFQUF1QztBQUN0QyxhQUFPQSxVQUFVLENBQUNDLEdBQVgsQ0FBZSxnQ0FBZixDQUFQO0FBQ0EsSzs7O0lBOUk0QkMsVTtBQWlKOUI7QUFDQTtBQUNBOztTQUNlNUUsZSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL09iamVjdFwiO1xuaW1wb3J0IGxpYnJhcnkgZnJvbSBcInNhcC9mZS9uYXZpZ2F0aW9uL2xpYnJhcnlcIjtcbmltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IGRlZXBFcXVhbCBmcm9tIFwic2FwL2Jhc2UvdXRpbC9kZWVwRXF1YWxcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQnVzeUxvY2tlciBmcm9tIFwiLi9CdXN5TG9ja2VyXCI7XG5pbXBvcnQgTW9kZWxIZWxwZXIgZnJvbSBcIi4vaGVscGVycy9Nb2RlbEhlbHBlclwiO1xuXG5jb25zdCBOYXZUeXBlID0gbGlicmFyeS5OYXZUeXBlO1xuZnVuY3Rpb24gX3RvRVM2UHJvbWlzZShvVGhlbmFibGU6IGFueSkge1xuXHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFxuXHRcdG9UaGVuYWJsZVxuXHRcdFx0LnRoZW4oZnVuY3Rpb24oLi4uYXJnczogYW55W10pIHtcblx0XHRcdFx0cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3MpO1xuXHRcdFx0fSlcblx0XHRcdC5jYXRjaChmdW5jdGlvbiguLi5hcmdzOiBhbnlbXSkge1xuXHRcdFx0XHRyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJncyk7XG5cdFx0XHR9KVxuXHQpO1xufVxuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5BcHBTdGF0ZUhhbmRsZXJcIilcbmNsYXNzIEFwcFN0YXRlSGFuZGxlciBleHRlbmRzIEJhc2VPYmplY3Qge1xuXHRwdWJsaWMgc0lkOiBzdHJpbmc7XG5cdHB1YmxpYyBvQXBwQ29tcG9uZW50OiBhbnk7IC8vIEFwcENvbXBvbmVudFxuXHRwdWJsaWMgYk5vUm91dGVDaGFuZ2U6IGJvb2xlYW47XG5cdHByaXZhdGUgX21DdXJyZW50QXBwU3RhdGU6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcblx0Y29uc3RydWN0b3Iob0FwcENvbXBvbmVudDogYW55KSB7XG5cdFx0c3VwZXIoKTtcblx0XHR0aGlzLm9BcHBDb21wb25lbnQgPSBvQXBwQ29tcG9uZW50O1xuXHRcdHRoaXMuc0lkID0gb0FwcENvbXBvbmVudC5nZXRJZCgpICsgXCIvQXBwU3RhdGVIYW5kbGVyXCI7XG5cblx0XHR0aGlzLmJOb1JvdXRlQ2hhbmdlID0gZmFsc2U7XG5cdFx0TG9nLmluZm8oXCJBUFBTVEFURSA6IEFwcHN0YXRlIGhhbmRsZXIgaW5pdGlhbGl6ZWRcIik7XG5cdH1cblx0Z2V0SWQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuc0lkO1xuXHR9XG5cdC8qKlxuXHQgKiBDcmVhdGVzL3VwZGF0ZXMgdGhlIGFwcHN0YXRlLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7UHJvbWlzZX0gQSBwcm9taXNlIHJlc29sdmluZyB0aGUgc3RvcmVkIGRhdGFcblx0ICogQHVpNS1yZXN0cmljdGVkXG5cdCAqL1xuXHRjcmVhdGVBcHBTdGF0ZSgpIHtcblx0XHRpZiAoQnVzeUxvY2tlci5pc0xvY2tlZCh0aGlzKSkge1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuXHRcdH1cblxuXHRcdGNvbnN0IG9OYXZpZ2F0aW9uU2VydmljZSA9IHRoaXMub0FwcENvbXBvbmVudC5nZXROYXZpZ2F0aW9uU2VydmljZSgpLFxuXHRcdFx0b1JvdXRlclByb3h5ID0gdGhpcy5vQXBwQ29tcG9uZW50LmdldFJvdXRlclByb3h5KCksXG5cdFx0XHRzSGFzaCA9IG9Sb3V0ZXJQcm94eS5nZXRIYXNoKCksXG5cdFx0XHRvQ29udHJvbGxlciA9IHRoaXMub0FwcENvbXBvbmVudC5nZXRSb290Q29udHJvbCgpLmdldENvbnRyb2xsZXIoKSxcblx0XHRcdGJJc1N0aWNreU1vZGUgPSBNb2RlbEhlbHBlci5pc1N0aWNreVNlc3Npb25TdXBwb3J0ZWQodGhpcy5vQXBwQ29tcG9uZW50LmdldE1ldGFNb2RlbCgpKTtcblxuXHRcdGlmICghb0NvbnRyb2xsZXIudmlld1N0YXRlKSB7XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QoXCJ2aWV3U3RhdGUgY29udHJvbGxlciBleHRlbnNpb24gbm90IGF2YWlsYWJsZSBmb3IgY29udHJvbGxlcjogXCIgKyBvQ29udHJvbGxlci5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG9Db250cm9sbGVyLnZpZXdTdGF0ZS5yZXRyaWV2ZVZpZXdTdGF0ZSgpLnRoZW4oKG1Jbm5lckFwcFN0YXRlOiBhbnkpID0+IHtcblx0XHRcdGNvbnN0IG9TdG9yZURhdGEgPSB7IGFwcFN0YXRlOiBtSW5uZXJBcHBTdGF0ZSB9O1xuXHRcdFx0aWYgKG1Jbm5lckFwcFN0YXRlICYmICFkZWVwRXF1YWwodGhpcy5fbUN1cnJlbnRBcHBTdGF0ZSwgbUlubmVyQXBwU3RhdGUpKSB7XG5cdFx0XHRcdHRoaXMuX21DdXJyZW50QXBwU3RhdGUgPSBtSW5uZXJBcHBTdGF0ZTtcblx0XHRcdFx0Y29uc3Qgb0FwcFN0YXRlID0gb05hdmlnYXRpb25TZXJ2aWNlLnN0b3JlSW5uZXJBcHBTdGF0ZVdpdGhJbW1lZGlhdGVSZXR1cm4ob1N0b3JlRGF0YSwgdHJ1ZSk7XG5cdFx0XHRcdExvZy5pbmZvKFwiQVBQU1RBVEU6IEFwcHN0YXRlIHN0b3JlZFwiKTtcblx0XHRcdFx0Y29uc3Qgc0FwcFN0YXRlS2V5ID0gb0FwcFN0YXRlLmFwcFN0YXRlS2V5O1xuXHRcdFx0XHRjb25zdCBzTmV3SGFzaCA9IG9OYXZpZ2F0aW9uU2VydmljZS5yZXBsYWNlSW5uZXJBcHBTdGF0ZUtleShzSGFzaCwgc0FwcFN0YXRlS2V5KTtcblx0XHRcdFx0aWYgKHNOZXdIYXNoICE9PSBzSGFzaCkge1xuXHRcdFx0XHRcdG9Sb3V0ZXJQcm94eS5uYXZUb0hhc2goc05ld0hhc2gsIG51bGwsIG51bGwsIG51bGwsICFiSXNTdGlja3lNb2RlKTtcblx0XHRcdFx0XHR0aGlzLmJOb1JvdXRlQ2hhbmdlID0gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRMb2cuaW5mbyhcIkFQUFNUQVRFOiBuYXZUb0hhc2hcIik7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gb1N0b3JlRGF0YTtcblx0XHR9KTtcblx0fVxuXG5cdF9jcmVhdGVOYXZpZ2F0aW9uUGFyYW1ldGVycyhvQXBwRGF0YTogYW55LCBzTmF2VHlwZTogYW55KSB7XG5cdFx0cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIG9BcHBEYXRhLCB7XG5cdFx0XHRzZWxlY3Rpb25WYXJpYW50RGVmYXVsdHM6IG9BcHBEYXRhLm9EZWZhdWx0ZWRTZWxlY3Rpb25WYXJpYW50LFxuXHRcdFx0c2VsZWN0aW9uVmFyaWFudDogb0FwcERhdGEub1NlbGVjdGlvblZhcmlhbnQsXG5cdFx0XHRyZXF1aXJlc1N0YW5kYXJkVmFyaWFudDogIW9BcHBEYXRhLmJOYXZTZWxWYXJIYXNEZWZhdWx0c09ubHksXG5cdFx0XHRuYXZpZ2F0aW9uVHlwZTogc05hdlR5cGVcblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBcHBsaWVzIGFuIGFwcHN0YXRlIGJ5IGZldGNoaW5nIGFwcGRhdGEgYW5kIHBhc3NpbmcgaXQgdG8gX2FwcGx5QXBwc3RhdGVUb1BhZ2UuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAc3RhdGljXG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5BcHBTdGF0ZUhhbmRsZXJcblx0ICogQHJldHVybnMge1Byb21pc2V9IEEgcHJvbWlzZSBmb3IgYXN5bmMgaGFuZGxpbmdcblx0ICogQHByaXZhdGVcblx0ICogQHVpNS1yZXN0cmljdGVkXG5cdCAqKi9cblx0YXBwbHlBcHBTdGF0ZSgpIHtcblx0XHRpZiAodGhpcy5vQXBwQ29tcG9uZW50LmdldE1vZGVsKFwiaW50ZXJuYWxcIikuZ2V0UHJvcGVydHkoXCIvdWlBZGFwdGF0aW9uXCIpIHx8IEJ1c3lMb2NrZXIuaXNMb2NrZWQodGhpcykpIHtcblx0XHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblx0XHR9XG5cdFx0QnVzeUxvY2tlci5sb2NrKHRoaXMpO1xuXHRcdC8vIERvbmUgZm9yIGJ1c3kgaW5kaWNhdG9yXG5cdFx0QnVzeUxvY2tlci5sb2NrKHRoaXMub0FwcENvbXBvbmVudC5nZXRSb290Q29udHJvbCgpKTtcblxuXHRcdGNvbnN0IG9OYXZpZ2F0aW9uU2VydmljZSA9IHRoaXMub0FwcENvbXBvbmVudC5nZXROYXZpZ2F0aW9uU2VydmljZSgpO1xuXHRcdC8vIFRPRE8gb05hdmlnYXRpb25TZXJ2aWNlLnBhcnNlTmF2aWdhdGlvbigpIHNob3VsZCByZXR1cm4gRVM2IHByb21pc2UgaW5zdGVhZCBqUXVlcnkucHJvbWlzZVxuXHRcdHJldHVybiBfdG9FUzZQcm9taXNlKG9OYXZpZ2F0aW9uU2VydmljZS5wYXJzZU5hdmlnYXRpb24oKSlcblx0XHRcdC5jYXRjaChmdW5jdGlvbihhRXJyb3JEYXRhOiBhbnkpIHtcblx0XHRcdFx0aWYgKCFhRXJyb3JEYXRhKSB7XG5cdFx0XHRcdFx0YUVycm9yRGF0YSA9IFtdO1xuXHRcdFx0XHR9XG5cdFx0XHRcdExvZy53YXJuaW5nKFwiQVBQU1RBVEU6IFBhcnNlIE5hdmlnYXRpb24gZmFpbGVkXCIsIGFFcnJvckRhdGFbMF0pO1xuXHRcdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdC8qIGFwcCBkYXRhICovXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRhRXJyb3JEYXRhWzFdLFxuXHRcdFx0XHRcdGFFcnJvckRhdGFbMl1cblx0XHRcdFx0XTtcblx0XHRcdH0pXG5cdFx0XHQudGhlbigoYVJlc3VsdHM6IGFueSkgPT4ge1xuXHRcdFx0XHRMb2cuaW5mbyhcIkFQUFNUQVRFOiBQYXJzZSBOYXZpZ2F0aW9uIGRvbmVcIik7XG5cblx0XHRcdFx0Ly8gYVJlc3VsdHNbMV0gPT4gb1N0YXJ0dXBQYXJhbWV0ZXJzIChub3QgZXZhbHVhdGVkKVxuXHRcdFx0XHRjb25zdCBvQXBwRGF0YSA9IGFSZXN1bHRzWzBdIHx8IHt9LFxuXHRcdFx0XHRcdHNOYXZUeXBlID0gYVJlc3VsdHNbMl0gfHwgTmF2VHlwZS5pbml0aWFsLFxuXHRcdFx0XHRcdG9Sb290Q29udHJvbGxlciA9IHRoaXMub0FwcENvbXBvbmVudC5nZXRSb290Q29udHJvbCgpLmdldENvbnRyb2xsZXIoKTtcblxuXHRcdFx0XHR0aGlzLl9tQ3VycmVudEFwcFN0YXRlID0gc05hdlR5cGUgPT09IE5hdlR5cGUuaUFwcFN0YXRlID8gb0FwcERhdGEgJiYgb0FwcERhdGEuYXBwU3RhdGUgOiB1bmRlZmluZWQ7XG5cblx0XHRcdFx0aWYgKCFvUm9vdENvbnRyb2xsZXIudmlld1N0YXRlKSB7XG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwidmlld1N0YXRlIGV4dGVuc2lvbiByZXF1aXJlZCBmb3IgY29udHJvbGxlciBcIiArIG9Sb290Q29udHJvbGxlci5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gb1Jvb3RDb250cm9sbGVyLnZpZXdTdGF0ZVxuXHRcdFx0XHRcdC5hcHBseVZpZXdTdGF0ZSh0aGlzLl9tQ3VycmVudEFwcFN0YXRlLCB0aGlzLl9jcmVhdGVOYXZpZ2F0aW9uUGFyYW1ldGVycyhvQXBwRGF0YSwgc05hdlR5cGUpKVxuXHRcdFx0XHRcdC5jYXRjaChmdW5jdGlvbihvRXJyb3I6IGFueSkge1xuXHRcdFx0XHRcdFx0TG9nLmVycm9yKFwiYXBwU3RhdGUgY291bGQgbm90IGJlIGFwcGxpZWRcIiwgb0Vycm9yKTtcblx0XHRcdFx0XHRcdHRocm93IG9FcnJvcjtcblx0XHRcdFx0XHR9KTtcblx0XHRcdH0pXG5cdFx0XHQuZmluYWxseSgoKSA9PiB7XG5cdFx0XHRcdEJ1c3lMb2NrZXIudW5sb2NrKHRoaXMpO1xuXHRcdFx0XHRCdXN5TG9ja2VyLnVubG9jayh0aGlzLm9BcHBDb21wb25lbnQuZ2V0Um9vdENvbnRyb2woKSk7XG5cdFx0XHR9KTtcblx0fVxuXHQvKipcblx0ICogVG8gY2hlY2sgaXMgcm91dGUgaXMgY2hhbmdlZCBieSBjaGFuZ2UgaW4gdGhlIGlBUFBTdGF0ZS5cblx0ICpcblx0ICogQHJldHVybnMge2Jvb2xlYW59XG5cdCAqKi9cblx0Y2hlY2tJZlJvdXRlQ2hhbmdlZEJ5SUFwcCgpIHtcblx0XHRyZXR1cm4gdGhpcy5iTm9Sb3V0ZUNoYW5nZTtcblx0fVxuXHQvKipcblx0ICogUmVzZXQgdGhlIHJvdXRlIGNoYW5nZWQgYnkgaUFQUFN0YXRlLlxuXHQgKiovXG5cdHJlc2V0Um91dGVDaGFuZ2VkQnlJQXBwKCkge1xuXHRcdGlmICh0aGlzLmJOb1JvdXRlQ2hhbmdlKSB7XG5cdFx0XHR0aGlzLmJOb1JvdXRlQ2hhbmdlID0gZmFsc2U7XG5cdFx0fVxuXHR9XG5cdF9pc0xpc3RCYXNlZENvbXBvbmVudChvQ29tcG9uZW50OiBhbnkpIHtcblx0XHRyZXR1cm4gb0NvbXBvbmVudC5pc0EoXCJzYXAuZmUudGVtcGxhdGVzLkxpc3RDb21wb25lbnRcIik7XG5cdH1cbn1cblxuLyoqXG4gKiBAZ2xvYmFsXG4gKi9cbmV4cG9ydCBkZWZhdWx0IEFwcFN0YXRlSGFuZGxlcjtcbiJdfQ==
200
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFwcFN0YXRlSGFuZGxlci50cyJdLCJuYW1lcyI6WyJOYXZUeXBlIiwibGlicmFyeSIsIl90b0VTNlByb21pc2UiLCJvVGhlbmFibGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJhcmdzIiwiQXJyYXkiLCJwcm90b3R5cGUiLCJzbGljZSIsImNhbGwiLCJjYXRjaCIsIkFwcFN0YXRlSGFuZGxlciIsImRlZmluZVVJNUNsYXNzIiwib0FwcENvbXBvbmVudCIsIl9tQ3VycmVudEFwcFN0YXRlIiwic0lkIiwiZ2V0SWQiLCJiTm9Sb3V0ZUNoYW5nZSIsIkxvZyIsImluZm8iLCJjcmVhdGVBcHBTdGF0ZSIsImdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwiZ2V0Q2FwYWJpbGl0aWVzIiwiQXBwU3RhdGUiLCJCdXN5TG9ja2VyIiwiaXNMb2NrZWQiLCJvTmF2aWdhdGlvblNlcnZpY2UiLCJnZXROYXZpZ2F0aW9uU2VydmljZSIsIm9Sb3V0ZXJQcm94eSIsImdldFJvdXRlclByb3h5Iiwic0hhc2giLCJnZXRIYXNoIiwib0NvbnRyb2xsZXIiLCJnZXRSb290Q29udHJvbCIsImdldENvbnRyb2xsZXIiLCJiSXNTdGlja3lNb2RlIiwiTW9kZWxIZWxwZXIiLCJpc1N0aWNreVNlc3Npb25TdXBwb3J0ZWQiLCJnZXRNZXRhTW9kZWwiLCJ2aWV3U3RhdGUiLCJyZWplY3QiLCJnZXRNZXRhZGF0YSIsImdldE5hbWUiLCJyZXRyaWV2ZVZpZXdTdGF0ZSIsIm1Jbm5lckFwcFN0YXRlIiwib1N0b3JlRGF0YSIsImFwcFN0YXRlIiwiZGVlcEVxdWFsIiwib0FwcFN0YXRlIiwic3RvcmVJbm5lckFwcFN0YXRlV2l0aEltbWVkaWF0ZVJldHVybiIsInNBcHBTdGF0ZUtleSIsImFwcFN0YXRlS2V5Iiwic05ld0hhc2giLCJyZXBsYWNlSW5uZXJBcHBTdGF0ZUtleSIsIm5hdlRvSGFzaCIsIl9jcmVhdGVOYXZpZ2F0aW9uUGFyYW1ldGVycyIsIm9BcHBEYXRhIiwic05hdlR5cGUiLCJPYmplY3QiLCJhc3NpZ24iLCJzZWxlY3Rpb25WYXJpYW50RGVmYXVsdHMiLCJvRGVmYXVsdGVkU2VsZWN0aW9uVmFyaWFudCIsInNlbGVjdGlvblZhcmlhbnQiLCJvU2VsZWN0aW9uVmFyaWFudCIsInJlcXVpcmVzU3RhbmRhcmRWYXJpYW50IiwiYk5hdlNlbFZhckhhc0RlZmF1bHRzT25seSIsIm5hdmlnYXRpb25UeXBlIiwiYXBwbHlBcHBTdGF0ZSIsImxvY2siLCJwYXJzZU5hdmlnYXRpb24iLCJhRXJyb3JEYXRhIiwid2FybmluZyIsImFSZXN1bHRzIiwiaW5pdGlhbCIsIm9Sb290Q29udHJvbGxlciIsImlBcHBTdGF0ZSIsInVuZGVmaW5lZCIsIkVycm9yIiwiYXBwbHlWaWV3U3RhdGUiLCJvRXJyb3IiLCJlcnJvciIsImZpbmFsbHkiLCJ1bmxvY2siLCJjaGVja0lmUm91dGVDaGFuZ2VkQnlJQXBwIiwicmVzZXRSb3V0ZUNoYW5nZWRCeUlBcHAiLCJfaXNMaXN0QmFzZWRDb21wb25lbnQiLCJvQ29tcG9uZW50IiwiaXNBIiwiQmFzZU9iamVjdCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FBTUEsTUFBTUEsT0FBTyxHQUFHQyxPQUFPLENBQUNELE9BQXhCOztBQUNBLFdBQVNFLGFBQVQsQ0FBdUJDLFNBQXZCLEVBQXVDO0FBQ3RDLFdBQU9DLE9BQU8sQ0FBQ0MsT0FBUixDQUNORixTQUFTLENBQ1BHLElBREYsQ0FDTyxZQUEwQjtBQUFBLHdDQUFiQyxJQUFhO0FBQWJBLFFBQUFBLElBQWE7QUFBQTs7QUFDL0IsYUFBT0MsS0FBSyxDQUFDQyxTQUFOLENBQWdCQyxLQUFoQixDQUFzQkMsSUFBdEIsQ0FBMkJKLElBQTNCLENBQVA7QUFDQSxLQUhGLEVBSUVLLEtBSkYsQ0FJUSxZQUEwQjtBQUFBLHlDQUFiTCxJQUFhO0FBQWJBLFFBQUFBLElBQWE7QUFBQTs7QUFDaEMsYUFBT0MsS0FBSyxDQUFDQyxTQUFOLENBQWdCQyxLQUFoQixDQUFzQkMsSUFB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QUFsQjtBQUNBMUQsUUFBQUEsVUFBVSxDQUFDMEQsTUFBWCxDQUFrQixNQUFJLENBQUNyRSxhQUFMLENBQW1Cb0IsY0FBbkIsRUFBbEI7QUFDQSxPQXRDSyxDQUFQO0FBdUNBO0FBQ0Q7QUFDRDtBQUNBO0FBQ0E7QUFDQTs7O1dBQ0NrRCx5QixHQUFBLHFDQUE0QjtBQUMzQixhQUFPLEtBQUtsRSxjQUFaO0FBQ0E7QUFDRDtBQUNEO0FBQ0E7OztXQUNDbUUsdUIsR0FBQSxtQ0FBMEI7QUFDekIsVUFBSSxLQUFLbkUsY0FBVCxFQUF5QjtBQUN4QixhQUFLQSxjQUFMLEdBQXNCLEtBQXRCO0FBQ0E7QUFDRCxLOztXQUNEb0UscUIsR0FBQSwrQkFBc0JDLFVBQXRCLEVBQXVDO0FBQ3RDLGFBQU9BLFVBQVUsQ0FBQ0MsR0FBWCxDQUFlLGdDQUFmLENBQVA7QUFDQSxLOzs7SUE5STRCQyxVO0FBaUo5QjtBQUNBO0FBQ0E7O1NBQ2U3RSxlIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBkZWVwRXF1YWwgZnJvbSBcInNhcC9iYXNlL3V0aWwvZGVlcEVxdWFsXCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcyB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IGxpYnJhcnkgZnJvbSBcInNhcC9mZS9uYXZpZ2F0aW9uL2xpYnJhcnlcIjtcbmltcG9ydCBCYXNlT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9PYmplY3RcIjtcbmltcG9ydCBCdXN5TG9ja2VyIGZyb20gXCIuL2NvbnRyb2xsZXJleHRlbnNpb25zL0J1c3lMb2NrZXJcIjtcbmltcG9ydCBNb2RlbEhlbHBlciBmcm9tIFwiLi9oZWxwZXJzL01vZGVsSGVscGVyXCI7XG5cbmNvbnN0IE5hdlR5cGUgPSBsaWJyYXJ5Lk5hdlR5cGU7XG5mdW5jdGlvbiBfdG9FUzZQcm9taXNlKG9UaGVuYWJsZTogYW55KSB7XG5cdHJldHVybiBQcm9taXNlLnJlc29sdmUoXG5cdFx0b1RoZW5hYmxlXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcblx0XHRcdFx0cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3MpO1xuXHRcdFx0fSlcblx0XHRcdC5jYXRjaChmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcblx0XHRcdFx0cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3MpO1xuXHRcdFx0fSlcblx0KTtcbn1cblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuQXBwU3RhdGVIYW5kbGVyXCIpXG5jbGFzcyBBcHBTdGF0ZUhhbmRsZXIgZXh0ZW5kcyBCYXNlT2JqZWN0IHtcblx0cHVibGljIHNJZDogc3RyaW5nO1xuXHRwdWJsaWMgb0FwcENvbXBvbmVudDogYW55OyAvLyBBcHBDb21wb25lbnRcblx0cHVibGljIGJOb1JvdXRlQ2hhbmdlOiBib29sZWFuO1xuXHRwcml2YXRlIF9tQ3VycmVudEFwcFN0YXRlOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG5cdGNvbnN0cnVjdG9yKG9BcHBDb21wb25lbnQ6IGFueSkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5vQXBwQ29tcG9uZW50ID0gb0FwcENvbXBvbmVudDtcblx0XHR0aGlzLnNJZCA9IGAke29BcHBDb21wb25lbnQuZ2V0SWQoKX0vQXBwU3RhdGVIYW5kbGVyYDtcblxuXHRcdHRoaXMuYk5vUm91dGVDaGFuZ2UgPSBmYWxzZTtcblx0XHRMb2cuaW5mbyhcIkFQUFNUQVRFIDogQXBwc3RhdGUgaGFuZGxlciBpbml0aWFsaXplZFwiKTtcblx0fVxuXHRnZXRJZCgpIHtcblx0XHRyZXR1cm4gdGhpcy5zSWQ7XG5cdH1cblx0LyoqXG5cdCAqIENyZWF0ZXMvdXBkYXRlcyB0aGUgYXBwc3RhdGUuXG5cdCAqXG5cdCAqIEByZXR1cm5zIEEgcHJvbWlzZSByZXNvbHZpbmcgdGhlIHN0b3JlZCBkYXRhXG5cdCAqIEB1aTUtcmVzdHJpY3RlZFxuXHQgKi9cblx0Y3JlYXRlQXBwU3RhdGUoKSB7XG5cdFx0aWYgKCF0aGlzLm9BcHBDb21wb25lbnQuZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKS5nZXRDYXBhYmlsaXRpZXMoKS5BcHBTdGF0ZSB8fCBCdXN5TG9ja2VyLmlzTG9ja2VkKHRoaXMpKSB7XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cdFx0fVxuXG5cdFx0Y29uc3Qgb05hdmlnYXRpb25TZXJ2aWNlID0gdGhpcy5vQXBwQ29tcG9uZW50LmdldE5hdmlnYXRpb25TZXJ2aWNlKCksXG5cdFx0XHRvUm91dGVyUHJveHkgPSB0aGlzLm9BcHBDb21wb25lbnQuZ2V0Um91dGVyUHJveHkoKSxcblx0XHRcdHNIYXNoID0gb1JvdXRlclByb3h5LmdldEhhc2goKSxcblx0XHRcdG9Db250cm9sbGVyID0gdGhpcy5vQXBwQ29tcG9uZW50LmdldFJvb3RDb250cm9sKCkuZ2V0Q29udHJvbGxlcigpLFxuXHRcdFx0YklzU3RpY2t5TW9kZSA9IE1vZGVsSGVscGVyLmlzU3RpY2t5U2Vzc2lvblN1cHBvcnRlZCh0aGlzLm9BcHBDb21wb25lbnQuZ2V0TWV0YU1vZGVsKCkpO1xuXG5cdFx0aWYgKCFvQ29udHJvbGxlci52aWV3U3RhdGUpIHtcblx0XHRcdHJldHVybiBQcm9taXNlLnJlamVjdChgdmlld1N0YXRlIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIG5vdCBhdmFpbGFibGUgZm9yIGNvbnRyb2xsZXI6ICR7b0NvbnRyb2xsZXIuZ2V0TWV0YWRhdGEoKS5nZXROYW1lKCl9YCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG9Db250cm9sbGVyLnZpZXdTdGF0ZS5yZXRyaWV2ZVZpZXdTdGF0ZSgpLnRoZW4oKG1Jbm5lckFwcFN0YXRlOiBhbnkpID0+IHtcblx0XHRcdGNvbnN0IG9TdG9yZURhdGEgPSB7IGFwcFN0YXRlOiBtSW5uZXJBcHBTdGF0ZSB9O1xuXHRcdFx0aWYgKG1Jbm5lckFwcFN0YXRlICYmICFkZWVwRXF1YWwodGhpcy5fbUN1cnJlbnRBcHBTdGF0ZSwgbUlubmVyQXBwU3RhdGUpKSB7XG5cdFx0XHRcdHRoaXMuX21DdXJyZW50QXBwU3RhdGUgPSBtSW5uZXJBcHBTdGF0ZTtcblx0XHRcdFx0Y29uc3Qgb0FwcFN0YXRlID0gb05hdmlnYXRpb25TZXJ2aWNlLnN0b3JlSW5uZXJBcHBTdGF0ZVdpdGhJbW1lZGlhdGVSZXR1cm4ob1N0b3JlRGF0YSwgdHJ1ZSk7XG5cdFx0XHRcdExvZy5pbmZvKFwiQVBQU1RBVEU6IEFwcHN0YXRlIHN0b3JlZFwiKTtcblx0XHRcdFx0Y29uc3Qgc0FwcFN0YXRlS2V5ID0gb0FwcFN0YXRlLmFwcFN0YXRlS2V5O1xuXHRcdFx0XHRjb25zdCBzTmV3SGFzaCA9IG9OYXZpZ2F0aW9uU2VydmljZS5yZXBsYWNlSW5uZXJBcHBTdGF0ZUtleShzSGFzaCwgc0FwcFN0YXRlS2V5KTtcblx0XHRcdFx0aWYgKHNOZXdIYXNoICE9PSBzSGFzaCkge1xuXHRcdFx0XHRcdG9Sb3V0ZXJQcm94eS5uYXZUb0hhc2goc05ld0hhc2gsIG51bGwsIG51bGwsIG51bGwsICFiSXNTdGlja3lNb2RlKTtcblx0XHRcdFx0XHR0aGlzLmJOb1JvdXRlQ2hhbmdlID0gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRMb2cuaW5mbyhcIkFQUFNUQVRFOiBuYXZUb0hhc2hcIik7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gb1N0b3JlRGF0YTtcblx0XHR9KTtcblx0fVxuXG5cdF9jcmVhdGVOYXZpZ2F0aW9uUGFyYW1ldGVycyhvQXBwRGF0YTogYW55LCBzTmF2VHlwZTogYW55KSB7XG5cdFx0cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIG9BcHBEYXRhLCB7XG5cdFx0XHRzZWxlY3Rpb25WYXJpYW50RGVmYXVsdHM6IG9BcHBEYXRhLm9EZWZhdWx0ZWRTZWxlY3Rpb25WYXJpYW50LFxuXHRcdFx0c2VsZWN0aW9uVmFyaWFudDogb0FwcERhdGEub1NlbGVjdGlvblZhcmlhbnQsXG5cdFx0XHRyZXF1aXJlc1N0YW5kYXJkVmFyaWFudDogIW9BcHBEYXRhLmJOYXZTZWxWYXJIYXNEZWZhdWx0c09ubHksXG5cdFx0XHRuYXZpZ2F0aW9uVHlwZTogc05hdlR5cGVcblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBcHBsaWVzIGFuIGFwcHN0YXRlIGJ5IGZldGNoaW5nIGFwcGRhdGEgYW5kIHBhc3NpbmcgaXQgdG8gX2FwcGx5QXBwc3RhdGVUb1BhZ2UuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAc3RhdGljXG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5BcHBTdGF0ZUhhbmRsZXJcblx0ICogQHJldHVybnMgQSBwcm9taXNlIGZvciBhc3luYyBoYW5kbGluZ1xuXHQgKiBAcHJpdmF0ZVxuXHQgKiBAdWk1LXJlc3RyaWN0ZWRcblx0ICovXG5cdGFwcGx5QXBwU3RhdGUoKSB7XG5cdFx0aWYgKCF0aGlzLm9BcHBDb21wb25lbnQuZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKS5nZXRDYXBhYmlsaXRpZXMoKS5BcHBTdGF0ZSB8fCBCdXN5TG9ja2VyLmlzTG9ja2VkKHRoaXMpKSB7XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cdFx0fVxuXHRcdEJ1c3lMb2NrZXIubG9jayh0aGlzKTtcblx0XHQvLyBEb25lIGZvciBidXN5IGluZGljYXRvclxuXHRcdEJ1c3lMb2NrZXIubG9jayh0aGlzLm9BcHBDb21wb25lbnQuZ2V0Um9vdENvbnRyb2woKSk7XG5cblx0XHRjb25zdCBvTmF2aWdhdGlvblNlcnZpY2UgPSB0aGlzLm9BcHBDb21wb25lbnQuZ2V0TmF2aWdhdGlvblNlcnZpY2UoKTtcblx0XHQvLyBUT0RPIG9OYXZpZ2F0aW9uU2VydmljZS5wYXJzZU5hdmlnYXRpb24oKSBzaG91bGQgcmV0dXJuIEVTNiBwcm9taXNlIGluc3RlYWQgalF1ZXJ5LnByb21pc2Vcblx0XHRyZXR1cm4gX3RvRVM2UHJvbWlzZShvTmF2aWdhdGlvblNlcnZpY2UucGFyc2VOYXZpZ2F0aW9uKCkpXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKGFFcnJvckRhdGE6IGFueSkge1xuXHRcdFx0XHRpZiAoIWFFcnJvckRhdGEpIHtcblx0XHRcdFx0XHRhRXJyb3JEYXRhID0gW107XG5cdFx0XHRcdH1cblx0XHRcdFx0TG9nLndhcm5pbmcoXCJBUFBTVEFURTogUGFyc2UgTmF2aWdhdGlvbiBmYWlsZWRcIiwgYUVycm9yRGF0YVswXSk7XG5cdFx0XHRcdHJldHVybiBbXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0LyogYXBwIGRhdGEgKi9cblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGFFcnJvckRhdGFbMV0sXG5cdFx0XHRcdFx0YUVycm9yRGF0YVsyXVxuXHRcdFx0XHRdO1xuXHRcdFx0fSlcblx0XHRcdC50aGVuKChhUmVzdWx0czogYW55KSA9PiB7XG5cdFx0XHRcdExvZy5pbmZvKFwiQVBQU1RBVEU6IFBhcnNlIE5hdmlnYXRpb24gZG9uZVwiKTtcblxuXHRcdFx0XHQvLyBhUmVzdWx0c1sxXSA9PiBvU3RhcnR1cFBhcmFtZXRlcnMgKG5vdCBldmFsdWF0ZWQpXG5cdFx0XHRcdGNvbnN0IG9BcHBEYXRhID0gYVJlc3VsdHNbMF0gfHwge30sXG5cdFx0XHRcdFx0c05hdlR5cGUgPSBhUmVzdWx0c1syXSB8fCBOYXZUeXBlLmluaXRpYWwsXG5cdFx0XHRcdFx0b1Jvb3RDb250cm9sbGVyID0gdGhpcy5vQXBwQ29tcG9uZW50LmdldFJvb3RDb250cm9sKCkuZ2V0Q29udHJvbGxlcigpO1xuXG5cdFx0XHRcdHRoaXMuX21DdXJyZW50QXBwU3RhdGUgPSBzTmF2VHlwZSA9PT0gTmF2VHlwZS5pQXBwU3RhdGUgPyBvQXBwRGF0YSAmJiBvQXBwRGF0YS5hcHBTdGF0ZSA6IHVuZGVmaW5lZDtcblxuXHRcdFx0XHRpZiAoIW9Sb290Q29udHJvbGxlci52aWV3U3RhdGUpIHtcblx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoYHZpZXdTdGF0ZSBleHRlbnNpb24gcmVxdWlyZWQgZm9yIGNvbnRyb2xsZXIgJHtvUm9vdENvbnRyb2xsZXIuZ2V0TWV0YWRhdGEoKS5nZXROYW1lKCl9YCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gb1Jvb3RDb250cm9sbGVyLnZpZXdTdGF0ZVxuXHRcdFx0XHRcdC5hcHBseVZpZXdTdGF0ZSh0aGlzLl9tQ3VycmVudEFwcFN0YXRlLCB0aGlzLl9jcmVhdGVOYXZpZ2F0aW9uUGFyYW1ldGVycyhvQXBwRGF0YSwgc05hdlR5cGUpKVxuXHRcdFx0XHRcdC5jYXRjaChmdW5jdGlvbiAob0Vycm9yOiBhbnkpIHtcblx0XHRcdFx0XHRcdExvZy5lcnJvcihcImFwcFN0YXRlIGNvdWxkIG5vdCBiZSBhcHBsaWVkXCIsIG9FcnJvcik7XG5cdFx0XHRcdFx0XHR0aHJvdyBvRXJyb3I7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHR9KVxuXHRcdFx0LmZpbmFsbHkoKCkgPT4ge1xuXHRcdFx0XHRCdXN5TG9ja2VyLnVubG9jayh0aGlzKTtcblx0XHRcdFx0QnVzeUxvY2tlci51bmxvY2sodGhpcy5vQXBwQ29tcG9uZW50LmdldFJvb3RDb250cm9sKCkpO1xuXHRcdFx0fSk7XG5cdH1cblx0LyoqXG5cdCAqIFRvIGNoZWNrIGlzIHJvdXRlIGlzIGNoYW5nZWQgYnkgY2hhbmdlIGluIHRoZSBpQVBQU3RhdGUuXG5cdCAqXG5cdCAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgcm91dGUgaGFzIGNobmFnZWRcblx0ICovXG5cdGNoZWNrSWZSb3V0ZUNoYW5nZWRCeUlBcHAoKSB7XG5cdFx0cmV0dXJuIHRoaXMuYk5vUm91dGVDaGFuZ2U7XG5cdH1cblx0LyoqXG5cdCAqIFJlc2V0IHRoZSByb3V0ZSBjaGFuZ2VkIGJ5IGlBUFBTdGF0ZS5cblx0ICovXG5cdHJlc2V0Um91dGVDaGFuZ2VkQnlJQXBwKCkge1xuXHRcdGlmICh0aGlzLmJOb1JvdXRlQ2hhbmdlKSB7XG5cdFx0XHR0aGlzLmJOb1JvdXRlQ2hhbmdlID0gZmFsc2U7XG5cdFx0fVxuXHR9XG5cdF9pc0xpc3RCYXNlZENvbXBvbmVudChvQ29tcG9uZW50OiBhbnkpIHtcblx0XHRyZXR1cm4gb0NvbXBvbmVudC5pc0EoXCJzYXAuZmUudGVtcGxhdGVzLkxpc3RDb21wb25lbnRcIik7XG5cdH1cbn1cblxuLyoqXG4gKiBAZ2xvYmFsXG4gKi9cbmV4cG9ydCBkZWZhdWx0IEFwcFN0YXRlSGFuZGxlcjtcbiJdfQ==
@@ -1,19 +1,19 @@
1
- import BaseObject from "sap/ui/base/Object";
2
- import library from "sap/fe/navigation/library";
3
1
  import Log from "sap/base/Log";
4
2
  import deepEqual from "sap/base/util/deepEqual";
5
3
  import { defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
6
- import BusyLocker from "./BusyLocker";
4
+ import library from "sap/fe/navigation/library";
5
+ import BaseObject from "sap/ui/base/Object";
6
+ import BusyLocker from "./controllerextensions/BusyLocker";
7
7
  import ModelHelper from "./helpers/ModelHelper";
8
8
 
9
9
  const NavType = library.NavType;
10
10
  function _toES6Promise(oThenable: any) {
11
11
  return Promise.resolve(
12
12
  oThenable
13
- .then(function(...args: any[]) {
13
+ .then(function (...args: any[]) {
14
14
  return Array.prototype.slice.call(args);
15
15
  })
16
- .catch(function(...args: any[]) {
16
+ .catch(function (...args: any[]) {
17
17
  return Array.prototype.slice.call(args);
18
18
  })
19
19
  );
@@ -28,7 +28,7 @@ class AppStateHandler extends BaseObject {
28
28
  constructor(oAppComponent: any) {
29
29
  super();
30
30
  this.oAppComponent = oAppComponent;
31
- this.sId = oAppComponent.getId() + "/AppStateHandler";
31
+ this.sId = `${oAppComponent.getId()}/AppStateHandler`;
32
32
 
33
33
  this.bNoRouteChange = false;
34
34
  Log.info("APPSTATE : Appstate handler initialized");
@@ -39,11 +39,11 @@ class AppStateHandler extends BaseObject {
39
39
  /**
40
40
  * Creates/updates the appstate.
41
41
  *
42
- * @returns {Promise} A promise resolving the stored data
42
+ * @returns A promise resolving the stored data
43
43
  * @ui5-restricted
44
44
  */
45
45
  createAppState() {
46
- if (BusyLocker.isLocked(this)) {
46
+ if (!this.oAppComponent.getEnvironmentCapabilities().getCapabilities().AppState || BusyLocker.isLocked(this)) {
47
47
  return Promise.resolve();
48
48
  }
49
49
 
@@ -54,7 +54,7 @@ class AppStateHandler extends BaseObject {
54
54
  bIsStickyMode = ModelHelper.isStickySessionSupported(this.oAppComponent.getMetaModel());
55
55
 
56
56
  if (!oController.viewState) {
57
- return Promise.reject("viewState controller extension not available for controller: " + oController.getMetadata().getName());
57
+ return Promise.reject(`viewState controller extension not available for controller: ${oController.getMetadata().getName()}`);
58
58
  }
59
59
 
60
60
  return oController.viewState.retrieveViewState().then((mInnerAppState: any) => {
@@ -90,12 +90,12 @@ class AppStateHandler extends BaseObject {
90
90
  * @function
91
91
  * @static
92
92
  * @memberof sap.fe.core.AppStateHandler
93
- * @returns {Promise} A promise for async handling
93
+ * @returns A promise for async handling
94
94
  * @private
95
95
  * @ui5-restricted
96
- **/
96
+ */
97
97
  applyAppState() {
98
- if (this.oAppComponent.getModel("internal").getProperty("/uiAdaptation") || BusyLocker.isLocked(this)) {
98
+ if (!this.oAppComponent.getEnvironmentCapabilities().getCapabilities().AppState || BusyLocker.isLocked(this)) {
99
99
  return Promise.resolve();
100
100
  }
101
101
  BusyLocker.lock(this);
@@ -105,7 +105,7 @@ class AppStateHandler extends BaseObject {
105
105
  const oNavigationService = this.oAppComponent.getNavigationService();
106
106
  // TODO oNavigationService.parseNavigation() should return ES6 promise instead jQuery.promise
107
107
  return _toES6Promise(oNavigationService.parseNavigation())
108
- .catch(function(aErrorData: any) {
108
+ .catch(function (aErrorData: any) {
109
109
  if (!aErrorData) {
110
110
  aErrorData = [];
111
111
  }
@@ -129,12 +129,12 @@ class AppStateHandler extends BaseObject {
129
129
  this._mCurrentAppState = sNavType === NavType.iAppState ? oAppData && oAppData.appState : undefined;
130
130
 
131
131
  if (!oRootController.viewState) {
132
- throw new Error("viewState extension required for controller " + oRootController.getMetadata().getName());
132
+ throw new Error(`viewState extension required for controller ${oRootController.getMetadata().getName()}`);
133
133
  }
134
134
 
135
135
  return oRootController.viewState
136
136
  .applyViewState(this._mCurrentAppState, this._createNavigationParameters(oAppData, sNavType))
137
- .catch(function(oError: any) {
137
+ .catch(function (oError: any) {
138
138
  Log.error("appState could not be applied", oError);
139
139
  throw oError;
140
140
  });
@@ -147,14 +147,14 @@ class AppStateHandler extends BaseObject {
147
147
  /**
148
148
  * To check is route is changed by change in the iAPPState.
149
149
  *
150
- * @returns {boolean}
151
- **/
150
+ * @returns `true` if the route has chnaged
151
+ */
152
152
  checkIfRouteChangedByIApp() {
153
153
  return this.bNoRouteChange;
154
154
  }
155
155
  /**
156
156
  * Reset the route changed by iAPPState.
157
- **/
157
+ */
158
158
  resetRouteChangedByIApp() {
159
159
  if (this.bNoRouteChange) {
160
160
  this.bNoRouteChange = false;
@@ -2,13 +2,13 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/ui/core/mvc/Controller", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/ClassSupport"], function (Controller, CommonUtils, ClassSupport) {
5
+ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/helpers/ClassSupport", "sap/ui/core/mvc/Controller"], function (CommonUtils, ClassSupport, Controller) {
6
6
  "use strict";
7
7
 
8
8
  var _dec, _dec2, _class, _class2;
9
9
 
10
- var defineUI5Class = ClassSupport.defineUI5Class;
11
10
  var publicExtension = ClassSupport.publicExtension;
11
+ var defineUI5Class = ClassSupport.defineUI5Class;
12
12
 
13
13
  function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
14
14
 
@@ -38,7 +38,7 @@ sap.ui.define(["sap/ui/core/mvc/Controller", "sap/fe/core/CommonUtils", "sap/fe/
38
38
  /**
39
39
  * Returns the current app component.
40
40
  *
41
- * @returns {sap.fe.core.AppComponent} The app component or, if not found, null
41
+ * @returns The app component or, if not found, null
42
42
  * @alias sap.fe.core.BaseController#getAppComponent
43
43
  * @public
44
44
  * @since 1.91.0
@@ -52,9 +52,10 @@ sap.ui.define(["sap/ui/core/mvc/Controller", "sap/fe/core/CommonUtils", "sap/fe/
52
52
  }
53
53
  /**
54
54
  * Convenience method provided by SAP Fiori elements to enable applications to include the view model by name into each controller.
55
+ *
55
56
  * @public
56
- * @param {string} sName The model name
57
- * @returns {sap.ui.model.Model} The model instance
57
+ * @param sName The model name
58
+ * @returns The model instance
58
59
  */
59
60
  ;
60
61
 
@@ -63,10 +64,11 @@ sap.ui.define(["sap/ui/core/mvc/Controller", "sap/fe/core/CommonUtils", "sap/fe/
63
64
  }
64
65
  /**
65
66
  * Convenience method for setting the view model in every controller of the application.
67
+ *
66
68
  * @public
67
- * @param {sap.ui.model.Model} oModel The model instance
68
- * @param {string} sName The model name
69
- * @returns {sap.ui.mvc.View} The view instance
69
+ * @param oModel The model instance
70
+ * @param sName The model name
71
+ * @returns The view instance
70
72
  */
71
73
  ;
72
74
 
@@ -86,4 +88,4 @@ sap.ui.define(["sap/ui/core/mvc/Controller", "sap/fe/core/CommonUtils", "sap/fe/
86
88
  }(Controller), (_applyDecoratedDescriptor(_class2.prototype, "getAppComponent", [_dec2], Object.getOwnPropertyDescriptor(_class2.prototype, "getAppComponent"), _class2.prototype)), _class2)) || _class);
87
89
  return BaseController;
88
90
  }, false);
89
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhc2VDb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbIkJhc2VDb250cm9sbGVyIiwiZGVmaW5lVUk1Q2xhc3MiLCJwdWJsaWNFeHRlbnNpb24iLCJnZXRBcHBDb21wb25lbnQiLCJfb0FwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0VmlldyIsImdldE1vZGVsIiwic05hbWUiLCJzZXRNb2RlbCIsIm9Nb2RlbCIsImdldFJlc291cmNlQnVuZGxlIiwic0kxOG5Nb2RlbE5hbWUiLCJDb250cm9sbGVyIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUVNQSxjLFdBRExDLGNBQWMsQ0FBQyw0QkFBRCxDLFVBV2JDLGVBQWUsRTs7Ozs7Ozs7O0FBUmhCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7V0FFQ0MsZSxHQURBLDJCQUNnQztBQUMvQixVQUFJLENBQUMsS0FBS0MsY0FBVixFQUEwQjtBQUN6QixhQUFLQSxjQUFMLEdBQXNCQyxXQUFXLENBQUNGLGVBQVosQ0FBNEIsS0FBS0csT0FBTCxFQUE1QixDQUF0QjtBQUNBOztBQUNELGFBQU8sS0FBS0YsY0FBWjtBQUNBO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7V0FDQ0csUSxHQUFBLGtCQUFTQyxLQUFULEVBQXlCO0FBQ3hCLGFBQU8sS0FBS0YsT0FBTCxHQUFlQyxRQUFmLENBQXdCQyxLQUF4QixDQUFQO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O1dBQ0NDLFEsR0FBQSxrQkFBU0MsTUFBVCxFQUF3QkYsS0FBeEIsRUFBNkM7QUFDNUMsYUFBTyxLQUFLRixPQUFMLEdBQWVHLFFBQWYsQ0FBd0JDLE1BQXhCLEVBQWdDRixLQUFoQyxDQUFQO0FBQ0EsSzs7V0FFREcsaUIsR0FBQSwyQkFBa0JDLGNBQWxCLEVBQXVDO0FBQ3RDLFVBQUksQ0FBQ0EsY0FBTCxFQUFxQjtBQUNwQkEsUUFBQUEsY0FBYyxHQUFHLE1BQWpCO0FBQ0E7O0FBQ0QsYUFBUSxLQUFLVCxlQUFMLEdBQXVCSSxRQUF2QixDQUFnQ0ssY0FBaEMsQ0FBRCxDQUFtRUQsaUJBQW5FLEVBQVA7QUFDQSxLOzs7SUE1QzJCRSxVO1NBK0NkYixjIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29udHJvbGxlciBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL0NvbnRyb2xsZXJcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IHB1YmxpY0V4dGVuc2lvbiwgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBBcHBDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IFJlc291cmNlTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9yZXNvdXJjZS9SZXNvdXJjZU1vZGVsXCI7XG5pbXBvcnQgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCBNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL01vZGVsXCI7XG5cbi8qKlxuICogSW50ZXJuYWwgYmFzZSBjb250cm9sbGVyIGNsYXNzIGZvciBTQVAgRmlvcmkgZWxlbWVudHMgYXBwbGljYXRpb24uXG4gKlxuICogSWYgeW91IHdhbnQgdG8gZXh0ZW5kIGEgYmFzZSBjb250cm9sbGVyIGZvciB5b3VyIGN1c3RvbSBwYWdlLCBwbGVhc2UgdXNlIGZvciBzYXAuZmUuY29yZS5QYWdlQ29udHJvbGxlci5cbiAqXG4gKiBAaGlkZWNvbnN0cnVjdG9yXG4gKiBAcHVibGljXG4gKiBAbmFtZSBzYXAuZmUuY29yZS5CYXNlQ29udHJvbGxlclxuICogQHNpbmNlIDEuOTAuMFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5CYXNlQ29udHJvbGxlclwiKVxuY2xhc3MgQmFzZUNvbnRyb2xsZXIgZXh0ZW5kcyBDb250cm9sbGVyIHtcblx0cHJpdmF0ZSBfb0FwcENvbXBvbmVudD86IEFwcENvbXBvbmVudDtcblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGN1cnJlbnQgYXBwIGNvbXBvbmVudC5cblx0ICpcblx0ICogQHJldHVybnMge3NhcC5mZS5jb3JlLkFwcENvbXBvbmVudH0gVGhlIGFwcCBjb21wb25lbnQgb3IsIGlmIG5vdCBmb3VuZCwgbnVsbFxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuQmFzZUNvbnRyb2xsZXIjZ2V0QXBwQ29tcG9uZW50XG5cdCAqIEBwdWJsaWNcblx0ICogQHNpbmNlIDEuOTEuMFxuXHQgKi9cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdGdldEFwcENvbXBvbmVudCgpOiBBcHBDb21wb25lbnQge1xuXHRcdGlmICghdGhpcy5fb0FwcENvbXBvbmVudCkge1xuXHRcdFx0dGhpcy5fb0FwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzLmdldFZpZXcoKSk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLl9vQXBwQ29tcG9uZW50IGFzIEFwcENvbXBvbmVudDtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb252ZW5pZW5jZSBtZXRob2QgcHJvdmlkZWQgYnkgU0FQIEZpb3JpIGVsZW1lbnRzIHRvIGVuYWJsZSBhcHBsaWNhdGlvbnMgdG8gaW5jbHVkZSB0aGUgdmlldyBtb2RlbCBieSBuYW1lIGludG8gZWFjaCBjb250cm9sbGVyLlxuXHQgKiBAcHVibGljXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBzTmFtZSBUaGUgbW9kZWwgbmFtZVxuXHQgKiBAcmV0dXJucyB7c2FwLnVpLm1vZGVsLk1vZGVsfSBUaGUgbW9kZWwgaW5zdGFuY2Vcblx0ICovXG5cdGdldE1vZGVsKHNOYW1lPzogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIHRoaXMuZ2V0VmlldygpLmdldE1vZGVsKHNOYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIHNldHRpbmcgdGhlIHZpZXcgbW9kZWwgaW4gZXZlcnkgY29udHJvbGxlciBvZiB0aGUgYXBwbGljYXRpb24uXG5cdCAqIEBwdWJsaWNcblx0ICogQHBhcmFtIHtzYXAudWkubW9kZWwuTW9kZWx9IG9Nb2RlbCBUaGUgbW9kZWwgaW5zdGFuY2Vcblx0ICogQHBhcmFtIHtzdHJpbmd9IHNOYW1lIFRoZSBtb2RlbCBuYW1lXG5cdCAqIEByZXR1cm5zIHtzYXAudWkubXZjLlZpZXd9IFRoZSB2aWV3IGluc3RhbmNlXG5cdCAqL1xuXHRzZXRNb2RlbChvTW9kZWw6IE1vZGVsLCBzTmFtZTogc3RyaW5nKTogVmlldyB7XG5cdFx0cmV0dXJuIHRoaXMuZ2V0VmlldygpLnNldE1vZGVsKG9Nb2RlbCwgc05hbWUpO1xuXHR9XG5cblx0Z2V0UmVzb3VyY2VCdW5kbGUoc0kxOG5Nb2RlbE5hbWU6IGFueSkge1xuXHRcdGlmICghc0kxOG5Nb2RlbE5hbWUpIHtcblx0XHRcdHNJMThuTW9kZWxOYW1lID0gXCJpMThuXCI7XG5cdFx0fVxuXHRcdHJldHVybiAodGhpcy5nZXRBcHBDb21wb25lbnQoKS5nZXRNb2RlbChzSTE4bk1vZGVsTmFtZSkgYXMgUmVzb3VyY2VNb2RlbCkuZ2V0UmVzb3VyY2VCdW5kbGUoKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBCYXNlQ29udHJvbGxlcjtcbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhc2VDb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbIkJhc2VDb250cm9sbGVyIiwiZGVmaW5lVUk1Q2xhc3MiLCJwdWJsaWNFeHRlbnNpb24iLCJnZXRBcHBDb21wb25lbnQiLCJfb0FwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0VmlldyIsImdldE1vZGVsIiwic05hbWUiLCJzZXRNb2RlbCIsIm9Nb2RlbCIsImdldFJlc291cmNlQnVuZGxlIiwic0kxOG5Nb2RlbE5hbWUiLCJDb250cm9sbGVyIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUVNQSxjLFdBRExDLGNBQWMsQ0FBQyw0QkFBRCxDLFVBV2JDLGVBQWUsRTs7Ozs7Ozs7O0FBUmhCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7V0FFQ0MsZSxHQURBLDJCQUNnQztBQUMvQixVQUFJLENBQUMsS0FBS0MsY0FBVixFQUEwQjtBQUN6QixhQUFLQSxjQUFMLEdBQXNCQyxXQUFXLENBQUNGLGVBQVosQ0FBNEIsS0FBS0csT0FBTCxFQUE1QixDQUF0QjtBQUNBOztBQUNELGFBQU8sS0FBS0YsY0FBWjtBQUNBO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztXQUNDRyxRLEdBQUEsa0JBQVNDLEtBQVQsRUFBeUI7QUFDeEIsYUFBTyxLQUFLRixPQUFMLEdBQWVDLFFBQWYsQ0FBd0JDLEtBQXhCLENBQVA7QUFDQTtBQUVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztXQUNDQyxRLEdBQUEsa0JBQVNDLE1BQVQsRUFBd0JGLEtBQXhCLEVBQTZDO0FBQzVDLGFBQU8sS0FBS0YsT0FBTCxHQUFlRyxRQUFmLENBQXdCQyxNQUF4QixFQUFnQ0YsS0FBaEMsQ0FBUDtBQUNBLEs7O1dBRURHLGlCLEdBQUEsMkJBQWtCQyxjQUFsQixFQUF1QztBQUN0QyxVQUFJLENBQUNBLGNBQUwsRUFBcUI7QUFDcEJBLFFBQUFBLGNBQWMsR0FBRyxNQUFqQjtBQUNBOztBQUNELGFBQVEsS0FBS1QsZUFBTCxHQUF1QkksUUFBdkIsQ0FBZ0NLLGNBQWhDLENBQUQsQ0FBbUVELGlCQUFuRSxFQUFQO0FBQ0EsSzs7O0lBOUMyQkUsVTtTQWlEZGIsYyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgQXBwQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9BcHBDb21wb25lbnRcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwdWJsaWNFeHRlbnNpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb250cm9sbGVyIGZyb20gXCJzYXAvdWkvY29yZS9tdmMvQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCB0eXBlIE1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvTW9kZWxcIjtcbmltcG9ydCB0eXBlIFJlc291cmNlTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9yZXNvdXJjZS9SZXNvdXJjZU1vZGVsXCI7XG5cbi8qKlxuICogSW50ZXJuYWwgYmFzZSBjb250cm9sbGVyIGNsYXNzIGZvciBTQVAgRmlvcmkgZWxlbWVudHMgYXBwbGljYXRpb24uXG4gKlxuICogSWYgeW91IHdhbnQgdG8gZXh0ZW5kIGEgYmFzZSBjb250cm9sbGVyIGZvciB5b3VyIGN1c3RvbSBwYWdlLCBwbGVhc2UgdXNlIGZvciBzYXAuZmUuY29yZS5QYWdlQ29udHJvbGxlci5cbiAqXG4gKiBAaGlkZWNvbnN0cnVjdG9yXG4gKiBAcHVibGljXG4gKiBAbmFtZSBzYXAuZmUuY29yZS5CYXNlQ29udHJvbGxlclxuICogQHNpbmNlIDEuOTAuMFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5CYXNlQ29udHJvbGxlclwiKVxuY2xhc3MgQmFzZUNvbnRyb2xsZXIgZXh0ZW5kcyBDb250cm9sbGVyIHtcblx0cHJpdmF0ZSBfb0FwcENvbXBvbmVudD86IEFwcENvbXBvbmVudDtcblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGN1cnJlbnQgYXBwIGNvbXBvbmVudC5cblx0ICpcblx0ICogQHJldHVybnMgVGhlIGFwcCBjb21wb25lbnQgb3IsIGlmIG5vdCBmb3VuZCwgbnVsbFxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuQmFzZUNvbnRyb2xsZXIjZ2V0QXBwQ29tcG9uZW50XG5cdCAqIEBwdWJsaWNcblx0ICogQHNpbmNlIDEuOTEuMFxuXHQgKi9cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdGdldEFwcENvbXBvbmVudCgpOiBBcHBDb21wb25lbnQge1xuXHRcdGlmICghdGhpcy5fb0FwcENvbXBvbmVudCkge1xuXHRcdFx0dGhpcy5fb0FwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzLmdldFZpZXcoKSk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLl9vQXBwQ29tcG9uZW50O1xuXHR9XG5cblx0LyoqXG5cdCAqIENvbnZlbmllbmNlIG1ldGhvZCBwcm92aWRlZCBieSBTQVAgRmlvcmkgZWxlbWVudHMgdG8gZW5hYmxlIGFwcGxpY2F0aW9ucyB0byBpbmNsdWRlIHRoZSB2aWV3IG1vZGVsIGJ5IG5hbWUgaW50byBlYWNoIGNvbnRyb2xsZXIuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICogQHBhcmFtIHNOYW1lIFRoZSBtb2RlbCBuYW1lXG5cdCAqIEByZXR1cm5zIFRoZSBtb2RlbCBpbnN0YW5jZVxuXHQgKi9cblx0Z2V0TW9kZWwoc05hbWU/OiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gdGhpcy5nZXRWaWV3KCkuZ2V0TW9kZWwoc05hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3Igc2V0dGluZyB0aGUgdmlldyBtb2RlbCBpbiBldmVyeSBjb250cm9sbGVyIG9mIHRoZSBhcHBsaWNhdGlvbi5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKiBAcGFyYW0gb01vZGVsIFRoZSBtb2RlbCBpbnN0YW5jZVxuXHQgKiBAcGFyYW0gc05hbWUgVGhlIG1vZGVsIG5hbWVcblx0ICogQHJldHVybnMgVGhlIHZpZXcgaW5zdGFuY2Vcblx0ICovXG5cdHNldE1vZGVsKG9Nb2RlbDogTW9kZWwsIHNOYW1lOiBzdHJpbmcpOiBWaWV3IHtcblx0XHRyZXR1cm4gdGhpcy5nZXRWaWV3KCkuc2V0TW9kZWwob01vZGVsLCBzTmFtZSk7XG5cdH1cblxuXHRnZXRSZXNvdXJjZUJ1bmRsZShzSTE4bk1vZGVsTmFtZTogYW55KSB7XG5cdFx0aWYgKCFzSTE4bk1vZGVsTmFtZSkge1xuXHRcdFx0c0kxOG5Nb2RlbE5hbWUgPSBcImkxOG5cIjtcblx0XHR9XG5cdFx0cmV0dXJuICh0aGlzLmdldEFwcENvbXBvbmVudCgpLmdldE1vZGVsKHNJMThuTW9kZWxOYW1lKSBhcyBSZXNvdXJjZU1vZGVsKS5nZXRSZXNvdXJjZUJ1bmRsZSgpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEJhc2VDb250cm9sbGVyO1xuIl19
@@ -1,10 +1,10 @@
1
- import Controller from "sap/ui/core/mvc/Controller";
1
+ import type AppComponent from "sap/fe/core/AppComponent";
2
2
  import CommonUtils from "sap/fe/core/CommonUtils";
3
- import { publicExtension, defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
4
- import AppComponent from "sap/fe/core/AppComponent";
5
- import ResourceModel from "sap/ui/model/resource/ResourceModel";
6
- import View from "sap/ui/core/mvc/View";
7
- import Model from "sap/ui/model/Model";
3
+ import { defineUI5Class, publicExtension } from "sap/fe/core/helpers/ClassSupport";
4
+ import Controller from "sap/ui/core/mvc/Controller";
5
+ import type View from "sap/ui/core/mvc/View";
6
+ import type Model from "sap/ui/model/Model";
7
+ import type ResourceModel from "sap/ui/model/resource/ResourceModel";
8
8
 
9
9
  /**
10
10
  * Internal base controller class for SAP Fiori elements application.
@@ -22,7 +22,7 @@ class BaseController extends Controller {
22
22
  /**
23
23
  * Returns the current app component.
24
24
  *
25
- * @returns {sap.fe.core.AppComponent} The app component or, if not found, null
25
+ * @returns The app component or, if not found, null
26
26
  * @alias sap.fe.core.BaseController#getAppComponent
27
27
  * @public
28
28
  * @since 1.91.0
@@ -32,14 +32,15 @@ class BaseController extends Controller {
32
32
  if (!this._oAppComponent) {
33
33
  this._oAppComponent = CommonUtils.getAppComponent(this.getView());
34
34
  }
35
- return this._oAppComponent as AppComponent;
35
+ return this._oAppComponent;
36
36
  }
37
37
 
38
38
  /**
39
39
  * Convenience method provided by SAP Fiori elements to enable applications to include the view model by name into each controller.
40
+ *
40
41
  * @public
41
- * @param {string} sName The model name
42
- * @returns {sap.ui.model.Model} The model instance
42
+ * @param sName The model name
43
+ * @returns The model instance
43
44
  */
44
45
  getModel(sName?: string) {
45
46
  return this.getView().getModel(sName);
@@ -47,10 +48,11 @@ class BaseController extends Controller {
47
48
 
48
49
  /**
49
50
  * Convenience method for setting the view model in every controller of the application.
51
+ *
50
52
  * @public
51
- * @param {sap.ui.model.Model} oModel The model instance
52
- * @param {string} sName The model name
53
- * @returns {sap.ui.mvc.View} The view instance
53
+ * @param oModel The model instance
54
+ * @param sName The model name
55
+ * @returns The view instance
54
56
  */
55
57
  setModel(oModel: Model, sName: string): View {
56
58
  return this.getView().setModel(oModel, sName);