148 lines
5.1 KiB
JavaScript
148 lines
5.1 KiB
JavaScript
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');
|
|
|
|
|
|
} |