@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 +2 -2
- package/package.json +6 -6
- package/src/sap/ui/support/.library +1 -1
- package/src/sap/ui/support/RuleAnalyzer.js +1 -1
- package/src/sap/ui/support/jQuery.sap.support.js +1 -1
- package/src/sap/ui/support/library.js +2 -2
- package/src/sap/ui/support/supportRules/ExecutionScope.js +11 -9
- package/src/sap/ui/support/supportRules/Main.js +21 -13
- package/src/sap/ui/support/supportRules/RuleSet.js +1 -1
- package/src/sap/ui/support/supportRules/Storage.js +1 -1
- package/src/sap/ui/support/supportRules/WCBChannels.js +0 -8
- package/src/sap/ui/support/supportRules/WindowCommunicationBus.js +1 -1
- package/src/sap/ui/support/supportRules/report/DataCollector.js +14 -4
- package/src/sap/ui/support/supportRules/ui/controllers/Analysis.controller.js +108 -53
- package/src/sap/ui/support/supportRules/ui/controllers/Issues.controller.js +20 -10
- package/src/sap/ui/support/supportRules/ui/controllers/PresetsController.js +1 -1
- package/src/sap/ui/support/supportRules/ui/models/TableSettingsModel.js +38 -0
- package/src/sap/ui/support/supportRules/ui/views/Analysis.view.xml +16 -16
- package/src/sap/ui/support/supportRules/ui/views/Issues.view.xml +14 -11
- package/src/sap/ui/support/supportRules/util/RuleValidator.js +2 -5
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
|
|
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.
|
|
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.
|
|
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.
|
|
18
|
-
"@openui5/sap.ui.codeeditor": "1.
|
|
19
|
-
"@openui5/sap.ui.core": "1.
|
|
20
|
-
"@openui5/sap.ui.fl": "1.
|
|
21
|
-
"@openui5/sap.ui.layout": "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.
|
|
9
|
+
<version>1.119.0</version>
|
|
10
10
|
|
|
11
11
|
<documentation>UI5 library: sap.ui.support</documentation>
|
|
12
12
|
|
|
@@ -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.
|
|
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.
|
|
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.
|
|
67
|
+
if (oControlRoot.isA("sap.ui.core.Component")) {
|
|
68
68
|
oRoot = oControlRoot.getRootControl();
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
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
|
|
|
@@ -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.
|
|
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([
|
|
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 {
|
|
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.
|
|
70
|
-
oSapFiori = oComponent.
|
|
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.
|
|
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 (
|
|
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
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
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 {
|
|
@@ -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
|
-
|
|
96
|
+
rowMode="Auto"
|
|
99
97
|
selectionBehavior="RowSelector"
|
|
100
98
|
rowActionCount="1"
|
|
101
99
|
visible="{= ${/selectedSetPreviewKey} === 'availableRules' }"
|
|
102
|
-
|
|
103
|
-
|
|
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="
|
|
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"
|
|
71
|
-
<MenuItem text="Download"
|
|
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
|
-
|
|
128
|
-
|
|
126
|
+
rowSelectionChange="onRowSelectionChanged">
|
|
127
|
+
<t:rowMode>
|
|
128
|
+
<trm:Auto rowContentHeight="24"/>
|
|
129
|
+
</t:rowMode>
|
|
129
130
|
<t:columns>
|
|
130
|
-
<t:Column
|
|
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
|
-
* - "<
|
|
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
|
|
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
|
/**
|