diff --git a/anwendung/src/components/DozentSelector.jsx b/anwendung/src/components/DozentSelector.jsx deleted file mode 100644 index 7e7e9f8..0000000 --- a/anwendung/src/components/DozentSelector.jsx +++ /dev/null @@ -1,27 +0,0 @@ -export default function DozentSelector(){ - return( - <> -
- - - - - - - - - - - - - - - - - - -
DozentModul
BehrendsAnwendungsprojekt
BimaWeb-E
-
- - ) -} \ No newline at end of file diff --git a/anwendung/src/components/InputForm.jsx b/anwendung/src/components/InputForm.jsx index 5d6f915..0ad5a58 100644 --- a/anwendung/src/components/InputForm.jsx +++ b/anwendung/src/components/InputForm.jsx @@ -1,10 +1,29 @@ -import DozentSelector from "@/components/DozentSelector"; import Button from "@/components/Button"; import {useRouter} from "next/router"; -import {useState} from "react"; +import {useEffect, useState} from "react"; + +let userInfo = [] export default function InputForm(p) { + class UserInfo { + constructor(userid, modules) { + this.userid = userid; + this.module = modules; + this.checked = false; + } + + setChecked(checked) + { + this.checked = checked; + } + + setModule(module) + { + this.module = module; + } + } + let startDateParam = ""; let endDateParam = ""; let courseNameParam = ""; @@ -18,6 +37,21 @@ export default function InputForm(p) { const [startDate, setStartDate] = useState(startDateParam); const [endDate, setEndDate] = useState(endDateParam); const [courseName, setCourseName] = useState(courseNameParam); + const [users, setUsers] = useState([]); + + async function getAllUsers() { + let sessionid = localStorage.getItem("sessionid"); + let url = "http://localhost:8080/users/all?sessionid=" + sessionid; + + + await fetch(url).then(response => response.json()).then(user => setUsers(user)); + } + + useEffect(() => { + + userInfo = []; + getAllUsers(); + }, []) async function onCreateClicked() { let startSplit = startDate.split("-"); @@ -57,10 +91,48 @@ export default function InputForm(p) { router.back(); } + function onModuleClicked(user, module) { + + let found = false; + + for (let i = 0; i < userInfo.length; i++) { + let current = userInfo[i]; + if (current !== undefined && current.userid === user.id) { + userInfo[i].setModule(module); + found = true; + } + } + + if(!found) { + userInfo.push(new UserInfo(user.id, module)); + } + } + + function onCheckBoxClicked(user, e) + { + onModuleClicked(user, ""); + + let found = false; + + for (let i = 0; i < userInfo.length; i++) { + let current = userInfo[i]; + if (current !== undefined && current.userid === user.id) { + userInfo[i].setChecked(e.target.checked); + found = true; + } + } + + if(!found) { + let temp = new UserInfo(user.id, ""); + temp.setChecked(e.target.checked); + userInfo.push(temp); + } + } + return ( <>
-

Kursname

+

SemesterName

setCourseName(e.target.value)}/>
@@ -75,7 +147,37 @@ export default function InputForm(p) { onChange={(e) => setEndDate(e.target.value)}/>
- +
+ + + + + + + + {users.map(user => ( + + + + + + ))} + +
DozentModul
{ + onCheckBoxClicked(user, e); + }}/>{user.firstName + " " + user.lastName}
+