@openui5/sap.ui.support 1.110.0 → 1.111.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/package.json +6 -6
- package/src/sap/ui/support/.library +1 -1
- package/src/sap/ui/support/Bootstrap.js +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/History.js +24 -22
- package/src/sap/ui/support/supportRules/Main.js +104 -92
- 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/WindowCommunicationBus.js +1 -1
- package/src/sap/ui/support/supportRules/report/DataCollector.js +7 -9
- package/src/sap/ui/support/supportRules/ui/controllers/Main.controller.js +6 -4
- package/src/sap/ui/support/supportRules/ui/controllers/PresetsController.js +1 -1
- package/src/sap/ui/support/supportRules/ui/views/Issues.view.xml +47 -33
- package/src/sap/ui/support/supportRules/ui/views/RuleDetails.fragment.xml +62 -28
- package/src/sap/ui/support/supportRules/ui/views/RuleUpdate.fragment.xml +192 -136
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openui5/sap.ui.support",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.111.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.111.0",
|
|
18
|
+
"@openui5/sap.ui.codeeditor": "1.111.0",
|
|
19
|
+
"@openui5/sap.ui.core": "1.111.0",
|
|
20
|
+
"@openui5/sap.ui.fl": "1.111.0",
|
|
21
|
+
"@openui5/sap.ui.layout": "1.111.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.111.0</version>
|
|
10
10
|
|
|
11
11
|
<documentation>UI5 library: sap.ui.support</documentation>
|
|
12
12
|
|
|
@@ -13,7 +13,7 @@ sap.ui.define(["sap/base/Log"],
|
|
|
13
13
|
|
|
14
14
|
var Bootstrap = {
|
|
15
15
|
initSupportRules: function (aSettings, oDelegates) {
|
|
16
|
-
sap.ui.require(["sap/ui/support/supportRules/Main"
|
|
16
|
+
sap.ui.require(["sap/ui/support/supportRules/Main"], function (Main) {
|
|
17
17
|
if (aSettings[0].toLowerCase() === "true" || aSettings[0].toLowerCase() === "silent") {
|
|
18
18
|
|
|
19
19
|
var bHasReadyFunction = oDelegates && oDelegates.onReady && typeof oDelegates.onReady === "function";
|
|
@@ -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.111.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.111.0",
|
|
41
41
|
extensions: {
|
|
42
42
|
//Configuration used for rule loading of Support Assistant
|
|
43
43
|
"sap.ui.support": {
|
|
@@ -147,28 +147,30 @@ function (library, IssueManager, RuleSetLoader, StringHistoryFormatter, AbapHist
|
|
|
147
147
|
* @param {Object} oContext the context of the analysis
|
|
148
148
|
*/
|
|
149
149
|
saveAnalysis: function (oContext) {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
150
|
+
return oContext._oDataCollector.getTechInfoJSON().then(function (oTechData) {
|
|
151
|
+
var mIssues = IssueManager.groupIssues(IssueManager.getIssuesModel()),
|
|
152
|
+
aIssues = IssueManager.getIssues(),
|
|
153
|
+
mRules = RuleSetLoader.getRuleSets(),
|
|
154
|
+
mSelectedRules = oContext._oSelectedRulesIds,
|
|
155
|
+
oSelectedRulePreset = oContext._oSelectedRulePreset;
|
|
156
|
+
|
|
157
|
+
_aRuns.push({
|
|
158
|
+
date: new Date().toUTCString(),
|
|
159
|
+
issues: mIssues,
|
|
160
|
+
onlyIssues: aIssues,
|
|
161
|
+
application: oContext._oDataCollector.getAppInfo(),
|
|
162
|
+
technical: oTechData,
|
|
163
|
+
rules: IssueManager.getRulesViewModel(mRules, mSelectedRules, mIssues),
|
|
164
|
+
rulePreset: oSelectedRulePreset,
|
|
165
|
+
scope: {
|
|
166
|
+
executionScope: {
|
|
167
|
+
type: oContext._oExecutionScope.getType(),
|
|
168
|
+
selectors: oContext._oExecutionScope._getContext().parentId || oContext._oExecutionScope._getContext().components
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
analysisDuration: oContext._oAnalyzer.getElapsedTimeString(),
|
|
172
|
+
analysisMetadata: oContext._oAnalysisMetadata || null
|
|
173
|
+
});
|
|
172
174
|
});
|
|
173
175
|
},
|
|
174
176
|
|
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/base/Log",
|
|
9
|
+
"sap/ui/VersionInfo",
|
|
9
10
|
"sap/ui/base/ManagedObject",
|
|
11
|
+
"sap/ui/core/Core",
|
|
10
12
|
"sap/ui/core/Element",
|
|
11
13
|
"sap/ui/core/Component",
|
|
12
14
|
"sap/ui/support/supportRules/Analyzer",
|
|
@@ -23,7 +25,7 @@ sap.ui.define([
|
|
|
23
25
|
"sap/ui/support/supportRules/RuleSerializer",
|
|
24
26
|
"sap/ui/support/library"
|
|
25
27
|
],
|
|
26
|
-
function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
|
|
28
|
+
function (Log, VersionInfo, ManagedObject, Core, Element, Component, Analyzer, CoreFacade,
|
|
27
29
|
ExecutionScope, Highlighter, CommunicationBus,
|
|
28
30
|
IssueManager, History, DataCollector, channelNames,
|
|
29
31
|
constants, RuleSetLoader, RuleSerializer, library) {
|
|
@@ -64,6 +66,15 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
|
|
|
64
66
|
}
|
|
65
67
|
});
|
|
66
68
|
|
|
69
|
+
Main.prototype.exit = function () {
|
|
70
|
+
IFrameController._stop();
|
|
71
|
+
this._pluginStarted = false;
|
|
72
|
+
this._oCore = null;
|
|
73
|
+
this._oCoreFacade = null;
|
|
74
|
+
this._oDataCollector = null;
|
|
75
|
+
this._oExecutionScope = null;
|
|
76
|
+
};
|
|
77
|
+
|
|
67
78
|
/**
|
|
68
79
|
* Checks if the current page is inside an iFrame.
|
|
69
80
|
*
|
|
@@ -80,7 +91,7 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
|
|
|
80
91
|
};
|
|
81
92
|
|
|
82
93
|
/**
|
|
83
|
-
*
|
|
94
|
+
* Starting this controller.
|
|
84
95
|
*
|
|
85
96
|
* @private
|
|
86
97
|
* @param {Object[]} aSupportModeConfig Configuration for the SupportAssistant when it's launched.
|
|
@@ -90,56 +101,53 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
|
|
|
90
101
|
return;
|
|
91
102
|
}
|
|
92
103
|
|
|
93
|
-
this.
|
|
104
|
+
this._aSupportModeConfig = aSupportModeConfig;
|
|
94
105
|
|
|
95
|
-
|
|
106
|
+
if (Core.isInitialized()) {
|
|
107
|
+
this._initPlugin();
|
|
108
|
+
} else {
|
|
109
|
+
Core.attachInit(this._initPlugin.bind(this));
|
|
110
|
+
}
|
|
111
|
+
};
|
|
96
112
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
IFrameController._stop();
|
|
136
|
-
that._pluginStarted = false;
|
|
137
|
-
that._oCore = null;
|
|
138
|
-
that._oCoreFacade = null;
|
|
139
|
-
that._oDataCollector = null;
|
|
140
|
-
that._oExecutionScope = null;
|
|
141
|
-
}
|
|
142
|
-
});
|
|
113
|
+
Main.prototype._initPlugin = function () {
|
|
114
|
+
var aSupportModeConfig = this._aSupportModeConfig;
|
|
115
|
+
this._pluginStarted = true;
|
|
116
|
+
|
|
117
|
+
this._supportModeConfig = aSupportModeConfig = aSupportModeConfig || Core.getConfiguration().getSupportMode();
|
|
118
|
+
CommunicationBus.bSilentMode = aSupportModeConfig.indexOf("silent") > -1;
|
|
119
|
+
this._setCommunicationSubscriptions();
|
|
120
|
+
|
|
121
|
+
// If the current page is inside an iframe don't start the Support tool.
|
|
122
|
+
// Otherwise if there are any iframes inside a page, all of them
|
|
123
|
+
// will have the Support tool started along with the parent page.
|
|
124
|
+
var bForceUIInFrame = this._isInIframe() && aSupportModeConfig.indexOf("frame-force-ui") !== -1;
|
|
125
|
+
|
|
126
|
+
this._oCore = Core;
|
|
127
|
+
this._oDataCollector = new DataCollector(Core);
|
|
128
|
+
this._oCoreFacade = CoreFacade(Core);
|
|
129
|
+
this._oExecutionScope = null;
|
|
130
|
+
this._createElementSpies();
|
|
131
|
+
Core.attachLibraryChanged(RuleSetLoader._onLibraryChanged);
|
|
132
|
+
|
|
133
|
+
// Make sure that we load UI frame, when no parameter supplied
|
|
134
|
+
// but tools is required to load, or when parameter is there
|
|
135
|
+
// but is not equal to 'silent'
|
|
136
|
+
if (!aSupportModeConfig ||
|
|
137
|
+
aSupportModeConfig.indexOf("silent") === -1 ||
|
|
138
|
+
bForceUIInFrame) {
|
|
139
|
+
// Lazily, asynchronously load the frame controller
|
|
140
|
+
sap.ui.require(["sap/ui/support/supportRules/ui/IFrameController"], function (IFrameCtrl) {
|
|
141
|
+
IFrameController = IFrameCtrl;
|
|
142
|
+
|
|
143
|
+
IFrameController.injectFrame(aSupportModeConfig);
|
|
144
|
+
CommunicationBus.allowFrame(IFrameController.getCommunicationInfo());
|
|
145
|
+
});
|
|
146
|
+
} else {
|
|
147
|
+
RuleSetLoader.updateRuleSets(function () {
|
|
148
|
+
this.fireEvent("ready");
|
|
149
|
+
}.bind(this));
|
|
150
|
+
}
|
|
143
151
|
};
|
|
144
152
|
|
|
145
153
|
/**
|
|
@@ -206,7 +214,7 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
|
|
|
206
214
|
});
|
|
207
215
|
}, this);
|
|
208
216
|
|
|
209
|
-
CommunicationBus.subscribe(channelNames.DELETE_RULE,function (data) {
|
|
217
|
+
CommunicationBus.subscribe(channelNames.DELETE_RULE, function (data) {
|
|
210
218
|
var oTempRule = RuleSerializer.deserialize(data),
|
|
211
219
|
oTempRuleSet = RuleSetLoader.getRuleSet(constants.TEMP_RULESETS_NAME).ruleset;
|
|
212
220
|
|
|
@@ -220,14 +228,15 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
|
|
|
220
228
|
}, this);
|
|
221
229
|
|
|
222
230
|
CommunicationBus.subscribe(channelNames.ON_DOWNLOAD_REPORT_REQUEST, function (reportConstants) {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
231
|
+
this._getReportData(reportConstants).then(function (oData) {
|
|
232
|
+
sap.ui.require(["sap/ui/support/supportRules/report/ReportProvider"], function (ReportProvider) {
|
|
233
|
+
ReportProvider.downloadReportZip(oData);
|
|
234
|
+
});
|
|
226
235
|
});
|
|
227
236
|
}, this);
|
|
228
237
|
|
|
229
238
|
CommunicationBus.subscribe(channelNames.HIGHLIGHT_ELEMENT, function (id) {
|
|
230
|
-
var $domElem =
|
|
239
|
+
var $domElem = Core.byId(id).$();
|
|
231
240
|
$domElem.css("background-color", "red");
|
|
232
241
|
}, this);
|
|
233
242
|
|
|
@@ -258,19 +267,21 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
|
|
|
258
267
|
|
|
259
268
|
CommunicationBus.subscribe(channelNames.ON_INIT_ANALYSIS_CTRL, function () {
|
|
260
269
|
RuleSetLoader.updateRuleSets(function () {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
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));
|
|
267
277
|
}.bind(this));
|
|
268
278
|
}, this);
|
|
269
279
|
|
|
270
280
|
CommunicationBus.subscribe(channelNames.ON_SHOW_REPORT_REQUEST, function (reportConstants) {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
281
|
+
this._getReportData(reportConstants).then(function (oData) {
|
|
282
|
+
sap.ui.require(["sap/ui/support/supportRules/report/ReportProvider"], function (ReportProvider) {
|
|
283
|
+
ReportProvider.openReport(oData);
|
|
284
|
+
});
|
|
274
285
|
});
|
|
275
286
|
}, this);
|
|
276
287
|
|
|
@@ -380,7 +391,7 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
|
|
|
380
391
|
this._setSelectedRules(vRuleDescriptors);
|
|
381
392
|
|
|
382
393
|
return this._oAnalyzer.start(this._aSelectedRules, this._oCoreFacade, this._oExecutionScope).then(function() {
|
|
383
|
-
that._done();
|
|
394
|
+
return that._done();
|
|
384
395
|
});
|
|
385
396
|
};
|
|
386
397
|
|
|
@@ -392,8 +403,7 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
|
|
|
392
403
|
* @return {boolean} true if the scope is valid
|
|
393
404
|
*/
|
|
394
405
|
Main.prototype._isExecutionScopeValid = function (oExecutionScope) {
|
|
395
|
-
var
|
|
396
|
-
aSelectors = [],
|
|
406
|
+
var aSelectors = [],
|
|
397
407
|
bHasValidSelector = false,
|
|
398
408
|
i;
|
|
399
409
|
|
|
@@ -414,7 +424,7 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
|
|
|
414
424
|
}
|
|
415
425
|
|
|
416
426
|
for (i = 0; i < aSelectors.length; i++) {
|
|
417
|
-
if (
|
|
427
|
+
if (Core.byId(aSelectors[i])) {
|
|
418
428
|
bHasValidSelector = true;
|
|
419
429
|
break;
|
|
420
430
|
}
|
|
@@ -520,7 +530,7 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
|
|
|
520
530
|
elapsedTime: this._oAnalyzer.getElapsedTimeString()
|
|
521
531
|
});
|
|
522
532
|
|
|
523
|
-
History.saveAnalysis(this);
|
|
533
|
+
return History.saveAnalysis(this);
|
|
524
534
|
};
|
|
525
535
|
|
|
526
536
|
/**
|
|
@@ -652,29 +662,31 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
|
|
|
652
662
|
* @returns {object} Contains all the information required to create a report
|
|
653
663
|
*/
|
|
654
664
|
Main.prototype._getReportData = function (oReportConstants) {
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
665
|
+
return this._oDataCollector.getTechInfoJSON().then(function (oTechData) {
|
|
666
|
+
var mIssues = IssueManager.groupIssues(IssueManager.getIssuesModel()),
|
|
667
|
+
mRules = RuleSetLoader.getRuleSets(),
|
|
668
|
+
mSelectedRules = this._oSelectedRulesIds,
|
|
669
|
+
oSelectedRulePreset = this._oSelectedRulePreset || null;
|
|
670
|
+
|
|
671
|
+
return {
|
|
672
|
+
issues: mIssues,
|
|
673
|
+
technical: oTechData,
|
|
674
|
+
application: this._oDataCollector.getAppInfo(),
|
|
675
|
+
rules: IssueManager.getRulesViewModel(mRules, mSelectedRules, mIssues),
|
|
676
|
+
rulePreset: oSelectedRulePreset,
|
|
677
|
+
scope: {
|
|
678
|
+
executionScope: this._oExecutionScope,
|
|
679
|
+
scopeDisplaySettings: {
|
|
680
|
+
executionScopes: oReportConstants.executionScopes,
|
|
681
|
+
executionScopeTitle: oReportConstants.executionScopeTitle
|
|
682
|
+
}
|
|
683
|
+
},
|
|
684
|
+
analysisDuration: this._oAnalyzer.getElapsedTimeString(),
|
|
685
|
+
analysisDurationTitle: oReportConstants.analysisDurationTitle,
|
|
686
|
+
abap: History.getFormattedHistory(library.HistoryFormats.Abap),
|
|
687
|
+
name: constants.SUPPORT_ASSISTANT_NAME
|
|
688
|
+
};
|
|
689
|
+
}.bind(this));
|
|
678
690
|
};
|
|
679
691
|
|
|
680
692
|
/**
|
|
@@ -35,7 +35,7 @@ function (Log, Version, library, storage, constants) {
|
|
|
35
35
|
* @private
|
|
36
36
|
* @alias sap.ui.support.RuleSet
|
|
37
37
|
* @author SAP SE
|
|
38
|
-
* @version 1.
|
|
38
|
+
* @version 1.111.0
|
|
39
39
|
* @param {object} oSettings Name of the initiated
|
|
40
40
|
*/
|
|
41
41
|
var RuleSet = function (oSettings) {
|
|
@@ -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.111.0
|
|
28
28
|
* @private
|
|
29
29
|
*/
|
|
30
30
|
var WindowCommunicationBus = BaseObject.extend("sap.ui.support.supportRules.WindowCommunicationBus", {
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* Provides methods for information retrieval from the core.
|
|
9
9
|
*/
|
|
10
|
-
sap.ui.define(["sap/ui/core/Core", "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"],
|
|
11
|
-
function (Core, LoaderExtensions, encodeXML, Component, Configuration, ThemeManager, ToolsAPI, URI) {
|
|
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"],
|
|
11
|
+
function (Core, VersionInfo, LoaderExtensions, encodeXML, Component, Configuration, ThemeManager, ToolsAPI, URI) {
|
|
12
12
|
"use strict";
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -143,17 +143,15 @@ sap.ui.define(["sap/ui/core/Core", "sap/base/util/LoaderExtensions", 'sap/base/s
|
|
|
143
143
|
}
|
|
144
144
|
oTechData.themePaths = aResults;
|
|
145
145
|
|
|
146
|
-
|
|
147
|
-
|
|
146
|
+
return VersionInfo.load().then(function (oVersionInfo) {
|
|
147
|
+
// add SAPUI5 version object
|
|
148
148
|
oTechData.sapUi5Version = {
|
|
149
|
-
version:
|
|
149
|
+
version: oVersionInfo,
|
|
150
150
|
path: sap.ui.require.toUrl("sap-ui-version.json")
|
|
151
151
|
};
|
|
152
|
-
} catch (ex) {
|
|
153
|
-
oTechData.sapUi5Version = null;
|
|
154
|
-
}
|
|
155
152
|
|
|
156
|
-
|
|
153
|
+
return oTechData;
|
|
154
|
+
});
|
|
157
155
|
};
|
|
158
156
|
|
|
159
157
|
return DataCollector;
|
|
@@ -102,11 +102,13 @@ sap.ui.define([
|
|
|
102
102
|
},
|
|
103
103
|
|
|
104
104
|
initSettingsPopoverModel: function () {
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
VersionInfo.load().then(function (oVersionInfo) {
|
|
106
|
+
var supportAssistantOrigin = new URL(sap.ui.require.toUrl("sap/ui/support"), window.location.origin + window.location.pathname).toString(),
|
|
107
|
+
supportAssistantVersion = oVersionInfo.version;
|
|
107
108
|
|
|
108
|
-
|
|
109
|
-
|
|
109
|
+
this.model.setProperty("/supportAssistantOrigin", supportAssistantOrigin);
|
|
110
|
+
this.model.setProperty("/supportAssistantVersion", supportAssistantVersion);
|
|
111
|
+
}.bind(this));
|
|
110
112
|
},
|
|
111
113
|
|
|
112
114
|
copySupportAssistantOriginToClipboard: function (oEvent) {
|
|
@@ -190,40 +190,54 @@
|
|
|
190
190
|
</t:Column>
|
|
191
191
|
</t:columns>
|
|
192
192
|
</t:Table>
|
|
193
|
-
<f:
|
|
193
|
+
<f:Form
|
|
194
194
|
editable="true"
|
|
195
|
-
visible="{= ${/visibleIssuesCount} > 0}"
|
|
196
|
-
layout
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
<
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
195
|
+
visible="{= ${/visibleIssuesCount} > 0}">
|
|
196
|
+
<f:layout>
|
|
197
|
+
<f:ColumnLayout />
|
|
198
|
+
</f:layout>
|
|
199
|
+
<f:formContainers>
|
|
200
|
+
<f:FormContainer>
|
|
201
|
+
<f:formElements>
|
|
202
|
+
<f:FormElement label="Details">
|
|
203
|
+
<f:fields>
|
|
204
|
+
<Text
|
|
205
|
+
text="{/selectedIssue/details}"
|
|
206
|
+
width="100%"
|
|
207
|
+
visible="{= ${/selectedIssue/details} !== ''}"/>
|
|
208
|
+
</f:fields>
|
|
209
|
+
</f:FormElement>
|
|
210
|
+
<f:FormElement label="Resolution">
|
|
211
|
+
<f:fields>
|
|
212
|
+
<Text text="{/selectedIssue/resolution}" />
|
|
213
|
+
</f:fields>
|
|
214
|
+
</f:FormElement>
|
|
215
|
+
<f:FormElement label="URLs"
|
|
216
|
+
visible="{
|
|
217
|
+
parts: [
|
|
218
|
+
'/selectedIssue/resolutionUrls'
|
|
219
|
+
],
|
|
220
|
+
formatter: '.formatter.hasResolutionUrls'
|
|
221
|
+
}"
|
|
222
|
+
fields="{/selectedIssue/resolutionUrls}">
|
|
223
|
+
<f:fields>
|
|
224
|
+
<Link text="{
|
|
225
|
+
parts: [
|
|
226
|
+
'/selectedIssue/resolutionUrls',
|
|
227
|
+
''
|
|
228
|
+
],
|
|
229
|
+
formatter: '.formatter.resolutionUrl'
|
|
230
|
+
}" press="openDocumentation">
|
|
231
|
+
<layoutData>
|
|
232
|
+
<f:ColumnElementData cellsLarge="8" cellsSmall="12" />
|
|
233
|
+
</layoutData>
|
|
234
|
+
</Link>
|
|
235
|
+
</f:fields>
|
|
236
|
+
</f:FormElement>
|
|
237
|
+
</f:formElements>
|
|
238
|
+
</f:FormContainer>
|
|
239
|
+
</f:formContainers>
|
|
240
|
+
</f:Form>
|
|
227
241
|
</Panel>
|
|
228
242
|
</content>
|
|
229
243
|
</Page>
|
|
@@ -27,35 +27,69 @@
|
|
|
27
27
|
</m:HBox>
|
|
28
28
|
</m:contentLeft>
|
|
29
29
|
</m:Bar>
|
|
30
|
-
<f:
|
|
30
|
+
<f:Form
|
|
31
31
|
visible="{= ${/selectedRule/type} !== 'library' && ${/selectedRulePreviewKey} === 'ruleProperties' && ${/selectedRule} !== undefined && ${/selectedSetPreviewKey} !== 'additionalRulesets'}">
|
|
32
|
-
<f:
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
32
|
+
<f:layout>
|
|
33
|
+
<f:ColumnLayout />
|
|
34
|
+
</f:layout>
|
|
35
|
+
<f:formContainers>
|
|
36
|
+
<f:FormContainer>
|
|
37
|
+
<f:formElements>
|
|
38
|
+
<f:FormElement label="ID">
|
|
39
|
+
<f:fields>
|
|
40
|
+
<m:Text text="{/selectedRule/id}" id="ruleID" />
|
|
41
|
+
</f:fields>
|
|
42
|
+
</f:FormElement>
|
|
43
|
+
<f:FormElement label="Title">
|
|
44
|
+
<f:fields>
|
|
45
|
+
<m:Text text="{/selectedRule/title}" id="ruleTitle" />
|
|
46
|
+
</f:fields>
|
|
47
|
+
</f:FormElement>
|
|
48
|
+
<f:FormElement label="Async">
|
|
49
|
+
<f:fields>
|
|
50
|
+
<m:Text text="{= ${/selectedRule/async} === true }" id="ruleAsync" />
|
|
51
|
+
</f:fields>
|
|
52
|
+
</f:FormElement>
|
|
53
|
+
<f:FormElement label="Audiences">
|
|
54
|
+
<f:fields>
|
|
55
|
+
<m:Text text="{/selectedRule/audiences}" id="ruleAudience" />
|
|
56
|
+
</f:fields>
|
|
57
|
+
</f:FormElement>
|
|
58
|
+
<f:FormElement label="Categories">
|
|
59
|
+
<f:fields>
|
|
60
|
+
<m:Text id="ruleCategory" text="{/selectedRule/categories}" />
|
|
61
|
+
</f:fields>
|
|
62
|
+
</f:FormElement>
|
|
63
|
+
<f:FormElement label="Min version">
|
|
64
|
+
<f:fields>
|
|
65
|
+
<m:Text id="ruleMinVersion" text="{/selectedRule/minversion}" />
|
|
66
|
+
</f:fields>
|
|
67
|
+
</f:FormElement>
|
|
68
|
+
<f:FormElement label="Description">
|
|
69
|
+
<f:fields>
|
|
70
|
+
<m:Text id="ruleDescription" text="{/selectedRule/description}" />
|
|
71
|
+
</f:fields>
|
|
72
|
+
</f:FormElement>
|
|
73
|
+
<f:FormElement label="Resolution">
|
|
74
|
+
<f:fields>
|
|
75
|
+
<m:Text id="ruleResolution" text="{/selectedRule/resolution}" />
|
|
76
|
+
</f:fields>
|
|
77
|
+
</f:FormElement>
|
|
78
|
+
<f:FormElement label="Resolution URLs" fields="{/selectedRule/resolutionurls}">
|
|
79
|
+
<f:fields>
|
|
80
|
+
<m:Link target="_blank"
|
|
81
|
+
text="{text}"
|
|
82
|
+
href="{href}">
|
|
83
|
+
<m:layoutData>
|
|
84
|
+
<f:ColumnElementData cellsLarge="8" cellsSmall="12" />
|
|
85
|
+
</m:layoutData>
|
|
86
|
+
</m:Link>
|
|
87
|
+
</f:fields>
|
|
88
|
+
</f:FormElement>
|
|
89
|
+
</f:formElements>
|
|
90
|
+
</f:FormContainer>
|
|
91
|
+
</f:formContainers>
|
|
92
|
+
</f:Form>
|
|
59
93
|
<m:Panel
|
|
60
94
|
width="100%"
|
|
61
95
|
height="calc(100% - 2rem)"
|
|
@@ -30,71 +30,102 @@
|
|
|
30
30
|
</m:IconTabHeader>
|
|
31
31
|
</m:contentMiddle>
|
|
32
32
|
</m:Bar>
|
|
33
|
-
<f:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<f:
|
|
37
|
-
<
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
<
|
|
41
|
-
<
|
|
42
|
-
<
|
|
43
|
-
<
|
|
44
|
-
<
|
|
45
|
-
</
|
|
46
|
-
</
|
|
47
|
-
<
|
|
48
|
-
<
|
|
49
|
-
<
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
<
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
33
|
+
<f:Form
|
|
34
|
+
editable="true"
|
|
35
|
+
visible="{= ${/selectedRuleEditKey} === 'ruleProperties' }">
|
|
36
|
+
<f:layout>
|
|
37
|
+
<f:ColumnLayout />
|
|
38
|
+
</f:layout>
|
|
39
|
+
<f:formContainers>
|
|
40
|
+
<f:FormContainer>
|
|
41
|
+
<f:formElements>
|
|
42
|
+
<f:FormElement label="ID">
|
|
43
|
+
<f:fields>
|
|
44
|
+
<m:Input value="{/editRule/id}" required = "true" />
|
|
45
|
+
</f:fields>
|
|
46
|
+
</f:FormElement>
|
|
47
|
+
<f:FormElement label="Async">
|
|
48
|
+
<f:fields>
|
|
49
|
+
<m:RadioButton groupName="asyncEditContext" text="true" selected="{= ${/editRule/async} === true }" select="onAsyncSwitch">
|
|
50
|
+
<m:customData>
|
|
51
|
+
<c:CustomData key="asyncEditContext" value="true" />
|
|
52
|
+
</m:customData>
|
|
53
|
+
</m:RadioButton>
|
|
54
|
+
<m:RadioButton groupName="asyncEditContext" text="false" selected="{= ${/editRule/async} !== true }" select="onAsyncSwitch">
|
|
55
|
+
<m:customData>
|
|
56
|
+
<c:CustomData key="asyncEditContext" value="false" />
|
|
57
|
+
</m:customData>
|
|
58
|
+
</m:RadioButton>
|
|
59
|
+
<c:Icon
|
|
60
|
+
src="sap-icon://message-warning"
|
|
61
|
+
class="sapUiSmallMarginBegin sapUiTinyMarginEnd"
|
|
62
|
+
color="#E09D00"
|
|
63
|
+
visible="{= ${/editRule/async} === true }">
|
|
64
|
+
<c:layoutData>
|
|
65
|
+
<m:FlexItemData alignSelf="Center" />
|
|
66
|
+
</c:layoutData>
|
|
67
|
+
</c:Icon>
|
|
68
|
+
<m:Text text="{/resolveDescription}" visible="{= ${/editRule/async} === true }">
|
|
69
|
+
<m:layoutData>
|
|
70
|
+
<m:FlexItemData alignSelf="Center" />
|
|
71
|
+
</m:layoutData>
|
|
72
|
+
</m:Text>
|
|
73
|
+
</f:fields>
|
|
74
|
+
</f:FormElement>
|
|
75
|
+
<f:FormElement label="Categories">
|
|
76
|
+
<f:fields>
|
|
77
|
+
<m:MultiComboBox selectedKeys="{/editRule/categories}" items="{/categories}" required = "true">
|
|
78
|
+
<c:Item key="{}" text="{}" />
|
|
79
|
+
</m:MultiComboBox>
|
|
80
|
+
</f:fields>
|
|
81
|
+
</f:FormElement>
|
|
82
|
+
<f:FormElement label="Audiences">
|
|
83
|
+
<f:fields>
|
|
84
|
+
<m:MultiComboBox selectedKeys="{/editRule/audiences}" items="{/audiences}" required = "true">
|
|
85
|
+
<c:Item key="{}" text="{}" />
|
|
86
|
+
</m:MultiComboBox>
|
|
87
|
+
</f:fields>
|
|
88
|
+
</f:FormElement>
|
|
89
|
+
<f:FormElement label="Title">
|
|
90
|
+
<f:fields>
|
|
91
|
+
<m:Input value="{/editRule/title}" required = "true" />
|
|
92
|
+
</f:fields>
|
|
93
|
+
</f:FormElement>
|
|
94
|
+
<f:FormElement label="Description">
|
|
95
|
+
<f:fields>
|
|
96
|
+
<m:TextArea value="{/editRule/description}" required = "true"/>
|
|
97
|
+
</f:fields>
|
|
98
|
+
</f:FormElement>
|
|
99
|
+
<f:FormElement label="Resolution">
|
|
100
|
+
<f:fields>
|
|
101
|
+
<m:TextArea value="{/editRule/resolution}" required = "true"/>
|
|
102
|
+
</f:fields>
|
|
103
|
+
</f:FormElement>
|
|
104
|
+
<f:FormElement label="Min version">
|
|
105
|
+
<f:fields>
|
|
106
|
+
<m:TextArea value="{/editRule/minversion}" required = "true"/>
|
|
107
|
+
</f:fields>
|
|
108
|
+
</f:FormElement>
|
|
109
|
+
<f:FormElement label="Resolution URLS">
|
|
110
|
+
<f:fields>
|
|
111
|
+
<m:Input placeholder="Text" value="{/tempLink/text}" />
|
|
112
|
+
<m:Input placeholder="Href" value="{/tempLink/href}" />
|
|
113
|
+
<m:Button text="Add Link" press="addLinkToRule" icon="sap-icon://add" />
|
|
114
|
+
</f:fields>
|
|
115
|
+
</f:FormElement>
|
|
116
|
+
<f:FormElement label="" fields="{/editRule/resolutionurls}">
|
|
117
|
+
<f:fields>
|
|
118
|
+
<m:Link text="{text}" href="{href}" target="_blank">
|
|
119
|
+
<m:layoutData>
|
|
120
|
+
<f:ColumnElementData cellsLarge="8" cellsSmall="12" />
|
|
121
|
+
</m:layoutData>
|
|
122
|
+
</m:Link>
|
|
123
|
+
</f:fields>
|
|
124
|
+
</f:FormElement>
|
|
125
|
+
</f:formElements>
|
|
126
|
+
</f:FormContainer>
|
|
127
|
+
</f:formContainers>
|
|
128
|
+
</f:Form>
|
|
98
129
|
<m:Panel width="100%"
|
|
99
130
|
height="calc(100% - 2rem)"
|
|
100
131
|
visible="{= ${/selectedRuleEditKey} === 'checkFunction' }">
|
|
@@ -154,77 +185,102 @@
|
|
|
154
185
|
</m:IconTabHeader>
|
|
155
186
|
</m:contentMiddle>
|
|
156
187
|
</m:Bar>
|
|
157
|
-
<f:
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
<f:
|
|
161
|
-
<
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
<
|
|
165
|
-
<
|
|
166
|
-
<
|
|
167
|
-
<
|
|
168
|
-
<
|
|
169
|
-
</
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
<
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
<
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
188
|
+
<f:Form
|
|
189
|
+
editable="true"
|
|
190
|
+
visible="{= ${/selectedRuleCreateKey} === 'ruleProperties' }">
|
|
191
|
+
<f:layout>
|
|
192
|
+
<f:ColumnLayout />
|
|
193
|
+
</f:layout>
|
|
194
|
+
<f:formContainers>
|
|
195
|
+
<f:FormContainer>
|
|
196
|
+
<f:formElements>
|
|
197
|
+
<f:FormElement label="ID">
|
|
198
|
+
<f:fields>
|
|
199
|
+
<m:Input value="{/newRule/id}" required = "true" />
|
|
200
|
+
</f:fields>
|
|
201
|
+
</f:FormElement>
|
|
202
|
+
<f:FormElement label="Async">
|
|
203
|
+
<f:fields>
|
|
204
|
+
<m:RadioButton groupName="asyncContext" text="true" selected="{= ${/newRule/async} === true }" select="onAsyncSwitch">
|
|
205
|
+
<m:customData>
|
|
206
|
+
<c:CustomData key="asyncContext" value="true" />
|
|
207
|
+
</m:customData>
|
|
208
|
+
</m:RadioButton>
|
|
209
|
+
<m:RadioButton groupName="asyncContext" text="false" selected="{= ${/newRule/async} !== true }" select="onAsyncSwitch">
|
|
210
|
+
<m:customData>
|
|
211
|
+
<c:CustomData key="asyncContext" value="false" />
|
|
212
|
+
</m:customData>
|
|
213
|
+
</m:RadioButton>
|
|
214
|
+
<c:Icon
|
|
215
|
+
src="sap-icon://message-warning"
|
|
216
|
+
class="sapUiSmallMarginBegin sapUiTinyMarginEnd"
|
|
217
|
+
color="#E09D00"
|
|
218
|
+
visible="{= ${/newRule/async} === true }">
|
|
219
|
+
<c:layoutData>
|
|
220
|
+
<m:FlexItemData alignSelf="Center" />
|
|
221
|
+
</c:layoutData>
|
|
222
|
+
</c:Icon>
|
|
223
|
+
<m:Text text="{/resolveDescription}" visible="{= ${/newRule/async} === true }">
|
|
224
|
+
<m:layoutData>
|
|
225
|
+
<m:FlexItemData alignSelf="Center" />
|
|
226
|
+
</m:layoutData>
|
|
227
|
+
</m:Text>
|
|
228
|
+
</f:fields>
|
|
229
|
+
</f:FormElement>
|
|
230
|
+
<f:FormElement label="Categories">
|
|
231
|
+
<f:fields>
|
|
232
|
+
<m:MultiComboBox selectedKeys="{/newRule/categories}" items="{/categories}" required = "true">
|
|
233
|
+
<c:Item key="{}" text="{}" />
|
|
234
|
+
</m:MultiComboBox>
|
|
235
|
+
</f:fields>
|
|
236
|
+
</f:FormElement>
|
|
237
|
+
<f:FormElement label="Audiences">
|
|
238
|
+
<f:fields>
|
|
239
|
+
<m:MultiComboBox selectedKeys="{/newRule/audiences}" items="{/audiences}" required = "true">
|
|
240
|
+
<c:Item key="{}" text="{}" />
|
|
241
|
+
</m:MultiComboBox>
|
|
242
|
+
</f:fields>
|
|
243
|
+
</f:FormElement>
|
|
244
|
+
<f:FormElement label="Title">
|
|
245
|
+
<f:fields>
|
|
246
|
+
<m:Input value="{/newRule/title}" required = "true" />
|
|
247
|
+
</f:fields>
|
|
248
|
+
</f:FormElement>
|
|
249
|
+
<f:FormElement label="Description">
|
|
250
|
+
<f:fields>
|
|
251
|
+
<m:TextArea value="{/newRule/description}" required = "true"/>
|
|
252
|
+
</f:fields>
|
|
253
|
+
</f:FormElement>
|
|
254
|
+
<f:FormElement label="Resolution">
|
|
255
|
+
<f:fields>
|
|
256
|
+
<m:TextArea value="{/newRule/resolution}" required = "true"/>
|
|
257
|
+
</f:fields>
|
|
258
|
+
</f:FormElement>
|
|
259
|
+
<f:FormElement label="Min version">
|
|
260
|
+
<f:fields>
|
|
261
|
+
<m:TextArea value="{/newRule/minversion}" required = "true"/>
|
|
262
|
+
</f:fields>
|
|
263
|
+
</f:FormElement>
|
|
264
|
+
<f:FormElement label="Resolution URLS">
|
|
265
|
+
<f:fields>
|
|
266
|
+
<m:Input placeholder="Text" value="{/tempLink/text}" />
|
|
267
|
+
<m:Input placeholder="Href" value="{/tempLink/href}" />
|
|
268
|
+
<m:Button text="Add" press="addLinkToRule" icon="sap-icon://add" />
|
|
269
|
+
</f:fields>
|
|
270
|
+
</f:FormElement>
|
|
271
|
+
<f:FormElement label="" fields="{/newRule/resolutionurls}">
|
|
272
|
+
<f:fields>
|
|
273
|
+
<m:Link text="{text}" >
|
|
274
|
+
<m:layoutData>
|
|
275
|
+
<f:ColumnElementData cellsLarge="8" cellsSmall="12" />
|
|
276
|
+
</m:layoutData>
|
|
277
|
+
</m:Link>
|
|
278
|
+
</f:fields>
|
|
279
|
+
</f:FormElement>
|
|
280
|
+
</f:formElements>
|
|
281
|
+
</f:FormContainer>
|
|
282
|
+
</f:formContainers>
|
|
283
|
+
</f:Form>
|
|
228
284
|
<m:Panel width="100%"
|
|
229
285
|
height="calc(100% - 2rem)"
|
|
230
286
|
visible="{= ${/selectedRuleCreateKey} === 'checkFunction' }">
|