var project={"_id":"631abf05aee2f3729758ceb1","id":"0f293fadb57cd0188e142b3b28eb97808eb8e645","name":"PI ANAPP A41","user":"566ac9850286a8f9080cdd79","description":"","created":"2019-08-21T16:01:54.746Z","shared":false,"server":"micro","datafiles":[{"file":{"link":"https://s3.amazonaws.com/isicaodata/Deliveries/A41Data/a41data.json","type":"URL/API","url":"https://s3.amazonaws.com/isicaodata/Deliveries/A41Data/a41data.json","message":{"error":false,"text":""}},"varname":"papers","title":"Papers","activated":true,"name":"datafile","linkedtofile":true,"optional":true,"content":"","sendtojs":true}],"packs":["jquery"],"container":"mainpart","js":{"file":{"type":"","url":"","link":"","message":{"error":true,"text":"File not defined"},"depurl":"https://quipslibistars.s3.amazonaws.com/prod/0f293fadb57cd0188e142b3b28eb97808eb8e645/script.js"},"title":"Javascript","activated":true,"name":"js","linkedtofile":false,"optional":true,"content":"var ispi=false,anappid\n//var serv=\"http://test.anbdata.com:8000\"\n\nvar data=[]\nvar items=[]\nvar wpdata={}\nvar locals\nif (typeof(Storage) !== \"undefined\") {\n locals=true\n if (localStorage.anappicao) wpdata=JSON.parse(localStorage.anappicao)\n populate()\n \n} else {\n locals=false\n}\n\n$(\".wpbody\").each(function(i,v){\n if (items.indexOf($(v).find(\".card-header .ai\").text())<0) {\n data.push({area:\"ai\",fullname:$(v).find(\".card-header .ai\").text(),order:$(v).find(\".card-header .ai\").attr(\"order\")})\n items.push($(v).find(\".card-header .ai\").text()) \n }\n data.push({area:\"wp\",fullname:$(v).find(\".card-header .wp\").text(),order:$(v).find(\".card-header .wp\").attr(\"order\")})\n})\n\n\n\n/*\n$(\"#search\").typeahead({\n hint: false,\n highlight: true,\n minLength: 3\n},\n{\n name: 'wp',\n source: function(q,cb){\n\n var c=data.filter(function(d){\n var m=true\n $(q.split(\" \")).each(function(i,v){\n m=m&&d.fullname.match(new RegExp(v,\"i\"))\n })\n return m\n })\n cb(c.sort(function(a,b){return Number(a.order)-Number(b.order)}).map(function(d){return d.fullname}))\n }\n});\n\n\n\n\n$('#search').bind('typeahead:select', function(ev, suggestion) {\n var x=data.filter(function(d){return d.fullname==suggestion})[0]\n //console.log(x)\n var showing=0\n $(\".wpbody\").each(function(i,v){\n var text=$(v).find(\".\"+x.area).text()\n if (text==suggestion) {\n $(v).show()\n showing++\n }\n else {\n $(v).hide()\n }\n })\n log({event:\"searchsel\",data:{search:suggestion}})\n $(\"#showing\").text(showing)\n\n});\n\n*/\n\nfunction combine2(words){\n var c=[]\n words[0].matches.forEach(function(i1){\n words[1].matches.forEach(function(i2){\n c.push(i1+\" \"+i2)\n })\n })\n return [{word:words[0].word+\" \"+words[1].words,matches:c}]\n}\n\nfunction buildcombinations(words) {\n var s\n if (words.length==2) {\n return combine2(words)[0].matches\n }\n else if (words.length==1) {\n return words[0].matches\n }\n else {\n var s=words\n var tempwords=[s.pop(),s.pop()]\n return buildcombinations(s.concat(combine2(tempwords)))\n }\n}\n\n\n$(\"#search\").typeahead({\n hint: false,\n highlight: true,\n minLength: 3\n},\n{\n name: 'wp',\n source: function(q,cb){\n var scope=$(\"#searchdomain button.active\").attr(\"scope\")\n var l=q.trim().split(\" \").length\n var c=[]\n var exactmatch=\"\"\n papers.forEach(function(d){\n var words=[]\n var s\n if (scope==\"title\") {\n s=d.data.opening[1]+\" WP \"+d.wpidn+\" \" +d.data.opening[2]}\n if (scope==\"action\") {\n s=d.data.summary[1]}\n if (scope==\"body\") {\n s=\"\"\n d.data.sentences.forEach(function(sen){s+=\" \"+sen})\n \n }\n if (scope==\"all\") {\n s=\"\"\n d.data.sentences.forEach(function(sen){s+=\" \"+sen})\n s+=\" \"+d.data.summary[1]+\" \"+d.data.opening[1]+\" WP \"+d.wpidn+\" \"+d.data.opening[2]\n }\n //check for exact match\n if (s.match(new RegExp(q,\"i\"))) {\n exactmatch=q\n }\n var t=s.toLowerCase().split(/[^a-zA-Z0-9]/)\n $(q.trim().split(\" \")).each(function(i,v){\n var dd={\"word\":v,matches:[]}\n t.forEach(function(n){\n if (n.match(new RegExp(v,\"i\"))) {\n if (dd.matches.indexOf(n)<0) dd.matches.push(n)\n }\n })\n if (dd.matches.length>0) words.push(dd)\n })\n if (words.length==l) {\n var xx=buildcombinations(words)\n console.log(xx)\n xx.forEach(function(m){\n if (c.indexOf(m)<0) c.push(m)\n \n })\n }\n })\n c.sort(function(a,b){return a.length-b.length})\n if (exactmatch!=\"\") {\n c=[exactmatch].concat(c)\n }\n console.log(c)\n cb(c)\n }\n});\n\n\n\n\n$('#search').bind('typeahead:select', function(ev, suggestion) {\n var wpsel\n var scope=$(\"#searchdomain button.active\").attr(\"scope\")\n var wordsplit=$(\"#wordsplit button.active\").attr(\"scope\")\n var c=papers.filter(function(d){\n var m=true\n var t\n if (scope==\"title\") {\n t=d.data.opening[1]+\" WP \"+d.wpidn+\" \" +d.data.opening[2]\n }\n if (scope==\"action\") {\n t=d.data.summary[1]}\n if (scope==\"body\") {\n t=\"\"\n d.data.sentences.forEach(function(sen){t+=\" \"+sen})\n \n }\n if (scope==\"all\") {\n t=\"\"\n d.data.sentences.forEach(function(sen){t+=\" \"+sen})\n t+=\" \"+d.data.summary[1]+\" \"+d.data.opening[1]+\" WP \"+d.wpidn+\" \"+d.data.opening[2]\n }\n if (wordsplit==\"single\") {\n m=t.match(new RegExp(suggestion.trim(),\"i\"))\n }\n else {\n $(suggestion.trim().split(\" \")).each(function(i,v){\n m=m&&t.match(new RegExp(v,\"i\"))\n })\n }\n return m\n }).map(function(d){return d.wpidn})\n \n \n console.log(c)\n var showing=0\n $(\".wpbody\").each(function(i,v){\n var wpid=$(v).attr(\"wpid\")\n if (c.indexOf(Number(wpid))>=0) {\n $(v).show()\n showing++\n }\n else {\n $(v).hide()\n }\n })\n $(\"#showing\").text(showing)\n\n});\n\n\n\n$(\"#reset\").click(function(e){\n e.preventDefault()\n $(\"#search\").val(\"\")\n $(\".wpbody\").show()\n $(\"#showing\").text($(\"#total\").text())\n log({event:\"reset\"})\n})\n\n//console.log(data)\n$(\".searchgroup button\").click(function(e){\n e.preventDefault()\n var p=$(this).closest(\".searchgroup\")\n $(p).find(\"button\").removeClass(\"active\")\n $(this).addClass(\"active\")\n $(\"#search\").val(\"\")\n $(\".wpbody\").show()\n $(\"#showing\").text($(\"#total\").text())\n \n})\nfunction populate(){\n //console.log(wpdata)\n $(Object.keys(wpdata)).each(function(i,v){\n //console.log(wpdata[v])\n var wpid=wpdata[v].wp\n $(\".wpbody[wpid='\"+wpid+\"'] .note\").val(wpdata[v].note)\n $(\".wpbody[wpid='\"+wpid+\"'] .flaggedsentences .onesentence\").remove()\n $(\".wpbody[wpid='\"+wpid+\"'] .allsentences .onesentence\").removeClass(\"sel\")\n $(\".wpbody[wpid='\"+wpid+\"'] .allsentences .onesentence\").removeAttr(\"flagged\")\n $(wpdata[v].flagged).each(function(j,u){\n //console.log(u)\n var x=$(\".wpbody[wpid='\"+wpid+\"'] .allsentences .onesentence[sentence='\"+u+\"']\").clone()\n $(x).css(\"display\",\"\")\n $(\".wpbody[wpid='\"+wpid+\"'] .flaggedsentences\").append(x)\n $(\".wpbody[wpid='\"+wpid+\"'] .allsentences .onesentence[sentence='\"+u+\"']\").addClass(\"sel\")\n $(\".wpbody[wpid='\"+wpid+\"'] .allsentences .onesentence[sentence='\"+u+\"']\").attr(\"flagged\",\"flagged\")\n })\n })\n}\n\n$(\".wp\").click(function(e){\n e.preventDefault()\n log({event:\"toggleWP\",data:{wpid:$(this).attr(\"wpid\")}})\n $(this).closest(\".wpbody\").find(\".card-footer\").hide()\n $(this).closest(\".wpbody\").find(\".card-body\").toggle()\n})\n$(\".showhidesentences\").click(function(e){\n e.preventDefault()\n log({event:\"togglesentence\"})\n $(this).closest(\".wpbody\").find(\".card-footer\").toggle()\n})\n$(\".pagination a.page\").click(function(e){\n e.preventDefault()\n log({event:\"pagination\"})\n \n var page=$(this).attr(\"page\")\n var last=$(this).attr(\"last\")\n var wpbody=$(this).closest(\".wpbody\")\n $(wpbody).find(\"li.numbered\").removeClass(\"active\")\n $(this).closest(\"li\").addClass(\"active\")\n $(wpbody).find(\".allsentences .onesentence\").hide()\n $(wpbody).find(\".allsentences .onesentence[page='\"+page+\"']\").show()\n $(wpbody).find(\".next\").removeClass(\"disabled\")\n $(wpbody).find(\".prev\").removeClass(\"disabled\")\n if (page==\"0\") $(wpbody).find(\".prev\").addClass(\"disabled\")\n if (last) $(wpbody).find(\".next\").addClass(\"disabled\")\n\n})\n$(\".pagination a.nextpage\").click(function(e){\n e.preventDefault()\n var page=Number($(this).closest(\".pagination\").find(\".page-item.active\").attr(\"page\"))\n if ($(this).attr(\"next\")) {\n page++\n }\n else {\n page--\n }\n $(this).closest(\".pagination\").find(\".page-item[page='\"+page+\"'] a.page\").trigger(\"click\")\n log({event:\"pagination\"})\n \n})\n$(\".allsentences\").on(\"click\",\".sentencebutton\",function(){\n var os=$(this).closest(\".onesentence\")\n if (!$(os).attr(\"flagged\")) {\n $(os).attr(\"flagged\",\"flagged\")\n var c=$(os).clone()\n $(os).closest(\".wpbody\").find(\".flaggedsentences\").append(c)\n $(os).addClass(\"sel\")\n var sentence=$(os).attr(\"sentence\")\n var wpid=$(os).attr(\"wpid\")\n if (!wpdata[\"wp\"+wpid]) wpdata[\"wp\"+wpid]={wp:wpid,flagged:[\"1\",\"2\",\"3\"],note:\"\"}\n wpdata[\"wp\"+wpid].flagged.push(sentence)\n if (locals) {\n localStorage.anappicao=JSON.stringify(wpdata)\n }\n log({event:\"addsentence\",data:{wpid:wpid,sentence:sentence}})\n\n }\n})\n$(\".flaggedsentences\").on(\"click\",\".sentencebutton\",function(){\n var sentence=$(this).attr(\"sentence\")\n var wpid=$(this).attr(\"wpid\")\n if (!wpdata[\"wp\"+wpid]) wpdata[\"wp\"+wpid]={wp:wpid,flagged:[\"1\",\"2\",\"3\"],note:\"\"}\n var flagged=[]\n $(wpdata[\"wp\"+wpid].flagged).each(function(i,v){\n if (v!=sentence) flagged.push(v)\n })\n \n wpdata[\"wp\"+wpid].flagged=flagged\n if (locals) {\n localStorage.anappicao=JSON.stringify(wpdata)\n }\n \n var w=$(this).closest(\".wpbody\")\n $(this).closest(\".wpbody\").find(\".allsentences .onesentence[sentence='\"+sentence+\"']\").removeClass(\"sel\")\n $(this).closest(\".wpbody\").find(\".allsentences .onesentence[sentence='\"+sentence+\"']\").removeAttr(\"flagged\")\n $(this).closest(\".onesentence\").remove()\n log({event:\"removesentence\",data:{wpid:wpid,sentence:sentence}})\n\n})\n$('.note').on('input change keyup', function () {\n var wpid=$(this).attr(\"wpid\")\n if (!wpdata[\"wp\"+wpid]) wpdata[\"wp\"+wpid]={wp:wpid,flagged:[\"1\",\"2\",\"3\"],note:\"\"}\n if (this.value.length) {\n wpdata[\"wp\"+wpid].note=$(this).val()\n } else {\n wpdata[\"wp\"+wpid].note=\"\"\n \n }\n log({event:\"writenote\",data:{wpid:wpid}})\n \n if (locals) {\n localStorage.anappicao=JSON.stringify(wpdata)\n }\n\n});\nfunction log(ldata){\n\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":".bold {\n font-weight:bold;\n}\n.hidden {\n display:none;\n}\n.sel p{\n font-style:italic;\n color:lightgray;\n display:none;\n}\n.message {\n font-style:italic;\n font-size:12px;\n}\n.wpbody {\n margin-bottom:10px;\n}\n\n\n.tt-query, /* UPDATE: newer versions use tt-input instead of tt-query */\n.tt-hint {\n /*width: 396px;*/\n width:100%;\n height: 30px;\n padding: 8px 12px;\n font-size: 24px;\n line-height: 30px;\n border: 2px solid #ccc;\n border-radius: 8px;\n outline: none;\n}\n\n.tt-query { /* UPDATE: newer versions use tt-input instead of tt-query */\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n\n.tt-hint {\n color: #999;\n}\n\n.tt-menu { /* UPDATE: newer versions use tt-menu instead of tt-dropdown-menu */\n /*width: 422px;*/\n width:100%;\n margin-top: 12px;\n padding: 8px 0;\n background-color: #fff;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 8px;\n box-shadow: 0 5px 10px rgba(0,0,0,.2);\n}\n\n.tt-suggestion {\n padding: 3px 20px;\n font-size: 18px;\n line-height: 24px;\n}\n\n.tt-suggestion.tt-is-under-cursor { /* UPDATE: newer versions use .tt-suggestion.tt-cursor */\n color: #fff;\n background-color: #0097cf;\n\n}\n\n.tt-suggestion p {\n margin: 0;\n}\n.scrollable-dropdown-menu .tt-menu {\n max-height: 150px;\n overflow-y: auto;\n}\n.twitter-typeahead {\n width:100%;\n}"},"jade":{"file":{"type":"","url":"","link":"","message":{"error":true,"text":"File not defined"},"depurl":"https://quipslibistars.s3.amazonaws.com/prod/0f293fadb57cd0188e142b3b28eb97808eb8e645/main.jade"},"title":"Jade","activated":true,"name":"jade","linkedtofile":false,"optional":false,"content":".container\n .jumbotron.jumbotron-fluid\n .container\n h1.display-4 AI WPs\n p.lead AI-driven summarization of working papers for Assembly 41.\n hr.my-4\n p The below list contains all original working papers (not revisions or corrections) available in english for \n a(href=\"https://www.icao.int/Meetings/a41/Pages/default.aspx\") ICAO Assembly 41\n | . \n | Click on a heading to see the action as well as a summary of the working paper. \n | The summary is composed of sentences which are ordered in relevance by an artificial intelligence algorithm developed by ICAO. \n p You can add sentences to the summary. By default, the 3 top-ranked sentences are part of the summary. \n p Your selections will be kept on this devices using cookies. \n p For our developer community, the data behind this app can be \n a(href=\"https://isicaodata.s3.amazonaws.com/Deliveries/A41Data/a41data.json\") dowloaded here (JSON format, 2.4 MB)\n\n p Search\n #searchdomain.btn-group.searchgroup\n button.btn.btn-sm.btn-light.active(scope=\"title\") Title\n button.btn.btn-sm.btn-light(scope=\"action\") Action\n button.btn.btn-sm.btn-light(scope=\"body\") Body\n button.btn.btn-sm.btn-light(scope=\"all\") All\n br\n #wordsplit.btn-group.searchgroup\n button.btn.btn-sm.btn-light.active(scope=\"single\") Single expression\n button.btn.btn-sm.btn-light(scope=\"mutliple\") Multiple seperate words\n hr\n \n .form-group\n input#search.form-control\n \n button#reset.btn.btn-sm.btn-link: em Reset\n p Showing \n span#showing=papers.length\n | of \n span#total=papers.length\n for wp in papers\n .card.wpbody.border-info(wpid=wp.wpidn)\n .card-header.bg-transparent.border-info\n h5.ai(order=wp.data.opening[0],data=wp.data.opening[1])=wp.data.opening[1]\n a.bold.wp(order=wp.wpidn,data=\"WP \"+wp.wpidn+\" - \"+wp.data.opening[2],href=\"#\",wpid=wp.wpidn)=\"WP \"+wp.wpidn+\" - \"+wp.data.opening[2]\n .card-body(style=\"display:none\")\n - var action=(wp.data.summary[1]?wp.data.summary[1]:\"\")\n - var action=action.split(/[a-z]\\)/)\n h5 Action\n .alert.alert-info.action\n p=action[0]\n //p=action\n ul\n for a in action.slice(1)\n //for a in action\n li=a\n - var ss=wp.data.sentences\n h5 Key sentences\n ul.list-group.list-group-flush.flaggedsentences\n for s,i in ss.slice(0,3)\n li.list-group-item.onesentence(sentence=i+1,wpid=wp.wpidn)\n table(style=\"width:100%\"): tbody: tr\n td.sentencebutton(sentence=i+1,wpid=wp.wpidn,style=\"width:15px;background-color:lightgray\")\n td(style=\"padding:10px\")\n - var thesent=s\n - var s2=\"\",v=0,r=new RegExp(/[a-zA-Z]+/g),arr,arr2=[]\n - while ((arr=r.exec(thesent))!==null) {arr2.push({value:arr[0],index:arr.index,next:arr.index+arr[0].length})}\n - var arr3=arr2.filter(function(d){return wp.data.keywords.indexOf(d.value.toLowerCase())>=0})\n - arr3.forEach(function(d){s2+=thesent.slice(v,d.index)+\"\"+d.value+\"\";v=d.next})\n - s2+=thesent.slice(v)\n //- s2+=thesent\n p\n !{s2}\n h5 Notes\n textarea.note.form-control(style=\"width:100%;height:100px\",wpid=wp.wpidn)\n h5 Links to paper\n p\n a.btn.btn-sm.btn-link(href=\"https://www.icao.int/Meetings/A41/Documents/WP/wp_\"+wp.wpid+\"_en.pdf\",target=\"_blank\") en\n a.btn.btn-sm.btn-link(href=\"https://www.icao.int/Meetings/A41/Documents/WP/wp_\"+wp.wpid+\"_fr.pdf\",target=\"_blank\") fr\n a.btn.btn-sm.btn-link(href=\"https://www.icao.int/Meetings/A41/Documents/WP/wp_\"+wp.wpid+\"_es.pdf\",target=\"_blank\") sp\n a.btn.btn-sm.btn-link(href=\"https://www.icao.int/Meetings/A41/Documents/WP/wp_\"+wp.wpid+\"_ru.pdf\",target=\"_blank\") ru\n a.btn.btn-sm.btn-link(href=\"https://www.icao.int/Meetings/A41/Documents/WP/wp_\"+wp.wpid+\"_ar.pdf\",target=\"_blank\") ar\n a.btn.btn-sm.btn-link(href=\"https://www.icao.int/Meetings/A41/Documents/WP/wp_\"+wp.wpid+\"_zh.pdf\",target=\"_blank\") zh\n\n a.showhidesentences(href=\"#\"): em Show/Hide All sentences\n .card-footer.bg-transparent.border-info(style=\"display:none\")\n p: em.message Click on one or more sentences to add to the summary. Click on sentences inside the summary to remove them.\n div: nav\n ul.pagination.pagination-sm.flex-wrap\n li.page-item.disabled.prev: a.page-link.nextpage(href=\"#\") Previous\n - var n=0\n while n<=ss.length/3\n li.page-item.numbered(page=n,class=(n==1?\"active\":\"\")): a.page-link.page(last=(n+1>ss.length/3),page=n,href=\"#\")=n+1\n - n++\n li.page-item.next: a.page-link.nextpage(next=true,href=\"#\") Next\n ul.list-group.list-group-flush.allsentences\n for s,i in ss\n - var page=Math.floor(i/3)\n li.list-group-item.onesentence(sentence=i+1,wpid=wp.wpidn,page=page,style=(page==1?\"\":\"display:none\"),flagged=(page==0),class=(page==0?\"sel\":\"\"))\n table(style=\"width:100%\"): tbody: tr\n td.sentencebutton(sentence=i+1,wpid=wp.wpidn,style=\"width:15px;background-color:lightgray\")\n td(style=\"padding:10px\")\n - var thesent=s\n - var s2=\"\",v=0,r=new RegExp(/[a-zA-Z]+/g),arr,arr2=[]\n - while ((arr=r.exec(thesent))!==null) {arr2.push({value:arr[0],index:arr.index,next:arr.index+arr[0].length})}\n - var arr3=arr2.filter(function(d){return wp.data.keywords.indexOf(d.value.toLowerCase())>=0})\n - arr3.forEach(function(d){s2+=thesent.slice(v,d.index)+\"\"+d.value+\"\";v=d.next})\n - s2+=thesent.slice(v)\n //- s2+=thesent\n p\n !{s2}"},"morecss":[{"url":"https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/css/bootstrap.min.css"}],"morejs":[{"url":"https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/js/bootstrap.bundle.min.js"},{"url":"https://twitter.github.io/typeahead.js/releases/latest/typeahead.bundle.js"},{"url":"https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"}],"capture":"https://quipslibistars.s3.amazonaws.com/prod/0f293fadb57cd0188e142b3b28eb97808eb8e645/capture.png","prod":true,"deploydate":"2022-09-26T02:31:58.799Z","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"}],"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]() } } }) }