2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-10 09:16:53 +00:00

31_LightScene.pm: workaround for global $scn and multiple tabs

git-svn-id: https://svn.fhem.de/fhem/trunk@16181 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
justme-1968 2018-02-14 20:20:12 +00:00
parent c747ad9503
commit 6c27581126

View File

@ -942,46 +942,51 @@ LightScene_editTable($) {
$dd.=FW_hidden("detail",$hash->{NAME}) . "\n";
$dd.="</form>\n";
# make table
if ($scn eq "Choose scene" || $scn eq '') {
$html.="<table><tr><td>Edit scene</td><td>$dd</td></tr>";
} else {
$html.="<table><tr><td>Edit scene</td><td>$dd</td></tr></table>";
$html .= '<table class="block wide">';
$html .= '<tr><th>Device</th><th>Command</th></tr>'."\n";
my $row=0;
my @devices;
if( $scn && defined($hash->{switchingOrder}) && defined($hash->{switchingOrder}{$scn}) ) {
my @devices;
if( $scn && defined($hash->{SCENES}{$scn}) ) {
if( defined($hash->{switchingOrder}) && defined($hash->{switchingOrder}{$scn}) ) {
@devices = @{$hash->{switchingOrder}{$scn}};
} else {
@devices = @{$hash->{devices}};
}
} else {
$scn = '';
}
if ($scn eq "Choose scene" || $scn eq '') {
$html.="<table><tr><td>Edit scene</td><td>$dd</td></tr>";
} else {
$html.="<table><tr><td>Edit scene</td><td>$dd</td></tr></table>";
$html .= '<table class="block wide">';
$html .= '<tr><th>Device</th><th>Command</th></tr>'."\n";
my $row=0;
#table rows
my @cmds = qw(set setcmd);
my @cmds = qw(set setcmd);
my $set = "set $hash->{NAME} set $scn";
my $setcmd = '';
foreach my $dev (@devices) {
$row+=1;
$html .= "<tr class=\"".(($row&1)?"odd":"even")."\">";
$html .= "<td>$dev</td>";
my $default = $hash->{SCENES}{$scn}{$dev};
$html .= "<td>$dev</td>";
my $default = $hash->{SCENES}{$scn}{$dev};
if ($hash->{SCENES}{$scn}{$dev} =~ m/^;/) {
$default =~ s/^;//;
$setcmd='setcmd';
$default =~ s/^;//;
$setcmd='setcmd';
} else {
$setcmd='set';
}
$default = $default->{state} if( ref($default) eq 'HASH' );
$html.="<td><form method=\"get\" action=\"" . $FW_ME . "/LightScene\">\n";
$setcmd='set';
}
$default = $default->{state} if( ref($default) eq 'HASH' );
$html.="<td><form method=\"get\" action=\"" . $FW_ME . "/LightScene\">\n";
$html.=FW_select('',"cmd1", \@cmds, $setcmd, 'select')."\n";
$html.=FW_textfieldv("val.$dev", 50, 'class',$default)."\n";
$html.=FW_hidden("dev.$dev", $dev) . "\n";
$html.=FW_hidden("cmd.$dev", $set) . "\n";
$html.=FW_textfieldv("val.$dev", 50, 'class',$default)."\n";
$html.=FW_hidden("dev.$dev", $dev) . "\n";
$html.=FW_hidden("cmd.$dev", $set) . "\n";
$html.=FW_submit("lse", 'saveline');
$html.=FW_hidden("scn", $scn) . "\n";
$html.=FW_hidden("detail",$hash->{NAME}) . "\n";
$html .= "</form></td>\n";
}
$html.=FW_hidden("scn", $scn) . "\n";
$html.=FW_hidden("detail",$hash->{NAME}) . "\n";
$html .= "</form></td>\n";
}
}
#table end
$html .= "</table><br>\n";