@sapui5/sap.fe.core 1.97.0 → 1.100.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 (306) hide show
  1. package/package.json +7 -4
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AnnotationHelper.js +309 -405
  4. package/src/sap/fe/core/AnnotationHelper.ts +315 -0
  5. package/src/sap/fe/core/AppComponent.js +389 -397
  6. package/src/sap/fe/core/AppComponent.ts +403 -0
  7. package/src/sap/fe/core/AppStateHandler.js +198 -181
  8. package/src/sap/fe/core/AppStateHandler.ts +171 -0
  9. package/src/sap/fe/core/BaseController.js +83 -58
  10. package/src/sap/fe/core/BaseController.ts +68 -0
  11. package/src/sap/fe/core/BusyLocker.js +105 -121
  12. package/src/sap/fe/core/BusyLocker.ts +98 -0
  13. package/src/sap/fe/core/CommonUtils.js +2164 -2379
  14. package/src/sap/fe/core/CommonUtils.ts +2177 -0
  15. package/src/sap/fe/core/ExtensionAPI.js +279 -266
  16. package/src/sap/fe/core/ExtensionAPI.ts +250 -0
  17. package/src/sap/fe/core/PageController.js +218 -125
  18. package/src/sap/fe/core/PageController.ts +129 -0
  19. package/src/sap/fe/core/RouterProxy.js +924 -807
  20. package/src/sap/fe/core/RouterProxy.ts +840 -0
  21. package/src/sap/fe/core/Synchronization.js +41 -35
  22. package/src/sap/fe/core/Synchronization.ts +29 -0
  23. package/src/sap/fe/core/TemplateComponent.js +173 -155
  24. package/src/sap/fe/core/TemplateComponent.ts +173 -0
  25. package/src/sap/fe/core/TemplateModel.js +79 -54
  26. package/src/sap/fe/core/TemplateModel.ts +63 -0
  27. package/src/sap/fe/core/TransactionHelper.js +1560 -1579
  28. package/src/sap/fe/core/TransactionHelper.ts +1717 -0
  29. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +392 -0
  30. package/src/sap/fe/core/actions/collaboration/ActivitySync.ts +355 -0
  31. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +136 -0
  32. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.ts +119 -0
  33. package/src/sap/fe/core/actions/collaboration/Manage.js +262 -0
  34. package/src/sap/fe/core/actions/collaboration/Manage.ts +244 -0
  35. package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +103 -0
  36. package/src/sap/fe/core/actions/collaboration/UserDetails.fragment.xml +13 -0
  37. package/src/sap/fe/core/actions/draft.js +521 -581
  38. package/src/sap/fe/core/actions/draft.ts +566 -0
  39. package/src/sap/fe/core/actions/messageHandling.js +564 -511
  40. package/src/sap/fe/core/actions/messageHandling.ts +552 -0
  41. package/src/sap/fe/core/actions/nonDraft.js +17 -19
  42. package/src/sap/fe/core/actions/nonDraft.ts +12 -0
  43. package/src/sap/fe/core/actions/operations.js +1093 -1211
  44. package/src/sap/fe/core/actions/operations.ts +1192 -0
  45. package/src/sap/fe/core/actions/sticky.js +114 -104
  46. package/src/sap/fe/core/actions/sticky.ts +119 -0
  47. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +70 -66
  48. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +65 -0
  49. package/src/sap/fe/core/controllerextensions/EditFlow.js +1594 -1701
  50. package/src/sap/fe/core/controllerextensions/EditFlow.ts +1672 -0
  51. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +80 -54
  52. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +61 -0
  53. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +719 -505
  54. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +783 -0
  55. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +797 -813
  56. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +803 -0
  57. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1005 -973
  58. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +978 -0
  59. package/src/sap/fe/core/controllerextensions/KPIManagement.js +530 -476
  60. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +137 -46
  61. package/src/sap/fe/core/controllerextensions/MassEdit.js +144 -0
  62. package/src/sap/fe/core/controllerextensions/MassEdit.ts +156 -0
  63. package/src/sap/fe/core/controllerextensions/MessageHandler.js +234 -232
  64. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +225 -0
  65. package/src/sap/fe/core/controllerextensions/PageReady.js +302 -337
  66. package/src/sap/fe/core/controllerextensions/PageReady.ts +23 -17
  67. package/src/sap/fe/core/controllerextensions/Paginator.js +189 -148
  68. package/src/sap/fe/core/controllerextensions/Paginator.ts +163 -0
  69. package/src/sap/fe/core/controllerextensions/Placeholder.js +158 -146
  70. package/src/sap/fe/core/controllerextensions/Placeholder.ts +151 -0
  71. package/src/sap/fe/core/controllerextensions/Routing.js +145 -106
  72. package/src/sap/fe/core/controllerextensions/Routing.ts +132 -0
  73. package/src/sap/fe/core/controllerextensions/RoutingListener.js +8 -6
  74. package/src/sap/fe/core/controllerextensions/RoutingListener.ts +3 -0
  75. package/src/sap/fe/core/controllerextensions/Share.js +220 -244
  76. package/src/sap/fe/core/controllerextensions/Share.ts +231 -0
  77. package/src/sap/fe/core/controllerextensions/SideEffects.js +593 -634
  78. package/src/sap/fe/core/controllerextensions/SideEffects.ts +29 -27
  79. package/src/sap/fe/core/controllerextensions/ViewState.js +789 -806
  80. package/src/sap/fe/core/controllerextensions/ViewState.ts +805 -0
  81. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +4 -3
  82. package/src/sap/fe/core/controls/ActionPartial.fragment.xml +2 -2
  83. package/src/sap/fe/core/controls/CommandExecution.js +68 -66
  84. package/src/sap/fe/core/controls/CommandExecution.ts +72 -0
  85. package/src/sap/fe/core/controls/ConditionalWrapper.js +91 -75
  86. package/src/sap/fe/core/controls/ConditionalWrapper.ts +83 -0
  87. package/src/sap/fe/core/controls/CustomQuickViewPage.js +131 -125
  88. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +126 -0
  89. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +105 -110
  90. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +101 -0
  91. package/src/sap/fe/core/controls/FieldWrapper.js +122 -140
  92. package/src/sap/fe/core/controls/FieldWrapper.ts +115 -0
  93. package/src/sap/fe/core/controls/FilterBar.js +163 -159
  94. package/src/sap/fe/core/controls/FilterBar.ts +143 -0
  95. package/src/sap/fe/core/controls/FormElementWrapper.js +46 -44
  96. package/src/sap/fe/core/controls/FormElementWrapper.ts +40 -0
  97. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +38 -42
  98. package/src/sap/fe/core/controls/MultiValueParameterDelegate.ts +31 -0
  99. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +2 -1
  100. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +127 -116
  101. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +98 -0
  102. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +242 -255
  103. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +245 -0
  104. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +151 -141
  105. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +125 -0
  106. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +336 -322
  107. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +337 -0
  108. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +106 -0
  109. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +79 -0
  110. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +70 -0
  111. package/src/sap/fe/core/converters/ConverterContext.js +348 -367
  112. package/src/sap/fe/core/converters/ConverterContext.ts +33 -19
  113. package/src/sap/fe/core/converters/ManifestSettings.js +12 -1
  114. package/src/sap/fe/core/converters/ManifestSettings.ts +16 -1
  115. package/src/sap/fe/core/converters/ManifestWrapper.js +354 -354
  116. package/src/sap/fe/core/converters/ManifestWrapper.ts +34 -6
  117. package/src/sap/fe/core/converters/MetaModelConverter.js +72 -9
  118. package/src/sap/fe/core/converters/MetaModelConverter.ts +75 -16
  119. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  120. package/src/sap/fe/core/converters/TemplateConverter.ts +4 -3
  121. package/src/sap/fe/core/converters/annotations/DataField.js +28 -14
  122. package/src/sap/fe/core/converters/annotations/DataField.ts +38 -14
  123. package/src/sap/fe/core/converters/common/AnnotationConverter.js +33 -21
  124. package/src/sap/fe/core/converters/controls/Common/Action.js +11 -2
  125. package/src/sap/fe/core/converters/controls/Common/Action.ts +8 -2
  126. package/src/sap/fe/core/converters/controls/Common/Chart.js +5 -3
  127. package/src/sap/fe/core/converters/controls/Common/Chart.ts +11 -3
  128. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +3 -3
  129. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +2 -2
  130. package/src/sap/fe/core/converters/controls/Common/Form.js +21 -11
  131. package/src/sap/fe/core/converters/controls/Common/Form.ts +28 -6
  132. package/src/sap/fe/core/converters/controls/Common/KPI.js +69 -4
  133. package/src/sap/fe/core/converters/controls/Common/KPI.ts +75 -2
  134. package/src/sap/fe/core/converters/controls/Common/Table.js +507 -408
  135. package/src/sap/fe/core/converters/controls/Common/Table.ts +618 -500
  136. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +592 -0
  137. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +718 -0
  138. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +465 -59
  139. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +462 -72
  140. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +2 -2
  141. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +1 -1
  142. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +17 -9
  143. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +24 -9
  144. package/src/sap/fe/core/converters/helpers/Aggregation.js +118 -121
  145. package/src/sap/fe/core/converters/helpers/Aggregation.ts +28 -5
  146. package/src/sap/fe/core/converters/helpers/BindingHelper.js +20 -6
  147. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +16 -4
  148. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +12 -1
  149. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +11 -0
  150. package/src/sap/fe/core/converters/helpers/IssueManager.js +7 -1
  151. package/src/sap/fe/core/converters/helpers/IssueManager.ts +6 -0
  152. package/src/sap/fe/core/converters/helpers/Key.js +42 -57
  153. package/src/sap/fe/core/converters/helpers/Key.ts +1 -1
  154. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +28 -7
  155. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +23 -6
  156. package/src/sap/fe/core/converters/templates/ListReportConverter.js +20 -7
  157. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +36 -14
  158. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +7 -5
  159. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +5 -1
  160. package/src/sap/fe/core/designtime/AppComponent.designtime.js +93 -90
  161. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +91 -0
  162. package/src/sap/fe/core/formatters/CollaborationFormatter.js +104 -0
  163. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +60 -0
  164. package/src/sap/fe/core/formatters/CriticalityFormatter.js +1 -1
  165. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +1 -1
  166. package/src/sap/fe/core/formatters/FPMFormatter.js +1 -1
  167. package/src/sap/fe/core/formatters/FPMFormatter.ts +4 -10
  168. package/src/sap/fe/core/formatters/KPIFormatter.js +1 -1
  169. package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -1
  170. package/src/sap/fe/core/formatters/TableFormatter.js +91 -29
  171. package/src/sap/fe/core/formatters/TableFormatter.ts +94 -28
  172. package/src/sap/fe/core/formatters/ValueFormatter.js +30 -5
  173. package/src/sap/fe/core/formatters/ValueFormatter.ts +30 -7
  174. package/src/sap/fe/core/fpm/Component.js +51 -54
  175. package/src/sap/fe/core/fpm/Component.ts +48 -0
  176. package/src/sap/fe/core/helpers/AppStartupHelper.js +373 -0
  177. package/src/sap/fe/core/helpers/AppStartupHelper.ts +417 -0
  178. package/src/sap/fe/core/helpers/BindingExpression.js +489 -442
  179. package/src/sap/fe/core/helpers/BindingExpression.ts +486 -469
  180. package/src/sap/fe/core/helpers/ClassSupport.js +212 -76
  181. package/src/sap/fe/core/helpers/ClassSupport.ts +198 -71
  182. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +64 -59
  183. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +52 -0
  184. package/src/sap/fe/core/helpers/EditState.js +81 -84
  185. package/src/sap/fe/core/helpers/EditState.ts +81 -0
  186. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +62 -48
  187. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +49 -0
  188. package/src/sap/fe/core/helpers/FPMHelper.js +52 -56
  189. package/src/sap/fe/core/helpers/FPMHelper.ts +62 -0
  190. package/src/sap/fe/core/helpers/KeepAliveHelper.js +4 -5
  191. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +10 -10
  192. package/src/sap/fe/core/helpers/MassEditHelper.js +604 -0
  193. package/src/sap/fe/core/helpers/MassEditHelper.ts +699 -0
  194. package/src/sap/fe/core/helpers/ModelHelper.js +253 -225
  195. package/src/sap/fe/core/helpers/ModelHelper.ts +250 -0
  196. package/src/sap/fe/core/helpers/PasteHelper.js +210 -132
  197. package/src/sap/fe/core/helpers/PasteHelper.ts +196 -0
  198. package/src/sap/fe/core/helpers/SemanticDateOperators.js +336 -313
  199. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +334 -0
  200. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +66 -67
  201. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +73 -0
  202. package/src/sap/fe/core/helpers/StableIdHelper.js +4 -7
  203. package/src/sap/fe/core/helpers/StableIdHelper.ts +2 -6
  204. package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
  205. package/src/sap/fe/core/jsx-runtime/jsx.ts +1 -1
  206. package/src/sap/fe/core/library.js +427 -425
  207. package/src/sap/fe/core/library.support.js +23 -27
  208. package/src/sap/fe/core/library.support.ts +23 -0
  209. package/src/sap/fe/core/library.ts +420 -0
  210. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +64 -0
  211. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +69 -0
  212. package/src/sap/fe/core/messagebundle.properties +78 -13
  213. package/src/sap/fe/core/messagebundle_ar.properties +58 -7
  214. package/src/sap/fe/core/messagebundle_bg.properties +58 -7
  215. package/src/sap/fe/core/messagebundle_ca.properties +58 -7
  216. package/src/sap/fe/core/messagebundle_cs.properties +59 -8
  217. package/src/sap/fe/core/messagebundle_cy.properties +58 -7
  218. package/src/sap/fe/core/messagebundle_da.properties +58 -7
  219. package/src/sap/fe/core/messagebundle_de.properties +58 -7
  220. package/src/sap/fe/core/messagebundle_el.properties +58 -7
  221. package/src/sap/fe/core/messagebundle_en.properties +57 -6
  222. package/src/sap/fe/core/messagebundle_en_GB.properties +57 -6
  223. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +61 -6
  224. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +58 -7
  225. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +58 -7
  226. package/src/sap/fe/core/messagebundle_es.properties +58 -7
  227. package/src/sap/fe/core/messagebundle_es_MX.properties +58 -7
  228. package/src/sap/fe/core/messagebundle_et.properties +58 -7
  229. package/src/sap/fe/core/messagebundle_fi.properties +60 -9
  230. package/src/sap/fe/core/messagebundle_fr.properties +64 -13
  231. package/src/sap/fe/core/messagebundle_fr_CA.properties +59 -8
  232. package/src/sap/fe/core/messagebundle_hi.properties +58 -7
  233. package/src/sap/fe/core/messagebundle_hr.properties +58 -7
  234. package/src/sap/fe/core/messagebundle_hu.properties +59 -8
  235. package/src/sap/fe/core/messagebundle_id.properties +61 -10
  236. package/src/sap/fe/core/messagebundle_it.properties +58 -7
  237. package/src/sap/fe/core/messagebundle_iw.properties +58 -7
  238. package/src/sap/fe/core/messagebundle_ja.properties +58 -7
  239. package/src/sap/fe/core/messagebundle_kk.properties +58 -7
  240. package/src/sap/fe/core/messagebundle_ko.properties +58 -7
  241. package/src/sap/fe/core/messagebundle_lt.properties +58 -7
  242. package/src/sap/fe/core/messagebundle_lv.properties +59 -8
  243. package/src/sap/fe/core/messagebundle_ms.properties +58 -7
  244. package/src/sap/fe/core/messagebundle_nl.properties +58 -7
  245. package/src/sap/fe/core/messagebundle_no.properties +58 -7
  246. package/src/sap/fe/core/messagebundle_pl.properties +58 -7
  247. package/src/sap/fe/core/messagebundle_pt.properties +59 -8
  248. package/src/sap/fe/core/messagebundle_pt_PT.properties +58 -7
  249. package/src/sap/fe/core/messagebundle_ro.properties +58 -7
  250. package/src/sap/fe/core/messagebundle_ru.properties +58 -7
  251. package/src/sap/fe/core/messagebundle_sh.properties +58 -7
  252. package/src/sap/fe/core/messagebundle_sk.properties +58 -7
  253. package/src/sap/fe/core/messagebundle_sl.properties +58 -7
  254. package/src/sap/fe/core/messagebundle_sv.properties +59 -8
  255. package/src/sap/fe/core/messagebundle_th.properties +58 -7
  256. package/src/sap/fe/core/messagebundle_tr.properties +60 -9
  257. package/src/sap/fe/core/messagebundle_uk.properties +58 -7
  258. package/src/sap/fe/core/messagebundle_vi.properties +58 -7
  259. package/src/sap/fe/core/messagebundle_zh_CN.properties +58 -7
  260. package/src/sap/fe/core/messagebundle_zh_TW.properties +58 -7
  261. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +45 -71
  262. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
  263. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +231 -202
  264. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +212 -0
  265. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +67 -92
  266. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +10 -6
  267. package/src/sap/fe/core/services/NavigationServiceFactory.js +351 -300
  268. package/src/sap/fe/core/services/NavigationServiceFactory.ts +313 -0
  269. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +114 -81
  270. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +83 -0
  271. package/src/sap/fe/core/services/RoutingServiceFactory.js +927 -1152
  272. package/src/sap/fe/core/services/RoutingServiceFactory.ts +898 -0
  273. package/src/sap/fe/core/services/ShellServicesFactory.js +649 -707
  274. package/src/sap/fe/core/services/ShellServicesFactory.ts +52 -15
  275. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +569 -637
  276. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +78 -102
  277. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +429 -478
  278. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +460 -0
  279. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +10 -8
  280. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +8 -0
  281. package/src/sap/fe/core/support/AnnotationIssue.support.js +15 -3
  282. package/src/sap/fe/core/support/AnnotationIssue.support.ts +16 -2
  283. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +2 -2
  284. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.ts +1 -1
  285. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  286. package/src/sap/fe/core/support/CommonHelper.ts +1 -1
  287. package/src/sap/fe/core/support/Diagnostics.js +36 -48
  288. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +38 -0
  289. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.ts +18 -0
  290. package/src/sap/fe/core/templating/DataModelPathHelper.js +97 -127
  291. package/src/sap/fe/core/templating/DataModelPathHelper.ts +112 -135
  292. package/src/sap/fe/core/templating/DisplayModeFormatter.js +114 -0
  293. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +86 -0
  294. package/src/sap/fe/core/templating/FieldControlHelper.js +8 -8
  295. package/src/sap/fe/core/templating/FieldControlHelper.ts +25 -7
  296. package/src/sap/fe/core/templating/FilterHelper.js +140 -78
  297. package/src/sap/fe/core/templating/FilterHelper.ts +149 -78
  298. package/src/sap/fe/core/templating/PropertyHelper.js +3 -3
  299. package/src/sap/fe/core/templating/PropertyHelper.ts +2 -2
  300. package/src/sap/fe/core/templating/UIFormatters.js +76 -135
  301. package/src/sap/fe/core/templating/UIFormatters.ts +76 -99
  302. package/src/sap/fe/core/type/Email.js +1 -1
  303. package/src/sap/fe/core/type/Email.ts +4 -6
  304. package/ui5.yaml +0 -3
  305. package/src/sap/fe/core/controls/filterbar.d.js +0 -8
  306. package/src/sap/fe/core/controls/filterbar.d.ts +0 -0
@@ -1,46 +1,48 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/ui/core/Control", "sap/ui/Device"], function(Control, Device) {
6
- "use strict";
7
- return Control.extend("sap.fe.core.controls.FormElementWrapper", {
8
- metadata: {
9
- interfaces: ["sap.ui.core.IFormContent"],
10
- properties: {
11
- width: {
12
- type: "sap.ui.core.CSSSize",
13
- defaultValue: null
14
- },
15
- formDoNotAdjustWidth: {
16
- type: "boolean",
17
- defaultValue: false
18
- }
19
- },
20
- defaultAggregation: "content",
21
- aggregations: {
22
- content: { type: "sap.ui.core.Control", multiple: false }
23
- }
24
- },
25
- getAccessibilityInfo: function() {
26
- var oContent = this.getContent();
27
- return oContent && oContent.getAccessibilityInfo ? oContent.getAccessibilityInfo() : {};
28
- },
29
- renderer: {
30
- apiVersion: 2,
31
- render: function(oRm, oControl) {
32
- oRm.openStart("div", oControl);
33
- oRm.style("min-height", "1rem");
34
- oRm.style("width", oControl.getWidth());
35
- if (Device.browser.msie) {
36
- oRm.style("display", "block");
37
- } else {
38
- oRm.style("display", "inline-block");
39
- }
40
- oRm.openEnd();
41
- oRm.renderControl(oControl.getContent()); // render the child Control
42
- oRm.close("div"); // end of the complete Control
43
- }
44
- }
45
- });
46
- });
5
+ sap.ui.define(["sap/ui/core/Control"], function (Control) {
6
+ "use strict";
7
+
8
+ var FormElementWrapper = Control.extend("sap.fe.core.controls.FormElementWrapper", {
9
+ metadata: {
10
+ interfaces: ["sap.ui.core.IFormContent"],
11
+ properties: {
12
+ width: {
13
+ type: "sap.ui.core.CSSSize",
14
+ defaultValue: null
15
+ },
16
+ formDoNotAdjustWidth: {
17
+ type: "boolean",
18
+ defaultValue: false
19
+ }
20
+ },
21
+ defaultAggregation: "content",
22
+ aggregations: {
23
+ content: {
24
+ type: "sap.ui.core.Control",
25
+ multiple: false
26
+ }
27
+ }
28
+ },
29
+ getAccessibilityInfo: function () {
30
+ var oContent = this.getContent();
31
+ return oContent && oContent.getAccessibilityInfo ? oContent.getAccessibilityInfo() : {};
32
+ },
33
+ renderer: {
34
+ apiVersion: 2,
35
+ render: function (oRm, oControl) {
36
+ oRm.openStart("div", oControl);
37
+ oRm.style("min-height", "1rem");
38
+ oRm.style("width", oControl.getWidth());
39
+ oRm.openEnd();
40
+ oRm.renderControl(oControl.getContent()); // render the child Control
41
+
42
+ oRm.close("div"); // end of the complete Control
43
+ }
44
+ }
45
+ });
46
+ return FormElementWrapper;
47
+ }, false);
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZvcm1FbGVtZW50V3JhcHBlci50cyJdLCJuYW1lcyI6WyJGb3JtRWxlbWVudFdyYXBwZXIiLCJDb250cm9sIiwiZXh0ZW5kIiwibWV0YWRhdGEiLCJpbnRlcmZhY2VzIiwicHJvcGVydGllcyIsIndpZHRoIiwidHlwZSIsImRlZmF1bHRWYWx1ZSIsImZvcm1Eb05vdEFkanVzdFdpZHRoIiwiZGVmYXVsdEFnZ3JlZ2F0aW9uIiwiYWdncmVnYXRpb25zIiwiY29udGVudCIsIm11bHRpcGxlIiwiZ2V0QWNjZXNzaWJpbGl0eUluZm8iLCJvQ29udGVudCIsImdldENvbnRlbnQiLCJyZW5kZXJlciIsImFwaVZlcnNpb24iLCJyZW5kZXIiLCJvUm0iLCJvQ29udHJvbCIsIm9wZW5TdGFydCIsInN0eWxlIiwiZ2V0V2lkdGgiLCJvcGVuRW5kIiwicmVuZGVyQ29udHJvbCIsImNsb3NlIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7O0FBR0EsTUFBTUEsa0JBQWtCLEdBQUdDLE9BQU8sQ0FBQ0MsTUFBUixDQUFlLHlDQUFmLEVBQTBEO0FBQ3BGQyxJQUFBQSxRQUFRLEVBQUU7QUFDVEMsTUFBQUEsVUFBVSxFQUFFLENBQUMsMEJBQUQsQ0FESDtBQUVUQyxNQUFBQSxVQUFVLEVBQUU7QUFDWEMsUUFBQUEsS0FBSyxFQUFFO0FBQ05DLFVBQUFBLElBQUksRUFBRSxxQkFEQTtBQUVOQyxVQUFBQSxZQUFZLEVBQUU7QUFGUixTQURJO0FBS1hDLFFBQUFBLG9CQUFvQixFQUFFO0FBQ3JCRixVQUFBQSxJQUFJLEVBQUUsU0FEZTtBQUVyQkMsVUFBQUEsWUFBWSxFQUFFO0FBRk87QUFMWCxPQUZIO0FBWVRFLE1BQUFBLGtCQUFrQixFQUFFLFNBWlg7QUFhVEMsTUFBQUEsWUFBWSxFQUFFO0FBQ2JDLFFBQUFBLE9BQU8sRUFBRTtBQUFFTCxVQUFBQSxJQUFJLEVBQUUscUJBQVI7QUFBK0JNLFVBQUFBLFFBQVEsRUFBRTtBQUF6QztBQURJO0FBYkwsS0FEMEU7QUFrQnBGQyxJQUFBQSxvQkFBb0IsRUFBRSxZQUF1QztBQUM1RCxVQUFNQyxRQUFRLEdBQUcsS0FBS0MsVUFBTCxFQUFqQjtBQUNBLGFBQU9ELFFBQVEsSUFBSUEsUUFBUSxDQUFDRCxvQkFBckIsR0FBNENDLFFBQVEsQ0FBQ0Qsb0JBQVQsRUFBNUMsR0FBOEUsRUFBckY7QUFDQSxLQXJCbUY7QUFzQnBGRyxJQUFBQSxRQUFRLEVBQUU7QUFDVEMsTUFBQUEsVUFBVSxFQUFFLENBREg7QUFFVEMsTUFBQUEsTUFBTSxFQUFFLFVBQVNDLEdBQVQsRUFBbUJDLFFBQW5CLEVBQWtDO0FBQ3pDRCxRQUFBQSxHQUFHLENBQUNFLFNBQUosQ0FBYyxLQUFkLEVBQXFCRCxRQUFyQjtBQUNBRCxRQUFBQSxHQUFHLENBQUNHLEtBQUosQ0FBVSxZQUFWLEVBQXdCLE1BQXhCO0FBQ0FILFFBQUFBLEdBQUcsQ0FBQ0csS0FBSixDQUFVLE9BQVYsRUFBbUJGLFFBQVEsQ0FBQ0csUUFBVCxFQUFuQjtBQUNBSixRQUFBQSxHQUFHLENBQUNLLE9BQUo7QUFDQUwsUUFBQUEsR0FBRyxDQUFDTSxhQUFKLENBQWtCTCxRQUFRLENBQUNMLFVBQVQsRUFBbEIsRUFMeUMsQ0FLQzs7QUFDMUNJLFFBQUFBLEdBQUcsQ0FBQ08sS0FBSixDQUFVLEtBQVYsRUFOeUMsQ0FNdkI7QUFDbEI7QUFUUTtBQXRCMEUsR0FBMUQsQ0FBM0I7U0FrQ2UzQixrQiIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcblxudHlwZSBGb3JtRWxlbWVudFdyYXBwZXJUeXBlID0ge1xuXHRnZXRDb250ZW50KCk6IENvbnRyb2w7XG59O1xuY29uc3QgRm9ybUVsZW1lbnRXcmFwcGVyID0gQ29udHJvbC5leHRlbmQoXCJzYXAuZmUuY29yZS5jb250cm9scy5Gb3JtRWxlbWVudFdyYXBwZXJcIiwge1xuXHRtZXRhZGF0YToge1xuXHRcdGludGVyZmFjZXM6IFtcInNhcC51aS5jb3JlLklGb3JtQ29udGVudFwiXSxcblx0XHRwcm9wZXJ0aWVzOiB7XG5cdFx0XHR3aWR0aDoge1xuXHRcdFx0XHR0eXBlOiBcInNhcC51aS5jb3JlLkNTU1NpemVcIixcblx0XHRcdFx0ZGVmYXVsdFZhbHVlOiBudWxsXG5cdFx0XHR9LFxuXHRcdFx0Zm9ybURvTm90QWRqdXN0V2lkdGg6IHtcblx0XHRcdFx0dHlwZTogXCJib29sZWFuXCIsXG5cdFx0XHRcdGRlZmF1bHRWYWx1ZTogZmFsc2Vcblx0XHRcdH1cblx0XHR9LFxuXHRcdGRlZmF1bHRBZ2dyZWdhdGlvbjogXCJjb250ZW50XCIsXG5cdFx0YWdncmVnYXRpb25zOiB7XG5cdFx0XHRjb250ZW50OiB7IHR5cGU6IFwic2FwLnVpLmNvcmUuQ29udHJvbFwiLCBtdWx0aXBsZTogZmFsc2UgfVxuXHRcdH1cblx0fSxcblx0Z2V0QWNjZXNzaWJpbGl0eUluZm86IGZ1bmN0aW9uKHRoaXM6IEZvcm1FbGVtZW50V3JhcHBlclR5cGUpIHtcblx0XHRjb25zdCBvQ29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpO1xuXHRcdHJldHVybiBvQ29udGVudCAmJiBvQ29udGVudC5nZXRBY2Nlc3NpYmlsaXR5SW5mbyA/IG9Db250ZW50LmdldEFjY2Vzc2liaWxpdHlJbmZvKCkgOiB7fTtcblx0fSxcblx0cmVuZGVyZXI6IHtcblx0XHRhcGlWZXJzaW9uOiAyLFxuXHRcdHJlbmRlcjogZnVuY3Rpb24ob1JtOiBhbnksIG9Db250cm9sOiBhbnkpIHtcblx0XHRcdG9SbS5vcGVuU3RhcnQoXCJkaXZcIiwgb0NvbnRyb2wpO1xuXHRcdFx0b1JtLnN0eWxlKFwibWluLWhlaWdodFwiLCBcIjFyZW1cIik7XG5cdFx0XHRvUm0uc3R5bGUoXCJ3aWR0aFwiLCBvQ29udHJvbC5nZXRXaWR0aCgpKTtcblx0XHRcdG9SbS5vcGVuRW5kKCk7XG5cdFx0XHRvUm0ucmVuZGVyQ29udHJvbChvQ29udHJvbC5nZXRDb250ZW50KCkpOyAvLyByZW5kZXIgdGhlIGNoaWxkIENvbnRyb2xcblx0XHRcdG9SbS5jbG9zZShcImRpdlwiKTsgLy8gZW5kIG9mIHRoZSBjb21wbGV0ZSBDb250cm9sXG5cdFx0fVxuXHR9XG59KTtcbmV4cG9ydCBkZWZhdWx0IEZvcm1FbGVtZW50V3JhcHBlcjtcbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import Control from "sap/ui/core/Control";
2
+
3
+ type FormElementWrapperType = {
4
+ getContent(): Control;
5
+ };
6
+ const FormElementWrapper = Control.extend("sap.fe.core.controls.FormElementWrapper", {
7
+ metadata: {
8
+ interfaces: ["sap.ui.core.IFormContent"],
9
+ properties: {
10
+ width: {
11
+ type: "sap.ui.core.CSSSize",
12
+ defaultValue: null
13
+ },
14
+ formDoNotAdjustWidth: {
15
+ type: "boolean",
16
+ defaultValue: false
17
+ }
18
+ },
19
+ defaultAggregation: "content",
20
+ aggregations: {
21
+ content: { type: "sap.ui.core.Control", multiple: false }
22
+ }
23
+ },
24
+ getAccessibilityInfo: function(this: FormElementWrapperType) {
25
+ const oContent = this.getContent();
26
+ return oContent && oContent.getAccessibilityInfo ? oContent.getAccessibilityInfo() : {};
27
+ },
28
+ renderer: {
29
+ apiVersion: 2,
30
+ render: function(oRm: any, oControl: any) {
31
+ oRm.openStart("div", oControl);
32
+ oRm.style("min-height", "1rem");
33
+ oRm.style("width", oControl.getWidth());
34
+ oRm.openEnd();
35
+ oRm.renderControl(oControl.getContent()); // render the child Control
36
+ oRm.close("div"); // end of the complete Control
37
+ }
38
+ }
39
+ });
40
+ export default FormElementWrapper;
@@ -1,45 +1,41 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- // ---------------------------------------------------------------------------------------
6
- // Helper class used to help create content in the multi value field
7
- // ---------------------------------------------------------------------------------------
8
- // ---------------------------------------------------------------------------------------
9
- /* eslint-disable no-console */
10
- sap.ui.define(
11
- ["sap/ui/mdc/field/MultiValueFieldDelegate"],
12
- function(MultiValueFieldDelegate) {
13
- "use strict";
14
- var oMultiValueFieldDelegate = Object.assign({}, MultiValueFieldDelegate, {
15
- _transformConditions: function(aConditions, sKeyPath, sDescriptionPath) {
16
- var aTransformedItems = [];
17
- for (var i = 0; i < aConditions.length; i++) {
18
- var oItem = {};
19
- var oCondition = aConditions[i];
20
- oItem[sKeyPath] = oCondition.values[0];
21
- if (sDescriptionPath) {
22
- oItem[sDescriptionPath] = oCondition.values[1];
23
- }
24
- aTransformedItems.push(oItem);
25
- }
26
- return aTransformedItems;
27
- },
28
- updateItems: function(oPayload, aConditions, oMultiValueField) {
29
- var oListBinding = oMultiValueField.getBinding("items");
30
- var oBindingInfo = oMultiValueField.getBindingInfo("items");
31
- var sItemPath = oBindingInfo.path;
32
- var oTemplate = oBindingInfo.template;
33
- var oKeyBindingInfo = oTemplate.getBindingInfo("key");
34
- var sKeyPath = oKeyBindingInfo && oKeyBindingInfo.parts[0].path;
35
- var oDescriptionBindingInfo = oTemplate.getBindingInfo("description");
36
- var sDescriptionPath = oDescriptionBindingInfo && oDescriptionBindingInfo.parts[0].path;
37
- var oModel = oListBinding.getModel();
5
+ sap.ui.define(["sap/ui/mdc/field/MultiValueFieldDelegate"], function (MultiValueFieldDelegate) {
6
+ "use strict";
38
7
 
39
- oModel.setProperty(sItemPath, this._transformConditions(aConditions, sKeyPath, sDescriptionPath));
40
- }
41
- });
42
- return oMultiValueFieldDelegate;
43
- },
44
- /* bExport= */ false
45
- );
8
+ var oMultiValueFieldDelegate = Object.assign({}, MultiValueFieldDelegate, {
9
+ _transformConditions: function (aConditions, sKeyPath, sDescriptionPath) {
10
+ var aTransformedItems = [];
11
+
12
+ for (var i = 0; i < aConditions.length; i++) {
13
+ var oItem = {};
14
+ var oCondition = aConditions[i];
15
+ oItem[sKeyPath] = oCondition.values[0];
16
+
17
+ if (sDescriptionPath) {
18
+ oItem[sDescriptionPath] = oCondition.values[1];
19
+ }
20
+
21
+ aTransformedItems.push(oItem);
22
+ }
23
+
24
+ return aTransformedItems;
25
+ },
26
+ updateItems: function (oPayload, aConditions, oMultiValueField) {
27
+ var oListBinding = oMultiValueField.getBinding("items");
28
+ var oBindingInfo = oMultiValueField.getBindingInfo("items");
29
+ var sItemPath = oBindingInfo.path;
30
+ var oTemplate = oBindingInfo.template;
31
+ var oKeyBindingInfo = oTemplate.getBindingInfo("key");
32
+ var sKeyPath = oKeyBindingInfo && oKeyBindingInfo.parts[0].path;
33
+ var oDescriptionBindingInfo = oTemplate.getBindingInfo("description");
34
+ var sDescriptionPath = oDescriptionBindingInfo && oDescriptionBindingInfo.parts[0].path;
35
+ var oModel = oListBinding.getModel();
36
+ oModel.setProperty(sItemPath, this._transformConditions(aConditions, sKeyPath, sDescriptionPath));
37
+ }
38
+ });
39
+ return oMultiValueFieldDelegate;
40
+ }, false);
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk11bHRpVmFsdWVQYXJhbWV0ZXJEZWxlZ2F0ZS50cyJdLCJuYW1lcyI6WyJvTXVsdGlWYWx1ZUZpZWxkRGVsZWdhdGUiLCJPYmplY3QiLCJhc3NpZ24iLCJNdWx0aVZhbHVlRmllbGREZWxlZ2F0ZSIsIl90cmFuc2Zvcm1Db25kaXRpb25zIiwiYUNvbmRpdGlvbnMiLCJzS2V5UGF0aCIsInNEZXNjcmlwdGlvblBhdGgiLCJhVHJhbnNmb3JtZWRJdGVtcyIsImkiLCJsZW5ndGgiLCJvSXRlbSIsIm9Db25kaXRpb24iLCJ2YWx1ZXMiLCJwdXNoIiwidXBkYXRlSXRlbXMiLCJvUGF5bG9hZCIsIm9NdWx0aVZhbHVlRmllbGQiLCJvTGlzdEJpbmRpbmciLCJnZXRCaW5kaW5nIiwib0JpbmRpbmdJbmZvIiwiZ2V0QmluZGluZ0luZm8iLCJzSXRlbVBhdGgiLCJwYXRoIiwib1RlbXBsYXRlIiwidGVtcGxhdGUiLCJvS2V5QmluZGluZ0luZm8iLCJwYXJ0cyIsIm9EZXNjcmlwdGlvbkJpbmRpbmdJbmZvIiwib01vZGVsIiwiZ2V0TW9kZWwiLCJzZXRQcm9wZXJ0eSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQURBLE1BQU1BLHdCQUF3QixHQUFHQyxNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQWtCQyx1QkFBbEIsRUFBMkM7QUFDM0VDLElBQUFBLG9CQUFvQixFQUFFLFVBQVNDLFdBQVQsRUFBMkJDLFFBQTNCLEVBQTBDQyxnQkFBMUMsRUFBaUU7QUFDdEYsVUFBTUMsaUJBQWlCLEdBQUcsRUFBMUI7O0FBQ0EsV0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHSixXQUFXLENBQUNLLE1BQWhDLEVBQXdDRCxDQUFDLEVBQXpDLEVBQTZDO0FBQzVDLFlBQU1FLEtBQVUsR0FBRyxFQUFuQjtBQUNBLFlBQU1DLFVBQVUsR0FBR1AsV0FBVyxDQUFDSSxDQUFELENBQTlCO0FBQ0FFLFFBQUFBLEtBQUssQ0FBQ0wsUUFBRCxDQUFMLEdBQWtCTSxVQUFVLENBQUNDLE1BQVgsQ0FBa0IsQ0FBbEIsQ0FBbEI7O0FBQ0EsWUFBSU4sZ0JBQUosRUFBc0I7QUFDckJJLFVBQUFBLEtBQUssQ0FBQ0osZ0JBQUQsQ0FBTCxHQUEwQkssVUFBVSxDQUFDQyxNQUFYLENBQWtCLENBQWxCLENBQTFCO0FBQ0E7O0FBQ0RMLFFBQUFBLGlCQUFpQixDQUFDTSxJQUFsQixDQUF1QkgsS0FBdkI7QUFDQTs7QUFDRCxhQUFPSCxpQkFBUDtBQUNBLEtBYjBFO0FBYzNFTyxJQUFBQSxXQUFXLEVBQUUsVUFBU0MsUUFBVCxFQUF3QlgsV0FBeEIsRUFBMENZLGdCQUExQyxFQUFpRTtBQUM3RSxVQUFNQyxZQUFZLEdBQUdELGdCQUFnQixDQUFDRSxVQUFqQixDQUE0QixPQUE1QixDQUFyQjtBQUNBLFVBQU1DLFlBQVksR0FBR0gsZ0JBQWdCLENBQUNJLGNBQWpCLENBQWdDLE9BQWhDLENBQXJCO0FBQ0EsVUFBTUMsU0FBUyxHQUFHRixZQUFZLENBQUNHLElBQS9CO0FBQ0EsVUFBTUMsU0FBUyxHQUFHSixZQUFZLENBQUNLLFFBQS9CO0FBQ0EsVUFBTUMsZUFBZSxHQUFHRixTQUFTLENBQUNILGNBQVYsQ0FBeUIsS0FBekIsQ0FBeEI7QUFDQSxVQUFNZixRQUFRLEdBQUdvQixlQUFlLElBQUlBLGVBQWUsQ0FBQ0MsS0FBaEIsQ0FBc0IsQ0FBdEIsRUFBeUJKLElBQTdEO0FBQ0EsVUFBTUssdUJBQXVCLEdBQUdKLFNBQVMsQ0FBQ0gsY0FBVixDQUF5QixhQUF6QixDQUFoQztBQUNBLFVBQU1kLGdCQUFnQixHQUFHcUIsdUJBQXVCLElBQUlBLHVCQUF1QixDQUFDRCxLQUF4QixDQUE4QixDQUE5QixFQUFpQ0osSUFBckY7QUFDQSxVQUFNTSxNQUFNLEdBQUdYLFlBQVksQ0FBQ1ksUUFBYixFQUFmO0FBRUFELE1BQUFBLE1BQU0sQ0FBQ0UsV0FBUCxDQUFtQlQsU0FBbkIsRUFBOEIsS0FBS2xCLG9CQUFMLENBQTBCQyxXQUExQixFQUF1Q0MsUUFBdkMsRUFBaURDLGdCQUFqRCxDQUE5QjtBQUNBO0FBMUIwRSxHQUEzQyxDQUFqQztTQTZCZVAsd0IiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNdWx0aVZhbHVlRmllbGREZWxlZ2F0ZSBmcm9tIFwic2FwL3VpL21kYy9maWVsZC9NdWx0aVZhbHVlRmllbGREZWxlZ2F0ZVwiO1xuY29uc3Qgb011bHRpVmFsdWVGaWVsZERlbGVnYXRlID0gT2JqZWN0LmFzc2lnbih7fSwgTXVsdGlWYWx1ZUZpZWxkRGVsZWdhdGUsIHtcblx0X3RyYW5zZm9ybUNvbmRpdGlvbnM6IGZ1bmN0aW9uKGFDb25kaXRpb25zOiBhbnksIHNLZXlQYXRoOiBhbnksIHNEZXNjcmlwdGlvblBhdGg6IGFueSkge1xuXHRcdGNvbnN0IGFUcmFuc2Zvcm1lZEl0ZW1zID0gW107XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhQ29uZGl0aW9ucy5sZW5ndGg7IGkrKykge1xuXHRcdFx0Y29uc3Qgb0l0ZW06IGFueSA9IHt9O1xuXHRcdFx0Y29uc3Qgb0NvbmRpdGlvbiA9IGFDb25kaXRpb25zW2ldO1xuXHRcdFx0b0l0ZW1bc0tleVBhdGhdID0gb0NvbmRpdGlvbi52YWx1ZXNbMF07XG5cdFx0XHRpZiAoc0Rlc2NyaXB0aW9uUGF0aCkge1xuXHRcdFx0XHRvSXRlbVtzRGVzY3JpcHRpb25QYXRoXSA9IG9Db25kaXRpb24udmFsdWVzWzFdO1xuXHRcdFx0fVxuXHRcdFx0YVRyYW5zZm9ybWVkSXRlbXMucHVzaChvSXRlbSk7XG5cdFx0fVxuXHRcdHJldHVybiBhVHJhbnNmb3JtZWRJdGVtcztcblx0fSxcblx0dXBkYXRlSXRlbXM6IGZ1bmN0aW9uKG9QYXlsb2FkOiBhbnksIGFDb25kaXRpb25zOiBhbnksIG9NdWx0aVZhbHVlRmllbGQ6IGFueSkge1xuXHRcdGNvbnN0IG9MaXN0QmluZGluZyA9IG9NdWx0aVZhbHVlRmllbGQuZ2V0QmluZGluZyhcIml0ZW1zXCIpO1xuXHRcdGNvbnN0IG9CaW5kaW5nSW5mbyA9IG9NdWx0aVZhbHVlRmllbGQuZ2V0QmluZGluZ0luZm8oXCJpdGVtc1wiKTtcblx0XHRjb25zdCBzSXRlbVBhdGggPSBvQmluZGluZ0luZm8ucGF0aDtcblx0XHRjb25zdCBvVGVtcGxhdGUgPSBvQmluZGluZ0luZm8udGVtcGxhdGU7XG5cdFx0Y29uc3Qgb0tleUJpbmRpbmdJbmZvID0gb1RlbXBsYXRlLmdldEJpbmRpbmdJbmZvKFwia2V5XCIpO1xuXHRcdGNvbnN0IHNLZXlQYXRoID0gb0tleUJpbmRpbmdJbmZvICYmIG9LZXlCaW5kaW5nSW5mby5wYXJ0c1swXS5wYXRoO1xuXHRcdGNvbnN0IG9EZXNjcmlwdGlvbkJpbmRpbmdJbmZvID0gb1RlbXBsYXRlLmdldEJpbmRpbmdJbmZvKFwiZGVzY3JpcHRpb25cIik7XG5cdFx0Y29uc3Qgc0Rlc2NyaXB0aW9uUGF0aCA9IG9EZXNjcmlwdGlvbkJpbmRpbmdJbmZvICYmIG9EZXNjcmlwdGlvbkJpbmRpbmdJbmZvLnBhcnRzWzBdLnBhdGg7XG5cdFx0Y29uc3Qgb01vZGVsID0gb0xpc3RCaW5kaW5nLmdldE1vZGVsKCk7XG5cblx0XHRvTW9kZWwuc2V0UHJvcGVydHkoc0l0ZW1QYXRoLCB0aGlzLl90cmFuc2Zvcm1Db25kaXRpb25zKGFDb25kaXRpb25zLCBzS2V5UGF0aCwgc0Rlc2NyaXB0aW9uUGF0aCkpO1xuXHR9XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgb011bHRpVmFsdWVGaWVsZERlbGVnYXRlO1xuIl19
@@ -0,0 +1,31 @@
1
+ import MultiValueFieldDelegate from "sap/ui/mdc/field/MultiValueFieldDelegate";
2
+ const oMultiValueFieldDelegate = Object.assign({}, MultiValueFieldDelegate, {
3
+ _transformConditions: function(aConditions: any, sKeyPath: any, sDescriptionPath: any) {
4
+ const aTransformedItems = [];
5
+ for (let i = 0; i < aConditions.length; i++) {
6
+ const oItem: any = {};
7
+ const oCondition = aConditions[i];
8
+ oItem[sKeyPath] = oCondition.values[0];
9
+ if (sDescriptionPath) {
10
+ oItem[sDescriptionPath] = oCondition.values[1];
11
+ }
12
+ aTransformedItems.push(oItem);
13
+ }
14
+ return aTransformedItems;
15
+ },
16
+ updateItems: function(oPayload: any, aConditions: any, oMultiValueField: any) {
17
+ const oListBinding = oMultiValueField.getBinding("items");
18
+ const oBindingInfo = oMultiValueField.getBindingInfo("items");
19
+ const sItemPath = oBindingInfo.path;
20
+ const oTemplate = oBindingInfo.template;
21
+ const oKeyBindingInfo = oTemplate.getBindingInfo("key");
22
+ const sKeyPath = oKeyBindingInfo && oKeyBindingInfo.parts[0].path;
23
+ const oDescriptionBindingInfo = oTemplate.getBindingInfo("description");
24
+ const sDescriptionPath = oDescriptionBindingInfo && oDescriptionBindingInfo.parts[0].path;
25
+ const oModel = oListBinding.getModel();
26
+
27
+ oModel.setProperty(sItemPath, this._transformConditions(aConditions, sKeyPath, sDescriptionPath));
28
+ }
29
+ });
30
+
31
+ export default oMultiValueFieldDelegate;
@@ -21,7 +21,7 @@
21
21
  <template:with path="key>" helper="COMMON.getPathToKey" var="immutableKey">
22
22
  <Label text="{= ${immutableKey>@com.sap.vocabularies.Common.v1.Label}}" />
23
23
  <mdc:Field
24
- delegate="{name: 'sap/ui/mdc/odata/v4/FieldBaseDelegate'}"
24
+ delegate="{name:'sap/fe/macros/FieldBaseDelegate', payload:{retrieveTextFromValueList:true}}"
25
25
  id="{= ID.generate(['CreateDialog', ${entitySet>@sapui.name}, ${immutableKey>@sapui.name}]) }"
26
26
  value="{immutableKey>@@MODEL.format}"
27
27
  width="100%"
@@ -31,6 +31,7 @@
31
31
  liveChange=".handleLiveChange"
32
32
  fieldHelp="{= ${immutableKey>@@Property.hasValueHelp} ? ID.generate([${immutableKey>@sapui.name},'VH']) : undefined }"
33
33
  customData:fieldName="{immutableKey>@sapui.name}"
34
+ editMode="{= ${immutableKey>@com.sap.vocabularies.Common.v1.FieldControl} &amp;&amp; ${immutableKey>@com.sap.vocabularies.Common.v1.FieldControl/$EnumMember} &amp;&amp; ${immutableKey>@com.sap.vocabularies.Common.v1.FieldControl/$EnumMember} === 'com.sap.vocabularies.Common.v1.FieldControlType/ReadOnly' ? 'Display' : 'Editable'}"
34
35
  >
35
36
 
36
37
  <template:if test="{immutableKey>@@Property.hasValueHelp}">
@@ -1,118 +1,129 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
-
6
- // Provides control sap.fe.core.filterbar.FilterContainer.
7
- sap.ui.define(["sap/ui/mdc/filterbar/aligned/FilterContainer"], function(MdcFilterContainer) {
8
- "use strict";
9
- /**
10
- * Constructor for a new FE filter container
11
- * @param {string} [sId] ID for the new control, generated automatically if no ID is given
12
- * @extends sap.ui.mdc.filterbar.aligned.FilterContainer
13
- * @class
14
- * @private
15
- * @alias sap.fe.core.controls.filterbar.FilterContainer
16
- */
17
- var FilterContainer = MdcFilterContainer.extend("sap.fe.core.controls.filterbar.FilterContainer");
18
-
19
- FilterContainer.prototype.init = function() {
20
- this.aAllFilterFields = [];
21
- this.aAllVisualFilters = {};
22
- MdcFilterContainer.prototype.init.apply(this, arguments);
23
- };
24
-
25
- FilterContainer.prototype.exit = function() {
26
- // destroy layout
27
- var that = this;
28
- MdcFilterContainer.prototype.exit.apply(this, arguments);
29
- // destroy all filter fields which are not in the layout
30
- this.aAllFilterFields.forEach(function(oFilterField) {
31
- oFilterField.destroy();
32
- });
33
- Object.keys(this.aAllVisualFilters).forEach(function(sKey) {
34
- that.aAllVisualFilters[sKey].destroy();
35
- });
36
- };
37
-
38
- FilterContainer.prototype.insertFilterField = function(oControl) {
39
- var oFilterItemLayoutEventDelegate = {
40
- onBeforeRendering: function() {
41
- // For compact filters the item layout needs to render both label and filter field.
42
- // hence use the original getContent of the FilterItemLayout
43
- if (oControl._fnGetContentCopy) {
44
- oControl.getContent = oControl._fnGetContentCopy;
45
- }
46
- oControl.removeEventDelegate(oFilterItemLayoutEventDelegate);
47
- }
48
- };
49
- oControl.addEventDelegate(oFilterItemLayoutEventDelegate);
50
-
51
- // In this layout there is no need to render visual filter
52
- // hence find the filter field from the layout and remove it's content aggregation
53
- var that = this;
54
- oControl.getContent().forEach(function(oInnerControl) {
55
- var oContent = oInnerControl.getContent && oInnerControl.getContent();
56
- if (oInnerControl.isA("sap.ui.mdc.FilterField") && oContent && oContent.isA("sap.fe.core.controls.filterbar.VisualFilter")) {
57
- // store the visual filter for later use.
58
- var oVFId = oInnerControl.getId();
59
- that.aAllVisualFilters[oVFId] = oContent;
60
- // remove the content aggregation to render internal content of the field
61
- oInnerControl.setContent(null);
62
- }
63
- });
64
-
65
- // store filter fields to refer to when switching between layout
66
- this.aAllFilterFields.push(oControl);
67
-
68
- MdcFilterContainer.prototype.insertFilterField.apply(this, arguments);
69
- };
70
-
71
- FilterContainer.prototype.removeFilterField = function(oControl) {
72
- var oFilterFieldIndex = this.aAllFilterFields.findIndex(function(oFilterField) {
73
- return oFilterField.getId() === oControl.getId();
74
- });
75
-
76
- var that = this;
77
- // Setting VF content for Fillterfield before removing
78
- oControl.getContent().forEach(function(oInnerControl) {
79
- if (oInnerControl.isA("sap.ui.mdc.FilterField") && !oInnerControl.getContent()) {
80
- var oVFId = oInnerControl.getId();
81
- if (that.aAllVisualFilters[oVFId]) {
82
- oInnerControl.setContent(that.aAllVisualFilters[oVFId]);
83
- }
84
- }
85
- });
86
-
87
- this.aAllFilterFields.splice(oFilterFieldIndex, 1);
88
-
89
- MdcFilterContainer.prototype.removeFilterField.apply(this, arguments);
90
- };
91
-
92
- FilterContainer.prototype.removeAllFilterFields = function() {
93
- this.aAllFilterFields = [];
94
- this.aAllVisualFilters = {};
95
- this.oLayout.removeAllContent();
96
- };
97
- FilterContainer.prototype.getAllButtons = function() {
98
- return this.oLayout.getEndContent();
99
- };
100
-
101
- FilterContainer.prototype.removeButton = function(oControl) {
102
- this.oLayout.removeEndContent(oControl);
103
- };
104
-
105
- FilterContainer.prototype.getAllFilterFields = function() {
106
- return this.aAllFilterFields.slice();
107
- };
108
-
109
- FilterContainer.prototype.getAllVisualFilterFields = function() {
110
- return this.aAllVisualFilters;
111
- };
112
-
113
- FilterContainer.prototype.setAllFilterFields = function(aFilterFields) {
114
- this.aAllFilterFields = aFilterFields;
115
- };
116
-
117
- return FilterContainer;
118
- });
5
+ sap.ui.define(["sap/ui/mdc/filterbar/aligned/FilterContainer"], function (MdcFilterContainer) {
6
+ "use strict";
7
+
8
+ /**
9
+ * Constructor for a new FE filter container
10
+ *
11
+ * @param {string} [sId] ID for the new control, generated automatically if no ID is given
12
+ * @extends sap.ui.mdc.filterbar.aligned.FilterContainer
13
+ * @class
14
+ * @private
15
+ * @alias sap.fe.core.controls.filterbar.FilterContainer
16
+ */
17
+ var FilterContainer = MdcFilterContainer.extend("sap.fe.core.controls.filterbar.FilterContainer");
18
+
19
+ FilterContainer.prototype.init = function () {
20
+ this.aAllFilterFields = [];
21
+ this.aAllVisualFilters = {};
22
+
23
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
24
+ args[_key] = arguments[_key];
25
+ }
26
+
27
+ MdcFilterContainer.prototype.init.apply(this, args);
28
+ };
29
+
30
+ FilterContainer.prototype.exit = function () {
31
+ var _this = this;
32
+
33
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
34
+ args[_key2] = arguments[_key2];
35
+ }
36
+
37
+ // destroy layout
38
+ MdcFilterContainer.prototype.exit.apply(this, args); // destroy all filter fields which are not in the layout
39
+
40
+ this.aAllFilterFields.forEach(function (oFilterField) {
41
+ oFilterField.destroy();
42
+ });
43
+ Object.keys(this.aAllVisualFilters).forEach(function (sKey) {
44
+ _this.aAllVisualFilters[sKey].destroy();
45
+ });
46
+ };
47
+
48
+ FilterContainer.prototype.insertFilterField = function (oControl, iIndex) {
49
+ var _this2 = this;
50
+
51
+ var oFilterItemLayoutEventDelegate = {
52
+ onBeforeRendering: function () {
53
+ // For compact filters the item layout needs to render both label and filter field.
54
+ // hence use the original getContent of the FilterItemLayout
55
+ if (oControl._fnGetContentCopy) {
56
+ oControl.getContent = oControl._fnGetContentCopy;
57
+ }
58
+
59
+ oControl.removeEventDelegate(oFilterItemLayoutEventDelegate);
60
+ }
61
+ };
62
+ oControl.addEventDelegate(oFilterItemLayoutEventDelegate); // In this layout there is no need to render visual filter
63
+ // hence find the filter field from the layout and remove it's content aggregation
64
+
65
+ oControl.getContent().forEach(function (oInnerControl) {
66
+ var oContent = oInnerControl.getContent && oInnerControl.getContent();
67
+
68
+ if (oInnerControl.isA("sap.ui.mdc.FilterField") && oContent && oContent.isA("sap.fe.core.controls.filterbar.VisualFilter")) {
69
+ // store the visual filter for later use.
70
+ var oVFId = oInnerControl.getId();
71
+ _this2.aAllVisualFilters[oVFId] = oContent; // remove the content aggregation to render internal content of the field
72
+
73
+ oInnerControl.setContent(null);
74
+ }
75
+ }); // store filter fields to refer to when switching between layout
76
+
77
+ this.aAllFilterFields.push(oControl);
78
+ MdcFilterContainer.prototype.insertFilterField.apply(this, [oControl, iIndex]);
79
+ };
80
+
81
+ FilterContainer.prototype.removeFilterField = function (oControl) {
82
+ var _this3 = this;
83
+
84
+ var oFilterFieldIndex = this.aAllFilterFields.findIndex(function (oFilterField) {
85
+ return oFilterField.getId() === oControl.getId();
86
+ }); // Setting VF content for Fillterfield before removing
87
+
88
+ oControl.getContent().forEach(function (oInnerControl) {
89
+ if (oInnerControl.isA("sap.ui.mdc.FilterField") && !oInnerControl.getContent()) {
90
+ var oVFId = oInnerControl.getId();
91
+
92
+ if (_this3.aAllVisualFilters[oVFId]) {
93
+ oInnerControl.setContent(_this3.aAllVisualFilters[oVFId]);
94
+ }
95
+ }
96
+ });
97
+ this.aAllFilterFields.splice(oFilterFieldIndex, 1);
98
+ MdcFilterContainer.prototype.removeFilterField.apply(this, [oControl]);
99
+ };
100
+
101
+ FilterContainer.prototype.removeAllFilterFields = function () {
102
+ this.aAllFilterFields = [];
103
+ this.aAllVisualFilters = {};
104
+ this.oLayout.removeAllContent();
105
+ };
106
+
107
+ FilterContainer.prototype.getAllButtons = function () {
108
+ return this.oLayout.getEndContent();
109
+ };
110
+
111
+ FilterContainer.prototype.removeButton = function (oControl) {
112
+ this.oLayout.removeEndContent(oControl);
113
+ };
114
+
115
+ FilterContainer.prototype.getAllFilterFields = function () {
116
+ return this.aAllFilterFields.slice();
117
+ };
118
+
119
+ FilterContainer.prototype.getAllVisualFilterFields = function () {
120
+ return this.aAllVisualFilters;
121
+ };
122
+
123
+ FilterContainer.prototype.setAllFilterFields = function (aFilterFields) {
124
+ this.aAllFilterFields = aFilterFields;
125
+ };
126
+
127
+ return FilterContainer;
128
+ }, false);
129
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpbHRlckNvbnRhaW5lci50cyJdLCJuYW1lcyI6WyJGaWx0ZXJDb250YWluZXIiLCJNZGNGaWx0ZXJDb250YWluZXIiLCJleHRlbmQiLCJwcm90b3R5cGUiLCJpbml0IiwiYUFsbEZpbHRlckZpZWxkcyIsImFBbGxWaXN1YWxGaWx0ZXJzIiwiYXJncyIsImFwcGx5IiwiZXhpdCIsImZvckVhY2giLCJvRmlsdGVyRmllbGQiLCJkZXN0cm95IiwiT2JqZWN0Iiwia2V5cyIsInNLZXkiLCJpbnNlcnRGaWx0ZXJGaWVsZCIsIm9Db250cm9sIiwiaUluZGV4Iiwib0ZpbHRlckl0ZW1MYXlvdXRFdmVudERlbGVnYXRlIiwib25CZWZvcmVSZW5kZXJpbmciLCJfZm5HZXRDb250ZW50Q29weSIsImdldENvbnRlbnQiLCJyZW1vdmVFdmVudERlbGVnYXRlIiwiYWRkRXZlbnREZWxlZ2F0ZSIsIm9Jbm5lckNvbnRyb2wiLCJvQ29udGVudCIsImlzQSIsIm9WRklkIiwiZ2V0SWQiLCJzZXRDb250ZW50IiwicHVzaCIsInJlbW92ZUZpbHRlckZpZWxkIiwib0ZpbHRlckZpZWxkSW5kZXgiLCJmaW5kSW5kZXgiLCJzcGxpY2UiLCJyZW1vdmVBbGxGaWx0ZXJGaWVsZHMiLCJvTGF5b3V0IiwicmVtb3ZlQWxsQ29udGVudCIsImdldEFsbEJ1dHRvbnMiLCJnZXRFbmRDb250ZW50IiwicmVtb3ZlQnV0dG9uIiwicmVtb3ZlRW5kQ29udGVudCIsImdldEFsbEZpbHRlckZpZWxkcyIsInNsaWNlIiwiZ2V0QWxsVmlzdWFsRmlsdGVyRmllbGRzIiwic2V0QWxsRmlsdGVyRmllbGRzIiwiYUZpbHRlckZpZWxkcyJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU1BLGVBQWUsR0FBR0Msa0JBQWtCLENBQUNDLE1BQW5CLENBQTBCLGdEQUExQixDQUF4Qjs7QUFDQUYsRUFBQUEs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QjtBQUNoRSxTQUFLb0IsT0FBTCxDQUFhSyxnQkFBYixDQUE4QnpCLFFBQTlCO0FBQ0EsR0FGRDs7QUFHQWpCLEVBQUFBLGVBQWUsQ0FBQ0csU0FBaEIsQ0FBMEJ3QyxrQkFBMUIsR0FBK0MsWUFBVztBQUN6RCxXQUFPLEtBQUt0QyxnQkFBTCxDQUFzQnVDLEtBQXRCLEVBQVA7QUFDQSxHQUZEOztBQUdBNUMsRUFBQUEsZUFBZSxDQUFDRyxTQUFoQixDQUEwQjBDLHdCQUExQixHQUFxRCxZQUFXO0FBQy9ELFdBQU8sS0FBS3ZDLGlCQUFaO0FBQ0EsR0FGRDs7QUFHQU4sRUFBQUEsZUFBZSxDQUFDRyxTQUFoQixDQUEwQjJDLGtCQUExQixHQUErQyxVQUFTQyxhQUFULEVBQTZCO0FBQzNFLFNBQUsxQyxnQkFBTCxHQUF3QjBDLGFBQXhCO0FBQ0EsR0FGRDs7U0FJZS9DLGUiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNZGNGaWx0ZXJDb250YWluZXIgZnJvbSBcInNhcC91aS9tZGMvZmlsdGVyYmFyL2FsaWduZWQvRmlsdGVyQ29udGFpbmVyXCI7XG4vKipcbiAqIENvbnN0cnVjdG9yIGZvciBhIG5ldyBGRSBmaWx0ZXIgY29udGFpbmVyXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFtzSWRdIElEIGZvciB0aGUgbmV3IGNvbnRyb2wsIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGlmIG5vIElEIGlzIGdpdmVuXG4gKiBAZXh0ZW5kcyBzYXAudWkubWRjLmZpbHRlcmJhci5hbGlnbmVkLkZpbHRlckNvbnRhaW5lclxuICogQGNsYXNzXG4gKiBAcHJpdmF0ZVxuICogQGFsaWFzIHNhcC5mZS5jb3JlLmNvbnRyb2xzLmZpbHRlcmJhci5GaWx0ZXJDb250YWluZXJcbiAqL1xuY29uc3QgRmlsdGVyQ29udGFpbmVyID0gTWRjRmlsdGVyQ29udGFpbmVyLmV4dGVuZChcInNhcC5mZS5jb3JlLmNvbnRyb2xzLmZpbHRlcmJhci5GaWx0ZXJDb250YWluZXJcIik7XG5GaWx0ZXJDb250YWluZXIucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbiguLi5hcmdzOiBhbnlbXSkge1xuXHR0aGlzLmFBbGxGaWx0ZXJGaWVsZHMgPSBbXTtcblx0dGhpcy5hQWxsVmlzdWFsRmlsdGVycyA9IHt9O1xuXHRNZGNGaWx0ZXJDb250YWluZXIucHJvdG90eXBlLmluaXQuYXBwbHkodGhpcywgYXJncyk7XG59O1xuRmlsdGVyQ29udGFpbmVyLnByb3RvdHlwZS5leGl0ID0gZnVuY3Rpb24oLi4uYXJnczogYW55W10pIHtcblx0Ly8gZGVzdHJveSBsYXlvdXRcblx0TWRjRmlsdGVyQ29udGFpbmVyLnByb3RvdHlwZS5leGl0LmFwcGx5KHRoaXMsIGFyZ3MpO1xuXHQvLyBkZXN0cm95IGFsbCBmaWx0ZXIgZmllbGRzIHdoaWNoIGFyZSBub3QgaW4gdGhlIGxheW91dFxuXHR0aGlzLmFBbGxGaWx0ZXJGaWVsZHMuZm9yRWFjaChmdW5jdGlvbihvRmlsdGVyRmllbGQ6IGFueSkge1xuXHRcdG9GaWx0ZXJGaWVsZC5kZXN0cm95KCk7XG5cdH0pO1xuXHRPYmplY3Qua2V5cyh0aGlzLmFBbGxWaXN1YWxGaWx0ZXJzKS5mb3JFYWNoKChzS2V5OiBzdHJpbmcpID0+IHtcblx0XHR0aGlzLmFBbGxWaXN1YWxGaWx0ZXJzW3NLZXldLmRlc3Ryb3koKTtcblx0fSk7XG59O1xuRmlsdGVyQ29udGFpbmVyLnByb3RvdHlwZS5pbnNlcnRGaWx0ZXJGaWVsZCA9IGZ1bmN0aW9uKG9Db250cm9sOiBhbnksIGlJbmRleDogbnVtYmVyKSB7XG5cdGNvbnN0IG9GaWx0ZXJJdGVtTGF5b3V0RXZlbnREZWxlZ2F0ZSA9IHtcblx0XHRvbkJlZm9yZVJlbmRlcmluZzogZnVuY3Rpb24oKSB7XG5cdFx0XHQvLyBGb3IgY29tcGFjdCBmaWx0ZXJzIHRoZSBpdGVtIGxheW91dCBuZWVkcyB0byByZW5kZXIgYm90aCBsYWJlbCBhbmQgZmlsdGVyIGZpZWxkLlxuXHRcdFx0Ly8gaGVuY2UgdXNlIHRoZSBvcmlnaW5hbCBnZXRDb250ZW50IG9mIHRoZSBGaWx0ZXJJdGVtTGF5b3V0XG5cdFx0XHRpZiAob0NvbnRyb2wuX2ZuR2V0Q29udGVudENvcHkpIHtcblx0XHRcdFx0b0NvbnRyb2wuZ2V0Q29udGVudCA9IG9Db250cm9sLl9mbkdldENvbnRlbnRDb3B5O1xuXHRcdFx0fVxuXHRcdFx0b0NvbnRyb2wucmVtb3ZlRXZlbnREZWxlZ2F0ZShvRmlsdGVySXRlbUxheW91dEV2ZW50RGVsZWdhdGUpO1xuXHRcdH1cblx0fTtcblx0b0NvbnRyb2wuYWRkRXZlbnREZWxlZ2F0ZShvRmlsdGVySXRlbUxheW91dEV2ZW50RGVsZWdhdGUpO1xuXG5cdC8vIEluIHRoaXMgbGF5b3V0IHRoZXJlIGlzIG5vIG5lZWQgdG8gcmVuZGVyIHZpc3VhbCBmaWx0ZXJcblx0Ly8gaGVuY2UgZmluZCB0aGUgZmlsdGVyIGZpZWxkIGZyb20gdGhlIGxheW91dCBhbmQgcmVtb3ZlIGl0J3MgY29udGVudCBhZ2dyZWdhdGlvblxuXHRvQ29udHJvbC5nZXRDb250ZW50KCkuZm9yRWFjaCgob0lubmVyQ29udHJvbDogYW55KSA9PiB7XG5cdFx0Y29uc3Qgb0NvbnRlbnQgPSBvSW5uZXJDb250cm9sLmdldENvbnRlbnQgJiYgb0lubmVyQ29udHJvbC5nZXRDb250ZW50KCk7XG5cdFx0aWYgKG9Jbm5lckNvbnRyb2wuaXNBKFwic2FwLnVpLm1kYy5GaWx0ZXJGaWVsZFwiKSAmJiBvQ29udGVudCAmJiBvQ29udGVudC5pc0EoXCJzYXAuZmUuY29yZS5jb250cm9scy5maWx0ZXJiYXIuVmlzdWFsRmlsdGVyXCIpKSB7XG5cdFx0XHQvLyBzdG9yZSB0aGUgdmlzdWFsIGZpbHRlciBmb3IgbGF0ZXIgdXNlLlxuXHRcdFx0Y29uc3Qgb1ZGSWQgPSBvSW5uZXJDb250cm9sLmdldElkKCk7XG5cdFx0XHR0aGlzLmFBbGxWaXN1YWxGaWx0ZXJzW29WRklkXSA9IG9Db250ZW50O1xuXHRcdFx0Ly8gcmVtb3ZlIHRoZSBjb250ZW50IGFnZ3JlZ2F0aW9uIHRvIHJlbmRlciBpbnRlcm5hbCBjb250ZW50IG9mIHRoZSBmaWVsZFxuXHRcdFx0b0lubmVyQ29udHJvbC5zZXRDb250ZW50KG51bGwpO1xuXHRcdH1cblx0fSk7XG5cblx0Ly8gc3RvcmUgZmlsdGVyIGZpZWxkcyB0byByZWZlciB0byB3aGVuIHN3aXRjaGluZyBiZXR3ZWVuIGxheW91dFxuXHR0aGlzLmFBbGxGaWx0ZXJGaWVsZHMucHVzaChvQ29udHJvbCk7XG5cdE1kY0ZpbHRlckNvbnRhaW5lci5wcm90b3R5cGUuaW5zZXJ0RmlsdGVyRmllbGQuYXBwbHkodGhpcywgW29Db250cm9sLCBpSW5kZXhdKTtcbn07XG5GaWx0ZXJDb250YWluZXIucHJvdG90eXBlLnJlbW92ZUZpbHRlckZpZWxkID0gZnVuY3Rpb24ob0NvbnRyb2w6IGFueSkge1xuXHRjb25zdCBvRmlsdGVyRmllbGRJbmRleCA9IHRoaXMuYUFsbEZpbHRlckZpZWxkcy5maW5kSW5kZXgoZnVuY3Rpb24ob0ZpbHRlckZpZWxkOiBhbnkpIHtcblx0XHRyZXR1cm4gb0ZpbHRlckZpZWxkLmdldElkKCkgPT09IG9Db250cm9sLmdldElkKCk7XG5cdH0pO1xuXG5cdC8vIFNldHRpbmcgVkYgY29udGVudCBmb3IgRmlsbHRlcmZpZWxkIGJlZm9yZSByZW1vdmluZ1xuXHRvQ29udHJvbC5nZXRDb250ZW50KCkuZm9yRWFjaCgob0lubmVyQ29udHJvbDogYW55KSA9PiB7XG5cdFx0aWYgKG9Jbm5lckNvbnRyb2wuaXNBKFwic2FwLnVpLm1kYy5GaWx0ZXJGaWVsZFwiKSAmJiAhb0lubmVyQ29udHJvbC5nZXRDb250ZW50KCkpIHtcblx0XHRcdGNvbnN0IG9WRklkID0gb0lubmVyQ29udHJvbC5nZXRJZCgpO1xuXHRcdFx0aWYgKHRoaXMuYUFsbFZpc3VhbEZpbHRlcnNbb1ZGSWRdKSB7XG5cdFx0XHRcdG9Jbm5lckNvbnRyb2wuc2V0Q29udGVudCh0aGlzLmFBbGxWaXN1YWxGaWx0ZXJzW29WRklkXSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9KTtcblxuXHR0aGlzLmFBbGxGaWx0ZXJGaWVsZHMuc3BsaWNlKG9GaWx0ZXJGaWVsZEluZGV4LCAxKTtcblxuXHRNZGNGaWx0ZXJDb250YWluZXIucHJvdG90eXBlLnJlbW92ZUZpbHRlckZpZWxkLmFwcGx5KHRoaXMsIFtvQ29udHJvbF0pO1xufTtcbkZpbHRlckNvbnRhaW5lci5wcm90b3R5cGUucmVtb3ZlQWxsRmlsdGVyRmllbGRzID0gZnVuY3Rpb24oKSB7XG5cdHRoaXMuYUFsbEZpbHRlckZpZWxkcyA9IFtdO1xuXHR0aGlzLmFBbGxWaXN1YWxGaWx0ZXJzID0ge307XG5cdHRoaXMub0xheW91dC5yZW1vdmVBbGxDb250ZW50KCk7XG59O1xuRmlsdGVyQ29udGFpbmVyLnByb3RvdHlwZS5nZXRBbGxCdXR0b25zID0gZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzLm9MYXlvdXQuZ2V0RW5kQ29udGVudCgpO1xufTtcbkZpbHRlckNvbnRhaW5lci5wcm90b3R5cGUucmVtb3ZlQnV0dG9uID0gZnVuY3Rpb24ob0NvbnRyb2w6IGFueSkge1xuXHR0aGlzLm9MYXlvdXQucmVtb3ZlRW5kQ29udGVudChvQ29udHJvbCk7XG59O1xuRmlsdGVyQ29udGFpbmVyLnByb3RvdHlwZS5nZXRBbGxGaWx0ZXJGaWVsZHMgPSBmdW5jdGlvbigpIHtcblx0cmV0dXJuIHRoaXMuYUFsbEZpbHRlckZpZWxkcy5zbGljZSgpO1xufTtcbkZpbHRlckNvbnRhaW5lci5wcm90b3R5cGUuZ2V0QWxsVmlzdWFsRmlsdGVyRmllbGRzID0gZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzLmFBbGxWaXN1YWxGaWx0ZXJzO1xufTtcbkZpbHRlckNvbnRhaW5lci5wcm90b3R5cGUuc2V0QWxsRmlsdGVyRmllbGRzID0gZnVuY3Rpb24oYUZpbHRlckZpZWxkczogYW55KSB7XG5cdHRoaXMuYUFsbEZpbHRlckZpZWxkcyA9IGFGaWx0ZXJGaWVsZHM7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBGaWx0ZXJDb250YWluZXI7XG4iXX0=