|
1 | 1 | <script lang="ts"> |
2 | 2 | import {navigate} from "svelte-navigator"; |
3 | | -
|
4 | 3 | import Button from "@smui/button"; |
5 | | -
|
6 | 4 | import DataTable, { Head, Body, Row, Cell } from '@smui/data-table'; |
7 | 5 | import {baseurl, saveBlob} from "./constants"; |
8 | | -
|
9 | 6 | import FormField from '@smui/form-field'; |
10 | 7 | import Switch from '@smui/switch'; |
11 | | -
|
12 | 8 | import IconButton, { Icon } from '@smui/icon-button'; |
13 | | -
|
14 | 9 | import Accordion, { Panel, Header, Content } from '@smui-extra/accordion'; |
15 | | -
|
16 | | -
|
17 | 10 | import * as marked from 'marked'; |
18 | | -
|
19 | 11 | import List, { |
20 | 12 | Item, |
21 | 13 | Meta, |
22 | 14 | } from '@smui/list'; |
23 | 15 | import insane from "insane"; |
24 | 16 | import Cookies from "js-cookie"; |
25 | 17 | import Tooltip, {Wrapper} from "@smui/tooltip"; |
| 18 | + import {onMount} from "svelte"; |
26 | 19 |
|
27 | 20 |
|
28 | 21 | let grades; |
|
52 | 45 | let isPassing = true; |
53 | 46 | let printTemplate = false; |
54 | 47 |
|
55 | | - function getUserData() { |
56 | | - fetch(`${baseurl}/user/get/data/${studentId}`, {headers: {"Authorization": "Bearer " + Cookies.get("key")}}) |
57 | | - .then((r) => r.json()) |
58 | | - .then((r) => { |
59 | | - userData = r["data"]; |
60 | | - isPassing = userData.IsPassing; |
61 | | - }); |
| 48 | + async function getUserData() { |
| 49 | + let response = await fetch(`${baseurl}/user/get/data/${studentId}`, {headers: {"Authorization": "Bearer " + Cookies.get("key")}}) |
| 50 | + let r = await response.json() |
| 51 | + userData = r["data"]; |
| 52 | + isPassing = userData.IsPassing; |
62 | 53 | } |
63 | 54 |
|
64 | | - function getImprovements() { |
65 | | - fetch(`${baseurl}/user/get/improvements?studentId=${studentId}`, {headers: {"Authorization": "Bearer " + Cookies.get("key")}}) |
66 | | - .then((r) => r.json()) |
67 | | - .then((r) => { |
68 | | - improvements = r.data; |
69 | | - }); |
| 55 | + async function getImprovements() { |
| 56 | + let response = await fetch(`${baseurl}/user/get/improvements?studentId=${studentId}`, {headers: {"Authorization": "Bearer " + Cookies.get("key")}}) |
| 57 | + let r = await response.json() |
| 58 | + improvements = r.data; |
70 | 59 | } |
71 | 60 |
|
72 | | - function getAbsences() { |
73 | | - fetch(`${baseurl}/user/get/absences/${studentId}`, {headers: {"Authorization": "Bearer " + Cookies.get("key")}}) |
74 | | - .then((r) => r.json()) |
75 | | - .then((r) => { |
76 | | - absences = r["data"]; |
77 | | - let al = []; |
78 | | - for (let absence in absences) { |
79 | | - al = [...al, !(absences[absence].IsExcused)] |
80 | | - } |
81 | | - console.log(al); |
82 | | - absenceList = al; |
83 | | - }); |
| 61 | + async function getAbsences() { |
| 62 | + let response = await fetch(`${baseurl}/user/get/absences/${studentId}`, {headers: {"Authorization": "Bearer " + Cookies.get("key")}}) |
| 63 | + let r = await response.json() |
| 64 | + absences = r["data"]; |
| 65 | + let al = []; |
| 66 | + for (let absence in absences) { |
| 67 | + al = [...al, !(absences[absence].IsExcused)] |
| 68 | + } |
| 69 | + console.log(al); |
| 70 | + absenceList = al; |
84 | 71 | } |
85 | 72 |
|
86 | | - function getUserGradings() { |
87 | | - fetch(`${baseurl}/my/gradings?studentId=${studentId}`, {headers: {"Authorization": "Bearer " + Cookies.get("key")}}) |
88 | | - .then((r) => r.json()) |
89 | | - .then((r) => { |
90 | | - gradings = r["data"]; |
91 | | - }); |
| 73 | + async function getUserGradings() { |
| 74 | + let response = await fetch(`${baseurl}/my/gradings?studentId=${studentId}`, {headers: {"Authorization": "Bearer " + Cookies.get("key")}}) |
| 75 | + let r = await response.json() |
| 76 | + gradings = r["data"]; |
92 | 77 | } |
93 | 78 |
|
94 | | - function getHomework() { |
95 | | - fetch(`${baseurl}/user/get/homework/${studentId}`, {headers: {"Authorization": "Bearer " + Cookies.get("key")}}) |
96 | | - .then((r) => r.json()) |
97 | | - .then((r) => { |
98 | | - homework = r["data"]; |
99 | | - }); |
| 79 | + async function getHomework() { |
| 80 | + let response = await fetch(`${baseurl}/user/get/homework/${studentId}`, {headers: {"Authorization": "Bearer " + Cookies.get("key")}}) |
| 81 | + let r = await response.json() |
| 82 | + homework = r["data"]; |
100 | 83 | } |
101 | 84 |
|
102 | | - function getGrades() { |
103 | | - fetch(`${baseurl}/my/grades?studentId=${studentId}`, {headers: {"Authorization": "Bearer " + Cookies.get("key")}}) |
104 | | - .then((r) => r.json()) |
105 | | - .then((r) => { |
106 | | - if (r.data !== "Forbidden") { |
107 | | - grades = r.data; |
108 | | - } |
109 | | - }); |
| 85 | + async function getGrades() { |
| 86 | + let response = await fetch(`${baseurl}/my/grades?studentId=${studentId}`, {headers: {"Authorization": "Bearer " + Cookies.get("key")}}) |
| 87 | + let r = await response.json(); |
| 88 | + if (r.data !== "Forbidden") { |
| 89 | + grades = r.data; |
| 90 | + } |
110 | 91 | } |
111 | 92 |
|
112 | | - function getParentConfig() { |
| 93 | + async function getParentConfig() { |
113 | 94 | if (localStorage.getItem("role") === "parent") { |
114 | | - fetch(`${baseurl}/parents/get/config`, {headers: {"Authorization": "Bearer " + Cookies.get("key")}}) |
115 | | - .then((r) => r.json()) |
116 | | - .then((r) => { |
117 | | - let data = r["data"]; |
118 | | - viewAbsences = data["parent_view_absences"]; |
119 | | - viewHomework = data["parent_view_homework"]; |
120 | | - viewGrades = data["parent_view_grades"]; |
121 | | - viewGradings = data["parent_view_gradings"]; |
122 | | - if (viewGrades) { |
123 | | - getGrades(); |
124 | | - } |
125 | | - if (viewHomework) { |
126 | | - getHomework(); |
127 | | - } |
128 | | - if (viewAbsences) { |
129 | | - getAbsences(); |
130 | | - } |
131 | | - if (viewGradings) { |
132 | | - getUserGradings(); |
133 | | - } |
134 | | - }); |
| 95 | + let response = await fetch(`${baseurl}/parents/get/config`, {headers: {"Authorization": "Bearer " + Cookies.get("key")}}) |
| 96 | + let r = await response.json() |
| 97 | + let data = r["data"]; |
| 98 | + viewAbsences = data["parent_view_absences"]; |
| 99 | + viewHomework = data["parent_view_homework"]; |
| 100 | + viewGrades = data["parent_view_grades"]; |
| 101 | + viewGradings = data["parent_view_gradings"]; |
| 102 | + if (viewGrades) { |
| 103 | + await getGrades(); |
| 104 | + } |
| 105 | + if (viewHomework) { |
| 106 | + await getHomework(); |
| 107 | + } |
| 108 | + if (viewAbsences) { |
| 109 | + await getAbsences(); |
| 110 | + } |
| 111 | + if (viewGradings) { |
| 112 | + await getUserGradings(); |
| 113 | + } |
135 | 114 | } else { |
136 | | - getGrades(); |
137 | | - getUserData(); |
138 | | - getAbsences(); |
139 | | - getHomework(); |
140 | | - getUserGradings(); |
| 115 | + await getGrades(); |
| 116 | + await getUserData(); |
| 117 | + await getAbsences(); |
| 118 | + await getHomework(); |
| 119 | + await getUserGradings(); |
141 | 120 | } |
142 | | - getImprovements(); |
| 121 | + await getImprovements(); |
143 | 122 | } |
144 | 123 |
|
145 | 124 | const gradeColors = [ |
|
164 | 143 | "NOT MANAGED": "NI VPISANO" |
165 | 144 | } |
166 | 145 |
|
167 | | - getParentConfig(); |
| 146 | + $: { |
| 147 | + console.log(studentId) |
| 148 | + getParentConfig(); |
| 149 | + } |
168 | 150 | </script> |
169 | 151 |
|
170 | 152 | {#if userData} |
|
0 commit comments