Skip to content
Snippets Groups Projects
Commit da1e774f authored by Julian's avatar Julian
Browse files

Emit events in CoursebookDateSelect.vue

parent 1af2a4c7
No related branches found
No related tags found
2 merge requests!352Draft: Resolve "Add dialog with each lesson's students",!350Resolve "Add simple course book list"
<script> <script>
import DateField from "aleksis.core/components/generic/forms/DateField.vue"; import DateField from "aleksis.core/components/generic/forms/DateField.vue";
import { DateTime } from "luxon";
export default { export default {
name: "CoursebookDateSelect", name: "CoursebookDateSelect",
...@@ -24,7 +25,28 @@ export default { ...@@ -24,7 +25,28 @@ export default {
required: false, required: false,
default: false, default: false,
}, },
} },
data() {
return {
PREV: "prev",
NEXT: "next",
}
},
methods: {
/**
* @param {"prev"|"next"} direction
*/
handleClick(direction) {
this.$emit("click", direction);
this.$emit(direction);
if (direction === this.PREV) {
this.$emit("input", DateTime.fromISO(this.value).minus({ days: 1 }).toISODate());
} else {
this.$emit("input", DateTime.fromISO(this.value).plus({ days: 1 }).toISODate());
}
}
},
emits: ["input", "click", "prev", "next"],
} }
</script> </script>
...@@ -39,7 +61,7 @@ export default { ...@@ -39,7 +61,7 @@ export default {
<v-card> <v-card>
<v-card-title id="content"> <v-card-title id="content">
<div class="d-flex align-center justify-space-between full-width"> <div class="d-flex align-center justify-space-between full-width">
<v-btn icon large class="me-4"> <v-btn icon large class="me-4" @click="handleClick(PREV)">
<v-icon>$prev</v-icon> <v-icon>$prev</v-icon>
</v-btn> </v-btn>
<date-field <date-field
...@@ -47,10 +69,12 @@ export default { ...@@ -47,10 +69,12 @@ export default {
flat flat
hide-details hide-details
:value="value" :value="value"
@input="$emit('input', $event)"
:label="$t('alsijil.coursebook.date_select.label')" :label="$t('alsijil.coursebook.date_select.label')"
:disabled="loading" :disabled="loading"
readonly
/> />
<v-btn icon large class="ms-4"> <v-btn icon large class="ms-4" @click="handleClick(NEXT)">
<v-icon>$next</v-icon> <v-icon>$next</v-icon>
</v-btn> </v-btn>
</div> </div>
......
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