# HG changeset patch # User Fadi Abbud # Date 1585907645 -7200 # Node ID 600d337fe5f1ad74f54cacaa0c3c595aaff92262 # Parent 745c7d8aadbe4eb523dee5447b8517424f89d2b5 timeslider: prevent selecting values outside the visible area while dragging diff -r 745c7d8aadbe -r 600d337fe5f1 client/src/components/TimeSlider.vue --- a/client/src/components/TimeSlider.vue Fri Apr 03 10:56:54 2020 +0200 +++ b/client/src/components/TimeSlider.vue Fri Apr 03 11:54:05 2020 +0200 @@ -377,12 +377,18 @@ }, onDrag() { this.selectedTime = d3.isoParse(xAxis.scale().invert(d3.event.x + 2)); + const startTime = d3.isoParse(xAxis.scale().invert(0)); const now = new Date(); - if (this.selectedTime > now) { - this.selectedTime = now; - d3.select(".line").attr("x", xAxis.scale()(d3.isoParse(now))); + if (startTime > this.selectedTime) { + this.selectedTime = startTime; + d3.select(".line").attr("x", xAxis.scale()(d3.isoParse(startTime))); } else { - d3.select(".line").attr("x", d3.event.x); + if (this.selectedTime > now) { + this.selectedTime = now; + d3.select(".line").attr("x", xAxis.scale()(d3.isoParse(now))); + } else { + d3.select(".line").attr("x", d3.event.x); + } } }, redrawTimeSlider() {