Sorted out refreshing of graphics for inverted triangles and also for bar graphs if no data was available

This commit is contained in:
Peter Edmond 2025-06-01 21:58:00 +01:00
parent bf17427cc4
commit 827924bd26
4 changed files with 81 additions and 37 deletions

View File

@ -44,7 +44,7 @@ function insertQualifiers(){
select.appendChild(option);
});
document.querySelector('label[for="level"]').textContent = "New question 2";
document.querySelector('label[for="level"]').textContent = parsed["2"][0];
// .shift(); //
parsed["2"][0] = "Any";
@ -60,7 +60,7 @@ function insertQualifiers(){
select.appendChild(option);
});
document.querySelector('label[for="gov"]').textContent = "New question 3";
document.querySelector('label[for="gov"]').textContent = parsed["3"][0];
parsed["3"][0] = "Any";
select = document.getElementById('gov');
optionCount = select.options.length;
@ -74,7 +74,8 @@ function insertQualifiers(){
select.appendChild(option);
});
//Disable the surveyId input
document.getElementById("surveyId").disabled = true;
/*document.getElementById("record_no").textContent = total;
if (total < 9){

View File

@ -63,155 +63,212 @@ function getSurveyData(){
//EO ROLES
//Great Employee Owners
resetSvg('svg1_1');
let average = doBarData('#svg1_1','QID35_7',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_1');
resetSvg('svg1_2');
doBarData('#svg1_2','QID35_2',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_2');
resetSvg('svg1_3');
doBarData('#svg1_3','QID35_8',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_3');
resetSvg('svg1_4');
doBarData('#svg1_4','QID35_9',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_4');
resetSvg('svg1_5');
doBarData('#svg1_5','QID35_10',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_5');
//Great EO Leaders
resetSvg('svg2_1');
average = doBarData('#svg2_1','QID36_7',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_1');
resetSvg('svg2_2');
doBarData('#svg2_2','QID36_2',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_2');
resetSvg('svg2_3');
doBarData('#svg2_3','QID36_8',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_3');
resetSvg('svg2_4');
doBarData('#svg2_4','QID36_9',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_4');
//Great EO Governance
resetSvg('svg3_1');
average = doBarData('#svg3_1','QID37_7',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_1');
resetSvg('svg3_2');
doBarData('#svg3_2','QID37_2',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_2');
resetSvg('svg3_3');
doBarData('#svg3_3','QID37_8',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_3');
resetSvg('svg3_4');
doBarData('#svg3_4','QID37_20',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_4');
resetSvg('svg3_5');
doBarData('#svg3_5','QID37_21',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_5');
resetSvg('svg3_6');
doBarData('#svg3_6','QID37_22',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_5');
//EO APPROACH
//Great EO Culture
resetSvg('svg4_1');
average = doBarData('#svg4_1','QID2_7',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_1');
resetSvg('svg4_2');
doBarData('#svg4_2','QID2_2',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_2');
resetSvg('svg4_3');
doBarData('#svg4_3','QID2_8',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_3');
resetSvg('svg4_4');
doBarData('#svg4_4','QID2_9',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_4');
//Great EO Engagement
resetSvg('svg5_1');
average = doBarData('#svg5_1','QID33_7',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_1');
resetSvg('svg5_2');
doBarData('#svg5_2','QID33_2',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_2');
resetSvg('svg5_3');
doBarData('#svg5_3','QID33_8',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_3');
resetSvg('svg5_4');
doBarData('#svg5_4','QID33_9',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_4');
//Great EO Stewardship
resetSvg('svg6_1');
average = doBarData('#svg6_1','QID34_7',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_1');
resetSvg('svg6_2');
doBarData('#svg6_2','QID34_2',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_2');
resetSvg('svg6_3');
doBarData('#svg6_3','QID34_8',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_3');
resetSvg('svg6_4');
doBarData('#svg6_4','QID34_17',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_4');
//EO ACTIONS
//Great EO Strategy
resetSvg('svg7_1');
average = doBarData('#svg7_1','QID40_7',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_1');
resetSvg('svg7_2');
doBarData('#svg7_2','QID40_2',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_2');
resetSvg('svg7_3');
doBarData('#svg7_3','QID40_8',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_3');
resetSvg('svg7_4');
doBarData('#svg7_4','QID40_9',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_4');
//Great EO Innovation
resetSvg('svg8_1');
average = doBarData('#svg8_1','QID41_7',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_1');
resetSvg('svg8_2');
doBarData('#svg8_2','QID41_2',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_2');
resetSvg('svg8_3');
doBarData('#svg8_3','QID41_19',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_3');
resetSvg('svg8_4');
doBarData('#svg8_4','QID41_20',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_4');
resetSvg('svg8_5');
doBarData('#svg8_5','QID41_21',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_5');
//Great EO Advantage
resetSvg('svg9_1');
average = doBarData('#svg9_1','QID42_7',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_1');
resetSvg('svg9_2');
doBarData('#svg9_2','QID42_2',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_2');
resetSvg('svg9_3');
doBarData('#svg9_3','QID42_8',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_3');
//EO RESULTS
//Great EO Measurement
resetSvg('svg10_1');
average = doBarData('#svg10_1','QID44_21',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_1');
resetSvg('svg10_2');
doBarData('#svg10_2','QID44_7',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_2');
resetSvg('svg10_3');
doBarData('#svg10_3','QID44_2',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_3');
resetSvg('svg10_4');
doBarData('#svg10_4','QID44_8',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_4');
//Great EO Evaluation
resetSvg('svg11_1');
average = doBarData('#svg11_1','QID45_24',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_1');
resetSvg('svg11_2');
doBarData('#svg11_2','QID45_25',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_2');
resetSvg('svg11_3');
doBarData('#svg11_3','QID45_26',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_3');
resetSvg('svg11_4');
doBarData('#svg11_4','QID45_29',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_4');
//Great EO Impact
resetSvg('svg12_1');
average = doBarData('#svg12_1','QID46_27',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_1');
resetSvg('svg12_2');
doBarData('#svg12_2','QID46_28',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_2');
resetSvg('svg12_3');
doBarData('#svg12_3','QID46_29',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_3');
resetSvg('svg12_4');
doBarData('#svg12_4','QID46_30',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_4');
resetSvg('svg12_5');
doBarData('#svg12_5','QID46_31',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_5');
resetSvg('svg12_6');
doBarData('#svg12_6','QID46_32',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_5');
resetSvg('svg12_7');
doBarData('#svg12_7','QID46_33',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_3');
resetSvg('svg12_8');
doBarData('#svg12_8','QID46_34',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_4');
resetSvg('svg12_9');
doBarData('#svg12_9','QID46_36',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_5');
resetSvg('svg12_10');
doBarData('#svg12_10','QID46_37',survey,Q1,Q2,Q3);
//makeSvgRightClickable('svg1_5');
@ -276,16 +333,16 @@ function getSurveyData(){
console.log(svg7_avg,svg8_avg,svg9_avg,actions_avg);
doLittleWhiteTriangle('svg_actions');
resetSvg('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');
resetSvg('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');
resetSvg('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');
@ -298,20 +355,28 @@ function getSurveyData(){
console.log(svg10_avg,svg11_avg,svg12_avg,results_avg);
doLittleWhiteTriangle('svg_results');
resetSvg('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');
resetSvg('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');
resetSvg('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');
//Clear up the pyramids by resetting the html
document.getElementById("pyramids").innerHTML = `
<svg class="pyramid" style="display: inline-block" xmlns="http://www.w3.org/2000/svg" id="svg_pyramid" width="1000" height="1000"></svg>
<svg class="pyramid" style="display: inline-block" xmlns="http://www.w3.org/2000/svg" id="svg_pyramid_RAG" width="1000" height="1000"></svg>
<svg class="pyramid no-axis no-text big-number" style="display: inline-block" xmlns="http://www.w3.org/2000/svg" id="svg_pyramid_RAG_test" width="1000" height="1000"></svg>
<svg class="pyramid no-axis big-number" style="display: inline-block" xmlns="http://www.w3.org/2000/svg" id="svg_pyramid_RAG_test2" width="1000" height="1000"></svg>
`;
doBigWhiteTriangle('svg_pyramid');
drawtriangle('#svg_pyramid','Roles','#008845',[svg1_avg,svg2_avg,svg3_avg],'', { x: 0, y: 350 },roles_avg.toFixed(1));

View File

@ -110,7 +110,7 @@
<h1>QUALTRICS SURVEY ANALYSIS TOOL</h1>
<p>You first need to enter the Survey ID, and press submit in order to get the correct groupings available to select from. The master template survey is SV_cwKjMqAqGxImjMG if you want a survey to just try out.</p>
<p>SV_bD838sNKZEmi6Tc is also worth experimenting with</p>
<p>You will need to refresh this page in order to enter a new survey Id</p>
<form id="surveyForm">
<label for="surveyId">Survey Id:</label>
<input type="text" id="surveyId" name="surveyId" />

View File

@ -50,35 +50,13 @@ function doLittleWhiteTriangle(id){
//triangle.setAttribute("stroke", "black"); // Optional
//triangle.setAttribute("stroke-width", "2"); // Optional
svg.appendChild(triangle);
}
/*
function inlineStyles(svgElement) {
const allElements = svgElement.querySelectorAll('*');
const computedStyles = window.getComputedStyle(svgElement);
// Apply style to root SVG element
svgElement.setAttribute("style", computedStyles.cssText || "");
// Recursively apply computed styles to each element
allElements.forEach(el => {
const computed = window.getComputedStyle(el);
let inline = '';
for (let i = 0; i < computed.length; i++) {
const key = computed[i];
const value = computed.getPropertyValue(key);
inline += `${key}:${value};`;
}
el.setAttribute('style', inline);
});
}
*/
function resetSvg(id){
const svg = document.getElementById(id);
svg.innerHTML="";
}
function inlineStyles(svgElement) {
const allElements = svgElement.querySelectorAll('*');