html Flashcards
Hvad bruges th:object til i Thymeleaf?
binder en formular til et objekt i modellen. Det gør det muligt at bruge th:field til at binde individuelle formularfelter til objektets felter.
th:object=”${project}” betyder, at formularens data bliver bundet til objektet project.
Hvad er funktionen af th:field i Thymeleaf?
th:field binder et HTML-formularfelt til en bestemt egenskab i objektet defineret af th:object. Det gør det muligt at hente og opdatere data fra modellen.
Hvad bruges th:each til i Thymeleaf?
th:each itererer over en samling (fx en liste) i modellen og skaber gentagne HTML-elementer for hvert element i samlingen.
Hvad er formålet med th:text i Thymeleaf?
th:text erstatter teksten inde i et HTML-element med en værdi fra modellen eller en dynamisk udregning.
Hvad gør th:if i Thymeleaf?
th:if bruges til at vise eller skjule et HTML-element baseret på en betingelse.
Hvad bruges colspan til i HTML-tabeller?
colspan bestemmer, hvor mange kolonner en celle skal strække sig over i en HTML-tabel.
Hvad bruges th:action til i Thymeleaf?
th:action genererer en dynamisk URL for en formularhandling.
Hvad er funktionen af th:value i Thymeleaf?
th:value sætter værdien af et inputfelt eller skjult felt baseret på data fra modellen.
Hvad bruges th:href til i Thymeleaf?
th:href genererer en dynamisk URL til et link (<a>-tag).</a>
Q: Hvilke elementer bruges typisk i HTML-formularer?
<input></input>: Bruges til tekst, tal, datoer osv.
<select>: Bruges til dropdown-menuer.
<button>: Bruges til knapper.</button></select>
Hvad bruges th:class til i Thymeleaf?
th:class ændrer dynamisk klassen af et HTML-element baseret på en betingelse.
Hvad gør @{} i Thymeleaf?
@{} bruges til at generere relative og dynamiske URL’er i Thymeleaf.
Hvad er #lists i Thymeleaf?
lists er en Thymeleaf utility til listeoperationer, som at kontrollere, om en liste er tom.
Hvad beregnes i “Worker Overview - Tasks”?
Workload-sektionen:
Required hours sammenlignes med Daily hour limit for hver arbejdsdag:
- Hvis Required hours overstiger Daily hour limit, vises en advarsel: “Work time exceeded”.
Formateringen af Required hours er begrænset til 2 decimaler for præcision.
Task-sektionen:
Beregninger og visning af følgende felter:
- Estimated Hours: De planlagte timer for en opgave.
- Actual Hours: De faktiske timer, der er brugt, hentet via metoden task.getActualHours().
Hvad er formålet med DateRange tabellen?
- DateRange genererer en liste af datoer mellem ‘2023-01-01’ og ‘2025-01-01’ ved hjælp af en rekursiv CTE.
- Filtrerer weekender fra ved at udelukke søndag (DAYOFWEEK = 1) og lørdag (DAYOFWEEK = 7).
Hvad beregnes i employee_workload_pr_day viewet?
- Beregner total_hours_per_day: Summen af arbejdstimer pr. dag for hver medarbejder.
- Finder max_hours_per_employee: Maksimale tilladte arbejdstimer pr. medarbejder.
- Grupperer resultaterne efter date_column og employee_id.
Hvordan beregnes hours_per_day i SQL-viewet?
Fordeler opgavens estimated_hours jævnt over arbejdsdage (fra start_date til end_date) ved at dele estimated_hours med antallet af arbejdsdage i DateRange.
Hvordan bruges DateRange i beregninger?
Matcher opgavers start_date og end_date med datoer i DateRange for at fordele timer på de relevante dage.
Udelukker weekender for arbejdsplaner
tilføjer én dag for hver iteration
Hvordan hentes arbejdsbyrden for en medarbejder?
Repository-metoden getWorkloadByEmployeeId bruger employee_workload_pr_day viewet til at hente:
1. date_column: Datoen for arbejdsdagen.
2. total_hours_per_day: Arbejdstimer fordelt på dagen.
3. max_hours_per_employee: Maksimale arbejdstimer for medarbejderen
Hvordan vises arbejdsbyrden i HTML-tabellen?
Dataene fra employee_workload_pr_day vises i Workload-sektionen i HTML.
Tabellen viser:
1. Work days: Kolonnen date_column.
2. Required hours: Kolonnen total_hours_per_day, formatteret til 2 decimaler.
3. Daily hour limit: Kolonnen max_hours_per_employee.
Hvornår vises advarslen “Work time exceeded”?
Hvis total_hours_per_day (row[1]) overstiger max_hours_per_employee (row[2]), vises advarslen.
Hvordan fungerer forbindelsen mellem SQL-viewet og Thymeleaf?
- Repository-metoden henter data fra SQL-viewet employee_workload_pr_day.
- Controlleren sender disse data til Thymeleaf som en liste (Workload eller tasklist).
- Thymeleaf viser dataene dynamisk ved hjælp af th:each og andre attributter.