Zitat von: betateilchenDa ich viel öfters im Frontend eine gplot Datei bearbeiten muss als irgendwelche css oder svg Dateien und ausserdem die Liste unter "styles" auch noch immer länger wird, stelle ich einfach mal die Frage in den Raum, ob man diese beiden Listen in der Anzeige nicht vertauschen könnte, damit nicht immer weiter nach unten gescrollt werden muss. (dieser Punkt ist inzwischen erledigt)
Noch besser bzw. eine Alternative zum Vertauschen fände ich eine attributgesteuerte Möglichkeit, nicht benötigte Listen individuell komplett ausblenden zu können. Ich habe jedenfalls noch nie eine Datei unter "styles" bearbeitet bzw. bearbeiten müssen.
Im Anhang ein patch als Vorschlag, wie sich das über zwei Attribute steuern ließe.
Ich will eigentlich die Liste der FHEMWEB Attribute (z.Zt. 35) nicht unnoetig aufblasen.
Falls noch 2 weitere Benutzer es auch haben wollen, dann checke ich es ein.
Zitat von: rudolfkoenig am 28 April 2014, 14:51:06
die Liste der FHEMWEB Attribute (z.Zt. 35)
Wobei ja in diesem Zusammenhang durchaus die Frage erlaubt sei, ob alle dieser 35 Attribute tatsächlich Attribute von FHEMWEB sind bzw. sein müssen. Das ganze Plot-Gedöns gehört m.E. nach 98_SVG - dort sucht man manche Dinge nämlich auch zuerst und wundert sich, weil man (bei für logisch gehaltener Denkweise) dort nichts findet
Zitat von: rudolfkoenig am 28 April 2014, 17:02:54
Das Urspruengliche "mee too" fuer die style-Attribute will ich trotzdem sehen :)
Vielleicht kannst Du diesen Thread so teilen, dass die angelaufene technische Diskussion in einen eigenen Thread wandert, dann habe ich die Hoffnung, dass doch noch der eine oder andere Anwender versteht, worum es bei dem eigentlichen Vorschlag, wegen dem dieses Thema eröffnet wurde, überhaupt geht.
Geteilt und nach Developer verschoben.
Ich gehe runter mit meinem Angebot auf einem zusaetzlichen "mee too".
Mir gehts einfach um Übersichtlichkeit im Frontend bei kleinen Monitoren, nicht darum, Dir unnötige Arbeit zu machen.
Dann will ich mal optisch darstellen, worum es mir genau geht, vielleicht findet dann der eine oder andere die Idee doch auch noch gut.
Bisheriger Zustand:
(http://up.picr.de/18122919gn.png)
Mit dem Attribut showStylesList kann man die Liste mit den Style-Dateien ausblenden,
was zu einer übersichtlichen Anzeige wie dieser hier führt:
(http://up.picr.de/18122920wz.png)
Gleiches würde auch für die Liste mit den gplot-Dateien funktionieren:
(http://up.picr.de/18122950es.png)
Wenn ich ehrlich bin, fände ich es sinnvoller, die Listen über Javascript ein und ausblenden zu können (Buttons/Reiter/sonstiges). Dann hat man Übersicht UND Funktion ohne Attribute ständig ändern zu müssen.
ich hasse Javascript ...
die idee mit reitern oder zum aufklappen finde ich eigentlich auch schöner.
leider schon wieder off topic: das wäre auch etwas für die raum liste. ulim hatte da mal etwas gebastelt aber ich kenne den stand nicht.
Und ich mag die Möglichkeiten, die mir Javascript bietet. Geschmäcker sind verschieden. ;) Aber ohne Javascript habe ich die Listen lieber alle beisammen.
Ich denke, die Umsetzung per JavaScript wäre eher etwas für den generelle FHEMWEB Neubau, den Rudi ja ohnehin in der Pipeline hat.
Aber offenbar besteht sehr wohl ein Bedarf an einer Möglichkeit zum Ausblenden - das Abschalten wäre also der erste Schritt und schnell und unkompliziert einzusetzen.
Zitat von: marvin78 am 29 April 2014, 14:09:05Aber ohne Javascript habe ich die Listen lieber alle beisammen.
Sei mal bitte ehrlich: Wann hast Du zum letzten Mal eine der dort unter "styles" angebotenen Dateien tatsächlich im fhem-Frontend bearbeitet?
Ausserdem wäre das Standardverhalten ja weiterhin "alles anzeigen" - Du müsstest einen Bereich also aktiv abschalten, wenn Du ihn nicht sehen möchtest. Für Dich ist es also überhaupt kein Unterschied.
ich hatte ja eingebaut das man den plot editor per klick ausblenden kann. das waren keine 5 zeilen code.
das könnte man sehr schnell verallgemeinern und in das FW_makeTable einbauen. damit könnte man jeden rahmen auf und zu klappen. und deine attribute verwenden um anzugeben welche per default eingeblendet, welche zusammen geklappt und welche ganz verschwinden sollen.
ja, könnte man. Also braucht man die Attribute doch :P
aber nicht die gleichen :)
eher etwas wie
attr <...> framesToShow .*sh|[0-9][0-9].*Util.*pm|.*cfg|.*holiday|.*layout gplot css|svg:hidden
also ein attribut das alle frames in der reihenfolge auflistet die gezeigt werden sollen und dahinter angibt ob aufgeklappt oder zugeklappt.
man könnte damit sogar die zuordnung von file extension zum frame frei konfigurierbar machen.
DANN möchte ich aber auch gleich Frames selbst beliebig definieren können!
Einen Frame für die RSS Layout Dateien...
Und einen Frame für die holiday Dateien...
Und einen Frame für die eigenen *Utils.pm ...
Zitat von: betateilchen am 29 April 2014, 14:02:18
ich hasse Javascript ...
Ginge das nicht auch per CSS?
und ich wollte eigentlich nur zwei einfache Schalter haben :P
ja. das war die idee. das attribut wird an den leerzeichen gesplittet und die teile sind jeweils die regex der extentions die in einen rahmen kommen. dahinter optional jeweils ob der default aufgeklappt oder zugeklappt ist.
die eine zeile java script brauchst du um den klick auszuwerten und dann auf und zu zu klappen. das ein oder ausgeblendet anzeigen selber geht per css
und ich hab statt dessen nur einen schalter vorgeschlagen. zugegeben etwas komplizierter aber er kann auch mehr :)
ich wollte einen Schalter, den auch meine Oma bedienen könnte. Du hast stattdessen ein Codeschloss mit 128 Stellen Eingabe vorgeschlagen...
wenn du auf das konfigurieren der anzahl und des inhaltes der rahmen verzichtest kann man das schloss auf zwei stellen beschränken und deine oma sollte auch wieder damit klar kommen.
du könntest sicher auch das komplizierte bedienen.
mit der folgenden kleinen änderung in FW_displayFileList ist die überschrift über jede liste anklickbar und klappt die zugehörige liste ein und aus.
--- /Users/andre/fhem-code/fhem/FHEM/01_FHEMWEB.pm 2014-04-28 13:33:07.000000000 +0200
+++ 01_FHEMWEB.pm 2014-04-29 15:12:45.000000000 +0200
@@ -1512,8 +1512,11 @@
my ($heading,@files)= @_;
my $hid = lc($heading);
$hid =~ s/[^A-Za-z]/_/g;
- FW_pO "<div class=\"fileList $hid\">$heading</div>";
- FW_pO "<table class=\"block fileList\">";
+ my $pgm = "Javascript:" .
+ "s=document.getElementById('$hid').style;".
+ "s.display = s.display=='none' ? 'block' : 'none';";
+ FW_pO "<a class=\"fileList $hid\" onClick=\"$pgm\">$heading</a>";
+ FW_pO "<table id=\"$hid\" class=\"block fileList\">";
my $cfgDB = "";
my $row = 0;
foreach my $f (@files) {
dein initialen zustand (aufgeklappt, zugeklappt, nicht vorhanden) für jede liste könnte man dann könnte man mit einem einzigen attribut abdecken: attr <xxx> fileLists config own:hidden gplot:hidden
-> config aufgeklappt, own files und gplot zugeklappt, styles nicht vorhanden.
Für die letzte Lösung gäbe es ein "me too" ;)
Die letzte Lösung merkt sich aber das aufgeklappt/zugeklappt nicht. Wenn man mehrere Files hintereinander bearbeiten will ist das nicht zu gebrauchen.
Da du es doch ohnehin immer verstecken möchtest wäre das doch über das Attribut für dich nicht viel anders als deine Lösung. Und wenn man dann doch mal die CSS-Dateien ändern möchte, sind sie schnell zu sehen.
anbei ein patch der das wie oben vorgeschlagen über ein attribut editFileLists konfigurierbar macht.
wenn interesse besteht würde ich das heute abend noch erweitern so das es auch möglich ist die liste der extentions zu konfigurieren. das würde mit dem gleichen attribut und einer etwas erweiterten syntax gehen. also 2 und 128 stellen mode und die mischung aus beidem.
für das merken des ein- und ausgeklappt zustandes habe ich eine idee. kann ich aber auch erst heute abend testen.
der patch kann jetzt schon drei dinge:
- attribut nicht gesetzt -> alles wie bisher
- attribut nur mit einer mischung aus config, own, gplot und styles gesetzt -> reihenfolge der listen konfigurierbar
- zusätzlich jeweils mit :hidden modifier -> default sichtbarkeit
Zitat von: justme1968 am 29 April 2014, 15:39:21
- attribut nur mit einer mischung aus config,
config bitte aussen vor lassen, das wird jetzt schon über configDBUsed() gesteuert und es würde verwirren, wenn es im Attribut als sichtbar konfiguriert wird und trotzdem nicht erscheint. Es macht keinen Sinn, eine fhem.cfg anzuzeigen, wenn mit configDB gearbeitet wird, deshalb wird dieser Bereich jetzt schon automatisch ausgeblendet.
@Rudi: ich hatte ursprünglich eine völlig simple Lösung vorgeschlagen. Pragmatisch, funktional und für jedermann in der Anwendung zu verstehen. Nur zur Erinnerung.
config wird nur angezeigt wenn kein configDBUsed gesetzt ist. wie. sicher auch.
die version die ich im auge habe und nachher poste hat für den sortieren und ein und aus blenden teil weniger code als die aktuelle version und nur ein attribut das in der einfachen version denke ich auch für jeden verständlich ist.
das ein und ausklappen würde dazu kommen. immer noch einfach mit einer Hand voll code mehr.
also erst mal alles simpel und einfach.
die version dir die extensions konfigurierbar macht kommt fast umsonst mit und nur die syntax des attributes ist etwas komplexer. damit kommt aber niemand im berührung der es nicht verwendet.
Zitat von: justme1968 am 29 April 2014, 15:39:21
anbei ein patch der das wie oben vorgeschlagen über ein attribut editFileLists konfigurierbar macht.
Du solltest einen default Wert verwenden, wenn das Attribut überhaupt nicht belegt ist, sonst sieht man nämlich plötzlich gar nix mehr.
Zitat von: justme1968 am 29 April 2014, 17:46:48
config wird nur angezeigt wenn kein configDBUsed gesetzt ist. wie. sicher auch.
hä? das hab ich jetzt nicht verstanden.
es gibt doch einen default wert ...
wenn man das Attribut löscht, sieht man nix mehr.
das soll natürlich nicht sein.
ich hatte ganz ohne attribut getestet und es war wie bisher.
ich schau noch mal.
ok, präziser formuliert:
Ist das Attribut nicht vorhanden => alles wie bisher
Ist das Attribut vorhanden und mit Werten gefüllt => Attribut wird ausgewertet
Ist das Attribut vorhanden aber nicht mit Werten gefüllt (nach dem Bearbeiten im Frontend steht eine 1 drin) => man sieht nix mehr
ok. wenn nichts sinnvolles drin steht kann natürlich nichts angezeigt werden.
wie kann da unbeabsichtigt eine 1 rein rutschen?
wenn es beabsichtig war ist des resultat doch eigentlich klar...
Zitat von: justme1968 am 29 April 2014, 18:06:48
wie kann da unbeabsichtigt eine 1 rein rutschen?
nichts einfacher als das: klicke das Attribut zum Bearbeiten an und lösche den gesamten Inhalt des Textfeldes...
hier eine version mit folgender funktionalität:
- attribut nicht gesetzt ( inklusive '1' (fhemweb bug ?) ) -> alles wie bisher. auch kein ein und aus klappen
- attribut gesetzt auf eine beliebige (mit leerzeichen getrennte) mischung von config, own, gplot, styles -> nur die angegbenen file gruppen sind genau in dieser reihenfolge verfügbar, ohne ein und aus klappen
- hinter jedes schlüsselwort kann ein :hidden oder :visible gehängt werden -> diese gruppe kann auf und zu geklappt werden, der modifier gibt den default beim anzeigen der seite an
- zusätzlich und anstelle der vier vordefinierten schlüsselwörter kann jeder teil als <regex>[:<name>[:<sichtbarkeit]] geschrieben werden -> es werden zusätzliche gruppen mit den files die auf die jeweilige regex passen angezeigt
beispiele:
das ist der default und exakt das aktuelle aussehen und verhalten:
attr WEB editFileGroups config own gplot styles
die reihenfolge von styles und gplot sind vertauscht, styles zugeklappt und gplot zu klappbar:
attr WEB editFileGroups config own styles:hidden gplot:visbile
zusärtlich zu den default gruppen gibt es noch ein block mit allen fhem modulen, ein block mid dblog config, ein mal das lightscene save file und die swap device xml files:
attr WEB editFileGroups config:visible own gplot:hidden styles:hidden FHEM/.*.pm:FHEM:hidden ./.*.db:db log/LightScenes.save:LS ./FHEM/lib/SWAP/.*/.*.xml:SWAP
wenn man auf die konfigurierbarkeit der zusätzlichen gruppen per regex verzichtet wird der patch natürlich deutlich kleiner. wenn man auf die möglichkeit das es gruppen gibt die überhaupt nicht zugeklappt werden können verzichtet ebenso.
wenn man auch noch auf das auf und zu klappen verzichtet bleibt nur das umordnen und deaktivieren. der patch wird natürlich noch kleiner :)
die zuzätzlich konfigurierbaren gruppen haben zur zeit noch die einschränkung das nur files innerhalb der vier vorgesehen pfade (für das config file, FHEM, gplot, und pgm2) auch wirklich anklickbar und editerbar sind. alles ausserhalb wird zur zeit nicht gefunden. das gilt auch für das swap beispiel oben. die frage wäre ob man das anpasst.
das persistetnte speichern das auf- und zugeklappt zustandes würde ich dann einbauen wenn der patch überhaupt in frage kommt.
Ich bin zunehmend irritiert: eigentlich sollte mit FHEMWEB gar keine Datei direkt editiert werden, ist eher eine Notloesung, oder Hilfe beim debuggen. Ich fasse diese Liste nur an, wenn irgendwelche Bugs in diesem Zusammenhang gemeldet werden, oder codemirror teste.
Ich habe schon die Reihenfolge fuer betateilchen umgestellt, damit er nicht scrollen muss, aber eine Wissenschaft daraus, was in welcher Reihenfolge wie zugeklappt angezeigt wird, will ich nicht machen, ich vermute das ganze verkommt hier zum Selbstzweck.
Falls irgendwelche Dateien oefters direkt editiert werden muessen, dann sollten wir lieber daruber nachdenken, wie man das vermeiden kann. Fuer das "ab und zu" wird aber keiner ein Attribut vermissen.
Korrigiert mich bitte, falls ich was nicht verstanden oder uebersehen habe.
ich hab kein problem damit den kompletten edit files punkt zu streichen :)
Zitat von: justme1968 am 30 April 2014, 08:37:38
ich hab kein problem damit den kompletten edit files punkt zu streichen :)
Ich hätte damit ein Riesenproblem.
Zitat von: rudolfkoenig am 30 April 2014, 08:34:01
Ich bin zunehmend irritiert:
Ich auch :(
Zitat von: rudolfkoenig am 30 April 2014, 08:34:01
Korrigiert mich bitte, falls ich was nicht verstanden oder uebersehen habe.
Wer mit configDB arbeitet, ist auf die Verfügbarkeit des Menüpunktes angewiesen. Denn die Konfigurationsdateien, die inzwischen aus der Datenbank gelesen werden (RSS Layouts, holiday Dateien, gplot Dateien, lassen sich nicht mehr ohne weiteres ausserhalb von fhem editieren.
Ich gebe Dir völlig recht damit, dass man das manuelle Editieren von solchen Dateien wo immer möglich vermeiden sollte. Aber in manchen Fällen kommt man nicht drumrum. Beispiele: die RSS Layouts generell, die gplot Dateien in Spezialfällen (z.B. mehr als zwei y-Achsen), die holiday-Dateien (ich nutze die z.B. auch für meinen Müllkalender)
Auch die 99_myUtils lassen sich in "Edit files" hervorragend bearbeiten, vor allem, wenn man den codemirror benutzt und das Syntaxhighlighting zu schätzen gelernt hat.
Man kann sich darüber unterhalten, welche Dateien man in der Anzeige "Edit files" künftig überhaupt anbieten will. Der Bereich "styles" ist da für mich völlig entbehrlich. Wenn dieser Bereich wegfällt, bleiben noch Own files und gplot übrig. Damit wäre die Übersichtlichkeit in der Anzeige schon erheblich verbessert und die Attributierbarkeit nicht mehr notwendig. Das war der Hintergrund für die vorgeschlagenen zwei einfachen Abschalt-Attribute.
Das ganze "Reihenfolgen-Auf-und-Zuklapp-Gedöns" brauch
ich auch nicht.
Zitat von: rudolfkoenig am 29 April 2014, 13:33:12
Ich gehe runter mit meinem Angebot auf einem zusaetzlichen "mee too".
Gegenvorschlag zur Verhandlung und um zu einer pragmatischen Lösung zu kommen:
- Kommentiere die beiden Zeilen zur Anzeige der Filelist "styles" aus und lass uns abwarten, ob irgendjemand die Liste jemals vermisst
- damit werden keine zusätzlichen Attribute benötigt, was Deinem Plan "keine zusätzlichen Attribute für FHEMWEB" entgegenkommt
- die Zielsetzung, Übersichtlichkeit zu schaffen, wäre erfüllt
- die Editierbarkeit von Konfigurationsdaten innerhalb fhem bleibt erhalten
Und das Wichtigste:
Zitat von: rudolfkoenig am 22 April 2014, 21:17:46
Patches, die Code entfernen, haben immer Vorrang :)
wäre somit auch gegeben :P
Ich würde die Liste vermissen. Es gibt zwar viele andere Möglichkeiten aber ich finde den Editor (mit Codemirror) auch für das CSS sehr praktisch.
Da ich die Diskussion jetzt leid war, habe ich eine etwas einfachere Version von justme1968's Patch (ohne hidden) eingebaut.
Ich ziehe hiermit meinen Änderungswunsch zurück, da ich mit der jetzt umgesetzten Lösung nichts anfangen kann.
(http://www.buena-la-vista.de/buenalog/wp-content/uploads/projektmanagement.jpg)
ich fürchte diese version hat alle nachteile und keinen vorteil der anderen vorschläge.
es ist weder möglich nur ein element auszublenden noch die reihenfolge zu ändern ohne die komplette konfiguration inklusive aller extentions angeben zu müssen.
der oma mode fehlt eindeutig.
@betateilchen: na dann nicht, ich habe die Aenderungen wieder ausgebaut. Und in der Reihe fehlt noch das Bild mit "Was der Programmierer mit dem Kunden gemacht hat, nachdem er die Bestellung zurueckgenommen hatte"
@justme1968: das Attribut waere eh nicht fuer die Oma, die editiert eh nicht so viel herum, und wenn doch, dann laesst sie diese Liste in Ruhe.
Zitat von: rudolfkoenig am 01 Mai 2014, 16:27:59
@betateilchen: na dann nicht, ich habe die Aenderungen wieder ausgebaut.
Danke.
Schade, dass aus einem vorgeschlagenen simplen Schalter, den auch Oma bedienen könnte, solch ein Krampf werden musste, der noch dazu von Leuten vorgeschlagen wurde, die sich bisher noch nie darüber Gedanken gemacht hatten, ob man an der Stelle überhaupt etwas verändern könnte/sollte.