@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
@@ -7,14 +7,23 @@
7
7
  ID: 'sap/fe/core/helpers/StableIdHelper'
8
8
  }"
9
9
  >
10
-
11
- <macro:FieldAPI
12
- change="{this>onChange}"
13
- id="{= ${this>_apiId} ? ${this>_apiId} : (${this>idPrefix} ? ID.generate([${this>idPrefix}, 'Field']) : undefined )}"
14
- required="{= FIELD.getRequiredForDataField(${dataField>Value/$Path@@FIELD.fieldControl}, ${this>editMode}, ${dataField>@@FIELD.fieldControl})}"
15
- editable="{this>editableExpression}"
10
+ <template:if
11
+ test="{= !(${this>formatOptions/isAnalytics}) &amp;&amp; (${this>formatOptions/fieldMode} === 'nowrapper') &amp;&amp; (${this>editMode}==='Display') }"
16
12
  >
17
- <core:Fragment fragmentName="sap.fe.macros.internal.field.FieldContent" type="XML" />
18
- </macro:FieldAPI>
13
+
14
+ <template:then>
15
+ <core:Fragment fragmentName="sap.fe.macros.internal.field.FieldContent" type="XML" />
16
+ </template:then>
17
+ <template:else>
18
+ <macro:FieldAPI
19
+ change="{this>onChange}"
20
+ id="{= ${this>_apiId} ? ${this>_apiId} : (${this>idPrefix} ? ID.generate([${this>idPrefix}, 'Field']) : undefined )}"
21
+ required="{= FIELD.getRequiredForDataField(${dataField>Value/$Path@@FIELD.fieldControl}, ${this>editMode}, ${dataField>@@FIELD.fieldControl})}"
22
+ editable="{this>editableExpression}"
23
+ >
24
+ <core:Fragment fragmentName="sap.fe.macros.internal.field.FieldContent" type="XML" />
25
+ </macro:FieldAPI>
26
+ </template:else>
27
+ </template:if>
19
28
 
20
29
  </core:FragmentDefinition>
@@ -32,24 +32,34 @@
32
32
  <core:Fragment fragmentName="sap.fe.macros.internal.field.displayStyle.{this>displayStyle}" type="XML" />
33
33
  </template:then>
34
34
  <template:else>
35
- <control:FieldWrapper
36
- id="{= ${this>_flexId} || (${this>idPrefix} ? ID.generate([${this>idPrefix}, 'Field-content']) : undefined) }"
37
- emptyIndicatorTrigger="{= FIELD.getEmptyIndicatorTrigger(${this>formatOptions/showEmptyIndicator},${this>valueBindingExpression}, ${this>text})}"
38
- editMode="{this>editMode}"
39
- visible="{this>visible}"
40
- required="{= FIELD.getRequiredForDataField(${property>$Path@@FIELD.fieldControl}, ${this>editMode})}"
41
- width="100%"
42
- class="{this>class}"
35
+
36
+ <template:if
37
+ test="{= !(${this>formatOptions/isAnalytics}) &amp;&amp; (${this>formatOptions/fieldMode} === 'nowrapper') &amp;&amp; (${this>editMode}==='Display') &amp;&amp; (${this>visible} === 'true') }"
43
38
  >
44
- <control:contentDisplay>
39
+ <template:then>
45
40
  <core:Fragment fragmentName="sap.fe.macros.internal.field.displayStyle.{this>displayStyle}" type="XML" />
46
- </control:contentDisplay>
47
- <template:if test="{= ${this>editMode}!=='Display' &amp;&amp; !!${this>editStyle}}">
48
- <control:contentEdit>
49
- <core:Fragment fragmentName="sap.fe.macros.internal.field.editStyle.{this>editStyle}" type="XML" />
50
- </control:contentEdit>
51
- </template:if>
52
- </control:FieldWrapper>
41
+ </template:then>
42
+ <template:else>
43
+ <control:FieldWrapper
44
+ id="{= ${this>_flexId} || (${this>idPrefix} ? ID.generate([${this>idPrefix}, 'Field-content']) : undefined) }"
45
+ emptyIndicatorTrigger="{= FIELD.getEmptyIndicatorTrigger(${this>formatOptions/showEmptyIndicator},${this>valueBindingExpression}, ${this>text})}"
46
+ editMode="{this>editMode}"
47
+ visible="{this>visible}"
48
+ required="{= FIELD.getRequiredForDataField(${property>$Path@@FIELD.fieldControl}, ${this>editMode})}"
49
+ width="100%"
50
+ class="{this>class}"
51
+ >
52
+ <control:contentDisplay>
53
+ <core:Fragment fragmentName="sap.fe.macros.internal.field.displayStyle.{this>displayStyle}" type="XML" />
54
+ </control:contentDisplay>
55
+ <template:if test="{= ${this>editMode}!=='Display' &amp;&amp; !!${this>editStyle}}">
56
+ <control:contentEdit>
57
+ <core:Fragment fragmentName="sap.fe.macros.internal.field.editStyle.{this>editStyle}" type="XML" />
58
+ </control:contentEdit>
59
+ </template:if>
60
+ </control:FieldWrapper>
61
+ </template:else>
62
+ </template:if>
53
63
  </template:else>
54
64
  </template:if>
55
65
  </core:FragmentDefinition>
@@ -31,6 +31,7 @@
31
31
  style="Transparent"
32
32
  sendXHR="true"
33
33
  useMultipart="false"
34
+ sameFilenameAllowed="true"
34
35
  uploadOnChange="false"
35
36
  uploadAborted="FIELDRUNTIME.handleUploadAborted"
36
37
  uploadComplete="FIELDRUNTIME.handleUploadComplete($event, '{propertyPath>@Org.OData.Core.V1.ContentDisposition/Filename@@FIELD.propertyName}')"
@@ -14,6 +14,7 @@ sap.ui.define(["sap/fe/core/formatters/ValueFormatter", "sap/fe/core/templating/
14
14
  var annotationExpression = BindingExpression.annotationExpression;
15
15
  var getPathRelativeLocation = DataModelPathHelper.getPathRelativeLocation;
16
16
  var enhanceDataModelPath = DataModelPathHelper.enhanceDataModelPath;
17
+ var formatWithTypeInformation = UIFormatters.formatWithTypeInformation;
17
18
  var getBindingWithUnitOrCurrency = UIFormatters.getBindingWithUnitOrCurrency;
18
19
  var EDM_TYPE_MAPPING = UIFormatters.EDM_TYPE_MAPPING;
19
20
  var getDisplayMode = UIFormatters.getDisplayMode;
@@ -138,10 +139,12 @@ sap.ui.define(["sap/fe/core/formatters/ValueFormatter", "sap/fe/core/templating/
138
139
  return np.name;
139
140
  }) : [];
140
141
  outExpression = annotationExpression(fieldValue, relativeLocation);
142
+ var oPropertyDefinition = oPropertyDataModelPath.targetObject;
141
143
 
142
144
  if (sPropertyType) {
143
145
  var _EDM_TYPE_MAPPING$sPr;
144
146
 
147
+ formatWithTypeInformation(oPropertyDefinition, outExpression);
145
148
  outExpression.type = (_EDM_TYPE_MAPPING$sPr = EDM_TYPE_MAPPING[sPropertyType]) === null || _EDM_TYPE_MAPPING$sPr === void 0 ? void 0 : _EDM_TYPE_MAPPING$sPr.type;
146
149
  }
147
150
 
@@ -152,18 +155,6 @@ sap.ui.define(["sap/fe/core/formatters/ValueFormatter", "sap/fe/core/templating/
152
155
  outExpression = getDecimalFormat(outExpression, fieldValue, sNumberOfFractionalDigits);
153
156
  break;
154
157
 
155
- case "Edm.String":
156
- if (!outExpression.formatOptions) {
157
- outExpression.formatOptions = {};
158
- }
159
-
160
- if (!outExpression.constraints) {
161
- outExpression.constraints = {};
162
- }
163
-
164
- outExpression.formatOptions.parseKeepsEmptyString = true;
165
- break;
166
-
167
158
  default:
168
159
  }
169
160
 
@@ -249,4 +240,4 @@ sap.ui.define(["sap/fe/core/formatters/ValueFormatter", "sap/fe/core/templating/
249
240
  _exports.buildExpressionForProgressIndicatorPercentValue = buildExpressionForProgressIndicatorPercentValue;
250
241
  return _exports;
251
242
  }, false);
252
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFQb2ludFRlbXBsYXRpbmcudHMiXSwibmFtZXMiOlsiZ2V0RGF0YVBvaW50VGFyZ2V0RXhwcmVzc2lvbiIsIm9EYXRhTW9kZWxQYXRoIiwiVGFyZ2V0VmFsdWUiLCJhbm5vdGF0aW9uRXhwcmVzc2lvbiIsInVucmVzb2x2ZWFibGVFeHByZXNzaW9uIiwib1Jlc291cmNlTW9kZWwiLCJzYXAiLCJ1aSIsImdldENvcmUiLCJnZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUiLCJwcm9ncmVzc0luZGljYXRvckRpc3BsYXlWYWx1ZSIsIm9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgiLCJmaWVsZFZhbHVlIiwidGFyZ2V0T2JqZWN0IiwiVmFsdWUiLCJyZWxhdGl2ZUxvY2F0aW9uIiwiZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24iLCJjb250ZXh0TG9jYXRpb24iLCJuYXZpZ2F0aW9uUHJvcGVydGllcyIsIm1hcCIsIm5wIiwibmFtZSIsImZpZWxkVmFsdWVFeHByZXNzaW9uIiwiVGFyZ2V0RXhwcmVzc2lvbiIsInNVbml0UHJvcGVydHlQYXRoIiwiJHRhcmdldCIsImdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoIiwidW5kZWZpbmVkIiwic1VvTVBlcmNlbnQiLCJhbm5vdGF0aW9ucyIsIk1lYXN1cmVzIiwiVW5pdCIsImNoYXJBdCIsImNvbXBpbGVCaW5kaW5nIiwiZ2V0VGV4dCIsImJpbmRpbmdFeHByZXNzaW9uIiwiYnVpbGRSYXRpbmdJbmRpY2F0b3JTdWJ0aXRsZUV4cHJlc3Npb24iLCJvQ29udGV4dCIsIm1TYW1wbGVTaXplIiwiZm9ybWF0UmF0aW5nSW5kaWNhdG9yU3ViVGl0bGUiLCJBbm5vdGF0aW9uSGVscGVyIiwidmFsdWUiLCJjb250ZXh0IiwiaVNhbXBsZVNpemVWYWx1ZSIsInNTdWJUaXRsZUxhYmVsIiwiU3RyaW5nIiwiZ2V0SGVhZGVyUmF0aW5nSW5kaWNhdG9yVGV4dCIsIm9EYXRhUG9pbnQiLCJTYW1wbGVTaXplIiwiRGVzY3JpcHRpb24iLCJzTW9kZWxWYWx1ZSIsInJlcXVpcmVzSUNvbnRleHQiLCJidWlsZEV4cHJlc3Npb25Gb3JEZXNjcmlwdGlvbiIsIkNvbW1vbiIsIlRleHQiLCJvVGV4dEV4cHJlc3Npb24iLCJwYXJhbWV0ZXJzIiwiZ2V0RGVjaW1hbEZvcm1hdCIsIm91dEV4cHJlc3Npb24iLCJzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzIiwiY29uc3RyYWludHMiLCJPYmplY3QiLCJhc3NpZ24iLCJwcmVjaXNpb24iLCJzY2FsZSIsImdldFZhbHVlRm9ybWF0dGVkIiwib1Byb3BlcnR5RGF0YU1vZGVsUGF0aCIsInNQcm9wZXJ0eVR5cGUiLCJwYXRoIiwiaW5kZXhPZiIsInR5cGUiLCJFRE1fVFlQRV9NQVBQSU5HIiwiZm9ybWF0T3B0aW9ucyIsInBhcnNlS2VlcHNFbXB0eVN0cmluZyIsImJ1aWxkRmllbGRCaW5kaW5nRXhwcmVzc2lvbiIsIm9Qcm9wZXJ0eSIsImRhdGFQb2ludEZvcm1hdE9wdGlvbnMiLCJiTWVhc3VyZURpc3BsYXlNb2RlRW5hYmxlZCIsIm9EYXRhUG9pbnRWYWx1ZSIsIm9Gb3JtYXRPcHRpb25zIiwib0Rlc2NyaXB0aW9uIiwiVmFsdWVGb3JtYXQiLCJOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMiLCJlbmhhbmNlRGF0YU1vZGVsUGF0aCIsIm9Gb3JtYXRlZFZhbHVlIiwic0Rpc3BsYXlNb2RlIiwiZGlzcGxheU1vZGUiLCJnZXREaXNwbGF5TW9kZSIsIm9CaW5kaW5nRXhwcmVzc2lvbiIsImZvcm1hdFJlc3VsdCIsInZhbHVlRm9ybWF0dGVycyIsImZvcm1hdFdpdGhCcmFja2V0cyIsIklTT0N1cnJlbmN5IiwiZ2V0QmluZGluZ1dpdGhVbml0T3JDdXJyZW5jeSIsIm1lYXN1cmVEaXNwbGF5TW9kZSIsInNob3dNZWFzdXJlIiwiYnVpbGRFeHByZXNzaW9uRm9yUHJvZ3Jlc3NJbmRpY2F0b3JQZXJjZW50VmFsdWUiLCJVbml0RXhwcmVzc2lvbiIsIm9FeHByZXNzaW9uVGVtcGxhdGUiLCJjb21w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cUQsRUFBeEU7QUFDQSxRQUFNQyxnQkFBZ0IsR0FBR0MsdUJBQXVCLENBQy9DTCw0QkFBNEIsQ0FBQ00sZUFEa0IsRUFFL0NOLDRCQUE0QixDQUFDTyxvQkFGa0IsQ0FBdkIsQ0FHdkJDLEdBSHVCLENBR25CLFVBQUFDLEVBQUU7QUFBQSxhQUFJQSxFQUFFLENBQUNDLElBQVA7QUFBQSxLQUhpQixDQUF6QjtBQUlBLFFBQU1DLG9CQUFvQixHQUFHbkIsb0JBQW9CLENBQUNTLFVBQUQsRUFBYUcsZ0JBQWIsQ0FBakQ7QUFDQSxRQUFNUSxnQkFBZ0IsR0FBR3ZCLDRCQUE0QixDQUFDVyw0QkFBNEIsQ0FBQ0UsWUFBOUIsQ0FBckQ7QUFDQSxRQUFNVyxpQkFBaUIsR0FBR1osVUFBVSxTQUFWLElBQUFBLFVBQVUsV0FBVixJQUFBQSxVQUFVLENBQUVhLE9BQVosR0FBc0JDLDZCQUE2QixDQUFDZCxVQUFVLENBQUNhLE9BQVosQ0FBbkQsR0FBMEVFLFNBQXBHO0FBQ0EsUUFBTXNFLGNBQWMsR0FBR3pFLGlCQUFpQixHQUFHVyxpQkFBaUIsQ0FBQ1gsaUJBQUQsQ0FBcEIsR0FBMEMsRUFBbEY7QUFFQSxRQUFNMEUsbUJBQW1CLEdBQUdULFlBQVksQ0FBQyxDQUFDbkUsb0JBQUQsRUFBdUJDLGdCQUF2QixFQUF5QzBFLGNBQXpDLENBQUQsRUFBMkRQLGVBQWUsQ0FBQ1MsaUJBQTNFLENBQXhDO0FBRUEsV0FBT2xFLGNBQWMsQ0FBQ2lFLG1CQUFELENBQXJCO0FBQ0EsR0FkTSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHZhbHVlRm9ybWF0dGVycyBmcm9tIFwic2FwL2ZlL2NvcmUvZm9ybWF0dGVycy9WYWx1ZUZvcm1hdHRlclwiO1xuaW1wb3J0IHsgZ2V0RGlzcGxheU1vZGUsIEVETV9UWVBFX01BUFBJTkcsIGdldEJpbmRpbmdXaXRoVW5pdE9yQ3VycmVuY3kgfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9VSUZvcm1hdHRlcnNcIjtcblxuaW1wb3J0IHsgRGF0YU1vZGVsT2JqZWN0UGF0aCwgZW5oYW5jZURhdGFNb2RlbFBhdGgsIGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHtcblx0RXhwcmVzc2lvbixcblx0YW5ub3RhdGlvbkV4cHJlc3Npb24sXG5cdGZvcm1hdFJlc3VsdCxcblx0QmluZGluZ0V4cHJlc3Npb25FeHByZXNzaW9uLFxuXHRCaW5kaW5nRXhwcmVzc2lvbixcblx0Y29tcGlsZUJpbmRpbmcsXG5cdGJpbmRpbmdFeHByZXNzaW9uLFxuXHRDb21wbGV4VHlwZUV4cHJlc3Npb24sXG5cdHVucmVzb2x2ZWFibGVFeHByZXNzaW9uXG59IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdFeHByZXNzaW9uXCI7XG5cbmltcG9ydCB7IGdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvUHJvcGVydHlIZWxwZXJcIjtcblxuaW1wb3J0IHsgQW5ub3RhdGlvbkhlbHBlciB9IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjRcIjtcblxuZXhwb3J0IHR5cGUgRGF0YVBvaW50Rm9ybWF0T3B0aW9ucyA9IFBhcnRpYWw8e1xuXHRtZWFzdXJlRGlzcGxheU1vZGU6IFN0cmluZztcbn0+O1xuXG5jb25zdCBnZXREYXRhUG9pbnRUYXJnZXRFeHByZXNzaW9uID0gKG9EYXRhTW9kZWxQYXRoOiBhbnkpOiBFeHByZXNzaW9uPHN0cmluZz4gPT4ge1xuXHRyZXR1cm4gb0RhdGFNb2RlbFBhdGg/LlRhcmdldFZhbHVlID8gYW5ub3RhdGlvbkV4cHJlc3Npb24ob0RhdGFNb2RlbFBhdGguVGFyZ2V0VmFsdWUpIDogdW5yZXNvbHZlYWJsZUV4cHJlc3Npb247XG59O1xuXG5jb25zdCBvUmVzb3VyY2VNb2RlbCA9IHNhcC51aS5nZXRDb3JlKCkuZ2V0TGlicmFyeVJlc291cmNlQnVuZGxlKFwic2FwLmZlLm1hY3Jvc1wiKTtcblxuZXhwb3J0IGNvbnN0IHByb2dyZXNzSW5kaWNhdG9yRGlzcGxheVZhbHVlID0gKG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgpOiBCaW5kaW5nRXhwcmVzc2lvbjxzdHJpbmc+ID0+IHtcblx0Y29uc3QgZmllbGRWYWx1ZSA9IG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGg/LnRhcmdldE9iamVjdD8uVmFsdWUgfHwgXCJcIjtcblx0Y29uc3QgcmVsYXRpdmVMb2NhdGlvbiA9IGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uKFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGguY29udGV4dExvY2F0aW9uLFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXNcblx0KS5tYXAobnAgPT4gbnAubmFtZSk7XG5cdGNvbnN0IGZpZWxkVmFsdWVFeHByZXNzaW9uID0gYW5ub3RhdGlvbkV4cHJlc3Npb24oZmllbGRWYWx1ZSwgcmVsYXRpdmVMb2NhdGlvbik7XG5cdGNvbnN0IFRhcmdldEV4cHJlc3Npb24gPSBnZXREYXRhUG9pbnRUYXJnZXRFeHByZXNzaW9uKG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KTtcblxuXHRpZiAoZmllbGRWYWx1ZUV4cHJlc3Npb24gJiYgVGFyZ2V0RXhwcmVzc2lvbikge1xuXHRcdGNvbnN0IHNVbml0UHJvcGVydHlQYXRoID0gZmllbGRWYWx1ZT8uJHRhcmdldCA/IGdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoKGZpZWxkVmFsdWU/LiR0YXJnZXQpIDogdW5kZWZpbmVkO1xuXG5cdFx0aWYgKCFzVW5pdFByb3BlcnR5UGF0aCkge1xuXHRcdFx0Y29uc3Qgc1VvTVBlcmNlbnQgPSBmaWVsZFZhbHVlLiR0YXJnZXQ/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdD8uY2hhckF0KDApO1xuXHRcdFx0aWYgKHNVb01QZXJjZW50ID09PSBcIiVcIikge1xuXHRcdFx0XHRyZXR1cm4gKGNvbXBpbGVCaW5kaW5nKGZpZWxkVmFsdWVFeHByZXNzaW9uKSBhcyBzdHJpbmcpICsgXCIgJVwiO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIG9SZXNvdXJjZU1vZGVsLmdldFRleHQoXCJUX0NPTU1PTl9QUk9HUkVTU19JTkRJQ0FUT1JfRElTUExBWV9WQUxVRV9OT19VT01cIiwgW1xuXHRcdFx0XHRcdGNvbXBpbGVCaW5kaW5nKGZpZWxkVmFsdWVFeHByZXNzaW9uKSBhcyBzdHJpbmcsXG5cdFx0XHRcdFx0Y29tcGlsZUJpbmRpbmcoVGFyZ2V0RXhwcmVzc2lvbikgYXMgc3RyaW5nXG5cdFx0XHRcdF0pO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9DT01NT05fUFJPR1JFU1NfSU5ESUNBVE9SX0RJU1BMQVlfVkFMVUVfTk9fVU9NXCIsIFtcblx0XHRcdFx0XHRjb21waWxlQmluZGluZyhmaWVsZFZhbHVlRXhwcmVzc2lvbikgYXMgc3RyaW5nLFxuXHRcdFx0XHRcdGNvbXBpbGVCaW5kaW5nKFRhcmdldEV4cHJlc3Npb24pIGFzIHN0cmluZ1xuXHRcdFx0XHRdKSArXG5cdFx0XHRcdFwiIFwiICtcblx0XHRcdFx0Y29tcGlsZUJpbmRpbmcoYmluZGluZ0V4cHJlc3Npb24oc1VuaXRQcm9wZXJ0eVBhdGggYXMgc3RyaW5nKSlcblx0XHRcdCk7XG5cdFx0fVxuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBidWlsZFJhdGluZ0luZGljYXRvclN1YnRpdGxlRXhwcmVzc2lvbiA9IChvQ29udGV4dDogYW55LCBtU2FtcGxlU2l6ZTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0aWYgKG1TYW1wbGVTaXplKSB7XG5cdFx0cmV0dXJuIGZvcm1hdFJhdGluZ0luZGljYXRvclN1YlRpdGxlKEFubm90YXRpb25IZWxwZXIudmFsdWUobVNhbXBsZVNpemUsIHsgY29udGV4dDogb0NvbnRleHQgfSkpO1xuXHR9XG59O1xuLy8gcmV0dXJucyB0aGUgdGV4dCBmb3IgdGhlIFJhdGluZyBJbmRpY2F0b3IgU3VidGl0bGUgKGUuZy4gJzcgcmV2aWV3cycpXG5jb25zdCBmb3JtYXRSYXRpbmdJbmRpY2F0b3JTdWJUaXRsZSA9IChpU2FtcGxlU2l6ZVZhbHVlOiBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRpZiAoaVNhbXBsZVNpemVWYWx1ZSkge1xuXHRcdGNvbnN0IHNTdWJUaXRsZUxhYmVsID1cblx0XHRcdGlTYW1wbGVTaXplVmFsdWUgPiAxXG5cdFx0XHRcdD8gb1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlRfQU5OT1RBVElPTl9IRUxQRVJfUkFUSU5HX0lORElDQVRPUl9TVUJUSVRMRV9MQUJFTF9QTFVSQUxcIilcblx0XHRcdFx0OiBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9BTk5PVEFUSU9OX0hFTFBFUl9SQVRJTkdfSU5ESUNBVE9SX1NVQlRJVExFX0xBQkVMXCIpO1xuXHRcdHJldHVybiBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9BTk5PVEFUSU9OX0hFTFBFUl9SQVRJTkdfSU5ESUNBVE9SX1NVQlRJVExFXCIsIFtTdHJpbmcoaVNhbXBsZVNpemVWYWx1ZSksIHNTdWJUaXRsZUxhYmVsXSk7XG5cdH1cbn07XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGdldCB0aGUgaGVhZGVyIHRleHQgb2YgcmF0aW5nIGluZGljYXRvci5cbiAqIEBwYXJhbSBvQ29udGV4dFxuICogQHBhcmFtIG9EYXRhUG9pbnRcbiAqIEBmdW5jdGlvbiBwYXJhbSB7b2JqZWN0fSBvQ29udGV4dCBjb250ZXh0IG9mIGludGVyZmFjZVxuICogcGFyYW0ge29iamVjdH0gb0RhdGFQb2ludCBkYXRhIHBvaW50IG9iamVjdFxuICogQHJldHVybnMge3N0cmluZ30gRXhwcmVzc2lvbiBiaW5kaW5nIGZvciByYXRpbmcgaW5kaWNhdG9yIHRleHRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEhlYWRlclJhdGluZ0luZGljYXRvclRleHQgPSAob0NvbnRleHQ6IGFueSwgb0RhdGFQb2ludDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0aWYgKG9EYXRhUG9pbnQgJiYgb0RhdGFQb2ludC5TYW1wbGVTaXplKSB7XG5cdFx0cmV0dXJuIGJ1aWxkUmF0aW5nSW5kaWNhdG9yU3VidGl0bGVFeHByZXNzaW9uKG9Db250ZXh0LCBvRGF0YVBvaW50LlNhbXBsZVNpemUpO1xuXHR9IGVsc2UgaWYgKG9EYXRhUG9pbnQgJiYgb0RhdGFQb2ludC5EZXNjcmlwdGlvbikge1xuXHRcdGNvbnN0IHNNb2RlbFZhbHVlID0gQW5ub3RhdGlvbkhlbHBlci52YWx1ZShvRGF0YVBvaW50LkRlc2NyaXB0aW9uLCB7IGNvbnRleHQ6IG9Db250ZXh0IH0pO1xuXHRcdHJldHVybiBcIiR7cGF0aDpcIiArIHNNb2RlbFZhbHVlICsgXCJ9XCI7XG5cdH1cbn07XG5nZXRIZWFkZXJSYXRpbmdJbmRpY2F0b3JUZXh0LnJlcXVpcmVzSUNvbnRleHQgPSB0cnVlO1xuXG5jb25zdCBidWlsZEV4cHJlc3Npb25Gb3JEZXNjcmlwdGlvbiA9IChmaWVsZFZhbHVlOiBhbnkpOiBFeHByZXNzaW9uPGFueT4gfCB1bmRlZmluZWQgPT4ge1xuXHRpZiAoZmllbGRWYWx1ZT8uJHRhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dCkge1xuXHRcdGNvbnN0IG9UZXh0RXhwcmVzc2lvbiA9IGFubm90YXRpb25FeHByZXNzaW9uKGZpZWxkVmFsdWU/LiR0YXJnZXQ/LmFubm90YXRpb25zPy5Db21tb24/LlRleHQpIGFzIEJpbmRpbmdFeHByZXNzaW9uRXhwcmVzc2lvbjxhbnk+O1xuXHRcdG9UZXh0RXhwcmVzc2lvbi5wYXJhbWV0ZXJzID0geyBcIiQkbm9QYXRjaFwiOiB0cnVlIH07XG5cdFx0cmV0dXJuIG9UZXh0RXhwcmVzc2lvbjtcblx0fVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuY29uc3QgZ2V0RGVjaW1hbEZvcm1hdCA9IChcblx0b3V0RXhwcmVzc2lvbjogQmluZGluZ0V4cHJlc3Npb248YW55Pixcblx0ZmllbGRWYWx1ZTogYW55LFxuXHRzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzOiBzdHJpbmdcbik6IEJpbmRpbmdFeHByZXNzaW9uPGFueT4gPT4ge1xuXHRpZiAoIW91dEV4cHJlc3Npb24uY29uc3RyYWludHMpIHtcblx0XHRvdXRFeHByZXNzaW9uLmNvbnN0cmFpbnRzID0ge307XG5cdH1cblx0b3V0RXhwcmVzc2lvbi5jb25zdHJhaW50cyA9IE9iamVjdC5hc3NpZ24ob3V0RXhwcmVzc2lvbi5jb25zdHJhaW50cywge1xuXHRcdHByZWNpc2lvbjogZmllbGRWYWx1ZS4kdGFyZ2V0LnByZWNpc2lvbixcblx0XHRzY2FsZTogc051bWJlck9mRnJhY3Rpb25hbERpZ2l0cyA/IHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMgOiBmaWVsZFZhbHVlLiR0YXJnZXQuc2NhbGVcblx0fSk7XG5cdHJldHVybiBvdXRFeHByZXNzaW9uO1xufTtcblxuY29uc3QgZ2V0VmFsdWVGb3JtYXR0ZWQgPSAoXG5cdG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgsXG5cdGZpZWxkVmFsdWU6IGFueSxcblx0c1Byb3BlcnR5VHlwZTogc3RyaW5nLFxuXHRzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzOiBzdHJpbmdcbik6IEJpbmRpbmdFeHByZXNzaW9uRXhwcmVzc2lvbjxzdHJpbmc+ID0+IHtcblx0bGV0IG91dEV4cHJlc3Npb246IEJpbmRpbmdFeHByZXNzaW9uPGFueT47XG5cdGNvbnN0IHJlbGF0aXZlTG9jYXRpb24gPVxuXHRcdGZpZWxkVmFsdWU/LnBhdGg/LmluZGV4T2YoXCIvXCIpID09PSAtMVxuXHRcdFx0PyBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbihvUHJvcGVydHlEYXRhTW9kZWxQYXRoLmNvbnRleHRMb2NhdGlvbiwgb1Byb3BlcnR5RGF0YU1vZGVsUGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllcykubWFwKFxuXHRcdFx0XHRcdG5wID0+IG5wLm5hbWVcblx0XHRcdCAgKVxuXHRcdFx0OiBbXTtcblx0b3V0RXhwcmVzc2lvbiA9IGFubm90YXRpb25FeHByZXNzaW9uKGZpZWxkVmFsdWUsIHJlbGF0aXZlTG9jYXRpb24pO1xuXHRpZiAoc1Byb3BlcnR5VHlwZSkge1xuXHRcdG91dEV4cHJlc3Npb24udHlwZSA9IEVETV9UWVBFX01BUFBJTkdbc1Byb3BlcnR5VHlwZV0/LnR5cGU7XG5cdH1cblx0c3dpdGNoIChzUHJvcGVydHlUeXBlKSB7XG5cdFx0Y2FzZSBcIkVkbS5EZWNpbWFsXCI6XG5cdFx0XHQvLyBmb3IgdGhlIGxpc3RSZXBvcnQsIHRoZSBkZWNpbWFsIGZpZWxkcyBhcmUgZm9ybWF0dGVkIGJ5IHJldHVybmluZyBhIHN0cmluZ1xuXHRcdFx0Ly8gZm9yIHRoZSBmYWNldHMgb2YgdGhlIE9QLCB0aGUgZGVjaW1hbCBmaWVsZHMgYXJlIGZvcm1hdHRlZCBieSByZXR1cm5pbmcgYSBwcm9taXNlLCBzbyB3ZSBtYW5hZ2UgYWxsIHRoZSBjYXNlc1xuXHRcdFx0b3V0RXhwcmVzc2lvbiA9IGdldERlY2ltYWxGb3JtYXQob3V0RXhwcmVzc2lvbiwgZmllbGRWYWx1ZSwgc051bWJlck9mRnJhY3Rpb25hbERpZ2l0cyk7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiRWRtLlN0cmluZ1wiOlxuXHRcdFx0aWYgKCFvdXRFeHByZXNzaW9uLmZvcm1hdE9wdGlvbnMpIHtcblx0XHRcdFx0b3V0RXhwcmVzc2lvbi5mb3JtYXRPcHRpb25zID0ge307XG5cdFx0XHR9XG5cdFx0XHRpZiAoIW91dEV4cHJlc3Npb24uY29uc3RyYWludHMpIHtcblx0XHRcdFx0b3V0RXhwcmVzc2lvbi5jb25zdHJhaW50cyA9IHt9O1xuXHRcdFx0fVxuXHRcdFx0b3V0RXhwcmVzc2lvbi5mb3JtYXRPcHRpb25zLnBhcnNlS2VlcHNFbXB0eVN0cmluZyA9IHRydWU7XG5cdFx0XHRicmVhaztcblx0XHRkZWZhdWx0OlxuXHR9XG5cdHJldHVybiBvdXRFeHByZXNzaW9uIGFzIEJpbmRpbmdFeHByZXNzaW9uRXhwcmVzc2lvbjxzdHJpbmc+O1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkRmllbGRCaW5kaW5nRXhwcmVzc2lvbiA9IChcblx0b0RhdGFNb2RlbFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgsXG5cdG9Qcm9wZXJ0eTogYW55LFxuXHRkYXRhUG9pbnRGb3JtYXRPcHRpb25zOiBEYXRhUG9pbnRGb3JtYXRPcHRpb25zLFxuXHRiTWVhc3VyZURpc3BsYXlNb2RlRW5hYmxlZDogYm9vbGVhblxuKTogQmluZGluZ0V4cHJlc3Npb248c3RyaW5nPiA9PiB7XG5cdGNvbnN0IG9EYXRhUG9pbnQgPSBvRGF0YU1vZGVsUGF0aC50YXJnZXRPYmplY3Q7XG5cdGNvbnN0IG9EYXRhUG9pbnRWYWx1ZSA9IG9EYXRhUG9pbnQ/LlZhbHVlIHx8IFwiXCI7XG5cdGNvbnN0IG9Gb3JtYXRPcHRpb25zID0gb1Byb3BlcnR5LmZvcm1hdE9wdGlvbnM7XG5cdGNvbnN0IG9EZXNjcmlwdGlvbiA9IGJ1aWxkRXhwcmVzc2lvbkZvckRlc2NyaXB0aW9uKG9EYXRhUG9pbnRWYWx1ZSk7XG5cdGNvbnN0IHNQcm9wZXJ0eVR5cGUgPSBvRGF0YVBvaW50VmFsdWU/LiR0YXJnZXQ/LnR5cGU7XG5cdGxldCBzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzO1xuXG5cdGlmIChzUHJvcGVydHlUeXBlID09PSBcIkVkbS5EZWNpbWFsXCIgJiYgb0RhdGFQb2ludC5WYWx1ZUZvcm1hdCkge1xuXHRcdGlmIChvRGF0YVBvaW50LlZhbHVlRm9ybWF0Lk51bWJlck9mRnJhY3Rpb25hbERpZ2l0cykge1xuXHRcdFx0c051bWJlck9mRnJhY3Rpb25hbERpZ2l0cyA9IG9EYXRhUG9pbnQuVmFsdWVGb3JtYXQuTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzO1xuXHRcdH1cblx0fVxuXHRjb25zdCBvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoID0gZW5oYW5jZURhdGFNb2RlbFBhdGgob0RhdGFNb2RlbFBhdGgsIG9EYXRhUG9pbnRWYWx1ZS5wYXRoKTtcblx0Y29uc3Qgb0Zvcm1hdGVkVmFsdWUgPSBnZXRWYWx1ZUZvcm1hdHRlZChvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLCBvRGF0YVBvaW50VmFsdWUsIHNQcm9wZXJ0eVR5cGUsIHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMpO1xuXHRjb25zdCBzRGlzcGxheU1vZGUgPSBvRGVzY3JpcHRpb25cblx0XHQ/IG9Gb3JtYXRPcHRpb25zLmRpc3BsYXlNb2RlIHx8IGdldERpc3BsYXlNb2RlKG9EYXRhUG9pbnRWYWx1ZSwgb1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aClcblx0XHQ6IFwiVmFsdWVcIjtcblx0bGV0IG9CaW5kaW5nRXhwcmVzc2lvbjogYW55O1xuXHRzd2l0Y2ggKHNEaXNwbGF5TW9kZSkge1xuXHRcdGNhc2UgXCJEZXNjcmlwdGlvblwiOlxuXHRcdFx0b0JpbmRpbmdFeHByZXNzaW9uID0gb0Rlc2NyaXB0aW9uO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIlZhbHVlRGVzY3JpcHRpb25cIjpcblx0XHRcdG9CaW5kaW5nRXhwcmVzc2lvbiA9IGZvcm1hdFJlc3VsdChbb0Zvcm1hdGVkVmFsdWUsIG9EZXNjcmlwdGlvbl0sIHZhbHVlRm9ybWF0dGVycy5mb3JtYXRXaXRoQnJhY2tldHMpO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIkRlc2NyaXB0aW9uVmFsdWVcIjpcblx0XHRcdG9CaW5kaW5nRXhwcmVzc2lvbiA9IGZvcm1hdFJlc3VsdChbb0Rlc2NyaXB0aW9uLCBvRm9ybWF0ZWRWYWx1ZV0sIHZhbHVlRm9ybWF0dGVycy5mb3JtYXRXaXRoQnJhY2tldHMpO1xuXHRcdFx0YnJlYWs7XG5cdFx0ZGVmYXVsdDpcblx0XHRcdGlmIChcblx0XHRcdFx0b1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3Q/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdCB8fFxuXHRcdFx0XHRvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdD8uYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5JU09DdXJyZW5jeVxuXHRcdFx0KSB7XG5cdFx0XHRcdG9CaW5kaW5nRXhwcmVzc2lvbiA9IGdldEJpbmRpbmdXaXRoVW5pdE9yQ3VycmVuY3kob1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aCwgb0Zvcm1hdGVkVmFsdWUpO1xuXHRcdFx0XHRpZiAob0JpbmRpbmdFeHByZXNzaW9uICYmIGJNZWFzdXJlRGlzcGxheU1vZGVFbmFibGVkICYmIGRhdGFQb2ludEZvcm1hdE9wdGlvbnM/Lm1lYXN1cmVEaXNwbGF5TW9kZSAhPT0gXCJSZWFkT25seVwiKSB7XG5cdFx0XHRcdFx0KG9CaW5kaW5nRXhwcmVzc2lvbiBhcyBDb21wbGV4VHlwZUV4cHJlc3Npb248U3RyaW5nPikuZm9ybWF0T3B0aW9ucyA9IHtcblx0XHRcdFx0XHRcdC4uLihvQmluZGluZ0V4cHJlc3Npb24gYXMgQ29tcGxleFR5cGVFeHByZXNzaW9uPFN0cmluZz4pLmZvcm1hdE9wdGlvbnMsXG5cdFx0XHRcdFx0XHRzaG93TWVhc3VyZTogZmFsc2Vcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBvRm9ybWF0ZWRWYWx1ZTtcblx0XHRcdH1cblx0fVxuXG5cdHJldHVybiBjb21waWxlQmluZGluZyhvQmluZGluZ0V4cHJlc3Npb24pO1xufTtcblxuLyoqXG4gKiBNZXRob2QgdG8gY2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHZhbHVlIG9mIFByb2dyZXNzIEluZGljYXRvci4gQmFzaWMgZm9ybXVsYSBpcyBWYWx1ZS9UYXJnZXQgKiAxMDAuXG4gKlxuICogQHBhcmFtIHsqfSBvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoXG4gKiBAcmV0dXJucyB7QmluZGluZ30gRXhwcmVzc2lvbiBiaW5kaW5nIHRoYXQgd2lsbCBjYWxjdWxhdGUgdGhlIHBlcmNlbnQgdmFsdWUgdG8gYmUgc2hvd24gaW4gcHJvZ3Jlc3MgaW5kaWNhdG9yLiBGb3JtdWxhIGdpdmVuIGFib3ZlLlxuICovXG5leHBvcnQgY29uc3QgYnVpbGRFeHByZXNzaW9uRm9yUHJvZ3Jlc3NJbmRpY2F0b3JQZXJjZW50VmFsdWUgPSAob1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGNvbnN0IGZpZWxkVmFsdWUgPSBvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoPy50YXJnZXRPYmplY3Q/LlZhbHVlIHx8IFwiXCI7XG5cdGNvbnN0IHJlbGF0aXZlTG9jYXRpb24gPSBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbihcblx0XHRvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLmNvbnRleHRMb2NhdGlvbixcblx0XHRvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzXG5cdCkubWFwKG5wID0+IG5wLm5hbWUpO1xuXHRjb25zdCBmaWVsZFZhbHVlRXhwcmVzc2lvbiA9IGFubm90YXRpb25FeHByZXNzaW9uKGZpZWxkVmFsdWUsIHJlbGF0aXZlTG9jYXRpb24pO1xuXHRjb25zdCBUYXJnZXRFeHByZXNzaW9uID0gZ2V0RGF0YVBvaW50VGFyZ2V0RXhwcmVzc2lvbihvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdCk7XG5cdGNvbnN0IHNVbml0UHJvcGVydHlQYXRoID0gZmllbGRWYWx1ZT8uJHRhcmdldCA/IGdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoKGZpZWxkVmFsdWUuJHRhcmdldCkgOiB1bmRlZmluZWQ7XG5cdGNvbnN0IFVuaXRFeHByZXNzaW9uID0gc1VuaXRQcm9wZXJ0eVBhdGggPyBiaW5kaW5nRXhwcmVzc2lvbihzVW5pdFByb3BlcnR5UGF0aCkgOiBcIlwiO1xuXG5cdGNvbnN0IG9FeHByZXNzaW9uVGVtcGxhdGUgPSBmb3JtYXRSZXN1bHQoW2ZpZWxkVmFsdWVFeHByZXNzaW9uLCBUYXJnZXRFeHByZXNzaW9uLCBVbml0RXhwcmVzc2lvbl0sIHZhbHVlRm9ybWF0dGVycy5jb21wdXRlUGVyY2VudGFnZSk7XG5cblx0cmV0dXJuIGNvbXBpbGVCaW5kaW5nKG9FeHByZXNzaW9uVGVtcGxhdGUpO1xufTtcbiJdfQ==
243
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFQb2ludFRlbXBsYXRpbmcudHMiXSwibmFtZXMiOlsiZ2V0RGF0YVBvaW50VGFyZ2V0RXhwcmVzc2lvbiIsIm9EYXRhTW9kZWxQYXRoIiwiVGFyZ2V0VmFsdWUiLCJhbm5vdGF0aW9uRXhwcmVzc2lvbiIsInVucmVzb2x2ZWFibGVFeHByZXNzaW9uIiwib1Jlc291cmNlTW9kZWwiLCJzYXAiLCJ1aSIsImdldENvcmUiLCJnZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUiLCJwcm9ncmVzc0luZGljYXRvckRpc3BsYXlWYWx1ZSIsIm9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgiLCJmaWVsZFZhbHVlIiwidGFyZ2V0T2JqZWN0IiwiVmFsdWUiLCJyZWxhdGl2ZUxvY2F0aW9uIiwiZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24iLCJjb250ZXh0TG9jYXRpb24iLCJuYXZpZ2F0aW9uUHJvcGVydGllcyIsIm1hcCIsIm5wIiwibmFtZSIsImZpZWxkVmFsdWVFeHByZXNzaW9uIiwiVGFyZ2V0RXhwcmVzc2lvbiIsInNVbml0UHJvcGVydHlQYXRoIiwiJHRhcmdldCIsImdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoIiwidW5kZWZpbmVkIiwic1VvTVBlcmNlbnQiLCJhbm5vdGF0aW9ucyIsIk1lYXN1cmVzIiwiVW5pdCIsImNoYXJBdCIsImNvbXBpbGVCaW5kaW5nIiwiZ2V0VGV4dCIsImJpbmRpbmdFeHByZXNzaW9uIiwiYnVpbGRSYXRpbmdJbmRpY2F0b3JTdWJ0aXRsZUV4cHJlc3Npb24iLCJvQ29udGV4dCIsIm1TYW1wbGVTaXplIiwiZm9ybWF0UmF0aW5nSW5kaWNhdG9yU3ViVGl0bGUiLCJBbm5vdGF0aW9uSGVscGVyIiwidmFsdWUiLCJjb250ZXh0IiwiaVNhbXBsZVNpemVWYWx1ZSIsInNTdWJUaXRsZUxhYmVsIiwiU3RyaW5nIiwiZ2V0SGVhZGVyUmF0aW5nSW5kaWNhdG9yVGV4dCIsIm9EYXRhUG9pbnQiLCJTYW1wbGVTaXplIiwiRGVzY3JpcHRpb24iLCJzTW9kZWxWYWx1ZSIsInJlcXVpcmVzSUNvbnRleHQiLCJidWlsZEV4cHJlc3Npb25Gb3JEZXNjcmlwdGlvbiIsIkNvbW1vbiIsIlRleHQiLCJvVGV4dEV4cHJlc3Npb24iLCJwYXJhbWV0ZXJzIiwiZ2V0RGVjaW1hbEZvcm1hdCIsIm91dEV4cHJlc3Npb24iLCJzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzIiwiY29uc3RyYWludHMiLCJPYmplY3QiLCJhc3NpZ24iLCJwcmVjaXNpb24iLCJzY2FsZSIsImdldFZhbHVlRm9ybWF0dGVkIiwib1Byb3BlcnR5RGF0YU1vZGVsUGF0aCIsInNQcm9wZXJ0eVR5cGUiLCJwYXRoIiwiaW5kZXhPZiIsIm9Qcm9wZXJ0eURlZmluaXRpb24iLCJmb3JtYXRXaXRoVHlwZUluZm9ybWF0aW9uIiwidHlwZSIsIkVETV9UWVBFX01BUFBJTkciLCJidWlsZEZpZWxkQmluZGluZ0V4cHJlc3Npb24iLCJvUHJvcGVydHkiLCJkYXRhUG9pbnRGb3JtYXRPcHRpb25zIiwiYk1lYXN1cmVEaXNwbGF5TW9kZUVuYWJsZWQiLCJvRGF0YVBvaW50VmFsdWUiLCJvRm9ybWF0T3B0aW9ucyIsImZvcm1hdE9wdGlvbnMiLCJvRGVzY3JpcHRpb24iLCJWYWx1ZUZvcm1hdCIsIk51bWJlck9mRnJhY3Rpb25hbERpZ2l0cyIsImVuaGFuY2VEYXRhTW9kZWxQYXRoIiwib0Zvcm1hdGVkVmFsdWUiLCJzRGlzcGxheU1vZGUiLCJkaXNwbGF5TW9kZSIsImdldERpc3BsYXlNb2RlIiwib0JpbmRpbmdFeHByZXNzaW9uIiwiZm9ybWF0UmVzdWx0IiwidmFsdWVGb3JtYXR0ZXJzIiwiZm9ybWF0V2l0aEJyYWNrZXRzIiwiSVNPQ3VycmVuY3kiLCJnZXRCaW5kaW5nV2l0aFVuaXRPckN1cnJlbmN5IiwibWVhc3VyZURpc3BsYXlNb2RlIiwic2hvd01lYXN1cmUiLCJidWlsZEV4cHJlc3Npb25Gb3JQcm9ncmVzc0luZGljYXRvclBlcmNlbnRWYWx1ZSIsIlVuaXRFeHByZXNzaW9uIiwi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QUFBQSxhQUFJQSxFQUFFLENBQUNDLElBQVA7QUFBQSxLQUhpQixDQUF6QjtBQUlBLFFBQU1DLG9CQUFvQixHQUFHbkIsb0JBQW9CLENBQUNTLFVBQUQsRUFBYUcsZ0JBQWIsQ0FBakQ7QUFDQSxRQUFNUSxnQkFBZ0IsR0FBR3ZCLDRCQUE0QixDQUFDVyw0QkFBNEIsQ0FBQ0UsWUFBOUIsQ0FBckQ7QUFDQSxRQUFNVyxpQkFBaUIsR0FBR1osVUFBVSxTQUFWLElBQUFBLFVBQVUsV0FBVixJQUFBQSxVQUFVLENBQUVhLE9BQVosR0FBc0JDLDZCQUE2QixDQUFDZCxVQUFVLENBQUNhLE9BQVosQ0FBbkQsR0FBMEVFLFNBQXBHO0FBQ0EsUUFBTXVFLGNBQWMsR0FBRzFFLGlCQUFpQixHQUFHVyxpQkFBaUIsQ0FBQ1gsaUJBQUQsQ0FBcEIsR0FBMEMsRUFBbEY7QUFFQSxRQUFNMkUsbUJBQW1CLEdBQUdULFlBQVksQ0FBQyxDQUFDcEUsb0JBQUQsRUFBdUJDLGdCQUF2QixFQUF5QzJFLGNBQXpDLENBQUQsRUFBMkRQLGVBQWUsQ0FBQ1MsaUJBQTNFLENBQXhDO0FBRUEsV0FBT25FLGNBQWMsQ0FBQ2tFLG1CQUFELENBQXJCO0FBQ0EsR0FkTSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHZhbHVlRm9ybWF0dGVycyBmcm9tIFwic2FwL2ZlL2NvcmUvZm9ybWF0dGVycy9WYWx1ZUZvcm1hdHRlclwiO1xuaW1wb3J0IHtcblx0Z2V0RGlzcGxheU1vZGUsXG5cdEVETV9UWVBFX01BUFBJTkcsXG5cdGdldEJpbmRpbmdXaXRoVW5pdE9yQ3VycmVuY3ksXG5cdGZvcm1hdFdpdGhUeXBlSW5mb3JtYXRpb25cbn0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvVUlGb3JtYXR0ZXJzXCI7XG5cbmltcG9ydCB7IERhdGFNb2RlbE9iamVjdFBhdGgsIGVuaGFuY2VEYXRhTW9kZWxQYXRoLCBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCB7XG5cdEV4cHJlc3Npb24sXG5cdGFubm90YXRpb25FeHByZXNzaW9uLFxuXHRmb3JtYXRSZXN1bHQsXG5cdEJpbmRpbmdFeHByZXNzaW9uRXhwcmVzc2lvbixcblx0QmluZGluZ0V4cHJlc3Npb24sXG5cdGNvbXBpbGVCaW5kaW5nLFxuXHRiaW5kaW5nRXhwcmVzc2lvbixcblx0Q29tcGxleFR5cGVFeHByZXNzaW9uLFxuXHR1bnJlc29sdmVhYmxlRXhwcmVzc2lvblxufSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nRXhwcmVzc2lvblwiO1xuXG5pbXBvcnQgeyBnZXRBc3NvY2lhdGVkVW5pdFByb3BlcnR5UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1Byb3BlcnR5SGVscGVyXCI7XG5cbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvYW5ub3RhdGlvbi1jb252ZXJ0ZXJcIjtcblxuaW1wb3J0IHsgQW5ub3RhdGlvbkhlbHBlciB9IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjRcIjtcblxuZXhwb3J0IHR5cGUgRGF0YVBvaW50Rm9ybWF0T3B0aW9ucyA9IFBhcnRpYWw8e1xuXHRtZWFzdXJlRGlzcGxheU1vZGU6IFN0cmluZztcbn0+O1xuXG5jb25zdCBnZXREYXRhUG9pbnRUYXJnZXRFeHByZXNzaW9uID0gKG9EYXRhTW9kZWxQYXRoOiBhbnkpOiBFeHByZXNzaW9uPHN0cmluZz4gPT4ge1xuXHRyZXR1cm4gb0RhdGFNb2RlbFBhdGg/LlRhcmdldFZhbHVlID8gYW5ub3RhdGlvbkV4cHJlc3Npb24ob0RhdGFNb2RlbFBhdGguVGFyZ2V0VmFsdWUpIDogdW5yZXNvbHZlYWJsZUV4cHJlc3Npb247XG59O1xuXG5jb25zdCBvUmVzb3VyY2VNb2RlbCA9IHNhcC51aS5nZXRDb3JlKCkuZ2V0TGlicmFyeVJlc291cmNlQnVuZGxlKFwic2FwLmZlLm1hY3Jvc1wiKTtcblxuZXhwb3J0IGNvbnN0IHByb2dyZXNzSW5kaWNhdG9yRGlzcGxheVZhbHVlID0gKG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgpOiBCaW5kaW5nRXhwcmVzc2lvbjxzdHJpbmc+ID0+IHtcblx0Y29uc3QgZmllbGRWYWx1ZSA9IG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGg/LnRhcmdldE9iamVjdD8uVmFsdWUgfHwgXCJcIjtcblx0Y29uc3QgcmVsYXRpdmVMb2NhdGlvbiA9IGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uKFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGguY29udGV4dExvY2F0aW9uLFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXNcblx0KS5tYXAobnAgPT4gbnAubmFtZSk7XG5cdGNvbnN0IGZpZWxkVmFsdWVFeHByZXNzaW9uID0gYW5ub3RhdGlvbkV4cHJlc3Npb24oZmllbGRWYWx1ZSwgcmVsYXRpdmVMb2NhdGlvbik7XG5cdGNvbnN0IFRhcmdldEV4cHJlc3Npb24gPSBnZXREYXRhUG9pbnRUYXJnZXRFeHByZXNzaW9uKG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KTtcblxuXHRpZiAoZmllbGRWYWx1ZUV4cHJlc3Npb24gJiYgVGFyZ2V0RXhwcmVzc2lvbikge1xuXHRcdGNvbnN0IHNVbml0UHJvcGVydHlQYXRoID0gZmllbGRWYWx1ZT8uJHRhcmdldCA/IGdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoKGZpZWxkVmFsdWU/LiR0YXJnZXQpIDogdW5kZWZpbmVkO1xuXG5cdFx0aWYgKCFzVW5pdFByb3BlcnR5UGF0aCkge1xuXHRcdFx0Y29uc3Qgc1VvTVBlcmNlbnQgPSBmaWVsZFZhbHVlLiR0YXJnZXQ/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdD8uY2hhckF0KDApO1xuXHRcdFx0aWYgKHNVb01QZXJjZW50ID09PSBcIiVcIikge1xuXHRcdFx0XHRyZXR1cm4gKGNvbXBpbGVCaW5kaW5nKGZpZWxkVmFsdWVFeHByZXNzaW9uKSBhcyBzdHJpbmcpICsgXCIgJVwiO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIG9SZXNvdXJjZU1vZGVsLmdldFRleHQoXCJUX0NPTU1PTl9QUk9HUkVTU19JTkRJQ0FUT1JfRElTUExBWV9WQUxVRV9OT19VT01cIiwgW1xuXHRcdFx0XHRcdGNvbXBpbGVCaW5kaW5nKGZpZWxkVmFsdWVFeHByZXNzaW9uKSBhcyBzdHJpbmcsXG5cdFx0XHRcdFx0Y29tcGlsZUJpbmRpbmcoVGFyZ2V0RXhwcmVzc2lvbikgYXMgc3RyaW5nXG5cdFx0XHRcdF0pO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9DT01NT05fUFJPR1JFU1NfSU5ESUNBVE9SX0RJU1BMQVlfVkFMVUVfTk9fVU9NXCIsIFtcblx0XHRcdFx0XHRjb21waWxlQmluZGluZyhmaWVsZFZhbHVlRXhwcmVzc2lvbikgYXMgc3RyaW5nLFxuXHRcdFx0XHRcdGNvbXBpbGVCaW5kaW5nKFRhcmdldEV4cHJlc3Npb24pIGFzIHN0cmluZ1xuXHRcdFx0XHRdKSArXG5cdFx0XHRcdFwiIFwiICtcblx0XHRcdFx0Y29tcGlsZUJpbmRpbmcoYmluZGluZ0V4cHJlc3Npb24oc1VuaXRQcm9wZXJ0eVBhdGggYXMgc3RyaW5nKSlcblx0XHRcdCk7XG5cdFx0fVxuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBidWlsZFJhdGluZ0luZGljYXRvclN1YnRpdGxlRXhwcmVzc2lvbiA9IChvQ29udGV4dDogYW55LCBtU2FtcGxlU2l6ZTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0aWYgKG1TYW1wbGVTaXplKSB7XG5cdFx0cmV0dXJuIGZvcm1hdFJhdGluZ0luZGljYXRvclN1YlRpdGxlKEFubm90YXRpb25IZWxwZXIudmFsdWUobVNhbXBsZVNpemUsIHsgY29udGV4dDogb0NvbnRleHQgfSkpO1xuXHR9XG59O1xuLy8gcmV0dXJucyB0aGUgdGV4dCBmb3IgdGhlIFJhdGluZyBJbmRpY2F0b3IgU3VidGl0bGUgKGUuZy4gJzcgcmV2aWV3cycpXG5jb25zdCBmb3JtYXRSYXRpbmdJbmRpY2F0b3JTdWJUaXRsZSA9IChpU2FtcGxlU2l6ZVZhbHVlOiBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRpZiAoaVNhbXBsZVNpemVWYWx1ZSkge1xuXHRcdGNvbnN0IHNTdWJUaXRsZUxhYmVsID1cblx0XHRcdGlTYW1wbGVTaXplVmFsdWUgPiAxXG5cdFx0XHRcdD8gb1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlRfQU5OT1RBVElPTl9IRUxQRVJfUkFUSU5HX0lORElDQVRPUl9TVUJUSVRMRV9MQUJFTF9QTFVSQUxcIilcblx0XHRcdFx0OiBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9BTk5PVEFUSU9OX0hFTFBFUl9SQVRJTkdfSU5ESUNBVE9SX1NVQlRJVExFX0xBQkVMXCIpO1xuXHRcdHJldHVybiBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9BTk5PVEFUSU9OX0hFTFBFUl9SQVRJTkdfSU5ESUNBVE9SX1NVQlRJVExFXCIsIFtTdHJpbmcoaVNhbXBsZVNpemVWYWx1ZSksIHNTdWJUaXRsZUxhYmVsXSk7XG5cdH1cbn07XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGdldCB0aGUgaGVhZGVyIHRleHQgb2YgcmF0aW5nIGluZGljYXRvci5cbiAqIEBwYXJhbSBvQ29udGV4dFxuICogQHBhcmFtIG9EYXRhUG9pbnRcbiAqIEBmdW5jdGlvbiBwYXJhbSB7b2JqZWN0fSBvQ29udGV4dCBjb250ZXh0IG9mIGludGVyZmFjZVxuICogcGFyYW0ge29iamVjdH0gb0RhdGFQb2ludCBkYXRhIHBvaW50IG9iamVjdFxuICogQHJldHVybnMge3N0cmluZ30gRXhwcmVzc2lvbiBiaW5kaW5nIGZvciByYXRpbmcgaW5kaWNhdG9yIHRleHRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEhlYWRlclJhdGluZ0luZGljYXRvclRleHQgPSAob0NvbnRleHQ6IGFueSwgb0RhdGFQb2ludDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0aWYgKG9EYXRhUG9pbnQgJiYgb0RhdGFQb2ludC5TYW1wbGVTaXplKSB7XG5cdFx0cmV0dXJuIGJ1aWxkUmF0aW5nSW5kaWNhdG9yU3VidGl0bGVFeHByZXNzaW9uKG9Db250ZXh0LCBvRGF0YVBvaW50LlNhbXBsZVNpemUpO1xuXHR9IGVsc2UgaWYgKG9EYXRhUG9pbnQgJiYgb0RhdGFQb2ludC5EZXNjcmlwdGlvbikge1xuXHRcdGNvbnN0IHNNb2RlbFZhbHVlID0gQW5ub3RhdGlvbkhlbHBlci52YWx1ZShvRGF0YVBvaW50LkRlc2NyaXB0aW9uLCB7IGNvbnRleHQ6IG9Db250ZXh0IH0pO1xuXHRcdHJldHVybiBcIiR7cGF0aDpcIiArIHNNb2RlbFZhbHVlICsgXCJ9XCI7XG5cdH1cbn07XG5nZXRIZWFkZXJSYXRpbmdJbmRpY2F0b3JUZXh0LnJlcXVpcmVzSUNvbnRleHQgPSB0cnVlO1xuXG5jb25zdCBidWlsZEV4cHJlc3Npb25Gb3JEZXNjcmlwdGlvbiA9IChmaWVsZFZhbHVlOiBhbnkpOiBFeHByZXNzaW9uPGFueT4gfCB1bmRlZmluZWQgPT4ge1xuXHRpZiAoZmllbGRWYWx1ZT8uJHRhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dCkge1xuXHRcdGNvbnN0IG9UZXh0RXhwcmVzc2lvbiA9IGFubm90YXRpb25FeHByZXNzaW9uKGZpZWxkVmFsdWU/LiR0YXJnZXQ/LmFubm90YXRpb25zPy5Db21tb24/LlRleHQpIGFzIEJpbmRpbmdFeHByZXNzaW9uRXhwcmVzc2lvbjxhbnk+O1xuXHRcdG9UZXh0RXhwcmVzc2lvbi5wYXJhbWV0ZXJzID0geyBcIiQkbm9QYXRjaFwiOiB0cnVlIH07XG5cdFx0cmV0dXJuIG9UZXh0RXhwcmVzc2lvbjtcblx0fVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuY29uc3QgZ2V0RGVjaW1hbEZvcm1hdCA9IChcblx0b3V0RXhwcmVzc2lvbjogQmluZGluZ0V4cHJlc3Npb248YW55Pixcblx0ZmllbGRWYWx1ZTogYW55LFxuXHRzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzOiBzdHJpbmdcbik6IEJpbmRpbmdFeHByZXNzaW9uPGFueT4gPT4ge1xuXHRpZiAoIW91dEV4cHJlc3Npb24uY29uc3RyYWludHMpIHtcblx0XHRvdXRFeHByZXNzaW9uLmNvbnN0cmFpbnRzID0ge307XG5cdH1cblx0b3V0RXhwcmVzc2lvbi5jb25zdHJhaW50cyA9IE9iamVjdC5hc3NpZ24ob3V0RXhwcmVzc2lvbi5jb25zdHJhaW50cywge1xuXHRcdHByZWNpc2lvbjogZmllbGRWYWx1ZS4kdGFyZ2V0LnByZWNpc2lvbixcblx0XHRzY2FsZTogc051bWJlck9mRnJhY3Rpb25hbERpZ2l0cyA/IHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMgOiBmaWVsZFZhbHVlLiR0YXJnZXQuc2NhbGVcblx0fSk7XG5cdHJldHVybiBvdXRFeHByZXNzaW9uO1xufTtcblxuY29uc3QgZ2V0VmFsdWVGb3JtYXR0ZWQgPSAoXG5cdG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgsXG5cdGZpZWxkVmFsdWU6IGFueSxcblx0c1Byb3BlcnR5VHlwZTogc3RyaW5nLFxuXHRzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzOiBzdHJpbmdcbik6IEJpbmRpbmdFeHByZXNzaW9uRXhwcmVzc2lvbjxzdHJpbmc+ID0+IHtcblx0bGV0IG91dEV4cHJlc3Npb246IEJpbmRpbmdFeHByZXNzaW9uPGFueT47XG5cdGNvbnN0IHJlbGF0aXZlTG9jYXRpb24gPVxuXHRcdGZpZWxkVmFsdWU/LnBhdGg/LmluZGV4T2YoXCIvXCIpID09PSAtMVxuXHRcdFx0PyBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbihvUHJvcGVydHlEYXRhTW9kZWxQYXRoLmNvbnRleHRMb2NhdGlvbiwgb1Byb3BlcnR5RGF0YU1vZGVsUGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllcykubWFwKFxuXHRcdFx0XHRcdG5wID0+IG5wLm5hbWVcblx0XHRcdCAgKVxuXHRcdFx0OiBbXTtcblx0b3V0RXhwcmVzc2lvbiA9IGFubm90YXRpb25FeHByZXNzaW9uKGZpZWxkVmFsdWUsIHJlbGF0aXZlTG9jYXRpb24pO1xuXHRjb25zdCBvUHJvcGVydHlEZWZpbml0aW9uID0gb1Byb3BlcnR5RGF0YU1vZGVsUGF0aC50YXJnZXRPYmplY3QgYXMgUHJvcGVydHk7XG5cdGlmIChzUHJvcGVydHlUeXBlKSB7XG5cdFx0Zm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvbihvUHJvcGVydHlEZWZpbml0aW9uLCBvdXRFeHByZXNzaW9uKTtcblx0XHRvdXRFeHByZXNzaW9uLnR5cGUgPSBFRE1fVFlQRV9NQVBQSU5HW3NQcm9wZXJ0eVR5cGVdPy50eXBlO1xuXHR9XG5cdHN3aXRjaCAoc1Byb3BlcnR5VHlwZSkge1xuXHRcdGNhc2UgXCJFZG0uRGVjaW1hbFwiOlxuXHRcdFx0Ly8gZm9yIHRoZSBsaXN0UmVwb3J0LCB0aGUgZGVjaW1hbCBmaWVsZHMgYXJlIGZvcm1hdHRlZCBieSByZXR1cm5pbmcgYSBzdHJpbmdcblx0XHRcdC8vIGZvciB0aGUgZmFjZXRzIG9mIHRoZSBPUCwgdGhlIGRlY2ltYWwgZmllbGRzIGFyZSBmb3JtYXR0ZWQgYnkgcmV0dXJuaW5nIGEgcHJvbWlzZSwgc28gd2UgbWFuYWdlIGFsbCB0aGUgY2FzZXNcblx0XHRcdG91dEV4cHJlc3Npb24gPSBnZXREZWNpbWFsRm9ybWF0KG91dEV4cHJlc3Npb24sIGZpZWxkVmFsdWUsIHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMpO1xuXHRcdFx0YnJlYWs7XG5cdFx0ZGVmYXVsdDpcblx0fVxuXHRyZXR1cm4gb3V0RXhwcmVzc2lvbiBhcyBCaW5kaW5nRXhwcmVzc2lvbkV4cHJlc3Npb248c3RyaW5nPjtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZEZpZWxkQmluZGluZ0V4cHJlc3Npb24gPSAoXG5cdG9EYXRhTW9kZWxQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRvUHJvcGVydHk6IGFueSxcblx0ZGF0YVBvaW50Rm9ybWF0T3B0aW9uczogRGF0YVBvaW50Rm9ybWF0T3B0aW9ucyxcblx0Yk1lYXN1cmVEaXNwbGF5TW9kZUVuYWJsZWQ6IGJvb2xlYW5cbik6IEJpbmRpbmdFeHByZXNzaW9uPHN0cmluZz4gPT4ge1xuXHRjb25zdCBvRGF0YVBvaW50ID0gb0RhdGFNb2RlbFBhdGgudGFyZ2V0T2JqZWN0O1xuXHRjb25zdCBvRGF0YVBvaW50VmFsdWUgPSBvRGF0YVBvaW50Py5WYWx1ZSB8fCBcIlwiO1xuXHRjb25zdCBvRm9ybWF0T3B0aW9ucyA9IG9Qcm9wZXJ0eS5mb3JtYXRPcHRpb25zO1xuXHRjb25zdCBvRGVzY3JpcHRpb24gPSBidWlsZEV4cHJlc3Npb25Gb3JEZXNjcmlwdGlvbihvRGF0YVBvaW50VmFsdWUpO1xuXHRjb25zdCBzUHJvcGVydHlUeXBlID0gb0RhdGFQb2ludFZhbHVlPy4kdGFyZ2V0Py50eXBlO1xuXHRsZXQgc051bWJlck9mRnJhY3Rpb25hbERpZ2l0cztcblxuXHRpZiAoc1Byb3BlcnR5VHlwZSA9PT0gXCJFZG0uRGVjaW1hbFwiICYmIG9EYXRhUG9pbnQuVmFsdWVGb3JtYXQpIHtcblx0XHRpZiAob0RhdGFQb2ludC5WYWx1ZUZvcm1hdC5OdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMpIHtcblx0XHRcdHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMgPSBvRGF0YVBvaW50LlZhbHVlRm9ybWF0Lk51bWJlck9mRnJhY3Rpb25hbERpZ2l0cztcblx0XHR9XG5cdH1cblx0Y29uc3Qgb1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aCA9IGVuaGFuY2VEYXRhTW9kZWxQYXRoKG9EYXRhTW9kZWxQYXRoLCBvRGF0YVBvaW50VmFsdWUucGF0aCk7XG5cdGNvbnN0IG9Gb3JtYXRlZFZhbHVlID0gZ2V0VmFsdWVGb3JtYXR0ZWQob1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aCwgb0RhdGFQb2ludFZhbHVlLCBzUHJvcGVydHlUeXBlLCBzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzKTtcblx0Y29uc3Qgc0Rpc3BsYXlNb2RlID0gb0Rlc2NyaXB0aW9uXG5cdFx0PyBvRm9ybWF0T3B0aW9ucy5kaXNwbGF5TW9kZSB8fCBnZXREaXNwbGF5TW9kZShvRGF0YVBvaW50VmFsdWUsIG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgpXG5cdFx0OiBcIlZhbHVlXCI7XG5cdGxldCBvQmluZGluZ0V4cHJlc3Npb246IGFueTtcblx0c3dpdGNoIChzRGlzcGxheU1vZGUpIHtcblx0XHRjYXNlIFwiRGVzY3JpcHRpb25cIjpcblx0XHRcdG9CaW5kaW5nRXhwcmVzc2lvbiA9IG9EZXNjcmlwdGlvbjtcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgXCJWYWx1ZURlc2NyaXB0aW9uXCI6XG5cdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBmb3JtYXRSZXN1bHQoW29Gb3JtYXRlZFZhbHVlLCBvRGVzY3JpcHRpb25dLCB2YWx1ZUZvcm1hdHRlcnMuZm9ybWF0V2l0aEJyYWNrZXRzKTtcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgXCJEZXNjcmlwdGlvblZhbHVlXCI6XG5cdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBmb3JtYXRSZXN1bHQoW29EZXNjcmlwdGlvbiwgb0Zvcm1hdGVkVmFsdWVdLCB2YWx1ZUZvcm1hdHRlcnMuZm9ybWF0V2l0aEJyYWNrZXRzKTtcblx0XHRcdGJyZWFrO1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHRpZiAoXG5cdFx0XHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQgfHxcblx0XHRcdFx0b1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3Q/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uSVNPQ3VycmVuY3lcblx0XHRcdCkge1xuXHRcdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBnZXRCaW5kaW5nV2l0aFVuaXRPckN1cnJlbmN5KG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgsIG9Gb3JtYXRlZFZhbHVlKTtcblx0XHRcdFx0aWYgKG9CaW5kaW5nRXhwcmVzc2lvbiAmJiBiTWVhc3VyZURpc3BsYXlNb2RlRW5hYmxlZCAmJiBkYXRhUG9pbnRGb3JtYXRPcHRpb25zPy5tZWFzdXJlRGlzcGxheU1vZGUgIT09IFwiUmVhZE9ubHlcIikge1xuXHRcdFx0XHRcdChvQmluZGluZ0V4cHJlc3Npb24gYXMgQ29tcGxleFR5cGVFeHByZXNzaW9uPFN0cmluZz4pLmZvcm1hdE9wdGlvbnMgPSB7XG5cdFx0XHRcdFx0XHQuLi4ob0JpbmRpbmdFeHByZXNzaW9uIGFzIENvbXBsZXhUeXBlRXhwcmVzc2lvbjxTdHJpbmc+KS5mb3JtYXRPcHRpb25zLFxuXHRcdFx0XHRcdFx0c2hvd01lYXN1cmU6IGZhbHNlXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0b0JpbmRpbmdFeHByZXNzaW9uID0gb0Zvcm1hdGVkVmFsdWU7XG5cdFx0XHR9XG5cdH1cblxuXHRyZXR1cm4gY29tcGlsZUJpbmRpbmcob0JpbmRpbmdFeHByZXNzaW9uKTtcbn07XG5cbi8qKlxuICogTWV0aG9kIHRvIGNhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSB2YWx1ZSBvZiBQcm9ncmVzcyBJbmRpY2F0b3IuIEJhc2ljIGZvcm11bGEgaXMgVmFsdWUvVGFyZ2V0ICogMTAwLlxuICpcbiAqIEBwYXJhbSB7Kn0gb1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aFxuICogQHJldHVybnMge0JpbmRpbmd9IEV4cHJlc3Npb24gYmluZGluZyB0aGF0IHdpbGwgY2FsY3VsYXRlIHRoZSBwZXJjZW50IHZhbHVlIHRvIGJlIHNob3duIGluIHByb2dyZXNzIGluZGljYXRvci4gRm9ybXVsYSBnaXZlbiBhYm92ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGJ1aWxkRXhwcmVzc2lvbkZvclByb2dyZXNzSW5kaWNhdG9yUGVyY2VudFZhbHVlID0gKG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRjb25zdCBmaWVsZFZhbHVlID0gb1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aD8udGFyZ2V0T2JqZWN0Py5WYWx1ZSB8fCBcIlwiO1xuXHRjb25zdCByZWxhdGl2ZUxvY2F0aW9uID0gZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24oXG5cdFx0b1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC5jb250ZXh0TG9jYXRpb24sXG5cdFx0b1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllc1xuXHQpLm1hcChucCA9PiBucC5uYW1lKTtcblx0Y29uc3QgZmllbGRWYWx1ZUV4cHJlc3Npb24gPSBhbm5vdGF0aW9uRXhwcmVzc2lvbihmaWVsZFZhbHVlLCByZWxhdGl2ZUxvY2F0aW9uKTtcblx0Y29uc3QgVGFyZ2V0RXhwcmVzc2lvbiA9IGdldERhdGFQb2ludFRhcmdldEV4cHJlc3Npb24ob1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QpO1xuXHRjb25zdCBzVW5pdFByb3BlcnR5UGF0aCA9IGZpZWxkVmFsdWU/LiR0YXJnZXQgPyBnZXRBc3NvY2lhdGVkVW5pdFByb3BlcnR5UGF0aChmaWVsZFZhbHVlLiR0YXJnZXQpIDogdW5kZWZpbmVkO1xuXHRjb25zdCBVbml0RXhwcmVzc2lvbiA9IHNVbml0UHJvcGVydHlQYXRoID8gYmluZGluZ0V4cHJlc3Npb24oc1VuaXRQcm9wZXJ0eVBhdGgpIDogXCJcIjtcblxuXHRjb25zdCBvRXhwcmVzc2lvblRlbXBsYXRlID0gZm9ybWF0UmVzdWx0KFtmaWVsZFZhbHVlRXhwcmVzc2lvbiwgVGFyZ2V0RXhwcmVzc2lvbiwgVW5pdEV4cHJlc3Npb25dLCB2YWx1ZUZvcm1hdHRlcnMuY29tcHV0ZVBlcmNlbnRhZ2UpO1xuXG5cdHJldHVybiBjb21waWxlQmluZGluZyhvRXhwcmVzc2lvblRlbXBsYXRlKTtcbn07XG4iXX0=
@@ -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/formatters/ValueFormatter","sap/fe/core/templating/UIFormatters","sap/fe/core/templating/DataModelPathHelper","sap/fe/core/helpers/BindingExpression","sap/fe/core/templating/PropertyHelper","sap/ui/model/odata/v4/AnnotationHelper"],function(v,U,D,B,P,A){"use strict";var _={};var g=P.getAssociatedUnitPropertyPath;var u=B.unresolveableExpression;var b=B.bindingExpression;var c=B.compileBinding;var f=B.formatResult;var a=B.annotationExpression;var d=D.getPathRelativeLocation;var e=D.enhanceDataModelPath;var h=U.getBindingWithUnitOrCurrency;var E=U.EDM_TYPE_MAPPING;var j=U.getDisplayMode;function o(i,C){var F=Object.keys(i);if(Object.getOwnPropertySymbols){var G=Object.getOwnPropertySymbols(i);if(C){G=G.filter(function(H){return Object.getOwnPropertyDescriptor(i,H).enumerable;});}F.push.apply(F,G);}return F;}function k(C){for(var i=1;i<arguments.length;i++){var F=arguments[i]!=null?arguments[i]:{};if(i%2){o(Object(F),true).forEach(function(G){l(C,G,F[G]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(C,Object.getOwnPropertyDescriptors(F));}else{o(Object(F)).forEach(function(G){Object.defineProperty(C,G,Object.getOwnPropertyDescriptor(F,G));});}}return C;}function l(i,C,F){if(C in i){Object.defineProperty(i,C,{value:F,enumerable:true,configurable:true,writable:true});}else{i[C]=F;}return i;}var m=function(i){return i!==null&&i!==void 0&&i.TargetValue?a(i.TargetValue):u;};var r=sap.ui.getCore().getLibraryResourceBundle("sap.fe.macros");var p=function(i){var C;var F=(i===null||i===void 0?void 0:(C=i.targetObject)===null||C===void 0?void 0:C.Value)||"";var G=d(i.contextLocation,i.navigationProperties).map(function(O){return O.name;});var H=a(F,G);var T=m(i.targetObject);if(H&&T){var I=F!==null&&F!==void 0&&F.$target?g(F===null||F===void 0?void 0:F.$target):undefined;if(!I){var J,K,L,M;var N=(J=F.$target)===null||J===void 0?void 0:(K=J.annotations)===null||K===void 0?void 0:(L=K.Measures)===null||L===void 0?void 0:(M=L.Unit)===null||M===void 0?void 0:M.charAt(0);if(N==="%"){return c(H)+" %";}else{return r.getText("T_COMMON_PROGRESS_INDICATOR_DISPLAY_VALUE_NO_UOM",[c(H),c(T)]);}}else{return r.getText("T_COMMON_PROGRESS_INDICATOR_DISPLAY_VALUE_NO_UOM",[c(H),c(T)])+" "+c(b(I));}}return undefined;};_.progressIndicatorDisplayValue=p;var n=function(C,S){if(S){return q(A.value(S,{context:C}));}};var q=function(S){if(S){var i=S>1?r.getText("T_ANNOTATION_HELPER_RATING_INDICATOR_SUBTITLE_LABEL_PLURAL"):r.getText("T_ANNOTATION_HELPER_RATING_INDICATOR_SUBTITLE_LABEL");return r.getText("T_ANNOTATION_HELPER_RATING_INDICATOR_SUBTITLE",[String(S),i]);}};var s=function(C,i){if(i&&i.SampleSize){return n(C,i.SampleSize);}else if(i&&i.Description){var M=A.value(i.Description,{context:C});return"${path:"+M+"}";}};s.requiresIContext=true;_.getHeaderRatingIndicatorText=s;var t=function(i){var C,F,G;if(i!==null&&i!==void 0&&(C=i.$target)!==null&&C!==void 0&&(F=C.annotations)!==null&&F!==void 0&&(G=F.Common)!==null&&G!==void 0&&G.Text){var H,I,J;var T=a(i===null||i===void 0?void 0:(H=i.$target)===null||H===void 0?void 0:(I=H.annotations)===null||I===void 0?void 0:(J=I.Common)===null||J===void 0?void 0:J.Text);T.parameters={"$$noPatch":true};return T;}return undefined;};var w=function(i,C,N){if(!i.constraints){i.constraints={};}i.constraints=Object.assign(i.constraints,{precision:C.$target.precision,scale:N?N:C.$target.scale});return i;};var x=function(i,C,F,N){var G;var H;var I=(C===null||C===void 0?void 0:(G=C.path)===null||G===void 0?void 0:G.indexOf("/"))===-1?d(i.contextLocation,i.navigationProperties).map(function(K){return K.name;}):[];H=a(C,I);if(F){var J;H.type=(J=E[F])===null||J===void 0?void 0:J.type;}switch(F){case"Edm.Decimal":H=w(H,C,N);break;case"Edm.String":if(!H.formatOptions){H.formatOptions={};}if(!H.constraints){H.constraints={};}H.formatOptions.parseKeepsEmptyString=true;break;default:}return H;};var y=function(i,C,F,M){var G,H,I,J,K,L,N;var O=i.targetObject;var Q=(O===null||O===void 0?void 0:O.Value)||"";var R=C.formatOptions;var S=t(Q);var T=Q===null||Q===void 0?void 0:(G=Q.$target)===null||G===void 0?void 0:G.type;var V;if(T==="Edm.Decimal"&&O.ValueFormat){if(O.ValueFormat.NumberOfFractionalDigits){V=O.ValueFormat.NumberOfFractionalDigits;}}var W=e(i,Q.path);var X=x(W,Q,T,V);var Y=S?R.displayMode||j(Q,W):"Value";var Z;switch(Y){case"Description":Z=S;break;case"ValueDescription":Z=f([X,S],v.formatWithBrackets);break;case"DescriptionValue":Z=f([S,X],v.formatWithBrackets);break;default:if((H=W.targetObject)!==null&&H!==void 0&&(I=H.annotations)!==null&&I!==void 0&&(J=I.Measures)!==null&&J!==void 0&&J.Unit||(K=W.targetObject)!==null&&K!==void 0&&(L=K.annotations)!==null&&L!==void 0&&(N=L.Measures)!==null&&N!==void 0&&N.ISOCurrency){Z=h(W,X);if(Z&&M&&(F===null||F===void 0?void 0:F.measureDisplayMode)!=="ReadOnly"){Z.formatOptions=k(k({},Z.formatOptions),{},{showMeasure:false});}}else{Z=X;}}return c(Z);};_.buildFieldBindingExpression=y;var z=function(i){var C;var F=(i===null||i===void 0?void 0:(C=i.targetObject)===null||C===void 0?void 0:C.Value)||"";var G=d(i.contextLocation,i.navigationProperties).map(function(L){return L.name;});var H=a(F,G);var T=m(i.targetObject);var I=F!==null&&F!==void 0&&F.$target?g(F.$target):undefined;var J=I?b(I):"";var K=f([H,T,J],v.computePercentage);return c(K);};_.buildExpressionForProgressIndicatorPercentValue=z;return _;},false);
5
+ sap.ui.define(["sap/fe/core/formatters/ValueFormatter","sap/fe/core/templating/UIFormatters","sap/fe/core/templating/DataModelPathHelper","sap/fe/core/helpers/BindingExpression","sap/fe/core/templating/PropertyHelper","sap/ui/model/odata/v4/AnnotationHelper"],function(v,U,D,B,P,A){"use strict";var _={};var g=P.getAssociatedUnitPropertyPath;var u=B.unresolveableExpression;var b=B.bindingExpression;var c=B.compileBinding;var f=B.formatResult;var a=B.annotationExpression;var d=D.getPathRelativeLocation;var e=D.enhanceDataModelPath;var h=U.formatWithTypeInformation;var j=U.getBindingWithUnitOrCurrency;var E=U.EDM_TYPE_MAPPING;var k=U.getDisplayMode;function o(i,F){var G=Object.keys(i);if(Object.getOwnPropertySymbols){var H=Object.getOwnPropertySymbols(i);if(F){H=H.filter(function(I){return Object.getOwnPropertyDescriptor(i,I).enumerable;});}G.push.apply(G,H);}return G;}function l(F){for(var i=1;i<arguments.length;i++){var G=arguments[i]!=null?arguments[i]:{};if(i%2){o(Object(G),true).forEach(function(H){m(F,H,G[H]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(F,Object.getOwnPropertyDescriptors(G));}else{o(Object(G)).forEach(function(H){Object.defineProperty(F,H,Object.getOwnPropertyDescriptor(G,H));});}}return F;}function m(i,F,G){if(F in i){Object.defineProperty(i,F,{value:G,enumerable:true,configurable:true,writable:true});}else{i[F]=G;}return i;}var n=function(i){return i!==null&&i!==void 0&&i.TargetValue?a(i.TargetValue):u;};var r=sap.ui.getCore().getLibraryResourceBundle("sap.fe.macros");var p=function(i){var F;var G=(i===null||i===void 0?void 0:(F=i.targetObject)===null||F===void 0?void 0:F.Value)||"";var H=d(i.contextLocation,i.navigationProperties).map(function(Q){return Q.name;});var I=a(G,H);var T=n(i.targetObject);if(I&&T){var J=G!==null&&G!==void 0&&G.$target?g(G===null||G===void 0?void 0:G.$target):undefined;if(!J){var K,L,M,N;var O=(K=G.$target)===null||K===void 0?void 0:(L=K.annotations)===null||L===void 0?void 0:(M=L.Measures)===null||M===void 0?void 0:(N=M.Unit)===null||N===void 0?void 0:N.charAt(0);if(O==="%"){return c(I)+" %";}else{return r.getText("T_COMMON_PROGRESS_INDICATOR_DISPLAY_VALUE_NO_UOM",[c(I),c(T)]);}}else{return r.getText("T_COMMON_PROGRESS_INDICATOR_DISPLAY_VALUE_NO_UOM",[c(I),c(T)])+" "+c(b(J));}}return undefined;};_.progressIndicatorDisplayValue=p;var q=function(i,S){if(S){return s(A.value(S,{context:i}));}};var s=function(S){if(S){var i=S>1?r.getText("T_ANNOTATION_HELPER_RATING_INDICATOR_SUBTITLE_LABEL_PLURAL"):r.getText("T_ANNOTATION_HELPER_RATING_INDICATOR_SUBTITLE_LABEL");return r.getText("T_ANNOTATION_HELPER_RATING_INDICATOR_SUBTITLE",[String(S),i]);}};var t=function(i,F){if(F&&F.SampleSize){return q(i,F.SampleSize);}else if(F&&F.Description){var M=A.value(F.Description,{context:i});return"${path:"+M+"}";}};t.requiresIContext=true;_.getHeaderRatingIndicatorText=t;var w=function(i){var F,G,H;if(i!==null&&i!==void 0&&(F=i.$target)!==null&&F!==void 0&&(G=F.annotations)!==null&&G!==void 0&&(H=G.Common)!==null&&H!==void 0&&H.Text){var I,J,K;var T=a(i===null||i===void 0?void 0:(I=i.$target)===null||I===void 0?void 0:(J=I.annotations)===null||J===void 0?void 0:(K=J.Common)===null||K===void 0?void 0:K.Text);T.parameters={"$$noPatch":true};return T;}return undefined;};var x=function(i,F,N){if(!i.constraints){i.constraints={};}i.constraints=Object.assign(i.constraints,{precision:F.$target.precision,scale:N?N:F.$target.scale});return i;};var y=function(i,F,G,N){var H;var I;var J=(F===null||F===void 0?void 0:(H=F.path)===null||H===void 0?void 0:H.indexOf("/"))===-1?d(i.contextLocation,i.navigationProperties).map(function(M){return M.name;}):[];I=a(F,J);var K=i.targetObject;if(G){var L;h(K,I);I.type=(L=E[G])===null||L===void 0?void 0:L.type;}switch(G){case"Edm.Decimal":I=x(I,F,N);break;default:}return I;};var z=function(i,F,G,M){var H,I,J,K,L,N,O;var Q=i.targetObject;var R=(Q===null||Q===void 0?void 0:Q.Value)||"";var S=F.formatOptions;var T=w(R);var V=R===null||R===void 0?void 0:(H=R.$target)===null||H===void 0?void 0:H.type;var W;if(V==="Edm.Decimal"&&Q.ValueFormat){if(Q.ValueFormat.NumberOfFractionalDigits){W=Q.ValueFormat.NumberOfFractionalDigits;}}var X=e(i,R.path);var Y=y(X,R,V,W);var Z=T?S.displayMode||k(R,X):"Value";var $;switch(Z){case"Description":$=T;break;case"ValueDescription":$=f([Y,T],v.formatWithBrackets);break;case"DescriptionValue":$=f([T,Y],v.formatWithBrackets);break;default:if((I=X.targetObject)!==null&&I!==void 0&&(J=I.annotations)!==null&&J!==void 0&&(K=J.Measures)!==null&&K!==void 0&&K.Unit||(L=X.targetObject)!==null&&L!==void 0&&(N=L.annotations)!==null&&N!==void 0&&(O=N.Measures)!==null&&O!==void 0&&O.ISOCurrency){$=j(X,Y);if($&&M&&(G===null||G===void 0?void 0:G.measureDisplayMode)!=="ReadOnly"){$.formatOptions=l(l({},$.formatOptions),{},{showMeasure:false});}}else{$=Y;}}return c($);};_.buildFieldBindingExpression=z;var C=function(i){var F;var G=(i===null||i===void 0?void 0:(F=i.targetObject)===null||F===void 0?void 0:F.Value)||"";var H=d(i.contextLocation,i.navigationProperties).map(function(M){return M.name;});var I=a(G,H);var T=n(i.targetObject);var J=G!==null&&G!==void 0&&G.$target?g(G.$target):undefined;var K=J?b(J):"";var L=f([I,T,K],v.computePercentage);return c(L);};_.buildExpressionForProgressIndicatorPercentValue=C;return _;},false);
@@ -1,5 +1,10 @@
1
1
  import valueFormatters from "sap/fe/core/formatters/ValueFormatter";
2
- import { getDisplayMode, EDM_TYPE_MAPPING, getBindingWithUnitOrCurrency } from "sap/fe/core/templating/UIFormatters";
2
+ import {
3
+ getDisplayMode,
4
+ EDM_TYPE_MAPPING,
5
+ getBindingWithUnitOrCurrency,
6
+ formatWithTypeInformation
7
+ } from "sap/fe/core/templating/UIFormatters";
3
8
 
4
9
  import { DataModelObjectPath, enhanceDataModelPath, getPathRelativeLocation } from "sap/fe/core/templating/DataModelPathHelper";
5
10
  import {
@@ -16,6 +21,8 @@ import {
16
21
 
17
22
  import { getAssociatedUnitPropertyPath } from "sap/fe/core/templating/PropertyHelper";
18
23
 
24
+ import { Property } from "@sap-ux/annotation-converter";
25
+
19
26
  import { AnnotationHelper } from "sap/ui/model/odata/v4";
20
27
 
21
28
  export type DataPointFormatOptions = Partial<{
@@ -136,7 +143,9 @@ const getValueFormatted = (
136
143
  )
137
144
  : [];
138
145
  outExpression = annotationExpression(fieldValue, relativeLocation);
146
+ const oPropertyDefinition = oPropertyDataModelPath.targetObject as Property;
139
147
  if (sPropertyType) {
148
+ formatWithTypeInformation(oPropertyDefinition, outExpression);
140
149
  outExpression.type = EDM_TYPE_MAPPING[sPropertyType]?.type;
141
150
  }
142
151
  switch (sPropertyType) {
@@ -145,15 +154,6 @@ const getValueFormatted = (
145
154
  // for the facets of the OP, the decimal fields are formatted by returning a promise, so we manage all the cases
146
155
  outExpression = getDecimalFormat(outExpression, fieldValue, sNumberOfFractionalDigits);
147
156
  break;
148
- case "Edm.String":
149
- if (!outExpression.formatOptions) {
150
- outExpression.formatOptions = {};
151
- }
152
- if (!outExpression.constraints) {
153
- outExpression.constraints = {};
154
- }
155
- outExpression.formatOptions.parseKeepsEmptyString = true;
156
- break;
157
157
  default:
158
158
  }
159
159
  return outExpression as BindingExpressionExpression<string>;
@@ -16,7 +16,8 @@ sap.ui.define(
16
16
  "sap/ui/model/FilterOperator",
17
17
  "sap/base/Log",
18
18
  "sap/fe/macros/DelegateUtil",
19
- "sap/fe/core/helpers/ModelHelper"
19
+ "sap/fe/core/helpers/ModelHelper",
20
+ "sap/fe/core/CommonUtils"
20
21
  ],
21
22
  function(
22
23
  TableDelegate,
@@ -30,7 +31,8 @@ sap.ui.define(
30
31
  FilterOperator,
31
32
  Log,
32
33
  MacrosDelegateUtil,
33
- ModelHelper
34
+ ModelHelper,
35
+ CommonUtils
34
36
  ) {
35
37
  "use strict";
36
38
 
@@ -177,7 +179,7 @@ sap.ui.define(
177
179
  }
178
180
 
179
181
  // get the basic search
180
- oBindingInfo.parameters.$search = oFilter.getSearch() || undefined;
182
+ oBindingInfo.parameters.$search = CommonUtils.normalizeSearchTerm(oFilter.getSearch()) || undefined;
181
183
  }
182
184
  // add select to oBindingInfo (BCP 2170163012)
183
185
  oBindingInfo.parameters.$select = aTableProperties.reduce(function(sQuery, oProperty) {
@@ -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/mdc/odata/v4/TableDelegate","sap/ui/core/Core","sap/ui/mdc/util/FilterUtil","sap/ui/mdc/odata/v4/util/DelegateUtil","sap/ui/mdc/odata/v4/FilterBarDelegate","sap/ui/mdc/odata/v4/ODataMetaModelUtil","sap/ui/mdc/odata/v4/TypeUtil","sap/ui/model/Filter","sap/ui/model/FilterOperator","sap/base/Log","sap/fe/macros/DelegateUtil","sap/fe/core/helpers/ModelHelper"],function(T,C,F,D,a,O,b,c,d,L,M,e){"use strict";var f=Object.assign({},T);f.fetchProperties=function(t){var m=this._getModel(t);var p;if(!m){p=new Promise(function(r){t.attachModelContextChange({resolver:r},o,this);}.bind(this)).then(function(m){return this._createPropertyInfos(t,m);}.bind(this));}else{p=this._createPropertyInfos(t,m);}return p.then(function(P){if(t.data){t.data("$tablePropertyInfo",P);}return P;});};function o(E,g){var t=E.getSource();var m=this._getModel(t);if(m){t.detachModelContextChange(o);g.resolver(m);}}f._createPropertyInfos=function(t,m){var g=t.getDelegate().payload;var p=[];var E="/"+g.collectionName;var h=m.getMetaModel();return h.requestObject(E+"@").then(function(i){var s=i["@Org.OData.Capabilities.V1.SortRestrictions"]||{};var S=O.getSortRestrictionsInfo(s);var j=i["@Org.OData.Capabilities.V1.FilterRestrictions"];var k=O.getFilterRestrictionsInfo(j);var l=M.getCustomData(t,"columns");l.customData.forEach(function(n){p.push({name:n.path,path:n.path,label:n.label,sortable:S[n.path]?S[n.path].sortable:n.sortable,filterable:k[n.path]?k[n.path].filterable:n.filterable,typeConfig:M.isTypeFilterable(n.$Type)?t.getTypeUtil().getTypeConfig(n.$Type):undefined,maxConditions:O.isMultiValueFilterExpression(k.propertyInfo[n.path])?-1:1});});return p;});};f.updateBindingInfo=function(m,g,B){T.updateBindingInfo.apply(this,[m,g,B]);if(!m){return;}if(g&&B){B.path=B.path||g.collectionPath||"/"+g.collectionName;B.model=B.model||g.model;}if(!B){B={};}var h=C.byId(m.getFilter()),i=m.isFilteringEnabled(),j;var I,k;var l=[];var t=m.data("$tablePropertyInfo");if(i){j=m.getConditions();I=F.getFilterInfo(m,j,t);if(I.filters){l.push(I.filters);}}if(h){j=h.getConditions();if(j){var p=D.getParameterNames(h);k=F.getFilterInfo(h,j,t,p);if(k.filters){l.push(k.filters);}var P=D.getParametersInfo(h,j);if(P){B.path=P;}}B.parameters.$search=h.getSearch()||undefined;}B.parameters.$select=t.reduce(function(q,n){if(n.path&&n.path.indexOf("/")===-1){q=q?q+","+n.path:n.path;}return q;},"");if(e.isDraftSupported(m.getModel().getMetaModel(),B.path)){l.push(new c("IsActiveEntity",d.EQ,true));}B.filters=new c(l,true);};f.getFilterDelegate=function(){return a;};f.getTypeUtil=function(p){return b;};f._getModel=function(t){var m=t.getDelegate().payload;return t.getModel(m.model);};return f;});
6
+ sap.ui.define(["sap/ui/mdc/odata/v4/TableDelegate","sap/ui/core/Core","sap/ui/mdc/util/FilterUtil","sap/ui/mdc/odata/v4/util/DelegateUtil","sap/ui/mdc/odata/v4/FilterBarDelegate","sap/ui/mdc/odata/v4/ODataMetaModelUtil","sap/ui/mdc/odata/v4/TypeUtil","sap/ui/model/Filter","sap/ui/model/FilterOperator","sap/base/Log","sap/fe/macros/DelegateUtil","sap/fe/core/helpers/ModelHelper","sap/fe/core/CommonUtils"],function(T,C,F,D,a,O,b,c,d,L,M,e,f){"use strict";var g=Object.assign({},T);g.fetchProperties=function(t){var m=this._getModel(t);var p;if(!m){p=new Promise(function(r){t.attachModelContextChange({resolver:r},o,this);}.bind(this)).then(function(m){return this._createPropertyInfos(t,m);}.bind(this));}else{p=this._createPropertyInfos(t,m);}return p.then(function(P){if(t.data){t.data("$tablePropertyInfo",P);}return P;});};function o(E,h){var t=E.getSource();var m=this._getModel(t);if(m){t.detachModelContextChange(o);h.resolver(m);}}g._createPropertyInfos=function(t,m){var h=t.getDelegate().payload;var p=[];var E="/"+h.collectionName;var i=m.getMetaModel();return i.requestObject(E+"@").then(function(j){var s=j["@Org.OData.Capabilities.V1.SortRestrictions"]||{};var S=O.getSortRestrictionsInfo(s);var k=j["@Org.OData.Capabilities.V1.FilterRestrictions"];var l=O.getFilterRestrictionsInfo(k);var n=M.getCustomData(t,"columns");n.customData.forEach(function(q){p.push({name:q.path,path:q.path,label:q.label,sortable:S[q.path]?S[q.path].sortable:q.sortable,filterable:l[q.path]?l[q.path].filterable:q.filterable,typeConfig:M.isTypeFilterable(q.$Type)?t.getTypeUtil().getTypeConfig(q.$Type):undefined,maxConditions:O.isMultiValueFilterExpression(l.propertyInfo[q.path])?-1:1});});return p;});};g.updateBindingInfo=function(m,h,B){T.updateBindingInfo.apply(this,[m,h,B]);if(!m){return;}if(h&&B){B.path=B.path||h.collectionPath||"/"+h.collectionName;B.model=B.model||h.model;}if(!B){B={};}var i=C.byId(m.getFilter()),j=m.isFilteringEnabled(),k;var I,l;var n=[];var t=m.data("$tablePropertyInfo");if(j){k=m.getConditions();I=F.getFilterInfo(m,k,t);if(I.filters){n.push(I.filters);}}if(i){k=i.getConditions();if(k){var p=D.getParameterNames(i);l=F.getFilterInfo(i,k,t,p);if(l.filters){n.push(l.filters);}var P=D.getParametersInfo(i,k);if(P){B.path=P;}}B.parameters.$search=f.normalizeSearchTerm(i.getSearch())||undefined;}B.parameters.$select=t.reduce(function(q,r){if(r.path&&r.path.indexOf("/")===-1){q=q?q+","+r.path:r.path;}return q;},"");if(e.isDraftSupported(m.getModel().getMetaModel(),B.path)){n.push(new c("IsActiveEntity",d.EQ,true));}B.filters=new c(n,true);};g.getFilterDelegate=function(){return a;};g.getTypeUtil=function(p){return b;};g._getModel=function(t){var m=t.getDelegate().payload;return t.getModel(m.model);};return g;});
@@ -59,14 +59,25 @@ sap.ui.define(
59
59
  });
60
60
  }
61
61
 
62
- function _entityIsSearchable(oValueListInfo) {
63
- var oCollectionAnnotations =
62
+ function _entityIsSearchable(oValueListInfo, oPropertyAnnotations) {
63
+ var bSearchSupported =
64
+ oPropertyAnnotations["@com.sap.vocabularies.Common.v1.ValueList"] &&
65
+ oPropertyAnnotations["@com.sap.vocabularies.Common.v1.ValueList"].SearchSupported,
66
+ oCollectionAnnotations =
64
67
  oValueListInfo.valueListInfo.$model.getMetaModel().getObject("/" + oValueListInfo.valueListInfo.CollectionPath + "@") ||
65
68
  {},
66
69
  bSearchable =
67
70
  oCollectionAnnotations["@Org.OData.Capabilities.V1.SearchRestrictions"] &&
68
71
  oCollectionAnnotations["@Org.OData.Capabilities.V1.SearchRestrictions"].Searchable;
69
- return bSearchable === undefined ? true : bSearchable;
72
+
73
+ if (
74
+ (bSearchable === undefined && bSearchSupported === false) ||
75
+ (bSearchable === true && bSearchSupported === false) ||
76
+ bSearchable === false
77
+ ) {
78
+ return false;
79
+ }
80
+ return true;
70
81
  }
71
82
 
72
83
  function _getCachedValueHelp(sValueHelpId) {
@@ -804,6 +815,22 @@ sap.ui.define(
804
815
  }
805
816
  }
806
817
  });
818
+ // Find DescriptionPath in column definition if not add it
819
+ if (
820
+ sDescriptionPath &&
821
+ aColumnDefs.findIndex(function(oColumn) {
822
+ return oColumn.path === sDescriptionPath;
823
+ }) === -1
824
+ ) {
825
+ var oColumnDef = {
826
+ path: sDescriptionPath,
827
+ label: sDescriptionPath,
828
+ sortable: false,
829
+ filterable: false,
830
+ $Type: "Edm.String"
831
+ };
832
+ aColumnDefs.push(oColumnDef);
833
+ }
807
834
  return {
808
835
  keyValue: sKey,
809
836
  descriptionValue: sDescriptionPath,
@@ -875,6 +902,10 @@ sap.ui.define(
875
902
  sWrapperId = oWrapper && oWrapper.getId(),
876
903
  sValueHelpId = oFVH.getModel("_VHUI").getProperty("/valueHelpId"),
877
904
  that = this;
905
+ var oPropertyAnnotations = oFVH
906
+ .getModel()
907
+ .getMetaModel()
908
+ .getObject(propertyPath + "@");
878
909
 
879
910
  //Only do this in case of context dependent value helps or other VH called the first time
880
911
  if ((!oTable || sValueHelpId !== undefined) && sFVHClass.indexOf("FieldValueHelp") > -1) {
@@ -882,7 +913,7 @@ sap.ui.define(
882
913
  oFVH.setTitle(oValueListInfo.valueListInfo.Label);
883
914
  oFVH.setKeyPath(oValueListInfo.keyValue);
884
915
  oFVH.setDescriptionPath(oValueListInfo.descriptionValue);
885
- oFVH.setFilterFields(_entityIsSearchable(oValueListInfo) ? "$search" : "");
916
+ oFVH.setFilterFields(_entityIsSearchable(oValueListInfo, oPropertyAnnotations) ? "$search" : "");
886
917
  }
887
918
  var oSourceModel = new JSONModel({
888
919
  id: sValueHelpId || oFVH.getId(),
@@ -972,6 +1003,10 @@ sap.ui.define(
972
1003
  sFVHClass = oFVH.getMetadata().getName(),
973
1004
  sValueHelpId = oFVH.getModel("_VHUI").getProperty("/valueHelpId"),
974
1005
  that = this;
1006
+ var oPropertyAnnotations = oFVH
1007
+ .getModel()
1008
+ .getMetaModel()
1009
+ .getObject(propertyPath + "@");
975
1010
 
976
1011
  //Only do this in case of context dependent value helps or other VH called the first time
977
1012
  if ((!oTable || sValueHelpId !== undefined) && sFVHClass.indexOf("FieldValueHelp") > -1) {
@@ -979,7 +1014,7 @@ sap.ui.define(
979
1014
  oFVH.setTitle(oValueListInfo.valueListInfo.Label);
980
1015
  oFVH.setKeyPath(oValueListInfo.keyValue);
981
1016
  oFVH.setDescriptionPath(oValueListInfo.descriptionValue);
982
- oFVH.setFilterFields(_entityIsSearchable(oValueListInfo) ? "$search" : "");
1017
+ oFVH.setFilterFields(_entityIsSearchable(oValueListInfo, oPropertyAnnotations) ? "$search" : "");
983
1018
  }
984
1019
  var oSourceModel = new JSONModel({
985
1020
  id: sValueHelpId || oFVH.getId(),
@@ -1002,6 +1037,7 @@ sap.ui.define(
1002
1037
  return Promise.all([oTable]).then(function(aControls) {
1003
1038
  var sTableWidth,
1004
1039
  oTable = aControls[0];
1040
+
1005
1041
  if (oTable) {
1006
1042
  oTable.setModel(oValueListInfo.valueListInfo.$model);
1007
1043
  var oBinding = oTable.getBinding("items");
@@ -1009,12 +1045,36 @@ sap.ui.define(
1009
1045
  BusyLocker.lock(oTable);
1010
1046
  });
1011
1047
  oBinding.attachEvent("dataReceived", function(oEvent) {
1048
+ var sParentId = oFVH.getParent().getId();
1049
+ var oMessageManager = sap.ui.getCore().getMessageManager();
1012
1050
  if (BusyLocker.isLocked(oTable)) {
1013
1051
  BusyLocker.unlock(oTable);
1014
1052
  }
1053
+ // Handle messages related to input with invalid token
1015
1054
  if (oEvent.getParameter("error")) {
1016
- // show the unbound messages but with a timeout as the messages are otherwise not yet in the message model
1017
- setTimeout(messageHandling.showUnboundMessages, 0);
1055
+ var sErrorMessage = oEvent.getParameter("error").error.message;
1056
+ var _updateMessage = function(oMessage) {
1057
+ if (sParentId.indexOf("APD_::") === 0 && sErrorMessage === oMessage.message) {
1058
+ oMessage.target = sParentId;
1059
+ oFVH._oConditions.$search = undefined;
1060
+ }
1061
+ return oMessage;
1062
+ };
1063
+ // use timeout as the messages are otherwise not yet in the message model
1064
+ setTimeout(function() {
1065
+ messageHandling.getMessages().forEach(function(oMessage) {
1066
+ _updateMessage(oMessage);
1067
+ });
1068
+ }, 0);
1069
+ } else {
1070
+ oMessageManager
1071
+ .getMessageModel()
1072
+ .getData()
1073
+ .forEach(function(oMessage) {
1074
+ if (oMessage.target.includes(sParentId) && oMessage.controlIds.length === 0) {
1075
+ oMessage.target = "";
1076
+ }
1077
+ });
1018
1078
  }
1019
1079
  });
1020
1080
 
@@ -1249,7 +1309,11 @@ sap.ui.define(
1249
1309
  return;
1250
1310
  }
1251
1311
  return ValueListHelper.getValueListInfo(oFVH, oMetaModel, propertyPath, sConditionModel).then(function(oValueListInfo) {
1252
- oValueListInfo && oFVH.setFilterFields(_entityIsSearchable(oValueListInfo) ? "$search" : "");
1312
+ var oPropertyAnnotations = oFVH
1313
+ .getModel()
1314
+ .getMetaModel()
1315
+ .getObject(propertyPath + "@");
1316
+ oValueListInfo && oFVH.setFilterFields(_entityIsSearchable(oValueListInfo, oPropertyAnnotations) ? "$search" : "");
1253
1317
  });
1254
1318
  },
1255
1319
  getColumnWidth: function(sDataFieldType, oValueList) {