@sapui5/sap.rules.ui 1.103.0 → 1.104.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 (27) hide show
  1. package/package.json +1 -1
  2. package/src/sap/rules/ui/.library +1 -1
  3. package/src/sap/rules/ui/BindingSpy.js +1 -1
  4. package/src/sap/rules/ui/DecisionTable.js +1 -1
  5. package/src/sap/rules/ui/DecisionTableCell.js +1 -1
  6. package/src/sap/rules/ui/DecisionTableCellAstExpressionBasic.js +1 -1
  7. package/src/sap/rules/ui/DecisionTableCellExpressionAdvanced.js +1 -1
  8. package/src/sap/rules/ui/DecisionTableCellExpressionBasic.js +1 -1
  9. package/src/sap/rules/ui/DecisionTableConfiguration.js +1 -1
  10. package/src/sap/rules/ui/DecisionTableSettings.js +1 -1
  11. package/src/sap/rules/ui/DecisionTableSettingsOld.js +1 -1
  12. package/src/sap/rules/ui/ExpressionBase.js +1 -1
  13. package/src/sap/rules/ui/ExpressionBasic.js +1 -1
  14. package/src/sap/rules/ui/RuleBase.js +1 -1
  15. package/src/sap/rules/ui/RuleBuilder.js +1 -1
  16. package/src/sap/rules/ui/TextRule.js +1 -1
  17. package/src/sap/rules/ui/TextRuleConfiguration.js +1 -1
  18. package/src/sap/rules/ui/TextRuleSettings.js +1 -1
  19. package/src/sap/rules/ui/ast/autoComplete/dataStructure/ArrayAndRangeStack.js +8 -5
  20. package/src/sap/rules/ui/ast/autoComplete/dataStructure/ComparisionOperatorStack.js +8 -6
  21. package/src/sap/rules/ui/ast/autoComplete/dataStructure/FunctionalStack.js +8 -5
  22. package/src/sap/rules/ui/ast/autoComplete/dataStructure/Stack.js +6 -2
  23. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionFixedValuePanel.js +35 -22
  24. package/src/sap/rules/ui/i18n/messagebundle.properties +4 -0
  25. package/src/sap/rules/ui/library.js +1 -1
  26. package/src/sap/rules/ui/services/AstExpressionLanguage.js +9 -1
  27. package/src/sap/rules/ui/type/ExpressionAbs.js +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.rules.ui",
3
- "version": "1.103.0",
3
+ "version": "1.104.0",
4
4
  "description": "SAPUI5 Library sap.rules.ui",
5
5
  "homepage": "https://sap.github.io/ui5-tooling/pages/SAPUI5/",
6
6
  "author": "SAP SE (https://www.sap.com)",
@@ -7,7 +7,7 @@
7
7
 
8
8
  (c) Copyright 2009-2016 SAP SE. All rights reserved
9
9
  </copyright>
10
- <version>1.103.0</version>
10
+ <version>1.104.0</version>
11
11
 
12
12
  <documentation>UI5 library: sap.rules.ui</documentation>
13
13
 
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends ManagedObject
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.103.0
28
+ * @version 1.104.0
29
29
  *
30
30
  * @constructor
31
31
  * @private
@@ -57,7 +57,7 @@ sap.ui.define([
57
57
  * @extends Control
58
58
  *
59
59
  * @author SAP SE
60
- * @version 1.103.0
60
+ * @version 1.104.0
61
61
  *
62
62
  * @constructor
63
63
  * @private
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.core.Control
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.103.0
37
+ * @version 1.104.0
38
38
  *
39
39
  * @constructor
40
40
  * @public
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.rules.ui.AstExpressionBasic
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.103.0
29
+ * @version 1.104.0
30
30
  *
31
31
  * @constructor
32
32
  * @private
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.rules.ui.ExpressionAdvanced
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.103.0
29
+ * @version 1.104.0
30
30
  *
31
31
  * @constructor
32
32
  * @private
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends sap.rules.ui.ExpressionBasic
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.103.0
28
+ * @version 1.104.0
29
29
  *
30
30
  * @constructor
31
31
  * @private
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.core.Element
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.103.0
27
+ * @version 1.104.0
28
28
  *
29
29
  * @constructor
30
30
  * @public
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * @extends Control
44
44
  *
45
45
  * @author SAP SE
46
- * @version 1.103.0
46
+ * @version 1.104.0
47
47
  *
48
48
  * @constructor
49
49
  * @private
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends Control
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.103.0
40
+ * @version 1.104.0
41
41
  *
42
42
  * @constructor
43
43
  * @private
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.core.Control
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.103.0
25
+ * @version 1.104.0
26
26
  *
27
27
  * @constructor
28
28
  * @private
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends Control
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.103.0
28
+ * @version 1.104.0
29
29
  *
30
30
  * @constructor
31
31
  * @private
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends Control
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.103.0
27
+ * @version 1.104.0
28
28
  *
29
29
  * @constructor
30
30
  * @private
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @extends sap.ui.core.Control
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.103.0
36
+ * @version 1.104.0
37
37
  *
38
38
  * @constructor
39
39
  * @public
@@ -46,7 +46,7 @@ sap.ui.define(["sap/base/Log","sap/ui/thirdparty/jquery",
46
46
  * @extends Control
47
47
  *
48
48
  * @author SAP SE
49
- * @version 1.103.0
49
+ * @version 1.104.0
50
50
  *
51
51
  * @constructor
52
52
  * @private
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.core.Element
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.103.0
27
+ * @version 1.104.0
28
28
  *
29
29
  * @constructor
30
30
  * @public
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @extends Control
45
45
  *
46
46
  * @author SAP SE
47
- * @version 1.103.0
47
+ * @version 1.104.0
48
48
  *
49
49
  * @constructor
50
50
  * @private
@@ -1,8 +1,7 @@
1
1
  sap.ui.define(["sap/rules/ui/ast/constants/Constants",
2
- "sap/rules/ui/ast/autoComplete/dataStructure/BaseStack",
3
- "sap/rules/ui/ast/autoComplete/dataStructure/Stack"
2
+ "sap/rules/ui/ast/autoComplete/dataStructure/BaseStack"
4
3
  ],
5
- function (Constants, BaseStack, Stack) {
4
+ function (Constants, BaseStack) {
6
5
  "use strict";
7
6
 
8
7
  var ArrayAndRangeStack = function () {
@@ -12,6 +11,10 @@ sap.ui.define(["sap/rules/ui/ast/constants/Constants",
12
11
 
13
12
  ArrayAndRangeStack.prototype = new BaseStack();
14
13
  ArrayAndRangeStack.prototype.constructor = BaseStack;
14
+
15
+ ArrayAndRangeStack.prototype.init = function (oStack) {
16
+ this.oStack = oStack;
17
+ };
15
18
 
16
19
  ArrayAndRangeStack.prototype.push = function (oToken) {
17
20
  var type = oToken.getTokenType();
@@ -32,7 +35,7 @@ sap.ui.define(["sap/rules/ui/ast/constants/Constants",
32
35
 
33
36
  case Constants.COMMA:
34
37
  case Constants.RANGE_DOTS:
35
- var node = new sap.rules.ui.ast.autoComplete.dataStructure.Stack(this.getTermPrefixId());
38
+ var node = new this.oStack(this.getTermPrefixId());
36
39
  node.setPrevious(this._top);
37
40
  this._top = node;
38
41
  this._size += 1;
@@ -54,7 +57,7 @@ sap.ui.define(["sap/rules/ui/ast/constants/Constants",
54
57
  ArrayAndRangeStack.prototype._handleLeftParenthesis = function (oToken) {
55
58
  if (this.getHasOpenParenthesis() === false) {
56
59
  this.setHasOpenParenthesis(true);
57
- var node = new sap.rules.ui.ast.autoComplete.dataStructure.Stack(this.getTermPrefixId());
60
+ var node = new this.oStack(this.getTermPrefixId());
58
61
  node.setPrevious(this._top);
59
62
  this._top = node;
60
63
  this._size += 1;
@@ -1,25 +1,27 @@
1
1
  sap.ui.define(["sap/rules/ui/ast/autoComplete/dataStructure/BaseStack",
2
2
  "sap/rules/ui/ast/constants/Constants",
3
3
  "sap/rules/ui/ast/autoComplete/node/TermNode",
4
- "sap/rules/ui/ast/autoComplete/dataStructure/Stack",
5
4
  "sap/rules/ui/ast/provider/OperatorProvider"
6
5
  ],
7
- function (BaseStack, Constants, TermNode, Stack, OperatorProvider) {
6
+ function (BaseStack, Constants, TermNode, OperatorProvider) {
8
7
  "use strict";
9
8
 
10
9
  var ComparisionOperatorStack = function () {
11
10
  BaseStack.apply(this, arguments);
12
11
  this._name = "";
13
12
  this._sLeftOperandBusinessDataType = null;
14
- var node = new sap.rules.ui.ast.autoComplete.dataStructure.Stack(this.getTermPrefixId());
15
- node.setContextComparision(true);
16
- node.setPrevious(this);
17
- this._top = node;
18
13
  this._size += 1;
19
14
  };
20
15
 
21
16
  ComparisionOperatorStack.prototype = new BaseStack();
22
17
  ComparisionOperatorStack.prototype.constructor = BaseStack;
18
+
19
+ ComparisionOperatorStack.prototype.init = function (oStack) {
20
+ var node = new oStack(this.getTermPrefixId());
21
+ node.setContextComparision(true);
22
+ node.setPrevious(this);
23
+ this._top = node;
24
+ };
23
25
 
24
26
  ComparisionOperatorStack.prototype.push = function (oToken) {
25
27
  var type = oToken.getTokenType();
@@ -1,9 +1,8 @@
1
1
  sap.ui.define(["sap/rules/ui/ast/autoComplete/dataStructure/BaseStack",
2
2
  "sap/rules/ui/ast/constants/Constants",
3
- "sap/rules/ui/ast/autoComplete/node/TermNode",
4
- "sap/rules/ui/ast/autoComplete/dataStructure/Stack"
3
+ "sap/rules/ui/ast/autoComplete/node/TermNode"
5
4
  ],
6
- function (BaseStack, Constants, TermNode, Stack) {
5
+ function (BaseStack, Constants, TermNode) {
7
6
  "use strict";
8
7
 
9
8
  var FunctionalStack = function () {
@@ -14,6 +13,10 @@ sap.ui.define(["sap/rules/ui/ast/autoComplete/dataStructure/BaseStack",
14
13
 
15
14
  FunctionalStack.prototype = new BaseStack();
16
15
  FunctionalStack.prototype.constructor = BaseStack;
16
+
17
+ FunctionalStack.prototype.init = function (oStack) {
18
+ this.oStack = oStack;
19
+ };
17
20
 
18
21
  FunctionalStack.prototype.push = function (oToken) {
19
22
  var type = oToken.getTokenType();
@@ -265,7 +268,7 @@ sap.ui.define(["sap/rules/ui/ast/autoComplete/dataStructure/BaseStack",
265
268
  FunctionalStack.prototype.handleLeftParenthesisToken = function (oToken) {
266
269
  if (this.getHasOpenParenthesis() === false && this.getSize() == 0) {
267
270
  this.setHasOpenParenthesis(true);
268
- this._top = new sap.rules.ui.ast.autoComplete.dataStructure.Stack(this.getTermPrefixId());
271
+ this._top = new this.oStack(this.getTermPrefixId());
269
272
  // TODO : read from mandatory parameter and set the expected
270
273
  // dataObjectType and BusinessDataType
271
274
  var aArgsMetadata = this.getFunction().getArgumentsMetadata();
@@ -307,7 +310,7 @@ sap.ui.define(["sap/rules/ui/ast/autoComplete/dataStructure/BaseStack",
307
310
  errorMessage: "More number of arguments is been added"
308
311
  };
309
312
  }
310
- var node = new sap.rules.ui.ast.autoComplete.dataStructure.Stack(this.getTermPrefixId());
313
+ var node = new this.oStack(this.getTermPrefixId());
311
314
  if (this.getFunction().getCategory() == Constants.AGGREGATE || this.getFunction().getCategory() == Constants.SELECTION) {
312
315
  if (this.getSize() <= aArgsMetadata.length) {
313
316
  // TODO: hack for now to make attribute with prefix id
@@ -76,6 +76,7 @@ function (TermNode, Constants, BaseStack, FunctionProvider, OperatorProvider, Fu
76
76
  var sOperatorName = oToken.getText();
77
77
  var oOperator = OperatorProvider.getInstance().getOperatorByName(sOperatorName.toUpperCase());
78
78
  node = new ArrayAndRangeStack(this.getTermPrefixId());
79
+ node.init(Stack);
79
80
  node.setOperator(oOperator);
80
81
  node.setPrevious(this._top);
81
82
  this._top = node;
@@ -89,6 +90,7 @@ function (TermNode, Constants, BaseStack, FunctionProvider, OperatorProvider, Fu
89
90
  var sFunctionName = oToken.getText();
90
91
  var oFunction = FunctionProvider.getInstance().getFunctionByName(sFunctionName.toUpperCase());
91
92
  node = new FunctionalStack(this.getTermPrefixId());
93
+ node.init(Stack);
92
94
  node.setFunction(oFunction);
93
95
  node.setPrevious(this._top);
94
96
  this._top = node;
@@ -118,14 +120,16 @@ function (TermNode, Constants, BaseStack, FunctionProvider, OperatorProvider, Fu
118
120
  var oTopNode = this._getNodeRecursively(this._top);
119
121
 
120
122
  if (oTopNode && "getBusinessDataType" in oTopNode && oTopNode.getBusinessDataType()) {
121
- if ((sOperatorName === '=' || sOperatorName === '!=') && (oTopNode.getBusinessDataType() === Constants.BOOLEANBUSINESSDATATYPE)) {
123
+ //TODO:To enable the value help in Autosuggestion. Recheck for extra autosuggestion content
124
+ /*if ((sOperatorName === '=' || sOperatorName === '!=') && (oTopNode.getBusinessDataType() === Constants.BOOLEANBUSINESSDATATYPE)) {
122
125
  this.empty();
123
126
  return {
124
127
  bTokenPushed: true
125
128
  };
126
- }
129
+ }*/
127
130
  var node;
128
131
  node = new ComparisionOperatorStack(this.getTermPrefixId());
132
+ node.init(Stack);
129
133
  node.setName(sOperatorName);
130
134
  node.setLeftOperandBusinessDataType(oTopNode.getBusinessDataType());
131
135
  node.setPrevious(this._top);
@@ -375,7 +375,7 @@ sap.ui.define([
375
375
  var aControlConfiguration = [new sap.ui.comp.smartfilterbar.ControlConfiguration({
376
376
  hasValueHelpDialog: true,
377
377
  key: "Value",
378
- label: "Value",
378
+ label: this.oBundle.getText("value"),
379
379
  visibleInAdvancedArea: true,
380
380
  width: "100px",
381
381
  index: 1
@@ -383,7 +383,7 @@ sap.ui.define([
383
383
  }), new sap.ui.comp.smartfilterbar.ControlConfiguration({
384
384
  hasValueHelpDialog: true,
385
385
  key: "Description",
386
- label: "Description",
386
+ label: this.oBundle.getText("description"),
387
387
  visibleInAdvancedArea: true,
388
388
  width: "100px",
389
389
  index: 2
@@ -453,7 +453,12 @@ sap.ui.define([
453
453
  oTable.setThreshold(10);
454
454
 
455
455
  for (var i = 0; i < mEntities.valueHelp.properties.length; i++) {
456
- this._addValueHelpColumn(mEntities.valueHelp.properties[i], oTable);
456
+ if (mEntities.valueHelp.properties[i] === "Value") {
457
+ sColumnName = this.oBundle.getText("value");
458
+ } else if(mEntities.valueHelp.properties[i] === "Description") {
459
+ sColumnName = this.oBundle.getText("description");
460
+ }
461
+ this._addValueHelpColumn(mEntities.valueHelp.properties[i], oTable, sColumnName);
457
462
  }
458
463
 
459
464
  var oModel = new sap.ui.model.odata.v2.ODataModel(basePath);
@@ -475,12 +480,12 @@ sap.ui.define([
475
480
  },
476
481
 
477
482
  // Utility function to create columns for the table.
478
- _addValueHelpColumn: function (oColumName, oTable) {
483
+ _addValueHelpColumn: function (oColumName, oTable, sColumnName) {
479
484
  var oColumn = new sap.ui.table.Column().setLabel(new sap.m.Label({
480
- text: oColumName
485
+ text: sColumnName
481
486
  }));
482
487
  if (oColumName === this._propertyValue) {
483
- oColumn.setSortProperty(oColumName);
488
+ oColumn.setSortProperty(sColumnName);
484
489
  }
485
490
  oTable.addColumn(oColumn.setTemplate(new sap.m.Text().bindProperty("text", oColumName)));
486
491
  },
@@ -512,7 +517,7 @@ sap.ui.define([
512
517
  if (!jQuery.isEmptyObject(searchParam) && aFilters && aFilters.length > 0) {
513
518
  searchParam = this.oFilterBar.getParameters().custom.search;
514
519
  aSearchParams = this._getSearchFilters(searchParam);
515
- aFilters = that._formatFilterParams(aFilters);
520
+ aFilters = that._formatFilterParams(aFilters, valueHelpInfo.sourceType);
516
521
  aFilterParams.push(new sap.ui.model.Filter({
517
522
  filters: [new sap.ui.model.Filter(aFilters), new sap.ui.model.Filter(aSearchParams)],
518
523
  and: true
@@ -524,7 +529,7 @@ sap.ui.define([
524
529
  aFilterParams.push(aSearchParams);
525
530
  } else if (aFilters && aFilters.length > 0) {
526
531
  //When only filters is selected.
527
- aFilters = that._formatFilterParams(aFilters);
532
+ aFilters = that._formatFilterParams(aFilters, valueHelpInfo.sourceType);
528
533
  aFilterParams.push(aFilters[0]);
529
534
  }
530
535
  return aFilterParams;
@@ -533,42 +538,46 @@ sap.ui.define([
533
538
  /*
534
539
  * format the filterParams to support Contains and Between.
535
540
  */
536
- _formatFilterParams: function (aFilters) {
541
+ _formatFilterParams: function (aFilters, valuehelpSourceType) {
537
542
  var that = this;
538
543
  if (aFilters[0] && aFilters.length === 1 && aFilters[0].aFilters[0] && aFilters[0].aFilters[0].sOperator) {
539
- aFilters = that._formatSingleFilter(aFilters);
544
+ aFilters = that._formatSingleFilter(aFilters, valuehelpSourceType);
540
545
  } else if (aFilters[0] && aFilters[0].aFilters[0] && aFilters[0].aFilters[0].aFilters[0] && aFilters[0].aFilters[0].aFilters[0].aFilters &&
541
546
  aFilters[0].aFilters[1].aFilters[0].aFilters) {
542
- aFilters = that._formatMultiFilter(aFilters, 0, true);
543
- aFilters = that._formatMultiFilter(aFilters, 1, true);
547
+ aFilters = that._formatMultiFilter(aFilters, 0, true, valuehelpSourceType);
548
+ aFilters = that._formatMultiFilter(aFilters, 1, true, valuehelpSourceType);
544
549
 
545
550
  } else if (aFilters[0] && aFilters[0].aFilters[0] && aFilters[0].aFilters[1] && aFilters[0].aFilters[0].aFilters[0] && aFilters[0].aFilters[
546
551
  0].aFilters[0].aFilters && aFilters[0].aFilters[1].aFilters) {
547
- aFilters = that._formatMultiFilter(aFilters, 0, true);
548
- aFilters = that._formatMultiFilter(aFilters, 1, false);
552
+ aFilters = that._formatMultiFilter(aFilters, 0, true, valuehelpSourceType);
553
+ aFilters = that._formatMultiFilter(aFilters, 1, false, valuehelpSourceType);
549
554
 
550
555
  } else if (aFilters[0] && aFilters[0].aFilters[0] && aFilters[0].aFilters[1] && aFilters[0].aFilters[1].aFilters[0] && aFilters[0].aFilters[
551
556
  0].aFilters && aFilters[0].aFilters[1].aFilters[0].aFilters) {
552
- aFilters = that._formatMultiFilter(aFilters, 0, false);
553
- aFilters = that._formatMultiFilter(aFilters, 1, true);
557
+ aFilters = that._formatMultiFilter(aFilters, 0, false, valuehelpSourceType);
558
+ aFilters = that._formatMultiFilter(aFilters, 1, true, valuehelpSourceType);
554
559
 
555
560
  } else if (aFilters[0] && aFilters[0].aFilters[0] && aFilters[0].aFilters[1] && aFilters[0].aFilters[0].aFilters && aFilters[0].aFilters[
556
561
  1].aFilters) {
557
- aFilters = that._formatMultiFilter(aFilters, 0, false);
558
- aFilters = that._formatMultiFilter(aFilters, 1, false);
562
+ aFilters = that._formatMultiFilter(aFilters, 0, false, valuehelpSourceType);
563
+ aFilters = that._formatMultiFilter(aFilters, 1, false, valuehelpSourceType);
559
564
 
560
565
  }
561
566
 
562
567
  return aFilters;
563
568
  },
564
569
 
565
- _formatSingleFilter: function (aFilters) {
570
+ _formatSingleFilter: function (aFilters, valuehelpSourceType) {
566
571
  var that = this;
567
572
  var _valueField = null;
568
573
 
569
574
  for (var iterator = 0; iterator < aFilters[0].aFilters.length; iterator++) {
570
- if (aFilters[0].aFilters[iterator].sOperator === "Contains") {
575
+ if (aFilters[0].aFilters[iterator].sOperator === "Contains" && valuehelpSourceType === "U") {
571
576
  aFilters[0].aFilters[iterator].sOperator = "EQ";
577
+ } else if (aFilters[0].aFilters[iterator].sOperator === "Contains") {
578
+ _valueField = (aFilters[0].aFilters[iterator].sPath === this._propertyValue) ? this._valueFieldValue : this._valueFieldDescription;
579
+ _valueField.setValueState("Error");
580
+ _valueField.setValueStateText(aFilters[0].aFilters[iterator].sOperator + " operator not supported");
572
581
  } else if (aFilters[0].aFilters[iterator].sOperator === "BT") {
573
582
 
574
583
  var convertedFilterParam = that._manageParam(aFilters[0].aFilters[iterator].sPath, aFilters[0].aFilters[iterator].sOperator,
@@ -590,7 +599,7 @@ sap.ui.define([
590
599
 
591
600
  },
592
601
 
593
- _formatMultiFilter: function (aFilters, index, bMultifilter) {
602
+ _formatMultiFilter: function (aFilters, index, bMultifilter, valuehelpSourceType) {
594
603
  var that = this;
595
604
  var _valueField = null;
596
605
  var aComputeFilterParma = [];
@@ -600,8 +609,12 @@ sap.ui.define([
600
609
  aComputeFilterParma = aFilters[0].aFilters[index].aFilters;
601
610
  }
602
611
  for (var iterator = 0; iterator < aComputeFilterParma.length; iterator++) {
603
- if (aComputeFilterParma[iterator].sOperator === "Contains") {
612
+ if (aComputeFilterParma[iterator].sOperator === "Contains" && valuehelpSourceType === "U") {
604
613
  aComputeFilterParma[iterator].sOperator = "EQ";
614
+ } else if (aComputeFilterParma[iterator].sOperator === "Contains") {
615
+ _valueField = (aComputeFilterParma[iterator].sPath === this._propertyValue) ? this._valueFieldValue : this._valueFieldDescription;
616
+ _valueField.setValueState("Error");
617
+ _valueField.setValueStateText(aComputeFilterParma[iterator].sOperator + " operator not supported");
605
618
  } else if (aComputeFilterParma[iterator].sOperator === "BT") {
606
619
 
607
620
  var convertedFilterParam = that._manageParam(aComputeFilterParma[iterator].sPath, aComputeFilterParma[iterator].sOperator,
@@ -597,3 +597,7 @@ year=year
597
597
  week=week
598
598
  #XLABEL quarter label
599
599
  quarter=quarter
600
+ # XFLD: Text for ValueHelp column Value
601
+ value=Value
602
+ # XFLD: Text for ValueHelp column Description
603
+ description=Description
@@ -64,7 +64,7 @@ sap.ui.define([
64
64
  "sap.rules.ui.services.AstExpressionLanguage"
65
65
  ],
66
66
  noLibraryCSS: false,
67
- version: "1.103.0"
67
+ version: "1.104.0"
68
68
  });
69
69
 
70
70
  // sap.rules.ui library contants
@@ -322,7 +322,15 @@ sap.ui.define(['jquery.sap.global',
322
322
  "N": "B"
323
323
  },
324
324
  "B": {
325
- "B": "B"
325
+ "B": "B",
326
+ "S": "B",
327
+ "N": "B",
328
+ "D": "B",
329
+ "T": "B",
330
+ "U": "B",
331
+ "Q": "B",
332
+ "A": "B",
333
+ "G": "B"
326
334
  },
327
335
  "D": {
328
336
  "D": "B",
@@ -18,7 +18,7 @@ sap.ui.define(["jquery.sap.global"], function(jQuery) {
18
18
  * @extends sap.ui.model.CompositeType
19
19
  *
20
20
  * @author SAP SE
21
- * @version 1.103.0
21
+ * @version 1.104.0
22
22
  *
23
23
  * @constructor
24
24
  * @private