Link-Widget innerhalb eines Labels

Begonnen von n4rrOx, 07 März 2017, 02:00:30

Vorheriges Thema - Nächstes Thema

n4rrOx

Hi,

habe folgenden Anwendungsfall:

In einem Userreading werden verschiedene Links zu Videos gespeichert.
Die Liste wird automatisch ergänzt und als Gesamtes in FTUI als ein Label mit Link-Elementen integriert:
<div data-type="label" data-device="dummy_Musik" data-get="Liste" class=""></div>

Die einzelnen Einträge sehen z. B. so aus:
... <div data-type="link" data-get="dummy_Musik:1_URL_yt" onclick="ftui.toast('YouTube wird geöffnet ...')" class="blank" data-color="firebrick" data-icon="fa-youtube-play"></div>

Wobei der Link leider nicht angezeigt wird ... binde ich den Link außerhalb eines generierten Labels ein funktioniert dieser ohne Probleme.
In den Entwicklertools sieht man, dass dem Link innerhalb des Labels nicht die Klasse "link" zugeordnet wird ... ebenfalls fehlen die style Attributte sowie der title-tag.

Wäre es möglich dies "nachzurüsten"?
Andernfalls wäre es nicht möglich sich solche Listen mittels Fhem erstellen zu lassen und in FTUI einzubinden.

Gruß
Mathias

setstate

Das Thema Injection hatten wir hier schonmal: https://forum.fhem.de/index.php/topic,59699.msg512371.html#msg512371

Ich kann versuchen, den Initwidgets Aufruf in das Label-Widget direkt einzubauen, brauche dazu aber erst noch eine Möglichkeit, eine eineindeutige Widget-ID zu erzeugen.

n4rrOx

Das wäre natürlich super!
Spontan würde mir als eineindeutige Widget-ID irgendeine Ableitung von der Unix-Zeit einfallen?

n4rrOx

Hm.....habe es mal ausprobiert.... die label.js ist ja bereits ergänzt.

Habe der Tabelle eine ID gegeben und habe folgendes ganz am Ende der Seite (vor dem </body> tag) mit der entsprechenden ID eingefügt:
<script>
    $(document).on('domChanged','#myNode', function(e) {
        ftui.initWidgets('#myNode');
    });
</script>


Leider reagiert es nicht, wenn sich das Reading ändert .... also das Reading wird schon aktualisiert ... aber die Link Widgets innerhalb des labels werden nicht intialisiert.

Woran könnte das liegen?

setstate


n4rrOx

Wenn ich irgendwas testen soll, dann nur her damit  ;)

Mir sind in diesem Zusammenhang noch zwei interessante Dinge aufgefallen.

Habe momentan als Workaround ein zusätzliches Link Widget:

<div class"txtcenter">
<div data-type="link" onclick="ftui.initWidgets('#myNode');" class="small cell" data-color="firebrick" data-icon="fa-undo" data-background-icon="none"></div>
<div class="">Links darstellen</div>
</div>

.txtcenter { text-align: center !important; }

1. Das Widget wird im Fully mittig angezeigt, im Firefox wie im angehängten Screenshot?
2. Wenn sich das Reading ändert, das Label neu aufgebaut wird und die Links fehlen, kann ich mit diesem Widget das Intialisieren neu anstoßen. Im Fully funktioniert das so wie es soll (Widgets werden nur einmal dargestellt), im Firefox hingegen sieht es wie im angehängten Screenshot aus....Doppellung der Widgets .... ein Klick wird auch doppelt gesendet :S

Gruß
Mathias