diff --git a/src/routes/model/+page.svelte b/src/routes/model/+page.svelte index 111d876f7a40e1ba56ff73a9ae55f2a54da0542f..dab1779f761c8ffe84d2733d9a9842520ac8fdaf 100644 --- a/src/routes/model/+page.svelte +++ b/src/routes/model/+page.svelte @@ -163,8 +163,9 @@ const data = await res.json(); modalModule.name = module; modalModule.response = JSON.parse(data); - modalModule.html = [] - generateHTML(modalModule.response) + modalModule.html = []; + test(modalModule.response) + generateHTML(modalModule.response); modalModule = modalModule; }catch (error){ console.error(error); @@ -176,23 +177,30 @@ } function generateHTML(json: object){ Object.entries(json).forEach(([key, value]) =>{ + if(value==null){ + return + } if(value.hasOwnProperty("value")){ - if(value.description&&value.description.includes("Switch")){ - modalModule.html.push(new SettingsSwitch(key,value.description,value)) - }else if(value.description&&value.description.includes("Selector")){ + if(value["@description"]&&value["@description"].includes("Switch")){ + modalModule.html.push(new SettingsSwitch(key,value["@description"],value)) + }else if(value["@description"]&&value["@description"].includes("Selector")){ let options = []; for (let i= 0; i<4;i++){ - if(value.description.includes("mode_"+i)){ + if(value["@description"].includes("mode_"+i)){ options.push("mode_"+i) } } - modalModule.html.push(new SettingsSelector(key,value.description,value,options)) + modalModule.html.push(new SettingsSelector(key,value["@description"],value,options)) + }else if(value.hasOwnProperty("@unit")) {//spaeter entweder unit oder Unit in XML + modalModule.html.push((new SettingsNumberfield(key, value["@description"], value, value["@unit"]))) + }else if(value.hasOwnProperty("@Unit")){ + modalModule.html.push((new SettingsNumberfield(key,value["@description"],value,value["@Unit"]))) }else if(value.hasOwnProperty("unit")) {//spaeter entweder unit oder Unit in XML - modalModule.html.push((new SettingsNumberfield(key, value.description, value, value.unit))) + modalModule.html.push((new SettingsNumberfield(key, value["@description"], value, value["unit"]))) }else if(value.hasOwnProperty("Unit")){ - modalModule.html.push((new SettingsNumberfield(key,value.description,value,value.Unit))) + modalModule.html.push((new SettingsNumberfield(key,value["@description"],value,value["Unit"]))) }else{ - modalModule.html.push(new SettingsTextfield(key,value.description,value,key)) + modalModule.html.push(new SettingsTextfield(key,value["@description"],value,key)) } }else if(typeof value ==="object"){ modalModule.html.push(new SettingsLabel(key)) @@ -202,6 +210,12 @@ } }) } + function test(json:object){ + Object.entries(json).forEach(([key, value]) =>{ + console.log(key+": "+value) + if(typeof value ==="object"&&value!=null){test(json[key])} + }) + } async function uploadModuleConf(){ const response = await fetch('http://127.0.0.1:8000/modules/config/update', { method: 'PUT',