@openui5/sap.ui.support 1.94.0 → 1.97.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/.reuse/dep5 +12 -12
- package/THIRDPARTY.txt +21 -17
- 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 +7 -7
- package/src/sap/ui/support/supportRules/IssueManager.js +9 -9
- 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/IssueRenderer.js +1 -43
- package/src/sap/ui/support/supportRules/report/ReportProvider.js +92 -115
- package/src/sap/ui/support/supportRules/report/resources/ReportTemplate.html +43 -95
- package/src/sap/ui/support/supportRules/report/resources/images/checked.svg +2 -0
- package/src/sap/ui/support/supportRules/report/resources/images/collapsed.svg +2 -0
- package/src/sap/ui/support/supportRules/report/resources/images/expanded.svg +2 -0
- package/src/sap/ui/support/supportRules/report/resources/images/unchecked.svg +2 -0
- package/src/sap/ui/support/supportRules/report/resources/{filter.js → index.js} +56 -0
- package/src/sap/ui/support/supportRules/report/resources/styles.css +104 -0
- package/src/sap/ui/support/supportRules/ui/controllers/PresetsController.js +1 -1
- package/src/sap/ui/support/supportRules/ui/external/ElementTree.js +20 -1
- package/src/sap/ui/support/supportRules/ui/models/CustomListSelection.js +2 -2
- package/src/sap/ui/support/supportRules/ui/overlay.html +3 -3
- package/src/sap/ui/support/supportRules/ui/styles/overlay.css +20 -1
- package/ui5.yaml +4 -1
- package/src/sap/ui/support/supportRules/report/resources/collapseExpand.css +0 -33
- package/src/sap/ui/support/supportRules/report/resources/collapseExpand.js +0 -60
- package/src/sap/ui/support/supportRules/report/resources/filter.css +0 -19
|
@@ -7,20 +7,12 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* Creates a report from data.
|
|
9
9
|
*/
|
|
10
|
-
sap.ui.define(['jquery.sap.global', 'sap/ui/
|
|
11
|
-
'sap/ui/support/supportRules/report/IssueRenderer'], function(jQuery,
|
|
10
|
+
sap.ui.define(['jquery.sap.global', 'sap/ui/support/supportRules/report/Archiver',
|
|
11
|
+
'sap/ui/support/supportRules/report/IssueRenderer'], function(jQuery, Archiver, IssueRenderer) {
|
|
12
12
|
'use strict';
|
|
13
13
|
|
|
14
14
|
// Private fields
|
|
15
15
|
var resourcesBaseUrl = jQuery.sap.getResourcePath('sap/ui/support/supportRules/report/resources');
|
|
16
|
-
var resources = [
|
|
17
|
-
{ url: resourcesBaseUrl + '/ReportTemplate.html', type: 'template' },
|
|
18
|
-
{ url: resourcesBaseUrl + '/styles.css', type: 'css' },
|
|
19
|
-
{ url: resourcesBaseUrl + '/filter.css', type: 'css' },
|
|
20
|
-
{ url: resourcesBaseUrl + '/collapseExpand.css', type: 'css' },
|
|
21
|
-
{ url: resourcesBaseUrl + '/filter.js', type: 'js' },
|
|
22
|
-
{ url: resourcesBaseUrl + '/collapseExpand.js', type: 'js' }
|
|
23
|
-
];
|
|
24
16
|
|
|
25
17
|
/*
|
|
26
18
|
* Functions taken from core.support.plugins.TechInfo.js
|
|
@@ -63,21 +55,13 @@ sap.ui.define(['jquery.sap.global', 'sap/ui/thirdparty/handlebars', 'sap/ui/supp
|
|
|
63
55
|
function getResource(resource) {
|
|
64
56
|
return jQuery.ajax({
|
|
65
57
|
type: 'GET',
|
|
66
|
-
url: resource
|
|
58
|
+
url: resourcesBaseUrl + "/" + resource,
|
|
67
59
|
dataType: 'text'
|
|
68
60
|
}).then(function (text) {
|
|
69
|
-
return
|
|
61
|
+
return text;
|
|
70
62
|
});
|
|
71
63
|
}
|
|
72
64
|
|
|
73
|
-
function getResources() {
|
|
74
|
-
var deferreds = [];
|
|
75
|
-
for (var i = 0; i < resources.length; i++) {
|
|
76
|
-
deferreds.push(getResource(resources[i]));
|
|
77
|
-
}
|
|
78
|
-
return jQuery.when.apply(jQuery, deferreds);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
65
|
/*
|
|
82
66
|
* Modified version of the function onsapUiSupportTechInfoData from core.support.plugins.TechInfo.js
|
|
83
67
|
*/
|
|
@@ -85,7 +69,7 @@ sap.ui.define(['jquery.sap.global', 'sap/ui/thirdparty/handlebars', 'sap/ui/supp
|
|
|
85
69
|
var content = '';
|
|
86
70
|
|
|
87
71
|
if (!technicalInfo) {
|
|
88
|
-
return
|
|
72
|
+
return content;
|
|
89
73
|
}
|
|
90
74
|
|
|
91
75
|
try {
|
|
@@ -141,7 +125,7 @@ sap.ui.define(['jquery.sap.global', 'sap/ui/thirdparty/handlebars', 'sap/ui/supp
|
|
|
141
125
|
jQuery.sap.log.warning('There was a problem extracting technical info.');
|
|
142
126
|
}
|
|
143
127
|
|
|
144
|
-
return
|
|
128
|
+
return content;
|
|
145
129
|
}
|
|
146
130
|
|
|
147
131
|
function getComponentPart(value) {
|
|
@@ -157,7 +141,7 @@ sap.ui.define(['jquery.sap.global', 'sap/ui/thirdparty/handlebars', 'sap/ui/supp
|
|
|
157
141
|
var content = '';
|
|
158
142
|
|
|
159
143
|
if (!appInfo) {
|
|
160
|
-
return
|
|
144
|
+
return content;
|
|
161
145
|
}
|
|
162
146
|
|
|
163
147
|
content += '<table class="sapUiTable"><tr><th>Component ID</th><th>Type</th><th>Title</th><th>Subtitle</th><th>Application version</th><th>Description</th><th>BCP Component</th></tr>';
|
|
@@ -186,7 +170,7 @@ sap.ui.define(['jquery.sap.global', 'sap/ui/thirdparty/handlebars', 'sap/ui/supp
|
|
|
186
170
|
content = '';
|
|
187
171
|
}
|
|
188
172
|
|
|
189
|
-
return
|
|
173
|
+
return content;
|
|
190
174
|
}
|
|
191
175
|
|
|
192
176
|
function getGlobalScope(displaySettings) {
|
|
@@ -249,14 +233,14 @@ sap.ui.define(['jquery.sap.global', 'sap/ui/thirdparty/handlebars', 'sap/ui/supp
|
|
|
249
233
|
content = '';
|
|
250
234
|
}
|
|
251
235
|
|
|
252
|
-
return
|
|
236
|
+
return content;
|
|
253
237
|
}
|
|
254
238
|
|
|
255
239
|
function getRules(groups) {
|
|
256
240
|
var content = '';
|
|
257
241
|
|
|
258
242
|
if (!groups) {
|
|
259
|
-
return
|
|
243
|
+
return content;
|
|
260
244
|
}
|
|
261
245
|
|
|
262
246
|
try {
|
|
@@ -302,115 +286,110 @@ sap.ui.define(['jquery.sap.global', 'sap/ui/thirdparty/handlebars', 'sap/ui/supp
|
|
|
302
286
|
content = '';
|
|
303
287
|
}
|
|
304
288
|
|
|
305
|
-
return
|
|
289
|
+
return content;
|
|
306
290
|
}
|
|
307
291
|
|
|
308
|
-
function
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
if (type !== 'script' && type !== 'style') {
|
|
312
|
-
return content;
|
|
313
|
-
}
|
|
292
|
+
function getIssues(issues) {
|
|
293
|
+
return IssueRenderer.render(issues, true);
|
|
294
|
+
}
|
|
314
295
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
case 'style': content += '<style type="text/css">' + resources[i] + '</style>\n'; break;
|
|
319
|
-
}
|
|
296
|
+
function getRulePreset(oRulePreset) {
|
|
297
|
+
if (!oRulePreset) {
|
|
298
|
+
return "none";
|
|
320
299
|
}
|
|
321
300
|
|
|
322
|
-
return
|
|
301
|
+
return "<strong>" + oRulePreset.title + "/" + oRulePreset.id + "</strong>";
|
|
323
302
|
}
|
|
324
303
|
|
|
325
|
-
Handlebars.registerHelper('getTechnicalInformation', function (technicalInfo) {
|
|
326
|
-
return getTechnicalInformation(technicalInfo);
|
|
327
|
-
});
|
|
328
|
-
Handlebars.registerHelper('getRules', function (rules) {
|
|
329
|
-
return getRules(rules);
|
|
330
|
-
});
|
|
331
|
-
Handlebars.registerHelper('getIssues', function (issues) {
|
|
332
|
-
return new Handlebars.SafeString(IssueRenderer.render(issues, true));
|
|
333
|
-
});
|
|
334
|
-
Handlebars.registerHelper('getAppInfo', function (appInfo) {
|
|
335
|
-
return getAppInfo(appInfo);
|
|
336
|
-
});
|
|
337
|
-
Handlebars.registerHelper('getScope', function (scope) {
|
|
338
|
-
return getScope(scope);
|
|
339
|
-
});
|
|
340
|
-
Handlebars.registerHelper('getScripts', function (scripts) {
|
|
341
|
-
return getResourcesHtml(scripts, 'script');
|
|
342
|
-
});
|
|
343
|
-
Handlebars.registerHelper('getStyles', function (styles) {
|
|
344
|
-
return getResourcesHtml(styles, 'style');
|
|
345
|
-
});
|
|
346
|
-
|
|
347
304
|
// Public functions
|
|
348
305
|
|
|
349
306
|
/**
|
|
350
307
|
* Creates an html string containing the whole report.
|
|
351
308
|
* @param {Object} oData - the data required to create a report
|
|
352
|
-
* @
|
|
309
|
+
* @param {String} [sBaseUrl] - the base path to javascript and css resources
|
|
310
|
+
* @returns {String} the complete html.
|
|
353
311
|
*/
|
|
354
|
-
function getReportHtml(oData) {
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
html = '',
|
|
359
|
-
i,
|
|
360
|
-
template = {},
|
|
361
|
-
reportContext = {};
|
|
362
|
-
|
|
363
|
-
for (i = 0; i < arguments.length; i++) {
|
|
364
|
-
switch (arguments[i].type) {
|
|
365
|
-
case 'template': html = arguments[i].content; break;
|
|
366
|
-
case 'css': styles.push(arguments[i].content); break;
|
|
367
|
-
case 'js': scripts.push(arguments[i].content); break;
|
|
368
|
-
}
|
|
369
|
-
}
|
|
312
|
+
function getReportHtml(oData, sBaseUrl) {
|
|
313
|
+
if (!sBaseUrl) {
|
|
314
|
+
sBaseUrl = resourcesBaseUrl + "/";
|
|
315
|
+
}
|
|
370
316
|
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
technicalInfo: oData.technical,
|
|
375
|
-
issues: oData.issues,
|
|
376
|
-
appInfo: oData.application,
|
|
377
|
-
rules: oData.rules,
|
|
378
|
-
rulePreset: oData.rulePreset,
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
analysisDurationTitle: oData.analysisDurationTitle,
|
|
389
|
-
styles: styles,
|
|
390
|
-
scripts: scripts
|
|
391
|
-
}
|
|
317
|
+
return getResource("ReportTemplate.html").then(function(sTemplate) {
|
|
318
|
+
var oContext = {
|
|
319
|
+
baseUrl: sBaseUrl,
|
|
320
|
+
technicalInfo: getTechnicalInformation(oData.technical),
|
|
321
|
+
issues: getIssues(oData.issues),
|
|
322
|
+
appInfo: getAppInfo(oData.application),
|
|
323
|
+
rules: getRules(oData.rules),
|
|
324
|
+
rulePreset: getRulePreset(oData.rulePreset),
|
|
325
|
+
metadataTitle: oData.name + ' Analysis Results',
|
|
326
|
+
metadataTitleTechnicalInfo: 'Technical Information',
|
|
327
|
+
metadataTitleIssues: 'Issues',
|
|
328
|
+
metadataTitleAppInfo: 'Application Information',
|
|
329
|
+
metadataTitleSelectedRules: 'Available and (<span class="checked"></span>) Selected Rules',
|
|
330
|
+
metadataTimestamp: new Date(),
|
|
331
|
+
metadataScope: getScope(oData.scope),
|
|
332
|
+
metadataAnalysisDuration: oData.analysisDuration,
|
|
333
|
+
metadataAnalysisDurationTitle: oData.analysisDurationTitle
|
|
392
334
|
};
|
|
393
335
|
|
|
394
|
-
return
|
|
336
|
+
return replacePlaceholders(sTemplate, oContext);
|
|
395
337
|
});
|
|
396
338
|
}
|
|
397
339
|
|
|
340
|
+
/**
|
|
341
|
+
* Replace any placeholder like {{placeholder}} with the corresponding value from oContext.
|
|
342
|
+
* @param {String} sTemplate the string template containing the placeholders.
|
|
343
|
+
* @param {Object} oContext the object containing the values for the placeholders.
|
|
344
|
+
* @returns {String} the processed template.
|
|
345
|
+
*/
|
|
346
|
+
function replacePlaceholders(sTemplate, oContext) {
|
|
347
|
+
var sPlaceholder,
|
|
348
|
+
sValue;
|
|
349
|
+
|
|
350
|
+
for (sPlaceholder in oContext) {
|
|
351
|
+
sValue = oContext[sPlaceholder];
|
|
352
|
+
sTemplate = sTemplate.replace(new RegExp("\{\{" + sPlaceholder + "\}\}", "ig"), sValue);
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
return sTemplate;
|
|
356
|
+
}
|
|
357
|
+
|
|
398
358
|
/**
|
|
399
359
|
* Creates a zip file containing the report.html, appInfo.json, technicalInfo.json, issues.json.
|
|
400
360
|
* @param {Object} oData - the data required to create a report
|
|
401
361
|
*/
|
|
402
362
|
function downloadReportZip(oData) {
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
363
|
+
var aPromises = [
|
|
364
|
+
this.getReportHtml(oData, "./"),
|
|
365
|
+
getResource("styles.css"),
|
|
366
|
+
getResource("index.js"),
|
|
367
|
+
getResource("images/checked.svg"),
|
|
368
|
+
getResource("images/collapsed.svg"),
|
|
369
|
+
getResource("images/expanded.svg"),
|
|
370
|
+
getResource("images/unchecked.svg")
|
|
371
|
+
];
|
|
372
|
+
|
|
373
|
+
Promise.all(aPromises).then(function (resources) {
|
|
374
|
+
var issues = { 'issues': oData.issues },
|
|
375
|
+
appInfos = { 'appInfos': oData.application },
|
|
376
|
+
technicalInfo = { 'technicalInfo': oData.technical },
|
|
377
|
+
archiver = new Archiver();
|
|
378
|
+
|
|
409
379
|
archiver.add('technicalInfo.json', technicalInfo, 'json');
|
|
410
380
|
archiver.add('issues.json', issues, 'json');
|
|
411
381
|
archiver.add('appInfos.json', appInfos, 'json');
|
|
412
|
-
archiver.add('report.html',
|
|
382
|
+
archiver.add('report.html', resources[0]);
|
|
413
383
|
archiver.add('abap.json', oData.abap, 'json');
|
|
384
|
+
archiver.add('styles.css', resources[1], 'css');
|
|
385
|
+
archiver.add('index.js', resources[2], 'js');
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
archiver.add('images/checked.svg', resources[3], 'svg');
|
|
389
|
+
archiver.add('images/collapsed.svg', resources[4], 'svg');
|
|
390
|
+
archiver.add('images/expanded.svg', resources[5], 'svg');
|
|
391
|
+
archiver.add('images/unchecked.svg', resources[6], 'svg');
|
|
392
|
+
|
|
414
393
|
archiver.download("SupportAssistantReport");
|
|
415
394
|
archiver.clear();
|
|
416
395
|
});
|
|
@@ -423,21 +402,19 @@ sap.ui.define(['jquery.sap.global', 'sap/ui/thirdparty/handlebars', 'sap/ui/supp
|
|
|
423
402
|
function openReport(oData) {
|
|
424
403
|
// Create a hidden anchor. Open window outside of the promise otherwise browsers blocks the window.open.
|
|
425
404
|
var content = '';
|
|
426
|
-
var a = jQuery('<a
|
|
405
|
+
var a = jQuery('<a class="sapUiHidden"></a>');
|
|
427
406
|
a.on('click', function () {
|
|
428
407
|
var reportWindow = window.open('', '_blank');
|
|
429
408
|
reportWindow.opener = null;
|
|
430
409
|
|
|
431
410
|
jQuery(reportWindow.document).ready(function () {
|
|
432
|
-
//
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
reportWindow.document.write('<div id="sap-report-content">' + content + '</div>');
|
|
437
|
-
}
|
|
438
|
-
reportWindow.document.title = 'Report';
|
|
411
|
+
// make sure everything is cleared before writing the new report
|
|
412
|
+
reportWindow.document.documentElement.innerHTML = '';
|
|
413
|
+
|
|
414
|
+
reportWindow.document.write(content);
|
|
439
415
|
});
|
|
440
416
|
});
|
|
417
|
+
|
|
441
418
|
jQuery('body').append(a);
|
|
442
419
|
|
|
443
420
|
this.getReportHtml(oData).then(function (html) {
|
|
@@ -1,97 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
.sapUiSupportTechInfoCntnt .sapUiSupportTitle td {
|
|
18
|
-
padding-top: 10px;
|
|
19
|
-
}
|
|
20
|
-
.sapUiSupportTechInfoCntnt .sapUiSupportTitle label {
|
|
21
|
-
padding-left: 4px;
|
|
22
|
-
font-size: 18px;
|
|
23
|
-
font-weight: bold;
|
|
24
|
-
}
|
|
25
|
-
.sapUiIssueGroupContent {
|
|
26
|
-
margin-top: 8px;
|
|
27
|
-
}
|
|
28
|
-
.unchecked::before {
|
|
29
|
-
vertical-align: middle;
|
|
30
|
-
display: inline-block;
|
|
31
|
-
width: 16px;
|
|
32
|
-
height: 16px;
|
|
33
|
-
content: "";
|
|
34
|
-
background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='%23333333'><path d='M42,3 C42.8125041,3 43.515622,3.28124719 44.109375,3.84375 C44.703128,4.40625281 45,5.12499563 45,6 L45,42 C45,42.8750044 44.703128,43.5937472 44.109375,44.15625 C43.515622,44.7187528 42.8125041,45 42,45 L6,45 C5.12499563,45 4.40625281,44.7187528 3.84375,44.15625 C3.28124719,43.5937472 3,42.8750044 3,42 L3,6 C3,5.12499563 3.28124719,4.40625281 3.84375,3.84375 C4.40625281,3.28124719 5.12499563,3 6,3 L42,3 Z M42,6 L6,6 L6,42 L42,42 L42,6 Z'></path></svg>") no-repeat;
|
|
35
|
-
}
|
|
36
|
-
.checked::before {
|
|
37
|
-
vertical-align: middle;
|
|
38
|
-
display: inline-block;
|
|
39
|
-
width: 16px;
|
|
40
|
-
height: 16px;
|
|
41
|
-
content: "";
|
|
42
|
-
background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='%23333333'><path d='M42,30 L45,30 L45,42 C45,42.8750044 44.703128,43.5937472 44.109375,44.15625 C43.515622,44.7187528 42.8125041,45 42,45 L6,45 C5.12499563,45 4.40625281,44.7187528 3.84375,44.15625 C3.28124719,43.5937472 3,42.8750044 3,42 L3,6 C3,5.18749594 3.28124719,4.48437797 3.84375,3.890625 C4.40625281,3.29687203 5.12499563,3 6,3 L18,3 L18,6 L6,6 L6,42 L42,42 L42,30 Z M47.625,2.34375 C48.0625022,2.78125219 48.1250016,3.28124719 47.8125,3.84375 L30.46875,29.34375 C30.2812491,29.7187519 29.9687522,29.9374997 29.53125,30 C29.0937478,30.0625003 28.7187516,29.9375016 28.40625,29.625 L16.6875,16.59375 C16.1249972,16.0312472 16.1249972,15.4687528 16.6875,14.90625 L18.65625,12.9375 C19.2812531,12.3124969 19.8749972,12.3124969 20.4375,12.9375 L27.9375,20.4375 C28.2500016,20.7500016 28.609373,20.8750003 29.015625,20.8125 C29.421877,20.7499997 29.7187491,20.5000022 29.90625,20.0625 L43.59375,0.65625 C43.7812509,0.281248125 44.078123,0.0625003125 44.484375,0 C44.890627,-0.0625003125 45.2499984,0.0624984375 45.5625,0.375 L47.625,2.34375 Z'></path></svg>") no-repeat;
|
|
43
|
-
}
|
|
44
|
-
td .unchecked::before,
|
|
45
|
-
td .checked::before {
|
|
46
|
-
margin-right: 8px;
|
|
47
|
-
}
|
|
48
|
-
</style>
|
|
49
|
-
|
|
50
|
-
{{getStyles metadata.styles}}
|
|
51
|
-
|
|
52
|
-
<main>
|
|
53
|
-
<header>
|
|
54
|
-
<h1>{{metadata.title}}</h1>
|
|
55
|
-
<div>Generated on (<time>{{metadata.timestamp}}</time>)</div>
|
|
56
|
-
<div class="bottom-margin-small">{{metadata.analysisDurationTitle}}: <time>{{metadata.analysisDuration}}</time></div>
|
|
57
|
-
<div>{{getScope metadata.scope}}</div>
|
|
58
|
-
</header>
|
|
59
|
-
<div>
|
|
60
|
-
<section id="section_selected-rules">
|
|
61
|
-
<div class="expandable-control collapsed-content" data-expandableElement="selectedRulesContent"><h1 class="expandable-title">{{{metadata.title_SelectedRules}}}</h1></div>
|
|
62
|
-
<div id="selectedRulesContent">
|
|
1
|
+
<!DOCTYPE HTML>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>Support Assistant Report</title>
|
|
5
|
+
<link rel="stylesheet" href="{{baseUrl}}styles.css">
|
|
6
|
+
</head>
|
|
7
|
+
<body>
|
|
8
|
+
<div id="sap-report-content">
|
|
9
|
+
<main>
|
|
10
|
+
<header>
|
|
11
|
+
<h1>{{metadataTitle}}</h1>
|
|
12
|
+
<div>Generated on (<time>{{metadataTimestamp}}</time>)</div>
|
|
13
|
+
<div class="bottom-margin-small">{{metadataAnalysisDurationTitle}}: <time>{{metadataAnalysisDuration}}</time></div>
|
|
14
|
+
<div>{{metadataScope}}</div>
|
|
15
|
+
</header>
|
|
63
16
|
<div>
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
<
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
17
|
+
<section id="section_selected-rules">
|
|
18
|
+
<div class="expandable-control collapsed-content" data-expandableElement="selectedRulesContent"><h1 class="expandable-title">{{metadataTitleSelectedRules}}</h1></div>
|
|
19
|
+
<div id="selectedRulesContent">
|
|
20
|
+
<div>
|
|
21
|
+
Rule Preset / ID : {{rulePreset}}
|
|
22
|
+
</div>
|
|
23
|
+
{{rules}}
|
|
24
|
+
</div>
|
|
25
|
+
</section>
|
|
26
|
+
<section id="section_technical-details">
|
|
27
|
+
<div class="expandable-control collapsed-content" data-expandableElement="technicalInfoContent"><h1 class="expandable-title">{{metadataTitleTechnicalInfo}}</h1></div>
|
|
28
|
+
<div id="technicalInfoContent">{{technicalInfo}}</div>
|
|
29
|
+
</section>
|
|
30
|
+
<section id="section_app-info">
|
|
31
|
+
<div class="expandable-control collapsed-content" data-expandableElement="appInfoContent"><h1 class="expandable-title">{{metadataTitleAppInfo}}</h1></div>
|
|
32
|
+
<div id="appInfoContent">{{appInfo}}</div>
|
|
33
|
+
</section>
|
|
34
|
+
<section id="section_issues">
|
|
35
|
+
<div class="expandable-control collapsed-content" data-expandableElement="issuesContent"><h1 class="expandable-title">{{metadataTitleIssues}}</h1></div>
|
|
36
|
+
<div id="issuesContent">{{issues}}</div>
|
|
37
|
+
</section>
|
|
70
38
|
</div>
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
<section id="section_app-info">
|
|
79
|
-
<div class="expandable-control collapsed-content" data-expandableElement="appInfoContent"><h1 class="expandable-title">{{metadata.title_AppInfo}}</h1></div>
|
|
80
|
-
<div id="appInfoContent">{{getAppInfo appInfo}}</div>
|
|
81
|
-
</section>
|
|
82
|
-
<section id="section_issues">
|
|
83
|
-
<div class="expandable-control collapsed-content" data-expandableElement="issuesContent"><h1 class="expandable-title">{{metadata.title_Issues}}</h1></div>
|
|
84
|
-
<div id="issuesContent">{{getIssues issues}}</div>
|
|
85
|
-
</section>
|
|
86
|
-
</div>
|
|
87
|
-
<footer>
|
|
88
|
-
</footer>
|
|
89
|
-
</main>
|
|
90
|
-
|
|
91
|
-
{{getScripts metadata.scripts}}
|
|
92
|
-
|
|
93
|
-
<script>
|
|
94
|
-
window.sapUiSupportReport.collapseExpand.init();
|
|
95
|
-
window.sapUiSupportReport.filter.init();
|
|
96
|
-
</script>
|
|
97
|
-
|
|
39
|
+
<footer>
|
|
40
|
+
</footer>
|
|
41
|
+
</main>
|
|
42
|
+
</div>
|
|
43
|
+
<script src="{{baseUrl}}index.js"></script>
|
|
44
|
+
</body>
|
|
45
|
+
</html>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='%23333333'><path d='M42,30 L45,30 L45,42 C45,42.8750044 44.703128,43.5937472 44.109375,44.15625 C43.515622,44.7187528 42.8125041,45 42,45 L6,45 C5.12499563,45 4.40625281,44.7187528 3.84375,44.15625 C3.28124719,43.5937472 3,42.8750044 3,42 L3,6 C3,5.18749594 3.28124719,4.48437797 3.84375,3.890625 C4.40625281,3.29687203 5.12499563,3 6,3 L18,3 L18,6 L6,6 L6,42 L42,42 L42,30 Z M47.625,2.34375 C48.0625022,2.78125219 48.1250016,3.28124719 47.8125,3.84375 L30.46875,29.34375 C30.2812491,29.7187519 29.9687522,29.9374997 29.53125,30 C29.0937478,30.0625003 28.7187516,29.9375016 28.40625,29.625 L16.6875,16.59375 C16.1249972,16.0312472 16.1249972,15.4687528 16.6875,14.90625 L18.65625,12.9375 C19.2812531,12.3124969 19.8749972,12.3124969 20.4375,12.9375 L27.9375,20.4375 C28.2500016,20.7500016 28.609373,20.8750003 29.015625,20.8125 C29.421877,20.7499997 29.7187491,20.5000022 29.90625,20.0625 L43.59375,0.65625 C43.7812509,0.281248125 44.078123,0.0625003125 44.484375,0 C44.890627,-0.0625003125 45.2499984,0.0624984375 45.5625,0.375 L47.625,2.34375 Z'></path></svg>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='%23346187'><path d='M31.96875,21.84375 C32.5937531,22.4687531 32.90625,23.1874959 32.90625,24 C32.90625,24.8125041 32.5937531,25.5312469 31.96875,26.15625 L16.5,41.625 C15.7499963,42.3125034 15.0312534,42.3125034 14.34375,41.625 C13.6562466,40.9374966 13.6562466,40.2187538 14.34375,39.46875 L29.34375,24.5625 C29.7187519,24.1874981 29.7187519,23.8125019 29.34375,23.4375 L14.4375,8.53125 C14.1249984,8.21874844 13.96875,7.87500188 13.96875,7.5 C13.96875,7.12499813 14.1249984,6.78125156 14.4375,6.46875 C14.7500016,6.15624844 15.0937481,6 15.46875,6 C15.8437519,6 16.1874984,6.15624844 16.5,6.46875 L31.96875,21.84375 Z'></path></svg>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='%23346187'><path d='M39.46875,17.53125 C40.1562534,16.7812462 40.8749963,16.7812462 41.625,17.53125 C41.9375016,17.8437516 42.09375,18.1874981 42.09375,18.5625 C42.09375,18.9375019 41.9375016,19.2812484 41.625,19.59375 L26.15625,35.0625 C25.5312469,35.6250028 24.8125041,35.90625 24,35.90625 C23.1874959,35.90625 22.5000028,35.6250028 21.9375,35.0625 L6.375,19.59375 C6.06249844,19.2812484 5.90625,18.921877 5.90625,18.515625 C5.90625,18.109373 6.06249844,17.7500016 6.375,17.4375 C6.68750156,17.1249984 7.04687297,16.96875 7.453125,16.96875 C7.85937703,16.96875 8.21874844,17.1249984 8.53125,17.4375 L23.53125,32.4375 C23.8437516,32.8125019 24.1874981,32.8125019 24.5625,32.4375 L39.46875,17.53125 Z'></path></svg>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='%23333333'><path d='M42,3 C42.8125041,3 43.515622,3.28124719 44.109375,3.84375 C44.703128,4.40625281 45,5.12499563 45,6 L45,42 C45,42.8750044 44.703128,43.5937472 44.109375,44.15625 C43.515622,44.7187528 42.8125041,45 42,45 L6,45 C5.12499563,45 4.40625281,44.7187528 3.84375,44.15625 C3.28124719,43.5937472 3,42.8750044 3,42 L3,6 C3,5.12499563 3.28124719,4.40625281 3.84375,3.84375 C4.40625281,3.28124719 5.12499563,3 6,3 L42,3 Z M42,6 L6,6 L6,42 L42,42 L42,6 Z'></path></svg>
|
|
@@ -4,6 +4,59 @@
|
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
window.sapUiSupportReport = window.sapUiSupportReport || {};
|
|
8
|
+
window.sapUiSupportReport.collapseExpand = (function() {
|
|
9
|
+
'use strict';
|
|
10
|
+
|
|
11
|
+
function collapseExpandClickHandler(event) {
|
|
12
|
+
var toExpandElementId = this.getAttribute('data-expandableElement');
|
|
13
|
+
var expandableElement = document.getElementById(toExpandElementId);
|
|
14
|
+
var toExpand = expandableElement.classList.contains('collapsed');
|
|
15
|
+
|
|
16
|
+
if (toExpand) {
|
|
17
|
+
expandableElement.classList.remove('collapsed');
|
|
18
|
+
expandableElement.classList.add('expanded');
|
|
19
|
+
this.classList.remove('collapsed-content');
|
|
20
|
+
this.classList.add('expanded-content');
|
|
21
|
+
} else {
|
|
22
|
+
expandableElement.classList.remove('expanded');
|
|
23
|
+
expandableElement.classList.add('collapsed');
|
|
24
|
+
this.classList.remove('expanded-content');
|
|
25
|
+
this.classList.add('collapsed-content');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function init() {
|
|
30
|
+
try {
|
|
31
|
+
var expandableElements = document.getElementsByClassName('expandable-control');
|
|
32
|
+
if (!expandableElements) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
for (var i = 0; i < expandableElements.length; i++) {
|
|
37
|
+
expandableElements[i].addEventListener('click', collapseExpandClickHandler);
|
|
38
|
+
|
|
39
|
+
// Set the default collapsed/expanded state of the expandable content.
|
|
40
|
+
var elementToExpandId = expandableElements[i].getAttribute('data-expandableElement');
|
|
41
|
+
var elementToExpand = document.getElementById(elementToExpandId);
|
|
42
|
+
if (expandableElements[i].classList.contains('collapsed-content')) {
|
|
43
|
+
elementToExpand.classList.add('collapsed');
|
|
44
|
+
} else {
|
|
45
|
+
elementToExpand.classList.add('expanded');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
} catch (ex) {
|
|
49
|
+
/* eslint-disable no-console */
|
|
50
|
+
console.log('There was a problem initializing collapse/expand functionality.');
|
|
51
|
+
/* eslint-enable no-console */
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return {
|
|
56
|
+
init: init
|
|
57
|
+
};
|
|
58
|
+
}());
|
|
59
|
+
|
|
7
60
|
window.sapUiSupportReport = window.sapUiSupportReport || {};
|
|
8
61
|
window.sapUiSupportReport.filter = (function () {
|
|
9
62
|
'use strict';
|
|
@@ -109,3 +162,6 @@ window.sapUiSupportReport.filter = (function () {
|
|
|
109
162
|
init: init
|
|
110
163
|
};
|
|
111
164
|
}());
|
|
165
|
+
|
|
166
|
+
window.sapUiSupportReport.collapseExpand.init();
|
|
167
|
+
window.sapUiSupportReport.filter.init();
|
|
@@ -1,3 +1,107 @@
|
|
|
1
|
+
/* General */
|
|
2
|
+
body {
|
|
3
|
+
font-family: "72-Web", Arial, Helvetica, sans-serif;
|
|
4
|
+
}
|
|
5
|
+
main > header > h1 {
|
|
6
|
+
font-size: 1.8em;
|
|
7
|
+
}
|
|
8
|
+
section h1 {
|
|
9
|
+
font-size: 1.2em;
|
|
10
|
+
}
|
|
11
|
+
table {
|
|
12
|
+
font-size: 0.9em;
|
|
13
|
+
}
|
|
14
|
+
.sapUiSupportTechInfoCntnt td:first-child {
|
|
15
|
+
width: 12%;
|
|
16
|
+
}
|
|
17
|
+
.sapUiSupportTechInfoCntnt .sapUiSupportTitle td {
|
|
18
|
+
padding-top: 10px;
|
|
19
|
+
}
|
|
20
|
+
.sapUiSupportTechInfoCntnt .sapUiSupportTitle label {
|
|
21
|
+
padding-left: 4px;
|
|
22
|
+
font-size: 18px;
|
|
23
|
+
font-weight: bold;
|
|
24
|
+
}
|
|
25
|
+
.sapUiIssueGroupContent {
|
|
26
|
+
margin-top: 8px;
|
|
27
|
+
}
|
|
28
|
+
.unchecked::before {
|
|
29
|
+
vertical-align: middle;
|
|
30
|
+
display: inline-block;
|
|
31
|
+
width: 16px;
|
|
32
|
+
height: 16px;
|
|
33
|
+
content: "";
|
|
34
|
+
background: url("./images/unchecked.svg") no-repeat;
|
|
35
|
+
}
|
|
36
|
+
.checked::before {
|
|
37
|
+
vertical-align: middle;
|
|
38
|
+
display: inline-block;
|
|
39
|
+
width: 16px;
|
|
40
|
+
height: 16px;
|
|
41
|
+
content: "";
|
|
42
|
+
background: url("./images/checked.svg") no-repeat;
|
|
43
|
+
}
|
|
44
|
+
td .unchecked::before,
|
|
45
|
+
td .checked::before {
|
|
46
|
+
margin-right: 8px;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* Filters functionality */
|
|
50
|
+
.filters {
|
|
51
|
+
margin: 10px;
|
|
52
|
+
font-size: 1em;
|
|
53
|
+
}
|
|
54
|
+
.filter {
|
|
55
|
+
padding: 5px;
|
|
56
|
+
display: inline-block;
|
|
57
|
+
cursor: pointer;
|
|
58
|
+
border-radius: 5px;
|
|
59
|
+
}
|
|
60
|
+
.filter-active {
|
|
61
|
+
background-color: #ddd;
|
|
62
|
+
box-shadow: 1px 1px 5px #888888;
|
|
63
|
+
}
|
|
64
|
+
.filtered {
|
|
65
|
+
display: none;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/* Expand/Collapse functionality */
|
|
69
|
+
.expandable-control {
|
|
70
|
+
cursor: pointer;
|
|
71
|
+
}
|
|
72
|
+
.expanded {
|
|
73
|
+
padding-left: 30px;
|
|
74
|
+
}
|
|
75
|
+
.expanded > tr > td:first-child {
|
|
76
|
+
padding-left: 35px;
|
|
77
|
+
}
|
|
78
|
+
.collapsed {
|
|
79
|
+
display: none;
|
|
80
|
+
}
|
|
81
|
+
.expanded-content > .expandable-title::before {
|
|
82
|
+
margin-right: 8px;
|
|
83
|
+
vertical-align: middle;
|
|
84
|
+
display: inline-block;
|
|
85
|
+
width: 16px;
|
|
86
|
+
height: 16px;
|
|
87
|
+
content: "";
|
|
88
|
+
background: url("./images/expanded.svg") no-repeat;
|
|
89
|
+
}
|
|
90
|
+
.collapsed-content > .expandable-title::before {
|
|
91
|
+
margin-right: 8px;
|
|
92
|
+
vertical-align: middle;
|
|
93
|
+
display: inline-block;
|
|
94
|
+
width: 16px;
|
|
95
|
+
height: 16px;
|
|
96
|
+
content: "";
|
|
97
|
+
background: url("./images/collapsed.svg") no-repeat;
|
|
98
|
+
}
|
|
99
|
+
.expanded-content > h1.expandable-title::before,
|
|
100
|
+
.collapsed-content > h1.expandable-title::before {
|
|
101
|
+
width: 22px;
|
|
102
|
+
height: 22px;
|
|
103
|
+
}
|
|
104
|
+
|
|
1
105
|
/* Table */
|
|
2
106
|
table.sapUiTable {
|
|
3
107
|
margin-top: 5px;
|