@openui5/sap.ui.mdc 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 (173) hide show
  1. package/THIRDPARTY.txt +2 -2
  2. package/package.json +4 -4
  3. package/src/sap/ui/mdc/.library +1 -1
  4. package/src/sap/ui/mdc/ActionToolbar.js +1 -1
  5. package/src/sap/ui/mdc/Chart.js +50 -32
  6. package/src/sap/ui/mdc/ChartDelegate.js +66 -21
  7. package/src/sap/ui/mdc/ChartRenderer.js +1 -1
  8. package/src/sap/ui/mdc/Control.js +11 -6
  9. package/src/sap/ui/mdc/Element.js +10 -6
  10. package/src/sap/ui/mdc/Field.js +19 -4
  11. package/src/sap/ui/mdc/FilterBar.js +1 -1
  12. package/src/sap/ui/mdc/FilterBarDelegate.js +26 -0
  13. package/src/sap/ui/mdc/FilterField.js +41 -3
  14. package/src/sap/ui/mdc/Link.js +3 -3
  15. package/src/sap/ui/mdc/MultiValueField.js +11 -1
  16. package/src/sap/ui/mdc/Table.js +73 -39
  17. package/src/sap/ui/mdc/TableDelegate.js +28 -1
  18. package/src/sap/ui/mdc/ValueHelp.js +8 -3
  19. package/src/sap/ui/mdc/ValueHelpDelegate.js +2 -1
  20. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
  21. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarActionRenderer.js +1 -1
  22. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  23. package/src/sap/ui/mdc/chart/ChartToolbar.js +13 -6
  24. package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +7 -7
  25. package/src/sap/ui/mdc/chart/DrillStackHandler.js +6 -6
  26. package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
  27. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  28. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  29. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  30. package/src/sap/ui/mdc/condition/FilterConverter.js +4 -2
  31. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +133 -25
  32. package/src/sap/ui/mdc/condition/Operator.js +4 -2
  33. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +78 -24
  34. package/src/sap/ui/mdc/condition/RangeOperator.js +5 -5
  35. package/src/sap/ui/mdc/designtime/Util.js +63 -0
  36. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +23 -30
  37. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +3 -0
  38. package/src/sap/ui/mdc/designtime/link/PanelItem.designtime.js +3 -1
  39. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +39 -52
  40. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  41. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  42. package/src/sap/ui/mdc/field/ConditionType.js +15 -4
  43. package/src/sap/ui/mdc/field/ConditionsType.js +2 -1
  44. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  45. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  46. package/src/sap/ui/mdc/field/DefineConditionPanel.js +16 -5
  47. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +76 -19
  48. package/src/sap/ui/mdc/field/FieldBase.js +62 -11
  49. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +1 -1
  50. package/src/sap/ui/mdc/field/FieldHelpBase.js +1 -1
  51. package/src/sap/ui/mdc/field/FieldInfoBase.js +2 -1
  52. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  53. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  54. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  55. package/src/sap/ui/mdc/field/FieldValueHelp.js +4 -1
  56. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  57. package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +1 -1
  58. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +5 -4
  59. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +5 -3
  60. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +1 -1
  61. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +7 -7
  62. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  63. package/src/sap/ui/mdc/field/ListFieldHelp.js +1 -1
  64. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  65. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  66. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  67. package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
  68. package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
  69. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  70. package/src/sap/ui/mdc/field/content/ContentFactory.js +5 -1
  71. package/src/sap/ui/mdc/field/content/DateContent.js +27 -19
  72. package/src/sap/ui/mdc/field/content/DateTimeContent.js +0 -6
  73. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +76 -208
  74. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +27 -2
  75. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +127 -57
  76. package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +2 -2
  77. package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +7 -3
  78. package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +52 -14
  79. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +37 -19
  80. package/src/sap/ui/mdc/filterbar/vh/FilterContainer.js +1 -1
  81. package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +48 -31
  82. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  83. package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +36 -0
  84. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +47 -10
  85. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  86. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  87. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +0 -1
  88. package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +2 -85
  89. package/src/sap/ui/mdc/library.js +11 -4
  90. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  91. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  92. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  93. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  94. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  95. package/src/sap/ui/mdc/link/Factory.js +1 -1
  96. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  97. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  98. package/src/sap/ui/mdc/link/Panel.js +1 -1
  99. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  100. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  101. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  102. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  103. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  104. package/src/sap/ui/mdc/messagebundle.properties +2 -1
  105. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +20 -19
  106. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -141
  107. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -9
  108. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  109. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +348 -0
  110. package/src/sap/ui/mdc/odata/TypeUtil.js +1 -1
  111. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +70 -3
  112. package/src/sap/ui/mdc/odata/v4/FilterBarDelegate.js +116 -20
  113. package/src/sap/ui/mdc/odata/v4/ODataMetaModelUtil.js +2 -2
  114. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +11 -33
  115. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +2 -4
  116. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +1 -1
  117. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +281 -263
  118. package/src/sap/ui/mdc/p13n/AdaptationProvider.js +1 -1
  119. package/src/sap/ui/mdc/p13n/Engine.js +21 -18
  120. package/src/sap/ui/mdc/p13n/FlexUtil.js +0 -5
  121. package/src/sap/ui/mdc/p13n/PropertyHelper.js +2 -2
  122. package/src/sap/ui/mdc/p13n/StateUtil.js +4 -0
  123. package/src/sap/ui/mdc/p13n/UIManager.js +16 -13
  124. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +18 -14
  125. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +1 -1
  126. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +6 -6
  127. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +49 -27
  128. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +4 -3
  129. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +136 -0
  130. package/src/sap/ui/mdc/p13n/panels/GroupView.js +53 -28
  131. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +54 -18
  132. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +4 -7
  133. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +1 -2
  134. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +1 -1
  135. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +8 -4
  136. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +1 -0
  137. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +2 -2
  138. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  139. package/src/sap/ui/mdc/table/GridTableType.js +75 -27
  140. package/src/sap/ui/mdc/table/PropertyHelper.js +20 -13
  141. package/src/sap/ui/mdc/table/ResponsiveTableType.js +86 -13
  142. package/src/sap/ui/mdc/table/RowActionItem.js +119 -0
  143. package/src/sap/ui/mdc/table/RowSettings.js +42 -1
  144. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +2 -2
  145. package/src/sap/ui/mdc/themes/base/Chart.less +2 -0
  146. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +1 -0
  147. package/src/sap/ui/mdc/util/DateUtil.js +32 -7
  148. package/src/sap/ui/mdc/util/FilterUtil.js +1 -1
  149. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  150. package/src/sap/ui/mdc/util/PropertyHelper.js +201 -76
  151. package/src/sap/ui/mdc/util/TypeUtil.js +1 -1
  152. package/src/sap/ui/mdc/valuehelp/Dialog.js +1 -1
  153. package/src/sap/ui/mdc/valuehelp/Popover.js +5 -3
  154. package/src/sap/ui/mdc/valuehelp/base/Container.js +1 -1
  155. package/src/sap/ui/mdc/valuehelp/base/Content.js +1 -1
  156. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  157. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +4 -4
  158. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
  159. package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
  160. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +1 -1
  161. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +13 -10
  162. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +4 -10
  163. package/src/sap/ui/mdc/valuehelp/content/MTable.js +6 -4
  164. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +2 -0
  165. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +0 -1
  166. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +8 -6
  167. package/src/sap/ui/mdc/filterbar/vh/GenericFilterBarDelegate.js +0 -150
  168. package/src/sap/ui/mdc/p13n/panels/BasePanel.js +0 -721
  169. package/src/sap/ui/mdc/p13n/panels/ListView.js +0 -408
  170. package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +0 -92
  171. package/src/sap/ui/mdc/p13n/panels/SortPanel.js +0 -150
  172. package/src/sap/ui/mdc/ui/Container.js +0 -240
  173. package/src/sap/ui/mdc/ui/ContainerItem.js +0 -79
@@ -44,9 +44,7 @@ sap.ui.define([
44
44
  "Edm.Time": "TimeOfDay"
45
45
  };
46
46
 
47
- var mMainEntitySet = {};
48
-
49
-
47
+ var InstanceCache = new Map();
50
48
 
51
49
  ODataFilterBarDelegate._fetchPropertiesByMetadata = function(oControl, mPropertyBag) {
52
50
 
@@ -92,7 +90,7 @@ sap.ui.define([
92
90
  }
93
91
  };
94
92
 
95
- return mPropertyBag ? this.fetchProperties(oObj) : oControl.getControlDelegate().fetchProperties(oControl);
93
+ return mPropertyBag ? this.fetchProperties(oObj) : Promise.resolve(oControl.getPropertyHelper().getProperties());
96
94
  }.bind(this));
97
95
  };
98
96
 
@@ -246,6 +244,109 @@ sap.ui.define([
246
244
  return Promise.resolve(this._createFilter(sPropertyName, oFilterBar, mPropertyBag));
247
245
  };
248
246
 
247
+
248
+ ODataFilterBarDelegate._getInstanceCacheEntry = function(oControl, sKey) {
249
+ var sId = oControl.getId && oControl.getId() || oControl.id;
250
+ var oCacheEntry = InstanceCache.get(sId);
251
+ return oCacheEntry && oCacheEntry[sKey];
252
+ };
253
+ ODataFilterBarDelegate._setInstanceCacheEntry = function(oControl, sKey, oValue) {
254
+ var sId = oControl.getId && oControl.getId() || oControl.id;
255
+ var oCacheEntry = InstanceCache.get(sId) || {};
256
+ oCacheEntry[sKey] = oValue;
257
+ InstanceCache.set(sId, oCacheEntry);
258
+ };
259
+
260
+ ODataFilterBarDelegate._addPropertyInfoEntry = function(oControl, sPropertyName, aPropertyInfo, aFetchedProperties, oModifier) {
261
+
262
+ if (aFetchedProperties) {
263
+ var nIdx = aFetchedProperties.findIndex(function(oEntry) {
264
+ return oEntry.name === sPropertyName;
265
+ });
266
+
267
+ if (nIdx >= 0) {
268
+ aPropertyInfo.push({
269
+ name: sPropertyName,
270
+ dataType: aFetchedProperties[nIdx].typeConfig.className,
271
+ maxConditions: aFetchedProperties[nIdx].maxConditions,
272
+ constraints: aFetchedProperties[nIdx].constraints,
273
+ formatOption: aFetchedProperties[nIdx].formatOptions,
274
+ required: aFetchedProperties[nIdx].required,
275
+ caseSensitive: aFetchedProperties[nIdx].caseSensitive,
276
+ display: aFetchedProperties[nIdx].display,
277
+ label: aFetchedProperties[nIdx].label,
278
+ hiddenFilter: aFetchedProperties[nIdx].hiddenFilter
279
+ });
280
+ oModifier.setProperty(oControl, "propertyInfo", aPropertyInfo);
281
+ } else {
282
+ Log.error("ConditionFlex-ChangeHandler: no type info for property '" + sPropertyName + "'");
283
+ }
284
+ }
285
+ };
286
+
287
+
288
+ ODataFilterBarDelegate._updatePropertyInfo = function(sPropertyName, oFilterBar, mPropertyBag) {
289
+
290
+ if (oFilterBar.isA && oFilterBar.isA("sap.ui.mdc.FilterBar")) {
291
+ return Promise.resolve();
292
+ }
293
+
294
+ var oModifier = mPropertyBag.modifier;
295
+
296
+ return oModifier.getProperty(oFilterBar, "propertyInfo")
297
+ .then(function(aPropertyInfo) {
298
+ if (!aPropertyInfo) {
299
+ return Promise.resolve();
300
+ }
301
+ var nIdx = aPropertyInfo.findIndex(function(oEntry) {
302
+ return oEntry.name === sPropertyName;
303
+ });
304
+
305
+ if (nIdx < 0) {
306
+
307
+ var aFetchedProperties = ODataFilterBarDelegate._getInstanceCacheEntry(oFilterBar, "fetchedProperties");
308
+ if (aFetchedProperties) {
309
+ ODataFilterBarDelegate._addPropertyInfoEntry(oFilterBar, sPropertyName, aPropertyInfo, aFetchedProperties, oModifier);
310
+ } else {
311
+ //fetch
312
+ return ODataFilterBarDelegate.fetchProperties(oFilterBar, mPropertyBag)
313
+ .then(function(aProperties) {
314
+ ODataFilterBarDelegate._setInstanceCacheEntry(oFilterBar, "fetchedProperties", aProperties);
315
+ ODataFilterBarDelegate._addPropertyInfoEntry(oFilterBar, sPropertyName, aPropertyInfo, aProperties, oModifier);
316
+ });
317
+ }
318
+ }
319
+ });
320
+ };
321
+
322
+
323
+ /**
324
+ * This methods is called during the appliance of the add condition change.
325
+ * This intention is to update the propertyInfo property.
326
+ *
327
+ * @param {string} sPropertyName The name of a property.
328
+ * @param {sap.ui.mdc.FilterBar} oFilterBar - the instance of filter bar
329
+ * @param {Object} mPropertyBag Instance of property bag from Flex change API
330
+ * @returns {Promise} Promise that resolves once the properyInfo property was updated
331
+ */
332
+ ODataFilterBarDelegate.addCondition = function(sPropertyName, oFilterBar, mPropertyBag) {
333
+ return ODataFilterBarDelegate._updatePropertyInfo(sPropertyName, oFilterBar, mPropertyBag);
334
+ };
335
+
336
+ /**
337
+ * This methods is called during the appliance of the remove condition change.
338
+ * This intention is to update the propertyInfo property.
339
+ *
340
+ * @param {string} sPropertyName The name of a property.
341
+ * @param {sap.ui.mdc.FilterBar} oFilterBar - the instance of filter bar
342
+ * @param {Object} mPropertyBag Instance of property bag from Flex change API
343
+ * @returns {Promise} Promise that resolves once the properyInfo property was updated
344
+ */
345
+ ODataFilterBarDelegate.removeCondition = function(sPropertyName, oFilterBar, mPropertyBag) {
346
+ return ODataFilterBarDelegate._updatePropertyInfo(sPropertyName, oFilterBar, mPropertyBag);
347
+ };
348
+
349
+
249
350
  /**
250
351
  * Can be used to trigger any necessary follow-up steps on removal of filter items. The returned boolean value inside the Promise can be used to
251
352
  * prevent default follow-up behaviour of Flex.
@@ -560,7 +661,11 @@ sap.ui.define([
560
661
  * @param {object} oFilterBar - the instance of filter bar
561
662
  * @returns {Promise} once resolved an array of property info is returned
562
663
  */
563
- ODataFilterBarDelegate.fetchProperties = function (oFilterBar) {
664
+ ODataFilterBarDelegate.fetchProperties = function (oFilterBar, mPropertyBag) {
665
+
666
+ if (!(oFilterBar.isA && oFilterBar.isA("sap.ui.mdc.FilterBar")) && mPropertyBag) {
667
+ return ODataFilterBarDelegate._fetchPropertiesByMetadata(oFilterBar, mPropertyBag);
668
+ }
564
669
 
565
670
  var sModelName = oFilterBar.getDelegate().payload.modelName;
566
671
  var sEntitySet = oFilterBar.getDelegate().payload.collectionName;
@@ -569,9 +674,9 @@ sap.ui.define([
569
674
 
570
675
  var oMetaModel;
571
676
 
572
- var sCachKey = oFilterBar.getId() + '->' + sEntitySet;
573
- if (mMainEntitySet[sCachKey]) {
574
- resolve(mMainEntitySet[sCachKey]);
677
+ var oCachedEntitySet = ODataFilterBarDelegate._getInstanceCacheEntry(oFilterBar, "fetchedProperties");
678
+ if (oCachedEntitySet) {
679
+ resolve(oCachedEntitySet);
575
680
  return;
576
681
  }
577
682
 
@@ -594,7 +699,7 @@ sap.ui.define([
594
699
  ODataFilterBarDelegate._fetchEntitySet(oMetaModel, '/' + sEntitySet, aVisitedEntityTypes, null, oParamInfo).then(function(aProperties) {
595
700
 
596
701
  if (oParamInfo.parameterNavigationName && (oParamInfo.parameters.length > 0)) {
597
- window[oFilterBar.getId() + '->' + sEntitySet + "-Parameters"] = oParamInfo;
702
+ ODataFilterBarDelegate._setInstanceCacheEntry(oFilterBar, sEntitySet + "-Parameters", oParamInfo);
598
703
 
599
704
  //parameters are initially at the top of the result
600
705
  aProperties.sort(function(p1, p2) {
@@ -622,7 +727,7 @@ sap.ui.define([
622
727
  return mProperties[sName];
623
728
  });
624
729
 
625
- mMainEntitySet[sCachKey] = aProperties;
730
+ ODataFilterBarDelegate._setInstanceCacheEntry(oFilterBar, "fetchedProperties", aProperties);
626
731
  resolve(aProperties);
627
732
  });
628
733
  }
@@ -633,17 +738,8 @@ sap.ui.define([
633
738
  }.bind(this));
634
739
  };
635
740
 
636
-
637
741
  ODataFilterBarDelegate.cleanup = function (oFilterBar) {
638
- var sFilterBarId = oFilterBar.getId() + "->";
639
-
640
- Object.keys(mMainEntitySet).forEach(function(sKey){
641
- if (sKey.indexOf(sFilterBarId) === 0) {
642
-
643
- delete window[sFilterBarId + sKey + "-Parameters"];
644
- delete mMainEntitySet[sKey];
645
- }
646
- });
742
+ InstanceCache.delete(oFilterBar.getId());
647
743
  };
648
744
 
649
745
  ODataFilterBarDelegate.getTypeUtil = function (oPayload) {
@@ -163,8 +163,8 @@ sap.ui.define(["sap/ui/mdc/util/TypeUtil"], function(TypeUtil) {
163
163
 
164
164
  /**
165
165
  * Checks whether the thresholds are dynamic or constant.
166
- * @param {object} the threshold skeleton
167
- * @param {object} the UI.DataPoint.CriticalityCalculation annotation
166
+ * @param {object} oThresholds the threshold skeleton
167
+ * @param {object} oCriticalityCalculation the UI.DataPoint.CriticalityCalculation annotation
168
168
  * @returns {boolean} <code>true</code> if the threshold should be supplied as ConstantThresholds, <code>false</code> if the threshold should
169
169
  * be supplied as DynamicThresholds
170
170
  * @private
@@ -6,6 +6,7 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "../../TableDelegate",
9
+ "../../table/V4AnalyticsPropertyHelper",
9
10
  "../../util/loadModules",
10
11
  "../../library",
11
12
  "sap/m/ColumnPopoverSelectListItem",
@@ -17,6 +18,7 @@ sap.ui.define([
17
18
  "sap/ui/base/ManagedObjectObserver"
18
19
  ], function(
19
20
  TableDelegate,
21
+ V4AnalyticsPropertyHelper,
20
22
  loadModules,
21
23
  library,
22
24
  ColumnPopoverSelectListItem,
@@ -51,37 +53,14 @@ sap.ui.define([
51
53
  var Delegate = Object.assign({}, TableDelegate);
52
54
 
53
55
  /**
54
- * Fetches the model-specific <code>PropertyHelper</code> class or instance.
56
+ * Gets the model-specific <code>PropertyHelper</code> class to create an instance of.
55
57
  *
56
- * <b>Note:</b> The <code>PropertyHelper</code> class adds the extension of a property to the reserved attribute "extension". It is not allowed to
57
- * add an <code>extension</code> attribute in the standard <code>PropertyInfo</code>.
58
- *
59
- * @example <caption>Initializing a <code>PropertyHelper</code> with extensions:</caption>
60
- * new PropertyHelper(
61
- * [{
62
- * name: "propA",
63
- * label: "Property A",
64
- * extension: {
65
- * messageType: "Success"
66
- * }
67
- * }, {
68
- * name: "propB",
69
- * label: "Property B"
70
- * }]
71
- * )
72
- *
73
- * @param {sap.ui.mdc.Table} oTable Instance of the table
74
- * @param {object[]} aProperties <code>PropertyInfo</code>
75
- * @param {Promise<object<string, object>|null>} mExtensions The property extensions
76
- * @returns {Promise<sap.ui.mdc.table.V4AnalyticsPropertyHelper>} A <code>Promise</code> that resolves with the <code>PropertyHelper</code> class
77
- * or instance
58
+ * @returns {sap.ui.mdc.table.V4AnalyticsPropertyHelper} The <code>PropertyHelper</code> class.
78
59
  * @private
79
60
  * @ui5-restricted sap.ui.mdc
80
61
  */
81
- Delegate.fetchPropertyHelper = function(oTable, aProperties, mExtensions) {
82
- return loadModules("sap/ui/mdc/table/V4AnalyticsPropertyHelper").then(function(aResult) {
83
- return aResult[0];
84
- });
62
+ Delegate.getPropertyHelperClass = function() {
63
+ return V4AnalyticsPropertyHelper;
85
64
  };
86
65
 
87
66
  /**
@@ -94,7 +73,7 @@ sap.ui.define([
94
73
  *
95
74
  * @param {sap.ui.mdc.Table} oTable Instance of the table
96
75
  * @param {object[]} aProperties <code>PropertyInfo</code>
97
- * @returns {Promise<object<string, object>|null>} Key-value map, where the key is the name of the property, and the value is the extension
76
+ * @returns {Promise<Object<string, object>|null>} Key-value map, where the key is the name of the property, and the value is the extension
98
77
  * @protected
99
78
  */
100
79
  Delegate.fetchPropertyExtensions = function(oTable, aProperties) {
@@ -121,7 +100,7 @@ sap.ui.define([
121
100
  *
122
101
  * @param {sap.ui.mdc.Table} oTable Instance of the table
123
102
  * @param {object[]} aProperties <code>PropertyInfo</code>
124
- * @returns {Promise<object<string, object>|null>} Key-value map, where the key is the name of the property, and the value is the extension
103
+ * @returns {Promise<Object<string, object>|null>} Key-value map, where the key is the name of the property, and the value is the extension
125
104
  * @protected
126
105
  */
127
106
  Delegate.fetchPropertyExtensionsForBinding = function(oTable, aProperties) {
@@ -226,7 +205,7 @@ sap.ui.define([
226
205
  * <code>model</code>... must be provided in the {@link #updateBindingInfo updateBindingInfo} method always,
227
206
  * and those keys must not be changed conditionally.
228
207
  *
229
- * @param {sap.ui.mdc.Table} oMDCTable Instance of the table
208
+ * @param {sap.ui.mdc.Table} oTable Instance of the table
230
209
  * @param {sap.ui.base.ManagedObject.AggregationBindingInfo} oBindingInfo The binding info object to be used to bind the table to the model.
231
210
  * @param {sap.ui.model.ListBinding} [oBinding] The binding instance of the table
232
211
  * @protected
@@ -707,10 +686,9 @@ sap.ui.define([
707
686
  return oDelegate.fetchPropertyExtensionsForBinding(oTable, aProperties);
708
687
  }).then(function(mExtensionsForBinding) {
709
688
  mExtensions = mExtensionsForBinding;
710
- return oDelegate.fetchPropertyHelper(oTable, aProperties, mExtensions);
689
+ return oDelegate.getPropertyHelperClass();
711
690
  }).then(function(PropertyHelper) {
712
- var bIsPropertyHelperInstance = PropertyHelper.constructor === PropertyHelper;
713
- mTableMap.oPropertyHelperForBinding = bIsPropertyHelperInstance ? PropertyHelper : new PropertyHelper(aProperties, mExtensions, oTable);
691
+ mTableMap.oPropertyHelperForBinding = new PropertyHelper(aProperties, mExtensions, oTable);
714
692
  return mTableMap.oPropertyHelperForBinding;
715
693
  });
716
694
  }
@@ -4,7 +4,7 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
- sap.ui.define(['sap/ui/mdc/odata/TypeUtil', 'sap/ui/mdc/enum/BaseType'], function(ODataTypeUtil, BaseType) {
7
+ sap.ui.define(['sap/ui/mdc/odata/TypeUtil', 'sap/ui/mdc/enum/BaseType', 'sap/base/util/merge'], function(ODataTypeUtil, BaseType, merge) {
8
8
  "use strict";
9
9
 
10
10
  /**
@@ -62,9 +62,7 @@ sap.ui.define(['sap/ui/mdc/odata/TypeUtil', 'sap/ui/mdc/enum/BaseType'], functio
62
62
  switch (sDataType) {
63
63
  case "sap.ui.model.odata.type.DateTimeOffset":
64
64
  case "Edm.DateTimeOffset":
65
- if (!constraints) {
66
- constraints = {};
67
- }
65
+ constraints = merge({}, constraints);
68
66
  constraints.V4 = true;
69
67
  break;
70
68
 
@@ -15,7 +15,7 @@ sap.ui.define([
15
15
 
16
16
  var ODataV4ValueHelpDelegate = Object.assign({}, ValueHelpDelegate);
17
17
 
18
- ODataV4ValueHelpDelegate.isSearchSupported = function(oPayload, oListBinding) {
18
+ ODataV4ValueHelpDelegate.isSearchSupported = function(oPayload, oContent, oListBinding) {
19
19
  return !!oListBinding.changeParameters;
20
20
  };
21
21