From 32449be5316ec1d251444ce872c286a4412f830e Mon Sep 17 00:00:00 2001 From: konradm Date: Thu, 17 Oct 2024 14:24:08 +0200 Subject: [PATCH] first name last name --- index.html | 12 ++++++------ js/script.js | 32 ++++++++++++++++++++------------ 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/index.html b/index.html index 1dcf3aa..c0e00fc 100644 --- a/index.html +++ b/index.html @@ -26,18 +26,18 @@ - + Frekwencja 95-100% Brak godzin nieusprawiedliwionych - + Minimum 85% frekwencja - + Etap szkolny @@ -147,9 +147,9 @@ diff --git a/js/script.js b/js/script.js index e8c43ef..b9faca1 100644 --- a/js/script.js +++ b/js/script.js @@ -117,8 +117,6 @@ async function loadStudents(classFilePath) { } } - - // Funkcja do wczytania pliku criteria.json async function loadCriteria() { const criteriaFilePath = '/data/criteria.json'; @@ -188,7 +186,7 @@ function changeDay(direction) { // Funkcja do ładowania danych dnia function loadDayData() { studentsData.forEach(student => { - const studentId = student.name.replace(/ /g, '-'); + const studentId = `${student.first_name}-${student.last_name}`.replace(/ /g, '-'); const behavior = student.behavior[`day${currentDay}`] || {}; // Pobierz kryteria dla aktualnej kategorii @@ -207,7 +205,13 @@ function loadDayData() { // Funkcja do zapisywania danych dnia function saveDayData() { studentsData.forEach(student => { - const studentId = student.name.replace(/ /g, '-'); + const studentId = `${student.first_name}-${student.last_name}`.replace(/ /g, '-'); + + // Upewnij się, że 'behavior' jest zdefiniowany + if (!student.behavior) { + student.behavior = {}; + } + let behavior = student.behavior[`day${currentDay}`] || {}; const categoryColumns = categories[currentCategory]; @@ -228,8 +232,8 @@ function calculateStats() { // Pobieranie punktów z zakładki "Ustal punkty" const points = { frekwencja: parseInt(document.getElementById('frekwencja-punkty').value) || 0, - brak_godzin: parseInt(document.getElementById('brak-godzin-punkty').value) || 0, - min_85: parseInt(document.getElementById('min-85-punkty').value) || 0, + brak_godzin: parseInt(document.getElementById('brak_godzin-punkty').value) || 0, + min_85: parseInt(document.getElementById('min_85-punkty').value) || 0, etap_szkolny: parseInt(document.getElementById('etap_szkolny-punkty').value) || 5, etap_rejonowy: parseInt(document.getElementById('etap_rejonowy-punkty').value) || 10, etap_wojewodzki: parseInt(document.getElementById('etap_wojewodzki-punkty').value) || 15, @@ -265,7 +269,7 @@ function calculateStats() { totalPoints += dayPoints; }); - stats += `${student.name}: ${totalPoints} punktów (${getGrade(totalPoints)})\n`; + stats += `${student.first_name} ${student.last_name}: ${totalPoints} punktów (${getGrade(totalPoints)})\n`; }); document.getElementById('stats-output').innerText = stats; @@ -312,21 +316,25 @@ function generateTable(category) { // Komórka z imieniem i nazwiskiem const tdName = document.createElement('td'); - tdName.textContent = student.name; + tdName.textContent = `${student.first_name} ${student.last_name}`; row.appendChild(tdName); + // Upewnij się, że 'behavior' jest zdefiniowany + if (!student.behavior) { + student.behavior = {}; + } + // Komórki z checkboxami dla kryteriów categoryColumns.forEach(column => { const td = document.createElement('td'); const checkbox = document.createElement('input'); checkbox.type = 'checkbox'; - checkbox.id = `${column.id}-${student.name.replace(/ /g, '-')}`; + const studentId = `${student.first_name}-${student.last_name}`.replace(/ /g, '-'); + checkbox.id = `${column.id}-${studentId}`; checkbox.onchange = calculateStats; // Ustawienie stanu checkboxa na podstawie zapisanych danych - if (student.behavior[`day${currentDay}`] && student.behavior[`day${currentDay}`][column.id]) { - checkbox.checked = student.behavior[`day${currentDay}`][column.id]; - } + checkbox.checked = student.behavior[`day${currentDay}`]?.[column.id] || false; td.appendChild(checkbox); row.appendChild(td);