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

Change Detail and Set Button.

git-svn-id: https://svn.fhem.de/fhem/trunk@5634 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
svenson08 2014-04-24 19:59:30 +00:00
parent 33a44178e1
commit ce1c97e886
5 changed files with 116 additions and 159 deletions

View File

@ -1,4 +1,5 @@
########################################################################################
# $Id:$
########################################################################################
#
# 95_Dashboard.pm
#
@ -44,6 +45,8 @@
# 2.08: Fix dashboard_webfrontendfilter Error-Message. Internal changes. Attribute dashboard_colwidth and dashboard_sorting removed.
# 2.09: dashboard_showfullsize not applied in room "all" resp. "Everything". First small implementation over Dashboard_DetailFN.
# 2.10: Internal Changes. Lock/Unlock now only in Detail view. Attribut dashboard_lockstate are obsolet.
# 2.11: Attribute dashboard_showhelper ist obolet. Erase tabs-at-the-top-buttonbar-hidden and tabs-on-the-bottom-buttonbar-hidden values
# from Attribute dashboard_showtabs. Change Buttonbar Style. Clear CSS and Dashboard.js.
#
# Known Bugs/Todos:
# BUG: Nicht alle Inhalte aller Tabs laden, bei Plots dauert die bedienung des Dashboards zu lange. -> elemente hidden?
@ -96,7 +99,7 @@ my $fwjquery = "jquery.min.js";
my $fwjqueryui = "jquery-ui.min.js";
my $dashboardname = "Dashboard"; # Link Text
my $dashboardhiddenroom = "DashboardRoom"; # Hiddenroom
my $dashboardversion = "2.10";
my $dashboardversion = "2.11";
# -------------------------------------------------------------------------------------------
#############################################################################################
@ -111,11 +114,11 @@ sub Dashboard_Initialize ($) {
$hash->{AttrList} = "disable:0,1 ".
"dashboard_colcount:1,2,3,4,5 ".
"dashboard_debug:0,1 ".
"dashboard_lockstate:dont-use-this-attribut ".
"dashboard_lockstate:dont-use-this-attribut ". #obolet since 04.2014
"dashboard_rowtopheight ".
"dashboard_rowbottomheight ".
"dashboard_row:top,center,bottom,top-center,center-bottom,top-center-bottom ".
"dashboard_showhelper:0,1 ".
"dashboard_showhelper:dont-use-this-attribut ". #obolet since 04.2014
"dashboard_showtooglebuttons:0,1 ".
#new attribute vers. 2.00
"dashboard_tabcount:1,2,3,4,5,6,7 ".
@ -141,7 +144,8 @@ sub Dashboard_Initialize ($) {
"dashboard_rowcentercolwidth ".
"dashboard_showfullsize:0,1 ".
#new attribute vers. 2.02
"dashboard_showtabs:tabs-and-buttonbar-at-the-top,tabs-at-the-top-buttonbar-hidden,tabs-and-buttonbar-on-the-bottom,tabs-on-the-bottom-buttonbar-hidden,tabs-and-buttonbar-hidden ".
#"dashboard_showtabs:tabs-and-buttonbar-at-the-top,tabs-at-the-top-buttonbar-hidden,tabs-and-buttonbar-on-the-bottom,tabs-on-the-bottom-buttonbar-hidden,tabs-and-buttonbar-hidden ".
"dashboard_showtabs:tabs-and-buttonbar-at-the-top,tabs-and-buttonbar-on-the-bottom,tabs-and-buttonbar-hidden ".
#new attribute vers. 2.03
"dashboard_tab1icon ".
"dashboard_tab2icon ".
@ -178,9 +182,9 @@ sub Dashboard_DetailFN() {
my $ret = "";
$ret .= "<table class=\"block wide\" id=\"dashboardtoolbar\" style=\"width:100%\">\n";
$ret .= "<tr><td><div>\n";
$ret .= " <div> <a href=\"javascript:dashboard_setposition()\"><button id=\"dashboard_setpositionbutton\" type=\"button\" title=\"Set the Positions\" disabled>Set Positions</button></a>\n";
# $ret .= " <div> <a href=\"javascript:dashboard_setposition()\"><button id=\"dashboard_setpositionbutton\" type=\"button\" title=\"Set the Positions\" disabled>Set Positions</button></a>\n";
$ret .= " <a href=\"$FW_ME?room=$dashboardhiddenroom\"><button type=\"button\">Return to Dashboard</button></a>\n";
$ret .= " <div id=\"resultText\" style=\"padding-top: 8px;\"></div>\n";
# $ret .= " <div id=\"resultText\" style=\"padding-top: 8px;\"></div>\n";
$ret .= " </div>\n";
$ret .= " </div></td></tr>\n";
$ret .= "</table>\n";
@ -191,14 +195,10 @@ sub Dashboard_Set($@) {
my ( $hash, $name, $cmd, @args ) = @_;
if ( $cmd eq "lock" ) {
#$attr{$name}{dashboard_lockstate} = "lock";
readingsSingleUpdate( $hash, "lockstate", "lock", 0 );
#$hash->{LOCKSTATE} = "lock";
return;
} elsif ( $cmd eq "unlock" ) {
#$attr{$name}{dashboard_lockstate} = "unlock";
readingsSingleUpdate( $hash, "lockstate", "unlock", 0 );
#$hash->{LOCKSTATE} = "unlock";
return;
}else {
return "Unknown argument " . $cmd . ", choose one of lock:noArg unlock:noArg";
@ -253,13 +253,15 @@ sub Dashboard_SummaryFN($$$$)
my $id = $defs{$d}{NR};
######################### Read Dashboard Attributes and set Default-Values ####################################
my $lockstate = ($defs{$d}->{READINGS}{lockstate}{VAL}) ? $defs{$d}->{READINGS}{lockstate}{VAL} : "unlock";
my $showhelper = ($lockstate eq "unlock") ? 1 : 0;
my $disable = AttrVal($defs{$d}{NAME}, "disable", 0);
my $colcount = AttrVal($defs{$d}{NAME}, "dashboard_colcount", 1);
my $colwidth = AttrVal($defs{$d}{NAME}, "dashboard_rowcentercolwidth", 100);
my $colheight = AttrVal($defs{$d}{NAME}, "dashboard_rowcenterheight", 400);
my $rowtopheight = AttrVal($defs{$d}{NAME}, "dashboard_rowtopheight", 250);
my $rowbottomheight = AttrVal($defs{$d}{NAME}, "dashboard_rowbottomheight", 250);
my $showhelper = AttrVal($defs{$d}{NAME}, "dashboard_showhelper", 1);
my $rowbottomheight = AttrVal($defs{$d}{NAME}, "dashboard_rowbottomheight", 250);
my $showtabs = AttrVal($defs{$d}{NAME}, "dashboard_showtabs", "tabs-and-buttonbar-at-the-top");
my $showtooglebuttons = AttrVal($defs{$d}{NAME}, "dashboard_showtooglebuttons", 1);
my $showfullsize = AttrVal($defs{$d}{NAME}, "dashboard_showfullsize", 0);
@ -269,10 +271,6 @@ sub Dashboard_SummaryFN($$$$)
my $row = AttrVal($defs{$d}{NAME}, "dashboard_row", "center");
my $debug = AttrVal($defs{$d}{NAME}, "dashboard_debug", "0");
my $lockstate = ($defs{$d}->{READINGS}{lockstate}{VAL}) ? $defs{$d}->{READINGS}{lockstate}{VAL} : "unlock";
Log 1, "[DASHBOARD simple debug] ".$defs{$d}->{READINGS}{lockstate}{VAL};
#my $lockstate = AttrVal($defs{$d}{NAME}, "dashboard_lockstate", "unlock");
my $activetab = AttrVal($defs{$d}{NAME}, "dashboard_activetab", 1);
my $tabcount = AttrVal($defs{$d}{NAME}, "dashboard_tabcount", 1);
my $dbwidth = AttrVal($defs{$d}{NAME}, "dashboard_width", "100%");
@ -362,18 +360,13 @@ Log 1, "[DASHBOARD simple debug] ".$defs{$d}->{READINGS}{lockstate}{VAL};
$ret .= "<tr><td><div id=\"tabs\" class=\"dashboard_tabs\">\n";
########################### Dashboard Tab-Liste ##############################################
my $tabshow = "hidden";
my $tabicon = "";
if ($showtabs eq "tabs-and-buttonbar-at-the-top" || $showtabs eq "tabs-at-the-top-buttonbar-hidden") { $tabshow = "top";}
if ($showtabs eq "tabs-and-buttonbar-on-the-bottom" || $showtabs eq "tabs-on-the-bottom-buttonbar-hidden") { $tabshow = "bottom";}
$ret .= " <ul id=\"dashboard_tabnav\" class=\"dashboard_tabnav dashboard_tabnav_".$showbuttonbar."\">\n";
$ret .= " <ul id=\"dashboard_tabnav\" class=\"dashboard_tabnav dashboard_tabnav_".$tabshow."\">\n";
if ($showtabs ne "tabs-at-the-top-buttonbar-hidden" && $showtabs ne "tabs-on-the-bottom-buttonbar-hidden" && $showtabs ne "tabs-and-buttonbar-hidden") { $ret .= BuildButtonBar($d,$showtabs,$showfullsize); }
for (my $i=0;$i<$tabcount;$i++){
for (my $i=0;$i<$tabcount;$i++){
$tabicon = "";
if ($tabicons[$i] ne "") { $tabicon = FW_makeImage($tabicons[$i],$tabicons[$i],"dashboard_tabicon") . "&nbsp;"; }
$ret .= " <li class=\"dashboard_tab dashboard_tab_".$tabshow."\">".$tabicon."<a href=\"#dashboard_tab".$i."\">".trim($tabnames[$i])."</a></li>";
if ($tabicons[$i] ne "") { $tabicon = FW_makeImage($tabicons[$i],$tabicons[$i],"dashboard_tabicon")."&nbsp;"; }
$ret .= " <li class=\"dashboard_tab dashboard_tab_".$showbuttonbar."\">".$tabicon."<a href=\"#dashboard_tab".$i."\">".trim($tabnames[$i])."</a></li>";
}
$ret .= " </ul>\n";
##############################################################################################
@ -459,30 +452,6 @@ sub BuildDashboardBottomRow($$$$){
return $ret;
}
sub BuildButtonBar($$$){
my ($d,$pos,$fullsize) = @_;
my $ret = "";
my $cssclass = "hidden";
if ($pos eq "tabs-and-buttonbar-at-the-top") { $cssclass = "top"; }
if ($pos eq "tabs-and-buttonbar-on-the-bottom") { $cssclass = "bottom"; }
if ($fullsize eq "1" && $pos ne "hidden" ) {
$ret .= "<div class=\"dashboard_buttonbar dashboard_buttonbar_".$cssclass."\">\n";
$ret .= " <div class=\"dashboard_button\"> <a id=\"dashboard_button_back\" href=\"/\" title=\"Back\"><span class=\"dashboard_button_icon dashboard_button_iconback\"></span></a> </div>\n";
$ret .= "</div>\n";
}
if ($pos ne "hidden") {
$ret .= "<div class=\"dashboard_buttonbar dashboard_buttonbar_".$cssclass."\">\n";
$ret .= " <div class=\"dashboard_button\"> <a id=\"dashboard_button_set\" href=\"javascript:dashboard_setposition()\" title=\"Set the Position\"><span class=\"dashboard_button_icon dashboard_button_iconset\"></span>Set</a> </div>\n";
$ret .= " <div class=\"dashboard_button\"> <a id=\"dashboard_button_detail\" href=\"/fhem?detail=$d\" title=\"Dashboard Details\"><span class=\"dashboard_button_icon dashboard_button_icondetail\"></span>Detail</a> </div>\n";
$ret .= "</div>\n";
}
return $ret;
}
sub BuildGroupWidgets($$$$$) {
my ($tab,$column,$id,$dbgroups, $dbsorting) = @_;
my $ret = "";
@ -676,6 +645,20 @@ sub CheckDashboardAttributUssage($) { # replaces old disused attributes and thei
{ FW_fC("deleteattr ".$d." dashboard_lockstate"); }
Log3 $hash, 3, "[".$hash->{NAME}. " V".$dashboardversion."]"." Using an outdated no longer used Attribute or Value. This has been corrected. Don't forget to save config. [dashboard_lockstate]";
}
my $showhelper = AttrVal($defs{$d}{NAME}, "dashboard_showhelper", ""); # outdates 04.2014
if ($showhelper ne "") {
{ FW_fC("deleteattr ".$d." dashboard_showhelper"); }
Log3 $hash, 3, "[".$hash->{NAME}. " V".$dashboardversion."]"." Using an outdated no longer used Attribute or Value. This has been corrected. Don't forget to save config. [dashboard_showhelper]";
}
my $showtabs = AttrVal($defs{$d}{NAME}, "dashboard_showtabs", ""); # delete values 04.2014
if ($showtabs eq "tabs-at-the-top-buttonbar-hidden") {
{ FW_fC("set ".$d." dashboard_showtabs tabs-and-buttonbar-at-the-top"); }
Log3 $hash, 3, "[".$hash->{NAME}. " V".$dashboardversion."]"." Using an outdated no longer used Attribute or Value. This has been corrected. Don't forget to save config. [tabs-at-the-top-buttonbar-hidden]";
}
if ($showtabs eq "tabs-on-the-bottom-buttonbar-hidden") {
{ FW_fC("set ".$d." dashboard_showtabs tabs-and-buttonbar-on-the-bottom"); }
Log3 $hash, 3, "[".$hash->{NAME}. " V".$dashboardversion."]"." Using an outdated no longer used Attribute or Value. This has been corrected. Don't forget to save config. [tabs-on-the-bottom-buttonbar-hidden]";
}
}
sub CreateDashboardEntry($) {
@ -733,8 +716,6 @@ sub CreateDashboardEntry($) {
attr anyViews dashboard_colcount 2<br>
attr anyViews dashboard_rowcentercolwidth 30,70<br>
attr anyViews dashboard_tab1groups &lt;Group1&gt;,&lt;Group2&gt;,&lt;Group3&gt;<br>
attr anyViews dashboard_lockstate unlock<br>
attr anyViews dashboard_showhelper 1<br>
</code>
</ul>
<br>
@ -742,7 +723,10 @@ sub CreateDashboardEntry($) {
<a name="Dashboardset"></a>
<b>Set</b>
<ul>
N/A
<code>set &lt;name&gt; lock</code><br><br>
locks the Dashboard so that no position changes can be made<br>
<code>set &lt;name&gt; unlock</code><br><br>
unlock the Dashboard<br>
</ul>
<br>
@ -938,12 +922,6 @@ sub CreateDashboardEntry($) {
<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>
<li>dashboard_lockstate<br>
When set to "unlock" you can edit the Dashboard. When set to "lock" no change can be made. <br>
If the bar is hidden dashboard_lockstate is "lock". Editing is possible only with activated switch panel.<br>
Default: unlock
</li><br>
<a name="dashboard_colcount"></a>
<li>dashboard_colcount<br>
Number of columns in which the groups can be displayed. Nevertheless, it is possible to have multiple groups <br>
@ -957,14 +935,9 @@ sub CreateDashboardEntry($) {
</li><br>
<a name="dashboard_showtabs"></a>
<li>dashboard_showtabs<br>
Displays the Tabs on top or bottom, or hides them. This also applies to the Buttonbar. If the Buttonbar is hidden dashboard_lockstate the "lock" is used.<br>
Displays the Tabs/Buttonbar on top or bottom, or hides them. If the Buttonbar is hidden lockstate is "lock" is used.<br>
Default: tabs-and-buttonbar-at-the-top
</li><br>
<a name="dashboard_showhelper"></a>
<li>dashboard_showhelper<br>
Displays frames in order to facilitate the positioning of the groups.<br>
Default: 1
</li><br>
<a name="dashboard_showtooglebuttons"></a>
<li>dashboard_showtooglebuttons<br>
Displays a Toogle Button on each Group do collapse.<br>
@ -1005,8 +978,6 @@ sub CreateDashboardEntry($) {
attr anyViews dashboard_colcount 2<br>
attr anyViews dashboard_rowcentercolwidth 30,70<br>
attr anyViews dashboard_tab1groups &lt;Group1&gt;,&lt;Group2&gt;,&lt;Group3&gt;<br>
attr anyViews dashboard_lockstate unlock<br>
attr anyViews dashboard_showhelper 1<br>
</code>
</ul>
<br>
@ -1014,7 +985,10 @@ sub CreateDashboardEntry($) {
<a name="Dashboardset"></a>
<b>Set</b>
<ul>
N/A
<code>set &lt;name&gt; lock</code><br><br>
Sperrt das Dashboard so das keine Positionsänderungen vorgenommen werden können<br>
<code>set &lt;name&gt; unlock</code><br><br>
Entsperrt das Dashboard<br>
</ul>
<br>
@ -1210,12 +1184,6 @@ sub CreateDashboardEntry($) {
<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>
<li>dashboard_lockstate<br>
Bei Dashboard Einstellung "unlock" kann dieses bearbeitet werden. Bei der Einstellung "lock" können keine Änderung vorgenommen werden. <br>
Wenn die Leiste ausgeblendet ist (dashboard_showtabs) ist das Dashboard gespert. Die Bearbeitung ist daher nur mit sichtbarer Buttonbar möglich ist.<br>
Standard: unlock
</li><br>
<a name="dashboard_colcount"></a>
<li>dashboard_colcount<br>
Die Anzahl der Spalten in der Gruppen dargestellt werden können. Dennoch ist es möglich, mehrere Gruppen <br>
@ -1230,14 +1198,9 @@ sub CreateDashboardEntry($) {
</li><br>
<a name="dashboard_showtabs"></a>
<li>dashboard_showtabs<br>
Zeigt die Tabs des Dashboards oben oder unten an, oder blendet diese aus. Dies gilt auch für die Schalterleiste. Wenn die Schalterleiste ausgeblendet wird ist das Dashboard gespert.<br>
Zeigt die Tabs/Schalterleiste des Dashboards oben oder unten an, oder blendet diese aus. Wenn die Schalterleiste ausgeblendet wird ist das Dashboard gespert.<br>
Standard: tabs-and-buttonbar-at-the-top
</li><br>
<a name="dashboard_showhelper"></a>
<li>dashboard_showhelper<br>
Blendet Ränder ein, die eine Positionierung der Gruppen erleichtern. <br>
Standard: 1
</li><br>
<a name="dashboard_showtooglebuttons"></a>
<li>dashboard_showtooglebuttons<br>
Zeigt eine Schaltfläche in jeder Gruppe mit der man diese auf- und zuklappen kann.<br>

View File

@ -14,12 +14,23 @@
// been fixed.
// 2.04: Dashboard position near Top in showfullsize-mode. Restore ActiveTab funktion
// 2.05: Delete function for set lockstate
// 2.06: change Set and Detail Button.
//
// Known Bugs/Todo's
// See 95_Dashboard.pm
//########################################################################################
//########################################################################################
var dashboard_name = "unknown";
var dashboard_fullsize = false;
var dashboard_buttonbar = "top";
//Only use for debugging
function showdebugMessage(msg){
document.getElementById("dashboard_jsdebug").value = msg;
}
function saveOrder() {
var EndSaveResult = "";
var ActiveTab = $("#tabs .ui-tabs-panel:visible").attr("id").substring(14,13);
@ -53,7 +64,7 @@ function saveOrder() {
//------------------------------------------------------------------------
//--------------------- Store new Positions ------------------------
if (EndSaveResult != "") { $("#tabs .ui-tabs-panel:visible").data("tabwidgets",EndSaveResult); } //store widgetposition in active tab Widget
document.getElementById("dashboard_button_set").classList.add('dashboard_button_changed'); //Mark that the Changes are not saved
$("#setPosition").button({disabled: false}); //Mark that the Changes are not saved
//------------------------------------------------------------------------
}
@ -137,11 +148,6 @@ function GetColWidth(ColCount, ColWidth){
return aColWidth;
}
//Only use for debugging
function showdebugMessage(msg){
document.getElementById("dashboard_jsdebug").value = msg;
}
function dashboard_setlock(){
$("#dashboard_button_lock").prepend('<span class="dashboard_button_icon dashboard_button_iconlock"></span>');
//############################################################
@ -171,15 +177,15 @@ function dashboard_setposition(){
for (var i = 0, n = params[10]; i < n; i++ ) {
if ($("#dashboard_tab"+i).data("tabwidgets") != null) {
var j = i+1;
FW_cmd(document.location.pathname+'?XHR=1&cmd.'+params[0]+'=attr '+params[0]+' dashboard_tab'+j+'sorting '+$("#dashboard_tab"+i).data("tabwidgets"));
FW_cmd(document.location.pathname+'?XHR=1&cmd.'+dashboard_name+'=attr '+dashboard_name+' dashboard_tab'+j+'sorting '+$("#dashboard_tab"+i).data("tabwidgets"));
}
}
document.getElementById("dashboard_button_set").classList.remove('dashboard_button_changed');
$("#setPosition").button({disabled: true});
//---------------------------------------------------------------------
//--------------------- store active Tab ------------------------------
var activeTab = ($( "#tabs" ).tabs( "option", "active" ))+1;
if (params[11] != activeTab){
FW_cmd(document.location.pathname+'?XHR=1&cmd.'+params[0]+'=attr '+params[0]+' dashboard_activetab '+activeTab);
FW_cmd(document.location.pathname+'?XHR=1&cmd.'+dashboard_name+'=attr '+dashboard_name+' dashboard_activetab '+activeTab);
}
//---------------------------------------------------------------------
}
@ -212,15 +218,41 @@ function dashboard_modifyWidget(){
});
}
function adddashboardButton(position, text, id, hint) {
$("#" + id).button();
var my_button = '<span id="' + id + '" title="'+hint+'" class="dashboard-button dashboard-button-custom dashboard-button-'+id+' dashboard-state-default" style="">'+text+'</span>';
$("#dashboard_tabnav").prepend(my_button);
}
function dashboard_buildButtons() {
adddashboardButton("top", "", "defineDetails", "Show Details");
$("#defineDetails").click(function () {location.href=document.location.pathname+'?detail='+dashboard_name;});
adddashboardButton("top", "", "setPosition", "Set Position");
$("#setPosition").button({disabled: true});
$("#setPosition").click(function () {dashboard_setposition()});
//adddashboardButton("top", "XX", "editTab", "Edit Tab");
//$("#editTab").click(function () {alert("comming soon")});
if (dashboard_fullsize == true) {
adddashboardButton("top", "", "goBack", "Back");
$("#goBack").click(function () {location.href=document.location.pathname;});
}
}
$(document).ready( function () {
var dbattr = document.getElementById("dashboard_attr");
if (dbattr) {
//--------------------------------- Attribute des Dashboards ------------------------------------------------------------------
var params = (document.getElementById("dashboard_attr").value).split(","); //get current Configuration
dashboard_name = params[0];
dashboard_buttonbar = params[4];
dashboard_fullsize = (params[13] == 1) ? true : false;
//-------------------------------------------------------------------------------------------------------------------------------------
$("body").attr("longpollfilter", ".*") //need for longpoll
if (params[13] == 1){ //disable roomlist and header
if (dashboard_fullsize == 1){ //disable roomlist and header
$("#menuScrollArea").remove();
$("#hdr").remove();
$(".roomoverview:first").remove();
@ -232,12 +264,7 @@ $(document).ready( function () {
connectWith: ['.dashboard_column', '.ui-row'],
cursor: 'move',
stop: function() { saveOrder(); }
});
if (params[4] == "hidden") {
dashboard_modifyWidget();
dashboard_setlock();
}
});
if (params[6] == 1){ //ToogleButton show/hide
$(".dashboard_widget")
@ -286,30 +313,18 @@ $(document).ready( function () {
create: function(event, ui) {
$( "#tabs" ).tabs( "option", "active", params[11]-1 ); //set active Tab
restoreOrder();
},
},
activate: function (event, ui) {
restoreOrder();
}
}
});
if ($("#dashboard_tabnav").hasClass("dashboard_tabnav_bottom")) { $(".dashboard_tabnav").appendTo(".dashboard_tabs"); } //set Tabs on the Bottom
$(".dashboard_tab_hidden").css("display", "none"); //hide Tabs
//-------------------------------------------------------------------------------------------------------------------------------------
$("#dashboard_button_set").button({
create: function( event, ui ) {
$(this).addClass("dashboard_button_iconset");
}
});
$("#dashboard_button_detail").button({
create: function( event, ui ) {
$(this).addClass("dashboard_button_icondetail");
}
});
dashboard_modifyWidget();
if (params[3] == "lock") {dashboard_setlock();} else {dashboard_unsetlock();}
if (dashboard_buttonbar != "hidden") dashboard_buildButtons();
if ((params[3] == "lock") || (dashboard_buttonbar == "hidden")) {dashboard_setlock();} else {dashboard_unsetlock();}
if (params[14] != "none" ) {$('<style type="text/css">'+params[14]+'</style>').appendTo($('head')); }
}
});

View File

@ -1,12 +1,4 @@
/* Author: svenson08*/
.dashboard_buttonbar { background: none repeat scroll 0 0 #111111; border: 1px solid #FFFFFF; padding: 4px; margin: 0 .5em 0 0.4em; float: left; }
.dashboard_buttonbar_top { border-bottom-width: 0; border-top-left-radius: 8px; border-top-right-radius: 8px; }
.dashboard_buttonbar_bottom { border-top-width: 0; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; box-shadow: 5px 5px 5px #000000; }
.dashboard_button { border-radius: 8px; float: left; color: #1c94c4; font-weight: bold; font-size: 0.8em; background-repeat:no-repeat;
background-position: 4px 2px; border: 1px solid #cccccc; padding: 0.2em 0.7em 0.2em 0.4em; }
.dashboard_button_changed { color: red; font-weight:bold; }
.dashboard_column { float: left; }
.dashboard_columnhelper { border: 1px dotted #CCCCCC; }
@ -24,11 +16,15 @@
float: left; background-image: url(../images/default/dashboardicons.png); }
.dashboard_button_iconplus { margin: 0.1em 0.4em; float: right; background-position: -65px 0px; }
.dashboard_button_iconminus { margin: 0.1em 0.4em; float: right; background-position: -52px 0px; }
.dashboard_button_iconset { background-position: -26px 0px; }
.dashboard_button_iconlock { background-position: 0px 0px; }
.dashboard_button_iconunlock { background-position: -13px 0px; }
.dashboard_button_icondetail { background-position: -39px 0px; }
.dashboard_button_iconback { margin: 0.1em 0.4em; float: right; background-position: -91px 0px; }
.dashboard-button { display: inline-block; padding: 0 .6em; height: 1.9em; cursor: pointer;
background-color: #f5f5f5; background-repeat:no-repeat !important; background-position: 7px;
border: 1px solid #FFFFFF; border-radius: 4px; margin-top: 2px; width: 14px; position: absolute;}
.dashboard-button-defineDetails{right: 10px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY4NjYwOTg0NEJFQzExRTI4MjI3OTFCOEEyNzY2MzE2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY4NjYwOTg1NEJFQzExRTI4MjI3OTFCOEEyNzY2MzE2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjg2NjA5ODI0QkVDMTFFMjgyMjc5MUI4QTI3NjYzMTYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Rjg2NjA5ODM0QkVDMTFFMjgyMjc5MUI4QTI3NjYzMTYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7i4cyWAAAAsElEQVR42mJgoCEwA+IPUGxGrKZkIE6AsjOB+D8UZyKJReHTDNOwGoifIPEfAvFGJH4gIQMIYZyuWI3mCm8oRhZfhCvA0pCcvRGLmnVI3klDD9gPaE50gopvRDLMG00NSA8DCw6vcELpX0hifwnFeRrUef+hzsXlhSfYvMCA5GTkQPSAYvTAxQoyyYlGJiQDviOxFwPxCyQ+iL0eh1oUEA7EfniSciySPG0yE8kAIMAAicRYTX3YPyoAAAAASUVORK5CYII=') !important;}
.dashboard-button-setPosition{right: 45px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAYUlEQVR4XtWRUQrAMAhDneyg9mT2ptugHRaCY/FnLJAveWKifCW7AS3Avlj2AmzrFUrDIYhgJNwvN4VcBDwiYC5/CyclBpDDoe2poATGEuegs3AswCUIk/8+pl2K8uE/6ATG4BstrVLVgQAAAABJRU5ErkJggg==') !important;}
.dashboard-button-goBack{right: 80px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAZ0lEQVQ4jd3RMQqDQBBA0YekV0wj3v8QNqZTJBEtPY42K9l2p0s+TDHF/zAMf8kTE4aovOPEp1TucGRyE5XXUhnmJJfMCFUKVMp55EuLzfeENhBUY0mRA30kkr/xHQnckQWvaODHuADAUSEXjMLoMwAAAABJRU5ErkJggg==') !important;}
.dashboard-button-editTab{right: 115px;}
.ui-state-disabled {cursor: default; opacity: 0.35;}
.ui-resizable { position: relative; }
.ui-resizable-handle { position: absolute; font-size: 0.1px; }
@ -38,8 +34,6 @@
.ui-sortable-placeholder { border: 1px dotted #FFFFFF; visibility: visible !important;
height: 25px !important; width: 150px; }
/* Neue CSS Einträge für Dashboard-Tabs */
.dashboard { padding: 0; margin: 0; }
.dashboard_tabnav { list-style: none; margin: 0; padding: 0 .5em 0; }
.dashboard_tabnav:before,

View File

@ -1,12 +1,4 @@
/* Author: svenson08 edit by fhainz */
.dashboard_buttonbar { padding: 6px 6px 6px 0; margin: 0 .5em 0 0; float: left; }
.dashboard_buttonbar_top, .dashboard_buttonbar_bottom { }
.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; margin-top:7px; }
.dashboard_button:last-child { margin-right: 6px; }
#dashboard_button_set { color: black; cursor: default; }
#dashboard_button_set.dashboard_button_changed { color: #147bff; cursor: pointer; }
a,li { outline: none; }
.dashboard_column { float: left; }
@ -23,11 +15,13 @@ a,li { outline: none; }
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_iconminus { margin: 0.1em 0.4em; float: right; background-position: -52px -16px; }
.dashboard_button_iconset { margin:0 2px; background-position: -26px -16px; }
.dashboard_button_iconlock { margin:0 2px; background-position: -0px -16px; }
.dashboard_button_iconunlock { margin:0 2px; background-position: -13px -16px; }
.dashboard_button_icondetail { margin:0 2px; background-position: -39px -16px; }
.dashboard_button_iconback { margin:1px 1px 0 5px; float: right; background-position: -91px -16px; }
.dashboard-button { display: inline-block; padding: 0 .6em; height: 1.9em; cursor: pointer; background-color: #FFFFFF;
background-repeat:no-repeat !important; background-position: 9px; border: 1px solid #d9d9d9;
margin-top: 2px; width: 14px; position: absolute;}
.dashboard-button-defineDetails{right: 10px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY4NjYwOTg0NEJFQzExRTI4MjI3OTFCOEEyNzY2MzE2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY4NjYwOTg1NEJFQzExRTI4MjI3OTFCOEEyNzY2MzE2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjg2NjA5ODI0QkVDMTFFMjgyMjc5MUI4QTI3NjYzMTYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Rjg2NjA5ODM0QkVDMTFFMjgyMjc5MUI4QTI3NjYzMTYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7i4cyWAAAAsElEQVR42mJgoCEwA+IPUGxGrKZkIE6AsjOB+D8UZyKJReHTDNOwGoifIPEfAvFGJH4gIQMIYZyuWI3mCm8oRhZfhCvA0pCcvRGLmnVI3klDD9gPaE50gopvRDLMG00NSA8DCw6vcELpX0hifwnFeRrUef+hzsXlhSfYvMCA5GTkQPSAYvTAxQoyyYlGJiQDviOxFwPxCyQ+iL0eh1oUEA7EfniSciySPG0yE8kAIMAAicRYTX3YPyoAAAAASUVORK5CYII=') !important;}
.dashboard-button-setPosition{right: 45px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAYUlEQVR4XtWRUQrAMAhDneyg9mT2ptugHRaCY/FnLJAveWKifCW7AS3Avlj2AmzrFUrDIYhgJNwvN4VcBDwiYC5/CyclBpDDoe2poATGEuegs3AswCUIk/8+pl2K8uE/6ATG4BstrVLVgQAAAABJRU5ErkJggg==') !important;}
.dashboard-button-goBack{right: 80px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAZ0lEQVQ4jd3RMQqDQBBA0YekV0wj3v8QNqZTJBEtPY42K9l2p0s+TDHF/zAMf8kTE4aovOPEp1TucGRyE5XXUhnmJJfMCFUKVMp55EuLzfeENhBUY0mRA30kkr/xHQnckQWvaODHuADAUSEXjMLoMwAAAABJRU5ErkJggg==') !important;}
.ui-state-disabled {cursor: default; opacity: 0.35;}
.ui-resizable { position: relative; }
.ui-resizable-handle { position: absolute; font-size: 0.1px; }
@ -36,8 +30,7 @@ a,li { outline: none; }
background-position: -78px -16px; background-repeat: no-repeat; }
.ui-sortable-placeholder { border: 1px dotted #d9d9d9; visibility: visible !important;
height: 25px !important; width: 150px; }
/* Neue CSS Einträge für Dashboard-Tabs */
.dashboard { padding: 0; margin: 0; }
.dashboard_tabnav { list-style: none; margin: 0; padding: 0 .5em 0; }
.dashboard_tabnav:before,

View File

@ -1,12 +1,4 @@
/* Author: svenson08*/
.dashboard_buttonbar { background: none repeat scroll 0 0 #d3d3ad; border: 1px solid #808080;padding: 6px; margin: 0 .5em 0 0.4em;float: left; }
.dashboard_buttonbar_top { border-bottom-width: 0; border-top-left-radius: 8px; border-top-right-radius: 8px; }
.dashboard_buttonbar_bottom { border-top-width: 0; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; }
.dashboard_button { border-radius: 8px; float: left; color: #1c94c4; font-weight: bold; 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; }
.dashboard_button_changed { color: blue; font-weight:bold; }
.dashboard_column { float: left; }
.dashboard_columnhelper { border: 1px dotted #808080; }
@ -21,11 +13,13 @@
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_iconminus { margin: 0.1em 0.4em; float: right; background-position: -52px -16px; }
.dashboard_button_iconset { background-position: -26px -16px; }
.dashboard_button_iconlock { background-position: -0px -16px; }
.dashboard_button_iconunlock { background-position: -13px -16px; }
.dashboard_button_icondetail { background-position: -39px -16px; }
.dashboard_button_iconback { margin: 0.1em 0.4em; float: right; background-position: -91px -16px; }
.dashboard-button { display: inline-block; padding: 0 .6em; height: 1.9em; cursor: pointer; background-color: #F0F0D8;
background-repeat:no-repeat !important; background-position: 9px; border: 1px solid #DDDDDD; border-radius: 4px;
margin-top: 2px; width: 14px; position: absolute;}
.dashboard-button-defineDetails{right: 5px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY4NjYwOTg0NEJFQzExRTI4MjI3OTFCOEEyNzY2MzE2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY4NjYwOTg1NEJFQzExRTI4MjI3OTFCOEEyNzY2MzE2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjg2NjA5ODI0QkVDMTFFMjgyMjc5MUI4QTI3NjYzMTYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Rjg2NjA5ODM0QkVDMTFFMjgyMjc5MUI4QTI3NjYzMTYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7i4cyWAAAAsElEQVR42mJgoCEwA+IPUGxGrKZkIE6AsjOB+D8UZyKJReHTDNOwGoifIPEfAvFGJH4gIQMIYZyuWI3mCm8oRhZfhCvA0pCcvRGLmnVI3klDD9gPaE50gopvRDLMG00NSA8DCw6vcELpX0hifwnFeRrUef+hzsXlhSfYvMCA5GTkQPSAYvTAxQoyyYlGJiQDviOxFwPxCyQ+iL0eh1oUEA7EfniSciySPG0yE8kAIMAAicRYTX3YPyoAAAAASUVORK5CYII=') !important;}
.dashboard-button-setPosition{right: 40px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAYUlEQVR4XtWRUQrAMAhDneyg9mT2ptugHRaCY/FnLJAveWKifCW7AS3Avlj2AmzrFUrDIYhgJNwvN4VcBDwiYC5/CyclBpDDoe2poATGEuegs3AswCUIk/8+pl2K8uE/6ATG4BstrVLVgQAAAABJRU5ErkJggg==') !important;}
.dashboard-button-goBack{right: 75px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAAZ0lEQVQ4jd3RMQqDQBBA0YekV0wj3v8QNqZTJBEtPY42K9l2p0s+TDHF/zAMf8kTE4aovOPEp1TucGRyE5XXUhnmJJfMCFUKVMp55EuLzfeENhBUY0mRA30kkr/xHQnckQWvaODHuADAUSEXjMLoMwAAAABJRU5ErkJggg==') !important;}
.ui-state-disabled {cursor: default;opacity: 0.35;}
.ui-resizable { position: relative; }
.ui-resizable-handle { position: absolute; font-size: 0.1px; }
@ -34,9 +28,7 @@
background-position: -78px -16px; background-repeat: no-repeat; }
.ui-sortable-placeholder { border: 1px dotted #808080; visibility: visible !important;
height: 25px !important; width: 150px; }
/* Neue CSS Einträge für Dashboard-Tabs */
.dashboard { padding: 0; margin: 0; }
.dashboard_tabnav { list-style: none; margin: 0; padding: 0 .5em 0; }
.dashboard_tabnav:before,