diff --git a/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/MiniTimeTable.vue b/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/MiniTimeTable.vue index 51b51da1fcb83f23464b432f1861af61b709030d..a097e292ca8b6172903a26400862833068980a71 100644 --- a/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/MiniTimeTable.vue +++ b/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/MiniTimeTable.vue @@ -2,12 +2,13 @@ import { defineComponent } from "vue"; import { slots } from "../../breaks_and_slots/slot.graphql"; import LessonCard from "../LessonCard.vue"; +import MessageBox from "aleksis.core/components/generic/MessageBox.vue"; export default defineComponent({ name: "MiniTimeTable", - components: { LessonCard }, + components: { LessonCard, MessageBox }, props: { - validityRange: { + timeGrid: { type: Object, required: true, }, @@ -24,12 +25,12 @@ export default defineComponent({ variables() { return { filters: JSON.stringify({ - validity_range: this.validityRange.id, + time_grid: this.timeGrid.id, }), }; }, skip() { - return this.validityRange === null; + return this.timeGrid === null; }, update: (data) => data.items, result({ data: { items } }) { @@ -79,6 +80,8 @@ export default defineComponent({ <template> <div class="timetable"> + <!-- Empty div to fill top-left corner --> + <div></div> <v-card v-for="period in periods" :style="{ @@ -102,6 +105,13 @@ export default defineComponent({ :style="styleForLesson(lesson)" :key="lesson.id" /> + + <message-box type="info" v-if="!lessons || lessons.length === 0"> + {{ $t("lesrooster.timetable_management.no_lessons") }} + </message-box> + <message-box type="warning" v-if="!slots || slots.length === 0"> + {{ $t("lesrooster.timetable_management.no_slots") }} + </message-box> </div> </template> diff --git a/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/RoomTimeTable.vue b/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/RoomTimeTable.vue index 373097601ca7906a2530f0783f86c85f79a922b7..a50154bbbf49f681223283176652128fa08f4c8e 100644 --- a/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/RoomTimeTable.vue +++ b/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/RoomTimeTable.vue @@ -22,12 +22,12 @@ export default defineComponent({ query: lessonsRoom, variables() { return { - validityRange: this.validityRange.id, + timeGrid: this.timeGrid.id, room: this.roomId, }; }, skip() { - return this.validityRange === null; + return this.timeGrid === null; }, }, }, diff --git a/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/TeacherTimeTable.vue b/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/TeacherTimeTable.vue index 6811c383f9fee2a09ea43d5d5e2760ddb3e8eaec..5ed3211176f9bb0ad66c654a5fe1c36747ff13b0 100644 --- a/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/TeacherTimeTable.vue +++ b/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/TeacherTimeTable.vue @@ -22,12 +22,12 @@ export default defineComponent({ query: lessonsTeacher, variables() { return { - validityRange: this.validityRange.id, + timeGrid: this.timeGrid.id, teacher: this.teacherId, }; }, skip() { - return this.validityRange === null; + return this.timeGrid === null; }, }, }, diff --git a/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/timetables.graphql b/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/timetables.graphql index 36648d1abd61a91d5901754f6760de55ed11b2d9..9011b59ab64434afb1ef5638e0d4ed2cb4e676cc 100644 --- a/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/timetables.graphql +++ b/aleksis/apps/lesrooster/frontend/components/timetable_management/timetables/timetables.graphql @@ -1,7 +1,7 @@ -query lessonsTeacher($teacher: ID!, $validityRange: ID!) { +query lessonsTeacher($teacher: ID!, $timeGrid: ID!) { lessonsTeacher: lessonObjectsForTeacher( teacher: $teacher - validityRange: $validityRange + timeGrid: $timeGrid ) { id slotStart { @@ -56,10 +56,10 @@ query lessonsTeacher($teacher: ID!, $validityRange: ID!) { } } -query lessonsRoom($room: ID!, $validityRange: ID!) { +query lessonsRoom($room: ID!, $timeGrid: ID!) { lessonsRoom: lessonObjectsForRoom( room: $room - validityRange: $validityRange + timeGrid: $timeGrid ) { id slotStart {