From 094a8fc68b88a42fe4195ab6909a0b388206341e Mon Sep 17 00:00:00 2001 From: svenson08 <> Date: Mon, 5 May 2014 18:47:16 +0000 Subject: [PATCH] Dashboard-Styles changed git-svn-id: https://svn.fhem.de/fhem/trunk@5754 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/95_Dashboard.pm | 939 +++++++++++++------------- fhem/www/pgm2/dashboard.js | 60 +- fhem/www/pgm2/dashboard_darkstyle.css | 130 +++- fhem/www/pgm2/dashboard_ios7.css | 123 ++-- fhem/www/pgm2/dashboard_style.css | 132 ++-- 5 files changed, 793 insertions(+), 591 deletions(-) diff --git a/fhem/FHEM/95_Dashboard.pm b/fhem/FHEM/95_Dashboard.pm index 68e432c1c..d8f687d8e 100644 --- a/fhem/FHEM/95_Dashboard.pm +++ b/fhem/FHEM/95_Dashboard.pm @@ -1,4 +1,4 @@ -# $Id:$ +# $Id$ ######################################################################################## # # 95_Dashboard.pm @@ -47,6 +47,7 @@ # 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. +# 2.12: Update Docu. CSS Class Changes. # # Known Bugs/Todos: # BUG: Nicht alle Inhalte aller Tabs laden, bei Plots dauert die bedienung des Dashboards zu lange. -> elemente hidden? @@ -99,7 +100,7 @@ my $fwjquery = "jquery.min.js"; my $fwjqueryui = "jquery-ui.min.js"; my $dashboardname = "Dashboard"; # Link Text my $dashboardhiddenroom = "DashboardRoom"; # Hiddenroom -my $dashboardversion = "2.11"; +my $dashboardversion = "2.12"; # ------------------------------------------------------------------------------------------- ############################################################################################# @@ -351,24 +352,43 @@ sub Dashboard_SummaryFN($$$$) #------------------------------------------------------------------------------------------------- if ($room ne "all") { - $ret .= "\n"; - - $ret .= "
\n"; + $ret .= "
\n"; + $ret .= "
\n"; + $ret .= " \n"; + $ret .= "
\n"; + $ret .= " \n"; + $ret .= " \n"; + $ret .= " "; + $ret .= " "; + $ret .= " "; + $ret .= " "; + $ret .= "
Tabtitle:
Tabicon:
Groups:
\n"; + $ret .= "
\n"; + $ret .= "
\n"; + $ret .= "
\n"; + + $ret .= "\n"; + + $ret .= "\n"; - $ret .= "
\n"; $ret .= "\n"; $ret .= "\n"; $ret .= "
\n"; + $ret .= "
\n"; ########################### Dashboard Tab-Liste ############################################## my $tabicon = ""; - $ret .= "
    \n"; + $ret .= "
      \n"; for (my $i=0;$i<$tabcount;$i++){ $tabicon = ""; - if ($tabicons[$i] ne "") { $tabicon = FW_makeImage($tabicons[$i],$tabicons[$i],"dashboard_tabicon")." "; } - $ret .= "
    • ".$tabicon."".trim($tabnames[$i])."
    • "; + if ($tabicons[$i] ne "") { $tabicon = FW_makeImage($tabicons[$i],$tabicons[$i],"dashboard dashboard_tabicon ui-tabs-icon")." "; } + $ret .= "
    • ".$tabicon."".trim($tabnames[$i])."
    • "; } - $ret .= "
    \n"; + $ret .= "
\n"; ############################################################################################## for (my $t=0;$t<$tabcount;$t++){ @@ -379,7 +399,7 @@ sub Dashboard_SummaryFN($$$$) } %group = BuildGroupList($tabgroups[$t]); - $ret .= "
\n"; + $ret .= "
\n"; $ret .= "
    \n"; $ret .= " \n"; ##################### Top Row (only one Column) ############################################# @@ -413,9 +433,9 @@ sub Dashboard_SummaryFN($$$$) sub BuildDashboardTopRow($$$$){ my ($t,$id, $dbgroups, $dbsorting) = @_; my $ret; - $ret .= "
    \n"; - $ret .= "
    \n"; - $ret .= "
    \n"; + $ret .= "
    \n"; + $ret .= "
    \n"; + $ret .= "
    \n"; $ret .= BuildGroupWidgets($t,"100",$id,$dbgroups,$dbsorting); $ret .= "
    \n"; $ret .= "
    \n"; @@ -426,11 +446,11 @@ sub BuildDashboardTopRow($$$$){ sub BuildDashboardCenterRow($$$$$){ my ($t,$id, $dbgroups, $dbsorting, $colcount) = @_; my $ret; - $ret .= "
    \n"; - $ret .= "
    \n"; + $ret .= "
    \n"; + $ret .= "
    \n"; for (my $i=0;$i<$colcount;$i++){ - $ret .= "
    \n"; + $ret .= "
    \n"; $ret .= BuildGroupWidgets($t,$i,$id,$dbgroups,$dbsorting); $ret .= "
    \n"; } @@ -442,9 +462,9 @@ sub BuildDashboardCenterRow($$$$$){ sub BuildDashboardBottomRow($$$$){ my ($t,$id, $dbgroups, $dbsorting) = @_; my $ret; - $ret .= "
    \n"; - $ret .= "
    \n"; - $ret .= "
    \n"; + $ret .= "
    \n"; + $ret .= "
    \n"; + $ret .= "
    \n"; $ret .= BuildGroupWidgets($t,"200",$id,$dbgroups,$dbsorting); $ret .= "
    \n"; $ret .= "
    \n"; @@ -474,9 +494,9 @@ sub BuildGroupWidgets($$$$$) { } } - $ret .= "
    \n"; + $ret .= "
    \n"; $ret .= "
    \n"; - $ret .= "
    ".$widgetheader."
    \n"; + $ret .= "
    ".$widgetheader."
    \n"; $ret .= "
    \n"; $ret .= BuildGroup($groupdata[1]); $ret .= "
    \n"; @@ -518,7 +538,7 @@ sub BuildGroup($) foreach my $g (keys %group) { next if ($g ne $currentgroup); - $ret .= ""; + $ret .= "
    "; #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}}) { @@ -682,9 +702,6 @@ sub CreateDashboardEntry($) { } } - - #dashboard_lockstate - } 1; @@ -731,224 +748,224 @@ sub CreateDashboardEntry($) {
    -

    Get

      N/A

    + Get
      N/A

    -

    Attributes

    - - -
  • dashboard_tabcount
    - Returns the number of displayed tabs. - Default: 1 -

  • - -
  • dashboard_activetab
    - Specifies which tab is activated. Can be set manually, but is also set by the switch "Set" to the currently active tab. - Default: 1 -

  • - -
  • dashboard_tab1name
    - Title of Tab 1. - Default: Dashboard-Tab 1 -

  • - -
  • dashboard_tab2name
    - Title of Tab 2. - Default: Dashboard-Tab 2 -

  • - -
  • dashboard_tab3name
    - Title of Tab 3. - Default: Dashboard-Tab 3 -

  • - -
  • dashboard_tab4name
    - Title of Tab 4. - Default: Dashboard-Tab 4 -

  • - -
  • dashboard_tab5name
    - Title of Tab 5. - Default: Dashboard-Tab 5 -

  • - -
  • dashboard_tab6name
    - Title of Tab 6. - Default: Dashboard-Tab 6 -

  • - -
  • dashboard_tab7name
    - Title of Tab 7. - Default: Dashboard-Tab 7 -

  • - -
  • dashboard_webfrontendfilter
    - If this attribute not set, or value is * the dashboard is displayed on all configured FHEMWEB instances.
    - Set the Name of an FHEMWEB instance (eg WEB) to the Dashboard appears only in this.
    - There may be several valid instances are separated by comma eg WEB,WEBtablet.
    - This makes it possible to define an additional dashboard that only Show on Tablet (which of course an own instance FHEMWEB use).
    - Default: * -
    - It should NEVER two ore more activ dashboards in a FHEMWEB instance! -

  • - -
  • dashboard_tab1sorting
    - Contains the position of each group in Tab 1. Value is written by the "Set" button. It is not recommended to take manual changes. -

  • - -
  • dashboard_tab2sorting
    - Contains the position of each group in Tab 2. Value is written by the "Set" button. It is not recommended to take manual changes. -

  • - -
  • dashboard_tab3sorting
    - Contains the position of each group in Tab 3. Value is written by the "Set" button. It is not recommended to take manual changes. -

  • - -
  • dashboard_tab4sorting
    - Contains the position of each group in Tab 4. Value is written by the "Set" button. It is not recommended to take manual changes. -

  • - -
  • dashboard_tab5sorting
    - Contains the position of each group in Tab 5. Value is written by the "Set" button. It is not recommended to take manual changes. -

  • - -
  • dashboard_tab6sorting
    - Contains the position of each group in Tab 6. Value is written by the "Set" button. It is not recommended to take manual changes. -

  • - -
  • dashboard_tab7sorting
    - Contains the position of each group in Tab 7. Value is written by the "Set" button. It is not recommended to take manual changes. -

  • - -
  • dashboard_row
    - To select which rows are displayed. top only; center only; bottom only; top and center; center and bottom; top,center and bottom.
    - Default: center -

  • - -
  • dashboard_width
    - To determine the Dashboardwidth. The value can be specified, or an absolute width value (eg 1200) in pixels in% (eg 80%).
    - Default: 100% -

  • - -
  • dashboard_rowcenterheight
    - Height of the center row in which the groups may be positioned.
    - Default: 400 -

  • - -
  • dashboard_rowcentercolwidth
    - About this attribute, the width of each column of the middle Dashboardrow can be set. It can be stored for each column a separate value. - The values ​​must be separated by a comma (no spaces). Each value determines the column width in%! The first value specifies the width of the first column, - the second value of the width of the second column, etc. Is the sum of the width greater than 100 it is reduced. - If more columns defined as widths the missing widths are determined by the difference to 100. However, are less columns are defined as the values ​​of - ignores the excess values​​.
    - Default: 100 -

  • - -
  • dashboard_rowtopheight
    - Height of the top row in which the groups may be positioned.
    - Default: 250 -

  • - -
  • "dashboard_rowbottomheight
    - Height of the bottom row in which the groups may be positioned.
    - Default: 250 -

  • - -
  • dashboard_tab1groups
    - Comma-separated list of the names of the groups to be displayed in Tab 1.
    - Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"
    - Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow -

  • - -
  • 2
    - Comma-separated list of the names of the groups to be displayed in Tab 2.
    - Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"
    - Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow -

  • - -
  • dashboard_tab3groups
    - Comma-separated list of the names of the groups to be displayed in Tab 3.
    - Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"
    - Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow -

  • - -
  • dashboard_tab4groups
    - Comma-separated list of the names of the groups to be displayed in Tab 4.
    - Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"
    - Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow -

  • - -
  • dashboard_tab5groups
    - Comma-separated list of the names of the groups to be displayed in Tab 5.
    - Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"
    - Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow -

  • - -
  • dashboard_tab6groups
    - Comma-separated list of the names of the groups to be displayed in Tab 6.
    - Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"
    - Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow -

  • - -
  • dashboard_tab7groups
    - Comma-separated list of the names of the groups to be displayed in Tab 7.
    - Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"
    - Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow -

  • - -
  • dashboard_tab1icon
    - 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_tab2icon
    - 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_tab3icon
    - 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_tab4icon
    - 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_tab5icon
    - 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_tab6icon
    - 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_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_colcount
    - Number of columns in which the groups can be displayed. Nevertheless, it is possible to have multiple groups
    - to be positioned in a column next to each other. This is dependent on the width of columns and groups.
    - Default: 1 -

  • - -
  • dashboard_showfullsize
    - Hide FHEMWEB Roomliste (complete left side) and Page Header if Value is 1.
    - Default: 0 -

  • - -
  • dashboard_showtabs
    - 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_showtooglebuttons
    - Displays a Toogle Button on each Group do collapse.
    - Default: 1 -

  • - -
  • dashboard_debug
    - Show Hiddenfields. Only for Maintainer's use.
    - Default: 0 -

  • - + Attributes +
      + +
    • dashboard_tabcount
      + Returns the number of displayed tabs. + Default: 1 +

    • + +
    • dashboard_activetab
      + Specifies which tab is activated. Can be set manually, but is also set by the switch "Set" to the currently active tab. + Default: 1 +

    • + +
    • dashboard_tab1name
      + Title of Tab 1. + Default: Dashboard-Tab 1 +

    • + +
    • dashboard_tab2name
      + Title of Tab 2. + Default: Dashboard-Tab 2 +

    • + +
    • dashboard_tab3name
      + Title of Tab 3. + Default: Dashboard-Tab 3 +

    • + +
    • dashboard_tab4name
      + Title of Tab 4. + Default: Dashboard-Tab 4 +

    • + +
    • dashboard_tab5name
      + Title of Tab 5. + Default: Dashboard-Tab 5 +

    • + +
    • dashboard_tab6name
      + Title of Tab 6. + Default: Dashboard-Tab 6 +

    • + +
    • dashboard_tab7name
      + Title of Tab 7. + Default: Dashboard-Tab 7 +

    • + +
    • dashboard_webfrontendfilter
      + If this attribute not set, or value is * the dashboard is displayed on all configured FHEMWEB instances.
      + Set the Name of an FHEMWEB instance (eg WEB) to the Dashboard appears only in this.
      + There may be several valid instances are separated by comma eg WEB,WEBtablet.
      + This makes it possible to define an additional dashboard that only Show on Tablet (which of course an own instance FHEMWEB use).
      + Default: * +
      + It should NEVER two ore more active dashboards in a FHEMWEB instance! +

    • + +
    • dashboard_tab1sorting
      + Contains the position of each group in Tab 1. Value is written by the "Set" button. It is not recommended to take manual changes. +

    • + +
    • dashboard_tab2sorting
      + Contains the position of each group in Tab 2. Value is written by the "Set" button. It is not recommended to take manual changes. +

    • + +
    • dashboard_tab3sorting
      + Contains the position of each group in Tab 3. Value is written by the "Set" button. It is not recommended to take manual changes. +

    • + +
    • dashboard_tab4sorting
      + Contains the position of each group in Tab 4. Value is written by the "Set" button. It is not recommended to take manual changes. +

    • + +
    • dashboard_tab5sorting
      + Contains the position of each group in Tab 5. Value is written by the "Set" button. It is not recommended to take manual changes. +

    • + +
    • dashboard_tab6sorting
      + Contains the position of each group in Tab 6. Value is written by the "Set" button. It is not recommended to take manual changes. +

    • + +
    • dashboard_tab7sorting
      + Contains the position of each group in Tab 7. Value is written by the "Set" button. It is not recommended to take manual changes. +

    • + +
    • dashboard_row
      + To select which rows are displayed. top only; center only; bottom only; top and center; center and bottom; top,center and bottom.
      + Default: center +

    • + +
    • dashboard_width
      + To determine the Dashboardwidth. The value can be specified, or an absolute width value (eg 1200) in pixels in% (eg 80%).
      + Default: 100% +

    • + +
    • dashboard_rowcenterheight
      + Height of the center row in which the groups may be positioned.
      + Default: 400 +

    • + +
    • dashboard_rowcentercolwidth
      + About this attribute, the width of each column of the middle Dashboardrow can be set. It can be stored for each column a separate value. + The values ​​must be separated by a comma (no spaces). Each value determines the column width in%! The first value specifies the width of the first column, + the second value of the width of the second column, etc. Is the sum of the width greater than 100 it is reduced. + If more columns defined as widths the missing widths are determined by the difference to 100. However, are less columns are defined as the values ​​of + ignores the excess values​​.
      + Default: 100 +

    • + +
    • dashboard_rowtopheight
      + Height of the top row in which the groups may be positioned.
      + Default: 250 +

    • + +
    • "dashboard_rowbottomheight
      + Height of the bottom row in which the groups may be positioned.
      + Default: 250 +

    • + +
    • dashboard_tab1groups
      + Comma-separated list of the names of the groups to be displayed in Tab 1.
      + Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"
      + Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow +

    • + +
    • 2
      + Comma-separated list of the names of the groups to be displayed in Tab 2.
      + Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"
      + Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow +

    • + +
    • dashboard_tab3groups
      + Comma-separated list of the names of the groups to be displayed in Tab 3.
      + Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"
      + Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow +

    • + +
    • dashboard_tab4groups
      + Comma-separated list of the names of the groups to be displayed in Tab 4.
      + Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"
      + Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow +

    • + +
    • dashboard_tab5groups
      + Comma-separated list of the names of the groups to be displayed in Tab 5.
      + Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"
      + Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow +

    • + +
    • dashboard_tab6groups
      + Comma-separated list of the names of the groups to be displayed in Tab 6.
      + Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"
      + Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow +

    • + +
    • dashboard_tab7groups
      + Comma-separated list of the names of the groups to be displayed in Tab 7.
      + Each group can be given an icon for this purpose the group name, the following must be completed ":<icon>@<color>"
      + Example: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow +

    • + +
    • dashboard_tab1icon
      + 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_tab2icon
      + 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_tab3icon
      + 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_tab4icon
      + 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_tab5icon
      + 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_tab6icon
      + 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_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_colcount
      + Number of columns in which the groups can be displayed. Nevertheless, it is possible to have multiple groups
      + to be positioned in a column next to each other. This is dependent on the width of columns and groups.
      + Default: 1 +

    • + +
    • dashboard_showfullsize
      + Hide FHEMWEB Roomliste (complete left side) and Page Header if Value is 1.
      + Default: 0 +

    • + +
    • dashboard_showtabs
      + 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_showtooglebuttons
      + Displays a Toogle Button on each Group do collapse.
      + Default: 0 +

    • + +
    • dashboard_debug
      + Show Hiddenfields. Only for Maintainer's use.
      + Default: 0 +

    • +
    =end html @@ -993,225 +1010,225 @@ sub CreateDashboardEntry($) {
    -

    Get

      N/A

    + Get
      N/A

    -

    Attributes

    - - -
  • dashboard_tabcount
    - Gibt die Anzahl der angezeigten Tabs an. - Standard: 1 -

  • - -
  • dashboard_activetab
    - Gibt an welches Tab aktiviert ist. Kann manuell gesetzt werden, wird aber auch durch den Schalter "Set" auf das gerade aktive Tab gesetzt. - Standard: 1 -

  • - -
  • dashboard_tab1name
    - Titel des 1. Tab. - Standard: Dashboard-Tab 1 -

  • - -
  • dashboard_tab2name
    - Titel des 2. Tab. - Standard: Dashboard-Tab 2 -

  • - -
  • dashboard_tab3name
    - Titel des 3. Tab. - Standard: Dashboard-Tab 3 -

  • - -
  • dashboard_tab4name
    - Titel des 4. Tab. - Standard: Dashboard-Tab 4 -

  • - -
  • dashboard_tab5name
    - Titel des 5. Tab. - Standard: Dashboard-Tab 5 -

  • - -
  • dashboard_tab6name
    - Titel des 6. Tab. - Standard: Dashboard-Tab 6 -

  • - -
  • dashboard_tab7name
    - Titel des 7. Tab. - Standard: Dashboard-Tab 7 -

  • - -
  • dashboard_webfrontendfilter
    - Ist dieses Attribut nicht gesetzt, oder hat den Wert * wird das Dashboard auf allen konfigurierten FHEMWEB Instanzen angezeigt.
    - Wird dem Attribut der Name einer FHEMWEB Instanz (z.B. WEB) zugewiesen so wird das Dashboard nur in dieser Instanz angezeigt.
    - Es können auch mehrere Instanzen durch Komma getrennt angegeben werden, z.B. WEB,WEBtablet. Dadurch ist es möglich ein
    - zusätzliches Dashboard zu definieren und dieses nur z.B. auf Tablet anzeigen zulassen (die natürlich eine eigenen FHEMWEB Instanz verwenden).
    - Standard: *
    -
    - Es dürfen NIE zwei Dashboards in einer FHEMWEB instanz aktiv sein! -

  • - -
  • dashboard_tab1sorting
    - Enthält die Poistionierung jeder Gruppe im Tab 1. Der Wert wird mit der Schaltfläche "Set" geschrieben. Es wird nicht empfohlen dieses Attribut manuelle zu ändern -

  • - -
  • dashboard_tab2sorting
    - Enthält die Poistionierung jeder Gruppe im Tab 2. Der Wert wird mit der Schaltfläche "Set" geschrieben. Es wird nicht empfohlen dieses Attribut manuelle zu ändern -

  • - -
  • dashboard_tab3sorting
    - Enthält die Poistionierung jeder Gruppe im Tab 3. Der Wert wird mit der Schaltfläche "Set" geschrieben. Es wird nicht empfohlen dieses Attribut manuelle zu ändern -

  • - -
  • dashboard_tab4sorting
    - Enthält die Poistionierung jeder Gruppe im Tab 4. Der Wert wird mit der Schaltfläche "Set" geschrieben. Es wird nicht empfohlen dieses Attribut manuelle zu ändern -

  • - -
  • dashboard_tab5sorting
    - 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 -

  • - -
  • dashboard_tab6sorting
    - 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 -

  • - -
  • dashboard_tab7sorting
    - 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 -

  • - -
  • dashboard_row
    - Auswahl welche Zeilen angezeigt werden sollen. top (nur Oben), center (nur Mitte), bottom (nur Unten) und den Kombinationen daraus.
    - Standard: center -

  • - -
  • dashboard_width
    - Zum bestimmen der Dashboardbreite. Der Wert kann in % (z.B. 80%) angegeben werden oder als absolute Breite (z.B. 1200) in Pixel.
    - Standard: 100% -

  • - -
  • dashboard_rowcenterheight
    - Höhe der mittleren Zeile, in der die Gruppen angeordnet werden.
    - Standard: 400 -

  • - -
  • dashboard_rowcentercolwidth
    - Über dieses Attribut wird die Breite der einzelnen Spalten der mittleren Dashboardreihe festgelegt. Dabei kann je Spalte ein separater Wert hinterlegt werden. - Die Werte sind durch ein Komma (ohne Leerzeichen) zu trennen. Jeder Wert bestimmt die Spaltenbreite in %! Der erste Wert gibt die Breite der ersten Spalte an, - der zweite Wert die Breite der zweiten Spalte usw. Ist die Summe der Breite größer als 100 werden die Spaltenbreiten reduziert. - Sind mehr Spalten als Breiten definiert werden die fehlenden Breiten um die Differenz zu 100 festgelegt. Sind hingegen weniger Spalten als Werte definiert werden - die überschüssigen Werte ignoriert.
    - Standard: 100 -

  • - -
  • dashboard_rowtopheight
    - Höhe der oberen Zeile, in der die Gruppen angeordnet werden.
    - Standard: 250 -

  • - -
  • "dashboard_rowbottomheight
    - Höhe der unteren Zeile, in der die Gruppen angeordnet werden.
    - Standard: 250 -

  • - -
  • dashboard_tab1groups
    - Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 1 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.
    - Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden
    - Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow -

  • - -
  • dashboard_tab2groups
    - Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 2 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.
    - Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden
    - Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow -

  • - -
  • dashboard_tab3groups
    - Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 3 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.
    - Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden
    - Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow -

  • - -
  • dashboard_tab4groups
    - Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 4 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.
    - Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden
    - Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow -

  • - -
  • dashboard_tab5groups
    - Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 5 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.
    - Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden
    - Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow -

  • - -
  • dashboard_tab6groups
    - Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 6 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.
    - Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden
    - Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow -

  • - -
  • dashboard_tab7groups
    - Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 7 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.
    - Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden
    - Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow -

  • - -
  • dashboard_tab1icon
    - 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_tab2icon
    - 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_tab3icon
    - 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_tab4icon
    - 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_tab5icon
    - 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_tab6icon
    - 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_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_colcount
    - Die Anzahl der Spalten in der Gruppen dargestellt werden können. Dennoch ist es möglich, mehrere Gruppen
    - in einer Spalte nebeneinander zu positionieren. Dies ist abhängig von der Breite der Spalten und Gruppen.
    - Gilt nur für die mittlere Spalte!
    - Standard: 1 -

  • - -
  • dashboard_showfullsize
    - Blendet die FHEMWEB Raumliste (kompleter linker Bereich der Seite) und den oberen Bereich von FHEMWEB aus wenn der Wert auf 1 gesetzt ist.
    - Default: 0 -

  • - -
  • dashboard_showtabs
    - 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_showtooglebuttons
    - Zeigt eine Schaltfläche in jeder Gruppe mit der man diese auf- und zuklappen kann.
    - Standard: 1 -

  • - -
  • dashboard_debug
    - Zeigt Debug-Felder an. Sollte nicht gesetzt werden!
    - Standard: 0 -

  • - + Attributes +
      + +
    • dashboard_tabcount
      + Gibt die Anzahl der angezeigten Tabs an. + Standard: 1 +

    • + +
    • dashboard_activetab
      + Gibt an welches Tab aktiviert ist. Kann manuell gesetzt werden, wird aber auch durch den Schalter "Set" auf das gerade aktive Tab gesetzt. + Standard: 1 +

    • + +
    • dashboard_tab1name
      + Titel des 1. Tab. + Standard: Dashboard-Tab 1 +

    • + +
    • dashboard_tab2name
      + Titel des 2. Tab. + Standard: Dashboard-Tab 2 +

    • + +
    • dashboard_tab3name
      + Titel des 3. Tab. + Standard: Dashboard-Tab 3 +

    • + +
    • dashboard_tab4name
      + Titel des 4. Tab. + Standard: Dashboard-Tab 4 +

    • + +
    • dashboard_tab5name
      + Titel des 5. Tab. + Standard: Dashboard-Tab 5 +

    • + +
    • dashboard_tab6name
      + Titel des 6. Tab. + Standard: Dashboard-Tab 6 +

    • + +
    • dashboard_tab7name
      + Titel des 7. Tab. + Standard: Dashboard-Tab 7 +

    • + +
    • dashboard_webfrontendfilter
      + Ist dieses Attribut nicht gesetzt, oder hat den Wert * wird das Dashboard auf allen konfigurierten FHEMWEB Instanzen angezeigt.
      + Wird dem Attribut der Name einer FHEMWEB Instanz (z.B. WEB) zugewiesen so wird das Dashboard nur in dieser Instanz angezeigt.
      + Es können auch mehrere Instanzen durch Komma getrennt angegeben werden, z.B. WEB,WEBtablet. Dadurch ist es möglich ein
      + zusätzliches Dashboard zu definieren und dieses nur z.B. auf Tablet anzeigen zulassen (die natürlich eine eigenen FHEMWEB Instanz verwenden).
      + Standard: *
      +
      + Es dürfen NIE zwei Dashboards in einer FHEMWEB instanz aktiv sein! +

    • + +
    • dashboard_tab1sorting
      + Enthält die Poistionierung jeder Gruppe im Tab 1. Der Wert wird mit der Schaltfläche "Set" geschrieben. Es wird nicht empfohlen dieses Attribut manuelle zu ändern +

    • + +
    • dashboard_tab2sorting
      + Enthält die Poistionierung jeder Gruppe im Tab 2. Der Wert wird mit der Schaltfläche "Set" geschrieben. Es wird nicht empfohlen dieses Attribut manuelle zu ändern +

    • + +
    • dashboard_tab3sorting
      + Enthält die Poistionierung jeder Gruppe im Tab 3. Der Wert wird mit der Schaltfläche "Set" geschrieben. Es wird nicht empfohlen dieses Attribut manuelle zu ändern +

    • + +
    • dashboard_tab4sorting
      + Enthält die Poistionierung jeder Gruppe im Tab 4. Der Wert wird mit der Schaltfläche "Set" geschrieben. Es wird nicht empfohlen dieses Attribut manuelle zu ändern +

    • + +
    • dashboard_tab5sorting
      + 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 +

    • + +
    • dashboard_tab6sorting
      + 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 +

    • + +
    • dashboard_tab7sorting
      + 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 +

    • + +
    • dashboard_row
      + Auswahl welche Zeilen angezeigt werden sollen. top (nur Oben), center (nur Mitte), bottom (nur Unten) und den Kombinationen daraus.
      + Standard: center +

    • + +
    • dashboard_width
      + Zum bestimmen der Dashboardbreite. Der Wert kann in % (z.B. 80%) angegeben werden oder als absolute Breite (z.B. 1200) in Pixel.
      + Standard: 100% +

    • + +
    • dashboard_rowcenterheight
      + Höhe der mittleren Zeile, in der die Gruppen angeordnet werden.
      + Standard: 400 +

    • + +
    • dashboard_rowcentercolwidth
      + Über dieses Attribut wird die Breite der einzelnen Spalten der mittleren Dashboardreihe festgelegt. Dabei kann je Spalte ein separater Wert hinterlegt werden. + Die Werte sind durch ein Komma (ohne Leerzeichen) zu trennen. Jeder Wert bestimmt die Spaltenbreite in %! Der erste Wert gibt die Breite der ersten Spalte an, + der zweite Wert die Breite der zweiten Spalte usw. Ist die Summe der Breite größer als 100 werden die Spaltenbreiten reduziert. + Sind mehr Spalten als Breiten definiert werden die fehlenden Breiten um die Differenz zu 100 festgelegt. Sind hingegen weniger Spalten als Werte definiert werden + die überschüssigen Werte ignoriert.
      + Standard: 100 +

    • + +
    • dashboard_rowtopheight
      + Höhe der oberen Zeile, in der die Gruppen angeordnet werden.
      + Standard: 250 +

    • + +
    • "dashboard_rowbottomheight
      + Höhe der unteren Zeile, in der die Gruppen angeordnet werden.
      + Standard: 250 +

    • + +
    • dashboard_tab1groups
      + Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 1 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.
      + Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden
      + Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow +

    • + +
    • dashboard_tab2groups
      + Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 2 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.
      + Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden
      + Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow +

    • + +
    • dashboard_tab3groups
      + Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 3 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.
      + Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden
      + Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow +

    • + +
    • dashboard_tab4groups
      + Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 4 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.
      + Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden
      + Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow +

    • + +
    • dashboard_tab5groups
      + Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 5 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.
      + Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden
      + Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow +

    • + +
    • dashboard_tab6groups
      + Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 6 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.
      + Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden
      + Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow +

    • + +
    • dashboard_tab7groups
      + Durch Komma getrennte Liste mit den Namen der Gruppen, die im Tab 7 angezeigt werden. Falsche Gruppennamen werden hervorgehoben.
      + Jede Gruppe kann zusätzlich ein Icon anzeigen, dazu muss der Gruppen name um ":<icon>@<farbe>"ergänzt werden
      + Beispiel: Light:Icon_Fisch@blue,AVIcon_Fisch@red,Single Lights:Icon_Fisch@yellow +

    • + +
    • dashboard_tab1icon
      + 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_tab2icon
      + 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_tab3icon
      + 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_tab4icon
      + 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_tab5icon
      + 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_tab6icon
      + 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_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_colcount
      + Die Anzahl der Spalten in der Gruppen dargestellt werden können. Dennoch ist es möglich, mehrere Gruppen
      + in einer Spalte nebeneinander zu positionieren. Dies ist abhängig von der Breite der Spalten und Gruppen.
      + Gilt nur für die mittlere Spalte!
      + Standard: 1 +

    • + +
    • dashboard_showfullsize
      + Blendet die FHEMWEB Raumliste (kompleter linker Bereich der Seite) und den oberen Bereich von FHEMWEB aus wenn der Wert auf 1 gesetzt ist.
      + Default: 0 +

    • + +
    • dashboard_showtabs
      + 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_showtooglebuttons
      + Zeigt eine Schaltfläche in jeder Gruppe mit der man diese auf- und zuklappen kann.
      + Standard: 0 +

    • + +
    • dashboard_debug
      + Zeigt Debug-Felder an. Sollte nicht gesetzt werden!
      + Standard: 0 +

    • +
    =end html_DE diff --git a/fhem/www/pgm2/dashboard.js b/fhem/www/pgm2/dashboard.js index b1838788e..744bf3925 100644 --- a/fhem/www/pgm2/dashboard.js +++ b/fhem/www/pgm2/dashboard.js @@ -25,6 +25,7 @@ var dashboard_name = "unknown"; var dashboard_fullsize = false; var dashboard_buttonbar = "top"; +var dashboard_lockstate = "lock"; //Only use for debugging function showdebugMessage(msg){ @@ -33,7 +34,7 @@ function showdebugMessage(msg){ function saveOrder() { var EndSaveResult = ""; - var ActiveTab = $("#tabs .ui-tabs-panel:visible").attr("id").substring(14,13); + var ActiveTab = $("#dashboardtabs .ui-tabs-panel:visible").attr("id").substring(14,13); //------------------- Build new Position string ---------------------- $(".dashboard_column").each(function(index, value){ var colid = value.id; @@ -63,14 +64,14 @@ function saveOrder() { }); //------------------------------------------------------------------------ //--------------------- Store new Positions ------------------------ - if (EndSaveResult != "") { $("#tabs .ui-tabs-panel:visible").data("tabwidgets",EndSaveResult); } //store widgetposition in active tab Widget + if (EndSaveResult != "") { $("#dashboardtabs .ui-tabs-panel:visible").data("tabwidgets",EndSaveResult); } //store widgetposition in active tab Widget $("#setPosition").button({disabled: false}); //Mark that the Changes are not saved //------------------------------------------------------------------------ } function restoreOrder() { var params = (document.getElementById("dashboard_attr").value).split(","); //get current Configuration - var ActiveTab = $("#tabs .ui-tabs-panel:visible"); + var ActiveTab = $("#dashboardtabs .ui-tabs-panel:visible"); var ActiveTabId = ActiveTab.attr("id").substring(14,13); var aColWidth = GetColWidth(params[7],params[12]); @@ -149,7 +150,7 @@ function GetColWidth(ColCount, ColWidth){ } function dashboard_setlock(){ - $("#dashboard_button_lock").prepend(''); + //$("#dashboard_button_lock").prepend(''); //############################################################ $( ".dashboard_column" ).sortable( "option", "disabled", true ); $( ".dashboard_widget" ).removeClass("dashboard_widgethelper"); @@ -161,7 +162,7 @@ function dashboard_setlock(){ function dashboard_unsetlock(){ var params = (document.getElementById("dashboard_attr").value).split(","); //get current Configuration - $("#dashboard_button_lock").prepend(''); + //$("#dashboard_button_lock").prepend(''); //############################################################ $( ".dashboard_column" ).sortable( "option", "disabled", false ); if (params[2] == 1) { $( ".dashboard_widget" ).addClass("dashboard_widgethelper"); } else { $( ".dashboard_widget" ).removeClass("dashboard_widgethelper"); }//Show Widget-Helper Frame @@ -183,7 +184,7 @@ function dashboard_setposition(){ $("#setPosition").button({disabled: true}); //--------------------------------------------------------------------- //--------------------- store active Tab ------------------------------ - var activeTab = ($( "#tabs" ).tabs( "option", "active" ))+1; + var activeTab = ($( "#dashboardtabs" ).tabs( "option", "active" ))+1; if (params[11] != activeTab){ FW_cmd(document.location.pathname+'?XHR=1&cmd.'+dashboard_name+'=attr '+dashboard_name+' dashboard_activetab '+activeTab); } @@ -218,9 +219,31 @@ function dashboard_modifyWidget(){ }); } +function dashboard_openModal(tabid) { + $("#dashboard-dialog-tabs").tabs(); + $("#tabID").html("TabID: "+tabid); + $("#tabTitle").val( $($("#dashboardtabs li")[tabid]).text() ); + + $("#tabEdit").dialog( { + modal: true, + title: "Dashboard-Tab Details", + resizable: false, + width:350, + buttons: { + "Ok": function() { + /*$($("#dashboardtabs li")[tabid]).text($("#tabTitle").val());*/ + $(this).dialog("close"); + } + }, + create: function( event, ui ) { + $(this).parent().removeClass().addClass( "dashboard dashboard-dialog ui-dialog ui-widget ui-widget-content ui-corner-all ui-front ui-dialog-buttons ui-draggable" ); + } + }); +} + function adddashboardButton(position, text, id, hint) { $("#" + id).button(); - var my_button = ''+text+''; + var my_button = ''+text+''; $("#dashboard_tabnav").prepend(my_button); } @@ -228,13 +251,14 @@ 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_lockstate != "lock"){ + adddashboardButton("top", "", "setPosition", "Set Position"); + $("#setPosition").button({disabled: true}); + $("#setPosition").click(function () {dashboard_setposition()}); + +// adddashboardButton("top", "XX", "editTab", "Edit Tab"); +// $("#editTab").click(function () {dashboard_openModal($( "#dashboardtabs" ).tabs( "option", "active" ))}); + } if (dashboard_fullsize == true) { adddashboardButton("top", "", "goBack", "Back"); $("#goBack").click(function () {location.href=document.location.pathname;}); @@ -247,6 +271,7 @@ $(document).ready( function () { //--------------------------------- Attribute des Dashboards ------------------------------------------------------------------ var params = (document.getElementById("dashboard_attr").value).split(","); //get current Configuration dashboard_name = params[0]; + dashboard_lockstate = params[3]; dashboard_buttonbar = params[4]; dashboard_fullsize = (params[13] == 1) ? true : false; //------------------------------------------------------------------------------------------------------------------------------------- @@ -308,10 +333,11 @@ $(document).ready( function () { } //--------------------------------- Dashboard Tabs ------------------------------------------------------------------------------ - $("#tabs").tabs({ + $("#dashboardtabs").tabs({ active: 0, create: function(event, ui) { - $( "#tabs" ).tabs( "option", "active", params[11]-1 ); //set active Tab + $(this).find('li').addClass("ui-corner-bottom"); + $( "#dashboardtabs" ).tabs( "option", "active", params[11]-1 ); //set active Tab restoreOrder(); }, activate: function (event, ui) { @@ -324,7 +350,7 @@ $(document).ready( function () { dashboard_modifyWidget(); if (dashboard_buttonbar != "hidden") dashboard_buildButtons(); - if ((params[3] == "lock") || (dashboard_buttonbar == "hidden")) {dashboard_setlock();} else {dashboard_unsetlock();} + if ((dashboard_lockstate == "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 aca222b92..5a64a75a6 100644 --- a/fhem/www/pgm2/dashboard_darkstyle.css +++ b/fhem/www/pgm2/dashboard_darkstyle.css @@ -1,17 +1,12 @@ /* Author: svenson08*/ + .dashboard_column { float: left; } -.dashboard_columnhelper { border: 1px dotted #CCCCCC; } - -.dashboard_widget { border-radius: 8px; float: left; padding: 0.2em;} -.dashboard_widgethelper { background-color: #111111; } -.dashboard_widgetheader { background: none repeat scroll 0 0 #333333; border: 1px solid #FFFFFF; - box-shadow: 5px 5px 5px #000000; border-radius: 8px 8px 8px 8px; margin: 0.2em; - padding-bottom: 4px; padding-top: 3px; padding-left: 0.7em; } +.dashboard_columnhelper { border: 1px dotted #CCCCCC;} + .dashboard_content { padding: 0.2em; } - .dashboard_content.table { box-shadow: none !important; border-radius: 0 0 8px 8px !important; border: 1px none #FFFFFF!important; - border-left: 1px solid #FFFFFF !important; border-right: 1px solid #FFFFFF !important; border-bottom: 1px solid #FFFFFF !important;} - + border-left: 1px solid #FFFFFF !important; border-right: 1px solid #FFFFFF !important; border-bottom: 1px solid #FFFFFF !important;} + .dashboard_button_icon { width: 13px; height: 14px; background-repeat: no-repeat; float: left; background-image: url(../images/default/dashboardicons.png); } .dashboard_button_iconplus { margin: 0.1em 0.4em; float: right; background-position: -65px 0px; } @@ -23,37 +18,102 @@ .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;} +.dashboard .ui-button {display: inline-block;line-height: normal;margin-right: .1em;cursor: pointer;vertical-align: middle;text-align: center;overflow: visible;} +.dashboard .ui-button, +.dashboard .ui-button:link, +.dashboard .ui-button:visited, +.dashboard .ui-button:hover, +.dashboard .ui-button:active {text-decoration: none;} +.dashboard .ui-button .ui-button-text {display: block;line-height: normal;} +.dashboard .ui-button-text-only .ui-button-text {padding: .4em 1em;} +.dashboard .ui-resizable { position: relative; } +.dashboard .ui-resizable-handle { position: absolute; font-size: 0.1px; } +.dashboard .ui-resizable-se { cursor: se-resize;width: 12px; height: 12px; right: 1px;bottom: 1px; background-image: url('data:image/gif;base64,R0lGODlhEAAQAIABAJOnY////yH5BAEAAAEALAAAAAAQABAAAAIZjI+py+0IwDtx2ktlqI1zDCae9mXGGKZgAQA7');} -.ui-resizable { position: relative; } -.ui-resizable-handle { position: absolute; font-size: 0.1px; } -.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; - bottom: 1px; background-image: url(../images/default/dashboardicons.png); - background-position: -78px 0px; background-repeat: no-repeat; } -.ui-sortable-placeholder { border: 1px dotted #FFFFFF; visibility: visible !important; - height: 25px !important; width: 150px; } - -.dashboard { padding: 0; margin: 0; } -.dashboard_tabnav { list-style: none; margin: 0; padding: 0 .5em 0; } -.dashboard_tabnav:before, -.dashboard_tabnav:after { content: ""; display: table; border-collapse: collapse; clear: both; } -.dashboard_tabpanel { border: 1px solid #cccccc; background-color: #333333; border: 1px solid #dddddd; - border-radius: 8px 8px 8px 8px; box-shadow: 5px 5px 5px #000000; } -.dashboard_tab_top { border: 1px solid #cccccc; border-bottom-width: 0; border-top-left-radius: 8px; - border-top-right-radius: 8px; margin: 0 .5em -1px 0; float: left; padding: .5em 1em;} -.dashboard_tab_top.ui-tabs-active { background-color: #333333; font-weight: bold; } -.dashboard_tab_bottom { border: 1px solid #cccccc; border-top-width: 0; border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; margin: 0 .5em -1px 0; float: left; padding: .5em 1em; } -.dashboard_tab_bottom.ui-tabs-active { background-color: #333333; font-weight: bold; } -.dashboard_tabicon {width: 16px; height: 16px; vertical-align: top; margin-left: -0.5em; margin-top: 0.1em; } -.dashboard_tabcontent { width: 100%; padding: 0; margin: 0; } +.dashboard .ui-sortable-placeholder {border: 1px dotted #FFFFFF; visibility: visible !important; height: 25px !important; width: 150px;} + +.dashboard .block.wide {border-radius: 5px;} +.dashboard_tabcontent {width: 100%; padding: 0; margin: 0; } +.dashboard .dashboard_row {width: 100%; height: inherit; padding: 0;} +.dashboard .dashboard_columncenter {height: inherit;} -.dashboard_row { width: 100%; height: inherit; } -.dashboard_columncenter { height: inherit;} +.dashboard .ui-corner-bottom, +.dashboard .ui-corner-top, +.dashboard .ui-corner-left, +.dashboard .ui-corner-right, +.dashboard .ui-corner-all {border-radius: 5px;} +.dashboard_widget {border-radius: 8px; float: left;} +.dashboard_widgethelper {background-color: #111111; } +.dashboard_widgetheader {background: none repeat scroll 0 0 #333333; border: 1px solid #FFFFFF; + box-shadow: 5px 5px 5px #000000; border-radius: 8px 8px 8px 8px; margin: 0.2em; + padding-bottom: 4px; padding-top: 3px; padding-left: 0.7em;} +.dashboard .ui-widget .ui-widget {font-size: 1em;} +.dashboard .ui-widget-content {background-color: #333333;color: #eeeeee;} +.dashboard .ui-widget-content a {color: #eeeeee;} +.dashboard .ui-widget-header {background-color: #222222;color: #ffffff;} +.dashboard .ui-widget-header a {color: #ffffff;} +.dashboard .ui-state-default, +.dashboard .ui-widget-content .ui-state-default, +.dashboard .ui-widget-header .ui-state-default {border: 1px solid #FFFFFF;background-color: #adadad;font-weight: normal;color: #333333;} +.dashboard .ui-helper-clearfix:before, +.dashboard .ui-helper-clearfix:after {content: "";display: table;border-collapse: collapse;} +.dashboard .ui-helper-clearfix:after {clear: both;} +.dashboard .ui-helper-clearfix {min-height: 0;} +.dashboard .ui-helper-reset {margin: 0;padding: 0;border: 0;outline: 0;line-height: 1.3;text-decoration: none;font-size: 100%;list-style: none;} +.dashboard .ui-tabs {position: relative;padding: .2em;} +.dashboard .ui-tabs .ui-tabs-panel {display: block;border-width: 0;background: none;box-shadow: 0 0 0 0;border-radius: 0;} +.dashboard .ui-tabs .ui-tabs-nav {margin: 0;padding: 0.2em 0.2em 0.4em;} +.dashboard .ui-tabs .ui-tabs-nav li {list-style: none;float: left;position: relative;top: 0;margin: 1px .2em 0 0;padding: 0;} +.dashboard .ui-tabs .ui-tabs-nav .ui-tabs-anchor {float: left;padding: .5em 1em;text-decoration: none;} +.dashboard .ui-tabs-icon {width: 18px;height: 18px;float: left;vertical-align: top;margin-left: 0.3em;margin-top: 0.5em;} +.dashboard .dashboard_tabnav_hidden{background-color: #333333;} +.dashboard .ui-state-default a, +.dashboard .ui-state-default a:link, +.dashboard .ui-state-default a:visited {color: #333333;text-decoration: none;} +.dashboard .ui-state-active, +.dashboard .ui-widget-content .ui-state-active, +.dashboard .ui-widget-header .ui-state-active{border: 1px solid #FFFFFF;background: #333333;font-weight: normal;color: #ffffff;} +.dashboard .ui-state-active a, +.dashboard .ui-state-active a:link, +.dashboard .ui-state-active a:visited {color: #ffffff;text-decoration: none;} +.dashboard .ui-state-hover, +.dashboard .ui-widget-content .ui-state-hover, +.dashboard .ui-widget-header .ui-state-hover, +.dashboard .ui-state-focus, +.dashboard .ui-widget-content .ui-state-focus, +.dashboard .ui-widget-header .ui-state-focus {border: 1px solid #FFFFFF;font-weight: normal;color: #ffffff;} + +.dashboard .ui-state-hover a, +.dashboard .ui-state-hover a:hover, +.dashboard .ui-state-hover a:link, +.dashboard .ui-state-hover a:visited, +.dashboard .ui-state-focus a, +.dashboard .ui-state-focus a:hover, +.dashboard .ui-state-focus a:link, +.dashboard .ui-state-focus a:visited {color: #ffffff;text-decoration: none;} + +.dashboard .ui-state-disabled, +.dashboard .ui-widget-content .ui-state-disabled, +.dashboard .ui-widget-header .ui-state-disabled {opacity: .35;filter:Alpha(Opacity=35);} + +.dashboard.dashboard-dialog {overflow: hidden;position: absolute;top: 0;left: 0;padding: .2em;outline: 0;} +.dashboard.dashboard-dialog .ui-dialog-titlebar {padding: .4em 1em;position: relative;border: 1px solid #FFFFFF;cursor: move;} +.dashboard.dashboard-dialog .ui-dialog-title {float: left;margin: .1em 0;white-space: nowrap;width: 90%;overflow: hidden;text-overflow: ellipsis;} +.dashboard.dashboard-dialog .ui-widget-header .ui-dialog-titlebar-close{position: absolute;right: .3em;width: 20px;height: 20px;} +.dashboard.dashboard-dialog .ui-icon-closethick {position: absolute;top: 50%;margin-top: -8px;width: 16px;height: 16px;left: 50%;margin-left: -8px; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAENJREFUOMtjYBhs4D+pahhxSDASoZkRm0J8hmCVYyTGFnwGM5IYFowEBfAYglUtE6XRRhMvUBSIFEUjWQmJ4qQ88AAA+v0TCMo7QXMAAAAASUVORK5CYII='); +} +.dashboard-dialog .ui-button-icon-only .ui-button-text, +.dashboard-dialog .ui-button-icons-only .ui-button-text {padding: .4em;text-indent: -9999999px;} +.dashboard-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {float: right;} +.dashboard-dialog .ui-dialog-buttonpane button {margin: .5em .4em .5em 0;cursor: pointer;} +.dashboard.ui-front {z-index: 100;} + +.ui-widget-overlay {background: #000000;opacity: .7;filter: Alpha(Opacity=30);position: fixed;top: 0;left: 0;width: 100%;height: 100%;} diff --git a/fhem/www/pgm2/dashboard_ios7.css b/fhem/www/pgm2/dashboard_ios7.css index 069d99084..c68a9a0f0 100644 --- a/fhem/www/pgm2/dashboard_ios7.css +++ b/fhem/www/pgm2/dashboard_ios7.css @@ -1,53 +1,98 @@ /* Author: svenson08 edit by fhainz */ -a,li { outline: none; } +a,li { outline: none; } .dashboard_column { float: left; } .dashboard_columnhelper { border: 1px dotted #808080; } - -.dashboard_widget { float: left; } -.dashboard_widgethelper { background-color: #a6a6a6; } -.dashboard_widgetheader { background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #d9d9d9; - margin: 0.2em; - padding-bottom: 2px; padding-top: 3px; padding-left: 0.5em; } -.dashboard_content { padding: 0.2em; } + +.dashboard_content { padding: 0.1em; } +.dashboard_content.table { box-shadow: none !important; border-radius: 0 0 8px 8px !important; border: 1px none #FFFFFF!important; + border-left: 1px solid #FFFFFF !important; border-right: 1px solid #FFFFFF !important; border-bottom: 1px solid #FFFFFF !important;} .dashboard_button_icon { width: 13px; height: 14px; background-repeat: no-repeat; - 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_iconminus { margin: 0.1em 0.4em; float: right; background-position: -52px -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;} + 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;} +.dashboard-button-editTab{right: 115px;} +.dashboard .ui-button {display: inline-block;line-height: normal;margin-right: .1em;cursor: pointer;vertical-align: middle;text-align: center;overflow: visible;} +.dashboard .ui-button, +.dashboard .ui-button:link, +.dashboard .ui-button:visited, +.dashboard .ui-button:hover, +.dashboard .ui-button:active {text-decoration: none;} +.dashboard .ui-button .ui-button-text {display: block;line-height: normal;} +.dashboard .ui-button-text-only .ui-button-text {padding: .4em 1em;} + +.dashboard .ui-resizable { position: relative; } +.dashboard .ui-resizable-handle { position: absolute; font-size: 0.1px; } +.dashboard .ui-resizable-se { cursor: se-resize;width: 12px; height: 12px; right: 1px;bottom: 1px; background-image: url('data:image/gif;base64,R0lGODlhEAAQAIABAJOnY////yH5BAEAAAEALAAAAAAQABAAAAIZjI+py+0IwDtx2ktlqI1zDCae9mXGGKZgAQA7');} +.dashboard .ui-sortable-placeholder { border: 1px dotted #d9d9d9; visibility: visible !important; height: 25px !important; width: 150px; } + +.dashboard_tabcontent {width: 100%; padding: 0; margin: 0; } +.dashboard .dashboard_row {width: 100%; height: inherit; padding: 0;} +.dashboard .dashboard_columncenter {height: inherit;} + +.dashboard_widget { float: left; } +.dashboard_widgethelper { background-color: #a6a6a6; } +.dashboard_widgetheader { background: none repeat scroll 0 0 #FFFFFF; margin: 0.1em; padding-bottom: 2px; padding-top: 3px; padding-left: 0.5em;} +.dashboard .ui-widget .ui-widget {font-size: 1em;} +.dashboard .ui-widget-content {background-color: #E5E5E5;/*color: #eeeeee;*/} +.dashboard .ui-widget-content a {/*color: #eeeeee;*/} +.dashboard .ui-widget-header {background-color: #FFFFFF;/*color: #ffffff;*/} +.dashboard .ui-widget-header a {/*color: #ffffff;*/} +.dashboard .ui-state-default, +.dashboard .ui-widget-content .ui-state-default, +.dashboard .ui-widget-header .ui-state-default {border: 1px solid #FFFFFF;background-color: #adadad;font-weight: normal;color: #E5E5E5;} + +.dashboard .ui-helper-clearfix:before, +.dashboard .ui-helper-clearfix:after {content: "";display: table;border-collapse: collapse;} +.dashboard .ui-helper-clearfix:after {clear: both;} +.dashboard .ui-helper-clearfix {min-height: 0;} +.dashboard .ui-helper-reset {margin: 0;padding: 0;border: 0;outline: 0;line-height: 1.3;text-decoration: none;font-size: 100%;list-style: none;} + +.dashboard .ui-tabs {position: relative;padding: .2em;} +.dashboard .ui-tabs .ui-tabs-panel {display: block;border-width: 0;background: none;box-shadow: 0 0 0 0;border-radius: 0;} +.dashboard .ui-tabs .ui-tabs-nav {margin: 0;padding: 0.2em 0.2em 0.2em;} +.dashboard .ui-tabs .ui-tabs-nav li {list-style: none;float: left;position: relative;top: 0;margin: 1px .2em 0 0;padding: 0;} +.dashboard .ui-tabs .ui-tabs-nav .ui-tabs-anchor {float: left;padding: .5em .5em;text-decoration: none;} +.dashboard .ui-tabs-icon {width: 18px;height: 18px;float: left;vertical-align: top;margin-left: 0.3em;margin-top: 0.5em;} +.dashboard .dashboard_tabnav_hidden{background-color: #E5E5E5;} + +.dashboard .ui-state-default a, +.dashboard .ui-state-default a:link, +.dashboard .ui-state-default a:visited {color: #E5E5E5;text-decoration: none;} + +.dashboard .ui-state-active, +.dashboard .ui-widget-content .ui-state-active, +.dashboard .ui-widget-header .ui-state-active{border: 1px solid #FFFFFF;background: #E5E5E5;font-weight: normal;color: #ffffff;} +.dashboard .ui-state-active a, +.dashboard .ui-state-active a:link, +.dashboard .ui-state-active a:visited {color: #ffffff;text-decoration: none;} + +.dashboard .ui-state-hover, +.dashboard .ui-widget-content .ui-state-hover, +.dashboard .ui-widget-header .ui-state-hover, +.dashboard .ui-state-focus, +.dashboard .ui-widget-content .ui-state-focus, +.dashboard .ui-widget-header .ui-state-focus {border: 1px solid #FFFFFF;font-weight: normal;color: #ffffff;} + +.dashboard .ui-state-hover a, +.dashboard .ui-state-hover a:hover, +.dashboard .ui-state-hover a:link, +.dashboard .ui-state-hover a:visited, +.dashboard .ui-state-focus a, +.dashboard .ui-state-focus a:hover, +.dashboard .ui-state-focus a:link, +.dashboard .ui-state-focus a:visited {color: #ffffff;text-decoration: none;} + +.dashboard .ui-state-disabled, +.dashboard .ui-widget-content .ui-state-disabled, +.dashboard .ui-widget-header .ui-state-disabled {opacity: .35;filter:Alpha(Opacity=35);} -.ui-resizable { position: relative; } -.ui-resizable-handle { position: absolute; font-size: 0.1px; } -.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; - bottom: 1px; background-image: url(../images/default/dashboardicons.png); - background-position: -78px -16px; background-repeat: no-repeat; } -.ui-sortable-placeholder { border: 1px dotted #d9d9d9; visibility: visible !important; - height: 25px !important; width: 150px; } - -.dashboard { padding: 0; margin: 0; } -.dashboard_tabnav { list-style: none; margin: 0; padding: 0 .5em 0; } -.dashboard_tabnav:before, -.dashboard_tabnav:after { content: ""; display: table; border-collapse: collapse; clear: both; } -.dashboard_tabpanel { } -.dashboard_tab_top { border: 1px solid #cccccc; text-align:center; min-width:9%; margin: 0 .5em -1px 0; float: left; padding: .5em 1em; } -.dashboard_tab_top a { color:#929292; } -.dashboard_tab_top.ui-tabs-active { } -.dashboard_tab_top.ui-tabs-active a { color:#147bff; } -.dashboard_tab_bottom { border: 1px solid #cccccc; text-align:center; min-width:9%; margin: 0 .5em -1px 0; float: left; padding: .5em 1em; } -.dashboard_tab_bottom a { color:#929292; } -.dashboard_tab_bottom.ui-tabs-active { } -.dashboard_tab_bottom.ui-tabs-active a { color:#147bff; } -.dashboard_tabicon {width: 16px; height: 16px; vertical-align: top; margin-left: -0.5em; margin-top: 0.1em; } -svg.dashboard_tabicon { fill:#929292; } .ui-tabs-active svg { fill:#147bff; } -.dashboard_tabcontent { width: 100%; padding: 0; margin: 0; } - -.dashboard_row { width: 100%; height: inherit; } -.dashboard_columncenter { height: inherit;} \ No newline at end of file +svg.dashboard_tabicon { fill:#929292; } \ No newline at end of file diff --git a/fhem/www/pgm2/dashboard_style.css b/fhem/www/pgm2/dashboard_style.css index 97714a904..df58e8f32 100644 --- a/fhem/www/pgm2/dashboard_style.css +++ b/fhem/www/pgm2/dashboard_style.css @@ -1,48 +1,102 @@ /* Author: svenson08*/ .dashboard_column { float: left; } .dashboard_columnhelper { border: 1px dotted #808080; } - -.dashboard_widget { border-radius: 8px; float: left; padding: 0.2em;} -.dashboard_widgethelper { background-color: #A0FFFF; } -.dashboard_widgetheader { background: none repeat scroll 0 0 #F0F0D8; border: 1px solid #808080; - border-radius: 8px; margin: 0.2em; - padding-bottom: 4px; padding-top: 3px; padding-left: 0.7em; } -.dashboard_content { padding: 0.2em; } - + +.dashboard_content { padding: 0.1em; } +.dashboard_content.table { box-shadow: none !important; border-radius: 0 0 8px 8px !important; border: 1px none #278727!important; + border-left: 1px solid #278727 !important; border-right: 1px solid #278727 !important; border-bottom: 1px solid #278727 !important;} + .dashboard_button_icon { width: 13px; height: 14px; background-repeat: no-repeat; 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 { 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;} +.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 #278727; 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;} +.dashboard .ui-button {display: inline-block;line-height: normal;margin-right: .1em;cursor: pointer;vertical-align: middle;text-align: center;overflow: visible;} +.dashboard .ui-button, +.dashboard .ui-button:link, +.dashboard .ui-button:visited, +.dashboard .ui-button:hover, +.dashboard .ui-button:active {text-decoration: none;} +.dashboard .ui-button .ui-button-text {display: block;line-height: normal;} +.dashboard .ui-button-text-only .ui-button-text {padding: .4em 1em;} -.ui-resizable { position: relative; } -.ui-resizable-handle { position: absolute; font-size: 0.1px; } -.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; - bottom: 1px; background-image: url(../images/default/dashboardicons.png); - background-position: -78px -16px; background-repeat: no-repeat; } -.ui-sortable-placeholder { border: 1px dotted #808080; visibility: visible !important; - height: 25px !important; width: 150px; } - -.dashboard { padding: 0; margin: 0; } -.dashboard_tabnav { list-style: none; margin: 0; padding: 0 .5em 0; } -.dashboard_tabnav:before, -.dashboard_tabnav:after { content: ""; display: table; border-collapse: collapse; clear: both; } -.dashboard_tabpanel { border: 1px solid #cccccc; background-color: #F0F0D8; border: 1px solid #dddddd; - border-radius: 8px 8px 8px 8px; } -.dashboard_tab_top { border: 1px solid #cccccc; border-bottom-width: 0; border-top-left-radius: 8px; - border-top-right-radius: 8px; margin: 0 .5em -1px 0; float: left; padding: .5em 1em; } -.dashboard_tab_top.ui-tabs-active { background-color: #F0F0D8; font-weight: bold; } -.dashboard_tab_bottom { border: 1px solid #cccccc; border-top-width: 0; border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; margin: 0 .5em -1px 0; float: left; padding: .5em 1em; } -.dashboard_tab_bottom.ui-tabs-active { background-color: #F0F0D8; font-weight: bold; } -.dashboard_tabicon {width: 16px; height: 16px; vertical-align: top; margin-left: -0.5em; margin-top: 0.1em;} -.dashboard_tabcontent { width: 100%; padding: 0; margin: 0; } +.dashboard .ui-resizable { position: relative; } +.dashboard .ui-resizable-handle { position: absolute; font-size: 0.1px; } +.dashboard .ui-resizable-se { cursor: se-resize;width: 12px; height: 12px; right: 1px;bottom: 1px; background-image: url('data:image/gif;base64,R0lGODlhEAAQAIABAJOnY////yH5BAEAAAEALAAAAAAQABAAAAIZjI+py+0IwDtx2ktlqI1zDCae9mXGGKZgAQA7');} -.dashboard_row { width: 100%; height: inherit; } -.dashboard_columncenter { height: inherit;} +.dashboard .ui-sortable-placeholder {border: 1px dotted #278727; visibility: visible !important; height: 25px !important; width: 150px;} + +.dashboard .block.wide {border-radius: 5px;} +.dashboard_tabcontent {width: 100%; padding: 0; margin: 0; } +.dashboard .dashboard_row {width: 100%; height: inherit; padding: 0;} +.dashboard .dashboard_columncenter {height: inherit;} + +.dashboard .ui-corner-bottom, +.dashboard .ui-corner-top, +.dashboard .ui-corner-left, +.dashboard .ui-corner-right, +.dashboard .ui-corner-all {border-radius: 5px;} + +.dashboard_widget {border-radius: 8px; float: left;} +.dashboard_widgethelper { background-color: #D7FFFF;} +.dashboard_widgetheader { background: none repeat scroll 0 0 #F0F0D8; border: 1px solid #808080; + border-radius: 8px; margin: 0.1em;padding-bottom: 4px; padding-top: 3px; padding-left: 0.7em;} +.dashboard .ui-widget .ui-widget {font-size: 1em;} +.dashboard .ui-widget-content {background-color: #F8F8d5;color: #278727;} +.dashboard .ui-widget-content a {color: #278727;} +.dashboard .ui-widget-header {background-color: #e9e9c8;color: #278727;} +.dashboard .ui-widget-header a {color: #278727;} +.dashboard .ui-state-default, +.dashboard .ui-widget-content .ui-state-default, +.dashboard .ui-widget-header .ui-state-default {border: 1px solid #278727;background-color: #d5d5b7;font-weight: normal;color: #F0F0dd;} + +.dashboard .ui-helper-clearfix:before, +.dashboard .ui-helper-clearfix:after {content: "";display: table;border-collapse: collapse;} +.dashboard .ui-helper-clearfix:after {clear: both;} +.dashboard .ui-helper-clearfix {min-height: 0;} +.dashboard .ui-helper-reset {margin: 0;padding: 0;border: 0;outline: 0;line-height: 1.3;text-decoration: none;font-size: 100%;list-style: none;} + +.dashboard .ui-tabs {position: relative;padding: .2em;} +.dashboard .ui-tabs .ui-tabs-panel {display: block;border-width: 0;background: none;box-shadow: 0 0 0 0;border-radius: 0;} +.dashboard .ui-tabs .ui-tabs-nav {margin: 0;padding: 0.2em 0.2em 0.4em;} +.dashboard .ui-tabs .ui-tabs-nav li {list-style: none;float: left;position: relative;top: 0;margin: 1px .2em 0 0;padding: 0;} +.dashboard .ui-tabs .ui-tabs-nav .ui-tabs-anchor {float: left;padding: .5em 1em;text-decoration: none;} +.dashboard .ui-tabs-icon {width: 18px;height: 18px;float: left;vertical-align: top;margin-left: 0.3em;margin-top: 0.5em;} +.dashboard .dashboard_tabnav_hidden{background-color: #F8F8d5;} + +.dashboard .ui-state-default a, +.dashboard .ui-state-default a:link, +.dashboard .ui-state-default a:visited {color: #F8F8d5;text-decoration: none;} + +.dashboard .ui-state-active, +.dashboard .ui-widget-content .ui-state-active, +.dashboard .ui-widget-header .ui-state-active{border: 1px solid #278727;background: #F8F8d5;font-weight: normal;color: #278727;} +.dashboard .ui-state-active a, +.dashboard .ui-state-active a:link, +.dashboard .ui-state-active a:visited {color: #278727;text-decoration: none;} + +.dashboard .ui-state-hover, +.dashboard .ui-widget-content .ui-state-hover, +.dashboard .ui-widget-header .ui-state-hover, +.dashboard .ui-state-focus, +.dashboard .ui-widget-content .ui-state-focus, +.dashboard .ui-widget-header .ui-state-focus {border: 1px solid #278727;font-weight: normal;color: #278727;} + +.dashboard .ui-state-hover a, +.dashboard .ui-state-hover a:hover, +.dashboard .ui-state-hover a:link, +.dashboard .ui-state-hover a:visited, +.dashboard .ui-state-focus a, +.dashboard .ui-state-focus a:hover, +.dashboard .ui-state-focus a:link, +.dashboard .ui-state-focus a:visited {color: #278727;text-decoration: none;} + +.dashboard .ui-state-disabled, +.dashboard .ui-widget-content .ui-state-disabled, +.dashboard .ui-widget-header .ui-state-disabled {opacity: .35;filter:Alpha(Opacity=35);}