FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: GeoCeKid am 23 Dezember 2017, 05:48:54

Titel: Neues Widget: Include (Template in Template) -> zum Testen
Beitrag von: GeoCeKid am 23 Dezember 2017, 05:48:54
Ich hab eine Lösung für das schon öfters gewünschte Template in Template.

Habe dazu ein einfaches Widget geschrieben (siehe Anhang) und stelle das hier gern zum Testen zur verfügung.

Aufruf ist fast identisch zum regulären Template:

<div data-type="GCKinclude" data-url="template.html" data-parameter='{"var_device":"Test123"}'></div>


Es wird wie ihr seht wie ein normales Widget aufgerufen,
das Template wird mit "data-url" übergeben,
Parameter können natürlich ganz normal mit "data-parameter" übergeben werden.

Bei Fragen und Anregungen stehe ich gern zur verfügung.
Titel: Antw:Neues Widget: Include (Template in Template) -> zum Testen
Beitrag von: setstate am 23 Dezember 2017, 10:22:11
Das ist aber eine einfache wie geniale Lösung. Die Rekursion built-in.
Da könnte man glatt den Template Teil aus der fhem-tablet-ui.js entfernen und dein Plugin in den Standard als data-type="template" übernehmen.

Das me.addReading() braucht es aber nicht, da keine Readings von FHEM abgeholt werden sollen.
Titel: Antw:Neues Widget: Include (Template in Template) -> zum Testen
Beitrag von: GeoCeKid am 23 Dezember 2017, 13:38:59
hab gefühlt ne halbe Ewigkeit gebraucht um auf die Idee zu kommen ;)

von mir aus kann es gern übernommen werden :)
Titel: Antw:Neues Widget: Include (Template in Template) -> zum Testen
Beitrag von: derHeimwerker am 23 Dezember 2017, 13:55:58
Könnte man die Möglichkeit der Parameterübergabe auch in das link-widget mit einbauen ?
Titel: Antw:Neues Widget: Include (Template in Template) -> zum Testen
Beitrag von: setstate am 10 Januar 2018, 11:21:08
Das Include ist jetzt per default verfügbar.

Alte und neue Schreibweise kann benutzt werden, die alte Variante wird in die data-type="include" Schreibweise umgewandelt. Damit funktioniert jetzt auch Template in Template.
Titel: Antw:Neues Widget: Include (Template in Template) -> zum Testen
Beitrag von: throbin am 10 Januar 2018, 21:56:26
Hi, wie sieht dann die Syntax genau aus?
Ich habe es so probiert und leider ohne Erfolg, Widget bleibt leer und der Browser (Chrome) scheint sehr beschäftigt zu sein...

// Hauptseite:
<li data-row="1" data-col="1" data-sizex="6" data-sizey="5">
        <header><div data-type="label" class="medium orange">Küche</div></header>
        <div data-type="include" data-url="2_rollaeden_inc_kueche.html"></div>
</li>

// Unterseite:
<div data-type="include" data-url="templates/template_shutters_v1.html" parameter='{"shutterDevice":"zw_Kueche_Rollo_FL"}'></div>
<div data-type="include" data-url="templates/template_shutters_v1.html" parameter='{"shutterDevice":"zw_Kueche_Rollo_FR"}'></div>


Mit der alten Syntax funktioniert es auch nicht.
Titel: Antw:Neues Widget: Include (Template in Template) -> zum Testen
Beitrag von: n4rrOx am 12 Januar 2018, 15:48:48
<div data-type="include" data-url="templates/template_shutters_v1.html" parameter='{"shutterDevice":"zw_Kueche_Rollo_FL"}'></div>

in

<div data-type="include" data-url="templates/template_shutters_v1.html" data-parameter='{"shutterDevice":"zw_Kueche_Rollo_FL"}'></div>

ändern?