Ankündigung

Einklappen
Keine Ankündigung bisher.

ID für jedes Element

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    ID für jedes Element

    Hallo zusammen,

    wir haben das ja in einem anderen Thread schon diskutiert, hier nochmal mein Vorschlag, etwas weitergedacht.

    Jedes Widget bekommt ein

    Code:
    data-path="foo_bar_foo_foo"
    Attribut. Hat das Widget in der XML-Config keine ID, wird

    Code:
    id="id_foo_bar_foo_foo"
    eingefügt, sonst eben

    Code:
    id="ID aus XML"

    Mit dem path-Data kann man wunderbar wie bisher die top-Navigation upzudaten (lässt sich genauso strukturieren wie bisher, also 0 und dann die Ebenen mit _getrennt). Darauf kann man mit

    Code:
    $('*[path="foo_bar_foo_foo"]')
    auch selektieren.

    Mit den IDs hätte man erstens die Möglichkeit die Umleitung auszuführen und würde zweitens das pagejump-by-name elegant lösen können, ohne im DOM rumzusuchen (was im übrigen "broken by design" ist, wenn ich das richtig gesehen habe. Was passiert denn, wenn ich z.B. zwei Seiten habe die "Beleuchtung" heissen, z.B. weil es Sub-Seiten verschiedener Gebäudeteile sind.)

    Chris hat angemerkt, dass doppelt vergebene ID zu einem ungültigen XML führen, was gut ist, bei Problemen kann config_check das dann rausfinden.

    Für das Umleiten könnte dann jedes Widget (oder zumindest manche) ein

    Code:
    ref="fremde_id"
    erhalten und die Click-Events werden entsprechend weitergeleitet. Das macht pagejump eigentlich fast überflüssig, ein <text> oder <image> mit ref-Attribut würde das dann genauso erledigen können.

    Gruss,

    der Jan
    KNX, DMX over E1.31, DALI, 1W, OpenHAB, MQTT
Lädt...
X