fix: misc issues

This commit is contained in:
Jannat Patel
2024-09-18 08:43:16 +05:30
parent d1200d0fa9
commit d18ca232e3
16 changed files with 327 additions and 83 deletions

View File

@@ -0,0 +1,86 @@
<template>
<Dialog
v-model="show"
:options="{
title: __('Add an assessment'),
size: 'sm',
actions: [
{
label: __('Submit'),
variant: 'solid',
onClick: (close) => addAssessment(close),
},
],
}"
>
<template #body-content>
<div class="space-y-4">
<FormControl
type="select"
:options="assessmentTypes"
v-model="assessmentType"
:label="__('Type')"
/>
<Link
v-model="assessment"
:doctype="assessmentType"
:label="__('Assessment')"
/>
</div>
</template>
</Dialog>
</template>
<script setup>
import { Dialog, FormControl, createResource } from 'frappe-ui'
import Link from '@/components/Controls/Link.vue'
import { computed, ref } from 'vue'
import { showToast } from '@/utils'
const show = defineModel()
const assessmentType = ref(null)
const assessment = ref(null)
const assessments = defineModel('assessments')
const props = defineProps({
batch: {
type: String,
default: null,
},
})
const assessmentResource = createResource({
url: 'frappe.client.insert',
makeParams(values) {
return {
doc: {
doctype: 'LMS Assessment',
parent: props.batch,
parenttype: 'LMS Batch',
parentfield: 'assessment',
assessment_type: assessmentType.value,
assessment_name: assessment.value,
},
}
},
})
const addAssessment = (close) => {
assessmentResource.submit(
{},
{
onSuccess(data) {
assessments.value.reload()
showToast(__('Success'), __('Assessment added successfully'), 'check')
close()
},
}
)
}
const assessmentTypes = computed(() => {
return [
{ label: 'Quiz', value: 'LMS Quiz' },
{ label: 'Assignment', value: 'LMS Assignment' },
]
})
</script>

View File

@@ -15,18 +15,24 @@
}"
>
<template #body-content>
<FormControl label="Title" v-model="chapter.title" class="mb-4" />
<FormControl
ref="chapterInput"
label="Title"
v-model="chapter.title"
class="mb-4"
/>
</template>
</Dialog>
</template>
<script setup>
import { Dialog, FormControl, createResource } from 'frappe-ui'
import { defineModel, reactive, watch } from 'vue'
import { defineModel, reactive, watch, ref } from 'vue'
import { createToast } from '@/utils/'
import { capture } from '@/telemetry'
const show = defineModel()
const outline = defineModel('outline')
const chapterInput = ref(null)
const props = defineProps({
course: {
@@ -37,6 +43,7 @@ const props = defineProps({
type: Object,
},
})
const chapter = reactive({
title: '',
})
@@ -97,6 +104,7 @@ const addChapter = (close) => {
{ name: data.name },
{
onSuccess(data) {
chapter.title = ''
outline.value.reload()
createToast({
text: 'Chapter added successfully',
@@ -160,4 +168,12 @@ watch(
chapter.title = newChapter?.title
}
)
watch(show, () => {
if (show.value) {
setTimeout(() => {
chapterInput.value.$el.querySelector('input').focus()
}, 100)
}
})
</script>

View File

@@ -212,7 +212,8 @@ const questionCreation = createResource({
})
const submitQuestion = (close) => {
if (questionData.data?.name) updateQuestion(close)
console.log(questionData.data?.name)
if (props.questionDetail?.question) updateQuestion(close)
else addQuestion(close)
}
@@ -239,7 +240,7 @@ const addQuestion = (close) => {
)
},
onError(err) {
showToast(__('Error'), __(err.message?.[0] || err), 'x')
showToast(__('Error'), __(err.messages?.[0] || err), 'x')
},
}
)
@@ -259,7 +260,7 @@ const addQuestionRow = (question, close) => {
close()
},
onError(err) {
showToast(__('Error'), __(err.message?.[0] || err), 'x')
showToast(__('Error'), __(err.messages?.[0] || err), 'x')
close()
},
}
@@ -312,13 +313,12 @@ const updateQuestion = (close) => {
quiz.value.reload()
close()
},
onError(err) {
showToast(__('Error'), __(err.message?.[0] || err), 'x')
close()
},
}
)
},
onError(err) {
showToast(__('Error'), __(err.messages?.[0] || err), 'x')
},
}
)
}