Compare commits

..

No commits in common. "mpabi" and "dev" have entirely different histories.
mpabi ... dev

5 changed files with 47 additions and 127 deletions

View File

@ -33,10 +33,3 @@ button {
.active {
display: block;
}
select {
margin-bottom: 10px;
padding: 5px;
background-color: #f2f2f2;
}

View File

@ -64,18 +64,10 @@
<button onclick="changeDay(-1)">Poprzedni Dzień</button>
<button onclick="changeDay(1)">Następny Dzień</button>
</div>
<div class="select-class">
<p>Wybierz klase:</p>
</div>
<table>
<thead>
<tr>
<th rowSpan="2"><select class="select-class" id="select-class">
<option value="">Klasa 1</option>
<option value="">Klasa 2</option>
<option value="">Klasa 3</option>
</select></th>
<th rowSpan="2">Uczeń</th>
<th colspan="3">Frekwencja</th>
<th colspan="4">Olimpiady</th>
<th colspan="2">Konkursy Szkolne</th>
@ -115,17 +107,10 @@
<div id="stats"></div>
</div>
<footer style="margin: 20px">
K. Michalak
</br>
F. Kowalski
</br>
Led and Authored by M. Pabiszczak
</footer>
<script type="module" src="js/script.js"></script>
<script type="module" src="js/app.js"></script>
</body>

View File

@ -0,0 +1,45 @@
// 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,85 +1,3 @@
//Funkcja do sprawdzania ktora klasa jest wybrana w SELECT
function selected_class() {
}
// 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);
var section_HTML = ""
// 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);
// Wczytywanie klas do elementu select w html
const section_by_id = document.getElementById("select-class")
if (!section_HTML.includes(classInfo.class)) {
const section_option = "<option>" + "Klasa: " + classInfo.class + "</option>"
section_HTML += section_option;
console.log("DODANO KLASE ", classInfo.class, " DO SELECT")
section_by_id.innerHTML = section_HTML
}
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);
}
}
}
}
async function loadCriteria () {
const criteriaFilePath = '/data/criteria.json';
const criteria = await fetchJSONFile(criteriaFilePath);
console.log ("break")
}
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();
loadCriteria();
//
//
//
let currentDay = 0;
const baseDate = new Date();
const studentsData = [
@ -101,33 +19,13 @@ 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() {
changeClass()
const table = document.getElementById('student-table');
table.innerHTML = '';
//xd
studentsData.forEach(student => {
const row = document.createElement('tr');
row.innerHTML = `
<td>${student.name}</td>
<td><input type="checkbox" id="frekwencja-${student.name.replace(' ', '-')}" onchange="calculateStats()"></td>
<td><input type="checkbox" id="brak-godzin-${student.name.replace(' ', '-')}" onchange="calculateStats()"></td>

View File

@ -1 +0,0 @@
a4dd89352b730d2ef7a3eff72ab98dbc2b7e8d6b