FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: dadoc am 18 März 2018, 10:27:43

Titel: Gridster-Drag‘n Drop-Aktion in fhem auswerten?
Beitrag von: dadoc am 18 März 2018, 10:27:43
Hallo,
Gibt es irgendeine Möglichkeit, eine Drag'n Drop-Aktion in fhem auszuwerten, m.a.W. wenn man etwa in ftui ein Widget auf oder neben ein anderes zieht?
Grüße
Martin
Titel: Antw:Gridster-Drag‘n Drop-Aktion in fhem auswerten?
Beitrag von: setstate am 18 März 2018, 10:30:36
Aktuell nicht. Da musst es ein Stück Code geben, was auf die entsprechenden Events lauscht und dann damit ein Cmd für FHEM baut und wegschickt. Sollte nicht schwer sein. Freiwillige Plugin-Entwickler vor!
Titel: Antw:Gridster-Drag‘n Drop-Aktion in fhem auswerten?
Beitrag von: Thorsten Pferdekaemper am 18 März 2018, 12:12:18
Hi,
so etwas passiert hier:
https://forum.fhem.de/index.php/topic,85869.0.html
...und noch ein "bisschen" mehr.
Gruß,
   Thorsten
Titel: Antw:Gridster-Drag‘n Drop-Aktion in fhem auswerten?
Beitrag von: dadoc am 18 März 2018, 15:49:06
Wow Thorsten, sehr beeindruckend das Video! Da scheint das Drag'n Drop ja in der Tat nur ein ,,Randprodukt" des Ganzen zu sein. Was ich suche ist quasi etwas, das - wenn ich etwa das Widget von Musicplayer1 auf das Widget von Musicplayer2 ziehe, einen Befehl wie ,,set Musicplayer1 sync Musicplayer2" sendet bzw. einen Dummy triggert, damit sich auch die Anzeige in ftui an den dann neuen Syncstatus anpasst.
Ist so etwas vielleicht irgendwo in Deinem Code extrahierbar?
Grüße
Martin
Titel: Antw:Gridster-Drag‘n Drop-Aktion in fhem auswerten?
Beitrag von: dadoc am 18 März 2018, 15:51:53
Zitat von: setstate am 18 März 2018, 10:30:36
Freiwillige Plugin-Entwickler vor!
Ich würde ja gern, aber da fehlt mir doch noch zuviel Wissen. Bin schon ganz stolz, dass ich das (inoffizielle und entwicklerseitig verwaiste) Modul für den Owl-Energiemesser in einer Reihe von Punkten aktualisiert habe, aber frag mich nicht, wie lange ich für so etwas brauche...
Titel: Antw:Gridster-Drag‘n Drop-Aktion in fhem auswerten?
Beitrag von: Thorsten Pferdekaemper am 18 März 2018, 21:18:44
Zitat von: dadoc am 18 März 2018, 15:49:06
Wow Thorsten, sehr beeindruckend das Video! Da scheint das Drag'n Drop ja in der Tat nur ein ,,Randprodukt" des Ganzen zu sein. Was ich suche ist quasi etwas, das - wenn ich etwa das Widget von Musicplayer1 auf das Widget von Musicplayer2 ziehe, einen Befehl wie ,,set Musicplayer1 sync Musicplayer2" sendet bzw. einen Dummy triggert, damit sich auch die Anzeige in ftui an den dann neuen Syncstatus anpasst.
Ist so etwas vielleicht irgendwo in Deinem Code extrahierbar?
Möglicherweise schon, aber nicht so direkt. Bei mir ist das "Droppable" immer eine ganze FTUI-Zelle und kein Widget. Das "Draggable" ist eher sowas wie ein Widget. Das ganze geht im Prinzip mit JQuery UI Draggable und Droppable. Bei einem Drop-Event wird in meinem Coding tatsächlich ein FHEM-Kommando abgesetzt. Allerdings geht das bei mir immer auf die lokale FHEM-Instanz. (Bei FTUI darf das FHEM auch woanders laufen, was auch von FUIP unterstützt wird. D.h. es gibt eine Unterscheidung zwischen der FUIP-Instanz und der "eigentlichen" FHEM-Instanz.)
Du kannst aber ruhig mal in der Datei fuip.js nach "fuip-draggable" und "fuip-droppable" suchen und Dich durchwühlen.
Gruß,
    Thorsten
Titel: Antw:Gridster-Drag‘n Drop-Aktion in fhem auswerten?
Beitrag von: setstate am 19 März 2018, 02:56:59
ich habe mal etwas versucht ...
So könnte man das definieren


                    <div class="drop" data-type="symbol" data-device="Musicplayer2" data-set="sync"></div>
                    <div class="drag" data-type="symbol" data-device="Musicplayer1"></div>
Titel: Antw:Gridster-Drag‘n Drop-Aktion in fhem auswerten?
Beitrag von: dadoc am 19 März 2018, 12:48:56
Wow - das ist genial! Vor allem auch deshalb, weil man keine eigene Gridster-Box pro Element braucht (ich bastle nämlich die gesamte Mediasteuerung in eine einzelne große Gridster-Box, da ich bislang noch keinen anderen Weg gefunden habe, dieser (Pagetab-Unter-)Seite ein anderes Hintergrundbild zuzuweisen als den anderen (die es aus der user-css beziehen)).
Vielen Dank &
viele Grüße
Martin