@openui5/sap.ui.mdc 1.111.6 → 1.112.1

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 (167) hide show
  1. package/package.json +4 -4
  2. package/src/sap/ui/mdc/.library +1 -1
  3. package/src/sap/ui/mdc/ActionToolbar.js +1 -1
  4. package/src/sap/ui/mdc/Chart.js +21 -23
  5. package/src/sap/ui/mdc/ChartDelegate.js +1 -1
  6. package/src/sap/ui/mdc/ChartRenderer.js +0 -2
  7. package/src/sap/ui/mdc/Control.js +1 -1
  8. package/src/sap/ui/mdc/Element.js +1 -1
  9. package/src/sap/ui/mdc/Field.js +6 -6
  10. package/src/sap/ui/mdc/FilterBar.js +1 -1
  11. package/src/sap/ui/mdc/FilterBarDelegate.js +0 -37
  12. package/src/sap/ui/mdc/FilterField.js +4 -4
  13. package/src/sap/ui/mdc/Link.js +1 -1
  14. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  15. package/src/sap/ui/mdc/Table.js +3 -11
  16. package/src/sap/ui/mdc/TableDelegate.js +5 -3
  17. package/src/sap/ui/mdc/ValueHelp.js +28 -15
  18. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
  19. package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +1 -1
  20. package/src/sap/ui/mdc/chart/ChartImplementationContainerRenderer.js +0 -2
  21. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  22. package/src/sap/ui/mdc/chart/ChartToolbar.js +2 -2
  23. package/src/sap/ui/mdc/chart/ChartTypeButton.js +2 -2
  24. package/src/sap/ui/mdc/chart/PropertyHelper.js +35 -2
  25. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  26. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  27. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  28. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  29. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +43 -1
  30. package/src/sap/ui/mdc/condition/Operator.js +1 -1
  31. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +10 -17
  32. package/src/sap/ui/mdc/condition/RangeOperator.js +7 -8
  33. package/src/sap/ui/mdc/field/ConditionType.js +1 -1
  34. package/src/sap/ui/mdc/field/ConditionsType.js +1 -1
  35. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  36. package/src/sap/ui/mdc/field/DefineConditionPanel.js +6 -6
  37. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +49 -62
  38. package/src/sap/ui/mdc/field/FieldBase.js +93 -33
  39. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  40. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  41. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  42. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  43. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  44. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  45. package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
  46. package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
  47. package/src/sap/ui/mdc/field/content/DateContent.js +1 -2
  48. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +4 -4
  49. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +3 -0
  50. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  51. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +29 -2
  52. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  53. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  54. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  55. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  56. package/src/sap/ui/mdc/flexibility/GroupFlex.js +56 -9
  57. package/src/sap/ui/mdc/flexibility/SortFlex.js +56 -9
  58. package/src/sap/ui/mdc/flexibility/Util.js +7 -1
  59. package/src/sap/ui/mdc/library.js +108 -2
  60. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  61. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  62. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  63. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  64. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  65. package/src/sap/ui/mdc/link/Factory.js +1 -1
  66. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  67. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  68. package/src/sap/ui/mdc/link/Panel.js +1 -1
  69. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  70. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  71. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  72. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  73. package/src/sap/ui/mdc/messagebundle.properties +15 -0
  74. package/src/sap/ui/mdc/messagebundle_ar.properties +11 -1
  75. package/src/sap/ui/mdc/messagebundle_bg.properties +10 -0
  76. package/src/sap/ui/mdc/messagebundle_ca.properties +10 -0
  77. package/src/sap/ui/mdc/messagebundle_cs.properties +10 -0
  78. package/src/sap/ui/mdc/messagebundle_cy.properties +10 -0
  79. package/src/sap/ui/mdc/messagebundle_da.properties +10 -0
  80. package/src/sap/ui/mdc/messagebundle_de.properties +10 -0
  81. package/src/sap/ui/mdc/messagebundle_el.properties +13 -3
  82. package/src/sap/ui/mdc/messagebundle_en.properties +10 -0
  83. package/src/sap/ui/mdc/messagebundle_en_GB.properties +10 -0
  84. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +10 -0
  85. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +2 -0
  86. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +10 -0
  87. package/src/sap/ui/mdc/messagebundle_es.properties +10 -0
  88. package/src/sap/ui/mdc/messagebundle_es_MX.properties +10 -0
  89. package/src/sap/ui/mdc/messagebundle_et.properties +10 -0
  90. package/src/sap/ui/mdc/messagebundle_fi.properties +10 -0
  91. package/src/sap/ui/mdc/messagebundle_fr.properties +10 -0
  92. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +10 -0
  93. package/src/sap/ui/mdc/messagebundle_hi.properties +10 -0
  94. package/src/sap/ui/mdc/messagebundle_hr.properties +10 -0
  95. package/src/sap/ui/mdc/messagebundle_hu.properties +10 -0
  96. package/src/sap/ui/mdc/messagebundle_id.properties +10 -0
  97. package/src/sap/ui/mdc/messagebundle_it.properties +10 -0
  98. package/src/sap/ui/mdc/messagebundle_iw.properties +10 -0
  99. package/src/sap/ui/mdc/messagebundle_ja.properties +11 -1
  100. package/src/sap/ui/mdc/messagebundle_kk.properties +10 -0
  101. package/src/sap/ui/mdc/messagebundle_ko.properties +10 -0
  102. package/src/sap/ui/mdc/messagebundle_lt.properties +10 -0
  103. package/src/sap/ui/mdc/messagebundle_lv.properties +10 -0
  104. package/src/sap/ui/mdc/messagebundle_ms.properties +10 -0
  105. package/src/sap/ui/mdc/messagebundle_nl.properties +10 -0
  106. package/src/sap/ui/mdc/messagebundle_no.properties +10 -0
  107. package/src/sap/ui/mdc/messagebundle_pl.properties +10 -0
  108. package/src/sap/ui/mdc/messagebundle_pt.properties +10 -0
  109. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +10 -0
  110. package/src/sap/ui/mdc/messagebundle_ro.properties +10 -0
  111. package/src/sap/ui/mdc/messagebundle_ru.properties +10 -0
  112. package/src/sap/ui/mdc/messagebundle_sh.properties +10 -0
  113. package/src/sap/ui/mdc/messagebundle_sk.properties +10 -0
  114. package/src/sap/ui/mdc/messagebundle_sl.properties +10 -0
  115. package/src/sap/ui/mdc/messagebundle_sv.properties +10 -0
  116. package/src/sap/ui/mdc/messagebundle_th.properties +10 -0
  117. package/src/sap/ui/mdc/messagebundle_tr.properties +10 -0
  118. package/src/sap/ui/mdc/messagebundle_uk.properties +15 -5
  119. package/src/sap/ui/mdc/messagebundle_vi.properties +10 -0
  120. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +10 -0
  121. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +10 -0
  122. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  123. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  124. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +4 -3
  125. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  126. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -71
  127. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +7 -0
  128. package/src/sap/ui/mdc/p13n/P13nBuilder.js +382 -376
  129. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  130. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  131. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +1 -1
  132. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +5 -3
  133. package/src/sap/ui/mdc/p13n/subcontroller/ColumnWidthController.js +1 -1
  134. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +158 -11
  135. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +7 -7
  136. package/src/sap/ui/mdc/p13n/subcontroller/SelectionController.js +1 -1
  137. package/src/sap/ui/mdc/table/ColumnSettings.js +1 -1
  138. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  139. package/src/sap/ui/mdc/table/GridTableType.js +19 -0
  140. package/src/sap/ui/mdc/table/PropertyHelper.js +1 -1
  141. package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +1 -1
  142. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  143. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  144. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  145. package/src/sap/ui/mdc/table/menu/Item.js +6 -0
  146. package/src/sap/ui/mdc/themes/base/Chart.less +1 -1
  147. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +5 -1
  148. package/src/sap/ui/mdc/util/DateUtil.js +84 -95
  149. package/src/sap/ui/mdc/util/InfoBar.js +88 -60
  150. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  151. package/src/sap/ui/mdc/util/PropertyHelper.js +5 -1
  152. package/src/sap/ui/mdc/util/TypeUtil.js +6 -3
  153. package/src/sap/ui/mdc/valuehelp/Dialog.js +67 -58
  154. package/src/sap/ui/mdc/valuehelp/Popover.js +19 -1
  155. package/src/sap/ui/mdc/valuehelp/base/Container.js +12 -1
  156. package/src/sap/ui/mdc/valuehelp/base/Content.js +1 -1
  157. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  158. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +1 -1
  159. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
  160. package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
  161. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +1 -1
  162. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
  163. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +1 -1
  164. package/src/sap/ui/mdc/valuehelp/content/MTable.js +6 -8
  165. package/src/sap/ui/mdc/p13n/Engine.js +0 -1200
  166. package/src/sap/ui/mdc/p13n/FlexUtil.js +0 -276
  167. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +0 -438
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.mdc.util.PropertyHelper
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.111.6
26
+ * @version 1.112.1
27
27
  *
28
28
  * @private
29
29
  * @experimental
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @extends sap.ui.base.Object
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.111.6
36
+ * @version 1.112.1
37
37
  *
38
38
  * @private
39
39
  * @ui5-restricted sap.ui.mdc
@@ -39,7 +39,7 @@ sap.ui.define([
39
39
  * @extends sap.m.p13n.QueryPanel
40
40
  *
41
41
  * @author SAP SE
42
- * @version 1.111.6
42
+ * @version 1.112.1
43
43
  *
44
44
  * @public
45
45
  * @experimental Since 1.107.
@@ -73,9 +73,11 @@ sap.ui.define([
73
73
  };
74
74
 
75
75
  AdaptFiltersController.prototype.update = function(oPropertyHelper) {
76
- var oAdaptationData = this.mixInfoAndState(oPropertyHelper);
77
- this._oPanel.setP13nData(oAdaptationData);
78
- this.getAdaptationControl().getInbuiltFilter().createFilterFields();
76
+ if (this._oPanel) {
77
+ var oAdaptationData = this.mixInfoAndState(oPropertyHelper);
78
+ this._oPanel.setP13nData(oAdaptationData);
79
+ this.getAdaptationControl().getInbuiltFilter().createFilterFields();
80
+ }
79
81
  };
80
82
 
81
83
  AdaptFiltersController.prototype.mixInfoAndState = function(oPropertyHelper) {
@@ -6,7 +6,7 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "./SelectionController",
9
- "sap/ui/mdc/p13n/FlexUtil",
9
+ "sap/m/p13n/FlexUtil",
10
10
  'sap/m/p13n/modules/xConfigAPI',
11
11
  "sap/base/util/merge"
12
12
  ], function (BaseController, FlexUtil, xConfigAPI, merge) {
@@ -5,8 +5,8 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- 'sap/ui/mdc/enum/ProcessingStrategy', 'sap/ui/mdc/condition/FilterOperatorUtil', './SelectionController', 'sap/ui/mdc/p13n/P13nBuilder', 'sap/ui/mdc/p13n/FlexUtil', 'sap/base/Log', 'sap/base/util/merge', 'sap/base/util/UriParameters'
9
- ], function (ProcessingStrategy, FilterOperatorUtil, BaseController, P13nBuilder, FlexUtil, Log, merge, SAPUriParameters) {
8
+ 'sap/ui/mdc/enum/ProcessingStrategy', 'sap/ui/mdc/condition/FilterOperatorUtil', './SelectionController', 'sap/ui/mdc/p13n/P13nBuilder', 'sap/base/Log', 'sap/base/util/merge', 'sap/base/util/deepEqual'
9
+ ], function (ProcessingStrategy, FilterOperatorUtil, BaseController, P13nBuilder, Log, merge, deepEqual) {
10
10
  "use strict";
11
11
 
12
12
  var FilterController = BaseController.extend("sap.ui.mdc.p13n.subcontroller.FilterController", {
@@ -109,6 +109,7 @@ sap.ui.define([
109
109
  return this.getAdaptationControl().retrieveInbuiltFilter().then(function(oAdaptationFilterBar){
110
110
  oAdaptationFilterBar.setP13nData(oAdaptationData);
111
111
  oAdaptationFilterBar.setLiveMode(false);
112
+ oAdaptationFilterBar.setProperty("_useFixedWidth", false);
112
113
  oAdaptationFilterBar.getTitle = function() {
113
114
  return sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc").getText("filter.PERSONALIZATION_DIALOG_TITLE");
114
115
  };
@@ -121,14 +122,16 @@ sap.ui.define([
121
122
  };
122
123
 
123
124
  FilterController.prototype.update = function(oPropertyHelper){
124
- var oAdaptationData = this.mixInfoAndState(oPropertyHelper);
125
- this._oPanel.setP13nData(oAdaptationData);
126
- var oAdaptationControl = this.getAdaptationControl();
127
- var oInbuiltFilter = oAdaptationControl && oAdaptationControl.getInbuiltFilter();
128
-
129
- if (oInbuiltFilter) {
130
- oInbuiltFilter.createFilterFields();
125
+ if (this._oPanel) {
126
+ var oAdaptationData = this.mixInfoAndState(oPropertyHelper);
127
+ this._oPanel.setP13nData(oAdaptationData);
128
+ var oAdaptationControl = this.getAdaptationControl();
129
+ var oInbuiltFilter = oAdaptationControl && oAdaptationControl.getInbuiltFilter();
130
+ if (oInbuiltFilter) {
131
+ oInbuiltFilter.createFilterFields();
132
+ }
131
133
  }
134
+
132
135
  };
133
136
 
134
137
  FilterController.prototype.getDelta = function(mPropertyBag) {
@@ -139,9 +142,153 @@ sap.ui.define([
139
142
  }
140
143
  });
141
144
  }
142
- return FlexUtil.getConditionDeltaChanges(mPropertyBag);
145
+ return getConditionDeltaChanges(mPropertyBag);
143
146
  };
144
147
 
148
+ /**
149
+ * Generates a set of changes based on the given arrays for a specified control
150
+ *
151
+ * @public
152
+ *
153
+ * @param {object} mDeltaInfo Map containing the necessary information to calculate the diff as change objects
154
+ * @param {array} mDeltaInfo.existingState An array describing the control state before a adaptation
155
+ * @param {array} mDeltaInfo.changedState An array describing the control state after a certain adaptation
156
+ * @param {object} mDeltaInfo.control Control instance which is being used to generate the changes
157
+ * @param {object} mDeltaInfo.changeOperations Map containing the changeOperations for the given Control instance
158
+ * @param {string} mDeltaInfo.changeOperations.add Name of the control specific 'add' changehandler
159
+ * @param {boolean} mDeltaInfo.applyAbsolute Indicates whether the appliance should also implicitly remove entries in case they are not provided in the new state
160
+ * @param {string} mDeltaInfo.changeOperations.remove Name of the control specific 'remove' changehandler
161
+ * @param {string} [mDeltaInfo.changeOperations.move] Name of the control specific 'move' changehandler
162
+ * @param {string} [mDeltaInfo.generator] Name of the change generator (E.g. the namespace of the UI creating the change object)
163
+ *
164
+ * @returns {array} Array containing the delta based created changes
165
+ */
166
+ var getConditionDeltaChanges = function(mDeltaInfo) {
167
+ var aConditionChanges = [];
168
+
169
+ var mNewConditionState = mDeltaInfo.changedState;
170
+ var mPreviousConditionState = mDeltaInfo.existingState;
171
+ var oAdaptationControl = mDeltaInfo.control;
172
+ var bAbsoluteAppliance = mDeltaInfo.hasOwnProperty("applyAbsolute") ? mDeltaInfo.applyAbsolute : true;
173
+ var aPropertyInfo = mDeltaInfo.propertyInfo;
174
+
175
+ for (var sFieldPath in mNewConditionState) {
176
+ var bValidProperty = _hasProperty(aPropertyInfo, sFieldPath);
177
+ if (!bValidProperty && oAdaptationControl.isA("sap.ui.mdc.Control") && oAdaptationControl.isPropertyHelperFinal()) {
178
+ Log.warning("property '" + sFieldPath + "' not supported");
179
+ continue;
180
+ }
181
+
182
+ var aFilterConditionChanges = _diffConditionPath(sFieldPath, mNewConditionState[sFieldPath], mPreviousConditionState[sFieldPath], oAdaptationControl, bAbsoluteAppliance);
183
+ aConditionChanges = aConditionChanges.concat(aFilterConditionChanges);
184
+ }
185
+
186
+ return aConditionChanges;
187
+ };
188
+
189
+ var _hasProperty = function(aPropertyInfo, sName) {
190
+ return aPropertyInfo.some(function(oProperty){
191
+ //First check unique name
192
+ var bValid = oProperty.name === sName || sName == "$search";
193
+
194
+ //Use path as Fallback
195
+ bValid = bValid ? bValid : oProperty.path === sName;
196
+
197
+ return bValid;
198
+ });
199
+ };
200
+
201
+ var createConditionChange = function(sChangeType, oControl, sFieldPath, oCondition) {
202
+ delete oCondition.filtered;
203
+ var oConditionChange = {
204
+ selectorElement: oControl,
205
+ changeSpecificData: {
206
+ changeType: sChangeType,
207
+ content: {
208
+ name: sFieldPath,
209
+ condition: oCondition
210
+ }
211
+ }
212
+ };
213
+
214
+ return oConditionChange;
215
+ };
216
+
217
+ /**
218
+ * Generates a set of changes based on the given conditions
219
+ *
220
+ * @public
221
+ * @param {array} sFieldPath The relevant fieldPath
222
+ * @param {array} aConditions The conditions after they have been changed
223
+ * @param {function} aOrigShadowConditions The conditions before they have been changed
224
+ * @param {object} oControl Control instance which is being used to generate the changes
225
+ * @param {boolean} [bAbsoluteAppliance] Indicates whether the appliance should also implicitly remove entries in case they are not provided in the new state
226
+ *
227
+ * @returns {array} Array containing the delta based created changes
228
+ */
229
+ var _diffConditionPath = function(sFieldPath, aConditions, aOrigShadowConditions, oControl, bAbsoluteAppliance){
230
+ var oChange, aChanges = [];
231
+ var aOrigConditions = merge([], aConditions);
232
+ var aShadowConditions = aOrigShadowConditions ? merge([], aOrigShadowConditions) : [];
233
+
234
+
235
+ if (deepEqual(aConditions, aShadowConditions)) {
236
+ return aChanges;
237
+ }
238
+
239
+ var fnRemoveSameConditions = function(aConditions, aShadowConditions){
240
+ var bRunAgain;
241
+
242
+ do {
243
+ bRunAgain = false;
244
+
245
+ for (var i = 0; i < aConditions.length; i++) {
246
+
247
+ var oNewCondition = aConditions[i];
248
+ var nConditionIdx = FilterOperatorUtil.indexOfCondition(oNewCondition, aShadowConditions);
249
+ if (nConditionIdx > -1) {
250
+
251
+ aConditions.splice(i, 1);
252
+
253
+ if (bAbsoluteAppliance) {
254
+ aShadowConditions.splice(nConditionIdx, 1);
255
+ }
256
+
257
+ bRunAgain = true;
258
+ break;
259
+ }
260
+ }
261
+ } while (bRunAgain);
262
+ };
263
+
264
+ fnRemoveSameConditions(aConditions, aShadowConditions);
265
+
266
+ if ((aConditions.length > 0) || (aShadowConditions.length > 0)) {
267
+
268
+ aShadowConditions.forEach(function(oCondition) {
269
+ //In case of absolute appliance always remove, in case of explicit appliance only remove if explicitly given in the new state via filtered=false
270
+ var iNewCondition = FilterOperatorUtil.indexOfCondition(oCondition, aOrigConditions);
271
+ var bNewConditionExplicitlyRemoved = iNewCondition > -1 && aOrigConditions[iNewCondition].filtered === false;
272
+ if (bAbsoluteAppliance || bNewConditionExplicitlyRemoved) {
273
+ oChange = createConditionChange("removeCondition", oControl, sFieldPath, oCondition);
274
+ aChanges.push(oChange);
275
+ }
276
+ });
277
+
278
+ aConditions.forEach(function(oCondition) {
279
+ if (bAbsoluteAppliance || (!oCondition.hasOwnProperty("filtered") || oCondition.filtered !== false)) {
280
+ oChange = createConditionChange("addCondition", oControl, sFieldPath, oCondition);
281
+ aChanges.push(oChange);
282
+ }
283
+ });
284
+
285
+ }
286
+
287
+ return aChanges;
288
+ };
289
+
290
+
291
+
145
292
  FilterController.prototype.model2State = function() {
146
293
  var oItems = {},
147
294
  oFilter = this.getCurrentState();
@@ -167,7 +314,7 @@ sap.ui.define([
167
314
  });
168
315
 
169
316
  P13nBuilder.sortP13nData({
170
- visible: new SAPUriParameters(window.location.search).getAll("sap-ui-xx-filterQueryPanel")[0] === "true" ? "active" : null,//FIXME: remove with URL parameter
317
+ visible: "active",
171
318
  position: undefined
172
319
  }, oP13nData.items);
173
320
 
@@ -88,10 +88,10 @@ sap.ui.define([
88
88
 
89
89
  var oLinkItem = sap.ui.getCore().byId(sLinkItemId);
90
90
 
91
- var aChanges = [];
91
+ var oAddRemoveChange;
92
92
 
93
93
  if (!oLinkItem) {
94
- aChanges.push({
94
+ oAddRemoveChange = {
95
95
  selectorElement: oControl,
96
96
  changeSpecificData: {
97
97
  changeType: "createItem",
@@ -99,18 +99,18 @@ sap.ui.define([
99
99
  selector: sLinkItemId
100
100
  }
101
101
  }
102
- });
102
+ };
103
103
  } else {
104
- aChanges.push({
104
+ oAddRemoveChange = {
105
105
  selectorElement: oLinkItem,
106
106
  changeSpecificData: {
107
107
  changeType: vOperations === "hideItem" ? "hideItem" : "revealItem",
108
108
  content: {}
109
109
  }
110
- });
110
+ };
111
111
  }
112
112
 
113
- return aChanges;
113
+ return oAddRemoveChange;
114
114
  };
115
115
 
116
116
  LinkPanelController.prototype.mixInfoAndState = function(oPropertyHelper) {
@@ -145,7 +145,7 @@ sap.ui.define([
145
145
  return oP13nData;
146
146
  };
147
147
 
148
- LinkPanelController.prototype._createMoveChange = function(sId, sPropertyName, iNewIndex, sMoveOperation, oControl, bPersistId) {
148
+ LinkPanelController.prototype._createMoveChange = function(sPropertyName, iNewIndex, sMoveOperation, oControl) {
149
149
  return {
150
150
  selectorElement: oControl,
151
151
  changeSpecificData: {
@@ -57,7 +57,7 @@ sap.ui.define([
57
57
  return SelectionController.prototype.getDelta.apply(this, arguments);
58
58
  };
59
59
 
60
- MDCSelectionController.prototype._createMoveChange = function(sId, sPropertykey, iNewIndex, sMoveOperation, oControl, bPersistId){
60
+ MDCSelectionController.prototype._createMoveChange = function(sPropertykey, iNewIndex, sMoveOperation, oControl){
61
61
  var oMoveChange = {
62
62
  selectorElement: oControl,
63
63
  changeSpecificData: {
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @class The table type info class for the metadata-driven table.
21
21
  * @extends sap.ui.core.Element
22
- * @version 1.111.6
22
+ * @version 1.112.1
23
23
  * @author SAP SE
24
24
  * @constructor
25
25
  * @experimental
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * {@link sap.ui.mdc.table.Column#getCreationTemplate creationTemplate} aggregation of the {@link sap.ui.mdc.table.Column}.
22
22
  * @extends sap.ui.core.Element
23
23
  * @author SAP SE
24
- * @version 1.111.6
24
+ * @version 1.112.1
25
25
  * @constructor
26
26
  * @experimental
27
27
  * @private
@@ -58,6 +58,16 @@ sap.ui.define([
58
58
  * Number of indices which can be selected in a range.
59
59
  * Accepts positive integer values. If set to 0, the selection limit is disabled, and the Select All checkbox appears instead of the
60
60
  * Deselect All button.
61
+ *
62
+ * <b>Note:</b> To avoid severe performance problems, the limit should only be set to 0 in the following cases:
63
+ * <ul>
64
+ * <li>With client-side models</li>
65
+ * <li>With server-side models if they are used in client mode</li>
66
+ * <li>If the entity set is small</li>
67
+ * </ul>
68
+ *
69
+ * In other cases, we recommend to set the limit to at least double the value of the {@link sap.ui.mdc.Table#getThreshold threshold}
70
+ * property of the table.
61
71
  */
62
72
  selectionLimit: {
63
73
  type: "int",
@@ -69,6 +79,13 @@ sap.ui.define([
69
79
  showHeaderSelector: {
70
80
  type: "boolean",
71
81
  defaultValue: true
82
+ },
83
+ /**
84
+ * Defines the number of fixed columns in the inner table.
85
+ */
86
+ fixedColumnCount: {
87
+ type: "int",
88
+ defaultValue: 0
72
89
  }
73
90
  }
74
91
  }
@@ -116,6 +133,8 @@ sap.ui.define([
116
133
  if (oMultiSelectionPlugin) {
117
134
  oMultiSelectionPlugin.setShowHeaderSelector(vValue);
118
135
  }
136
+ } else if (sProperty === "fixedColumnCount") {
137
+ oGridTable.setFixedColumnCount(vValue);
119
138
  }
120
139
  };
121
140
 
@@ -108,7 +108,7 @@ sap.ui.define([
108
108
  * @extends sap.ui.mdc.util.PropertyHelper
109
109
  *
110
110
  * @author SAP SE
111
- * @version 1.111.6
111
+ * @version 1.112.1
112
112
  *
113
113
  * @private
114
114
  * @experimental
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  *
25
25
  * @class The table type info class for the metadata-driven table.
26
26
  * @extends sap.ui.mdc.table.ColumnSettings
27
- * @version 1.111.6
27
+ * @version 1.112.1
28
28
  * @author SAP SE
29
29
  * @private
30
30
  * @constructor
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * The <code>RowActionItem</code> control represents a action for a row.
25
25
  * This control can only be used in the context of <code>sap.ui.mdc.Table</code> control to define row actions.
26
26
  * @extends sap.ui.core.Element
27
- * @version 1.111.6
27
+ * @version 1.112.1
28
28
  *
29
29
  * @constructor
30
30
  * @experimental
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * The <code>RowSettings</code> control is used to configure a row.
22
22
  * This control can only be used in the context of the <code>sap.ui.mdc.Table</code> control to define row settings.
23
23
  * @extends sap.ui.core.Element
24
- * @version 1.111.6
24
+ * @version 1.112.1
25
25
  *
26
26
  * @constructor
27
27
  * @experimental
@@ -80,7 +80,7 @@ sap.ui.define([
80
80
  * @extends sap.ui.mdc.table.PropertyHelper
81
81
  *
82
82
  * @author SAP SE
83
- * @version 1.111.6
83
+ * @version 1.112.1
84
84
  *
85
85
  * @private
86
86
  * @experimental
@@ -5,9 +5,11 @@
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/ui/core/Core",
8
+ "sap/ui/Device",
8
9
  "sap/m/table/columnmenu/Item"
9
10
  ], function(
10
11
  Core,
12
+ Device,
11
13
  ItemBase
12
14
  ) {
13
15
  "use strict";
@@ -37,6 +39,10 @@ sap.ui.define([
37
39
  }
38
40
 
39
41
  return oTable.getEngine().uimanager.create(oTable, [sKey]).then(function(aPanels) {
42
+ if (!Device.system.phone) {
43
+ aPanels[0].setProperty("_useFixedWidth", true);
44
+ }
45
+
40
46
  this.setContent(aPanels[0]);
41
47
  this.setLabel(oController.getUISettings().title);
42
48
 
@@ -40,4 +40,4 @@
40
40
  .sapUiMDCChart .sapUiMDCChartTempInnerText {
41
41
  justify-content: center;
42
42
  align-content: center;
43
- }
43
+ }
@@ -1,3 +1,7 @@
1
+ .sapMdcValueHelpPanel {
2
+ background-color: @sapUiBaseBG;
3
+ }
4
+
1
5
  // give all panels on the valueHelpPanel a left/right padding
2
6
  .sapMdcValueHelpPanel .sapMPanel {
3
7
  padding-top: 0.5rem;
@@ -165,7 +169,7 @@
165
169
  height: 200px !important;
166
170
  }
167
171
 
168
- .sapMdcValueHelpPanelTableBox .sapUiMdcTable .sapMTitleTB {
172
+ .sapMdcValueHelpPanelTableBox .sapUiMdcTable .sapMTB > .sapMTitle {
169
173
  font-size: 1rem;
170
174
  }
171
175