mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 16:56:54 +00:00
Change Groupcontent sorting in compliance by alias and sortby.
Custom CSS over new Attribute dashboard_customcss. Fix Bug that affect new groups. git-svn-id: https://svn.fhem.de/fhem/trunk@5030 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
a30cebbc69
commit
787d16c20e
@ -1,6 +1,9 @@
|
|||||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
||||||
# Do not insert empty lines here, update check depends on it.
|
# Do not insert empty lines here, update check depends on it.
|
||||||
- SVN
|
- SVN
|
||||||
|
- feature: Dashboard: Custom CSS Attribute. Max. 7 Tabs.
|
||||||
|
- bugfix: Dashboard: Change Groupcontent sorting. Fix Bug that affect
|
||||||
|
new Groups.
|
||||||
- feature: 10_EnOcean: UTE protocol implemented
|
- feature: 10_EnOcean: UTE protocol implemented
|
||||||
- feature: 00_TCM: new command teach
|
- feature: 00_TCM: new command teach
|
||||||
- bugfix: SYSMOM: uninitialized value warning on FritzBox
|
- bugfix: SYSMOM: uninitialized value warning on FritzBox
|
||||||
|
@ -38,16 +38,19 @@
|
|||||||
# separate Dashboards per FHEMWEB Instance.
|
# separate Dashboards per FHEMWEB Instance.
|
||||||
# 2.05: bugfix, changes in dashboard.js, groups can show Icons (group:icon@color,group:icon@color ...). "Back"-Button in Fullsize-Mode.
|
# 2.05: bugfix, changes in dashboard.js, groups can show Icons (group:icon@color,group:icon@color ...). "Back"-Button in Fullsize-Mode.
|
||||||
# Dashboard near top in Fullsize-Mode. dashboard_activetab store the active Tab, not the last active tab.
|
# Dashboard near top in Fullsize-Mode. dashboard_activetab store the active Tab, not the last active tab.
|
||||||
|
# 2.06: Attribute dashboard_colheight removed. Change Groupcontent sorting in compliance by alias and sortby.
|
||||||
|
# Custom CSS over new Attribute dashboard_customcss. Fix Bug that affect new groups.
|
||||||
#
|
#
|
||||||
# Known Bugs/Todos:
|
# Known Bugs/Todos:
|
||||||
# BUG: Nicht alle Inhalte aller Tabs laden, bei Plots dauert die bedienung des Dashboards zu lange. -> elemente hidden?
|
# BUG: Nicht alle Inhalte aller Tabs laden, bei Plots dauert die bedienung des Dashboards zu lange. -> elemente hidden?
|
||||||
# xTODO: dashboard_activetab wieder zur ursprungsfunktion
|
|
||||||
# BUG: Variabler abstand wird nicht gesichert
|
# BUG: Variabler abstand wird nicht gesichert
|
||||||
# TODO: personalisiertes CSS angeben und bestehende CSS zu überschreiben -> User-config
|
|
||||||
# BUG: dashboard_webfrontendfilter doesn't Work Antwort #469
|
# BUG: dashboard_webfrontendfilter doesn't Work Antwort #469
|
||||||
# TODO: More Tabs
|
# BUG: Überlappen Gruppen andere?
|
||||||
# TODO: sortby
|
# xTODO: More Tabs
|
||||||
# TODO: sort by alias, eg sort by device name
|
# xTODO: personalisiertes CSS angeben und bestehende CSS zu überschreiben -> User-config
|
||||||
|
# xTODO: sortby
|
||||||
|
# xTODO: sort by alias, eg sort by device name
|
||||||
|
#
|
||||||
# Log 1, "[DASHBOARD simple debug] '".$g."' ";
|
# Log 1, "[DASHBOARD simple debug] '".$g."' ";
|
||||||
########################################################################################
|
########################################################################################
|
||||||
#
|
#
|
||||||
@ -93,7 +96,7 @@ my $fwjquery = "jquery.min.js";
|
|||||||
my $fwjqueryui = "jquery-ui.min.js";
|
my $fwjqueryui = "jquery-ui.min.js";
|
||||||
my $dashboardname = "Dashboard"; # Link Text
|
my $dashboardname = "Dashboard"; # Link Text
|
||||||
my $dashboardhiddenroom = "DashboardRoom"; # Hiddenroom
|
my $dashboardhiddenroom = "DashboardRoom"; # Hiddenroom
|
||||||
my $dashboardversion = "2.05";
|
my $dashboardversion = "2.06";
|
||||||
# -------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
sub Dashboard_Initialize ($) {
|
sub Dashboard_Initialize ($) {
|
||||||
@ -113,8 +116,8 @@ sub Dashboard_Initialize ($) {
|
|||||||
"dashboard_showhelper:0,1 ".
|
"dashboard_showhelper:0,1 ".
|
||||||
"dashboard_showtooglebuttons:0,1 ".
|
"dashboard_showtooglebuttons:0,1 ".
|
||||||
#new attribute vers. 2.00
|
#new attribute vers. 2.00
|
||||||
"dashboard_tabcount:1,2,3,4,5 ".
|
"dashboard_tabcount:1,2,3,4,5,6,7 ".
|
||||||
"dashboard_activetab:1,2,3,4,5 ".
|
"dashboard_activetab:1,2,3,4,5,6,7 ".
|
||||||
"dashboard_tab1name ".
|
"dashboard_tab1name ".
|
||||||
"dashboard_tab2name ".
|
"dashboard_tab2name ".
|
||||||
"dashboard_tab3name ".
|
"dashboard_tab3name ".
|
||||||
@ -145,9 +148,18 @@ sub Dashboard_Initialize ($) {
|
|||||||
"dashboard_tab5icon ".
|
"dashboard_tab5icon ".
|
||||||
#new attribute vers. 2.04
|
#new attribute vers. 2.04
|
||||||
"dashboard_webfrontendfilter ".
|
"dashboard_webfrontendfilter ".
|
||||||
|
#new attribute vers. 2.06
|
||||||
|
"dashboard_customcss ".
|
||||||
|
"dashboard_tab6name ".
|
||||||
|
"dashboard_tab7name ".
|
||||||
|
"dashboard_tab6groups ".
|
||||||
|
"dashboard_tab7groups ".
|
||||||
|
"dashboard_tab6sorting ".
|
||||||
|
"dashboard_tab7sorting ".
|
||||||
|
"dashboard_tab6icon ".
|
||||||
|
"dashboard_tab7icon ".
|
||||||
|
|
||||||
#obsolete - erase in future releases
|
#obsolete - erase in future releases
|
||||||
"dashboard_colheight ". # obsolet -> erase in future releases
|
|
||||||
"dashboard_sorting ". # obsolet -> erase in future releases
|
"dashboard_sorting ". # obsolet -> erase in future releases
|
||||||
"dashboard_colwidth ". # obsolet -> erase in future releases
|
"dashboard_colwidth ". # obsolet -> erase in future releases
|
||||||
"dashboard_showbuttonbar:dont-use-this-attribute ". # obsolet -> erase in future releases
|
"dashboard_showbuttonbar:dont-use-this-attribute ". # obsolet -> erase in future releases
|
||||||
@ -184,7 +196,8 @@ sub DashboardAsHtml($)
|
|||||||
my $showtabs = AttrVal($defs{$d}{NAME}, "dashboard_showtabs", "tabs-and-buttonbar-at-the-top");
|
my $showtabs = AttrVal($defs{$d}{NAME}, "dashboard_showtabs", "tabs-and-buttonbar-at-the-top");
|
||||||
my $showtooglebuttons = AttrVal($defs{$d}{NAME}, "dashboard_showtooglebuttons", 1);
|
my $showtooglebuttons = AttrVal($defs{$d}{NAME}, "dashboard_showtooglebuttons", 1);
|
||||||
my $showfullsize = AttrVal($defs{$d}{NAME}, "dashboard_showfullsize", 0);
|
my $showfullsize = AttrVal($defs{$d}{NAME}, "dashboard_showfullsize", 0);
|
||||||
my $webfrontendfilter = AttrVal($defs{$d}{NAME}, "dashboard_webfrontendfilter", "*");
|
my $webfrontendfilter = AttrVal($defs{$d}{NAME}, "dashboard_webfrontendfilter", "*");
|
||||||
|
my $customcss = AttrVal($defs{$d}{NAME}, "dashboard_customcss", "none");
|
||||||
|
|
||||||
my $row = AttrVal($defs{$d}{NAME}, "dashboard_row", "center");
|
my $row = AttrVal($defs{$d}{NAME}, "dashboard_row", "center");
|
||||||
my $debug = AttrVal($defs{$d}{NAME}, "dashboard_debug", "0");
|
my $debug = AttrVal($defs{$d}{NAME}, "dashboard_debug", "0");
|
||||||
@ -197,22 +210,30 @@ sub DashboardAsHtml($)
|
|||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab2name", "Dashboard-Tab 2"),
|
AttrVal($defs{$d}{NAME}, "dashboard_tab2name", "Dashboard-Tab 2"),
|
||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab3name", "Dashboard-Tab 3"),
|
AttrVal($defs{$d}{NAME}, "dashboard_tab3name", "Dashboard-Tab 3"),
|
||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab4name", "Dashboard-Tab 4"),
|
AttrVal($defs{$d}{NAME}, "dashboard_tab4name", "Dashboard-Tab 4"),
|
||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab5name", "Dashboard-Tab 5"));
|
AttrVal($defs{$d}{NAME}, "dashboard_tab5name", "Dashboard-Tab 5"),
|
||||||
|
AttrVal($defs{$d}{NAME}, "dashboard_tab6name", "Dashboard-Tab 6"),
|
||||||
|
AttrVal($defs{$d}{NAME}, "dashboard_tab7name", "Dashboard-Tab 7"));
|
||||||
my @tabgroups = (AttrVal($defs{$d}{NAME}, "dashboard_tab1groups", ""),
|
my @tabgroups = (AttrVal($defs{$d}{NAME}, "dashboard_tab1groups", ""),
|
||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab2groups", ""),
|
AttrVal($defs{$d}{NAME}, "dashboard_tab2groups", ""),
|
||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab3groups", ""),
|
AttrVal($defs{$d}{NAME}, "dashboard_tab3groups", ""),
|
||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab4groups", ""),
|
AttrVal($defs{$d}{NAME}, "dashboard_tab4groups", ""),
|
||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab5groups", ""));
|
AttrVal($defs{$d}{NAME}, "dashboard_tab5groups", ""),
|
||||||
|
AttrVal($defs{$d}{NAME}, "dashboard_tab6groups", ""),
|
||||||
|
AttrVal($defs{$d}{NAME}, "dashboard_tab7groups", ""));
|
||||||
my @tabsortings = (AttrVal($defs{$d}{NAME}, "dashboard_tab1sorting", ""),
|
my @tabsortings = (AttrVal($defs{$d}{NAME}, "dashboard_tab1sorting", ""),
|
||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab2sorting", ""),
|
AttrVal($defs{$d}{NAME}, "dashboard_tab2sorting", ""),
|
||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab3sorting", ""),
|
AttrVal($defs{$d}{NAME}, "dashboard_tab3sorting", ""),
|
||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab4sorting", ""),
|
AttrVal($defs{$d}{NAME}, "dashboard_tab4sorting", ""),
|
||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab5sorting", ""));
|
AttrVal($defs{$d}{NAME}, "dashboard_tab5sorting", ""),
|
||||||
|
AttrVal($defs{$d}{NAME}, "dashboard_tab6sorting", ""),
|
||||||
|
AttrVal($defs{$d}{NAME}, "dashboard_tab7sorting", ""));
|
||||||
my @tabicons = (AttrVal($defs{$d}{NAME}, "dashboard_tab1icon", ""),
|
my @tabicons = (AttrVal($defs{$d}{NAME}, "dashboard_tab1icon", ""),
|
||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab2icon", ""),
|
AttrVal($defs{$d}{NAME}, "dashboard_tab2icon", ""),
|
||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab3icon", ""),
|
AttrVal($defs{$d}{NAME}, "dashboard_tab3icon", ""),
|
||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab4icon", ""),
|
AttrVal($defs{$d}{NAME}, "dashboard_tab4icon", ""),
|
||||||
AttrVal($defs{$d}{NAME}, "dashboard_tab5icon", ""));
|
AttrVal($defs{$d}{NAME}, "dashboard_tab5icon", ""),
|
||||||
|
AttrVal($defs{$d}{NAME}, "dashboard_tab6icon", ""),
|
||||||
|
AttrVal($defs{$d}{NAME}, "dashboard_tab7icon", ""));
|
||||||
|
|
||||||
#############################################################################################
|
#############################################################################################
|
||||||
|
|
||||||
@ -275,7 +296,7 @@ sub DashboardAsHtml($)
|
|||||||
$ret .= "<table class=\"roomoverview dashboard\" id=\"dashboard\">\n";
|
$ret .= "<table class=\"roomoverview dashboard\" id=\"dashboard\">\n";
|
||||||
|
|
||||||
$ret .= "<tr><td><div class=\"dashboardhidden\">\n";
|
$ret .= "<tr><td><div class=\"dashboardhidden\">\n";
|
||||||
$ret .= "<input type=\"$debugfield\" size=\"100%\" id=\"dashboard_attr\" value=\"$name,$dbwidth,$showhelper,$lockstate,$showbuttonbar,$colheight,$showtooglebuttons,$colcount,$rowtopheight,$rowbottomheight,$tabcount,$activetab,$colwidth,$showfullsize\">\n";
|
$ret .= "<input type=\"$debugfield\" size=\"100%\" id=\"dashboard_attr\" value=\"$name,$dbwidth,$showhelper,$lockstate,$showbuttonbar,$colheight,$showtooglebuttons,$colcount,$rowtopheight,$rowbottomheight,$tabcount,$activetab,$colwidth,$showfullsize,$customcss\">\n";
|
||||||
$ret .= "<input type=\"$debugfield\" size=\"100%\" id=\"dashboard_jsdebug\" value=\"\">\n";
|
$ret .= "<input type=\"$debugfield\" size=\"100%\" id=\"dashboard_jsdebug\" value=\"\">\n";
|
||||||
$ret .= "</div></td></tr>\n";
|
$ret .= "</div></td></tr>\n";
|
||||||
$ret .= "<tr><td><div id=\"tabs\" class=\"dashboard_tabs\">\n";
|
$ret .= "<tr><td><div id=\"tabs\" class=\"dashboard_tabs\">\n";
|
||||||
@ -298,11 +319,12 @@ sub DashboardAsHtml($)
|
|||||||
##############################################################################################
|
##############################################################################################
|
||||||
|
|
||||||
for (my $t=0;$t<$tabcount;$t++){
|
for (my $t=0;$t<$tabcount;$t++){
|
||||||
my @tabgroup = split(",", $tabgroups[$t]); #Set temp. position for groups without an stored position
|
my @tabgroup = split(",", $tabgroups[$t]); #Set temp. position for groups without an stored position
|
||||||
for (my $i=0;$i<@tabgroup;$i++){
|
for (my $i=0;$i<@tabgroup;$i++){
|
||||||
my @stabgroup = split(":", trim($tabgroup[$i]));
|
my @stabgroup = split(":", trim($tabgroup[$i]));
|
||||||
if (index($tabsortings[$t],trim($stabgroup[$i])) < 0) { $tabsortings[$t] = $tabsortings[$t]."t".$t."c".GetMaxColumnId($row,$colcount).",".trim($stabgroup[$i]).",true,0,0:"; }
|
if (index($tabsortings[$t],trim($stabgroup[0])) < 0) { $tabsortings[$t] = $tabsortings[$t]."t".$t."c".GetMaxColumnId($row,$colcount).",".trim($stabgroup[0]).",true,0,0:"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
%group = BuildGroupList($tabgroups[$t]);
|
%group = BuildGroupList($tabgroups[$t]);
|
||||||
$ret .= " <div id=\"dashboard_tab".$t."\" data-tabwidgets=\"".$tabsortings[$t]."\" class=\"dashboard_tabpanel\">\n";
|
$ret .= " <div id=\"dashboard_tab".$t."\" data-tabwidgets=\"".$tabsortings[$t]."\" class=\"dashboard_tabpanel\">\n";
|
||||||
$ret .= " <ul class=\"dashboard_tabcontent\">\n";
|
$ret .= " <ul class=\"dashboard_tabcontent\">\n";
|
||||||
@ -392,37 +414,37 @@ sub BuildButtonBar($$$){
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub BuildGroupWidgets($$$$$) {
|
sub BuildGroupWidgets($$$$$) {
|
||||||
my ($tab,$column,$id,$dbgroups, $dbsorting) = @_;
|
my ($tab,$column,$id,$dbgroups, $dbsorting) = @_;
|
||||||
my $ret = "";
|
my $ret = "";
|
||||||
|
|
||||||
my $counter = 0;
|
my $counter = 0;
|
||||||
my @storedsorting = split(":", $dbsorting);
|
my @storedsorting = split(":", $dbsorting);
|
||||||
|
my @dbgroup = split(",", $dbgroups);
|
||||||
my @dbgroup = split(",", $dbgroups);
|
my $widgetheader = "";
|
||||||
my $widgetheader = "";
|
|
||||||
|
|
||||||
foreach my $singlesorting (@storedsorting) {
|
foreach my $singlesorting (@storedsorting) {
|
||||||
my @groupdata = split(",", $singlesorting);
|
my @groupdata = split(",", $singlesorting);
|
||||||
|
if (scalar(@groupdata) > 1) {
|
||||||
if (index($dbsorting, "t".$tab."c".$column.",".$groupdata[1]) >= 0 && index($dbgroups, $groupdata[1]) >= 0 && $groupdata[1] ne "" ) { #group is set to tab
|
if (index($dbsorting, "t".$tab."c".$column.",".$groupdata[1]) >= 0 && index($dbgroups, $groupdata[1]) >= 0 && $groupdata[1] ne "" ) { #group is set to tab
|
||||||
|
|
||||||
$widgetheader = $groupdata[1];
|
|
||||||
foreach my $strdbgroup (@dbgroup) {
|
|
||||||
my @groupicon = split(":", trim($strdbgroup));
|
|
||||||
if ($groupicon[0] eq $groupdata[1]) {
|
|
||||||
if ($#groupicon > 0) { $widgetheader = FW_makeImage($groupicon[1],$groupicon[1],"dashboard_tabicon") . " ".$groupdata[1]; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$ret .= " <div class=\"dashboard_widget\" data-groupwidget=\"".$singlesorting."\" id=\"".$id."t".$tab."c".$column."w".$counter."\">\n";
|
$widgetheader = $groupdata[1];
|
||||||
$ret .= " <div class=\"dashboard_widgetinner\">\n";
|
foreach my $strdbgroup (@dbgroup) {
|
||||||
$ret .= " <div class=\"dashboard_widgetheader\">".$widgetheader."</div>\n";
|
my @groupicon = split(":", trim($strdbgroup));
|
||||||
$ret .= " <div data-userheight=\"\" class=\"dashboard_content\">\n";
|
if ($groupicon[0] eq $groupdata[1]) {
|
||||||
$ret .= BuildGroup($groupdata[1]);
|
if ($#groupicon > 0) { $widgetheader = FW_makeImage($groupicon[1],$groupicon[1],"dashboard_tabicon") . " ".$groupdata[1]; }
|
||||||
$ret .= " </div>\n";
|
}
|
||||||
$ret .= " </div>\n";
|
}
|
||||||
$ret .= " </div>\n";
|
|
||||||
$counter++;
|
$ret .= " <div class=\"dashboard_widget\" data-groupwidget=\"".$singlesorting."\" id=\"".$id."t".$tab."c".$column."w".$counter."\">\n";
|
||||||
|
$ret .= " <div class=\"dashboard_widgetinner\">\n";
|
||||||
|
$ret .= " <div class=\"dashboard_widgetheader\">".$widgetheader."</div>\n";
|
||||||
|
$ret .= " <div data-userheight=\"\" class=\"dashboard_content\">\n";
|
||||||
|
$ret .= BuildGroup($groupdata[1]);
|
||||||
|
$ret .= " </div>\n";
|
||||||
|
$ret .= " </div>\n";
|
||||||
|
$ret .= " </div>\n";
|
||||||
|
$counter++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $ret;
|
return $ret;
|
||||||
@ -458,7 +480,9 @@ sub BuildGroup($)
|
|||||||
|
|
||||||
next if ($g ne $currentgroup);
|
next if ($g ne $currentgroup);
|
||||||
$ret .= "<table class=\"block wide\" id=\"TYPE_$currentgroup\">";
|
$ret .= "<table class=\"block wide\" id=\"TYPE_$currentgroup\">";
|
||||||
foreach my $d (sort keys %{$group{$g}}) {
|
#foreach my $d (sort keys %{$group{$g}}) {
|
||||||
|
|
||||||
|
foreach my $d (sort { lc(AttrVal($a,"sortby",AttrVal($a,"alias",$a))) cmp lc(AttrVal($b,"sortby",AttrVal($b,"alias",$b))) } keys %{$group{$g}}) {
|
||||||
$ret .= sprintf("<tr class=\"%s\">", ($row&1)?"odd":"even");
|
$ret .= sprintf("<tr class=\"%s\">", ($row&1)?"odd":"even");
|
||||||
|
|
||||||
my $type = $defs{$d}{TYPE};
|
my $type = $defs{$d}{TYPE};
|
||||||
@ -606,12 +630,6 @@ sub CheckDashboardAttributUssage($) { # replaces old disused attributes and thei
|
|||||||
{ FW_fC("deleteattr ".$d." dashboard_colwidth"); }
|
{ FW_fC("deleteattr ".$d." dashboard_colwidth"); }
|
||||||
$detailnote = $detailnote." [dashboard_colwidth -> dashboard_rowcentercolwidth]";
|
$detailnote = $detailnote." [dashboard_colwidth -> dashboard_rowcentercolwidth]";
|
||||||
}
|
}
|
||||||
my $colheight = AttrVal($defs{$d}{NAME}, "dashboard_colheight", "");
|
|
||||||
if ($colheight ne "") {
|
|
||||||
{ FW_fC("attr ".$d." dashboard_rowcenterheight ".$colheight); }
|
|
||||||
{ FW_fC("deleteattr ".$d." dashboard_colheight"); }
|
|
||||||
$detailnote = $detailnote." [dashboard_colheight -> dashboard_rowcenterheight]";
|
|
||||||
}
|
|
||||||
my $sorting = AttrVal($defs{$d}{NAME}, "dashboard_sorting", "");
|
my $sorting = AttrVal($defs{$d}{NAME}, "dashboard_sorting", "");
|
||||||
if ($sorting ne "") { #convert old sorting in new
|
if ($sorting ne "") { #convert old sorting in new
|
||||||
my @sortings = split(":", $sorting);
|
my @sortings = split(":", $sorting);
|
||||||
@ -814,6 +832,16 @@ sub Dashboard_attr($$$) {
|
|||||||
Title of Tab 5.
|
Title of Tab 5.
|
||||||
Default: Dashboard-Tab 5
|
Default: Dashboard-Tab 5
|
||||||
</li><br>
|
</li><br>
|
||||||
|
<a name="dashboard_tab6name"></a>
|
||||||
|
<li>dashboard_tab6name<br>
|
||||||
|
Title of Tab 6.
|
||||||
|
Default: Dashboard-Tab 6
|
||||||
|
</li><br>
|
||||||
|
<a name="dashboard_tab7name"></a>
|
||||||
|
<li>dashboard_tab7name<br>
|
||||||
|
Title of Tab 7.
|
||||||
|
Default: Dashboard-Tab 7
|
||||||
|
</li><br>
|
||||||
<a name="dashboard_webfrontendfilter"></a>
|
<a name="dashboard_webfrontendfilter"></a>
|
||||||
<li>dashboard_webfrontendfilter<br>
|
<li>dashboard_webfrontendfilter<br>
|
||||||
If this attribute not set, or value is * the dashboard is displayed on all configured FHEMWEB instances. <br>
|
If this attribute not set, or value is * the dashboard is displayed on all configured FHEMWEB instances. <br>
|
||||||
@ -849,7 +877,15 @@ sub Dashboard_attr($$$) {
|
|||||||
<li>dashboard_tab5sorting<br>
|
<li>dashboard_tab5sorting<br>
|
||||||
Contains the position of each group in Tab 5. Value is written by the "Set" button. It is not recommended to take manual changes.
|
Contains the position of each group in Tab 5. Value is written by the "Set" button. It is not recommended to take manual changes.
|
||||||
</li><br>
|
</li><br>
|
||||||
<a name="dashboard_row"></a>
|
<a name="dashboard_tab6sorting"></a>
|
||||||
|
<li>dashboard_tab6sorting<br>
|
||||||
|
Contains the position of each group in Tab 6. Value is written by the "Set" button. It is not recommended to take manual changes.
|
||||||
|
</li><br>
|
||||||
|
<a name="dashboard_tab7sorting"></a>
|
||||||
|
<li>dashboard_tab7sorting<br>
|
||||||
|
Contains the position of each group in Tab 7. Value is written by the "Set" button. It is not recommended to take manual changes.
|
||||||
|
</li><br>
|
||||||
|
<a name="dashboard_row"></a>
|
||||||
<li>dashboard_row<br>
|
<li>dashboard_row<br>
|
||||||
To select which rows are displayed. top only; center only; bottom only; top and center; center and bottom; top,center and bottom.<br>
|
To select which rows are displayed. top only; center only; bottom only; top and center; center and bottom; top,center and bottom.<br>
|
||||||
Default: center
|
Default: center
|
||||||
@ -865,11 +901,6 @@ sub Dashboard_attr($$$) {
|
|||||||
dashboard_rowcentercolwidth<br>
|
dashboard_rowcentercolwidth<br>
|
||||||
Default: 320
|
Default: 320
|
||||||
</li><br>
|
</li><br>
|
||||||
<a name="dashboard_colheight"></a>
|
|
||||||
<li>dashboard_colheight<br>
|
|
||||||
This attribute is no longer used and will be removed at a later date. It was replaced with <br>
|
|
||||||
dashboard_rowcenterheight
|
|
||||||
</li><br>
|
|
||||||
<a name="dashboard_rowcenterheight"></a>
|
<a name="dashboard_rowcenterheight"></a>
|
||||||
<li>dashboard_rowcenterheight<br>
|
<li>dashboard_rowcenterheight<br>
|
||||||
Height of the center row in which the groups may be positioned. <br>
|
Height of the center row in which the groups may be positioned. <br>
|
||||||
@ -901,29 +932,41 @@ sub Dashboard_attr($$$) {
|
|||||||
Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
||||||
</li><br>
|
</li><br>
|
||||||
<a name="dashboard_tab2groups"></a>
|
<a name="dashboard_tab2groups"></a>
|
||||||
<li>dashboard_tab1groups<br>
|
<li>2<br>
|
||||||
Comma-separated list of the names of the groups to be displayed in Tab 2.<br>
|
Comma-separated list of the names of the groups to be displayed in Tab 2.<br>
|
||||||
Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"<br>
|
Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"<br>
|
||||||
Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
||||||
</li><br>
|
</li><br>
|
||||||
<a name="dashboard_tab3groups"></a>
|
<a name="dashboard_tab3groups"></a>
|
||||||
<li>dashboard_tab1groups<br>
|
<li>dashboard_tab3groups<br>
|
||||||
Comma-separated list of the names of the groups to be displayed in Tab 3.<br>
|
Comma-separated list of the names of the groups to be displayed in Tab 3.<br>
|
||||||
Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"<br>
|
Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"<br>
|
||||||
Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
||||||
</li><br>
|
</li><br>
|
||||||
<a name="dashboard_tab4groups"></a>
|
<a name="dashboard_tab4groups"></a>
|
||||||
<li>dashboard_tab1groups<br>
|
<li>dashboard_tab4groups<br>
|
||||||
Comma-separated list of the names of the groups to be displayed in Tab 4.<br>
|
Comma-separated list of the names of the groups to be displayed in Tab 4.<br>
|
||||||
Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"<br>
|
Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"<br>
|
||||||
Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
||||||
</li><br>
|
</li><br>
|
||||||
<a name="dashboard_tab5groups"></a>
|
<a name="dashboard_tab5groups"></a>
|
||||||
<li>dashboard_tab1groups<br>
|
<li>dashboard_tab5groups<br>
|
||||||
Comma-separated list of the names of the groups to be displayed in Tab 5.<br>
|
Comma-separated list of the names of the groups to be displayed in Tab 5.<br>
|
||||||
Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"<br>
|
Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"<br>
|
||||||
Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
||||||
</li><br>
|
</li><br>
|
||||||
|
<a name="dashboard_tab6groups"></a>
|
||||||
|
<li>dashboard_tab6groups<br>
|
||||||
|
Comma-separated list of the names of the groups to be displayed in Tab 6.<br>
|
||||||
|
Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"<br>
|
||||||
|
Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
||||||
|
</li><br>
|
||||||
|
<a name="dashboard_tab7groups"></a>
|
||||||
|
<li>dashboard_tab7groups<br>
|
||||||
|
Comma-separated list of the names of the groups to be displayed in Tab 7.<br>
|
||||||
|
Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"<br>
|
||||||
|
Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
||||||
|
</li><br>
|
||||||
<a name="dashboard_tab1icon"></a>
|
<a name="dashboard_tab1icon"></a>
|
||||||
<li>dashboard_tab1icon<br>
|
<li>dashboard_tab1icon<br>
|
||||||
Set the icon for a Tab. There must exist an icon with the name ico.png in the modpath directory. If the image is referencing an SVG icon, then you can use the @colorname suffix to color the image.
|
Set the icon for a Tab. There must exist an icon with the name ico.png in the modpath directory. If the image is referencing an SVG icon, then you can use the @colorname suffix to color the image.
|
||||||
@ -944,6 +987,14 @@ sub Dashboard_attr($$$) {
|
|||||||
<li>dashboard_tab5icon<br>
|
<li>dashboard_tab5icon<br>
|
||||||
Set the icon for a Tab. There must exist an icon with the name ico.png in the modpath directory. If the image is referencing an SVG icon, then you can use the @colorname suffix to color the image.
|
Set the icon for a Tab. There must exist an icon with the name ico.png in the modpath directory. If the image is referencing an SVG icon, then you can use the @colorname suffix to color the image.
|
||||||
</li><br>
|
</li><br>
|
||||||
|
<a name="dashboard_tab6icon"></a>
|
||||||
|
<li>dashboard_tab6icon<br>
|
||||||
|
Set the icon for a Tab. There must exist an icon with the name ico.png in the modpath directory. If the image is referencing an SVG icon, then you can use the @colorname suffix to color the image.
|
||||||
|
</li><br>
|
||||||
|
<a name="dashboard_tab7icon"></a>
|
||||||
|
<li>dashboard_tab7icon<br>
|
||||||
|
Set the icon for a Tab. There must exist an icon with the name ico.png in the modpath directory. If the image is referencing an SVG icon, then you can use the @colorname suffix to color the image.
|
||||||
|
</li><br>
|
||||||
<a name="dashboard_lockstate"></a>
|
<a name="dashboard_lockstate"></a>
|
||||||
<li>dashboard_lockstate<br>
|
<li>dashboard_lockstate<br>
|
||||||
When set to "unlock" you can edit the Dashboard. When set to "lock" no change can be made. <br>
|
When set to "unlock" you can edit the Dashboard. When set to "lock" no change can be made. <br>
|
||||||
@ -1063,6 +1114,16 @@ sub Dashboard_attr($$$) {
|
|||||||
<li>dashboard_tab5name<br>
|
<li>dashboard_tab5name<br>
|
||||||
Titel des 5. Tab.
|
Titel des 5. Tab.
|
||||||
Standard: Dashboard-Tab 5
|
Standard: Dashboard-Tab 5
|
||||||
|
</li><br>
|
||||||
|
<a name="dashboard_tab6name"></a>
|
||||||
|
<li>dashboard_tab6name<br>
|
||||||
|
Titel des 6. Tab.
|
||||||
|
Standard: Dashboard-Tab 6
|
||||||
|
</li><br>
|
||||||
|
<a name="dashboard_tab7name"></a>
|
||||||
|
<li>dashboard_tab7name<br>
|
||||||
|
Titel des 7. Tab.
|
||||||
|
Standard: Dashboard-Tab 7
|
||||||
</li><br>
|
</li><br>
|
||||||
<a name="dashboard_webfrontendfilter"></a>
|
<a name="dashboard_webfrontendfilter"></a>
|
||||||
<li>dashboard_webfrontendfilter<br>
|
<li>dashboard_webfrontendfilter<br>
|
||||||
@ -1098,6 +1159,14 @@ sub Dashboard_attr($$$) {
|
|||||||
<a name="dashboard_tab5sorting"></a>
|
<a name="dashboard_tab5sorting"></a>
|
||||||
<li>dashboard_tab5sorting<br>
|
<li>dashboard_tab5sorting<br>
|
||||||
Enthält die Poistionierung jeder Gruppe im Tab 5. Der Wert wird mit der Schaltfläche "Set" geschrieben. Es wird nicht empfohlen dieses Attribut manuelle zu ändern
|
Enthält die Poistionierung jeder Gruppe im Tab 5. Der Wert wird mit der Schaltfläche "Set" geschrieben. Es wird nicht empfohlen dieses Attribut manuelle zu ändern
|
||||||
|
</li><br>
|
||||||
|
<a name="dashboard_tab65sorting"></a>
|
||||||
|
<li>dashboard_tab6sorting<br>
|
||||||
|
Enthält die Poistionierung jeder Gruppe im Tab 6. Der Wert wird mit der Schaltfläche "Set" geschrieben. Es wird nicht empfohlen dieses Attribut manuelle zu ändern
|
||||||
|
</li><br>
|
||||||
|
<a name="dashboard_tab7sorting"></a>
|
||||||
|
<li>dashboard_tab7sorting<br>
|
||||||
|
Enthält die Poistionierung jeder Gruppe im Tab 7. Der Wert wird mit der Schaltfläche "Set" geschrieben. Es wird nicht empfohlen dieses Attribut manuelle zu ändern
|
||||||
</li><br>
|
</li><br>
|
||||||
<a name="dashboard_row"></a>
|
<a name="dashboard_row"></a>
|
||||||
<li>dashboard_row<br>
|
<li>dashboard_row<br>
|
||||||
@ -1115,11 +1184,6 @@ sub Dashboard_attr($$$) {
|
|||||||
dashboard_rowcentercolwidth <br>
|
dashboard_rowcentercolwidth <br>
|
||||||
Standard: 320
|
Standard: 320
|
||||||
</li><br>
|
</li><br>
|
||||||
<a name="dashboard_colheight"></a>
|
|
||||||
<li>dashboard_colheight<br>
|
|
||||||
Dieses Attribut ist nicht mehr zu verwenden und wird zu einem späteren Zeitpunkt entfernt. Es wurde ersetzt durch <br>
|
|
||||||
dashboard_rowcenterheight
|
|
||||||
</li><br>
|
|
||||||
<a name="dashboard_rowcenterheight"></a>
|
<a name="dashboard_rowcenterheight"></a>
|
||||||
<li>dashboard_rowcenterheight<br>
|
<li>dashboard_rowcenterheight<br>
|
||||||
Höhe der mittleren Zeile, in der die Gruppen angeordnet werden. <br>
|
Höhe der mittleren Zeile, in der die Gruppen angeordnet werden. <br>
|
||||||
@ -1174,6 +1238,18 @@ sub Dashboard_attr($$$) {
|
|||||||
Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden<br>
|
Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden<br>
|
||||||
Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
||||||
</li><br>
|
</li><br>
|
||||||
|
<a name="dashboard_tab6groups"></a>
|
||||||
|
<li>dashboard_tab6groups<br>
|
||||||
|
Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 6 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.<br>
|
||||||
|
Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden<br>
|
||||||
|
Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
||||||
|
</li><br>
|
||||||
|
<a name="dashboard_tab7groups"></a>
|
||||||
|
<li>dashboard_tab7groups<br>
|
||||||
|
Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 7 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.<br>
|
||||||
|
Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden<br>
|
||||||
|
Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow
|
||||||
|
</li><br>
|
||||||
<a name="dashboard_tab1icon"></a>
|
<a name="dashboard_tab1icon"></a>
|
||||||
<li>dashboard_tab1icon<br>
|
<li>dashboard_tab1icon<br>
|
||||||
Zeigt am Tab ein Icon an. Es muss sich dabei um ein exisitereindes Icon mit modpath Verzeichnis handeln. Handelt es sich um ein SVG Icon kann der Suffix @colorname für die Farbe des Icons angegeben werden.
|
Zeigt am Tab ein Icon an. Es muss sich dabei um ein exisitereindes Icon mit modpath Verzeichnis handeln. Handelt es sich um ein SVG Icon kann der Suffix @colorname für die Farbe des Icons angegeben werden.
|
||||||
@ -1194,6 +1270,14 @@ sub Dashboard_attr($$$) {
|
|||||||
<li>dashboard_tab5icon<br>
|
<li>dashboard_tab5icon<br>
|
||||||
Zeigt am Tab ein Icon an. Es muss sich dabei um ein exisitereindes Icon mit modpath Verzeichnis handeln. Handelt es sich um ein SVG Icon kann der Suffix @colorname für die Farbe des Icons angegeben werden.
|
Zeigt am Tab ein Icon an. Es muss sich dabei um ein exisitereindes Icon mit modpath Verzeichnis handeln. Handelt es sich um ein SVG Icon kann der Suffix @colorname für die Farbe des Icons angegeben werden.
|
||||||
</li><br>
|
</li><br>
|
||||||
|
<a name="dashboard_tab6icon"></a>
|
||||||
|
<li>dashboard_tab6icon<br>
|
||||||
|
Zeigt am Tab ein Icon an. Es muss sich dabei um ein exisitereindes Icon mit modpath Verzeichnis handeln. Handelt es sich um ein SVG Icon kann der Suffix @colorname für die Farbe des Icons angegeben werden.
|
||||||
|
</li><br>
|
||||||
|
<a name="dashboard_tab7icon"></a>
|
||||||
|
<li>dashboard_tab7icon<br>
|
||||||
|
Zeigt am Tab ein Icon an. Es muss sich dabei um ein exisitereindes Icon mit modpath Verzeichnis handeln. Handelt es sich um ein SVG Icon kann der Suffix @colorname für die Farbe des Icons angegeben werden.
|
||||||
|
</li><br>
|
||||||
<a name="dashboard_lockstate"></a>
|
<a name="dashboard_lockstate"></a>
|
||||||
<li>dashboard_lockstate<br>
|
<li>dashboard_lockstate<br>
|
||||||
Bei Dashboard Einstellung "unlock" kann dieses bearbeitet werden. Bei der Einstellung "lock" können keine Änderung vorgenommen werden. <br>
|
Bei Dashboard Einstellung "unlock" kann dieses bearbeitet werden. Bei der Einstellung "lock" können keine Änderung vorgenommen werden. <br>
|
||||||
|
@ -338,6 +338,7 @@ $(document).ready( function () {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (params[14] != "none" ) {$('<style type="text/css">'+params[14]+'</style>').appendTo($('head')); }
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Code: [Auswählen]
|
|
||||||
/* Author: svenson08 edit by fhainz */
|
/* Author: svenson08 edit by fhainz */
|
||||||
.dashboard_buttonbar { padding: 6px 6px 6px 0; margin: 0 .5em 0 0; float: left;}
|
.dashboard_buttonbar { padding: 6px 6px 6px 0; margin: 0 .5em 0 0; float: left; }
|
||||||
.dashboard_buttonbar_top, .dashboard_buttonbar_bottom { }
|
.dashboard_buttonbar_top, .dashboard_buttonbar_bottom { }
|
||||||
.dashboard_button { float: left; background-color: #fff; font-size: 0.8em; background-repeat:no-repeat;
|
.dashboard_button { float: left; background-color: #fff; font-size: 0.8em; background-repeat:no-repeat;
|
||||||
background-position: 4px 2px; border: 1px solid #808080; padding: 0.2em 0.7em 0.2em 0.4em; }
|
background-position: 4px 2px; border: 1px solid #808080; padding: 0.2em 0.7em 0.2em 0.4em; margin-top:7px; }
|
||||||
|
.dashboard_button:last-child { margin-right: 6px; }
|
||||||
#dashboard_button_set { color: black; cursor: default; }
|
#dashboard_button_set { color: black; cursor: default; }
|
||||||
#dashboard_button_set.dashboard_button_changed { color: #147bff; cursor: pointer; }
|
#dashboard_button_set.dashboard_button_changed { color: #147bff; cursor: pointer; }
|
||||||
|
|
||||||
@ -23,11 +23,11 @@ a,li { outline: none; }
|
|||||||
float: left; background-image: url(../images/default/dashboardicons.png); }
|
float: left; background-image: url(../images/default/dashboardicons.png); }
|
||||||
.dashboard_button_iconplus { margin: 0.1em 0.4em; float: right; background-position: -65px -16px; }
|
.dashboard_button_iconplus { margin: 0.1em 0.4em; float: right; background-position: -65px -16px; }
|
||||||
.dashboard_button_iconminus { margin: 0.1em 0.4em; float: right; background-position: -52px -16px; }
|
.dashboard_button_iconminus { margin: 0.1em 0.4em; float: right; background-position: -52px -16px; }
|
||||||
.dashboard_button_iconset { background-position: -26px -16px; }
|
.dashboard_button_iconset { margin:0 2px; background-position: -26px -16px; }
|
||||||
.dashboard_button_iconlock { background-position: -0px -16px; }
|
.dashboard_button_iconlock { margin:0 2px; background-position: -0px -16px; }
|
||||||
.dashboard_button_iconunlock { background-position: -13px -16px; }
|
.dashboard_button_iconunlock { margin:0 2px; background-position: -13px -16px; }
|
||||||
.dashboard_button_icondetail { background-position: -39px -16px; }
|
.dashboard_button_icondetail { margin:0 2px; background-position: -39px -16px; }
|
||||||
.dashboard_button_iconback { margin: 0.1em 0.4em; float: right; background-position: -91px -16px; }
|
.dashboard_button_iconback { margin:1px 1px 0 5px; float: right; background-position: -91px -16px; }
|
||||||
|
|
||||||
.ui-resizable { position: relative; }
|
.ui-resizable { position: relative; }
|
||||||
.ui-resizable-handle { position: absolute; font-size: 0.1px; }
|
.ui-resizable-handle { position: absolute; font-size: 0.1px; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user