Changed time input to two fields for Export

This commit is contained in:
l_samenv
2024-08-27 15:24:19 +02:00
parent 04c17b8323
commit 43a4bbdbe1

View File

@ -44,25 +44,29 @@ class ExportPopup extends HTMLElement{
setDateTimeInputs(timestamp, type){
let date = new Date(timestamp)
let truncatedDate = new Date(timestamp);
truncatedDate.setHours(0,0,0,0);
let time = new Date(date - truncatedDate);
time.setMilliseconds(0);
this.getElementsByClassName(`export-${type}-hour`)[0].value = date.getHours();
this.getElementsByClassName(`export-${type}-minute`)[0].value = date.getMinutes();
let exportTypeDate = this.getElementsByClassName(`export-${type}-date`)[0];
exportTypeDate.valueAsNumber = timestamp;
exportTypeDate.valueAsDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate())) // date input uses UTC
let exportTypeTime = this.getElementsByClassName(`export-${type}-time`)[0];
exportTypeTime.valueAsDate = time;
}
getDateTimeTimestampMsInput(type){
let dateInputValue = this.getElementsByClassName(`export-${type}-date`)[0].valueAsDate;
dateInputValue.setHours(0,0,0,0);
let timeInputValue = this.getElementsByClassName(`export-${type}-time`)[0].valueAsNumber;
return dateInputValue.getTime() + timeInputValue;
let hours = this.getElementsByClassName(`export-${type}-hour`)[0].value;
if(hours < 0 || hours > 23){
alertify.error("Invalid hours");
throw RangeError;
}
let minutes = this.getElementsByClassName(`export-${type}-minute`)[0].value;
if(minutes < 0 || minutes > 59){
alertify.error("Invalid minutes");
throw RangeError;
}
return dateInputValue.getTime() + hours*60*60*1000 + minutes*60*1000;
}
getSelectedVariables(){
@ -80,9 +84,20 @@ class ExportPopup extends HTMLElement{
doExportCallback(){
let startDateTimeMs = null, endDateTimeMs = null;
try{
startDateTimeMs = this.getDateTimeTimestampMsInput("start");
}
catch(e){
return
}
let startDateTimeMs = this.getDateTimeTimestampMsInput("start");
let endDateTimeMs = this.getDateTimeTimestampMsInput("end");
try{
endDateTimeMs = this.getDateTimeTimestampMsInput("end");
}
catch(e){
return
}
if (endDateTimeMs <= startDateTimeMs){
alertify.error("End date is below or equal to start date.");
@ -146,13 +161,15 @@ class ExportPopup extends HTMLElement{
<div class="time-container">
<span class="time-label">Start : </span>
<input type=date class="export-start-date">
<input type=time class="export-start-time" step="1">
<input type=number class="export-start-hour" min="00" max="23">
<input type=number class="export-start-minute" min="00" max="59">
</div>
<div class="time-container">
<span class="time-label">End : </span>
<input type=date class="export-end-date">
<input type=time class="export-end-time" step="1">
<input type=number class="export-end-hour" min="00" max="23">
<input type=number class="export-end-minute" min="00" max="59">
</div>
<div class="binning-container">