2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-19 12:46:03 +00:00

FHEMWEB: click to fill attribute dropdown (by Andre, modified)

git-svn-id: https://svn.fhem.de/fhem/trunk@3489 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2013-07-24 06:31:41 +00:00
parent c397461dd7
commit 3d127a6fe2
2 changed files with 32 additions and 25 deletions

View File

@ -724,7 +724,14 @@ FW_makeTable($$$@)
FW_makeEdit($name, $n, $val); FW_makeEdit($name, $n, $val);
} else { } else {
FW_pO "<td><div class=\"dname\">$n</div></td>"; if( $title eq "Attributes" ) {
FW_pO "<td><div class=\"dname\">".
"<a onClick='FW_querySetSelected(\"sel.attr$name\",\"$n\")'>".
"$n</a></div></td>";
} else {
FW_pO "<td><div class=\"dname\">$n</div></td>";
}
if(ref($val)) { #handle readings if(ref($val)) { #handle readings
my ($v, $t) = ($val->{VAL}, $val->{TIME}); my ($v, $t) = ($val->{VAL}, $val->{TIME});
$v = FW_htmlEscape($v); $v = FW_htmlEscape($v);
@ -738,33 +745,27 @@ FW_makeTable($$$@)
} }
} else { } else {
$val = FW_htmlEscape($val); $val = FW_htmlEscape($val);
# if possible provide link to reference
# if possible provide som links
if ($n eq "room"){ if ($n eq "room"){
my @tmp; FW_pO "<td><div class=\"dval\">".
push @tmp,FW_pH("room=$_" , $_ ,0,"",1,1)foreach(split(",",$val)); join(",", map { FW_pH("room=$_",$_,0,"",1,1) } split(",",$val)).
FW_pO "<td><div class=\"dval\">" "</div></td>";
.join(",",@tmp)
."</div></td>";
} elsif ($n eq "webCmd"){ } elsif ($n eq "webCmd"){
my @tmp; my $lc = "detail=$name&cmd.$name=set $name";
push @tmp,FW_pH("cmd.$name=set $name $_&detail=$name" , $_ ,0,"",1,1)foreach(split(":",$val)); FW_pO "<td><div name=\"$name-$n\">".
FW_pO "<td><div name=\"$name-$n\">" join(":", map {FW_pH("$lc $_",$_,0,"",1,1)} split(":",$val) ).
.join(":",@tmp) "</div></td>";
."</div></td>";
} elsif ($n =~ m/^fp_(.*)/ && $defs{$1}){#special for Floorplan } elsif ($n =~ m/^fp_(.*)/ && $defs{$1}){ #special for Floorplan
FW_pH "detail=$1", $val,1; FW_pH "detail=$1", $val,1;
} else { } else {
my @tmp; FW_pO "<td><div class=\"dval\">".
foreach(split(",",$val)){ join(",", map { ($_ ne $name && $defs{$_}) ?
if($defs{$_}) { FW_pH( "detail=$_", $_ ,0,"",1,1) : $_ } split(",",$val)).
push @tmp, FW_pH( "detail=$_", $_ ,0,"",1,1); "</div></td>";
} else {
push @tmp, $_;}
}
FW_pO "<td><div class=\"dval\">"
.join(",",@tmp)
."</div></td>";
} }
} }
@ -798,7 +799,7 @@ FW_makeSelect($$$$)
FW_pO FW_hidden("dev.$cmd$d", $d); FW_pO FW_hidden("dev.$cmd$d", $d);
FW_pO FW_submit("cmd.$cmd$d", $cmd, $class); FW_pO FW_submit("cmd.$cmd$d", $cmd, $class);
FW_pO "<div class=\"$class downText\">&nbsp;$d&nbsp;</div>"; FW_pO "<div class=\"$class downText\">&nbsp;$d&nbsp;</div>";
FW_pO FW_select("","arg.$cmd$d",\@al, $selEl, $class, FW_pO FW_select("sel.$cmd$d","arg.$cmd$d",\@al, $selEl, $class,
"FW_selChange(this.options[selectedIndex].text,'$list','val.$cmd$d')"); "FW_selChange(this.options[selectedIndex].text,'$list','val.$cmd$d')");
FW_pO FW_textfield("val.$cmd$d", 30, $class); FW_pO FW_textfield("val.$cmd$d", 30, $class);
# Initial setting # Initial setting

View File

@ -201,9 +201,15 @@ FW_queryValue(cmd, qFn, qArg)
function function
FW_querySetSelected(el, val) FW_querySetSelected(el, val)
{ {
if(typeof el == 'string')
el = document.getElementById(el);
for(var j=0;j<el.options.length;j++) for(var j=0;j<el.options.length;j++)
if(el.options[j].value == val) if(el.options[j].value == val) {
el.selectedIndex = j; el.selectedIndex = j;
if(el.onchange)
el.onchange();
return;
}
} }
window.onbeforeunload = function(e) window.onbeforeunload = function(e)