Hauptmenü

Liste aller Widgets?

Begonnen von TomLee, 14 September 2025, 18:32:51

Vorheriges Thema - Nächstes Thema

TomLee

Hallo,

meine zu verstehen sowas gibts nicht. Oder doch?

Mich beschäftigt ob ich in Perl prüfen könnte, ob ein Teilstring eines Attributwert eines der Elemente dieser Liste matcht.

Gruß Thomas

rudolfkoenig

Zitatmeine zu verstehen sowas gibts nicht. Oder doch?
Nicht direkt.

Die Liste der in fhemweb.js implementierten Widgets ist in fhemweb.js in der FW_widgets Variable gespeichert.
Falls das gewuenschte Widget hier nicht zu finden ist, dann wird geprueft, ob es ueber eine weitere .js Datei verfuegbar ist.
01_FHEMWEB.pm speichert die Liste der Dateien nach dem Muster "www/pgm2/fhemweb_*.js" in der data-available Attribut des body Tags.
fhemweb.js laedt bei Bedarf diese Datei.

Siehe auch FW_callCreateFn in fhemweb.js

TomLee

#2
Zitat von: rudolfkoenig am 15 September 2025, 10:06:23
Zitatmeine zu verstehen sowas gibts nicht. Oder doch?
Nicht direkt.

Die Liste der in fhemweb.js implementierten Widgets ist in fhemweb.js in der FW_widgets Variable gespeichert.
Falls das gewuenschte Widget hier nicht zu finden ist, dann wird geprueft, ob es ueber eine weitere .js Datei verfuegbar ist.
01_FHEMWEB.pm speichert die Liste der Dateien nach dem Muster "www/pgm2/fhemweb_*.js" in der data-available Attribut des body Tags.
fhemweb.js laedt bei Bedarf diese Datei.

Siehe auch FW_callCreateFn in fhemweb.js

Danke.

Genauso hab ich es auch verstanden, nachdem ich mich gestern stundenlang mit dem Thema das erste Mal (aufgrund dieses Kommentar) beschäftigt habe.

Eine Möglichkeit die mir kam die Subwidgets zu ermöglichen, wäre in dem Array @FW_fhemwebjs (Funktion FW_answerCall($) in 01_FHEMWEB.pm) vor fhemweb.js, die jeweilige .js-Datei zu ergänzen die benötigt wird um das Widget zu laden.

Dazu müssten alle Widgets in FW_widgets ergänzt werden. Keine Ahnung ob es umständlich gelöst oder Nebenwirkungen hat. Es funzt auf jedenfall, wenn man die jeweilige js-Datei händisch in dem Array ergänzt.

Edit:

Ja, css-Dateien müssten auch ergänzt werden.