Skip to content
Snippets Groups Projects
Commit 5b825aa3 authored by permcu's avatar permcu
Browse files

Introduce a courseCRUDMixin with fields, gql* and defaultItem

parent 71a3f217
No related branches found
No related tags found
1 merge request!99Introduce a coursefield
...@@ -11,7 +11,7 @@ import SubjectField from "./SubjectField.vue"; ...@@ -11,7 +11,7 @@ import SubjectField from "./SubjectField.vue";
<template> <template>
<inline-c-r-u-d-list <inline-c-r-u-d-list
:headers="headers" :headers="fields"
:i18n-key="i18nKey" :i18n-key="i18nKey"
create-item-i18n-key="cursus.course.create" create-item-i18n-key="cursus.course.create"
:gql-query="gqlQuery" :gql-query="gqlQuery"
...@@ -136,6 +136,7 @@ import SubjectField from "./SubjectField.vue"; ...@@ -136,6 +136,7 @@ import SubjectField from "./SubjectField.vue";
</template> </template>
<script> <script>
import courseCRUDMixin from "../mixins/courseCRUDMixin.js";
import courseBundleFieldsMixin from "../mixins/courseBundleFieldsMixin.js"; import courseBundleFieldsMixin from "../mixins/courseBundleFieldsMixin.js";
import { import {
...@@ -151,44 +152,9 @@ import { gqlGroups, gqlPersons } from "./helper.graphql"; ...@@ -151,44 +152,9 @@ import { gqlGroups, gqlPersons } from "./helper.graphql";
export default { export default {
name: "Course", name: "Course",
mixins: [courseBundleFieldsMixin], mixins: [courseCRUDMixin, courseBundleFieldsMixin],
data() { data() {
return { return {
headers: [
{
text: this.$t("cursus.course.fields.name"),
value: "name",
},
{
text: this.$t("cursus.course.fields.subject"),
value: "subject",
orderKey: "subject__name",
},
{
text: this.$t("cursus.course.fields.groups"),
value: "groups",
},
{
text: this.$t("cursus.course.fields.teachers"),
value: "teachers",
},
{
text: this.$t("cursus.course.fields.lesson_quota"),
value: "lessonQuota",
},
],
i18nKey: "cursus.course",
gqlQuery: courses,
gqlCreateMutation: createCourses,
gqlPatchMutation: updateCourses,
gqlDeleteMutation: deleteCourses,
defaultItem: {
name: "",
subject: null,
teachers: [],
groups: [],
lessonQuota: null,
},
rules: { rules: {
name: [ name: [
(name) => (name) =>
......
import {
courses,
createCourses,
deleteCourses,
updateCourses,
} from "../components/course.graphql";
export default {
data() {
return {
fields: [
{
text: this.$t("cursus.course.fields.name"),
value: "name",
},
{
text: this.$t("cursus.course.fields.subject"),
value: "subject",
orderKey: "subject__name",
},
{
text: this.$t("cursus.course.fields.groups"),
value: "groups",
},
{
text: this.$t("cursus.course.fields.teachers"),
value: "teachers",
},
{
text: this.$t("cursus.course.fields.lesson_quota"),
value: "lessonQuota",
},
],
i18nKey: "cursus.course",
gqlQuery: courses,
gqlCreateMutation: createCourses,
gqlPatchMutation: updateCourses,
gqlDeleteMutation: deleteCourses,
defaultItem: {
name: "",
subject: null,
teachers: [],
groups: [],
lessonQuota: null,
},
};
},
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment