FHEM > readingsGroup / readingsHistory

sortColumn: Sortierung nur nach Klick?

(1/4) > >>

mahowi:
Hallo,

ich habe eine readingsGroup für die Termine aus dem Abfallkalender. Die Tabelle soll jetzt nach dem nächsten fälligen Termin sortiert werden. Dazu habe ich "sortColumn" gesetzt. Es wird aber nur sortiert, wenn ich die Spalte anklicke. Beim ersten Anzeigen sieht die Liste so aus wie im Screenshot. Hier mal ein list:

--- Code: ---Internals:
   CFGFN
   DEF        Abfall:<Tag>,<Datum>,<>,<Ereignis>,<Tage>
Abfall:Restabfall_wochentag,Restabfall_datum,<%dustbin>,Restabfall_text,Restabfall_tage
Abfall:Altpapier_wochentag,Altpapier_datum,<%dustbin@04D921>,Altpapier_text,Altpapier_tage
Abfall:Bioabfall_wochentag,Bioabfall_datum,<%dustbin@D2691E>,Bioabfall_text,Bioabfall_tage
Abfall:GelberSack_wochentag,GelberSack_datum,<%dustbin@FFFF00>,GelberSack_text,GelberSack_tage
Abfall:Sperrmuell_wochentag,Sperrmuell_datum,<%scene_livingroom@01A3F5>,Sperrmuell_text,Sperrmuell_tage
Abfall:Gruenabfall_wochentag,Gruenabfall_datum,<%christmas_tree@2B6B17>,Gruenabfall_text,Gruenabfall_tage
Abfall:Weihnachtsbaeume_wochentag,Weihnachtsbaeume_datum,<%christmas_tree@2B6B17>,Weihnachtsbaeume_text,Weihnachtsbaeume_tage
   NAME       rgAbfallkalender
   NR         17
   NTFY_ORDER 50-rgAbfallkalender
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Abfall     1
   Content2:
   DEVICES:
     ARRAY(0x5261e48)
     ARRAY(0x51a5810)
     ARRAY(0x52617b8)
     ARRAY(0x52f2080)
     ARRAY(0x1a2e330)
     ARRAY(0x5221530)
     ARRAY(0x5221518)
     ARRAY(0x160ed80)
   Fhem:
     lastDefChange 4
     last_update 1483602702.23965
   Helper:
     DEF
     valueStyle { if ($READING eq "*._tage" && $VALUE == 0) { 'style="color:red"'}
elsif ($READING eq "*._tage" && $VALUE == 1 ) { 'style="color:yellow"'}
elsif ($READING eq "*._tage" && $VALUE > 1 && $VALUE < 8) { 'style="color:green"'} }
     Positions:
       Abfall.Altpapier_datum 3:2
       Abfall.Altpapier_tage 3:5
       Abfall.Altpapier_text 3:4
       Abfall.Altpapier_wochentag 3:1
       Abfall.Bioabfall_datum 4:2
       Abfall.Bioabfall_tage 4:5
       Abfall.Bioabfall_text 4:4
       Abfall.Bioabfall_wochentag 4:1
       Abfall.GelberSack_datum 5:2
       Abfall.GelberSack_tage 5:5
       Abfall.GelberSack_text 5:4
       Abfall.GelberSack_wochentag 5:1
       Abfall.Gruenabfall_datum 7:2
       Abfall.Gruenabfall_tage 7:5
       Abfall.Gruenabfall_text 7:4
       Abfall.Gruenabfall_wochentag 7:1
       Abfall.Restabfall_datum 2:2
       Abfall.Restabfall_tage 2:5
       Abfall.Restabfall_text 2:4
       Abfall.Restabfall_wochentag 2:1
       Abfall.Sperrmuell_datum 6:2
       Abfall.Sperrmuell_tage 6:5
       Abfall.Sperrmuell_text 6:4
       Abfall.Sperrmuell_wochentag 6:1
       Abfall.Weihnachtsbaeume_datum 8:2
       Abfall.Weihnachtsbaeume_tage 8:5
       Abfall.Weihnachtsbaeume_text 8:4
       Abfall.Weihnachtsbaeume_wochentag 8:1
     Values:
       formated:
         undef
         ARRAY(0x5261170)
         ARRAY(0x4f10f48)
         undef
         ARRAY(0x51a4fb8)
         ARRAY(0x5233e40)
       orig:
         undef
         ARRAY(0x51fde30)
         ARRAY(0x525b2b8)
         undef
         ARRAY(0x52f02f8)
         ARRAY(0x53197f0)
       prefixsuffix:
         undef
         ARRAY(0x516a068)
         ARRAY(0x183ee40)
         undef
         ARRAY(0x51a4f10)
         ARRAY(0x52522d8)
Attributes:
   alias      Müllabfuhr
   group      Termine
   nonames    1
   room       Allgemein
   sortColumn 5
   sortby     1
   valueStyle { if ($READING eq "*._tage" && $VALUE == 0) { 'style="color:red"'}
elsif ($READING eq "*._tage" && $VALUE == 1 ) { 'style="color:yellow"'}
elsif ($READING eq "*._tage" && $VALUE > 1 && $VALUE < 8) { 'style="color:green"'} }
--- Ende Code ---

Wo ich schon dabei bin, ist an meinem "valueStyle" irgendwas falsch? Ich bekomme die Werte für die Tage nämlich gar nicht gefärbt.


--- Code: ---{ if ($READING eq "*._tage" && $VALUE == 0) { 'style="color:red"'}
elsif ($READING eq "*._tage" && $VALUE == 1 ) { 'style="color:yellow"'}
elsif ($READING eq "*._tage" && $VALUE > 1 && $VALUE < 8) { 'style="color:green"'} }

--- Ende Code ---

justme1968:
bitte ändere in fhemweb_readingsGroup.js in zeile 10 die 100 mal auf 500
noch größer und schau ob es dann geht.

eine regex wird nicht mit eq verglichen sondern mit =~

wenn du das $READING nur ein mal anfang mit !~ auf ungleich .*tage vergleichst und hier $VALUE zurück gibts sparrst du dir die anderen regex vergleiche später.

gruss
  andre

mahowi:
Ich habe den Wert auf 500 geändert, aber ohne Verbesserung.

Der Wert von sortColumn soll doch die Spalte angeben, nach der sortiert wird, oder? Nach der Änderung kann ich nämlich jetzt jede Spalte anklicken und es wird entsprechend sortiert. Nur die Vorgabe von "sortiere nach Spalte 5" wird nicht ausgeführt.

Regex klappt jetzt auch. Beim Sortieren wird übrigens die Einfärbung der Zeilen nicht angepaßt. Unsortiert sind die Zeilen abwechselnd hell und dunkel gefärbt, nach dem Sortieren behalten die jeweiligen Zeilen aber ihren Hintergrund, wodurch dann z.B. 2x hell hintereinander kommt. (vorher - nachher Screenshots im Anhang)

justme1968:
dann geh mal auf 1000. browser cache löschen nicht vergessen.

der wert gibt an das überhaupt sortiert werden darf und ob automatisch nach einer bestimmten spalte sortiert wird.

schau mal ob es mit einer anderen spalte geht und ob du irgendwelche meldungen in der javascript console hast.

das mit dem zeilen hintergrund steht noch auf der todo liste.

mahowi:
So, hab jetzt 1000 eingestellt. Jetzt wird die RG zwar erst unsortiert angezeigt, wird dann aber sortiert. Auf der JS-Konsole kommt
--- Code: ---19:25:47.561 Loading script /fhem/pgm2/sorttable.js
fhem_niceclocks.js:268 niceclocks: Ready. Processing Clock.
fhemweb.js:329 19:25:48.508 Longpoll with filter .*fhemweb.js:329 19:25:53.543 Rcvd:
--- Ende Code ---


Auch mit anderen Spalten und negativen Zahlen zur umgekehrten Sortierung funktioniert es jetzt.  :)


Wenn es jetzt noch die Möglichkeit gibt, den kleinen Pfeil an der sortierten Spalte auszublenden, wäre das top.  ;)

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln