Fix some display problems with the tabs. Sometimes you just have to use tables....

This commit is contained in:
James Taylor
2009-07-10 18:33:36 -04:00
parent 861f55c4fd
commit 56243cd613
5 changed files with 50 additions and 31 deletions
+15 -8
View File
@@ -36,7 +36,6 @@ body
font-size: 90%;
}
#left, #left-border, #center, #right-border, #right
{
position: absolute;
@@ -272,16 +271,22 @@ div.unified-panel-body {
text-decoration: underline;
}
div.tab-group
.tab-group
{
margin: 0;
padding: 0 10px;
height: 100%;
white-space: nowrap;
-moz-user-select: none;
-khtml-user-select: none;
user-select: none;
cursor: default;
}
div.tab-group span.tab
.tab-group .tab
{
background: #2C3143;
position: relative;
display: block;
float: left;
@@ -292,17 +297,17 @@ div.tab-group span.tab
text-align: left;
}
div.tab-group > span.tab:hover > a
.tab-group .tab:hover > a
{
color: gold !important;
}
div.tab-group > span.active
.tab-group .active
{
background: rgb(1,1,1);
}
div.tab-group span.tab div.submenu {
.tab-group .tab .submenu {
display: none;
position: absolute;
z-index: 16000;
@@ -318,7 +323,8 @@ div.tab-group span.tab div.submenu {
-webkit-border-bottom-left-radius: 1em;
}
div.tab-group span.tab div.submenu ul {
.tab-group .tab .submenu ul
{
display: block;
margin: 0;
padding: 0;
@@ -326,7 +332,8 @@ div.tab-group span.tab div.submenu ul {
background: #2C3143;
}
div.tab-group span.tab div.submenu ul li {
.tab-group .tab .submenu ul li
{
display: block;
padding: 0 1em;
white-space: nowrap;
+16 -8
View File
@@ -36,7 +36,6 @@ body
font-size: 90%;
}
#left, #left-border, #center, #right-border, #right
{
position: absolute;
@@ -274,16 +273,23 @@ div.unified-panel-body {
text-decoration: underline;
}
div.tab-group
## Tabs
.tab-group
{
margin: 0;
padding: 0 10px;
height: 100%;
white-space: nowrap;
-moz-user-select: none;
-khtml-user-select: none;
user-select: none;
cursor: default;
}
div.tab-group span.tab
.tab-group .tab
{
background: ${masthead_bg};
position: relative;
display: block;
float: left;
@@ -294,17 +300,17 @@ div.tab-group span.tab
text-align: left;
}
div.tab-group > span.tab:hover > a
.tab-group .tab:hover > a
{
color: gold !important;
}
div.tab-group > span.active
.tab-group .active
{
background: rgb(1,1,1);
}
div.tab-group span.tab div.submenu {
.tab-group .tab .submenu {
display: none;
position: absolute;
z-index: 16000;
@@ -320,7 +326,8 @@ div.tab-group span.tab div.submenu {
-webkit-border-bottom-left-radius: 1em;
}
div.tab-group span.tab div.submenu ul {
.tab-group .tab .submenu ul
{
display: block;
margin: 0;
padding: 0;
@@ -328,7 +335,8 @@ div.tab-group span.tab div.submenu ul {
background: ${masthead_bg};
}
div.tab-group span.tab div.submenu ul li {
.tab-group .tab .submenu ul li
{
display: block;
padding: 0 1em;
white-space: nowrap;
+2 -2
View File
@@ -216,8 +216,8 @@ function show_in_overlay( options ) {
// Tab management
$(function() {
$("span.tab").each( function() {
var submenu = $(this).children( "div.submenu" );
$(".tab").each( function() {
var submenu = $(this).children( ".submenu" );
if ( submenu.length > 0 ) {
if ( $.browser.msie ) {
// Vile IE iframe hack -- even IE7 needs this
+1 -1
View File
@@ -1 +1 @@
function ensure_dd_helper(){if($("#DD-helper").length==0){$("<div id='DD-helper'/>").css({background:"white",opacity:0,zIndex:9000,position:"absolute",top:0,left:0,width:"100%",height:"100%"}).appendTo("body").hide()}}function make_left_panel(h,c,e){var g=false;var f=null;var d=function(i){var j=i;if(i<0){i=0}$(h).css("width",i);$(e).css("left",j);$(c).css("left",i+7);if(document.recalc){document.recalc()}};var a=function(){if(g){$(e).removeClass("hover");$(e).animate({left:f},"fast");$(h).css("left",-f).show().animate({left:0},"fast",function(){d(f);$(e).removeClass("hidden")});g=false}else{f=$(e).position().left;$(c).css("left",$(e).innerWidth());if(document.recalc){document.recalc()}$(e).removeClass("hover");$(h).animate({left:-f},"fast");$(e).animate({left:-1},"fast",function(){$(this).addClass("hidden")});g=true}};$(e).hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")}).bind("dragstart",function(i){$("#DD-helper").show()}).bind("dragend",function(i){$("#DD-helper").hide()}).bind("drag",function(i){x=i.offsetX;x=Math.min(400,Math.max(100,x));if(g){$(h).css("left",0);$(e).removeClass("hidden");g=false}d(x)}).bind("dragclickonly",function(i){a()}).find("div").show();var b=function(i){if((g&&i=="show")||(!g&&i=="hide")){a()}};return{force_panel:b}}function make_right_panel(a,e,h){var j=false;var g=false;var c=null;var d=function(k){$(a).css("width",k);$(e).css("right",k+9);$(h).css("right",k).css("left","");if(document.recalc){document.recalc()}};var i=function(){if(j){$(h).removeClass("hover");$(h).animate({right:c},"fast");$(a).css("right",-c).show().animate({right:0},"fast",function(){d(c);$(h).removeClass("hidden")});j=false}else{c=$(document).width()-$(h).position().left-$(h).outerWidth();$(e).css("right",$(h).innerWidth()+1);if(document.recalc){document.recalc()}$(h).removeClass("hover");$(a).animate({right:-c},"fast");$(h).animate({right:-1},"fast",function(){$(this).addClass("hidden")});j=true}g=false};var b=function(k){var l=$(e).width()-(j?c:0);if(l<k){if(!j){i();g=true}}else{if(g){i();g=false}}};$(h).hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")}).bind("dragstart",function(k){$("#DD-helper").show()}).bind("dragend",function(k){$("#DD-helper").hide()}).bind("drag",function(k){x=k.offsetX;w=$(window).width();x=Math.min(w-100,x);x=Math.max(w-400,x);if(j){$(a).css("right",0);$(h).removeClass("hidden");j=false}d(w-x-$(this).outerWidth())}).bind("dragclickonly",function(k){i()}).find("div").show();var f=function(k){if((j&&k=="show")||(!j&&k=="hide")){i()}};return{handle_minwidth_hint:b,force_panel:f}}function hide_modal(){$(".dialog-box-container").fadeOut(function(){$("#overlay").hide();$(".dialog-box").find(".body").children().remove()})}function show_modal(f,c,e,d){if(f){$(".dialog-box").find(".title").html(f);$(".dialog-box").find(".unified-panel-header").show()}else{$(".dialog-box").find(".unified-panel-header").hide()}var a=$(".dialog-box").find(".buttons").html("");if(e){$.each(e,function(b,g){a.append($("<button/>").text(b).click(g));a.append(" ")});a.show()}else{a.hide()}var a=$(".dialog-box").find(".extra_buttons").html("");if(d){$.each(d,function(b,g){a.append($("<button/>").text(b).click(g));a.append(" ")});a.show()}else{a.hide()}if(c=="progress"){c=$("<img src='../images/yui/rel_interstitial_loading.gif')' />")}$(".dialog-box").find(".body").html(c);if(!$(".dialog-box-container").is(":visible")){$("#overlay").show();$(".dialog-box-container").fadeIn()}}function show_in_overlay(c){var d=c.width||"600";var b=c.height||"400";var a=c.scroll||"auto";$("#overlay-background").bind("click.overlay",function(){hide_modal();$("#overlay-background").unbind("click.overlay")});show_modal(null,$("<div style='margin: -5px;'><iframe style='margin: 0; padding: 0;' src='"+c.url+"' width='"+d+"' height='"+b+"' scrolling='"+a+"' frameborder='0'></iframe></div>"))}$(function(){$("span.tab").each(function(){var a=$(this).children("div.submenu");if(a.length>0){if($.browser.msie){a.prepend("<iframe style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; filter:Alpha(Opacity='0');\"></iframe>")}$(this).hover(function(){a.show()},function(){a.hide()});a.click(function(){a.hide()})}})});function user_changed(a,b){if(a){$(".loggedin-only").show();$(".loggedout-only").hide();$("#user-email").text(a);if(b){$(".admin-only").show()}}else{$(".loggedin-only").hide();$(".loggedout-only").show();$(".admin-only").hide()}};
function ensure_dd_helper(){if($("#DD-helper").length==0){$("<div id='DD-helper'/>").css({background:"white",opacity:0,zIndex:9000,position:"absolute",top:0,left:0,width:"100%",height:"100%"}).appendTo("body").hide()}}function make_left_panel(h,c,e){var g=false;var f=null;var d=function(i){var j=i;if(i<0){i=0}$(h).css("width",i);$(e).css("left",j);$(c).css("left",i+7);if(document.recalc){document.recalc()}};var a=function(){if(g){$(e).removeClass("hover");$(e).animate({left:f},"fast");$(h).css("left",-f).show().animate({left:0},"fast",function(){d(f);$(e).removeClass("hidden")});g=false}else{f=$(e).position().left;$(c).css("left",$(e).innerWidth());if(document.recalc){document.recalc()}$(e).removeClass("hover");$(h).animate({left:-f},"fast");$(e).animate({left:-1},"fast",function(){$(this).addClass("hidden")});g=true}};$(e).hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")}).bind("dragstart",function(i){$("#DD-helper").show()}).bind("dragend",function(i){$("#DD-helper").hide()}).bind("drag",function(i){x=i.offsetX;x=Math.min(400,Math.max(100,x));if(g){$(h).css("left",0);$(e).removeClass("hidden");g=false}d(x)}).bind("dragclickonly",function(i){a()}).find("div").show();var b=function(i){if((g&&i=="show")||(!g&&i=="hide")){a()}};return{force_panel:b}}function make_right_panel(a,e,h){var j=false;var g=false;var c=null;var d=function(k){$(a).css("width",k);$(e).css("right",k+9);$(h).css("right",k).css("left","");if(document.recalc){document.recalc()}};var i=function(){if(j){$(h).removeClass("hover");$(h).animate({right:c},"fast");$(a).css("right",-c).show().animate({right:0},"fast",function(){d(c);$(h).removeClass("hidden")});j=false}else{c=$(document).width()-$(h).position().left-$(h).outerWidth();$(e).css("right",$(h).innerWidth()+1);if(document.recalc){document.recalc()}$(h).removeClass("hover");$(a).animate({right:-c},"fast");$(h).animate({right:-1},"fast",function(){$(this).addClass("hidden")});j=true}g=false};var b=function(k){var l=$(e).width()-(j?c:0);if(l<k){if(!j){i();g=true}}else{if(g){i();g=false}}};$(h).hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")}).bind("dragstart",function(k){$("#DD-helper").show()}).bind("dragend",function(k){$("#DD-helper").hide()}).bind("drag",function(k){x=k.offsetX;w=$(window).width();x=Math.min(w-100,x);x=Math.max(w-400,x);if(j){$(a).css("right",0);$(h).removeClass("hidden");j=false}d(w-x-$(this).outerWidth())}).bind("dragclickonly",function(k){i()}).find("div").show();var f=function(k){if((j&&k=="show")||(!j&&k=="hide")){i()}};return{handle_minwidth_hint:b,force_panel:f}}function hide_modal(){$(".dialog-box-container").fadeOut(function(){$("#overlay").hide();$(".dialog-box").find(".body").children().remove()})}function show_modal(f,c,e,d){if(f){$(".dialog-box").find(".title").html(f);$(".dialog-box").find(".unified-panel-header").show()}else{$(".dialog-box").find(".unified-panel-header").hide()}var a=$(".dialog-box").find(".buttons").html("");if(e){$.each(e,function(b,g){a.append($("<button/>").text(b).click(g));a.append(" ")});a.show()}else{a.hide()}var a=$(".dialog-box").find(".extra_buttons").html("");if(d){$.each(d,function(b,g){a.append($("<button/>").text(b).click(g));a.append(" ")});a.show()}else{a.hide()}if(c=="progress"){c=$("<img src='../images/yui/rel_interstitial_loading.gif')' />")}$(".dialog-box").find(".body").html(c);if(!$(".dialog-box-container").is(":visible")){$("#overlay").show();$(".dialog-box-container").fadeIn()}}function show_in_overlay(c){var d=c.width||"600";var b=c.height||"400";var a=c.scroll||"auto";$("#overlay-background").bind("click.overlay",function(){hide_modal();$("#overlay-background").unbind("click.overlay")});show_modal(null,$("<div style='margin: -5px;'><iframe style='margin: 0; padding: 0;' src='"+c.url+"' width='"+d+"' height='"+b+"' scrolling='"+a+"' frameborder='0'></iframe></div>"))}$(function(){$(".tab").each(function(){var a=$(this).children(".submenu");if(a.length>0){if($.browser.msie){a.prepend("<iframe style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; filter:Alpha(Opacity='0');\"></iframe>")}$(this).hover(function(){a.show()},function(){a.hide()});a.click(function(){a.hide()})}})});function user_changed(a,b){if(a){$(".loggedin-only").show();$(".loggedout-only").hide();$("#user-email").text(a);if(b){$(".admin-only").show()}}else{$(".loggedin-only").hide();$(".loggedout-only").show();$(".admin-only").hide()}};
+16 -12
View File
@@ -131,8 +131,10 @@
%endif
</div>
<div style="position: absolute; left: 50%;">
<div class="tab-group" style="position: relative; left: -50%;">
<div style="position: absolute; left: 0; width: 100%; text-align: center;">
<table class="tab-group" border="0" cellspacing="0" style="margin: auto;">
<tr>
<%def name="tab( id, display, href, target='_parent', visible=True, extra_class='' )">
<%
@@ -145,31 +147,31 @@
if not visible:
style = "display: none;"
%>
<span class="${cls}" style="${style}"><a target="${target}" href="${href}">${display}</a></span>
<td class="${cls}" style="${style}"><a target="${target}" href="${href}">${display}</a></td>
</%def>
${tab( "analysis", "Analyze Data", h.url_for( controller='root', action='index' ))}
${tab( "workflow", "Workflow", h.url_for( controller='workflow', action='index' ))}
${tab( "libraries", "Libraries", h.url_for( controller='library', action='index' ))}
${tab( "requests", "Requests", h.url_for( controller='requests', action='index' ), visible = (trans.user and trans.request_types)) }
%if app.config.get_bool( 'enable_tracks', False ):
<span class="tab">
<td class="tab">
Visualization
<div class="submenu">
<ul>
<li><a href="${h.url_for( controller='tracks', action='index' )}">Build track browser</a></li>
</ul>
</div>
</span>
</td>
%endif
${tab( "admin", "Admin", h.url_for( controller='admin', action='index' ), extra_class="admin-only", visible=( trans.user and app.config.is_admin_user( trans.user ) ) )}
<span class="tab">
<td class="tab">
<a>Help</a>
<div class="submenu">
<ul>
@@ -178,9 +180,9 @@
<li><a target="_blank" href="${app.config.get( "screencasts_url", "http://g2.trac.bx.psu.edu/wiki/ScreenCasts" )}">Video tutorials (screencasts)</a></li>
</ul>
</div>
</span>
</td>
<span class="tab">
<td class="tab">
<a>User</a>
<%
if trans.user:
@@ -219,9 +221,11 @@
%endif
</ul>
</div>
</span>
</td>
</tr>
</table>
</div>
</div>
</%def>