#26: add hms and firmware type to filename, ensure loading of non existent boatData settings

This commit is contained in:
andreas 2022-03-08 18:32:49 +01:00
parent 8f45554a35
commit 7649487d97
1 changed files with 19 additions and 11 deletions

View File

@ -857,15 +857,18 @@ function showXdrHelp(){
showOverlay(helpContent.innerHTML,true); showOverlay(helpContent.innerHTML,true);
} }
} }
function formatDate(d){ function formatDateForFilename(usePrefix,d){
let rt="";
if (usePrefix){
let fwt=document.querySelector('.status-fwtype');
if (fwt) rt=fwt.textContent;
}
if (! d) d=new Date(); if (! d) d=new Date();
let rt=""+d.getFullYear(); [d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds()]
let v=d.getMonth(); .forEach(function(v){
if (v < 10) rt+="0"+v; if (v < 10) rt+="0"+v;
else rt+=v; else rt+=""+v;
v=d.getDate(); })
if (v < 10) rt+="0"+v;
else rt+=v;
return rt; return rt;
} }
function downloadData(data,name){ function downloadData(data,name){
@ -879,7 +882,7 @@ function downloadData(data,name){
function exportConfig(){ function exportConfig(){
let data=getAllConfigs(true); let data=getAllConfigs(true);
if (! data) return; if (! data) return;
downloadData(data,"config"+formatDate()+".json"); downloadData(data,formatDateForFilename(true)+".json");
} }
function exportXdr(){ function exportXdr(){
let data={}; let data={};
@ -893,7 +896,7 @@ function exportXdr(){
} }
data[name]=value; data[name]=value;
}) })
downloadData(data,"xdr"+formatDate()+".json"); downloadData(data,"xdr"+formatDateForFilename(true)+".json");
} }
function importJson(opt_keyPattern){ function importJson(opt_keyPattern){
let clazz='importJson'; let clazz='importJson';
@ -926,7 +929,12 @@ function importJson(opt_keyPattern){
for (let k in idata){ for (let k in idata){
let del=document.querySelector('input[name='+k+']'); let del=document.querySelector('input[name='+k+']');
if (del){ if (del){
if (del.tagName === 'SELECT'){
setSelect(del,idata[k]);
}
else{
del.value=idata[k]; del.value=idata[k];
}
let ev=new Event('change'); let ev=new Event('change');
del.dispatchEvent(ev); del.dispatchEvent(ev);
} }