function RAGGED(average){ // This returns the correct colour red, amber or gree depending on the value presented if (average <= -1) { return "red"; } if (average >= 1) { return "green"; } return "#ffbf00"; } function getAverage(prefix) { console.log("Prefix:", prefix); const elements = Array.from(document.querySelectorAll(`svg[id^="${prefix}"] tspan.average`)); const numbers = elements.map(el => { const text = el.textContent; //console.log("Raw text content:", text); const value = parseFloat(text); //console.log("Parsed value:", value); return value; }).filter(n => !isNaN(n)); //console.log("Parsed numeric values:", numbers); if (numbers.length === 0) { console.warn("No valid numbers found!"); return NaN; } const avg = numbers.reduce((sum, n) => sum + n, 0) / numbers.length; //console.log("Average of averages:", avg); return avg; } function getSurveyData(){ console.log("gettingSurveyData"); let survey=document.getElementById("surveyId").value; console.log("Survey is:"+survey); let Q1=document.getElementById("location").value; let Q2=document.getElementById("level").value; let Q3=document.getElementById("gov").value; let amber = '#ffbf00'; //doBigWhiteTriangle('svg1'); //drawtriangle('#svg1','Roles','#008845',[0.5,0.6,0.5],'red', { x: 0, y: 350 },-0.7); //drawtriangle('#svg1','Actions','#b2c8c4',[0.1,0.6,0.5],'green',{ x: 370, y: 350 },2.3); //drawtriangle('#svg1','Approach','#ed4c0c',[0.3,0.6,0.5],amber,{ x: 185, y: 30 },1.4); //drawtriangleinverted('#svg1','Impact','#74469c',[0.7,0.6,0.8],'green',{ x: 185, y: 243},2.4); //makeSvgRightClickable('svg1'); //doLittleWhiteTriangle('svg2'); //drawtriangle('#svg2','Roles','#008845',[0.5,0.6,0.5],'', { x: 0, y: 100 },-0.7); //EO ROLES //Great Employee Owners let average = doBarData('#svg1_1','QID35_7',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_1'); doBarData('#svg1_2','QID35_2',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_2'); doBarData('#svg1_3','QID35_8',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_3'); doBarData('#svg1_4','QID35_9',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_4'); doBarData('#svg1_5','QID35_10',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_5'); //Great EO Leaders average = doBarData('#svg2_1','QID36_7',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_1'); doBarData('#svg2_2','QID36_2',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_2'); doBarData('#svg2_3','QID36_8',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_3'); doBarData('#svg2_4','QID36_9',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_4'); //Great EO Governance average = doBarData('#svg3_1','QID37_7',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_1'); doBarData('#svg3_2','QID37_2',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_2'); doBarData('#svg3_3','QID37_8',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_3'); doBarData('#svg3_4','QID37_20',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_4'); doBarData('#svg3_5','QID37_21',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_5'); doBarData('#svg3_6','QID37_22',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_5'); //EO APPROACH //Great EO Culture average = doBarData('#svg4_1','QID2_7',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_1'); doBarData('#svg4_2','QID2_2',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_2'); doBarData('#svg4_3','QID2_8',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_3'); doBarData('#svg4_4','QID2_9',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_4'); //Great EO Engagement average = doBarData('#svg5_1','QID33_7',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_1'); doBarData('#svg5_2','QID33_2',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_2'); doBarData('#svg5_3','QID33_8',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_3'); doBarData('#svg5_4','QID33_9',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_4'); //Great EO Stewardship average = doBarData('#svg6_1','QID34_7',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_1'); doBarData('#svg6_2','QID34_2',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_2'); doBarData('#svg6_3','QID34_8',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_3'); doBarData('#svg6_4','QID34_17',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_4'); //EO ACTIONS //Great EO Strategy average = doBarData('#svg7_1','QID40_7',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_1'); doBarData('#svg7_2','QID40_2',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_2'); doBarData('#svg7_3','QID40_8',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_3'); doBarData('#svg7_4','QID40_9',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_4'); //Great EO Innovation average = doBarData('#svg8_1','QID41_7',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_1'); doBarData('#svg8_2','QID41_2',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_2'); doBarData('#svg8_3','QID41_19',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_3'); doBarData('#svg8_4','QID41_20',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_4'); doBarData('#svg8_5','QID41_21',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_5'); //Great EO Advantage average = doBarData('#svg9_1','QID42_7',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_1'); doBarData('#svg9_2','QID42_2',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_2'); doBarData('#svg9_3','QID42_8',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_3'); //EO RESULTS //Great EO Measurement average = doBarData('#svg10_1','QID44_21',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_1'); doBarData('#svg10_2','QID44_7',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_2'); doBarData('#svg10_3','QID44_2',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_3'); doBarData('#svg10_4','QID44_8',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_4'); //Great EO Evaluation average = doBarData('#svg11_1','QID45_24',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_1'); doBarData('#svg11_2','QID45_25',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_2'); doBarData('#svg11_3','QID45_26',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_3'); doBarData('#svg11_4','QID45_29',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_4'); //Great EO Impact average = doBarData('#svg12_1','QID46_27',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_1'); doBarData('#svg12_2','QID46_28',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_2'); doBarData('#svg12_3','QID46_29',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_3'); doBarData('#svg12_4','QID46_30',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_4'); doBarData('#svg12_5','QID46_31',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_5'); doBarData('#svg12_6','QID46_32',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_5'); doBarData('#svg12_7','QID46_33',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_3'); doBarData('#svg12_8','QID46_34',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_4'); doBarData('#svg12_9','QID46_36',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_5'); doBarData('#svg12_10','QID46_37',survey,Q1,Q2,Q3); //makeSvgRightClickable('svg1_5'); // Make sure that evreything is loaded! setTimeout(() => { console.log("Waited 8 seconds"); // We now have access to all of the averages, so can calculate the basic triangle. //EO ROLES let svg1_avg = (getAverage("svg1_")+3)/7; let svg2_avg = (getAverage("svg2_")+3)/7; let svg3_avg = (getAverage("svg3_")+3)/7; let roles_avg = (7*(svg1_avg+svg2_avg+svg3_avg)/3)-3; // this converts the scales lengths to the correct value console.log(svg1_avg,svg2_avg,svg3_avg, roles_avg); doLittleWhiteTriangle('svg_roles'); //drawtriangle('#svg_roles','Roles','#008845',[0.25,0.5,0.75],'', { x: 0, y: 100 },roles_avg.toFixed(1)); drawtriangle('#svg_roles','Roles','#008845',[svg1_avg,svg2_avg,svg3_avg],'', { x: 0, y: 100 },roles_avg.toFixed(1)); //makeSvgRightClickable('svg_roles'); doLittleWhiteTriangle('svg_roles_RAG'); drawtriangle('#svg_roles_RAG','Roles','#008845',[svg1_avg,svg2_avg,svg3_avg],RAGGED(roles_avg), { x: 0, y: 100 },roles_avg.toFixed(1)); //makeSvgRightClickable('svg_roles_RAG'); doLittleWhiteTriangle('svg_roles_test'); drawtriangle('#svg_roles_test','Roles','#008845',[0.9,0.9,0.9],RAGGED(roles_avg), { x: 0, y: 100 },roles_avg.toFixed(1)); //makeSvgRightClickable('svg_roles_test'); //EO APPROACH let svg4_avg = (getAverage("svg4_")+3)/7; let svg5_avg = (getAverage("svg5_")+3)/7; let svg6_avg = (getAverage("svg6_")+3)/7; let approach_avg = (7*(svg4_avg+svg5_avg+svg6_avg)/3)-3; // this converts the scales lengths to the correct value console.log(svg4_avg,svg5_avg,svg6_avg,approach_avg); doLittleWhiteTriangle('svg_approach'); //drawtriangle('#svg_approach','Approach','#008845',[0.25,0.5,0.75],'', { x: 0, y: 100 },average_avg.toFixed(1)); drawtriangle('#svg_approach','Approach','#ed4c0c',[svg4_avg,svg5_avg,svg6_avg],'', { x: 0, y: 100 },approach_avg.toFixed(1)); //makeSvgRightClickable('svg_approach'); doLittleWhiteTriangle('svg_approach_RAG'); drawtriangle('#svg_approach_RAG','Approach','#ed4c0c',[svg4_avg,svg5_avg,svg6_avg],RAGGED(approach_avg), { x: 0, y: 100 },approach_avg.toFixed(1)); //makeSvgRightClickable('svg_approach_RAG'); doLittleWhiteTriangle('svg_approach_test'); drawtriangle('#svg_approach_test','Approach','#ed4c0c',[0.9,0.9,0.9],RAGGED(approach_avg), { x: 0, y: 100 },approach_avg.toFixed(1)); //makeSvgRightClickable('svg_approach_test'); //EO ACTIONS let svg7_avg = (getAverage("svg7_")+3)/7; let svg8_avg = (getAverage("svg8_")+3)/7; let svg9_avg = (getAverage("svg9_")+3)/7; let actions_avg = (7*(svg7_avg+svg8_avg+svg9_avg)/3)-3; // this converts the scales lengths to the correct value console.log(svg7_avg,svg8_avg,svg9_avg,actions_avg); doLittleWhiteTriangle('svg_actions'); //drawtriangle('#svg_actions','Actions','#b2c8c4',[0.25,0.5,0.75],'', { x: 0, y: 100 },actions_avg.toFixed(1)); drawtriangle('#svg_actions','Actions','#b2c8c4',[svg7_avg,svg8_avg,svg9_avg],'', { x: 0, y: 100 },actions_avg.toFixed(1)); //makeSvgRightClickable('svg_actions'); doLittleWhiteTriangle('svg_actions_RAG'); drawtriangle('#svg_actions_RAG','Actions','#b2c8c4',[svg7_avg,svg8_avg,svg9_avg],RAGGED(actions_avg), { x: 0, y: 100 },actions_avg.toFixed(1)); //makeSvgRightClickable('svg_actions_RAG'); doLittleWhiteTriangle('svg_actions_test'); drawtriangle('#svg_actions_test','Actions','#b2c8c4',[0.9,0.9,0.9],RAGGED(actions_avg), { x: 0, y: 100 },actions_avg.toFixed(1)); //makeSvgRightClickable('svg_actions_test'); //EO IMPACT let svg10_avg = (getAverage("svg10_")+3)/7; let svg11_avg = (getAverage("svg11_")+3)/7; let svg12_avg = (getAverage("svg12_")+3)/7; let results_avg = (7*(svg10_avg+svg11_avg+svg12_avg)/3)-3; // this converts the scales lengths to the correct value console.log(svg10_avg,svg11_avg,svg12_avg,results_avg); doLittleWhiteTriangle('svg_results'); //drawtriangle('#svg_results','Results','#74469',[0.25,0.5,0.75],'', { x: 0, y: 100 },impact_avg.toFixed(1)); drawtriangleinverted('#svg_results','Results','#74469c',[svg10_avg,svg11_avg,svg12_avg],'', { x: 0, y: 0 },results_avg.toFixed(1)); //makeSvgRightClickable('svg_results'); doLittleWhiteTriangle('svg_results_RAG'); drawtriangleinverted('#svg_results_RAG','Results','#74469c',[svg10_avg,svg11_avg,svg12_avg],RAGGED(results_avg), { x: 0, y: 0 },results_avg.toFixed(1)); //makeSvgRightClickable('svg_results_RAG'); doLittleWhiteTriangle('svg_results_test'); drawtriangleinverted('#svg_results_test','Results','#74469c',[0.9,0.9,0.9],RAGGED(results_avg), { x: 0, y: 0 },results_avg.toFixed(1)); //makeSvgRightClickable('svg_results_test'); doBigWhiteTriangle('svg_pyramid'); drawtriangle('#svg_pyramid','Roles','#008845',[svg1_avg,svg2_avg,svg3_avg],'', { x: 0, y: 350 },roles_avg.toFixed(1)); drawtriangle('#svg_pyramid','Actions','#b2c8c4',[svg4_avg,svg5_avg,svg6_avg],'',{ x: 370, y: 350 },actions_avg.toFixed(1)); drawtriangle('#svg_pyramid','Approach','#ed4c0c',[svg7_avg,svg8_avg,svg9_avg],'',{ x: 185, y: 30 },approach_avg.toFixed(1)); drawtriangleinverted('#svg_pyramid','Results','#74469c',[svg10_avg,svg11_avg,svg12_avg],'',{ x: 185, y: 243},results_avg.toFixed(1)); makeSvgRightClickable('svg_pyramid'); doBigWhiteTriangle('svg_pyramid_RAG'); drawtriangle('#svg_pyramid_RAG','Roles','#008845',[svg1_avg,svg2_avg,svg3_avg],RAGGED(roles_avg), { x: 0, y: 350 },roles_avg.toFixed(1)); drawtriangle('#svg_pyramid_RAG','Actions','#b2c8c4',[svg4_avg,svg5_avg,svg6_avg],RAGGED(actions_avg),{ x: 370, y: 350 },actions_avg.toFixed(1)); drawtriangle('#svg_pyramid_RAG','Approach','#ed4c0c',[svg7_avg,svg8_avg,svg9_avg],RAGGED(approach_avg),{ x: 185, y: 30 },approach_avg.toFixed(1)); drawtriangleinverted('#svg_pyramid_RAG','Results','#74469c',[svg10_avg,svg11_avg,svg12_avg],RAGGED(results_avg),{ x: 185, y: 243},results_avg.toFixed(1)); makeSvgRightClickable('svg_pyramid_RAG'); doBigWhiteTriangle('svg_pyramid_RAG_test'); drawtriangle('#svg_pyramid_RAG_test','Roles','#008845',[0.9,0.9,0.9],RAGGED(roles_avg), { x: 0, y: 350 },roles_avg.toFixed(1)); drawtriangle('#svg_pyramid_RAG_test','Actions','#b2c8c4',[0.9,0.9,0.9],RAGGED(actions_avg),{ x: 370, y: 350 },actions_avg.toFixed(1)); drawtriangle('#svg_pyramid_RAG_test','Approach','#ed4c0c',[0.9,0.9,0.9],RAGGED(approach_avg),{ x: 185, y: 30 },approach_avg.toFixed(1)); drawtriangleinverted('#svg_pyramid_RAG_test','Results','#74469c',[0.9,0.9,0.9],RAGGED(results_avg),{ x: 185, y: 243},results_avg.toFixed(1)); makeSvgRightClickable('svg_pyramid_RAG_test'); //doBigWhiteTriangle('svg_pyramid_RAG_test2'); //drawtriangle('#svg_pyramid_RAG_test2','Roles','#008845',[0.95,0.95,0.95],RAGGED(roles_avg), { x: 0, y: 350 },roles_avg.toFixed(1)); //drawtriangle('#svg_pyramid_RAG_test2','Actions','#b2c8c4',[0.95,0.95,0.95],RAGGED(actions_avg),{ x: 370, y: 350 },actions_avg.toFixed(1)); //drawtriangle('#svg_pyramid_RAG_test2','Approach','#ed4c0c',[0.95,0.95,0.95],RAGGED(approach_avg),{ x: 185, y: 30 },approach_avg.toFixed(1)); //drawtriangleinverted('#svg_pyramid_RAG_test2','Results','#74469c',[0.95,0.95,0.95],RAGGED(results_avg),{ x: 185, y: 243},results_avg.toFixed(1)); //makeSvgRightClickable('svg_pyramid_RAG_test2'); }, 800); }