Professional Documents
Culture Documents
cst438 Work Example
cst438 Work Example
cst438 Work Example
setEnrollments(updatedEnrollments);
}
try {
const response = await fetch(`${SERVER_URL}/enrollments`,
{
method: 'PUT',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(enrollments),
});
if (response.ok) {
setMessage("Enrollments saved");
fetchEnrollments();
} else {
const json = await response.json();
setMessage("Response error: " + json.message);
}
} catch (err) {
setMessage("Error: " + err);
}
}
useEffect(() => {
fetchEnrollments();
}, []);
return (
<>
<h3>{courseId} Enrollments</h3>
<h5 className="Error">{message}</h5>
<table className="Center" >
<thead>
<tr>
{headers.map((h, idx) => (<th
key={idx}>{h}</th>))}
</tr>
</thead>
<tbody>
{enrollments.map((e, idx) => (
<tr key={idx}>
<td>{e.enrollmentId}</td>
<td>{e.studentId}</td>
<td>{e.name}</td>
<td>{e.email}</td>
<td><TextField style={{ padding: 10 }}
fullWidth label="grade" name="grade" defaultValue={e.grade}
onChange={editChange} /></td>
</tr>
))}
</tbody>
</table>
<Button id="saveChanges" onClick={saveChanges}>Save
Changes</Button>
</>
);
}