var project={"_id":"6091b6edf2b9a3f8f8bd7e1f","id":"548ee6f6a3769956381fa6acd8d269661e60b270","name":"TEs dashboard","user":"5969034e9b111eaf654f4aab","description":"","created":"2021-05-04T19:46:38.432Z","shared":false,"server":"micro","datafiles":[{"file":{"link":"https://wqzr3klah5.execute-api.us-east-1.amazonaws.com/pro/te/gette_accetability?id=istars4","type":"URL/API","url":"https://wqzr3klah5.execute-api.us-east-1.amazonaws.com/pro/te/gette_accetability?id=istars4","message":{"error":false,"text":""}},"varname":"te_accetability","title":"API","activated":true,"name":"datafile","linkedtofile":true,"optional":true,"content":"","sendtojs":true},{"file":{"link":"https://v4p4sz5ijk.execute-api.us-east-1.amazonaws.com/anbdata/states/names/icao-member-states?api_key=f8daad30-6807-11e7-b26b-e942a59cce42&format=json","type":"URL/API","url":"https://v4p4sz5ijk.execute-api.us-east-1.amazonaws.com/anbdata/states/names/icao-member-states?api_key=f8daad30-6807-11e7-b26b-e942a59cce42&format=json","message":{"error":false,"text":""}},"varname":"icaoStates","title":"API","activated":true,"name":"datafile","linkedtofile":true,"optional":true,"content":"","sendtojs":true}],"packs":["bootstrap","jquery"],"container":"mainpart","js":{"file":{"type":"","url":"","link":"","message":{"error":true,"text":"File not defined"},"depurl":"https://quipslibistars.s3.amazonaws.com/prod/548ee6f6a3769956381fa6acd8d269661e60b270/script.js"},"title":"Javascript","activated":true,"name":"js","linkedtofile":false,"optional":true,"content":"var WACAF = [], \nAPAC=[],\nEURNAT = [],\nMID=[],\nSAM=[],\nNACC=[],\nESAF=[];\nvar WACAF2 = [], APAC2=[],EURNAT2 = [],MID2=[],SAM2=[],NACC2=[],ESAF2=[];\nvar acceptability = []; \nvar statesTe = [];\nvar WACAF_color = 'rgba(124,181,236,0.5)', \nAPAC_color='rgba(240,190,50,0.80)',\nEURNAT_color = 'rgba(90,200,90,0.80)',\nMID_color='#FF7F00',\nSAM_color='#0000FF',\nNACC_color='rgba(244,91,91,0.5)',\nESAF_color='#8B00FF',\nWorld_color='#006400'/*'rgba(74,131,240,0.80)'*/;\n\nvar distinctStates = [],table;\n\n\n\n// New map-pie series type that also allows lat/lon as center option.\n// Also adds a sizeFormatter option to the series, to allow dynamic sizing\n// of the pies.\nHighcharts.seriesType('mappie', 'pie', {\n center: null, // Can't be array by default anymore\n clip: true, // For map navigation\n states: {\n hover: {\n halo: {\n size: 5\n }\n }\n },\n dataLabels: {\n distance: -15,\n\tformatter: function () {return this.y +\"%\"}\n }\n}, {\n getCenter: function() {\n var options = this.options,\n chart = this.chart,\n slicingRoom = 2 * (options.slicedOffset || 0);\n if (!options.center) {\n options.center = [null, null]; // Do the default here instead\n }\n // Handle lat/lon support\n /*\n if (options.center.lat !== undefined) {\n var point = chart.fromLatLonToPoint(options.center);\n options.center = [\n chart.xAxis[0].toPixels(point.x, true),\n chart.yAxis[0].toPixels(point.y, true)\n ];\n }\n\t\t*/\n\n // Replace lat/lon with plotX/plotY\n if (options.center.plotX !== undefined) {\n options.center = [options.center.plotX, options.center.plotY];\n }\n // Handle dynamic size\n if (options.sizeFormatter) {\n options.size = options.sizeFormatter.call(this);\n }\n // Call parent function\n var result = Highcharts.seriesTypes.pie.prototype.getCenter.call(this);\n // Must correct for slicing room to get exact pixel pos\n result[0] -= slicingRoom;\n result[1] -= slicingRoom;\n return result;\n },\n translate: function(p) {\n this.options.center = this.userOptions.center;\n this.center = this.getCenter();\n return Highcharts.seriesTypes.pie.prototype.translate.call(this, p);\n }\n});\n\n\ninit();\n\nfunction init(){\n te_accetability.forEach(function(v){\n if(acceptability.indexOf(v.StateCode) < 0 && v.Source == \"TE Update\")\n {\n acceptability.push(v.StateCode);\n statesTe.push({state:v.StateCode, region:v.ICAORegion});\n }\n \n });\n \n //console.log(acceptability);\n \n te_accetability.forEach(function(v){\n var flag = true;\n distinctStates.forEach(function(u){\n if(v.StateCode == u.value)\n flag = false;\n });\n if(flag)\n {\n distinctStates.push({value: v.StateCode, name : v.State});\n }\n });\n \n //console.log(distinctStates);\n \n statesTe.forEach(function(v){\n\t\t\tif(v.region == \"WACAF\")\n\t\t\t\tWACAF2.push(v.state);\n\t\t\tif(v.region == \"APAC\")\n\t\t\t\tAPAC2.push(v.state);\n\t\t\tif(v.region == \"EUR/NAT\")\n\t\t\t\tEURNAT2.push(v.state);\n\t\t\tif(v.region == \"MID\")\n\t\t\t\tMID2.push(v.state);\n\t\t\tif(v.region == \"SAM\")\n\t\t\t\tSAM2.push(v.state);\n\t\t\tif(v.region == \"NACC\")\n\t\t\t\tNACC2.push(v.state);\n\t\t\tif(v.region == \"ESAF\")\n\t\t\t\tESAF2.push(v.state);\n\t\t});\n \n \n icaoStates.forEach(function(v){\n\t\tswitch(v.ICAO_regional_office){\n\t\t\tcase \"WACAF\":\n\t\t\t\tWACAF.push(v.iso_3_code);\n\t\t\t\tbreak;\n\t\t\tcase \"APAC\":\n\t\t\t\tAPAC.push(v.iso_3_code);\n\t\t\t\tbreak;\n\t\t\tcase \"EUR/NAT\":\n\t\t\t\tEURNAT.push(v.iso_3_code);\n\t\t\t\tbreak;\n\t\t\tcase \"MID\":\n\t\t\t\tMID.push(v.iso_3_code);\n\t\t\t\tbreak;\n\t\t\tcase \"SAM\":\n\t\t\t\tSAM.push(v.iso_3_code);\n\t\t\t\tbreak;\n\t\t\tcase \"NACC\":\n\t\t\t\tNACC.push(v.iso_3_code);\n\t\t\t\tbreak;\n\t\t\tcase \"ESAF\":\n\t\t\t\tESAF.push(v.iso_3_code);\n\t\t\t\tbreak;\n\t\t\t\n\t\t}\n\t});\n\t\n\t//console.log(statesTe);\n\t//console.log(WACAF2,APAC2,EURNAT2,MID2,SAM2,NACC2,ESAF2);\n\tdrawMap();\n\t\n\tdistinctStates.forEach(function(v){\n $(\"#state\").append(\"\");\n });\n if(distinctStates.length > 0)\n {\n $(\"#state\").val(distinctStates[0].value);\n drawTable();\n }\n}\n\n$(\"#state\").on(\"change\",function(){\n //console.log(\"111\");\n drawTable();\n});\n\nfunction drawTable(){\n var selectedVal = $(\"#state\").val();\n\tvar data = [];\n\t\n\t//console.log(selectedVal)\n\t\n\tte_accetability.forEach(function(v){\n\t if(v.StateCode == selectedVal)\n\t {\n\t if(v.AcceptTEs === null || v.AcceptTEs === \"\")\n\t temp = v.AcceptanceOfOtherStatesTEs;\n\t else\n\t temp = v.AcceptTEs;\n\t \n data.push([\n v.State,\n v.ICAORegion,\n v.TEType,\n v.Annex,\n v.Part,\n v.Standard,\n temp,\n v.Source,\n new Date(parseFloat(v.Modified.substring(6, 19))).toLocaleDateString(\"en-US\")\n ]);\n \n //console.log(v.Modified.substring(6, 19),v.Modified,new Date(parseFloat(v.Modified.substring(6, 19))))\n\t }\n\t});\n\t\n\t\n\t//console.log(data[0][9])\n\t\n\tif (table) \n\t{\n\t\ttable.clear();\n\t\t//$('#tableBody').empty();\n\t\t//table = null;\n\t}\n\t\n\ttable = $('#provTable').DataTable({\n\t data:data,\n\t destroy: true,\n\t responsive: true,\n\t bFilter: false,\n\t paging: false\n\t});\n\t\n\t//new $.fn.dataTable.FixedHeader( table );\n\t//console.log(table)\n}\n\n\n$(\"#statesel\").on(\"change\",function(){\n\t//console.log(\"change\")\n\tdrawMap();\n})\t\n\n$(\"#pieCharts\").change(function(){\n\tdrawMap();\n})\n\nfunction drawMap(){\t\n\tvar selectedVal = $(\"#statesel\").val();\n\tvar data;\n\tvar dataTemp = [\n\t\t{id:\"WACAF\",pro:WACAF2.length,nonpro:(WACAF.length - WACAF2.length),centerLon:-17.4677,centerLat:14.7167,color:WACAF_color},\n\t\t{id:\"APAC\",pro:APAC2.length,nonpro:(APAC.length - APAC2.length),centerLon:100.5018,centerLat:13.7563,color:APAC_color},\n\t\t{id:\"EUR/NAT\",pro:EURNAT2.length,nonpro:(EURNAT.length - EURNAT2.length),centerLon:2.3522,centerLat:48.8566,color:EURNAT_color},\n\t\t{id:\"MID\",pro:MID2.length,nonpro:(MID.length - MID2.length),centerLon:31.2357,centerLat:30.0444,color:MID_color},\n\t\t{id:\"SAM\",pro:SAM2.length,nonpro:(SAM.length - SAM2.length),centerLon:-77.0428,centerLat:-12.0464,color:SAM_color},\n\t\t{id:\"NACC\",pro:NACC2.length,nonpro:(NACC.length - NACC2.length),centerLon:-99.1332,centerLat:19.4326,color:NACC_color},\n\t\t{id:\"ESAF\",pro:ESAF2.length,nonpro:(ESAF.length - ESAF2.length),centerLon:36.8219,centerLat:-1.2921,color:ESAF_color},\n\t\t{id:\"World\",pro:(WACAF2.length + APAC2.length + EURNAT2.length + MID2.length + SAM2.length + NACC2.length + ESAF2.length),nonpro:((WACAF.length + APAC.length + EURNAT.length + MID.length + SAM.length + NACC.length + ESAF.length) - (WACAF2.length + APAC2.length + EURNAT2.length + MID2.length + SAM2.length + NACC2.length + ESAF2.length)),centerLon:-73.5673,centerLat:45.5017,color:World_color}\n\t];\n\t\n\tif(selectedVal == \"icao\")\n\t{\n\t\tmapData = [];\n\t\tfor (var i = 0; i < WACAF2.length; i++){\n\t\t\tmapData.push({\n\t\t\t\tcode: WACAF2[i],\n\t\t\t\tvalue: 1,\n\t\t\t\tid: WACAF2[i],\n\t\t\t});\n\t\t}\n\t\tfor (var i = 0; i < APAC2.length; i++){\n\t\t\tmapData.push({\n\t\t\t\tcode: APAC2[i],\n\t\t\t\tvalue: 2,\n\t\t\t\tid: APAC2[i],\n\t\t\t});\n\t\t}\n\t\t\n\t\tfor (var i = 0; i < EURNAT2.length; i++){\n\t\t\tmapData.push({\n\t\t\t\tcode: EURNAT2[i],\n\t\t\t\tvalue: 3,\n\t\t\t\tid: EURNAT2[i],\n\t\t\t});\n\t\t}\n\t\t\n\t\tfor (var i = 0; i < MID2.length; i++){\n\t\t\tmapData.push({\n\t\t\t\tcode: MID2[i],\n\t\t\t\tvalue: 4,\n\t\t\t\tid: MID2[i],\n\t\t\t});\n\t\t}\n\t\t\n\t\tfor (var i = 0; i < SAM2.length; i++){\n\t\t\tmapData.push({\n\t\t\t\tcode: SAM2[i],\n\t\t\t\tvalue: 5,\n\t\t\t\tid: SAM2[i],\n\t\t\t});\n\t\t}\n\t\t\n\t\tfor (var i = 0; i < NACC2.length; i++){\n\t\t\tmapData.push({\n\t\t\t\tcode: NACC2[i],\n\t\t\t\tvalue: 6,\n\t\t\t\tid: NACC2[i],\n\t\t\t});\n\t\t}\n\t\t\n\t\tfor (var i = 0; i < ESAF2.length; i++){\n\t\t\tmapData.push({\n\t\t\t\tcode: ESAF2[i],\n\t\t\t\tvalue: 0,\n\t\t\t\tid: ESAF2[i],\n\t\t\t});\n\t\t}\n\t}\n\tif(selectedVal == \"WACAF\")\n\t{\n\t\tmapData = [];\n\t\tfor (var i = 0; i < WACAF2.length; i++){\n\t\t\tmapData.push({\n\t\t\t\tcode: WACAF2[i],\n\t\t\t\tvalue: 1,\n\t\t\t\tid: WACAF2[i],\n\t\t\t});\n\t\t}\n\t}\n\t\n\tif(selectedVal == \"APAC\")\n\t{\n\t\tmapData = [];\n\t\tfor (var i = 0; i < APAC2.length; i++){\n\t\t\tmapData.push({\n\t\t\t\tcode: APAC2[i],\n\t\t\t\tvalue: 2,\n\t\t\t\tid: APAC2[i],\n\t\t\t});\n\t\t}\n\t}\n\t\n\tif(selectedVal == \"EURNAT\")\n\t{\n\t\tmapData = [];\n\t\tfor (var i = 0; i < EURNAT2.length; i++){\n\t\t\tmapData.push({\n\t\t\t\tcode: EURNAT2[i],\n\t\t\t\tvalue: 3,\n\t\t\t\tid: EURNAT2[i],\n\t\t\t});\n\t\t}\n\t}\n\t\n\tif(selectedVal == \"MID\")\n\t{\n\t\tmapData = [];\n\t\tfor (var i = 0; i < MID2.length; i++){\n\t\t\tmapData.push({\n\t\t\t\tcode: MID2[i],\n\t\t\t\tvalue: 4,\n\t\t\t\tid: MID2[i],\n\t\t\t});\n\t\t}\n\t}\n\t\n\tif(selectedVal == \"SAM\")\n\t{\n\t\tmapData = [];\n\t\tfor (var i = 0; i < SAM2.length; i++){\n\t\t\tmapData.push({\n\t\t\t\tcode: SAM2[i],\n\t\t\t\tvalue: 5,\n\t\t\t\tid: SAM2[i],\n\t\t\t});\n\t\t}\n\t}\n\t\n\tif(selectedVal == \"NACC\")\n\t{\n\t\tmapData = [];\n\t\tfor (var i = 0; i < NACC2.length; i++){\n\t\t\tmapData.push({\n\t\t\t\tcode: NACC2[i],\n\t\t\t\tvalue: 6,\n\t\t\t\tid: NACC2[i],\n\t\t\t});\n\t\t}\n\t}\n\t\n\tif(selectedVal == \"ESAF\")\n\t{\n\t\tmapData = [];\n\t\tfor (var i = 0; i < ESAF2.length; i++){\n\t\t\tmapData.push({\n\t\t\t\tcode: ESAF2[i],\n\t\t\t\tvalue: 0,\n\t\t\t\tid: ESAF2[i],\n\t\t\t});\n\t\t}\n\t}\n var map_width = document.getElementById('map').getBoundingClientRect().width;\n var map_height = document.getElementById('map').getBoundingClientRect().height;\n\tchart = Highcharts.mapChart('map', {\n\t\t\t\tchart: {\n\t\t\t\t\tborderWidth: 1,\n\t\t\t\t\t//zoomType : ''\n\t\t\t\t},\n\n\t\t\t\ttitle: {\n\t\t\t\t\ttext: 'Licensing TEs Acceptability Dashboard:
States that have indicated their TE acceptability status
'\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\tsubtitle: {\n\t\t\t\t\ttext: 'States and Regions'\n\t\t\t\t},\n\n\t\t\t\tmapNavigation: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\n\t\t\t\tcolorAxis: {\n\t\t\t\t\tdataClasses: [{\n\t\t\t\t\t\tfrom: -1,\n\t\t\t\t\t\tto: 0.1,\n\t\t\t\t\t\tcolor: ESAF_color,\n\t\t\t\t\t\tname: 'ESAF'\n\t\t\t\t\t}, {\n\t\t\t\t\t\tfrom: 0.1,\n\t\t\t\t\t\tto: 1,\n\t\t\t\t\t\tcolor: WACAF_color,\n\t\t\t\t\t\tname: 'WACAF'\n\t\t\t\t\t}, {\n\t\t\t\t\t\tfrom: 2,\n\t\t\t\t\t\tto: 3,\n\t\t\t\t\t\tname: 'APAC',\n\t\t\t\t\t\tcolor: APAC_color\n\t\t\t\t\t}, {\n\t\t\t\t\t\tfrom: 3,\n\t\t\t\t\t\tto: 4,\n\t\t\t\t\t\tname: 'EURNAT',\n\t\t\t\t\t\tcolor: EURNAT_color\n\t\t\t\t\t},{\n\t\t\t\t\t\tfrom: 4,\n\t\t\t\t\t\tto: 5,\n\t\t\t\t\t\tname: 'MID',\n\t\t\t\t\t\tcolor: MID_color\n\t\t\t\t\t},{\n\t\t\t\t\t\tfrom: 5,\n\t\t\t\t\t\tto: 6,\n\t\t\t\t\t\tname: 'SAM',\n\t\t\t\t\t\tcolor: SAM_color\n\t\t\t\t\t},{\n\t\t\t\t\t\tfrom: 6,\n\t\t\t\t\t\tto: 7,\n\t\t\t\t\t\tname: 'NACC',\n\t\t\t\t\t\tcolor: NACC_color\n\t\t\t\t\t},/*{\n\t\t\t\t\t\tfrom: 7,\n\t\t\t\t\t\tto: 8,\n\t\t\t\t\t\tname: 'World',\n\t\t\t\t\t\tcolor: World_color\n\t\t\t\t\t\t\n\t\t\t\t\t},*/{\n\t\t\t\t\t\tfrom: 8,\n\t\t\t\t\t\tto: 9,\n\t\t\t\t\t\tname: 'Yet to submit TEs',\n\t\t\t\t\t\tcolor: 'grey'\n\t\t\t\t\t}]\n\t\t\t\t},\n\n plotOptions:{\n \tseries:{\n \tpoint:{\n \tevents:{\n \tclick: function(){\n \t//alert(this[\"iso-a3\"]);\n \tconsole.log(this)\n \t$(\"#state\").val(this[\"iso-a3\"]);\n \t$(\"#state\").trigger(\"change\");\n \t//$(\"#jump\").trigger(\"click\");\n \tdocument.getElementById('jump').click();\n \t//$('html, body').animate({scrollTop: $(\"#state\").offset().top},'slow');\n \t//document.body.scrollTop = $(\"#state\").offset().top\n \t//console.log($(\"#state\").offset().top);\n }\n }\n }\n }\n },\n \n tooltip: {\n useHTML: true\n },\n\n\t\t\t\tseries: [{\n\t\t\t\t\tdata: mapData,\n\t\t\t\t\tname:'TE acceptability status: Indicated', \n\t\t\t\t\tmapData: Highcharts.maps['custom/world'],\n\t\t\t\t\tjoinBy: ['iso-a3', 'code'],\n\t\t\t\t\tanimation: true,\n\t\t\t\t\ttooltip: {\n\t\t\t\t\t\t// Use the state tooltip for the pies as well\n\t\t\t\t\t\tpointFormatter: function () {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\"
\"+this.name+\",
\"+\n \"Click State for details
\"\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t}]\n\t\t\t});\n\t\n\t\n\tif(selectedVal != \"world\")\n\t\tHighcharts.each(chart.series[0].points, function(state) {\n\t\t\tif(!state.properties)\n\t\t\t\treturn;\n\t\t\tif(state.properties[\"iso-a3\"] == \"CHL\")\n\t\t\t{\n\t\t\t\tdataTemp[7].centerLat = state.plotX*0.3;\n\t\t\t\tdataTemp[7].centerLon = state.plotY*0.8;\n\t\t\t}\n\t\t\tif(state.properties[\"iso-a3\"] == \"THA\")\n\t\t\t{\n\t\t\t\tdataTemp[1].centerLat = state.plotX+map_width*0.16;\n\t\t\t\tdataTemp[1].centerLon = state.plotY-map_height*0.08;\n\t\t\t}\n\t\t\tif(state.properties[\"iso-a3\"] == \"EGY\")\n\t\t\t{\n\t\t\t\tdataTemp[3].centerLat = state.plotX+map_width*0.08;\n\t\t\t\tdataTemp[3].centerLon = state.plotY+map_height*0.08;\n\t\t\t}\n\t\t\tif(state.properties[\"iso-a3\"] == \"SEN\")\n\t\t\t{\n\t\t\t\tdataTemp[0].centerLat = state.plotX-map_width*0.03;\n\t\t\t\tdataTemp[0].centerLon = state.plotY;\n\t\t\t}\n\t\t\tif(state.properties[\"iso-a3\"] == \"PER\")\n\t\t\t{\n\t\t\t\tdataTemp[4].centerLat = state.plotX-map_width*0.05;\n\t\t\t\tdataTemp[4].centerLon = state.plotY;\n\t\t\t}\n\t\t\tif(state.properties[\"iso-a3\"] == \"USA\")\n\t\t\t{\n\t\t\t\tdataTemp[5].centerLat = state.plotX-map_width*0.1;\n\t\t\t\tdataTemp[5].centerLon = state.plotY;\n\t\t\t}\n\t\t\tif(state.properties[\"iso-a3\"] == \"KEN\")\n\t\t\t{\n\t\t\t\tdataTemp[6].centerLat = state.plotX;\n\t\t\t\tdataTemp[6].centerLon = state.plotY+map_height*0.14;\n\t\t\t}\n\t\t\tif(state.properties[\"iso-a3\"] == \"FRA\")\n\t\t\t{\n\t\t\t\tdataTemp[2].centerLat = state.plotX;\n\t\t\t\tdataTemp[2].centerLon = state.plotY-map_height*0.12;\n\t\t\t}\n\t\t});\n\t\n\tif($(\"#pieCharts\").is(\":checked\"))\n\t{\n\t\tif(selectedVal == \"icao\")\n\t\t{\n\t\t\tdata = dataTemp;\n\t\t}\n\t\tif(selectedVal == \"WACAF\")\n\t\t{\n\t\t\tdata = [];\n\t\t\tdata.push(dataTemp[0]);\n\t\t}\n\t\t\n\t\tif(selectedVal == \"APAC\")\n\t\t{\n\t\t\tdata = [];\n\t\t\tdata.push(dataTemp[1]);\n\t\t}\n\t\t\n\t\tif(selectedVal == \"EURNAT\")\n\t\t{\n\t\t\tdata = [];\n\t\t\tdata.push(dataTemp[2]);\n\t\t}\n\t\t\n\t\tif(selectedVal == \"MID\")\n\t\t{\n\t\t\tdata = [];\n\t\t\tdata.push(dataTemp[3]);\n\t\t}\n\t\t\n\t\tif(selectedVal == \"SAM\")\n\t\t{\n\t\t\tdata = [];\n\t\t\tdata.push(dataTemp[4]);\n\t\t}\n\t\t\n\t\tif(selectedVal == \"NACC\")\n\t\t{\n\t\t\tdata = [];\n\t\t\tdata.push(dataTemp[5]);\n\t\t}\n\t\t\n\t\tif(selectedVal == \"ESAF\")\n\t\t{\n\t\t\tdata = [];\n\t\t\tdata.push(dataTemp[6]);\n\t\t}\n\t\t\n\n\t\t//console.log(data);\n\t\tdata.forEach(function(v){\n\t\t\taddPie(v);\n\t\t});\n\t}\n\t\n\t\n\tchart.redraw();\n}\n\nfunction addPie(data){\n\t// Add the pie for this state\n chart.addSeries({\n type: 'mappie',\n name: data.id,\n linkedMap: 'world',\n zIndex: 6, // Keep pies above connector lines\n sizeFormatter: function () {\n var yAxis = this.chart.yAxis[0],\n zoomFactor = (yAxis.dataMax - yAxis.dataMin) /\n (yAxis.max - yAxis.min);\n var factor = 1;\n\t\t\tif(data.id == \"World\")\n\t\t\t\tfactor = 2; \n \n return Math.max(\n this.chart.chartWidth / 45 * zoomFactor, // Min size\n this.chart.chartWidth / 11 * zoomFactor * 0.7 * factor\n );\n },\n tooltip: {\n // Use the state tooltip for the pies as well\n //useHTML: true,\n /*pointFormatter: function() {\n return ''+\n +''+\n ''+\n ''+\n '
'+data.id+'
Indicated: '+data.pro+'
YET to indicate: '+data.pro+'
'*/\n pointFormatter: function () {\n return (\n \"
\"+data.id+\",
\"+\n \"Indicated: \"+data.pro+\",
\"+\n \"YET to indicate: \"+data.nonpro+\"
\"\n );\n }\n },\n data: [{\n name: '
TEs acceptability status
',\n y: Math.round(data.pro /(data.pro + data.nonpro)*100),\n color: data.color\n }, {\n name: '
TEs acceptability status
',\n y: 100 - Math.round(data.pro /(data.pro + data.nonpro)*100),\n color: 'grey'\n }],\n center: {\n plotX: data.centerLat,\n plotY: data.centerLon\n }\n }, false);\n}\n"},"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://quipslibistars.s3.amazonaws.com/prod/548ee6f6a3769956381fa6acd8d269661e60b270/main.jade"},"title":"Jade","activated":true,"name":"jade","linkedtofile":false,"optional":false,"content":".container(style='max-width:950px;')\n form(role='form')\n .row(style='text-align:center')\n h6\n i Note: IE does not support map click, please use other Browsers.\n .row\n .col-xs-6.form-group(style='margin-bottom: 0px;')\n label(for='statesel') Select a Group\n select#statesel\n option(value='icao', selected='') World\n option(value='WACAF') WACAF\n option(value='APAC') APAC\n option(value='EURNAT') EURNAT\n option(value='MID') MID\n option(value='SAM') SAM\n option(value='NACC') NACC\n option(value='ESAF') ESAF\n .row\n .col-xs-6.form-group\n .checkbox\n label\n input#pieCharts(type='checkbox', checked='')\n | Show Pie Charts\n .row\n #map(style='height: 600px; width 95%; margin: auto')\n \n .row\n br\n br\n .row()\n a(href='#state' id='jump' hidden) jump\n .row.form-group\n label(for='state') Select a State or Territory\n select#state.form-control(style='max-width:300px;')\n .row\n table#provTable.table(style='width:100%')\n thead\n tr\n th State\n th ICAO Region\n th TE Type\n th Annex\n th Part\n th Standard\n th Acceptance Of Other States TEs\n th Source\n th Modified\n tbody#tableBody"},"morejs":[{"url":"https://code.highcharts.com/9.1/highcharts.js"},{"url":"https://code.highcharts.com/maps/9.1/modules/map.js"},{"url":"https://code.highcharts.com/9.1/modules/exporting.js"},{"url":"https://istarsshare.s3.amazonaws.com/world2.js"},{"url":"https://cdn.datatables.net/1.10.21/js/jquery.dataTables.min.js"},{"url":"https://cdn.datatables.net/1.10.21/js/dataTables.bootstrap.min.js"},{"url":"https://cdn.datatables.net/fixedheader/3.1.7/js/dataTables.fixedHeader.min.js"},{"url":"https://cdn.datatables.net/responsive/2.2.4/js/dataTables.responsive.min.js"},{"url":"https://cdn.datatables.net/responsive/2.2.4/js/responsive.bootstrap.min.js"}],"deploydate":"2022-03-24T17:12:25.105Z","capture":"https://quipslibistars.s3.amazonaws.com/prod/548ee6f6a3769956381fa6acd8d269661e60b270/capture.png","prod":true,"morecss":[{"url":"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"},{"url":"https://cdn.datatables.net/1.10.21/css/dataTables.bootstrap.min.css"},{"url":"https://cdn.datatables.net/fixedheader/3.1.7/css/fixedHeader.bootstrap.min.css"},{"url":"https://cdn.datatables.net/responsive/2.2.4/css/responsive.bootstrap.min.css"}],"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"}],"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]() } } }) }