Delete Icon um definierte Objekte zu löschen

Begonnen von Volker, 31 Dezember 2012, 17:38:33

Vorheriges Thema - Nächstes Thema

Volker

Für schreibfaule, so wie ich ...

mit dem folgenden Codeschnipsel, in 01_fhemweb, kann man neben seinen definierte Objekten ein Icon anzeigen, welches mit anklicken dann das definierte Objekt löscht.
Es muss allerdings ein save gemacht werden damit es dauerhaft ist.

########################
# Show the overview of devices in one room
# room can be a room, all or Unsorted
sub
FW_showRoom()
...
...
...
#      FW_pO "</td>";
 $icon = FW_makeImage('del') . "&nbsp;";
 FW_pO "<td><a href='/fhem?cmd=delete%20$devName'><div class='Del'>$icon</div></a></td>";
    }
    FW_pO "</table>";
    FW_pO "</td></tr>";
  }
  FW_pO "</table><br>";

  # Now the weblinks


Der Code erwartet das die Datei del.png im Verzeichnis /www/images/default oder dem Unterverzeichnis des Styles vorhanden ist.

Das Ergebnis könnte dann z.B. so aussehen.


(siehe Anhang / see attachement)


MfG

Volker[/font]
MfG

Volker

RasPi als FHEM-Plattform, BananaPi, HMLan, HM-LC_Bl1PBU-FM, HM-LC-SW4-DR, HM-LC-SW4-PCB, HM-TC-IT-WM-W-EU, HM-CC-RT-DN

punker

Hallo Volker,

hab soeben deine Ergänzung zum 01_fhemweb ausprobiert.
Leider kommt folgende Fehlermeldung im log und das WebIF startet nicht mehr!

Illegal declaration of subroutine main::FW_showRoom at /usr/share/fhem/FHEM/01_FHEMWEB.pm line 1216, <$fh> line 20.

Vielleicht findest ja den Fehler.
LG

Dieter

The truth is out there!

Volker

Kannst du mir die modifizierte 01_Fhemweb schicken?
MfG

Volker

RasPi als FHEM-Plattform, BananaPi, HMLan, HM-LC_Bl1PBU-FM, HM-LC-SW4-DR, HM-LC-SW4-PCB, HM-TC-IT-WM-W-EU, HM-CC-RT-DN

punker

Habs wieder rückgängig gemacht!
Wahrscheinlich wars ein Fehler von mir, dachte ich kann das 1:1 so einfügen!
Geht aber so nicht?
LG

Dieter

The truth is out there!

Volker

Sollte aber so gehen, ich habe auch nur die Zeilen reingeschrieben. Hast du alle Zeilen mit Semikolon beendet?

MfG

Volker
MfG

Volker

RasPi als FHEM-Plattform, BananaPi, HMLan, HM-LC_Bl1PBU-FM, HM-LC-SW4-DR, HM-LC-SW4-PCB, HM-TC-IT-WM-W-EU, HM-CC-RT-DN

punker

habs von hier kopiert und eingefügt.
Ist egal an welcher Stelle?
LG

Dieter

The truth is out there!

Volker

Hallo Dieter,
du must es schon an genau die angegebene Stelle kopieren. Deshalb habe ich ein paar Zeilen mehr angegeben .
Die genaue Zeile kann ich dir nicht sagen da ich noch andere Stellen angepasst habe.
MfG

Volker

RasPi als FHEM-Plattform, BananaPi, HMLan, HM-LC_Bl1PBU-FM, HM-LC-SW4-DR, HM-LC-SW4-PCB, HM-TC-IT-WM-W-EU, HM-CC-RT-DN

punker

Hi Volker,

habs jetzt geschafft den Code an der richtigen Stelle einzufügen!
Jetzt bräuchte ich nur noch das richtige Icon!
Das was du oben als Del_But.png verlikt hast ist leider der Bildschirmausschnitt von weiter oben!
LG

Dieter

The truth is out there!

Volker

Hallo Dieter,

das sollte auch so sein mit dem Link.

Aber ich hänge dir gerne das Icon an.
MfG

Volker

RasPi als FHEM-Plattform, BananaPi, HMLan, HM-LC_Bl1PBU-FM, HM-LC-SW4-DR, HM-LC-SW4-PCB, HM-TC-IT-WM-W-EU, HM-CC-RT-DN

punker

LG

Dieter

The truth is out there!

ChrisW

Cool hoffe das wird mal fest eingebaut ;)
Raspberry PI3 mit allem möglichen.

Volker

Hier mal einige Verbesserungen.


        } elsif($type eq "FileLog") {
 $icon = FW_makeImage('del') . "&nbsp;";
 FW_pO "<td><a href='/fhem?cmd=delete%20$devName'><div class='Del'>$icon</div></a></td>";
          $row = FW_dumpFileLog($d, 1, $row);

        }
      }
#      FW_pO "</td>";
if ($type ne "FileLog") {
$icon = FW_makeImage('del') . "&nbsp;";
FW_pO "<td><a href='/fhem?cmd=delete%20$devName'><div class='Del'>$icon</div></a></td>";
}
    }
    FW_pO "</table>";
    FW_pO "</td></tr>";
  }
  FW_pO "</table><br>";

  # Now the weblinks
***** Funktion für Logzeilen auch ändern
sub
FW_dumpFileLog($$$)
{
  my ($d, $oneRow,$row) = @_;

  foreach my $f (FW_fileList($defs{$d}{logfile})) {
    my $nr;

    if($oneRow) {
      pF "<tr class=\"%s\">", ($row&1)?"odd":"even";
      pF "<td><div class=\"dname\">$f</div></td>";
    }
    foreach my $ln (split(",", AttrVal($d, "logtype", "text"))) {
      my ($lt, $name) = split(":", $ln);
      $name = $lt if(!$name);
      if(!$oneRow) {
        pF "<tr class=\"%s\">", ($row&1)?"odd":"even";
        pF "<td><div class=\"dname\">%s</div></td>", ($nr ? "" : $f);
      }
      FW_pH "cmd=logwrapper $d $lt $f",
              "<div class=\"dval\">$name</div>", 1, "dval";
pF "<td><div class=\"dname\"></div></td>", ($nr ? "" : $f);
      if(!$oneRow) {
        FW_pO "</tr>";
        $row++;
      }
      $nr++;
    }
    if($oneRow) {
      FW_pO "</tr>";
      $row++;
    }
  }
  return $row;
}

*************************


Zum ausrichten der Buttons am rechten Rand des table folgende Zeile in eurer *.CSS Datei einfügen

/*Delete Button*/
.Del  img {float: right;}
MfG

Volker

RasPi als FHEM-Plattform, BananaPi, HMLan, HM-LC_Bl1PBU-FM, HM-LC-SW4-DR, HM-LC-SW4-PCB, HM-TC-IT-WM-W-EU, HM-CC-RT-DN