@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
@@ -24,6 +24,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/base/Object",
24
24
 
25
25
  /**
26
26
  * Common Extension API for all pages of SAP Fiori elements for OData V4.
27
+ *
27
28
  * @alias sap.fe.core.ExtensionAPI
28
29
  * @public
29
30
  * @hideconstructor
@@ -41,16 +42,19 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/base/Object",
41
42
 
42
43
  /**
43
44
  * A controller extension offering hooks into the edit flow of the application.
45
+ *
44
46
  * @public
45
47
  */
46
48
 
47
49
  /**
48
50
  * A controller extension offering hooks into the routing flow of the application.
51
+ *
49
52
  * @public
50
53
  */
51
54
 
52
55
  /**
53
56
  * ExtensionAPI for intent-based navigation
57
+ *
54
58
  * @public
55
59
  */
56
60
  function ExtensionAPI(oController, sId) {
@@ -86,11 +90,10 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/base/Object",
86
90
  * Access any control by ID.
87
91
  *
88
92
  * @alias sap.fe.core.ExtensionAPI#byId
89
- * @param {string} sId ID of the control without the view prefix. Either the ID prefixed by SAP Fiori elements
93
+ * @param sId ID of the control without the view prefix. Either the ID prefixed by SAP Fiori elements
90
94
  * (for example with the section) or the control ID only. The latter works only for an extension running in
91
95
  * the same context (like in the same section). You can use the prefix for SAP Fiori elements to also access other controls located in different sections.
92
- * @returns {sap.ui.core.Control} The requested control, if found in the view.
93
- *
96
+ * @returns The requested control, if found in the view.
94
97
  * @private
95
98
  */
96
99
  ;
@@ -100,7 +103,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/base/Object",
100
103
 
101
104
  if (!oControl && this._prefix) {
102
105
  // give it a try with the prefix
103
- oControl = this._view.byId(this._prefix + "--" + sId);
106
+ oControl = this._view.byId("".concat(this._prefix, "--").concat(sId));
104
107
  }
105
108
 
106
109
  if (oControl) {
@@ -123,9 +126,8 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/base/Object",
123
126
  * editMode is deprecated and should not be used anymore. Use isEditable instead.
124
127
  *
125
128
  * @alias sap.fe.core.ExtensionAPI#getModel
126
- * @param {string} sModelName Name of the model
127
- * @returns {sap.ui.model.Model} The required model
128
- *
129
+ * @param sModelName Name of the model
130
+ * @returns The required model
129
131
  * @public
130
132
  */
131
133
  ;
@@ -148,8 +150,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/base/Object",
148
150
  * Add any control as a dependent control to this SAP Fiori elements page.
149
151
  *
150
152
  * @alias sap.fe.core.ExtensionAPI#addDependent
151
- * @param {sap.ui.core.Control} oControl Control to be added as a dependent control
152
- *
153
+ * @param oControl Control to be added as a dependent control
153
154
  * @public
154
155
  */
155
156
  ;
@@ -161,8 +162,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/base/Object",
161
162
  * Remove a dependent control from this SAP Fiori elements page.
162
163
  *
163
164
  * @alias sap.fe.core.ExtensionAPI#removeDependent
164
- * @param {sap.ui.core.Control} oControl Control to be added as a dependent control
165
- *
165
+ * @param oControl Control to be added as a dependent control
166
166
  * @public
167
167
  */
168
168
  ;
@@ -174,28 +174,26 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/base/Object",
174
174
  * Navigate to another target.
175
175
  *
176
176
  * @alias sap.fe.core.ExtensionAPI#navigateToTarget
177
- * @param {string} sTarget Name of the target route
178
- * @param {sap.ui.model.Context} [oContext] Context instance
179
- * @returns {void}
177
+ * @param sTarget Name of the target route
178
+ * @param [oContext] Context instance
180
179
  * @public
181
180
  */
182
181
  ;
183
182
 
184
183
  _proto.navigateToTarget = function navigateToTarget(sTarget, oContext) {
185
- return this._controller._routing.navigateToTarget(oContext, sTarget);
184
+ this._controller._routing.navigateToTarget(oContext, sTarget);
186
185
  }
187
186
  /**
188
187
  * Load a fragment and go through the template preprocessor with the current page context.
189
188
  *
190
189
  * @alias sap.fe.core.ExtensionAPI#loadFragment
191
- * @param {object} mSettings The settings object
192
- * @param {string} mSettings.id The ID of the fragment itself
193
- * @param {string} mSettings.name The name of the fragment to be loaded
194
- * @param {object} mSettings.controller The controller to be attached to the fragment
195
- * @param {string} mSettings.contextPath The contextPath to be used for the templating process
196
- * @param {sap.ui.model.Context} mSettings.initialBindingContext The initial binding context
197
- * @returns {Promise<Element[]|sap.ui.core.Element[]>} The fragment definition
198
- *
190
+ * @param mSettings The settings object
191
+ * @param mSettings.id The ID of the fragment itself
192
+ * @param mSettings.name The name of the fragment to be loaded
193
+ * @param mSettings.controller The controller to be attached to the fragment
194
+ * @param mSettings.contextPath The contextPath to be used for the templating process
195
+ * @param mSettings.initialBindingContext The initial binding context
196
+ * @returns The fragment definition
199
197
  * @public
200
198
  */
201
199
  ;
@@ -213,7 +211,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/base/Object",
213
211
  var oViewDataModel = new JSONModel(mViewData),
214
212
  oPreprocessorSettings = {
215
213
  bindingContexts: {
216
- "contextPath": oMetaModel === null || oMetaModel === void 0 ? void 0 : oMetaModel.createBindingContext(mSettings.contextPath || "/" + oTemplateComponent.getEntitySet()),
214
+ "contextPath": oMetaModel === null || oMetaModel === void 0 ? void 0 : oMetaModel.createBindingContext(mSettings.contextPath || "/".concat(oTemplateComponent.getEntitySet())),
217
215
  converterContext: oPageModel.createBindingContext("/", undefined, {
218
216
  noResolve: true
219
217
  }),
@@ -248,16 +246,13 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/base/Object",
248
246
  * Should be called if the state of a control, or any other state-relevant information, was changed.
249
247
  *
250
248
  * @alias sap.fe.core.ExtensionAPI#updateAppState
251
- * @returns {Promise} A promise that resolves with the new app state object.
252
- *
249
+ * @returns A promise that resolves with the new app state object.
253
250
  * @public
254
251
  */
255
252
  ;
256
253
 
257
254
  _proto.updateAppState = function updateAppState() {
258
- if (!this._controller.getAppComponent().getModel("internal").getProperty("/uiAdaptation")) {
259
- return this._controller.getAppComponent().getAppStateHandler().createAppState();
260
- }
255
+ return this._controller.getAppComponent().getAppStateHandler().createAppState();
261
256
  };
262
257
 
263
258
  return ExtensionAPI;
@@ -279,4 +274,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/base/Object",
279
274
  })), _class2)) || _class);
280
275
  return ExtensionAPI;
281
276
  }, false);
282
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkV4dGVuc2lvbkFQSS50cyJdLCJuYW1lcyI6WyJFeHRlbnNpb25BUEkiLCJkZWZpbmVVSTVDbGFzcyIsInByb3BlcnR5IiwidHlwZSIsIm9Db250cm9sbGVyIiwic0lkIiwiX2NvbnRyb2xsZXIiLCJfdmlldyIsImdldFZpZXciLCJleHRlbnNpb24iLCJlZGl0RmxvdyIsInJvdXRpbmciLCJfcm91dGluZyIsImludGVudEJhc2VkTmF2aWdhdGlvbiIsIl9wcmVmaXgiLCJkZXN0cm95IiwiYnlJZCIsIm9Db250cm9sIiwiZ2V0TW9kZWwiLCJzTW9kZWxOYW1lIiwib0FwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0TWFuaWZlc3RFbnRyeSIsIm1vZGVscyIsInVuZGVmaW5lZCIsImFkZERlcGVuZGVudCIsInJlbW92ZURlcGVuZGVudCIsIm5hdmlnYXRlVG9UYXJnZXQiLCJzVGFyZ2V0Iiwib0NvbnRleHQiLCJsb2FkRnJhZ21lbnQiLCJtU2V0dGluZ3MiLCJvVGVtcGxhdGVDb21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsIm9QYWdlTW9kZWwiLCJvTWV0YU1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwibVZpZXdEYXRhIiwiZ2V0Vmlld0RhdGEiLCJvVmlld0RhdGFNb2RlbCIsIkpTT05Nb2RlbCIsIm9QcmVwcm9jZXNzb3JTZXR0aW5ncyIsImJpbmRpbmdDb250ZXh0cyIsImNyZWF0ZUJpbmRpbmdDb250ZXh0IiwiY29udGV4dFBhdGgiLCJnZXRFbnRpdHlTZXQiLCJjb252ZXJ0ZXJDb250ZXh0Iiwibm9SZXNvbHZlIiwidmlld0RhdGEiLCJtZXRhTW9kZWwiLCJhcHBDb21wb25lbnQiLCJvVGVtcGxhdGVQcm9taXNlIiwidGVtcGxhdGVDb250cm9sRnJhZ21lbnQiLCJuYW1lIiwiY29udHJvbGxlciIsImlzWE1MIiwiaWQiLCJ0aGVuIiwib0ZyYWdtZW50IiwiaW5pdGlhbEJpbmRpbmdDb250ZXh0Iiwic2V0QmluZGluZ0NvbnRleHQiLCJjYXRjaCIsIm9FcnJvciIsIkxvZyIsImVycm9yIiwidXBkYXRlQXBwU3RhdGUiLCJnZXRQcm9wZXJ0eSIsImdldEFwcFN0YXRlSGFuZGxlciIsImNyZWF0ZUFwcFN0YXRlIiwiQmFzZU9iamVjdCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7TUFFTUEsWSxXQURMQyxjQUFjLENBQUMsMEJBQUQsQyxVQU1iQyxRQUFRLENBQUM7QUFBRUMsSUFBQUEsSUFBSSxFQUFFO0FBQVIsR0FBRCxDLFVBTVJELFFBQVEsQ0FBQztBQUFFQyxJQUFBQSxJQUFJLEVBQUU7QUFBUixHQUFELEMsVUFNUkQsUUFBUSxDQUFDO0FBQUVDLElBQUFBLElBQUksRUFBRTtBQUFSLEdBQUQsQzs7O0FBaEJUO0FBQ0Q7QUFDQTtBQUNBOztBQUdDO0FBQ0Q7QUFDQTtBQUNBOztBQUdDO0FBQ0Q7QUFDQTtBQUNBO0FBVUMsMEJBQVlDLFdBQVosRUFBeUNDLEdBQXpDLEVBQXVEO0FBQUE7O0FBQ3REOztBQURzRDs7QUFBQTs7QUFBQTs7QUFFdEQsWUFBS0MsV0FBTCxHQUFtQkYsV0FBbkI7QUFDQSxZQUFLRyxLQUFMLEdBQWFILFdBQVcsQ0FBQ0ksT0FBWixFQUFiO0FBQ0EsWUFBS0MsU0FBTCxHQUFrQixNQUFLSCxXQUFOLENBQTBCRyxTQUEzQztBQUNBLFlBQUtDLFFBQUwsR0FBZ0IsTUFBS0osV0FBTCxDQUFpQkksUUFBakM7QUFDQSxZQUFLQyxPQUFMLEdBQWUsTUFBS0wsV0FBTCxDQUFpQkssT0FBaEM7QUFDQSxZQUFLQyxRQUFMLEdBQWdCLE1BQUtOLFdBQUwsQ0FBaUJNLFFBQWpDO0FBQ0EsWUFBS0MscUJBQUwsR0FBNkIsTUFBS1AsV0FBTCxDQUFpQk8scUJBQTlDO0FBQ0EsWUFBS0MsT0FBTCxHQUFlVCxHQUFmO0FBVHNEO0FBVXREOzs7O1dBQ0RVLE8s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QUFBLEdBQUcsQ0FBQ0MsS0FBSixDQUFVRixNQUFWO0FBQ0EsT0FURjtBQVVBLGFBQU9YLGdCQUFQO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztXQUNDYyxjLEdBQUEsMEJBQTRDO0FBQzNDLFVBQUksQ0FBQyxLQUFLN0QsV0FBTCxDQUFpQmdCLGVBQWpCLEdBQW1DSixRQUFuQyxDQUE0QyxVQUE1QyxFQUF3RGtELFdBQXhELENBQW9FLGVBQXBFLENBQUwsRUFBMkY7QUFDMUYsZUFBTyxLQUFLOUQsV0FBTCxDQUFpQmdCLGVBQWpCLEdBQW1DK0Msa0JBQW5DLEdBQXdEQyxjQUF4RCxFQUFQO0FBQ0E7QUFDRCxLOzs7SUFuTnlCQyxVOzs7Ozs7Ozs7Ozs7Ozs7O1NBc05adkUsWSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgRWRpdEZsb3cgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0VkaXRGbG93XCI7XG5pbXBvcnQgSW50ZW50QmFzZWROYXZpZ2F0aW9uIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9JbnRlbnRCYXNlZE5hdmlnYXRpb25cIjtcbmltcG9ydCBJbnRlcm5hbFJvdXRpbmcgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0ludGVybmFsUm91dGluZ1wiO1xuaW1wb3J0IFJvdXRpbmcgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL1JvdXRpbmdcIjtcbmltcG9ydCBQYWdlQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvUGFnZUNvbnRyb2xsZXJcIjtcbmltcG9ydCBUZW1wbGF0ZUNvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVDb21wb25lbnRcIjtcbmltcG9ydCBCYXNlT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9PYmplY3RcIjtcbmltcG9ydCBDb21wb25lbnQgZnJvbSBcInNhcC91aS9jb3JlL0NvbXBvbmVudFwiO1xuaW1wb3J0IENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCBFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5pbXBvcnQgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5pbXBvcnQgTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9Nb2RlbFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIEVuaGFuY2VXaXRoVUk1LCBwcm9wZXJ0eSB9IGZyb20gXCIuL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5cbi8qKlxuICogQ29tbW9uIEV4dGVuc2lvbiBBUEkgZm9yIGFsbCBwYWdlcyBvZiBTQVAgRmlvcmkgZWxlbWVudHMgZm9yIE9EYXRhIFY0LlxuICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSVxuICogQHB1YmxpY1xuICogQGhpZGVjb25zdHJ1Y3RvclxuICogQGV4dGVuZHMgc2FwLnVpLmJhc2UuT2JqZWN0XG4gKiBAc2luY2UgMS43OS4wXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSVwiKVxuY2xhc3MgRXh0ZW5zaW9uQVBJIGV4dGVuZHMgQmFzZU9iamVjdCB7XG5cdC8qKlxuXHQgKiBBIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIG9mZmVyaW5nIGhvb2tzIGludG8gdGhlIGVkaXQgZmxvdyBvZiB0aGUgYXBwbGljYXRpb24uXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvRWRpdEZsb3dcIiB9KVxuXHRlZGl0RmxvdzogRWRpdEZsb3c7XG5cdC8qKlxuXHQgKiBBIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIG9mZmVyaW5nIGhvb2tzIGludG8gdGhlIHJvdXRpbmcgZmxvdyBvZiB0aGUgYXBwbGljYXRpb24uXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvUm91dGluZ1wiIH0pXG5cdHJvdXRpbmc6IFJvdXRpbmc7XG5cdC8qKlxuXHQgKiBFeHRlbnNpb25BUEkgZm9yIGludGVudC1iYXNlZCBuYXZpZ2F0aW9uXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvSW50ZW50QmFzZWROYXZpZ2F0aW9uXCIgfSlcblx0aW50ZW50QmFzZWROYXZpZ2F0aW9uOiBJbnRlbnRCYXNlZE5hdmlnYXRpb247XG5cblx0cHJvdGVjdGVkIF9jb250cm9sbGVyOiBQYWdlQ29udHJvbGxlcjtcblx0cHJvdGVjdGVkIF92aWV3OiBWaWV3O1xuXHRwcml2YXRlIF9yb3V0aW5nOiBJbnRlcm5hbFJvdXRpbmc7XG5cdHByaXZhdGUgX3ByZWZpeD86IHN0cmluZztcblx0cHJpdmF0ZSBleHRlbnNpb246IGFueTtcblxuXHRjb25zdHJ1Y3RvcihvQ29udHJvbGxlcjogUGFnZUNvbnRyb2xsZXIsIHNJZD86IHN0cmluZykge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5fY29udHJvbGxlciA9IG9Db250cm9sbGVyO1xuXHRcdHRoaXMuX3ZpZXcgPSBvQ29udHJvbGxlci5nZXRWaWV3KCk7XG5cdFx0dGhpcy5leHRlbnNpb24gPSAodGhpcy5fY29udHJvbGxlciBhcyBhbnkpLmV4dGVuc2lvbjtcblx0XHR0aGlzLmVkaXRGbG93ID0gdGhpcy5fY29udHJvbGxlci5lZGl0Rmxvdztcblx0XHR0aGlzLnJvdXRpbmcgPSB0aGlzLl9jb250cm9sbGVyLnJvdXRpbmc7XG5cdFx0dGhpcy5fcm91dGluZyA9IHRoaXMuX2NvbnRyb2xsZXIuX3JvdXRpbmc7XG5cdFx0dGhpcy5pbnRlbnRCYXNlZE5hdmlnYXRpb24gPSB0aGlzLl9jb250cm9sbGVyLmludGVudEJhc2VkTmF2aWdhdGlvbjtcblx0XHR0aGlzLl9wcmVmaXggPSBzSWQ7XG5cdH1cblx0ZGVzdHJveSgpIHtcblx0XHQvLyBkZWxldGUgdGhpcy5fY29udHJvbGxlcjtcblx0XHQvLyBkZWxldGUgdGhpcy5fdmlldztcblx0XHQvLyBkZWxldGUgdGhpcy5lZGl0Rmxvdy5fY29udHJvbGxlcjtcblx0XHQvLyBkZWxldGUgdGhpcy5pbnRlbnRCYXNlZE5hdmlnYXRpb24uX2NvbnRyb2xsZXI7XG5cdH1cblxuXHQvKipcblx0ICogQWNjZXNzIGFueSBjb250cm9sIGJ5IElELlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI2J5SWRcblx0ICogQHBhcmFtIHtzdHJpbmd9IHNJZCBJRCBvZiB0aGUgY29udHJvbCB3aXRob3V0IHRoZSB2aWV3IHByZWZpeC4gRWl0aGVyIHRoZSBJRCBwcmVmaXhlZCBieSBTQVAgRmlvcmkgZWxlbWVudHNcblx0ICogKGZvciBleGFtcGxlIHdpdGggdGhlIHNlY3Rpb24pIG9yIHRoZSBjb250cm9sIElEIG9ubHkuIFRoZSBsYXR0ZXIgd29ya3Mgb25seSBmb3IgYW4gZXh0ZW5zaW9uIHJ1bm5pbmcgaW5cblx0ICogdGhlIHNhbWUgY29udGV4dCAobGlrZSBpbiB0aGUgc2FtZSBzZWN0aW9uKS4gWW91IGNhbiB1c2UgdGhlIHByZWZpeCBmb3IgU0FQIEZpb3JpIGVsZW1lbnRzIHRvIGFsc28gYWNjZXNzIG90aGVyIGNvbnRyb2xzIGxvY2F0ZWQgaW4gZGlmZmVyZW50IHNlY3Rpb25zLlxuXHQgKiBAcmV0dXJucyB7c2FwLnVpLmNvcmUuQ29udHJvbH0gVGhlIHJlcXVlc3RlZCBjb250cm9sLCBpZiBmb3VuZCBpbiB0aGUgdmlldy5cblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdGJ5SWQoc0lkOiBzdHJpbmcpIHtcblx0XHRsZXQgb0NvbnRyb2wgPSB0aGlzLl92aWV3LmJ5SWQoc0lkKTtcblxuXHRcdGlmICghb0NvbnRyb2wgJiYgdGhpcy5fcHJlZml4KSB7XG5cdFx0XHQvLyBnaXZlIGl0IGEgdHJ5IHdpdGggdGhlIHByZWZpeFxuXHRcdFx0b0NvbnRyb2wgPSB0aGlzLl92aWV3LmJ5SWQodGhpcy5fcHJlZml4ICsgXCItLVwiICsgc0lkKTtcblx0XHR9XG5cblx0XHRpZiAob0NvbnRyb2wpIHtcblx0XHRcdHJldHVybiBvQ29udHJvbDtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogR2V0IGFjY2VzcyB0byBtb2RlbHMgbWFuYWdlZCBieSBTQVAgRmlvcmkgZWxlbWVudHMuPGJyPlxuXHQgKiBUaGUgZm9sbG93aW5nIG1vZGVscyBjYW4gYmUgYWNjZXNzZWQ6XG5cdCAqIDx1bD5cblx0ICogPGxpPnVuZGVmaW5lZDogdGhlIHVuZGVmaW5lZCBtb2RlbCByZXR1cm5zIHRoZSBTQVBVSTUgT0RhdGEgVjQgbW9kZWwgYm91bmQgdG8gdGhpcyBwYWdlPC9saT5cblx0ICogPGxpPmkxOG4gLyBmdXJ0aGVyIGRhdGEgbW9kZWxzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0PC9saT5cblx0ICogPGxpPnVpOiByZXR1cm5zIGEgU0FQVUk1IEpTT04gbW9kZWwgY29udGFpbmluZyBVSSBpbmZvcm1hdGlvbi5cblx0ICogT25seSB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXMgYXJlIHB1YmxpYyBhbmQgc3VwcG9ydGVkOlxuXHQgKiBcdDx1bD5cblx0ICogICAgIDxsaT5pc0VkaXRhYmxlOiBzZXQgdG8gdHJ1ZSBpZiB0aGUgYXBwbGljYXRpb24gaXMgaW4gZWRpdCBtb2RlPC9saT5cblx0ICogIDwvdWw+XG5cdCAqIDwvbGk+XG5cdCAqIDwvdWw+LlxuXHQgKiBlZGl0TW9kZSBpcyBkZXByZWNhdGVkIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgYW55bW9yZS4gVXNlIGlzRWRpdGFibGUgaW5zdGVhZC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSSNnZXRNb2RlbFxuXHQgKiBAcGFyYW0ge3N0cmluZ30gc01vZGVsTmFtZSBOYW1lIG9mIHRoZSBtb2RlbFxuXHQgKiBAcmV0dXJucyB7c2FwLnVpLm1vZGVsLk1vZGVsfSBUaGUgcmVxdWlyZWQgbW9kZWxcblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Z2V0TW9kZWwoc01vZGVsTmFtZT86IHN0cmluZyk6IE1vZGVsIHwgdW5kZWZpbmVkIHtcblx0XHRsZXQgb0FwcENvbXBvbmVudDtcblxuXHRcdGlmIChzTW9kZWxOYW1lICYmIHNNb2RlbE5hbWUgIT09IFwidWlcIikge1xuXHRcdFx0b0FwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzLl92aWV3KTtcblx0XHRcdGlmICghb0FwcENvbXBvbmVudC5nZXRNYW5pZmVzdEVudHJ5KFwic2FwLnVpNVwiKS5tb2RlbHNbc01vZGVsTmFtZV0pIHtcblx0XHRcdFx0Ly8gZG9uJ3QgYWxsb3cgYWNjZXNzIHRvIG91ciBpbnRlcm5hbCBtb2RlbHNcblx0XHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy5fdmlldy5nZXRNb2RlbChzTW9kZWxOYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgYW55IGNvbnRyb2wgYXMgYSBkZXBlbmRlbnQgY29udHJvbCB0byB0aGlzIFNBUCBGaW9yaSBlbGVtZW50cyBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI2FkZERlcGVuZGVudFxuXHQgKiBAcGFyYW0ge3NhcC51aS5jb3JlLkNvbnRyb2x9IG9Db250cm9sIENvbnRyb2wgdG8gYmUgYWRkZWQgYXMgYSBkZXBlbmRlbnQgY29udHJvbFxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRhZGREZXBlbmRlbnQob0NvbnRyb2w6IENvbnRyb2wpIHtcblx0XHR0aGlzLl92aWV3LmFkZERlcGVuZGVudChvQ29udHJvbCk7XG5cdH1cblxuXHQvKipcblx0ICogUmVtb3ZlIGEgZGVwZW5kZW50IGNvbnRyb2wgZnJvbSB0aGlzIFNBUCBGaW9yaSBlbGVtZW50cyBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI3JlbW92ZURlcGVuZGVudFxuXHQgKiBAcGFyYW0ge3NhcC51aS5jb3JlLkNvbnRyb2x9IG9Db250cm9sIENvbnRyb2wgdG8gYmUgYWRkZWQgYXMgYSBkZXBlbmRlbnQgY29udHJvbFxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRyZW1vdmVEZXBlbmRlbnQob0NvbnRyb2w6IENvbnRyb2wpIHtcblx0XHR0aGlzLl92aWV3LnJlbW92ZURlcGVuZGVudChvQ29udHJvbCk7XG5cdH1cblxuXHQvKipcblx0ICogTmF2aWdhdGUgdG8gYW5vdGhlciB0YXJnZXQuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5FeHRlbnNpb25BUEkjbmF2aWdhdGVUb1RhcmdldFxuXHQgKiBAcGFyYW0ge3N0cmluZ30gc1RhcmdldCBOYW1lIG9mIHRoZSB0YXJnZXQgcm91dGVcblx0ICogQHBhcmFtIHtzYXAudWkubW9kZWwuQ29udGV4dH0gW29Db250ZXh0XSBDb250ZXh0IGluc3RhbmNlXG5cdCAqIEByZXR1cm5zIHt2b2lkfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRuYXZpZ2F0ZVRvVGFyZ2V0KHNUYXJnZXQ6IHN0cmluZywgb0NvbnRleHQ6IENvbnRleHQpOiB2b2lkIHtcblx0XHRyZXR1cm4gdGhpcy5fY29udHJvbGxlci5fcm91dGluZy5uYXZpZ2F0ZVRvVGFyZ2V0KG9Db250ZXh0LCBzVGFyZ2V0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMb2FkIGEgZnJhZ21lbnQgYW5kIGdvIHRocm91Z2ggdGhlIHRlbXBsYXRlIHByZXByb2Nlc3NvciB3aXRoIHRoZSBjdXJyZW50IHBhZ2UgY29udGV4dC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSSNsb2FkRnJhZ21lbnRcblx0ICogQHBhcmFtIHtvYmplY3R9IG1TZXR0aW5ncyBUaGUgc2V0dGluZ3Mgb2JqZWN0XG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBtU2V0dGluZ3MuaWQgVGhlIElEIG9mIHRoZSBmcmFnbWVudCBpdHNlbGZcblx0ICogQHBhcmFtIHtzdHJpbmd9IG1TZXR0aW5ncy5uYW1lIFRoZSBuYW1lIG9mIHRoZSBmcmFnbWVudCB0byBiZSBsb2FkZWRcblx0ICogQHBhcmFtIHtvYmplY3R9IG1TZXR0aW5ncy5jb250cm9sbGVyIFRoZSBjb250cm9sbGVyIHRvIGJlIGF0dGFjaGVkIHRvIHRoZSBmcmFnbWVudFxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbVNldHRpbmdzLmNvbnRleHRQYXRoIFRoZSBjb250ZXh0UGF0aCB0byBiZSB1c2VkIGZvciB0aGUgdGVtcGxhdGluZyBwcm9jZXNzXG5cdCAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLkNvbnRleHR9IG1TZXR0aW5ncy5pbml0aWFsQmluZGluZ0NvbnRleHQgVGhlIGluaXRpYWwgYmluZGluZyBjb250ZXh0XG5cdCAqIEByZXR1cm5zIHtQcm9taXNlPEVsZW1lbnRbXXxzYXAudWkuY29yZS5FbGVtZW50W10+fSBUaGUgZnJhZ21lbnQgZGVmaW5pdGlvblxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRsb2FkRnJhZ21lbnQobVNldHRpbmdzOiB7XG5cdFx0aWQ6IHN0cmluZztcblx0XHRuYW1lOiBzdHJpbmc7XG5cdFx0Y29udHJvbGxlcjogb2JqZWN0O1xuXHRcdGNvbnRleHRQYXRoOiBzdHJpbmc7XG5cdFx0aW5pdGlhbEJpbmRpbmdDb250ZXh0OiBDb250ZXh0O1xuXHR9KTogUHJvbWlzZTxFbGVtZW50IHwgRWxlbWVudFtdPiB7XG5cdFx0Y29uc3Qgb1RlbXBsYXRlQ29tcG9uZW50ID0gQ29tcG9uZW50LmdldE93bmVyQ29tcG9uZW50Rm9yKHRoaXMuX3ZpZXcpIGFzIEVuaGFuY2VXaXRoVUk1PFRlbXBsYXRlQ29tcG9uZW50Pjtcblx0XHRjb25zdCBvUGFnZU1vZGVsID0gdGhpcy5fdmlldy5nZXRNb2RlbChcIl9wYWdlTW9kZWxcIik7XG5cdFx0Y29uc3Qgb01ldGFNb2RlbCA9IHRoaXMuZ2V0TW9kZWwoKT8uZ2V0TWV0YU1vZGVsKCk7XG5cdFx0Y29uc3QgbVZpZXdEYXRhID0gb1RlbXBsYXRlQ29tcG9uZW50LmdldFZpZXdEYXRhKCk7XG5cdFx0Y29uc3Qgb1ZpZXdEYXRhTW9kZWwgPSBuZXcgSlNPTk1vZGVsKG1WaWV3RGF0YSksXG5cdFx0XHRvUHJlcHJvY2Vzc29yU2V0dGluZ3MgPSB7XG5cdFx0XHRcdGJpbmRpbmdDb250ZXh0czoge1xuXHRcdFx0XHRcdFwiY29udGV4dFBhdGhcIjogb01ldGFNb2RlbD8uY3JlYXRlQmluZGluZ0NvbnRleHQobVNldHRpbmdzLmNvbnRleHRQYXRoIHx8IFwiL1wiICsgb1RlbXBsYXRlQ29tcG9uZW50LmdldEVudGl0eVNldCgpKSxcblx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0OiBvUGFnZU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL1wiLCB1bmRlZmluZWQsIHsgbm9SZXNvbHZlOiB0cnVlIH0pLFxuXHRcdFx0XHRcdHZpZXdEYXRhOiBtVmlld0RhdGEgPyBvVmlld0RhdGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9cIikgOiBudWxsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdG1vZGVsczoge1xuXHRcdFx0XHRcdFwiY29udGV4dFBhdGhcIjogb01ldGFNb2RlbCxcblx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0OiBvUGFnZU1vZGVsLFxuXHRcdFx0XHRcdG1ldGFNb2RlbDogb01ldGFNb2RlbCxcblx0XHRcdFx0XHR2aWV3RGF0YTogb1ZpZXdEYXRhTW9kZWxcblx0XHRcdFx0fSxcblx0XHRcdFx0YXBwQ29tcG9uZW50OiBDb21tb25VdGlscy5nZXRBcHBDb21wb25lbnQodGhpcy5fdmlldylcblx0XHRcdH07XG5cdFx0Y29uc3Qgb1RlbXBsYXRlUHJvbWlzZSA9IENvbW1vblV0aWxzLnRlbXBsYXRlQ29udHJvbEZyYWdtZW50KG1TZXR0aW5ncy5uYW1lLCBvUHJlcHJvY2Vzc29yU2V0dGluZ3MsIHtcblx0XHRcdGNvbnRyb2xsZXI6IG1TZXR0aW5ncy5jb250cm9sbGVyIHx8IHRoaXMsXG5cdFx0XHRpc1hNTDogZmFsc2UsXG5cdFx0XHRpZDogbVNldHRpbmdzLmlkXG5cdFx0fSk7XG5cdFx0b1RlbXBsYXRlUHJvbWlzZVxuXHRcdFx0LnRoZW4oKG9GcmFnbWVudDogYW55KSA9PiB7XG5cdFx0XHRcdGlmIChtU2V0dGluZ3MuaW5pdGlhbEJpbmRpbmdDb250ZXh0ICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRvRnJhZ21lbnQuc2V0QmluZGluZ0NvbnRleHQobVNldHRpbmdzLmluaXRpYWxCaW5kaW5nQ29udGV4dCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5hZGREZXBlbmRlbnQob0ZyYWdtZW50KTtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKG9FcnJvcjogYW55KSB7XG5cdFx0XHRcdExvZy5lcnJvcihvRXJyb3IpO1xuXHRcdFx0fSk7XG5cdFx0cmV0dXJuIG9UZW1wbGF0ZVByb21pc2U7XG5cdH1cblxuXHQvKipcblx0ICogVHJpZ2dlcnMgYW4gdXBkYXRlIG9mIHRoZSBhcHAgc3RhdGUuXG5cdCAqIFNob3VsZCBiZSBjYWxsZWQgaWYgdGhlIHN0YXRlIG9mIGEgY29udHJvbCwgb3IgYW55IG90aGVyIHN0YXRlLXJlbGV2YW50IGluZm9ybWF0aW9uLCB3YXMgY2hhbmdlZC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSSN1cGRhdGVBcHBTdGF0ZVxuXHQgKiBAcmV0dXJucyB7UHJvbWlzZX0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgbmV3IGFwcCBzdGF0ZSBvYmplY3QuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHVwZGF0ZUFwcFN0YXRlKCk6IFByb21pc2U8dm9pZD4gfCB1bmRlZmluZWQge1xuXHRcdGlmICghdGhpcy5fY29udHJvbGxlci5nZXRBcHBDb21wb25lbnQoKS5nZXRNb2RlbChcImludGVybmFsXCIpLmdldFByb3BlcnR5KFwiL3VpQWRhcHRhdGlvblwiKSkge1xuXHRcdFx0cmV0dXJuIHRoaXMuX2NvbnRyb2xsZXIuZ2V0QXBwQ29tcG9uZW50KCkuZ2V0QXBwU3RhdGVIYW5kbGVyKCkuY3JlYXRlQXBwU3RhdGUoKTtcblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRXh0ZW5zaW9uQVBJO1xuIl19
277
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkV4dGVuc2lvbkFQSS50cyJdLCJuYW1lcyI6WyJFeHRlbnNpb25BUEkiLCJkZWZpbmVVSTVDbGFzcyIsInByb3BlcnR5IiwidHlwZSIsIm9Db250cm9sbGVyIiwic0lkIiwiX2NvbnRyb2xsZXIiLCJfdmlldyIsImdldFZpZXciLCJleHRlbnNpb24iLCJlZGl0RmxvdyIsInJvdXRpbmciLCJfcm91dGluZyIsImludGVudEJhc2VkTmF2aWdhdGlvbiIsIl9wcmVmaXgiLCJkZXN0cm95IiwiYnlJZCIsIm9Db250cm9sIiwiZ2V0TW9kZWwiLCJzTW9kZWxOYW1lIiwib0FwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0TWFuaWZlc3RFbnRyeSIsIm1vZGVscyIsInVuZGVmaW5lZCIsImFkZERlcGVuZGVudCIsInJlbW92ZURlcGVuZGVudCIsIm5hdmlnYXRlVG9UYXJnZXQiLCJzVGFyZ2V0Iiwib0NvbnRleHQiLCJsb2FkRnJhZ21lbnQiLCJtU2V0dGluZ3MiLCJvVGVtcGxhdGVDb21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsIm9QYWdlTW9kZWwiLCJvTWV0YU1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwibVZpZXdEYXRhIiwiZ2V0Vmlld0RhdGEiLCJvVmlld0RhdGFNb2RlbCIsIkpTT05Nb2RlbCIsIm9QcmVwcm9jZXNzb3JTZXR0aW5ncyIsImJpbmRpbmdDb250ZXh0cyIsImNyZWF0ZUJpbmRpbmdDb250ZXh0IiwiY29udGV4dFBhdGgiLCJnZXRFbnRpdHlTZXQiLCJjb252ZXJ0ZXJDb250ZXh0Iiwibm9SZXNvbHZlIiwidmlld0RhdGEiLCJtZXRhTW9kZWwiLCJhcHBDb21wb25lbnQiLCJvVGVtcGxhdGVQcm9taXNlIiwidGVtcGxhdGVDb250cm9sRnJhZ21lbnQiLCJuYW1lIiwiY29udHJvbGxlciIsImlzWE1MIiwiaWQiLCJ0aGVuIiwib0ZyYWdtZW50IiwiaW5pdGlhbEJpbmRpbmdDb250ZXh0Iiwic2V0QmluZGluZ0NvbnRleHQiLCJjYXRjaCIsIm9FcnJvciIsIkxvZyIsImVycm9yIiwidXBkYXRlQXBwU3RhdGUiLCJnZXRBcHBTdGF0ZUhhbmRsZXIiLCJjcmVhdGVBcHBTdGF0ZSIsIkJhc2VPYmplY3QiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7TUFFTUEsWSxXQURMQyxjQUFjLENBQUMsMEJBQUQsQyxVQU9iQyxRQUFRLENBQUM7QUFBRUMsSUFBQUEsSUFBSSxFQUFFO0FBQVIsR0FBRCxDLFVBT1JELFFBQVEsQ0FBQztBQUFFQyxJQUFBQSxJQUFJLEVBQUU7QUFBUixHQUFELEMsVUFPUkQsUUFBUSxDQUFDO0FBQUVDLElBQUFBLElBQUksRUFBRTtBQUFSLEdBQUQsQzs7O0FBbkJUO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7O0FBR0M7QUFDRDtBQUNBO0FBQ0E7QUFDQTs7QUFHQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBVUMsMEJBQVlDLFdBQVosRUFBeUNDLEdBQXpDLEVBQXVEO0FBQUE7O0FBQ3REOztBQURzRDs7QUFBQTs7QUFBQTs7QUFFdEQsWUFBS0MsV0FBTCxHQUFtQkYsV0FBbkI7QUFDQSxZQUFLRyxLQUFMLEdBQWFILFdBQVcsQ0FBQ0ksT0FBWixFQUFiO0FBQ0EsWUFBS0MsU0FBTCxHQUFrQixNQUFLSCxXQUFOLENBQTBCRyxTQUEzQztBQUNBLFlBQUtDLFFBQUwsR0FBZ0IsTUFBS0osV0FBTCxDQUFpQkksUUFBakM7QUFDQSxZQUFLQyxPQUFMLEdBQWUsTUFBS0wsV0FBTCxDQUFpQkssT0FBaEM7QUFDQSxZQUFLQyxRQUFMLEdBQWdCLE1BQUtOLFdBQUwsQ0FBaUJNLFFBQWpDO0FBQ0EsWUFBS0MscUJBQUwsR0FBNkIsTUFBS1AsV0FBTCxDQUFpQk8scUJBQTlDO0FBQ0EsWUFBS0MsT0FBTCxHQUFlVCxHQUFmO0FBVHNEO0FBVXREOzs7O1dB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QVVBLGFBQU9YLGdCQUFQO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7V0FDQ2MsYyxHQUFBLDBCQUE0QztBQUMzQyxhQUFPLEtBQUs3RCxXQUFMLENBQWlCZ0IsZUFBakIsR0FBbUM4QyxrQkFBbkMsR0FBd0RDLGNBQXhELEVBQVA7QUFDQSxLOzs7SUE3TXlCQyxVOzs7Ozs7Ozs7Ozs7Ozs7O1NBZ05adEUsWSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBFZGl0RmxvdyBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvRWRpdEZsb3dcIjtcbmltcG9ydCB0eXBlIEludGVudEJhc2VkTmF2aWdhdGlvbiBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvSW50ZW50QmFzZWROYXZpZ2F0aW9uXCI7XG5pbXBvcnQgdHlwZSBJbnRlcm5hbFJvdXRpbmcgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0ludGVybmFsUm91dGluZ1wiO1xuaW1wb3J0IHR5cGUgUm91dGluZyBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvUm91dGluZ1wiO1xuaW1wb3J0IHR5cGUgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSBUZW1wbGF0ZUNvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVDb21wb25lbnRcIjtcbmltcG9ydCBCYXNlT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9PYmplY3RcIjtcbmltcG9ydCBDb21wb25lbnQgZnJvbSBcInNhcC91aS9jb3JlL0NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgRWxlbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRWxlbWVudFwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvTW9kZWxcIjtcbmltcG9ydCB0eXBlIHsgRW5oYW5jZVdpdGhVSTUgfSBmcm9tIFwiLi9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIHByb3BlcnR5IH0gZnJvbSBcIi4vaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcblxuLyoqXG4gKiBDb21tb24gRXh0ZW5zaW9uIEFQSSBmb3IgYWxsIHBhZ2VzIG9mIFNBUCBGaW9yaSBlbGVtZW50cyBmb3IgT0RhdGEgVjQuXG4gKlxuICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSVxuICogQHB1YmxpY1xuICogQGhpZGVjb25zdHJ1Y3RvclxuICogQGV4dGVuZHMgc2FwLnVpLmJhc2UuT2JqZWN0XG4gKiBAc2luY2UgMS43OS4wXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSVwiKVxuY2xhc3MgRXh0ZW5zaW9uQVBJIGV4dGVuZHMgQmFzZU9iamVjdCB7XG5cdC8qKlxuXHQgKiBBIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIG9mZmVyaW5nIGhvb2tzIGludG8gdGhlIGVkaXQgZmxvdyBvZiB0aGUgYXBwbGljYXRpb24uXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvRWRpdEZsb3dcIiB9KVxuXHRlZGl0RmxvdzogRWRpdEZsb3c7XG5cdC8qKlxuXHQgKiBBIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIG9mZmVyaW5nIGhvb2tzIGludG8gdGhlIHJvdXRpbmcgZmxvdyBvZiB0aGUgYXBwbGljYXRpb24uXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvUm91dGluZ1wiIH0pXG5cdHJvdXRpbmc6IFJvdXRpbmc7XG5cdC8qKlxuXHQgKiBFeHRlbnNpb25BUEkgZm9yIGludGVudC1iYXNlZCBuYXZpZ2F0aW9uXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvSW50ZW50QmFzZWROYXZpZ2F0aW9uXCIgfSlcblx0aW50ZW50QmFzZWROYXZpZ2F0aW9uOiBJbnRlbnRCYXNlZE5hdmlnYXRpb247XG5cblx0cHJvdGVjdGVkIF9jb250cm9sbGVyOiBQYWdlQ29udHJvbGxlcjtcblx0cHJvdGVjdGVkIF92aWV3OiBWaWV3O1xuXHRwcml2YXRlIF9yb3V0aW5nOiBJbnRlcm5hbFJvdXRpbmc7XG5cdHByaXZhdGUgX3ByZWZpeD86IHN0cmluZztcblx0cHJpdmF0ZSBleHRlbnNpb246IGFueTtcblxuXHRjb25zdHJ1Y3RvcihvQ29udHJvbGxlcjogUGFnZUNvbnRyb2xsZXIsIHNJZD86IHN0cmluZykge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5fY29udHJvbGxlciA9IG9Db250cm9sbGVyO1xuXHRcdHRoaXMuX3ZpZXcgPSBvQ29udHJvbGxlci5nZXRWaWV3KCk7XG5cdFx0dGhpcy5leHRlbnNpb24gPSAodGhpcy5fY29udHJvbGxlciBhcyBhbnkpLmV4dGVuc2lvbjtcblx0XHR0aGlzLmVkaXRGbG93ID0gdGhpcy5fY29udHJvbGxlci5lZGl0Rmxvdztcblx0XHR0aGlzLnJvdXRpbmcgPSB0aGlzLl9jb250cm9sbGVyLnJvdXRpbmc7XG5cdFx0dGhpcy5fcm91dGluZyA9IHRoaXMuX2NvbnRyb2xsZXIuX3JvdXRpbmc7XG5cdFx0dGhpcy5pbnRlbnRCYXNlZE5hdmlnYXRpb24gPSB0aGlzLl9jb250cm9sbGVyLmludGVudEJhc2VkTmF2aWdhdGlvbjtcblx0XHR0aGlzLl9wcmVmaXggPSBzSWQ7XG5cdH1cblx0ZGVzdHJveSgpIHtcblx0XHQvLyBkZWxldGUgdGhpcy5fY29udHJvbGxlcjtcblx0XHQvLyBkZWxldGUgdGhpcy5fdmlldztcblx0XHQvLyBkZWxldGUgdGhpcy5lZGl0Rmxvdy5fY29udHJvbGxlcjtcblx0XHQvLyBkZWxldGUgdGhpcy5pbnRlbnRCYXNlZE5hdmlnYXRpb24uX2NvbnRyb2xsZXI7XG5cdH1cblxuXHQvKipcblx0ICogQWNjZXNzIGFueSBjb250cm9sIGJ5IElELlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI2J5SWRcblx0ICogQHBhcmFtIHNJZCBJRCBvZiB0aGUgY29udHJvbCB3aXRob3V0IHRoZSB2aWV3IHByZWZpeC4gRWl0aGVyIHRoZSBJRCBwcmVmaXhlZCBieSBTQVAgRmlvcmkgZWxlbWVudHNcblx0ICogKGZvciBleGFtcGxlIHdpdGggdGhlIHNlY3Rpb24pIG9yIHRoZSBjb250cm9sIElEIG9ubHkuIFRoZSBsYXR0ZXIgd29ya3Mgb25seSBmb3IgYW4gZXh0ZW5zaW9uIHJ1bm5pbmcgaW5cblx0ICogdGhlIHNhbWUgY29udGV4dCAobGlrZSBpbiB0aGUgc2FtZSBzZWN0aW9uKS4gWW91IGNhbiB1c2UgdGhlIHByZWZpeCBmb3IgU0FQIEZpb3JpIGVsZW1lbnRzIHRvIGFsc28gYWNjZXNzIG90aGVyIGNvbnRyb2xzIGxvY2F0ZWQgaW4gZGlmZmVyZW50IHNlY3Rpb25zLlxuXHQgKiBAcmV0dXJucyBUaGUgcmVxdWVzdGVkIGNvbnRyb2wsIGlmIGZvdW5kIGluIHRoZSB2aWV3LlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0YnlJZChzSWQ6IHN0cmluZykge1xuXHRcdGxldCBvQ29udHJvbCA9IHRoaXMuX3ZpZXcuYnlJZChzSWQpO1xuXG5cdFx0aWYgKCFvQ29udHJvbCAmJiB0aGlzLl9wcmVmaXgpIHtcblx0XHRcdC8vIGdpdmUgaXQgYSB0cnkgd2l0aCB0aGUgcHJlZml4XG5cdFx0XHRvQ29udHJvbCA9IHRoaXMuX3ZpZXcuYnlJZChgJHt0aGlzLl9wcmVmaXh9LS0ke3NJZH1gKTtcblx0XHR9XG5cblx0XHRpZiAob0NvbnRyb2wpIHtcblx0XHRcdHJldHVybiBvQ29udHJvbDtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogR2V0IGFjY2VzcyB0byBtb2RlbHMgbWFuYWdlZCBieSBTQVAgRmlvcmkgZWxlbWVudHMuPGJyPlxuXHQgKiBUaGUgZm9sbG93aW5nIG1vZGVscyBjYW4gYmUgYWNjZXNzZWQ6XG5cdCAqIDx1bD5cblx0ICogPGxpPnVuZGVmaW5lZDogdGhlIHVuZGVmaW5lZCBtb2RlbCByZXR1cm5zIHRoZSBTQVBVSTUgT0RhdGEgVjQgbW9kZWwgYm91bmQgdG8gdGhpcyBwYWdlPC9saT5cblx0ICogPGxpPmkxOG4gLyBmdXJ0aGVyIGRhdGEgbW9kZWxzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0PC9saT5cblx0ICogPGxpPnVpOiByZXR1cm5zIGEgU0FQVUk1IEpTT04gbW9kZWwgY29udGFpbmluZyBVSSBpbmZvcm1hdGlvbi5cblx0ICogT25seSB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXMgYXJlIHB1YmxpYyBhbmQgc3VwcG9ydGVkOlxuXHQgKiBcdDx1bD5cblx0ICogICAgIDxsaT5pc0VkaXRhYmxlOiBzZXQgdG8gdHJ1ZSBpZiB0aGUgYXBwbGljYXRpb24gaXMgaW4gZWRpdCBtb2RlPC9saT5cblx0ICogIDwvdWw+XG5cdCAqIDwvbGk+XG5cdCAqIDwvdWw+LlxuXHQgKiBlZGl0TW9kZSBpcyBkZXByZWNhdGVkIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgYW55bW9yZS4gVXNlIGlzRWRpdGFibGUgaW5zdGVhZC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSSNnZXRNb2RlbFxuXHQgKiBAcGFyYW0gc01vZGVsTmFtZSBOYW1lIG9mIHRoZSBtb2RlbFxuXHQgKiBAcmV0dXJucyBUaGUgcmVxdWlyZWQgbW9kZWxcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Z2V0TW9kZWwoc01vZGVsTmFtZT86IHN0cmluZyk6IE1vZGVsIHwgdW5kZWZpbmVkIHtcblx0XHRsZXQgb0FwcENvbXBvbmVudDtcblxuXHRcdGlmIChzTW9kZWxOYW1lICYmIHNNb2RlbE5hbWUgIT09IFwidWlcIikge1xuXHRcdFx0b0FwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzLl92aWV3KTtcblx0XHRcdGlmICghb0FwcENvbXBvbmVudC5nZXRNYW5pZmVzdEVudHJ5KFwic2FwLnVpNVwiKS5tb2RlbHNbc01vZGVsTmFtZV0pIHtcblx0XHRcdFx0Ly8gZG9uJ3QgYWxsb3cgYWNjZXNzIHRvIG91ciBpbnRlcm5hbCBtb2RlbHNcblx0XHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy5fdmlldy5nZXRNb2RlbChzTW9kZWxOYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgYW55IGNvbnRyb2wgYXMgYSBkZXBlbmRlbnQgY29udHJvbCB0byB0aGlzIFNBUCBGaW9yaSBlbGVtZW50cyBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI2FkZERlcGVuZGVudFxuXHQgKiBAcGFyYW0gb0NvbnRyb2wgQ29udHJvbCB0byBiZSBhZGRlZCBhcyBhIGRlcGVuZGVudCBjb250cm9sXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGFkZERlcGVuZGVudChvQ29udHJvbDogQ29udHJvbCkge1xuXHRcdHRoaXMuX3ZpZXcuYWRkRGVwZW5kZW50KG9Db250cm9sKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW1vdmUgYSBkZXBlbmRlbnQgY29udHJvbCBmcm9tIHRoaXMgU0FQIEZpb3JpIGVsZW1lbnRzIHBhZ2UuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5FeHRlbnNpb25BUEkjcmVtb3ZlRGVwZW5kZW50XG5cdCAqIEBwYXJhbSBvQ29udHJvbCBDb250cm9sIHRvIGJlIGFkZGVkIGFzIGEgZGVwZW5kZW50IGNvbnRyb2xcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0cmVtb3ZlRGVwZW5kZW50KG9Db250cm9sOiBDb250cm9sKSB7XG5cdFx0dGhpcy5fdmlldy5yZW1vdmVEZXBlbmRlbnQob0NvbnRyb2wpO1xuXHR9XG5cblx0LyoqXG5cdCAqIE5hdmlnYXRlIHRvIGFub3RoZXIgdGFyZ2V0LlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI25hdmlnYXRlVG9UYXJnZXRcblx0ICogQHBhcmFtIHNUYXJnZXQgTmFtZSBvZiB0aGUgdGFyZ2V0IHJvdXRlXG5cdCAqIEBwYXJhbSBbb0NvbnRleHRdIENvbnRleHQgaW5zdGFuY2Vcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0bmF2aWdhdGVUb1RhcmdldChzVGFyZ2V0OiBzdHJpbmcsIG9Db250ZXh0OiBDb250ZXh0KTogdm9pZCB7XG5cdFx0dGhpcy5fY29udHJvbGxlci5fcm91dGluZy5uYXZpZ2F0ZVRvVGFyZ2V0KG9Db250ZXh0LCBzVGFyZ2V0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMb2FkIGEgZnJhZ21lbnQgYW5kIGdvIHRocm91Z2ggdGhlIHRlbXBsYXRlIHByZXByb2Nlc3NvciB3aXRoIHRoZSBjdXJyZW50IHBhZ2UgY29udGV4dC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSSNsb2FkRnJhZ21lbnRcblx0ICogQHBhcmFtIG1TZXR0aW5ncyBUaGUgc2V0dGluZ3Mgb2JqZWN0XG5cdCAqIEBwYXJhbSBtU2V0dGluZ3MuaWQgVGhlIElEIG9mIHRoZSBmcmFnbWVudCBpdHNlbGZcblx0ICogQHBhcmFtIG1TZXR0aW5ncy5uYW1lIFRoZSBuYW1lIG9mIHRoZSBmcmFnbWVudCB0byBiZSBsb2FkZWRcblx0ICogQHBhcmFtIG1TZXR0aW5ncy5jb250cm9sbGVyIFRoZSBjb250cm9sbGVyIHRvIGJlIGF0dGFjaGVkIHRvIHRoZSBmcmFnbWVudFxuXHQgKiBAcGFyYW0gbVNldHRpbmdzLmNvbnRleHRQYXRoIFRoZSBjb250ZXh0UGF0aCB0byBiZSB1c2VkIGZvciB0aGUgdGVtcGxhdGluZyBwcm9jZXNzXG5cdCAqIEBwYXJhbSBtU2V0dGluZ3MuaW5pdGlhbEJpbmRpbmdDb250ZXh0IFRoZSBpbml0aWFsIGJpbmRpbmcgY29udGV4dFxuXHQgKiBAcmV0dXJucyBUaGUgZnJhZ21lbnQgZGVmaW5pdGlvblxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRsb2FkRnJhZ21lbnQobVNldHRpbmdzOiB7XG5cdFx0aWQ6IHN0cmluZztcblx0XHRuYW1lOiBzdHJpbmc7XG5cdFx0Y29udHJvbGxlcjogb2JqZWN0O1xuXHRcdGNvbnRleHRQYXRoOiBzdHJpbmc7XG5cdFx0aW5pdGlhbEJpbmRpbmdDb250ZXh0OiBDb250ZXh0O1xuXHR9KTogUHJvbWlzZTxFbGVtZW50IHwgRWxlbWVudFtdPiB7XG5cdFx0Y29uc3Qgb1RlbXBsYXRlQ29tcG9uZW50ID0gQ29tcG9uZW50LmdldE93bmVyQ29tcG9uZW50Rm9yKHRoaXMuX3ZpZXcpIGFzIEVuaGFuY2VXaXRoVUk1PFRlbXBsYXRlQ29tcG9uZW50Pjtcblx0XHRjb25zdCBvUGFnZU1vZGVsID0gdGhpcy5fdmlldy5nZXRNb2RlbChcIl9wYWdlTW9kZWxcIik7XG5cdFx0Y29uc3Qgb01ldGFNb2RlbCA9IHRoaXMuZ2V0TW9kZWwoKT8uZ2V0TWV0YU1vZGVsKCk7XG5cdFx0Y29uc3QgbVZpZXdEYXRhID0gb1RlbXBsYXRlQ29tcG9uZW50LmdldFZpZXdEYXRhKCk7XG5cdFx0Y29uc3Qgb1ZpZXdEYXRhTW9kZWwgPSBuZXcgSlNPTk1vZGVsKG1WaWV3RGF0YSksXG5cdFx0XHRvUHJlcHJvY2Vzc29yU2V0dGluZ3MgPSB7XG5cdFx0XHRcdGJpbmRpbmdDb250ZXh0czoge1xuXHRcdFx0XHRcdFwiY29udGV4dFBhdGhcIjogb01ldGFNb2RlbD8uY3JlYXRlQmluZGluZ0NvbnRleHQobVNldHRpbmdzLmNvbnRleHRQYXRoIHx8IGAvJHtvVGVtcGxhdGVDb21wb25lbnQuZ2V0RW50aXR5U2V0KCl9YCksXG5cdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dDogb1BhZ2VNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9cIiwgdW5kZWZpbmVkLCB7IG5vUmVzb2x2ZTogdHJ1ZSB9KSxcblx0XHRcdFx0XHR2aWV3RGF0YTogbVZpZXdEYXRhID8gb1ZpZXdEYXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvXCIpIDogbnVsbFxuXHRcdFx0XHR9LFxuXHRcdFx0XHRtb2RlbHM6IHtcblx0XHRcdFx0XHRcImNvbnRleHRQYXRoXCI6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dDogb1BhZ2VNb2RlbCxcblx0XHRcdFx0XHRtZXRhTW9kZWw6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0dmlld0RhdGE6IG9WaWV3RGF0YU1vZGVsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGFwcENvbXBvbmVudDogQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHRoaXMuX3ZpZXcpXG5cdFx0XHR9O1xuXHRcdGNvbnN0IG9UZW1wbGF0ZVByb21pc2UgPSBDb21tb25VdGlscy50ZW1wbGF0ZUNvbnRyb2xGcmFnbWVudChtU2V0dGluZ3MubmFtZSwgb1ByZXByb2Nlc3NvclNldHRpbmdzLCB7XG5cdFx0XHRjb250cm9sbGVyOiBtU2V0dGluZ3MuY29udHJvbGxlciB8fCB0aGlzLFxuXHRcdFx0aXNYTUw6IGZhbHNlLFxuXHRcdFx0aWQ6IG1TZXR0aW5ncy5pZFxuXHRcdH0pO1xuXHRcdG9UZW1wbGF0ZVByb21pc2Vcblx0XHRcdC50aGVuKChvRnJhZ21lbnQ6IGFueSkgPT4ge1xuXHRcdFx0XHRpZiAobVNldHRpbmdzLmluaXRpYWxCaW5kaW5nQ29udGV4dCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0b0ZyYWdtZW50LnNldEJpbmRpbmdDb250ZXh0KG1TZXR0aW5ncy5pbml0aWFsQmluZGluZ0NvbnRleHQpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuYWRkRGVwZW5kZW50KG9GcmFnbWVudCk7XG5cdFx0XHR9KVxuXHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChvRXJyb3I6IGFueSkge1xuXHRcdFx0XHRMb2cuZXJyb3Iob0Vycm9yKTtcblx0XHRcdH0pO1xuXHRcdHJldHVybiBvVGVtcGxhdGVQcm9taXNlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRyaWdnZXJzIGFuIHVwZGF0ZSBvZiB0aGUgYXBwIHN0YXRlLlxuXHQgKiBTaG91bGQgYmUgY2FsbGVkIGlmIHRoZSBzdGF0ZSBvZiBhIGNvbnRyb2wsIG9yIGFueSBvdGhlciBzdGF0ZS1yZWxldmFudCBpbmZvcm1hdGlvbiwgd2FzIGNoYW5nZWQuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5FeHRlbnNpb25BUEkjdXBkYXRlQXBwU3RhdGVcblx0ICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgbmV3IGFwcCBzdGF0ZSBvYmplY3QuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHVwZGF0ZUFwcFN0YXRlKCk6IFByb21pc2U8dm9pZD4gfCB1bmRlZmluZWQge1xuXHRcdHJldHVybiB0aGlzLl9jb250cm9sbGVyLmdldEFwcENvbXBvbmVudCgpLmdldEFwcFN0YXRlSGFuZGxlcigpLmNyZWF0ZUFwcFN0YXRlKCk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRXh0ZW5zaW9uQVBJO1xuIl19
@@ -1,23 +1,25 @@
1
1
  import Log from "sap/base/Log";
2
2
  import CommonUtils from "sap/fe/core/CommonUtils";
3
- import EditFlow from "sap/fe/core/controllerextensions/EditFlow";
4
- import IntentBasedNavigation from "sap/fe/core/controllerextensions/IntentBasedNavigation";
5
- import InternalRouting from "sap/fe/core/controllerextensions/InternalRouting";
6
- import Routing from "sap/fe/core/controllerextensions/Routing";
7
- import PageController from "sap/fe/core/PageController";
8
- import TemplateComponent from "sap/fe/core/TemplateComponent";
3
+ import type EditFlow from "sap/fe/core/controllerextensions/EditFlow";
4
+ import type IntentBasedNavigation from "sap/fe/core/controllerextensions/IntentBasedNavigation";
5
+ import type InternalRouting from "sap/fe/core/controllerextensions/InternalRouting";
6
+ import type Routing from "sap/fe/core/controllerextensions/Routing";
7
+ import type PageController from "sap/fe/core/PageController";
8
+ import type TemplateComponent from "sap/fe/core/TemplateComponent";
9
9
  import BaseObject from "sap/ui/base/Object";
10
10
  import Component from "sap/ui/core/Component";
11
- import Control from "sap/ui/core/Control";
12
- import Element from "sap/ui/core/Element";
13
- import View from "sap/ui/core/mvc/View";
14
- import Context from "sap/ui/model/Context";
11
+ import type Control from "sap/ui/core/Control";
12
+ import type Element from "sap/ui/core/Element";
13
+ import type View from "sap/ui/core/mvc/View";
14
+ import type Context from "sap/ui/model/Context";
15
15
  import JSONModel from "sap/ui/model/json/JSONModel";
16
- import Model from "sap/ui/model/Model";
17
- import { defineUI5Class, EnhanceWithUI5, property } from "./helpers/ClassSupport";
16
+ import type Model from "sap/ui/model/Model";
17
+ import type { EnhanceWithUI5 } from "./helpers/ClassSupport";
18
+ import { defineUI5Class, property } from "./helpers/ClassSupport";
18
19
 
19
20
  /**
20
21
  * Common Extension API for all pages of SAP Fiori elements for OData V4.
22
+ *
21
23
  * @alias sap.fe.core.ExtensionAPI
22
24
  * @public
23
25
  * @hideconstructor
@@ -28,18 +30,21 @@ import { defineUI5Class, EnhanceWithUI5, property } from "./helpers/ClassSupport
28
30
  class ExtensionAPI extends BaseObject {
29
31
  /**
30
32
  * A controller extension offering hooks into the edit flow of the application.
33
+ *
31
34
  * @public
32
35
  */
33
36
  @property({ type: "sap/fe/core/controllerextensions/EditFlow" })
34
37
  editFlow: EditFlow;
35
38
  /**
36
39
  * A controller extension offering hooks into the routing flow of the application.
40
+ *
37
41
  * @public
38
42
  */
39
43
  @property({ type: "sap/fe/core/controllerextensions/Routing" })
40
44
  routing: Routing;
41
45
  /**
42
46
  * ExtensionAPI for intent-based navigation
47
+ *
43
48
  * @public
44
49
  */
45
50
  @property({ type: "sap/fe/core/controllerextensions/IntentBasedNavigation" })
@@ -73,11 +78,10 @@ class ExtensionAPI extends BaseObject {
73
78
  * Access any control by ID.
74
79
  *
75
80
  * @alias sap.fe.core.ExtensionAPI#byId
76
- * @param {string} sId ID of the control without the view prefix. Either the ID prefixed by SAP Fiori elements
81
+ * @param sId ID of the control without the view prefix. Either the ID prefixed by SAP Fiori elements
77
82
  * (for example with the section) or the control ID only. The latter works only for an extension running in
78
83
  * the same context (like in the same section). You can use the prefix for SAP Fiori elements to also access other controls located in different sections.
79
- * @returns {sap.ui.core.Control} The requested control, if found in the view.
80
- *
84
+ * @returns The requested control, if found in the view.
81
85
  * @private
82
86
  */
83
87
  byId(sId: string) {
@@ -85,7 +89,7 @@ class ExtensionAPI extends BaseObject {
85
89
 
86
90
  if (!oControl && this._prefix) {
87
91
  // give it a try with the prefix
88
- oControl = this._view.byId(this._prefix + "--" + sId);
92
+ oControl = this._view.byId(`${this._prefix}--${sId}`);
89
93
  }
90
94
 
91
95
  if (oControl) {
@@ -109,9 +113,8 @@ class ExtensionAPI extends BaseObject {
109
113
  * editMode is deprecated and should not be used anymore. Use isEditable instead.
110
114
  *
111
115
  * @alias sap.fe.core.ExtensionAPI#getModel
112
- * @param {string} sModelName Name of the model
113
- * @returns {sap.ui.model.Model} The required model
114
- *
116
+ * @param sModelName Name of the model
117
+ * @returns The required model
115
118
  * @public
116
119
  */
117
120
  getModel(sModelName?: string): Model | undefined {
@@ -132,8 +135,7 @@ class ExtensionAPI extends BaseObject {
132
135
  * Add any control as a dependent control to this SAP Fiori elements page.
133
136
  *
134
137
  * @alias sap.fe.core.ExtensionAPI#addDependent
135
- * @param {sap.ui.core.Control} oControl Control to be added as a dependent control
136
- *
138
+ * @param oControl Control to be added as a dependent control
137
139
  * @public
138
140
  */
139
141
  addDependent(oControl: Control) {
@@ -144,8 +146,7 @@ class ExtensionAPI extends BaseObject {
144
146
  * Remove a dependent control from this SAP Fiori elements page.
145
147
  *
146
148
  * @alias sap.fe.core.ExtensionAPI#removeDependent
147
- * @param {sap.ui.core.Control} oControl Control to be added as a dependent control
148
- *
149
+ * @param oControl Control to be added as a dependent control
149
150
  * @public
150
151
  */
151
152
  removeDependent(oControl: Control) {
@@ -156,27 +157,25 @@ class ExtensionAPI extends BaseObject {
156
157
  * Navigate to another target.
157
158
  *
158
159
  * @alias sap.fe.core.ExtensionAPI#navigateToTarget
159
- * @param {string} sTarget Name of the target route
160
- * @param {sap.ui.model.Context} [oContext] Context instance
161
- * @returns {void}
160
+ * @param sTarget Name of the target route
161
+ * @param [oContext] Context instance
162
162
  * @public
163
163
  */
164
164
  navigateToTarget(sTarget: string, oContext: Context): void {
165
- return this._controller._routing.navigateToTarget(oContext, sTarget);
165
+ this._controller._routing.navigateToTarget(oContext, sTarget);
166
166
  }
167
167
 
168
168
  /**
169
169
  * Load a fragment and go through the template preprocessor with the current page context.
170
170
  *
171
171
  * @alias sap.fe.core.ExtensionAPI#loadFragment
172
- * @param {object} mSettings The settings object
173
- * @param {string} mSettings.id The ID of the fragment itself
174
- * @param {string} mSettings.name The name of the fragment to be loaded
175
- * @param {object} mSettings.controller The controller to be attached to the fragment
176
- * @param {string} mSettings.contextPath The contextPath to be used for the templating process
177
- * @param {sap.ui.model.Context} mSettings.initialBindingContext The initial binding context
178
- * @returns {Promise<Element[]|sap.ui.core.Element[]>} The fragment definition
179
- *
172
+ * @param mSettings The settings object
173
+ * @param mSettings.id The ID of the fragment itself
174
+ * @param mSettings.name The name of the fragment to be loaded
175
+ * @param mSettings.controller The controller to be attached to the fragment
176
+ * @param mSettings.contextPath The contextPath to be used for the templating process
177
+ * @param mSettings.initialBindingContext The initial binding context
178
+ * @returns The fragment definition
180
179
  * @public
181
180
  */
182
181
  loadFragment(mSettings: {
@@ -193,7 +192,7 @@ class ExtensionAPI extends BaseObject {
193
192
  const oViewDataModel = new JSONModel(mViewData),
194
193
  oPreprocessorSettings = {
195
194
  bindingContexts: {
196
- "contextPath": oMetaModel?.createBindingContext(mSettings.contextPath || "/" + oTemplateComponent.getEntitySet()),
195
+ "contextPath": oMetaModel?.createBindingContext(mSettings.contextPath || `/${oTemplateComponent.getEntitySet()}`),
197
196
  converterContext: oPageModel.createBindingContext("/", undefined, { noResolve: true }),
198
197
  viewData: mViewData ? oViewDataModel.createBindingContext("/") : null
199
198
  },
@@ -228,14 +227,11 @@ class ExtensionAPI extends BaseObject {
228
227
  * Should be called if the state of a control, or any other state-relevant information, was changed.
229
228
  *
230
229
  * @alias sap.fe.core.ExtensionAPI#updateAppState
231
- * @returns {Promise} A promise that resolves with the new app state object.
232
- *
230
+ * @returns A promise that resolves with the new app state object.
233
231
  * @public
234
232
  */
235
233
  updateAppState(): Promise<void> | undefined {
236
- if (!this._controller.getAppComponent().getModel("internal").getProperty("/uiAdaptation")) {
237
- return this._controller.getAppComponent().getAppStateHandler().createAppState();
238
- }
234
+ return this._controller.getAppComponent().getAppStateHandler().createAppState();
239
235
  }
240
236
  }
241
237
 
@@ -2,13 +2,14 @@
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/fe/core/BaseController", "sap/fe/core/controllerextensions/EditFlow", "sap/fe/core/controllerextensions/IntentBasedNavigation", "sap/fe/core/controllerextensions/InternalEditFlow", "sap/fe/core/controllerextensions/InternalIntentBasedNavigation", "sap/fe/core/controllerextensions/InternalRouting", "sap/fe/core/controllerextensions/MassEdit", "sap/fe/core/controllerextensions/MessageHandler", "sap/fe/core/controllerextensions/PageReady", "sap/fe/core/controllerextensions/Paginator", "sap/fe/core/controllerextensions/Placeholder", "sap/fe/core/controllerextensions/Routing", "sap/fe/core/controllerextensions/Share", "sap/fe/core/controllerextensions/SideEffects", "sap/fe/core/controllerextensions/ViewState", "sap/fe/core/ExtensionAPI", "sap/fe/core/helpers/ClassSupport"], function (BaseController, EditFlow, IntentBasedNavigation, InternalEditFlow, InternalIntentBasedNavigation, InternalRouting, MassEdit, MessageHandler, PageReady, Paginator, Placeholder, Routing, Share, SideEffects, ViewState, ExtensionAPI, ClassSupport) {
5
+ sap.ui.define(["sap/fe/core/BaseController", "sap/fe/core/controllerextensions/EditFlow", "sap/fe/core/controllerextensions/IntentBasedNavigation", "sap/fe/core/controllerextensions/InternalEditFlow", "sap/fe/core/controllerextensions/InternalIntentBasedNavigation", "sap/fe/core/controllerextensions/InternalRouting", "sap/fe/core/controllerextensions/MassEdit", "sap/fe/core/controllerextensions/MessageHandler", "sap/fe/core/controllerextensions/PageReady", "sap/fe/core/controllerextensions/Paginator", "sap/fe/core/controllerextensions/Placeholder", "sap/fe/core/controllerextensions/Routing", "sap/fe/core/controllerextensions/Share", "sap/fe/core/controllerextensions/SideEffects", "sap/fe/core/controllerextensions/ViewState", "sap/fe/core/ExtensionAPI", "sap/fe/core/helpers/ClassSupport", "sap/ui/core/mvc/OverrideExecution"], function (BaseController, EditFlow, IntentBasedNavigation, InternalEditFlow, InternalIntentBasedNavigation, InternalRouting, MassEdit, MessageHandler, PageReady, Paginator, Placeholder, Routing, Share, SideEffects, ViewState, ExtensionAPI, ClassSupport, OverrideExecution) {
6
6
  "use strict";
7
7
 
8
- var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14;
8
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14;
9
9
 
10
10
  var usingExtension = ClassSupport.usingExtension;
11
11
  var publicExtension = ClassSupport.publicExtension;
12
+ var extensible = ClassSupport.extensible;
12
13
  var defineUI5Class = ClassSupport.defineUI5Class;
13
14
 
14
15
  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 }); }
@@ -32,7 +33,7 @@ sap.ui.define(["sap/fe/core/BaseController", "sap/fe/core/controllerextensions/E
32
33
  * @public
33
34
  * @since 1.88.0
34
35
  */
35
- var PageController = (_dec = defineUI5Class("sap.fe.core.PageController"), _dec2 = usingExtension(Routing), _dec3 = usingExtension(InternalRouting), _dec4 = usingExtension(EditFlow), _dec5 = usingExtension(InternalEditFlow), _dec6 = usingExtension(IntentBasedNavigation), _dec7 = usingExtension(InternalIntentBasedNavigation), _dec8 = usingExtension(PageReady), _dec9 = usingExtension(MessageHandler), _dec10 = usingExtension(Share), _dec11 = usingExtension(Paginator), _dec12 = usingExtension(ViewState), _dec13 = usingExtension(Placeholder), _dec14 = usingExtension(SideEffects), _dec15 = usingExtension(MassEdit), _dec16 = publicExtension(), _dec17 = publicExtension(), _dec18 = publicExtension(), _dec19 = publicExtension(), _dec(_class = (_class2 = /*#__PURE__*/function (_BaseController) {
36
+ var PageController = (_dec = defineUI5Class("sap.fe.core.PageController"), _dec2 = usingExtension(Routing), _dec3 = usingExtension(InternalRouting), _dec4 = usingExtension(EditFlow), _dec5 = usingExtension(InternalEditFlow), _dec6 = usingExtension(IntentBasedNavigation), _dec7 = usingExtension(InternalIntentBasedNavigation), _dec8 = usingExtension(PageReady), _dec9 = usingExtension(MessageHandler), _dec10 = usingExtension(Share), _dec11 = usingExtension(Paginator), _dec12 = usingExtension(ViewState), _dec13 = usingExtension(Placeholder), _dec14 = usingExtension(SideEffects), _dec15 = usingExtension(MassEdit), _dec16 = publicExtension(), _dec17 = publicExtension(), _dec18 = publicExtension(), _dec19 = publicExtension(), _dec20 = extensible(OverrideExecution.After), _dec(_class = (_class2 = /*#__PURE__*/function (_BaseController) {
36
37
  _inheritsLoose(PageController, _BaseController);
37
38
 
38
39
  function PageController() {
@@ -96,7 +97,7 @@ sap.ui.define(["sap/fe/core/BaseController", "sap/fe/core/controllerextensions/E
96
97
  _proto.onInit = function onInit() {
97
98
  var oUIModel = this.getAppComponent().getModel("ui"),
98
99
  oInternalModel = this.getAppComponent().getModel("internal"),
99
- sPath = "/pages/" + this.getView().getId();
100
+ sPath = "/pages/".concat(this.getView().getId());
100
101
  oUIModel.setProperty(sPath, {
101
102
  controls: {}
102
103
  });
@@ -136,7 +137,11 @@ sap.ui.define(["sap/fe/core/BaseController", "sap/fe/core/controllerextensions/E
136
137
  }
137
138
 
138
139
  return this.extensionAPI;
139
- };
140
+ } // We specify the extensibility here the same way as it is done in the object page controller
141
+ // since the specification here overrides it and if we do not specify anything here, the
142
+ // behavior defaults to an execute instead!
143
+ // TODO This may not be ideal, since it also influences the list report controller but currently it's the best solution.
144
+ ;
140
145
 
141
146
  _proto. // eslint-disable-next-line @typescript-eslint/no-unused-vars
142
147
  onPageReady = function onPageReady(mParameters) {
@@ -215,7 +220,7 @@ sap.ui.define(["sap/fe/core/BaseController", "sap/fe/core/controllerextensions/E
215
220
  enumerable: true,
216
221
  writable: true,
217
222
  initializer: null
218
- }), _applyDecoratedDescriptor(_class2.prototype, "onInit", [_dec16], Object.getOwnPropertyDescriptor(_class2.prototype, "onInit"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onBeforeRendering", [_dec17], Object.getOwnPropertyDescriptor(_class2.prototype, "onBeforeRendering"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "getExtensionAPI", [_dec18], Object.getOwnPropertyDescriptor(_class2.prototype, "getExtensionAPI"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onPageReady", [_dec19], Object.getOwnPropertyDescriptor(_class2.prototype, "onPageReady"), _class2.prototype)), _class2)) || _class);
223
+ }), _applyDecoratedDescriptor(_class2.prototype, "onInit", [_dec16], Object.getOwnPropertyDescriptor(_class2.prototype, "onInit"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onBeforeRendering", [_dec17], Object.getOwnPropertyDescriptor(_class2.prototype, "onBeforeRendering"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "getExtensionAPI", [_dec18], Object.getOwnPropertyDescriptor(_class2.prototype, "getExtensionAPI"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onPageReady", [_dec19, _dec20], Object.getOwnPropertyDescriptor(_class2.prototype, "onPageReady"), _class2.prototype)), _class2)) || _class);
219
224
  return PageController;
220
225
  }, false);
221
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBhZ2VDb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbIlBhZ2VDb250cm9sbGVyIiwiZGVmaW5lVUk1Q2xhc3MiLCJ1c2luZ0V4dGVuc2lvbiIsIlJvdXRpbmciLCJJbnRlcm5hbFJvdXRpbmciLCJFZGl0RmxvdyIsIkludGVybmFsRWRpdEZsb3ciLCJJbnRlbnRCYXNlZE5hdmlnYXRpb24iLCJJbnRlcm5hbEludGVudEJhc2VkTmF2aWdhdGlvbiIsIlBhZ2VSZWFkeSIsIk1lc3NhZ2VIYW5kbGVyIiwiU2hhcmUiLCJQYWdpbmF0b3IiLCJWaWV3U3RhdGUiLCJQbGFjZWhvbGRlciIsIlNpZGVFZmZlY3RzIiwiTWFzc0VkaXQiLCJwdWJsaWNFeHRlbnNpb24iLCJvbkluaXQiLCJvVUlNb2RlbCIsImdldEFwcENvbXBvbmVudCIsImdldE1vZGVsIiwib0ludGVybmFsTW9kZWwiLCJzUGF0aCIsImdldFZpZXciLCJnZXRJZCIsInNldFByb3BlcnR5IiwiY29udHJvbHMiLCJjb2xsYWJvcmF0aW9uIiwiYmluZEVsZW1lbnQiLCJwYXRoIiwibW9kZWwiLCJzZXRNb2RlbCIsIm9uQmVmb3JlUmVuZGVyaW5nIiwicGxhY2Vob2xkZXIiLCJhdHRhY2hIaWRlQ2FsbGJhY2siLCJnZXRFeHRlbnNpb25BUEkiLCJleHRlbnNpb25BUEkiLCJFeHRlbnNpb25BUEkiLCJvblBhZ2VSZWFkeSIsIm1QYXJhbWV0ZXJzIiwiZ2V0QXBwU3RhdGVIYW5kbGVyIiwiYXBwbHlBcHBTdGF0ZSIsIkJhc2VDb250cm9sbGVyIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUVNQSxjLFdBRExDLGNBQWMsQ0FBQyw0QkFBRCxDLFVBRWJDLGNBQWMsQ0FBQ0MsT0FBRCxDLFVBRWRELGNBQWMsQ0FBQ0UsZUFBRCxDLFVBRWRGLGNBQWMsQ0FBQ0csUUFBRCxDLFVBRWRI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cnQgQXBwQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9BcHBDb21wb25lbnRcIjtcbmltcG9ydCBCYXNlQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvQmFzZUNvbnRyb2xsZXJcIjtcbmltcG9ydCBFZGl0RmxvdyBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvRWRpdEZsb3dcIjtcbmltcG9ydCBJbnRlbnRCYXNlZE5hdmlnYXRpb24gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0ludGVudEJhc2VkTmF2aWdhdGlvblwiO1xuaW1wb3J0IEludGVybmFsRWRpdEZsb3cgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0ludGVybmFsRWRpdEZsb3dcIjtcbmltcG9ydCBJbnRlcm5hbEludGVudEJhc2VkTmF2aWdhdGlvbiBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvSW50ZXJuYWxJbnRlbnRCYXNlZE5hdmlnYXRpb25cIjtcbmltcG9ydCBJbnRlcm5hbFJvdXRpbmcgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0ludGVybmFsUm91dGluZ1wiO1xuaW1wb3J0IE1hc3NFZGl0IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9NYXNzRWRpdFwiO1xuaW1wb3J0IE1lc3NhZ2VIYW5kbGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9NZXNzYWdlSGFuZGxlclwiO1xuaW1wb3J0IFBhZ2VSZWFkeSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvUGFnZVJlYWR5XCI7XG5pbXBvcnQgUGFnaW5hdG9yIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9QYWdpbmF0b3JcIjtcbmltcG9ydCBQbGFjZWhvbGRlciBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvUGxhY2Vob2xkZXJcIjtcbmltcG9ydCBSb3V0aW5nIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9Sb3V0aW5nXCI7XG5pbXBvcnQgU2hhcmUgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL1NoYXJlXCI7XG5pbXBvcnQgU2lkZUVmZmVjdHMgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL1NpZGVFZmZlY3RzXCI7XG5pbXBvcnQgVmlld1N0YXRlIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9WaWV3U3RhdGVcIjtcbmltcG9ydCBFeHRlbnNpb25BUEkgZnJvbSBcInNhcC9mZS9jb3JlL0V4dGVuc2lvbkFQSVwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIHB1YmxpY0V4dGVuc2lvbiwgdXNpbmdFeHRlbnNpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuXG4vKipcbiAqIEJhc2UgY29udHJvbGxlciBjbGFzcyBmb3IgeW91ciBjdXN0b20gcGFnZSB1c2VkIGluc2lkZSBhbiBTQVAgRmlvcmkgZWxlbWVudHMgYXBwbGljYXRpb24uXG4gKlxuICogVGhpcyBjb250cm9sbGVyIHByb3ZpZGVzIHByZWNvbmZpZ3VyZWQgZXh0ZW5zaW9ucyB0aGF0IHdpbGwgZW5zdXJlIHlvdSBoYXZlIHRoZSBiYXNpYyBmdW5jdGlvbmFsaXRpZXMgcmVxdWlyZWQgdG8gdXNlIHRoZSBidWlsZGluZyBibG9ja3MuXG4gKlxuICogQGhpZGVjb25zdHJ1Y3RvclxuICogQHB1YmxpY1xuICogQHNpbmNlIDEuODguMFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5QYWdlQ29udHJvbGxlclwiKVxuY2xhc3MgUGFnZUNvbnRyb2xsZXIgZXh0ZW5kcyBCYXNlQ29udHJvbGxlciB7XG5cdEB1c2luZ0V4dGVuc2lvbihSb3V0aW5nKVxuXHRyb3V0aW5nITogUm91dGluZztcblx0QHVzaW5nRXh0ZW5zaW9uKEludGVybmFsUm91dGluZylcblx0X3JvdXRpbmchOiBJbnRlcm5hbFJvdXRpbmc7XG5cdEB1c2luZ0V4dGVuc2lvbihFZGl0Rmxvdylcblx0ZWRpdEZsb3chOiBFZGl0Rmxvdztcblx0QHVzaW5nRXh0ZW5zaW9uKEludGVybmFsRWRpdEZsb3cpXG5cdF9lZGl0RmxvdyE6IEludGVybmFsRWRpdEZsb3c7XG5cdEB1c2luZ0V4dGVuc2lvbihJbnRlbnRCYXNlZE5hdmlnYXRpb24pXG5cdGludGVudEJhc2VkTmF2aWdhdGlvbiE6IEludGVudEJhc2VkTmF2aWdhdGlvbjtcblx0QHVzaW5nRXh0ZW5zaW9uKEludGVybmFsSW50ZW50QmFzZWROYXZpZ2F0aW9uKVxuXHRfaW50ZW50QmFzZWROYXZpZ2F0aW9uITogSW50ZXJuYWxJbnRlbnRCYXNlZE5hdmlnYXRpb247XG5cdEB1c2luZ0V4dGVuc2lvbihQYWdlUmVhZHkpXG5cdHBhZ2VSZWFkeSE6IFBhZ2VSZWFkeTtcblx0QHVzaW5nRXh0ZW5zaW9uKE1lc3NhZ2VIYW5kbGVyKVxuXHRtZXNzYWdlSGFuZGxlciE6IE1lc3NhZ2VIYW5kbGVyO1xuXHRAdXNpbmdFeHRlbnNpb24oU2hhcmUpXG5cdHNoYXJlITogU2hhcmU7XG5cdEB1c2luZ0V4dGVuc2lvbihQYWdpbmF0b3IpXG5cdHBhZ2luYXRvciE6IFBhZ2luYXRvcjtcblx0QHVzaW5nRXh0ZW5zaW9uKFZpZXdTdGF0ZSlcblx0dmlld1N0YXRlITogVmlld1N0YXRlO1xuXHRAdXNpbmdFeHRlbnNpb24oUGxhY2Vob2xkZXIpXG5cdHBsYWNlaG9sZGVyITogUGxhY2Vob2xkZXI7XG5cdEB1c2luZ0V4dGVuc2lvbihTaWRlRWZmZWN0cylcblx0X3NpZGVFZmZlY3RzITogU2lkZUVmZmVjdHM7XG5cdEB1c2luZ0V4dGVuc2lvbihNYXNzRWRpdClcblx0bWFzc0VkaXQhOiBNYXNzRWRpdDtcblx0Ly8gQFB1YmxpY1xuXHQvLyBnZXRWaWV3KCk6IHsgZ2V0Q29udHJvbGxlcigpOiBQYWdlQ29udHJvbGxlciB9ICYgVmlldyB7XG5cdC8vIFx0cmV0dXJuIHN1cGVyLmdldFZpZXcoKSBhcyBhbnk7XG5cdC8vIH1cblx0LyoqXG5cdCAqIEBwcml2YXRlXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLlBhZ2VDb250cm9sbGVyLmdldE1ldGFkYXRhXG5cdCAqIEBmdW5jdGlvblxuXHQgKi9cblx0LyoqXG5cdCAqIEBwcml2YXRlXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLlBhZ2VDb250cm9sbGVyLmV4dGVuZFxuXHQgKiBAZnVuY3Rpb25cblx0ICovXG5cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdG9uSW5pdCgpIHtcblx0XHRjb25zdCBvVUlNb2RlbCA9IHRoaXMuZ2V0QXBwQ29tcG9uZW50KCkuZ2V0TW9kZWwoXCJ1aVwiKSBhcyBKU09OTW9kZWwsXG5cdFx0XHRvSW50ZXJuYWxNb2RlbCA9IHRoaXMuZ2V0QXBwQ29tcG9uZW50KCkuZ2V0TW9kZWwoXCJpbnRlcm5hbFwiKSBhcyBKU09OTW9kZWwsXG5cdFx0XHRzUGF0aCA9IFwiL3BhZ2VzL1wiICsgdGhpcy5nZXRWaWV3KCkuZ2V0SWQoKTtcblxuXHRcdG9VSU1vZGVsLnNldFByb3BlcnR5KHNQYXRoLCB7XG5cdFx0XHRjb250cm9sczoge31cblx0XHR9KTtcblx0XHRvSW50ZXJuYWxNb2RlbC5zZXRQcm9wZXJ0eShzUGF0aCwge1xuXHRcdFx0Y29udHJvbHM6IHt9LFxuXHRcdFx0Y29sbGFib3JhdGlvbjoge31cblx0XHR9KTtcblx0XHR0aGlzLmdldFZpZXcoKS5iaW5kRWxlbWVudCh7XG5cdFx0XHRwYXRoOiBzUGF0aCxcblx0XHRcdG1vZGVsOiBcInVpXCJcblx0XHR9KTtcblx0XHR0aGlzLmdldFZpZXcoKS5iaW5kRWxlbWVudCh7XG5cdFx0XHRwYXRoOiBzUGF0aCxcblx0XHRcdG1vZGVsOiBcImludGVybmFsXCJcblx0XHR9KTtcblxuXHRcdC8vIGZvciB0aGUgdGltZSBiZWluZyBwcm92aWRlIGl0IGFsc28gcGFnZUludGVybmFsIGFzIHNvbWUgbWFjcm9zIGFjY2VzcyBpdCAtIHRvIGJlIHJlbW92ZWRcblx0XHR0aGlzLmdldFZpZXcoKS5iaW5kRWxlbWVudCh7XG5cdFx0XHRwYXRoOiBzUGF0aCxcblx0XHRcdG1vZGVsOiBcInBhZ2VJbnRlcm5hbFwiXG5cdFx0fSk7XG5cdFx0dGhpcy5nZXRWaWV3KCkuc2V0TW9kZWwob0ludGVybmFsTW9kZWwsIFwicGFnZUludGVybmFsXCIpO1xuXG5cdFx0Ly8gYXMgdGhlIG1vZGVsIHByb3BhZ2F0aW9uIGhhcHBlbnMgYWZ0ZXIgaW5pdCBidXQgd2UgYWN0dWFsbHkgd2FudCB0byBhY2Nlc3MgdGhlIGJpbmRpbmcgY29udGV4dCBpbiB0aGVcblx0XHQvLyBpbml0IHBoYXNlIGFscmVhZHkgc2V0dGluZyB0aGUgbW9kZWwgaGVyZVxuXHRcdHRoaXMuZ2V0VmlldygpLnNldE1vZGVsKG9VSU1vZGVsLCBcInVpXCIpO1xuXHRcdHRoaXMuZ2V0VmlldygpLnNldE1vZGVsKG9JbnRlcm5hbE1vZGVsLCBcImludGVybmFsXCIpO1xuXHR9XG5cdEBwdWJsaWNFeHRlbnNpb24oKVxuXHRvbkJlZm9yZVJlbmRlcmluZygpIHtcblx0XHRpZiAodGhpcy5wbGFjZWhvbGRlci5hdHRhY2hIaWRlQ2FsbGJhY2spIHtcblx0XHRcdHRoaXMucGxhY2Vob2xkZXIuYXR0YWNoSGlkZUNhbGxiYWNrKCk7XG5cdFx0fVxuXHR9XG5cdEBwdWJsaWNFeHRlbnNpb24oKVxuXHRnZXRFeHRlbnNpb25BUEkodGhpczogYW55KTogRXh0ZW5zaW9uQVBJIHtcblx0XHRpZiAoIXRoaXMuZXh0ZW5zaW9uQVBJKSB7XG5cdFx0XHR0aGlzLmV4dGVuc2lvbkFQSSA9IG5ldyBFeHRlbnNpb25BUEkodGhpcyk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLmV4dGVuc2lvbkFQSTtcblx0fVxuXHRAcHVibGljRXh0ZW5zaW9uKClcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHRvblBhZ2VSZWFkeShtUGFyYW1ldGVyczogYW55KSB7XG5cdFx0Ly8gQXBwbHkgYXBwIHN0YXRlIG9ubHkgYWZ0ZXIgdGhlIHBhZ2UgaXMgcmVhZHkgd2l0aCB0aGUgZmlyc3Qgc2VjdGlvbiBzZWxlY3RlZFxuXHRcdCh0aGlzLmdldEFwcENvbXBvbmVudCgpIGFzIEFwcENvbXBvbmVudCkuZ2V0QXBwU3RhdGVIYW5kbGVyKCkuYXBwbHlBcHBTdGF0ZSgpO1xuXHR9XG59XG5leHBvcnQgZGVmYXVsdCBQYWdlQ29udHJvbGxlcjtcbiJdfQ==
226
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBhZ2VDb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbIlBhZ2VDb250cm9sbGVyIiwiZGVmaW5lVUk1Q2xhc3MiLCJ1c2luZ0V4dGVuc2lvbiIsIlJvdXRpbmciLCJJbnRlcm5hbFJvdXRpbmciLCJFZGl0RmxvdyIsIkludGVybmFsRWRpdEZsb3ciLCJJbnRlbnRCYXNlZE5hdmlnYXRpb24iLCJJbnRlcm5hbEludGVudEJhc2VkTmF2aWdhdGlvbiIsIlBhZ2VSZWFkeSIsIk1lc3NhZ2VIYW5kbGVyIiwiU2hhcmUiLCJQYWdpbmF0b3IiLCJWaWV3U3RhdGUiLCJQbGFjZWhvbGRlciIsIlNpZGVFZmZlY3RzIiwiTWFzc0VkaXQiLCJwdWJsaWNFeHRlbnNpb24iLCJleHRlbnNpYmxlIiwiT3ZlcnJpZGVFeGVjdXRpb24iLCJBZnRlciIsIm9uSW5pdCIsIm9VSU1vZGVsIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0TW9kZWwiLCJvSW50ZXJuYWxNb2RlbCIsInNQYXRoIiwiZ2V0VmlldyIsImdldElkIiwic2V0UHJvcGVydHkiLCJjb250cm9scyIsImNvbGxhYm9yYXRpb24iLCJiaW5kRWxlbWVudCIsInBhdGgiLCJtb2RlbCIsInNldE1vZGVsIiwib25CZWZvcmVSZW5kZXJpbmciLCJwbGFjZWhvbGRlciIsImF0dGFjaEhpZGVDYWxsYmFjayIsImdldEV4dGVuc2lvbkFQSSIsImV4dGVuc2lvbkFQSSIsIkV4dGVuc2lvbkFQSSIsIm9uUGFnZVJlYWR5IiwibVBhcmFtZXRlcnMiLCJnZXRBcHBTdGF0ZUhhbmRsZXIiLCJhcHBseUFwcFN0YXRlIiwiQmFzZUNvbnRyb2xsZXIiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUVNQSxjLFdBRExDLGNBQWMsQ0FBQyw0QkFBRCxDLFVBRWJDLGNBQWMsQ0FBQ0MsT0FBRCxDLFVBRWRELGNBQWMs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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztTQXVHZDlDLGMiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvQmFzZUNvbnRyb2xsZXJcIjtcbmltcG9ydCBFZGl0RmxvdyBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvRWRpdEZsb3dcIjtcbmltcG9ydCBJbnRlbnRCYXNlZE5hdmlnYXRpb24gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0ludGVudEJhc2VkTmF2aWdhdGlvblwiO1xuaW1wb3J0IEludGVybmFsRWRpdEZsb3cgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0ludGVybmFsRWRpdEZsb3dcIjtcbmltcG9ydCBJbnRlcm5hbEludGVudEJhc2VkTmF2aWdhdGlvbiBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvSW50ZXJuYWxJbnRlbnRCYXNlZE5hdmlnYXRpb25cIjtcbmltcG9ydCBJbnRlcm5hbFJvdXRpbmcgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0ludGVybmFsUm91dGluZ1wiO1xuaW1wb3J0IE1hc3NFZGl0IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9NYXNzRWRpdFwiO1xuaW1wb3J0IE1lc3NhZ2VIYW5kbGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9NZXNzYWdlSGFuZGxlclwiO1xuaW1wb3J0IFBhZ2VSZWFkeSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvUGFnZVJlYWR5XCI7XG5pbXBvcnQgUGFnaW5hdG9yIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9QYWdpbmF0b3JcIjtcbmltcG9ydCBQbGFjZWhvbGRlciBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvUGxhY2Vob2xkZXJcIjtcbmltcG9ydCBSb3V0aW5nIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9Sb3V0aW5nXCI7XG5pbXBvcnQgU2hhcmUgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL1NoYXJlXCI7XG5pbXBvcnQgU2lkZUVmZmVjdHMgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL1NpZGVFZmZlY3RzXCI7XG5pbXBvcnQgVmlld1N0YXRlIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9WaWV3U3RhdGVcIjtcbmltcG9ydCBFeHRlbnNpb25BUEkgZnJvbSBcInNhcC9mZS9jb3JlL0V4dGVuc2lvbkFQSVwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIGV4dGVuc2libGUsIHB1YmxpY0V4dGVuc2lvbiwgdXNpbmdFeHRlbnNpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBPdmVycmlkZUV4ZWN1dGlvbiBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL092ZXJyaWRlRXhlY3V0aW9uXCI7XG5pbXBvcnQgdHlwZSBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuXG4vKipcbiAqIEJhc2UgY29udHJvbGxlciBjbGFzcyBmb3IgeW91ciBjdXN0b20gcGFnZSB1c2VkIGluc2lkZSBhbiBTQVAgRmlvcmkgZWxlbWVudHMgYXBwbGljYXRpb24uXG4gKlxuICogVGhpcyBjb250cm9sbGVyIHByb3ZpZGVzIHByZWNvbmZpZ3VyZWQgZXh0ZW5zaW9ucyB0aGF0IHdpbGwgZW5zdXJlIHlvdSBoYXZlIHRoZSBiYXNpYyBmdW5jdGlvbmFsaXRpZXMgcmVxdWlyZWQgdG8gdXNlIHRoZSBidWlsZGluZyBibG9ja3MuXG4gKlxuICogQGhpZGVjb25zdHJ1Y3RvclxuICogQHB1YmxpY1xuICogQHNpbmNlIDEuODguMFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5QYWdlQ29udHJvbGxlclwiKVxuY2xhc3MgUGFnZUNvbnRyb2xsZXIgZXh0ZW5kcyBCYXNlQ29udHJvbGxlciB7XG5cdEB1c2luZ0V4dGVuc2lvbihSb3V0aW5nKVxuXHRyb3V0aW5nITogUm91dGluZztcblx0QHVzaW5nRXh0ZW5zaW9uKEludGVybmFsUm91dGluZylcblx0X3JvdXRpbmchOiBJbnRlcm5hbFJvdXRpbmc7XG5cdEB1c2luZ0V4dGVuc2lvbihFZGl0Rmxvdylcblx0ZWRpdEZsb3chOiBFZGl0Rmxvdztcblx0QHVzaW5nRXh0ZW5zaW9uKEludGVybmFsRWRpdEZsb3cpXG5cdF9lZGl0RmxvdyE6IEludGVybmFsRWRpdEZsb3c7XG5cdEB1c2luZ0V4dGVuc2lvbihJbnRlbnRCYXNlZE5hdmlnYXRpb24pXG5cdGludGVudEJhc2VkTmF2aWdhdGlvbiE6IEludGVudEJhc2VkTmF2aWdhdGlvbjtcblx0QHVzaW5nRXh0ZW5zaW9uKEludGVybmFsSW50ZW50QmFzZWROYXZpZ2F0aW9uKVxuXHRfaW50ZW50QmFzZWROYXZpZ2F0aW9uITogSW50ZXJuYWxJbnRlbnRCYXNlZE5hdmlnYXRpb247XG5cdEB1c2luZ0V4dGVuc2lvbihQYWdlUmVhZHkpXG5cdHBhZ2VSZWFkeSE6IFBhZ2VSZWFkeTtcblx0QHVzaW5nRXh0ZW5zaW9uKE1lc3NhZ2VIYW5kbGVyKVxuXHRtZXNzYWdlSGFuZGxlciE6IE1lc3NhZ2VIYW5kbGVyO1xuXHRAdXNpbmdFeHRlbnNpb24oU2hhcmUpXG5cdHNoYXJlITogU2hhcmU7XG5cdEB1c2luZ0V4dGVuc2lvbihQYWdpbmF0b3IpXG5cdHBhZ2luYXRvciE6IFBhZ2luYXRvcjtcblx0QHVzaW5nRXh0ZW5zaW9uKFZpZXdTdGF0ZSlcblx0dmlld1N0YXRlITogVmlld1N0YXRlO1xuXHRAdXNpbmdFeHRlbnNpb24oUGxhY2Vob2xkZXIpXG5cdHBsYWNlaG9sZGVyITogUGxhY2Vob2xkZXI7XG5cdEB1c2luZ0V4dGVuc2lvbihTaWRlRWZmZWN0cylcblx0X3NpZGVFZmZlY3RzITogU2lkZUVmZmVjdHM7XG5cdEB1c2luZ0V4dGVuc2lvbihNYXNzRWRpdClcblx0bWFzc0VkaXQhOiBNYXNzRWRpdDtcblx0Ly8gQFB1YmxpY1xuXHQvLyBnZXRWaWV3KCk6IHsgZ2V0Q29udHJvbGxlcigpOiBQYWdlQ29udHJvbGxlciB9ICYgVmlldyB7XG5cdC8vIFx0cmV0dXJuIHN1cGVyLmdldFZpZXcoKSBhcyBhbnk7XG5cdC8vIH1cblx0LyoqXG5cdCAqIEBwcml2YXRlXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLlBhZ2VDb250cm9sbGVyLmdldE1ldGFkYXRhXG5cdCAqIEBmdW5jdGlvblxuXHQgKi9cblx0LyoqXG5cdCAqIEBwcml2YXRlXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLlBhZ2VDb250cm9sbGVyLmV4dGVuZFxuXHQgKiBAZnVuY3Rpb25cblx0ICovXG5cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdG9uSW5pdCgpIHtcblx0XHRjb25zdCBvVUlNb2RlbCA9IHRoaXMuZ2V0QXBwQ29tcG9uZW50KCkuZ2V0TW9kZWwoXCJ1aVwiKSBhcyBKU09OTW9kZWwsXG5cdFx0XHRvSW50ZXJuYWxNb2RlbCA9IHRoaXMuZ2V0QXBwQ29tcG9uZW50KCkuZ2V0TW9kZWwoXCJpbnRlcm5hbFwiKSBhcyBKU09OTW9kZWwsXG5cdFx0XHRzUGF0aCA9IGAvcGFnZXMvJHt0aGlzLmdldFZpZXcoKS5nZXRJZCgpfWA7XG5cblx0XHRvVUlNb2RlbC5zZXRQcm9wZXJ0eShzUGF0aCwge1xuXHRcdFx0Y29udHJvbHM6IHt9XG5cdFx0fSk7XG5cdFx0b0ludGVybmFsTW9kZWwuc2V0UHJvcGVydHkoc1BhdGgsIHtcblx0XHRcdGNvbnRyb2xzOiB7fSxcblx0XHRcdGNvbGxhYm9yYXRpb246IHt9XG5cdFx0fSk7XG5cdFx0dGhpcy5nZXRWaWV3KCkuYmluZEVsZW1lbnQoe1xuXHRcdFx0cGF0aDogc1BhdGgsXG5cdFx0XHRtb2RlbDogXCJ1aVwiXG5cdFx0fSk7XG5cdFx0dGhpcy5nZXRWaWV3KCkuYmluZEVsZW1lbnQoe1xuXHRcdFx0cGF0aDogc1BhdGgsXG5cdFx0XHRtb2RlbDogXCJpbnRlcm5hbFwiXG5cdFx0fSk7XG5cblx0XHQvLyBmb3IgdGhlIHRpbWUgYmVpbmcgcHJvdmlkZSBpdCBhbHNvIHBhZ2VJbnRlcm5hbCBhcyBzb21lIG1hY3JvcyBhY2Nlc3MgaXQgLSB0byBiZSByZW1vdmVkXG5cdFx0dGhpcy5nZXRWaWV3KCkuYmluZEVsZW1lbnQoe1xuXHRcdFx0cGF0aDogc1BhdGgsXG5cdFx0XHRtb2RlbDogXCJwYWdlSW50ZXJuYWxcIlxuXHRcdH0pO1xuXHRcdHRoaXMuZ2V0VmlldygpLnNldE1vZGVsKG9JbnRlcm5hbE1vZGVsLCBcInBhZ2VJbnRlcm5hbFwiKTtcblxuXHRcdC8vIGFzIHRoZSBtb2RlbCBwcm9wYWdhdGlvbiBoYXBwZW5zIGFmdGVyIGluaXQgYnV0IHdlIGFjdHVhbGx5IHdhbnQgdG8gYWNjZXNzIHRoZSBiaW5kaW5nIGNvbnRleHQgaW4gdGhlXG5cdFx0Ly8gaW5pdCBwaGFzZSBhbHJlYWR5IHNldHRpbmcgdGhlIG1vZGVsIGhlcmVcblx0XHR0aGlzLmdldFZpZXcoKS5zZXRNb2RlbChvVUlNb2RlbCwgXCJ1aVwiKTtcblx0XHR0aGlzLmdldFZpZXcoKS5zZXRNb2RlbChvSW50ZXJuYWxNb2RlbCwgXCJpbnRlcm5hbFwiKTtcblx0fVxuXHRAcHVibGljRXh0ZW5zaW9uKClcblx0b25CZWZvcmVSZW5kZXJpbmcoKSB7XG5cdFx0aWYgKHRoaXMucGxhY2Vob2xkZXIuYXR0YWNoSGlkZUNhbGxiYWNrKSB7XG5cdFx0XHR0aGlzLnBsYWNlaG9sZGVyLmF0dGFjaEhpZGVDYWxsYmFjaygpO1xuXHRcdH1cblx0fVxuXHRAcHVibGljRXh0ZW5zaW9uKClcblx0Z2V0RXh0ZW5zaW9uQVBJKHRoaXM6IGFueSk6IEV4dGVuc2lvbkFQSSB7XG5cdFx0aWYgKCF0aGlzLmV4dGVuc2lvbkFQSSkge1xuXHRcdFx0dGhpcy5leHRlbnNpb25BUEkgPSBuZXcgRXh0ZW5zaW9uQVBJKHRoaXMpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5leHRlbnNpb25BUEk7XG5cdH1cblx0Ly8gV2Ugc3BlY2lmeSB0aGUgZXh0ZW5zaWJpbGl0eSBoZXJlIHRoZSBzYW1lIHdheSBhcyBpdCBpcyBkb25lIGluIHRoZSBvYmplY3QgcGFnZSBjb250cm9sbGVyXG5cdC8vIHNpbmNlIHRoZSBzcGVjaWZpY2F0aW9uIGhlcmUgb3ZlcnJpZGVzIGl0IGFuZCBpZiB3ZSBkbyBub3Qgc3BlY2lmeSBhbnl0aGluZyBoZXJlLCB0aGVcblx0Ly8gYmVoYXZpb3IgZGVmYXVsdHMgdG8gYW4gZXhlY3V0ZSBpbnN0ZWFkIVxuXHQvLyBUT0RPIFRoaXMgbWF5IG5vdCBiZSBpZGVhbCwgc2luY2UgaXQgYWxzbyBpbmZsdWVuY2VzIHRoZSBsaXN0IHJlcG9ydCBjb250cm9sbGVyIGJ1dCBjdXJyZW50bHkgaXQncyB0aGUgYmVzdCBzb2x1dGlvbi5cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdEBleHRlbnNpYmxlKE92ZXJyaWRlRXhlY3V0aW9uLkFmdGVyKVxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdG9uUGFnZVJlYWR5KG1QYXJhbWV0ZXJzOiBhbnkpIHtcblx0XHQvLyBBcHBseSBhcHAgc3RhdGUgb25seSBhZnRlciB0aGUgcGFnZSBpcyByZWFkeSB3aXRoIHRoZSBmaXJzdCBzZWN0aW9uIHNlbGVjdGVkXG5cdFx0dGhpcy5nZXRBcHBDb21wb25lbnQoKS5nZXRBcHBTdGF0ZUhhbmRsZXIoKS5hcHBseUFwcFN0YXRlKCk7XG5cdH1cbn1cbmV4cG9ydCBkZWZhdWx0IFBhZ2VDb250cm9sbGVyO1xuIl19
@@ -1,4 +1,3 @@
1
- import AppComponent from "sap/fe/core/AppComponent";
2
1
  import BaseController from "sap/fe/core/BaseController";
3
2
  import EditFlow from "sap/fe/core/controllerextensions/EditFlow";
4
3
  import IntentBasedNavigation from "sap/fe/core/controllerextensions/IntentBasedNavigation";
@@ -15,8 +14,9 @@ import Share from "sap/fe/core/controllerextensions/Share";
15
14
  import SideEffects from "sap/fe/core/controllerextensions/SideEffects";
16
15
  import ViewState from "sap/fe/core/controllerextensions/ViewState";
17
16
  import ExtensionAPI from "sap/fe/core/ExtensionAPI";
18
- import { defineUI5Class, publicExtension, usingExtension } from "sap/fe/core/helpers/ClassSupport";
19
- import JSONModel from "sap/ui/model/json/JSONModel";
17
+ import { defineUI5Class, extensible, publicExtension, usingExtension } from "sap/fe/core/helpers/ClassSupport";
18
+ import OverrideExecution from "sap/ui/core/mvc/OverrideExecution";
19
+ import type JSONModel from "sap/ui/model/json/JSONModel";
20
20
 
21
21
  /**
22
22
  * Base controller class for your custom page used inside an SAP Fiori elements application.
@@ -76,7 +76,7 @@ class PageController extends BaseController {
76
76
  onInit() {
77
77
  const oUIModel = this.getAppComponent().getModel("ui") as JSONModel,
78
78
  oInternalModel = this.getAppComponent().getModel("internal") as JSONModel,
79
- sPath = "/pages/" + this.getView().getId();
79
+ sPath = `/pages/${this.getView().getId()}`;
80
80
 
81
81
  oUIModel.setProperty(sPath, {
82
82
  controls: {}
@@ -119,11 +119,16 @@ class PageController extends BaseController {
119
119
  }
120
120
  return this.extensionAPI;
121
121
  }
122
+ // We specify the extensibility here the same way as it is done in the object page controller
123
+ // since the specification here overrides it and if we do not specify anything here, the
124
+ // behavior defaults to an execute instead!
125
+ // TODO This may not be ideal, since it also influences the list report controller but currently it's the best solution.
122
126
  @publicExtension()
127
+ @extensible(OverrideExecution.After)
123
128
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
124
129
  onPageReady(mParameters: any) {
125
130
  // Apply app state only after the page is ready with the first section selected
126
- (this.getAppComponent() as AppComponent).getAppStateHandler().applyAppState();
131
+ this.getAppComponent().getAppStateHandler().applyAppState();
127
132
  }
128
133
  }
129
134
  export default PageController;