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);