var project={"_id":"569ba9e2de78eca41cc5a72e","id":"936ae4762ad3842eb2250280d0cc53023dfee606","name":"World Map","user":"566ac9850286a8f9080cdd79","description":"World Map using D3 inspired from http://bl.ocks.org/d3noob/5189184","created":"2016-01-17T14:28:29.696Z","shared":false,"server":"micro","datafiles":[{"file":{"link":"http://bl.ocks.org/d3noob/raw/5189184/1e263cb5ccbb0551819e420df31a35fd3d4188f3/world-110m2.json","type":"URL/API","url":"http://bl.ocks.org/d3noob/raw/5189184/1e263cb5ccbb0551819e420df31a35fd3d4188f3/world-110m2.json","message":{"error":false,"text":""}},"varname":"topology","title":"World Map","activated":true,"name":"datafile","linkedtofile":true,"optional":true,"content":"","sendtojs":true}],"packs":["bootstrap","jquery","D3"],"container":"mainpart","js":{"file":{"type":"","url":"","link":"","message":{"error":true,"text":"File not defined"},"depurl":"https://quipslib.s3.amazonaws.com/prod/936ae4762ad3842eb2250280d0cc53023dfee606/script.js"},"title":"Javascript","activated":true,"name":"js","linkedtofile":false,"optional":true,"content":"var projection = d3.geo.mercator()\n .center([20, 20 ])\n .scale(150)\n\nvar path = d3.geo.path()\n .projection(projection);\n\nvar g = d3.select(\"#map svg g\")\n\ng.selectAll(\"path\")\n .data(topojson.object(topology, topology.objects.countries)\n .geometries)\n .enter()\n .append(\"path\")\n .attr(\"d\", path)\n"},"css":{"file":{"type":"","url":"","link":"","message":{"error":true,"text":"File not defined"}},"title":"Cascading Style Sheet (CSS)","activated":true,"name":"css","linkedtofile":false,"optional":true,"content":"path {\n stroke: white;\n stroke-width: 0.25px;\n fill: gray;\n}"},"jade":{"file":{"type":"","url":"","link":"","message":{"error":true,"text":"File not defined"},"depurl":"https://quipslib.s3.amazonaws.com/prod/936ae4762ad3842eb2250280d0cc53023dfee606/main.jade"},"title":"Jade","activated":true,"name":"jade","linkedtofile":false,"optional":false,"content":"#map\n svg(width=\"960\",height=\"500\")\n g"},"deploydate":"2016-02-13T03:31:06.986Z","capture":"https://quipslib.s3.amazonaws.com/prod/936ae4762ad3842eb2250280d0cc53023dfee606/capture.png","prod":true,"published":"2016-01-19T13:38:13.835Z","libs":[{"_id":"5672b285f36b083214f3e63b","description":"A sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development.","key":"","version":"3.3.6","link":"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css,https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css,https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js","name":"bootstrap","__v":0,"haskey":false,"required":false,"website":"http://www.getbootstrap.com"},{"_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":"568c42d091ce286c15af73fd","required":false,"description":"A JavaScript library for visualizing data with HTML, SVG and CSS.","haskey":false,"version":"3","link":"//d3js.org/d3.v3.min.js,//d3js.org/topojson.v0.min.js","name":"D3","__v":0,"website":"http://d3js.org"}],"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]()
}
}
})
}