From ed5b69c0abeefbff14a65ff08a52df919d88ebd0 Mon Sep 17 00:00:00 2001 From: aignatov-bio <47317017+aignatov-bio@users.noreply.github.com> Date: Mon, 21 Feb 2022 11:10:50 +0100 Subject: [PATCH] Add validation for date picker [SCI-6541] (#3875) Co-authored-by: Anton --- app/javascript/vue/shared/date_picker.vue | 2 +- app/javascript/vue/shared/date_time_picker.vue | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/app/javascript/vue/shared/date_picker.vue b/app/javascript/vue/shared/date_picker.vue index 81901cc03..e4eca3ca9 100644 --- a/app/javascript/vue/shared/date_picker.vue +++ b/app/javascript/vue/shared/date_picker.vue @@ -28,7 +28,7 @@ }, methods: { update(value) { - this.$emit('change', value.toDate()); + this.$emit('change', (value instanceof Date) ? value.toDate() : ''); } } } diff --git a/app/javascript/vue/shared/date_time_picker.vue b/app/javascript/vue/shared/date_time_picker.vue index 304b5ab7b..d4449a974 100644 --- a/app/javascript/vue/shared/date_time_picker.vue +++ b/app/javascript/vue/shared/date_time_picker.vue @@ -53,15 +53,18 @@ }, recalcTimestamp() { let date = this.timeOnly ? new Date() : this.date; - if (!this.isValidTime()) { - date.setHours(0); - date.setMinutes(0); + if (this.isValidDate(date)) { + if (!this.isValidTime()) { + date.setHours(0); + date.setMinutes(0); + } else { + date.setHours(this.time.split(':')[0]); + date.setMinutes(this.time.split(':')[1]); + } + this.datetime = date } else { - date.setHours(this.time.split(':')[0]); - date.setMinutes(this.time.split(':')[1]); + this.datetime = null; } - - this.datetime = date } } }