FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: pula am 16 Januar 2018, 01:33:33

Titel: [Gelöst][Frage]Widget in widget
Beitrag von: pula am 16 Januar 2018, 01:33:33
Hallo,

ich arbeite grad an einem neuen widget für todoist (fast fertig).
Jetzt stellt sich mir aber folgende Frage:
Ich würde gerne im update ein input-widget ausgeben.
Funktioniert aber so nicht, wie ich mir das denke.

Habe das mal so probiert:
html = "<div class=\"tditem\" data-type=\"input\" data-device=\"" + dev + "\" data-set=\"addTask\" data-get=\"\" data-value=\"\"></div>";

Das wird zwar im Inspektor (Firefox) in der Seitenstruktur richtig angezeigt, aber nicht im Browser ausgegeben, ich vermute, daß der Browser das hier nicht richtig zuordnen kann.
Geht so was überhaupt?
Weiss jemand, wie?

Cheers,
Pula
Titel: Antw:[Frage]Widget in widget
Beitrag von: setstate am 16 Januar 2018, 08:05:00
Widgets müssen immer initialisiert werden.
Nachdem du den neuen HTML Code in den DOM eingefügt hast, musst du ftui.initPage() rufen.
Aber nicht für die gesamte Page, sondern nur für den neuen Bereich. Dafür musst du den CSS Selector des Containers, der die neuen Widgets enthält, als Parameter übergeben. In diesem Fall dein Parent-Widget. Um das sicher machen, nutzen wir die elem.wgid() Funktion, um mit einer eineindeutigen ID zu arbeiten.


                elem.html(data);
                ftui.initPage('[data-wgid="' + elem.wgid() + '"]');


Achtung: vorher ein Update ziehen. wgid() hieß zuvor uuid()
Titel: Antw:[Frage]Widget in widget
Beitrag von: pula am 16 Januar 2018, 23:18:53
Hi,

super, danke! Funkt!
(Ist aber BRANDNEU die Umbenennung ^^)

Cheers,

Pula