You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@community.apache.org by hb...@apache.org on 2015/05/16 22:31:04 UTC
svn commit: r1679802 - in /comdev/projects.apache.org/site: js/projects.js
projects.html
Author: hboutemy
Date: Sat May 16 20:31:04 2015
New Revision: 1679802
URL: http://svn.apache.org/r1679802
Log:
display title before loading json files
Modified:
comdev/projects.apache.org/site/js/projects.js
comdev/projects.apache.org/site/projects.html
Modified: comdev/projects.apache.org/site/js/projects.js
URL: http://svn.apache.org/viewvc/comdev/projects.apache.org/site/js/projects.js?rev=1679802&r1=1679801&r2=1679802&view=diff
==============================================================================
--- comdev/projects.apache.org/site/js/projects.js (original)
+++ comdev/projects.apache.org/site/js/projects.js Sat May 16 20:31:04 2015
@@ -528,22 +528,23 @@ function isMember(id) {
return _(unixgroups['member']).indexOf(id) >= 0;
}
-function renderProjectsList(cat) {
-
- var obj = document.getElementById('contents');
- var projectsSortedX = []
- var projectsSorted = []
+function sortProjects() {
+ var projectsSortedX = [];
+ var projectsSorted = [];
for (i in projects) {
- projectsSortedX.push([i, projects[i].name]);
+ projectsSortedX.push([i, projects[i].name]);
}
projectsSortedX.sort(function(a,b) { return a[1].toLowerCase() > b[1].toLowerCase() ? 1 : a[1].toLowerCase() < b[1].toLowerCase() ? -1 : 0 })
for (i in projectsSortedX) {
- projectsSorted.push(projectsSortedX[i][0])
+ projectsSorted.push(projectsSortedX[i][0]);
}
-
- if (cat == "name") {
- // Title + description
- obj.innerHTML = "<h1>Projects by name:</h1>"
+ return projectsSorted;
+}
+
+function renderProjectsByName() {
+ var obj = document.getElementById('list');
+ obj.innerHTML = "";
+ var projectsSorted = sortProjects();
// Project list
var ul = document.createElement('ul');
@@ -552,27 +553,27 @@ function renderProjectsList(cat) {
appendLiInnerHTML(ul, projectIcon(projects[project].name) + projectLink(project));
}
obj.appendChild(ul);
- }
-
- // By language
- if (cat == "language") {
- // Title + description
- obj.innerHTML = "<h1>Projects by language:</h1>";
-
+}
+
+function renderProjectsByLanguage() {
+ var obj = document.getElementById('list');
+ obj.innerHTML = "";
+ var projectsSorted = sortProjects();
+
// Compile Language array
var lingos = [];
var lcount = {};
for (i in projects) {
if (projects[i]['programming-language']) {
- var a = projects[i]['programming-language'].split(/,\s*/);
- for (x in a) {
- a[x] = camelCase(a[x]);
- if (lingos.indexOf(a[x]) < 0) {
- lingos.push(a[x]);
- lcount[a[x]] = 0;
+ var a = projects[i]['programming-language'].split(/,\s*/);
+ for (x in a) {
+ a[x] = camelCase(a[x]);
+ if (lingos.indexOf(a[x]) < 0) {
+ lingos.push(a[x]);
+ lcount[a[x]] = 0;
+ }
+ lcount[a[x]]++;
}
- lcount[a[x]]++;
- }
}
}
@@ -601,27 +602,27 @@ function renderProjectsList(cat) {
}
obj.appendChild(ul);
- }
- // By category
- if (cat == "category") {
- // Title + description
- obj.innerHTML = "<h1>Projects by category:</h1>";
-
+}
+
+function renderProjectsByCategory() {
+ var obj = document.getElementById('list');
+ obj.innerHTML = "";
+ var projectsSorted = sortProjects();
+
var cats = [];
var ccount = {};
for (i in projects) {
if (projects[i].category) {
- var a = projects[i].category.split(/,\s*/);
- for (x in a) {
- x = a[x];
- if (cats.indexOf(x) < 0) {
- cats.push(x);
- ccount[x] = 0;
+ var a = projects[i].category.split(/,\s*/);
+ for (x in a) {
+ x = a[x];
+ if (cats.indexOf(x) < 0) {
+ cats.push(x);
+ ccount[x] = 0;
+ }
+ ccount[x]++;
}
- ccount[x]++;
- }
}
-
}
cats.sort();
@@ -651,13 +652,13 @@ function renderProjectsList(cat) {
}
obj.appendChild(ul);
- }
-
- // By date founded
- if (cat == "date") {
- // Title + description
- obj.innerHTML = "<h1>Projects by founding date (TLPs only):</h1>";
-
+}
+
+function renderProjectsByDate() {
+ var obj = document.getElementById('list');
+ obj.innerHTML = "";
+ var projectsSorted = sortProjects();
+
var dates = [];
var dcount = {};
for (i in tlps) {
@@ -689,24 +690,23 @@ function renderProjectsList(cat) {
}
obj.appendChild(ul);
- }
-
-
- // By number of committers
- if (cat == "number") {
- // Title + description
- obj.innerHTML = "<h1>Projects by number of committers:</h1>";
-
+}
+
+function renderProjectsByNumber() {
+ var obj = document.getElementById('list');
+ obj.innerHTML = "";
+ var projectsSorted = sortProjects();
+
var lens = [];
var lcount = {};
for (i in projects) {
if (unixgroups[i] && i != 'incubator') {
- var len = unixgroups[i].length;
- if (lens.indexOf(len) < 0) {
- lens.push(len);
- lcount[len] = 0;
- }
- lcount[len]++;
+ var len = unixgroups[i].length;
+ if (lens.indexOf(len) < 0) {
+ lens.push(len);
+ lcount[len] = 0;
+ }
+ lcount[len]++;
}
}
lens.sort(function(a,b) { return b - a });
@@ -732,25 +732,25 @@ function renderProjectsList(cat) {
}
obj.appendChild(ul);
- }
-
- // By PMC
- if (cat == "pmc") {
- // Title + description
- obj.innerHTML = "<h1>Projects by PMC:</h1>";
-
+}
+
+function renderProjectsByPMC() {
+ var obj = document.getElementById('list');
+ obj.innerHTML = "";
+ var projectsSorted = sortProjects();
+
var dcount = {};
- for (tlp in tlps) {
- dcount[tlp] = 0;
- }
+ for (tlp in tlps) {
+ dcount[tlp] = 0;
+ }
for (project in projects) {
- project = projects[project];
+ project = projects[project];
// Fix Incubating projects
if (project.name.match("incubating", "i")) {
- project.pmc = 'incubator'
+ project.pmc = 'incubator'
}
if (tlps[project.pmc]) {
- dcount[project.pmc]++;
+ dcount[project.pmc]++;
}
}
@@ -758,47 +758,55 @@ function renderProjectsList(cat) {
var ul = document.createElement('ul');
for (lpmc in tlps) {
- var c = dcount[lpmc];
+ var c = dcount[lpmc];
var li = document.createElement('li');
- var cul = document.createElement('ul');
- if (c == 0) {
- appendLiInnerHTML(cul, projectIcon(tlps[lpmc].name) + "<a href='/project.html?" + lpmc + "'>" + tlps[lpmc].name + "</a>");
- c = 1;
- } else {
- for (i in projectsSorted) {
- i = projectsSorted[i];
- var project = projects[i];
- // Fix Incubating projects
- if (project.name.match("incubating", "i")) {
- project.pmc = 'incubator'
- }
- if (tlps[project.pmc]) {
- xlpmc = project.pmc;
- if (xlpmc == lpmc) {
- appendLiInnerHTML(cul, projectIcon(project.name) + projectLink(i));
- }
+ var cul = document.createElement('ul');
+ if (c == 0) {
+ appendLiInnerHTML(cul, projectIcon(tlps[lpmc].name) + "<a href='/project.html?" + lpmc + "'>" + tlps[lpmc].name + "</a>");
+ c = 1;
+ } else {
+ for (i in projectsSorted) {
+ i = projectsSorted[i];
+ var project = projects[i];
+ // Fix Incubating projects
+ if (project.name.match("incubating", "i")) {
+ project.pmc = 'incubator'
+ }
+ if (tlps[project.pmc]) {
+ xlpmc = project.pmc;
+ if (xlpmc == lpmc) {
+ appendLiInnerHTML(cul, projectIcon(project.name) + projectLink(i));
}
}
}
- li.innerHTML = "<h3><a id='" + lpmc + "'>" + tlps[lpmc].name + " (" + c + ")</a>" + (c>0?":": "") + "</h3>";
- li.appendChild(cul);
+ }
+ li.innerHTML = "<h3><a id='" + lpmc + "'>" + tlps[lpmc].name + " (" + c + ")</a>" + (c>0?":": "") + "</h3>";
+ li.appendChild(cul);
ul.appendChild(li);
}
obj.appendChild(ul);
- }
-
- if (location.hash.length > 1) {
- setTimeout(function() { location.href = location.href;}, 250);
- }
}
-function buildProjectList(json) {
+function buildProjectsList(json) {
var cat = document.location.search.substr(1);
- if (cat.length == 0) {
- cat = "name";
+ var types = {
+ 'name': [ 'name', renderProjectsByName ],
+ 'language': [ 'language', renderProjectsByLanguage ],
+ 'category': [ 'category', renderProjectsByCategory ],
+ 'date': [ 'founding date (TLPs only)', renderProjectsByDate ],
+ 'number': [ 'number of committers', renderProjectsByNumber ],
+ 'pmc': [ 'PMC', renderProjectsByPMC ]
+ }
+ if ((cat.length == 0) || !(cat in types)) {
+ cat = "name";
}
- renderProjectsList(cat);
+
+ var type = types[cat];
+ var obj = document.getElementById('title');
+ obj.innerHTML = "<h1>Projects by " + type[0] + ":</h1>"
+
+ preloadEverything(type[1]);
}
Modified: comdev/projects.apache.org/site/projects.html
URL: http://svn.apache.org/viewvc/comdev/projects.apache.org/site/projects.html?rev=1679802&r1=1679801&r2=1679802&view=diff
==============================================================================
--- comdev/projects.apache.org/site/projects.html (original)
+++ comdev/projects.apache.org/site/projects.html Sat May 16 20:31:04 2015
@@ -10,7 +10,7 @@
<script src="js/projects.js"></script>
<title>Apache Projects Directory</title>
</head>
-<body onload="preloadEverything(buildProjectList);">
+<body onload="buildProjectsList();">
<div id="logo"></div>
<div id='cssmenu'>
@@ -37,6 +37,8 @@
</ul>
</div>
<div id="contents">
+ <div id="title"><h1>Projects by :</h1></div>
+ <div id="list">
<p style="text-align: center;">
Loading data, please wait...<br/>
<img src="/images/loader.gif"/>
@@ -49,6 +51,7 @@
Please enable it or get a browser that supports it.
</p>
</noscript>
+ </div>
</div>
<div id="footer">
Copyright© 2015, the Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a><br/>