diff --git a/server.py b/server.py
index 37d07c4..38fad50 100755
--- a/server.py
+++ b/server.py
@@ -252,6 +252,15 @@ def getAllOrg():
data = ['CIRCL', 'CASES', 'SMILE' ,'ORG4' ,'ORG5', 'SUPER HYPER LONG ORGINZATION NAME']
return jsonify(data)
+@app.route("/_getOrgRank")
+def getOrgRank():
+ try:
+ org = request.args.get('org')
+ except:
+ org = ''
+ data = {'org': org, 'rank': random.randint(1,16)}
+ return jsonify(data)
+
@app.route("/_getTopCoord")
def getTopCoord():
try:
diff --git a/static/css/ranking.css b/static/css/ranking.css
index f9e85cf..ef1f564 100644
--- a/static/css/ranking.css
+++ b/static/css/ranking.css
@@ -9,11 +9,13 @@
.popOverBtn {
float: left;
- padding: 0px;
+ padding-top: 2px;
+ padding-bottom: 2px;
padding-right: 8px;
height: 46px;
margin-top: 2px;
margin-bottom: 2px;
+ display: none;
}
.table > tbody > tr > td.centerCell {
diff --git a/static/js/contrib.js b/static/js/contrib.js
index 72f7c27..4fd438b 100644
--- a/static/js/contrib.js
+++ b/static/js/contrib.js
@@ -73,9 +73,8 @@ var typeaheadOption = {
return process(allOrg);
}
},
- updater: function(item) {
- $('#orgText').text(item);
- $('#btnCurrRank').show();
+ updater: function(org) {
+ updateProgressHeader(org);
}
}
@@ -103,7 +102,7 @@ function getRankIcon(rank, size, header) {
}
return img.outerHTML;
}
-function generateRankingSheet() {
+function generateRankingSheet(rank) {
var table = document.createElement('table');
table.classList.add('table', 'table-striped');
table.style.marginBottom = '0px';
@@ -111,7 +110,7 @@ function generateRankingSheet() {
var thead = document.createElement('thead');
var tr = document.createElement('tr');
var th = document.createElement('th');
- th.innerHTML = "Ranking";
+ th.innerHTML = "Rank";
tr.appendChild(th);
var th = document.createElement('th');
th.innerHTML = "Requirement";
@@ -128,6 +127,10 @@ function generateRankingSheet() {
var td = document.createElement('td');
td.innerHTML = i+" pnts";
td.style.padding = "2px";
+ tr.style.textAlign = "center";
+ if (i == rank) { // current org rank
+ tr.classList.add('info')
+ }
tr.appendChild(td);
tbody.appendChild(tr);
}
@@ -154,16 +157,23 @@ function addToTableFromJson(datatable, url) {
}
-
+function updateProgressHeader(org) {
+ // get Org rank
+ $.getJSON( url_getOrgRank+'?org='+org, function( data ) {
+ $('#btnCurrRank').show();
+ $('#orgText').text(data.org);
+ var popoverRank = $('#btnCurrRank').data('bs.popover');
+ popoverRank.options.content = generateRankingSheet(data.rank);
+ $('#orgRankDiv').html(getRankIcon(data.rank, 40, true));
+ $('#orgNextRankDiv').html(getRankIcon(data.rank+1, 40, true));
+ });
+}
$(document).ready(function() {
- $('#orgName').typeahead(typeaheadOption);
- $('#orgRankDiv').html(getRankIcon(8, 40, true));
- $('#orgNextRankDiv').html(getRankIcon(9, 40, true));
- $('#orgText').text(currOrg);
if(currOrg != "") // currOrg selected
- $('#btnCurrRank').show();
- $('[data-toggle="popover"]').popover(popOverOption);
+ updateProgressHeader(org)
+ $('#orgName').typeahead(typeaheadOption);
+ $('#btnCurrRank').popover(popOverOption);
datatableTop = $('#topContribTable').DataTable(optionDatatable_top);
datatableFame = $('#fameTable').DataTable(optionDatatable_fame);
datatableCateg = $('#categTable').DataTable(optionDatatable_Categ);
diff --git a/templates/contrib.html b/templates/contrib.html
index e37296e..4bea1aa 100644
--- a/templates/contrib.html
+++ b/templates/contrib.html
@@ -68,14 +68,14 @@