Autor Thema: Delete Icon um definierte Objekte zu löschen  (Gelesen 7737 mal)

Offline Volker

  • Jr. Member
  • **
  • Beiträge: 53
Delete Icon um definierte Objekte zu löschen
« am: 31 Dezember 2012, 17:38:33 »
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

Offline punker

  • Sr. Member
  • ****
  • Beiträge: 608
Aw: Delete Icon um definierte Objekte zu löschen
« Antwort #1 am: 01 Januar 2013, 13:39:28 »
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!

Offline Volker

  • Jr. Member
  • **
  • Beiträge: 53
Aw: Delete Icon um definierte Objekte zu löschen
« Antwort #2 am: 01 Januar 2013, 16:39:06 »
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

Offline punker

  • Sr. Member
  • ****
  • Beiträge: 608
Aw: Delete Icon um definierte Objekte zu löschen
« Antwort #3 am: 01 Januar 2013, 17:14:07 »
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!

Offline Volker

  • Jr. Member
  • **
  • Beiträge: 53
Aw: Delete Icon um definierte Objekte zu löschen
« Antwort #4 am: 01 Januar 2013, 17:33:08 »
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

Offline punker

  • Sr. Member
  • ****
  • Beiträge: 608
Aw: Delete Icon um definierte Objekte zu löschen
« Antwort #5 am: 01 Januar 2013, 19:19:46 »
habs von hier kopiert und eingefügt.
Ist egal an welcher Stelle?
LG

Dieter

The truth is out there!

Offline Volker

  • Jr. Member
  • **
  • Beiträge: 53
Aw: Delete Icon um definierte Objekte zu löschen
« Antwort #6 am: 02 Januar 2013, 19:31:02 »
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

Offline punker

  • Sr. Member
  • ****
  • Beiträge: 608
Aw: Delete Icon um definierte Objekte zu löschen
« Antwort #7 am: 03 Januar 2013, 13:14:01 »
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!

Offline Volker

  • Jr. Member
  • **
  • Beiträge: 53
Aw: Delete Icon um definierte Objekte zu löschen
« Antwort #8 am: 03 Januar 2013, 20:17:15 »
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

Offline punker

  • Sr. Member
  • ****
  • Beiträge: 608
Aw: Delete Icon um definierte Objekte zu löschen
« Antwort #9 am: 04 Januar 2013, 09:24:10 »
Vielen Dank noch mal, auch für das Icon!
LG

Dieter

The truth is out there!

Offline ChrisW

  • Hero Member
  • *****
  • Beiträge: 2129
Aw: Delete Icon um definierte Objekte zu löschen
« Antwort #10 am: 14 Januar 2013, 22:12:06 »
Cool hoffe das wird mal fest eingebaut ;)
Raspberry PI3 mit allem möglichen.

Offline Volker

  • Jr. Member
  • **
  • Beiträge: 53
Aw: Delete Icon um definierte Objekte zu löschen
« Antwort #11 am: 02 Februar 2013, 13:43:00 »
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