@sap/open.fe 1.97.0 → 1.98.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 (873) 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 +275 -62
  5. package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +1 -1
  6. package/packages/sap.fe.common/src/sap/fe/common/MessagePopover-dbg.js +1 -0
  7. package/packages/sap.fe.common/src/sap/fe/common/MessagePopover.js +1 -1
  8. package/packages/sap.fe.common/src/sap/fe/common/library-dbg.js +1 -1
  9. package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js +3 -3
  10. package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +51 -46
  11. package/packages/sap.fe.common/src/sap/fe/common/library-preload.js.map +3 -3
  12. package/packages/sap.fe.common/src/sap/fe/common/library.js +1 -1
  13. package/packages/sap.fe.common/src/sap/fe/common/manifest.json +3 -3
  14. package/packages/sap.fe.common/src/sap/fe/common/resources.json +16 -8
  15. package/packages/sap.fe.common/test/sap/fe/common/designtime/api.json +1 -1
  16. package/packages/sap.fe.common/test/sap/fe/common/designtime/apiref/api.json +1 -1
  17. package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmlmeta.json +1 -1
  18. package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.98.json +18 -0
  19. package/packages/sap.fe.core/src/sap/fe/core/.library +1 -1
  20. package/packages/sap.fe.core/src/sap/fe/core/.theming +1 -1
  21. package/packages/sap.fe.core/src/sap/fe/core/AppComponent-dbg.js +3 -1
  22. package/packages/sap.fe.core/src/sap/fe/core/AppComponent.js +1 -1
  23. package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler-dbg.js +1 -1
  24. package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler.js +1 -1
  25. package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +35 -15
  26. package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +1 -1
  27. package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI-dbg.js +13 -5
  28. package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI.js +1 -1
  29. package/packages/sap.fe.core/src/sap/fe/core/PageController-dbg.js +8 -2
  30. package/packages/sap.fe.core/src/sap/fe/core/PageController.js +1 -1
  31. package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +26 -10
  32. package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +1 -1
  33. package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +13 -4
  34. package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.js +1 -1
  35. package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +124 -39
  36. package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +1 -1
  37. package/packages/sap.fe.core/src/sap/fe/core/actions/draft-dbg.js +49 -22
  38. package/packages/sap.fe.core/src/sap/fe/core/actions/draft.js +1 -1
  39. package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +11 -8
  40. package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +1 -1
  41. package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +12 -8
  42. package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +1 -1
  43. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +196 -70
  44. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
  45. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +9 -2
  46. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow.js +1 -1
  47. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +19 -17
  48. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
  49. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +39 -8
  50. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
  51. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +114 -25
  52. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.js +1 -1
  53. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.ts +112 -24
  54. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +80 -0
  55. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit.js +6 -0
  56. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +5 -1
  57. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +1 -1
  58. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady-dbg.js +1 -1
  59. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
  60. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator-dbg.js +34 -7
  61. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator.js +1 -1
  62. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +5 -2
  63. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder.js +1 -1
  64. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing-dbg.js +16 -1
  65. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing.js +1 -1
  66. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share-dbg.js +19 -6
  67. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share.js +1 -1
  68. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +7 -7
  69. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
  70. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.ts +6 -5
  71. package/packages/sap.fe.core/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -1
  72. package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +6 -3
  73. package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
  74. package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper-dbg.js +9 -3
  75. package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper.js +1 -1
  76. package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper-dbg.js +0 -5
  77. package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
  78. package/packages/sap.fe.core/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -1
  79. package/packages/{sap.fe.macros/src/sap/fe/macros/massedit → sap.fe.core/src/sap/fe/core/controls/massEdit}/MassEditDialog.fragment.xml +6 -6
  80. package/packages/{sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime-dbg.js → sap.fe.core/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js} +2 -2
  81. package/packages/{sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime.js → sap.fe.core/src/sap/fe/core/controls/massEdit/MassEditHandlers.js} +0 -0
  82. package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext-dbg.js +13 -1
  83. package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.js +1 -1
  84. package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.ts +10 -0
  85. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -1
  86. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +3 -0
  87. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper-dbg.js +18 -7
  88. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
  89. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.ts +15 -6
  90. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +62 -4
  91. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  92. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.ts +60 -4
  93. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField-dbg.js +3 -3
  94. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.js +1 -1
  95. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.ts +1 -1
  96. package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +18 -10
  97. package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
  98. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action-dbg.js +10 -1
  99. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
  100. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.ts +6 -0
  101. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +17 -9
  102. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
  103. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.ts +9 -3
  104. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +69 -4
  105. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  106. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.ts +72 -0
  107. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +172 -284
  108. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
  109. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.ts +228 -348
  110. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +468 -0
  111. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +5 -0
  112. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +609 -0
  113. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +30 -13
  114. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
  115. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +31 -12
  116. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +2 -2
  117. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
  118. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +1 -1
  119. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +14 -6
  120. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
  121. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +26 -5
  122. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +8 -1
  123. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
  124. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.ts +9 -1
  125. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +4 -1
  126. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
  127. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.ts +3 -0
  128. package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +8 -0
  129. package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.js +1 -1
  130. package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js +1 -1
  131. package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js.map +3 -3
  132. package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter-dbg.js +30 -5
  133. package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
  134. package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.ts +25 -3
  135. package/packages/sap.fe.core/src/sap/fe/core/fpm/manifest.json +2 -2
  136. package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +359 -0
  137. package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.js +5 -0
  138. package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.ts +388 -0
  139. package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression-dbg.js +199 -111
  140. package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.js +1 -1
  141. package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.ts +193 -102
  142. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +2 -2
  143. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.js +1 -1
  144. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.ts +1 -1
  145. package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper-dbg.js +679 -0
  146. package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper.js +6 -0
  147. package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +27 -1
  148. package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +23 -14
  149. package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +2 -2
  150. package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +477 -411
  151. package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +4 -4
  152. package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js +47 -3
  153. package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js.map +3 -3
  154. package/packages/sap.fe.core/src/sap/fe/core/library.js +1 -1
  155. package/packages/sap.fe.core/src/sap/fe/core/library.support.js +9 -3
  156. package/packages/sap.fe.core/src/sap/fe/core/manifest.json +10 -10
  157. package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +62 -0
  158. package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +5 -0
  159. package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +68 -0
  160. package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +40 -5
  161. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +24 -2
  162. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +24 -2
  163. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +24 -2
  164. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +25 -3
  165. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +24 -2
  166. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +24 -2
  167. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +24 -2
  168. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +24 -2
  169. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +23 -1
  170. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +23 -1
  171. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +27 -1
  172. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +24 -2
  173. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +24 -2
  174. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +24 -2
  175. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +24 -2
  176. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +24 -2
  177. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +25 -3
  178. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +25 -3
  179. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +24 -2
  180. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +24 -2
  181. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +24 -2
  182. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +25 -3
  183. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +26 -4
  184. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +24 -2
  185. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +24 -2
  186. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +24 -2
  187. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +24 -2
  188. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +24 -2
  189. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +24 -2
  190. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +24 -2
  191. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +24 -2
  192. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +24 -2
  193. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +24 -2
  194. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +24 -2
  195. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +25 -3
  196. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +24 -2
  197. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +24 -2
  198. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +24 -2
  199. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +24 -2
  200. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +24 -2
  201. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +24 -2
  202. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +25 -3
  203. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +24 -2
  204. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +24 -2
  205. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +24 -2
  206. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +24 -2
  207. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +24 -2
  208. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +24 -2
  209. package/packages/sap.fe.core/src/sap/fe/core/resources.json +483 -235
  210. package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +1 -1
  211. package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory.js +1 -1
  212. package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +4 -3
  213. package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  214. package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -0
  215. package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +93 -346
  216. package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
  217. package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory-dbg.js +31 -2
  218. package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
  219. package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.ts +30 -1
  220. package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +8 -5
  221. package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
  222. package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.ts +11 -6
  223. package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +12 -3
  224. package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
  225. package/packages/sap.fe.core/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +38 -0
  226. package/packages/sap.fe.core/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.ts +18 -0
  227. package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +10 -48
  228. package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
  229. package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.ts +14 -46
  230. package/packages/sap.fe.core/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +114 -0
  231. package/packages/sap.fe.core/src/sap/fe/core/templating/DisplayModeFormatter.js +5 -0
  232. package/packages/sap.fe.core/src/sap/fe/core/templating/DisplayModeFormatter.ts +86 -0
  233. package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper-dbg.js +10 -7
  234. package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.js +1 -1
  235. package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.ts +8 -6
  236. package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper-dbg.js +2 -2
  237. package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper.ts +1 -1
  238. package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters-dbg.js +15 -110
  239. package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.js +1 -1
  240. package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.ts +6 -73
  241. package/packages/sap.fe.core/test/sap/fe/core/designtime/api.json +1 -1
  242. package/packages/sap.fe.core/test/sap/fe/core/designtime/apiref/api.json +1 -1
  243. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jsmeta.json +1 -1
  244. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jstemplates.json +1 -1
  245. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmlmeta.json +1 -1
  246. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/ControllerExtensionNavigationModel.js +5 -0
  247. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/CustomElementNavigationModel.js +105 -7
  248. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/MacroNavigationModel.js +176 -0
  249. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/myViewTest.controller.js +2 -2
  250. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.controller.js +2 -2
  251. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.view.xml +0 -1
  252. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/ChartQualifier.controller.js +2 -2
  253. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/ChartSelectionMode.controller.js +2 -2
  254. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/FieldEdit.controller.js +3 -2
  255. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/FieldEvents.controller.js +3 -2
  256. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/FieldFormatOptions.controller.js +3 -2
  257. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/FieldNavProp.controller.js +3 -2
  258. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/Component.js +36 -0
  259. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/FilterBarAnnotationDefaults.controller.js +35 -0
  260. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/FilterBarAnnotationDefaults.view.xml +58 -0
  261. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/localService/RootEntity.json +102 -0
  262. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/localService/ValueHelpEntity.js +11 -0
  263. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/localService/service.cds +97 -0
  264. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/manifest.json +72 -0
  265. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/Component.js +36 -0
  266. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomFilter.js +36 -0
  267. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomRatingFilter.fragment.xml +8 -0
  268. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomRatingFilterOperator.fragment.xml +17 -0
  269. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomRatingRangeFilter.fragment.xml +8 -0
  270. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/FilterBarCustoms.controller.js +42 -0
  271. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/FilterBarCustoms.view.xml +70 -0
  272. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/localService/RootEntity.json +107 -0
  273. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/localService/ValueHelpEntity.js +11 -0
  274. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/localService/service.cds +152 -0
  275. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/manifest.json +72 -0
  276. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/FilterBarDefault.controller.js +13 -6
  277. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/FilterBarDefault.view.xml +1 -1
  278. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/ChildEntity.json +15 -674
  279. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/MultiChildEntity.json +92 -0
  280. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/RootEntity.json +10 -5
  281. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/service.cds +72 -19
  282. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/Component.js +36 -0
  283. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/FilterBarSVandAnnotationDefaults.controller.js +35 -0
  284. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/FilterBarSVandAnnotationDefaults.view.xml +58 -0
  285. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/localService/RootEntity.json +102 -0
  286. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/localService/ValueHelpEntity.js +11 -0
  287. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/localService/service.cds +115 -0
  288. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/manifest.json +72 -0
  289. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBarAnnotationDefaults.html +37 -0
  290. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBarCustoms.html +37 -0
  291. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBarSVandAnnotationDefaults.html +37 -0
  292. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/Component.js +35 -0
  293. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/DetailPage.controller.js +5 -0
  294. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/DetailPage.view.xml +15 -0
  295. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/EntryPage.controller.js +43 -0
  296. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/EntryPage.view.xml +79 -0
  297. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/ChildEntity.json +23 -0
  298. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/RootEntity.json +41 -0
  299. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/ValueHelpCurrencyEntity.json +5 -0
  300. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/ValueHelpEntity.js +11 -0
  301. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/service.cds +144 -0
  302. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/manifest.json +96 -0
  303. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/template/Component.js +9 -0
  304. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/template/EntryPage.controller.js +5 -0
  305. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/template/EntryPage.view.xml +14 -0
  306. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidanceFreestyle.html +69 -0
  307. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/i18n/i18n.properties +3 -0
  308. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/MicroChartDefault.controller.js +2 -2
  309. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/MicroChartDynamicSize.controller.js +2 -2
  310. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/MicroChartHideOnNoData.controller.js +2 -2
  311. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/MicroChartShowOnlyChart.controller.js +2 -2
  312. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.controller.js +4 -3
  313. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.view.xml +36 -30
  314. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/TableDefault.controller.js +2 -2
  315. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/TableEdit.controller.js +3 -2
  316. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/TableEdit.view.xml +30 -24
  317. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/Component.js +3 -0
  318. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/OPExtend.controller.js +17 -2
  319. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/ChildEntity.json +9 -0
  320. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/service.cds +46 -0
  321. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/manifest.json +24 -1
  322. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility.html +2 -2
  323. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnAdaptation.fragment.xml +1 -1
  324. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnBuildingBlockField.fragment.xml +3 -0
  325. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnButton.fragment.xml +2 -2
  326. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/service.cds +2 -2
  327. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/manifest.json +7 -0
  328. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customElementsOverview.md +4 -0
  329. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/Component.js +35 -0
  330. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/CustomFormElement1.fragment.xml +3 -0
  331. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/CustomFormElement2.fragment.xml +3 -0
  332. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/localService/RootEntity.json +9 -0
  333. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/localService/service.cds +136 -0
  334. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/manifest.json +90 -0
  335. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElementContent.html +36 -0
  336. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/{CustomHeaderFacetFormElement.fragment.xml → CustomHeaderFacetBuildingBlockFormElement.fragment.xml} +0 -0
  337. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/{CustomHeaderFacetFormElementEdit.fragment.xml → CustomHeaderFacetBuildingBlockFormElementEdit.fragment.xml} +1 -1
  338. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetBuildingBlockMicroChart.fragment.xml +10 -0
  339. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetBuildingBlockMicroChartEdit.fragment.xml +5 -0
  340. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetDataPointEdit.fragment.xml +2 -2
  341. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetMicroChartEdit.fragment.xml +2 -2
  342. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/localService/RootEntity.json +6 -1
  343. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/localService/service.cds +30 -2
  344. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/manifest.json +13 -3
  345. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomPage.view.xml +1 -2
  346. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSection.fragment.xml +1 -7
  347. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionFormElementAndTable.fragment.xml +0 -1
  348. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionNavigation.fragment.xml +1 -7
  349. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSectionContent.html +60 -27
  350. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/Component.js +35 -0
  351. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/CustomSubSection1.fragment.xml +3 -0
  352. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/CustomSubSection2.fragment.xml +3 -0
  353. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/CustomSubSection3.fragment.xml +11 -0
  354. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/localService/ChildEntity.json +42 -0
  355. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/localService/RootEntity.json +9 -0
  356. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/localService/service.cds +139 -0
  357. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/manifest.json +104 -0
  358. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSectionContent.html +36 -0
  359. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/i18n/i18n.properties +3 -0
  360. package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.js +20 -6
  361. package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.ts +22 -6
  362. package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.js +71 -23
  363. package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.ts +97 -24
  364. package/packages/sap.fe.core/test/sap/fe/core/jest/TransactionHelper.spec.js +624 -0
  365. package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +449 -140
  366. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.js +435 -0
  367. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.ts +385 -0
  368. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.js +229 -2
  369. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.ts +227 -0
  370. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.js +235 -63
  371. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.ts +162 -40
  372. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandling.spec.js +115 -0
  373. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandling.spec.ts +95 -0
  374. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.js +1 -2
  375. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.ts +0 -1
  376. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.js +2 -2
  377. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.ts +2 -2
  378. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.js +11 -1
  379. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.ts +9 -0
  380. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.js +18 -1
  381. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.ts +25 -1
  382. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/KPI.spec.js +64 -1
  383. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/KPI.spec.ts +66 -0
  384. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.js +261 -20
  385. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.ts +329 -19
  386. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.js +79 -8
  387. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.ts +128 -8
  388. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageConverter.spec.js +7 -7
  389. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageConverter.spec.ts +6 -6
  390. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/SubSection.spec.js +22 -1
  391. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/SubSection.spec.ts +26 -1
  392. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +136 -244
  393. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +156 -376
  394. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.js +1267 -0
  395. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.ts +2150 -0
  396. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/KPI.spec.ts.snap +306 -0
  397. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/MetaModelConverter.spec.ts.snap +57 -0
  398. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/Table.spec.ts.snap +1 -1
  399. package/packages/sap.fe.core/test/sap/fe/core/jest/data/AnalyticalService.cds +137 -5
  400. package/packages/sap.fe.core/test/sap/fe/core/jest/data/BindingExpression-AnnotationExpression.xml +13 -0
  401. package/packages/sap.fe.core/test/sap/fe/core/jest/data/HeaderFacets.cds +28 -0
  402. package/packages/sap.fe.core/test/sap/fe/core/jest/data/KPI.cds +191 -0
  403. package/packages/sap.fe.core/test/sap/fe/core/jest/data/MetaModelConverterContext.cds +20 -0
  404. package/packages/sap.fe.core/test/sap/fe/core/jest/data/ObjectPageConverter.cds +69 -1
  405. package/packages/sap.fe.core/test/sap/fe/core/jest/data/RoutingServiceFactory.cds +35 -0
  406. package/packages/sap.fe.core/test/sap/fe/core/jest/data/SideEffects.cds +26 -1
  407. package/packages/sap.fe.core/test/sap/fe/core/jest/data/Table.cds +98 -0
  408. package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableNewActionOperationAvailableSticky.cds +22 -0
  409. package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableTooltips.cds +43 -0
  410. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/ValueFormatters.spec.js +10 -1
  411. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/ValueFormatters.spec.ts +20 -0
  412. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.js +912 -0
  413. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.ts +981 -0
  414. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/__snapshots__/AppStartupHelper.spec.ts.snap +358 -0
  415. package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/ChangePageConfiguration.spec.js +242 -0
  416. package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/ChangePageConfiguration.spec.ts +297 -0
  417. package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/__snapshots__/ChangePageConfiguration.spec.ts.snap +289 -0
  418. package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.js +292 -366
  419. package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.ts +247 -0
  420. package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.js +14 -1
  421. package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.ts +19 -0
  422. package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +0 -12
  423. package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.98.json +363 -0
  424. package/packages/sap.fe.macros/src/sap/fe/macros/.library +1 -1
  425. package/packages/sap.fe.macros/src/sap/fe/macros/.theming +1 -1
  426. package/packages/sap.fe.macros/src/sap/fe/macros/Chart.fragment.xml +5 -5
  427. package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata-dbg.js +0 -2
  428. package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata.js +1 -1
  429. package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI-dbg.js +1 -1
  430. package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI.js +1 -1
  431. package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +4 -4
  432. package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate.js +1 -1
  433. package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper-dbg.js +26 -24
  434. package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper.js +1 -1
  435. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +1 -1
  436. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.js +1 -1
  437. package/packages/sap.fe.macros/src/sap/fe/macros/FieldBaseDelegate-dbg.js +90 -0
  438. package/packages/sap.fe.macros/src/sap/fe/macros/FieldBaseDelegate.js +6 -0
  439. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.fragment.xml +7 -6
  440. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata-dbg.js +63 -8
  441. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata.js +1 -1
  442. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +42 -4
  443. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.js +1 -1
  444. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +76 -1
  445. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +49 -6
  446. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +1 -1
  447. package/packages/sap.fe.macros/src/sap/fe/macros/FilterField-dbg.designtime.js +1 -1
  448. package/packages/sap.fe.macros/src/sap/fe/macros/Form.fragment.xml +21 -17
  449. package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata-dbg.js +8 -0
  450. package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata.js +1 -1
  451. package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI-dbg.js +2 -2
  452. package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.js +1 -1
  453. package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata-dbg.js +2 -2
  454. package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata.js +1 -1
  455. package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +8 -3
  456. package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +1 -1
  457. package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.metadata-dbg.js +2 -1
  458. package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.metadata.js +1 -1
  459. package/packages/sap.fe.macros/src/sap/fe/macros/Share.metadata-dbg.js +11 -8
  460. package/packages/sap.fe.macros/src/sap/fe/macros/Share.metadata.js +1 -1
  461. package/packages/sap.fe.macros/src/sap/fe/macros/SizeHelper-dbg.js +168 -35
  462. package/packages/sap.fe.macros/src/sap/fe/macros/SizeHelper.js +1 -1
  463. package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +107 -109
  464. package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +51 -65
  465. package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata.js +1 -1
  466. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI-dbg.js +9 -4
  467. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +1 -1
  468. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +5 -2
  469. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper-dbg.js +1 -1
  470. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper.js +1 -1
  471. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartUtils-dbg.js +2 -1
  472. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartUtils.js +1 -1
  473. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +101 -16
  474. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper.js +1 -1
  475. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime-dbg.js +273 -71
  476. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime.js +1 -1
  477. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating-dbg.js +128 -32
  478. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.js +1 -1
  479. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.ts +110 -16
  480. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkContactContent.fragment.xml +11 -4
  481. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +65 -84
  482. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +1 -1
  483. package/packages/sap.fe.macros/src/sap/fe/macros/filter/CustomFilter.fragment.xml +5 -0
  484. package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils-dbg.js +2 -2
  485. package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils.js +1 -1
  486. package/packages/sap.fe.macros/src/sap/fe/macros/form/DataFieldCollection.fragment.xml +2 -2
  487. package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFormElement.fragment.xml +5 -1
  488. package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata-dbg.js +72 -12
  489. package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.js +1 -1
  490. package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.ts +43 -14
  491. package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.fragment.xml +13 -2
  492. package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata-dbg.js +55 -8
  493. package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata.js +1 -1
  494. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +1 -3
  495. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata-dbg.js +38 -65
  496. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata.js +1 -1
  497. package/packages/sap.fe.macros/src/sap/fe/macros/{FilterField.fragment.xml → internal/FilterField.fragment.xml} +2 -2
  498. package/packages/sap.fe.macros/src/sap/fe/macros/{FilterField.metadata-dbg.js → internal/FilterField.metadata-dbg.js} +5 -5
  499. package/packages/sap.fe.macros/src/sap/fe/macros/internal/FilterField.metadata.js +6 -0
  500. package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator-dbg.js +96 -0
  501. package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator.js +5 -0
  502. package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator.ts +116 -0
  503. package/packages/sap.fe.macros/src/sap/fe/macros/internal/collectionField/MultiValueFieldDelegate-dbg.js +7 -15
  504. package/packages/sap.fe.macros/src/sap/fe/macros/internal/collectionField/MultiValueFieldDelegate.js +1 -1
  505. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +4 -5
  506. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/AmountWithCurrency.fragment.xml +5 -1
  507. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/DataPoint.fragment.xml +5 -1
  508. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ExpandableText.fragment.xml +1 -0
  509. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/File.fragment.xml +2 -2
  510. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LabelSemanticKey.fragment.xml +5 -3
  511. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Link.fragment.xml +11 -3
  512. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWithQuickViewForm.fragment.xml +1 -0
  513. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWrapper.fragment.xml +5 -4
  514. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/MdcFieldWithValueHelp.fragment.xml +48 -0
  515. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectIdentifier.fragment.xml +140 -18
  516. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectStatus.fragment.xml +1 -0
  517. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/SemanticKeyWithDraftIndicator.fragment.xml +1 -1
  518. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Text.fragment.xml +6 -3
  519. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/CheckBox.fragment.xml +1 -1
  520. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DatePicker.fragment.xml +1 -1
  521. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DateTimePicker.fragment.xml +1 -1
  522. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/File.fragment.xml +14 -4
  523. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/Input.fragment.xml +1 -1
  524. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithUnit.fragment.xml +3 -3
  525. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithValueHelp.fragment.xml +2 -2
  526. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TextArea.fragment.xml +1 -1
  527. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TimePicker.fragment.xml +1 -1
  528. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +25 -9
  529. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +1 -1
  530. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +30 -16
  531. package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter-dbg.js +154 -0
  532. package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter.js +5 -0
  533. package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter.ts +146 -0
  534. package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime-dbg.js +204 -0
  535. package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.js +5 -0
  536. package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.ts +215 -0
  537. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate-dbg.js +29 -8
  538. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +1 -1
  539. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelp-dbg.designtime.js +1 -1
  540. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpContent.fragment.xml +0 -10
  541. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +2 -2
  542. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +151 -131
  543. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +1 -1
  544. package/packages/sap.fe.macros/src/sap/fe/macros/library-dbg.js +1 -1
  545. package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js +24 -23
  546. package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js.map +1 -1
  547. package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js +209 -188
  548. package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js.map +4 -4
  549. package/packages/sap.fe.macros/src/sap/fe/macros/library.js +1 -1
  550. package/packages/sap.fe.macros/src/sap/fe/macros/macroLibrary-dbg.js +7 -4
  551. package/packages/sap.fe.macros/src/sap/fe/macros/macroLibrary.js +1 -1
  552. package/packages/sap.fe.macros/src/sap/fe/macros/manifest.json +9 -9
  553. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle.properties +36 -10
  554. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +12 -0
  555. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +12 -0
  556. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +12 -0
  557. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +12 -0
  558. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +12 -0
  559. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +12 -0
  560. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +12 -0
  561. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +13 -1
  562. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +12 -0
  563. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +12 -0
  564. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +12 -0
  565. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +12 -0
  566. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saptrc.properties +12 -0
  567. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +12 -0
  568. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +12 -0
  569. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +12 -0
  570. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +12 -0
  571. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +12 -0
  572. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +12 -0
  573. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +12 -0
  574. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +12 -0
  575. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +12 -0
  576. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +14 -2
  577. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +12 -0
  578. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +12 -0
  579. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +12 -0
  580. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +12 -0
  581. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +12 -0
  582. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +12 -0
  583. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +12 -0
  584. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +12 -0
  585. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +12 -0
  586. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +12 -0
  587. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +12 -0
  588. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +13 -1
  589. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +12 -0
  590. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +12 -0
  591. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +12 -0
  592. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +12 -0
  593. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +12 -0
  594. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +12 -0
  595. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +13 -1
  596. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +12 -0
  597. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +12 -0
  598. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +12 -0
  599. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +12 -0
  600. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +13 -1
  601. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +12 -0
  602. package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +496 -354
  603. package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +53 -57
  604. package/packages/sap.fe.macros/src/sap/fe/macros/table/Column.fragment.xml +1 -0
  605. package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +38 -32
  606. package/packages/sap.fe.macros/src/sap/fe/macros/table/QuickFilterContainer-dbg.js +12 -3
  607. package/packages/sap.fe.macros/src/sap/fe/macros/table/QuickFilterContainer.js +1 -1
  608. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +17 -91
  609. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +1 -1
  610. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime-dbg.js +4 -1
  611. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime.js +1 -1
  612. package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils-dbg.js +9 -4
  613. package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils.js +1 -1
  614. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegateBaseMixin-dbg.js +3 -3
  615. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegateBaseMixin.js +1 -1
  616. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +198 -71
  617. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -1
  618. package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.fragment.xml +4 -4
  619. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +58 -15
  620. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/apiref/api.json +1 -1
  621. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.jsmeta.json +1 -1
  622. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmlmeta.json +1 -1
  623. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.js +1 -1
  624. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.ts +1 -2
  625. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.js +1 -1
  626. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.ts +0 -2
  627. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartMacro.spec.js +1 -1
  628. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartMacro.spec.ts +0 -2
  629. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.js +1 -1
  630. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.ts +0 -2
  631. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.js +21 -1
  632. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.ts +20 -0
  633. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.js +1 -1
  634. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.ts +1 -1
  635. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.js +19 -1
  636. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.ts +12 -0
  637. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DelegateUtil.spec.js +2 -2
  638. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldBaseDelegate.spec.js +111 -0
  639. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.js +67 -3
  640. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.ts +81 -1
  641. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarDelegate.spec.js +4 -6
  642. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarMacro.spec.js +52 -6
  643. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarMacro.spec.ts +64 -7
  644. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.js +34 -4
  645. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.ts +46 -3
  646. package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.js +43 -4
  647. package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.ts +62 -3
  648. package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.js +31 -5
  649. package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.ts +25 -3
  650. package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.js +11 -1
  651. package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.ts +9 -0
  652. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.js +40 -0
  653. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.ts +35 -0
  654. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ChartMacro.spec.ts.snap +42 -42
  655. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/CollectionField.spec.ts.snap +49 -7
  656. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/DatapointMacro.spec.ts.snap +27 -11
  657. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroDataFieldTypes.spec.ts.snap +50 -44
  658. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroWithSemanticKey.spec.ts.snap +146 -56
  659. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroWithValueHelp.spec.ts.snap +16 -16
  660. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterBarMacro.spec.ts.snap +774 -11
  661. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterField.spec.ts.snap +70 -2
  662. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/MicroChart.spec.ts.snap +1 -1
  663. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/PhantomUtil.spec.ts.snap +70 -165
  664. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +39 -0
  665. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/SimpleFieldMacro.spec.ts.snap +287 -170
  666. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/TableFieldLabel.spec.ts.snap +369 -213
  667. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/CollectionField.cds +11 -3
  668. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroDataFieldTypes.cds +5 -0
  669. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroWithSemanticKey.cds +17 -12
  670. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterBarMacro.cds +18 -1
  671. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterBarMacroWithDefaultAnnotation.cds +155 -0
  672. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterBarMacroWithSVandAnnotation.cds +155 -0
  673. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterFieldMacro.cds +13 -1
  674. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/QuickViewForm.cds +36 -11
  675. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/TableFieldLabel.cds +22 -1
  676. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/simpleFieldMacro.cds +8 -3
  677. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.js +252 -61
  678. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.ts +277 -67
  679. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.cds +93 -1
  680. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.js +118 -16
  681. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.ts +143 -16
  682. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/__snapshots__/FieldTemplating.spec.ts.snap +31 -0
  683. package/packages/sap.fe.macros/test/sap/fe/macros/jest/fragments/MyTestFragment.xml +3 -0
  684. package/packages/sap.fe.macros/test/sap/fe/macros/jest/fragments/MyTestSubFragment.xml +10 -0
  685. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.js +14 -2
  686. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.ts +13 -1
  687. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/__snapshots__/columnWidth.spec.ts.snap +131 -0
  688. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.js +264 -0
  689. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.ts +244 -0
  690. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/data/columnWidth.cds +238 -0
  691. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.js +33 -6
  692. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.ts +40 -2
  693. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/ValueHelpTableDelegate.spec.js +61 -0
  694. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/ValueHelpTableDelegate.spec.ts +64 -0
  695. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/__snapshots__/TableDelegate.spec.ts.snap +1287 -32
  696. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/data/tabledelegate.cds +1 -1
  697. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/index.json +0 -5
  698. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/CommonHelper.qunit.js +284 -159
  699. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelper.qunit.js +9 -9
  700. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelperTemplate.qunit.js +2 -2
  701. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormContainerTemplating.qunit.js +1 -0
  702. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormElementTemplating.qunit.js +1 -1
  703. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplating.qunit.js +10 -5
  704. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplatingTs.qunit.js +2 -2
  705. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MacroMetadata.qunit.js +5 -5
  706. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MicroChartContainer.qunit.js +29 -0
  707. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelper.qunit.js +6 -26
  708. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelperTemplate.qunit.js +3 -8
  709. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueListHelper.qunit.js +402 -18
  710. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/FilterFieldMacro.fragment.xml +1 -1
  711. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/FilterFieldMacroMissingID.fragment.xml +1 -1
  712. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/TableMacro.fragment.xml +0 -2
  713. package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.98.json +210 -0
  714. package/packages/sap.fe.navigation/src/sap/fe/navigation/.library +1 -1
  715. package/packages/sap.fe.navigation/src/sap/fe/navigation/.theming +1 -1
  716. package/packages/sap.fe.navigation/src/sap/fe/navigation/NavigationHandler-dbg.js +70 -29
  717. package/packages/sap.fe.navigation/src/sap/fe/navigation/NavigationHandler.js +1 -1
  718. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-dbg.js +1 -1
  719. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js +2 -2
  720. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js +6 -5
  721. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js.map +3 -3
  722. package/packages/sap.fe.navigation/src/sap/fe/navigation/library.js +1 -1
  723. package/packages/sap.fe.navigation/src/sap/fe/navigation/manifest.json +3 -3
  724. package/packages/sap.fe.navigation/src/sap/fe/navigation/resources.json +5 -5
  725. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/api.json +1 -1
  726. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/apiref/api.json +1 -1
  727. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmlmeta.json +1 -1
  728. package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/navigation/NavigationHandlerTest.qunit.js +4 -12
  729. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.library +1 -1
  730. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.theming +1 -1
  731. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-dbg.js +1 -1
  732. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js +2 -2
  733. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js +2 -2
  734. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library.js +1 -1
  735. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/manifest.json +3 -3
  736. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/api.json +1 -1
  737. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/apiref/api.json +1 -1
  738. package/packages/sap.fe.templates/src/sap/fe/templates/.library +1 -1
  739. package/packages/sap.fe.templates/src/sap/fe/templates/.theming +1 -1
  740. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate-dbg.js +2 -2
  741. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +1 -1
  742. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/manifest.json +2 -2
  743. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/resources.json +2 -2
  744. package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent-dbg.js +1 -1
  745. package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent.js +1 -1
  746. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ExtensionAPI-dbg.js +1 -1
  747. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ExtensionAPI.js +1 -1
  748. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +2 -1
  749. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +85 -85
  750. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController.controller.js +1 -1
  751. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/manifest.json +2 -2
  752. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation-dbg.js +6 -2
  753. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +1 -1
  754. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/MassEdit-dbg.js +96 -0
  755. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/MassEdit.js +6 -0
  756. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share-dbg.js +36 -21
  757. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share.js +1 -1
  758. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +53 -31
  759. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState.js +1 -1
  760. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/resources.json +20 -11
  761. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +20 -0
  762. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +1 -1
  763. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component-dbg.js +16 -14
  764. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +1 -1
  765. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ExtensionAPI-dbg.js +15 -0
  766. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +1 -1
  767. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +103 -88
  768. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +99 -72
  769. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1 -1
  770. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/manifest.json +2 -2
  771. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Paginator-dbg.js +12 -0
  772. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +1 -1
  773. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Share-dbg.js +47 -43
  774. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Share.js +1 -1
  775. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState-dbg.js +0 -20
  776. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +1 -1
  777. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +24 -24
  778. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +1 -1
  779. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +24 -5
  780. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +1 -4
  781. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +181 -0
  782. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +1 -0
  783. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +1 -0
  784. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController-dbg.js +133 -123
  785. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +1 -1
  786. package/packages/sap.fe.templates/src/sap/fe/templates/controls/Table.fragment.xml +1 -1
  787. package/packages/sap.fe.templates/src/sap/fe/templates/library-dbg.js +1 -1
  788. package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js +8 -7
  789. package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js.map +1 -1
  790. package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js +34 -32
  791. package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js.map +4 -4
  792. package/packages/sap.fe.templates/src/sap/fe/templates/library.js +1 -1
  793. package/packages/sap.fe.templates/src/sap/fe/templates/manifest.json +13 -13
  794. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle.properties +24 -1
  795. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +1 -1
  796. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +1 -1
  797. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +1 -1
  798. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es.properties +8 -8
  799. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr.properties +1 -1
  800. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ja.properties +1 -1
  801. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_tr.properties +1 -1
  802. package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +126 -66
  803. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/manifest.json +1 -1
  804. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/api.json +1 -1
  805. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/apiref/api.json +1 -1
  806. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.jsmeta.json +1 -1
  807. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmlmeta.json +1 -1
  808. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/ViewState.spec.js +262 -0
  809. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.js +2 -1
  810. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.ts +1 -0
  811. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/Sections.spec.js +132 -0
  812. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/Sections.spec.ts +131 -0
  813. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/HeaderFacet.spec.ts.snap +1 -0
  814. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/Sections.spec.ts.snap +52 -0
  815. package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.js +229 -0
  816. package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.ts +157 -0
  817. package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/__snapshots__/RootContainerBaseController.spec.ts.snap +218 -0
  818. package/packages/sap.fe.templates/test/sap/fe/templates/jest/data/RootContainerBaseController.cds +64 -0
  819. package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.98.json +201 -0
  820. package/packages/sap.fe.test/src/sap/fe/test/.library +1 -1
  821. package/packages/sap.fe.test/src/sap/fe/test/.theming +1 -1
  822. package/packages/sap.fe.test/src/sap/fe/test/JourneyRunner-dbg.js +8 -3
  823. package/packages/sap.fe.test/src/sap/fe/test/JourneyRunner.js +1 -1
  824. package/packages/sap.fe.test/src/sap/fe/test/ListReport-dbg.js +8 -3
  825. package/packages/sap.fe.test/src/sap/fe/test/ListReport.js +1 -1
  826. package/packages/sap.fe.test/src/sap/fe/test/ObjectPage-dbg.js +19 -11
  827. package/packages/sap.fe.test/src/sap/fe/test/ObjectPage.js +1 -1
  828. package/packages/sap.fe.test/src/sap/fe/test/TemplatingTestUtils-dbg.js +1 -1
  829. package/packages/sap.fe.test/src/sap/fe/test/TemplatingTestUtils.js +1 -1
  830. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper-dbg.js +211 -45
  831. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.js +1 -1
  832. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.ts +103 -8
  833. package/packages/sap.fe.test/src/sap/fe/test/Utils-dbg.js +0 -12
  834. package/packages/sap.fe.test/src/sap/fe/test/Utils.js +1 -1
  835. package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI-dbg.js +1 -7
  836. package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI.js +1 -1
  837. package/packages/sap.fe.test/src/sap/fe/test/api/ChartAssertions-dbg.js +4 -4
  838. package/packages/sap.fe.test/src/sap/fe/test/api/ChartAssertions.js +1 -1
  839. package/packages/sap.fe.test/src/sap/fe/test/api/KPICardActions-dbg.js +43 -0
  840. package/packages/sap.fe.test/src/sap/fe/test/api/KPICardActions.js +6 -0
  841. package/packages/sap.fe.test/src/sap/fe/test/api/KPICardAssertions-dbg.js +19 -15
  842. package/packages/sap.fe.test/src/sap/fe/test/api/KPICardAssertions.js +1 -1
  843. package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions-dbg.js +11 -0
  844. package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions.js +1 -1
  845. package/packages/sap.fe.test/src/sap/fe/test/builder/KPIBuilder-dbg.js +11 -2
  846. package/packages/sap.fe.test/src/sap/fe/test/builder/KPIBuilder.js +1 -1
  847. package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder-dbg.js +22 -0
  848. package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder.js +1 -1
  849. package/packages/sap.fe.test/src/sap/fe/test/library-dbg.js +1 -1
  850. package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js +5 -4
  851. package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js.map +1 -1
  852. package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +37 -23
  853. package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +4 -4
  854. package/packages/sap.fe.test/src/sap/fe/test/library.js +1 -1
  855. package/packages/sap.fe.test/src/sap/fe/test/manifest.json +3 -3
  856. package/packages/sap.fe.test/src/sap/fe/test/resources.json +59 -34
  857. package/packages/sap.fe.test/test/sap/fe/test/designtime/api.json +1 -1
  858. package/packages/sap.fe.test/test/sap/fe/test/designtime/apiref/api.json +1 -1
  859. package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmlmeta.json +1 -1
  860. package/packages/sap.fe.test/test/sap/fe/test/mockserver/MockServer.js +98965 -71474
  861. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d-dbg.js +0 -8
  862. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.js +0 -5
  863. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.ts +0 -0
  864. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/CreditLimitDetails.json +0 -154
  865. package/packages/sap.fe.core/test/sap/fe/core/qunit/TransactionHelper.qunit.js +0 -77
  866. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarHelper-dbg.js +0 -48
  867. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarHelper.js +0 -6
  868. package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.metadata.js +0 -6
  869. package/packages/sap.fe.macros/src/sap/fe/macros/FormWrapper.fragment.xml +0 -26
  870. package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditHandler-dbg.js +0 -718
  871. package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditHandler.js +0 -6
  872. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FilterBarHelper.qunit.js +0 -223
  873. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderImage.fragment.xml +0 -24
@@ -22,7 +22,7 @@
22
22
  enabled="{this>enabledExpression}"
23
23
  select="FieldRuntime.handleChange($controller, $event)"
24
24
  fieldGroupIds="{parts:[{path:'dataField>Value/$Path'}, {path:'entityType>'}], formatter: 'FIELD.getFieldGroupIds'}"
25
- validateFieldGroup=".sideEffects.handleFieldGroupChange($event)"
25
+ validateFieldGroup="FieldRuntime.onValidateFieldGroup($controller, $event)"
26
26
  ariaLabelledBy="{this>ariaLabelledBy}"
27
27
  />
28
28
  </core:FragmentDefinition>
@@ -25,7 +25,7 @@
25
25
  change="FieldRuntime.handleChange($controller, $event)"
26
26
  fieldGroupIds="{parts:[{path:'dataField>Value/$Path'}, {path:'entityType>'}], formatter: 'FIELD.getFieldGroupIds'}"
27
27
  textAlign="{parts: [{path:'dataField>'}, {path:'this>formatOptions'}, {path:'property>@@FIELD.getPropertyCollection'}, {path:'this>editModeAsObject'}, {path:'property>@@UI.getConverterContext'}], formatter:'FIELD.getTypeAlignment'}"
28
- validateFieldGroup=".sideEffects.handleFieldGroupChange($event)"
28
+ validateFieldGroup="FieldRuntime.onValidateFieldGroup($controller, $event)"
29
29
  ariaLabelledBy="{this>ariaLabelledBy}"
30
30
  />
31
31
 
@@ -26,7 +26,7 @@
26
26
  change="{= ${this>onChange} || 'FieldRuntime.handleChange($controller, $event)' }"
27
27
  fieldGroupIds="{parts:[{path:'dataField>Value/$Path'}, {path:'entityType>'}], formatter: 'FIELD.getFieldGroupIds'}"
28
28
  textAlign="{parts: [{path:'dataField>'}, {path:'this>formatOptions'}, {path:'property>@@FIELD.getPropertyCollection'}, {path:'this>editModeAsObject'}, {path:'property>@@UI.getConverterContext'}], formatter:'FIELD.getTypeAlignment'}"
29
- validateFieldGroup=".sideEffects.handleFieldGroupChange($event)"
29
+ validateFieldGroup="FieldRuntime.onValidateFieldGroup($controller, $event)"
30
30
  ariaLabelledBy="{this>ariaLabelledBy}"
31
31
  />
32
32
 
@@ -3,11 +3,15 @@
3
3
  xmlns:u="sap.ui.unified"
4
4
  xmlns:core="sap.ui.core"
5
5
  xmlns="sap.m"
6
+ xmlns:customData="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
6
7
  template:require="{
7
8
  MODEL: 'sap/ui/model/odata/v4/AnnotationHelper',
8
9
  FIELD: 'sap/fe/macros/field/FieldHelper'
9
10
  }"
10
11
  >
12
+ <HBox visible="false">
13
+ <BusyIndicator />
14
+ </HBox>
11
15
 
12
16
  <HBox
13
17
  alignItems="Center"
@@ -32,22 +36,28 @@
32
36
  sendXHR="true"
33
37
  useMultipart="false"
34
38
  sameFilenameAllowed="true"
39
+ mimeType="{propertyPath>@Org.OData.Core.V1.AcceptableMediaTypes@@MODEL.value}"
40
+ typeMissmatch="FIELDRUNTIME.handleTypeMissmatch"
41
+ maximumFileSize="{= FIELD.calculateMBfromByte(${propertyPath>$MaxLength@@MODEL.value})}"
42
+ fileSizeExceed="FIELDRUNTIME.handleFileSizeExceed"
35
43
  uploadOnChange="false"
36
- uploadAborted="FIELDRUNTIME.handleUploadAborted"
37
- uploadComplete="FIELDRUNTIME.handleUploadComplete($event, '{propertyPath>@Org.OData.Core.V1.ContentDisposition/Filename@@FIELD.propertyName}')"
44
+ uploadComplete="FIELDRUNTIME.handleUploadComplete($event, '{propertyPath>@Org.OData.Core.V1.ContentDisposition/Filename@@FIELD.propertyName}', $controller)"
38
45
  uploadUrl="{property>@@MODEL.value}"
39
46
  httpRequestMethod="Put"
40
- change="FIELDRUNTIME.uploadStream"
47
+ change="FIELDRUNTIME.uploadStream($controller, $event)"
41
48
  fieldGroupIds="{parts:[{path:'dataField>Value/$Path'}, {path:'entityType>'}], formatter: 'FIELD.getFieldGroupIds'}"
49
+ customData:fieldWrapperId="{this>fieldWrapperId}"
50
+ validateFieldGroup="FIELDRUNTIME.onValidateFieldGroup($controller, $event)"
42
51
  />
43
52
 
44
53
  <Button
45
54
  icon="sap-icon://sys-cancel"
46
55
  type="Transparent"
47
- press="FIELDRUNTIME.removeStream($event, '{propertyPath>}')"
56
+ press="FIELDRUNTIME.removeStream($event, '{propertyPath>}', $controller)"
48
57
  tooltip="{this.i18n>M_FIELD_FILEUPLOADER_DELETE_BUTTON_TOOLTIP}"
49
58
  visible="{ui>/isEditable}"
50
59
  fieldGroupIds="{parts:[{path:'dataField>Value/$Path'}, {path:'entityType>'}], formatter: 'FIELD.getFieldGroupIds'}"
60
+ validateFieldGroup="FIELDRUNTIME.onValidateFieldGroup($controller, $event)"
51
61
  />
52
62
  </HBox>
53
63
 
@@ -26,7 +26,7 @@
26
26
  change="FieldRuntime.handleChange($controller, $event)"
27
27
  fieldGroupIds="{parts:[{path:'dataField>Value/$Path'}, {path:'entityType>'}], formatter: 'FIELD.getFieldGroupIds'}"
28
28
  textAlign="{parts: [{path:'dataField>'}, {path:'this>formatOptions'}, {path:'property>@@FIELD.getPropertyCollection'}, {path:'this>editModeAsObject'}, {path:'property>@@UI.getConverterContext'}], formatter:'FIELD.getTypeAlignment'}"
29
- validateFieldGroup=".sideEffects.handleFieldGroupChange($event)"
29
+ validateFieldGroup="FieldRuntime.onValidateFieldGroup($controller, $event)"
30
30
  ariaLabelledBy="{this>ariaLabelledBy}"
31
31
  />
32
32
 
@@ -30,7 +30,7 @@
30
30
  change="FieldRuntime.handleChange($controller, $event)"
31
31
  textAlign="{parts: [{path:'dataField>'}, {path:'this>formatOptions'}, {path:'property>@@FIELD.getPropertyCollection'}, {path:'this>editModeAsObject'}, {path:'property>@@UI.getConverterContext'}], formatter:'FIELD.getTypeAlignment'}"
32
32
  fieldGroupIds="{parts:[{path:'dataField>Value/$Path'}, {path:'entityType>'}], formatter: 'FIELD.getFieldGroupIds'}"
33
- validateFieldGroup=".sideEffects.handleFieldGroupChange($event)"
33
+ validateFieldGroup="FieldRuntime.onValidateFieldGroup($controller, $event)"
34
34
  />
35
35
  </template:then>
36
36
  <template:else>
@@ -50,7 +50,7 @@
50
50
  change="FieldRuntime.handleChange($controller, $event)"
51
51
  textAlign="{parts: [{path:'dataField>'}, {path:'this>formatOptions'}, {path:'property>@@FIELD.getPropertyCollection'}, {path:'this>editModeAsObject'}, {path:'property>@@UI.getConverterContext'}], formatter:'FIELD.getTypeAlignment'}"
52
52
  fieldGroupIds="{parts:[{path:'dataField>Value/$Path'}, {path:'entityType>'}], formatter: 'FIELD.getFieldGroupIds'}"
53
- validateFieldGroup=".sideEffects.handleFieldGroupChange($event)"
53
+ validateFieldGroup="FieldRuntime.onValidateFieldGroup($controller, $event)"
54
54
  />
55
55
  <template:if test="{= (${this>formatOptions/measureDisplayMode} !== 'Hidden')}">
56
56
  <template:then>
@@ -65,7 +65,7 @@
65
65
  change="FieldRuntime.handleChange($controller, $event)"
66
66
  textAlign="{parts: [{path:'dataField>'}, {path:'this>formatOptions'}, {path:'property>@@FIELD.getPropertyCollection'}, {path:'this>editModeAsObject'}, {path:'property>@@UI.getConverterContext'}], formatter:'FIELD.getTypeAlignment'}"
67
67
  fieldGroupIds="{parts:[{path:'dataField>Value/$Path'}, {path:'entityType>'}], formatter: 'FIELD.getFieldGroupIds'}"
68
- validateFieldGroup=".sideEffects.handleFieldGroupChange($event)"
68
+ validateFieldGroup="FieldRuntime.onValidateFieldGroup($controller, $event)"
69
69
  visible="{= UI.ifUnitEditable(${property>@@UI.getConverterContext},true,false)}"
70
70
  />
71
71
  </template:then>
@@ -35,7 +35,7 @@
35
35
  <mdc:Field
36
36
  unittest:id="MacroDataField"
37
37
  core:require="{FieldRuntime: 'sap/fe/macros/field/FieldRuntime'}"
38
- delegate="{name: 'sap/ui/mdc/odata/v4/FieldBaseDelegate'}"
38
+ delegate="{= FIELD.computeFieldBaseDelegate('sap/fe/macros/FieldBaseDelegate', ${this>formatOptions/retrieveTextFromValueList})}"
39
39
  id="{= ${this>idPrefix} ? ID.generate([${this>idPrefix}, 'Field-edit']) : undefined }"
40
40
  log:sourcePath="{this>dataSourcePath}"
41
41
  value="{this>valueBindingExpression}"
@@ -50,7 +50,7 @@
50
50
  fieldGroupIds="{parts:[{path:'dataField>Value/$Path'}, {path:'entityType>'}], formatter: 'FIELD.getFieldGroupIds'}"
51
51
  change="FieldRuntime.handleChange($controller, $event)"
52
52
  textAlign="{parts: [{path:'dataField>'}, {path:'this>formatOptions'}, {path:'property>@@FIELD.getPropertyCollection'}, {path:'this>editModeAsObject'}, {path:'property>@@UI.getConverterContext'}], formatter:'FIELD.getTypeAlignment'}"
53
- validateFieldGroup=".sideEffects.handleFieldGroupChange($event)"
53
+ validateFieldGroup="FieldRuntime.onValidateFieldGroup($controller, $event)"
54
54
  ariaLabelledBy="{this>ariaLabelledBy}"
55
55
  >
56
56
  <template:if test="{= (${property>$Path/$Type} === 'Edm.String') &amp;&amp; ${property>$Path@com.sap.vocabularies.UI.v1.MultiLineText} }">
@@ -28,7 +28,7 @@
28
28
  enabled="{this>enabledExpression}"
29
29
  change="FieldRuntime.handleChange($controller, $event)"
30
30
  fieldGroupIds="{parts:[{path:'dataField>Value/$Path'}, {path:'entityType>'}], formatter: 'FIELD.getFieldGroupIds'}"
31
- validateFieldGroup=".sideEffects.handleFieldGroupChange($event)"
31
+ validateFieldGroup="FieldRuntime.onValidateFieldGroup($controller, $event)"
32
32
  ariaLabelledBy="{this>ariaLabelledBy}"
33
33
  />
34
34
 
@@ -26,7 +26,7 @@
26
26
  change="FieldRuntime.handleChange($controller, $event)"
27
27
  fieldGroupIds="{parts:[{path:'dataField>Value/$Path'}, {path:'entityType>'}], formatter: 'FIELD.getFieldGroupIds'}"
28
28
  textAlign="{parts: [{path:'dataField>'}, {path:'this>formatOptions'}, {path:'property>@@FIELD.getPropertyCollection'}, {path:'this>editModeAsObject'}, {path:'property>@@UI.getConverterContext'}], formatter:'FIELD.getTypeAlignment'}"
29
- validateFieldGroup=".sideEffects.handleFieldGroupChange($event)"
29
+ validateFieldGroup="FieldRuntime.onValidateFieldGroup($controller, $event)"
30
30
  ariaLabelledBy="{this>ariaLabelledBy}"
31
31
  />
32
32
 
@@ -6,9 +6,9 @@ sap.ui.define(["sap/fe/core/formatters/ValueFormatter", "sap/fe/core/templating/
6
6
  "use strict";
7
7
 
8
8
  var _exports = {};
9
+ var isProperty = PropertyHelper.isProperty;
9
10
  var getAssociatedUnitPropertyPath = PropertyHelper.getAssociatedUnitPropertyPath;
10
11
  var unresolveableExpression = BindingExpression.unresolveableExpression;
11
- var bindingExpression = BindingExpression.bindingExpression;
12
12
  var compileBinding = BindingExpression.compileBinding;
13
13
  var formatResult = BindingExpression.formatResult;
14
14
  var annotationExpression = BindingExpression.annotationExpression;
@@ -55,7 +55,18 @@ sap.ui.define(["sap/fe/core/formatters/ValueFormatter", "sap/fe/core/templating/
55
55
  return oResourceModel.getText("T_COMMON_PROGRESS_INDICATOR_DISPLAY_VALUE_NO_UOM", [compileBinding(fieldValueExpression), compileBinding(TargetExpression)]);
56
56
  }
57
57
  } else {
58
- return oResourceModel.getText("T_COMMON_PROGRESS_INDICATOR_DISPLAY_VALUE_NO_UOM", [compileBinding(fieldValueExpression), compileBinding(TargetExpression)]) + " " + compileBinding(bindingExpression(sUnitPropertyPath));
58
+ var _targetObject$annotat, _targetObject$annotat2, _targetObject$annotat3, _targetObject$annotat4;
59
+
60
+ var targetObject = oPropertyDataModelObjectPath.targetObject.Value;
61
+
62
+ if (!isProperty(targetObject)) {
63
+ targetObject = oPropertyDataModelObjectPath.targetObject.Value.$target;
64
+ }
65
+
66
+ fieldValueExpression = formatWithTypeInformation(targetObject, fieldValueExpression);
67
+ var unit = ((_targetObject$annotat = targetObject.annotations) === null || _targetObject$annotat === void 0 ? void 0 : (_targetObject$annotat2 = _targetObject$annotat.Measures) === null || _targetObject$annotat2 === void 0 ? void 0 : _targetObject$annotat2.Unit) || ((_targetObject$annotat3 = targetObject.annotations) === null || _targetObject$annotat3 === void 0 ? void 0 : (_targetObject$annotat4 = _targetObject$annotat3.Measures) === null || _targetObject$annotat4 === void 0 ? void 0 : _targetObject$annotat4.ISOCurrency);
68
+ var unitBindingExpression = unit.$target ? formatWithTypeInformation(unit.$target, annotationExpression(unit, relativeLocation)) : annotationExpression(unit, relativeLocation);
69
+ return compileBinding(formatResult([fieldValueExpression, TargetExpression, unitBindingExpression], valueFormatters.formatProgressIndicatorText));
59
70
  }
60
71
  }
61
72
 
@@ -216,14 +227,14 @@ sap.ui.define(["sap/fe/core/formatters/ValueFormatter", "sap/fe/core/templating/
216
227
  * Method to calculate the percentage value of Progress Indicator. Basic formula is Value/Target * 100.
217
228
  *
218
229
  * @param {*} oPropertyDataModelObjectPath
219
- * @returns {Binding} Expression binding that will calculate the percent value to be shown in progress indicator. Formula given above.
230
+ * @returns {Binding} The expression binding used to calculate the percentage value, which is shown in the progress indicator based on the formula given above.
220
231
  */
221
232
 
222
233
 
223
234
  _exports.buildFieldBindingExpression = buildFieldBindingExpression;
224
235
 
225
236
  var buildExpressionForProgressIndicatorPercentValue = function (oPropertyDataModelObjectPath) {
226
- var _oPropertyDataModelOb8;
237
+ var _oPropertyDataModelOb8, _oPropertyDefinition$, _oPropertyDefinition$2, _oPropertyDefinition$3, _oPropertyDefinition$4;
227
238
 
228
239
  var fieldValue = (oPropertyDataModelObjectPath === null || oPropertyDataModelObjectPath === void 0 ? void 0 : (_oPropertyDataModelOb8 = oPropertyDataModelObjectPath.targetObject) === null || _oPropertyDataModelOb8 === void 0 ? void 0 : _oPropertyDataModelOb8.Value) || "";
229
240
  var relativeLocation = getPathRelativeLocation(oPropertyDataModelObjectPath.contextLocation, oPropertyDataModelObjectPath.navigationProperties).map(function (np) {
@@ -231,13 +242,18 @@ sap.ui.define(["sap/fe/core/formatters/ValueFormatter", "sap/fe/core/templating/
231
242
  });
232
243
  var fieldValueExpression = annotationExpression(fieldValue, relativeLocation);
233
244
  var TargetExpression = getDataPointTargetExpression(oPropertyDataModelObjectPath.targetObject);
234
- var sUnitPropertyPath = fieldValue !== null && fieldValue !== void 0 && fieldValue.$target ? getAssociatedUnitPropertyPath(fieldValue.$target) : undefined;
235
- var UnitExpression = sUnitPropertyPath ? bindingExpression(sUnitPropertyPath) : "";
236
- var oExpressionTemplate = formatResult([fieldValueExpression, TargetExpression, UnitExpression], valueFormatters.computePercentage);
237
- return compileBinding(oExpressionTemplate);
245
+ var oPropertyDefinition = fieldValue.$target;
246
+ var unit = ((_oPropertyDefinition$ = oPropertyDefinition.annotations) === null || _oPropertyDefinition$ === void 0 ? void 0 : (_oPropertyDefinition$2 = _oPropertyDefinition$.Measures) === null || _oPropertyDefinition$2 === void 0 ? void 0 : _oPropertyDefinition$2.Unit) || ((_oPropertyDefinition$3 = oPropertyDefinition.annotations) === null || _oPropertyDefinition$3 === void 0 ? void 0 : (_oPropertyDefinition$4 = _oPropertyDefinition$3.Measures) === null || _oPropertyDefinition$4 === void 0 ? void 0 : _oPropertyDefinition$4.ISOCurrency);
247
+
248
+ if (unit) {
249
+ var unitBindingExpression = unit.$target ? formatWithTypeInformation(unit.$target, annotationExpression(unit, relativeLocation)) : annotationExpression(unit, relativeLocation);
250
+ return compileBinding(formatResult([fieldValueExpression, TargetExpression, unitBindingExpression], valueFormatters.computePercentage));
251
+ }
252
+
253
+ return compileBinding(formatResult([fieldValueExpression, TargetExpression, ""], valueFormatters.computePercentage));
238
254
  };
239
255
 
240
256
  _exports.buildExpressionForProgressIndicatorPercentValue = buildExpressionForProgressIndicatorPercentValue;
241
257
  return _exports;
242
258
  }, false);
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=
259
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFQb2ludFRlbXBsYXRpbmcudHMiXSwibmFtZXMiOlsiZ2V0RGF0YVBvaW50VGFyZ2V0RXhwcmVzc2lvbiIsIm9EYXRhTW9kZWxQYXRoIiwiVGFyZ2V0VmFsdWUiLCJhbm5vdGF0aW9uRXhwcmVzc2lvbiIsInVucmVzb2x2ZWFibGVFeHByZXNzaW9uIiwib1Jlc291cmNlTW9kZWwiLCJzYXAiLCJ1aSIsImdldENvcmUiLCJnZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUiLCJwcm9ncmVzc0luZGljYXRvckRpc3BsYXlWYWx1ZSIsIm9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgiLCJmaWVsZFZhbHVlIiwidGFyZ2V0T2JqZWN0IiwiVmFsdWUiLCJyZWxhdGl2ZUxvY2F0aW9uIiwiZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24iLCJjb250ZXh0TG9jYXRpb24iLCJuYXZpZ2F0aW9uUHJvcGVydGllcyIsIm1hcCIsIm5wIiwibmFtZSIsImZpZWxkVmFsdWVFeHByZXNzaW9uIiwiVGFyZ2V0RXhwcmVzc2lvbiIsInNVbml0UHJvcGVydHlQYXRoIiwiJHRhcmdldCIsImdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoIiwidW5kZWZpbmVkIiwic1VvTVBlcmNlbnQiLCJhbm5vdGF0aW9ucyIsIk1lYXN1cmVzIiwiVW5pdCIsImNoYXJBdCIsImNvbXBpbGVCaW5kaW5nIiwiZ2V0VGV4dCIsImlzUHJvcGVydHkiLCJmb3JtYXRXaXRoVHlwZUluZm9ybWF0aW9uIiwidW5pdCIsIklTT0N1cnJlbmN5IiwidW5pdEJpbmRpbmdFeHByZXNzaW9uIiwiZm9ybWF0UmVzdWx0IiwidmFsdWVGb3JtYXR0ZXJzIiwiZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0IiwiYnVpbGRSYXRpbmdJbmRpY2F0b3JTdWJ0aXRsZUV4cHJlc3Npb24iLCJvQ29udGV4dCIsIm1TYW1wbGVTaXplIiwiZm9ybWF0UmF0aW5nSW5kaWNhdG9yU3ViVGl0bGUiLCJBbm5vdGF0aW9uSGVscGVyIiwidmFsdWUiLCJjb250ZXh0IiwiaVNhbXBsZVNpemVWYWx1ZSIsInNTdWJUaXRsZUxhYmVsIiwiU3RyaW5nIiwiZ2V0SGVhZGVyUmF0aW5nSW5kaWNhdG9yVGV4dCIsIm9EYXRhUG9pbnQiLCJTYW1wbGVTaXplIiwiRGVzY3JpcHRpb24iLCJzTW9kZWxWYWx1ZSIsInJlcXVpcmVzSUNvbnRleHQiLCJidWlsZEV4cHJlc3Npb25Gb3JEZXNjcmlwdGlvbiIsIkNvbW1vbiIsIlRleHQiLCJvVGV4dEV4cHJlc3Npb24iLCJwYXJhbWV0ZXJzIiwiZ2V0RGVjaW1hbEZvcm1hdCIsIm91dEV4cHJlc3Npb24iLCJzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzIiwiY29uc3RyYWludHMiLCJPYmplY3QiLCJhc3NpZ24iLCJwcmVjaXNpb24iLCJzY2FsZSIsImdldFZhbHVlRm9ybWF0dGVkIiwib1Byb3BlcnR5RGF0YU1vZGVsUGF0aCIsInNQcm9wZXJ0eVR5cGUiLCJwYXRoIiwiaW5kZXhPZiIsIm9Qcm9wZXJ0eURlZmluaXRpb24iLCJ0eXBlIiwiRURNX1RZUEVfTUFQUElORyIsImJ1aWxkRmllbGRCaW5kaW5nRXhwcmVzc2lvbiIsIm9Qcm9wZXJ0eSIsImRhdGFQb2ludEZvcm1hdE9wdGlvbnMiLCJiTWVhc3VyZURpc3BsYXlNb2RlRW5hYmxlZCIsIm9EYXRhUG9pbnRWYWx1ZSIsIm9Gb3JtYXRPcHRpb25zIiwiZm9ybWF0T3B0aW9ucyIsIm9EZXNjcmlwdGlvbiIsIlZhbHVlRm9ybWF0IiwiTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzIiwiZW5oYW5jZURhdGFNb2RlbFBhdGgiLCJvRm9ybWF0ZWRWYWx1ZSIsInNEaXNwbGF5TW9kZSIsImRpc3BsYXlNb2RlIiwiZ2V0RGlzcGxheU1vZGUiLCJvQmluZGluZ0V4cHJlc3Npb24iLCJmb3JtYXRXaXRoQnJhY2tldHMiLCJnZXRCaW5kaW5nV2l0aFVuaXRPckN1cnJlbmN5IiwibWVhc3VyZURpc3BsYXlNb2RlIiwic2hvd01lYXN1cmUiLCJidWlsZEV4cHJlc3Np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QUNBLFFBQUlELElBQUosRUFBVTtBQUNULFVBQU1FLHFCQUFxQixHQUFJRixJQUFELENBQWNaLE9BQWQsR0FDM0JXLHlCQUF5QixDQUFFQyxJQUFELENBQWNaLE9BQWYsRUFBd0J0QixvQkFBb0IsQ0FBQ2tDLElBQUQsRUFBT3RCLGdCQUFQLENBQTVDLENBREUsR0FFMUJaLG9CQUFvQixDQUFDa0MsSUFBRCxFQUFPdEIsZ0JBQVAsQ0FGeEI7QUFJQSxhQUFPa0IsY0FBYyxDQUNwQk8sWUFBWSxDQUFDLENBQUNsQixvQkFBRCxFQUF1QkMsZ0JBQXZCLEVBQXlDZ0IscUJBQXpDLENBQUQsRUFBa0VFLGVBQWUsQ0FBQzRELGlCQUFsRixDQURRLENBQXJCO0FBR0E7O0FBRUQsV0FBT3BFLGNBQWMsQ0FBQ08sWUFBWSxDQUFDLENBQUNsQixvQkFBRCxFQUF1QkMsZ0JBQXZCLEVBQXlDLEVBQXpDLENBQUQsRUFBK0NrQixlQUFlLENBQUM0RCxpQkFBL0QsQ0FBYixDQUFyQjtBQUNBLEdBdEJNIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdmFsdWVGb3JtYXR0ZXJzIGZyb20gXCJzYXAvZmUvY29yZS9mb3JtYXR0ZXJzL1ZhbHVlRm9ybWF0dGVyXCI7XG5pbXBvcnQge1xuXHRnZXREaXNwbGF5TW9kZSxcblx0RURNX1RZUEVfTUFQUElORyxcblx0Z2V0QmluZGluZ1dpdGhVbml0T3JDdXJyZW5jeSxcblx0Zm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvblxufSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9VSUZvcm1hdHRlcnNcIjtcblxuaW1wb3J0IHsgRGF0YU1vZGVsT2JqZWN0UGF0aCwgZW5oYW5jZURhdGFNb2RlbFBhdGgsIGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHtcblx0RXhwcmVzc2lvbixcblx0YW5ub3RhdGlvbkV4cHJlc3Npb24sXG5cdGZvcm1hdFJlc3VsdCxcblx0QmluZGluZ0V4cHJlc3Npb25FeHByZXNzaW9uLFxuXHRCaW5kaW5nRXhwcmVzc2lvbixcblx0Y29tcGlsZUJpbmRpbmcsXG5cdENvbXBsZXhUeXBlRXhwcmVzc2lvbixcblx0dW5yZXNvbHZlYWJsZUV4cHJlc3Npb25cbn0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ0V4cHJlc3Npb25cIjtcblxuaW1wb3J0IHsgZ2V0QXNzb2NpYXRlZFVuaXRQcm9wZXJ0eVBhdGgsIGlzUHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9Qcm9wZXJ0eUhlbHBlclwiO1xuXG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gXCJAc2FwLXV4L2Fubm90YXRpb24tY29udmVydGVyXCI7XG5cbmltcG9ydCB7IEFubm90YXRpb25IZWxwZXIgfSBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0XCI7XG5cbmV4cG9ydCB0eXBlIERhdGFQb2ludEZvcm1hdE9wdGlvbnMgPSBQYXJ0aWFsPHtcblx0bWVhc3VyZURpc3BsYXlNb2RlOiBTdHJpbmc7XG59PjtcblxuY29uc3QgZ2V0RGF0YVBvaW50VGFyZ2V0RXhwcmVzc2lvbiA9IChvRGF0YU1vZGVsUGF0aDogYW55KTogRXhwcmVzc2lvbjxzdHJpbmc+ID0+IHtcblx0cmV0dXJuIG9EYXRhTW9kZWxQYXRoPy5UYXJnZXRWYWx1ZSA/IGFubm90YXRpb25FeHByZXNzaW9uKG9EYXRhTW9kZWxQYXRoLlRhcmdldFZhbHVlKSA6IHVucmVzb2x2ZWFibGVFeHByZXNzaW9uO1xufTtcblxuY29uc3Qgb1Jlc291cmNlTW9kZWwgPSBzYXAudWkuZ2V0Q29yZSgpLmdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZShcInNhcC5mZS5tYWNyb3NcIik7XG5cbmV4cG9ydCBjb25zdCBwcm9ncmVzc0luZGljYXRvckRpc3BsYXlWYWx1ZSA9IChvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoKTogQmluZGluZ0V4cHJlc3Npb248c3RyaW5nPiA9PiB7XG5cdGNvbnN0IGZpZWxkVmFsdWUgPSBvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoPy50YXJnZXRPYmplY3Q/LlZhbHVlIHx8IFwiXCI7XG5cdGNvbnN0IHJlbGF0aXZlTG9jYXRpb24gPSBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbihcblx0XHRvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLmNvbnRleHRMb2NhdGlvbixcblx0XHRvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzXG5cdCkubWFwKG5wID0+IG5wLm5hbWUpO1xuXHRsZXQgZmllbGRWYWx1ZUV4cHJlc3Npb24gPSBhbm5vdGF0aW9uRXhwcmVzc2lvbihmaWVsZFZhbHVlLCByZWxhdGl2ZUxvY2F0aW9uKSBhcyBhbnk7XG5cdGNvbnN0IFRhcmdldEV4cHJlc3Npb24gPSBnZXREYXRhUG9pbnRUYXJnZXRFeHByZXNzaW9uKG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KSBhcyBhbnk7XG5cblx0aWYgKGZpZWxkVmFsdWVFeHByZXNzaW9uICYmIFRhcmdldEV4cHJlc3Npb24pIHtcblx0XHRjb25zdCBzVW5pdFByb3BlcnR5UGF0aCA9IGZpZWxkVmFsdWU/LiR0YXJnZXQgPyBnZXRBc3NvY2lhdGVkVW5pdFByb3BlcnR5UGF0aChmaWVsZFZhbHVlPy4kdGFyZ2V0KSA6IHVuZGVmaW5lZDtcblxuXHRcdGlmICghc1VuaXRQcm9wZXJ0eVBhdGgpIHtcblx0XHRcdGNvbnN0IHNVb01QZXJjZW50ID0gZmllbGRWYWx1ZS4kdGFyZ2V0Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQ/LmNoYXJBdCgwKTtcblx0XHRcdGlmIChzVW9NUGVyY2VudCA9PT0gXCIlXCIpIHtcblx0XHRcdFx0cmV0dXJuIChjb21waWxlQmluZGluZyhmaWVsZFZhbHVlRXhwcmVzc2lvbikgYXMgc3RyaW5nKSArIFwiICVcIjtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9DT01NT05fUFJPR1JFU1NfSU5ESUNBVE9SX0RJU1BMQVlfVkFMVUVfTk9fVU9NXCIsIFtcblx0XHRcdFx0XHRjb21waWxlQmluZGluZyhmaWVsZFZhbHVlRXhwcmVzc2lvbikgYXMgc3RyaW5nLFxuXHRcdFx0XHRcdGNvbXBpbGVCaW5kaW5nKFRhcmdldEV4cHJlc3Npb24pIGFzIHN0cmluZ1xuXHRcdFx0XHRdKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0bGV0IHRhcmdldE9iamVjdCA9IG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0LlZhbHVlO1xuXHRcdFx0aWYgKCFpc1Byb3BlcnR5KHRhcmdldE9iamVjdCkpIHtcblx0XHRcdFx0dGFyZ2V0T2JqZWN0ID0gb1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QuVmFsdWUuJHRhcmdldDtcblx0XHRcdH1cblx0XHRcdGZpZWxkVmFsdWVFeHByZXNzaW9uID0gZm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvbih0YXJnZXRPYmplY3QsIGZpZWxkVmFsdWVFeHByZXNzaW9uKSBhcyBCaW5kaW5nRXhwcmVzc2lvbkV4cHJlc3Npb248c3RyaW5nPjtcblxuXHRcdFx0Y29uc3QgdW5pdCA9IHRhcmdldE9iamVjdC5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQgfHwgdGFyZ2V0T2JqZWN0LmFubm90YXRpb25zPy5NZWFzdXJlcz8uSVNPQ3VycmVuY3k7XG5cblx0XHRcdGNvbnN0IHVuaXRCaW5kaW5nRXhwcmVzc2lvbiA9ICh1bml0IGFzIGFueSkuJHRhcmdldFxuXHRcdFx0XHQ/IGZvcm1hdFdpdGhUeXBlSW5mb3JtYXRpb24oKHVuaXQgYXMgYW55KS4kdGFyZ2V0LCBhbm5vdGF0aW9uRXhwcmVzc2lvbih1bml0LCByZWxhdGl2ZUxvY2F0aW9uKSBhcyBFeHByZXNzaW9uPHN0cmluZz4pXG5cdFx0XHRcdDogKGFubm90YXRpb25FeHByZXNzaW9uKHVuaXQsIHJlbGF0aXZlTG9jYXRpb24pIGFzIEV4cHJlc3Npb248c3RyaW5nPik7XG5cblx0XHRcdHJldHVybiBjb21waWxlQmluZGluZyhcblx0XHRcdFx0Zm9ybWF0UmVzdWx0KFtmaWVsZFZhbHVlRXhwcmVzc2lvbiwgVGFyZ2V0RXhwcmVzc2lvbiwgdW5pdEJpbmRpbmdFeHByZXNzaW9uXSwgdmFsdWVGb3JtYXR0ZXJzLmZvcm1hdFByb2dyZXNzSW5kaWNhdG9yVGV4dClcblx0XHRcdCk7XG5cdFx0fVxuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBidWlsZFJhdGluZ0luZGljYXRvclN1YnRpdGxlRXhwcmVzc2lvbiA9IChvQ29udGV4dDogYW55LCBtU2FtcGxlU2l6ZTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0aWYgKG1TYW1wbGVTaXplKSB7XG5cdFx0cmV0dXJuIGZvcm1hdFJhdGluZ0luZGljYXRvclN1YlRpdGxlKEFubm90YXRpb25IZWxwZXIudmFsdWUobVNhbXBsZVNpemUsIHsgY29udGV4dDogb0NvbnRleHQgfSkpO1xuXHR9XG59O1xuLy8gcmV0dXJucyB0aGUgdGV4dCBmb3IgdGhlIFJhdGluZyBJbmRpY2F0b3IgU3VidGl0bGUgKGUuZy4gJzcgcmV2aWV3cycpXG5jb25zdCBmb3JtYXRSYXRpbmdJbmRpY2F0b3JTdWJUaXRsZSA9IChpU2FtcGxlU2l6ZVZhbHVlOiBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRpZiAoaVNhbXBsZVNpemVWYWx1ZSkge1xuXHRcdGNvbnN0IHNTdWJUaXRsZUxhYmVsID1cblx0XHRcdGlTYW1wbGVTaXplVmFsdWUgPiAxXG5cdFx0XHRcdD8gb1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlRfQU5OT1RBVElPTl9IRUxQRVJfUkFUSU5HX0lORElDQVRPUl9TVUJUSVRMRV9MQUJFTF9QTFVSQUxcIilcblx0XHRcdFx0OiBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9BTk5PVEFUSU9OX0hFTFBFUl9SQVRJTkdfSU5ESUNBVE9SX1NVQlRJVExFX0xBQkVMXCIpO1xuXHRcdHJldHVybiBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9BTk5PVEFUSU9OX0hFTFBFUl9SQVRJTkdfSU5ESUNBVE9SX1NVQlRJVExFXCIsIFtTdHJpbmcoaVNhbXBsZVNpemVWYWx1ZSksIHNTdWJUaXRsZUxhYmVsXSk7XG5cdH1cbn07XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGdldCB0aGUgaGVhZGVyIHRleHQgb2YgcmF0aW5nIGluZGljYXRvci5cbiAqIEBwYXJhbSBvQ29udGV4dFxuICogQHBhcmFtIG9EYXRhUG9pbnRcbiAqIEBmdW5jdGlvbiBwYXJhbSB7b2JqZWN0fSBvQ29udGV4dCBjb250ZXh0IG9mIGludGVyZmFjZVxuICogcGFyYW0ge29iamVjdH0gb0RhdGFQb2ludCBkYXRhIHBvaW50IG9iamVjdFxuICogQHJldHVybnMge3N0cmluZ30gRXhwcmVzc2lvbiBiaW5kaW5nIGZvciByYXRpbmcgaW5kaWNhdG9yIHRleHRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEhlYWRlclJhdGluZ0luZGljYXRvclRleHQgPSAob0NvbnRleHQ6IGFueSwgb0RhdGFQb2ludDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0aWYgKG9EYXRhUG9pbnQgJiYgb0RhdGFQb2ludC5TYW1wbGVTaXplKSB7XG5cdFx0cmV0dXJuIGJ1aWxkUmF0aW5nSW5kaWNhdG9yU3VidGl0bGVFeHByZXNzaW9uKG9Db250ZXh0LCBvRGF0YVBvaW50LlNhbXBsZVNpemUpO1xuXHR9IGVsc2UgaWYgKG9EYXRhUG9pbnQgJiYgb0RhdGFQb2ludC5EZXNjcmlwdGlvbikge1xuXHRcdGNvbnN0IHNNb2RlbFZhbHVlID0gQW5ub3RhdGlvbkhlbHBlci52YWx1ZShvRGF0YVBvaW50LkRlc2NyaXB0aW9uLCB7IGNvbnRleHQ6IG9Db250ZXh0IH0pO1xuXHRcdHJldHVybiBcIiR7cGF0aDpcIiArIHNNb2RlbFZhbHVlICsgXCJ9XCI7XG5cdH1cbn07XG5nZXRIZWFkZXJSYXRpbmdJbmRpY2F0b3JUZXh0LnJlcXVpcmVzSUNvbnRleHQgPSB0cnVlO1xuXG5jb25zdCBidWlsZEV4cHJlc3Npb25Gb3JEZXNjcmlwdGlvbiA9IChmaWVsZFZhbHVlOiBhbnkpOiBFeHByZXNzaW9uPGFueT4gfCB1bmRlZmluZWQgPT4ge1xuXHRpZiAoZmllbGRWYWx1ZT8uJHRhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dCkge1xuXHRcdGNvbnN0IG9UZXh0RXhwcmVzc2lvbiA9IGFubm90YXRpb25FeHByZXNzaW9uKGZpZWxkVmFsdWU/LiR0YXJnZXQ/LmFubm90YXRpb25zPy5Db21tb24/LlRleHQpIGFzIEJpbmRpbmdFeHByZXNzaW9uRXhwcmVzc2lvbjxhbnk+O1xuXHRcdG9UZXh0RXhwcmVzc2lvbi5wYXJhbWV0ZXJzID0geyBcIiQkbm9QYXRjaFwiOiB0cnVlIH07XG5cdFx0cmV0dXJuIG9UZXh0RXhwcmVzc2lvbjtcblx0fVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuY29uc3QgZ2V0RGVjaW1hbEZvcm1hdCA9IChcblx0b3V0RXhwcmVzc2lvbjogQmluZGluZ0V4cHJlc3Npb248YW55Pixcblx0ZmllbGRWYWx1ZTogYW55LFxuXHRzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzOiBzdHJpbmdcbik6IEJpbmRpbmdFeHByZXNzaW9uPGFueT4gPT4ge1xuXHRpZiAoIW91dEV4cHJlc3Npb24uY29uc3RyYWludHMpIHtcblx0XHRvdXRFeHByZXNzaW9uLmNvbnN0cmFpbnRzID0ge307XG5cdH1cblx0b3V0RXhwcmVzc2lvbi5jb25zdHJhaW50cyA9IE9iamVjdC5hc3NpZ24ob3V0RXhwcmVzc2lvbi5jb25zdHJhaW50cywge1xuXHRcdHByZWNpc2lvbjogZmllbGRWYWx1ZS4kdGFyZ2V0LnByZWNpc2lvbixcblx0XHRzY2FsZTogc051bWJlck9mRnJhY3Rpb25hbERpZ2l0cyA/IHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMgOiBmaWVsZFZhbHVlLiR0YXJnZXQuc2NhbGVcblx0fSk7XG5cdHJldHVybiBvdXRFeHByZXNzaW9uO1xufTtcblxuY29uc3QgZ2V0VmFsdWVGb3JtYXR0ZWQgPSAoXG5cdG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgsXG5cdGZpZWxkVmFsdWU6IGFueSxcblx0c1Byb3BlcnR5VHlwZTogc3RyaW5nLFxuXHRzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzOiBzdHJpbmdcbik6IEJpbmRpbmdFeHByZXNzaW9uRXhwcmVzc2lvbjxzdHJpbmc+ID0+IHtcblx0bGV0IG91dEV4cHJlc3Npb246IEJpbmRpbmdFeHByZXNzaW9uPGFueT47XG5cdGNvbnN0IHJlbGF0aXZlTG9jYXRpb24gPVxuXHRcdGZpZWxkVmFsdWU/LnBhdGg/LmluZGV4T2YoXCIvXCIpID09PSAtMVxuXHRcdFx0PyBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbihvUHJvcGVydHlEYXRhTW9kZWxQYXRoLmNvbnRleHRMb2NhdGlvbiwgb1Byb3BlcnR5RGF0YU1vZGVsUGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllcykubWFwKFxuXHRcdFx0XHRcdG5wID0+IG5wLm5hbWVcblx0XHRcdCAgKVxuXHRcdFx0OiBbXTtcblx0b3V0RXhwcmVzc2lvbiA9IGFubm90YXRpb25FeHByZXNzaW9uKGZpZWxkVmFsdWUsIHJlbGF0aXZlTG9jYXRpb24pO1xuXHRjb25zdCBvUHJvcGVydHlEZWZpbml0aW9uID0gb1Byb3BlcnR5RGF0YU1vZGVsUGF0aC50YXJnZXRPYmplY3QgYXMgUHJvcGVydHk7XG5cdGlmIChzUHJvcGVydHlUeXBlKSB7XG5cdFx0Zm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvbihvUHJvcGVydHlEZWZpbml0aW9uLCBvdXRFeHByZXNzaW9uKTtcblx0XHRvdXRFeHByZXNzaW9uLnR5cGUgPSBFRE1fVFlQRV9NQVBQSU5HW3NQcm9wZXJ0eVR5cGVdPy50eXBlO1xuXHR9XG5cdHN3aXRjaCAoc1Byb3BlcnR5VHlwZSkge1xuXHRcdGNhc2UgXCJFZG0uRGVjaW1hbFwiOlxuXHRcdFx0Ly8gZm9yIHRoZSBsaXN0UmVwb3J0LCB0aGUgZGVjaW1hbCBmaWVsZHMgYXJlIGZvcm1hdHRlZCBieSByZXR1cm5pbmcgYSBzdHJpbmdcblx0XHRcdC8vIGZvciB0aGUgZmFjZXRzIG9mIHRoZSBPUCwgdGhlIGRlY2ltYWwgZmllbGRzIGFyZSBmb3JtYXR0ZWQgYnkgcmV0dXJuaW5nIGEgcHJvbWlzZSwgc28gd2UgbWFuYWdlIGFsbCB0aGUgY2FzZXNcblx0XHRcdG91dEV4cHJlc3Npb24gPSBnZXREZWNpbWFsRm9ybWF0KG91dEV4cHJlc3Npb24sIGZpZWxkVmFsdWUsIHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMpO1xuXHRcdFx0YnJlYWs7XG5cdFx0ZGVmYXVsdDpcblx0fVxuXHRyZXR1cm4gb3V0RXhwcmVzc2lvbiBhcyBCaW5kaW5nRXhwcmVzc2lvbkV4cHJlc3Npb248c3RyaW5nPjtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZEZpZWxkQmluZGluZ0V4cHJlc3Npb24gPSAoXG5cdG9EYXRhTW9kZWxQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRvUHJvcGVydHk6IGFueSxcblx0ZGF0YVBvaW50Rm9ybWF0T3B0aW9uczogRGF0YVBvaW50Rm9ybWF0T3B0aW9ucyxcblx0Yk1lYXN1cmVEaXNwbGF5TW9kZUVuYWJsZWQ6IGJvb2xlYW5cbik6IEJpbmRpbmdFeHByZXNzaW9uPHN0cmluZz4gPT4ge1xuXHRjb25zdCBvRGF0YVBvaW50ID0gb0RhdGFNb2RlbFBhdGgudGFyZ2V0T2JqZWN0O1xuXHRjb25zdCBvRGF0YVBvaW50VmFsdWUgPSBvRGF0YVBvaW50Py5WYWx1ZSB8fCBcIlwiO1xuXHRjb25zdCBvRm9ybWF0T3B0aW9ucyA9IG9Qcm9wZXJ0eS5mb3JtYXRPcHRpb25zO1xuXHRjb25zdCBvRGVzY3JpcHRpb24gPSBidWlsZEV4cHJlc3Npb25Gb3JEZXNjcmlwdGlvbihvRGF0YVBvaW50VmFsdWUpO1xuXHRjb25zdCBzUHJvcGVydHlUeXBlID0gb0RhdGFQb2ludFZhbHVlPy4kdGFyZ2V0Py50eXBlO1xuXHRsZXQgc051bWJlck9mRnJhY3Rpb25hbERpZ2l0cztcblxuXHRpZiAoc1Byb3BlcnR5VHlwZSA9PT0gXCJFZG0uRGVjaW1hbFwiICYmIG9EYXRhUG9pbnQuVmFsdWVGb3JtYXQpIHtcblx0XHRpZiAob0RhdGFQb2ludC5WYWx1ZUZvcm1hdC5OdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMpIHtcblx0XHRcdHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMgPSBvRGF0YVBvaW50LlZhbHVlRm9ybWF0Lk51bWJlck9mRnJhY3Rpb25hbERpZ2l0cztcblx0XHR9XG5cdH1cblx0Y29uc3Qgb1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aCA9IGVuaGFuY2VEYXRhTW9kZWxQYXRoKG9EYXRhTW9kZWxQYXRoLCBvRGF0YVBvaW50VmFsdWUucGF0aCk7XG5cdGNvbnN0IG9Gb3JtYXRlZFZhbHVlID0gZ2V0VmFsdWVGb3JtYXR0ZWQob1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aCwgb0RhdGFQb2ludFZhbHVlLCBzUHJvcGVydHlUeXBlLCBzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzKTtcblx0Y29uc3Qgc0Rpc3BsYXlNb2RlID0gb0Rlc2NyaXB0aW9uXG5cdFx0PyBvRm9ybWF0T3B0aW9ucy5kaXNwbGF5TW9kZSB8fCBnZXREaXNwbGF5TW9kZShvRGF0YVBvaW50VmFsdWUsIG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgpXG5cdFx0OiBcIlZhbHVlXCI7XG5cdGxldCBvQmluZGluZ0V4cHJlc3Npb246IGFueTtcblx0c3dpdGNoIChzRGlzcGxheU1vZGUpIHtcblx0XHRjYXNlIFwiRGVzY3JpcHRpb25cIjpcblx0XHRcdG9CaW5kaW5nRXhwcmVzc2lvbiA9IG9EZXNjcmlwdGlvbjtcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgXCJWYWx1ZURlc2NyaXB0aW9uXCI6XG5cdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBmb3JtYXRSZXN1bHQoW29Gb3JtYXRlZFZhbHVlLCBvRGVzY3JpcHRpb25dLCB2YWx1ZUZvcm1hdHRlcnMuZm9ybWF0V2l0aEJyYWNrZXRzKTtcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgXCJEZXNjcmlwdGlvblZhbHVlXCI6XG5cdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBmb3JtYXRSZXN1bHQoW29EZXNjcmlwdGlvbiwgb0Zvcm1hdGVkVmFsdWVdLCB2YWx1ZUZvcm1hdHRlcnMuZm9ybWF0V2l0aEJyYWNrZXRzKTtcblx0XHRcdGJyZWFrO1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHRpZiAoXG5cdFx0XHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQgfHxcblx0XHRcdFx0b1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3Q/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uSVNPQ3VycmVuY3lcblx0XHRcdCkge1xuXHRcdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBnZXRCaW5kaW5nV2l0aFVuaXRPckN1cnJlbmN5KG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgsIG9Gb3JtYXRlZFZhbHVlKTtcblx0XHRcdFx0aWYgKG9CaW5kaW5nRXhwcmVzc2lvbiAmJiBiTWVhc3VyZURpc3BsYXlNb2RlRW5hYmxlZCAmJiBkYXRhUG9pbnRGb3JtYXRPcHRpb25zPy5tZWFzdXJlRGlzcGxheU1vZGUgIT09IFwiUmVhZE9ubHlcIikge1xuXHRcdFx0XHRcdChvQmluZGluZ0V4cHJlc3Npb24gYXMgQ29tcGxleFR5cGVFeHByZXNzaW9uPFN0cmluZz4pLmZvcm1hdE9wdGlvbnMgPSB7XG5cdFx0XHRcdFx0XHQuLi4ob0JpbmRpbmdFeHByZXNzaW9uIGFzIENvbXBsZXhUeXBlRXhwcmVzc2lvbjxTdHJpbmc+KS5mb3JtYXRPcHRpb25zLFxuXHRcdFx0XHRcdFx0c2hvd01lYXN1cmU6IGZhbHNlXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0b0JpbmRpbmdFeHByZXNzaW9uID0gb0Zvcm1hdGVkVmFsdWU7XG5cdFx0XHR9XG5cdH1cblxuXHRyZXR1cm4gY29tcGlsZUJpbmRpbmcob0JpbmRpbmdFeHByZXNzaW9uKTtcbn07XG5cbi8qKlxuICogTWV0aG9kIHRvIGNhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSB2YWx1ZSBvZiBQcm9ncmVzcyBJbmRpY2F0b3IuIEJhc2ljIGZvcm11bGEgaXMgVmFsdWUvVGFyZ2V0ICogMTAwLlxuICpcbiAqIEBwYXJhbSB7Kn0gb1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aFxuICogQHJldHVybnMge0JpbmRpbmd9IFRoZSBleHByZXNzaW9uIGJpbmRpbmcgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UgdmFsdWUsIHdoaWNoIGlzIHNob3duIGluIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3IgYmFzZWQgb24gdGhlIGZvcm11bGEgZ2l2ZW4gYWJvdmUuXG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZEV4cHJlc3Npb25Gb3JQcm9ncmVzc0luZGljYXRvclBlcmNlbnRWYWx1ZSA9IChvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0Y29uc3QgZmllbGRWYWx1ZSA9IG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGg/LnRhcmdldE9iamVjdD8uVmFsdWUgfHwgXCJcIjtcblx0Y29uc3QgcmVsYXRpdmVMb2NhdGlvbiA9IGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uKFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGguY29udGV4dExvY2F0aW9uLFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXNcblx0KS5tYXAobnAgPT4gbnAubmFtZSk7XG5cdGNvbnN0IGZpZWxkVmFsdWVFeHByZXNzaW9uID0gYW5ub3RhdGlvbkV4cHJlc3Npb24oZmllbGRWYWx1ZSwgcmVsYXRpdmVMb2NhdGlvbik7XG5cdGNvbnN0IFRhcmdldEV4cHJlc3Npb24gPSBnZXREYXRhUG9pbnRUYXJnZXRFeHByZXNzaW9uKG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KTtcblxuXHRjb25zdCBvUHJvcGVydHlEZWZpbml0aW9uID0gZmllbGRWYWx1ZS4kdGFyZ2V0IGFzIFByb3BlcnR5O1xuXHRjb25zdCB1bml0ID0gb1Byb3BlcnR5RGVmaW5pdGlvbi5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQgfHwgb1Byb3BlcnR5RGVmaW5pdGlvbi5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5O1xuXHRpZiAodW5pdCkge1xuXHRcdGNvbnN0IHVuaXRCaW5kaW5nRXhwcmVzc2lvbiA9ICh1bml0IGFzIGFueSkuJHRhcmdldFxuXHRcdFx0PyBmb3JtYXRXaXRoVHlwZUluZm9ybWF0aW9uKCh1bml0IGFzIGFueSkuJHRhcmdldCwgYW5ub3RhdGlvbkV4cHJlc3Npb24odW5pdCwgcmVsYXRpdmVMb2NhdGlvbikgYXMgRXhwcmVzc2lvbjxzdHJpbmc+KVxuXHRcdFx0OiAoYW5ub3RhdGlvbkV4cHJlc3Npb24odW5pdCwgcmVsYXRpdmVMb2NhdGlvbikgYXMgRXhwcmVzc2lvbjxzdHJpbmc+KTtcblxuXHRcdHJldHVybiBjb21waWxlQmluZGluZyhcblx0XHRcdGZvcm1hdFJlc3VsdChbZmllbGRWYWx1ZUV4cHJlc3Npb24sIFRhcmdldEV4cHJlc3Npb24sIHVuaXRCaW5kaW5nRXhwcmVzc2lvbl0sIHZhbHVlRm9ybWF0dGVycy5jb21wdXRlUGVyY2VudGFnZSlcblx0XHQpO1xuXHR9XG5cblx0cmV0dXJuIGNvbXBpbGVCaW5kaW5nKGZvcm1hdFJlc3VsdChbZmllbGRWYWx1ZUV4cHJlc3Npb24sIFRhcmdldEV4cHJlc3Npb24sIFwiXCJdLCB2YWx1ZUZvcm1hdHRlcnMuY29tcHV0ZVBlcmNlbnRhZ2UpKTtcbn07XG4iXX0=
@@ -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.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);
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 a=P.isProperty;var g=P.getAssociatedUnitPropertyPath;var u=B.unresolveableExpression;var c=B.compileBinding;var f=B.formatResult;var b=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?b(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(Z){return Z.name;});var I=b(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{var Q,R,S,V;var W=i.targetObject.Value;if(!a(W)){W=i.targetObject.Value.$target;}I=h(W,I);var X=((Q=W.annotations)===null||Q===void 0?void 0:(R=Q.Measures)===null||R===void 0?void 0:R.Unit)||((S=W.annotations)===null||S===void 0?void 0:(V=S.Measures)===null||V===void 0?void 0:V.ISOCurrency);var Y=X.$target?h(X.$target,b(X,H)):b(X,H);return c(f([I,T,Y],v.formatProgressIndicatorText));}}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=b(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=b(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,G,H,I,J;var K=(i===null||i===void 0?void 0:(F=i.targetObject)===null||F===void 0?void 0:F.Value)||"";var L=d(i.contextLocation,i.navigationProperties).map(function(R){return R.name;});var M=b(K,L);var T=n(i.targetObject);var N=K.$target;var O=((G=N.annotations)===null||G===void 0?void 0:(H=G.Measures)===null||H===void 0?void 0:H.Unit)||((I=N.annotations)===null||I===void 0?void 0:(J=I.Measures)===null||J===void 0?void 0:J.ISOCurrency);if(O){var Q=O.$target?h(O.$target,b(O,L)):b(O,L);return c(f([M,T,Q],v.computePercentage));}return c(f([M,T,""],v.computePercentage));};_.buildExpressionForProgressIndicatorPercentValue=C;return _;},false);
@@ -14,12 +14,11 @@ import {
14
14
  BindingExpressionExpression,
15
15
  BindingExpression,
16
16
  compileBinding,
17
- bindingExpression,
18
17
  ComplexTypeExpression,
19
18
  unresolveableExpression
20
19
  } from "sap/fe/core/helpers/BindingExpression";
21
20
 
22
- import { getAssociatedUnitPropertyPath } from "sap/fe/core/templating/PropertyHelper";
21
+ import { getAssociatedUnitPropertyPath, isProperty } from "sap/fe/core/templating/PropertyHelper";
23
22
 
24
23
  import { Property } from "@sap-ux/annotation-converter";
25
24
 
@@ -41,8 +40,8 @@ export const progressIndicatorDisplayValue = (oPropertyDataModelObjectPath: Data
41
40
  oPropertyDataModelObjectPath.contextLocation,
42
41
  oPropertyDataModelObjectPath.navigationProperties
43
42
  ).map(np => np.name);
44
- const fieldValueExpression = annotationExpression(fieldValue, relativeLocation);
45
- const TargetExpression = getDataPointTargetExpression(oPropertyDataModelObjectPath.targetObject);
43
+ let fieldValueExpression = annotationExpression(fieldValue, relativeLocation) as any;
44
+ const TargetExpression = getDataPointTargetExpression(oPropertyDataModelObjectPath.targetObject) as any;
46
45
 
47
46
  if (fieldValueExpression && TargetExpression) {
48
47
  const sUnitPropertyPath = fieldValue?.$target ? getAssociatedUnitPropertyPath(fieldValue?.$target) : undefined;
@@ -58,13 +57,20 @@ export const progressIndicatorDisplayValue = (oPropertyDataModelObjectPath: Data
58
57
  ]);
59
58
  }
60
59
  } else {
61
- return (
62
- oResourceModel.getText("T_COMMON_PROGRESS_INDICATOR_DISPLAY_VALUE_NO_UOM", [
63
- compileBinding(fieldValueExpression) as string,
64
- compileBinding(TargetExpression) as string
65
- ]) +
66
- " " +
67
- compileBinding(bindingExpression(sUnitPropertyPath as string))
60
+ let targetObject = oPropertyDataModelObjectPath.targetObject.Value;
61
+ if (!isProperty(targetObject)) {
62
+ targetObject = oPropertyDataModelObjectPath.targetObject.Value.$target;
63
+ }
64
+ fieldValueExpression = formatWithTypeInformation(targetObject, fieldValueExpression) as BindingExpressionExpression<string>;
65
+
66
+ const unit = targetObject.annotations?.Measures?.Unit || targetObject.annotations?.Measures?.ISOCurrency;
67
+
68
+ const unitBindingExpression = (unit as any).$target
69
+ ? formatWithTypeInformation((unit as any).$target, annotationExpression(unit, relativeLocation) as Expression<string>)
70
+ : (annotationExpression(unit, relativeLocation) as Expression<string>);
71
+
72
+ return compileBinding(
73
+ formatResult([fieldValueExpression, TargetExpression, unitBindingExpression], valueFormatters.formatProgressIndicatorText)
68
74
  );
69
75
  }
70
76
  }
@@ -217,7 +223,7 @@ export const buildFieldBindingExpression = (
217
223
  * Method to calculate the percentage value of Progress Indicator. Basic formula is Value/Target * 100.
218
224
  *
219
225
  * @param {*} oPropertyDataModelObjectPath
220
- * @returns {Binding} Expression binding that will calculate the percent value to be shown in progress indicator. Formula given above.
226
+ * @returns {Binding} The expression binding used to calculate the percentage value, which is shown in the progress indicator based on the formula given above.
221
227
  */
222
228
  export const buildExpressionForProgressIndicatorPercentValue = (oPropertyDataModelObjectPath: DataModelObjectPath): string | undefined => {
223
229
  const fieldValue = oPropertyDataModelObjectPath?.targetObject?.Value || "";
@@ -227,10 +233,18 @@ export const buildExpressionForProgressIndicatorPercentValue = (oPropertyDataMod
227
233
  ).map(np => np.name);
228
234
  const fieldValueExpression = annotationExpression(fieldValue, relativeLocation);
229
235
  const TargetExpression = getDataPointTargetExpression(oPropertyDataModelObjectPath.targetObject);
230
- const sUnitPropertyPath = fieldValue?.$target ? getAssociatedUnitPropertyPath(fieldValue.$target) : undefined;
231
- const UnitExpression = sUnitPropertyPath ? bindingExpression(sUnitPropertyPath) : "";
232
236
 
233
- const oExpressionTemplate = formatResult([fieldValueExpression, TargetExpression, UnitExpression], valueFormatters.computePercentage);
237
+ const oPropertyDefinition = fieldValue.$target as Property;
238
+ const unit = oPropertyDefinition.annotations?.Measures?.Unit || oPropertyDefinition.annotations?.Measures?.ISOCurrency;
239
+ if (unit) {
240
+ const unitBindingExpression = (unit as any).$target
241
+ ? formatWithTypeInformation((unit as any).$target, annotationExpression(unit, relativeLocation) as Expression<string>)
242
+ : (annotationExpression(unit, relativeLocation) as Expression<string>);
243
+
244
+ return compileBinding(
245
+ formatResult([fieldValueExpression, TargetExpression, unitBindingExpression], valueFormatters.computePercentage)
246
+ );
247
+ }
234
248
 
235
- return compileBinding(oExpressionTemplate);
249
+ return compileBinding(formatResult([fieldValueExpression, TargetExpression, ""], valueFormatters.computePercentage));
236
250
  };