Hallo Sisamiwe ,
Das List item kommt tatsächlich von shNG direkt als Array von Objekten im js an. Ich habe jetzt mal eine einfache Darstellung gebaut: es wird jeweils die gesamte Tabellenzeile als html aufgebaut und zurückgegeben. Dazu muss zusätzlich zum item der Wochentag als Option übergeben werden.
ergibt dann mit dem item aus Deinem Beispiel (deshalb sind alle Zeilen gleich)
Tabelle_Schaltzeiten.png
Das kann (sollte) man natürlich noch deutlich schöner machen. Aber es funzt immerhin
Viel Spaß. Gruß
Wolfram
Das List item kommt tatsächlich von shNG direkt als Array von Objekten im js an. Ich habe jetzt mal eine einfache Darstellung gebaut: es wird jeweils die gesamte Tabellenzeile als html aufgebaut und zurückgegeben. Dazu muss zusätzlich zum item der Wochentag als Option übergeben werden.
Code:
{% macro timer_display(id, txt, gad_timer) %} {% import "basic.html" as basic %} {% set uid = uid(page, id) %} {% if txt %}<b>{{ txt|e }}</b><br/>{% endif %} <div id="{{ uid }}"> {% set days = ['montag','dienstag','mittwoch','donnerstag','freitag','samstag','sonntag'] %} {% set times = ['an1','aus1','an2','aus2','an3','aus3','an4','aus4'] %} <table> <th width=12%> {% for t in times %} <th>{{ t }}</th> {% endfor %} </th> {% for day in days %} {% set item = gad_timer~'.'~day %} <tr data-widget="mywidget.timer_display" data-item="{{ item }}" data-day="{{ day }}" ></tr> {% endfor %} </table> </div> {% endmacro %}
Code:
$.widget("sv.mywidget_timerdisplay", $.sv.widget, { initSelector: '[data-widget="mywidget.timer_display"]', options: { day: '', }, _update: function(response) { var obj = response[0]; var day = this.options.day; var line = '<th align="left">' + day + '</th>'; // ab hier die Ausgabe der Werte obj[i].An und obj[i].Aus ins html Gerüst for (var i = 0; i < obj.length; i++){ line += '<td>' + obj[i].An + '</td>'+ '<td>' + obj[i].Aus + '</td>'; } this.element.html(line); } })
Tabelle_Schaltzeiten.png
Das kann (sollte) man natürlich noch deutlich schöner machen. Aber es funzt immerhin

Viel Spaß. Gruß
Wolfram
Kommentar