@openui5/sap.ui.mdc 1.101.0 → 1.103.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 (222) hide show
  1. package/.eslintrc.json +19 -0
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +1 -1
  5. package/src/sap/ui/mdc/ActionToolbar.js +1 -1
  6. package/src/sap/ui/mdc/AggregationBaseDelegate.js +11 -0
  7. package/src/sap/ui/mdc/Chart.js +111 -55
  8. package/src/sap/ui/mdc/ChartDelegate.js +97 -92
  9. package/src/sap/ui/mdc/Control.js +1 -1
  10. package/src/sap/ui/mdc/Element.js +1 -1
  11. package/src/sap/ui/mdc/Field.js +9 -2
  12. package/src/sap/ui/mdc/FilterBar.js +1 -1
  13. package/src/sap/ui/mdc/FilterField.js +2 -2
  14. package/src/sap/ui/mdc/Link.js +4 -1
  15. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  16. package/src/sap/ui/mdc/Table.js +114 -160
  17. package/src/sap/ui/mdc/TableDelegate.js +3 -23
  18. package/src/sap/ui/mdc/ValueHelp.js +20 -32
  19. package/src/sap/ui/mdc/ValueHelpDelegate.js +9 -3
  20. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -1
  21. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -2
  22. package/src/sap/ui/mdc/chart/ChartToolbar.js +38 -3
  23. package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +6 -2
  24. package/src/sap/ui/mdc/chart/Item.js +6 -11
  25. package/src/sap/ui/mdc/chart/PropertyHelper.js +7 -8
  26. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +2 -3
  27. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  28. package/src/sap/ui/mdc/condition/ConditionConverter.js +16 -131
  29. package/src/sap/ui/mdc/condition/ConditionModel.js +50 -21
  30. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  31. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +11 -11
  32. package/src/sap/ui/mdc/condition/Operator.js +85 -15
  33. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +5 -3
  34. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  35. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +6 -3
  36. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbarAction.designtime.js +53 -0
  37. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +13 -1
  38. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +9 -4
  39. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +1 -1
  40. package/src/sap/ui/mdc/enum/PropagationReason.js +2 -2
  41. package/src/sap/ui/mdc/enum/SelectType.js +3 -0
  42. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  43. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  44. package/src/sap/ui/mdc/field/ConditionType.js +166 -52
  45. package/src/sap/ui/mdc/field/ConditionsType.js +76 -11
  46. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -2
  47. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  48. package/src/sap/ui/mdc/field/DefineConditionPanel.js +107 -99
  49. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +9 -62
  50. package/src/sap/ui/mdc/field/FieldBase.js +108 -73
  51. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +20 -1
  52. package/src/sap/ui/mdc/field/FieldHelpBase.js +1 -39
  53. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  54. package/src/sap/ui/mdc/field/FieldInput.js +2 -2
  55. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  56. package/src/sap/ui/mdc/field/FieldMultiInput.js +2 -2
  57. package/src/sap/ui/mdc/field/FieldValueHelp.js +1 -1
  58. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -19
  59. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +3 -1
  60. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +13 -1
  61. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +3 -3
  62. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +28 -29
  63. package/src/sap/ui/mdc/field/InParameter.js +1 -4
  64. package/src/sap/ui/mdc/field/ListFieldHelp.js +1 -1
  65. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  66. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  67. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  68. package/src/sap/ui/mdc/field/TokenDisplay.js +2 -2
  69. package/src/sap/ui/mdc/field/TokenizerDisplay.js +2 -2
  70. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -5
  71. package/src/sap/ui/mdc/field/content/ContentFactory.js +8 -0
  72. package/src/sap/ui/mdc/field/content/DateContent.js +3 -3
  73. package/src/sap/ui/mdc/field/content/DateTimeContent.js +43 -2
  74. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +4 -4
  75. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +1 -1
  76. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  77. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +21 -1
  78. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  79. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +80 -4
  80. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +19 -38
  81. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  82. package/src/sap/ui/mdc/flexibility/ChartTypeFlex.js +23 -41
  83. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +43 -58
  84. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  85. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  86. package/src/sap/ui/mdc/flexibility/GroupFlex.js +25 -55
  87. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +21 -42
  88. package/src/sap/ui/mdc/flexibility/SortFlex.js +23 -52
  89. package/src/sap/ui/mdc/flexibility/Table.flexibility.js +3 -3
  90. package/src/sap/ui/mdc/flexibility/Util.js +82 -0
  91. package/src/sap/ui/mdc/flexibility/xConfigFlex.js +137 -0
  92. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +3 -1
  93. package/src/sap/ui/mdc/library.js +6 -17
  94. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  95. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  96. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  97. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  98. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  99. package/src/sap/ui/mdc/link/ContactDetailsRenderer.js +1 -1
  100. package/src/sap/ui/mdc/link/Factory.js +1 -1
  101. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  102. package/src/sap/ui/mdc/link/LinkItem.js +9 -1
  103. package/src/sap/ui/mdc/link/Panel.js +25 -13
  104. package/src/sap/ui/mdc/link/PanelItem.js +10 -1
  105. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  106. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  107. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  108. package/src/sap/ui/mdc/messagebundle.properties +13 -1
  109. package/src/sap/ui/mdc/messagebundle_ar.properties +11 -3
  110. package/src/sap/ui/mdc/messagebundle_bg.properties +9 -1
  111. package/src/sap/ui/mdc/messagebundle_ca.properties +9 -1
  112. package/src/sap/ui/mdc/messagebundle_cs.properties +9 -1
  113. package/src/sap/ui/mdc/messagebundle_cy.properties +9 -1
  114. package/src/sap/ui/mdc/messagebundle_da.properties +9 -1
  115. package/src/sap/ui/mdc/messagebundle_de.properties +9 -1
  116. package/src/sap/ui/mdc/messagebundle_el.properties +20 -12
  117. package/src/sap/ui/mdc/messagebundle_en.properties +9 -1
  118. package/src/sap/ui/mdc/messagebundle_en_GB.properties +9 -1
  119. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +9 -1
  120. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +8 -0
  121. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +8 -0
  122. package/src/sap/ui/mdc/messagebundle_es.properties +15 -7
  123. package/src/sap/ui/mdc/messagebundle_es_MX.properties +9 -1
  124. package/src/sap/ui/mdc/messagebundle_et.properties +9 -1
  125. package/src/sap/ui/mdc/messagebundle_fi.properties +9 -1
  126. package/src/sap/ui/mdc/messagebundle_fr.properties +10 -2
  127. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +9 -1
  128. package/src/sap/ui/mdc/messagebundle_hi.properties +9 -1
  129. package/src/sap/ui/mdc/messagebundle_hr.properties +9 -1
  130. package/src/sap/ui/mdc/messagebundle_hu.properties +9 -1
  131. package/src/sap/ui/mdc/messagebundle_id.properties +9 -1
  132. package/src/sap/ui/mdc/messagebundle_it.properties +10 -2
  133. package/src/sap/ui/mdc/messagebundle_iw.properties +10 -2
  134. package/src/sap/ui/mdc/messagebundle_ja.properties +9 -1
  135. package/src/sap/ui/mdc/messagebundle_kk.properties +9 -1
  136. package/src/sap/ui/mdc/messagebundle_ko.properties +11 -3
  137. package/src/sap/ui/mdc/messagebundle_lt.properties +9 -1
  138. package/src/sap/ui/mdc/messagebundle_lv.properties +9 -1
  139. package/src/sap/ui/mdc/messagebundle_ms.properties +9 -1
  140. package/src/sap/ui/mdc/messagebundle_nl.properties +23 -15
  141. package/src/sap/ui/mdc/messagebundle_no.properties +9 -1
  142. package/src/sap/ui/mdc/messagebundle_pl.properties +9 -1
  143. package/src/sap/ui/mdc/messagebundle_pt.properties +18 -10
  144. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +9 -1
  145. package/src/sap/ui/mdc/messagebundle_ro.properties +9 -1
  146. package/src/sap/ui/mdc/messagebundle_ru.properties +9 -1
  147. package/src/sap/ui/mdc/messagebundle_sh.properties +10 -2
  148. package/src/sap/ui/mdc/messagebundle_sk.properties +9 -1
  149. package/src/sap/ui/mdc/messagebundle_sl.properties +9 -1
  150. package/src/sap/ui/mdc/messagebundle_sv.properties +9 -1
  151. package/src/sap/ui/mdc/messagebundle_th.properties +9 -1
  152. package/src/sap/ui/mdc/messagebundle_tr.properties +11 -3
  153. package/src/sap/ui/mdc/messagebundle_uk.properties +9 -1
  154. package/src/sap/ui/mdc/messagebundle_vi.properties +9 -1
  155. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +9 -1
  156. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +10 -2
  157. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  158. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  159. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  160. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  161. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +4 -4
  162. package/src/sap/ui/mdc/odata/TypeUtil.js +25 -2
  163. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +5 -5
  164. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +6 -0
  165. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +6 -6
  166. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +0 -33
  167. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +378 -154
  168. package/src/sap/ui/mdc/p13n/Engine.js +8 -4
  169. package/src/sap/ui/mdc/p13n/PersistenceProvider.js +1 -0
  170. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  171. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  172. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +14 -11
  173. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +133 -0
  174. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +41 -42
  175. package/src/sap/ui/mdc/p13n/panels/GroupView.js +1 -0
  176. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +12 -4
  177. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +1 -1
  178. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +1 -1
  179. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +22 -27
  180. package/src/sap/ui/mdc/table/Column.js +4 -1
  181. package/src/sap/ui/mdc/table/CreationRow.js +3 -1
  182. package/src/sap/ui/mdc/table/GridTableType.js +0 -5
  183. package/src/sap/ui/mdc/table/PropertyHelper.js +27 -74
  184. package/src/sap/ui/mdc/table/ResponsiveTableType.js +29 -17
  185. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  186. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  187. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  188. package/src/sap/ui/mdc/table/menu/QuickActionContainer.js +3 -3
  189. package/src/sap/ui/mdc/themes/base/Chart.less +5 -0
  190. package/src/sap/ui/mdc/themes/base/InfoPanel.less +1 -0
  191. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +5 -0
  192. package/src/sap/ui/mdc/util/DateUtil.js +30 -5
  193. package/src/sap/ui/mdc/util/FilterUtil.js +2 -2
  194. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  195. package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
  196. package/src/sap/ui/mdc/util/TypeUtil.js +105 -17
  197. package/src/sap/ui/mdc/valuehelp/Dialog.js +148 -48
  198. package/src/sap/ui/mdc/valuehelp/Popover.js +16 -3
  199. package/src/sap/ui/mdc/valuehelp/base/Container.js +45 -32
  200. package/src/sap/ui/mdc/valuehelp/base/Content.js +60 -28
  201. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +5 -5
  202. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +75 -32
  203. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +3 -3
  204. package/src/sap/ui/mdc/valuehelp/content/Bool.js +4 -4
  205. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +11 -3
  206. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
  207. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +7 -3
  208. package/src/sap/ui/mdc/valuehelp/content/MTable.js +9 -3
  209. package/test/sap/ui/mdc/testutils/opa/chart/ActionsBase.js +48 -2
  210. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +3 -3
  211. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +3 -3
  212. package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +55 -4
  213. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +2 -2
  214. package/test/sap/ui/mdc/testutils/opa/link/Actions.js +53 -12
  215. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +6 -6
  216. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +121 -202
  217. package/test/sap/ui/mdc/testutils/opa/p13n/waitForSelectWithSelectedTextOnPanel.js +5 -2
  218. package/test/sap/ui/mdc/testutils/opa/table/Actions.js +70 -0
  219. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +9 -7
  220. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +2 -2
  221. package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +0 -139
  222. package/src/sap/ui/mdc/valuehelp/content/ListCollection.js +0 -205
@@ -1,139 +0,0 @@
1
- /*
2
- * ! OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
- * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
- */
6
-
7
- sap.ui.define([
8
- 'sap/ui/mdc/p13n/Engine'
9
- ], function(Engine) {
10
- "use strict";
11
-
12
- /**
13
- * @class Utility class for generic mdc xConfig handling by utilizing the
14
- * <code>sap.ui.mdc.p13n.Engine</code> and its <code>Modificationhandler</code>.
15
- * This class should be used to handle property changes that should be persisted
16
- * as flex changes for MDC control while enabling preprocessing via customdata.
17
- *
18
- * @author SAP SE
19
- * @private
20
- * @alias sap.ui.mdc.flexibility.AggregationConfigFlex
21
- */
22
- var AggregationConfigFlex = {};
23
-
24
- var fConfigModified = function(oControl) {
25
- if (!oControl._bWaitForModificationChanges && oControl.isA) {
26
- oControl._bWaitForModificationChanges = true;
27
- Engine.getInstance().waitForChanges(oControl).then(function() {
28
- if (oControl._onModifications instanceof Function) {
29
- oControl._onModifications();
30
- }
31
- delete oControl._bWaitForModificationChanges;
32
- });
33
- }
34
- };
35
-
36
- var fnQueueChange = function(oControl, fTask) {
37
- var fCleanupPromiseQueue = function(pOriginalPromise) {
38
- if (oControl._pQueue === pOriginalPromise){
39
- delete oControl._pQueue;
40
- }
41
- };
42
-
43
- oControl._pQueue = oControl._pQueue instanceof Promise ? oControl._pQueue.then(fTask) : fTask();
44
- oControl._pQueue.then(fCleanupPromiseQueue.bind(null, oControl._pQueue));
45
-
46
- return oControl._pQueue;
47
- };
48
-
49
- /**
50
- * Creates a changehandler specific to the provided aggregation and property name,
51
- * to enhance the xConfig object for a given mdc control instance.
52
- *
53
- * The enhanced object can be accesed using <code>Engine#readAggregationConfig</code>.
54
- *
55
- * @param {object} mMetaConfig A map describing the metadata structure that is affected by this changehandler
56
- * @param {object} mMetaConfig.aggregation The aggregation name (such as <code>columns</code> or <code>filterItemes</code>)
57
- * @param {object} mMetaConfig.property The property name (such as <code>width</code> or <code>label</code>)
58
- *
59
- * @returns {object} The created changehandler object
60
- */
61
- AggregationConfigFlex.createSetChangeHandler = function(mMetaConfig) {
62
-
63
- if (!mMetaConfig || !mMetaConfig.hasOwnProperty("aggregation") || !mMetaConfig.hasOwnProperty("property")) {
64
- throw new Error("Please provide a map containing the affected aggregation and property name!");
65
- }
66
-
67
- var sAffectedAggregation = mMetaConfig.aggregation;
68
- var sAffectedProperty = mMetaConfig.property;
69
-
70
- return {
71
- "changeHandler": {
72
- applyChange: function (oChange, oControl, mPropertyBag) {
73
-
74
- return fnQueueChange(oControl, function(){
75
- return Engine.getInstance().readXConfig(oControl, {
76
- propertyBag: mPropertyBag
77
- })
78
- .then(function(oPriorAggregationConfig) {
79
- var sOldValue = null;
80
-
81
- if (oPriorAggregationConfig
82
- && oPriorAggregationConfig.aggregations
83
- && oPriorAggregationConfig.aggregations[sAffectedAggregation]
84
- && oPriorAggregationConfig.aggregations[sAffectedAggregation][oChange.getContent().name]
85
- && oPriorAggregationConfig.aggregations[sAffectedAggregation][oChange.getContent().name][sAffectedProperty]
86
- ){
87
- sOldValue = oPriorAggregationConfig.aggregations[sAffectedAggregation][oChange.getContent().name][sAffectedProperty];
88
- }
89
-
90
- oChange.setRevertData({
91
- name: oChange.getContent().name,
92
- value: sOldValue
93
- });
94
-
95
- return Engine.getInstance().enhanceXConfig(oControl, {
96
- controlMeta: {
97
- aggregation: sAffectedAggregation,
98
- property: sAffectedProperty
99
- },
100
- name: oChange.getContent().name,
101
- value: oChange.getContent().value,
102
- propertyBag: mPropertyBag
103
- });
104
- })
105
- .then(function() {
106
- fConfigModified(oControl);
107
- });
108
-
109
- });
110
-
111
- },
112
- completeChangeContent: function (oChange, mChangeSpecificInfo, mPropertyBag) {
113
- // Not used, but needs to be there
114
- },
115
- revertChange: function (oChange, oControl, mPropertyBag) {
116
- return Engine.getInstance().enhanceXConfig(oControl, {
117
- controlMeta: {
118
- aggregation: sAffectedAggregation,
119
- property: sAffectedProperty
120
- },
121
- name: oChange.getRevertData().name,
122
- value: oChange.getRevertData().value,
123
- propertyBag: mPropertyBag
124
- })
125
- .then(function() {
126
- oChange.resetRevertData();
127
- fConfigModified(oControl);
128
- });
129
- }
130
- },
131
- "layers": {
132
- "USER": true
133
- }
134
- };
135
- };
136
-
137
- return AggregationConfigFlex;
138
-
139
- });
@@ -1,205 +0,0 @@
1
- /*
2
- * ! OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
- * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
- */
6
-
7
- sap.ui.define([
8
- "sap/ui/mdc/valuehelp/base/Content",
9
- 'sap/ui/mdc/util/loadModules',
10
- 'sap/ui/model/BindingMode'
11
- ], function(
12
- Content,
13
- loadModules
14
- ) {
15
- "use strict";
16
-
17
- var ListCollection = Content.extend("sap.ui.mdc.valuehelp.content.ListCollection", /** @lends sap.ui.mdc.valuehelp.content.ListCollection.prototype */
18
- {
19
- metadata: {
20
- library: "sap.ui.mdc",
21
- interfaces: [
22
- "sap.ui.mdc.valuehelp.IDialogContent"
23
- ],
24
- aggregations: {
25
- lists: {
26
- type: "sap.ui.mdc.valuehelp.base.FilterableListContent",
27
- multiple: true
28
- }
29
- },
30
- defaultAggregation: "lists"
31
- }
32
- });
33
-
34
- ListCollection.prototype.init = function() {
35
-
36
- Content.prototype.init.apply(this, arguments);
37
-
38
- this._oObserver.observe(this, {
39
- aggregations: ["lists", "displayContent"]
40
- });
41
-
42
- };
43
-
44
- ListCollection.prototype._getVisibleList = function () {
45
- return this.getLists().find(function (oList) {
46
- return this._sVisibleListId ? oList.getId() === this._sVisibleListId : true;
47
- }.bind(this));
48
- };
49
-
50
- ListCollection.prototype.getFormattedTitle = function(iCount) {
51
- return "ListCollection: " + this._getVisibleList().getFormattedTitle();
52
- };
53
-
54
- ListCollection.prototype.getFormattedShortTitle = function() {
55
- return "ListCollection: " + this._getVisibleList().getFormattedShortTitle();
56
- };
57
-
58
- ListCollection.prototype._observeChanges = function(oChanges) {
59
- Content.prototype._observeChanges.apply(this, arguments);
60
-
61
- if (oChanges.name === "lists") {
62
- this._handleListsUpdate(oChanges);
63
- }
64
-
65
- if (oChanges.name === "displayContent") {
66
- this._assignCollectiveSearchToVisibleList();
67
- }
68
-
69
- // Dirty?
70
- this.getLists().forEach(function (oList) {
71
- oList._observeChanges(oChanges);
72
- });
73
- };
74
-
75
- ListCollection.prototype.onShow = function () {
76
- var oActiveList = this._getVisibleList();
77
- oActiveList.onShow.apply(oActiveList, arguments);
78
- };
79
-
80
- ListCollection.prototype.onHide = function () {
81
- var oActiveList = this._getVisibleList();
82
- oActiveList.onHide.apply(oActiveList, arguments);
83
- };
84
-
85
-
86
- ListCollection.prototype._handleListsUpdate = function (oChanges) {
87
- if (oChanges.mutation === "insert") {
88
- if (oChanges.child.setCollectiveSearchSelect) {
89
- this._updateSelectModel();
90
- }
91
- }
92
- };
93
-
94
- ListCollection.prototype._handleConfirmed = function (oEvent) {
95
- this.fireConfirmed(oEvent.getParameters());
96
- };
97
-
98
- ListCollection.prototype._handleCanceled = function (oEvent) {
99
- this.fireCanceled(oEvent.getParameters());
100
- };
101
-
102
- ListCollection.prototype._handleSelect = function (oEvent) {
103
- this.fireSelect(oEvent.getParameters());
104
- };
105
-
106
-
107
- ListCollection.prototype._assignCollectiveSearchToVisibleList = function (oChanges) {
108
- this._retrieveCollectiveSearchSelect().then(function (oSelect) {
109
- var oList = this._getVisibleList();
110
- oList.setCollectiveSearchSelect(oSelect);
111
- }.bind(this));
112
- };
113
-
114
- ListCollection.prototype.getContent = function () {
115
- var oVisibleList = this._getVisibleList();
116
- return oVisibleList.getContent().then(function (oContent) {
117
- this.setAggregation("displayContent", oContent);
118
- return oContent;
119
- }.bind(this));
120
-
121
- };
122
-
123
- ListCollection.prototype.onShow = function () {
124
- Content.prototype.onShow.apply(this, arguments);
125
- var oVisibleList = this._getVisibleList();
126
- this._getContainer()._bindContent(oVisibleList);
127
- oVisibleList.onShow();
128
-
129
- };
130
-
131
- ListCollection.prototype.onHide = function () {
132
- var oVisibleList = this._getVisibleList();
133
- this._getContainer()._unbindContent(oVisibleList);
134
- oVisibleList.onHide();
135
-
136
- Content.prototype.onHide.apply(this, arguments);
137
- };
138
-
139
-
140
- ListCollection.prototype._handleCollectiveSearchSelect = function (oEvent) {
141
- var oCurrentList = this._getVisibleList();
142
- this._getContainer()._unbindContent(oCurrentList);
143
- oCurrentList.onHide();
144
-
145
- this._sVisibleListId = oEvent.getParameter("key");
146
- var oNextList = this._getVisibleList();
147
- this.getContent().then(function () {
148
- this._getContainer()._bindContent(oNextList);
149
- oNextList.onShow();
150
- }.bind(this));
151
- };
152
-
153
- ListCollection.prototype._updateSelectModel = function () {
154
- if (this._oSelectModel) {
155
- var aLists = this.getLists();
156
- var oModelData = aLists.reduce(function (oResult, oCurrent) {
157
- oResult.lists.push({key: oCurrent.getId(), text: oCurrent.getFormattedTitle()});
158
- return oResult;
159
- } , {lists: []});
160
- this._oSelectModel.setData(oModelData);
161
- }
162
- };
163
-
164
- ListCollection.prototype._retrieveCollectiveSearchSelect = function () {
165
- return this._retrievePromise("collectiveSearchSelect", function () {
166
- return loadModules([
167
- "sap/ui/mdc/filterbar/vh/CollectiveSearchSelect",
168
- "sap/ui/core/Item",
169
- "sap/ui/model/json/JSONModel"
170
- ]).then(function(aModules) {
171
- var CollectiveSearchSelect = aModules[0];
172
- var Item = aModules[1];
173
- var JSONModel = aModules[2];
174
-
175
- this._oSelectModel = new JSONModel(this);
176
- this._updateSelectModel();
177
- this.setModel(this._oSelectModel, "$contenthelp");
178
-
179
- var oItemTemplate = new Item(this.getId() + "-collSearchItem", {
180
- key: "{$contenthelp>key}",
181
- text: "{$contenthelp>text}",
182
- enabled: true
183
- /*textDirection: "{$contenthelp>textDirection}" */
184
- });
185
-
186
- var oCollectiveSearchSelect = new CollectiveSearchSelect(this.getId() + "-collSearch", {
187
- items: {path: "$contenthelp>/lists", template: oItemTemplate},
188
- select: this._handleCollectiveSearchSelect.bind(this),
189
- selectedItemKey: this._oSelectModel.getProperty("/lists/0/key")
190
- });
191
- oCollectiveSearchSelect.setModel(this._oSelectModel, "$contenthelp");
192
- return oCollectiveSearchSelect;
193
- }.bind(this));
194
- }.bind(this));
195
-
196
- };
197
-
198
- ListCollection.prototype.exit = function () {
199
- this._oSelectModel = null;
200
- this._iVisibleListIndex = null;
201
- Content.prototype.exit.apply(this, arguments);
202
- };
203
-
204
- return ListCollection;
205
- });