Erstelle einen zweiten Pagehandler, welcher nur die Tabelle mit den
Geräten erstellt.

Ich nehme mal an den Handler registriere ich so wie hier:
https://github.com/Logitech/slimserver/blob/public/7.9/Slim/Plugin/MusicMagic/Plugin.pm#L312

Genau. Und https://github.com/Logitech/slimserver/blob/public/7.9/Slim/Plugin/MusicMagic/Plugin.pm#L931 ist dann auch in etwa der einfachste Pagehandler, den ich finden konnte: der wird aufgerufen, wenn du deine Custom-URL aufrufst. Dann füllst du deine Liste von Geräten in z.B. $params->{hue_list}, und rufst filltemplatefile() mit deiner Vorlage auf.

Kein HTML, ausser der Tabelle mit den Geräten.


Das ist dann eine stinknormale .html ähnlich dieser:
https://github.com/Logitech/slimserver/blob/public/7.9/Slim/Plugin/MusicMagic/HTML/EN/plugins/MusicMagic/musicmagic_moods.html
Soll heißen: Ich darf da TT Dtatements einbauen.

Ja, ausser, dass du die ganzen pageheader/footer/title Dinge weglässt, da das HTML-Fragment ja irgendwo auf einer bestehenden Seite eingebaut werden soll.

mherger wrote:
Im Haupt-Dokument erstellst du ein DIV mit ID, welches du dann später
mit
Ext.Element.load()
(http://docs.sencha.com/extjs/3.4.0/#!/api/Ext.Element-method-load) mit

dem Resultat des zweiten Pagehandlers füllst.

Das ist für mich zweifellos der härtere Teil (wegen dem JS...). Hast Du
dafür vielleicht ein Beispiel?

Gar nicht so schwierig :-). Im JS Snippet rufst du ja jetzt regelmässig SqueezeJS.Controller.request(...) auf. Nun fügst du da zusätzlich noch folgende Zeile ein:

Ext.get('hue_list').load('pfad/zu/deinem/pagehandler.html');

Und unten im Dokument an Stelle der jetzt definierten Tabelle ein

<div id='hue_list'></div>

Dann wird dort alle zwei Sekunden die Liste der Geräte vom Server geholt und das resultieren HTML da eingesetzt. Ev. entfällt dann auch die CLI Abfrage, um die Knöpfe zu deaktivieren, da du das ja im HTML schon erledigen könntest, das regelmässig aktualisiert wird.

Oder du optimierst das weiter: du belässt die Abfrage drin, aktualisierst die Liste aber nur, wenn sich im Resultat der Abfrage etwas geändert hat. Damit entfiele dann das Flackern, wenn sich nichts ändert.

--

Michael
_______________________________________________
slimserver-de mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/slimserver-de

Antwort per Email an