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]() } } }) }