@sapui5/sap.rules.ui 1.102.0 → 1.104.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 (29) hide show
  1. package/package.json +1 -1
  2. package/src/sap/rules/ui/.library +1 -1
  3. package/src/sap/rules/ui/AstExpressionBasicRenderer.js +3 -0
  4. package/src/sap/rules/ui/BindingSpy.js +1 -1
  5. package/src/sap/rules/ui/DecisionTable.js +1 -1
  6. package/src/sap/rules/ui/DecisionTableCell.js +1 -1
  7. package/src/sap/rules/ui/DecisionTableCellAstExpressionBasic.js +1 -1
  8. package/src/sap/rules/ui/DecisionTableCellExpressionAdvanced.js +1 -1
  9. package/src/sap/rules/ui/DecisionTableCellExpressionBasic.js +1 -1
  10. package/src/sap/rules/ui/DecisionTableConfiguration.js +1 -1
  11. package/src/sap/rules/ui/DecisionTableSettings.js +1 -1
  12. package/src/sap/rules/ui/DecisionTableSettingsOld.js +1 -1
  13. package/src/sap/rules/ui/ExpressionBase.js +1 -1
  14. package/src/sap/rules/ui/ExpressionBasic.js +1 -1
  15. package/src/sap/rules/ui/RuleBase.js +1 -1
  16. package/src/sap/rules/ui/RuleBuilder.js +1 -1
  17. package/src/sap/rules/ui/TextRule.js +1 -1
  18. package/src/sap/rules/ui/TextRuleConfiguration.js +1 -1
  19. package/src/sap/rules/ui/TextRuleSettings.js +1 -1
  20. package/src/sap/rules/ui/ast/autoComplete/dataStructure/ArrayAndRangeStack.js +8 -5
  21. package/src/sap/rules/ui/ast/autoComplete/dataStructure/ComparisionOperatorStack.js +8 -6
  22. package/src/sap/rules/ui/ast/autoComplete/dataStructure/FunctionalStack.js +8 -5
  23. package/src/sap/rules/ui/ast/autoComplete/dataStructure/Stack.js +6 -2
  24. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionFixedValuePanel.js +36 -22
  25. package/src/sap/rules/ui/i18n/messagebundle.properties +4 -0
  26. package/src/sap/rules/ui/library.js +18 -18
  27. package/src/sap/rules/ui/services/AstExpressionLanguage.js +9 -1
  28. package/src/sap/rules/ui/themes/base/AstExpression.less +2 -2
  29. 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.102.0",
3
+ "version": "1.104.1",
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.102.0</version>
10
+ <version>1.104.1</version>
11
11
 
12
12
  <documentation>UI5 library: sap.rules.ui</documentation>
13
13
 
@@ -34,6 +34,9 @@ sap.ui.define([
34
34
  }
35
35
  var oBundle = sap.ui.getCore().getLibraryResourceBundle("sap.rules.ui.i18n");
36
36
  var placeHolderText = oBundle.getText("ctrlSpaceCue");
37
+ if(placeHolderText.length>50 && oControl.getParent().getId() === "popover") {
38
+ placeHolderText = placeHolderText.substring(0,50) + " ...";
39
+ }
37
40
 
38
41
  var sEditable = "contenteditable=\"true\"";
39
42
  var sPlaceHolder = "data-placeholder=\"" + placeHolderText + "\"";
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends ManagedObject
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.102.0
28
+ * @version 1.104.1
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.102.0
60
+ * @version 1.104.1
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.102.0
37
+ * @version 1.104.1
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.102.0
29
+ * @version 1.104.1
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.102.0
29
+ * @version 1.104.1
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.102.0
28
+ * @version 1.104.1
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.102.0
27
+ * @version 1.104.1
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.102.0
46
+ * @version 1.104.1
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.102.0
40
+ * @version 1.104.1
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.102.0
25
+ * @version 1.104.1
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.102.0
28
+ * @version 1.104.1
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.102.0
27
+ * @version 1.104.1
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.102.0
36
+ * @version 1.104.1
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.102.0
49
+ * @version 1.104.1
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.102.0
27
+ * @version 1.104.1
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.102.0
47
+ * @version 1.104.1
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,13 @@ 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
+ var sColumnName = "";
457
+ if (mEntities.valueHelp.properties[i] === "Value") {
458
+ sColumnName = this.oBundle.getText("value");
459
+ } else if(mEntities.valueHelp.properties[i] === "Description") {
460
+ sColumnName = this.oBundle.getText("description");
461
+ }
462
+ this._addValueHelpColumn(mEntities.valueHelp.properties[i], oTable, sColumnName);
457
463
  }
458
464
 
459
465
  var oModel = new sap.ui.model.odata.v2.ODataModel(basePath);
@@ -475,12 +481,12 @@ sap.ui.define([
475
481
  },
476
482
 
477
483
  // Utility function to create columns for the table.
478
- _addValueHelpColumn: function (oColumName, oTable) {
484
+ _addValueHelpColumn: function (oColumName, oTable, sColumnName) {
479
485
  var oColumn = new sap.ui.table.Column().setLabel(new sap.m.Label({
480
- text: oColumName
486
+ text: sColumnName
481
487
  }));
482
488
  if (oColumName === this._propertyValue) {
483
- oColumn.setSortProperty(oColumName);
489
+ oColumn.setSortProperty(sColumnName);
484
490
  }
485
491
  oTable.addColumn(oColumn.setTemplate(new sap.m.Text().bindProperty("text", oColumName)));
486
492
  },
@@ -512,7 +518,7 @@ sap.ui.define([
512
518
  if (!jQuery.isEmptyObject(searchParam) && aFilters && aFilters.length > 0) {
513
519
  searchParam = this.oFilterBar.getParameters().custom.search;
514
520
  aSearchParams = this._getSearchFilters(searchParam);
515
- aFilters = that._formatFilterParams(aFilters);
521
+ aFilters = that._formatFilterParams(aFilters, valueHelpInfo.sourceType);
516
522
  aFilterParams.push(new sap.ui.model.Filter({
517
523
  filters: [new sap.ui.model.Filter(aFilters), new sap.ui.model.Filter(aSearchParams)],
518
524
  and: true
@@ -524,7 +530,7 @@ sap.ui.define([
524
530
  aFilterParams.push(aSearchParams);
525
531
  } else if (aFilters && aFilters.length > 0) {
526
532
  //When only filters is selected.
527
- aFilters = that._formatFilterParams(aFilters);
533
+ aFilters = that._formatFilterParams(aFilters, valueHelpInfo.sourceType);
528
534
  aFilterParams.push(aFilters[0]);
529
535
  }
530
536
  return aFilterParams;
@@ -533,42 +539,46 @@ sap.ui.define([
533
539
  /*
534
540
  * format the filterParams to support Contains and Between.
535
541
  */
536
- _formatFilterParams: function (aFilters) {
542
+ _formatFilterParams: function (aFilters, valuehelpSourceType) {
537
543
  var that = this;
538
544
  if (aFilters[0] && aFilters.length === 1 && aFilters[0].aFilters[0] && aFilters[0].aFilters[0].sOperator) {
539
- aFilters = that._formatSingleFilter(aFilters);
545
+ aFilters = that._formatSingleFilter(aFilters, valuehelpSourceType);
540
546
  } else if (aFilters[0] && aFilters[0].aFilters[0] && aFilters[0].aFilters[0].aFilters[0] && aFilters[0].aFilters[0].aFilters[0].aFilters &&
541
547
  aFilters[0].aFilters[1].aFilters[0].aFilters) {
542
- aFilters = that._formatMultiFilter(aFilters, 0, true);
543
- aFilters = that._formatMultiFilter(aFilters, 1, true);
548
+ aFilters = that._formatMultiFilter(aFilters, 0, true, valuehelpSourceType);
549
+ aFilters = that._formatMultiFilter(aFilters, 1, true, valuehelpSourceType);
544
550
 
545
551
  } else if (aFilters[0] && aFilters[0].aFilters[0] && aFilters[0].aFilters[1] && aFilters[0].aFilters[0].aFilters[0] && aFilters[0].aFilters[
546
552
  0].aFilters[0].aFilters && aFilters[0].aFilters[1].aFilters) {
547
- aFilters = that._formatMultiFilter(aFilters, 0, true);
548
- aFilters = that._formatMultiFilter(aFilters, 1, false);
553
+ aFilters = that._formatMultiFilter(aFilters, 0, true, valuehelpSourceType);
554
+ aFilters = that._formatMultiFilter(aFilters, 1, false, valuehelpSourceType);
549
555
 
550
556
  } else if (aFilters[0] && aFilters[0].aFilters[0] && aFilters[0].aFilters[1] && aFilters[0].aFilters[1].aFilters[0] && aFilters[0].aFilters[
551
557
  0].aFilters && aFilters[0].aFilters[1].aFilters[0].aFilters) {
552
- aFilters = that._formatMultiFilter(aFilters, 0, false);
553
- aFilters = that._formatMultiFilter(aFilters, 1, true);
558
+ aFilters = that._formatMultiFilter(aFilters, 0, false, valuehelpSourceType);
559
+ aFilters = that._formatMultiFilter(aFilters, 1, true, valuehelpSourceType);
554
560
 
555
561
  } else if (aFilters[0] && aFilters[0].aFilters[0] && aFilters[0].aFilters[1] && aFilters[0].aFilters[0].aFilters && aFilters[0].aFilters[
556
562
  1].aFilters) {
557
- aFilters = that._formatMultiFilter(aFilters, 0, false);
558
- aFilters = that._formatMultiFilter(aFilters, 1, false);
563
+ aFilters = that._formatMultiFilter(aFilters, 0, false, valuehelpSourceType);
564
+ aFilters = that._formatMultiFilter(aFilters, 1, false, valuehelpSourceType);
559
565
 
560
566
  }
561
567
 
562
568
  return aFilters;
563
569
  },
564
570
 
565
- _formatSingleFilter: function (aFilters) {
571
+ _formatSingleFilter: function (aFilters, valuehelpSourceType) {
566
572
  var that = this;
567
573
  var _valueField = null;
568
574
 
569
575
  for (var iterator = 0; iterator < aFilters[0].aFilters.length; iterator++) {
570
- if (aFilters[0].aFilters[iterator].sOperator === "Contains") {
576
+ if (aFilters[0].aFilters[iterator].sOperator === "Contains" && valuehelpSourceType === "U") {
571
577
  aFilters[0].aFilters[iterator].sOperator = "EQ";
578
+ } else if (aFilters[0].aFilters[iterator].sOperator === "Contains") {
579
+ _valueField = (aFilters[0].aFilters[iterator].sPath === this._propertyValue) ? this._valueFieldValue : this._valueFieldDescription;
580
+ _valueField.setValueState("Error");
581
+ _valueField.setValueStateText(aFilters[0].aFilters[iterator].sOperator + " operator not supported");
572
582
  } else if (aFilters[0].aFilters[iterator].sOperator === "BT") {
573
583
 
574
584
  var convertedFilterParam = that._manageParam(aFilters[0].aFilters[iterator].sPath, aFilters[0].aFilters[iterator].sOperator,
@@ -590,7 +600,7 @@ sap.ui.define([
590
600
 
591
601
  },
592
602
 
593
- _formatMultiFilter: function (aFilters, index, bMultifilter) {
603
+ _formatMultiFilter: function (aFilters, index, bMultifilter, valuehelpSourceType) {
594
604
  var that = this;
595
605
  var _valueField = null;
596
606
  var aComputeFilterParma = [];
@@ -600,8 +610,12 @@ sap.ui.define([
600
610
  aComputeFilterParma = aFilters[0].aFilters[index].aFilters;
601
611
  }
602
612
  for (var iterator = 0; iterator < aComputeFilterParma.length; iterator++) {
603
- if (aComputeFilterParma[iterator].sOperator === "Contains") {
613
+ if (aComputeFilterParma[iterator].sOperator === "Contains" && valuehelpSourceType === "U") {
604
614
  aComputeFilterParma[iterator].sOperator = "EQ";
615
+ } else if (aComputeFilterParma[iterator].sOperator === "Contains") {
616
+ _valueField = (aComputeFilterParma[iterator].sPath === this._propertyValue) ? this._valueFieldValue : this._valueFieldDescription;
617
+ _valueField.setValueState("Error");
618
+ _valueField.setValueStateText(aComputeFilterParma[iterator].sOperator + " operator not supported");
605
619
  } else if (aComputeFilterParma[iterator].sOperator === "BT") {
606
620
 
607
621
  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
@@ -19,13 +19,13 @@ sap.ui.define([
19
19
  * UI5 library: sap.rules.ui.
20
20
  *
21
21
  * @namespace
22
- * @name sap.rules.ui
22
+ * @alias sap.rules.ui
23
23
  * @public
24
24
  */
25
25
 
26
26
  // library dependencies
27
27
  // delegate further initialization of this library to the Core
28
- sap.ui.getCore().initLibrary({
28
+ var rulesUI = sap.ui.getCore().initLibrary({
29
29
  name: "sap.rules.ui",
30
30
  dependencies: ["sap.ui.core","sap.ui.comp"],
31
31
  types: [
@@ -64,7 +64,7 @@ sap.ui.define([
64
64
  "sap.rules.ui.services.AstExpressionLanguage"
65
65
  ],
66
66
  noLibraryCSS: false,
67
- version: "1.102.0"
67
+ version: "1.104.1"
68
68
  });
69
69
 
70
70
  // sap.rules.ui library contants
@@ -78,7 +78,7 @@ sap.ui.define([
78
78
  * @enum {string}
79
79
  * @private
80
80
  */
81
- sap.rules.ui.DecisionTableColumn = {
81
+ rulesUI.DecisionTableColumn = {
82
82
  /**
83
83
  * Condition column
84
84
  * @public
@@ -97,7 +97,7 @@ sap.ui.define([
97
97
  * @enum {string}
98
98
  * @private
99
99
  */
100
- sap.rules.ui.ChangeId = {
100
+ rulesUI.ChangeId = {
101
101
  /**
102
102
  * oDataModel groupId for New Rule
103
103
  * @public
@@ -130,7 +130,7 @@ sap.ui.define([
130
130
  * @enum {string}
131
131
  * @public
132
132
  */
133
- sap.rules.ui.RuleType = {
133
+ rulesUI.RuleType = {
134
134
  /**
135
135
  * Specifies that the rule is formulated as a table that allows complex rules to be visualized according to an if-then-else logic.
136
136
  * @public
@@ -154,7 +154,7 @@ sap.ui.define([
154
154
  * @public
155
155
  * @deprecated This attribute is deprecated since version 1.52.8, use the property decisionTableFormat.
156
156
  */
157
- sap.rules.ui.DecisionTableCellFormat = {
157
+ rulesUI.DecisionTableCellFormat = {
158
158
  /**
159
159
  * Specifies that both rule formats are available in the decision table; allowing the rule creator to choose whether to formulate the decision table cells in either the basic or advanced format.
160
160
  * @public
@@ -178,7 +178,7 @@ sap.ui.define([
178
178
  * @enum {string}
179
179
  * @private
180
180
  */
181
- sap.rules.ui.RuleFormat = {
181
+ rulesUI.RuleFormat = {
182
182
  /**
183
183
  * Specifies that both rule formats are available; allowing the rule creator to choose whether to formulate the rule's expression in either the basic or advanced format.
184
184
  * @private
@@ -205,7 +205,7 @@ sap.ui.define([
205
205
  * @enum {string}
206
206
  * @public
207
207
  */
208
- sap.rules.ui.DecisionTableFormat = {
208
+ rulesUI.DecisionTableFormat = {
209
209
  /**
210
210
  * Specifies that the rendering of a cell is based on cellFormat and each cell can have a different format during rendering
211
211
  * @public
@@ -227,7 +227,7 @@ sap.ui.define([
227
227
  * @enum {string}
228
228
  * @public
229
229
  */
230
- sap.rules.ui.RuleHitPolicy = {
230
+ rulesUI.RuleHitPolicy = {
231
231
  /**
232
232
  * Specifies that only the first condition that matches the input (the first matching row by order in the decision table) is returned as an output.
233
233
  * @public
@@ -240,11 +240,11 @@ sap.ui.define([
240
240
  AllMatch: "AM"
241
241
  };
242
242
 
243
- sap.rules.ui.ValidationStatus = {
243
+ rulesUI.ValidationStatus = {
244
244
  Success: "Success",
245
245
  Error: "Error"
246
246
  };
247
- sap.rules.ui.ExpressionTokenType = {
247
+ rulesUI.ExpressionTokenType = {
248
248
  alias: "alias",
249
249
  parameter: "parameter",
250
250
  reservedWord: "reservedword",
@@ -254,7 +254,7 @@ sap.ui.define([
254
254
  valueList: "valueList",
255
255
  unknown: "unknown"
256
256
  };
257
- sap.rules.ui.ExpressionCategory = {
257
+ rulesUI.ExpressionCategory = {
258
258
  fixed: "fixed",
259
259
  dynamic: "dynamic",
260
260
  value: "value",
@@ -280,7 +280,7 @@ sap.ui.define([
280
280
  * @enum {string}
281
281
  * @private
282
282
  */
283
- sap.rules.ui.SuggestionsPart = {
283
+ rulesUI.SuggestionsPart = {
284
284
  all: "all",
285
285
  leftPart: "leftPart",
286
286
  compPart: "compPart",
@@ -293,7 +293,7 @@ sap.ui.define([
293
293
  * @enum {string}
294
294
  * @public
295
295
  */
296
- sap.rules.ui.ExpressionType = {
296
+ rulesUI.ExpressionType = {
297
297
  /**
298
298
  * Specifies that the expression can be of any of the supported business data types.
299
299
  * @public
@@ -346,11 +346,11 @@ sap.ui.define([
346
346
  BooleanEnhanced:"BooleanEnhanced"
347
347
  };
348
348
 
349
- sap.rules.ui.BackendParserRequest = {
349
+ rulesUI.BackendParserRequest = {
350
350
  Validate: "validate",
351
351
  Suggests: "autocomplete",
352
352
  GetMetadata: "tokens"
353
353
  };
354
354
 
355
- return sap.rules.ui;
356
- });
355
+ return rulesUI;
356
+ });
@@ -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",
@@ -34,7 +34,7 @@
34
34
  box-sizing: border-box;
35
35
  background-color: @sapUiFieldBackground;
36
36
  width: 100%;
37
- min-width: 13rem;
37
+ min-width: 20rem;
38
38
  display: block;
39
39
  color: @_sap_rules_ui_AstExpression_Color;
40
40
  }
@@ -228,7 +228,7 @@
228
228
  padding-left: 1.1rem;
229
229
  }
230
230
 
231
- div:empty:before {
231
+ div:empty:after {
232
232
  content:attr(data-placeholder);
233
233
  color:@sapUiFieldPlaceholderTextColor;
234
234
  font-size : 0.75rem !important;
@@ -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.102.0
21
+ * @version 1.104.1
22
22
  *
23
23
  * @constructor
24
24
  * @private