function renderProjectsByCommittee()

in site/js/projects.js [871:921]


function renderProjectsByCommittee() {
    var obj = document.getElementById('list');
    obj.innerHTML = "";
    var projectsSorted = sortProjects();

    var dcount = {};
    for (var committee in committees) {
        dcount[committee] = 0;
    }
    for (var project in projects) {
        project = projects[project];
        if (committees[project.pmc]) {
            dcount[project.pmc]++;
        }
    }

    // Construct pmc list
    var ul = document.createElement('ul');

    var lpmc;
    for (lpmc in committees) {
        var c = dcount[lpmc];
        var li = document.createElement('li');
        var cul = document.createElement('ul');
        if (c == 0 && lpmc != 'labs') {
            appendLiInnerHTML(cul, projectIcon(committees[lpmc].name) + "<a href='project.html?" + lpmc + "'>" + committees[lpmc].name + "</a>");
            c = 1;
        } else {
            var i;
            for (i in projectsSorted) {
                i = projectsSorted[i];
                var project = projects[i];
                if (committees[project.pmc]) {
                    var xlpmc = project.pmc;
                    if (xlpmc == lpmc) {
                        appendLiInnerHTML(cul, projectIcon(project.name) + projectLink(i));
                    }
                }
            }
        }
        li.innerHTML = "<h3>" + committeeIcon() + "<a id='" + lpmc + "' href='committee.html?"+ lpmc + "'>" + committees[lpmc].name + " Committee</a>" + (c>1?(" (" + c + ")"):"") + (c>0?":": "") + "</h3>";
        li.appendChild(cul);
        ul.appendChild(li);
    }

    obj.appendChild(ul);

    if (location.hash.length > 1) {
        setTimeout(function() { location.href = location.href;}, 250);
    }
}