@sapui5/sap.rules.ui 1.101.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 (30) 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 +22 -11
  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 +35 -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 -3
  29. package/src/sap/rules/ui/themes/base/DecisionTableSettings.less +10 -7
  30. 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.101.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.101.0</version>
10
+ <version>1.104.0</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.101.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.101.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.101.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.101.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.101.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.101.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.101.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.101.0
46
+ * @version 1.104.0
47
47
  *
48
48
  * @constructor
49
49
  * @private
@@ -984,7 +984,22 @@ sap.ui.define([
984
984
  }).setBindingContext(oContext);
985
985
  this._setExpressionRelevantOperators(displayExpression.relString, oContext.getProperty("Condition/Id"), oContext.getProperty(
986
986
  "Condition/ValueOnly"), astExpressionBasic);
987
- astExpressionBasic.addStyleClass("sapRULDecisionTableSettingsAstExpression");
987
+ if(document.getElementById("content")&& document.getElementById("content").classList &&
988
+ document.getElementById("content").classList.length>0 &&
989
+ isCompactClassPresent(document.getElementById("content").classList)){
990
+ astExpressionBasic.addStyleClass("sapRULDecisionTableSettingsAstExpressionCompactSize");
991
+ } else {
992
+ astExpressionBasic.addStyleClass("sapRULDecisionTableSettingsAstExpressionCozySize");
993
+ }
994
+ function isCompactClassPresent(List){
995
+ for(var i=0;i< List.length;i++) {
996
+ if (List[i] === "sapUiSizeCompact") {
997
+ return true;
998
+ }
999
+ }
1000
+ return false;
1001
+ };
1002
+ //astExpressionBasic.addStyleClass("sapRULDecisionTableSettingsAstExpression");
988
1003
  return astExpressionBasic;
989
1004
  };
990
1005
 
@@ -1882,10 +1897,6 @@ sap.ui.define([
1882
1897
  var type = oContext.getProperty("Type");
1883
1898
  var fixedOperator = oContext.getProperty("Condition/FixedOperator");
1884
1899
  var sOperator = this.getAstExpressionLanguage() ? this.astUtil._getCapitalOperatorName(fixedOperator) : fixedOperator;
1885
- var styleClass ="";
1886
- if (this.getAstExpressionLanguage()) {
1887
- styleClass = "sapRULDecisionTableSettingsTableContent";
1888
- }
1889
1900
 
1890
1901
  return new sap.m.ColumnListItem({
1891
1902
  visible: type === sap.rules.ui.DecisionTableColumn.Condition,
@@ -1903,7 +1914,7 @@ sap.ui.define([
1903
1914
  model.setProperty(oContext.getPath() + "/Label", labelValue);
1904
1915
  this._changeColumnStatusToUpdate(oContext);
1905
1916
  }.bind(this)
1906
- }).addStyleClass(styleClass),
1917
+ }),
1907
1918
 
1908
1919
  // gets the vocab col
1909
1920
  new sap.m.Select({
@@ -1928,7 +1939,7 @@ sap.ui.define([
1928
1939
  //Mark column as "Updated"
1929
1940
  this._changeColumnStatusToUpdate(oContext);
1930
1941
  }.bind(this)
1931
- }).addStyleClass(styleClass),
1942
+ }),
1932
1943
 
1933
1944
  // text or guided selection- this will not be supported
1934
1945
  /*new sap.m.Select({
@@ -1971,7 +1982,7 @@ sap.ui.define([
1971
1982
  //Remove coulmn from JSON model
1972
1983
  this._removeColumnFromJsonModel(sequence, status);
1973
1984
  }.bind(this)
1974
- }).setTooltip(this.oBundle.getText("removeColumn")).addStyleClass(styleClass),
1985
+ }).setTooltip(this.oBundle.getText("removeColumn")),
1975
1986
  new sap.m.Button({
1976
1987
  type: sap.m.ButtonType.Transparent,
1977
1988
  icon: sap.ui.core.IconPool.getIconURI("add"),
@@ -1979,11 +1990,11 @@ sap.ui.define([
1979
1990
  //Add coulmn from JSON model
1980
1991
  this._addColumnToJsonModel(sequence);
1981
1992
  }.bind(this)
1982
- }).setTooltip(this.oBundle.getText("addColumn")).addStyleClass(styleClass)
1993
+ }).setTooltip(this.oBundle.getText("addColumn"))
1983
1994
  ]
1984
1995
  })
1985
1996
  ]
1986
- });
1997
+ }).addStyleClass("sapRULDecisionTableSettingsConditionRow");
1987
1998
  };
1988
1999
 
1989
2000
  sap.rules.ui.DecisionTableSettings.prototype._updateDecisionTableHeader = function () {
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends Control
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.101.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.101.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.101.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.101.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.101.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.101.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.101.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.101.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
@@ -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.101.0"
67
+ version: "1.104.0"
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
  }
@@ -205,7 +205,6 @@
205
205
 
206
206
  .sapAstAutoCompleteSuggestionContentRenderer .sapMDLILabel {
207
207
  font-size: 12px;
208
- height: 28px;
209
208
  }
210
209
 
211
210
  .sapAstAutoCompleteSuggestionContentRenderer .sapUiSizeCompact .sapMDLI {
@@ -229,7 +228,7 @@
229
228
  padding-left: 1.1rem;
230
229
  }
231
230
 
232
- div:empty:before {
231
+ div:empty:after {
233
232
  content:attr(data-placeholder);
234
233
  color:@sapUiFieldPlaceholderTextColor;
235
234
  font-size : 0.75rem !important;
@@ -49,16 +49,19 @@
49
49
  padding-right: 0.25rem;
50
50
  }
51
51
 
52
- .sapRULDecisionTableSettingsTableContent{
53
- margin-top:0px !important;
54
- margin-bottom:7px !important;
55
- height:1.6rem !important;
52
+ .sapRULDecisionTableSettingsConditionRow {
53
+
54
+ }
55
+ .sapRULDecisionTableSettingsConditionRow .sapAstExpressionPreSpaceMargin {
56
+ margin: 0.1875rem 0 !important;
56
57
  }
57
58
 
58
- .sapRULDecisionTableSettingsAstExpression {
59
+ .sapRULDecisionTableSettingsAstExpressionCompactSize {
59
60
  min-height: 1.6rem !important;
60
61
  line-height:1.5rem !important;
61
62
  }
62
63
 
63
-
64
-
64
+ .sapRULDecisionTableSettingsAstExpressionCozySize {
65
+ min-height: 1.6rem !important;
66
+ line-height:2.125rem !important;
67
+ }
@@ -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.101.0
21
+ * @version 1.104.0
22
22
  *
23
23
  * @constructor
24
24
  * @private