var rl function checkforURLParam(){ try { let url = window.location.href params = url.split("?")[1] if (params !== undefined){ // url param to string for search bar params = "?" + params loadRecipes(params) } } catch (error) { console.log(error) } } function loadData() { // make string of get params for request getParams = makeGetParamString() window.location = window.location.href.split("?")[0] + getParams } function loadRecipes(getParams){ rl = document.getElementById("recipe-list") rl.innerHTML = '
' document.getElementById("main").className += " data-loaded" getJSON("/api/v1/recipe/" + getParams, function (error, data) { console.log(data) ignored = data["data"]["ignored"] data = data["data"]["ingred"] // remove wrapper renderRecipeList(data) renderIgnored(ignored) }, function (error, data) { console.log(error) rl.innerHTML = "

Es gab einen Fehler, bitte suchen Sie erneut.

" insertValueIntoSearchbar() } ); } function renderIgnored(ignored){ document.getElementById("search-form").innerHTML += "
" ignored.forEach( function (item, index) { document.getElementById("search-form").innerHTML += `${item}` } ) insertValueIntoSearchbar() } function insertValueIntoSearchbar(){ let url = window.location.href params = url.split("?")[1] if (params !== undefined){ // url param to string for search bar paramString = params.split("&").join("").split("ingred=").join(", ").replace(", ", "") document.getElementById("search-field").value = paramString params = "?" + params } } function makeGetParamString(){ searchString = document.getElementById("search-field").value searchArray = searchString.split(','); getParams = "" searchArray.forEach( function (item, index) { if(item.trim() !== ""){ if (index > 0) { getParams += "&ingred=" + item.trim() } else { getParams += "?ingred=" + item.trim() } } }); return getParams } function renderRecipeList(data){ let keys = Object.keys(data).reverse(); // iterate in reverse order, highest score up top rl.innerHTML = "" keys.forEach( function (key) { data1 = data[key] ingredString = "" missingString = "" data1[3].forEach( function(ingred){ if (ingred.charAt(ingred.length-2) === ":"){ ingred = ingred.substr(0, ingred.length-2) } ingredString += `${ingred}
` } ) data1[4].forEach( function(ingred){ missingString += `${ingred}
` } ) if(data1[4].length === 0){ missing = "" } else{ missing = "
Fehlt:
" } recString = `
${ingredString}
${missing}
${missingString}
${(key*100).toFixed(0) + "%"}
` rl.innerHTML += recString }) }