Hallo Damian,
ich hätte einen "Wunsch" für die PUP-Funktion, respektive DOIF_tablePopUp: Eingabemöglichkeit für die Größe des Icons.
Ich habe mal in Anlehnung an die icon-ring Funktion die Übergabe von Parametern ausprobiert, und das funktioniert.
Bisher:
PUP(<Name des anderen DOIF>,<Iconname@optionale Farbe>)
neu:
PUP("Name des anderen DOIF","Iconname@optionale Farbe,text,class")
text ist analog der FW_makeImage, wird übergeben, hat aber keine Auswirkungen. Kann "" oder undef sein
class ist die im attr WEBxy Css definierte Klasse wie hier https://forum.fhem.de/index.php/topic,118280.msg1127050.html#msg1127050 (https://forum.fhem.de/index.php/topic,118280.msg1127050.html#msg1127050) schon mal beschrieben.
Die Funktion DOIF_tablePopUp ab Zeile 728 in 98_DOIF.pm müsste dann so aussehen:
sub DOIF_tablePopUp {
my ($pn,$d,$icon,$table) = @_;
$table = $table ? $table : "uiTable";
my ($ic,$itext,$iclass)=();
if (defined ($icon)) {
($ic,$itext,$iclass)=split(",",$icon);
$itext="" if (!defined $itext);
$iclass="" if (!defined $iclass);
$ic="" if (!defined($ic));
}
if ($defs{$d} && AttrVal($d,$table,"")) {
my $ret = "<a href=\"#\" onclick=\"doifTablePopUp('$defs{$d}','$d','$pn','$table')\">".FW_makeImage($ic,$itext,$iclass)."</a>";
} else {
return "no device $d or attribut $table";
}
}
Oder einen beliebigen anderen Weg, einen Größenparameter mitzugeben. Hier https://forum.fhem.de/index.php/topic,118280.msg1127072.html#msg1127072 (https://forum.fhem.de/index.php/topic,118280.msg1127072.html#msg1127072) hattest Du ja schon einen Vorschlag gemacht, um ohne eine Definition der CSS-class auszukommen. Ginge auch, allerdings wäre mit eine zentrale Stelle lieber.
Wär das was?
Viele Grüße
Sany
P.S. jetzt müsste nur noch das Popup-Fenster zentriert auf dem Bildschirm erscheinen, dann wäre es optimal. Das ist aber wohl aus der fhem-Ebene, wurde schon ab und an gefragt, aber leider nie umgesetzt....
Kommt dann ins nächste Update.
das freut mich, vielen Dank!
Neue Version eingecheckt: https://svn.fhem.de/trac/browser/trunk/fhem/FHEM?order=date&desc=1
ui_Table Perl-Funktion widget entspricht WID
PUP mit icontext und iconclass
getestet mit:
defmod di_popup DOIF ##
attr di_popup room test9
attr di_popup uiTable {package ui_Table;;}\
"<style>.mysvg {height:20px;;}</style>"\
"Slider"| widget([$SELF:wert],"slider,0,5,100,1")\
PUP("Umwelt","temp_outside,,mysvg")