@openui5/sap.ui.mdc 1.98.0 → 1.99.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 (191) 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 +6 -3
  4. package/src/sap/ui/mdc/AggregationBaseDelegate.js +1 -1
  5. package/src/sap/ui/mdc/Chart.js +112 -28
  6. package/src/sap/ui/mdc/ChartDelegate.js +9 -9
  7. package/src/sap/ui/mdc/ChartRenderer.js +1 -1
  8. package/src/sap/ui/mdc/Control.js +1 -1
  9. package/src/sap/ui/mdc/Element.js +1 -1
  10. package/src/sap/ui/mdc/Field.js +2 -2
  11. package/src/sap/ui/mdc/FilterBar.js +1 -1
  12. package/src/sap/ui/mdc/FilterField.js +2 -2
  13. package/src/sap/ui/mdc/Link.js +20 -2
  14. package/src/sap/ui/mdc/LinkDelegate.js +2 -2
  15. package/src/sap/ui/mdc/MultiValueField.js +20 -6
  16. package/src/sap/ui/mdc/Table.js +35 -24
  17. package/src/sap/ui/mdc/TableDelegate.js +29 -14
  18. package/src/sap/ui/mdc/ValueHelp.js +1 -1
  19. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -2
  20. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  21. package/src/sap/ui/mdc/chart/ChartToolbar.js +42 -6
  22. package/src/sap/ui/mdc/chart/ChartTypeButton.js +13 -8
  23. package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
  24. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  25. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  26. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  27. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  28. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +256 -43
  29. package/src/sap/ui/mdc/condition/Operator.js +1 -1
  30. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +1 -1
  31. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  32. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +3 -0
  33. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +60 -20
  34. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  35. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  36. package/src/sap/ui/mdc/field/ConditionType.js +3 -3
  37. package/src/sap/ui/mdc/field/ConditionsType.js +1 -1
  38. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  39. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  40. package/src/sap/ui/mdc/field/DefineConditionPanel.js +18 -7
  41. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +1 -1
  42. package/src/sap/ui/mdc/field/FieldBase.js +3 -1
  43. package/src/sap/ui/mdc/field/FieldHelpBase.js +2 -2
  44. package/src/sap/ui/mdc/field/FieldInfoBase.js +23 -10
  45. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  46. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  47. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  48. package/src/sap/ui/mdc/field/FieldValueHelp.js +1 -1
  49. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  50. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
  51. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +2 -2
  52. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +6 -3
  53. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
  54. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  55. package/src/sap/ui/mdc/field/ListFieldHelp.js +1 -1
  56. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  57. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  58. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  59. package/src/sap/ui/mdc/field/TokenDisplay.js +70 -0
  60. package/src/sap/ui/mdc/field/TokenDisplayRenderer.js +24 -0
  61. package/src/sap/ui/mdc/field/TokenizerDisplay.js +80 -0
  62. package/src/sap/ui/mdc/field/TokenizerDisplayRenderer.js +69 -0
  63. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  64. package/src/sap/ui/mdc/field/content/ContentFactory.js +5 -5
  65. package/src/sap/ui/mdc/field/content/DefaultContent.js +35 -13
  66. package/src/sap/ui/mdc/field/content/LinkContent.js +1 -1
  67. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +36 -4
  68. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +1 -1
  69. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  70. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +1 -1
  71. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  72. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +6 -4
  73. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  74. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  75. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +5 -5
  76. package/src/sap/ui/mdc/library.js +15 -7
  77. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  78. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  79. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  80. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  81. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  82. package/src/sap/ui/mdc/link/Factory.js +1 -1
  83. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  84. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  85. package/src/sap/ui/mdc/link/Log.js +1 -1
  86. package/src/sap/ui/mdc/link/Panel.js +9 -8
  87. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  88. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  89. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  90. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  91. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  92. package/src/sap/ui/mdc/messagebundle.properties +49 -1
  93. package/src/sap/ui/mdc/messagebundle_ar.properties +34 -2
  94. package/src/sap/ui/mdc/messagebundle_bg.properties +52 -20
  95. package/src/sap/ui/mdc/messagebundle_ca.properties +34 -2
  96. package/src/sap/ui/mdc/messagebundle_cs.properties +34 -2
  97. package/src/sap/ui/mdc/messagebundle_cy.properties +34 -2
  98. package/src/sap/ui/mdc/messagebundle_da.properties +34 -2
  99. package/src/sap/ui/mdc/messagebundle_de.properties +34 -2
  100. package/src/sap/ui/mdc/messagebundle_el.properties +34 -2
  101. package/src/sap/ui/mdc/messagebundle_en.properties +34 -2
  102. package/src/sap/ui/mdc/messagebundle_en_GB.properties +34 -2
  103. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +34 -2
  104. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +61 -4
  105. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +34 -2
  106. package/src/sap/ui/mdc/messagebundle_es.properties +34 -2
  107. package/src/sap/ui/mdc/messagebundle_es_MX.properties +35 -3
  108. package/src/sap/ui/mdc/messagebundle_et.properties +34 -2
  109. package/src/sap/ui/mdc/messagebundle_fi.properties +34 -2
  110. package/src/sap/ui/mdc/messagebundle_fr.properties +35 -3
  111. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +34 -2
  112. package/src/sap/ui/mdc/messagebundle_hi.properties +34 -2
  113. package/src/sap/ui/mdc/messagebundle_hr.properties +34 -2
  114. package/src/sap/ui/mdc/messagebundle_hu.properties +34 -2
  115. package/src/sap/ui/mdc/messagebundle_id.properties +34 -2
  116. package/src/sap/ui/mdc/messagebundle_it.properties +35 -3
  117. package/src/sap/ui/mdc/messagebundle_iw.properties +34 -2
  118. package/src/sap/ui/mdc/messagebundle_ja.properties +34 -2
  119. package/src/sap/ui/mdc/messagebundle_kk.properties +34 -2
  120. package/src/sap/ui/mdc/messagebundle_ko.properties +34 -2
  121. package/src/sap/ui/mdc/messagebundle_lt.properties +34 -2
  122. package/src/sap/ui/mdc/messagebundle_lv.properties +38 -6
  123. package/src/sap/ui/mdc/messagebundle_ms.properties +34 -2
  124. package/src/sap/ui/mdc/messagebundle_nl.properties +34 -2
  125. package/src/sap/ui/mdc/messagebundle_no.properties +34 -2
  126. package/src/sap/ui/mdc/messagebundle_pl.properties +34 -2
  127. package/src/sap/ui/mdc/messagebundle_pt.properties +34 -2
  128. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +34 -2
  129. package/src/sap/ui/mdc/messagebundle_ro.properties +34 -2
  130. package/src/sap/ui/mdc/messagebundle_ru.properties +34 -2
  131. package/src/sap/ui/mdc/messagebundle_sh.properties +34 -2
  132. package/src/sap/ui/mdc/messagebundle_sk.properties +34 -2
  133. package/src/sap/ui/mdc/messagebundle_sl.properties +34 -2
  134. package/src/sap/ui/mdc/messagebundle_sv.properties +34 -2
  135. package/src/sap/ui/mdc/messagebundle_th.properties +37 -5
  136. package/src/sap/ui/mdc/messagebundle_tr.properties +34 -2
  137. package/src/sap/ui/mdc/messagebundle_uk.properties +37 -5
  138. package/src/sap/ui/mdc/messagebundle_vi.properties +34 -2
  139. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +34 -2
  140. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +34 -2
  141. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +18 -3
  142. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  143. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  144. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  145. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +1 -1
  146. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +3 -3
  147. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +81 -70
  148. package/src/sap/ui/mdc/p13n/Engine.js +8 -4
  149. package/src/sap/ui/mdc/p13n/P13nBuilder.js +6 -6
  150. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  151. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  152. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +1 -1
  153. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1 -1
  154. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +1 -1
  155. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +8 -2
  156. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  157. package/src/sap/ui/mdc/table/PropertyHelper.js +1 -1
  158. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  159. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  160. package/src/sap/ui/mdc/themes/base/TokenDisplay.less +89 -0
  161. package/src/sap/ui/mdc/themes/base/TokenizerDisplay.less +90 -0
  162. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +3 -3
  163. package/src/sap/ui/mdc/themes/base/library.source.less +2 -0
  164. package/src/sap/ui/mdc/ui/Container.js +2 -2
  165. package/src/sap/ui/mdc/ui/ContainerItem.js +2 -2
  166. package/src/sap/ui/mdc/util/FormatUtil.js +2 -2
  167. package/src/sap/ui/mdc/util/IdentifierUtil.js +5 -5
  168. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  169. package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
  170. package/src/sap/ui/mdc/valuehelp/Dialog.js +1 -1
  171. package/src/sap/ui/mdc/valuehelp/Popover.js +1 -1
  172. package/src/sap/ui/mdc/valuehelp/base/Container.js +1 -1
  173. package/src/sap/ui/mdc/valuehelp/base/Content.js +1 -1
  174. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  175. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +1 -1
  176. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
  177. package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
  178. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +1 -1
  179. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
  180. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +8 -3
  181. package/src/sap/ui/mdc/valuehelp/content/MTable.js +1 -1
  182. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +2 -1
  183. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +2 -2
  184. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +2 -2
  185. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +9 -9
  186. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +8 -8
  187. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +19 -19
  188. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +54 -0
  189. package/test/sap/ui/mdc/testutils/opa/valueHelp/Assertions.js +5 -0
  190. package/test/sap/ui/mdc/testutils/opa/valueHelp/TestObjects.js +40 -0
  191. package/test/sap/ui/mdc/testutils/opa/valueHelp/Util.js +28 -0
@@ -22,7 +22,10 @@ sap.ui.define([
22
22
  "sap/ui/base/ManagedObjectObserver",
23
23
  "sap/ui/core/ResizeHandler",
24
24
  "sap/ui/mdc/p13n/panels/ChartItemPanel",
25
- "sap/m/MessageStrip"
25
+ "sap/m/MessageStrip",
26
+ "../TypeUtil",
27
+ "../FilterBarDelegate",
28
+ "sap/ui/model/Filter"
26
29
  ], function (
27
30
  V4ChartDelegate,
28
31
  loadModules,
@@ -41,7 +44,10 @@ sap.ui.define([
41
44
  ManagedObjectObserver,
42
45
  ResizeHandler,
43
46
  ChartItemPanel,
44
- MessageStrip
47
+ MessageStrip,
48
+ V4TypeUtil,
49
+ V4FilterBarDelegate,
50
+ Filter
45
51
  ) {
46
52
  "use strict";
47
53
  /**
@@ -82,6 +88,14 @@ sap.ui.define([
82
88
  mStateMap.set(oMDCChart, oState);
83
89
  };
84
90
 
91
+ ChartDelegate.getTypeUtil = function() {
92
+ return V4TypeUtil;
93
+ };
94
+
95
+ ChartDelegate.getFilterDelegate = function() {
96
+ return V4FilterBarDelegate;
97
+ };
98
+
85
99
  ChartDelegate._deleteState = function(oMDCChart) {
86
100
 
87
101
  if (this._getState(oMDCChart).vizTooltip) {
@@ -176,36 +190,6 @@ sap.ui.define([
176
190
  * ...
177
191
  */
178
192
 
179
- /**
180
- * Provides the table's filter delegate that provides basic filter functionality such as adding filter fields.
181
- * <b>Note:</b> The functionality provided in this delegate should act as a subset of a FilterBarDelegate
182
- * to enable the table for inbuilt filtering.
183
- *
184
- * @example <caption>Example usage of <code>getFilterDelegate</code></caption>
185
- * oFilterDelegate = {
186
- * addItem: function() {
187
- * var oFilterFieldPromise = new Promise(...);
188
- * return oFilterFieldPromise;
189
- * }
190
- * }
191
- * @returns {Object} Object for the chart filter personalization
192
- * @public
193
- */
194
- ChartDelegate.getFilterDelegate = function () {
195
- return {
196
- /**
197
- *
198
- * @param {String} sPropertyName The property name
199
- * @param {Object} oMDCChart Instance of the chart TODO: Which one? MDC or inner?
200
- *
201
- * @returns {Promise} Promise that resolves with an instance of a <code>sap.ui.mdc.FilterField</code>.
202
- * For more information, see {@link sap.ui.mdc.AggregationBaseDelegate#addItem AggregationBaseDelegate}.
203
- */
204
- addItem: function (sPropertyName, oMDCChart) {
205
- return Promise.resolve(null);
206
- }
207
- };
208
- };
209
193
 
210
194
  ChartDelegate.exit = function(oMDCChart) {
211
195
  if (this._getInnerStructure(oMDCChart)){
@@ -344,7 +328,7 @@ sap.ui.define([
344
328
  /**
345
329
  * Sets the visibility of the legend
346
330
  * This is called by the MDC Chart, do not call it directly!
347
- * @param {bool} bVisible true to show legend, false to hide
331
+ * @param {boolean} bVisible true to show legend, false to hide
348
332
  *
349
333
  * @experimental
350
334
  * @private
@@ -1257,7 +1241,7 @@ sap.ui.define([
1257
1241
 
1258
1242
  /**
1259
1243
  * Returns whether the inner chart is currently bound
1260
- * @returns {bool} true if inner chart is bound; false if not
1244
+ * @returns {boolean} true if inner chart is bound; false if not
1261
1245
  */
1262
1246
  ChartDelegate.getInnerChartBound = function (oMDCChart) {
1263
1247
  var oState = this._getState(oMDCChart);
@@ -1276,48 +1260,73 @@ sap.ui.define([
1276
1260
  * @param {Object} oBindingInfo The binding info of the chart
1277
1261
  */
1278
1262
  ChartDelegate.updateBindingInfo = function (oMDCChart, oBindingInfo) {
1279
- var oFilter = Core.byId(oMDCChart.getFilter());
1280
- if (oFilter) {
1281
- var mConditions = oFilter.getConditions();
1263
+ var aFilters = createInnerFilters.call(this, oMDCChart).concat(createOuterFilters.call(this, oMDCChart));
1264
+ addSearchParameter(oMDCChart, oBindingInfo);
1265
+ oBindingInfo.filters = new Filter(aFilters, true);
1266
+ };
1282
1267
 
1283
- if (mConditions) {
1268
+ function createInnerFilters(oChart) {
1269
+ var bFilterEnabled = oChart.getP13nMode().indexOf("Filter") > -1;
1270
+ var aFilters = [];
1284
1271
 
1285
- if (!oBindingInfo) {
1286
- oBindingInfo = {};
1287
- }
1272
+ if (bFilterEnabled) {
1273
+ var aChartProperties = oChart.getPropertyHelper().getProperties();
1274
+ var oInnerFilterInfo = FilterUtil.getFilterInfo(this.getTypeUtil(), oChart.getConditions(), aChartProperties);
1288
1275
 
1289
- var aPropertiesMetadata = oFilter.getPropertyInfoSet ? oFilter.getPropertyInfoSet() : null;
1290
- var aParameterNames = DelegateUtil.getParameterNames(oFilter);
1291
- var oFilterInfo = FilterUtil.getFilterInfo(ChartDelegate.getTypeUtil(), mConditions, aPropertiesMetadata, aParameterNames);
1292
- if (oFilterInfo) {
1293
- oBindingInfo.filters = oFilterInfo.filters;
1294
- }
1276
+ if (oInnerFilterInfo.filters) {
1277
+ aFilters.push(oInnerFilterInfo.filters);
1278
+ }
1279
+ }
1295
1280
 
1296
- var sParameterPath = DelegateUtil.getParametersInfo(oFilter);
1297
- if (sParameterPath) {
1298
- oBindingInfo.path = sParameterPath;
1299
- }
1300
- }
1281
+ return aFilters;
1282
+ }
1301
1283
 
1302
- // get the basic search
1303
- var sSearchText = oFilter.getSearch instanceof Function ? oFilter.getSearch() : "";
1304
- if (sSearchText) {
1284
+ function createOuterFilters(oChart) {
1285
+ var oFilter = Core.byId(oChart.getFilter());
1286
+ var aFilters = [];
1305
1287
 
1306
- if (!oBindingInfo) {
1307
- oBindingInfo = {};
1308
- }
1288
+ if (!oFilter) {
1289
+ return aFilters;
1290
+ }
1309
1291
 
1310
- if (!oBindingInfo.parameters) {
1311
- oBindingInfo.parameters = {};
1312
- }
1313
- // add basic search parameter as expected by v4.ODataListBinding
1314
- oBindingInfo.parameters.$search = sSearchText;
1315
- } else if (oBindingInfo.parameters && oBindingInfo.parameters.$search) {
1316
- delete oBindingInfo.parameters.$search;
1317
- }
1292
+ var mConditions = oFilter.getConditions();
1293
+
1294
+ if (mConditions) {
1295
+ var aPropertiesMetadata = oFilter.getPropertyInfoSet ? oFilter.getPropertyInfoSet() : null;
1296
+ var aParameterNames = DelegateUtil.getParameterNames(oFilter);
1297
+ var oOuterFilterInfo = FilterUtil.getFilterInfo(this.getTypeUtil(), mConditions, aPropertiesMetadata, aParameterNames);
1298
+
1299
+ if (oOuterFilterInfo.filters) {
1300
+ aFilters.push(oOuterFilterInfo.filters);
1301
+ }
1302
+ }
1318
1303
 
1304
+ return aFilters;
1305
+ }
1306
+
1307
+ function addSearchParameter(oChart, oBindingInfo) {
1308
+ var oFilter = Core.byId(oChart.getFilter());
1309
+ if (!oFilter) {
1310
+ return;
1311
+ }
1312
+
1313
+ var mConditions = oFilter.getConditions();
1314
+ // get the basic search
1315
+ var sSearchText = oFilter.getSearch instanceof Function ? oFilter.getSearch() : "";
1316
+
1317
+ if (mConditions) {
1318
+ var sParameterPath = DelegateUtil.getParametersInfo(oFilter, mConditions);
1319
+ if (sParameterPath) {
1320
+ oBindingInfo.path = sParameterPath;
1321
+ }
1322
+ }
1323
+
1324
+ if (!oBindingInfo.parameters) {
1325
+ oBindingInfo.parameters = {};
1319
1326
  }
1320
- };
1327
+
1328
+ oBindingInfo.parameters["$search"] = sSearchText || undefined;
1329
+ }
1321
1330
 
1322
1331
  ChartDelegate._getAggregatedMeasureNameForMDCItem = function(oMDCItem){
1323
1332
  return this.getInternalChartNameFromPropertyNameAndKind(oMDCItem.getName(), "aggregatable", oMDCItem.getParent());
@@ -1408,7 +1417,7 @@ sap.ui.define([
1408
1417
 
1409
1418
  /**
1410
1419
  * Sets tooltips visible/invisible on inner chart
1411
- * @param {bool} bFlag true for visible, false for invisible
1420
+ * @param {boolean} bFlag true for visible, false for invisible
1412
1421
  */
1413
1422
  ChartDelegate.setChartTooltipVisibility = function (oMDCChart, bFlag) {
1414
1423
 
@@ -1574,7 +1583,7 @@ sap.ui.define([
1574
1583
  }
1575
1584
 
1576
1585
  if (oPropertyAnnotations["@Org.OData.Aggregation.V1.Aggregatable"]){
1577
- aProperties = aProperties.concat(this._createPropertyInfosForAggregatable(sKey, oPropertyAnnotations, oFilterRestrictionsInfo, oSortRestrictionsInfo));
1586
+ aProperties = aProperties.concat(this._createPropertyInfosForAggregatable(sKey, oPropertyAnnotations, oObj, oFilterRestrictionsInfo, oSortRestrictionsInfo));
1578
1587
  }
1579
1588
 
1580
1589
  if (oPropertyAnnotations["@Org.OData.Aggregation.V1.Groupable"]) {
@@ -1589,6 +1598,7 @@ sap.ui.define([
1589
1598
  aggregatable: false,
1590
1599
  maxConditions: ODataMetaModelUtil.isMultiValueFilterExpression(oFilterRestrictionsInfo.propertyInfo[sKey]) ? -1 : 1,
1591
1600
  sortKey: sKey,
1601
+ typeConfig: this.getTypeUtil().getTypeConfig(oObj.$Type, null, {}),
1592
1602
  kind: "Groupable", //TODO: Rename in type; Only needed for P13n Item Panel
1593
1603
  availableRoles: this._getLayoutOptionsForType("groupable"), //for p13n
1594
1604
  role: MDCLib.ChartItemRoleType.category, //standard, normally this should be interpreted from UI.Chart annotation
@@ -1603,7 +1613,7 @@ sap.ui.define([
1603
1613
  }.bind(this));
1604
1614
  };
1605
1615
 
1606
- ChartDelegate._createPropertyInfosForAggregatable = function(sKey, oPropertyAnnotations, oFilterRestrictionsInfo, oSortRestrictionsInfo) {
1616
+ ChartDelegate._createPropertyInfosForAggregatable = function(sKey, oPropertyAnnotations, oObj, oFilterRestrictionsInfo, oSortRestrictionsInfo) {
1607
1617
  var aProperties = [];
1608
1618
 
1609
1619
  if (oPropertyAnnotations["@Org.OData.Aggregation.V1.SupportedAggregationMethods"]){
@@ -1619,6 +1629,7 @@ sap.ui.define([
1619
1629
  aggregationMethod: sAggregationMethod,
1620
1630
  maxConditions: ODataMetaModelUtil.isMultiValueFilterExpression(oFilterRestrictionsInfo.propertyInfo[sKey]) ? -1 : 1,
1621
1631
  sortKey: oPropertyAnnotations["@Org.OData.Aggregation.V1.RecommendedAggregationMethod"] + sKey,
1632
+ typeConfig: this.getTypeUtil().getTypeConfig(oObj.$Type, null, {}),
1622
1633
  kind: "Aggregatable",//Only needed for P13n Item Panel
1623
1634
  availableRoles: this._getLayoutOptionsForType("aggregatable"), //for p13n
1624
1635
  role: MDCLib.ChartItemRoleType.axis1,
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @extends sap.ui.base.Object
41
41
  *
42
42
  * @author SAP SE
43
- * @version 1.98.0
43
+ * @version 1.99.0
44
44
  *
45
45
  * @private
46
46
  * @ui5-restricted sap.ui.mdc
@@ -300,7 +300,11 @@ sap.ui.define([
300
300
  var oModificationSetting = this._determineModification(vControl);
301
301
  return oModificationSetting.handler.processChanges(aChanges, oModificationSetting.payload)
302
302
  .then(function(aChanges){
303
- this.stateHandlerRegistry.fireChange(Engine.getControlInstance(vControl));
303
+ var oControl = Engine.getControlInstance(vControl);
304
+ this.stateHandlerRegistry.fireChange(oControl);
305
+ if (oControl._onChangeAppliance instanceof Function) {
306
+ oControl._onChangeAppliance.call(oControl);
307
+ }
304
308
  return aChanges;
305
309
  }.bind(this));
306
310
  } else {
@@ -806,8 +810,8 @@ sap.ui.define([
806
810
  * Determines and registeres the ModificationHandler per control instance
807
811
  *
808
812
  * @private
809
- * @param {String} sControlId The control id
810
- * @param {String} sAncestorControlId The control ancestor id
813
+ * @param {string} sControlId The control id
814
+ * @param {string} sAncestorControlId The control ancestor id
811
815
  *
812
816
  * @returns {boolean} Returns whether an according ancestor could be found.
813
817
  */
@@ -31,8 +31,8 @@ sap.ui.define([
31
31
  * @param {object} oP13nUI Control displayed in the content area
32
32
  * @param {object} mDialogSettings Settings to overwrite popover default properties, such as: <code>contentHeight</code>
33
33
  * @param {object} [mDialogSettings.reset] Reset settings for the custom header creation
34
- * @param {Function} [mDialogSettings.reset.onExecute] Callback executed upon triggering a reset
35
- * @param {String} [mDialogSettings.reset.warningText] Warning which is displyed prior to executing the reset
34
+ * @param {function} [mDialogSettings.reset.onExecute] Callback executed upon triggering a reset
35
+ * @param {string} [mDialogSettings.reset.warningText] Warning which is displyed prior to executing the reset
36
36
  *
37
37
  * @returns {Promise} promise resolving in the Popover instance
38
38
  */
@@ -76,8 +76,8 @@ sap.ui.define([
76
76
  * @param {object} oP13nUI Control displayed in the content area
77
77
  * @param {object} mDialogSettings Settings to overwrite dialog default properties, such as: <code>contentHeight</code>
78
78
  * @param {object} [mDialogSettings.reset] Reset settings for the custom header creation
79
- * @param {Function} [mDialogSettings.reset.onExecute] Callback executed upon triggering a reset
80
- * @param {String} [mDialogSettings.reset.warningText] Warning which is displyed prior to executing the reset
79
+ * @param {function} [mDialogSettings.reset.onExecute] Callback executed upon triggering a reset
80
+ * @param {string} [mDialogSettings.reset.warningText] Warning which is displyed prior to executing the reset
81
81
  *
82
82
  * @returns {Promise} Promise resolving in the Dialog instance
83
83
  */
@@ -149,9 +149,9 @@ sap.ui.define([
149
149
  /**
150
150
  *
151
151
  * @param {object} mSettings Settings object to create a customHeader including a reset Button
152
- * @param {String} mSettings.title Title for the custom reset header
152
+ * @param {string} mSettings.title Title for the custom reset header
153
153
  * @param {function} mSettings.reset Control specific reset handling
154
- * @param {String} [mSettings.warningText] Text which is displayed prior to executing to reset execution
154
+ * @param {string} [mSettings.warningText] Text which is displayed prior to executing to reset execution
155
155
  *
156
156
  * @returns {sap.m.Bar} The created custom header Bar
157
157
  */
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.mdc.util.PropertyHelper
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.98.0
32
+ * @version 1.99.0
33
33
  *
34
34
  * @private
35
35
  * @experimental
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.ui.base.Object
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.98.0
35
+ * @version 1.99.0
36
36
  *
37
37
  * @private
38
38
  * @ui5-restricted sap.ui.mdc
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends sap.ui.base.Object
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.98.0
28
+ * @version 1.99.0
29
29
  *
30
30
  * @private
31
31
  * @ui5-restricted sap.ui.mdc
@@ -338,7 +338,7 @@ sap.ui.define([
338
338
  } else {
339
339
  aCells.push(this._getNameComboBox(oObject.getObject().kind, oObject.getObject().name));
340
340
  aCells.push(this._getRoleSelect());
341
- sRemoveBtnId = oObject.getObject().kind + "-RemoveBtn-" + oObject.getObject().name;
341
+ sRemoveBtnId = this.getId() + oObject.getObject().kind + "-RemoveBtn-" + oObject.getObject().name;
342
342
 
343
343
  aCells.push(new HBox({
344
344
  justifyContent: FlexJustifyContent.End,
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.ui.base.Object
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.98.0
31
+ * @version 1.99.0
32
32
  *
33
33
  * @private
34
34
  * @ui5-restricted sap.ui.mdc
@@ -28,9 +28,15 @@ sap.ui.define([
28
28
  afterClose: function(oEvt) {
29
29
  var oDialog = oEvt.getSource();
30
30
  if (oDialog) {
31
- oDialog.removeAllContent();
32
- oDialog.destroy();
31
+ var oDialogContent = oDialog.getContent()[0];
32
+ if (oDialogContent.isA("sap.m.p13n.Container")) {
33
+ oDialogContent.removeView("Filter");
34
+ } else {
35
+ oDialog.removeAllContent();
36
+ }
33
37
  }
38
+
39
+ oDialog.destroy();
34
40
  }
35
41
  };
36
42
  };
@@ -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.98.0
24
+ * @version 1.99.0
25
25
  * @constructor
26
26
  * @experimental
27
27
  * @private
@@ -74,7 +74,7 @@ sap.ui.define([
74
74
  * @extends sap.ui.mdc.util.PropertyHelper
75
75
  *
76
76
  * @author SAP SE
77
- * @version 1.98.0
77
+ * @version 1.99.0
78
78
  *
79
79
  * @private
80
80
  * @experimental
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * The <code>RowSettings</code> control is used to configure a row.
20
20
  * This control can only be used in the context of the <code>sap.ui.mdc.Table</code> control to define row settings.
21
21
  * @extends sap.ui.core.Element
22
- * @version 1.98.0
22
+ * @version 1.99.0
23
23
  *
24
24
  * @constructor
25
25
  * @experimental
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @extends sap.ui.mdc.table.PropertyHelper
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.98.0
30
+ * @version 1.99.0
31
31
  *
32
32
  * @private
33
33
  * @experimental
@@ -0,0 +1,89 @@
1
+ @mdctoken-large-line-height: 1.375rem;
2
+ @mdctoken-small-line-height: 1rem;
3
+
4
+ // hide Token border and background
5
+ .sapUiMdcTokenizerDisplay .sapMToken {
6
+ border: 0px; // hide the border of a token
7
+ background-color: transparent; // remove background of Token
8
+ padding-left: 0px; // remove the left padding
9
+ }
10
+
11
+ .sapUiMdcTokenizerDisplay.sapMTokenizer.sapMTokenizerReadonly .sapMToken {
12
+ padding-left: 0px; // remove left padding of a token. The right padding will be used to show the delimiters
13
+
14
+ // right margin and padding of the token (space for the delimiter)
15
+ padding-right: 0.375rem;
16
+ margin-right: 0.375rem;
17
+ margin-top: 0px;
18
+ margin-bottom: 0px;
19
+
20
+ color: @sapUiBaseText;
21
+ height: @mdctoken-small-line-height;
22
+ }
23
+
24
+ .sapUiFormEdit .sapUiMdcTokenizerDisplay.sapMTokenizer.sapMTokenizerReadonly .sapMToken {
25
+ height: @mdctoken-large-line-height;
26
+ }
27
+
28
+ .sapUiSizeCozy .sapUiMdcTokenizerDisplay.sapMTokenizer.sapMTokenizerReadonly .sapMToken {
29
+ // right margin and padding of the token (space for the delimiter)
30
+ padding-right: 0.5rem;
31
+ margin-right: 0.5rem;
32
+ }
33
+
34
+ // delimiters between tokens
35
+ .sapUiMdcTokenizerDisplay .sapMToken::after {
36
+ content: attr(delimiter);
37
+ color: @sapUiBaseText;
38
+ font-family: @sapUiFontFamily;
39
+ font-size: @sapMFontMediumSize;
40
+ font-weight: normal;
41
+ vertical-align: middle;
42
+ margin-left: 0.25rem; // space between tokens. the left margin of the delimiter and the right side of the token
43
+ position: absolute;
44
+ line-height: @mdctoken-small-line-height;
45
+ }
46
+
47
+ .sapUiSizeCozy .sapUiMdcTokenizerDisplay .sapMToken::after {
48
+ margin-left: 0.4rem; // space between tokens. the left side margin of the token
49
+ }
50
+
51
+ .sapUiFormEdit .sapUiMdcTokenizerDisplay .sapMToken::after {
52
+ line-height: @mdctoken-large-line-height;
53
+ }
54
+
55
+ // no delimiter after the last token
56
+ .sapUiMdcTokenizerDisplay .sapMToken:last-child:after {
57
+ content: none;
58
+ }
59
+
60
+
61
+
62
+ // make the token focus invisible
63
+ html.sap-desktop .sapUiMdcTokenizerDisplay .sapMToken:focus {
64
+ outline: 0px;
65
+ }
66
+
67
+ // make the token hover invisible
68
+ html.sap-desktop .sapUiMdcTokenizerDisplay .sapMToken:hover {
69
+ background: transparent;
70
+ border: 0px;
71
+ }
72
+
73
+ .sapUiSizeCompact .sapUiMdcTokenizerDisplay.sapMTokenizer .sapMToken {
74
+ font-size: @sapMFontMediumSize;
75
+ }
76
+
77
+
78
+
79
+ .sapUiMdcTokenizerDisplay .sapMTokenText {
80
+ // enable selection of scrollcontainer
81
+ -webkit-user-select: text;
82
+ user-select: text;
83
+
84
+ line-height: @mdctoken-small-line-height;
85
+ }
86
+
87
+ .sapUiFormEdit .sapUiMdcTokenizerDisplay .sapMTokenText {
88
+ line-height: @mdctoken-large-line-height;
89
+ }
@@ -0,0 +1,90 @@
1
+
2
+ html.sap-desktop .sapUiMdcTokenizerDisplay.sapMTokenizer {
3
+ outline: none; // hide focus of the tokenizer
4
+ padding-left: 0px; // remove left padding of Tokenizer for Display mode
5
+
6
+ padding-top: 0rem;
7
+ padding-bottom: 0rem;
8
+ }
9
+
10
+ @mdctokenizer-large-line-height: 1.375rem;
11
+ @mdctokenizer-small-line-height: 1rem;
12
+ @mdctokenizer-large-padding-topbottom: 0.6875rem;
13
+ @mdctokenizer-small-padding-topbottom: 0.3125rem;
14
+
15
+ // show a focus around the more link
16
+ .sapUiMdcTokenizerDisplay .sapMTokenizerIndicator:focus {
17
+ outline: @sapUiContentFocusWidth dotted @sapUiContentFocusColor;
18
+ outline-offset: -1px;
19
+ text-decoration: underline;
20
+ }
21
+
22
+ .sapUiMdcTokenizerDisplay .sapMTokenizerIndicator:hover {
23
+ text-decoration: underline;
24
+ }
25
+
26
+ .sapUiFormEdit .sapUiMdcTokenizerDisplay .sapMTokenizerIndicator,
27
+ .sapUiFormEdit .sapUiMdcTokenizerDisplay .sapMTokenizerIndicator:focus {
28
+ line-height: @mdctokenizer-large-line-height;
29
+ }
30
+
31
+ .sapUiFormEdit .sapUiMdcTokenizerDisplay .sapMTokenizerIndicator:focus {
32
+ text-decoration: underline;
33
+ }
34
+
35
+ .sapUiMdcTokenizerDisplay .sapMTokenizerIndicator {
36
+ line-height: @mdctokenizer-small-line-height;
37
+ }
38
+
39
+
40
+
41
+
42
+ // hide emptyIndicator for TokenizerDisplay
43
+ .sapUiMdcTokenizerDisplay .sapMEmptyIndicator.sapMEmptyIndicatorAuto {
44
+ display: none;
45
+ }
46
+
47
+ // show emptyIndicator for TokenizerDisplay
48
+ .sapMShowEmpty-CTX .sapUiMdcTokenizerDisplay .sapMEmptyIndicator.sapMEmptyIndicatorAuto {
49
+ line-height: @mdctokenizer-small-line-height;
50
+ font-size: @sapMFontMediumSize;
51
+ display: inline-block;
52
+ }
53
+
54
+ .sapUiFormEdit .sapUiMdcTokenizerDisplay .sapMEmptyIndicator.sapMEmptyIndicatorAuto {
55
+ line-height: @mdctokenizer-large-line-height;
56
+ }
57
+
58
+ .sapUiSizeCozy .sapUiFormEdit .sapUiMdcTokenizerDisplay .sapMEmptyIndicator.sapMEmptyIndicatorAuto {
59
+ padding-top: @mdctokenizer-large-padding-topbottom;
60
+ padding-bottom: @mdctokenizer-large-padding-topbottom;
61
+ }
62
+
63
+ .sapUiSizeCompact .sapUiFormEdit .sapUiMdcTokenizerDisplay .sapMEmptyIndicator.sapMEmptyIndicatorAuto {
64
+ padding-top: @mdctokenizer-small-padding-topbottom;
65
+ padding-bottom: @mdctokenizer-small-padding-topbottom;
66
+ }
67
+
68
+
69
+
70
+
71
+ // enable mouse selection on scrollcontainer
72
+ .sapUiMdcTokenizerDisplay .sapMTokenizerScrollContainer {
73
+ -moz-user-select: text;
74
+ -webkit-user-select: text;
75
+
76
+ // give the scrollcontainer the required top/bottom paddings so that is works like a text control
77
+ padding-top: 0rem;
78
+ padding-bottom: 0rem;
79
+ }
80
+
81
+ .sapUiSizeCozy .sapUiFormEdit .sapUiMdcTokenizerDisplay .sapMTokenizerScrollContainer {
82
+ // give the scrollcontainer the required top/bottom paddings so that is works like a text control
83
+ padding-top: @mdctokenizer-large-padding-topbottom;
84
+ padding-bottom: @mdctokenizer-large-padding-topbottom;
85
+ }
86
+
87
+ .sapUiSizeCompact .sapUiFormEdit .sapUiMdcTokenizerDisplay .sapMTokenizerScrollContainer {
88
+ padding-top: @mdctokenizer-small-padding-topbottom;
89
+ padding-bottom: @mdctokenizer-small-padding-topbottom;
90
+ }
@@ -19,7 +19,7 @@
19
19
  }
20
20
 
21
21
  .sapMdcValueHelpPanel .sapMPanel.sapMdcTokenizerPanel {
22
- background-color: @sapUiBaseBG;
22
+ background-color: @sapUiBaseBG;
23
23
  }
24
24
 
25
25
  .sapMdcTablePanel > .sapMPanelHdr,
@@ -133,7 +133,7 @@
133
133
  // spacing between rows
134
134
  .sapUiMdcDefineConditionPanel .sapUiRespGrid.sapUiRespGridMedia-Std-Phone > .sapUiRespGridBreak:not(:first-child),
135
135
  .sapUiMdcDefineConditionPanel .sapUiRespGrid.sapUiRespGridMedia-Std-Phone > .sapUiRespGridBreak:not(:first-child) + div {
136
- padding-top: 0.5rem
136
+ padding-top: 0.5rem;
137
137
  }
138
138
 
139
139
  // align add-button to the right
@@ -171,7 +171,7 @@
171
171
 
172
172
  // makes the title of the used panels smaller
173
173
  .sapMdcValueHelpPanel .sapMPanel .sapMPanelHdr {
174
- font-size: @sapMFontHeader5Size
174
+ font-size: @sapMFontHeader5Size;
175
175
  }
176
176
 
177
177
  // make the title shadows transparent
@@ -20,3 +20,5 @@
20
20
  @import "Table.less";
21
21
  @import "CollectiveSearchSelect.less";
22
22
  @import "Chart.less";
23
+ @import "TokenDisplay.less";
24
+ @import "TokenizerDisplay.less";
@@ -22,12 +22,12 @@ sap.ui.define([
22
22
  * @extends sap.ui.core.Control
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.98.0
25
+ * @version 1.99.0
26
26
  *
27
27
  * @constructor
28
28
  * @alias sap.ui.mdc.ui.Container
29
29
  * @author SAP SE
30
- * @version 1.98.0
30
+ * @version 1.99.0
31
31
  * @since 1.85.0
32
32
  *
33
33
  * @private
@@ -20,12 +20,12 @@ sap.ui.define(['sap/ui/core/Element'],
20
20
  * @extends sap.ui.core.Element
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.98.0
23
+ * @version 1.99.0
24
24
  *
25
25
  * @constructor
26
26
  * @alias sap.ui.mdc.ui.ContainerItem
27
27
  * @author SAP SE
28
- * @version 1.98.0
28
+ * @version 1.99.0
29
29
  * @since 1.85.0
30
30
  *
31
31
  * @private