Spinner, Attendance bug fix, Marks

This commit is contained in:
rotimi-best
2021-09-11 19:27:11 +03:00
parent cc1cd9d48b
commit 8c107b0c40
10 changed files with 284 additions and 57 deletions
+21 -16
View File
@@ -1,17 +1,6 @@
<script context="module">
import { fetchCourse } from '../../../utils/services/courses';
export async function preload({ params }, session) {
if (process.browser) {
return {};
}
const {
data,
// error
} = await fetchCourse(params.id, session);
return { courseData: data };
export async function preload({ params }) {
return { courseId: params.id };
}
</script>
@@ -25,6 +14,7 @@
import Chip from '../../../components/Chip/index.svelte';
import PageBody from '../../../components/PageBody/index.svelte';
import CourseContainer from '../../../components/CourseContainer/index.svelte';
import { fetchCourse } from '../../../utils/services/courses';
import { setCourseData, course } from '../../../components/Course/store';
import {
fetchSubmissions,
@@ -36,7 +26,7 @@
const flipDurationMs = 300;
export let courseData = {};
export let courseId;
let sections = [
{
@@ -155,6 +145,8 @@
async function handleSave(submission) {
const { questionAnswerByPoint, questionAnswers } = submission;
let totalPoints = 0;
const updates = Object.keys(questionAnswerByPoint).map((questionId) => {
const questionAnswer = questionAnswers.find(
(answer) => answer.question_id == questionId
@@ -162,19 +154,32 @@
const point = questionAnswerByPoint[questionId];
totalPoints += parseInt(point, 10);
return updateQuestionAnswer({ point }, { id: questionAnswer.id });
});
updateSubmission(
{
id: submissionId,
total: totalPoints,
},
{ returning: 'minimal' }
).then((res) => console.log('Updated submission', res));
await Promise.all(updates);
$snackbarStore.open = true;
$snackbarStore.message = `Saved successfully`;
}
onMount(async () => {
setCourseData(courseData);
if (!$course.id) {
const { data } = await fetchCourse(courseId);
setCourseData(data);
}
const { data: submissions } = await fetchSubmissions(
courseData.id || $course.id
courseId || $course.id
);
const sectionById = {};