FHEM Forum

FHEM => Frontends => FHEMWEB => Thema gestartet von: TomLee am 14 September 2025, 18:32:51

Titel: Liste aller Widgets?
Beitrag von: TomLee am 14 September 2025, 18:32:51
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
Titel: Aw: Liste aller Widgets?
Beitrag 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
Titel: Aw: Liste aller Widgets?
Beitrag von: TomLee am 15 September 2025, 11:00:08
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 (https://svn.fhem.de/trac/browser/trunk/fhem/www/pgm2/fhemweb.js#L2172)) 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.