Compare commits
No commits in common. "mpabi" and "dev" have entirely different histories.
|
@ -32,11 +32,4 @@ button {
|
|||
}
|
||||
.active {
|
||||
display: block;
|
||||
}
|
||||
|
||||
select {
|
||||
margin-bottom: 10px;
|
||||
padding: 5px;
|
||||
background-color: #f2f2f2;
|
||||
|
||||
}
|
19
index.html
19
index.html
|
@ -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>
|
||||
|
|
45
js/app.js
45
js/app.js
|
@ -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();
|
102
js/script.js
102
js/script.js
|
@ -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>
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
a4dd89352b730d2ef7a3eff72ab98dbc2b7e8d6b
|
Loading…
Reference in New Issue