svg hide/show reihenfolgen problem

Begonnen von justme1968, 03 Februar 2015, 20:39:58

Vorheriges Thema - Nächstes Thema

justme1968

wenn man nach einem hide das show über das menü über einem anderen eintrag in der legende aufruft kommt die plot ansicht mit den zeigen/verstecken durcheinander bis man das show über das menü der ursprünglich ausgeblendeten kurve einblendet.

für die bedienung wäre es vermutlich am schönsten wenn in dem menü einer gerade nicht sichtbaren kurve ein 'show all' um alle zu zeigen und ein 'show this' um die gerade sichtbare linie direkt umzuschalten.

vielleicht wäre sogar ein 'hide this' bei gerade sichtbaren linie schön um z.b. von drei kurven nur eine auszublenden.

damit könnte man dann eine beliebige anzahl kurven ein und ausblenden.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

rudolfkoenig


justme1968

#2
anbei ein vorschlag für einen patch der es erlaubt eine beliebige kombination von kurven zu verstecken oder einzublenden. im kontext menü gibt es jetzt:

- show/hide
- hide other
- show all

die menüpunkte sind jeweils nur anwählbar wenn es auch sinnvoll ist.

für ausgeblendete kurven wird der zugehörige label in der legende schwächer dargestellt. sobald nur noch eine kurve sichtbar ist wird wie bisher der alternative titel eingeblendet.

ich finde mit den zusätzlichen optionen kann man mit weniger klicks das gleiche wie bisher erreichen (durch das direkte springen von einer kurve zu einer andern ohne vorher zuerst wieder etwas einblenden zu müssen) und hat darüber hinaus noch zusätzliche möglichkeiten wie z.b. zwei kurven aus einer größeren anzahl miteinander zu vergleichen.


das ganze ist noch ohne die animation beim ein und aus blenden, die kann aber einfach eingebaut werden.

die neuen menü punkte sind noch zusätzlich zu den beiden bisherigen. das müsste natürlich auch noch geändert werden falls der patch endgültig eingebaut wird.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

rudolfkoenig

Ich wehre mich nicht dagegen. Bemerkungen:
- Hide other lines ist damit ueberfluessig
- es existieren die jQuery Funktionen addClass/removeClass/toggleClass/hasClass
- im Fall 6 muesste sel gleich this sein, und statt selNode.isHidden wuerde ich $($this).hasClass("hidden") verwenden.

justme1968

für die endgültige version würde ich das bisherige hide other lines entfernen und nur die animation beibehalten.

die jquery class funktionen vertragen sich scheinbar nicht mit SVG objekten. sie tun einfach nichts. scheinbar gibt es sogar ein extra jquery SVG plugin.

die idee war den code der drei fälle so ähnlich wie möglich zu lassen. so lange nicht optimiert werben muss. ich schaue mal ob es einen merklichen unterschied macht.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

anbei eine aktualisierte version:

- die animationen sind eingebaut
- der bisherige hide other lines/show all lines eintrag ist entfernt
- wenn eine kurve für die show values gesetzt ist versteckt wird wird show values deaktiviert
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

rudolfkoenig


fhainz

Sehr cooles Feature, danke!

Funktioniert das "Display plot values" bei euch unter Safari? Bei mir bleibt der Punkt in der linken Oberen Ecke und bewegt sich nicht, siehe Screenshot. Mit Firefox oder Chrome habe ich keine Probleme.

Grüße

justme1968

safari scheint probleme damit zu haben direkt auf die punkte liste zuzugreifen.

wenn man statt dessen die numberOfItems und getItem methoden verwendet geht es.

die angehängte version geht bei mir mit safari, chrome und firefox.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

fhainz

Funktioniert auch bei mir. Danke!

Grüße

rudolfkoenig