Changed time input to two fields for Export
This commit is contained in:
@ -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">
|
||||
|
Reference in New Issue
Block a user