var project={"_id":"569e5ed0de78eca41cc5a731","id":"f3e1bb45300050fc969028936fcd377f1cf1a048","name":"SCAN","user":"56980d31b8759c420f3b46e1","description":"Display list of projects, filtering out unnamed project recipient field and requiring login to view contact info","created":"2016-01-19T15:21:20.434Z","shared":false,"server":"micro","datafiles":[{"file":{"link":"https://docs.google.com/spreadsheets/d/1NfRehozdwlqC_dnCEOOI94Bsc_OrlHiggaztxvgDDFU/pubhtml","type":"google spreadsheet","url":"https://spreadsheets.google.com/feeds/list/1NfRehozdwlqC_dnCEOOI94Bsc_OrlHiggaztxvgDDFU/default/public/full?alt=json","message":{"error":false,"text":""}},"varname":"projects","title":"...","activated":true,"name":"datafile","linkedtofile":true,"optional":true,"content":""}],"packs":["jquery","Datatables"],"container":"mainpart","js":{"file":{"type":"","url":"","link":"","message":{"error":true,"text":"File not defined"},"depurl":"https://quipslib.s3.amazonaws.com/prod/f3e1bb45300050fc969028936fcd377f1cf1a048/script.js"},"title":"Javascript","activated":true,"name":"js","linkedtofile":false,"optional":true,"content":"$(\"#results\").DataTable()"},"css":{"file":{"type":"","url":"","link":"","message":{"error":true,"text":"File not defined"}},"title":"Cascading Style Sheet (CSS)","activated":false,"name":"css","linkedtofile":false,"optional":true},"jade":{"file":{"type":"","url":"","link":"","message":{"error":true,"text":"File not defined"},"depurl":"https://quipslib.s3.amazonaws.com/prod/f3e1bb45300050fc969028936fcd377f1cf1a048/main.jade"},"title":"Jade","activated":true,"name":"jade","linkedtofile":false,"optional":false,"content":"table#results.display\n thead\n tr\n th Recipients\n th Project Title\n th Areas of Assistance\n th Project Status\n th Donors and Implementing Organizations\n tbody\n for row in projects.feed.entry\n if(row.gsx$projectstatus.$t)!=\"Project Completed\"\n tr\n td=row.gsx$recipientstatesororganizations.$t\n td=row.gsx$projecttitle.$t\n td=row.gsx$areasofassistance.$t\n td=row.gsx$projectstatus.$t\n td\n span=row.gsx$projectdonororfunder.$t\n br\n span=row.gsx$organizationstoimplementtheproject.$t"},"deploydate":"2016-03-01T17:15:30.271Z","capture":"https://quipslib.s3.amazonaws.com/prod/f3e1bb45300050fc969028936fcd377f1cf1a048/capture.png","prod":true,"published":"2016-01-28T16:35:13.493Z","sharedwith":["56a2838637025efe6412eb12"],"libs":[{"_id":"5672b602f36b083214f3e63e","description":"The Write Less, Do More, JavaScript Library","key":"","version":"2.1.1","link":"https://code.jquery.com/jquery-2.1.4.js","name":"jquery","__v":0,"required":true,"haskey":false,"website":"https://jquery.com"},{"_id":"568eb9222043a726661b0ad2","required":false,"description":"A plug-in for the jQuery Javascript Library. It is a highly flexible tool, based upon the foundations of progressive enhancement, and will add advanced interaction controls to any HTML table.","haskey":false,"version":"1.10.10","link":"https://cdn.datatables.net/s/dt/dt-1.10.10/datatables.min.css,https://cdn.datatables.net/s/dt/dt-1.10.10/datatables.min.js","name":"Datatables","__v":0,"website":"https://www.datatables.net"}],"host":"https://quips.anbdata.com","version":"prod"}
function loadjquery(url,callback) {
if(typeof jQuery=='undefined') {
loadScript(url,callback)
}
else {
callback()
}
}
function loadScript(url, callback) {
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState) { //IE
script.onreadystatechange = function () {
if (script.readyState == "loaded" || script.readyState == "complete") {
script.onreadystatechange = null;
callback();
}
};
} else { //Others
script.onload = function () {
callback();
};
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}
(function () {
loadjquery("https://code.jquery.com/jquery-2.1.4.js", function () {
//jQuery loaded
$("#"+project.container).html("")
var libs=[]
$(project.libs).each(function(i,v){
if (v.name!="jquery") {
$(v.link.split(",")).each(function(j,u){
if (u.slice(-2)=="js") {
libs.push(u+(v.haskey?"?key="+project[v.name+"key"]:""))
}
else {
$("head").append("")
}
})
}
})
if (project.morejs) {
$(project.morejs).each(function(i,v){
if ((v.url.substring(0,2)=="//")||(v.url.substring(0,8)=="https://")||(v.url.substring(0,7)=="http://")) {
libs.push(v.url)
}
})
}
if (project.morecss) {
$(project.morecss).each(function(i,v){
$("head").append("")
})
}
loadlibs(libs.reverse())
});
})();
function loadlibs(libs){
if (libs.length>0) {
var l=libs.pop()
loadScript(l,function(){
//$.getScript(l,function(res){
loadlibs(libs)
})
//.fail(function(e){
// loadlibs(libs)
//
//})
}
else {
start()
}
}
function putscriptcontent(content){
var script = document.createElement("script")
script.type = "text/javascript";
$(script).text(content)
document.getElementsByTagName("head")[0].appendChild(script);
}
function start(){
//load jade
$.getJSON(project.host+"/project/"+project.version+"/"+project.id+"/render?callback=?"+(project.datachange?"&data="+project.datachange:""),function(res){
$("#"+project.container).html(res.html)
if (project.css.activated) {
if (project.css.linkedtofile) {
$("head").append("")}
else {
$("head").append("")}
}
if (project.js.activated) {
if (project.js.linkedtofile) {
$.getScript(project.js.file[(project.prod?"depurl":"url")])}
else {
putscriptcontent(project.js.content)}
if (project.mainjs) {
window[project.mainjs]()
}
}
})
}