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

Implement AbsenceCreationForm's core

parent ca48e071
No related branches found
No related tags found
1 merge request!356Add dialog for creation of long-term absences
<template> <template>
<v-container> <v-container>
<v-row> <v-row>
<!-- persons --> <v-autocomplete
<!-- v-autocomplete --> :label="$t('forms.labels.persons')"
:items="allPersons"
item-text="fullName"
item-value="id"
multiple
@input="persons = $event"
/>
</v-row> </v-row>
<!-- TODO: No outer padding. -->
<v-row> <v-row>
<!-- Start -->
<v-col <v-col
cols="12" cols="12"
:sm="6" :sm="6"
> >
<date-field <date-field
:value="value" :label="$t('forms.labels.start')"
@input="$emit('input', $event)"
:label="$t('date_select.label')"
:disabled="loading" :disabled="loading"
:max="endDate"
@input="startDate = $event"
/> />
</v-col> </v-col>
<!-- End -->
<v-col <v-col
cols="12" cols="12"
:sm="6" :sm="6"
> >
<date-field <date-field
:value="value" :label="$t('forms.labels.end')"
@input="$emit('input', $event)"
:label="$t('date_select.label')"
:disabled="loading" :disabled="loading"
:min="startDate"
@input="endDate = $event"
/> />
</v-col> </v-col>
</v-row> </v-row>
<v-row> <v-row>
<!-- comment --> <v-text-field
:label="$t('forms.labels.comment')"
:loading="loading"
@input="comment = $event"
/>
</v-row> </v-row>
<v-row> <v-row>
<!-- TODO: Component from Julian --> <absence-reason-group-select
@input="absenceReason = $event"
/>
</v-row> </v-row>
</v-container> </v-container>
</template> </template>
<script> <script>
import AbsenceReasonGroupSelect from "aleksis.apps.kolego/components/AbsenceReasonGroupSelect.vue";
import DateField from "aleksis.core/components/generic/forms/DateField.vue"; import DateField from "aleksis.core/components/generic/forms/DateField.vue";
import { persons } from "./absenceCreation.graphql"
export default { export default {
name: "AbsenceCreationForm", name: "AbsenceCreationForm",
components: { components: {
AbsenceReasonGroupSelect,
DateField, DateField,
}, },
apollo: {
// TODO: Query currently returns all persons. But should return
// only persons the current user can create ParticipationStati and
// KolegoAbsences for!
allPersons: persons,
},
data() {
return {
// TODO: All needed? Check if sensible defaults.
loading: false,
persons: [],
startDate: "",
endDate: "",
comment: "",
absenceReason: null,
};
},
}; };
</script> </script>
# Uses core persons query # Uses core persons query
query persons { query persons {
persons: persons { allPersons: persons {
id id
firstName fullName
lastName
} }
} }
......
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