diff --git a/panels/mensaPlan/script.js b/panels/mensaPlan/script.js index 15c2e254b619b28540273c3f5a4bf02b1af21ace..07a2d80ad1b82abb06c2dda32c1555894ef4a027 100755 --- a/panels/mensaPlan/script.js +++ b/panels/mensaPlan/script.js @@ -33,8 +33,38 @@ this.hide = function() { } function padTwo(num) { - var s = "00" + num; - return s.substr(2); + if (num < 10) { + return "0" + num + } else { + return num + } +} + +function isNextDay() { + if (new Date().getHours() >= 15) { + return true; + } +} + +function calcDateAPI() { + if (isNextDay) { + return new Date().getFullYear() + "-" + padTwo(new Date().getMonth()+1) + "-" + (padTwo(new Date().getDate() + 1)); + } else { + return new Date().getFullYear() + "-" + padTwo(new Date().getMonth()+1) + "-" + padTwo(new Date().getDate()); + } +} + +function calcTextDisplay() { + if (isNextDay) { + return "Mensaplan von MORGEN, dem " + (padTwo(new Date().getDate() + 1)) +"."+ padTwo(new Date().getMonth()+1) +"."+ new Date().getFullYear(); + } else { + return "Mensaplan von HEUTE, dem " + padTwo(new Date().getDate()) +"."+ padTwo(new Date().getMonth()+1) +"."+ new Date().getFullYear(); + } +} + +function shortenText(titel) { + titel = titel.replace(/\([^\)]*\)/g, ""); + return titel } this.loaded = function(panel, config) { @@ -44,7 +74,7 @@ this.loaded = function(panel, config) { }, 30*60*1000); function getMensaPlan() { - $.getJSON("https://mobil.itmc.tu-dortmund.de/canteen-menu/v1/canteens/341/"+( new Date().getFullYear() + "-" + padTwo(new Date().getMonth()) + "-" + padTwo(new Date().getDate()) ).done(function(json) { + $.getJSON("https://mobil.itmc.tu-dortmund.de/canteen-menu/v1/canteens/341/"+calcDateAPI()).done(function(json) { fillTable(json); }).fail(function(jqxhr, textStatus, error) { var err = textStatus + ", " + error; @@ -53,45 +83,7 @@ this.loaded = function(panel, config) { } function fillTable(json) { - console.log(json) - var date = new Date(); - var next = 0; - if (date.getHours() >= 15) { - next = 1; - } - switch (date.getDay() + next) { - case 0: - var day = json.montag; - break; - case 1: - var day = json.montag; - break; - case 2: - var day = json.dienstag; - break; - case 3: - var day = json.mittwoch; - break; - case 4: - var day = json.donnerstag; - break; - case 5: - var day = json.freitag; - break; - case 6: - var day = json.montag; - break; - case 7: - var day = json.montag; - break; - } - if (next) { - document.getElementById("mensaPlanTitleBar").innerHTML = "Mensaplan von MORGEN, dem " - + day[0].date; - } else { - document.getElementById("mensaPlanTitleBar").innerHTML = "Mensaplan von HEUTE, dem " - + day[0].date; - } + document.getElementById("mensaPlanTitleBar").innerHTML = calcTextDisplay(); var tableBody1 = document.getElementById("mensaPlanTable1Body"); var tableBody2 = document.getElementById("mensaPlanTable2Body"); var tableBody3 = document.getElementById("mensaPlanTable3Body"); @@ -101,10 +93,10 @@ this.loaded = function(panel, config) { var a = 0; var b = 0; var c = 0; - for (var i = 0; i < day.length; i++) { - var gericht = day[i]; + for (var i = 0; i < json.length; i++) { + var gericht = json[i]; var row = ""; - switch (gericht.counter) { + switch (gericht.category) { case 1: var row = tableBody1.insertRow(a); a++; @@ -124,16 +116,20 @@ this.loaded = function(panel, config) { case 5: var row = tableBody1.insertRow(a); a++; - break; + breaki; case 6: + var row = tableBody1.insertRow(a); + a++; + breaki; + case 7: var row = tableBody2.insertRow(b); b++; break; - case 7: + case 8: var row = tableBody3.insertRow(c); c++; break; - case 8: + case 16: var row = tableBody3.insertRow(c); c++; break; @@ -142,7 +138,7 @@ this.loaded = function(panel, config) { c++; } var cell1 = row.insertCell(0); - cell1.innerHTML = gericht.shortText; + cell1.innerHTML = shortenText(gericht.title.de); } }