This commit is contained in:
email 2024-10-16 12:18:43 +02:00
parent 510628b1f6
commit 5ae5f7c23c
3 changed files with 71 additions and 45 deletions

View File

@ -107,6 +107,10 @@
<div id="stats"></div> <div id="stats"></div>
</div> </div>
<footer style="margin: 20px">
F. Kowalski
</footer>
<script type="module" src="js/script.js"></script> <script type="module" src="js/script.js"></script>

View File

@ -1,45 +0,0 @@
// Funkcja do wczytania pliku JSON
async function fetchJSONFile(filePath) {
try {
const response = await fetch(filePath);
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}
return await response.json();
} catch (error) {
console.error("Error fetching JSON file:", error);
}
}
// Funkcja do wczytania pliku class.json
async function loadClasses() {
const classFilePath = '/data/class.json';
const classes = await fetchJSONFile(classFilePath);
if (classes) {
console.log('Classes loaded:', classes);
// Iterowanie po wszystkich klasach i wczytywanie plików z danymi uczniów
for (const classInfo of classes) {
const studentsFilePath = '/data/'+ classInfo.file_path;
const studentsData = await fetchJSONFile(studentsFilePath);
if (studentsData) {
console.log(`Students loaded for class ${classInfo.class}:`, studentsData);
// Tutaj możesz przechowywać dane lub je przetwarzać według potrzeb
processClassData(classInfo, studentsData);
}
}
}
}
// Funkcja do przetwarzania danych o klasach i uczniach
function processClassData(classInfo, studentsData) {
console.log(`Class: ${classInfo.class}, Group: ${classInfo.group}, Students Count: ${classInfo.student_count}`);
console.log('Student Data:', studentsData);
// Możesz tutaj np. wyświetlić dane w interfejsie lub przeprowadzić dodatkowe operacje
}
// Uruchomienie wczytywania klas
loadClasses();

View File

@ -1,3 +1,55 @@
// Funkcja do wczytania pliku JSON
async function fetchJSONFile(filePath) {
try {
const response = await fetch(filePath);
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}
return await response.json();
} catch (error) {
console.error("Error fetching JSON file:", error);
}
}
// Funkcja do wczytania pliku class.json
async function loadClasses() {
const classFilePath = '/data/class.json';
const classes = await fetchJSONFile(classFilePath);
if (classes) {
console.log('Classes loaded:', classes);
// Iterowanie po wszystkich klasach i wczytywanie plików z danymi uczniów
for (const classInfo of classes) {
const studentsFilePath = '/data/'+ classInfo.file_path;
const studentsData = await fetchJSONFile(studentsFilePath);
if (studentsData) {
console.log(`Students loaded for class ${classInfo.class}:`, studentsData);
// Tutaj możesz przechowywać dane lub je przetwarzać według potrzeb
processClassData(classInfo, studentsData);
}
}
}
}
const classData = []
// Funkcja do przetwarzania danych o klasach i uczniach
function processClassData(classInfo, studentsData) {
console.log(`Class: ${classInfo.class}, Group: ${classInfo.group}, Students Count: ${classInfo.student_count}`);
console.log('Student Data:', studentsData);
classData.push(studentsData)
// Możesz tutaj np. wyświetlić dane w interfejsie lub przeprowadzić dodatkowe operacje
}
// Uruchomienie wczytywania klas
loadClasses();
//
//
//
let currentDay = 0; let currentDay = 0;
const baseDate = new Date(); const baseDate = new Date();
const studentsData = [ const studentsData = [
@ -19,7 +71,22 @@ function showTab(tabName) {
} }
} }
async function changeClass() {
await loadClasses()
let classesNames = []
for (const classInfo of classData) {
console.log(classInfo)
classesNames.push(classInfo.header.class + "-" + classInfo.header.group)
}
console.log("lol")
console.log(classesNames)
}
function generateTable() { function generateTable() {
changeClass()
const table = document.getElementById('student-table'); const table = document.getElementById('student-table');
table.innerHTML = ''; table.innerHTML = '';