@openui5/sap.ui.support 1.117.1 → 1.119.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.
package/THIRDPARTY.txt CHANGED
@@ -401,7 +401,7 @@ License: MIT
401
401
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
402
402
  Contained in: src/sap.ui.integration/src/sap/ui/integration/thirdparty/adaptive-expressions.js
403
403
 
404
- Component: Markdown-it, version: 12.2.0
404
+ Component: Markdown-it, version: 12.3.2
405
405
  Copyright: 2014 Vitaly Puzrin, Alex Kocharin
406
406
  License: MIT
407
407
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
@@ -466,7 +466,7 @@ License: Apache-2.0
466
466
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
467
467
  Contained in: lib/jsdoc/ui5/plugin.js
468
468
 
469
- Component: SAP Theming Base Content, version: 11.4.2
469
+ Component: SAP Theming Base Content, version: 11.6.8
470
470
  Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
471
471
  License: Apache-2.0
472
472
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.support",
3
- "version": "1.117.1",
3
+ "version": "1.119.0",
4
4
  "description": "OpenUI5 UI Library sap.ui.support",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -14,10 +14,10 @@
14
14
  "url": "https://github.com/SAP/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.m": "1.117.1",
18
- "@openui5/sap.ui.codeeditor": "1.117.1",
19
- "@openui5/sap.ui.core": "1.117.1",
20
- "@openui5/sap.ui.fl": "1.117.1",
21
- "@openui5/sap.ui.layout": "1.117.1"
17
+ "@openui5/sap.m": "1.119.0",
18
+ "@openui5/sap.ui.codeeditor": "1.119.0",
19
+ "@openui5/sap.ui.core": "1.119.0",
20
+ "@openui5/sap.ui.fl": "1.119.0",
21
+ "@openui5/sap.ui.layout": "1.119.0"
22
22
  }
23
23
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.117.1</version>
9
+ <version>1.119.0</version>
10
10
 
11
11
  <documentation>UI5 library: sap.ui.support</documentation>
12
12
 
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @namespace
33
33
  * @alias sap.ui.support.RuleAnalyzer
34
34
  * @author SAP SE
35
- * @version 1.117.1
35
+ * @version 1.119.0
36
36
  * @public
37
37
  */
38
38
  var RuleAnalyzer = {
@@ -34,7 +34,7 @@ sap.ui.define(["sap/ui/thirdparty/jquery",
34
34
  * @namespace
35
35
  * @deprecated Since version 1.60.0. Please use sap/ui/support/RuleAnalyzer instead.
36
36
  * @author SAP SE
37
- * @version 1.117.1
37
+ * @version 1.119.0
38
38
  * @public
39
39
  */
40
40
  jQuery.sap.support = {
@@ -23,7 +23,7 @@ sap.ui.define(["sap/ui/core/library"],
23
23
  * @namespace
24
24
  * @alias sap.ui.support
25
25
  * @author SAP SE
26
- * @version 1.117.1
26
+ * @version 1.119.0
27
27
  * @since 1.50
28
28
  * @public
29
29
  */
@@ -37,7 +37,7 @@ sap.ui.define(["sap/ui/core/library"],
37
37
  controls: [],
38
38
  elements: [],
39
39
  noLibraryCSS: true,
40
- version: "1.117.1",
40
+ version: "1.119.0",
41
41
  extensions: {
42
42
  //Configuration used for rule loading of Support Assistant
43
43
  "sap.ui.support": {
@@ -64,16 +64,18 @@ sap.ui.define(
64
64
  function getPublicElementsInside(oControlRoot) {
65
65
  var oRoot;
66
66
 
67
- if (oControlRoot.getRootControl) {
67
+ if (oControlRoot.isA("sap.ui.core.Component")) {
68
68
  oRoot = oControlRoot.getRootControl();
69
- if (oRoot) {
70
- // TODO also exclude clones of binding templates, but include
71
- // the binding template
72
- // TODO also exclude customData etc.?
73
- return [oRoot].concat(
74
- oRoot.findAggregatedObjects(true, isInPublicAggregation)
75
- );
76
- }
69
+ } else if (oControlRoot.getContent()) { // UIArea
70
+ oRoot = oControlRoot.getContent()[0];
71
+ }
72
+
73
+ if (oRoot) {
74
+ // TODO also exclude clones of binding templates, but include the binding template
75
+ // TODO also exclude customData etc.?
76
+ return [oRoot].concat(
77
+ oRoot.findAggregatedObjects(true, isInPublicAggregation)
78
+ );
77
79
  }
78
80
 
79
81
  return [];
@@ -6,7 +6,6 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "sap/base/Log",
9
- "sap/ui/VersionInfo",
10
9
  "sap/ui/base/ManagedObject",
11
10
  "sap/ui/core/Core",
12
11
  "sap/ui/core/Element",
@@ -24,11 +23,26 @@ sap.ui.define([
24
23
  "sap/ui/support/supportRules/RuleSetLoader",
25
24
  "sap/ui/support/supportRules/RuleSerializer",
26
25
  "sap/ui/support/library"
27
- ],
28
- function (Log, VersionInfo, ManagedObject, Core, Element, Component, Analyzer, CoreFacade,
29
- ExecutionScope, Highlighter, CommunicationBus,
30
- IssueManager, History, DataCollector, channelNames,
31
- constants, RuleSetLoader, RuleSerializer, library) {
26
+ ], function (
27
+ Log,
28
+ ManagedObject,
29
+ Core,
30
+ Element,
31
+ Component,
32
+ Analyzer,
33
+ CoreFacade,
34
+ ExecutionScope,
35
+ Highlighter,
36
+ CommunicationBus,
37
+ IssueManager,
38
+ History,
39
+ DataCollector,
40
+ channelNames,
41
+ constants,
42
+ RuleSetLoader,
43
+ RuleSerializer,
44
+ library
45
+ ) {
32
46
  "use strict";
33
47
 
34
48
  var IFrameController = null;
@@ -267,13 +281,7 @@ function (Log, VersionInfo, ManagedObject, Core, Element, Component, Analyzer, C
267
281
 
268
282
  CommunicationBus.subscribe(channelNames.ON_INIT_ANALYSIS_CTRL, function () {
269
283
  RuleSetLoader.updateRuleSets(function () {
270
- VersionInfo.load().then(function (oVersionInfo) {
271
- CommunicationBus.publish(channelNames.POST_APPLICATION_INFORMATION, {
272
- // Sends info about the application under test
273
- versionInfo: oVersionInfo
274
- });
275
- this.fireEvent("ready");
276
- }.bind(this));
284
+ this.fireEvent("ready");
277
285
  }.bind(this));
278
286
  }, this);
279
287
 
@@ -34,7 +34,7 @@ function (Log, Version, library, storage) {
34
34
  * @private
35
35
  * @alias sap.ui.support.RuleSet
36
36
  * @author SAP SE
37
- * @version 1.117.1
37
+ * @version 1.119.0
38
38
  * @param {object} oSettings Name of the initiated
39
39
  */
40
40
  var RuleSet = function (oSettings) {
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  *
54
54
  * @name sap.ui.support.Storage
55
55
  * @author SAP SE.
56
- * @version 1.117.1
56
+ * @version 1.119.0
57
57
  * @private
58
58
  */
59
59
  return /** @lends sap.ui.support.Storage */ {
@@ -133,14 +133,6 @@ function () {
133
133
  */
134
134
  DELETE_RULE: "DELETE_RULE",
135
135
 
136
- /**
137
- * Posts information about the application under test.
138
- * @type {string}
139
- * @const
140
- * @protected
141
- */
142
- POST_APPLICATION_INFORMATION: "POST_APPLICATION_INFORMATION",
143
-
144
136
  /**
145
137
  * Posts available libraries.
146
138
  * @type {string}
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @class
25
25
  * @alias sap.ui.support.WindowCommunicationBus
26
26
  * @author SAP SE
27
- * @version 1.117.1
27
+ * @version 1.119.0
28
28
  * @private
29
29
  */
30
30
  var WindowCommunicationBus = BaseObject.extend("sap.ui.support.supportRules.WindowCommunicationBus", {
@@ -7,7 +7,17 @@
7
7
  /**
8
8
  * Provides methods for information retrieval from the core.
9
9
  */
10
- sap.ui.define(["sap/ui/core/Core", "sap/ui/VersionInfo", "sap/base/util/LoaderExtensions", 'sap/base/security/encodeXML', "sap/ui/core/Component", "sap/ui/core/Configuration", "sap/ui/core/theming/ThemeManager", "sap/ui/core/support/ToolsAPI", "sap/ui/thirdparty/URI"],
10
+ sap.ui.define([
11
+ "sap/ui/core/Core",
12
+ "sap/ui/VersionInfo",
13
+ "sap/base/util/LoaderExtensions",
14
+ "sap/base/security/encodeXML",
15
+ "sap/ui/core/Component",
16
+ "sap/ui/core/Configuration",
17
+ "sap/ui/core/theming/ThemeManager",
18
+ "sap/ui/core/support/ToolsAPI",
19
+ "sap/ui/thirdparty/URI"
20
+ ],
11
21
  function (Core, VersionInfo, LoaderExtensions, encodeXML, Component, Configuration, ThemeManager, ToolsAPI, URI) {
12
22
  "use strict";
13
23
 
@@ -61,13 +71,13 @@ sap.ui.define(["sap/ui/core/Core", "sap/ui/VersionInfo", "sap/base/util/LoaderEx
61
71
  };
62
72
 
63
73
  /**
64
- * @returns {Array} All 'sap.app' and 'sap.fiori' entries from all loaded manifest.json files.
74
+ * @returns {object[]} All 'sap.app' and 'sap.fiori' entries from all loaded manifest.json files.
65
75
  */
66
76
  DataCollector.prototype.getAppInfo = function() {
67
77
  var aAppInfos = [];
68
78
  Component.registry.forEach(function(oComponent) {
69
- var oSapApp = oComponent.getMetadata().getManifestEntry("sap.app"),
70
- oSapFiori = oComponent.getMetadata().getManifestEntry("sap.fiori");
79
+ var oSapApp = oComponent.getManifestEntry("sap.app"),
80
+ oSapFiori = oComponent.getManifestEntry("sap.fiori");
71
81
 
72
82
  if (oSapApp) {
73
83
  aAppInfos.push(oSapApp);
@@ -5,39 +5,53 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
+ "./BaseController",
9
+ "./PresetsController",
10
+ "../models/SharedModel",
11
+ "../models/TableSettingsModel",
12
+ "../models/SelectionUtils",
13
+ "../models/PresetsUtils",
14
+ "../models/CustomJSONListSelection",
8
15
  "sap/base/util/deepExtend",
9
- "sap/ui/support/supportRules/ui/controllers/BaseController",
10
16
  "sap/ui/model/json/JSONModel",
17
+ "sap/ui/model/BindingMode",
11
18
  "sap/ui/core/Fragment",
19
+ "sap/m/library",
12
20
  "sap/m/MessageToast",
21
+ "sap/m/List",
22
+ "sap/m/StandardListItem",
23
+ "sap/m/table/columnmenu/Menu",
24
+ "sap/m/table/columnmenu/Item",
13
25
  "sap/ui/support/supportRules/CommunicationBus",
14
26
  "sap/ui/support/supportRules/WCBChannels",
15
- "sap/ui/support/supportRules/ui/models/SharedModel",
16
27
  "sap/ui/support/supportRules/RuleSerializer",
17
28
  "sap/ui/support/supportRules/Constants",
18
29
  "sap/ui/support/supportRules/Storage",
19
- "sap/ui/support/supportRules/util/EvalUtils",
20
- "sap/ui/support/supportRules/ui/models/SelectionUtils",
21
- "sap/ui/support/supportRules/ui/controllers/PresetsController",
22
- "sap/ui/support/supportRules/ui/models/PresetsUtils",
23
- "sap/ui/support/supportRules/ui/models/CustomJSONListSelection"
30
+ "sap/ui/support/supportRules/util/EvalUtils"
24
31
  ], function (
25
- deepExtend,
26
32
  BaseController,
33
+ PresetsController,
34
+ SharedModel,
35
+ TableSettingsModel,
36
+ SelectionUtils,
37
+ PresetsUtils,
38
+ CustomJSONListSelection,
39
+ deepExtend,
27
40
  JSONModel,
41
+ BindingMode,
28
42
  Fragment,
43
+ mLibrary,
29
44
  MessageToast,
45
+ List,
46
+ StandardListItem,
47
+ ColumnMenu,
48
+ ColumnMenuItem,
30
49
  CommunicationBus,
31
50
  channelNames,
32
- SharedModel,
33
51
  RuleSerializer,
34
52
  Constants,
35
53
  Storage,
36
- EvalUtils,
37
- SelectionUtils,
38
- PresetsController,
39
- PresetsUtils,
40
- CustomJSONListSelection
54
+ EvalUtils
41
55
  ) {
42
56
  "use strict";
43
57
 
@@ -51,11 +65,12 @@ sap.ui.define([
51
65
  this.treeTable = SelectionUtils.treeTable = this.byId("ruleList");
52
66
  this._oRuleSetsModel = new JSONModel();
53
67
  this.treeTable.setModel(this._oRuleSetsModel, "ruleSets");
68
+ this.treeTable.setModel(TableSettingsModel, "tableSettings");
54
69
  this.ruleSetView = this.byId("ruleSetsView");
55
70
  this.rulesViewContainer = this.byId("rulesNavContainer");
56
71
  this.bAdditionalViewLoaded = false;
57
72
  this.bAdditionalRulesetsLoaded = false;
58
- this.oApplicationinfo = {};
73
+ this.bInitFired = false;
59
74
 
60
75
  /* eslint-disable no-new */
61
76
  //attach adapter for custom selection
@@ -82,14 +97,28 @@ sap.ui.define([
82
97
  onclick: this.onPresetVariantClick.bind(this)
83
98
  });
84
99
 
85
- this.treeTable.attachEvent("rowSelectionChange", function (oEvent) {
86
- if (oEvent.getParameter("userInteraction")) {
87
- PresetsUtils.syncCurrentSelectionPreset(SelectionUtils.getSelectedRules());
88
- }
89
- });
90
-
91
100
  // "visible" property of RowAction cannot be updated trough binding, so set it directly
92
101
  this.byId("rowActionTemplate").setVisible(!this.model.getProperty("/tempRulesDisabled"));
102
+
103
+ this._associateTableColumnsMenu();
104
+ },
105
+
106
+ onAfterRendering: function () {
107
+ if (!this.bInitFired) {
108
+ var fnThemeChangeHandler = function () {
109
+ CommunicationBus.publish(channelNames.ON_INIT_ANALYSIS_CTRL);
110
+ sap.ui.getCore().detachThemeChanged(fnThemeChangeHandler);
111
+ };
112
+
113
+ // If the theme is already applied themeChanged event won't be fired.
114
+ if (sap.ui.getCore().isThemeApplied()) {
115
+ CommunicationBus.publish(channelNames.ON_INIT_ANALYSIS_CTRL);
116
+ } else {
117
+ sap.ui.getCore().attachThemeChanged(fnThemeChangeHandler);
118
+ }
119
+
120
+ this.bInitFired = true;
121
+ }
93
122
  },
94
123
 
95
124
  loadAdditionalUI: function () {
@@ -117,20 +146,6 @@ sap.ui.define([
117
146
  this._updateRuleList();
118
147
  },
119
148
 
120
- onAfterRendering: function () {
121
- var fnThemeChangeHandler = function () {
122
- CommunicationBus.publish(channelNames.ON_INIT_ANALYSIS_CTRL);
123
- sap.ui.getCore().detachThemeChanged(fnThemeChangeHandler);
124
- };
125
-
126
- // If the theme is already applied themeChanged event won't be fired.
127
- if (sap.ui.getCore().isThemeApplied()) {
128
- CommunicationBus.publish(channelNames.ON_INIT_ANALYSIS_CTRL);
129
- } else {
130
- sap.ui.getCore().attachThemeChanged(fnThemeChangeHandler);
131
- }
132
- },
133
-
134
149
  onAsyncSwitch: function (oEvent) {
135
150
  var oSource = oEvent.getSource();
136
151
 
@@ -221,10 +236,6 @@ sap.ui.define([
221
236
  this.rulesViewContainer.setBusy(false);
222
237
  }, this);
223
238
 
224
- CommunicationBus.subscribe(channelNames.POST_APPLICATION_INFORMATION, function (data) {
225
- this.oApplicationinfo = data;
226
- }, this);
227
-
228
239
  CommunicationBus.subscribe(channelNames.POST_AVAILABLE_COMPONENTS, function (data) {
229
240
  var executionScopeComponents = [],
230
241
  modelScopeComponents = this.model.getProperty("/executionScopeComponents"),
@@ -825,6 +836,13 @@ sap.ui.define([
825
836
  this.model.setProperty("/showRuleProperties", bShowRuleProperties);
826
837
  }
827
838
  },
839
+
840
+ onRowSelectionChange: function (oEvent) {
841
+ if (oEvent.getParameter("userInteraction")) {
842
+ PresetsUtils.syncCurrentSelectionPreset(SelectionUtils.getSelectedRules());
843
+ }
844
+ },
845
+
828
846
  getMainModelFromTreeViewModel: function (selectedRule) {
829
847
 
830
848
  var structeredRulesModel = this.model.getProperty("/libraries"),
@@ -971,20 +989,6 @@ sap.ui.define([
971
989
  });
972
990
  },
973
991
 
974
- /**
975
- * On column visibility change persist column visibility selection
976
- * @param {object} oEvent event
977
- **/
978
- onColumnVisibilityChange: function (oEvent) {
979
- var oColumn = oEvent.getParameter("column"),
980
- bNewVisibilityState = oEvent.getParameter("newVisible");
981
- if (!this.model.getProperty("/persistingSettings")) {
982
- return;
983
- }
984
- oColumn.setVisible(bNewVisibilityState);
985
- this.persistVisibleColumns();
986
- },
987
-
988
992
  /**
989
993
  * Handles the selection presets variant selector click.
990
994
  * Opens selection presets popover.
@@ -1072,6 +1076,57 @@ sap.ui.define([
1072
1076
  MessageToast.show("Update rule failed because: " + result);
1073
1077
  }
1074
1078
  }, this);
1079
+ },
1080
+
1081
+ _associateTableColumnsMenu: function () {
1082
+ const oColumnsData = TableSettingsModel.getProperty("/columns");
1083
+ const oList = new List({
1084
+ mode: mLibrary.ListMode.MultiSelect
1085
+ });
1086
+ oList.setModel(TableSettingsModel, "tableSettings");
1087
+
1088
+ for (const sColumnKey in oColumnsData) {
1089
+ if (oColumnsData[sColumnKey].visibilityConfigurable) {
1090
+ oList.addItem(new StandardListItem({
1091
+ title: `{tableSettings>/columns/${sColumnKey}/title}`,
1092
+ selected: {
1093
+ model: "tableSettings",
1094
+ path: `/columns/${sColumnKey}/visible`,
1095
+ mode: BindingMode.OneWay
1096
+ }
1097
+ }));
1098
+ }
1099
+ }
1100
+
1101
+ const oColumnsMenu = new ColumnMenu("tableColumnMenu", {
1102
+ beforeOpen: function () {
1103
+ oList.getItems().forEach(function (oItem) {
1104
+ oItem.setSelected(oItem.getBinding("selected").getValue());
1105
+ });
1106
+ },
1107
+ items: [
1108
+ new ColumnMenuItem({
1109
+ label: "Columns",
1110
+ content: oList,
1111
+ showResetButton: false,
1112
+ confirm: function () {
1113
+ oList.getItems().forEach(function (oItem) {
1114
+ TableSettingsModel.setProperty(oItem.getBinding("selected").getPath(), oItem.getSelected());
1115
+ });
1116
+
1117
+ if (this.model.getProperty("/persistingSettings")) {
1118
+ this.persistVisibleColumns();
1119
+ }
1120
+ }.bind(this)
1121
+ })
1122
+ ]
1123
+ });
1124
+
1125
+ this.getView().addDependent(oColumnsMenu);
1126
+
1127
+ for (const sColumnKey in oColumnsData) {
1128
+ this.byId(sColumnKey + "Column").setHeaderMenu(oColumnsMenu);
1129
+ }
1075
1130
  }
1076
1131
  });
1077
1132
  });
@@ -6,7 +6,6 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "sap/ui/support/supportRules/ui/controllers/BaseController",
9
- "sap/ui/model/json/JSONModel",
10
9
  "sap/ui/support/supportRules/CommunicationBus",
11
10
  "sap/ui/support/supportRules/ui/models/SharedModel",
12
11
  "sap/ui/support/supportRules/ui/external/ElementTree",
@@ -15,7 +14,17 @@ sap.ui.define([
15
14
  "sap/ui/support/supportRules/Constants",
16
15
  "sap/m/OverflowToolbarAssociativePopoverControls",
17
16
  "sap/base/util/deepExtend"
18
- ], function (BaseController, JSONModel, CommunicationBus, SharedModel, ElementTree, channelNames, formatter, constants, OverflowToolbarAssociativePopoverControls, deepExtend) {
17
+ ], function (
18
+ BaseController,
19
+ CommunicationBus,
20
+ SharedModel,
21
+ ElementTree,
22
+ channelNames,
23
+ formatter,
24
+ constants,
25
+ OverflowToolbarAssociativePopoverControls,
26
+ deepExtend
27
+ ) {
19
28
  "use strict";
20
29
 
21
30
  var mIssueSettings = {
@@ -192,14 +201,15 @@ sap.ui.define([
192
201
  this.model.setProperty("/filterBarHeight", "4rem");
193
202
  },
194
203
  onReportPress: function(oEvent) {
195
- var oItem = oEvent.getParameter("item"),
196
- actionToTake = oItem.getText(),
197
- data = this._getReportData();
198
- if (actionToTake === 'View') {
199
- CommunicationBus.publish(channelNames.ON_SHOW_REPORT_REQUEST, data);
200
- } else {
201
- CommunicationBus.publish(channelNames.ON_DOWNLOAD_REPORT_REQUEST, data);
202
- }
204
+ var oItem = oEvent.getParameter("item"),
205
+ actionToTake = oItem.getText(),
206
+ data = this._getReportData();
207
+
208
+ if (actionToTake === 'View') {
209
+ CommunicationBus.publish(channelNames.ON_SHOW_REPORT_REQUEST, data);
210
+ } else {
211
+ CommunicationBus.publish(channelNames.ON_DOWNLOAD_REPORT_REQUEST, data);
212
+ }
203
213
  },
204
214
  _getReportData: function () {
205
215
  return {
@@ -91,7 +91,7 @@ sap.ui.define([
91
91
  *
92
92
  * @extends sap.ui.support.supportRules.ui.controllers.BaseController
93
93
  * @author SAP SE
94
- * @version 1.117.1
94
+ * @version 1.119.0
95
95
  * @private
96
96
  * @alias sap.ui.support.supportRules.ui.controllers.PresetsController
97
97
  */
@@ -0,0 +1,38 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([
8
+ "sap/ui/model/json/JSONModel"
9
+ ], function (
10
+ JSONModel
11
+ ) {
12
+ "use strict";
13
+
14
+ return new JSONModel({
15
+ columns: {
16
+ rules: {
17
+ title: "Rules",
18
+ visible: true,
19
+ visibilityConfigurable: false
20
+ },
21
+ categories: {
22
+ title: "Categories",
23
+ visible: true,
24
+ visibilityConfigurable: true
25
+ },
26
+ audience: {
27
+ title: "Audience",
28
+ visible: false,
29
+ visibilityConfigurable: true
30
+ },
31
+ ruleId: {
32
+ title: "RuleID",
33
+ visible: false,
34
+ visibilityConfigurable: true
35
+ }
36
+ }
37
+ });
38
+ });
@@ -91,50 +91,50 @@
91
91
  path: 'ruleSets>/',
92
92
  parameters: {numberOfExpandedLevels: 1}
93
93
  }"
94
- collapseRecursive="false"
95
94
  enableColumnReordering="false"
96
- cellClick="onCellClick"
97
95
  class="sapUiSizeCondensed"
98
- visibleRowCountMode="Auto"
96
+ rowMode="Auto"
99
97
  selectionBehavior="RowSelector"
100
98
  rowActionCount="1"
101
99
  visible="{= ${/selectedSetPreviewKey} === 'availableRules' }"
102
- showColumnVisibilityMenu="true"
103
- columnVisibility="onColumnVisibilityChange"
100
+ cellClick="onCellClick"
101
+ rowSelectionChange="onRowSelectionChange"
104
102
  >
105
103
  <t:columns>
106
104
  <t:Column id="rulesColumn"
107
- label="Rules ({/selectedRulesCount} selected)"
108
105
  sortProperty="name"
109
- filterProperty="name">
106
+ filterProperty="name"
107
+ visible="{tableSettings>/columns/rules/visible}">
108
+ <m:Label text="Rules ({/selectedRulesCount} selected)"/>
110
109
  <t:template>
111
110
  <m:Text text="{ruleSets>name}" wrapping="false"/>
112
111
  </t:template>
113
112
  </t:Column>
114
113
  <t:Column id="categoriesColumn"
115
- label="Categories"
116
114
  width="10rem"
117
115
  sortProperty="categories"
118
- filterProperty="categories">
116
+ filterProperty="categories"
117
+ visible="{tableSettings>/columns/categories/visible}">
118
+ <m:Label text="{tableSettings>/columns/categories/title}"/>
119
119
  <t:template>
120
120
  <m:Text text="{ruleSets>categories}" wrapping="false"/>
121
121
  </t:template>
122
122
  </t:Column>
123
123
  <t:Column id="audienceColumn"
124
- label="Audience"
125
- visible="false"
126
124
  sortProperty="audiences"
127
- filterProperty="audiences">
125
+ filterProperty="audiences"
126
+ visible="{tableSettings>/columns/audience/visible}">
127
+ <m:Label text="{tableSettings>/columns/audience/title}"/>
128
128
  <t:template>
129
129
  <m:Text text="{ruleSets>audiences}" wrapping="false"/>
130
130
  </t:template>
131
131
  </t:Column>
132
- <t:Column id="idsColumn"
133
- label="RuleID"
132
+ <t:Column id="ruleIdColumn"
134
133
  width="10rem"
135
- visible="false"
136
134
  sortProperty="id"
137
- filterProperty="id">
135
+ filterProperty="id"
136
+ visible="{tableSettings>/columns/ruleId/visible}">
137
+ <m:Label text="{tableSettings>/columns/ruleId/title}"/>
138
138
  <t:template>
139
139
  <m:Text text="{ruleSets>id}" wrapping="false"/>
140
140
  </t:template>
@@ -7,6 +7,7 @@
7
7
  xmlns:c="sap.ui.core"
8
8
  xmlns:f="sap.ui.layout.form"
9
9
  xmlns:t="sap.ui.table"
10
+ xmlns:trm="sap.ui.table.rowmodes"
10
11
  xmlns:mvc="sap.ui.core.mvc">
11
12
  <l:Splitter>
12
13
  <l:contentAreas>
@@ -67,8 +68,8 @@
67
68
  <menu>
68
69
  <Menu itemSelected="onReportPress">
69
70
  <items>
70
- <MenuItem text="View" press="onViewReport"/>
71
- <MenuItem text="Download" press="onDownloadReport"/>
71
+ <MenuItem text="View" />
72
+ <MenuItem text="Download" />
72
73
  </items>
73
74
  </Menu>
74
75
  </menu>
@@ -121,13 +122,14 @@
121
122
  selectionMode="Single"
122
123
  selectionBehavior="RowOnly"
123
124
  enableColumnReordering="false"
124
- expandFirstLevel="true"
125
125
  rows="{path: '/issues'}"
126
- rowSelectionChange="onRowSelectionChanged"
127
- rowHeight="24"
128
- visibleRowCountMode="Auto">
126
+ rowSelectionChange="onRowSelectionChanged">
127
+ <t:rowMode>
128
+ <trm:Auto rowContentHeight="24"/>
129
+ </t:rowMode>
129
130
  <t:columns>
130
- <t:Column label="Issues" resizable="false">
131
+ <t:Column resizable="false">
132
+ <Label text="Issues"/>
131
133
  <t:template>
132
134
  <FormattedText htmlText="{formattedName}"/>
133
135
  </t:template>
@@ -150,12 +152,13 @@
150
152
  <t:Table
151
153
  rows="{path: '/selectedIssue/issues'}"
152
154
  selectionMode="Single"
153
- rowHeight="24"
154
155
  selectionBehavior="RowOnly"
155
156
  enableColumnReordering="false"
156
- visibleRowCount="{/visibleRowCount}"
157
157
  rowSelectionChange="onRowSelection"
158
158
  id="issueTable">
159
+ <t:rowMode>
160
+ <trm:Fixed rowContentHeight="24" rowCount="{/visibleRowCount}"/>
161
+ </t:rowMode>
159
162
  <t:columns>
160
163
  <t:Column
161
164
  width="36px"
@@ -173,8 +176,8 @@
173
176
  <t:Column
174
177
  sortProperty="context/id"
175
178
  filterProperty="context/id"
176
- label="Control Id"
177
179
  resizable="false">
180
+ <Label text="Control Id"/>
178
181
  <t:template>
179
182
  <Text text="{context/id}" wrapping="false" tooltip="{context/id}"></Text>
180
183
  </t:template>
@@ -182,8 +185,8 @@
182
185
  <t:Column
183
186
  sortProperty="context/className"
184
187
  filterProperty="context/className"
185
- label="Class name"
186
188
  resizable="false">
189
+ <Label text="Class name"/>
187
190
  <t:template>
188
191
  <Text text="{context/className}" wrapping="false" tooltip="{context/className}"></Text>
189
192
  </t:template>
@@ -28,27 +28,24 @@ sap.ui.define([],
28
28
  * Positive cases :
29
29
  * - "-"
30
30
  * - "*"
31
- * - "<digit>.<digit><digit>"
32
- * - "<digit>.<digit><digit><digit>"
31
+ * - "<number>.<number>"
33
32
  *
34
33
  * @private
35
34
  * @param {string} sVersion Version number in string format - could be - * or numeric.
36
35
  * @returns {boolean} Boolean response if the provided version is valid.
37
36
  */
38
37
  validateVersion: function(sVersion) {
39
-
40
38
  if (!sVersion || typeof sVersion !== 'string') {
41
39
  return false;
42
40
  }
43
41
 
44
- var versionRegEx = /^\*$|^\-$|^\d\.\d{2,3}$/;
42
+ var versionRegEx = /^\*$|^\-$|^\d\.\d+$/;
45
43
 
46
44
  if (sVersion.match(versionRegEx)) {
47
45
  return true;
48
46
  }
49
47
 
50
48
  return false;
51
-
52
49
  },
53
50
 
54
51
  /**