From ce1c97e886d3e8363005b0ec8ecdbfeb1d9c0319 Mon Sep 17 00:00:00 2001 From: svenson08 <> Date: Thu, 24 Apr 2014 19:59:30 +0000 Subject: [PATCH] Change Detail and Set Button. git-svn-id: https://svn.fhem.de/fhem/trunk@5634 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/95_Dashboard.pm | 123 +++++++++----------------- fhem/www/pgm2/dashboard.js | 81 ++++++++++------- fhem/www/pgm2/dashboard_darkstyle.css | 24 ++--- fhem/www/pgm2/dashboard_ios7.css | 23 ++--- fhem/www/pgm2/dashboard_style.css | 24 ++--- 5 files changed, 116 insertions(+), 159 deletions(-) diff --git a/fhem/FHEM/95_Dashboard.pm b/fhem/FHEM/95_Dashboard.pm index 9713f8ffb..68e432c1c 100644 --- a/fhem/FHEM/95_Dashboard.pm +++ b/fhem/FHEM/95_Dashboard.pm @@ -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 .= "\n"; $ret .= "\n"; $ret .= "
\n"; - $ret .= "
\n"; +# $ret .= "
\n"; $ret .= " \n"; - $ret .= "
\n"; +# $ret .= "
\n"; $ret .= "
\n"; $ret .= "
\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 .= "
\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 .= "
@@ -742,7 +723,10 @@ sub CreateDashboardEntry($) { Set
@@ -938,12 +922,6 @@ sub CreateDashboardEntry($) {
  • dashboard_tab7icon
    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.

  • - -
  • dashboard_lockstate
    - When set to "unlock" you can edit the Dashboard. When set to "lock" no change can be made.
    - If the bar is hidden dashboard_lockstate is "lock". Editing is possible only with activated switch panel.
    - Default: unlock -

  • dashboard_colcount
    Number of columns in which the groups can be displayed. Nevertheless, it is possible to have multiple groups
    @@ -957,14 +935,9 @@ sub CreateDashboardEntry($) {

  • dashboard_showtabs
    - 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.
    + Displays the Tabs/Buttonbar on top or bottom, or hides them. If the Buttonbar is hidden lockstate is "lock" is used.
    Default: tabs-and-buttonbar-at-the-top

  • - -
  • dashboard_showhelper
    - Displays frames in order to facilitate the positioning of the groups.
    - Default: 1 -

  • dashboard_showtooglebuttons
    Displays a Toogle Button on each Group do collapse.
    @@ -1005,8 +978,6 @@ sub CreateDashboardEntry($) { attr anyViews dashboard_colcount 2
    attr anyViews dashboard_rowcentercolwidth 30,70
    attr anyViews dashboard_tab1groups <Group1>,<Group2>,<Group3>
    - attr anyViews dashboard_lockstate unlock
    - attr anyViews dashboard_showhelper 1

    @@ -1014,7 +985,10 @@ sub CreateDashboardEntry($) { Set
    @@ -1210,12 +1184,6 @@ sub CreateDashboardEntry($) {
  • dashboard_tab7icon
    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.

  • - -
  • dashboard_lockstate
    - Bei Dashboard Einstellung "unlock" kann dieses bearbeitet werden. Bei der Einstellung "lock" können keine Änderung vorgenommen werden.
    - Wenn die Leiste ausgeblendet ist (dashboard_showtabs) ist das Dashboard gespert. Die Bearbeitung ist daher nur mit sichtbarer Buttonbar möglich ist.
    - Standard: unlock -

  • dashboard_colcount
    Die Anzahl der Spalten in der Gruppen dargestellt werden können. Dennoch ist es möglich, mehrere Gruppen
    @@ -1230,14 +1198,9 @@ sub CreateDashboardEntry($) {

  • dashboard_showtabs
    - 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.
    + Zeigt die Tabs/Schalterleiste des Dashboards oben oder unten an, oder blendet diese aus. Wenn die Schalterleiste ausgeblendet wird ist das Dashboard gespert.
    Standard: tabs-and-buttonbar-at-the-top

  • - -
  • dashboard_showhelper
    - Blendet Ränder ein, die eine Positionierung der Gruppen erleichtern.
    - Standard: 1 -

  • dashboard_showtooglebuttons
    Zeigt eine Schaltfläche in jeder Gruppe mit der man diese auf- und zuklappen kann.
    diff --git a/fhem/www/pgm2/dashboard.js b/fhem/www/pgm2/dashboard.js index 43094ba29..b1838788e 100644 --- a/fhem/www/pgm2/dashboard.js +++ b/fhem/www/pgm2/dashboard.js @@ -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(''); //############################################################ @@ -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 = ''+text+''; + $("#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" ) {$('').appendTo($('head')); } } }); \ No newline at end of file diff --git a/fhem/www/pgm2/dashboard_darkstyle.css b/fhem/www/pgm2/dashboard_darkstyle.css index f764cdf0f..aca222b92 100644 --- a/fhem/www/pgm2/dashboard_darkstyle.css +++ b/fhem/www/pgm2/dashboard_darkstyle.css @@ -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, diff --git a/fhem/www/pgm2/dashboard_ios7.css b/fhem/www/pgm2/dashboard_ios7.css index 4aac51d06..069d99084 100644 --- a/fhem/www/pgm2/dashboard_ios7.css +++ b/fhem/www/pgm2/dashboard_ios7.css @@ -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, diff --git a/fhem/www/pgm2/dashboard_style.css b/fhem/www/pgm2/dashboard_style.css index efae80d1f..97714a904 100644 --- a/fhem/www/pgm2/dashboard_style.css +++ b/fhem/www/pgm2/dashboard_style.css @@ -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,