Skip to content
Snippets Groups Projects
Commit 69b592d3 authored by Hangzhi Yu's avatar Hangzhi Yu
Browse files

Re-set start datetime when end datetime gets set to an earlier value (and vice...

Re-set start datetime when end datetime gets set to an earlier value (and vice versa) in absence creation dialog
parent 28ec5cbc
No related branches found
No related tags found
1 merge request!446Resolve "Absence creation dialog doesn't handle min/max date times correctly"
Pipeline #194550 failed
......@@ -30,9 +30,10 @@
:label="$t('forms.labels.start')"
:max-date="endDate"
:max-time="maxStartTime"
:limit-selectable-range="false"
:rules="$rules().required.build()"
:value="startDate"
@input="$emit('start-date', $event)"
@input="handleStartDate"
/>
</div>
</v-col>
......@@ -42,9 +43,10 @@
:label="$t('forms.labels.end')"
:min-date="startDate"
:min-time="minEndTime"
:limit-selectable-range="false"
:rules="$rules().required.build()"
:value="endDate"
@input="$emit('end-date', $event)"
@input="handleEndDate"
/>
</div>
</v-col>
......@@ -141,5 +143,23 @@ export default {
return start.plus({ minutes: 5 }).toFormat("HH:mm");
},
},
methods: {
handleStartDate(startDate) {
const parsedStart = DateTime.fromISO(startDate);
const parsedEnd = DateTime.fromISO(this.endDate);
if (parsedStart >= parsedEnd) {
this.$emit('end-date', parsedStart.plus({ minutes: 5 }).toISO({ suppressSeconds: true }));
}
this.$emit('start-date', startDate);
},
handleEndDate(endDate) {
const parsedStart = DateTime.fromISO(this.startDate);
const parsedEnd = DateTime.fromISO(endDate);
if (parsedEnd <= parsedStart) {
this.$emit('start-date', parsedEnd.minus({ minutes: 5 }).toISO({ suppressSeconds: true }));
}
this.$emit('end-date', endDate);
},
},
};
</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