@sapui5/sap.fe.core 1.99.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 (246) hide show
  1. package/package.json +4 -2
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AnnotationHelper.js +1 -69
  4. package/src/sap/fe/core/AnnotationHelper.ts +0 -70
  5. package/src/sap/fe/core/AppComponent.js +388 -399
  6. package/src/sap/fe/core/AppComponent.ts +403 -0
  7. package/src/sap/fe/core/AppStateHandler.js +127 -158
  8. package/src/sap/fe/core/BaseController.js +82 -58
  9. package/src/sap/fe/core/BaseController.ts +68 -0
  10. package/src/sap/fe/core/CommonUtils.js +111 -20
  11. package/src/sap/fe/core/CommonUtils.ts +131 -32
  12. package/src/sap/fe/core/ExtensionAPI.js +278 -274
  13. package/src/sap/fe/core/ExtensionAPI.ts +250 -0
  14. package/src/sap/fe/core/PageController.js +157 -29
  15. package/src/sap/fe/core/PageController.ts +60 -32
  16. package/src/sap/fe/core/RouterProxy.js +694 -756
  17. package/src/sap/fe/core/RouterProxy.ts +11 -9
  18. package/src/sap/fe/core/Synchronization.js +21 -31
  19. package/src/sap/fe/core/TemplateComponent.js +1 -1
  20. package/src/sap/fe/core/TemplateComponent.ts +10 -3
  21. package/src/sap/fe/core/TemplateModel.js +20 -38
  22. package/src/sap/fe/core/TemplateModel.ts +1 -1
  23. package/src/sap/fe/core/TransactionHelper.js +1354 -1370
  24. package/src/sap/fe/core/TransactionHelper.ts +33 -22
  25. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +392 -0
  26. package/src/sap/fe/core/actions/collaboration/ActivitySync.ts +355 -0
  27. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +136 -0
  28. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.ts +119 -0
  29. package/src/sap/fe/core/actions/collaboration/Manage.js +262 -0
  30. package/src/sap/fe/core/actions/collaboration/Manage.ts +244 -0
  31. package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +103 -0
  32. package/src/sap/fe/core/actions/collaboration/UserDetails.fragment.xml +13 -0
  33. package/src/sap/fe/core/actions/draft.js +30 -68
  34. package/src/sap/fe/core/actions/draft.ts +44 -71
  35. package/src/sap/fe/core/actions/messageHandling.js +55 -36
  36. package/src/sap/fe/core/actions/messageHandling.ts +66 -46
  37. package/src/sap/fe/core/actions/operations.js +34 -15
  38. package/src/sap/fe/core/actions/operations.ts +48 -18
  39. package/src/sap/fe/core/actions/sticky.js +17 -4
  40. package/src/sap/fe/core/actions/sticky.ts +21 -4
  41. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +69 -66
  42. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +65 -0
  43. package/src/sap/fe/core/controllerextensions/EditFlow.js +1593 -1669
  44. package/src/sap/fe/core/controllerextensions/EditFlow.ts +1672 -0
  45. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +79 -54
  46. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +61 -0
  47. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +718 -779
  48. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +783 -0
  49. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +796 -816
  50. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +803 -0
  51. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1004 -1005
  52. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +978 -0
  53. package/src/sap/fe/core/controllerextensions/KPIManagement.js +487 -521
  54. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -2
  55. package/src/sap/fe/core/controllerextensions/MassEdit.js +141 -169
  56. package/src/sap/fe/core/controllerextensions/MassEdit.ts +156 -0
  57. package/src/sap/fe/core/controllerextensions/MessageHandler.js +233 -244
  58. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +225 -0
  59. package/src/sap/fe/core/controllerextensions/PageReady.js +301 -336
  60. package/src/sap/fe/core/controllerextensions/PageReady.ts +12 -10
  61. package/src/sap/fe/core/controllerextensions/Paginator.js +188 -175
  62. package/src/sap/fe/core/controllerextensions/Paginator.ts +163 -0
  63. package/src/sap/fe/core/controllerextensions/Placeholder.js +157 -149
  64. package/src/sap/fe/core/controllerextensions/Placeholder.ts +151 -0
  65. package/src/sap/fe/core/controllerextensions/Routing.js +144 -125
  66. package/src/sap/fe/core/controllerextensions/Routing.ts +132 -0
  67. package/src/sap/fe/core/controllerextensions/RoutingListener.js +7 -6
  68. package/src/sap/fe/core/controllerextensions/RoutingListener.ts +3 -0
  69. package/src/sap/fe/core/controllerextensions/Share.js +230 -268
  70. package/src/sap/fe/core/controllerextensions/Share.ts +231 -0
  71. package/src/sap/fe/core/controllerextensions/SideEffects.js +592 -633
  72. package/src/sap/fe/core/controllerextensions/SideEffects.ts +8 -7
  73. package/src/sap/fe/core/controllerextensions/ViewState.js +788 -806
  74. package/src/sap/fe/core/controllerextensions/ViewState.ts +805 -0
  75. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -2
  76. package/src/sap/fe/core/controls/ActionPartial.fragment.xml +2 -2
  77. package/src/sap/fe/core/controls/CommandExecution.js +67 -66
  78. package/src/sap/fe/core/controls/CommandExecution.ts +72 -0
  79. package/src/sap/fe/core/controls/ConditionalWrapper.js +90 -75
  80. package/src/sap/fe/core/controls/ConditionalWrapper.ts +83 -0
  81. package/src/sap/fe/core/controls/CustomQuickViewPage.js +130 -125
  82. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +126 -0
  83. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +103 -112
  84. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +101 -0
  85. package/src/sap/fe/core/controls/FieldWrapper.js +122 -135
  86. package/src/sap/fe/core/controls/FieldWrapper.ts +115 -0
  87. package/src/sap/fe/core/controls/FilterBar.js +162 -159
  88. package/src/sap/fe/core/controls/FilterBar.ts +143 -0
  89. package/src/sap/fe/core/controls/FormElementWrapper.js +45 -39
  90. package/src/sap/fe/core/controls/FormElementWrapper.ts +40 -0
  91. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +37 -42
  92. package/src/sap/fe/core/controls/MultiValueParameterDelegate.ts +31 -0
  93. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +126 -116
  94. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +98 -0
  95. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +241 -255
  96. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +245 -0
  97. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +150 -141
  98. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +125 -0
  99. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +335 -322
  100. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +337 -0
  101. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +74 -74
  102. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +70 -0
  103. package/src/sap/fe/core/converters/ConverterContext.js +348 -379
  104. package/src/sap/fe/core/converters/ConverterContext.ts +19 -16
  105. package/src/sap/fe/core/converters/ManifestSettings.js +12 -1
  106. package/src/sap/fe/core/converters/ManifestSettings.ts +12 -1
  107. package/src/sap/fe/core/converters/ManifestWrapper.js +354 -378
  108. package/src/sap/fe/core/converters/ManifestWrapper.ts +10 -0
  109. package/src/sap/fe/core/converters/MetaModelConverter.js +6 -4
  110. package/src/sap/fe/core/converters/MetaModelConverter.ts +5 -2
  111. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  112. package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
  113. package/src/sap/fe/core/converters/annotations/DataField.js +26 -12
  114. package/src/sap/fe/core/converters/annotations/DataField.ts +37 -13
  115. package/src/sap/fe/core/converters/controls/Common/Form.js +2 -2
  116. package/src/sap/fe/core/converters/controls/Common/Form.ts +4 -2
  117. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  118. package/src/sap/fe/core/converters/controls/Common/KPI.ts +3 -2
  119. package/src/sap/fe/core/converters/controls/Common/Table.js +130 -23
  120. package/src/sap/fe/core/converters/controls/Common/Table.ts +134 -29
  121. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +118 -53
  122. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +156 -93
  123. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +161 -207
  124. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +148 -206
  125. package/src/sap/fe/core/converters/helpers/Aggregation.js +115 -133
  126. package/src/sap/fe/core/converters/helpers/BindingHelper.js +20 -6
  127. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +16 -4
  128. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +12 -1
  129. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +11 -0
  130. package/src/sap/fe/core/converters/helpers/Key.js +42 -57
  131. package/src/sap/fe/core/converters/helpers/Key.ts +1 -1
  132. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +25 -4
  133. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +20 -3
  134. package/src/sap/fe/core/converters/templates/ListReportConverter.js +10 -4
  135. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +15 -4
  136. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +7 -5
  137. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +5 -1
  138. package/src/sap/fe/core/designtime/AppComponent.designtime.js +92 -98
  139. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +91 -0
  140. package/src/sap/fe/core/formatters/CollaborationFormatter.js +104 -0
  141. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +60 -0
  142. package/src/sap/fe/core/formatters/TableFormatter.js +53 -2
  143. package/src/sap/fe/core/formatters/TableFormatter.ts +51 -0
  144. package/src/sap/fe/core/fpm/Component.js +50 -54
  145. package/src/sap/fe/core/fpm/Component.ts +48 -0
  146. package/src/sap/fe/core/helpers/AppStartupHelper.js +323 -309
  147. package/src/sap/fe/core/helpers/AppStartupHelper.ts +363 -337
  148. package/src/sap/fe/core/helpers/BindingExpression.js +7 -7
  149. package/src/sap/fe/core/helpers/BindingExpression.ts +7 -7
  150. package/src/sap/fe/core/helpers/ClassSupport.js +186 -62
  151. package/src/sap/fe/core/helpers/ClassSupport.ts +168 -52
  152. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +5 -4
  153. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -5
  154. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  155. package/src/sap/fe/core/helpers/FPMHelper.ts +1 -1
  156. package/src/sap/fe/core/helpers/MassEditHelper.js +601 -684
  157. package/src/sap/fe/core/helpers/MassEditHelper.ts +699 -0
  158. package/src/sap/fe/core/helpers/ModelHelper.js +25 -1
  159. package/src/sap/fe/core/helpers/ModelHelper.ts +23 -0
  160. package/src/sap/fe/core/helpers/SemanticDateOperators.js +5 -1
  161. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +4 -0
  162. package/src/sap/fe/core/library.js +426 -451
  163. package/src/sap/fe/core/library.support.js +22 -33
  164. package/src/sap/fe/core/library.support.ts +23 -0
  165. package/src/sap/fe/core/library.ts +420 -0
  166. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +5 -3
  167. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +4 -1
  168. package/src/sap/fe/core/messagebundle.properties +22 -5
  169. package/src/sap/fe/core/messagebundle_ar.properties +27 -7
  170. package/src/sap/fe/core/messagebundle_bg.properties +27 -7
  171. package/src/sap/fe/core/messagebundle_ca.properties +27 -7
  172. package/src/sap/fe/core/messagebundle_cs.properties +27 -7
  173. package/src/sap/fe/core/messagebundle_cy.properties +27 -7
  174. package/src/sap/fe/core/messagebundle_da.properties +27 -7
  175. package/src/sap/fe/core/messagebundle_de.properties +27 -7
  176. package/src/sap/fe/core/messagebundle_el.properties +27 -7
  177. package/src/sap/fe/core/messagebundle_en.properties +27 -7
  178. package/src/sap/fe/core/messagebundle_en_GB.properties +27 -7
  179. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +27 -7
  180. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +27 -7
  181. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +27 -7
  182. package/src/sap/fe/core/messagebundle_es.properties +27 -7
  183. package/src/sap/fe/core/messagebundle_es_MX.properties +27 -7
  184. package/src/sap/fe/core/messagebundle_et.properties +27 -7
  185. package/src/sap/fe/core/messagebundle_fi.properties +28 -8
  186. package/src/sap/fe/core/messagebundle_fr.properties +28 -8
  187. package/src/sap/fe/core/messagebundle_fr_CA.properties +29 -9
  188. package/src/sap/fe/core/messagebundle_hi.properties +27 -7
  189. package/src/sap/fe/core/messagebundle_hr.properties +27 -7
  190. package/src/sap/fe/core/messagebundle_hu.properties +27 -7
  191. package/src/sap/fe/core/messagebundle_id.properties +27 -7
  192. package/src/sap/fe/core/messagebundle_it.properties +27 -7
  193. package/src/sap/fe/core/messagebundle_iw.properties +27 -7
  194. package/src/sap/fe/core/messagebundle_ja.properties +26 -6
  195. package/src/sap/fe/core/messagebundle_kk.properties +27 -7
  196. package/src/sap/fe/core/messagebundle_ko.properties +27 -7
  197. package/src/sap/fe/core/messagebundle_lt.properties +27 -7
  198. package/src/sap/fe/core/messagebundle_lv.properties +28 -8
  199. package/src/sap/fe/core/messagebundle_ms.properties +27 -7
  200. package/src/sap/fe/core/messagebundle_nl.properties +27 -7
  201. package/src/sap/fe/core/messagebundle_no.properties +27 -7
  202. package/src/sap/fe/core/messagebundle_pl.properties +27 -7
  203. package/src/sap/fe/core/messagebundle_pt.properties +28 -8
  204. package/src/sap/fe/core/messagebundle_pt_PT.properties +27 -7
  205. package/src/sap/fe/core/messagebundle_ro.properties +27 -7
  206. package/src/sap/fe/core/messagebundle_ru.properties +27 -7
  207. package/src/sap/fe/core/messagebundle_sh.properties +27 -7
  208. package/src/sap/fe/core/messagebundle_sk.properties +27 -7
  209. package/src/sap/fe/core/messagebundle_sl.properties +27 -7
  210. package/src/sap/fe/core/messagebundle_sv.properties +27 -7
  211. package/src/sap/fe/core/messagebundle_th.properties +26 -6
  212. package/src/sap/fe/core/messagebundle_tr.properties +30 -10
  213. package/src/sap/fe/core/messagebundle_uk.properties +27 -7
  214. package/src/sap/fe/core/messagebundle_vi.properties +27 -7
  215. package/src/sap/fe/core/messagebundle_zh_CN.properties +27 -7
  216. package/src/sap/fe/core/messagebundle_zh_TW.properties +27 -7
  217. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +45 -71
  218. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +154 -192
  219. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +4 -4
  220. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +66 -92
  221. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +1 -1
  222. package/src/sap/fe/core/services/NavigationServiceFactory.js +284 -339
  223. package/src/sap/fe/core/services/NavigationServiceFactory.ts +10 -13
  224. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +67 -102
  225. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +5 -2
  226. package/src/sap/fe/core/services/RoutingServiceFactory.js +754 -814
  227. package/src/sap/fe/core/services/RoutingServiceFactory.ts +13 -13
  228. package/src/sap/fe/core/services/ShellServicesFactory.js +649 -736
  229. package/src/sap/fe/core/services/ShellServicesFactory.ts +7 -4
  230. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +567 -592
  231. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +22 -3
  232. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +354 -386
  233. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +21 -14
  234. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +1 -1
  235. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +1 -1
  236. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  237. package/src/sap/fe/core/support/CommonHelper.ts +1 -1
  238. package/src/sap/fe/core/support/Diagnostics.js +36 -48
  239. package/src/sap/fe/core/templating/DataModelPathHelper.js +93 -85
  240. package/src/sap/fe/core/templating/DataModelPathHelper.ts +104 -95
  241. package/src/sap/fe/core/templating/FilterHelper.js +25 -32
  242. package/src/sap/fe/core/templating/FilterHelper.ts +36 -35
  243. package/src/sap/fe/core/templating/PropertyHelper.js +2 -2
  244. package/src/sap/fe/core/templating/PropertyHelper.ts +1 -1
  245. package/src/sap/fe/core/templating/UIFormatters.js +32 -26
  246. package/src/sap/fe/core/templating/UIFormatters.ts +37 -24
@@ -1,42 +1,48 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- (c) Copyright 2009-2021 SAP SE. All rights reserved
4
-
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
5
4
  */
6
- sap.ui.define(["sap/ui/core/Control", "sap/ui/Device"], function(Control, Device) {
7
- "use strict";
8
- return 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: { type: "sap.ui.core.Control", multiple: false }
24
- }
25
- },
26
- getAccessibilityInfo: function() {
27
- var oContent = this.getContent();
28
- return oContent && oContent.getAccessibilityInfo ? oContent.getAccessibilityInfo() : {};
29
- },
30
- renderer: {
31
- apiVersion: 2,
32
- render: function(oRm, oControl) {
33
- oRm.openStart("div", oControl);
34
- oRm.style("min-height", "1rem");
35
- oRm.style("width", oControl.getWidth());
36
- oRm.openEnd();
37
- oRm.renderControl(oControl.getContent()); // render the child Control
38
- oRm.close("div"); // end of the complete Control
39
- }
40
- }
41
- });
42
- });
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,46 +1,41 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- (c) Copyright 2009-2021 SAP SE. All rights reserved
4
-
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
5
4
  */
6
- // ---------------------------------------------------------------------------------------
7
- // Helper class used to help create content in the multi value field
8
- // ---------------------------------------------------------------------------------------
9
- // ---------------------------------------------------------------------------------------
10
- /* eslint-disable no-console */
11
- sap.ui.define(
12
- ["sap/ui/mdc/field/MultiValueFieldDelegate"],
13
- function(MultiValueFieldDelegate) {
14
- "use strict";
15
- var oMultiValueFieldDelegate = Object.assign({}, MultiValueFieldDelegate, {
16
- _transformConditions: function(aConditions, sKeyPath, sDescriptionPath) {
17
- var aTransformedItems = [];
18
- for (var i = 0; i < aConditions.length; i++) {
19
- var oItem = {};
20
- var oCondition = aConditions[i];
21
- oItem[sKeyPath] = oCondition.values[0];
22
- if (sDescriptionPath) {
23
- oItem[sDescriptionPath] = oCondition.values[1];
24
- }
25
- aTransformedItems.push(oItem);
26
- }
27
- return aTransformedItems;
28
- },
29
- updateItems: function(oPayload, aConditions, oMultiValueField) {
30
- var oListBinding = oMultiValueField.getBinding("items");
31
- var oBindingInfo = oMultiValueField.getBindingInfo("items");
32
- var sItemPath = oBindingInfo.path;
33
- var oTemplate = oBindingInfo.template;
34
- var oKeyBindingInfo = oTemplate.getBindingInfo("key");
35
- var sKeyPath = oKeyBindingInfo && oKeyBindingInfo.parts[0].path;
36
- var oDescriptionBindingInfo = oTemplate.getBindingInfo("description");
37
- var sDescriptionPath = oDescriptionBindingInfo && oDescriptionBindingInfo.parts[0].path;
38
- var oModel = oListBinding.getModel();
5
+ sap.ui.define(["sap/ui/mdc/field/MultiValueFieldDelegate"], function (MultiValueFieldDelegate) {
6
+ "use strict";
39
7
 
40
- oModel.setProperty(sItemPath, this._transformConditions(aConditions, sKeyPath, sDescriptionPath));
41
- }
42
- });
43
- return oMultiValueFieldDelegate;
44
- },
45
- /* bExport= */ false
46
- );
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;
@@ -1,119 +1,129 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- (c) Copyright 2009-2021 SAP SE. All rights reserved
4
-
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
5
4
  */
6
-
7
- // Provides control sap.fe.core.filterbar.FilterContainer.
8
- sap.ui.define(["sap/ui/mdc/filterbar/aligned/FilterContainer"], function(MdcFilterContainer) {
9
- "use strict";
10
- /**
11
- * Constructor for a new FE filter container
12
- * @param {string} [sId] ID for the new control, generated automatically if no ID is given
13
- * @extends sap.ui.mdc.filterbar.aligned.FilterContainer
14
- * @class
15
- * @private
16
- * @alias sap.fe.core.controls.filterbar.FilterContainer
17
- */
18
- var FilterContainer = MdcFilterContainer.extend("sap.fe.core.controls.filterbar.FilterContainer");
19
-
20
- FilterContainer.prototype.init = function() {
21
- this.aAllFilterFields = [];
22
- this.aAllVisualFilters = {};
23
- MdcFilterContainer.prototype.init.apply(this, arguments);
24
- };
25
-
26
- FilterContainer.prototype.exit = function() {
27
- // destroy layout
28
- var that = this;
29
- MdcFilterContainer.prototype.exit.apply(this, arguments);
30
- // destroy all filter fields which are not in the layout
31
- this.aAllFilterFields.forEach(function(oFilterField) {
32
- oFilterField.destroy();
33
- });
34
- Object.keys(this.aAllVisualFilters).forEach(function(sKey) {
35
- that.aAllVisualFilters[sKey].destroy();
36
- });
37
- };
38
-
39
- FilterContainer.prototype.insertFilterField = function(oControl) {
40
- var oFilterItemLayoutEventDelegate = {
41
- onBeforeRendering: function() {
42
- // For compact filters the item layout needs to render both label and filter field.
43
- // hence use the original getContent of the FilterItemLayout
44
- if (oControl._fnGetContentCopy) {
45
- oControl.getContent = oControl._fnGetContentCopy;
46
- }
47
- oControl.removeEventDelegate(oFilterItemLayoutEventDelegate);
48
- }
49
- };
50
- oControl.addEventDelegate(oFilterItemLayoutEventDelegate);
51
-
52
- // In this layout there is no need to render visual filter
53
- // hence find the filter field from the layout and remove it's content aggregation
54
- var that = this;
55
- oControl.getContent().forEach(function(oInnerControl) {
56
- var oContent = oInnerControl.getContent && oInnerControl.getContent();
57
- if (oInnerControl.isA("sap.ui.mdc.FilterField") && oContent && oContent.isA("sap.fe.core.controls.filterbar.VisualFilter")) {
58
- // store the visual filter for later use.
59
- var oVFId = oInnerControl.getId();
60
- that.aAllVisualFilters[oVFId] = oContent;
61
- // remove the content aggregation to render internal content of the field
62
- oInnerControl.setContent(null);
63
- }
64
- });
65
-
66
- // store filter fields to refer to when switching between layout
67
- this.aAllFilterFields.push(oControl);
68
-
69
- MdcFilterContainer.prototype.insertFilterField.apply(this, arguments);
70
- };
71
-
72
- FilterContainer.prototype.removeFilterField = function(oControl) {
73
- var oFilterFieldIndex = this.aAllFilterFields.findIndex(function(oFilterField) {
74
- return oFilterField.getId() === oControl.getId();
75
- });
76
-
77
- var that = this;
78
- // Setting VF content for Fillterfield before removing
79
- oControl.getContent().forEach(function(oInnerControl) {
80
- if (oInnerControl.isA("sap.ui.mdc.FilterField") && !oInnerControl.getContent()) {
81
- var oVFId = oInnerControl.getId();
82
- if (that.aAllVisualFilters[oVFId]) {
83
- oInnerControl.setContent(that.aAllVisualFilters[oVFId]);
84
- }
85
- }
86
- });
87
-
88
- this.aAllFilterFields.splice(oFilterFieldIndex, 1);
89
-
90
- MdcFilterContainer.prototype.removeFilterField.apply(this, arguments);
91
- };
92
-
93
- FilterContainer.prototype.removeAllFilterFields = function() {
94
- this.aAllFilterFields = [];
95
- this.aAllVisualFilters = {};
96
- this.oLayout.removeAllContent();
97
- };
98
- FilterContainer.prototype.getAllButtons = function() {
99
- return this.oLayout.getEndContent();
100
- };
101
-
102
- FilterContainer.prototype.removeButton = function(oControl) {
103
- this.oLayout.removeEndContent(oControl);
104
- };
105
-
106
- FilterContainer.prototype.getAllFilterFields = function() {
107
- return this.aAllFilterFields.slice();
108
- };
109
-
110
- FilterContainer.prototype.getAllVisualFilterFields = function() {
111
- return this.aAllVisualFilters;
112
- };
113
-
114
- FilterContainer.prototype.setAllFilterFields = function(aFilterFields) {
115
- this.aAllFilterFields = aFilterFields;
116
- };
117
-
118
- return FilterContainer;
119
- });
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=
@@ -0,0 +1,98 @@
1
+ import MdcFilterContainer from "sap/ui/mdc/filterbar/aligned/FilterContainer";
2
+ /**
3
+ * Constructor for a new FE filter container
4
+ *
5
+ * @param {string} [sId] ID for the new control, generated automatically if no ID is given
6
+ * @extends sap.ui.mdc.filterbar.aligned.FilterContainer
7
+ * @class
8
+ * @private
9
+ * @alias sap.fe.core.controls.filterbar.FilterContainer
10
+ */
11
+ const FilterContainer = MdcFilterContainer.extend("sap.fe.core.controls.filterbar.FilterContainer");
12
+ FilterContainer.prototype.init = function(...args: any[]) {
13
+ this.aAllFilterFields = [];
14
+ this.aAllVisualFilters = {};
15
+ MdcFilterContainer.prototype.init.apply(this, args);
16
+ };
17
+ FilterContainer.prototype.exit = function(...args: any[]) {
18
+ // destroy layout
19
+ MdcFilterContainer.prototype.exit.apply(this, args);
20
+ // destroy all filter fields which are not in the layout
21
+ this.aAllFilterFields.forEach(function(oFilterField: any) {
22
+ oFilterField.destroy();
23
+ });
24
+ Object.keys(this.aAllVisualFilters).forEach((sKey: string) => {
25
+ this.aAllVisualFilters[sKey].destroy();
26
+ });
27
+ };
28
+ FilterContainer.prototype.insertFilterField = function(oControl: any, iIndex: number) {
29
+ const oFilterItemLayoutEventDelegate = {
30
+ onBeforeRendering: function() {
31
+ // For compact filters the item layout needs to render both label and filter field.
32
+ // hence use the original getContent of the FilterItemLayout
33
+ if (oControl._fnGetContentCopy) {
34
+ oControl.getContent = oControl._fnGetContentCopy;
35
+ }
36
+ oControl.removeEventDelegate(oFilterItemLayoutEventDelegate);
37
+ }
38
+ };
39
+ oControl.addEventDelegate(oFilterItemLayoutEventDelegate);
40
+
41
+ // In this layout there is no need to render visual filter
42
+ // hence find the filter field from the layout and remove it's content aggregation
43
+ oControl.getContent().forEach((oInnerControl: any) => {
44
+ const oContent = oInnerControl.getContent && oInnerControl.getContent();
45
+ if (oInnerControl.isA("sap.ui.mdc.FilterField") && oContent && oContent.isA("sap.fe.core.controls.filterbar.VisualFilter")) {
46
+ // store the visual filter for later use.
47
+ const oVFId = oInnerControl.getId();
48
+ this.aAllVisualFilters[oVFId] = oContent;
49
+ // remove the content aggregation to render internal content of the field
50
+ oInnerControl.setContent(null);
51
+ }
52
+ });
53
+
54
+ // store filter fields to refer to when switching between layout
55
+ this.aAllFilterFields.push(oControl);
56
+ MdcFilterContainer.prototype.insertFilterField.apply(this, [oControl, iIndex]);
57
+ };
58
+ FilterContainer.prototype.removeFilterField = function(oControl: any) {
59
+ const oFilterFieldIndex = this.aAllFilterFields.findIndex(function(oFilterField: any) {
60
+ return oFilterField.getId() === oControl.getId();
61
+ });
62
+
63
+ // Setting VF content for Fillterfield before removing
64
+ oControl.getContent().forEach((oInnerControl: any) => {
65
+ if (oInnerControl.isA("sap.ui.mdc.FilterField") && !oInnerControl.getContent()) {
66
+ const oVFId = oInnerControl.getId();
67
+ if (this.aAllVisualFilters[oVFId]) {
68
+ oInnerControl.setContent(this.aAllVisualFilters[oVFId]);
69
+ }
70
+ }
71
+ });
72
+
73
+ this.aAllFilterFields.splice(oFilterFieldIndex, 1);
74
+
75
+ MdcFilterContainer.prototype.removeFilterField.apply(this, [oControl]);
76
+ };
77
+ FilterContainer.prototype.removeAllFilterFields = function() {
78
+ this.aAllFilterFields = [];
79
+ this.aAllVisualFilters = {};
80
+ this.oLayout.removeAllContent();
81
+ };
82
+ FilterContainer.prototype.getAllButtons = function() {
83
+ return this.oLayout.getEndContent();
84
+ };
85
+ FilterContainer.prototype.removeButton = function(oControl: any) {
86
+ this.oLayout.removeEndContent(oControl);
87
+ };
88
+ FilterContainer.prototype.getAllFilterFields = function() {
89
+ return this.aAllFilterFields.slice();
90
+ };
91
+ FilterContainer.prototype.getAllVisualFilterFields = function() {
92
+ return this.aAllVisualFilters;
93
+ };
94
+ FilterContainer.prototype.setAllFilterFields = function(aFilterFields: any) {
95
+ this.aAllFilterFields = aFilterFields;
96
+ };
97
+
98
+ export default FilterContainer;