Changed time input to two fields for Export
This commit is contained in:
@ -44,25 +44,29 @@ class ExportPopup extends HTMLElement{
|
|||||||
|
|
||||||
setDateTimeInputs(timestamp, type){
|
setDateTimeInputs(timestamp, type){
|
||||||
let date = new Date(timestamp)
|
let date = new Date(timestamp)
|
||||||
let truncatedDate = new Date(timestamp);
|
this.getElementsByClassName(`export-${type}-hour`)[0].value = date.getHours();
|
||||||
truncatedDate.setHours(0,0,0,0);
|
this.getElementsByClassName(`export-${type}-minute`)[0].value = date.getMinutes();
|
||||||
let time = new Date(date - truncatedDate);
|
|
||||||
time.setMilliseconds(0);
|
|
||||||
|
|
||||||
let exportTypeDate = this.getElementsByClassName(`export-${type}-date`)[0];
|
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
|
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){
|
getDateTimeTimestampMsInput(type){
|
||||||
let dateInputValue = this.getElementsByClassName(`export-${type}-date`)[0].valueAsDate;
|
let dateInputValue = this.getElementsByClassName(`export-${type}-date`)[0].valueAsDate;
|
||||||
dateInputValue.setHours(0,0,0,0);
|
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(){
|
getSelectedVariables(){
|
||||||
@ -80,9 +84,20 @@ class ExportPopup extends HTMLElement{
|
|||||||
|
|
||||||
|
|
||||||
doExportCallback(){
|
doExportCallback(){
|
||||||
|
let startDateTimeMs = null, endDateTimeMs = null;
|
||||||
|
try{
|
||||||
|
startDateTimeMs = this.getDateTimeTimestampMsInput("start");
|
||||||
|
}
|
||||||
|
catch(e){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
let startDateTimeMs = this.getDateTimeTimestampMsInput("start");
|
try{
|
||||||
let endDateTimeMs = this.getDateTimeTimestampMsInput("end");
|
endDateTimeMs = this.getDateTimeTimestampMsInput("end");
|
||||||
|
}
|
||||||
|
catch(e){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if (endDateTimeMs <= startDateTimeMs){
|
if (endDateTimeMs <= startDateTimeMs){
|
||||||
alertify.error("End date is below or equal to start date.");
|
alertify.error("End date is below or equal to start date.");
|
||||||
@ -146,13 +161,15 @@ class ExportPopup extends HTMLElement{
|
|||||||
<div class="time-container">
|
<div class="time-container">
|
||||||
<span class="time-label">Start : </span>
|
<span class="time-label">Start : </span>
|
||||||
<input type=date class="export-start-date">
|
<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>
|
||||||
|
|
||||||
<div class="time-container">
|
<div class="time-container">
|
||||||
<span class="time-label">End : </span>
|
<span class="time-label">End : </span>
|
||||||
<input type=date class="export-end-date">
|
<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>
|
||||||
|
|
||||||
<div class="binning-container">
|
<div class="binning-container">
|
||||||
|
Reference in New Issue
Block a user