[QuillEditor] Fixed required validations

This commit is contained in:
Matej Glasnák committed 2023-07-24 14:09:52 +02:00
1 parent b7051216fe
commit 886a44229f
1 file changed
+21 -3
@@ -42,7 +42,7 @@
<v-btn class="w-100 mb-5 button secondary" :class="{error: v$.mastertask.project_id.$errors.length}" @click="showAddEmployeeInput = true"> <v-icon class="mx-1" icon="mdi-plus" />Pridať zamestnanca </v-btn>
<div class="w-100 modal-input" :class="{ error: v$.mastertask.description.$errors.length }">
<QuillEditor ref="description" v-model="mastertask.description" placeholder="Popis" theme="snow" class="rich-text-editor" @input="mastertask.description = $event.srcElement.innerHTML" />
<QuillEditor ref="description" v-model="mastertask.description" placeholder="Popis" theme="snow" class="rich-text-editor" @keyup="onQuillEditorInput" />
</div>
<Z-files-upload class="mt-15 files" :files="mastertask.files" @files-uploaded="filesUploaded" :is-saving="isSaving" />
@@ -163,12 +163,19 @@ export default {
},
validations() {
const quillEditorRequired = (value) => {
if (!value || !value.length || !value.replace(/<[^>]*>/g, '').length)
return false
return true
}
return {
mastertask: {
employees: { required, minLength: minLength(1), $each: {duration: { required}} },
project_id: { required },
name: { required },
description: { required },
description: { quillEditorRequired },
deadline: { required },
_deadline_time: { required }
}
@@ -303,6 +310,10 @@ export default {
this.$events.emit('show-subtask-modal', { subtask: null, editMode: false, mastertask: this.mastertask })
},
onQuillEditorInput() {
this.mastertask.description = this.$refs['description'].getHTML()
},
_mergeDeadlineTimeDate() {
const date = new Date(this.mastertask.deadline)
const timeParts = this.mastertask._deadline_time.split(':')
@@ -341,7 +352,14 @@ export default {
this.mastertask._deadline_time = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`
})
}
},
// mastertask: {
// handler(value) {
// console.log(value.description)
// },
// deep: true
// }
}
}
</script>