patch zur mehrfach selektion für das room attribut

Begonnen von justme1968, 21 Februar 2014, 16:21:10

Vorheriges Thema - Nächstes Thema

rudolfkoenig

Hast du zum Schluss auch auf den "attr" Knopf gedrueckt? Vom Enter drucken weiss ich nix, habs auch nicht getestet.
Und ich dachte du mags so'n Schnickschnack nicht, hast ja deswegen widgetOverride bekommen.
attr WEB widgetOverride room:textField

betateilchen

Zitat von: rudolfkoenig am 08 Mai 2014, 13:19:03
Hast du zum Schluss auch auf den "attr" Knopf gedrueckt?

Hab ich doch ausdrücklich dazugeschrieben?

Zitat von: rudolfkoenig am 08 Mai 2014, 13:19:03
Und ich dachte du mags so'n Schnickschnack nicht, hast ja deswegen widgetOverride bekommen.

unabhängig davon, ob ich es mag oder nicht, sollte es ja trotzdem zumindest funktionieren.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

ZitatHab ich doch ausdrücklich dazugeschrieben?

Eben nicht. Ich meinte diesen Knopf (angehaengt)

OT: wie haengt man Bilder direkt rein?

betateilchen

Zitat von: rudolfkoenig am 08 Mai 2014, 13:54:08
OT: wie haengt man Bilder direkt rein?

so... (frag nicht... die Forumsoftware ist noch an vielen anderen Stellen sehr krampfig...)

(http://up.picr.de/18221549xd.png)

Ich habe den room-Button angeklickt, das scheint das gleiche zu bewirken. Aber egal welchen man nun anklicken muss - es ist unlogisch, einen bereits voreingestellten Button klicken zu müssen, wenn es ein Eingabefeld für Text gibt, in dem eine durchgeführte Eingabe erscheint. Dann sollte die Enter-Taste zum Verarbeiten genügen, so wie es vorher auch war.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

svenson08

Ich glaube ich hab das gleiche beobachtet und das Eingabefeld hat nach dem Schließen des Dialogs nicht den Focus. Und dadurch funktioniert das Übernehmen mit Enter nicht.
Wäre es nicht sinnvoller beim Schließen des Dialogs mit OK gleich das übernehmen des Attributs auszulösen?
Ich bin auch darauf reingefallen den Dialog zu schließen und dann nicht den Attr Schalter zu betätigen.

rudolfkoenig

Zitatso... (frag nicht... die Forumsoftware ist noch an vielen anderen Stellen sehr krampfig...)
Dass es geht, weiss ich, nur nicht wie, und das immer noch nicht.

Zitates ist unlogisch, einen bereits voreingestellten Button klicken zu müssen,
Da will ich nicht wiedersprechen, die Reihenfolge entspricht aber der Kommandozeile.
Und mir ist nix besseres eingefallen.

ZitatWäre es nicht sinnvoller beim Schließen des Dialogs mit OK gleich das übernehmen des Attributs auszulösen?
Das Widget kennt aber die uebergeordnete Struktur nicht.

betateilchen

Zitat von: rudolfkoenig am 08 Mai 2014, 14:09:49
Dass es geht, weiss ich, nur nicht wie, und das immer noch nicht.

ich weiss das auch nicht, sorry.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

svenson08

ZitatDas Widget kennt aber die uebergeordnete Struktur nicht
Was ist mit Struktur gemeint?

rudolfkoenig

Der Dialog hat keine Ahnung, ob es an attr/set/get oder was anderes haengt.

justme1968

könnte man dem dialog nicht mitgeben wodurch er aktiviert würde? also klick auf das textfeld. und diesem danach wieder den focus geben?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

svenson08

Dem Dialog wird doch schon mitgegeben was er als Inhalt anzeigen soll. Lassen sich dem Widget nicht noch weitere Parameter mit geben?

rudolfkoenig

Es geht alles, mit dazu passenden Problemen. Aendert aber nichts daran, dass attr vorne nicht intuitiv, und hinten auch komisch ist.

@justme1969: das input wird auf readonly gesetzt, damit das Dialog zuverlaessig ausgeloest wird.
@svenson08: das ist halt eine selbstgebaute API, man kann es aendern, sollte aber abgestimmt sein mit dem Rest der widgets.

svenson08

Hallo Rudi,

folgender Patch für 01_FHEMWEB nutzt auch für Gruppen dein Multiselct Widget. FW_groups könnte ich dazu noch sehr gut im Dashboard nutzten. Wäre schön wenn es in das offizielle 01_FHEMWEB übernommen würde.


--- 01_FHEMWEB.pm
+++ 01_FHEMWEB.pm
@@ -93,6 +93,7 @@ my %FW_icons;      # List of icons
my @FW_iconDirs;   # Directory search order for icons
my $FW_RETTYPE;    # image/png or the like
my %FW_rooms;      # hash of all rooms
+my %FW_groups;      # hash of all groups
my %FW_types;      # device types, for sorting
my %FW_hiddengroup;# hash of hidden groups
my $FW_inform;
@@ -778,6 +779,16 @@ FW_updateHashes()
     }
   }

+  #################
+  # Make a group  hash
+  %FW_groups = ();
+  foreach my $d (keys %defs ) {
+    next if(IsIgnored($d));
+    foreach my $r (split(",", AttrVal($d, "group", ""))) {
+      $FW_groups{$r}{$d} = 1;
+    }
+  } 

   ###############
   # Needed for type sorting
   %FW_types = ();
@@ -953,7 +964,10 @@ FW_doDetail($)
   my $attrList = getAllAttr($d);
   my $roomList = "multiple,".join(",",
                 sort map { $_ =~ s/ /#/g ;$_} keys %FW_rooms);
+  my $groupList = "multiple,".join(",",
+                sort map { $_ =~ s/ /#/g ;$_} keys %FW_groups);
   $attrList =~ s/room /room:$roomList /;
+  $attrList =~ s/group /group:$groupList /;
   $attrList = FW_widgetOverride($d, $attrList);
   FW_makeSelect($d, "attr", $attrList,"attr");



Mal noch ein informelle Frage von mir, ist das erstellte Diff so nutzbar? Oder muss man beim erstellen eines Diffs was beachten?

Gruß Svenson

rudolfkoenig