Skip to content
Snippets Groups Projects
Commit 9f2484b9 authored by permcu's avatar permcu
Browse files

Move the loading placeholders inside the sub-cards

parent 47bf1e25
No related branches found
No related tags found
1 merge request!361Resolve "Add statistics page for absences"
<template> <template>
<v-card> <v-skeleton-loader v-if="loading"
type="card"
/>
<v-card v-else>
<v-card-text class="d-flex flex-column" style="gap: .5em"> <v-card-text class="d-flex flex-column" style="gap: .5em">
<absence-reason-chip <absence-reason-chip
v-for="absenceReason in absenceReasons" v-for="absenceReason in absenceReasons"
...@@ -23,6 +26,11 @@ export default { ...@@ -23,6 +26,11 @@ export default {
type: Array, type: Array,
required: true, required: true,
}, },
loading: {
type: Boolean,
required: false,
default: false,
},
}, },
}; };
</script> </script>
<template> <template>
<v-card> <v-skeleton-loader v-if="loading"
type="card"
/>
<v-card v-else>
<v-card-text class="d-flex flex-column" style="gap: .5em"> <v-card-text class="d-flex flex-column" style="gap: .5em">
<counter-chip <counter-chip
v-for="extraMark in extraMarks" v-for="extraMark in extraMarks"
...@@ -27,6 +30,11 @@ export default { ...@@ -27,6 +30,11 @@ export default {
type: Array, type: Array,
required: true, required: true,
}, },
loading: {
type: Boolean,
required: false,
default: false,
},
}, },
}; };
</script> </script>
...@@ -19,34 +19,26 @@ ...@@ -19,34 +19,26 @@
<v-card-text> <v-card-text>
<div class="d-flex mb-4" style="gap: 1em"> <div class="d-flex mb-4" style="gap: 1em">
<v-skeleton-loader v-if="$apollo.loading" <statistics-absences-card
type="card"
/>
<statistics-absences-card v-else
class="flex-grow-1" class="flex-grow-1"
:absence-reasons="statistics.absenceReasons" :absence-reasons="statistics.absenceReasons"
:loading="$apollo.loading"
/> />
<v-skeleton-loader v-if="$apollo.loading" <statistics-tardiness-card
type="card"
/>
<statistics-tardiness-card v-else
class="flex-grow-1" class="flex-grow-1"
:tardiness-sum="statistics.tardinessSum" :tardiness-sum="statistics.tardinessSum"
:tardiness-count="statistics.tardinessCount" :tardiness-count="statistics.tardinessCount"
:loading="$apollo.loading"
/> />
<v-skeleton-loader v-if="$apollo.loading" <statistics-extra-marks-card
type="card"
/>
<statistics-extra-marks-card v-else
class="flex-grow-1" class="flex-grow-1"
:extra-marks="statistics.extraMarks" :extra-marks="statistics.extraMarks"
:loading="$apollo.loading"
/> />
</div> </div>
<v-skeleton-loader v-if="compact && $apollo.loading" <statistics-personal-notes-list v-if="compact"
type="card"
/>
<statistics-personal-notes-list v-else-if="compact"
class="flex-grow-1" class="flex-grow-1"
:loading="$apollo.loading"
/> />
</v-card-text> </v-card-text>
</v-card> </v-card>
...@@ -79,6 +71,16 @@ export default { ...@@ -79,6 +71,16 @@ export default {
default: true, default: true,
}, },
}, },
data() {
return {
statistics: {
absenceReasons: [],
tardinessSum: 0,
tardinessCount: 0,
extraMarks: [],
},
};
},
apollo: { apollo: {
statistics: { statistics: {
query: statisticsByPerson, query: statisticsByPerson,
......
<template> <template>
<v-card> <v-skeleton-loader v-if="loading"
type="card"
/>
<v-card v-else>
<v-virtual-scroll <v-virtual-scroll
:items="personalNotes" :items="personalNotes"
height="100" height="100"
...@@ -33,6 +36,13 @@ ...@@ -33,6 +36,13 @@
<script> <script>
export default { export default {
name: "StatisticsPersonalNotesList", name: "StatisticsPersonalNotesList",
props: {
loading: {
type: Boolean,
required: false,
default: false,
},
},
data() { data() {
return { return {
personalNotes: [1, 2, 3, 4], personalNotes: [1, 2, 3, 4],
......
<template> <template>
<v-card class="text-center"> <v-skeleton-loader v-if="loading"
type="card"
/>
<v-card v-else class="text-center">
<v-card-text> <v-card-text>
<div class="text-h2"> <div class="text-h2">
{{ tardinessCount }} {{ tardinessCount }}
...@@ -27,6 +30,11 @@ export default { ...@@ -27,6 +30,11 @@ export default {
type: Number, type: Number,
required: true, required: true,
}, },
loading: {
type: Boolean,
required: false,
default: false,
},
}, },
}; };
</script> </script>
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