Skip to content

Commit

Permalink
[JENKINS-51609] Filter report to show only low coverage code
Browse files Browse the repository at this point in the history
  • Loading branch information
cizezsy committed May 31, 2018
1 parent d37d701 commit 3b9626b
Showing 1 changed file with 72 additions and 17 deletions.
89 changes: 72 additions & 17 deletions src/main/webapp/scripts/custom-chart.js
Expand Up @@ -176,21 +176,17 @@ var CoverageChartGenerator = function (instance) {
return;
}

var metrics = [];
var children = [];

var data = [];
var defaultRange = [0, 75];

Object.keys(results).forEach(function (childName, childIndex) {
children.push(childName);
results[childName].forEach(function (coverage, metricIndex) {
var ratio = coverage.ratio;

metrics[metricIndex] = coverage.name;

data.push([metricIndex, childIndex, parseFloat(ratio.percentageString)]);
})
});
var r = filterChildren(results, defaultRange);
if (r.children.length === 0) {
defaultRange = [0, 100];
r = filterChildren(results, defaultRange);
}
var metrics = r.metrics;
var children = r.children;
var data = r.data;


var height = children.length * 32 + 100;
Expand All @@ -200,7 +196,6 @@ var CoverageChartGenerator = function (instance) {
childSummaryChartDiv.style.height = height + "px";
var childSummaryChart = echarts.init(childSummaryChartDiv);


var childSummaryChartOption = {
title: {
text: 'Divided by ' + (metric ? metric + ' Name' : '')
Expand Down Expand Up @@ -265,17 +260,20 @@ var CoverageChartGenerator = function (instance) {
},
triggerEvent: true,
axisLabel: {
interval: 0,
fontSize: 13
}
},
visualMap: {
min: 0,
max: 100,
range: defaultRange,
calculable: true,
orient: 'horizontal',
left: 'center',
left: 'right',
top: 'top',
inRange: {
color: ['#d55e00', '#009e73'],
color: ['#d55e00', '#009e73']
}
},
series: [{
Expand Down Expand Up @@ -306,6 +304,35 @@ var CoverageChartGenerator = function (instance) {
}
});

childSummaryChart.on('datarangeselected', function (params) {


var r = filterChildren(results, params.selected);
var children = r.children;
var data = r.data;


if (children.length !== 0) {
childSummaryChartOption.series[0].data = data;
} else {
childSummaryChartOption.series[0].data = null;
}

childSummaryChartOption.visualMap.range = [params.selected[0], params.selected[1]];
childSummaryChartOption.yAxis.data = children;

var height = children.length * 32 + 100;
if (height < 150) {
height = 150;
}
childSummaryChartDiv.style.height = height + "px";

var childSummaryChart = echarts.init(childSummaryChartDiv);

childSummaryChart.setOption(childSummaryChartOption);
childSummaryChart.resize();
});

window.onresize = function () {
childSummaryChart.resize();
}
Expand Down Expand Up @@ -393,6 +420,34 @@ var CoverageChartGenerator = function (instance) {

})
}
};

function filterChildren(results, range) {
var metrics = [];
var children = [];

var data = [];

Object.keys(results).filter(function (childName, childIndex) {
return results[childName].find(function (element) {
var p = parseFloat(element.ratio.percentageString);

return p >= range[0] && p <= range[1];
});
}).forEach(function (childName, childIndex) {
children.push(childName);
results[childName].forEach(function (coverage, metricIndex) {
var ratio = coverage.ratio;

metrics[metricIndex] = coverage.name;

data.push([metricIndex, childIndex, parseFloat(ratio.percentageString)]);
})
});

return {
metrics: metrics,
children: children,
data: data
}
}
};

0 comments on commit 3b9626b

Please sign in to comment.