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 loaded(){ console.log("loaded"); 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'); //makeSvgRightClickable('svg1_1'); doBarData('#svg1_2','QID35_2'); //makeSvgRightClickable('svg1_2'); doBarData('#svg1_3','QID35_8'); //makeSvgRightClickable('svg1_3'); doBarData('#svg1_4','QID35_9'); //makeSvgRightClickable('svg1_4'); doBarData('#svg1_5','QID35_10'); //makeSvgRightClickable('svg1_5'); //Great EO Leaders average = doBarData('#svg2_1','QID35_7'); //makeSvgRightClickable('svg1_1'); doBarData('#svg2_2','QID35_2'); //makeSvgRightClickable('svg1_2'); doBarData('#svg2_3','QID35_8'); //makeSvgRightClickable('svg1_3'); doBarData('#svg2_4','QID35_7'); //makeSvgRightClickable('svg1_4'); //doBarData('#svg2_5','QID35_10'); //makeSvgRightClickable('svg1_5'); //Great EO Governance average = doBarData('#svg3_1','QID35_7'); //makeSvgRightClickable('svg1_1'); doBarData('#svg3_2','QID35_2'); //makeSvgRightClickable('svg1_2'); doBarData('#svg3_3','QID35_8'); //makeSvgRightClickable('svg1_3'); doBarData('#svg3_4','QID35_7'); //makeSvgRightClickable('svg1_4'); doBarData('#svg3_5','QID35_10'); //makeSvgRightClickable('svg1_5'); doBarData('#svg3_6','QID35_10'); //makeSvgRightClickable('svg1_5'); // Make sure that evreything is loaded! setTimeout(() => { console.log("Waited 2 seconds"); // We now have access to all of the averages, so can calculate the basic triangle. 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.95,0.95,0.95],RAGGED(roles_avg), { x: 0, y: 100 },roles_avg.toFixed(1)); //makeSvgRightClickable('svg_roles_test'); }, 500); //EO APPROACH //drawBar('#svg1_1','QID34_7'); //makeSvgRightClickable('svg1_1'); //drawBar('#svg1_2'); //makeSvgRightClickable('svg1_2'); //drawBar('#svg1_3'); //makeSvgRightClickable('svg1_3'); //drawBar('#svg1_4'); //makeSvgRightClickable('svg1_4'); //drawBar('#svg1_5'); //makeSvgRightClickable('svg1_5'); }