Changed Jump time input to two fields

This commit is contained in:
l_samenv
2024-08-27 14:36:15 +02:00
parent c4bda9b264
commit 04c17b8323

View File

@ -16,26 +16,36 @@ class DatesPopup extends HTMLElement{
alertify.warning("Date in the future : using today"); alertify.warning("Date in the future : using today");
} }
dateInputValue.setHours(0,0,0,0); dateInputValue.setHours(0,0,0,0);
let formattedHour = this.getElementsByClassName("input-time")[0].value; let hours = this.getElementsByClassName("input-time-hour")[0].value;
let timeMs = this.convertTimeStringToTimestamp(formattedHour); if(hours < 0 || hours > 23){
alertify.error("Invalid hours");
throw RangeError;
}
let minutes = this.getElementsByClassName("input-time-minute")[0].value;
if(minutes < 0 || minutes > 59){
alertify.error("Invalid minutes");
throw RangeError;
}
let timeMs = this.convertTimeComponentsToTimestamp(hours, minutes);
return [dateInputValue.getTime(), timeMs]; return [dateInputValue.getTime(), timeMs];
} }
doJumpCallback(){ doJumpCallback(){
let dateTimeInput = this.getDateTimeInput(); try{
this.hide(); let dateTimeInput = this.getDateTimeInput();
this.jumpCallback(dateTimeInput[0], dateTimeInput[1]); this.hide();
this.jumpCallback(dateTimeInput[0], dateTimeInput[1]);
}
catch(e){}
} }
convertTimeStringToTimestamp(formattedTime){ convertTimeComponentsToTimestamp(hours, minutes){
let pieces = formattedTime.split(":"); return hours*60*60*1000 + minutes*60*1000;
return Number(pieces[0])*60*60*1000 + Number(pieces[1])*60*1000;
} }
doGoToNowCallback(){ doGoToNowCallback(){
this.hide(); this.hide();
console.log(this);
this.goToNowCallback(); this.goToNowCallback();
} }
@ -82,8 +92,16 @@ class DatesPopup extends HTMLElement{
<div class="jump-container"> <div class="jump-container">
<div class="datetime-container"> <div class="datetime-container">
<input type="date" class="input-date"> <div>
<input type="time" class="input-time" value="23:59"> Date :
<input type="date" class="input-date">
</div>
<div>
Time :
<input class="input-time-hour" type="number" min="00" max="23" value="23">
<input class="input-time-minute" type="number" min="00" max="59" value="59">
</div>
</div> </div>
<div> <div>