@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
@@ -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(["./AnnotationEnum"],function(A){"use strict";var _={};var r=A.resolveEnumValue;function d(a,i){return h(a)||g(a,i)||m(a,i)||f();}function f(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function g(a,i){var b=a==null?null:typeof Symbol!=="undefined"&&a[Symbol.iterator]||a["@@iterator"];if(b==null)return;var c=[];var e=true;var j=false;var n,o;try{for(b=b.call(a);!(e=(n=b.next()).done);e=true){c.push(n.value);if(i&&c.length===i)break;}}catch(d1){j=true;o=d1;}finally{try{if(!e&&b["return"]!=null)b["return"]();}finally{if(j)throw o;}}return c;}function h(a){if(Array.isArray(a))return a;}function k(a){return q(a)||p(a)||m(a)||l();}function l(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function m(o,a){if(!o)return;if(typeof o==="string")return s(o,a);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(o,a);}function p(i){if(typeof Symbol!=="undefined"&&i[Symbol.iterator]!=null||i["@@iterator"]!=null)return Array.from(i);}function q(a){if(Array.isArray(a))return s(a);}function s(a,b){if(b==null||b>a.length)b=a.length;for(var i=0,c=new Array(b);i<b;i++){c[i]=a[i];}return c;}var u={_type:"Unresolveable"};_.unresolveableExpression=u;function t(i){return i.replace(/[']/g,function(c){switch(c){case"'":return"\\'";default:return c;}});}function v(){for(var a=arguments.length,e=new Array(a),b=0;b<a;b++){e[b]=arguments[b];}return e.find(function(c){return c._type==="Unresolveable";})!==undefined;}_.hasUnresolveableExpression=v;function w(a,b){if(a._type!==b._type){return false;}switch(a._type){case"Unresolveable":return false;case"Constant":case"EmbeddedBinding":case"EmbeddedExpressionBinding":return a.value===b.value;case"Not":return w(a.operand,b.operand);case"Truthy":return w(a.operand,b.operand);case"Set":return a.operator===b.operator&&a.operands.length===b.operands.length&&a.operands.every(function(i){return b.operands.some(function(j){return w(i,j);});});case"IfElse":return w(a.condition,b.condition)&&w(a.onTrue,b.onTrue)&&w(a.onFalse,b.onFalse);case"Comparison":return a.operator==b.operator&&w(a.operand1,b.operand1)&&w(a.operand2,b.operand2);case"Concat":var e=a.expressions;var c=b.expressions;if(e.length!==c.length){return false;}return e.every(function(i,j){return w(i,c[j]);});case"Binding":return a.modelName===b.modelName&&a.path===b.path&&a.targetEntitySet===b.targetEntitySet;case"DefaultBinding":return a.modelName===b.modelName&&a.path===b.path;case"Formatter":return a.fn===b.fn&&a.parameters.length===b.parameters.length&&a.parameters.every(function(i,j){return w(b.parameters[j],i);});case"ComplexType":return a.type===b.type&&a.bindingParameters.length===b.bindingParameters.length&&a.bindingParameters.every(function(i,j){return w(b.bindingParameters[j],i);});case"Function":var o=b;if(a.obj===undefined||o.obj===undefined){return a.obj===o;}return a.fn===o.fn&&w(a.obj,o.obj)&&a.parameters.length===o.parameters.length&&a.parameters.every(function(i,j){return w(o.parameters[j],i);});case"Ref":return a.ref===b.ref;}}_._checkExpressionsAreEqual=w;function x(a){return a.operands.reduce(function(b,o){var c=o._type==="Set"&&o.operator===a.operator?o.operands:[o];c.forEach(function(i){if(b.operands.every(function(e){return!w(e,i);})){b.operands.push(i);}});return b;},{_type:"Set",operator:a.operator,operands:[]});}function y(e){if(e.length<2){return false;}var i=e.length;while(i--){var a=e[i];var n=C(a);for(var j=0;j<i;j++){if(w(e[j],n)){return true;}}}return false;}function z(){for(var a=arguments.length,o=new Array(a),b=0;b<a;b++){o[b]=arguments[b];}var e=x({_type:"Set",operator:"&&",operands:o.map(J)}).operands;if(v.apply(void 0,k(e))){return u;}var i=false;var n=e.filter(function(j){if(K(j)&&!j.value){i=true;}return!K(j);});if(i){return F(false);}else if(n.length===0){var c=e.reduce(function(c,j){return c&&K(j)&&j.value;},true);return F(c);}else if(n.length===1){return n[0];}else if(y(n)){return F(false);}else{return{_type:"Set",operator:"&&",operands:n};}}_.and=z;function B(){for(var a=arguments.length,o=new Array(a),b=0;b<a;b++){o[b]=arguments[b];}var e=x({_type:"Set",operator:"||",operands:o.map(J)}).operands;if(v.apply(void 0,k(e))){return u;}var i=false;var n=e.filter(function(j){if(K(j)&&j.value){i=true;}return!K(j)||j.value;});if(i){return F(true);}else if(n.length===0){var c=e.reduce(function(c,j){return c&&K(j)&&j.value;},true);return F(c);}else if(n.length===1){return n[0];}else if(y(n)){return F(true);}else{return{_type:"Set",operator:"||",operands:n};}}_.or=B;function C(o){o=J(o);if(v(o)){return u;}else if(K(o)){return F(!o.value);}else if(typeof o==="object"&&o._type==="Set"&&o.operator==="||"&&o.operands.every(function(e){return K(e)||M(e);})){return z.apply(void 0,k(o.operands.map(function(e){return C(e);})));}else if(typeof o==="object"&&o._type==="Set"&&o.operator==="&&"&&o.operands.every(function(e){return K(e)||M(e);})){return B.apply(void 0,k(o.operands.map(function(e){return C(e);})));}else if(M(o)){switch(o.operator){case"!==":return U(o.operand1,o.operand2);case"<":return W(o.operand1,o.operand2);case"<=":return X(o.operand1,o.operand2);case"===":return V(o.operand1,o.operand2);case">":return Y(o.operand1,o.operand2);case">=":return Z(o.operand1,o.operand2);}}else if(o._type==="Not"){return o.operand;}else{return{_type:"Not",operand:o};}}_.not=C;function D(o){if(K(o)){return F(!!o.value);}else{return{_type:"Truthy",operand:o};}}_.isTruthy=D;function E(a,b){var c=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var e=arguments.length>3?arguments[3]:undefined;if(a===undefined){return u;}var i;if(e){i=e(a);if(i===undefined){return u;}}else{var j=c.concat();j.push(a);i=j.join("/");}return{_type:"Binding",modelName:b,path:i};}_.bindingExpression=E;function F(a){var c;if(typeof a==="object"&&a!==null&&a!==undefined){if(Array.isArray(a)){c=a.map(J);}else if(N(a)){c=a.valueOf();}else{var b=a;var o=Object.keys(b).reduce(function(o,e){var a=J(b[e]);if(a._type!=="Constant"||a.value!==undefined){o[e]=a;}return o;},{});c=o;}}else{c=a;}return{_type:"Constant",value:c};}_.constant=F;function G(a,b){if(a!==undefined&&typeof a==="string"&&a.startsWith("{")){if(a.startsWith("{=")){return{_type:"EmbeddedExpressionBinding",value:a};}else{return{_type:"EmbeddedBinding",value:a};}}else{switch(b){case"boolean":if(typeof a==="string"&&(a==="true"||a==="false")){return F(a==="true");}return F(a);default:return F(a);}}}_.resolveBindingString=G;function H(H){return{_type:"Ref",ref:H};}_.ref=H;function I(a){return a!==null&&typeof a==="object"&&a._type!==undefined;}function J(a){if(I(a)){return a;}return F(a);}function K(a){return typeof a!=="object"||a._type==="Constant";}_.isConstant=K;function L(a){return typeof a==="object"&&a._type==="Binding";}_.isBinding=L;function M(e){return e._type==="Comparison";}function N(o){switch(o.constructor.name){case"String":case"Number":case"Boolean":return true;default:return false;}}function O(P){return typeof P==="object"&&!N(P);}function P(P){var a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var b=arguments.length>2?arguments[2]:undefined;var c=arguments.length>3?arguments[3]:undefined;if(P===undefined){return J(b);}if(!O(P)){return F(P);}else{switch(P.type){case"Path":return E(P.path,undefined,a,c);case"If":return R(P.If,a,c);case"Not":return C(Q(P.Not,a,c));case"Eq":return U(Q(P.Eq[0],a,c),Q(P.Eq[1],a,c));case"Ne":return V(Q(P.Ne[0],a,c),Q(P.Ne[1],a,c));case"Gt":return X(Q(P.Gt[0],a,c),Q(P.Gt[1],a,c));case"Ge":return W(Q(P.Ge[0],a,c),Q(P.Ge[1],a,c));case"Lt":return Z(Q(P.Lt[0],a,c),Q(P.Lt[1],a,c));case"Le":return Y(Q(P.Le[0],a,c),Q(P.Le[1],a,c));case"Or":return B.apply(void 0,k(P.Or.map(function(o){return Q(o,a,c);})));case"And":return z.apply(void 0,k(P.And.map(function(e){return Q(e,a,c);})));case"Apply":return S(P,a,c);}}}_.annotationExpression=P;function Q(a){var b=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var c=arguments.length>2?arguments[2]:undefined;if(a===null||typeof a!=="object"){return F(a);}else if(a.hasOwnProperty("$Or")){return B.apply(void 0,k(a.$Or.map(function(o){return Q(o,b,c);})));}else if(a.hasOwnProperty("$And")){return z.apply(void 0,k(a.$And.map(function(e){return Q(e,b,c);})));}else if(a.hasOwnProperty("$Not")){return C(Q(a.$Not[0],b,c));}else if(a.hasOwnProperty("$Eq")){return U(Q(a.$Eq[0],b,c),Q(a.$Eq[1],b,c));}else if(a.hasOwnProperty("$Ne")){return V(Q(a.$Ne[0],b,c),Q(a.$Ne[1],b,c));}else if(a.hasOwnProperty("$Gt")){return X(Q(a.$Gt[0],b,c),Q(a.$Gt[1],b,c));}else if(a.hasOwnProperty("$Ge")){return W(Q(a.$Ge[0],b,c),Q(a.$Ge[1],b,c));}else if(a.hasOwnProperty("$Lt")){return Z(Q(a.$Lt[0],b,c),Q(a.$Lt[1],b,c));}else if(a.hasOwnProperty("$Le")){return Y(Q(a.$Le[0],b,c),Q(a.$Le[1],b,c));}else if(a.hasOwnProperty("$Path")){return E(a.$Path,undefined,b,c);}else if(a.hasOwnProperty("$Apply")){return P({type:"Apply",Function:a.$Function,Apply:a.$Apply},b,undefined,c);}else if(a.hasOwnProperty("$If")){return P({type:"If",If:a.$If},b,undefined,c);}else if(a.hasOwnProperty("$EnumMember")){return F(r(a.$EnumMember));}else{return F(false);}}function R(R){var a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var b=arguments.length>2?arguments[2]:undefined;return $(Q(R[0],a,b),Q(R[1],a,b),Q(R[2],a,b));}_.annotationIfExpression=R;function S(S){var a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var b=arguments.length>2?arguments[2]:undefined;switch(S.Function){case"odata.concat":return f1.apply(void 0,k(S.Apply.map(function(c){var e=c;if(c.hasOwnProperty("$Path")){e={type:"Path",path:c.$Path};}else if(c.hasOwnProperty("$If")){e={type:"If",If:c.$If};}else if(c.hasOwnProperty("$Apply")){e={type:"Apply",Function:c.$Function,Apply:c.$Apply};}return P(e,a,undefined,b);})));break;}}_.annotationApplyExpression=S;function T(o,a,b){var c=J(a);var e=J(b);if(v(c,e)){return u;}if(K(c)&&K(e)){if(c.value===undefined||e.value===undefined){return F(c.value===e.value);}switch(o){case"!==":return F(c.value!==e.value);case"<":return F(c.value<e.value);case"<=":return F(c.value<=e.value);case">":return F(c.value>e.value);case">=":return F(c.value>=e.value);case"===":default:return F(c.value===e.value);}}else{return{_type:"Comparison",operator:o,operand1:c,operand2:e};}}function U(a,b){var c=J(a);var e=J(b);if(v(c,e)){return u;}if(w(c,e)){return F(true);}if(c._type==="Comparison"&&K(e)&&e.value===true){return c;}else if(c._type==="Comparison"&&K(e)&&e.value===true){return C(c);}else if(c._type==="IfElse"&&w(c.onTrue,e)){return B(c.condition,U(c.onFalse,e));}else if(c._type==="IfElse"&&w(c.onFalse,e)){return B(C(c.condition),U(c.onTrue,e));}else if(c._type==="IfElse"&&K(c.onTrue)&&K(e)&&K(c.onFalse)&&!w(c.onTrue,e)&&!w(c.onFalse,e)){return F(false);}return T("===",c,e);}_.equal=U;function V(a,b){var c=J(a);var e=J(b);if(w(c,e)){return F(false);}if(c._type==="Comparison"&&K(e)&&e.value===true){return C(c);}else if(c._type==="Comparison"&&K(e)&&e.value===true){return c;}else if(c._type==="IfElse"&&w(c.onTrue,e)){return z(C(c.condition),V(c.onFalse,e));}else if(c._type==="IfElse"&&w(c.onFalse,e)){return z(c.condition,V(c.onTrue,e));}else if(c._type==="IfElse"&&K(c.onTrue)&&K(e)&&K(c.onFalse)&&!w(c.onTrue,e)&&!w(c.onFalse,e)){return F(true);}return T("!==",c,e);}_.notEqual=V;function W(a,b){return T(">=",a,b);}_.greaterOrEqual=W;function X(a,b){return T(">",a,b);}_.greaterThan=X;function Y(a,b){return T("<=",a,b);}_.lessOrEqual=Y;function Z(a,b){return T("<",a,b);}_.lessThan=Z;function $(c,o,a){var b=J(c);var e=J(o);var i=J(a);if(v(b,e,i)){return u;}if(b._type==="Not"){var j=[i,e];e=j[0];i=j[1];b=C(b);}if(e._type==="IfElse"&&w(b,e.condition)){e=e.onTrue;}if(i._type==="IfElse"&&w(b,i.condition)){i=i.onFalse;}if(b._type==="IfElse"){if(K(b.onFalse)&&!b.onFalse.value&&K(b.onTrue)&&b.onTrue.value){b=b.condition;}else if(K(b.onFalse)&&b.onFalse.value&&K(b.onTrue)&&!b.onTrue.value){b=C(b.condition);}else if(K(b.onTrue)&&!b.onTrue.value&&!K(b.onFalse)){b=z(C(b.condition),b.onFalse);}}if(b._type==="Not"){var n=[i,e];e=n[0];i=n[1];b=C(b);}if(K(b)){return b.value?e:i;}if(w(e,i)){return e;}if(K(i)&&i.value===false){return z(b,e);}if(K(e)&&e.value===false){return z(C(b),i);}return{_type:"IfElse",condition:b,onTrue:e,onFalse:i};}_.ifElse=$;function a1(e){switch(e._type){case"Constant":case"Formatter":case"ComplexType":return false;case"Set":return e.operands.some(a1);case"Binding":return e.modelName===undefined;case"Comparison":return a1(e.operand1)||a1(e.operand2);case"DefaultBinding":return true;case"IfElse":return a1(e.condition)||a1(e.onTrue)||a1(e.onFalse);case"Not":case"Truthy":return a1(e.operand);default:return false;}}function b1(a,b,c){var e=a.map(J);if(v.apply(void 0,k(e))){return u;}if(!!c){if(!e.some(a1)){c.keys.forEach(function(d1){return e.push(E(d1.name,""));});}}var i=b.__functionName.split("#"),j=d(i,2),n=j[0],o=j[1];if(!!o&&o.length>0){e.unshift(F(o));}return{_type:"Formatter",fn:n,parameters:e};}_.formatResult=b1;function c1(a,b,c){var e,i;var j=a.map(J);if(v.apply(void 0,k(j))){return u;}if(j.length===1&&K(j[0])&&!c){return j[0];}else if(!!c){if(!j.some(a1)){c.keys.forEach(function(n){return j.push(E(n.name,""));});}}var o=((e=a[0])===null||e===void 0?void 0:(i=e.type)===null||i===void 0?void 0:i.indexOf("sap.ui.model.odata.type.Int"))===0?{parseAsString:false,emptyString:""}:{};return{_type:"ComplexType",type:b,formatOptions:o,parameters:{},bindingParameters:j};}_.addTypeInformation=c1;function fn(a,b,o){var c=typeof a==="string"?a:a.__functionName;return{_type:"Function",obj:o!==undefined?J(o):undefined,fn:c,parameters:b.map(J)};}_.fn=fn;function e1(e){if(e._type==="Concat"){return B.apply(void 0,k(e.expressions.map(e1)));}return B(U(e,""),U(e,undefined),U(e,null));}_.isEmpty=e1;function f1(){for(var a=arguments.length,i=new Array(a),b=0;b<a;b++){i[b]=arguments[b];}var e=i.map(J);if(v.apply(void 0,k(e))){return u;}if(e.every(K)){return F(e.reduce(function(c,j){return c+j.value.toString();},""));}return{_type:"Concat",expressions:e};}_.concat=f1;function g1(i,e,a){var b=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var c=i;switch(c._type){case"Function":c.parameters=c.parameters.map(function(c){return g1(c,e,a,b);});break;case"Concat":c.expressions=c.expressions.map(function(c){return g1(c,e,a,b);});break;case"ComplexType":c.bindingParameters=c.bindingParameters.map(function(c){return g1(c,e,a,b);});break;case"Formatter":c.parameters=c.parameters.map(function(c){return g1(c,e,a,b);});break;case"IfElse":var o=g1(c.onTrue,e,a,b);var j=g1(c.onFalse,e,a,b);var n=c.condition;if(b){n=g1(c.condition,e,a,b);}c=$(n,o,j);break;case"Not":if(b){var d1=g1(c.operand,e,a,b);c=C(d1);}break;case"Truthy":break;case"Set":if(b){c.operands=c.operands.map(function(c){return g1(c,e,a,b);});}break;case"Comparison":if(b){var j1=g1(c.operand1,e,a,b);var k1=g1(c.operand2,e,a,b);c=T(c.operator,j1,k1);}break;case"DefaultBinding":case"Ref":case"Binding":case"Constant":break;}if(e===c._type){c=a(i);}return c;}_.transformRecursively=g1;function h1(e){var a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var b=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var c=J(e);var i=b?"$":"%";var j="";switch(c._type){case"Unresolveable":return undefined;case"Constant":if(c.value===null){return"null";}if(c.value===undefined){return"undefined";}if(typeof c.value==="object"){if(Array.isArray(c.value)){var n=c.value.map(function(e){return h1(e,true);});return"[".concat(n.join(", "),"]");}else{var o=c.value;var d1=Object.keys(o).map(function(n1){var o1=o[n1];return"".concat(n1,": ").concat(h1(o1,true));});return"{".concat(d1.join(", "),"}");}}if(a){switch(typeof c.value){case"number":case"bigint":case"boolean":return c.value.toString();case"string":return"'".concat(t(c.value.toString()),"'");default:return"";}}else{return c.value.toString();}case"Ref":return c.ref||"null";case"Function":var j1="".concat(c.parameters.map(function(n1){return h1(n1,true);}).join(", "));return c.obj===undefined?"".concat(c.fn,"(").concat(j1,")"):"".concat(h1(c.obj,true),".").concat(c.fn,"(").concat(j1,")");case"EmbeddedExpressionBinding":if(a){return"(".concat(c.value.substr(2,c.value.length-3),")");}else{return"".concat(c.value);}case"EmbeddedBinding":if(a){return"".concat(i).concat(c.value);}else{return"".concat(c.value);}case"DefaultBinding":case"Binding":if(c.type||c.parameters||c.targetType){var k1="";if(a){k1+="".concat(i);}k1+="{path:'".concat(c.modelName?"".concat(c.modelName,">"):"").concat(c.path,"'");if(c.type){k1+=", type: '".concat(c.type,"'");}if(c.constraints&&Object.keys(c.constraints).length>0){k1+=", constraints: ".concat(h1(c.constraints));}if(c.formatOptions){k1+=", formatOptions: ".concat(h1(c.formatOptions));}if(c.parameters&&Object.keys(c.parameters).length>0){k1+=", parameters: ".concat(h1(c.parameters));}if(c.targetType){k1+=", targetType: '".concat(c.targetType,"'");}k1+="}";return k1;}else{if(a){return"".concat(i,"{").concat(c.modelName?"".concat(c.modelName,">"):"").concat(c.path,"}");}else{return"{".concat(c.modelName?"".concat(c.modelName,">"):"").concat(c.path,"}");}}case"Comparison":var l1="".concat(h1(c.operand1,true)," ").concat(c.operator," ").concat(h1(c.operand2,true));if(a){return l1;}return"{= ".concat(l1,"}");case"IfElse":if(a){return"(".concat(h1(c.condition,true)," ? ").concat(h1(c.onTrue,true)," : ").concat(h1(c.onFalse,true),")");}else{return"{= ".concat(h1(c.condition,true)," ? ").concat(h1(c.onTrue,true)," : ").concat(h1(c.onFalse,true),"}");}case"Set":if(a){return"(".concat(c.operands.map(function(e){return h1(e,true);}).join(" ".concat(c.operator," ")),")");}else{return"{= (".concat(c.operands.map(function(e){return h1(e,true);}).join(" ".concat(c.operator," ")),")}");}case"Concat":if(a){return"".concat(c.expressions.map(function(e){return h1(e,true,true);}).join(" + "));}else{return"{= ".concat(c.expressions.map(function(e){return h1(e,true,true);}).join(" + ")," }");}case"Not":if(a){return"!".concat(h1(c.operand,true));}else{return"{= !".concat(h1(c.operand,true),"}");}case"Truthy":if(a){return"!!".concat(h1(c.operand,true));}else{return"{= !!".concat(h1(c.operand,true),"}");}case"Formatter":if(c.parameters.length===1){j+="{".concat(i1(c.parameters[0],true),", formatter: '").concat(c.fn,"'}");}else{j+="{parts:[".concat(c.parameters.map(function(n1){return i1(n1);}).join(","),"], formatter: '").concat(c.fn,"'}");}if(a){j="$".concat(j);}return j;case"ComplexType":if(c.bindingParameters.length===1){j+="{".concat(i1(c.bindingParameters[0],true),", type: '").concat(c.type,"'}");}else{var m1;switch(c.type){case"sap.ui.model.odata.type.Unit":m1=",{mode:'OneTime',path:'/##@@requestUnitsOfMeasure',targetType:'any'}],type:'sap.ui.model.odata.type.Unit'";break;case"sap.ui.model.odata.type.Currency":m1=",{mode:'OneTime',path:'/##@@requestCurrencyCodes',targetType:'any'}],type:'sap.ui.model.odata.type.Currency'";break;default:m1="], type: '".concat(c.type,"'");}if(c.formatOptions&&Object.keys(c.formatOptions).length>0){m1+=", formatOptions: ".concat(h1(c.formatOptions));}if(c.parameters&&Object.keys(c.parameters).length>0){m1+=", parameters: ".concat(h1(c.parameters));}m1+="}";j+="{mode:'TwoWay', parts:[".concat(c.bindingParameters.map(function(n1){return i1(n1);}).join(",")).concat(m1);}if(a){j="$".concat(j);}return j;default:return"";}}_.compileBinding=h1;function i1(e){var a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var o="";switch(e._type){case"Constant":switch(typeof e.value){case"number":case"bigint":o="value: ".concat(e.value.toString());break;case"string":o="value: '".concat(t(e.value.toString()),"'");break;case"boolean":o="value: '".concat(e.value.toString(),"'");break;default:o="value: ''";break;}if(a){return o;}return"{".concat(o,"}");case"DefaultBinding":case"Binding":o="path:'".concat(e.modelName?"".concat(e.modelName,">"):"").concat(e.path,"'");if(e.type){o+=", type : '".concat(e.type,"'");}else{o+=", targetType : 'any'";}if(e.constraints&&Object.keys(e.constraints).length>0){o+=", constraints: ".concat(h1(e.constraints));}if(e.formatOptions&&Object.keys(e.formatOptions).length>0){o+=", formatOptions: ".concat(h1(e.formatOptions));}if(e.parameters&&Object.keys(e.parameters).length>0){o+=", parameters: ".concat(h1(e.parameters));}if(a){return o;}return"{".concat(o,"}");default:return"";}}return _;},false);
5
+ sap.ui.define(["./AnnotationEnum"],function(A){"use strict";var _={};var r=A.resolveEnumValue;function d(a,i){return h(a)||g(a,i)||m(a,i)||f();}function f(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function g(a,i){var b=a==null?null:typeof Symbol!=="undefined"&&a[Symbol.iterator]||a["@@iterator"];if(b==null)return;var c=[];var e=true;var j=false;var n,o;try{for(b=b.call(a);!(e=(n=b.next()).done);e=true){c.push(n.value);if(i&&c.length===i)break;}}catch(e1){j=true;o=e1;}finally{try{if(!e&&b["return"]!=null)b["return"]();}finally{if(j)throw o;}}return c;}function h(a){if(Array.isArray(a))return a;}function k(a){return q(a)||p(a)||m(a)||l();}function l(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function m(o,a){if(!o)return;if(typeof o==="string")return s(o,a);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(o,a);}function p(i){if(typeof Symbol!=="undefined"&&i[Symbol.iterator]!=null||i["@@iterator"]!=null)return Array.from(i);}function q(a){if(Array.isArray(a))return s(a);}function s(a,b){if(b==null||b>a.length)b=a.length;for(var i=0,c=new Array(b);i<b;i++){c[i]=a[i];}return c;}var u={_type:"Unresolveable"};_.unresolveableExpression=u;function t(i){return i.replace(/[']/g,function(c){switch(c){case"'":return"\\'";default:return c;}});}function v(){for(var a=arguments.length,e=new Array(a),b=0;b<a;b++){e[b]=arguments[b];}return e.find(function(c){return c._type==="Unresolveable";})!==undefined;}_.hasUnresolveableExpression=v;function w(a,b){if(a._type!==b._type){return false;}switch(a._type){case"Unresolveable":return false;case"Constant":case"EmbeddedBinding":case"EmbeddedExpressionBinding":return a.value===b.value;case"Not":return w(a.operand,b.operand);case"Truthy":return w(a.operand,b.operand);case"Set":return a.operator===b.operator&&a.operands.length===b.operands.length&&a.operands.every(function(i){return b.operands.some(function(j){return w(i,j);});});case"IfElse":return w(a.condition,b.condition)&&w(a.onTrue,b.onTrue)&&w(a.onFalse,b.onFalse);case"Comparison":return a.operator==b.operator&&w(a.operand1,b.operand1)&&w(a.operand2,b.operand2);case"Concat":var e=a.expressions;var c=b.expressions;if(e.length!==c.length){return false;}return e.every(function(i,j){return w(i,c[j]);});case"Length":return w(a.bindingExpression,b.bindingExpression);case"Binding":return a.modelName===b.modelName&&a.path===b.path&&a.targetEntitySet===b.targetEntitySet;case"DefaultBinding":return a.modelName===b.modelName&&a.path===b.path;case"Formatter":return a.fn===b.fn&&a.parameters.length===b.parameters.length&&a.parameters.every(function(i,j){return w(b.parameters[j],i);});case"ComplexType":return a.type===b.type&&a.bindingParameters.length===b.bindingParameters.length&&a.bindingParameters.every(function(i,j){return w(b.bindingParameters[j],i);});case"Function":var o=b;if(a.obj===undefined||o.obj===undefined){return a.obj===o;}return a.fn===o.fn&&w(a.obj,o.obj)&&a.parameters.length===o.parameters.length&&a.parameters.every(function(i,j){return w(o.parameters[j],i);});case"Ref":return a.ref===b.ref;}}_._checkExpressionsAreEqual=w;function x(a){return a.operands.reduce(function(b,o){var c=o._type==="Set"&&o.operator===a.operator?o.operands:[o];c.forEach(function(i){if(b.operands.every(function(e){return!w(e,i);})){b.operands.push(i);}});return b;},{_type:"Set",operator:a.operator,operands:[]});}function y(e){if(e.length<2){return false;}var i=e.length;while(i--){var a=e[i];var n=C(a);for(var j=0;j<i;j++){if(w(e[j],n)){return true;}}}return false;}function z(){for(var a=arguments.length,o=new Array(a),b=0;b<a;b++){o[b]=arguments[b];}var e=x({_type:"Set",operator:"&&",operands:o.map(J)}).operands;if(v.apply(void 0,k(e))){return u;}var i=false;var n=e.filter(function(j){if(K(j)&&!j.value){i=true;}return!K(j);});if(i){return F(false);}else if(n.length===0){var c=e.reduce(function(c,j){return c&&K(j)&&j.value;},true);return F(c);}else if(n.length===1){return n[0];}else if(y(n)){return F(false);}else{return{_type:"Set",operator:"&&",operands:n};}}_.and=z;function B(){for(var a=arguments.length,o=new Array(a),b=0;b<a;b++){o[b]=arguments[b];}var e=x({_type:"Set",operator:"||",operands:o.map(J)}).operands;if(v.apply(void 0,k(e))){return u;}var i=false;var n=e.filter(function(j){if(K(j)&&j.value){i=true;}return!K(j)||j.value;});if(i){return F(true);}else if(n.length===0){var c=e.reduce(function(c,j){return c&&K(j)&&j.value;},true);return F(c);}else if(n.length===1){return n[0];}else if(y(n)){return F(true);}else{return{_type:"Set",operator:"||",operands:n};}}_.or=B;function C(o){o=J(o);if(v(o)){return u;}else if(K(o)){return F(!o.value);}else if(typeof o==="object"&&o._type==="Set"&&o.operator==="||"&&o.operands.every(function(e){return K(e)||M(e);})){return z.apply(void 0,k(o.operands.map(function(e){return C(e);})));}else if(typeof o==="object"&&o._type==="Set"&&o.operator==="&&"&&o.operands.every(function(e){return K(e)||M(e);})){return B.apply(void 0,k(o.operands.map(function(e){return C(e);})));}else if(M(o)){switch(o.operator){case"!==":return V(o.operand1,o.operand2);case"<":return X(o.operand1,o.operand2);case"<=":return Y(o.operand1,o.operand2);case"===":return W(o.operand1,o.operand2);case">":return Z(o.operand1,o.operand2);case">=":return $(o.operand1,o.operand2);}}else if(o._type==="Not"){return o.operand;}else{return{_type:"Not",operand:o};}}_.not=C;function D(o){if(K(o)){return F(!!o.value);}else{return{_type:"Truthy",operand:o};}}_.isTruthy=D;function E(a,b){var c=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var e=arguments.length>3?arguments[3]:undefined;if(a===undefined){return u;}var i;if(e){i=e(a);if(i===undefined){return u;}}else{var j=c.concat();j.push(a);i=j.join("/");}return{_type:"Binding",modelName:b,path:i};}_.bindingExpression=E;function F(a){var c;if(typeof a==="object"&&a!==null&&a!==undefined){if(Array.isArray(a)){c=a.map(J);}else if(N(a)){c=a.valueOf();}else{var b=a;var o=Object.keys(b).reduce(function(o,e){var a=J(b[e]);if(a._type!=="Constant"||a.value!==undefined){o[e]=a;}return o;},{});c=o;}}else{c=a;}return{_type:"Constant",value:c};}_.constant=F;function G(a,b){if(a!==undefined&&typeof a==="string"&&a.startsWith("{")){if(a.startsWith("{=")){return{_type:"EmbeddedExpressionBinding",value:a};}else{return{_type:"EmbeddedBinding",value:a};}}else{switch(b){case"boolean":if(typeof a==="string"&&(a==="true"||a==="false")){return F(a==="true");}return F(a);default:return F(a);}}}_.resolveBindingString=G;function H(H){return{_type:"Ref",ref:H};}_.ref=H;function I(a){return a!==null&&typeof a==="object"&&a._type!==undefined;}function J(a){if(I(a)){return a;}return F(a);}function K(a){return typeof a!=="object"||a._type==="Constant";}_.isConstant=K;function L(a){return typeof a==="object"&&a._type==="Binding";}_.isBinding=L;function M(e){return e._type==="Comparison";}function N(o){switch(o.constructor.name){case"String":case"Number":case"Boolean":return true;default:return false;}}function O(P){return typeof P==="object"&&!N(P);}function P(P){var a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var b=arguments.length>2?arguments[2]:undefined;var c=arguments.length>3?arguments[3]:undefined;if(P===undefined){return J(b);}if(!O(P)){return F(P);}else{switch(P.type){case"Path":return E(P.path,undefined,a,c);case"If":return R(P.If,a,c);case"Not":return C(Q(P.Not,a,c));case"Eq":return V(Q(P.Eq[0],a,c),Q(P.Eq[1],a,c));case"Ne":return W(Q(P.Ne[0],a,c),Q(P.Ne[1],a,c));case"Gt":return Y(Q(P.Gt[0],a,c),Q(P.Gt[1],a,c));case"Ge":return X(Q(P.Ge[0],a,c),Q(P.Ge[1],a,c));case"Lt":return $(Q(P.Lt[0],a,c),Q(P.Lt[1],a,c));case"Le":return Z(Q(P.Le[0],a,c),Q(P.Le[1],a,c));case"Or":return B.apply(void 0,k(P.Or.map(function(o){return Q(o,a,c);})));case"And":return z.apply(void 0,k(P.And.map(function(e){return Q(e,a,c);})));case"Apply":return S(P,a,c);}}}_.annotationExpression=P;function Q(a){var b=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var c=arguments.length>2?arguments[2]:undefined;if(a===null||typeof a!=="object"){return F(a);}else if(a.hasOwnProperty("$Or")){return B.apply(void 0,k(a.$Or.map(function(o){return Q(o,b,c);})));}else if(a.hasOwnProperty("$And")){return z.apply(void 0,k(a.$And.map(function(e){return Q(e,b,c);})));}else if(a.hasOwnProperty("$Not")){return C(Q(a.$Not[0],b,c));}else if(a.hasOwnProperty("$Eq")){return V(Q(a.$Eq[0],b,c),Q(a.$Eq[1],b,c));}else if(a.hasOwnProperty("$Ne")){return W(Q(a.$Ne[0],b,c),Q(a.$Ne[1],b,c));}else if(a.hasOwnProperty("$Gt")){return Y(Q(a.$Gt[0],b,c),Q(a.$Gt[1],b,c));}else if(a.hasOwnProperty("$Ge")){return X(Q(a.$Ge[0],b,c),Q(a.$Ge[1],b,c));}else if(a.hasOwnProperty("$Lt")){return $(Q(a.$Lt[0],b,c),Q(a.$Lt[1],b,c));}else if(a.hasOwnProperty("$Le")){return Z(Q(a.$Le[0],b,c),Q(a.$Le[1],b,c));}else if(a.hasOwnProperty("$Path")){return E(a.$Path,undefined,b,c);}else if(a.hasOwnProperty("$Apply")){return P({type:"Apply",Function:a.$Function,Apply:a.$Apply},b,undefined,c);}else if(a.hasOwnProperty("$If")){return P({type:"If",If:a.$If},b,undefined,c);}else if(a.hasOwnProperty("$EnumMember")){return F(r(a.$EnumMember));}else{return F(false);}}function R(R){var a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var b=arguments.length>2?arguments[2]:undefined;return a1(Q(R[0],a,b),Q(R[1],a,b),Q(R[2],a,b));}_.annotationIfExpression=R;function S(S){var a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var b=arguments.length>2?arguments[2]:undefined;switch(S.Function){case"odata.concat":return g1.apply(void 0,k(S.Apply.map(function(c){var e=c;if(c.hasOwnProperty("$Path")){e={type:"Path",path:c.$Path};}else if(c.hasOwnProperty("$If")){e={type:"If",If:c.$If};}else if(c.hasOwnProperty("$Apply")){e={type:"Apply",Function:c.$Function,Apply:c.$Apply};}return P(e,a,undefined,b);})));break;}}_.annotationApplyExpression=S;function T(o,a,b){var c=J(a);var e=J(b);if(v(c,e)){return u;}if(K(c)&&K(e)){if(c.value===undefined||e.value===undefined){return F(c.value===e.value);}switch(o){case"!==":return F(c.value!==e.value);case"<":return F(c.value<e.value);case"<=":return F(c.value<=e.value);case">":return F(c.value>e.value);case">=":return F(c.value>=e.value);case"===":default:return F(c.value===e.value);}}else{return{_type:"Comparison",operator:o,operand1:c,operand2:e};}}function U(E){if(E._type==="Unresolveable"){return E;}return{_type:"Length",bindingExpression:E};}_.length=U;function V(a,b){var c=J(a);var e=J(b);if(v(c,e)){return u;}if(w(c,e)){return F(true);}if(c._type==="Comparison"&&K(e)&&e.value===true){return c;}else if(e._type==="Comparison"&&K(c)&&c.value===true){return e;}else if(c._type==="Comparison"&&K(e)&&e.value===true){return C(c);}else if(c._type==="IfElse"&&w(c.onTrue,e)){return B(c.condition,V(c.onFalse,e));}else if(c._type==="IfElse"&&w(c.onFalse,e)){return B(C(c.condition),V(c.onTrue,e));}else if(c._type==="IfElse"&&K(c.onTrue)&&K(e)&&K(c.onFalse)&&!w(c.onTrue,e)&&!w(c.onFalse,e)){return F(false);}return T("===",c,e);}_.equal=V;function W(a,b){var c=J(a);var e=J(b);if(w(c,e)){return F(false);}if(c._type==="Comparison"&&K(e)&&e.value===true){return C(c);}else if(c._type==="Comparison"&&K(e)&&e.value===true){return c;}else if(c._type==="IfElse"&&w(c.onTrue,e)){return z(C(c.condition),W(c.onFalse,e));}else if(c._type==="IfElse"&&w(c.onFalse,e)){return z(c.condition,W(c.onTrue,e));}else if(c._type==="IfElse"&&K(c.onTrue)&&K(e)&&K(c.onFalse)&&!w(c.onTrue,e)&&!w(c.onFalse,e)){return F(true);}return T("!==",c,e);}_.notEqual=W;function X(a,b){return T(">=",a,b);}_.greaterOrEqual=X;function Y(a,b){return T(">",a,b);}_.greaterThan=Y;function Z(a,b){return T("<=",a,b);}_.lessOrEqual=Z;function $(a,b){return T("<",a,b);}_.lessThan=$;function a1(c,o,a){var b=J(c);var e=J(o);var i=J(a);if(v(b,e,i)){return u;}if(b._type==="Not"){var j=[i,e];e=j[0];i=j[1];b=C(b);}if(e._type==="IfElse"&&w(b,e.condition)){e=e.onTrue;}if(i._type==="IfElse"&&w(b,i.condition)){i=i.onFalse;}if(b._type==="IfElse"){if(K(b.onFalse)&&!b.onFalse.value&&K(b.onTrue)&&b.onTrue.value){b=b.condition;}else if(K(b.onFalse)&&b.onFalse.value&&K(b.onTrue)&&!b.onTrue.value){b=C(b.condition);}else if(K(b.onTrue)&&!b.onTrue.value&&!K(b.onFalse)){b=z(C(b.condition),b.onFalse);}}if(b._type==="Not"){var n=[i,e];e=n[0];i=n[1];b=C(b);}if(K(b)){return b.value?e:i;}if(w(e,i)){return e;}if(K(i)&&i.value===false){return z(b,e);}if(K(e)&&e.value===false){return z(C(b),i);}return{_type:"IfElse",condition:b,onTrue:e,onFalse:i};}_.ifElse=a1;function b1(e){switch(e._type){case"Constant":case"Formatter":case"ComplexType":return false;case"Set":return e.operands.some(b1);case"Binding":return e.modelName===undefined;case"Comparison":return b1(e.operand1)||b1(e.operand2);case"DefaultBinding":return true;case"IfElse":return b1(e.condition)||b1(e.onTrue)||b1(e.onFalse);case"Not":case"Truthy":return b1(e.operand);default:return false;}}function c1(a,b,c){var e=a.map(J);if(v.apply(void 0,k(e))){return u;}if(!!c){if(!e.some(b1)){c.keys.forEach(function(e1){return e.push(E(e1.name,""));});}}var i=b.__functionName.split("#"),j=d(i,2),n=j[0],o=j[1];if(!!o&&o.length>0){e.unshift(F(o));}return{_type:"Formatter",fn:n,parameters:e};}_.formatResult=c1;function d1(a,b,c){var e,i;var j=a.map(J);if(v.apply(void 0,k(j))){return u;}if(j.length===1&&K(j[0])&&!c){return j[0];}else if(!!c){if(!j.some(b1)){c.keys.forEach(function(n){return j.push(E(n.name,""));});}}var o=((e=a[0])===null||e===void 0?void 0:(i=e.type)===null||i===void 0?void 0:i.indexOf("sap.ui.model.odata.type.Int"))===0?{parseAsString:false,emptyString:""}:{};return{_type:"ComplexType",type:b,formatOptions:o,parameters:{},bindingParameters:j};}_.addTypeInformation=d1;function fn(a,b,o){var c=typeof a==="string"?a:a.__functionName;return{_type:"Function",obj:o!==undefined?J(o):undefined,fn:c,parameters:b.map(J)};}_.fn=fn;function f1(e){if(e._type==="Concat"){return B.apply(void 0,k(e.expressions.map(f1)));}return B(V(e,""),V(e,undefined),V(e,null));}_.isEmpty=f1;function g1(){for(var a=arguments.length,i=new Array(a),b=0;b<a;b++){i[b]=arguments[b];}var e=i.map(J);if(v.apply(void 0,k(e))){return u;}if(e.every(K)){return F(e.reduce(function(c,j){return c+j.value.toString();},""));}return{_type:"Concat",expressions:e};}_.concat=g1;function h1(i,e,a){var b=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var c=i;switch(c._type){case"Function":c.parameters=c.parameters.map(function(c){return h1(c,e,a,b);});break;case"Concat":c.expressions=c.expressions.map(function(c){return h1(c,e,a,b);});break;case"ComplexType":c.bindingParameters=c.bindingParameters.map(function(c){return h1(c,e,a,b);});break;case"Formatter":c.parameters=c.parameters.map(function(c){return h1(c,e,a,b);});break;case"IfElse":var o=h1(c.onTrue,e,a,b);var j=h1(c.onFalse,e,a,b);var n=c.condition;if(b){n=h1(c.condition,e,a,b);}c=a1(n,o,j);break;case"Not":if(b){var e1=h1(c.operand,e,a,b);c=C(e1);}break;case"Truthy":break;case"Set":if(b){c.operands=c.operands.map(function(c){return h1(c,e,a,b);});}break;case"Comparison":if(b){var p1=h1(c.operand1,e,a,b);var q1=h1(c.operand2,e,a,b);c=T(c.operator,p1,q1);}break;case"DefaultBinding":case"Ref":case"Length":case"Binding":case"Constant":break;}if(e===c._type){c=a(i);}return c;}_.transformRecursively=h1;var i1=function(e){return!K(e)&&!L(e)&&I(e)&&e._type!=="IfElse"&&e._type!=="Function";};function j1(e){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(i&&Object.keys(e.value).length===0){return"";}var o=e.value;var a=[];Object.keys(o).forEach(function(b){var c=o[b];var j=n1(c,true,false,true);if(j&&j.length>0){a.push("".concat(b,": ").concat(j));}});return"{".concat(a.join(", "),"}");}function k1(e,a){var i=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(e.value===null){return"null";}if(e.value===undefined){return"undefined";}if(typeof e.value==="object"){if(Array.isArray(e.value)){var b=e.value.map(function(c){return n1(c,true);});return"[".concat(b.join(", "),"]");}else{return j1(e,i);}}if(a){switch(typeof e.value){case"number":case"bigint":case"boolean":return e.value.toString();case"string":return"'".concat(t(e.value.toString()),"'");default:return"";}}else{return e.value.toString();}}function l1(e,a,b){if(e.type||e.parameters||e.targetType||e.formatOptions||e.constraints){var c={path:"".concat(e.modelName?e.modelName+">":"").concat(e.path),type:e.type,targetType:e.targetType,parameters:e.parameters,formatOptions:e.formatOptions,constraints:e.constraints};var o=n1(c);if(a){o="".concat(b)+o;}return o;}else if(a){return"".concat(b,"{").concat(e.modelName?e.modelName+">":"").concat(e.path,"}");}else{return"{".concat(e.modelName?e.modelName+">":"").concat(e.path,"}");}}function m1(e,a){var b=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(a){if(b){return"(".concat(e,")");}else{return e;}}else{return"{= ".concat(e,"}");}}function n1(e){var a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var b=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var c=J(e);var j=b?"$":"%";var o="";switch(c._type){case"Unresolveable":return undefined;case"Constant":return k1(c,a,i);case"Ref":return c.ref||"null";case"Function":var n="".concat(c.parameters.map(function(y1){return n1(y1,true);}).join(", "));return c.obj===undefined?"".concat(c.fn,"(").concat(n,")"):"".concat(n1(c.obj,true),".").concat(c.fn,"(").concat(n,")");case"EmbeddedExpressionBinding":if(a){return"(".concat(c.value.substr(2,c.value.length-3),")");}else{return"".concat(c.value);}case"EmbeddedBinding":if(a){return"".concat(j).concat(c.value);}else{return"".concat(c.value);}case"DefaultBinding":case"Binding":return l1(c,a,j);case"Comparison":var e1=i1(c.operand1);var p1=i1(c.operand2);var q1="";if(e1){q1+="(";}q1+="".concat(n1(c.operand1,true));if(e1){q1+=")";}q1+=" ".concat(c.operator," ");if(p1){q1+="(";}q1+="".concat(n1(c.operand2,true));if(p1){q1+=")";}return m1(q1,a);case"IfElse":var r1="".concat(n1(c.condition,true)," ? ").concat(n1(c.onTrue,true)," : ").concat(n1(c.onFalse,true));return m1(r1,a,true);case"Set":var s1=c.operands.map(function(y1){return n1(y1,true);}).join(" ".concat(c.operator," "));return m1(s1,a,true);case"Concat":var t1=c.expressions.map(function(y1){return n1(y1,true,true);}).join(" + ");return m1(t1,a);case"Length":var u1="".concat(n1(c.bindingExpression,true),".length");return m1(u1,a);case"Not":var v1="!".concat(n1(c.operand,true));return m1(v1,a);case"Truthy":var w1="!!".concat(n1(c.operand,true));return m1(w1,a);case"Formatter":if(c.parameters.length===1){o+="{".concat(o1(c.parameters[0],true),", formatter: '").concat(c.fn,"'}");}else{o+="{parts:[".concat(c.parameters.map(function(y1){return o1(y1);}).join(","),"], formatter: '").concat(c.fn,"'}");}if(a){o="$".concat(o);}return o;case"ComplexType":if(c.bindingParameters.length===1){o+="{".concat(o1(c.bindingParameters[0],true),", type: '").concat(c.type,"'}");}else{var x1;switch(c.type){case"sap.ui.model.odata.type.Unit":x1=",{mode:'OneTime',path:'/##@@requestUnitsOfMeasure',targetType:'any'}],type:'sap.ui.model.odata.type.Unit'";break;case"sap.ui.model.odata.type.Currency":x1=",{mode:'OneTime',path:'/##@@requestCurrencyCodes',targetType:'any'}],type:'sap.ui.model.odata.type.Currency'";break;default:x1="], type: '".concat(c.type,"'");}if(c.formatOptions&&Object.keys(c.formatOptions).length>0){x1+=", formatOptions: ".concat(n1(c.formatOptions));}if(c.parameters&&Object.keys(c.parameters).length>0){x1+=", parameters: ".concat(n1(c.parameters));}x1+="}";o+="{mode:'TwoWay', parts:[".concat(c.bindingParameters.map(function(y1){return o1(y1);}).join(",")).concat(x1);}if(a){o="$".concat(o);}return o;default:return"";}}_.compileBinding=n1;function o1(e){var a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var o="";switch(e._type){case"Constant":switch(typeof e.value){case"number":case"bigint":o="value: ".concat(e.value.toString());break;case"string":o="value: '".concat(t(e.value.toString()),"'");break;case"boolean":o="value: '".concat(e.value.toString(),"'");break;default:o="value: ''";break;}if(a){return o;}return"{".concat(o,"}");case"DefaultBinding":case"Binding":o="path:'".concat(e.modelName?"".concat(e.modelName,">"):"").concat(e.path,"'");if(e.type){o+=", type : '".concat(e.type,"'");}else{o+=", targetType : 'any'";}if(e.constraints&&Object.keys(e.constraints).length>0){o+=", constraints: ".concat(n1(e.constraints));}if(e.formatOptions&&Object.keys(e.formatOptions).length>0){o+=", formatOptions: ".concat(n1(e.formatOptions));}if(e.parameters&&Object.keys(e.parameters).length>0){o+=", parameters: ".concat(n1(e.parameters));}if(a){return o;}return"{".concat(o,"}");default:return"";}}return _;},false);
@@ -87,6 +87,11 @@ export type ConcatExpression = BaseExpression<string> & {
87
87
  expressions: Expression<string>[];
88
88
  };
89
89
 
90
+ export type LengthExpression = BaseExpression<string> & {
91
+ _type: "Length";
92
+ bindingExpression: BindingExpressionExpression<any>;
93
+ };
94
+
90
95
  export type UnresolveableBindingExpression = BaseExpression<string> & {
91
96
  _type: "Unresolveable";
92
97
  };
@@ -154,6 +159,7 @@ export type Expression<T> =
154
159
  | NotExpression
155
160
  | TruthyExpression
156
161
  | ConcatExpression
162
+ | LengthExpression
157
163
  | BindingExpressionExpression<T>
158
164
  | EmbeddedBindingExpression<T>
159
165
  | EmbeddedExpressionBindingExpression<T>
@@ -245,6 +251,9 @@ export function _checkExpressionsAreEqual<T>(a: Expression<T>, b: Expression<T>)
245
251
  return _checkExpressionsAreEqual(expression, bExpressions[index]);
246
252
  });
247
253
 
254
+ case "Length":
255
+ return _checkExpressionsAreEqual(a.bindingExpression, (b as LengthExpression).bindingExpression);
256
+
248
257
  case "Binding":
249
258
  return (
250
259
  a.modelName === (b as BindingExpressionExpression<T>).modelName &&
@@ -989,6 +998,16 @@ function comparison<T extends PrimitiveType>(
989
998
  }
990
999
  }
991
1000
 
1001
+ export function length(bindingExpression: BindingExpressionExpression<any> | UnresolveableBindingExpression): Expression<number> {
1002
+ if (bindingExpression._type === "Unresolveable") {
1003
+ return bindingExpression;
1004
+ }
1005
+ return {
1006
+ _type: "Length",
1007
+ bindingExpression
1008
+ };
1009
+ }
1010
+
992
1011
  /**
993
1012
  * Comparison: "equal" (===).
994
1013
  *
@@ -1013,6 +1032,9 @@ export function equal<T extends PrimitiveType>(
1013
1032
  // ((a === c) === true) => (a === c)
1014
1033
  if (leftExpression._type === "Comparison" && isConstant(rightExpression) && rightExpression.value === true) {
1015
1034
  return leftExpression;
1035
+ } else if (rightExpression._type === "Comparison" && isConstant(leftExpression) && leftExpression.value === true) {
1036
+ // (true === (a === c)) => (a === c)
1037
+ return rightExpression;
1016
1038
  } else if (leftExpression._type === "Comparison" && isConstant(rightExpression) && rightExpression.value === true) {
1017
1039
  // ((a === c) === false) => !(a === c)
1018
1040
  return not(leftExpression);
@@ -1500,6 +1522,7 @@ export function transformRecursively<T extends PrimitiveType | unknown>(
1500
1522
  break;
1501
1523
  case "DefaultBinding":
1502
1524
  case "Ref":
1525
+ case "Length":
1503
1526
  case "Binding":
1504
1527
  case "Constant":
1505
1528
  // Do nothing
@@ -1513,6 +1536,135 @@ export function transformRecursively<T extends PrimitiveType | unknown>(
1513
1536
 
1514
1537
  export type BindingExpression<T> = T | string | undefined;
1515
1538
 
1539
+ const needParenthesis = function<T extends PrimitiveType>(expr: ExpressionOrPrimitive<T>): boolean {
1540
+ return !isConstant(expr) && !isBinding(expr) && isExpression(expr) && expr._type !== "IfElse" && expr._type !== "Function";
1541
+ };
1542
+
1543
+ /**
1544
+ * Compiles a constant object to a string.
1545
+ * @param expr
1546
+ * @param isNullable
1547
+ * @returns {string} The compiled string
1548
+ */
1549
+ function compileConstantObject<T>(expr: ConstantExpression<object>, isNullable = false) {
1550
+ if (isNullable && Object.keys(expr.value).length === 0) {
1551
+ return "";
1552
+ }
1553
+ // Objects
1554
+ const o = expr.value as PlainExpressionObject;
1555
+ const properties: string[] = [];
1556
+ Object.keys(o).forEach(key => {
1557
+ const value = o[key];
1558
+ const childResult = compileBinding(value, true, false, true);
1559
+ if (childResult && childResult.length > 0) {
1560
+ properties.push(`${key}: ${childResult}`);
1561
+ }
1562
+ });
1563
+ return `{${properties.join(", ")}}`;
1564
+ }
1565
+
1566
+ /**
1567
+ * Compiles a Constant Binding Expression.
1568
+ * @param expr
1569
+ * @param embeddedInBinding
1570
+ * @param isNullable
1571
+ * @returns {string} The compiled string
1572
+ */
1573
+ function compileConstant<T extends PrimitiveType>(expr: ConstantExpression<T>, embeddedInBinding: boolean, isNullable = false) {
1574
+ if (expr.value === null) {
1575
+ return "null";
1576
+ }
1577
+ if (expr.value === undefined) {
1578
+ return "undefined";
1579
+ }
1580
+ if (typeof expr.value === "object") {
1581
+ if (Array.isArray(expr.value)) {
1582
+ const entries = expr.value.map(expression => compileBinding(expression, true));
1583
+ return `[${entries.join(", ")}]`;
1584
+ } else {
1585
+ return compileConstantObject(expr as ConstantExpression<object>, isNullable);
1586
+ }
1587
+ }
1588
+
1589
+ if (embeddedInBinding) {
1590
+ switch (typeof expr.value) {
1591
+ case "number":
1592
+ case "bigint":
1593
+ case "boolean":
1594
+ return expr.value.toString();
1595
+ case "string":
1596
+ return `'${escapeXmlAttribute(expr.value.toString())}'`;
1597
+ default:
1598
+ return "";
1599
+ }
1600
+ } else {
1601
+ return expr.value.toString();
1602
+ }
1603
+ }
1604
+
1605
+ /**
1606
+ * Generates the binding string for a Binding expression.
1607
+ *
1608
+ * @param expressionForBinding The expression to compile
1609
+ * @param embeddedInBinding Whether the expression to compile is embedded into another expression
1610
+ * @param embeddedSeparator The binding value evaluator ($ or % depending on whether we want to force the type or not)
1611
+ * @returns {BindingExpression<T>} The corresponding expression binding
1612
+ */
1613
+ function compileBindingForBinding<T extends PrimitiveType>(
1614
+ expressionForBinding: BindingExpressionExpression<T> | DefaultBindingExpressionExpression<T>,
1615
+ embeddedInBinding: boolean,
1616
+ embeddedSeparator: string
1617
+ ) {
1618
+ if (
1619
+ expressionForBinding.type ||
1620
+ expressionForBinding.parameters ||
1621
+ expressionForBinding.targetType ||
1622
+ expressionForBinding.formatOptions ||
1623
+ expressionForBinding.constraints
1624
+ ) {
1625
+ // This is now a complex binding definition, let's prepare for it
1626
+ const complexBindingDefinition = {
1627
+ path: `${expressionForBinding.modelName ? expressionForBinding.modelName + ">" : ""}${expressionForBinding.path}`,
1628
+ type: expressionForBinding.type,
1629
+ targetType: expressionForBinding.targetType,
1630
+ parameters: expressionForBinding.parameters,
1631
+ formatOptions: expressionForBinding.formatOptions,
1632
+ constraints: expressionForBinding.constraints
1633
+ };
1634
+ let outBinding = compileBinding(complexBindingDefinition);
1635
+ if (embeddedInBinding) {
1636
+ outBinding = `${embeddedSeparator}` + outBinding;
1637
+ }
1638
+ return outBinding;
1639
+ } else if (embeddedInBinding) {
1640
+ return `${embeddedSeparator}{${expressionForBinding.modelName ? expressionForBinding.modelName + ">" : ""}${
1641
+ expressionForBinding.path
1642
+ }}`;
1643
+ } else {
1644
+ return `{${expressionForBinding.modelName ? expressionForBinding.modelName + ">" : ""}${expressionForBinding.path}}`;
1645
+ }
1646
+ }
1647
+
1648
+ /**
1649
+ * Wrap the compiled binding string as required dependening on its context.
1650
+ *
1651
+ * @param expression The compiled expression
1652
+ * @param embeddedInBinding True if the compiled expression is to be embedded in a binding
1653
+ * @param parenthesisRequired True if the embedded binding needs to be wrapped in parethesis so that it is evaluated as one
1654
+ * @returns {BindingExpression<string>} Finalized compiled expression
1655
+ */
1656
+ function wrapBindingExpression(expression: string, embeddedInBinding: boolean, parenthesisRequired = false): BindingExpression<string> {
1657
+ if (embeddedInBinding) {
1658
+ if (parenthesisRequired) {
1659
+ return `(${expression})`;
1660
+ } else {
1661
+ return expression;
1662
+ }
1663
+ } else {
1664
+ return `{= ${expression}}`;
1665
+ }
1666
+ }
1667
+
1516
1668
  /**
1517
1669
  * Compile an expression into an expression binding.
1518
1670
  *
@@ -1520,12 +1672,14 @@ export type BindingExpression<T> = T | string | undefined;
1520
1672
  * @param expression The expression to compile
1521
1673
  * @param embeddedInBinding Whether the expression to compile is embedded into another expression
1522
1674
  * @param keepTargetType Keep the target type of the embedded bindings instead of casting them to any
1675
+ * @param isNullable Whether binding expression can resolve to empty string or not
1523
1676
  * @returns {BindingExpression<T>} The corresponding expression binding
1524
1677
  */
1525
1678
  export function compileBinding<T extends PrimitiveType>(
1526
1679
  expression: ExpressionOrPrimitive<T>,
1527
- embeddedInBinding: boolean = false,
1528
- keepTargetType: boolean = false
1680
+ embeddedInBinding = false,
1681
+ keepTargetType = false,
1682
+ isNullable = false
1529
1683
  ): BindingExpression<string> {
1530
1684
  const expr = wrapPrimitive(expression);
1531
1685
  const embeddedSeparator = keepTargetType ? "$" : "%";
@@ -1534,41 +1688,7 @@ export function compileBinding<T extends PrimitiveType>(
1534
1688
  case "Unresolveable":
1535
1689
  return undefined;
1536
1690
  case "Constant":
1537
- if (expr.value === null) {
1538
- return "null";
1539
- }
1540
- if (expr.value === undefined) {
1541
- return "undefined";
1542
- }
1543
- if (typeof expr.value === "object") {
1544
- if (Array.isArray(expr.value)) {
1545
- const entries = expr.value.map(expression => compileBinding(expression, true));
1546
- return `[${entries.join(", ")}]`;
1547
- } else {
1548
- // Objects
1549
- const o = expr.value as PlainExpressionObject;
1550
- const properties = Object.keys(o).map(key => {
1551
- const value = o[key];
1552
- return `${key}: ${compileBinding(value, true)}`;
1553
- });
1554
- return `{${properties.join(", ")}}`;
1555
- }
1556
- }
1557
-
1558
- if (embeddedInBinding) {
1559
- switch (typeof expr.value) {
1560
- case "number":
1561
- case "bigint":
1562
- case "boolean":
1563
- return expr.value.toString();
1564
- case "string":
1565
- return `'${escapeXmlAttribute(expr.value.toString())}'`;
1566
- default:
1567
- return "";
1568
- }
1569
- } else {
1570
- return expr.value.toString();
1571
- }
1691
+ return compileConstant(expr, embeddedInBinding, isNullable);
1572
1692
 
1573
1693
  case "Ref":
1574
1694
  return expr.ref || "null";
@@ -1592,84 +1712,55 @@ export function compileBinding<T extends PrimitiveType>(
1592
1712
  }
1593
1713
  case "DefaultBinding":
1594
1714
  case "Binding":
1595
- if (expr.type || expr.parameters || expr.targetType) {
1596
- let outBinding = "";
1597
- if (embeddedInBinding) {
1598
- outBinding += `${embeddedSeparator}`;
1599
- }
1600
- outBinding += `{path:'${expr.modelName ? `${expr.modelName}>` : ""}${expr.path}'`;
1601
- if (expr.type) {
1602
- outBinding += `, type: '${expr.type}'`;
1603
- }
1604
- if (expr.constraints && Object.keys(expr.constraints).length > 0) {
1605
- outBinding += `, constraints: ${compileBinding(expr.constraints)}`;
1606
- }
1607
- if (expr.formatOptions) {
1608
- outBinding += `, formatOptions: ${compileBinding(expr.formatOptions)}`;
1609
- }
1610
- if (expr.parameters && Object.keys(expr.parameters).length > 0) {
1611
- outBinding += `, parameters: ${compileBinding(expr.parameters)}`;
1612
- }
1613
- if (expr.targetType) {
1614
- outBinding += `, targetType: '${expr.targetType}'`;
1615
- }
1616
- outBinding += "}";
1617
- return outBinding;
1618
- } else {
1619
- if (embeddedInBinding) {
1620
- return `${embeddedSeparator}{${expr.modelName ? `${expr.modelName}>` : ""}${expr.path}}`;
1621
- } else {
1622
- return `{${expr.modelName ? `${expr.modelName}>` : ""}${expr.path}}`;
1623
- }
1624
- }
1715
+ return compileBindingForBinding(expr, embeddedInBinding, embeddedSeparator);
1625
1716
 
1626
1717
  case "Comparison":
1627
- const comparisonPart = `${compileBinding(expr.operand1, true)} ${expr.operator} ${compileBinding(expr.operand2, true)}`;
1628
- if (embeddedInBinding) {
1629
- return comparisonPart;
1718
+ const isOperand1Complex = needParenthesis(expr.operand1);
1719
+ const isOperand2Complex = needParenthesis(expr.operand2);
1720
+ let comparisonPart = "";
1721
+ if (isOperand1Complex) {
1722
+ comparisonPart += "(";
1723
+ }
1724
+ comparisonPart += `${compileBinding(expr.operand1, true)}`;
1725
+ if (isOperand1Complex) {
1726
+ comparisonPart += ")";
1727
+ }
1728
+ comparisonPart += ` ${expr.operator} `;
1729
+ if (isOperand2Complex) {
1730
+ comparisonPart += "(";
1630
1731
  }
1631
- return `{= ${comparisonPart}}`;
1732
+ comparisonPart += `${compileBinding(expr.operand2, true)}`;
1733
+ if (isOperand2Complex) {
1734
+ comparisonPart += ")";
1735
+ }
1736
+ return wrapBindingExpression(comparisonPart, embeddedInBinding);
1632
1737
 
1633
1738
  case "IfElse":
1634
- if (embeddedInBinding) {
1635
- return `(${compileBinding(expr.condition, true)} ? ${compileBinding(expr.onTrue, true)} : ${compileBinding(
1636
- expr.onFalse,
1637
- true
1638
- )})`;
1639
- } else {
1640
- return `{= ${compileBinding(expr.condition, true)} ? ${compileBinding(expr.onTrue, true)} : ${compileBinding(
1641
- expr.onFalse,
1642
- true
1643
- )}}`;
1644
- }
1739
+ const ifElseExpression = `${compileBinding(expr.condition, true)} ? ${compileBinding(expr.onTrue, true)} : ${compileBinding(
1740
+ expr.onFalse,
1741
+ true
1742
+ )}`;
1743
+ return wrapBindingExpression(ifElseExpression, embeddedInBinding, true);
1645
1744
 
1646
1745
  case "Set":
1647
- if (embeddedInBinding) {
1648
- return `(${expr.operands.map(expression => compileBinding(expression, true)).join(` ${expr.operator} `)})`;
1649
- } else {
1650
- return `{= (${expr.operands.map(expression => compileBinding(expression, true)).join(` ${expr.operator} `)})}`;
1651
- }
1746
+ const setExpression = expr.operands.map(operand => compileBinding(operand, true)).join(` ${expr.operator} `);
1747
+ return wrapBindingExpression(setExpression, embeddedInBinding, true);
1652
1748
 
1653
1749
  case "Concat":
1654
- if (embeddedInBinding) {
1655
- return `${expr.expressions.map(expression => compileBinding(expression, true, true)).join(` + `)}`;
1656
- } else {
1657
- return `{= ${expr.expressions.map(expression => compileBinding(expression, true, true)).join(` + `)} }`;
1658
- }
1750
+ const concatExpression = expr.expressions.map(nestedExpression => compileBinding(nestedExpression, true, true)).join(" + ");
1751
+ return wrapBindingExpression(concatExpression, embeddedInBinding);
1752
+
1753
+ case "Length":
1754
+ const lengthExpression = `${compileBinding(expr.bindingExpression, true)}.length`;
1755
+ return wrapBindingExpression(lengthExpression, embeddedInBinding);
1659
1756
 
1660
1757
  case "Not":
1661
- if (embeddedInBinding) {
1662
- return `!${compileBinding(expr.operand, true)}`;
1663
- } else {
1664
- return `{= !${compileBinding(expr.operand, true)}}`;
1665
- }
1758
+ const notExpression = `!${compileBinding(expr.operand, true)}`;
1759
+ return wrapBindingExpression(notExpression, embeddedInBinding);
1666
1760
 
1667
1761
  case "Truthy":
1668
- if (embeddedInBinding) {
1669
- return `!!${compileBinding(expr.operand, true)}`;
1670
- } else {
1671
- return `{= !!${compileBinding(expr.operand, true)}}`;
1672
- }
1762
+ const truthyExpression = `!!${compileBinding(expr.operand, true)}`;
1763
+ return wrapBindingExpression(truthyExpression, embeddedInBinding);
1673
1764
 
1674
1765
  case "Formatter":
1675
1766
  if (expr.parameters.length === 1) {
@@ -173,7 +173,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/h
173
173
  var viewState = controller === null || controller === void 0 ? void 0 : controller.viewState;
174
174
  var refreshBindings = Promise.resolve();
175
175
 
176
- if (internalModelContext.getProperty("restoreStatus") === "pending") {
176
+ if (internalModelContext && internalModelContext.getProperty("restoreStatus") === "pending") {
177
177
  if (viewState.refreshViewBindings) {
178
178
  refreshBindings = viewState.refreshViewBindings();
179
179
  refreshBindings.then(function () {
@@ -208,4 +208,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/h
208
208
  };
209
209
  return KeepAliveHelper;
210
210
  }, false);
211
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIktlZXBBbGl2ZUhlbHBlci50cyJdLCJuYW1lcyI6WyJfZm5TaW1wbGlmeUVudGl0eVNldFBhdGgiLCJtZXRhTW9kZWwiLCJlbnRpdHlTZXRQYXRoVG9Vc2UiLCJlbnRpdHlTZXRQYXRoIiwiZ2V0RW50aXR5U2V0UGF0aCIsImVudGl0eVNldCIsImluZGV4T2YiLCJnZXRPYmplY3QiLCJfZm5Jc0FwcGxpY2FibGUiLCJwcmltYXJ5UGF0aCIsImtleSIsInN0cmF0ZWd5IiwiUmVmcmVzaFN0cmF0ZWd5VHlwZSIsIkluY2x1ZGluZ0RlcGVuZGVudHMiLCJzdGFydHNXaXRoIiwiX2lzUGF0aEFwcGxpY2FibGVUb0NvbnRleHRQYXRoIiwiY29udGV4dFBhdGgiLCJwYXRoIiwiY29udGV4dFBhdGhUb0NoZWNrIiwicGF0aFRvQ2hlY2siLCJnZXRDb250cm9sc0ZvclJlZnJlc2giLCJ2aWV3IiwiY29udHJvbHMiLCJjb250cm9sc0ZvclJlZnJlc2giLCJnZXRNb2RlbCIsImdldE1ldGFNb2RlbCIsImludGVybmFsTW9kZWwiLCJyZWZyZXNoU3RyYXRlZ3kiLCJnZXRQcm9wZXJ0eSIsIlBBVEhfVE9fU1RPUkUiLCJmb3JFYWNoIiwiY29udHJvbCIsImRhdGEiLCJwdXNoIiwiZ2V0Q29udHJvbFJlZnJlc2hTdHJhdGVneUZvckNvbnRleHRQYXRoIiwic3RyYXRlZ3lUb0NoZWNrIiwiZ2V0Vmlld1JlZnJlc2hJbmZvIiwidmlld0RhdGEiLCJnZXRWaWV3RGF0YSIsIktlZXBBbGl2ZUhlbHBlciIsImdldFJlZnJlc2hTdHJhdGVneUZvckludGVudCIsInJlZnJlc2hTdHJhdGVnaWVzIiwic2VtYW50aWNPYmplY3QiLCJhY3Rpb24iLCJzb0FjdGlvbiIsImludGVudHMiLCJzb0FjdGlvbkludGVudE1hdGNoIiwic29JbnRlbnRNYXRjaCIsImRlZmF1bHRCZWhhdmlvciIsIl9mZURlZmF1bHQiLCJzdG9yZUNvbnRyb2xSZWZyZXNoU3RyYXRlZ3lGb3JIYXNoIiwiaGFzaCIsInNldFByb3BlcnR5IiwicmVzdG9yZVZpZXciLCJpbnRlcm5hbE1vZGVsQ29udGV4dCIsImdldEJpbmRpbmdDb250ZXh0IiwiY29udHJvbGxlciIsImdldENvbnRyb2xsZXIiLCJ2aWV3U3RhdGUiLCJyZWZyZXNoQmluZGluZ3MiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlZnJlc2hWaWV3QmluZGluZ3MiLCJ0aGVuIiwiTG9nIiwiaW5mbyIsImdldElkIiwiY2F0Y2giLCJlcnIiLCJ3YXJuaW5nIiwib25SZXN0b3JlIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FBYUE7QUFDQSxNQUFNQSx3QkFBd0IsR0FBRyxVQUFTQyxTQUFULEVBQW9DQyxrQkFBcEMsRUFBd0U7QUFDeEcsUUFBTUMsYUFBYSxHQUFHQyxnQkFBZ0IsQ0FBQ0Ysa0JBQUQsQ0FBdEM7QUFDQSxRQUFNRyxTQUFTLEdBQUdGLGFBQWEsQ0FBQ0csT0FBZCxDQUFzQiw0QkFBdEIsSUFBc0QsQ0FBQyxDQUF2RCxJQUE0REwsU0FBUyxDQUFDTSxTQUFWLENBQW9CSixhQUFwQixDQUE5RTtBQUNBLFdBQU9FLFNBQVMsR0FBRyxNQUFNQSxTQUFULEdBQXFCSCxrQkFBckM7QUFDQSxHQUpEOztBQUtBLE1BQU1NLGVBQWUsR0FBRyxVQUFTQyxXQUFULEVBQThCQyxHQUE5QixFQUEyQ0MsUUFBM0MsRUFBbUY7QUFDMUcsV0FBT0YsV0FBVyxLQUFLQyxHQUFoQixJQUF3QkMsUUFBUSxLQUFLQyxtQkFBbUIsQ0FBQ0MsbUJBQWpDLElBQXdESixXQUFXLENBQUNLLFVBQVosQ0FBdUJKLEdBQXZCLENBQXZGO0FBQ0EsR0FGRDtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsTUFBTUssOEJBQThCLEdBQUcsVUFDdENkLFNBRHNDLEVBRXRDZSxXQUZzQyxFQUd0Q0MsSUFIc0MsRUFJdENOLFFBSnNDLEVBSzVCO0FBQ1YsUUFBSU8sa0JBQWtCLEdBQUdGLFdBQVcsQ0FBQ0Ys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QWtCLEVBQWxCQSxrQkFIdUI7QUFJdkJJLElBQUFBLDJCQUEyQixFQUEzQkEsMkJBSnVCO0FBS3ZCVSxJQUFBQSxrQ0FBa0MsRUFBbENBLGtDQUx1QjtBQU12QkcsSUFBQUEsV0FBVyxFQUFYQTtBQU51QixHQUF4QjtTQVFlZCxlIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250cm9sIH0gZnJvbSBcInNhcC91aS9jb3JlXCI7XG5pbXBvcnQgeyBWaWV3IH0gZnJvbSBcInNhcC91aS9jb3JlL212Y1wiO1xuaW1wb3J0IHsgTG9nIH0gZnJvbSBcInNhcC9iYXNlXCI7XG5pbXBvcnQgeyBPRGF0YU1ldGFNb2RlbCB9IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjRcIjtcbmltcG9ydCB7IGdldEVudGl0eVNldFBhdGggfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9Nb2RlbEhlbHBlclwiO1xuaW1wb3J0IHsgQmFzZU1hbmlmZXN0U2V0dGluZ3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyBKU09OTW9kZWwgfSBmcm9tIFwic2FwL3VpL21vZGVsL2pzb25cIjtcbmltcG9ydCB7XG5cdFJlZnJlc2hTdHJhdGVneVR5cGUsXG5cdFNPUmVmcmVzaFN0cmF0ZWd5LFxuXHRSZWZyZXNoU3RyYXRlZ2llcyxcblx0UEFUSF9UT19TVE9SRSxcblx0U09BY3Rpb25cbn0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvS2VlcEFsaXZlUmVmcmVzaFR5cGVzXCI7XG5cbi8vIFByaXZhdGUgZnVuY3Rpb25zIC0gc3RhcnRcbmNvbnN0IF9mblNpbXBsaWZ5RW50aXR5U2V0UGF0aCA9IGZ1bmN0aW9uKG1ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwsIGVudGl0eVNldFBhdGhUb1VzZTogc3RyaW5nKTogc3RyaW5nIHtcblx0Y29uc3QgZW50aXR5U2V0UGF0aCA9IGdldEVudGl0eVNldFBhdGgoZW50aXR5U2V0UGF0aFRvVXNlKTtcblx0Y29uc3QgZW50aXR5U2V0ID0gZW50aXR5U2V0UGF0aC5pbmRleE9mKFwiJE5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmdcIikgPiAtMSAmJiBtZXRhTW9kZWwuZ2V0T2JqZWN0KGVudGl0eVNldFBhdGgpO1xuXHRyZXR1cm4gZW50aXR5U2V0ID8gXCIvXCIgKyBlbnRpdHlTZXQgOiBlbnRpdHlTZXRQYXRoVG9Vc2U7XG59O1xuY29uc3QgX2ZuSXNBcHBsaWNhYmxlID0gZnVuY3Rpb24ocHJpbWFyeVBhdGg6IHN0cmluZywga2V5OiBzdHJpbmcsIHN0cmF0ZWd5OiBSZWZyZXNoU3RyYXRlZ3lUeXBlKTogYm9vbGVhbiB7XG5cdHJldHVybiBwcmltYXJ5UGF0aCA9PT0ga2V5IHx8IChzdHJhdGVneSA9PT0gUmVmcmVzaFN0cmF0ZWd5VHlwZS5JbmNsdWRpbmdEZXBlbmRlbnRzICYmIHByaW1hcnlQYXRoLnN0YXJ0c1dpdGgoa2V5KSk7XG59O1xuLyoqXG4gKiBDaGVjayBpZiBnaXZlbiBwYXRoIHJlc2lkZXMgaW4gdGhlIGNvbnRleHQgcGF0aCBwcm92aWRlZC5cbiAqXG4gKiBAcGFyYW0ge09EYXRhTWV0YU1vZGVsfSBtZXRhTW9kZWwgTWV0YU1vZGVsIHRvIGJlIHVzZWRcbiAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZXh0UGF0aCBDb250ZXh0IHBhdGggdG8gYmUgdXNlZFxuICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUGF0aCB0byBiZSB1c2VkXG4gKiBAcGFyYW0ge1JlZnJlc2hTdHJhdGVneVR5cGV9IHN0cmF0ZWd5IFN0cmF0ZWd5LCBpdCBjb3VsZCBiZSAnc2VsZicgfCAnaW5jbHVkaW5nRGVwZW5kZW50cydcbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbnRleHQgcGF0aCBpcyBhcHBsaWNhYmxlLlxuICovXG5jb25zdCBfaXNQYXRoQXBwbGljYWJsZVRvQ29udGV4dFBhdGggPSBmdW5jdGlvbihcblx0bWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbCxcblx0Y29udGV4dFBhdGg6IHN0cmluZyxcblx0cGF0aDogc3RyaW5nLFxuXHRzdHJhdGVneTogUmVmcmVzaFN0cmF0ZWd5VHlwZVxuKTogYm9vbGVhbiB7XG5cdGxldCBjb250ZXh0UGF0aFRvQ2hlY2sgPSBjb250ZXh0UGF0aC5zdGFydHNXaXRoKFwiL1wiKSA/IGNvbnRleHRQYXRoIDogXCIvXCIgKyBjb250ZXh0UGF0aCxcblx0XHRwYXRoVG9DaGVjayA9IHBhdGguc3RhcnRzV2l0aChcIi9cIikgPyBwYXRoIDogXCIvXCIgKyBwYXRoO1xuXHRpZiAoIV9mbklzQXBwbGljYWJsZShjb250ZXh0UGF0aFRvQ2hlY2ssIHBhdGhUb0NoZWNrLCBzdHJhdGVneSkpIHtcblx0XHRjb250ZXh0UGF0aFRvQ2hlY2sgPSBfZm5TaW1wbGlmeUVudGl0eVNldFBhdGgobWV0YU1vZGVsLCBjb250ZXh0UGF0aFRvQ2hlY2spO1xuXHRcdGlmICghX2ZuSXNBcHBsaWNhYmxlKGNvbnRleHRQYXRoVG9DaGVjaywgcGF0aFRvQ2hlY2ssIHN0cmF0ZWd5KSkge1xuXHRcdFx0cGF0aFRvQ2hlY2sgPSBfZm5TaW1wbGlmeUVudGl0eVNldFBhdGgobWV0YU1vZGVsLCBwYXRoVG9DaGVjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gX2ZuSXNBcHBsaWNhYmxlKGNvbnRleHRQYXRoVG9DaGVjaywgcGF0aFRvQ2hlY2ssIHN0cmF0ZWd5KTtcbn07XG4vLyBQcml2YXRlIGZ1bmN0aW9ucyAtIGVuZFxuLyoqXG4gKiBHZXQgY29udHJvbHMgdG8gcmVmcmVzaCBpbiBhIHZpZXcuXG4gKlxuICogQHBhcmFtIHtWaWV3fSB2aWV3IFZpZXcgb2YgdGhlIGNvbnRyb2xzXG4gKiBAcGFyYW0ge0NvbnRyb2xbXX0gY29udHJvbHMgQ29udGV4dCBwYXRoIHRvIGJlIHVzZWRcbiAqIEByZXR1cm5zIHtDb250cm9sW119IFJldHVybnMgY29udHJvbHMgdGhhdCBuZWVkIHRvIGJlIHJlZnJlc2hlZC5cbiAqL1xuY29uc3QgZ2V0Q29udHJvbHNGb3JSZWZyZXNoID0gZnVuY3Rpb24odmlldzogVmlldywgY29udHJvbHM6IENvbnRyb2xbXSk6IENvbnRyb2xbXSB7XG5cdGNvbnN0IGNvbnRyb2xzRm9yUmVmcmVzaDogQ29udHJvbFtdID0gW107XG5cdGNvbnN0IG1ldGFNb2RlbCA9IHZpZXcuZ2V0TW9kZWwoKS5nZXRNZXRhTW9kZWwoKSBhcyBPRGF0YU1ldGFNb2RlbDtcblx0Y29uc3QgaW50ZXJuYWxNb2RlbCA9IHZpZXcuZ2V0TW9kZWwoXCJpbnRlcm5hbFwiKTtcblx0Y29uc3QgcmVmcmVzaFN0cmF0ZWd5ID0gaW50ZXJuYWxNb2RlbC5nZXRQcm9wZXJ0eShQQVRIX1RPX1NUT1JFKSB8fCB7fTtcblx0aWYgKGNvbnRyb2xzKSB7XG5cdFx0Y29udHJvbHMuZm9yRWFjaChmdW5jdGlvbihjb250cm9sKSB7XG5cdFx0XHRjb25zdCBjb250ZXh0UGF0aCA9IGNvbnRyb2wuZGF0YShcInRhcmdldENvbGxlY3Rpb25QYXRoXCIpO1xuXHRcdFx0Zm9yIChjb25zdCBrZXkgaW4gcmVmcmVzaFN0cmF0ZWd5KSB7XG5cdFx0XHRcdGNvbnN0IHN0cmF0ZWd5ID0gcmVmcmVzaFN0cmF0ZWd5W2tleV07XG5cdFx0XHRcdGlmIChjb250cm9sc0ZvclJlZnJlc2guaW5kZXhPZihjb250cm9sKSA9PT0gLTEgJiYgX2lzUGF0aEFwcGxpY2FibGVUb0NvbnRleHRQYXRoKG1ldGFNb2RlbCwgY29udGV4dFBhdGgsIGtleSwgc3RyYXRlZ3kpKSB7XG5cdFx0XHRcdFx0Y29udHJvbHNGb3JSZWZyZXNoLnB1c2goY29udHJvbCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXHRyZXR1cm4gY29udHJvbHNGb3JSZWZyZXNoO1xufTtcbi8qKlxuICogR2V0IHJlZnJlc2ggc3RyYXRlZ3kgZm9yIHRoZSBjb250cm9sIGZvciBhIGNvbnRleHQgcGF0aC5cbiAqXG4gKiBAcGFyYW0ge0NvbnRyb2x9IGNvbnRyb2wgQ29udHJvbCBmcm9tIHdoaWNoIHJlZnJlc2ggaW5mbyBpcyBuZWVkZWRcbiAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZXh0UGF0aCBDb250ZXh0UGF0aCBmb3IgcHJvcGVyaXRpZXNcbiAqIEByZXR1cm5zIHtSZWZyZXNoU3RyYXRlZ3lUeXBlfSBSZXR1cm5zIHN0cmF0ZWd5IGZvciBjb250cm9sIHJlZnJlc2guXG4gKi9cbmNvbnN0IGdldENvbnRyb2xSZWZyZXNoU3RyYXRlZ3lGb3JDb250ZXh0UGF0aCA9IGZ1bmN0aW9uKGNvbnRyb2w6IENvbnRyb2wsIGNvbnRleHRQYXRoOiBzdHJpbmcpOiBSZWZyZXNoU3RyYXRlZ3lUeXBlIHwgdW5kZWZpbmVkIHtcblx0Y29uc3QgbWV0YU1vZGVsID0gY29udHJvbC5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpIGFzIE9EYXRhTWV0YU1vZGVsO1xuXHRjb25zdCBpbnRlcm5hbE1vZGVsID0gY29udHJvbC5nZXRNb2RlbChcImludGVybmFsXCIpO1xuXHRjb25zdCByZWZyZXNoU3RyYXRlZ3kgPSBpbnRlcm5hbE1vZGVsLmdldFByb3BlcnR5KFBBVEhfVE9fU1RPUkUpIHx8IHt9O1xuXHRsZXQgc3RyYXRlZ3k7XG5cdGlmIChjb250ZXh0UGF0aCkge1xuXHRcdGZvciAoY29uc3Qga2V5IGluIHJlZnJlc2hTdHJhdGVneSkge1xuXHRcdFx0Y29uc3Qgc3RyYXRlZ3lUb0NoZWNrID0gcmVmcmVzaFN0cmF0ZWd5W2tleV07XG5cdFx0XHRpZiAoX2lzUGF0aEFwcGxpY2FibGVUb0NvbnRleHRQYXRoKG1ldGFNb2RlbCwgY29udGV4dFBhdGgsIGtleSwgc3RyYXRlZ3lUb0NoZWNrKSkge1xuXHRcdFx0XHRzdHJhdGVneSA9IHN0cmF0ZWd5VG9DaGVjaztcblx0XHRcdFx0aWYgKHN0cmF0ZWd5ID09PSBcImluY2x1ZGluZ0RlcGVuZGVudHNcIikge1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHJldHVybiBzdHJhdGVneTtcbn07XG4vKipcbiAqIEdldCByZWZyZXNoIGluZm8gZnJvbSB2aWV3LlxuICpcbiAqIEBwYXJhbSB7Vmlld30gdmlldyBWaWV3IGZyb20gd2hpY2ggcmVmcmVzaCBpbmZvIGlzIG5lZWRlZFxuICogQHJldHVybnMge1JlZnJlc2hTdHJhdGVneVR5cGUgfCB1bmRlZmluZWR9IFJldHVybnMgc3RyYXRlZ3kgZm9yIHZpZXcgcmVmcmVzaC5cbiAqL1xuY29uc3QgZ2V0Vmlld1JlZnJlc2hJbmZvID0gZnVuY3Rpb24odmlldzogVmlldyk6IFJlZnJlc2hTdHJhdGVneVR5cGUgfCB1bmRlZmluZWQge1xuXHRjb25zdCB2aWV3RGF0YSA9IHZpZXcuZ2V0Vmlld0RhdGEoKSBhcyBCYXNlTWFuaWZlc3RTZXR0aW5ncyxcblx0XHRjb250ZXh0UGF0aCA9IHZpZXdEYXRhICYmICh2aWV3RGF0YT8uY29udGV4dFBhdGggfHwgXCIvXCIgKyB2aWV3RGF0YT8uZW50aXR5U2V0KTtcblx0cmV0dXJuIEtlZXBBbGl2ZUhlbHBlci5nZXRDb250cm9sUmVmcmVzaFN0cmF0ZWd5Rm9yQ29udGV4dFBhdGgodmlldywgY29udGV4dFBhdGgpO1xufTtcblxuLyoqXG4gKiBHZXQgcmVmcmVzaCBzdHJhdGVneSBmb3IgYW4gaW50ZW50LlxuICpcbiAqIEBwYXJhbSB7UmVmcmVzaFN0cmF0ZWdpZXN9IHJlZnJlc2hTdHJhdGVnaWVzIFJlZnJlc2hTdHJhdGVnaWVzIHRvIGNvbnNpZGVyXG4gKiBAcGFyYW0ge3N0cmluZ30gc2VtYW50aWNPYmplY3QgT3V0Ym91bmQgU2VtYW50aWMgT2JqZWN0XG4gKiBAcGFyYW0ge3N0cmluZ30gYWN0aW9uIE91dGJvdW5kIEFjdGlvblxuICogQHJldHVybnMge1NPUmVmcmVzaFN0cmF0ZWd5IHwgdW5kZWZpbmVkfSBSZXR1cm5zIHJlZnJlc2ggc3RyYXRlZ2llcyB0byB1c2UgZm9yIHRoZSBpbnRlbnQuXG4gKi9cbmNvbnN0IGdldFJlZnJlc2hTdHJhdGVneUZvckludGVudCA9IGZ1bmN0aW9uKFxuXHRyZWZyZXNoU3RyYXRlZ2llczogUmVmcmVzaFN0cmF0ZWdpZXMsXG5cdHNlbWFudGljT2JqZWN0Pzogc3RyaW5nLFxuXHRhY3Rpb24/OiBzdHJpbmdcbik6IFNPUmVmcmVzaFN0cmF0ZWd5IHwgdW5kZWZpbmVkIHtcblx0Y29uc3Qgc29BY3Rpb24gPSBzZW1hbnRpY09iamVjdCAmJiBhY3Rpb24gJiYgc2VtYW50aWNPYmplY3QgKyBcIi1cIiArIGFjdGlvbjtcblx0Y29uc3QgaW50ZW50cyA9IHJlZnJlc2hTdHJhdGVnaWVzLmludGVudHM7XG5cdGNvbnN0IHNvQWN0aW9uSW50ZW50TWF0Y2ggPSBpbnRlbnRzICYmIHNvQWN0aW9uICYmIGludGVudHNbc29BY3Rpb25dO1xuXHRjb25zdCBzb0ludGVudE1hdGNoID0gIXNvQWN0aW9uSW50ZW50TWF0Y2ggJiYgaW50ZW50cyAmJiBzZW1hbnRpY09iamVjdCAmJiBpbnRlbnRzW3NlbWFudGljT2JqZWN0XTtcblxuXHRyZXR1cm4gc29BY3Rpb25JbnRlbnRNYXRjaCB8fCBzb0ludGVudE1hdGNoIHx8IHJlZnJlc2hTdHJhdGVnaWVzPy5kZWZhdWx0QmVoYXZpb3IgfHwgcmVmcmVzaFN0cmF0ZWdpZXM/Ll9mZURlZmF1bHQ7XG59O1xuLyoqXG4gKiBTdG9yZSBjb250cm9sIHJlZnJlc2ggc3RyYXRlZ3kgZm9yIGhhc2ggaW4gdGhlIGludGVybmFsIG1vZGVsLlxuICpcbiAqIEBwYXJhbSB7Q29udHJvbH0gY29udHJvbCBDb250cm9sIGZvciB0aGUgcmVmcmVzaCBzdHJhdGVneVxuICogQHBhcmFtIHtTT0FjdGlvbn0gaGFzaCBTaGVsbCBoYXNoIG9iamVjdFxuICovXG5jb25zdCBzdG9yZUNvbnRyb2xSZWZyZXNoU3RyYXRlZ3lGb3JIYXNoID0gZnVuY3Rpb24oY29udHJvbDogQ29udHJvbCwgaGFzaDogU09BY3Rpb24pOiB2b2lkIHtcblx0aWYgKGNvbnRyb2wgJiYgY29udHJvbC5nZXRNb2RlbChcInZpZXdEYXRhXCIpICYmIGNvbnRyb2wuZ2V0TW9kZWwoXCJpbnRlcm5hbFwiKSkge1xuXHRcdGNvbnN0IHZpZXdEYXRhID0gY29udHJvbC5nZXRNb2RlbChcInZpZXdEYXRhXCIpO1xuXHRcdGNvbnN0IHJlZnJlc2hTdHJhdGVnaWVzOiBSZWZyZXNoU3RyYXRlZ2llcyA9IHZpZXdEYXRhLmdldFByb3BlcnR5KFBBVEhfVE9fU1RPUkUpO1xuXHRcdGlmIChyZWZyZXNoU3RyYXRlZ2llcykge1xuXHRcdFx0Y29uc3QgaW50ZXJuYWxNb2RlbCA9IGNvbnRyb2wuZ2V0TW9kZWwoXCJpbnRlcm5hbFwiKTtcblx0XHRcdGNvbnN0IHJlZnJlc2hTdHJhdGVneTogU09SZWZyZXNoU3RyYXRlZ3kgfCB1bmRlZmluZWQgPSBLZWVwQWxpdmVIZWxwZXIuZ2V0UmVmcmVzaFN0cmF0ZWd5Rm9ySW50ZW50KFxuXHRcdFx0XHRyZWZyZXNoU3RyYXRlZ2llcyxcblx0XHRcdFx0aGFzaD8uc2VtYW50aWNPYmplY3QsXG5cdFx0XHRcdGhhc2g/LmFjdGlvblxuXHRcdFx0KTtcblx0XHRcdChpbnRlcm5hbE1vZGVsIGFzIEpTT05Nb2RlbDx7fT4pLnNldFByb3BlcnR5KFBBVEhfVE9fU1RPUkUsIHJlZnJlc2hTdHJhdGVneSk7XG5cdFx0fVxuXHR9XG59O1xuXG4vKipcbiAqIE1ldGhvZCB0byByZWZyZXNoIGFuZCByZXN0b3JlIHRoZSB2aWV3IGlmIG5lY2Nlc3NhcnkuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IHZpZXcgQ29udHJvbCBmb3IgdGhlIHJlZnJlc2ggc3RyYXRlZ3lcbiAqIEByZXR1cm5zIHtvYmplY3R9IEEgcHJvbWlzZSBhZnRlciB2aWV3IHJlZnJlc2ggYW5kIHJlc3RvcmUgYXJlIHRyaWdnZXJlZFxuICovXG5jb25zdCByZXN0b3JlVmlldyA9IGZ1bmN0aW9uKHZpZXc6IFZpZXcpOiBQcm9taXNlPGFueT4ge1xuXHRjb25zdCBpbnRlcm5hbE1vZGVsQ29udGV4dCA9IHZpZXcuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKTtcblx0Y29uc3QgY29udHJvbGxlciA9IHZpZXcuZ2V0Q29udHJvbGxlcigpO1xuXHRjb25zdCB2aWV3U3RhdGUgPSAoY29udHJvbGxlciBhcyBhbnkpPy52aWV3U3RhdGU7XG5cdGxldCByZWZyZXNoQmluZGluZ3MgPSBQcm9taXNlLnJlc29sdmUoKTtcblx0aWYgKGludGVybmFsTW9kZWxDb250ZXh0LmdldFByb3BlcnR5KFwicmVzdG9yZVN0YXR1c1wiKSA9PT0gXCJwZW5kaW5nXCIpIHtcblx0XHRpZiAodmlld1N0YXRlLnJlZnJlc2hWaWV3QmluZGluZ3MpIHtcblx0XHRcdHJlZnJlc2hCaW5kaW5ncyA9IHZpZXdTdGF0ZS5yZWZyZXNoVmlld0JpbmRpbmdzKCk7XG5cdFx0XHRyZWZyZXNoQmluZGluZ3Ncblx0XHRcdFx0LnRoZW4oZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0TG9nLmluZm8oXCJGRSBWNDogUmVmcmVzaCB3YXMgdHJpZ2dlcmVkIHN1Y2Nlc3NmdWxsOiBcIiArIHZpZXcuZ2V0SWQoKSk7XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5jYXRjaChmdW5jdGlvbihlcnIpIHtcblx0XHRcdFx0XHRMb2cud2FybmluZyhcIkZFIFY0OiBSZWZyZXNoIHdhcyB1bnN1Y2Nlc3NmdWxsOiBcIiArIHZpZXcuZ2V0SWQoKSwgZXJyKTtcblx0XHRcdFx0fSk7XG5cdFx0fVxuXHRcdHJlZnJlc2hCaW5kaW5ncyA9IHJlZnJlc2hCaW5kaW5nc1xuXHRcdFx0LnRoZW4oZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHZpZXdTdGF0ZS5vblJlc3RvcmUoKTtcblx0XHRcdFx0aW50ZXJuYWxNb2RlbENvbnRleHQuc2V0UHJvcGVydHkoXCJyZXN0b3JlU3RhdHVzXCIsIFwiZG9uZVwiKTtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24oZXJyb3IpIHtcblx0XHRcdFx0TG9nLndhcm5pbmcoXCJGRSBWNDogUmVzdG9yZSB3YXMgdW5zdWNjZXNzZnVsbDogXCIgKyB2aWV3LmdldElkKCksIGVycm9yKTtcblx0XHRcdH0pO1xuXHR9XG5cdHJldHVybiByZWZyZXNoQmluZGluZ3M7XG59O1xuXG4vKipcbiAqIGhlbHBlciBjbGFzcyBmb3IgS2VlcEFsaXZlIGZlYXR1cmUgaW4gc2FwLmZlLlxuICovXG5jb25zdCBLZWVwQWxpdmVIZWxwZXIgPSB7XG5cdGdldENvbnRyb2xzRm9yUmVmcmVzaCxcblx0Z2V0Q29udHJvbFJlZnJlc2hTdHJhdGVneUZvckNvbnRleHRQYXRoLFxuXHRnZXRWaWV3UmVmcmVzaEluZm8sXG5cdGdldFJlZnJlc2hTdHJhdGVneUZvckludGVudCxcblx0c3RvcmVDb250cm9sUmVmcmVzaFN0cmF0ZWd5Rm9ySGFzaCxcblx0cmVzdG9yZVZpZXdcbn07XG5leHBvcnQgZGVmYXVsdCBLZWVwQWxpdmVIZWxwZXI7XG4iXX0=
211
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIktlZXBBbGl2ZUhlbHBlci50cyJdLCJuYW1lcyI6WyJfZm5TaW1wbGlmeUVudGl0eVNldFBhdGgiLCJtZXRhTW9kZWwiLCJlbnRpdHlTZXRQYXRoVG9Vc2UiLCJlbnRpdHlTZXRQYXRoIiwiZ2V0RW50aXR5U2V0UGF0aCIsImVudGl0eVNldCIsImluZGV4T2YiLCJnZXRPYmplY3QiLCJfZm5Jc0FwcGxpY2FibGUiLCJwcmltYXJ5UGF0aCIsImtleSIsInN0cmF0ZWd5IiwiUmVmcmVzaFN0cmF0ZWd5VHlwZSIsIkluY2x1ZGluZ0RlcGVuZGVudHMiLCJzdGFydHNXaXRoIiwiX2lzUGF0aEFwcGxpY2FibGVUb0NvbnRleHRQYXRoIiwiY29udGV4dFBhdGgiLCJwYXRoIiwiY29udGV4dFBhdGhUb0NoZWNrIiwicGF0aFRvQ2hlY2siLCJnZXRDb250cm9sc0ZvclJlZnJlc2giLCJ2aWV3IiwiY29udHJvbHMiLCJjb250cm9sc0ZvclJlZnJlc2giLCJnZXRNb2RlbCIsImdldE1ldGFNb2RlbCIsImludGVybmFsTW9kZWwiLCJyZWZyZXNoU3RyYXRlZ3kiLCJnZXRQcm9wZXJ0eSIsIlBBVEhfVE9fU1RPUkUiLCJmb3JFYWNoIiwiY29udHJvbCIsImRhdGEiLCJwdXNoIiwiZ2V0Q29udHJvbFJlZnJlc2hTdHJhdGVneUZvckNvbnRleHRQYXRoIiwic3RyYXRlZ3lUb0NoZWNrIiwiZ2V0Vmlld1JlZnJlc2hJbmZvIiwidmlld0RhdGEiLCJnZXRWaWV3RGF0YSIsIktlZXBBbGl2ZUhlbHBlciIsImdldFJlZnJlc2hTdHJhdGVneUZvckludGVudCIsInJlZnJlc2hTdHJhdGVnaWVzIiwic2VtYW50aWNPYmplY3QiLCJhY3Rpb24iLCJzb0FjdGlvbiIsImludGVudHMiLCJzb0FjdGlvbkludGVudE1hdGNoIiwic29JbnRlbnRNYXRjaCIsImRlZmF1bHRCZWhhdmlvciIsIl9mZURlZmF1bHQiLCJzdG9yZUNvbnRyb2xSZWZyZXNoU3RyYXRlZ3lGb3JIYXNoIiwiaGFzaCIsInNldFByb3BlcnR5IiwicmVzdG9yZVZpZXciLCJpbnRlcm5hbE1vZGVsQ29udGV4dCIsImdldEJpbmRpbmdDb250ZXh0IiwiY29udHJvbGxlciIsImdldENvbnRyb2xsZXIiLCJ2aWV3U3RhdGUiLCJyZWZyZXNoQmluZGluZ3MiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlZnJlc2hWaWV3QmluZGluZ3MiLCJ0aGVuIiwiTG9nIiwiaW5mbyIsImdldElkIiwiY2F0Y2giLCJlcnIiLCJ3YXJuaW5nIiwib25SZXN0b3JlIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FBYUE7QUFDQSxNQUFNQSx3QkFBd0IsR0FBRyxVQUFTQyxTQUFULEVBQW9DQyxrQkFBcEMsRUFBd0U7QUFDeEcsUUFBTUMsYUFBYSxHQUFHQyxnQkFBZ0IsQ0FBQ0Ysa0JBQUQsQ0FBdEM7QUFDQSxRQUFNRyxTQUFTLEdBQUdGLGFBQWEsQ0FBQ0csT0FBZCxDQUFzQiw0QkFBdEIsSUFBc0QsQ0FBQyxDQUF2RCxJQUE0REwsU0FBUyxDQUFDTSxTQUFWLENBQW9CSixhQUFwQixDQUE5RTtBQUNBLFdBQU9FLFNBQVMsR0FBRyxNQUFNQSxTQUFULEdBQXFCSCxrQkFBckM7QUFDQSxHQUpEOztBQUtBLE1BQU1NLGVBQWUsR0FBRyxVQUFTQyxXQUFULEVBQThCQyxHQUE5QixFQUEyQ0MsUUFBM0MsRUFBbUY7QUFDMUcsV0FBT0YsV0FBVyxLQUFLQyxHQUFoQixJQUF3QkMsUUFBUSxLQUFLQyxtQkFBbUIsQ0FBQ0MsbUJBQWpDLElBQXdESixXQUFXLENBQUNLLFVBQVosQ0FBdUJKLEdBQXZCLENBQXZGO0FBQ0EsR0FGRDtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsTUFBTUssOEJBQThCLEdBQUcsVUFDdENkLFNBRHNDLEVBRXRDZSxXQUZzQyxFQUd0Q0MsSUFIc0MsRUFJdENOLFFBSnNDLEVBSzVCO0FBQ1YsUUFBSU8sa0JBQWtCLEdBQUdGLFdBQVcsQ0FBQ0Ys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dkJFLElBQUFBLGtCQUFrQixFQUFsQkEsa0JBSHVCO0FBSXZCSSxJQUFBQSwyQkFBMkIsRUFBM0JBLDJCQUp1QjtBQUt2QlUsSUFBQUEsa0NBQWtDLEVBQWxDQSxrQ0FMdUI7QUFNdkJHLElBQUFBLFdBQVcsRUFBWEE7QUFOdUIsR0FBeEI7U0FRZWQsZSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJvbCB9IGZyb20gXCJzYXAvdWkvY29yZVwiO1xuaW1wb3J0IHsgVmlldyB9IGZyb20gXCJzYXAvdWkvY29yZS9tdmNcIjtcbmltcG9ydCB7IExvZyB9IGZyb20gXCJzYXAvYmFzZVwiO1xuaW1wb3J0IHsgT0RhdGFNZXRhTW9kZWwgfSBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0XCI7XG5pbXBvcnQgeyBnZXRFbnRpdHlTZXRQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB7IEJhc2VNYW5pZmVzdFNldHRpbmdzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWFuaWZlc3RTZXR0aW5nc1wiO1xuaW1wb3J0IHsgSlNPTk1vZGVsIH0gZnJvbSBcInNhcC91aS9tb2RlbC9qc29uXCI7XG5pbXBvcnQge1xuXHRSZWZyZXNoU3RyYXRlZ3lUeXBlLFxuXHRTT1JlZnJlc2hTdHJhdGVneSxcblx0UmVmcmVzaFN0cmF0ZWdpZXMsXG5cdFBBVEhfVE9fU1RPUkUsXG5cdFNPQWN0aW9uXG59IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0tlZXBBbGl2ZVJlZnJlc2hUeXBlc1wiO1xuXG4vLyBQcml2YXRlIGZ1bmN0aW9ucyAtIHN0YXJ0XG5jb25zdCBfZm5TaW1wbGlmeUVudGl0eVNldFBhdGggPSBmdW5jdGlvbihtZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsLCBlbnRpdHlTZXRQYXRoVG9Vc2U6IHN0cmluZyk6IHN0cmluZyB7XG5cdGNvbnN0IGVudGl0eVNldFBhdGggPSBnZXRFbnRpdHlTZXRQYXRoKGVudGl0eVNldFBhdGhUb1VzZSk7XG5cdGNvbnN0IGVudGl0eVNldCA9IGVudGl0eVNldFBhdGguaW5kZXhPZihcIiROYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5nXCIpID4gLTEgJiYgbWV0YU1vZGVsLmdldE9iamVjdChlbnRpdHlTZXRQYXRoKTtcblx0cmV0dXJuIGVudGl0eVNldCA/IFwiL1wiICsgZW50aXR5U2V0IDogZW50aXR5U2V0UGF0aFRvVXNlO1xufTtcbmNvbnN0IF9mbklzQXBwbGljYWJsZSA9IGZ1bmN0aW9uKHByaW1hcnlQYXRoOiBzdHJpbmcsIGtleTogc3RyaW5nLCBzdHJhdGVneTogUmVmcmVzaFN0cmF0ZWd5VHlwZSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gcHJpbWFyeVBhdGggPT09IGtleSB8fCAoc3RyYXRlZ3kgPT09IFJlZnJlc2hTdHJhdGVneVR5cGUuSW5jbHVkaW5nRGVwZW5kZW50cyAmJiBwcmltYXJ5UGF0aC5zdGFydHNXaXRoKGtleSkpO1xufTtcbi8qKlxuICogQ2hlY2sgaWYgZ2l2ZW4gcGF0aCByZXNpZGVzIGluIHRoZSBjb250ZXh0IHBhdGggcHJvdmlkZWQuXG4gKlxuICogQHBhcmFtIHtPRGF0YU1ldGFNb2RlbH0gbWV0YU1vZGVsIE1ldGFNb2RlbCB0byBiZSB1c2VkXG4gKiBAcGFyYW0ge3N0cmluZ30gY29udGV4dFBhdGggQ29udGV4dCBwYXRoIHRvIGJlIHVzZWRcbiAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFBhdGggdG8gYmUgdXNlZFxuICogQHBhcmFtIHtSZWZyZXNoU3RyYXRlZ3lUeXBlfSBzdHJhdGVneSBTdHJhdGVneSwgaXQgY291bGQgYmUgJ3NlbGYnIHwgJ2luY2x1ZGluZ0RlcGVuZGVudHMnXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb250ZXh0IHBhdGggaXMgYXBwbGljYWJsZS5cbiAqL1xuY29uc3QgX2lzUGF0aEFwcGxpY2FibGVUb0NvbnRleHRQYXRoID0gZnVuY3Rpb24oXG5cdG1ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwsXG5cdGNvbnRleHRQYXRoOiBzdHJpbmcsXG5cdHBhdGg6IHN0cmluZyxcblx0c3RyYXRlZ3k6IFJlZnJlc2hTdHJhdGVneVR5cGVcbik6IGJvb2xlYW4ge1xuXHRsZXQgY29udGV4dFBhdGhUb0NoZWNrID0gY29udGV4dFBhdGguc3RhcnRzV2l0aChcIi9cIikgPyBjb250ZXh0UGF0aCA6IFwiL1wiICsgY29udGV4dFBhdGgsXG5cdFx0cGF0aFRvQ2hlY2sgPSBwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpID8gcGF0aCA6IFwiL1wiICsgcGF0aDtcblx0aWYgKCFfZm5Jc0FwcGxpY2FibGUoY29udGV4dFBhdGhUb0NoZWNrLCBwYXRoVG9DaGVjaywgc3RyYXRlZ3kpKSB7XG5cdFx0Y29udGV4dFBhdGhUb0NoZWNrID0gX2ZuU2ltcGxpZnlFbnRpdHlTZXRQYXRoKG1ldGFNb2RlbCwgY29udGV4dFBhdGhUb0NoZWNrKTtcblx0XHRpZiAoIV9mbklzQXBwbGljYWJsZShjb250ZXh0UGF0aFRvQ2hlY2ssIHBhdGhUb0NoZWNrLCBzdHJhdGVneSkpIHtcblx0XHRcdHBhdGhUb0NoZWNrID0gX2ZuU2ltcGxpZnlFbnRpdHlTZXRQYXRoKG1ldGFNb2RlbCwgcGF0aFRvQ2hlY2spO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIF9mbklzQXBwbGljYWJsZShjb250ZXh0UGF0aFRvQ2hlY2ssIHBhdGhUb0NoZWNrLCBzdHJhdGVneSk7XG59O1xuLy8gUHJpdmF0ZSBmdW5jdGlvbnMgLSBlbmRcbi8qKlxuICogR2V0IGNvbnRyb2xzIHRvIHJlZnJlc2ggaW4gYSB2aWV3LlxuICpcbiAqIEBwYXJhbSB7Vmlld30gdmlldyBWaWV3IG9mIHRoZSBjb250cm9sc1xuICogQHBhcmFtIHtDb250cm9sW119IGNvbnRyb2xzIENvbnRleHQgcGF0aCB0byBiZSB1c2VkXG4gKiBAcmV0dXJucyB7Q29udHJvbFtdfSBSZXR1cm5zIGNvbnRyb2xzIHRoYXQgbmVlZCB0byBiZSByZWZyZXNoZWQuXG4gKi9cbmNvbnN0IGdldENvbnRyb2xzRm9yUmVmcmVzaCA9IGZ1bmN0aW9uKHZpZXc6IFZpZXcsIGNvbnRyb2xzOiBDb250cm9sW10pOiBDb250cm9sW10ge1xuXHRjb25zdCBjb250cm9sc0ZvclJlZnJlc2g6IENvbnRyb2xbXSA9IFtdO1xuXHRjb25zdCBtZXRhTW9kZWwgPSB2aWV3LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCkgYXMgT0RhdGFNZXRhTW9kZWw7XG5cdGNvbnN0IGludGVybmFsTW9kZWwgPSB2aWV3LmdldE1vZGVsKFwiaW50ZXJuYWxcIik7XG5cdGNvbnN0IHJlZnJlc2hTdHJhdGVneSA9IGludGVybmFsTW9kZWwuZ2V0UHJvcGVydHkoUEFUSF9UT19TVE9SRSkgfHwge307XG5cdGlmIChjb250cm9scykge1xuXHRcdGNvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24oY29udHJvbCkge1xuXHRcdFx0Y29uc3QgY29udGV4dFBhdGggPSBjb250cm9sLmRhdGEoXCJ0YXJnZXRDb2xsZWN0aW9uUGF0aFwiKTtcblx0XHRcdGZvciAoY29uc3Qga2V5IGluIHJlZnJlc2hTdHJhdGVneSkge1xuXHRcdFx0XHRjb25zdCBzdHJhdGVneSA9IHJlZnJlc2hTdHJhdGVneVtrZXldO1xuXHRcdFx0XHRpZiAoY29udHJvbHNGb3JSZWZyZXNoLmluZGV4T2YoY29udHJvbCkgPT09IC0xICYmIF9pc1BhdGhBcHBsaWNhYmxlVG9Db250ZXh0UGF0aChtZXRhTW9kZWwsIGNvbnRleHRQYXRoLCBrZXksIHN0cmF0ZWd5KSkge1xuXHRcdFx0XHRcdGNvbnRyb2xzRm9yUmVmcmVzaC5wdXNoKGNvbnRyb2wpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cmV0dXJuIGNvbnRyb2xzRm9yUmVmcmVzaDtcbn07XG4vKipcbiAqIEdldCByZWZyZXNoIHN0cmF0ZWd5IGZvciB0aGUgY29udHJvbCBmb3IgYSBjb250ZXh0IHBhdGguXG4gKlxuICogQHBhcmFtIHtDb250cm9sfSBjb250cm9sIENvbnRyb2wgZnJvbSB3aGljaCByZWZyZXNoIGluZm8gaXMgbmVlZGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gY29udGV4dFBhdGggQ29udGV4dFBhdGggZm9yIHByb3Blcml0aWVzXG4gKiBAcmV0dXJucyB7UmVmcmVzaFN0cmF0ZWd5VHlwZX0gUmV0dXJucyBzdHJhdGVneSBmb3IgY29udHJvbCByZWZyZXNoLlxuICovXG5jb25zdCBnZXRDb250cm9sUmVmcmVzaFN0cmF0ZWd5Rm9yQ29udGV4dFBhdGggPSBmdW5jdGlvbihjb250cm9sOiBDb250cm9sLCBjb250ZXh0UGF0aDogc3RyaW5nKTogUmVmcmVzaFN0cmF0ZWd5VHlwZSB8IHVuZGVmaW5lZCB7XG5cdGNvbnN0IG1ldGFNb2RlbCA9IGNvbnRyb2wuZ2V0TW9kZWwoKS5nZXRNZXRhTW9kZWwoKSBhcyBPRGF0YU1ldGFNb2RlbDtcblx0Y29uc3QgaW50ZXJuYWxNb2RlbCA9IGNvbnRyb2wuZ2V0TW9kZWwoXCJpbnRlcm5hbFwiKTtcblx0Y29uc3QgcmVmcmVzaFN0cmF0ZWd5ID0gaW50ZXJuYWxNb2RlbC5nZXRQcm9wZXJ0eShQQVRIX1RPX1NUT1JFKSB8fCB7fTtcblx0bGV0IHN0cmF0ZWd5O1xuXHRpZiAoY29udGV4dFBhdGgpIHtcblx0XHRmb3IgKGNvbnN0IGtleSBpbiByZWZyZXNoU3RyYXRlZ3kpIHtcblx0XHRcdGNvbnN0IHN0cmF0ZWd5VG9DaGVjayA9IHJlZnJlc2hTdHJhdGVneVtrZXldO1xuXHRcdFx0aWYgKF9pc1BhdGhBcHBsaWNhYmxlVG9Db250ZXh0UGF0aChtZXRhTW9kZWwsIGNvbnRleHRQYXRoLCBrZXksIHN0cmF0ZWd5VG9DaGVjaykpIHtcblx0XHRcdFx0c3RyYXRlZ3kgPSBzdHJhdGVneVRvQ2hlY2s7XG5cdFx0XHRcdGlmIChzdHJhdGVneSA9PT0gXCJpbmNsdWRpbmdEZXBlbmRlbnRzXCIpIHtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRyZXR1cm4gc3RyYXRlZ3k7XG59O1xuLyoqXG4gKiBHZXQgcmVmcmVzaCBpbmZvIGZyb20gdmlldy5cbiAqXG4gKiBAcGFyYW0ge1ZpZXd9IHZpZXcgVmlldyBmcm9tIHdoaWNoIHJlZnJlc2ggaW5mbyBpcyBuZWVkZWRcbiAqIEByZXR1cm5zIHtSZWZyZXNoU3RyYXRlZ3lUeXBlIHwgdW5kZWZpbmVkfSBSZXR1cm5zIHN0cmF0ZWd5IGZvciB2aWV3IHJlZnJlc2guXG4gKi9cbmNvbnN0IGdldFZpZXdSZWZyZXNoSW5mbyA9IGZ1bmN0aW9uKHZpZXc6IFZpZXcpOiBSZWZyZXNoU3RyYXRlZ3lUeXBlIHwgdW5kZWZpbmVkIHtcblx0Y29uc3Qgdmlld0RhdGEgPSB2aWV3LmdldFZpZXdEYXRhKCkgYXMgQmFzZU1hbmlmZXN0U2V0dGluZ3MsXG5cdFx0Y29udGV4dFBhdGggPSB2aWV3RGF0YSAmJiAodmlld0RhdGE/LmNvbnRleHRQYXRoIHx8IFwiL1wiICsgdmlld0RhdGE/LmVudGl0eVNldCk7XG5cdHJldHVybiBLZWVwQWxpdmVIZWxwZXIuZ2V0Q29udHJvbFJlZnJlc2hTdHJhdGVneUZvckNvbnRleHRQYXRoKHZpZXcsIGNvbnRleHRQYXRoKTtcbn07XG5cbi8qKlxuICogR2V0IHJlZnJlc2ggc3RyYXRlZ3kgZm9yIGFuIGludGVudC5cbiAqXG4gKiBAcGFyYW0ge1JlZnJlc2hTdHJhdGVnaWVzfSByZWZyZXNoU3RyYXRlZ2llcyBSZWZyZXNoU3RyYXRlZ2llcyB0byBjb25zaWRlclxuICogQHBhcmFtIHtzdHJpbmd9IHNlbWFudGljT2JqZWN0IE91dGJvdW5kIFNlbWFudGljIE9iamVjdFxuICogQHBhcmFtIHtzdHJpbmd9IGFjdGlvbiBPdXRib3VuZCBBY3Rpb25cbiAqIEByZXR1cm5zIHtTT1JlZnJlc2hTdHJhdGVneSB8IHVuZGVmaW5lZH0gUmV0dXJucyByZWZyZXNoIHN0cmF0ZWdpZXMgdG8gdXNlIGZvciB0aGUgaW50ZW50LlxuICovXG5jb25zdCBnZXRSZWZyZXNoU3RyYXRlZ3lGb3JJbnRlbnQgPSBmdW5jdGlvbihcblx0cmVmcmVzaFN0cmF0ZWdpZXM6IFJlZnJlc2hTdHJhdGVnaWVzLFxuXHRzZW1hbnRpY09iamVjdD86IHN0cmluZyxcblx0YWN0aW9uPzogc3RyaW5nXG4pOiBTT1JlZnJlc2hTdHJhdGVneSB8IHVuZGVmaW5lZCB7XG5cdGNvbnN0IHNvQWN0aW9uID0gc2VtYW50aWNPYmplY3QgJiYgYWN0aW9uICYmIHNlbWFudGljT2JqZWN0ICsgXCItXCIgKyBhY3Rpb247XG5cdGNvbnN0IGludGVudHMgPSByZWZyZXNoU3RyYXRlZ2llcy5pbnRlbnRzO1xuXHRjb25zdCBzb0FjdGlvbkludGVudE1hdGNoID0gaW50ZW50cyAmJiBzb0FjdGlvbiAmJiBpbnRlbnRzW3NvQWN0aW9uXTtcblx0Y29uc3Qgc29JbnRlbnRNYXRjaCA9ICFzb0FjdGlvbkludGVudE1hdGNoICYmIGludGVudHMgJiYgc2VtYW50aWNPYmplY3QgJiYgaW50ZW50c1tzZW1hbnRpY09iamVjdF07XG5cblx0cmV0dXJuIHNvQWN0aW9uSW50ZW50TWF0Y2ggfHwgc29JbnRlbnRNYXRjaCB8fCByZWZyZXNoU3RyYXRlZ2llcz8uZGVmYXVsdEJlaGF2aW9yIHx8IHJlZnJlc2hTdHJhdGVnaWVzPy5fZmVEZWZhdWx0O1xufTtcbi8qKlxuICogU3RvcmUgY29udHJvbCByZWZyZXNoIHN0cmF0ZWd5IGZvciBoYXNoIGluIHRoZSBpbnRlcm5hbCBtb2RlbC5cbiAqXG4gKiBAcGFyYW0ge0NvbnRyb2x9IGNvbnRyb2wgQ29udHJvbCBmb3IgdGhlIHJlZnJlc2ggc3RyYXRlZ3lcbiAqIEBwYXJhbSB7U09BY3Rpb259IGhhc2ggU2hlbGwgaGFzaCBvYmplY3RcbiAqL1xuY29uc3Qgc3RvcmVDb250cm9sUmVmcmVzaFN0cmF0ZWd5Rm9ySGFzaCA9IGZ1bmN0aW9uKGNvbnRyb2w6IENvbnRyb2wsIGhhc2g6IFNPQWN0aW9uKTogdm9pZCB7XG5cdGlmIChjb250cm9sICYmIGNvbnRyb2wuZ2V0TW9kZWwoXCJ2aWV3RGF0YVwiKSAmJiBjb250cm9sLmdldE1vZGVsKFwiaW50ZXJuYWxcIikpIHtcblx0XHRjb25zdCB2aWV3RGF0YSA9IGNvbnRyb2wuZ2V0TW9kZWwoXCJ2aWV3RGF0YVwiKTtcblx0XHRjb25zdCByZWZyZXNoU3RyYXRlZ2llczogUmVmcmVzaFN0cmF0ZWdpZXMgPSB2aWV3RGF0YS5nZXRQcm9wZXJ0eShQQVRIX1RPX1NUT1JFKTtcblx0XHRpZiAocmVmcmVzaFN0cmF0ZWdpZXMpIHtcblx0XHRcdGNvbnN0IGludGVybmFsTW9kZWwgPSBjb250cm9sLmdldE1vZGVsKFwiaW50ZXJuYWxcIik7XG5cdFx0XHRjb25zdCByZWZyZXNoU3RyYXRlZ3k6IFNPUmVmcmVzaFN0cmF0ZWd5IHwgdW5kZWZpbmVkID0gS2VlcEFsaXZlSGVscGVyLmdldFJlZnJlc2hTdHJhdGVneUZvckludGVudChcblx0XHRcdFx0cmVmcmVzaFN0cmF0ZWdpZXMsXG5cdFx0XHRcdGhhc2g/LnNlbWFudGljT2JqZWN0LFxuXHRcdFx0XHRoYXNoPy5hY3Rpb25cblx0XHRcdCk7XG5cdFx0XHQoaW50ZXJuYWxNb2RlbCBhcyBKU09OTW9kZWw8e30+KS5zZXRQcm9wZXJ0eShQQVRIX1RPX1NUT1JFLCByZWZyZXNoU3RyYXRlZ3kpO1xuXHRcdH1cblx0fVxufTtcblxuLyoqXG4gKiBNZXRob2QgdG8gcmVmcmVzaCBhbmQgcmVzdG9yZSB0aGUgdmlldyBpZiBuZWNjZXNzYXJ5LlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSB2aWV3IENvbnRyb2wgZm9yIHRoZSByZWZyZXNoIHN0cmF0ZWd5XG4gKiBAcmV0dXJucyB7b2JqZWN0fSBBIHByb21pc2UgYWZ0ZXIgdmlldyByZWZyZXNoIGFuZCByZXN0b3JlIGFyZSB0cmlnZ2VyZWRcbiAqL1xuY29uc3QgcmVzdG9yZVZpZXcgPSBmdW5jdGlvbih2aWV3OiBWaWV3KTogUHJvbWlzZTxhbnk+IHtcblx0Y29uc3QgaW50ZXJuYWxNb2RlbENvbnRleHQgPSB2aWV3LmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIik7XG5cdGNvbnN0IGNvbnRyb2xsZXIgPSB2aWV3LmdldENvbnRyb2xsZXIoKTtcblx0Y29uc3Qgdmlld1N0YXRlID0gKGNvbnRyb2xsZXIgYXMgYW55KT8udmlld1N0YXRlO1xuXHRsZXQgcmVmcmVzaEJpbmRpbmdzID0gUHJvbWlzZS5yZXNvbHZlKCk7XG5cdGlmIChpbnRlcm5hbE1vZGVsQ29udGV4dCAmJiBpbnRlcm5hbE1vZGVsQ29udGV4dC5nZXRQcm9wZXJ0eShcInJlc3RvcmVTdGF0dXNcIikgPT09IFwicGVuZGluZ1wiKSB7XG5cdFx0aWYgKHZpZXdTdGF0ZS5yZWZyZXNoVmlld0JpbmRpbmdzKSB7XG5cdFx0XHRyZWZyZXNoQmluZGluZ3MgPSB2aWV3U3RhdGUucmVmcmVzaFZpZXdCaW5kaW5ncygpO1xuXHRcdFx0cmVmcmVzaEJpbmRpbmdzXG5cdFx0XHRcdC50aGVuKGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdExvZy5pbmZvKFwiRkUgVjQ6IFJlZnJlc2ggd2FzIHRyaWdnZXJlZCBzdWNjZXNzZnVsbDogXCIgKyB2aWV3LmdldElkKCkpO1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuY2F0Y2goZnVuY3Rpb24oZXJyKSB7XG5cdFx0XHRcdFx0TG9nLndhcm5pbmcoXCJGRSBWNDogUmVmcmVzaCB3YXMgdW5zdWNjZXNzZnVsbDogXCIgKyB2aWV3LmdldElkKCksIGVycik7XG5cdFx0XHRcdH0pO1xuXHRcdH1cblx0XHRyZWZyZXNoQmluZGluZ3MgPSByZWZyZXNoQmluZGluZ3Ncblx0XHRcdC50aGVuKGZ1bmN0aW9uKCkge1xuXHRcdFx0XHR2aWV3U3RhdGUub25SZXN0b3JlKCk7XG5cdFx0XHRcdGludGVybmFsTW9kZWxDb250ZXh0LnNldFByb3BlcnR5KFwicmVzdG9yZVN0YXR1c1wiLCBcImRvbmVcIik7XG5cdFx0XHR9KVxuXHRcdFx0LmNhdGNoKGZ1bmN0aW9uKGVycm9yKSB7XG5cdFx0XHRcdExvZy53YXJuaW5nKFwiRkUgVjQ6IFJlc3RvcmUgd2FzIHVuc3VjY2Vzc2Z1bGw6IFwiICsgdmlldy5nZXRJZCgpLCBlcnJvcik7XG5cdFx0XHR9KTtcblx0fVxuXHRyZXR1cm4gcmVmcmVzaEJpbmRpbmdzO1xufTtcblxuLyoqXG4gKiBoZWxwZXIgY2xhc3MgZm9yIEtlZXBBbGl2ZSBmZWF0dXJlIGluIHNhcC5mZS5cbiAqL1xuY29uc3QgS2VlcEFsaXZlSGVscGVyID0ge1xuXHRnZXRDb250cm9sc0ZvclJlZnJlc2gsXG5cdGdldENvbnRyb2xSZWZyZXNoU3RyYXRlZ3lGb3JDb250ZXh0UGF0aCxcblx0Z2V0Vmlld1JlZnJlc2hJbmZvLFxuXHRnZXRSZWZyZXNoU3RyYXRlZ3lGb3JJbnRlbnQsXG5cdHN0b3JlQ29udHJvbFJlZnJlc2hTdHJhdGVneUZvckhhc2gsXG5cdHJlc3RvcmVWaWV3XG59O1xuZXhwb3J0IGRlZmF1bHQgS2VlcEFsaXZlSGVscGVyO1xuIl19
@@ -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/base/Log","sap/fe/core/helpers/ModelHelper","sap/fe/core/helpers/KeepAliveRefreshTypes"],function(L,M,K){"use strict";var P=K.PATH_TO_STORE;var R=K.RefreshStrategyType;var g=M.getEntitySetPath;var _=function(m,i){var j=g(i);var k=j.indexOf("$NavigationPropertyBinding")>-1&&m.getObject(j);return k?"/"+k:i;};var a=function(p,k,i){return p===k||i===R.IncludingDependents&&p.startsWith(k);};var b=function(m,i,p,j){var k=i.startsWith("/")?i:"/"+i,l=p.startsWith("/")?p:"/"+p;if(!a(k,l,j)){k=_(m,k);if(!a(k,l,j)){l=_(m,l);}else{return true;}}return a(k,l,j);};var c=function(v,i){var j=[];var m=v.getModel().getMetaModel();var k=v.getModel("internal");var l=k.getProperty(P)||{};if(i){i.forEach(function(n){var o=n.data("targetCollectionPath");for(var p in l){var q=l[p];if(j.indexOf(n)===-1&&b(m,o,p,q)){j.push(n);}}});}return j;};var d=function(i,j){var m=i.getModel().getMetaModel();var k=i.getModel("internal");var l=k.getProperty(P)||{};var n;if(j){for(var o in l){var p=l[o];if(b(m,j,o,p)){n=p;if(n==="includingDependents"){break;}}}}return n;};var e=function(v){var i=v.getViewData(),j=i&&((i===null||i===void 0?void 0:i.contextPath)||"/"+(i===null||i===void 0?void 0:i.entitySet));return h.getControlRefreshStrategyForContextPath(v,j);};var f=function(i,j,k){var l=j&&k&&j+"-"+k;var m=i.intents;var n=m&&l&&m[l];var o=!n&&m&&j&&m[j];return n||o||(i===null||i===void 0?void 0:i.defaultBehavior)||(i===null||i===void 0?void 0:i._feDefault);};var s=function(i,j){if(i&&i.getModel("viewData")&&i.getModel("internal")){var v=i.getModel("viewData");var k=v.getProperty(P);if(k){var l=i.getModel("internal");var m=h.getRefreshStrategyForIntent(k,j===null||j===void 0?void 0:j.semanticObject,j===null||j===void 0?void 0:j.action);l.setProperty(P,m);}}};var r=function(v){var i=v.getBindingContext("internal");var j=v.getController();var k=j===null||j===void 0?void 0:j.viewState;var l=Promise.resolve();if(i.getProperty("restoreStatus")==="pending"){if(k.refreshViewBindings){l=k.refreshViewBindings();l.then(function(){L.info("FE V4: Refresh was triggered successfull: "+v.getId());}).catch(function(m){L.warning("FE V4: Refresh was unsuccessfull: "+v.getId(),m);});}l=l.then(function(){k.onRestore();i.setProperty("restoreStatus","done");}).catch(function(m){L.warning("FE V4: Restore was unsuccessfull: "+v.getId(),m);});}return l;};var h={getControlsForRefresh:c,getControlRefreshStrategyForContextPath:d,getViewRefreshInfo:e,getRefreshStrategyForIntent:f,storeControlRefreshStrategyForHash:s,restoreView:r};return h;},false);
5
+ sap.ui.define(["sap/base/Log","sap/fe/core/helpers/ModelHelper","sap/fe/core/helpers/KeepAliveRefreshTypes"],function(L,M,K){"use strict";var P=K.PATH_TO_STORE;var R=K.RefreshStrategyType;var g=M.getEntitySetPath;var _=function(m,i){var j=g(i);var k=j.indexOf("$NavigationPropertyBinding")>-1&&m.getObject(j);return k?"/"+k:i;};var a=function(p,k,i){return p===k||i===R.IncludingDependents&&p.startsWith(k);};var b=function(m,i,p,j){var k=i.startsWith("/")?i:"/"+i,l=p.startsWith("/")?p:"/"+p;if(!a(k,l,j)){k=_(m,k);if(!a(k,l,j)){l=_(m,l);}else{return true;}}return a(k,l,j);};var c=function(v,i){var j=[];var m=v.getModel().getMetaModel();var k=v.getModel("internal");var l=k.getProperty(P)||{};if(i){i.forEach(function(n){var o=n.data("targetCollectionPath");for(var p in l){var q=l[p];if(j.indexOf(n)===-1&&b(m,o,p,q)){j.push(n);}}});}return j;};var d=function(i,j){var m=i.getModel().getMetaModel();var k=i.getModel("internal");var l=k.getProperty(P)||{};var n;if(j){for(var o in l){var p=l[o];if(b(m,j,o,p)){n=p;if(n==="includingDependents"){break;}}}}return n;};var e=function(v){var i=v.getViewData(),j=i&&((i===null||i===void 0?void 0:i.contextPath)||"/"+(i===null||i===void 0?void 0:i.entitySet));return h.getControlRefreshStrategyForContextPath(v,j);};var f=function(i,j,k){var l=j&&k&&j+"-"+k;var m=i.intents;var n=m&&l&&m[l];var o=!n&&m&&j&&m[j];return n||o||(i===null||i===void 0?void 0:i.defaultBehavior)||(i===null||i===void 0?void 0:i._feDefault);};var s=function(i,j){if(i&&i.getModel("viewData")&&i.getModel("internal")){var v=i.getModel("viewData");var k=v.getProperty(P);if(k){var l=i.getModel("internal");var m=h.getRefreshStrategyForIntent(k,j===null||j===void 0?void 0:j.semanticObject,j===null||j===void 0?void 0:j.action);l.setProperty(P,m);}}};var r=function(v){var i=v.getBindingContext("internal");var j=v.getController();var k=j===null||j===void 0?void 0:j.viewState;var l=Promise.resolve();if(i&&i.getProperty("restoreStatus")==="pending"){if(k.refreshViewBindings){l=k.refreshViewBindings();l.then(function(){L.info("FE V4: Refresh was triggered successfull: "+v.getId());}).catch(function(m){L.warning("FE V4: Refresh was unsuccessfull: "+v.getId(),m);});}l=l.then(function(){k.onRestore();i.setProperty("restoreStatus","done");}).catch(function(m){L.warning("FE V4: Restore was unsuccessfull: "+v.getId(),m);});}return l;};var h={getControlsForRefresh:c,getControlRefreshStrategyForContextPath:d,getViewRefreshInfo:e,getRefreshStrategyForIntent:f,storeControlRefreshStrategyForHash:s,restoreView:r};return h;},false);
@@ -165,7 +165,7 @@ const restoreView = function(view: View): Promise<any> {
165
165
  const controller = view.getController();
166
166
  const viewState = (controller as any)?.viewState;
167
167
  let refreshBindings = Promise.resolve();
168
- if (internalModelContext.getProperty("restoreStatus") === "pending") {
168
+ if (internalModelContext && internalModelContext.getProperty("restoreStatus") === "pending") {
169
169
  if (viewState.refreshViewBindings) {
170
170
  refreshBindings = viewState.refreshViewBindings();
171
171
  refreshBindings