From 83a1b03bb7fe1d35971e93d106174a489b3b16a3 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 11 Mar 2024 09:38:27 +0530 Subject: [PATCH] feat: quiz plugin in lesson --- frontend/src/components/Controls/Link.vue | 1 - frontend/src/components/QuizBlock.vue | 26 +++ frontend/src/pages/CreateCourse.vue | 33 ++-- frontend/src/pages/CreateLesson.vue | 192 +++++++++++----------- frontend/src/pages/Lesson.vue | 50 +++--- frontend/src/utils/index.js | 36 ++++ frontend/src/utils/quiz.js | 58 +++++++ frontend/src/utils/youtube.js | 78 --------- lms/lms/doctype/lms_batch/lms_batch.py | 5 +- lms/lms/utils.py | 9 +- 10 files changed, 266 insertions(+), 222 deletions(-) create mode 100644 frontend/src/components/QuizBlock.vue create mode 100644 frontend/src/utils/quiz.js diff --git a/frontend/src/components/Controls/Link.vue b/frontend/src/components/Controls/Link.vue index ecd0dd06..8ce30846 100644 --- a/frontend/src/components/Controls/Link.vue +++ b/frontend/src/components/Controls/Link.vue @@ -77,7 +77,6 @@ const valuePropPassed = computed(() => 'value' in attrs) const value = computed({ get: () => (valuePropPassed.value ? attrs.value : props.modelValue), set: (val) => { - console.log(val?.value, valuePropPassed.value) return ( val?.value && emit(valuePropPassed.value ? 'change' : 'update:modelValue', val?.value) diff --git a/frontend/src/components/QuizBlock.vue b/frontend/src/components/QuizBlock.vue new file mode 100644 index 00000000..f7ba8d86 --- /dev/null +++ b/frontend/src/components/QuizBlock.vue @@ -0,0 +1,26 @@ + + diff --git a/frontend/src/pages/CreateCourse.vue b/frontend/src/pages/CreateCourse.vue index 9bffe283..d05997f7 100644 --- a/frontend/src/pages/CreateCourse.vue +++ b/frontend/src/pages/CreateCourse.vue @@ -265,7 +265,7 @@ onMounted(() => { } }) -const course = computed(() => { +/* const course = computed(() => { return { title: courseResource.doc?.title || '', short_introduction: courseResource.doc?.short_introduction || '', @@ -284,6 +284,21 @@ const course = computed(() => { currency: courseResource.doc?.currency || '', image: courseResource.doc?.image || null, } +}) */ + +const course = reactive({ + title: '', + short_introduction: '', + description: '', + video_link: '', + course_image: null, + tags: '', + published: false, + upcoming: false, + disable_self_learning: false, + paid_course: false, + course_price: '', + currency: '', }) const getTags = computed(() => { @@ -291,21 +306,6 @@ const getTags = computed(() => { ? courseResource.doc.tags.split(', ') : tags.value?.split(', ') }) -/* -const course = reactive({ - title: '', - short_introduction: '', - description: '', - video_link: '', - course_image: null, - tags: "", - published: false, - upcoming: false, - disable_self_learning: false, - paid_course: false, - course_price: '', - currency: '', -}) */ const courseCreationResource = createResource({ url: 'frappe.client.insert', @@ -321,7 +321,6 @@ const courseCreationResource = createResource({ }) const submitCourse = () => { - console.log(courseResource.doc?.modified) if (courseResource.doc) { courseResource.setValue.submit( { diff --git a/frontend/src/pages/CreateLesson.vue b/frontend/src/pages/CreateLesson.vue index df4cde89..a8494df1 100644 --- a/frontend/src/pages/CreateLesson.vue +++ b/frontend/src/pages/CreateLesson.vue @@ -1,36 +1,63 @@