From 21c6744a79251413e7784fcdf4ad351a5a1dc8e4 Mon Sep 17 00:00:00 2001 From: Marco Schmidlin Date: Thu, 19 Mar 2026 11:36:46 +0100 Subject: [PATCH 1/2] feat: improve timeline datepickers - support start of week - add next/previous day buttons --- src/components/InputTimeInterval.vue | 38 +++++++++++++++++++++++++--- src/components/QueryOptions.vue | 15 +++++++++-- 2 files changed, 47 insertions(+), 6 deletions(-) diff --git a/src/components/InputTimeInterval.vue b/src/components/InputTimeInterval.vue index 77daf8bf..9a963fe7 100644 --- a/src/components/InputTimeInterval.vue +++ b/src/components/InputTimeInterval.vue @@ -45,11 +45,15 @@ div option(:value="24*60*60") 24h tr(v-if="mode == 'range'") th.pr-2 Range: - td - input(type="date", v-model="start", :max="end || undefined") - input(type="date", v-model="end", :min="start || undefined", placeholder="(optional)") + td.d-flex.align-items-center + b-button(variant="outline-dark", size="sm", @click="shiftDays(-1)") + icon(name="arrow-left") + b-form-datepicker(v-model="start", size="sm", :start-weekday="firstDayOfWeek" :max="end || undefined") + b-form-datepicker(v-model="end", size="sm", :start-weekday="firstDayOfWeek", :min="start || undefined", placeholder="(optional)") + b-button(variant="outline-dark", size="sm", @click="shiftDays(1)") + icon(name="arrow-right") button( - class="btn btn-outline-dark btn-sm", + class="btn btn-outline-dark btn-sm ml-1", type="button", :disabled="invalidDaterange || emptyDaterange || daterangeTooLong", @click="applyRange" @@ -70,11 +74,20 @@ div background-color: #aaa; } } + +.b-form-datepicker { + min-width: 300px; +} diff --git a/src/components/QueryOptions.vue b/src/components/QueryOptions.vue index 008d3b69..fcab9f1a 100644 --- a/src/components/QueryOptions.vue +++ b/src/components/QueryOptions.vue @@ -5,9 +5,9 @@ div option(v-for="hostname in hostnameChoices") | {{hostname}} b-form-group(label="Start" label-cols=2) - b-form-datepicker(v-model="queryOptionsData.start") + b-form-datepicker(v-model="queryOptionsData.start", :start-weekday="firstDayOfWeek") b-form-group(label="Stop" label-cols=2) - b-form-datepicker(v-model="queryOptionsData.stop") + b-form-datepicker(v-model="queryOptionsData.stop", :start-weekday="firstDayOfWeek") b-form-group(label="Toggles" label-cols=2) b-form-checkbox(type="checkbox" v-model="queryOptionsData.filter_afk" label="Filter AFK" description="") label Exclude time away from computer @@ -16,7 +16,9 @@ div