Selbsteinschätzung mit Bewertung von 1 bis 4. Die Auswertung berechnet automatisch die Mittelwerte pro Kompetenzbereich und stellt sie als Spiderdiagramm dar.
1 kaum Kenntnisse
2 bekannt, aber unsicher
3 anwendbar, teils mit Hilfe
4 sehr sicher / unterstützend
0 von 177 bewertet
Hinweis zur Nutzung
Die Eingaben werden nur lokal im Browser gespeichert. Es werden keine Daten versendet. Der Button «Forms öffnen» öffnet lediglich das verlinkte Microsoft Forms in einem neuen Tab.
Anonymitäts-Hinweis: Das Forms muss so eingestellt sein, dass keine Namen/E-Mail-Adressen aufgezeichnet werden. Die HTML-Datei selbst speichert oder übermittelt keine Personendaten.
Kompetenzen bewerten
Auswertung
Grundkompetenzen
Mittelwerte pro Bereich; leere Antworten werden nicht mitgezählt.
Erweiterte Kompetenzen
Mittelwerte pro Bereich; Bereiche ohne Einträge bleiben leer.
`;
row.querySelectorAll('button').forEach(btn=>btn.onclick=()=>setRating(item.id, Number(btn.dataset.v)));
row.dataset.id=item.id; box.appendChild(row);
}
root.appendChild(d);
}
}
refresh();
}
function slug(s){return s.toLowerCase().replace(/[^a-z0-9äöü]+/gi,'_');}
function setRating(id, val){ratings[id]=val; save(); refresh();}
function save(){localStorage.setItem(storageKey, JSON.stringify(ratings));}
function avg(arr){const nums=arr.map(x=>ratings[x.id]).filter(v=>v>=1&&v<=4); return nums.length? nums.reduce((a,b)=>a+b,0)/nums.length : null;}
function allStats(){return cats.map(cat=>{const grund=competencies.filter(x=>x.category===cat && x.level==='Grundkompetenzen'); const erw=competencies.filter(x=>x.category===cat && x.level==='Erweiterte Kompetenzen'); const done=competencies.filter(x=>x.category===cat && ratings[x.id]); return {cat, grund:avg(grund), erw:avg(erw), done:done.length, total:grund.length+erw.length};});}
function refresh(){
document.querySelectorAll('.row').forEach(row=>{const id=row.dataset.id; row.querySelectorAll('button').forEach(btn=>btn.classList.toggle('active', Number(btn.dataset.v)===ratings[id]));});
for(const level of levels){for(const cat of cats){const list=competencies.filter(x=>x.level===level && x.category===cat); const el=document.getElementById('avg_'+slug(level+'_'+cat)); if(el){const a=avg(list); el.textContent=a? a.toFixed(2):'–';}}}
const done=Object.values(ratings).filter(v=>v>=1&&v<=4).length; document.getElementById('progressText').textContent=`${done} von ${competencies.length} bewertet`; if(currentLang==='fr') document.getElementById('progressText').textContent=`${done} sur ${competencies.length} évaluées`; document.getElementById('progressBar').style.width=(done/competencies.length*100)+'%';
drawAll(); buildSummary(); buildRecommendations();
}
function drawAll(){const stats=allStats(); drawRadar('chartGrund', stats.map(x=>catName(x.cat)), stats.map(x=>x.grund)); const adv=stats.filter(x=>x.erw!==null); drawRadar('chartErweitert', adv.map(x=>catName(x.cat)), adv.map(x=>x.erw));}
function drawRadar(canvasId, labels, values){
const c=document.getElementById(canvasId), ctx=c.getContext('2d'), w=c.width, h=c.height; ctx.clearRect(0,0,w,h);
const cx=w/2, cy=h/2+10, maxR=Math.min(w,h)*0.34, n=labels.length; ctx.font='13px Arial'; ctx.textAlign='center'; ctx.textBaseline='middle';
if(!n){ctx.fillStyle='#66777b';ctx.fillText(t('noadvanced'),cx,cy);return;}
for(let r=1;r<=4;r++){ctx.beginPath(); for(let i=0;i{let val=v||0; let a=-Math.PI/2+i*2*Math.PI/n; let rr=maxR*val/4; let x=cx+Math.cos(a)*rr, y=cy+Math.sin(a)*rr; i?ctx.lineTo(x,y):ctx.moveTo(x,y);}); ctx.closePath(); ctx.fillStyle='rgba(0,89,103,.22)'; ctx.fill(); ctx.strokeStyle='#005967'; ctx.lineWidth=3; ctx.stroke();
values.forEach((v,i)=>{if(!v)return;let a=-Math.PI/2+i*2*Math.PI/n;let rr=maxR*v/4;let x=cx+Math.cos(a)*rr,y=cy+Math.sin(a)*rr;ctx.beginPath();ctx.arc(x,y,5,0,2*Math.PI);ctx.fillStyle='#b7bf00';ctx.fill();ctx.strokeStyle='#005967';ctx.stroke();}); ctx.lineWidth=1;
}
function wrapLabel(ctx, text, x, y, maxWidth){const words=text.replace('Microsoft ','').split(/\s+/), lines=[];let line='';for(const word of words){const test=line?line+' '+word:word;if(ctx.measureText(test).width>maxWidth&&line){lines.push(line);line=word}else line=test;}lines.push(line);lines.slice(0,3).forEach((l,i)=>ctx.fillText(l,x,y+(i-(Math.min(lines.length,3)-1)/2)*14));}
function buildSummary(){const tbody=document.querySelector('#summaryTable tbody'); tbody.innerHTML=''; allStats().forEach(s=>{const tr=document.createElement('tr'); tr.innerHTML=`
${esc(catName(s.cat))}
${s.grund? s.grund.toFixed(2):'–'}
${s.erw? s.erw.toFixed(2):'–'}
${s.done}/${s.total}
`; tbody.appendChild(tr);});}
function buildRecommendations(){const root=document.getElementById('recContainer'); root.innerHTML=''; allStats().forEach(s=>{if(!s.grund)return; let div=document.createElement('div'); div.className='rec'; let txt=currentLang==='fr'?'Une recommandation détaillée peut être formulée à partir de cette moyenne. Les valeurs basses indiquent un besoin de soutien, les valeurs moyennes un potentiel d’approfondissement, et les valeurs élevées une compétence solide.':'Ausgehend von diesem Mittelwert kann eine Empfehlung abgeleitet werden. Tiefe Werte zeigen Unterstützungsbedarf, mittlere Werte Vertiefungspotenzial und hohe Werte eine sichere Kompetenz.'; div.innerHTML=`
Wenn die Selbsteinschätzung abgeschlossen ist, können die Ergebnisse anonym über Microsoft Forms übermittelt werden.Lorsque l’autoévaluation est terminée, les résultats peuvent être transmis anonymement via Microsoft Forms.
Um Ihnen ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern bzw. darauf zuzugreifen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional
Always active
Der Zugriff oder die technische Speicherung ist unbedingt für den rechtmäßigen Zweck erforderlich, um die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Abonnenten oder Nutzer ausdrücklich angefordert wurde, oder für den alleinigen Zweck der Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz.
Präferenzen
Die technische Speicherung oder der Zugriff ist notwendig für den rechtmässigen Zweck, Präferenzen zu speichern, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
The technical storage or access that is used exclusively for statistical purposes.Die technische Speicherung oder der Zugriff, der ausschliesslich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Aufforderung, die freiwillige Zustimmung Ihres Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht zu Ihrer Identifizierung verwendet werden.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.