[FTUI 3] Button Attribut Path

Begonnen von Guybrush, 23 August 2022, 21:34:54

Vorheriges Thema - Nächstes Thema

Guybrush

folgender Code funktioniert:

<ftui-icon [name]="Wintergarten.Fenster:operate | map('open:fts_window_1w_tilt, .*:fts_window_1w') | prepend('../images/openautomation/')"></ftui-icon>


nun habe ich aber gesehen, dass man den Iconpfad auch über das Attribut Path angeben kann. Also hab ich das obige einmal umgebaut:

<ftui-icon [name]="Wintergarten.Fenster:operate | map('open:fts_window_1w_tilt, .*:fts_window_1w')" path="../images/openautomation"></ftui-icon>


Allerdings ist das Icon damit kaputt. Statt des Icons wird das HTML der FHEM GUI (http://ip:port/fhem/) geladen und in das zugehörige <span class="icon"></span> geschrieben. Kann mir das einer erklären?  :P

OdfFhem

Die relative Icon-URL wird aus den Attributen path, name und type gebildet - URL-Schablone entspricht "path/name.type".
Die Standardwerte der Attribute lauten: path='icons', name='', type='svg'.

Das bei Dir funktionierende Tag führt bei mir zur URL

relativ: icons/../images/openautomation/fts_window_1w.svg
-->
absolut: http://raspberrypiX:8083/fhem/ftui3/images/openautomation/fts_window_1w.svg

und der Anzeige von "File not found: ./www/ftui/images/openautomation/fts_window_1w.svg"

Das bei Dir nicht funktionierende Tag führt bei mir zur URL

relativ: ../images/openautomation/fts_window_1w.svg
-->
absolut: http://raspberrypiX:8083/fhem/images/openautomation/fts_window_1w.svg

und der korrekten Anzeige des Icons.

Die relativen URL-Angaben sollten bei Dir (im Zweifel bis auf den Icon-Namen) übereinstimmen; für die absolute Angabe hast Du scheinbar eine andere Basis.



Will man name incl. path verwenden, muss man den voreingestellten path "neutralisieren".

path leeren ... keine gute Idee

Tag: <ftui-icon [name]="ftuitest:test1 | map('open:fts_window_1w_tilt, .*:fts_window_1w') | prepend('../images/openautomation/')" path=""></ftui-icon>
relative URL: /../images/openautomation/fts_window_1w.svg
absolute URL: http://raspberrypiX:8083/images/openautomation/fts_window_1w.svg

--> Die URL-Pfadangabe ist fehlerhaft und das Ergebnis entspricht der FHEM-Startseite


path auf die aktuell verwendete Basis setzen ... funktioniert

Tag: <ftui-icon [name]="ftuitest:test1 | map('open:fts_window_1w_tilt, .*:fts_window_1w') | prepend('../images/openautomation/')" path="."></ftui-icon>
relative URL: ./../images/openautomation/fts_window_1w.svg
absolute URL: http://raspberrypiX:8083/fhem/images/openautomation/fts_window_1w.svg

--> Die URL ist korrekt und liefert das entsprechende Icon

Guybrush

danke für die ausführliche Erklärung! Allerdings ist das mit dem pfad schon richtig. Ich muss nur eine Ebene hoch, da die Bilder unter /fhem liegen. Das hatte ich mehrfach kontrolliert. hatte jetzt fhem neu gestartet und nun gehts. das muss man nicht verstehen  :o aber geht ja jetzt. danke jedenfalls  :)

Ich würde mir aber wünschen, wenn jemand mal dafür ein Wiki anlegen würde. Ich würde da auch mit beitragen. FTUI 3 ist von der syntax her schon angenehmer. Die Beispiele sind auch hilfreich, aber ohne wiki alles nur durch sowas resultiert oft darin, dass man Sachen nur zufällig entdeckt. Wegen der fehlenden Doku ist das aber für viele mit Sicherheit ein riesen Hinderniss FTUI 3 zu nutzen.

mr_petz

Wiki für FTUI3 gibt es schon....
muss "nur" noch gefüllt werden...
https://wiki.fhem.de/wiki/FHEM_Tablet_UI_v3
Hinweis:
FTUI3 ist zwar in der Programmierung schon gut ausgestattet aber immer noch in der Entwicklung.
Es wird immer mal wieder erweitert/geändert, da muss das wiki immer mit aktualisiert werden...
LG

Guybrush

das gehört leider dazu. das ist ja schon länger in Entwicklung und bislang hatte ich wegen der fehlenden Doku einen Bogen drum gemacht. Die Beispiele sind schon wirklich gut. Leider werden dort aber auch nicht alle Optionen vorgestellt. Den Prepend Modifier hab ich beispielsweise nur gefunden, weil ich mir die bindings.js anschaute :P