linkes Menü in Gruppen einteilen?

Begonnen von moelski, 28 Dezember 2016, 08:10:53

Vorheriges Thema - Nächstes Thema

moelski

Moin !

So langsam wird mein Menü auf der linken Seite dann doch etwas lang.
Besteht da evtl. die Möglichkeit das man die Einträge in Gruppe einsortiert - also in einer Art Tree Struktur?
Dann könnte man das was man gerade nicht benötigt einfach zusammenfalten.

Gibt es sowas, oder ist sowas ggf. mal geplant?

Grüße Dominik
Grüße Dominik

Benni

Zitat von: moelski am 28 Dezember 2016, 08:10:53
Gibt es sowas, oder ist sowas ggf. mal geplant?

Baumstruktur gibt es zwar nicht, aber FHEMWEB kennt das Attribut sortRooms

moelski

Moin !

Sortiert ist es bei mir schon ganz gut allein durch die Benamung.

Schade das es keine Baumstruktur gibt. Aber danke für die Info !
Grüße Dominik

rudolfkoenig

ZitatSchade das es keine Baumstruktur gibt.
Selbst ist der Mann (oder Frau? :) )
Mit einem kleinen eigenen JavaScript Programm sollte das doch machbar sein.
Bitte Ergebnis hier posten.

justme1968

es gibt irgendwo im forum einen patch von UlliM der eine art baum mit aufklappbaren ebenen implementiert.

ist aber älter und ich finde ihn gerade nicht.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

moelski

Moin !

ZitatSelbst ist der Mann (oder Frau?  )
Mann  ;)

ZitatMit einem kleinen eigenen JavaScript Programm sollte das doch machbar sein.
Hmm wie würde man das angehen?

Im HTML Code des Menüs findet man diese Tabelle:
</table></td></tr>
<tr><td><table class="room roomBlock3">

Die müsste man dann vermutlich umbauen, oder?

Wo wird das Menü denn überhaupt gebaut auf FHEM Seite?
Grüße Dominik

rudolfkoenig

ZitatDie müsste man dann vermutlich umbauen, oder?
Ja. Ist aber mit jQuery kein Hexenwerk.

ZitatWo wird das Menü denn überhaupt gebaut auf FHEM Seite?
In FHEMWEB.pm. Stammt aus der Zeit, wo HTML fuer mich neu, und JavaScript Teufelszeug war :)
Waere Zeit alles umzubauen, wenn nicht so viele Leute ihre Sachen schon davon abhaengig gebaut haetten.

UliM

#7
Zitat von: justme1968 am 28 Dezember 2016, 10:18:34
es gibt irgendwo im forum einen patch von UlliM der eine art baum mit aufklappbaren ebenen implementiert.
ist aber älter und ich finde ihn gerade nicht.
Hi,
grad gesucht und in meinen archivierten Versionen gefunden. Ist in FHEMWEB/html realisiert.
Basiert auf einer älteren FHEMWEB-Version (April 2014) , müsste also ggf in eine aktuelle Version portiert werden.

Die Raumerweiterung basiert auf folgenden Attributen:
sortRooms Schreibweise -> je Ast der Hierarchie muss geschrieben sein <HiLvlRoom>:<LoLvlRoom1><,LoLvlRoom2...><blank> also wie <Hi:Lo,Lo,Lo Hi:Lo Hi:Lo,Lo,Lo

Siehe Zeilen 1043ff, Änderungen sind mit #mod markiert
Werd's gleich mal erneut testen.... irgendwas war noch nicht perfekt - ich glaub die Einzüge der LoLvl-items. Da müsste man wohl mit css arbeiten.

Mit jQuery geht's wahrscheinlich eleganter, hab mich aber noch nie damit auseinandergesetzt.

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

moelski

Hallo Uli,

vielen Dank das du deinen Code zur Verfügung gestellt hast.
Will gerne beim Testen helfen, aber das hätte ich nie (in Perl) hinbekommen  :D

Habe jetzt folgendes gemacht:
* original 01_FHEMWEB.pm in 01_FHEMWEB.pm.org umbenannt
* deine Datei in 01_FHEMWEB.pm umbenannt und fhem neu gestartet

Im Log kann ich soweit auch keine Fehler erkennen bis auf das hier:
2017.01.08 15:00:09.987 1: configfile: WEB: unknown attribute JavaScripts. Type 'attr WEB ?' for a detailed list.
WEB: unknown attribute editConfig. Type 'attr WEB ?' for a detailed list.

Aber das sollte man ignorieren können ....

Jetzt hätte ich erwartet das ein Device z.B. ein neues Attribut hat "sortRooms". Hats aber nicht.  ???
Mache ich was falsch?

Mir ist auch aufgefallen das z.B. bei dem Attribut rooms kein Fenster mehr zur Selektion auf geht.
Liegt vermutlich an dem alten Stand von 01_FHEMWEB.pm wo du die Änderungen eingepflegt hast, oder?

Wäre es evtl. sinnvoll erstmal deinen Stand mit dem aktuellen fhem Stand zu mergen?

Hast du es bei dir wieder zum laufen bekommen?
Grüße Dominik

UliM

Hi,
um einen Effekt zu sehen musst Du auf der FHEMWEB-Instanz das Attribut sortRooms pflegen.
Unter Angabe der gewünschten Anzeigehierarchie, siehe vorheriger post.

Hab grad versucht es in eine aktuelle FHEMWEB-Version einzubauen, bin im ersten Anlauf gescheitert.

Der Mechanismus ist grundsätzlich, dass das Attribut sortRooms zerpflückt wird - es gibt die anzuzeigende Reigenfolge der Räume an.

Als Beispiel seit zunächst die Sortierung so angegeben:
attr WEB sortRooms Wohnung Wohnzimmer Esszimmer System Media
Wenn ich das hierarchisch darstellen will mit Haupträumen Wohnung und System würde ich das ändern zu
attr WEB sortRooms Wohnung:Wohnzimmer,Esszimmer System:Media
Klappt's damit? (die Raumnamen müssen natürlich echte Raumnamen aus Diner Installation sein)
Bitte pfleg das Attribut "manuell" - die Pflege per Attribut-Popup müsste man ggf mit überarbeiten, das ist nicht im patch enthalten.

Bevor ich hier Arbeit reinstecke möchte ich ein ok von Rudi, dass er das übernehmen würde - werde es minimal-ivasiv versuchen.

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

rudolfkoenig

Ich habe das eher als ein zusaetzliches .js vorgestellt: wenn man die Datei als JavaScripts Attribut angibt, dann wird das Menu umgebaut. Einen Parameter kreigt man beim JavaScripts auch geschenkt, und dafuer muss man nichts in FHEM umbauen. Gegen solche Loesungen habe ich nie was (Hmm: sag niemals nie?).

Auch wenn eine Baumdarstellung praktisch ist, ich finde es altbacken, und fuer default wuerde ich etwas nach dem Look&Feel von Mobil-Apps oder Webseiten mit ausklappbaren Menu realisieren. Ist aber noch nicht beschlossen, eher ein Gefuehl.

moelski

Hallo,

das klingt jetzt fast nach einem Henne Ei Problem  :D
Von Rudolf kommt irgendwann evtl. ein Update und die Erweiterung von Uli mag Rudolf nicht (wird also vermutlich nicht in der FHEM Repo landen).  :o

@Rudolf:
Hast du denn eine grobe Idee wann deine Lösung ggf. kommen könnte?

@Uli:
Kriegst du deine Lösung evtl. auf die JavaScript Variante umgebaut?

Grüße Dominik

rudolfkoenig

Ich bin nicht mal sicher, ob mein Umbau dein Problem loest, bzw. ich habe auch keinen konkreten Plan dafuer.
Ich habe kein Problem Patches einzubauen, die das bisherige Look&Feel nicht aendern, sondern nur mehr Klassen/Ids/etc hinzufuegen, damit ein Umbau seinerseits erfolgen kann.

moelski

Ok, also könnte also Uli einen Patch erstellen der auf der aktuellen FHEM Version basiert und er würde auch gemerged  :)

@Uli:
Falls du deine Lösung auf der neuen Version umsetzt würde ich das gerne für dich Testen  :)
Grüße Dominik

Pf@nne

Moin,

ich hätte auch Interesse an einer Tree-Struktur die Variante mit den "sortRooms" klingt doch nach einer recht brauchbaren Option.
Wird hier noch weiter geschraubt oder ist das Kind schon begraben?

Ich möchte diese Option nutzen um meine Devices innhalb eines Raumes zu trennen.
So könnten die Devices der täglichen Nutzung im "Frontroom" platz finden und die Devices mit Systemkarakter in den "Backroom" vebannt werden.
Auch die zugehörigen Plotts können in einem "Subroom" platz finden.

Dann findes sich auch die Frau in FHEM zurecht.....  8)

Gruß
Pf@nne
FHEM auf: DS415+ (Master), Raspberry Pi 2