Compare commits

..

6 Commits
dev ... mpabi

Author SHA1 Message Date
baiobelfer 6f7a626db3 bh update 2024-10-16 14:56:56 +02:00
baiobelfer 36524d8012 update loadCriteria 2024-10-16 14:53:18 +02:00
konradm 97d6865fdd select class 2024-10-16 12:42:08 +02:00
baiobelfer 5f2d191788 clean index 2024-10-16 13:54:55 +02:00
baiobelfer 9c52664e90 added Leader 2024-10-16 12:47:23 +02:00
email 5ae5f7c23c classes 2024-10-16 12:18:43 +02:00
5 changed files with 127 additions and 47 deletions

View File

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

View File

@ -64,10 +64,18 @@
<button onclick="changeDay(-1)">Poprzedni Dzień</button> <button onclick="changeDay(-1)">Poprzedni Dzień</button>
<button onclick="changeDay(1)">Następny Dzień</button> <button onclick="changeDay(1)">Następny Dzień</button>
</div> </div>
<div class="select-class">
<p>Wybierz klase:</p>
</div>
<table> <table>
<thead> <thead>
<tr> <tr>
<th rowSpan="2">Uczeń</th> <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 colspan="3">Frekwencja</th> <th colspan="3">Frekwencja</th>
<th colspan="4">Olimpiady</th> <th colspan="4">Olimpiady</th>
<th colspan="2">Konkursy Szkolne</th> <th colspan="2">Konkursy Szkolne</th>
@ -107,10 +115,17 @@
<div id="stats"></div> <div id="stats"></div>
</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/script.js"></script>
<script type="module" src="js/app.js"></script>
</body> </body>

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,85 @@
//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; let currentDay = 0;
const baseDate = new Date(); const baseDate = new Date();
const studentsData = [ const studentsData = [
@ -19,13 +101,33 @@ 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 = '';
//xd
studentsData.forEach(student => { studentsData.forEach(student => {
const row = document.createElement('tr'); const row = document.createElement('tr');
row.innerHTML = ` row.innerHTML = `
<td>${student.name}</td> <td>${student.name}</td>
<td><input type="checkbox" id="frekwencja-${student.name.replace(' ', '-')}" onchange="calculateStats()"></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> <td><input type="checkbox" id="brak-godzin-${student.name.replace(' ', '-')}" onchange="calculateStats()"></td>

1
p1/token.txt Normal file
View File

@ -0,0 +1 @@
a4dd89352b730d2ef7a3eff72ab98dbc2b7e8d6b