📄 fancy-hist.xsl
字号:
label = classStats[x][0];
containerId = "packages-"+id1;
subContainerId = "package-" + id1 + "-class-" + id2;
p = countBugsClass(selectedVersion, selectedPriority, id1, idxBugPackage, id2, idxBugClass);
}
var total = p[1]+p[2]+p[3]+p[4];
if (total > 0) {
content += addListItem( 2, containerId, label, total, p, subContainerId,
"toggleList('"+ list + "', '" + subContainerId + "', '"+ id1 + "', '"+ id2 + "', '')"
);
}
}
return content;
}
// generate level 3 list
function displayLevel3(list, id1, id2) {
var content = "";
var containerId = "";
var subContainerId = "";
var p = [0,0,0,0,0];
var max = 0;
var label = "";
var id3 = "";
if (list=="lbc") {
max = patterns.length;
} else if (list=="lbp") {
max = patterns.length;
}
for (var x=0; x<max -1; x++) {
//if (list=="lbp" && (patterns[x][0]!=id1 || patterns[x][1]!=id2)) continue;
//if (list=="lbp" && classStats[x][3]=="0") continue;
if (list=="lbc") {
id3 = patterns[x][idxPatternKey];;
label = patterns[x][idxPatternDescr];
containerId = "patterns-"+id1;
subContainerId = "cat-" + id1 + "-code-" + id2 + "-pattern-" + id3;
p = countBugsPattern(selectedVersion, selectedPriority, id1, idxBugCat, id2, idxBugCode, id3, idxBugPattern);
}
if (list=="lbp") {
id3 = patterns[x][idxPatternKey];;
label = patterns[x][idxPatternDescr];
containerId = "classpatterns-"+id1;
subContainerId = "package-" + id1 + "-class-" + id2 + "-pattern-" + id3;
p = countBugsClassPattern(selectedVersion, selectedPriority, id2, idxBugClass, id3, idxBugPattern);
}
var total = p[1]+p[2]+p[3]+p[4];
if (total > 0) {
content += addListItem( 3, containerId, label, total, p, subContainerId,
"toggleList('" + list + "', '" + subContainerId + "', '"+ id1 + "', '"+ id2 + "', '"+ id3 + "')"
);
}
}
return content;
}
// generate level 4 list
function displayLevel4(list, id1, id2, id3) {
var content = "";
var bug = "";
var bugP = 0;
var containerId = "";
var subContainerId = "";
var bugId = "";
var label = "";
var p = [0,0,0,0,0];
for (var x=0; x<bugs.length -1; x++) {
bug = bugs[x];
if (list=="lbc") {
if ( bug[1]!=id1 || bug[2]!=id2 || bug[3]!=id3 ) continue;
if ( selectedVersion!=-1
&& selectedVersion!=bug[5]) continue;
if ( selectedPriority!=4
&& selectedPriority<bug[4]) continue;
subContainerId = "cat-" + id1 + "-code-" + id2 + "-pattern-" + id3 + "-bug-" + bug[0];
}
if (list=="lbp") {
if ( bug[7]!=id1 || bug[6]!=id2 || bug[3]!=id3 ) continue;
if ( selectedVersion!=-1
&& selectedVersion!=bug[5]) continue;
if ( selectedPriority!=4
&& selectedPriority<bug[4]) continue;
subContainerId = "package-" + id1 + "-class-" + id2 + "-pattern-" + id3 + "-bug-" + bug[0];
}
bugId = "b-uid-" + bug[0];
label = bug[idxBugDescr];
containerId = "bugs-"+bugId;
bugP = bug[4];
p[bugP]++;
var total = p[1]+p[2]+p[3]+p[4];
if (total > 0) {
content += addBug( 4, containerId, label, bugP, bug[5], subContainerId,
"showbug('" + bugId + "', '" + subContainerId + "', '"+id3+"')");
}
}
return content;
}
function addListItem(level, id, label, total, p, subId, onclick) {
var content = "";
content += "<div class='bugList-level"+level+"' >";
content += "<div class='bugList-level"+level+"-label' id='"+id+"' >";
content += "<a href='' onclick=\"" + onclick + ";return false;\" ";
content += ">";
content += "<strong>"+label+"</strong>";
content += " "+total+" bugs";
if (selectedPriority>1)
content += " <em>("+p[1];
if (selectedPriority>=2)
content += "/"+p[2];
if (selectedPriority>=3)
content += "/"+p[3];
if (selectedPriority>=4)
content += "/"+p[4];
if (selectedPriority>1)
content += ")</em>";
content += "</a>";
content += "</div>";
content += "<div class='bugList-level"+level+"-inner' id='"+subId+"' style='display:none;'>Loading...</div>";
content += "</div>";
return content;
}
function addBug( level, id, label, p, version, subId, onclick) {
var content = "";
content += "<div class='bugList-level" + level + "' id='" + id + "'>";
content += "<div class='bugList-level" + level + "-label' id='" + id + "'>";
content += "<span class='b-" + p + "'> </span>";
content += "<a href='' onclick=\"" + onclick + ";return false;\">";
if (version==lastVersion) {
content += "<span style='color:red;font-weight:bold;'>NEW!</span> ";
}
content += "<strong>" + label + "</strong>";
if (version==0) {
content += " <em>since release first historized release</em>";
} else {
content += " <em>since release " + versions[version][1] + "</em>";
}
content += "</a>";
content += "</div>";
content += "<div class='bugList-level" + level + "-inner' id='" + subId + "' style='display:none;'>Loading...</div>";
content += "</div>";
return content;
}
function countBugsVersion(version, priority) {
return countBugs(version, priority, "", -1, "", -1, "", -1, "", -1, "", -1);
}
function countBugsCat(version, priority, cat, idxCat) {
return countBugs(version, priority, cat, idxCat, "", -1, "", -1, "", -1, "", -1);
}
function countBugsPackage(version, priority, packageId, idxPackage) {
return countBugs(version, priority, "", -1, "", -1, "", -1, packageId, idxPackage, "", -1);
}
function countBugsCode(version, priority, cat, idxCat, code, idxCode) {
return countBugs(version, priority, cat, idxCat, code, idxCode, "", -1, "", -1, "", -1);
}
function countBugsPattern(version, priority, cat, idxCat, code, idxCode, packageId, idxPattern) {
return countBugs(version, priority, cat, idxCat, code, idxCode, packageId, idxPattern, "", -1, "", -1);
}
function countBugsClass(version, priority, id1, idxBugPackage, id2, idxBugClass) {
return countBugs(version, priority, "", -1, "", -1, "", -1, id1, idxBugPackage, id2, idxBugClass);
}
function countBugsClassPattern(version, priority, id2, idxBugClass, id3, idxBugPattern) {
return countBugs(version, priority, "", -1, "", -1, id3, idxBugPattern, "", -1, id2, idxBugClass);
}
function countBugs(version, priority, cat, idxCat, code, idxCode, pattern, idxPattern, packageId, idxPackage, classId, idxClass) {
var count = [0,0,0,0,0];
var last=1000000;
for (var x=0; x<bugs.length-1; x++) {
var bug = bugs[x];
var bugCat = bug[idxCat];
var bugP = bug[4];
var bugCode = bug[idxCode];
var bugPattern = bug[idxPattern];
if ( (version==-1 || version==bug[5])
&& (priority==4 || priority>=bug[4])
&& (idxCat==-1 || bug[idxCat]==cat)
&& (idxCode==-1 || bug[idxCode]==code)
&& (idxPattern==-1 || bug[idxPattern]==pattern)
&& (idxPackage==-1 || bug[idxPackage]==packageId)
&& (idxClass==-1 || bug[idxClass]==classId)
) {
count[bug[4]]++;
}
}
count[0] = count[1] + count[2] + count[3] + count[4];
return count;
}
function countFixedBugsInVersion(version) {
var count = [0,0,0,0,0];
var last=1000000;
for (var x=0; x<fixedBugs.length-1; x++) {
var bug = fixedBugs[x];
var bugP = bug[4];
if ( version==-1 || version==(bug[6]+1)) {
count[bug[4]]++;
}
}
count[0] = count[1] + count[2] + count[3] + count[4];
return count;
}
function countFixedBugsIntroducedInVersion(version) {
var count = [0,0,0,0,0];
var last=1000000;
for (var x=0; x<fixedBugs.length-1; x++) {
var bug = fixedBugs[x];
var bugP = bug[4];
if ( version==-1 || version==(bug[5])) {
count[bug[4]]++;
}
}
count[0] = count[1] + count[2] + count[3] + count[4];
return count;
}
function countFixedButActiveBugsVersion(version) {
var count = [0,0,0,0,0];
var last=1000000;
for (var x=0; x<fixedBugs.length-1; x++) {
var bug = fixedBugs[x];
var bugP = bug[4];
if ( version==-1 || (version >=bug[5] && version<=bug[6]) ) {
count[bug[4]]++;
}
}
count[0] = count[1] + count[2] + count[3] + count[4];
return count;
}
function countTotalBugsVersion(version) {
var count = [0,0,0,0,0];
var last=1000000;
for (var x=0; x<bugs.length-1; x++) {
var bug = bugs[x];
var bugP = bug[4];
if (version==-1 || version>=bug[5]) {
count[bug[4]]++;
}
}
count[0] = count[1] + count[2] + count[3] + count[4];
return count;
}
function getPriorityLegend() {
var content = "";
content += "<h5><span class='b-1'> </span> P1 ";
content += "<span class='b-2'> </span> P2 ";
content += "<span class='b-3'> </span> P3 ";
content += "<span class='b-4'> </span> Exp ";
content += "</h5>";
return content;
}
function populatePackageNames() {
for (var i=0; i<bugs.length; i++) {
var classId = bugs[i][6];
var idx = classId.lastIndexOf('.');
var packageId = "";
if (idx>0) {
packageId = classId.substring(0, idx);
}
bugs[i][7] = packageId;
}
}
function showbug(bugId, containerId, patternId) {
var bugplaceholder = document.getElementById(containerId);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -