From 3d127a6fe2e781a4fe11fc9f28ba658a7313af3e Mon Sep 17 00:00:00 2001
From: rudolfkoenig <>
Date: Wed, 24 Jul 2013 06:31:41 +0000
Subject: [PATCH] FHEMWEB: click to fill attribute dropdown (by Andre,
modified)
git-svn-id: https://svn.fhem.de/fhem/trunk@3489 2b470e98-0d58-463d-a4d8-8e2adae1ed80
---
fhem/FHEM/01_FHEMWEB.pm | 49 ++++++++++++++++++++--------------------
fhem/www/pgm2/fhemweb.js | 8 ++++++-
2 files changed, 32 insertions(+), 25 deletions(-)
diff --git a/fhem/FHEM/01_FHEMWEB.pm b/fhem/FHEM/01_FHEMWEB.pm
index f77c991e5..e9f437a4a 100755
--- a/fhem/FHEM/01_FHEMWEB.pm
+++ b/fhem/FHEM/01_FHEMWEB.pm
@@ -724,7 +724,14 @@ FW_makeTable($$$@)
FW_makeEdit($name, $n, $val);
} else {
- FW_pO "
$n | ";
+ if( $title eq "Attributes" ) {
+ FW_pO " | ";
+ } else {
+ FW_pO "$n | ";
+ }
+
if(ref($val)) { #handle readings
my ($v, $t) = ($val->{VAL}, $val->{TIME});
$v = FW_htmlEscape($v);
@@ -738,33 +745,27 @@ FW_makeTable($$$@)
}
} else {
$val = FW_htmlEscape($val);
- # if possible provide link to reference
+
+ # if possible provide som links
if ($n eq "room"){
- my @tmp;
- push @tmp,FW_pH("room=$_" , $_ ,0,"",1,1)foreach(split(",",$val));
- FW_pO ""
- .join(",",@tmp)
- ." | ";
+ FW_pO "".
+ join(",", map { FW_pH("room=$_",$_,0,"",1,1) } split(",",$val)).
+ " | ";
+
} elsif ($n eq "webCmd"){
- my @tmp;
- push @tmp,FW_pH("cmd.$name=set $name $_&detail=$name" , $_ ,0,"",1,1)foreach(split(":",$val));
- FW_pO ""
- .join(":",@tmp)
- ." | ";
- } elsif ($n =~ m/^fp_(.*)/ && $defs{$1}){#special for Floorplan
+ my $lc = "detail=$name&cmd.$name=set $name";
+ FW_pO "".
+ join(":", map {FW_pH("$lc $_",$_,0,"",1,1)} split(":",$val) ).
+ " | ";
+
+ } elsif ($n =~ m/^fp_(.*)/ && $defs{$1}){ #special for Floorplan
FW_pH "detail=$1", $val,1;
} else {
- my @tmp;
- foreach(split(",",$val)){
- if($defs{$_}) {
- push @tmp, FW_pH( "detail=$_", $_ ,0,"",1,1);
- } else {
- push @tmp, $_;}
- }
- FW_pO ""
- .join(",",@tmp)
- ." | ";
+ FW_pO "".
+ join(",", map { ($_ ne $name && $defs{$_}) ?
+ FW_pH( "detail=$_", $_ ,0,"",1,1) : $_ } split(",",$val)).
+ " | ";
}
}
@@ -798,7 +799,7 @@ FW_makeSelect($$$$)
FW_pO FW_hidden("dev.$cmd$d", $d);
FW_pO FW_submit("cmd.$cmd$d", $cmd, $class);
FW_pO " $d
";
- 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_pO FW_textfield("val.$cmd$d", 30, $class);
# Initial setting
diff --git a/fhem/www/pgm2/fhemweb.js b/fhem/www/pgm2/fhemweb.js
index 280a7d5be..ccf20d591 100644
--- a/fhem/www/pgm2/fhemweb.js
+++ b/fhem/www/pgm2/fhemweb.js
@@ -201,9 +201,15 @@ FW_queryValue(cmd, qFn, qArg)
function
FW_querySetSelected(el, val)
{
+ if(typeof el == 'string')
+ el = document.getElementById(el);
for(var j=0;j