@sap/open.fe 1.96.0 → 1.97.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 (490) hide show
  1. package/package.json +1 -1
  2. package/packages/sap.fe.common/src/sap/fe/common/.library +1 -1
  3. package/packages/sap.fe.common/src/sap/fe/common/.theming +1 -1
  4. package/packages/sap.fe.common/src/sap/fe/common/MessageButton-dbg.js +57 -42
  5. package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +1 -1
  6. package/packages/sap.fe.common/src/sap/fe/common/library-dbg.js +1 -1
  7. package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js +2 -2
  8. package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +4 -4
  9. package/packages/sap.fe.common/src/sap/fe/common/library-preload.js.map +3 -3
  10. package/packages/sap.fe.common/src/sap/fe/common/library.js +1 -1
  11. package/packages/sap.fe.common/src/sap/fe/common/manifest.json +3 -3
  12. package/packages/sap.fe.common/src/sap/fe/common/resources.json +4 -4
  13. package/packages/sap.fe.common/test/sap/fe/common/designtime/api.json +1 -1
  14. package/packages/sap.fe.common/test/sap/fe/common/designtime/apiref/api.json +1 -1
  15. package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmlmeta.json +1 -1
  16. package/packages/sap.fe.core/src/sap/fe/core/.library +1 -1
  17. package/packages/sap.fe.core/src/sap/fe/core/.theming +1 -1
  18. package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper-dbg.js +2 -2
  19. package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.js +1 -1
  20. package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +59 -274
  21. package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +1 -1
  22. package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +52 -64
  23. package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +1 -1
  24. package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +2 -2
  25. package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.js +1 -1
  26. package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +18 -22
  27. package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +1 -1
  28. package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +80 -4
  29. package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +1 -1
  30. package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +42 -23
  31. package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +1 -1
  32. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +36 -21
  33. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
  34. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +9 -3
  35. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
  36. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +20 -50
  37. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
  38. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +222 -102
  39. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +1 -1
  40. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState-dbg.js +33 -6
  41. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
  42. package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +109 -111
  43. package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage.js +1 -1
  44. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d-dbg.js +8 -0
  45. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.js +5 -0
  46. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.ts +0 -0
  47. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +2 -1
  48. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  49. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +4 -1
  50. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +10 -1
  51. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  52. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.ts +9 -1
  53. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField-dbg.js +2 -2
  54. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.js +1 -1
  55. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.ts +1 -1
  56. package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +67 -40
  57. package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
  58. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action-dbg.js +6 -3
  59. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
  60. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.ts +6 -3
  61. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +57 -18
  62. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
  63. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.ts +51 -13
  64. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +130 -19
  65. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
  66. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.ts +139 -18
  67. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID-dbg.js +9 -1
  68. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.js +1 -1
  69. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.ts +4 -0
  70. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +18 -7
  71. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
  72. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.ts +17 -12
  73. package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +2 -1
  74. package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.js +1 -1
  75. package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js +1 -1
  76. package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js.map +2 -2
  77. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter-dbg.js +27 -4
  78. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.js +1 -1
  79. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.ts +20 -3
  80. package/packages/sap.fe.core/src/sap/fe/core/fpm/manifest.json +2 -2
  81. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +211 -0
  82. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.js +5 -0
  83. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.ts +202 -0
  84. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes-dbg.js +32 -0
  85. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +5 -0
  86. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes.ts +36 -0
  87. package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper-dbg.js +51 -0
  88. package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.js +1 -1
  89. package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +1 -1
  90. package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +10 -9
  91. package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +1 -1
  92. package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +232 -228
  93. package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +4 -4
  94. package/packages/sap.fe.core/src/sap/fe/core/library.js +1 -1
  95. package/packages/sap.fe.core/src/sap/fe/core/manifest.json +10 -10
  96. package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +15 -1
  97. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +10 -0
  98. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +10 -0
  99. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +10 -0
  100. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +10 -0
  101. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +10 -0
  102. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +10 -0
  103. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +10 -0
  104. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +10 -0
  105. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +10 -0
  106. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +10 -0
  107. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +6 -0
  108. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +11 -1
  109. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +11 -1
  110. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +10 -0
  111. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +10 -0
  112. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +10 -0
  113. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +10 -0
  114. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +10 -0
  115. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +10 -0
  116. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +10 -0
  117. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +10 -0
  118. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +10 -0
  119. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +11 -1
  120. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +10 -0
  121. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +10 -0
  122. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +19 -9
  123. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +10 -0
  124. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +10 -0
  125. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +10 -0
  126. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +10 -0
  127. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +10 -0
  128. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +10 -0
  129. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +10 -0
  130. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +10 -0
  131. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +11 -1
  132. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +10 -0
  133. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +10 -0
  134. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +10 -0
  135. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +10 -0
  136. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +10 -0
  137. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +10 -0
  138. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +10 -0
  139. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +10 -0
  140. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +10 -0
  141. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +10 -0
  142. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +10 -0
  143. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +10 -0
  144. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +10 -0
  145. package/packages/sap.fe.core/src/sap/fe/core/resources.json +200 -121
  146. package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +30 -19
  147. package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
  148. package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +1 -1
  149. package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
  150. package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper-dbg.js +80 -7
  151. package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
  152. package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.ts +42 -2
  153. package/packages/sap.fe.core/test/sap/fe/core/designtime/api.json +1 -1
  154. package/packages/sap.fe.core/test/sap/fe/core/designtime/apiref/api.json +1 -1
  155. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmlmeta.json +1 -1
  156. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/buildingBlockOverview.md +4 -0
  157. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.view.xml +1 -0
  158. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/manifest.json +2 -2
  159. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnAdaptation.fragment.xml +13 -10
  160. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnButton.fragment.xml +7 -4
  161. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/service.cds +1 -2
  162. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/manifest.json +1 -0
  163. package/packages/sap.fe.core/test/sap/fe/core/jest/CommonUtils.spec.js +119 -0
  164. package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +285 -4
  165. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.js +121 -0
  166. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.ts +79 -0
  167. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.js +147 -0
  168. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.ts +96 -0
  169. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +51 -18
  170. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +109 -17
  171. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/MetaModelConverter.spec.ts.snap +66 -0
  172. package/packages/sap.fe.core/test/sap/fe/core/jest/data/EntitySetHelper.cds +33 -0
  173. package/packages/sap.fe.core/test/sap/fe/core/jest/data/EntitySetHelperMainEntitySortableFalse.cds +12 -0
  174. package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableGetSelectionMode.cds +8 -8
  175. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.js +68 -0
  176. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.ts +38 -0
  177. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.js +483 -0
  178. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.ts +376 -0
  179. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlRefreshStrategyTests.js +101 -0
  180. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlRefreshStrategyTests.ts +105 -0
  181. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlsForRefreshTests.js +103 -0
  182. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlsForRefreshTests.ts +106 -0
  183. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/RefreshStrategyForIntentTests.js +118 -0
  184. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/RefreshStrategyForIntentTests.ts +118 -0
  185. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/StoreStrategyTests.js +101 -0
  186. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/StoreStrategyTests.ts +102 -0
  187. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ModelHelper.spec.js +118 -1
  188. package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.js +70 -0
  189. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/EntitySetHelper.spec.js +89 -0
  190. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/EntitySetHelper.spec.ts +73 -0
  191. package/packages/sap.fe.core/test/sap/fe/core/qunit/TemplatingExpressions.qunit.js +4 -2
  192. package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +6 -0
  193. package/packages/sap.fe.macros/src/sap/fe/macros/.library +1 -1
  194. package/packages/sap.fe.macros/src/sap/fe/macros/.theming +1 -1
  195. package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +15 -5
  196. package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate.js +1 -1
  197. package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper-dbg.js +9 -5
  198. package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper.js +1 -1
  199. package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil-dbg.js +30 -11
  200. package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil.js +1 -1
  201. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +3 -5
  202. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.js +1 -1
  203. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.ts +3 -5
  204. package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate-dbg.js +17 -3
  205. package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate.js +1 -1
  206. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +1 -1
  207. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +1 -2
  208. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +4 -4
  209. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +1 -1
  210. package/packages/sap.fe.macros/src/sap/fe/macros/FlexibleColumnLayoutActions.fragment.xml +6 -15
  211. package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.fragment.xml +14 -12
  212. package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +1 -1
  213. package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +1 -1
  214. package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +2 -1
  215. package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +12 -1
  216. package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata.js +1 -1
  217. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI-dbg.js +15 -8
  218. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +1 -1
  219. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +10 -0
  220. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper-dbg.js +1 -1
  221. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper.js +1 -1
  222. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +81 -9
  223. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper.js +1 -1
  224. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime-dbg.js +13 -3
  225. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime.js +1 -1
  226. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating-dbg.js +5 -5
  227. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.js +1 -1
  228. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.ts +4 -4
  229. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkContactContent.fragment.xml +1 -7
  230. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +5 -3
  231. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +1 -1
  232. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkForContact.fragment.xml +1 -1
  233. package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime-dbg.js +46 -0
  234. package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime.js +6 -0
  235. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +17 -8
  236. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +26 -16
  237. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/File.fragment.xml +1 -0
  238. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +4 -13
  239. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +1 -1
  240. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +10 -10
  241. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate-dbg.js +5 -3
  242. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +1 -1
  243. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +72 -8
  244. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +1 -1
  245. package/packages/sap.fe.macros/src/sap/fe/macros/library-dbg.js +1 -1
  246. package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js +12 -11
  247. package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js.map +1 -1
  248. package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js +93 -91
  249. package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js.map +4 -4
  250. package/packages/sap.fe.macros/src/sap/fe/macros/library.js +1 -1
  251. package/packages/sap.fe.macros/src/sap/fe/macros/manifest.json +9 -9
  252. package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime-dbg.js +1 -1
  253. package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime.js +1 -1
  254. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle.properties +5 -0
  255. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +2 -2
  256. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +2 -2
  257. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +2 -2
  258. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +2 -2
  259. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +2 -2
  260. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +2 -2
  261. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +2 -2
  262. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +2 -2
  263. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +1 -1
  264. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +1 -1
  265. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +3 -0
  266. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +2 -2
  267. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +2 -2
  268. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +2 -2
  269. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +2 -2
  270. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +2 -2
  271. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +2 -2
  272. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +2 -2
  273. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +2 -2
  274. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +2 -2
  275. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +2 -2
  276. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +2 -2
  277. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +2 -2
  278. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +3 -3
  279. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +2 -2
  280. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +2 -2
  281. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +2 -2
  282. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +2 -2
  283. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +2 -2
  284. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +2 -2
  285. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +2 -2
  286. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +2 -2
  287. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +2 -2
  288. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +2 -2
  289. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +2 -2
  290. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +2 -2
  291. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +2 -2
  292. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +2 -2
  293. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +2 -2
  294. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +2 -2
  295. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +2 -2
  296. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +2 -2
  297. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +2 -2
  298. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +2 -2
  299. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +2 -2
  300. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +2 -2
  301. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/MicroChartTitle.fragment.xml +21 -11
  302. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/RadialMicroChart.fragment.xml +2 -1
  303. package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +149 -110
  304. package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +3 -0
  305. package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +70 -29
  306. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +53 -36
  307. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +1 -1
  308. package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils-dbg.js +1 -1
  309. package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils.js +1 -1
  310. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +3 -4
  311. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -1
  312. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +2 -2
  313. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/apiref/api.json +1 -1
  314. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmlmeta.json +1 -1
  315. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.js +844 -0
  316. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.ts +833 -0
  317. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.js +495 -0
  318. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.ts +440 -0
  319. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.js +469 -0
  320. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.ts +448 -0
  321. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.js +94 -0
  322. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.ts +70 -0
  323. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.js +12 -1
  324. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.ts +11 -0
  325. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DelegateUtil.spec.js +61 -0
  326. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldHelper.spec.js +46 -0
  327. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldHelper.spec.ts +30 -0
  328. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.js +13 -1
  329. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.ts +11 -0
  330. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormElement.spec.js +66 -0
  331. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormElement.spec.ts +35 -0
  332. package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.js +48 -1
  333. package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.ts +56 -0
  334. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.js +68 -0
  335. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.ts +65 -0
  336. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ChartDelegate.spec.ts.snap +82 -0
  337. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/DatapointMacro.spec.ts.snap +23 -5
  338. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldHelper.spec.ts.snap +47 -0
  339. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroDataFieldTypes.spec.ts.snap +52 -3
  340. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FormElement.spec.ts.snap +25 -0
  341. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +0 -3
  342. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/SimpleFieldMacro.spec.ts.snap +69 -0
  343. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/TableFieldLabel.spec.ts.snap +451 -0
  344. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldHelper.xml +68 -0
  345. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Table.cds +13 -1
  346. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/TableFieldLabel.cds +152 -0
  347. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.js +116 -0
  348. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.ts +115 -0
  349. package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/FormElement.spec.js +86 -0
  350. package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/FormElement.spec.ts +54 -0
  351. package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/__snapshots__/FormElement.spec.ts.snap +33 -0
  352. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.js +154 -0
  353. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.ts +128 -0
  354. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.js +7 -2
  355. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.ts +23 -12
  356. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/__snapshots__/TableDelegate.spec.ts.snap +1 -1
  357. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/index.json +0 -5
  358. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelperTemplate.qunit.js +1 -1
  359. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormElementTemplating.qunit.js +1 -1
  360. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelper.qunit.js +108 -1
  361. package/packages/sap.fe.navigation/src/sap/fe/navigation/.library +1 -1
  362. package/packages/sap.fe.navigation/src/sap/fe/navigation/.theming +1 -1
  363. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-dbg.js +1 -1
  364. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js +2 -2
  365. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js +2 -2
  366. package/packages/sap.fe.navigation/src/sap/fe/navigation/library.js +1 -1
  367. package/packages/sap.fe.navigation/src/sap/fe/navigation/manifest.json +3 -3
  368. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/api.json +1 -1
  369. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/apiref/api.json +1 -1
  370. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmlmeta.json +1 -1
  371. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.library +1 -1
  372. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.theming +1 -1
  373. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-dbg.js +1 -1
  374. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js +2 -2
  375. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js +4 -4
  376. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js.map +1 -1
  377. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library.js +1 -1
  378. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/manifest.json +3 -3
  379. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/resources.json +3 -3
  380. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderALP.fragment.html +1 -1
  381. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOVP.fragment.html +1 -1
  382. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/api.json +1 -1
  383. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/apiref/api.json +1 -1
  384. package/packages/sap.fe.templates/src/sap/fe/templates/.library +1 -1
  385. package/packages/sap.fe.templates/src/sap/fe/templates/.theming +1 -1
  386. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/manifest.json +2 -2
  387. package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent-dbg.js +1 -1
  388. package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent.js +1 -1
  389. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +2 -2
  390. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +91 -60
  391. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController.controller.js +1 -1
  392. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/manifest.json +2 -2
  393. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +31 -5
  394. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState.js +1 -1
  395. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/resources.json +5 -5
  396. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +2 -2
  397. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +1 -1
  398. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component-dbg.js +18 -1
  399. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +1 -1
  400. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +114 -85
  401. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1 -1
  402. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox-dbg.js +8 -0
  403. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +1 -1
  404. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/manifest.json +2 -2
  405. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState-dbg.js +23 -3
  406. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +1 -1
  407. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +15 -15
  408. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating-dbg.js +6 -5
  409. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +1 -1
  410. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +6 -4
  411. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPointTitle.fragment.xml +26 -16
  412. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +5 -5
  413. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl-dbg.controller.js +63 -9
  414. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +1 -1
  415. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer-dbg.controller.js +54 -32
  416. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +1 -1
  417. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController-dbg.js +24 -21
  418. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +1 -1
  419. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/Fcl.view.xml +2 -1
  420. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/NavContainer.view.xml +1 -1
  421. package/packages/sap.fe.templates/src/sap/fe/templates/controls/Table.fragment.xml +2 -0
  422. package/packages/sap.fe.templates/src/sap/fe/templates/library-dbg.js +1 -1
  423. package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js +8 -9
  424. package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js.map +1 -1
  425. package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js +23 -30
  426. package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js.map +4 -4
  427. package/packages/sap.fe.templates/src/sap/fe/templates/library.js +1 -1
  428. package/packages/sap.fe.templates/src/sap/fe/templates/manifest.json +13 -13
  429. package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +51 -60
  430. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/manifest.json +1 -1
  431. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/api.json +1 -1
  432. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/apiref/api.json +1 -1
  433. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmlmeta.json +1 -1
  434. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.js +95 -0
  435. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.ts +66 -0
  436. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.js +134 -0
  437. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.ts +94 -0
  438. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/HeaderFacet.spec.ts.snap +61 -0
  439. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/ObjectPageHeaderForm.spec.ts.snap +53 -0
  440. package/packages/sap.fe.test/src/sap/fe/test/.library +1 -1
  441. package/packages/sap.fe.test/src/sap/fe/test/.theming +1 -1
  442. package/packages/sap.fe.test/src/sap/fe/test/FCLView-dbg.js +0 -6
  443. package/packages/sap.fe.test/src/sap/fe/test/FCLView.js +1 -1
  444. package/packages/sap.fe.test/src/sap/fe/test/Flexibility-dbg.js +14 -3
  445. package/packages/sap.fe.test/src/sap/fe/test/Flexibility.js +1 -1
  446. package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper-dbg.js +85 -8
  447. package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.js +1 -1
  448. package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.ts +54 -2
  449. package/packages/sap.fe.test/src/sap/fe/test/ListReport-dbg.js +0 -11
  450. package/packages/sap.fe.test/src/sap/fe/test/ListReport.js +1 -1
  451. package/packages/sap.fe.test/src/sap/fe/test/ObjectPage-dbg.js +0 -38
  452. package/packages/sap.fe.test/src/sap/fe/test/ObjectPage.js +1 -1
  453. package/packages/sap.fe.test/src/sap/fe/test/TemplatePage-dbg.js +0 -12
  454. package/packages/sap.fe.test/src/sap/fe/test/TemplatePage.js +1 -1
  455. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper-dbg.js +22 -1
  456. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.js +1 -1
  457. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.ts +14 -0
  458. package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI-dbg.js +21 -0
  459. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI-dbg.js +9 -5
  460. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI.js +1 -1
  461. package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions-dbg.js +18 -5
  462. package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions.js +1 -1
  463. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions-dbg.js +25 -5
  464. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions.js +1 -1
  465. package/packages/sap.fe.test/src/sap/fe/test/api/EditState-dbg.js +9 -0
  466. package/packages/sap.fe.test/src/sap/fe/test/api/EditState.js +1 -1
  467. package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions-dbg.js +38 -4
  468. package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions.js +1 -1
  469. package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions-dbg.js +33 -4
  470. package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions.js +1 -1
  471. package/packages/sap.fe.test/src/sap/fe/test/api/TableActions-dbg.js +1 -1
  472. package/packages/sap.fe.test/src/sap/fe/test/library-dbg.js +1 -1
  473. package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js +3 -3
  474. package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +23 -16
  475. package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +3 -3
  476. package/packages/sap.fe.test/src/sap/fe/test/library.js +1 -1
  477. package/packages/sap.fe.test/src/sap/fe/test/manifest.json +3 -3
  478. package/packages/sap.fe.test/src/sap/fe/test/resources.json +36 -34
  479. package/packages/sap.fe.test/test/sap/fe/test/designtime/api.json +1 -1
  480. package/packages/sap.fe.test/test/sap/fe/test/designtime/apiref/api.json +1 -1
  481. package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.jsmeta.json +1 -1
  482. package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmlmeta.json +1 -1
  483. package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.96.json +0 -49
  484. package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.96.json +0 -189
  485. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldRuntime.qunit.js +0 -73
  486. package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.96.json +0 -160
  487. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/relnote/changes-1.96.json +0 -17
  488. package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover-dbg.js +0 -26
  489. package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover.js +0 -6
  490. package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.96.json +0 -153
@@ -23,6 +23,7 @@
23
23
  }"
24
24
  >
25
25
  <f:FormContainer
26
+ core:require="{FormContainerRuntime: 'sap/fe/macros/formcontainer/FormContainerRuntime'}"
26
27
  unittest:id="formC"
27
28
  dt:designtime="{this>designtimeSettings}"
28
29
  id="{= ${this>id} || undefined}"
@@ -65,7 +66,7 @@
65
66
  <template:with path="formElements>0/annotationPath" var="dataPoint">
66
67
  <f:FormElement
67
68
  id="{= ${this>id} ? ID.generate([${this>id}, 'FormElement', ${dataPoint>}]) : undefined}"
68
- label="{dataPoint>Title@@MODEL.value}"
69
+ label="{dataPoint>@@FIELD.computeLabelText}"
69
70
  visible="{= FieldTemplating.getVisibleExpression(${dataPoint>@@UI.getDataModelObjectPath})}"
70
71
  >
71
72
  <f:fields>
@@ -104,14 +105,15 @@
104
105
  </template:elseif>
105
106
  <template:else>
106
107
  <template:repeat list="{path: 'formElements>'}" var="dataField">
107
- <template:if test="{= ${dataField>type} === 'Annotation'}">
108
- <template:then>
109
- <template:with path="dataField>annotationPath" var="annotationDataField">
110
- <template:if test="{annotationDataField>Target@@DataField.isSemanticallyConnectedFields}">
108
+ <template:if test="{= ${dataField>type} === 'Annotation'}">
109
+ <template:then>
110
+ <template:with path="dataField>annotationPath" var="annotationDataField">
111
+ <template:if test="{annotationDataField>Target@@DataField.isSemanticallyConnectedFields}">
111
112
  <template:then>
112
113
  <f:FormElement
113
114
  id="{= ${this>id} ? ID.generate([${this>id}, 'SemanticFormElement', ${annotationDataField>}]) : '' }"
114
- label="{annotationDataField>Target/$AnnotationPath/Label}"
115
+ label="{annotationDataField>@@FIELD.computeLabelText}"
116
+ visible="{= (${dataField>isPartOfPreview}) ? true : '{internal>showDetails}'}"
115
117
  >
116
118
  <f:fields>
117
119
  <control:FieldWrapper
@@ -140,8 +142,8 @@
140
142
  >
141
143
  <f:FormElement
142
144
  id="{= ${this>id} ? ID.generate([${this>id}, 'FormElement', ${annotationDataField>}]) : undefined }"
143
- label="{annotationDataField>@@MODEL.label}"
144
- visible="{annotationDataField>@@COMMON.getHiddenPathExpression}"
145
+ label="{annotationDataField>@@FIELD.computeLabelText}"
146
+ visible="{= (${dataField>isPartOfPreview}) ? ${annotationDataField>@@COMMON.getHiddenPathExpression} : '{internal>showDetails}'}"
145
147
  >
146
148
  <f:fields>
147
149
  <internalMacro:CollectionField
@@ -156,8 +158,8 @@
156
158
  <template:else>
157
159
  <f:FormElement
158
160
  id="{= ${this>id} ? ID.generate([${this>id}, 'FormElement', ${annotationDataField>}]) : undefined }"
159
- label="{annotationDataField>@@MODEL.label}"
160
- visible="{= FieldTemplating.getVisibleExpression(${annotationDataField>@@UI.getDataModelObjectPath})}"
161
+ label="{annotationDataField>@@FIELD.computeLabelText}"
162
+ visible="{= (${dataField>isPartOfPreview}) ? FieldTemplating.getVisibleExpression(${annotationDataField>@@UI.getDataModelObjectPath}) : '{internal>showDetails}'}"
161
163
  >
162
164
  <f:fields>
163
165
  <internalMacro:Field
@@ -179,8 +181,8 @@
179
181
  </f:fields>
180
182
  </f:FormElement>
181
183
  </template:else>
182
- </template:if>
183
- </template:with>
184
+ </template:if>
185
+ </template:with>
184
186
  </template:then>
185
187
  <template:elseif test="{= ${dataField>type} === 'Default'}">
186
188
  <f:FormElement
@@ -531,7 +531,7 @@ sap.ui.define(
531
531
  if (Object.keys(oAggregations).length > 0) {
532
532
  Object.keys(oAggregations).forEach(function(sAggregationName) {
533
533
  var oAggregationElement = oAggregations[sAggregationName];
534
- if (oMacroElement !== null) {
534
+ if (oMacroElement !== null && oMacroElement !== undefined) {
535
535
  var oNewChild = document.createElementNS(oMacroElement.namespaceURI, sAggregationName);
536
536
  var oElementChild = oAggregationElement.firstElementChild;
537
537
  while (oElementChild) {
@@ -3,4 +3,4 @@
3
3
  (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
 
5
5
  */
6
- sap.ui.define(["sap/ui/model/json/JSONModel","sap/base/Log","sap/ui/base/ManagedObject","sap/fe/macros/ResourceModel","sap/ui/core/util/XMLPreprocessor","sap/ui/base/SyncPromise","./TraceInfo","sap/base/util/ObjectPath"],function(J,L,M,R,X,S,T,O){"use strict";var p="sap.fe.macros.PhantomUtil",I=R.getModel();I.bindContext=I.bindContext||function(){return{initialize:function(){},attachChange:function(){},detachChange:function(){},attachEvents:function(){},detachEvents:function(){},updateRequired:function(){},destroy:function(){},getContext:function(){}};};function v(n,C,o,k){var a,b;if(!C[k]){if(o.required){throw new Error(n+": "+"Required metadataContext '"+k+"' is missing");}}else{a=C[k];b=a.getObject();if(b){var i=Object.assign({},o);delete i.required;delete i.computed;delete i.isPublic;delete i.type;if(b.hasOwnProperty("$kind")){delete i.$Type;}else{delete i.$kind;}Object.keys(i).forEach(function(P){var j=Array.isArray(i[P])?i[P]:[i[P]],V;if(typeof b==="object"){V=b[P];if(!V){if(b.hasOwnProperty("$Path")){V=a.getObject("$Path/"+P);}}}else if(typeof b==="string"){V=a.getObject(P);if(!V){V=j[0];}}else{V=null;}if(j.indexOf(V)===-1){throw new Error(n+": '"+k+"' must be '"+P+"' '"+j+"' but is '"+V+"': "+a.getPath());}});}}}function c(n,m,C,N){var a=(m.metadataContexts&&Object.keys(m.metadataContexts))||[],P=(m.properties&&Object.keys(m.properties))||[],A={};Object.keys(N.attributes).forEach(function(k){var K=N.attributes[k].name;if(K!=="metadataContexts"){A[K]=true;}});Object.keys(C).forEach(function(k){if(k!=="this"&&k!=="this.i18n"){A[k]=true;}});a.forEach(function(k){var o=m.metadataContexts[k];v(n,C,o,k);delete A[k];});P.forEach(function(k){var o=m.properties[k];if(!N.hasAttribute(k)){if(o.required&&!o.hasOwnProperty("defaultValue")){throw new Error(n+": "+"Required property '"+k+"' is missing");}}else{delete A[k];}});Object.keys(A).forEach(function(k){if(k.charAt(0)!=="_"&&k.indexOf(":")<0){L.warning("Unchecked parameter: "+n+": "+k,null,p);}});}function d(m,i){if(m){var P={};var a={"dependents":{type:"sap.ui.core.Element"},"customData":{type:"sap.ui.core.Element"}};var o=m.metadataContexts||{};Object.keys(m.properties).forEach(function(s){if(m.properties[s].type!=="sap.ui.model.Context"){P[s]=m.properties[s];}else{o[s]=m.properties[s];}});if(m.events){Object.keys(m.events).forEach(function(E){P[E]=m.events[E];});}if(m.aggregations){Object.keys(m.aggregations).forEach(function(s){a[s]=m.aggregations[s];});}return{properties:P,aggregations:a,metadataContexts:o};}else{return{metadataContexts:{},aggregations:{"dependents":{type:"sap.ui.core.Element"},"customData":{type:"sap.ui.core.Element"}},properties:{},events:{}};}}function w(k){return function(V){var o={};o[k]=V;return o;};}function g(n,k,D){return function(){var V=n.getAttribute(k);if(!V&&D.defaultValue){V=D.defaultValue;}return w(k)(V);};}function _(s,n,a,V,D){var m;if(!D&&n.hasAttribute(a)){var A=n.getAttribute(a),b;V.getResult(A,n);m=M.bindingParser(A);if(!m){if(a==="metaPath"&&s.currentContextPath){if(A.startsWith("/")){b=A;}else{var C=s.currentContextPath.getPath();if(!C.endsWith("/")){C+="/";}b=C+A;}m={model:"contextPath",path:b};}else if(a==="contextPath"){if(A.startsWith("/")){b=A;}else{var C=s.currentContextPath.getPath();if(!C.endsWith("/")){C+="/";}b=C+A;}m={model:"contextPath",path:b};}else{m={model:"metaModel",path:s.bindingContexts.entitySet?s.bindingContexts.entitySet.getPath(A):A};}}}else if(s.bindingContexts.hasOwnProperty(a)){m={model:a,path:""};}return m;}function e(m,n,V){return r(m,n,V,true);}function r(m,n,V,k){var F=m.fragment||m.namespace+"."+m.name,N="this",s=N+".i18n",C={},A=new J(n),l=n.getAttribute("metadataContexts"),o={},q=V.getSettings(),j;var t=d(m.metadata,k);A._getObject=function(a,b){if((a===undefined||a==="")&&this.oProps){return this.oProps;}var i=O.get(a.replace(/\//g,"."),this.oProps);if(i!==undefined){return i;}if(this.oProps&&this.oProps.hasOwnProperty(a)){return this.oProps[a];}if(a.indexOf(":")===-1&&a.indexOf("/")===-1){L.error("Missing property "+a+" on macro metadata "+m.name);}return n.getAttribute(a);};A.getContextName=function(){return N;};A.$$valueAsPromise=true;C[s]=I.getContext("/");if(!q[F]){q[F]={};}var u=null;var x=true;var y={};if(m.hasValidation){var D=t.properties;var z=t.metadataContexts;q.currentContextPath=q.bindingContexts.contextPath;var B=Object.keys(D);var E=Object.keys(z);var G=[];for(j=0;j<B.length;j++){var K=B[j];if(k&&!D[K].isPublic&&n.hasAttribute(K)){L.error("Property "+K+" was ignored as it is not intended for public usage");var H={};H[K]=D[K].defaultValue;G.push(Promise.resolve(H));}else if(n.hasAttribute(K)){G.push(V.visitAttribute(n,n.attributes[K]).then(g(n,K,D[K])));}else{var H={};H[K]=D[K].defaultValue;G.push(Promise.resolve(H));}}x=false;E=E.sort(function(a,b){return a>b?1:-1;});for(j=0;j<E.length;j++){var P=E[j];var Q=k&&!z[P].isPublic&&n.hasAttribute(P);var U=_(q,n,P,V,Q);if(U){U.name=P;f(C,V,U,o);if((P==="entitySet"&&!q.bindingContexts.hasOwnProperty(P))||(P==="contextPath"&&!q.bindingContexts.hasOwnProperty(P))){q.bindingContexts[P]=C[P];}if(P==="contextPath"){q.currentContextPath=C[P];}G.push(Promise.resolve(w(P)(C[P])));}else{y[P]=true;x=true;}}if(n.firstElementChild!==null){G.push(V.visitChildNodes(n));}u=S.all(G);}else{u=V.visitAttributes(n);}var W={};return u.then(function(a){if(a!=null){var b=a.reduce(function(c1,d1){return Object.assign(c1,d1);},{});Object.keys(t.properties).forEach(function(Z){if(t.properties[Z].type==="object"&&(!b.hasOwnProperty(Z)||b[Z]===undefined)){b[Z]={};}});var Y=n.firstElementChild;while(Y!==null){var Z=Y.localName;if(Object.keys(t.aggregations).indexOf(Z)!==-1&&(!k||t.aggregations[Z].isPublic)){W[Y.localName]=Y;}else if(Object.keys(t.properties).indexOf(Z)!==-1){b[Z]={};for(var i=0;i<Object.keys(Y.attributes).length;i++){var $=Object.keys(Y.attributes)[i];b[Z][Y.attributes[$].localName]=Y.attributes[$].value;}}Y=Y.nextElementSibling;}var a1=m.prepareMacroParameters||m.create;if(a1){var b1={};if(q.models["sap.fe.i18n"]){q.models["sap.fe.i18n"].getResourceBundle().then(function(c1){R.setApplicationI18nBundle(c1);}).catch(function(c1){L.error(c1);});}if(q.models.viewData){b1=q.models.viewData.getProperty("/controlConfiguration");}b=a1.call(m,b,b1,q,W);Object.keys(t.metadataContexts).forEach(function(c1){if(t.metadataContexts[c1].computed){C[c1]=b[c1];}});Object.keys(y).forEach(function(c1){if(b.hasOwnProperty(c1)){C[c1]=b[c1];}});}A.oProps=b;}if(x&&l){o=l?M.bindingParser(l):{parts:[]};if(!o.parts){o={parts:[o]};}for(j=0;j<o.parts.length;j++){f(C,V,o.parts[j],o);V=V["with"](C,false);}}}).then(function(){var a;C[N]=A.getContext("/");if(T.isTraceInfoActive()){var b=T.traceMacroCalls(F,t,C,n,V);if(b){a=q["_macroInfo"];q["_macroInfo"]=b.macroInfo;}}c(F,t,C,n);var i=V["with"](C,true);var Y=n.parentNode;var Z;for(Z=0;Z<Y.children.length;++Z){if(Y.children[Z]===n){break;}}var $;if(m.getTemplate){var a1=m.getTemplate(A.oProps);n.replaceWith(a1.firstElementChild);n=Y.children[Z];$=i.visitNode(n);}else{$=i.insertFragment(F,n);}return $.then(function(){var b1=Y.children[Z];if(Object.keys(W).length>0){Object.keys(W).forEach(function(d1){var e1=W[d1];if(b1!==null){var f1=document.createElementNS(b1.namespaceURI,d1);var g1=e1.firstElementChild;while(g1){var h1=g1.nextElementSibling;f1.appendChild(g1);g1=h1;}if(d1!=="customData"&&d1!=="dependents"){var i1=(t.aggregations[d1]&&t.aggregations[d1].slot)||d1;var j1=b1.querySelector("slot[name='"+i1+"']");if(j1){j1.replaceWith.apply(j1,f1.children);}}else{b1.appendChild(f1);}}});}if(b1){var c1=b1.querySelectorAll("slot");c1.forEach(function(d1){d1.remove();});}if(a){q["_macroInfo"]=a;}else{delete q["_macroInfo"];}});});}function f(C,V,o,m){var k=o.name||o.model||undefined;if(m[k]){return;}try{var s=o.path;if(o.model!=null){s=o.model+">"+s;}C[k]=V.getContext(s);var a=V.getSettings();if(a&&a.bindingContexts&&a.bindingContexts.entitySet){C[k].$$configModelContext=V.getSettings().bindingContexts.entitySet.$$configModelContext;}m[k]=C[k];}catch(b){}}function h(m){X.plugIn(r.bind(this,m),m.namespace,m.name);if(m.publicName){X.plugIn(e.bind(this,m),m.publicNamespace,m.publicName);}}h._validateMacroSignature=c;return{register:h};});
6
+ sap.ui.define(["sap/ui/model/json/JSONModel","sap/base/Log","sap/ui/base/ManagedObject","sap/fe/macros/ResourceModel","sap/ui/core/util/XMLPreprocessor","sap/ui/base/SyncPromise","./TraceInfo","sap/base/util/ObjectPath"],function(J,L,M,R,X,S,T,O){"use strict";var p="sap.fe.macros.PhantomUtil",I=R.getModel();I.bindContext=I.bindContext||function(){return{initialize:function(){},attachChange:function(){},detachChange:function(){},attachEvents:function(){},detachEvents:function(){},updateRequired:function(){},destroy:function(){},getContext:function(){}};};function v(n,C,o,k){var a,b;if(!C[k]){if(o.required){throw new Error(n+": "+"Required metadataContext '"+k+"' is missing");}}else{a=C[k];b=a.getObject();if(b){var i=Object.assign({},o);delete i.required;delete i.computed;delete i.isPublic;delete i.type;if(b.hasOwnProperty("$kind")){delete i.$Type;}else{delete i.$kind;}Object.keys(i).forEach(function(P){var j=Array.isArray(i[P])?i[P]:[i[P]],V;if(typeof b==="object"){V=b[P];if(!V){if(b.hasOwnProperty("$Path")){V=a.getObject("$Path/"+P);}}}else if(typeof b==="string"){V=a.getObject(P);if(!V){V=j[0];}}else{V=null;}if(j.indexOf(V)===-1){throw new Error(n+": '"+k+"' must be '"+P+"' '"+j+"' but is '"+V+"': "+a.getPath());}});}}}function c(n,m,C,N){var a=(m.metadataContexts&&Object.keys(m.metadataContexts))||[],P=(m.properties&&Object.keys(m.properties))||[],A={};Object.keys(N.attributes).forEach(function(k){var K=N.attributes[k].name;if(K!=="metadataContexts"){A[K]=true;}});Object.keys(C).forEach(function(k){if(k!=="this"&&k!=="this.i18n"){A[k]=true;}});a.forEach(function(k){var o=m.metadataContexts[k];v(n,C,o,k);delete A[k];});P.forEach(function(k){var o=m.properties[k];if(!N.hasAttribute(k)){if(o.required&&!o.hasOwnProperty("defaultValue")){throw new Error(n+": "+"Required property '"+k+"' is missing");}}else{delete A[k];}});Object.keys(A).forEach(function(k){if(k.charAt(0)!=="_"&&k.indexOf(":")<0){L.warning("Unchecked parameter: "+n+": "+k,null,p);}});}function d(m,i){if(m){var P={};var a={"dependents":{type:"sap.ui.core.Element"},"customData":{type:"sap.ui.core.Element"}};var o=m.metadataContexts||{};Object.keys(m.properties).forEach(function(s){if(m.properties[s].type!=="sap.ui.model.Context"){P[s]=m.properties[s];}else{o[s]=m.properties[s];}});if(m.events){Object.keys(m.events).forEach(function(E){P[E]=m.events[E];});}if(m.aggregations){Object.keys(m.aggregations).forEach(function(s){a[s]=m.aggregations[s];});}return{properties:P,aggregations:a,metadataContexts:o};}else{return{metadataContexts:{},aggregations:{"dependents":{type:"sap.ui.core.Element"},"customData":{type:"sap.ui.core.Element"}},properties:{},events:{}};}}function w(k){return function(V){var o={};o[k]=V;return o;};}function g(n,k,D){return function(){var V=n.getAttribute(k);if(!V&&D.defaultValue){V=D.defaultValue;}return w(k)(V);};}function _(s,n,a,V,D){var m;if(!D&&n.hasAttribute(a)){var A=n.getAttribute(a),b;V.getResult(A,n);m=M.bindingParser(A);if(!m){if(a==="metaPath"&&s.currentContextPath){if(A.startsWith("/")){b=A;}else{var C=s.currentContextPath.getPath();if(!C.endsWith("/")){C+="/";}b=C+A;}m={model:"contextPath",path:b};}else if(a==="contextPath"){if(A.startsWith("/")){b=A;}else{var C=s.currentContextPath.getPath();if(!C.endsWith("/")){C+="/";}b=C+A;}m={model:"contextPath",path:b};}else{m={model:"metaModel",path:s.bindingContexts.entitySet?s.bindingContexts.entitySet.getPath(A):A};}}}else if(s.bindingContexts.hasOwnProperty(a)){m={model:a,path:""};}return m;}function e(m,n,V){return r(m,n,V,true);}function r(m,n,V,k){var F=m.fragment||m.namespace+"."+m.name,N="this",s=N+".i18n",C={},A=new J(n),l=n.getAttribute("metadataContexts"),o={},q=V.getSettings(),j;var t=d(m.metadata,k);A._getObject=function(a,b){if((a===undefined||a==="")&&this.oProps){return this.oProps;}var i=O.get(a.replace(/\//g,"."),this.oProps);if(i!==undefined){return i;}if(this.oProps&&this.oProps.hasOwnProperty(a)){return this.oProps[a];}if(a.indexOf(":")===-1&&a.indexOf("/")===-1){L.error("Missing property "+a+" on macro metadata "+m.name);}return n.getAttribute(a);};A.getContextName=function(){return N;};A.$$valueAsPromise=true;C[s]=I.getContext("/");if(!q[F]){q[F]={};}var u=null;var x=true;var y={};if(m.hasValidation){var D=t.properties;var z=t.metadataContexts;q.currentContextPath=q.bindingContexts.contextPath;var B=Object.keys(D);var E=Object.keys(z);var G=[];for(j=0;j<B.length;j++){var K=B[j];if(k&&!D[K].isPublic&&n.hasAttribute(K)){L.error("Property "+K+" was ignored as it is not intended for public usage");var H={};H[K]=D[K].defaultValue;G.push(Promise.resolve(H));}else if(n.hasAttribute(K)){G.push(V.visitAttribute(n,n.attributes[K]).then(g(n,K,D[K])));}else{var H={};H[K]=D[K].defaultValue;G.push(Promise.resolve(H));}}x=false;E=E.sort(function(a,b){return a>b?1:-1;});for(j=0;j<E.length;j++){var P=E[j];var Q=k&&!z[P].isPublic&&n.hasAttribute(P);var U=_(q,n,P,V,Q);if(U){U.name=P;f(C,V,U,o);if((P==="entitySet"&&!q.bindingContexts.hasOwnProperty(P))||(P==="contextPath"&&!q.bindingContexts.hasOwnProperty(P))){q.bindingContexts[P]=C[P];}if(P==="contextPath"){q.currentContextPath=C[P];}G.push(Promise.resolve(w(P)(C[P])));}else{y[P]=true;x=true;}}if(n.firstElementChild!==null){G.push(V.visitChildNodes(n));}u=S.all(G);}else{u=V.visitAttributes(n);}var W={};return u.then(function(a){if(a!=null){var b=a.reduce(function(c1,d1){return Object.assign(c1,d1);},{});Object.keys(t.properties).forEach(function(Z){if(t.properties[Z].type==="object"&&(!b.hasOwnProperty(Z)||b[Z]===undefined)){b[Z]={};}});var Y=n.firstElementChild;while(Y!==null){var Z=Y.localName;if(Object.keys(t.aggregations).indexOf(Z)!==-1&&(!k||t.aggregations[Z].isPublic)){W[Y.localName]=Y;}else if(Object.keys(t.properties).indexOf(Z)!==-1){b[Z]={};for(var i=0;i<Object.keys(Y.attributes).length;i++){var $=Object.keys(Y.attributes)[i];b[Z][Y.attributes[$].localName]=Y.attributes[$].value;}}Y=Y.nextElementSibling;}var a1=m.prepareMacroParameters||m.create;if(a1){var b1={};if(q.models["sap.fe.i18n"]){q.models["sap.fe.i18n"].getResourceBundle().then(function(c1){R.setApplicationI18nBundle(c1);}).catch(function(c1){L.error(c1);});}if(q.models.viewData){b1=q.models.viewData.getProperty("/controlConfiguration");}b=a1.call(m,b,b1,q,W);Object.keys(t.metadataContexts).forEach(function(c1){if(t.metadataContexts[c1].computed){C[c1]=b[c1];}});Object.keys(y).forEach(function(c1){if(b.hasOwnProperty(c1)){C[c1]=b[c1];}});}A.oProps=b;}if(x&&l){o=l?M.bindingParser(l):{parts:[]};if(!o.parts){o={parts:[o]};}for(j=0;j<o.parts.length;j++){f(C,V,o.parts[j],o);V=V["with"](C,false);}}}).then(function(){var a;C[N]=A.getContext("/");if(T.isTraceInfoActive()){var b=T.traceMacroCalls(F,t,C,n,V);if(b){a=q["_macroInfo"];q["_macroInfo"]=b.macroInfo;}}c(F,t,C,n);var i=V["with"](C,true);var Y=n.parentNode;var Z;for(Z=0;Z<Y.children.length;++Z){if(Y.children[Z]===n){break;}}var $;if(m.getTemplate){var a1=m.getTemplate(A.oProps);n.replaceWith(a1.firstElementChild);n=Y.children[Z];$=i.visitNode(n);}else{$=i.insertFragment(F,n);}return $.then(function(){var b1=Y.children[Z];if(Object.keys(W).length>0){Object.keys(W).forEach(function(d1){var e1=W[d1];if(b1!==null&&b1!==undefined){var f1=document.createElementNS(b1.namespaceURI,d1);var g1=e1.firstElementChild;while(g1){var h1=g1.nextElementSibling;f1.appendChild(g1);g1=h1;}if(d1!=="customData"&&d1!=="dependents"){var i1=(t.aggregations[d1]&&t.aggregations[d1].slot)||d1;var j1=b1.querySelector("slot[name='"+i1+"']");if(j1){j1.replaceWith.apply(j1,f1.children);}}else{b1.appendChild(f1);}}});}if(b1){var c1=b1.querySelectorAll("slot");c1.forEach(function(d1){d1.remove();});}if(a){q["_macroInfo"]=a;}else{delete q["_macroInfo"];}});});}function f(C,V,o,m){var k=o.name||o.model||undefined;if(m[k]){return;}try{var s=o.path;if(o.model!=null){s=o.model+">"+s;}C[k]=V.getContext(s);var a=V.getSettings();if(a&&a.bindingContexts&&a.bindingContexts.entitySet){C[k].$$configModelContext=V.getSettings().bindingContexts.entitySet.$$configModelContext;}m[k]=C[k];}catch(b){}}function h(m){X.plugIn(r.bind(this,m),m.namespace,m.name);if(m.publicName){X.plugIn(e.bind(this,m),m.publicNamespace,m.publicName);}}h._validateMacroSignature=c;return{register:h};});
@@ -28,6 +28,7 @@
28
28
  tableDefinition="{tableDefinition>path}"
29
29
  metaPath="{metaPath>@@MACRO.getPath}"
30
30
  contextPath="{contextPath>@@MACRO.getPath}"
31
+ stateChanged="{this>stateChanged}"
31
32
  >
32
33
  <macro:layoutData>
33
34
  <FlexItemData maxWidth="100%" />
@@ -128,7 +129,7 @@
128
129
  </template:if>
129
130
  </mdc:type>
130
131
  <mdc:dependents>
131
- <template:if test="{tableDefinition>columns}">
132
+ <template:if test="{= !${this>readOnly} &amp;&amp; ${tableDefinition>columns} }">
132
133
  <template:repeat list="{tableDefinition>columns}" var="column">
133
134
  <template:if test="{= ${column>availability} === 'Default' &amp;&amp; ${column>type} === 'Annotation'}">
134
135
  <template:with path="column>annotationPath" var="dataField">
@@ -86,7 +86,7 @@ sap.ui.define(
86
86
  collection: {
87
87
  type: "sap.ui.model.Context",
88
88
  required: true,
89
- $kind: ["EntitySet", "NavigationProperty"]
89
+ $kind: ["EntitySet", "NavigationProperty", "Singleton"]
90
90
  },
91
91
  /**
92
92
  * Parent EntitySet for the present collection
@@ -125,6 +125,11 @@ sap.ui.define(
125
125
  type: "boolean",
126
126
  isPublic: true
127
127
  },
128
+ fieldMode: {
129
+ type: "string",
130
+ defaultValue: "",
131
+ allowedValues: ["", "nowrapper"]
132
+ },
128
133
  /**
129
134
  * Specifies whether the button is hidden when no data has been entered yet in the row (true/false). The default setting is `false`.
130
135
  */
@@ -339,6 +344,12 @@ sap.ui.define(
339
344
  */
340
345
  onSegmentedButtonPressed: {
341
346
  type: "function"
347
+ },
348
+ /**
349
+ * Event handler to react to the stateChange event of the table.
350
+ */
351
+ stateChanged: {
352
+ type: "function"
342
353
  }
343
354
  },
344
355
  aggregations: {
@@ -3,4 +3,4 @@
3
3
  (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
 
5
5
  */
6
- sap.ui.define(["./MacroMetadata","sap/fe/core/templating/DataModelPathHelper","sap/fe/core/converters/ConverterContext","sap/fe/core/converters/MetaModelConverter","sap/fe/core/converters/controls/Common/DataVisualization","sap/fe/core/helpers/StableIdHelper","sap/fe/macros/internal/helpers/TableTemplating"],function(M,D,C,a,b,S,T){"use strict";var c=M.extend("sap.fe.macros.Table",{name:"Table",namespace:"sap.fe.macros.internal",publicNamespace:"sap.fe.macros",publicName:"Table",fragment:"sap.fe.macros.Table",metadata:{stereotype:"xmlmacro",properties:{tableDefinition:{type:"sap.ui.model.Context"},metaPath:{type:"sap.ui.model.Context",isPublic:true},contextPath:{type:"sap.ui.model.Context",isPublic:true},collection:{type:"sap.ui.model.Context",required:true,$kind:["EntitySet","NavigationProperty"]},parentEntitySet:{type:"sap.ui.model.Context"},id:{type:"string",isPublic:true},_apiId:{type:"string"},rowsBindingInfo:{type:"object"},navigationPath:{type:"string"},readOnly:{type:"boolean",isPublic:true},disableAddRowButtonForEmptyData:{type:"boolean"},customValidationFunction:{type:"string"},useCondensedTableLayout:{type:"boolean"},rowAction:{type:"string",defaultValue:undefined},selectionMode:{type:"string",isPublic:true},busy:{type:"boolean",isPublic:true},enableFullScreen:{type:"boolean",isPublic:true},showDelete:{type:"boolean"},header:{type:"string",isPublic:true},headerVisible:{type:"boolean",isPublic:true},noDataText:{type:"string"},creationMode:{type:"string"},createAtEnd:{type:"boolean"},createOutbound:{type:"string"},createOutboundDetail:{type:"string"},createNewAction:{type:"string"},personalization:{type:"string|boolean",isPublic:true},type:{type:"string",isPublic:true},tableType:{type:"string"},enableExport:{type:"boolean",isPublic:true},enablePaste:{type:"boolean",isPublic:true},_pasteVisible:{type:"boolean"},selectionLimit:{type:"string"},multiSelectMode:{type:"string"},filterBarId:{type:"string"},create:{type:"sap.ui.model.Context"},tableDelegate:{type:"string"},enableAutoScroll:{type:"boolean"},visible:{type:"string"},isAlp:{type:"boolean",defaultValue:false},variantManagement:{type:"string",isPublic:true},columnEditMode:{type:"string",computed:true},tabTitle:{type:"string",defaultValue:""},enableAutoColumnWidth:{type:"boolean"}},events:{variantSaved:{type:"function"},variantSelected:{type:"function"},onChange:{type:"function"},rowPress:{type:"function",isPublic:true},onContextChange:{type:"function"},onSegmentedButtonPressed:{type:"function"}},aggregations:{actions:{type:"sap.fe.macros.internal.table.Action",isPublic:true},columns:{type:"sap.fe.macros.internal.table.Column",isPublic:true}}},create:function(p,o,s,A){var t;var d=a.getInvolvedDataModelObjects(p.metaPath,p.contextPath);var e=this.parseAggregation(A.actions,function(h,i){var j=h.getAttribute("key")||"InlineXMLAction_"+i;return{key:j,text:h.getAttribute("text"),position:{placement:h.getAttribute("placement"),anchor:h.getAttribute("anchor")},__noWrap:true,press:h.getAttribute("press")};});var E=this.parseAggregation(A.columns,function(h,i){var j=h.getAttribute("key")||"InlineXMLColumn_"+i;A[j]=h;return{key:j,header:h.getAttribute("header"),position:{placement:h.getAttribute("placement"),anchor:h.getAttribute("anchor")},type:"Slot"};});if(p.tableDefinition===undefined||p.tableDefinition===null){var v=D.getContextRelativeTargetObjectPath(d);var f={};f[v]={actions:e,columns:E};var g=this.getConverterContext(d,p.contextPath,s,f);var V=b.getDataVisualizationConfiguration(v,p.useCondensedLayout,g);t=V.visualizations[0];p.tableDefinition=this.createBindingContext(t,s);}else{t=p.tableDefinition.getObject();}t.path=p.tableDefinition.getPath();this.setDefaultValue(p,"enableFullScreen",t.control.enableFullScreen);this.setDefaultValue(p,"useCondensedTableLayout",t.control.useCondensedTableLayout);this.setDefaultValue(p,"disableAddRowButtonForEmptyData",t.control.disableAddRowButtonForEmptyData);this.setDefaultValue(p,"customValidationFunction",t.control.customValidationFunction);this.setDefaultValue(p,"enableExport",t.control.enableExport);this.setDefaultValue(p,"enablePaste",t.annotation.show.paste);this.setDefaultValue(p,"headerVisible",t.control.headerVisible);this.setDefaultValue(p,"searchable",t.annotation.searchable);this.setDefaultValue(p,"showRowCount",t.control.showRowCount);this.setDefaultValue(p,"header",t.annotation.title);this.setDefaultValue(p,"selectionLimit",t.control.selectionLimit);this.setDefaultValue(p,"type",t.control.type);if(p.id){p._apiId=p.id;p.id=p.id+"-content";}else{this.setDefaultValue(p,"id",t.annotation.id);p._apiId=t.annotation.id+"::Table";}this.setDefaultValue(p,"selectionMode",t.annotation.selectionMode);this.setDefaultValue(p,"creationMode",t.annotation.create.mode);this.setDefaultValue(p,"createAtEnd",t.annotation.create.append);this.setDefaultValue(p,"createOutbound",t.annotation.create.outbound);this.setDefaultValue(p,"createNewAction",t.annotation.create.newAction);this.setDefaultValue(p,"createOutboundDetail",t.annotation.create.outboundDetail);this.setDefaultValue(p,"showDelete",t.annotation.show.delete);this.setDefaultValue(p,"personalization",t.annotation.p13nMode);this.setDefaultValue(p,"variantManagement",t.annotation.variantManagement);this.setDefaultValue(p,"enableAutoColumnWidth",t.control.enableAutoColumnWidth);if(p.readOnly==="false"){p.readOnly=false;}else if(p.readOnly==="true"){p.readOnly=true;}if(p.readOnly===undefined&&t.annotation.displayMode===true){p.readOnly=true;}if(p.rowPress){p.rowAction="Navigation";}this.setDefaultValue(p,"rowPress",t.annotation.row.press);this.setDefaultValue(p,"rowAction",t.annotation.row.action);if(p.personalization==="false"){p.personalization=undefined;}else if(p.personalization==="true"){p.personalization="Sort,Column,Filter";}var u=false;if(!p.filterBarId&&p.searchable){p.filterBarId=S.generate([p.id,"StandardAction","BasicSearch"]);u=true;}p.useBasicSearch=u;p._pasteVisible=t.annotation.show.paste;p.massEditVisible=t.annotation.show.massEdit.visible;p.massEditEnabled=t.annotation.show.massEdit.enabled;p.tableType=p.type;p.showCreate=t.annotation.show.create||true;p.autoBindOnInit=t.annotation.autoBindOnInit;p.parentEntityDeleteEnabled=t.annotation.parentEntityDeleteEnabled;p.navigationPath=t.annotation.navigationPath;p.parentEntitySet=s.models.metaModel.createBindingContext("/"+(d.contextLocation.targetEntitySet?d.contextLocation.targetEntitySet.name:d.startingEntitySet.name));p.collection=s.models.metaModel.createBindingContext(t.annotation.collection);p.columnEditMode=undefined;if(p.readOnly===true){p.columnEditMode="Display";}else if(p.readOnly===false){p.columnEditMode="Editable";}p.headerBindingExpression=T.buildExpressionForHeaderVisible(p);return p;}});return c;});
6
+ sap.ui.define(["./MacroMetadata","sap/fe/core/templating/DataModelPathHelper","sap/fe/core/converters/ConverterContext","sap/fe/core/converters/MetaModelConverter","sap/fe/core/converters/controls/Common/DataVisualization","sap/fe/core/helpers/StableIdHelper","sap/fe/macros/internal/helpers/TableTemplating"],function(M,D,C,a,b,S,T){"use strict";var c=M.extend("sap.fe.macros.Table",{name:"Table",namespace:"sap.fe.macros.internal",publicNamespace:"sap.fe.macros",publicName:"Table",fragment:"sap.fe.macros.Table",metadata:{stereotype:"xmlmacro",properties:{tableDefinition:{type:"sap.ui.model.Context"},metaPath:{type:"sap.ui.model.Context",isPublic:true},contextPath:{type:"sap.ui.model.Context",isPublic:true},collection:{type:"sap.ui.model.Context",required:true,$kind:["EntitySet","NavigationProperty","Singleton"]},parentEntitySet:{type:"sap.ui.model.Context"},id:{type:"string",isPublic:true},_apiId:{type:"string"},rowsBindingInfo:{type:"object"},navigationPath:{type:"string"},readOnly:{type:"boolean",isPublic:true},fieldMode:{type:"string",defaultValue:"",allowedValues:["","nowrapper"]},disableAddRowButtonForEmptyData:{type:"boolean"},customValidationFunction:{type:"string"},useCondensedTableLayout:{type:"boolean"},rowAction:{type:"string",defaultValue:undefined},selectionMode:{type:"string",isPublic:true},busy:{type:"boolean",isPublic:true},enableFullScreen:{type:"boolean",isPublic:true},showDelete:{type:"boolean"},header:{type:"string",isPublic:true},headerVisible:{type:"boolean",isPublic:true},noDataText:{type:"string"},creationMode:{type:"string"},createAtEnd:{type:"boolean"},createOutbound:{type:"string"},createOutboundDetail:{type:"string"},createNewAction:{type:"string"},personalization:{type:"string|boolean",isPublic:true},type:{type:"string",isPublic:true},tableType:{type:"string"},enableExport:{type:"boolean",isPublic:true},enablePaste:{type:"boolean",isPublic:true},_pasteVisible:{type:"boolean"},selectionLimit:{type:"string"},multiSelectMode:{type:"string"},filterBarId:{type:"string"},create:{type:"sap.ui.model.Context"},tableDelegate:{type:"string"},enableAutoScroll:{type:"boolean"},visible:{type:"string"},isAlp:{type:"boolean",defaultValue:false},variantManagement:{type:"string",isPublic:true},columnEditMode:{type:"string",computed:true},tabTitle:{type:"string",defaultValue:""},enableAutoColumnWidth:{type:"boolean"}},events:{variantSaved:{type:"function"},variantSelected:{type:"function"},onChange:{type:"function"},rowPress:{type:"function",isPublic:true},onContextChange:{type:"function"},onSegmentedButtonPressed:{type:"function"},stateChanged:{type:"function"}},aggregations:{actions:{type:"sap.fe.macros.internal.table.Action",isPublic:true},columns:{type:"sap.fe.macros.internal.table.Column",isPublic:true}}},create:function(p,o,s,A){var t;var d=a.getInvolvedDataModelObjects(p.metaPath,p.contextPath);var e=this.parseAggregation(A.actions,function(h,i){var j=h.getAttribute("key")||"InlineXMLAction_"+i;return{key:j,text:h.getAttribute("text"),position:{placement:h.getAttribute("placement"),anchor:h.getAttribute("anchor")},__noWrap:true,press:h.getAttribute("press")};});var E=this.parseAggregation(A.columns,function(h,i){var j=h.getAttribute("key")||"InlineXMLColumn_"+i;A[j]=h;return{key:j,header:h.getAttribute("header"),position:{placement:h.getAttribute("placement"),anchor:h.getAttribute("anchor")},type:"Slot"};});if(p.tableDefinition===undefined||p.tableDefinition===null){var v=D.getContextRelativeTargetObjectPath(d);var f={};f[v]={actions:e,columns:E};var g=this.getConverterContext(d,p.contextPath,s,f);var V=b.getDataVisualizationConfiguration(v,p.useCondensedLayout,g);t=V.visualizations[0];p.tableDefinition=this.createBindingContext(t,s);}else{t=p.tableDefinition.getObject();}t.path=p.tableDefinition.getPath();this.setDefaultValue(p,"enableFullScreen",t.control.enableFullScreen);this.setDefaultValue(p,"useCondensedTableLayout",t.control.useCondensedTableLayout);this.setDefaultValue(p,"disableAddRowButtonForEmptyData",t.control.disableAddRowButtonForEmptyData);this.setDefaultValue(p,"customValidationFunction",t.control.customValidationFunction);this.setDefaultValue(p,"enableExport",t.control.enableExport);this.setDefaultValue(p,"enablePaste",t.annotation.show.paste);this.setDefaultValue(p,"headerVisible",t.control.headerVisible);this.setDefaultValue(p,"searchable",t.annotation.searchable);this.setDefaultValue(p,"showRowCount",t.control.showRowCount);this.setDefaultValue(p,"header",t.annotation.title);this.setDefaultValue(p,"selectionLimit",t.control.selectionLimit);this.setDefaultValue(p,"type",t.control.type);if(p.id){p._apiId=p.id;p.id=p.id+"-content";}else{this.setDefaultValue(p,"id",t.annotation.id);p._apiId=t.annotation.id+"::Table";}this.setDefaultValue(p,"selectionMode",t.annotation.selectionMode);this.setDefaultValue(p,"creationMode",t.annotation.create.mode);this.setDefaultValue(p,"createAtEnd",t.annotation.create.append);this.setDefaultValue(p,"createOutbound",t.annotation.create.outbound);this.setDefaultValue(p,"createNewAction",t.annotation.create.newAction);this.setDefaultValue(p,"createOutboundDetail",t.annotation.create.outboundDetail);this.setDefaultValue(p,"showDelete",t.annotation.show.delete);this.setDefaultValue(p,"personalization",t.annotation.p13nMode);this.setDefaultValue(p,"variantManagement",t.annotation.variantManagement);this.setDefaultValue(p,"enableAutoColumnWidth",t.control.enableAutoColumnWidth);if(p.readOnly==="false"){p.readOnly=false;}else if(p.readOnly==="true"){p.readOnly=true;}if(p.readOnly===undefined&&t.annotation.displayMode===true){p.readOnly=true;}if(p.rowPress){p.rowAction="Navigation";}this.setDefaultValue(p,"rowPress",t.annotation.row.press);this.setDefaultValue(p,"rowAction",t.annotation.row.action);if(p.personalization==="false"){p.personalization=undefined;}else if(p.personalization==="true"){p.personalization="Sort,Column,Filter";}var u=false;if(!p.filterBarId&&p.searchable){p.filterBarId=S.generate([p.id,"StandardAction","BasicSearch"]);u=true;}p.useBasicSearch=u;p._pasteVisible=t.annotation.show.paste;p.massEditVisible=t.annotation.show.massEdit.visible;p.massEditEnabled=t.annotation.show.massEdit.enabled;p.tableType=p.type;p.showCreate=t.annotation.show.create||true;p.autoBindOnInit=t.annotation.autoBindOnInit;p.parentEntityDeleteEnabled=t.annotation.parentEntityDeleteEnabled;p.navigationPath=t.annotation.navigationPath;p.parentEntitySet=s.models.metaModel.createBindingContext("/"+(d.contextLocation.targetEntitySet?d.contextLocation.targetEntitySet.name:d.startingEntitySet.name));p.collection=s.models.metaModel.createBindingContext(t.annotation.collection);p.columnEditMode=undefined;if(p.readOnly===true){p.columnEditMode="Display";}else if(p.readOnly===false){p.columnEditMode="Editable";}p.headerBindingExpression=T.buildExpressionForHeaderVisible(p);return p;}});return c;});
@@ -5,7 +5,7 @@
5
5
  sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/fe/core/helpers/PasteHelper", "sap/m/MessageBox", "sap/ui/Device", "sap/base/Log", "./MacroAPI", "sap/fe/macros/massedit/MassEditHandler", "sap/fe/macros/DelegateUtil"], function (ClassSupport, PasteHelper, MessageBox, Device, Log, MacroAPI, MassEditHandler, DelegateUtil) {
6
6
  "use strict";
7
7
 
8
- var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16;
8
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17;
9
9
 
10
10
  var Event = ClassSupport.Event;
11
11
  var Property = ClassSupport.Property;
@@ -133,11 +133,13 @@ sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/fe/core/helpers/PasteHel
133
133
 
134
134
  _initializerDefineProperty(_assertThisInitialized(_this), "rowPress", _descriptor13, _assertThisInitialized(_this));
135
135
 
136
- _initializerDefineProperty(_assertThisInitialized(_this), "personalization", _descriptor14, _assertThisInitialized(_this));
136
+ _initializerDefineProperty(_assertThisInitialized(_this), "stateChanged", _descriptor14, _assertThisInitialized(_this));
137
137
 
138
- _initializerDefineProperty(_assertThisInitialized(_this), "variantManagement", _descriptor15, _assertThisInitialized(_this));
138
+ _initializerDefineProperty(_assertThisInitialized(_this), "personalization", _descriptor15, _assertThisInitialized(_this));
139
139
 
140
- _initializerDefineProperty(_assertThisInitialized(_this), "enableDataStateFilter", _descriptor16, _assertThisInitialized(_this));
140
+ _initializerDefineProperty(_assertThisInitialized(_this), "variantManagement", _descriptor16, _assertThisInitialized(_this));
141
+
142
+ _initializerDefineProperty(_assertThisInitialized(_this), "enableDataStateFilter", _descriptor17, _assertThisInitialized(_this));
141
143
 
142
144
  return _this;
143
145
  }
@@ -455,17 +457,22 @@ sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/fe/core/helpers/PasteHel
455
457
  enumerable: true,
456
458
  writable: true,
457
459
  initializer: null
458
- }), _descriptor14 = _applyDecoratedDescriptor(_class2.prototype, "personalization", [_dec14], {
460
+ }), _descriptor14 = _applyDecoratedDescriptor(_class2.prototype, "stateChanged", [Event], {
461
+ configurable: true,
462
+ enumerable: true,
463
+ writable: true,
464
+ initializer: null
465
+ }), _descriptor15 = _applyDecoratedDescriptor(_class2.prototype, "personalization", [_dec14], {
459
466
  configurable: true,
460
467
  enumerable: true,
461
468
  writable: true,
462
469
  initializer: null
463
- }), _descriptor15 = _applyDecoratedDescriptor(_class2.prototype, "variantManagement", [_dec15], {
470
+ }), _descriptor16 = _applyDecoratedDescriptor(_class2.prototype, "variantManagement", [_dec15], {
464
471
  configurable: true,
465
472
  enumerable: true,
466
473
  writable: true,
467
474
  initializer: null
468
- }), _descriptor16 = _applyDecoratedDescriptor(_class2.prototype, "enableDataStateFilter", [_dec16], {
475
+ }), _descriptor17 = _applyDecoratedDescriptor(_class2.prototype, "enableDataStateFilter", [_dec16], {
469
476
  configurable: true,
470
477
  enumerable: true,
471
478
  writable: true,
@@ -473,4 +480,4 @@ sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/fe/core/helpers/PasteHel
473
480
  }), _applyDecoratedDescriptor(_class2.prototype, "onTableRowPress", [EventHandler], Object.getOwnPropertyDescriptor(_class2.prototype, "onTableRowPress"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onInternalDataReceived", [EventHandler], Object.getOwnPropertyDescriptor(_class2.prototype, "onInternalDataReceived"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onPaste", [EventHandler], Object.getOwnPropertyDescriptor(_class2.prototype, "onPaste"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onPasteButtonPressed", [EventHandler], Object.getOwnPropertyDescriptor(_class2.prototype, "onPasteButtonPressed"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onBeforeExport", [EventHandler], Object.getOwnPropertyDescriptor(_class2.prototype, "onBeforeExport"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onDataStateChange", [EventHandler], Object.getOwnPropertyDescriptor(_class2.prototype, "onDataStateChange"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onMassEditButtonPressed", [EventHandler], Object.getOwnPropertyDescriptor(_class2.prototype, "onMassEditButtonPressed"), _class2.prototype)), _class2)) || _class);
474
481
  return TableAPI;
475
482
  }, false);
476
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlQVBJLnRzIl0sIm5hbWVzIjpbIlRhYmxlQVBJIiwiQVBJQ2xhc3MiLCJNYWNyb0NvbnRleHQiLCJQcm9wZXJ0eSIsInR5cGUiLCJkZWZhdWx0VmFsdWUiLCJvRXZlbnQiLCJvQ29udHJvbGxlciIsIm9Db250ZXh0IiwibVBhcmFtZXRlcnMiLCJpc0EiLCJnZXRQcm9wZXJ0eSIsIl9yb3V0aW5nIiwibmF2aWdhdGVGb3J3YXJkVG9Db250ZXh0IiwiZ2V0UGFyYW1ldGVyIiwiZ2V0Q29udHJvbGxlciIsIm1lc3NhZ2VIYW5kbGVyIiwic2hvd01lc3NhZ2VEaWFsb2ciLCJ0YWJsZURlZmluaXRpb24iLCJjb250cm9sIiwiZW5hYmxlUGFzdGUiLCJnZXRNb2RlbCIsImFSYXdQYXN0ZWREYXRhIiwib1RhYmxlIiwiZ2V0U291cmNlIiwiYlBhc3RlRW5hYmxlZCIsImRhdGEiLCJvUmVzb3VyY2VNb2RlbCIsIlBhc3RlSGVscGVyIiwicGFyc2VEYXRhRm9yVGFibGVQYXN0ZSIsInRoZW4iLCJhUGFyc2VkRGF0YSIsImxlbmd0aCIsIl9lZGl0RmxvdyIsImNyZWF0ZU11bHRpcGxlRG9jdW1lbnRzIiwiZ2V0Um93QmluZGluZyIsImNyZWF0ZUF0RW5kIiwiY2F0Y2giLCJvRXJyb3IiLCJMb2ciLCJlcnJvciIsInNhcCIsInVpIiwiZ2V0Q29yZSIsImdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZSIsIk1lc3NhZ2VCb3giLCJnZXRUZXh0IiwidGl0bGUiLCJzRGV2aWNlT3MiLCJEZXZpY2UiLCJvcyIsIm5hbWUiLCJzRGV2aWNlU3lzdGVtIiwic3lzdGVtIiwic01lc3NhZ2VPblBhc3RlQnV0dG9uIiwicGhvbmUiLCJ0YWJsZXQiLCJjb21iaSIsImRlc2t0b3AiLCJpbmZvcm1hdGlvbiIsIm9uQ2xvc2UiLCJjb250ZW50IiwiZ2V0QWdncmVnYXRpb24iLCJhcHBseUZvY3VzSW5mbyIsInByZXZlbnRTY3JvbGwiLCJpc1NwbGl0TW9kZSIsImdldFBhcmFtZXRlcnMiLCJ1c2VyRXhwb3J0U2V0dGluZ3MiLCJzcGxpdENlbGxzIiwiaXNSTFRMYW5ndWFnZSIsImdldENvbmZpZ3VyYXRpb24iLCJnZXRSVEwiLCJvVGFibGVDb250cm9sbGVyIiwib0V4cG9ydENvbHVtbnMiLCJleHBvcnRTZXR0aW5ncyIsIndvcmtib29rIiwiY29sdW1ucyIsIm9UYWJsZUNvbHVtbnMiLCJ1cGRhdGVFeHBvcnRTZXR0aW5ncyIsIm9EYXRhU3RhdGVJbmRpY2F0b3IiLCJhRmlsdGVyZWRNZXNzYWdlcyIsIm9JbnRlcm5hbE1vZGVsIiwic2V0UHJvcGVydHkiLCJnZXRCaW5kaW5nQ29udGV4dCIsIlBhZ2VDb250cm9sbGVyIiwiTWFzc0VkaXRIYW5kbGVyIiwib3Blbk1hc3NFZGl0RGlhbG9nIiwib01lc3NhZ2UiLCJvVGFibGVBUEkiLCJnZXRQYXJlbnQiLCJlbmFibGVEYXRhU3RhdGVGaWx0ZXIiLCJvQ29sdW1ucyIsImZvckVhY2giLCJvQ29sdW1uRXhwb3J0IiwiYUV4cG9ydExhYmVscyIsImNvbHVtbiIsIm9Db2x1bW4iLCJpc1VuaXQiLCJzb21lIiwidW5pdCIsInByb3BlcnR5IiwiRmllbGRHcm91cExhYmVsIiwiX2dldEZpZWxkR3JvdXBFeHBvcnRMYWJlbCIsInVuc2hpZnQiLCJkYXRhRmllbGREZXNjcmlwdGlvbkxhYmVsIiwiX2dldERhdGFGaWVsZERlc2NyaXB0aW9uTGFiZWwiLCJpc0RhdGFQb2ludEZha2VUYXJnZXRQcm9wZXJ0eSIsInJlbGF0aXZlUGF0aCIsImV4cG9ydENvbnRhY3RQcm9wZXJ0eSIsInByb3BlcnR5SW5mb3MiLCJ0b1N0cmluZyIsImxhYmVsIiwicHJvcCIsImluY2x1ZGVzIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwicHVzaCIsIkRlbGVnYXRlVXRpbCIsImdldExvY2FsaXplZFRleHQiLCJmaWx0ZXIiLCJpbmRleCIsImluZGV4T2YiLCJyZXZlcnNlIiwiam9pbiIsImNvbHVtbklkIiwiZmllbGRMYWJlbCIsIk1hY3JvQVBJIiwiRXZlbnQiLCJF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QkFDQUosT0FBTyxDQUFDYSxhQURSLG1EQUNBLHVCQUF1QkksUUFBdkIsQ0FBZ0MsZUFBZXBCLGFBQWEsQ0FBQ08sUUFBN0QsQ0FKRCxLQUtBLDBCQUFBSixPQUFPLENBQUNXLFlBQVIsZ0ZBQXNCZSxPQUF0QixDQUE4Qix3Q0FBOUIsT0FBNEUsQ0FBQyxDQU45RSxFQU9FO0FBQ0QsaUJBQU9KLFlBQVksQ0FBQ0MsZ0JBQWIsQ0FBOEJ2QixPQUFPLENBQUNlLEtBQXRDLEVBQXVEdkMsZ0JBQXZELENBQVA7QUFDQTtBQUNEOzs7O0lBNVhxQnVELFE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztnRkF5R3JCQyxLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt1RUF1Q0FDLFksc0tBZUFBLFksOEpBTUFBLFksNEpBbUNBQSxZLG1LQWlDQUEsWSxnS0FvQ0FBLFkseUtBZ0hBQSxZO1NBT2FqSSxRIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUElDbGFzcywgRXZlbnRIYW5kbGVyLCBNYWNyb0NvbnRleHQsIFByb3BlcnR5LCBFdmVudCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgUGFzdGVIZWxwZXIgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVyc1wiO1xuaW1wb3J0IHsgTWVzc2FnZUJveCB9IGZyb20gXCJzYXAvbVwiO1xuaW1wb3J0IHsgRGV2aWNlIH0gZnJvbSBcInNhcC91aVwiO1xuaW1wb3J0IHsgTG9nIH0gZnJvbSBcInNhcC9iYXNlXCI7XG5pbXBvcnQgeyBQYWdlQ29udHJvbGxlciB9IGZyb20gXCJzYXAvZmUvY29yZVwiO1xuaW1wb3J0IHsgQW5ub3RhdGlvblRhYmxlQ29sdW1uLCBUYWJsZUNvbHVtbiwgVGFibGVWaXN1YWxpemF0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvY29udHJvbHMvQ29tbW9uL1RhYmxlXCI7XG5pbXBvcnQgTWFjcm9BUEkgZnJvbSBcIi4vTWFjcm9BUElcIjtcbmltcG9ydCB7IE1hc3NFZGl0SGFuZGxlciB9IGZyb20gXCJzYXAvZmUvbWFjcm9zL21hc3NlZGl0XCI7XG5pbXBvcnQgeyBEZWxlZ2F0ZVV0aWwgfSBmcm9tIFwic2FwL2ZlL21hY3Jvc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjRcIjtcblxuLyoqXG4gKiBEZWZpbml0aW9uIG9mIGEgY3VzdG9tIGFjdGlvbiB0byBiZSB1c2VkIGluc2lkZSB0aGUgdGFibGUgdG9vbGJhclxuICpcbiAqIEBhbGlhcyBzYXAuZmUubWFjcm9zLnRhYmxlLkFjdGlvblxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBBY3Rpb24gPSB7XG5cdC8qKlxuXHQgKiBVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgYWN0aW9uXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGtleTogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIHRleHQgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCBmb3IgdGhpcyBhY3Rpb25cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0dGV4dDogc3RyaW5nO1xuXHQvKipcblx0ICogUmVmZXJlbmNlIHRvIHRoZSBrZXkgb2YgYW5vdGhlciBhY3Rpb24gYWxyZWFkeSBkaXNwbGF5ZWQgaW4gdGhlIHRvb2xiYXIgdG8gcHJvcGVybHkgcGxhY2UgdGhpcyBvbmVcblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0YW5jaG9yPzogc3RyaW5nO1xuXHQvKipcblx0ICogRGVmaW5lcyB3aGVyZSB0aGlzIGFjdGlvbiBzaG91bGQgYmUgcGxhY2VkIHJlbGF0aXZlIHRvIHRoZSBkZWZpbmVkIGFuY2hvclxuXHQgKlxuXHQgKiBBbGxvd2VkIHZhbHVlcyBhcmUgYEJlZm9yZWAgYW5kIGBBZnRlcmBcblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0cGxhY2VtZW50Pzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBFdmVudCBoYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGNob29zZXMgdGhlIGFjdGlvblxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRwcmVzczogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBEZWZpbml0aW9uIG9mIGEgY3VzdG9tIGNvbHVtbiB0byBiZSB1c2VkIGluc2lkZSB0aGUgdGFibGUuXG4gKlxuICogVGhlIHRlbXBsYXRlIGZvciB0aGUgY29sdW1uIGhhcyB0byBiZSBwcm92aWRlZCBhcyB0aGUgZGVmYXVsdCBhZ2dyZWdhdGlvblxuICpcbiAqIEBhbGlhcyBzYXAuZmUubWFjcm9zLnRhYmxlLkNvbHVtblxuICogQHB1YmxpY1xuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgdHlwZSBDb2x1bW4gPSB7XG5cdC8qKlxuXHQgKiBVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY29sdW1uXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGtleTogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIHRleHQgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCBmb3IgdGhpcyBjb2x1bW4gaGVhZGVyXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGhlYWRlcjogc3RyaW5nO1xuXHQvKipcblx0ICogUmVmZXJlbmNlIHRvIHRoZSBrZXkgb2YgYW5vdGhlciBjb2x1bW4gYWxyZWFkeSBkaXNwbGF5ZWQgaW4gdGhlIHRhYmxlIHRvIHByb3Blcmx5IHBsYWNlIHRoaXMgb25lXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGFuY2hvcj86IHN0cmluZztcblx0LyoqXG5cdCAqIERlZmluZXMgd2hlcmUgdGhpcyBjb2x1bW4gc2hvdWxkIGJlIHBsYWNlZCByZWxhdGl2ZSB0byB0aGUgZGVmaW5lZCBhbmNob3Jcblx0ICpcblx0ICogQWxsb3dlZCB2YWx1ZXMgYXJlIGBCZWZvcmVgIGFuZCBgQWZ0ZXJgXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHBsYWNlbWVudD86IHN0cmluZztcbn07XG5cbi8qKlxuICogQnVpbGRpbmcgYmxvY2sgdXNlZCB0byBjcmVhdGUgYSB0YWJsZSBiYXNlZCBvbiB0aGUgbWV0YWRhdGEgcHJvdmlkZWQgYnkgT0RhdGEgVjQuXG4gKiA8YnI+XG4gKiBVc3VhbGx5LCBhIExpbmVJdGVtIG9yIFByZXNlbnRhdGlvblZhcmlhbnQgYW5ub3RhdGlvbiBpcyBleHBlY3RlZCwgYnV0IHRoZSBUYWJsZSBidWlsZGluZyBibG9jayBjYW4gYWxzbyBiZSB1c2VkIHRvIGRpc3BsYXkgYW4gRW50aXR5U2V0LlxuICpcbiAqXG4gKiBVc2FnZSBleGFtcGxlOlxuICogPHByZT5cbiAqICZsdDttYWNybzpUYWJsZSBpZD1cIk15VGFibGVcIiBtZXRhUGF0aD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiIC8mZ3Q7XG4gKiA8L3ByZT5cbiAqXG4gKiBAYWxpYXMgc2FwLmZlLm1hY3Jvcy5UYWJsZVxuICogQHB1YmxpY1xuICovXG5AQVBJQ2xhc3MoXCJzYXAuZmUubWFjcm9zLlRhYmxlQVBJXCIpXG5jbGFzcyBUYWJsZUFQSSBleHRlbmRzIE1hY3JvQVBJIHtcblx0QE1hY3JvQ29udGV4dCgpXG5cdHRhYmxlRGVmaW5pdGlvbiE6IFRhYmxlVmlzdWFsaXphdGlvbjtcblxuXHQvKipcblx0ICogQW4gZXhwcmVzc2lvbiB0aGF0IGFsbG93cyB5b3UgdG8gY29udHJvbCB0aGUgJ3JlYWQtb25seScgc3RhdGUgb2YgdGhlIHRhYmxlLlxuXHQgKlxuXHQgKiBJZiB5b3UgZG8gbm90IHNldCBhbnkgZXhwcmVzc2lvbiwgU0FQIEZpb3JpIGVsZW1lbnRzIGhvb2tzIGludG8gdGhlIHN0YW5kYXJkIGxpZmVjeWNsZSB0byBkZXRlcm1pbmUgdGhlIGN1cnJlbnQgc3RhdGUuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBQcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHJlYWRPbmx5ITogYm9vbGVhbjtcblxuXHQvKipcblx0ICogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHRhYmxlIGNvbnRyb2wuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBQcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0aWQhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEFuIGV4cHJlc3Npb24gdGhhdCBhbGxvd3MgeW91IHRvIGNvbnRyb2wgdGhlICdidXN5JyBzdGF0ZSBvZiB0aGUgdGFibGUuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBQcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiLCBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG5cdGJ1c3khOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSB0eXBlIG9mIHRhYmxlIHRoYXQgd2lsbCBiZSB1c2VkIGJ5IHRoZSBtYWNybyB0byByZW5kZXIgdGhlIGRhdGEuXG5cdCAqXG5cdCAqIEFsbG93ZWQgdmFsdWVzIGFyZSBgR3JpZFRhYmxlYCBhbmQgYFJlc3BvbnNpdmVUYWJsZWBcblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QFByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgZGVmYXVsdFZhbHVlOiBcIlJlc3BvbnNpdmVUYWJsZVwiIH0pXG5cdHR5cGUhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIENvbnRyb2xzIGlmIHRoZSBleHBvcnQgZnVuY3Rpb25hbGl0eSBvZiB0aGUgdGFibGUgaXMgZW5hYmxlZCBvciBub3QuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBQcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiLCBkZWZhdWx0VmFsdWU6IHRydWUgfSlcblx0ZW5hYmxlRXhwb3J0ITogYm9vbGVhbjtcblxuXHQvKipcblx0ICogQ29udHJvbHMgaWYgdGhlIHBhc3RlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIHRhYmxlIGlzIGVuYWJsZWQgb3Igbm90LlxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAUHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiwgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuXHRlbmFibGVQYXN0ZSE6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIENvbnRyb2xzIHdoZXRoZXIgdGhlIHRhYmxlIGNhbiBiZSBvcGVuZWQgaW4gZnVsbHNjcmVlbiBtb2RlIG9yIG5vdC5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QFByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcblx0ZW5hYmxlRnVsbFNjcmVlbiE6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIHNlbGVjdGlvbiBtb2RlIHRvIGJlIHVzZWQgYnkgdGhlIHRhYmxlLlxuXHQgKlxuXHQgKiBBbGxvd2VkIHZhbHVlcyBhcmUgYE5vbmVgLCBgU2luZ2xlYCwgYE11bHRpYCBvciBgQXV0b2Bcblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QFByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRzZWxlY3Rpb25Nb2RlITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBTcGVjaWZpZXMgdGhlIGhlYWRlciB0ZXh0IHRoYXQgaXMgc2hvd24gaW4gdGhlIHRhYmxlLlxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAUHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGhlYWRlciE6IHN0cmluZztcblxuXHQvKipcblx0ICogU3BlY2lmaWVzIHRoZSBoZWFkZXIgdGV4dCB0aGF0IGlzIHNob3duIGluIHRoZSB0YWJsZS5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QFByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcblx0ZW5hYmxlQXV0b0NvbHVtbldpZHRoITogYm9vbGVhbjtcblxuXHQvKipcblx0ICogQ29udHJvbHMgaWYgdGhlIGhlYWRlciB0ZXh0IHNob3VsZCBiZSBzaG93biBvciBub3QuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBQcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiLCBkZWZhdWx0VmFsdWU6IHRydWUgfSlcblx0aGVhZGVyVmlzaWJsZSE6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIEFuIGV2ZW50IHRyaWdnZXJlZCB3aGVuIHRoZSB1c2VyIGNob29zZXMgYSByb3c7IHRoZSBldmVudCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB3aGljaCByb3cgd2FzIGNob3Nlbi5cblx0ICpcblx0ICogWW91IGNhbiBzZXQgdGhpcyBpbiBvcmRlciB0byBoYW5kbGUgdGhlIG5hdmlnYXRpb24gbWFudWFsbHkuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBFdmVudFxuXHRyb3dQcmVzcyE6IEZ1bmN0aW9uO1xuXG5cdC8qKlxuXHQgKiBDb250cm9scyB3aGljaCBvcHRpb25zIHNob3VsZCBiZSBlbmFibGVkIGZvciB0aGUgdGFibGUgcGVyc29uYWxpemF0aW9uIGRpYWxvZy5cblx0ICpcblx0ICogSWYgaXQgaXMgc2V0IHRvIGB0cnVlYCwgYWxsIHBvc3NpYmxlIG9wdGlvbnMgZm9yIHRoaXMga2luZCBvZiB0YWJsZSBhcmUgZW5hYmxlZC48YnIvPlxuXHQgKiBJZiBpdCBpcyBzZXQgdG8gYGZhbHNlYCwgcGVyc29uYWxpemF0aW9uIGlzIGRpc2FibGVkLjxici8+XG5cdCAqPGJyLz5cblx0ICogWW91IGNhbiBhbHNvIHByb3ZpZGUgYSBtb3JlIGdyYW51bGFyIGNvbnRyb2wgZm9yIHRoZSBwZXJzb25hbGl6YXRpb24gYnkgcHJvdmlkaW5nIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgd2l0aCB0aGUgb3B0aW9ucyB5b3Ugd2FudCB0byBiZSBhdmFpbGFibGUuPGJyLz5cblx0ICogQXZhaWxhYmxlIG9wdGlvbnMgYXJlOjxici8+XG5cdCAqICAtIFNvcnQ8YnIvPlxuXHQgKiAgLSBDb2x1bW48YnIvPlxuXHQgKiAgLSBGaWx0ZXI8YnIvPlxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAUHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW58c3RyaW5nXCIsIGRlZmF1bHRWYWx1ZTogdHJ1ZSB9KVxuXHRwZXJzb25hbGl6YXRpb24hOiBib29sZWFuIHwgc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBDb250cm9scyB0aGUga2luZCBvZiB2YXJpYW50IG1hbmFnZW1lbnQgdGhhdCBzaG91bGQgYmUgZW5hYmxlZCBmb3IgdGhlIHRhYmxlLlxuXHQgKlxuXHQgKiBBbGxvd2VkIHZhbHVlcyBhcmUgYFBhZ2VgLCBgQ29udHJvbGAgYW5kIGBOb25lYC48YnIvPlxuXHQgKiBJZiB0aGUgdGFibGUgaXMgdXNlZCB3aXRoaW4gYSBTQVAgRmlvcmkgZWxlbWVudHMgdGVtcGxhdGUsIHRoZSBkZWZhdWx0IHZhbHVlIHdpbGwgYmUgdGFrZW4gZnJvbSB0aGUgY3VycmVudCBwYWdlIHZhcmlhbnQgbWFuYWdlbWVudC48YnIvPlxuXHQgKiBPdGhlcndpc2UgaXQncyBgTm9uZWAuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBQcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0dmFyaWFudE1hbmFnZW1lbnQhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIENvbnRyb2xzIGlmIHRoZSBkYXRhU3RhdGVJbmRpY2F0b3IgZnVuY3Rpb25hbGl0eSBvZiB0aGUgdGFibGUgaXMgZW5hYmxlZCBvciBub3QuXG5cdCAqXG5cdCAqL1xuXHRAUHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRlbmFibGVEYXRhU3RhdGVGaWx0ZXIhOiBib29sZWFuO1xuXG5cdEBFdmVudEhhbmRsZXJcblx0b25UYWJsZVJvd1ByZXNzKG9FdmVudDogVUk1RXZlbnQsIG9Db250cm9sbGVyOiBQYWdlQ29udHJvbGxlciwgb0NvbnRleHQ6IENvbnRleHQsIG1QYXJhbWV0ZXJzOiBhbnkpIHtcblx0XHQvLyBJbiB0aGUgY2FzZSBvZiBhbiBhbmFseXRpY2FsIHRhYmxlLCBpZiB3ZSdyZSB0cnlpbmcgdG8gbmF2aWdhdGUgdG8gYSBjb250ZXh0IGNvcnJlc3BvbmRpbmcgdG8gYSB2aXN1YWwgZ3JvdXAgb3IgZ3JhbmQgdG90YWxcblx0XHQvLyAtLT4gQ2FuY2VsIG5hdmlnYXRpb25cblx0XHRpZiAoXG5cdFx0XHRvQ29udGV4dCAmJlxuXHRcdFx0b0NvbnRleHQuaXNBKFwic2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHRcIikgJiZcblx0XHRcdHR5cGVvZiBvQ29udGV4dC5nZXRQcm9wZXJ0eShcIkAkdWk1Lm5vZGUuaXNFeHBhbmRlZFwiKSA9PT0gXCJib29sZWFuXCJcblx0XHQpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0b0NvbnRyb2xsZXIuX3JvdXRpbmcubmF2aWdhdGVGb3J3YXJkVG9Db250ZXh0KG9Db250ZXh0LCBtUGFyYW1ldGVycyk7XG5cdFx0fVxuXHR9XG5cblx0QEV2ZW50SGFuZGxlclxuXHRvbkludGVybmFsRGF0YVJlY2VpdmVkKG9FdmVudDogVUk1RXZlbnQpIHtcblx0XHRpZiAob0V2ZW50LmdldFBhcmFtZXRlcihcImVycm9yXCIpKSB7XG5cdFx0XHR0aGlzLmdldENvbnRyb2xsZXIoKS5tZXNzYWdlSGFuZGxlci5zaG93TWVzc2FnZURpYWxvZygpO1xuXHRcdH1cblx0fVxuXHRARXZlbnRIYW5kbGVyXG5cdG9uUGFzdGUob0V2ZW50OiBVSTVFdmVudCwgb0NvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyKSB7XG5cdFx0Ly8gSWYgcGFzdGUgaXMgZGlzYWJsZSBvciBpZiB3ZSdyZSBub3QgaW4gZWRpdCBtb2RlLCB3ZSBjYW4ndCBwYXN0ZSBhbnl0aGluZ1xuXHRcdGlmICghdGhpcy50YWJsZURlZmluaXRpb24uY29udHJvbC5lbmFibGVQYXN0ZSB8fCAhdGhpcy5nZXRNb2RlbChcInVpXCIpLmdldFByb3BlcnR5KFwiL2lzRWRpdGFibGVcIikpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBhUmF3UGFzdGVkRGF0YSA9IG9FdmVudC5nZXRQYXJhbWV0ZXIoXCJkYXRhXCIpLFxuXHRcdFx0b1RhYmxlID0gb0V2ZW50LmdldFNvdXJjZSgpLFxuXHRcdFx0YlBhc3RlRW5hYmxlZCA9IG9UYWJsZS5kYXRhKClbXCJlbmFibGVQYXN0ZVwiXTtcblx0XHRsZXQgb1Jlc291cmNlTW9kZWw7XG5cblx0XHRpZiAoYlBhc3RlRW5hYmxlZCA9PT0gdHJ1ZSB8fCBiUGFzdGVFbmFibGVkID09PSBcInRydWVcIikge1xuXHRcdFx0UGFzdGVIZWxwZXIucGFyc2VEYXRhRm9yVGFibGVQYXN0ZShhUmF3UGFzdGVkRGF0YSwgb1RhYmxlKVxuXHRcdFx0XHQudGhlbihhUGFyc2VkRGF0YSA9PiB7XG5cdFx0XHRcdFx0aWYgKGFQYXJzZWREYXRhICYmIGFQYXJzZWREYXRhLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdHJldHVybiBvQ29udHJvbGxlci5fZWRpdEZsb3cuY3JlYXRlTXVsdGlwbGVEb2N1bWVudHMoXG5cdFx0XHRcdFx0XHRcdG9UYWJsZS5nZXRSb3dCaW5kaW5nKCksXG5cdFx0XHRcdFx0XHRcdGFQYXJzZWREYXRhLFxuXHRcdFx0XHRcdFx0XHR0aGlzLnRhYmxlRGVmaW5pdGlvbi5jb250cm9sLmNyZWF0ZUF0RW5kLFxuXHRcdFx0XHRcdFx0XHR0cnVlXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKG9FcnJvciA9PiB7XG5cdFx0XHRcdFx0TG9nLmVycm9yKFwiRXJyb3Igd2hpbGUgcGFzdGluZyBkYXRhXCIsIG9FcnJvcik7XG5cdFx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRvUmVzb3VyY2VNb2RlbCA9IHNhcC51aS5nZXRDb3JlKCkuZ2V0TGlicmFyeVJlc291cmNlQnVuZGxlKFwic2FwLmZlLmNvcmVcIik7XG5cdFx0XHRNZXNzYWdlQm94LmVycm9yKG9SZXNvdXJjZU1vZGVsLmdldFRleHQoXCJUX09QX0NPTlRST0xMRVJfU0FQRkVfUEFTVEVfRElTQUJMRURfTUVTU0FHRVwiKSwge1xuXHRcdFx0XHR0aXRsZTogb1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfQ09NTU9OX1NBUEZFX0VSUk9SXCIpXG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRARXZlbnRIYW5kbGVyXG5cdG9uUGFzdGVCdXR0b25QcmVzc2VkKCkge1xuXHRcdGNvbnN0IG9SZXNvdXJjZU1vZGVsID0gc2FwLnVpLmdldENvcmUoKS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUudGVtcGxhdGVzXCIpLFxuXHRcdFx0c0RldmljZU9zID0gRGV2aWNlLm9zLm5hbWUsXG5cdFx0XHRzRGV2aWNlU3lzdGVtID0gRGV2aWNlLnN5c3RlbTtcblx0XHQvLyBXZSBuZWVkIGEgZGVmYXVsdCBpbiBjYXNlIHdlIGZhbGwgdGhyb3VnaCB0aGUgY3JhY2tcblx0XHRsZXQgc01lc3NhZ2VPblBhc3RlQnV0dG9uOiBzdHJpbmcgPSBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9PUF9DT05UUk9MTEVSX1RBQkxFX1BBU1RFX0JVVFRPTl9BQ1RJT05fTUVTU0FHRV9XSU5ET1dTX0RFU0tUT1BcIik7XG5cdFx0Ly8gT24gbW9iaWxlLCB0aGVyZSBpcyBubyBuYXRpdmUgcGFzdGUgdHJpZ2dlcjpcblx0XHRpZiAoc0RldmljZVN5c3RlbS5waG9uZSB8fCAoc0RldmljZVN5c3RlbS50YWJsZXQgJiYgIXNEZXZpY2VTeXN0ZW0uY29tYmkpKSB7XG5cdFx0XHRzTWVzc2FnZU9uUGFzdGVCdXR0b24gPSBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9PUF9DT05UUk9MTEVSX1RBQkxFX1BBU1RFX0JVVFRPTl9BQ1RJT05fTUVTU0FHRV9UT1VDSF9ERVZJQ0VcIik7XG5cdFx0fSBlbHNlIGlmIChzRGV2aWNlU3lzdGVtLmRlc2t0b3ApIHtcblx0XHRcdHN3aXRjaCAoc0RldmljZU9zKSB7XG5cdFx0XHRcdGNhc2UgXCJ3aW5cIjpcblx0XHRcdFx0XHRzTWVzc2FnZU9uUGFzdGVCdXR0b24gPSBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9PUF9DT05UUk9MTEVSX1RBQkxFX1BBU1RFX0JVVFRPTl9BQ1RJT05fTUVTU0FHRV9XSU5ET1dTX0RFU0tUT1BcIik7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdGNhc2UgXCJtYWNcIjpcblx0XHRcdFx0XHRzTWVzc2FnZU9uUGFzdGVCdXR0b24gPSBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9PUF9DT05UUk9MTEVSX1RBQkxFX1BBU1RFX0JVVFRPTl9BQ1RJT05fTUVTU0FHRV9JT1NfREVTS1RPUFwiKTtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdH1cblx0XHR9XG5cdFx0TWVzc2FnZUJveC5pbmZvcm1hdGlvbihzTWVzc2FnZU9uUGFzdGVCdXR0b24sIHtcblx0XHRcdG9uQ2xvc2U6ICgpID0+IHtcblx0XHRcdFx0aWYgKHRoaXMuY29udGVudCkge1xuXHRcdFx0XHRcdC8vIFNldCB0aGUgZm9jdXMgb24gdGhlIGlubmVyIHRhYmxlIHRvIGFsbG93IHBhc3RlXG5cdFx0XHRcdFx0KHRoaXMuY29udGVudC5nZXRBZ2dyZWdhdGlvbihcIl9jb250ZW50XCIpIGFzIGFueSk/LmFwcGx5Rm9jdXNJbmZvKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0Ly8gVGhpcyBldmVudCB3aWxsIGFsbG93IHVzIHRvIGludGVyY2VwdCB0aGUgZXhwb3J0IGJlZm9yZSBpcyB0cmlnZ2VyZWQgdG8gY292ZXIgc3BlY2lmaWMgY2FzZXNcblx0Ly8gdGhhdCBjb3VsZG4ndCBiZSBhZGRyZXNzZWQgb24gdGhlIHByb3BlcnR5SW5mb3MgZm9yIGVhY2ggY29sdW1uLlxuXHQvLyBlLmcuIEZpeGVkIFRhcmdldCBWYWx1ZSBmb3IgdGhlIGRhdGFwb2ludHNcblx0QEV2ZW50SGFuZGxlclxuXHRvbkJlZm9yZUV4cG9ydChvRXZlbnQ6IFVJNUV2ZW50KSB7XG5cdFx0Y29uc3QgaXNTcGxpdE1vZGUgPSBvRXZlbnQuZ2V0UGFyYW1ldGVycygpLnVzZXJFeHBvcnRTZXR0aW5ncy5zcGxpdENlbGxzLFxuXHRcdFx0aXNSTFRMYW5ndWFnZSA9IHNhcC51aVxuXHRcdFx0XHQuZ2V0Q29yZSgpXG5cdFx0XHRcdC5nZXRDb25maWd1cmF0aW9uKClcblx0XHRcdFx0LmdldFJUTCgpLFxuXHRcdFx0b1RhYmxlQ29udHJvbGxlciA9IG9FdmVudC5nZXRTb3VyY2UoKSxcblx0XHRcdG9FeHBvcnRDb2x1bW5zID0gb0V2ZW50LmdldFBhcmFtZXRlcnMoKS5leHBvcnRTZXR0aW5ncy53b3JrYm9vaz8uY29sdW1ucyxcblx0XHRcdG9UYWJsZUNvbHVtbnMgPSB0aGlzLnRhYmxlRGVmaW5pdGlvbi5jb2x1bW5zO1xuXG5cdFx0VGFibGVBUEkudXBkYXRlRXhwb3J0U2V0dGluZ3Mob0V4cG9ydENvbHVtbnMsIG9UYWJsZUNvbHVtbnMsIG9UYWJsZUNvbnRyb2xsZXIsIGlzU3BsaXRNb2RlLCBpc1JMVExhbmd1YWdlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBIYW5kbGVzIHRoZSBNREMgRGF0YVN0YXRlSW5kaWNhdG9yIHBsdWdpbiB0byBkaXNwbGF5IG1lc3NhZ2VTdHJpcCBvbiBhIHRhYmxlLlxuXHQgKiBAcGFyYW0gb01lc3NhZ2Vcblx0ICogQHBhcmFtIG9UYWJsZVxuXHQgKiBAbmFtZSBkYXRhU3RhdGVGaWx0ZXJcblx0ICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdG8gcmVuZGVyIHZpc2libGUgdGhlIG1lc3NhZ2VTdHJpcFxuXHQgKi9cblx0c3RhdGljIHNob3VsZEZpbHRlckRhdGFTdGF0ZU1lc3NhZ2Uob01lc3NhZ2U6IGFueSwgb1RhYmxlOiBhbnkpOiBib29sZWFuIHtcblx0XHRsZXQgb1RhYmxlQVBJID0gb1RhYmxlLmdldFBhcmVudCgpO1xuXHRcdHdoaWxlICghb1RhYmxlQVBJLmlzQShcInNhcC5mZS5tYWNyb3MuVGFibGVBUElcIikpIHtcblx0XHRcdG9UYWJsZUFQSSA9IG9UYWJsZUFQSS5nZXRQYXJlbnQoKTtcblx0XHR9XG5cdFx0cmV0dXJuIG9UYWJsZUFQSS50YWJsZURlZmluaXRpb24uZW5hYmxlRGF0YVN0YXRlRmlsdGVyO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgZXZlbnQgaGFuZGxlcyB0aGUgRGF0YVN0YXRlIG9mIHRoZSBEYXRhU3RhdGVJbmRpY2F0b3IgcGx1Z2luIGZyb20gTURDIG9uIGEgdGFibGUuXG5cdCAqIEl0J3MgZmlyZWQgd2hlbiBuZXcgZXJyb3IgbWVzc2FnZXMgYXJlIHNlbnQgZnJvbSB0aGUgYmFja2VuZCB0byB1cGRhdGUgcm93IGhpZ2hsaWdodGluZy5cblx0ICpcblx0ICogQG5hbWUgb25EYXRhU3RhdGVDaGFuZ2Vcblx0ICogQHBhcmFtIHtvYmplY3R9IG9FdmVudCBFdmVudCBvYmplY3Rcblx0ICovXG5cdEBFdmVudEhhbmRsZXJcblx0b25EYXRhU3RhdGVDaGFuZ2Uob0V2ZW50OiBVSTVFdmVudCkge1xuXHRcdGNvbnN0IG9EYXRhU3RhdGVJbmRpY2F0b3IgPSBvRXZlbnQuZ2V0U291cmNlKCk7XG5cdFx0Y29uc3QgYUZpbHRlcmVkTWVzc2FnZXMgPSBvRXZlbnQuZ2V0UGFyYW1ldGVyKFwiZmlsdGVyZWRNZXNzYWdlc1wiKTtcblx0XHRpZiAoYUZpbHRlcmVkTWVzc2FnZXMpIHtcblx0XHRcdGNvbnN0IG9JbnRlcm5hbE1vZGVsID0gb0RhdGFTdGF0ZUluZGljYXRvci5nZXRNb2RlbChcImludGVybmFsXCIpO1xuXHRcdFx0b0ludGVybmFsTW9kZWwuc2V0UHJvcGVydHkoXCJmaWx0ZXJlZE1lc3NhZ2VzXCIsIGFGaWx0ZXJlZE1lc3NhZ2VzLCBvRGF0YVN0YXRlSW5kaWNhdG9yLmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIikpO1xuXHRcdH1cblx0fVxuXG5cdHN0YXRpYyB1cGRhdGVFeHBvcnRTZXR0aW5ncyhcblx0XHRvRXhwb3J0Q29sdW1uczogYW55LFxuXHRcdG9Db2x1bW5zOiBUYWJsZUNvbHVtbltdLFxuXHRcdG9UYWJsZUNvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyLFxuXHRcdGlzU3BsaXRNb2RlOiBib29sZWFuLFxuXHRcdGlzUkxUTGFuZ3VhZ2U6IGJvb2xlYW5cblx0KTogYW55IHtcblx0XHRvRXhwb3J0Q29sdW1ucy5mb3JFYWNoKChvQ29sdW1uRXhwb3J0OiBhbnkpID0+IHtcblx0XHRcdGxldCBhRXhwb3J0TGFiZWxzOiBzdHJpbmdbXSA9IFtdO1xuXHRcdFx0b0NvbHVtbnM/LmZvckVhY2goY29sdW1uID0+IHtcblx0XHRcdFx0Y29uc3Qgb0NvbHVtbiA9IGNvbHVtbiBhcyBBbm5vdGF0aW9uVGFibGVDb2x1bW47XG5cdFx0XHRcdGlmIChpc1NwbGl0TW9kZSkge1xuXHRcdFx0XHRcdC8vIGFFeHBvcnRMYWJlbHMgd2lsbCBjb250YWluIGxhYmVscyBmcm9tIGEgRmllbGRHcm91cCwgYSB0ZXh0IGFubm90YXRpb24gYW5kIGEgRGF0YVBvaW50XG5cdFx0XHRcdFx0Ly8gVGhlc2UgbGFiZWxzIHdpbGwgYmUgdXNlZCBmb3IgY2hpbGQgcHJvcGVydGllcyAoc2ltcGxlIHByb3BlcnRpZXMpIGZyb20gY29tcGxleFByb3BlcnR5XG5cdFx0XHRcdFx0Ly8gVW5pdC9jdXJyZW5jeSBwcm9wZXJ0aWVzIHdpbGwgYmUgZGlzbWlzcyBhcyBpdCBjb3VsZCBiZSB1c2VkIGluIHNldmVyYWwgZGF0YWZpZWxkcy5cblx0XHRcdFx0XHRjb25zdCBpc1VuaXQgPSBvQ29sdW1ucy5zb21lKGNvbHVtbiA9PiAoY29sdW1uIGFzIEFubm90YXRpb25UYWJsZUNvbHVtbikudW5pdCA9PT0gb0NvbHVtbkV4cG9ydC5wcm9wZXJ0eSk7XG5cdFx0XHRcdFx0Ly8gQ3JlYXRlIEV4cG9ydGluZyBsYWJlbHMgYXJyYXlcblx0XHRcdFx0XHRjb25zdCBGaWVsZEdyb3VwTGFiZWwgPSBUYWJsZUFQSS5fZ2V0RmllbGRHcm91cEV4cG9ydExhYmVsKG9Db2x1bW5FeHBvcnQsIG9Db2x1bW4sIG9UYWJsZUNvbnRyb2xsZXIpO1xuXHRcdFx0XHRcdGlmIChGaWVsZEdyb3VwTGFiZWwpIHtcblx0XHRcdFx0XHRcdGFFeHBvcnRMYWJlbHMudW5zaGlmdChGaWVsZEdyb3VwTGFiZWwpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQvLyBGb3IgYSB0ZXh0IGFubm90YXRpb24sIGV4cG9ydCBsYWJlbCB0ZW1wbGF0ZSB1c2VkIGlzIDx2YWx1ZT4gLSA8ZGVzY3JpcHRpb24+IGFuZCBmb3IgYSBEYXRhUG9pbnQgPGRhdGFwb2ludFZhbHVlPiAtIDxUYXJnZXRWYWx1ZT4uXG5cdFx0XHRcdFx0Ly8gSW4gYm90aCBjYXNlcyBpbnRlcm5hdGlvbmFsaXphdGlvbiBpcyBuZWVkZWRcblx0XHRcdFx0XHRjb25zdCBkYXRhRmllbGREZXNjcmlwdGlvbkxhYmVsID0gVGFibGVBUEkuX2dldERhdGFGaWVsZERlc2NyaXB0aW9uTGFiZWwoXG5cdFx0XHRcdFx0XHRvQ29sdW1uRXhwb3J0LFxuXHRcdFx0XHRcdFx0b0NvbHVtbixcblx0XHRcdFx0XHRcdG9UYWJsZUNvbnRyb2xsZXIsXG5cdFx0XHRcdFx0XHRpc1VuaXRcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGlmIChkYXRhRmllbGREZXNjcmlwdGlvbkxhYmVsKSB7XG5cdFx0XHRcdFx0XHRhRXhwb3J0TGFiZWxzLnVuc2hpZnQoZGF0YUZpZWxkRGVzY3JpcHRpb25MYWJlbCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly9BZGQgVGFyZ2V0VmFsdWUgb24gZHVtbXkgY3JlYXRlZCBwcm9wZXJ0eSB3aGVuICBleHBvcnRpbmcgb24gc3BsaXQgbW9kZVxuXHRcdFx0XHRcdGlmIChvQ29sdW1uLmlzRGF0YVBvaW50RmFrZVRhcmdldFByb3BlcnR5ICYmIG9Db2x1bW4ucmVsYXRpdmVQYXRoID09PSBvQ29sdW1uRXhwb3J0LnByb3BlcnR5KSB7XG5cdFx0XHRcdFx0XHRvQ29sdW1uRXhwb3J0LnByb3BlcnR5ID0gW29Db2x1bW5FeHBvcnQucHJvcGVydHldO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQvL01vZGlmeSBleHBvcnRlZCB2YWx1ZSB3aGVuIHVzaW5nIENvbW11bmljYXRpb24uQ29udGFjdCBkYXRhRmllbGRGb3JBbm5vdGF0aW9uXG5cdFx0XHRcdC8vY29udGFjdD5mbiBwcm9wZXJ0eSBzaG91bGQgYmUgZXhwb3J0ZWRcblx0XHRcdFx0aWYgKG9Db2x1bW4uZXhwb3J0Q29udGFjdFByb3BlcnR5ICYmIGNvbHVtbi5wcm9wZXJ0eUluZm9zKSB7XG5cdFx0XHRcdFx0aWYgKGNvbHVtbi5wcm9wZXJ0eUluZm9zPy5sZW5ndGggPT09IDEgJiYgY29sdW1uLnByb3BlcnR5SW5mb3M/LnRvU3RyaW5nKCkgPT09IG9Db2x1bW5FeHBvcnQucHJvcGVydHkudG9TdHJpbmcoKSkge1xuXHRcdFx0XHRcdFx0b0NvbHVtbkV4cG9ydC5wcm9wZXJ0eSA9IG9Db2x1bW4uZXhwb3J0Q29udGFjdFByb3BlcnR5O1xuXHRcdFx0XHRcdFx0b0NvbHVtbkV4cG9ydC5sYWJlbCA9IG9Db2x1bW4ubGFiZWw7XG5cdFx0XHRcdFx0fSBlbHNlIGlmIChcblx0XHRcdFx0XHRcdGNvbHVtbi5wcm9wZXJ0eUluZm9zPy5sZW5ndGggPiAxICYmXG5cdFx0XHRcdFx0XHRvQ29sdW1uLnByb3BlcnR5SW5mb3M/LnNvbWUocHJvcCA9PiBvQ29sdW1uRXhwb3J0LnByb3BlcnR5LmluY2x1ZGVzKHByb3ApKSAmJlxuXHRcdFx0XHRcdFx0QXJyYXkuaXNBcnJheShvQ29sdW1uRXhwb3J0LnByb3BlcnR5KVxuXHRcdFx0XHRcdCkge1xuXHRcdFx0XHRcdFx0b0NvbHVtbkV4cG9ydC5wcm9wZXJ0eSA9IG9Db2x1bW5FeHBvcnQucHJvcGVydHk/Lm1hcCgocHJvcGVydHk6IHN0cmluZykgPT4ge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gb0NvbHVtbi5wcm9wZXJ0eUluZm9zPy5zb21lKHByb3AgPT4gcHJvcCA9PT0gcHJvcGVydHkpID8gb0NvbHVtbi5leHBvcnRDb250YWN0UHJvcGVydHkgOiBwcm9wZXJ0eTtcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRhRXhwb3J0TGFiZWxzLnB1c2goRGVsZWdhdGVVdGlsLmdldExvY2FsaXplZFRleHQob0NvbHVtbkV4cG9ydC5sYWJlbCwgb1RhYmxlQ29udHJvbGxlcikpO1xuXHRcdFx0aWYgKGFFeHBvcnRMYWJlbHMubGVuZ3RoID4gMSkge1xuXHRcdFx0XHQvLyBSZW1vdmUgZHVwbGljYXRlIGxhYmVscyAoZS5nLiBGaWVsZEdyb3VwIGxhYmVsIGlzIHRoZSBzYW1lIGFzIHRoZSBsYWJlbCBvZiBvbmUgb2YgdGhlIHByb3BlcnRpZXMpXG5cdFx0XHRcdGFFeHBvcnRMYWJlbHMgPSBhRXhwb3J0TGFiZWxzLmZpbHRlcihmdW5jdGlvbihsYWJlbCwgaW5kZXgpIHtcblx0XHRcdFx0XHRpZiAoYUV4cG9ydExhYmVscy5pbmRleE9mKGxhYmVsKSA9PSBpbmRleCkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIGxhYmVsO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0XHQvLyBDaGVjayBpZiBhIFJUTCBsYW5ndWFnZSBpZiB1c2VkIGFuZCBpZiBzbyB3ZSBuZWVkIHRvIHJldmVyc2UgbGFiZWxzXG5cdFx0XHRpZiAoaXNSTFRMYW5ndWFnZSkge1xuXHRcdFx0XHRhRXhwb3J0TGFiZWxzLnJldmVyc2UoKTtcblx0XHRcdH1cblx0XHRcdG9Db2x1bW5FeHBvcnQubGFiZWwgPSBhRXhwb3J0TGFiZWxzLmpvaW4oXCIgLSBcIik7XG5cdFx0fSk7XG5cdFx0cmV0dXJuIG9FeHBvcnRDb2x1bW5zO1xuXHR9XG5cblx0c3RhdGljIF9nZXRGaWVsZEdyb3VwRXhwb3J0TGFiZWwob0NvbHVtbkV4cG9ydDogYW55LCBvQ29sdW1uOiBBbm5vdGF0aW9uVGFibGVDb2x1bW4sIG9UYWJsZUNvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyKSB7XG5cdFx0aWYgKFxuXHRcdFx0KG9Db2x1bW5FeHBvcnQuY29sdW1uSWQuaW5kZXhPZihcIjo6RmllbGRHcm91cDo6XCIpICE9PSAtMSB8fFxuXHRcdFx0XHQob0NvbHVtbi5leHBvcnRTZXR0aW5ncz8uZmllbGRMYWJlbCAmJiBvQ29sdW1uRXhwb3J0LmNvbHVtbklkLmluZGV4T2YoXCJfX2NvbHVtblwiKSAhPT0gLTEpKSAmJlxuXHRcdFx0KG9Db2x1bW4ucHJvcGVydHlJbmZvcz8uaW5jbHVkZXMob0NvbHVtbkV4cG9ydC5wcm9wZXJ0eSkgfHxcblx0XHRcdFx0b0NvbHVtbi5wcm9wZXJ0eUluZm9zPy5pbmNsdWRlcyhcIlByb3BlcnR5OjpcIiArIG9Db2x1bW5FeHBvcnQucHJvcGVydHkpKVxuXHRcdCkge1xuXHRcdFx0Y29uc3QgbGFiZWwgPSBvQ29sdW1uLmV4cG9ydFNldHRpbmdzPy5maWVsZExhYmVsIHx8IG9Db2x1bW4ubGFiZWw7XG5cdFx0XHRyZXR1cm4gRGVsZWdhdGVVdGlsLmdldExvY2FsaXplZFRleHQobGFiZWwgYXMgc3RyaW5nLCBvVGFibGVDb250cm9sbGVyKTtcblx0XHR9XG5cdH1cblxuXHRzdGF0aWMgX2dldERhdGFGaWVsZERlc2NyaXB0aW9uTGFiZWwoXG5cdFx0b0NvbHVtbkV4cG9ydDogYW55LFxuXHRcdG9Db2x1bW46IEFubm90YXRpb25UYWJsZUNvbHVtbixcblx0XHRvVGFibGVDb250cm9sbGVyOiBQYWdlQ29udHJvbGxlcixcblx0XHRpc1VuaXQ6IGJvb2xlYW5cblx0KSB7XG5cdFx0aWYgKFxuXHRcdFx0b0NvbHVtbi5wcm9wZXJ0eUluZm9zICYmXG5cdFx0XHRvQ29sdW1uLnByb3BlcnR5SW5mb3M/Lmxlbmd0aCA+IDEgJiZcblx0XHRcdCFpc1VuaXQgJiZcblx0XHRcdChvQ29sdW1uLnByb3BlcnR5SW5mb3M/LmluY2x1ZGVzKG9Db2x1bW5FeHBvcnQucHJvcGVydHkpIHx8XG5cdFx0XHRcdG9Db2x1bW4ucHJvcGVydHlJbmZvcz8uaW5jbHVkZXMoXCJQcm9wZXJ0eTo6XCIgKyBvQ29sdW1uRXhwb3J0LnByb3BlcnR5KSkgJiZcblx0XHRcdG9Db2x1bW4ucmVsYXRpdmVQYXRoPy5pbmRleE9mKFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkZpZWxkR3JvdXBcIikgPT09IC0xXG5cdFx0KSB7XG5cdFx0XHRyZXR1cm4gRGVsZWdhdGVVdGlsLmdldExvY2FsaXplZFRleHQob0NvbHVtbi5sYWJlbCBhcyBzdHJpbmcsIG9UYWJsZUNvbnRyb2xsZXIpO1xuXHRcdH1cblx0fVxuXHRARXZlbnRIYW5kbGVyXG5cdG9uTWFzc0VkaXRCdXR0b25QcmVzc2VkKG9FdmVudDogVUk1RXZlbnQsIFBhZ2VDb250cm9sbGVyOiBQYWdlQ29udHJvbGxlcikge1xuXHRcdGNvbnN0IG9UYWJsZSA9IHRoaXMuY29udGVudDtcblx0XHRNYXNzRWRpdEhhbmRsZXIub3Blbk1hc3NFZGl0RGlhbG9nKG9UYWJsZSwgUGFnZUNvbnRyb2xsZXIpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRhYmxlQVBJO1xuIl19
483
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlQVBJLnRzIl0sIm5hbWVzIjpbIlRhYmxlQVBJIiwiQVBJQ2xhc3MiLCJNYWNyb0NvbnRleHQiLCJQcm9wZXJ0eSIsInR5cGUiLCJkZWZhdWx0VmFsdWUiLCJvRXZlbnQiLCJvQ29udHJvbGxlciIsIm9Db250ZXh0IiwibVBhcmFtZXRlcnMiLCJpc0EiLCJnZXRQcm9wZXJ0eSIsIl9yb3V0aW5nIiwibmF2aWdhdGVGb3J3YXJkVG9Db250ZXh0IiwiZ2V0UGFyYW1ldGVyIiwiZ2V0Q29udHJvbGxlciIsIm1lc3NhZ2VIYW5kbGVyIiwic2hvd01lc3NhZ2VEaWFsb2ciLCJ0YWJsZURlZmluaXRpb24iLCJjb250cm9sIiwiZW5hYmxlUGFzdGUiLCJnZXRNb2RlbCIsImFSYXdQYXN0ZWREYXRhIiwib1RhYmxlIiwiZ2V0U291cmNlIiwiYlBhc3RlRW5hYmxlZCIsImRhdGEiLCJvUmVzb3VyY2VNb2RlbCIsIlBhc3RlSGVscGVyIiwicGFyc2VEYXRhRm9yVGFibGVQYXN0ZSIsInRoZW4iLCJhUGFyc2VkRGF0YSIsImxlbmd0aCIsIl9lZGl0RmxvdyIsImNyZWF0ZU11bHRpcGxlRG9jdW1lbnRzIiwiZ2V0Um93QmluZGluZyIsImNyZWF0ZUF0RW5kIiwiY2F0Y2giLCJvRXJyb3IiLCJMb2ciLCJlcnJvciIsInNhcCIsInVpIiwiZ2V0Q29yZSIsImdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZSIsIk1lc3NhZ2VCb3giLCJnZXRUZXh0IiwidGl0bGUiLCJzRGV2aWNlT3MiLCJEZXZpY2UiLCJvcyIsIm5hbWUiLCJzRGV2aWNlU3lzdGVtIiwic3lzdGVtIiwic01lc3NhZ2VPblBhc3RlQnV0dG9uIiwicGhvbmUiLCJ0YWJsZXQiLCJjb21iaSIsImRlc2t0b3AiLCJpbmZvcm1hdGlvbiIsIm9uQ2xvc2UiLCJjb250ZW50IiwiZ2V0QWdncmVnYXRpb24iLCJhcHBseUZvY3VzSW5mbyIsInByZXZlbnRTY3JvbGwiLCJpc1NwbGl0TW9kZSIsImdldFBhcmFtZXRlcnMiLCJ1c2VyRXhwb3J0U2V0dGluZ3MiLCJzcGxpdENlbGxzIiwiaXNSTFRMYW5ndWFnZSIsImdldENvbmZpZ3VyYXRpb24iLCJnZXRSVEwiLCJvVGFibGVDb250cm9sbGVyIiwib0V4cG9ydENvbHVtbnMiLCJleHBvcnRTZXR0aW5ncyIsIndvcmtib29rIiwiY29sdW1ucyIsIm9UYWJsZUNvbHVtbnMiLCJ1cGRhdGVFeHBvcnRTZXR0aW5ncyIsIm9EYXRhU3RhdGVJbmRpY2F0b3IiLCJhRmlsdGVyZWRNZXNzYWdlcyIsIm9JbnRlcm5hbE1vZGVsIiwic2V0UHJvcGVydHkiLCJnZXRCaW5kaW5nQ29udGV4dCIsIlBhZ2VDb250cm9sbGVyIiwiTWFzc0VkaXRIYW5kbGVyIiwib3Blbk1hc3NFZGl0RGlhbG9nIiwib01lc3NhZ2UiLCJvVGFibGVBUEkiLCJnZXRQYXJlbnQiLCJlbmFibGVEYXRhU3RhdGVGaWx0ZXIiLCJvQ29sdW1ucyIsImZvckVhY2giLCJvQ29sdW1uRXhwb3J0IiwiYUV4cG9ydExhYmVscyIsImNvbHVtbiIsIm9Db2x1bW4iLCJpc1VuaXQiLCJzb21lIiwidW5pdCIsInByb3BlcnR5IiwiRmllbGRHcm91cExhYmVsIiwiX2dldEZpZWxkR3JvdXBFeHBvcnRMYWJlbCIsInVuc2hpZnQiLCJkYXRhRmllbGREZXNjcmlwdGlvbkxhYmVsIiwiX2dldERhdGFGaWVsZERlc2NyaXB0aW9uTGFiZWwiLCJpc0RhdGFQb2ludEZha2VUYXJnZXRQcm9wZXJ0eSIsInJlbGF0aXZlUGF0aCIsImV4cG9ydENvbnRhY3RQcm9wZXJ0eSIsInByb3BlcnR5SW5mb3MiLCJ0b1N0cmluZyIsImxhYmVsIiwicHJvcCIsImluY2x1ZGVzIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwicHVzaCIsIkRlbGVnYXRlVXRpbCIsImdldExvY2FsaXplZFRleHQiLCJmaWx0ZXIiLCJpbmRleCIsImluZGV4T2YiLCJyZXZlcnNlIiwiam9pbiIsImNvbHVtbklkIiwiZmllbGRMYWJlbCIsIk1hY3JvQVBJIiwiRXZlbnQiLCJF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LCtCQUNBSixPQUFPLENBQUNhLGFBRFIsbURBQ0EsdUJBQXVCSSxRQUF2QixDQUFnQyxlQUFlcEIsYUFBYSxDQUFDTyxRQUE3RCxDQUpELEtBS0EsMEJBQUFKLE9BQU8sQ0FBQ1csWUFBUixnRkFBc0JlLE9BQXRCLENBQThCLHdDQUE5QixPQUE0RSxDQUFDLENBTjlFLEVBT0U7QUFDRCxpQkFBT0osWUFBWSxDQUFDQyxnQkFBYixDQUE4QnZCLE9BQU8sQ0FBQ2UsS0FBdEMsRUFBdUR2QyxnQkFBdkQsQ0FBUDtBQUNBO0FBQ0Q7Ozs7SUF0WXFCdUQsUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2dGQXlHckJDLEs7Ozs7O29GQVVBQSxLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt1RUF1Q0FDLFksc0tBZUFBLFksOEpBTUFBLFksNEpBbUNBQSxZLG1LQWlDQUEsWSxnS0FvQ0FBLFkseUtBZ0hBQSxZO1NBT2FqSSxRIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUElDbGFzcywgRXZlbnRIYW5kbGVyLCBNYWNyb0NvbnRleHQsIFByb3BlcnR5LCBFdmVudCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgUGFzdGVIZWxwZXIgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVyc1wiO1xuaW1wb3J0IHsgTWVzc2FnZUJveCB9IGZyb20gXCJzYXAvbVwiO1xuaW1wb3J0IHsgRGV2aWNlIH0gZnJvbSBcInNhcC91aVwiO1xuaW1wb3J0IHsgTG9nIH0gZnJvbSBcInNhcC9iYXNlXCI7XG5pbXBvcnQgeyBQYWdlQ29udHJvbGxlciB9IGZyb20gXCJzYXAvZmUvY29yZVwiO1xuaW1wb3J0IHsgQW5ub3RhdGlvblRhYmxlQ29sdW1uLCBUYWJsZUNvbHVtbiwgVGFibGVWaXN1YWxpemF0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvY29udHJvbHMvQ29tbW9uL1RhYmxlXCI7XG5pbXBvcnQgTWFjcm9BUEkgZnJvbSBcIi4vTWFjcm9BUElcIjtcbmltcG9ydCB7IE1hc3NFZGl0SGFuZGxlciB9IGZyb20gXCJzYXAvZmUvbWFjcm9zL21hc3NlZGl0XCI7XG5pbXBvcnQgeyBEZWxlZ2F0ZVV0aWwgfSBmcm9tIFwic2FwL2ZlL21hY3Jvc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjRcIjtcblxuLyoqXG4gKiBEZWZpbml0aW9uIG9mIGEgY3VzdG9tIGFjdGlvbiB0byBiZSB1c2VkIGluc2lkZSB0aGUgdGFibGUgdG9vbGJhclxuICpcbiAqIEBhbGlhcyBzYXAuZmUubWFjcm9zLnRhYmxlLkFjdGlvblxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBBY3Rpb24gPSB7XG5cdC8qKlxuXHQgKiBVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgYWN0aW9uXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGtleTogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIHRleHQgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCBmb3IgdGhpcyBhY3Rpb25cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0dGV4dDogc3RyaW5nO1xuXHQvKipcblx0ICogUmVmZXJlbmNlIHRvIHRoZSBrZXkgb2YgYW5vdGhlciBhY3Rpb24gYWxyZWFkeSBkaXNwbGF5ZWQgaW4gdGhlIHRvb2xiYXIgdG8gcHJvcGVybHkgcGxhY2UgdGhpcyBvbmVcblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0YW5jaG9yPzogc3RyaW5nO1xuXHQvKipcblx0ICogRGVmaW5lcyB3aGVyZSB0aGlzIGFjdGlvbiBzaG91bGQgYmUgcGxhY2VkIHJlbGF0aXZlIHRvIHRoZSBkZWZpbmVkIGFuY2hvclxuXHQgKlxuXHQgKiBBbGxvd2VkIHZhbHVlcyBhcmUgYEJlZm9yZWAgYW5kIGBBZnRlcmBcblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0cGxhY2VtZW50Pzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBFdmVudCBoYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGNob29zZXMgdGhlIGFjdGlvblxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRwcmVzczogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBEZWZpbml0aW9uIG9mIGEgY3VzdG9tIGNvbHVtbiB0byBiZSB1c2VkIGluc2lkZSB0aGUgdGFibGUuXG4gKlxuICogVGhlIHRlbXBsYXRlIGZvciB0aGUgY29sdW1uIGhhcyB0byBiZSBwcm92aWRlZCBhcyB0aGUgZGVmYXVsdCBhZ2dyZWdhdGlvblxuICpcbiAqIEBhbGlhcyBzYXAuZmUubWFjcm9zLnRhYmxlLkNvbHVtblxuICogQHB1YmxpY1xuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgdHlwZSBDb2x1bW4gPSB7XG5cdC8qKlxuXHQgKiBVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY29sdW1uXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGtleTogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIHRleHQgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCBmb3IgdGhpcyBjb2x1bW4gaGVhZGVyXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGhlYWRlcjogc3RyaW5nO1xuXHQvKipcblx0ICogUmVmZXJlbmNlIHRvIHRoZSBrZXkgb2YgYW5vdGhlciBjb2x1bW4gYWxyZWFkeSBkaXNwbGF5ZWQgaW4gdGhlIHRhYmxlIHRvIHByb3Blcmx5IHBsYWNlIHRoaXMgb25lXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGFuY2hvcj86IHN0cmluZztcblx0LyoqXG5cdCAqIERlZmluZXMgd2hlcmUgdGhpcyBjb2x1bW4gc2hvdWxkIGJlIHBsYWNlZCByZWxhdGl2ZSB0byB0aGUgZGVmaW5lZCBhbmNob3Jcblx0ICpcblx0ICogQWxsb3dlZCB2YWx1ZXMgYXJlIGBCZWZvcmVgIGFuZCBgQWZ0ZXJgXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHBsYWNlbWVudD86IHN0cmluZztcbn07XG5cbi8qKlxuICogQnVpbGRpbmcgYmxvY2sgdXNlZCB0byBjcmVhdGUgYSB0YWJsZSBiYXNlZCBvbiB0aGUgbWV0YWRhdGEgcHJvdmlkZWQgYnkgT0RhdGEgVjQuXG4gKiA8YnI+XG4gKiBVc3VhbGx5LCBhIExpbmVJdGVtIG9yIFByZXNlbnRhdGlvblZhcmlhbnQgYW5ub3RhdGlvbiBpcyBleHBlY3RlZCwgYnV0IHRoZSBUYWJsZSBidWlsZGluZyBibG9jayBjYW4gYWxzbyBiZSB1c2VkIHRvIGRpc3BsYXkgYW4gRW50aXR5U2V0LlxuICpcbiAqXG4gKiBVc2FnZSBleGFtcGxlOlxuICogPHByZT5cbiAqICZsdDttYWNybzpUYWJsZSBpZD1cIk15VGFibGVcIiBtZXRhUGF0aD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiIC8mZ3Q7XG4gKiA8L3ByZT5cbiAqXG4gKiBAYWxpYXMgc2FwLmZlLm1hY3Jvcy5UYWJsZVxuICogQHB1YmxpY1xuICovXG5AQVBJQ2xhc3MoXCJzYXAuZmUubWFjcm9zLlRhYmxlQVBJXCIpXG5jbGFzcyBUYWJsZUFQSSBleHRlbmRzIE1hY3JvQVBJIHtcblx0QE1hY3JvQ29udGV4dCgpXG5cdHRhYmxlRGVmaW5pdGlvbiE6IFRhYmxlVmlzdWFsaXphdGlvbjtcblxuXHQvKipcblx0ICogQW4gZXhwcmVzc2lvbiB0aGF0IGFsbG93cyB5b3UgdG8gY29udHJvbCB0aGUgJ3JlYWQtb25seScgc3RhdGUgb2YgdGhlIHRhYmxlLlxuXHQgKlxuXHQgKiBJZiB5b3UgZG8gbm90IHNldCBhbnkgZXhwcmVzc2lvbiwgU0FQIEZpb3JpIGVsZW1lbnRzIGhvb2tzIGludG8gdGhlIHN0YW5kYXJkIGxpZmVjeWNsZSB0byBkZXRlcm1pbmUgdGhlIGN1cnJlbnQgc3RhdGUuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBQcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHJlYWRPbmx5ITogYm9vbGVhbjtcblxuXHQvKipcblx0ICogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHRhYmxlIGNvbnRyb2wuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBQcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0aWQhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEFuIGV4cHJlc3Npb24gdGhhdCBhbGxvd3MgeW91IHRvIGNvbnRyb2wgdGhlICdidXN5JyBzdGF0ZSBvZiB0aGUgdGFibGUuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBQcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiLCBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG5cdGJ1c3khOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSB0eXBlIG9mIHRhYmxlIHRoYXQgd2lsbCBiZSB1c2VkIGJ5IHRoZSBtYWNybyB0byByZW5kZXIgdGhlIGRhdGEuXG5cdCAqXG5cdCAqIEFsbG93ZWQgdmFsdWVzIGFyZSBgR3JpZFRhYmxlYCBhbmQgYFJlc3BvbnNpdmVUYWJsZWBcblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QFByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgZGVmYXVsdFZhbHVlOiBcIlJlc3BvbnNpdmVUYWJsZVwiIH0pXG5cdHR5cGUhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIENvbnRyb2xzIGlmIHRoZSBleHBvcnQgZnVuY3Rpb25hbGl0eSBvZiB0aGUgdGFibGUgaXMgZW5hYmxlZCBvciBub3QuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBQcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiLCBkZWZhdWx0VmFsdWU6IHRydWUgfSlcblx0ZW5hYmxlRXhwb3J0ITogYm9vbGVhbjtcblxuXHQvKipcblx0ICogQ29udHJvbHMgaWYgdGhlIHBhc3RlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIHRhYmxlIGlzIGVuYWJsZWQgb3Igbm90LlxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAUHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiwgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuXHRlbmFibGVQYXN0ZSE6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIENvbnRyb2xzIHdoZXRoZXIgdGhlIHRhYmxlIGNhbiBiZSBvcGVuZWQgaW4gZnVsbHNjcmVlbiBtb2RlIG9yIG5vdC5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QFByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcblx0ZW5hYmxlRnVsbFNjcmVlbiE6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIHNlbGVjdGlvbiBtb2RlIHRvIGJlIHVzZWQgYnkgdGhlIHRhYmxlLlxuXHQgKlxuXHQgKiBBbGxvd2VkIHZhbHVlcyBhcmUgYE5vbmVgLCBgU2luZ2xlYCwgYE11bHRpYCBvciBgQXV0b2Bcblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QFByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRzZWxlY3Rpb25Nb2RlITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBTcGVjaWZpZXMgdGhlIGhlYWRlciB0ZXh0IHRoYXQgaXMgc2hvd24gaW4gdGhlIHRhYmxlLlxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAUHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGhlYWRlciE6IHN0cmluZztcblxuXHQvKipcblx0ICogU3BlY2lmaWVzIHRoZSBoZWFkZXIgdGV4dCB0aGF0IGlzIHNob3duIGluIHRoZSB0YWJsZS5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QFByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcblx0ZW5hYmxlQXV0b0NvbHVtbldpZHRoITogYm9vbGVhbjtcblxuXHQvKipcblx0ICogQ29udHJvbHMgaWYgdGhlIGhlYWRlciB0ZXh0IHNob3VsZCBiZSBzaG93biBvciBub3QuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBQcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiLCBkZWZhdWx0VmFsdWU6IHRydWUgfSlcblx0aGVhZGVyVmlzaWJsZSE6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIEFuIGV2ZW50IHRyaWdnZXJlZCB3aGVuIHRoZSB1c2VyIGNob29zZXMgYSByb3c7IHRoZSBldmVudCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB3aGljaCByb3cgd2FzIGNob3Nlbi5cblx0ICpcblx0ICogWW91IGNhbiBzZXQgdGhpcyBpbiBvcmRlciB0byBoYW5kbGUgdGhlIG5hdmlnYXRpb24gbWFudWFsbHkuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBFdmVudFxuXHRyb3dQcmVzcyE6IEZ1bmN0aW9uO1xuXG5cdC8qKlxuXHQgKiBBbiBldmVudCB0cmlnZ2VyZWQgd2hlbiB0aGUgVGFibGUgU3RhdGUgY2hhbmdlcy5cblx0ICpcblx0ICogWW91IGNhbiBzZXQgdGhpcyBpbiBvcmRlciB0byBzdG9yZSB0aGUgdGFibGUgc3RhdGUgaW4gdGhlIGFwcHN0YXRlLlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QEV2ZW50XG5cdHN0YXRlQ2hhbmdlZCE6IEZ1bmN0aW9uO1xuXG5cdC8qKlxuXHQgKiBDb250cm9scyB3aGljaCBvcHRpb25zIHNob3VsZCBiZSBlbmFibGVkIGZvciB0aGUgdGFibGUgcGVyc29uYWxpemF0aW9uIGRpYWxvZy5cblx0ICpcblx0ICogSWYgaXQgaXMgc2V0IHRvIGB0cnVlYCwgYWxsIHBvc3NpYmxlIG9wdGlvbnMgZm9yIHRoaXMga2luZCBvZiB0YWJsZSBhcmUgZW5hYmxlZC48YnIvPlxuXHQgKiBJZiBpdCBpcyBzZXQgdG8gYGZhbHNlYCwgcGVyc29uYWxpemF0aW9uIGlzIGRpc2FibGVkLjxici8+XG5cdCAqPGJyLz5cblx0ICogWW91IGNhbiBhbHNvIHByb3ZpZGUgYSBtb3JlIGdyYW51bGFyIGNvbnRyb2wgZm9yIHRoZSBwZXJzb25hbGl6YXRpb24gYnkgcHJvdmlkaW5nIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgd2l0aCB0aGUgb3B0aW9ucyB5b3Ugd2FudCB0byBiZSBhdmFpbGFibGUuPGJyLz5cblx0ICogQXZhaWxhYmxlIG9wdGlvbnMgYXJlOjxici8+XG5cdCAqICAtIFNvcnQ8YnIvPlxuXHQgKiAgLSBDb2x1bW48YnIvPlxuXHQgKiAgLSBGaWx0ZXI8YnIvPlxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAUHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW58c3RyaW5nXCIsIGRlZmF1bHRWYWx1ZTogdHJ1ZSB9KVxuXHRwZXJzb25hbGl6YXRpb24hOiBib29sZWFuIHwgc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBDb250cm9scyB0aGUga2luZCBvZiB2YXJpYW50IG1hbmFnZW1lbnQgdGhhdCBzaG91bGQgYmUgZW5hYmxlZCBmb3IgdGhlIHRhYmxlLlxuXHQgKlxuXHQgKiBBbGxvd2VkIHZhbHVlcyBhcmUgYFBhZ2VgLCBgQ29udHJvbGAgYW5kIGBOb25lYC48YnIvPlxuXHQgKiBJZiB0aGUgdGFibGUgaXMgdXNlZCB3aXRoaW4gYSBTQVAgRmlvcmkgZWxlbWVudHMgdGVtcGxhdGUsIHRoZSBkZWZhdWx0IHZhbHVlIHdpbGwgYmUgdGFrZW4gZnJvbSB0aGUgY3VycmVudCBwYWdlIHZhcmlhbnQgbWFuYWdlbWVudC48YnIvPlxuXHQgKiBPdGhlcndpc2UgaXQncyBgTm9uZWAuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBQcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0dmFyaWFudE1hbmFnZW1lbnQhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIENvbnRyb2xzIGlmIHRoZSBkYXRhU3RhdGVJbmRpY2F0b3IgZnVuY3Rpb25hbGl0eSBvZiB0aGUgdGFibGUgaXMgZW5hYmxlZCBvciBub3QuXG5cdCAqXG5cdCAqL1xuXHRAUHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRlbmFibGVEYXRhU3RhdGVGaWx0ZXIhOiBib29sZWFuO1xuXG5cdEBFdmVudEhhbmRsZXJcblx0b25UYWJsZVJvd1ByZXNzKG9FdmVudDogVUk1RXZlbnQsIG9Db250cm9sbGVyOiBQYWdlQ29udHJvbGxlciwgb0NvbnRleHQ6IENvbnRleHQsIG1QYXJhbWV0ZXJzOiBhbnkpIHtcblx0XHQvLyBJbiB0aGUgY2FzZSBvZiBhbiBhbmFseXRpY2FsIHRhYmxlLCBpZiB3ZSdyZSB0cnlpbmcgdG8gbmF2aWdhdGUgdG8gYSBjb250ZXh0IGNvcnJlc3BvbmRpbmcgdG8gYSB2aXN1YWwgZ3JvdXAgb3IgZ3JhbmQgdG90YWxcblx0XHQvLyAtLT4gQ2FuY2VsIG5hdmlnYXRpb25cblx0XHRpZiAoXG5cdFx0XHRvQ29udGV4dCAmJlxuXHRcdFx0b0NvbnRleHQuaXNBKFwic2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHRcIikgJiZcblx0XHRcdHR5cGVvZiBvQ29udGV4dC5nZXRQcm9wZXJ0eShcIkAkdWk1Lm5vZGUuaXNFeHBhbmRlZFwiKSA9PT0gXCJib29sZWFuXCJcblx0XHQpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0b0NvbnRyb2xsZXIuX3JvdXRpbmcubmF2aWdhdGVGb3J3YXJkVG9Db250ZXh0KG9Db250ZXh0LCBtUGFyYW1ldGVycyk7XG5cdFx0fVxuXHR9XG5cblx0QEV2ZW50SGFuZGxlclxuXHRvbkludGVybmFsRGF0YVJlY2VpdmVkKG9FdmVudDogVUk1RXZlbnQpIHtcblx0XHRpZiAob0V2ZW50LmdldFBhcmFtZXRlcihcImVycm9yXCIpKSB7XG5cdFx0XHR0aGlzLmdldENvbnRyb2xsZXIoKS5tZXNzYWdlSGFuZGxlci5zaG93TWVzc2FnZURpYWxvZygpO1xuXHRcdH1cblx0fVxuXHRARXZlbnRIYW5kbGVyXG5cdG9uUGFzdGUob0V2ZW50OiBVSTVFdmVudCwgb0NvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyKSB7XG5cdFx0Ly8gSWYgcGFzdGUgaXMgZGlzYWJsZSBvciBpZiB3ZSdyZSBub3QgaW4gZWRpdCBtb2RlLCB3ZSBjYW4ndCBwYXN0ZSBhbnl0aGluZ1xuXHRcdGlmICghdGhpcy50YWJsZURlZmluaXRpb24uY29udHJvbC5lbmFibGVQYXN0ZSB8fCAhdGhpcy5nZXRNb2RlbChcInVpXCIpLmdldFByb3BlcnR5KFwiL2lzRWRpdGFibGVcIikpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBhUmF3UGFzdGVkRGF0YSA9IG9FdmVudC5nZXRQYXJhbWV0ZXIoXCJkYXRhXCIpLFxuXHRcdFx0b1RhYmxlID0gb0V2ZW50LmdldFNvdXJjZSgpLFxuXHRcdFx0YlBhc3RlRW5hYmxlZCA9IG9UYWJsZS5kYXRhKClbXCJlbmFibGVQYXN0ZVwiXTtcblx0XHRsZXQgb1Jlc291cmNlTW9kZWw7XG5cblx0XHRpZiAoYlBhc3RlRW5hYmxlZCA9PT0gdHJ1ZSB8fCBiUGFzdGVFbmFibGVkID09PSBcInRydWVcIikge1xuXHRcdFx0UGFzdGVIZWxwZXIucGFyc2VEYXRhRm9yVGFibGVQYXN0ZShhUmF3UGFzdGVkRGF0YSwgb1RhYmxlKVxuXHRcdFx0XHQudGhlbihhUGFyc2VkRGF0YSA9PiB7XG5cdFx0XHRcdFx0aWYgKGFQYXJzZWREYXRhICYmIGFQYXJzZWREYXRhLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdHJldHVybiBvQ29udHJvbGxlci5fZWRpdEZsb3cuY3JlYXRlTXVsdGlwbGVEb2N1bWVudHMoXG5cdFx0XHRcdFx0XHRcdG9UYWJsZS5nZXRSb3dCaW5kaW5nKCksXG5cdFx0XHRcdFx0XHRcdGFQYXJzZWREYXRhLFxuXHRcdFx0XHRcdFx0XHR0aGlzLnRhYmxlRGVmaW5pdGlvbi5jb250cm9sLmNyZWF0ZUF0RW5kLFxuXHRcdFx0XHRcdFx0XHR0cnVlXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKG9FcnJvciA9PiB7XG5cdFx0XHRcdFx0TG9nLmVycm9yKFwiRXJyb3Igd2hpbGUgcGFzdGluZyBkYXRhXCIsIG9FcnJvcik7XG5cdFx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRvUmVzb3VyY2VNb2RlbCA9IHNhcC51aS5nZXRDb3JlKCkuZ2V0TGlicmFyeVJlc291cmNlQnVuZGxlKFwic2FwLmZlLmNvcmVcIik7XG5cdFx0XHRNZXNzYWdlQm94LmVycm9yKG9SZXNvdXJjZU1vZGVsLmdldFRleHQoXCJUX09QX0NPTlRST0xMRVJfU0FQRkVfUEFTVEVfRElTQUJMRURfTUVTU0FHRVwiKSwge1xuXHRcdFx0XHR0aXRsZTogb1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfQ09NTU9OX1NBUEZFX0VSUk9SXCIpXG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRARXZlbnRIYW5kbGVyXG5cdG9uUGFzdGVCdXR0b25QcmVzc2VkKCkge1xuXHRcdGNvbnN0IG9SZXNvdXJjZU1vZGVsID0gc2FwLnVpLmdldENvcmUoKS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUudGVtcGxhdGVzXCIpLFxuXHRcdFx0c0RldmljZU9zID0gRGV2aWNlLm9zLm5hbWUsXG5cdFx0XHRzRGV2aWNlU3lzdGVtID0gRGV2aWNlLnN5c3RlbTtcblx0XHQvLyBXZSBuZWVkIGEgZGVmYXVsdCBpbiBjYXNlIHdlIGZhbGwgdGhyb3VnaCB0aGUgY3JhY2tcblx0XHRsZXQgc01lc3NhZ2VPblBhc3RlQnV0dG9uOiBzdHJpbmcgPSBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9PUF9DT05UUk9MTEVSX1RBQkxFX1BBU1RFX0JVVFRPTl9BQ1RJT05fTUVTU0FHRV9XSU5ET1dTX0RFU0tUT1BcIik7XG5cdFx0Ly8gT24gbW9iaWxlLCB0aGVyZSBpcyBubyBuYXRpdmUgcGFzdGUgdHJpZ2dlcjpcblx0XHRpZiAoc0RldmljZVN5c3RlbS5waG9uZSB8fCAoc0RldmljZVN5c3RlbS50YWJsZXQgJiYgIXNEZXZpY2VTeXN0ZW0uY29tYmkpKSB7XG5cdFx0XHRzTWVzc2FnZU9uUGFzdGVCdXR0b24gPSBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9PUF9DT05UUk9MTEVSX1RBQkxFX1BBU1RFX0JVVFRPTl9BQ1RJT05fTUVTU0FHRV9UT1VDSF9ERVZJQ0VcIik7XG5cdFx0fSBlbHNlIGlmIChzRGV2aWNlU3lzdGVtLmRlc2t0b3ApIHtcblx0XHRcdHN3aXRjaCAoc0RldmljZU9zKSB7XG5cdFx0XHRcdGNhc2UgXCJ3aW5cIjpcblx0XHRcdFx0XHRzTWVzc2FnZU9uUGFzdGVCdXR0b24gPSBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9PUF9DT05UUk9MTEVSX1RBQkxFX1BBU1RFX0JVVFRPTl9BQ1RJT05fTUVTU0FHRV9XSU5ET1dTX0RFU0tUT1BcIik7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdGNhc2UgXCJtYWNcIjpcblx0XHRcdFx0XHRzTWVzc2FnZU9uUGFzdGVCdXR0b24gPSBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9PUF9DT05UUk9MTEVSX1RBQkxFX1BBU1RFX0JVVFRPTl9BQ1RJT05fTUVTU0FHRV9JT1NfREVTS1RPUFwiKTtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdH1cblx0XHR9XG5cdFx0TWVzc2FnZUJveC5pbmZvcm1hdGlvbihzTWVzc2FnZU9uUGFzdGVCdXR0b24sIHtcblx0XHRcdG9uQ2xvc2U6ICgpID0+IHtcblx0XHRcdFx0aWYgKHRoaXMuY29udGVudCkge1xuXHRcdFx0XHRcdC8vIFNldCB0aGUgZm9jdXMgb24gdGhlIGlubmVyIHRhYmxlIHRvIGFsbG93IHBhc3RlXG5cdFx0XHRcdFx0KHRoaXMuY29udGVudC5nZXRBZ2dyZWdhdGlvbihcIl9jb250ZW50XCIpIGFzIGFueSk/LmFwcGx5Rm9jdXNJbmZvKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0Ly8gVGhpcyBldmVudCB3aWxsIGFsbG93IHVzIHRvIGludGVyY2VwdCB0aGUgZXhwb3J0IGJlZm9yZSBpcyB0cmlnZ2VyZWQgdG8gY292ZXIgc3BlY2lmaWMgY2FzZXNcblx0Ly8gdGhhdCBjb3VsZG4ndCBiZSBhZGRyZXNzZWQgb24gdGhlIHByb3BlcnR5SW5mb3MgZm9yIGVhY2ggY29sdW1uLlxuXHQvLyBlLmcuIEZpeGVkIFRhcmdldCBWYWx1ZSBmb3IgdGhlIGRhdGFwb2ludHNcblx0QEV2ZW50SGFuZGxlclxuXHRvbkJlZm9yZUV4cG9ydChvRXZlbnQ6IFVJNUV2ZW50KSB7XG5cdFx0Y29uc3QgaXNTcGxpdE1vZGUgPSBvRXZlbnQuZ2V0UGFyYW1ldGVycygpLnVzZXJFeHBvcnRTZXR0aW5ncy5zcGxpdENlbGxzLFxuXHRcdFx0aXNSTFRMYW5ndWFnZSA9IHNhcC51aVxuXHRcdFx0XHQuZ2V0Q29yZSgpXG5cdFx0XHRcdC5nZXRDb25maWd1cmF0aW9uKClcblx0XHRcdFx0LmdldFJUTCgpLFxuXHRcdFx0b1RhYmxlQ29udHJvbGxlciA9IG9FdmVudC5nZXRTb3VyY2UoKSxcblx0XHRcdG9FeHBvcnRDb2x1bW5zID0gb0V2ZW50LmdldFBhcmFtZXRlcnMoKS5leHBvcnRTZXR0aW5ncy53b3JrYm9vaz8uY29sdW1ucyxcblx0XHRcdG9UYWJsZUNvbHVtbnMgPSB0aGlzLnRhYmxlRGVmaW5pdGlvbi5jb2x1bW5zO1xuXG5cdFx0VGFibGVBUEkudXBkYXRlRXhwb3J0U2V0dGluZ3Mob0V4cG9ydENvbHVtbnMsIG9UYWJsZUNvbHVtbnMsIG9UYWJsZUNvbnRyb2xsZXIsIGlzU3BsaXRNb2RlLCBpc1JMVExhbmd1YWdlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBIYW5kbGVzIHRoZSBNREMgRGF0YVN0YXRlSW5kaWNhdG9yIHBsdWdpbiB0byBkaXNwbGF5IG1lc3NhZ2VTdHJpcCBvbiBhIHRhYmxlLlxuXHQgKiBAcGFyYW0gb01lc3NhZ2Vcblx0ICogQHBhcmFtIG9UYWJsZVxuXHQgKiBAbmFtZSBkYXRhU3RhdGVGaWx0ZXJcblx0ICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdG8gcmVuZGVyIHZpc2libGUgdGhlIG1lc3NhZ2VTdHJpcFxuXHQgKi9cblx0c3RhdGljIHNob3VsZEZpbHRlckRhdGFTdGF0ZU1lc3NhZ2Uob01lc3NhZ2U6IGFueSwgb1RhYmxlOiBhbnkpOiBib29sZWFuIHtcblx0XHRsZXQgb1RhYmxlQVBJID0gb1RhYmxlLmdldFBhcmVudCgpO1xuXHRcdHdoaWxlICghb1RhYmxlQVBJLmlzQShcInNhcC5mZS5tYWNyb3MuVGFibGVBUElcIikpIHtcblx0XHRcdG9UYWJsZUFQSSA9IG9UYWJsZUFQSS5nZXRQYXJlbnQoKTtcblx0XHR9XG5cdFx0cmV0dXJuIG9UYWJsZUFQSS50YWJsZURlZmluaXRpb24uZW5hYmxlRGF0YVN0YXRlRmlsdGVyO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgZXZlbnQgaGFuZGxlcyB0aGUgRGF0YVN0YXRlIG9mIHRoZSBEYXRhU3RhdGVJbmRpY2F0b3IgcGx1Z2luIGZyb20gTURDIG9uIGEgdGFibGUuXG5cdCAqIEl0J3MgZmlyZWQgd2hlbiBuZXcgZXJyb3IgbWVzc2FnZXMgYXJlIHNlbnQgZnJvbSB0aGUgYmFja2VuZCB0byB1cGRhdGUgcm93IGhpZ2hsaWdodGluZy5cblx0ICpcblx0ICogQG5hbWUgb25EYXRhU3RhdGVDaGFuZ2Vcblx0ICogQHBhcmFtIHtvYmplY3R9IG9FdmVudCBFdmVudCBvYmplY3Rcblx0ICovXG5cdEBFdmVudEhhbmRsZXJcblx0b25EYXRhU3RhdGVDaGFuZ2Uob0V2ZW50OiBVSTVFdmVudCkge1xuXHRcdGNvbnN0IG9EYXRhU3RhdGVJbmRpY2F0b3IgPSBvRXZlbnQuZ2V0U291cmNlKCk7XG5cdFx0Y29uc3QgYUZpbHRlcmVkTWVzc2FnZXMgPSBvRXZlbnQuZ2V0UGFyYW1ldGVyKFwiZmlsdGVyZWRNZXNzYWdlc1wiKTtcblx0XHRpZiAoYUZpbHRlcmVkTWVzc2FnZXMpIHtcblx0XHRcdGNvbnN0IG9JbnRlcm5hbE1vZGVsID0gb0RhdGFTdGF0ZUluZGljYXRvci5nZXRNb2RlbChcImludGVybmFsXCIpO1xuXHRcdFx0b0ludGVybmFsTW9kZWwuc2V0UHJvcGVydHkoXCJmaWx0ZXJlZE1lc3NhZ2VzXCIsIGFGaWx0ZXJlZE1lc3NhZ2VzLCBvRGF0YVN0YXRlSW5kaWNhdG9yLmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIikpO1xuXHRcdH1cblx0fVxuXG5cdHN0YXRpYyB1cGRhdGVFeHBvcnRTZXR0aW5ncyhcblx0XHRvRXhwb3J0Q29sdW1uczogYW55LFxuXHRcdG9Db2x1bW5zOiBUYWJsZUNvbHVtbltdLFxuXHRcdG9UYWJsZUNvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyLFxuXHRcdGlzU3BsaXRNb2RlOiBib29sZWFuLFxuXHRcdGlzUkxUTGFuZ3VhZ2U6IGJvb2xlYW5cblx0KTogYW55IHtcblx0XHRvRXhwb3J0Q29sdW1ucy5mb3JFYWNoKChvQ29sdW1uRXhwb3J0OiBhbnkpID0+IHtcblx0XHRcdGxldCBhRXhwb3J0TGFiZWxzOiBzdHJpbmdbXSA9IFtdO1xuXHRcdFx0b0NvbHVtbnM/LmZvckVhY2goY29sdW1uID0+IHtcblx0XHRcdFx0Y29uc3Qgb0NvbHVtbiA9IGNvbHVtbiBhcyBBbm5vdGF0aW9uVGFibGVDb2x1bW47XG5cdFx0XHRcdGlmIChpc1NwbGl0TW9kZSkge1xuXHRcdFx0XHRcdC8vIGFFeHBvcnRMYWJlbHMgd2lsbCBjb250YWluIGxhYmVscyBmcm9tIGEgRmllbGRHcm91cCwgYSB0ZXh0IGFubm90YXRpb24gYW5kIGEgRGF0YVBvaW50XG5cdFx0XHRcdFx0Ly8gVGhlc2UgbGFiZWxzIHdpbGwgYmUgdXNlZCBmb3IgY2hpbGQgcHJvcGVydGllcyAoc2ltcGxlIHByb3BlcnRpZXMpIGZyb20gY29tcGxleFByb3BlcnR5XG5cdFx0XHRcdFx0Ly8gVW5pdC9jdXJyZW5jeSBwcm9wZXJ0aWVzIHdpbGwgYmUgZGlzbWlzcyBhcyBpdCBjb3VsZCBiZSB1c2VkIGluIHNldmVyYWwgZGF0YWZpZWxkcy5cblx0XHRcdFx0XHRjb25zdCBpc1VuaXQgPSBvQ29sdW1ucy5zb21lKGNvbHVtbiA9PiAoY29sdW1uIGFzIEFubm90YXRpb25UYWJsZUNvbHVtbikudW5pdCA9PT0gb0NvbHVtbkV4cG9ydC5wcm9wZXJ0eSk7XG5cdFx0XHRcdFx0Ly8gQ3JlYXRlIEV4cG9ydGluZyBsYWJlbHMgYXJyYXlcblx0XHRcdFx0XHRjb25zdCBGaWVsZEdyb3VwTGFiZWwgPSBUYWJsZUFQSS5fZ2V0RmllbGRHcm91cEV4cG9ydExhYmVsKG9Db2x1bW5FeHBvcnQsIG9Db2x1bW4sIG9UYWJsZUNvbnRyb2xsZXIpO1xuXHRcdFx0XHRcdGlmIChGaWVsZEdyb3VwTGFiZWwpIHtcblx0XHRcdFx0XHRcdGFFeHBvcnRMYWJlbHMudW5zaGlmdChGaWVsZEdyb3VwTGFiZWwpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQvLyBGb3IgYSB0ZXh0IGFubm90YXRpb24sIGV4cG9ydCBsYWJlbCB0ZW1wbGF0ZSB1c2VkIGlzIDx2YWx1ZT4gLSA8ZGVzY3JpcHRpb24+IGFuZCBmb3IgYSBEYXRhUG9pbnQgPGRhdGFwb2ludFZhbHVlPiAtIDxUYXJnZXRWYWx1ZT4uXG5cdFx0XHRcdFx0Ly8gSW4gYm90aCBjYXNlcyBpbnRlcm5hdGlvbmFsaXphdGlvbiBpcyBuZWVkZWRcblx0XHRcdFx0XHRjb25zdCBkYXRhRmllbGREZXNjcmlwdGlvbkxhYmVsID0gVGFibGVBUEkuX2dldERhdGFGaWVsZERlc2NyaXB0aW9uTGFiZWwoXG5cdFx0XHRcdFx0XHRvQ29sdW1uRXhwb3J0LFxuXHRcdFx0XHRcdFx0b0NvbHVtbixcblx0XHRcdFx0XHRcdG9UYWJsZUNvbnRyb2xsZXIsXG5cdFx0XHRcdFx0XHRpc1VuaXRcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGlmIChkYXRhRmllbGREZXNjcmlwdGlvbkxhYmVsKSB7XG5cdFx0XHRcdFx0XHRhRXhwb3J0TGFiZWxzLnVuc2hpZnQoZGF0YUZpZWxkRGVzY3JpcHRpb25MYWJlbCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly9BZGQgVGFyZ2V0VmFsdWUgb24gZHVtbXkgY3JlYXRlZCBwcm9wZXJ0eSB3aGVuICBleHBvcnRpbmcgb24gc3BsaXQgbW9kZVxuXHRcdFx0XHRcdGlmIChvQ29sdW1uLmlzRGF0YVBvaW50RmFrZVRhcmdldFByb3BlcnR5ICYmIG9Db2x1bW4ucmVsYXRpdmVQYXRoID09PSBvQ29sdW1uRXhwb3J0LnByb3BlcnR5KSB7XG5cdFx0XHRcdFx0XHRvQ29sdW1uRXhwb3J0LnByb3BlcnR5ID0gW29Db2x1bW5FeHBvcnQucHJvcGVydHldO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQvL01vZGlmeSBleHBvcnRlZCB2YWx1ZSB3aGVuIHVzaW5nIENvbW11bmljYXRpb24uQ29udGFjdCBkYXRhRmllbGRGb3JBbm5vdGF0aW9uXG5cdFx0XHRcdC8vY29udGFjdD5mbiBwcm9wZXJ0eSBzaG91bGQgYmUgZXhwb3J0ZWRcblx0XHRcdFx0aWYgKG9Db2x1bW4uZXhwb3J0Q29udGFjdFByb3BlcnR5ICYmIGNvbHVtbi5wcm9wZXJ0eUluZm9zKSB7XG5cdFx0XHRcdFx0aWYgKGNvbHVtbi5wcm9wZXJ0eUluZm9zPy5sZW5ndGggPT09IDEgJiYgY29sdW1uLnByb3BlcnR5SW5mb3M/LnRvU3RyaW5nKCkgPT09IG9Db2x1bW5FeHBvcnQucHJvcGVydHkudG9TdHJpbmcoKSkge1xuXHRcdFx0XHRcdFx0b0NvbHVtbkV4cG9ydC5wcm9wZXJ0eSA9IG9Db2x1bW4uZXhwb3J0Q29udGFjdFByb3BlcnR5O1xuXHRcdFx0XHRcdFx0b0NvbHVtbkV4cG9ydC5sYWJlbCA9IG9Db2x1bW4ubGFiZWw7XG5cdFx0XHRcdFx0fSBlbHNlIGlmIChcblx0XHRcdFx0XHRcdGNvbHVtbi5wcm9wZXJ0eUluZm9zPy5sZW5ndGggPiAxICYmXG5cdFx0XHRcdFx0XHRvQ29sdW1uLnByb3BlcnR5SW5mb3M/LnNvbWUocHJvcCA9PiBvQ29sdW1uRXhwb3J0LnByb3BlcnR5LmluY2x1ZGVzKHByb3ApKSAmJlxuXHRcdFx0XHRcdFx0QXJyYXkuaXNBcnJheShvQ29sdW1uRXhwb3J0LnByb3BlcnR5KVxuXHRcdFx0XHRcdCkge1xuXHRcdFx0XHRcdFx0b0NvbHVtbkV4cG9ydC5wcm9wZXJ0eSA9IG9Db2x1bW5FeHBvcnQucHJvcGVydHk/Lm1hcCgocHJvcGVydHk6IHN0cmluZykgPT4ge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gb0NvbHVtbi5wcm9wZXJ0eUluZm9zPy5zb21lKHByb3AgPT4gcHJvcCA9PT0gcHJvcGVydHkpID8gb0NvbHVtbi5leHBvcnRDb250YWN0UHJvcGVydHkgOiBwcm9wZXJ0eTtcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRhRXhwb3J0TGFiZWxzLnB1c2goRGVsZWdhdGVVdGlsLmdldExvY2FsaXplZFRleHQob0NvbHVtbkV4cG9ydC5sYWJlbCwgb1RhYmxlQ29udHJvbGxlcikpO1xuXHRcdFx0aWYgKGFFeHBvcnRMYWJlbHMubGVuZ3RoID4gMSkge1xuXHRcdFx0XHQvLyBSZW1vdmUgZHVwbGljYXRlIGxhYmVscyAoZS5nLiBGaWVsZEdyb3VwIGxhYmVsIGlzIHRoZSBzYW1lIGFzIHRoZSBsYWJlbCBvZiBvbmUgb2YgdGhlIHByb3BlcnRpZXMpXG5cdFx0XHRcdGFFeHBvcnRMYWJlbHMgPSBhRXhwb3J0TGFiZWxzLmZpbHRlcihmdW5jdGlvbihsYWJlbCwgaW5kZXgpIHtcblx0XHRcdFx0XHRpZiAoYUV4cG9ydExhYmVscy5pbmRleE9mKGxhYmVsKSA9PSBpbmRleCkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIGxhYmVsO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0XHQvLyBDaGVjayBpZiBhIFJUTCBsYW5ndWFnZSBpZiB1c2VkIGFuZCBpZiBzbyB3ZSBuZWVkIHRvIHJldmVyc2UgbGFiZWxzXG5cdFx0XHRpZiAoaXNSTFRMYW5ndWFnZSkge1xuXHRcdFx0XHRhRXhwb3J0TGFiZWxzLnJldmVyc2UoKTtcblx0XHRcdH1cblx0XHRcdG9Db2x1bW5FeHBvcnQubGFiZWwgPSBhRXhwb3J0TGFiZWxzLmpvaW4oXCIgLSBcIik7XG5cdFx0fSk7XG5cdFx0cmV0dXJuIG9FeHBvcnRDb2x1bW5zO1xuXHR9XG5cblx0c3RhdGljIF9nZXRGaWVsZEdyb3VwRXhwb3J0TGFiZWwob0NvbHVtbkV4cG9ydDogYW55LCBvQ29sdW1uOiBBbm5vdGF0aW9uVGFibGVDb2x1bW4sIG9UYWJsZUNvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyKSB7XG5cdFx0aWYgKFxuXHRcdFx0KG9Db2x1bW5FeHBvcnQuY29sdW1uSWQuaW5kZXhPZihcIjo6RmllbGRHcm91cDo6XCIpICE9PSAtMSB8fFxuXHRcdFx0XHQob0NvbHVtbi5leHBvcnRTZXR0aW5ncz8uZmllbGRMYWJlbCAmJiBvQ29sdW1uRXhwb3J0LmNvbHVtbklkLmluZGV4T2YoXCJfX2NvbHVtblwiKSAhPT0gLTEpKSAmJlxuXHRcdFx0KG9Db2x1bW4ucHJvcGVydHlJbmZvcz8uaW5jbHVkZXMob0NvbHVtbkV4cG9ydC5wcm9wZXJ0eSkgfHxcblx0XHRcdFx0b0NvbHVtbi5wcm9wZXJ0eUluZm9zPy5pbmNsdWRlcyhcIlByb3BlcnR5OjpcIiArIG9Db2x1bW5FeHBvcnQucHJvcGVydHkpKVxuXHRcdCkge1xuXHRcdFx0Y29uc3QgbGFiZWwgPSBvQ29sdW1uLmV4cG9ydFNldHRpbmdzPy5maWVsZExhYmVsIHx8IG9Db2x1bW4ubGFiZWw7XG5cdFx0XHRyZXR1cm4gRGVsZWdhdGVVdGlsLmdldExvY2FsaXplZFRleHQobGFiZWwgYXMgc3RyaW5nLCBvVGFibGVDb250cm9sbGVyKTtcblx0XHR9XG5cdH1cblxuXHRzdGF0aWMgX2dldERhdGFGaWVsZERlc2NyaXB0aW9uTGFiZWwoXG5cdFx0b0NvbHVtbkV4cG9ydDogYW55LFxuXHRcdG9Db2x1bW46IEFubm90YXRpb25UYWJsZUNvbHVtbixcblx0XHRvVGFibGVDb250cm9sbGVyOiBQYWdlQ29udHJvbGxlcixcblx0XHRpc1VuaXQ6IGJvb2xlYW5cblx0KSB7XG5cdFx0aWYgKFxuXHRcdFx0b0NvbHVtbi5wcm9wZXJ0eUluZm9zICYmXG5cdFx0XHRvQ29sdW1uLnByb3BlcnR5SW5mb3M/Lmxlbmd0aCA+IDEgJiZcblx0XHRcdCFpc1VuaXQgJiZcblx0XHRcdChvQ29sdW1uLnByb3BlcnR5SW5mb3M/LmluY2x1ZGVzKG9Db2x1bW5FeHBvcnQucHJvcGVydHkpIHx8XG5cdFx0XHRcdG9Db2x1bW4ucHJvcGVydHlJbmZvcz8uaW5jbHVkZXMoXCJQcm9wZXJ0eTo6XCIgKyBvQ29sdW1uRXhwb3J0LnByb3BlcnR5KSkgJiZcblx0XHRcdG9Db2x1bW4ucmVsYXRpdmVQYXRoPy5pbmRleE9mKFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkZpZWxkR3JvdXBcIikgPT09IC0xXG5cdFx0KSB7XG5cdFx0XHRyZXR1cm4gRGVsZWdhdGVVdGlsLmdldExvY2FsaXplZFRleHQob0NvbHVtbi5sYWJlbCBhcyBzdHJpbmcsIG9UYWJsZUNvbnRyb2xsZXIpO1xuXHRcdH1cblx0fVxuXHRARXZlbnRIYW5kbGVyXG5cdG9uTWFzc0VkaXRCdXR0b25QcmVzc2VkKG9FdmVudDogVUk1RXZlbnQsIFBhZ2VDb250cm9sbGVyOiBQYWdlQ29udHJvbGxlcikge1xuXHRcdGNvbnN0IG9UYWJsZSA9IHRoaXMuY29udGVudDtcblx0XHRNYXNzRWRpdEhhbmRsZXIub3Blbk1hc3NFZGl0RGlhbG9nKG9UYWJsZSwgUGFnZUNvbnRyb2xsZXIpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRhYmxlQVBJO1xuIl19
@@ -2,4 +2,4 @@
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/helpers/ClassSupport","sap/fe/core/helpers/PasteHelper","sap/m/MessageBox","sap/ui/Device","sap/base/Log","./MacroAPI","sap/fe/macros/massedit/MassEditHandler","sap/fe/macros/DelegateUtil"],function(C,P,M,D,L,a,b,c){"use strict";var _,d,f,g,h,j,k,l,m,n,q,r,s,t,u,v,w,x,y,z,A,B,E,F,G,H,I,J,K,N,O,Q,R,S;var T=C.Event;var U=C.Property;var V=C.MacroContext;var W=C.EventHandler;var X=C.APIClass;function Y(e,p,i,o){if(!i)return;Object.defineProperty(e,p,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(o):void 0});}function Z(i,e){if(!(i instanceof e)){throw new TypeError("Cannot call a class as a function");}}function $(e,p){for(var i=0;i<p.length;i++){var o=p[i];o.enumerable=o.enumerable||false;o.configurable=true;if("value"in o)o.writable=true;Object.defineProperty(e,o.key,o);}}function a1(e,p,i){if(p)$(e.prototype,p);if(i)$(e,i);return e;}function b1(e,i){if(typeof i!=="function"&&i!==null){throw new TypeError("Super expression must either be null or a function");}e.prototype=Object.create(i&&i.prototype,{constructor:{value:e,writable:true,configurable:true}});if(i)c1(e,i);}function c1(o,p){c1=Object.setPrototypeOf||function c1(o,p){o.__proto__=p;return o;};return c1(o,p);}function d1(e){var i=g1();return function n1(){var o=h1(e),p;if(i){var m1=h1(this).constructor;p=Reflect.construct(o,arguments,m1);}else{p=o.apply(this,arguments);}return e1(this,p);};}function e1(e,i){if(i&&(typeof i==="object"||typeof i==="function")){return i;}return f1(e);}function f1(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return e;}function g1(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function h1(o){h1=Object.setPrototypeOf?Object.getPrototypeOf:function h1(o){return o.__proto__||Object.getPrototypeOf(o);};return h1(o);}function i1(o,e,i){if(e in o){Object.defineProperty(o,e,{value:i,enumerable:true,configurable:true,writable:true});}else{o[e]=i;}return o;}function j1(e,p,i,o,m1){var n1={};Object.keys(o).forEach(function(o1){n1[o1]=o[o1];});n1.enumerable=!!n1.enumerable;n1.configurable=!!n1.configurable;if('value'in n1||n1.initializer){n1.writable=true;}n1=i.slice().reverse().reduce(function(n1,o1){return o1(e,p,n1)||n1;},n1);if(m1&&n1.initializer!==void 0){n1.value=n1.initializer?n1.initializer.call(m1):void 0;n1.initializer=undefined;}if(n1.initializer===void 0){Object.defineProperty(e,p,n1);n1=null;}return n1;}function k1(e,i){throw new Error('Decorating class property failed. Please ensure that '+'proposal-class-properties is enabled and runs after the decorators transform.');}var l1=(_=X("sap.fe.macros.TableAPI"),d=V(),f=U({type:"boolean"}),g=U({type:"string"}),h=U({type:"boolean",defaultValue:false}),j=U({type:"string",defaultValue:"ResponsiveTable"}),k=U({type:"boolean",defaultValue:true}),l=U({type:"boolean",defaultValue:false}),m=U({type:"boolean",defaultValue:false}),n=U({type:"string"}),q=U({type:"string"}),r=U({type:"boolean",defaultValue:false}),s=U({type:"boolean",defaultValue:true}),t=U({type:"boolean|string",defaultValue:true}),u=U({type:"string"}),v=U({type:"boolean"}),_(w=(x=function(e){b1(l1,e);var i=d1(l1);function l1(){var o;Z(this,l1);for(var p=arguments.length,m1=new Array(p),n1=0;n1<p;n1++){m1[n1]=arguments[n1];}o=i.call.apply(i,[this].concat(m1));Y(f1(o),"tableDefinition",y,f1(o));Y(f1(o),"readOnly",z,f1(o));Y(f1(o),"id",A,f1(o));Y(f1(o),"busy",B,f1(o));Y(f1(o),"type",E,f1(o));Y(f1(o),"enableExport",F,f1(o));Y(f1(o),"enablePaste",G,f1(o));Y(f1(o),"enableFullScreen",H,f1(o));Y(f1(o),"selectionMode",I,f1(o));Y(f1(o),"header",J,f1(o));Y(f1(o),"enableAutoColumnWidth",K,f1(o));Y(f1(o),"headerVisible",N,f1(o));Y(f1(o),"rowPress",O,f1(o));Y(f1(o),"personalization",Q,f1(o));Y(f1(o),"variantManagement",R,f1(o));Y(f1(o),"enableDataStateFilter",S,f1(o));return o;}a1(l1,[{key:"onTableRowPress",value:function o1(o,p,m1,n1){if(m1&&m1.isA("sap.ui.model.odata.v4.Context")&&typeof m1.getProperty("@$ui5.node.isExpanded")==="boolean"){return false;}else{p._routing.navigateForwardToContext(m1,n1);}}},{key:"onInternalDataReceived",value:function p(o){if(o.getParameter("error")){this.getController().messageHandler.showMessageDialog();}}},{key:"onPaste",value:function r1(o,p){var m1=this;if(!this.tableDefinition.control.enablePaste||!this.getModel("ui").getProperty("/isEditable")){return;}var n1=o.getParameter("data"),o1=o.getSource(),p1=o1.data()["enablePaste"];var q1;if(p1===true||p1==="true"){P.parseDataForTablePaste(n1,o1).then(function(s1){if(s1&&s1.length>0){return p._editFlow.createMultipleDocuments(o1.getRowBinding(),s1,m1.tableDefinition.control.createAtEnd,true);}}).catch(function(s1){L.error("Error while pasting data",s1);});}else{q1=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core");M.error(q1.getText("T_OP_CONTROLLER_SAPFE_PASTE_DISABLED_MESSAGE"),{title:q1.getText("C_COMMON_SAPFE_ERROR")});}}},{key:"onPasteButtonPressed",value:function p1(){var o=this;var p=sap.ui.getCore().getLibraryResourceBundle("sap.fe.templates"),m1=D.os.name,n1=D.system;var o1=p.getText("T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_WINDOWS_DESKTOP");if(n1.phone||n1.tablet&&!n1.combi){o1=p.getText("T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_TOUCH_DEVICE");}else if(n1.desktop){switch(m1){case"win":o1=p.getText("T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_WINDOWS_DESKTOP");break;case"mac":o1=p.getText("T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_IOS_DESKTOP");break;}}M.information(o1,{onClose:function(){if(o.content){var q1;(q1=o.content.getAggregation("_content"))===null||q1===void 0?void 0:q1.applyFocusInfo({preventScroll:true});}}});}},{key:"onBeforeExport",value:function r1(o){var p;var m1=o.getParameters().userExportSettings.splitCells,n1=sap.ui.getCore().getConfiguration().getRTL(),o1=o.getSource(),p1=(p=o.getParameters().exportSettings.workbook)===null||p===void 0?void 0:p.columns,q1=this.tableDefinition.columns;l1.updateExportSettings(p1,q1,o1,m1,n1);}},{key:"onDataStateChange",value:function o1(o){var p=o.getSource();var m1=o.getParameter("filteredMessages");if(m1){var n1=p.getModel("internal");n1.setProperty("filteredMessages",m1,p.getBindingContext("internal"));}}},{key:"onMassEditButtonPressed",value:function n1(o,p){var m1=this.content;b.openMassEditDialog(m1,p);}}],[{key:"shouldFilterDataStateMessage",value:function n1(o,p){var m1=p.getParent();while(!m1.isA("sap.fe.macros.TableAPI")){m1=m1.getParent();}return m1.tableDefinition.enableDataStateFilter;}},{key:"updateExportSettings",value:function p1(o,p,m1,n1,o1){o.forEach(function(q1){var r1=[];p===null||p===void 0?void 0:p.forEach(function(s1){var t1=s1;if(n1){var u1=p.some(function(s1){return s1.unit===q1.property;});var v1=l1._getFieldGroupExportLabel(q1,t1,m1);if(v1){r1.unshift(v1);}var w1=l1._getDataFieldDescriptionLabel(q1,t1,m1,u1);if(w1){r1.unshift(w1);}if(t1.isDataPointFakeTargetProperty&&t1.relativePath===q1.property){q1.property=[q1.property];}}if(t1.exportContactProperty&&s1.propertyInfos){var x1,y1,z1,A1;if(((x1=s1.propertyInfos)===null||x1===void 0?void 0:x1.length)===1&&((y1=s1.propertyInfos)===null||y1===void 0?void 0:y1.toString())===q1.property.toString()){q1.property=t1.exportContactProperty;q1.label=t1.label;}else if(((z1=s1.propertyInfos)===null||z1===void 0?void 0:z1.length)>1&&(A1=t1.propertyInfos)!==null&&A1!==void 0&&A1.some(function(C1){return q1.property.includes(C1);})&&Array.isArray(q1.property)){var B1;q1.property=(B1=q1.property)===null||B1===void 0?void 0:B1.map(function(C1){var D1;return(D1=t1.propertyInfos)!==null&&D1!==void 0&&D1.some(function(E1){return E1===C1;})?t1.exportContactProperty:C1;});}}});r1.push(c.getLocalizedText(q1.label,m1));if(r1.length>1){r1=r1.filter(function(s1,t1){if(r1.indexOf(s1)==t1){return s1;}});}if(o1){r1.reverse();}q1.label=r1.join(" - ");});return o;}},{key:"_getFieldGroupExportLabel",value:function s1(o,p,m1){var n1,o1,p1;if((o.columnId.indexOf("::FieldGroup::")!==-1||(n1=p.exportSettings)!==null&&n1!==void 0&&n1.fieldLabel&&o.columnId.indexOf("__column")!==-1)&&((o1=p.propertyInfos)!==null&&o1!==void 0&&o1.includes(o.property)||(p1=p.propertyInfos)!==null&&p1!==void 0&&p1.includes("Property::"+o.property))){var q1;var r1=((q1=p.exportSettings)===null||q1===void 0?void 0:q1.fieldLabel)||p.label;return c.getLocalizedText(r1,m1);}}},{key:"_getDataFieldDescriptionLabel",value:function s1(o,p,m1,n1){var o1,p1,q1,r1;if(p.propertyInfos&&((o1=p.propertyInfos)===null||o1===void 0?void 0:o1.length)>1&&!n1&&((p1=p.propertyInfos)!==null&&p1!==void 0&&p1.includes(o.property)||(q1=p.propertyInfos)!==null&&q1!==void 0&&q1.includes("Property::"+o.property))&&((r1=p.relativePath)===null||r1===void 0?void 0:r1.indexOf("@com.sap.vocabularies.UI.v1.FieldGroup"))===-1){return c.getLocalizedText(p.label,m1);}}}]);return l1;}(a),(y=j1(x.prototype,"tableDefinition",[d],{configurable:true,enumerable:true,writable:true,initializer:null}),z=j1(x.prototype,"readOnly",[f],{configurable:true,enumerable:true,writable:true,initializer:null}),A=j1(x.prototype,"id",[g],{configurable:true,enumerable:true,writable:true,initializer:null}),B=j1(x.prototype,"busy",[h],{configurable:true,enumerable:true,writable:true,initializer:null}),E=j1(x.prototype,"type",[j],{configurable:true,enumerable:true,writable:true,initializer:null}),F=j1(x.prototype,"enableExport",[k],{configurable:true,enumerable:true,writable:true,initializer:null}),G=j1(x.prototype,"enablePaste",[l],{configurable:true,enumerable:true,writable:true,initializer:null}),H=j1(x.prototype,"enableFullScreen",[m],{configurable:true,enumerable:true,writable:true,initializer:null}),I=j1(x.prototype,"selectionMode",[n],{configurable:true,enumerable:true,writable:true,initializer:null}),J=j1(x.prototype,"header",[q],{configurable:true,enumerable:true,writable:true,initializer:null}),K=j1(x.prototype,"enableAutoColumnWidth",[r],{configurable:true,enumerable:true,writable:true,initializer:null}),N=j1(x.prototype,"headerVisible",[s],{configurable:true,enumerable:true,writable:true,initializer:null}),O=j1(x.prototype,"rowPress",[T],{configurable:true,enumerable:true,writable:true,initializer:null}),Q=j1(x.prototype,"personalization",[t],{configurable:true,enumerable:true,writable:true,initializer:null}),R=j1(x.prototype,"variantManagement",[u],{configurable:true,enumerable:true,writable:true,initializer:null}),S=j1(x.prototype,"enableDataStateFilter",[v],{configurable:true,enumerable:true,writable:true,initializer:null}),j1(x.prototype,"onTableRowPress",[W],Object.getOwnPropertyDescriptor(x.prototype,"onTableRowPress"),x.prototype),j1(x.prototype,"onInternalDataReceived",[W],Object.getOwnPropertyDescriptor(x.prototype,"onInternalDataReceived"),x.prototype),j1(x.prototype,"onPaste",[W],Object.getOwnPropertyDescriptor(x.prototype,"onPaste"),x.prototype),j1(x.prototype,"onPasteButtonPressed",[W],Object.getOwnPropertyDescriptor(x.prototype,"onPasteButtonPressed"),x.prototype),j1(x.prototype,"onBeforeExport",[W],Object.getOwnPropertyDescriptor(x.prototype,"onBeforeExport"),x.prototype),j1(x.prototype,"onDataStateChange",[W],Object.getOwnPropertyDescriptor(x.prototype,"onDataStateChange"),x.prototype),j1(x.prototype,"onMassEditButtonPressed",[W],Object.getOwnPropertyDescriptor(x.prototype,"onMassEditButtonPressed"),x.prototype)),x))||w);return l1;},false);
5
+ sap.ui.define(["sap/fe/core/helpers/ClassSupport","sap/fe/core/helpers/PasteHelper","sap/m/MessageBox","sap/ui/Device","sap/base/Log","./MacroAPI","sap/fe/macros/massedit/MassEditHandler","sap/fe/macros/DelegateUtil"],function(C,P,M,D,L,a,b,c){"use strict";var _,d,f,g,h,j,k,l,m,n,q,r,s,t,u,v,w,x,y,z,A,B,E,F,G,H,I,J,K,N,O,Q,R,S,T;var U=C.Event;var V=C.Property;var W=C.MacroContext;var X=C.EventHandler;var Y=C.APIClass;function Z(e,p,i,o){if(!i)return;Object.defineProperty(e,p,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(o):void 0});}function $(i,e){if(!(i instanceof e)){throw new TypeError("Cannot call a class as a function");}}function a1(e,p){for(var i=0;i<p.length;i++){var o=p[i];o.enumerable=o.enumerable||false;o.configurable=true;if("value"in o)o.writable=true;Object.defineProperty(e,o.key,o);}}function b1(e,p,i){if(p)a1(e.prototype,p);if(i)a1(e,i);return e;}function c1(e,i){if(typeof i!=="function"&&i!==null){throw new TypeError("Super expression must either be null or a function");}e.prototype=Object.create(i&&i.prototype,{constructor:{value:e,writable:true,configurable:true}});if(i)d1(e,i);}function d1(o,p){d1=Object.setPrototypeOf||function d1(o,p){o.__proto__=p;return o;};return d1(o,p);}function e1(e){var i=h1();return function o1(){var o=i1(e),p;if(i){var n1=i1(this).constructor;p=Reflect.construct(o,arguments,n1);}else{p=o.apply(this,arguments);}return f1(this,p);};}function f1(e,i){if(i&&(typeof i==="object"||typeof i==="function")){return i;}return g1(e);}function g1(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return e;}function h1(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function i1(o){i1=Object.setPrototypeOf?Object.getPrototypeOf:function i1(o){return o.__proto__||Object.getPrototypeOf(o);};return i1(o);}function j1(o,e,i){if(e in o){Object.defineProperty(o,e,{value:i,enumerable:true,configurable:true,writable:true});}else{o[e]=i;}return o;}function k1(e,p,i,o,n1){var o1={};Object.keys(o).forEach(function(p1){o1[p1]=o[p1];});o1.enumerable=!!o1.enumerable;o1.configurable=!!o1.configurable;if('value'in o1||o1.initializer){o1.writable=true;}o1=i.slice().reverse().reduce(function(o1,p1){return p1(e,p,o1)||o1;},o1);if(n1&&o1.initializer!==void 0){o1.value=o1.initializer?o1.initializer.call(n1):void 0;o1.initializer=undefined;}if(o1.initializer===void 0){Object.defineProperty(e,p,o1);o1=null;}return o1;}function l1(e,i){throw new Error('Decorating class property failed. Please ensure that '+'proposal-class-properties is enabled and runs after the decorators transform.');}var m1=(_=Y("sap.fe.macros.TableAPI"),d=W(),f=V({type:"boolean"}),g=V({type:"string"}),h=V({type:"boolean",defaultValue:false}),j=V({type:"string",defaultValue:"ResponsiveTable"}),k=V({type:"boolean",defaultValue:true}),l=V({type:"boolean",defaultValue:false}),m=V({type:"boolean",defaultValue:false}),n=V({type:"string"}),q=V({type:"string"}),r=V({type:"boolean",defaultValue:false}),s=V({type:"boolean",defaultValue:true}),t=V({type:"boolean|string",defaultValue:true}),u=V({type:"string"}),v=V({type:"boolean"}),_(w=(x=function(e){c1(m1,e);var i=e1(m1);function m1(){var o;$(this,m1);for(var p=arguments.length,n1=new Array(p),o1=0;o1<p;o1++){n1[o1]=arguments[o1];}o=i.call.apply(i,[this].concat(n1));Z(g1(o),"tableDefinition",y,g1(o));Z(g1(o),"readOnly",z,g1(o));Z(g1(o),"id",A,g1(o));Z(g1(o),"busy",B,g1(o));Z(g1(o),"type",E,g1(o));Z(g1(o),"enableExport",F,g1(o));Z(g1(o),"enablePaste",G,g1(o));Z(g1(o),"enableFullScreen",H,g1(o));Z(g1(o),"selectionMode",I,g1(o));Z(g1(o),"header",J,g1(o));Z(g1(o),"enableAutoColumnWidth",K,g1(o));Z(g1(o),"headerVisible",N,g1(o));Z(g1(o),"rowPress",O,g1(o));Z(g1(o),"stateChanged",Q,g1(o));Z(g1(o),"personalization",R,g1(o));Z(g1(o),"variantManagement",S,g1(o));Z(g1(o),"enableDataStateFilter",T,g1(o));return o;}b1(m1,[{key:"onTableRowPress",value:function p1(o,p,n1,o1){if(n1&&n1.isA("sap.ui.model.odata.v4.Context")&&typeof n1.getProperty("@$ui5.node.isExpanded")==="boolean"){return false;}else{p._routing.navigateForwardToContext(n1,o1);}}},{key:"onInternalDataReceived",value:function p(o){if(o.getParameter("error")){this.getController().messageHandler.showMessageDialog();}}},{key:"onPaste",value:function s1(o,p){var n1=this;if(!this.tableDefinition.control.enablePaste||!this.getModel("ui").getProperty("/isEditable")){return;}var o1=o.getParameter("data"),p1=o.getSource(),q1=p1.data()["enablePaste"];var r1;if(q1===true||q1==="true"){P.parseDataForTablePaste(o1,p1).then(function(t1){if(t1&&t1.length>0){return p._editFlow.createMultipleDocuments(p1.getRowBinding(),t1,n1.tableDefinition.control.createAtEnd,true);}}).catch(function(t1){L.error("Error while pasting data",t1);});}else{r1=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core");M.error(r1.getText("T_OP_CONTROLLER_SAPFE_PASTE_DISABLED_MESSAGE"),{title:r1.getText("C_COMMON_SAPFE_ERROR")});}}},{key:"onPasteButtonPressed",value:function q1(){var o=this;var p=sap.ui.getCore().getLibraryResourceBundle("sap.fe.templates"),n1=D.os.name,o1=D.system;var p1=p.getText("T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_WINDOWS_DESKTOP");if(o1.phone||o1.tablet&&!o1.combi){p1=p.getText("T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_TOUCH_DEVICE");}else if(o1.desktop){switch(n1){case"win":p1=p.getText("T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_WINDOWS_DESKTOP");break;case"mac":p1=p.getText("T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_IOS_DESKTOP");break;}}M.information(p1,{onClose:function(){if(o.content){var r1;(r1=o.content.getAggregation("_content"))===null||r1===void 0?void 0:r1.applyFocusInfo({preventScroll:true});}}});}},{key:"onBeforeExport",value:function s1(o){var p;var n1=o.getParameters().userExportSettings.splitCells,o1=sap.ui.getCore().getConfiguration().getRTL(),p1=o.getSource(),q1=(p=o.getParameters().exportSettings.workbook)===null||p===void 0?void 0:p.columns,r1=this.tableDefinition.columns;m1.updateExportSettings(q1,r1,p1,n1,o1);}},{key:"onDataStateChange",value:function p1(o){var p=o.getSource();var n1=o.getParameter("filteredMessages");if(n1){var o1=p.getModel("internal");o1.setProperty("filteredMessages",n1,p.getBindingContext("internal"));}}},{key:"onMassEditButtonPressed",value:function o1(o,p){var n1=this.content;b.openMassEditDialog(n1,p);}}],[{key:"shouldFilterDataStateMessage",value:function o1(o,p){var n1=p.getParent();while(!n1.isA("sap.fe.macros.TableAPI")){n1=n1.getParent();}return n1.tableDefinition.enableDataStateFilter;}},{key:"updateExportSettings",value:function q1(o,p,n1,o1,p1){o.forEach(function(r1){var s1=[];p===null||p===void 0?void 0:p.forEach(function(t1){var u1=t1;if(o1){var v1=p.some(function(t1){return t1.unit===r1.property;});var w1=m1._getFieldGroupExportLabel(r1,u1,n1);if(w1){s1.unshift(w1);}var x1=m1._getDataFieldDescriptionLabel(r1,u1,n1,v1);if(x1){s1.unshift(x1);}if(u1.isDataPointFakeTargetProperty&&u1.relativePath===r1.property){r1.property=[r1.property];}}if(u1.exportContactProperty&&t1.propertyInfos){var y1,z1,A1,B1;if(((y1=t1.propertyInfos)===null||y1===void 0?void 0:y1.length)===1&&((z1=t1.propertyInfos)===null||z1===void 0?void 0:z1.toString())===r1.property.toString()){r1.property=u1.exportContactProperty;r1.label=u1.label;}else if(((A1=t1.propertyInfos)===null||A1===void 0?void 0:A1.length)>1&&(B1=u1.propertyInfos)!==null&&B1!==void 0&&B1.some(function(D1){return r1.property.includes(D1);})&&Array.isArray(r1.property)){var C1;r1.property=(C1=r1.property)===null||C1===void 0?void 0:C1.map(function(D1){var E1;return(E1=u1.propertyInfos)!==null&&E1!==void 0&&E1.some(function(F1){return F1===D1;})?u1.exportContactProperty:D1;});}}});s1.push(c.getLocalizedText(r1.label,n1));if(s1.length>1){s1=s1.filter(function(t1,u1){if(s1.indexOf(t1)==u1){return t1;}});}if(p1){s1.reverse();}r1.label=s1.join(" - ");});return o;}},{key:"_getFieldGroupExportLabel",value:function t1(o,p,n1){var o1,p1,q1;if((o.columnId.indexOf("::FieldGroup::")!==-1||(o1=p.exportSettings)!==null&&o1!==void 0&&o1.fieldLabel&&o.columnId.indexOf("__column")!==-1)&&((p1=p.propertyInfos)!==null&&p1!==void 0&&p1.includes(o.property)||(q1=p.propertyInfos)!==null&&q1!==void 0&&q1.includes("Property::"+o.property))){var r1;var s1=((r1=p.exportSettings)===null||r1===void 0?void 0:r1.fieldLabel)||p.label;return c.getLocalizedText(s1,n1);}}},{key:"_getDataFieldDescriptionLabel",value:function t1(o,p,n1,o1){var p1,q1,r1,s1;if(p.propertyInfos&&((p1=p.propertyInfos)===null||p1===void 0?void 0:p1.length)>1&&!o1&&((q1=p.propertyInfos)!==null&&q1!==void 0&&q1.includes(o.property)||(r1=p.propertyInfos)!==null&&r1!==void 0&&r1.includes("Property::"+o.property))&&((s1=p.relativePath)===null||s1===void 0?void 0:s1.indexOf("@com.sap.vocabularies.UI.v1.FieldGroup"))===-1){return c.getLocalizedText(p.label,n1);}}}]);return m1;}(a),(y=k1(x.prototype,"tableDefinition",[d],{configurable:true,enumerable:true,writable:true,initializer:null}),z=k1(x.prototype,"readOnly",[f],{configurable:true,enumerable:true,writable:true,initializer:null}),A=k1(x.prototype,"id",[g],{configurable:true,enumerable:true,writable:true,initializer:null}),B=k1(x.prototype,"busy",[h],{configurable:true,enumerable:true,writable:true,initializer:null}),E=k1(x.prototype,"type",[j],{configurable:true,enumerable:true,writable:true,initializer:null}),F=k1(x.prototype,"enableExport",[k],{configurable:true,enumerable:true,writable:true,initializer:null}),G=k1(x.prototype,"enablePaste",[l],{configurable:true,enumerable:true,writable:true,initializer:null}),H=k1(x.prototype,"enableFullScreen",[m],{configurable:true,enumerable:true,writable:true,initializer:null}),I=k1(x.prototype,"selectionMode",[n],{configurable:true,enumerable:true,writable:true,initializer:null}),J=k1(x.prototype,"header",[q],{configurable:true,enumerable:true,writable:true,initializer:null}),K=k1(x.prototype,"enableAutoColumnWidth",[r],{configurable:true,enumerable:true,writable:true,initializer:null}),N=k1(x.prototype,"headerVisible",[s],{configurable:true,enumerable:true,writable:true,initializer:null}),O=k1(x.prototype,"rowPress",[U],{configurable:true,enumerable:true,writable:true,initializer:null}),Q=k1(x.prototype,"stateChanged",[U],{configurable:true,enumerable:true,writable:true,initializer:null}),R=k1(x.prototype,"personalization",[t],{configurable:true,enumerable:true,writable:true,initializer:null}),S=k1(x.prototype,"variantManagement",[u],{configurable:true,enumerable:true,writable:true,initializer:null}),T=k1(x.prototype,"enableDataStateFilter",[v],{configurable:true,enumerable:true,writable:true,initializer:null}),k1(x.prototype,"onTableRowPress",[X],Object.getOwnPropertyDescriptor(x.prototype,"onTableRowPress"),x.prototype),k1(x.prototype,"onInternalDataReceived",[X],Object.getOwnPropertyDescriptor(x.prototype,"onInternalDataReceived"),x.prototype),k1(x.prototype,"onPaste",[X],Object.getOwnPropertyDescriptor(x.prototype,"onPaste"),x.prototype),k1(x.prototype,"onPasteButtonPressed",[X],Object.getOwnPropertyDescriptor(x.prototype,"onPasteButtonPressed"),x.prototype),k1(x.prototype,"onBeforeExport",[X],Object.getOwnPropertyDescriptor(x.prototype,"onBeforeExport"),x.prototype),k1(x.prototype,"onDataStateChange",[X],Object.getOwnPropertyDescriptor(x.prototype,"onDataStateChange"),x.prototype),k1(x.prototype,"onMassEditButtonPressed",[X],Object.getOwnPropertyDescriptor(x.prototype,"onMassEditButtonPressed"),x.prototype)),x))||w);return m1;},false);
@@ -213,6 +213,16 @@ class TableAPI extends MacroAPI {
213
213
  @Event
214
214
  rowPress!: Function;
215
215
 
216
+ /**
217
+ * An event triggered when the Table State changes.
218
+ *
219
+ * You can set this in order to store the table state in the appstate.
220
+ *
221
+ * @private
222
+ */
223
+ @Event
224
+ stateChanged!: Function;
225
+
216
226
  /**
217
227
  * Controls which options should be enabled for the table personalization dialog.
218
228
  *
@@ -440,7 +440,7 @@ sap.ui.define(
440
440
  prefix: CommonHelper.addSingleQuotes(sId),
441
441
  operationAvailableMap: CommonHelper.addSingleQuotes(sOperationAvailableMap),
442
442
  model: "${$source>/}.getModel()",
443
- label: CommonHelper.addSingleQuotes(oAction.Label)
443
+ label: CommonHelper.addSingleQuotes(oAction.Label, true)
444
444
  };
445
445
 
446
446
  return CommonHelper.generateFunction(