GBrowse
view release on metacpan or search on metacpan
lib/Bio/Graphics/Browser2/Render/HTML.pm view on Meta::CPAN
GPlain.images = "$balloon_images/GPlain";
GPlain.allowEventHandlers = true;
GPlain.opacity = 1;
GPlain.fontFamily = 'sans-serif';
// Like GBubble but fades in
var GFade = new Balloon;
BalloonConfig(GFade,'GFade');
GFade.images = "$balloon_images/GBubble";
GFade.opacity = 1;
GFade.allowEventHandlers = true;
GFade.fontFamily = 'sans-serif';
// A formatted box
// Note: Box is a subclass of Balloon
var GBox = new Box;
BalloonConfig(GBox,'GBox');
GBox.images = "$balloon_images/GBubble";
GBox.allowEventHandlers = true;
GBox.evalScripts = true;
GBox.opacity = 1;
GBox.fontFamily = 'sans-serif';
GBox.maxWidth = 1280;
GBox.stemHeight = 0;
END
}
sub render_select_menus { # for popup balloons
my $self = shift;
my $html = '';
$html .= $self->_render_select_menu($_)
foreach (qw(DETAIL OVERVIEW REGION));
return $html;
}
sub _render_select_menu {
my $self = shift;
my $view = shift || 'DETAIL';
my $config_label = uc($view).' SELECT MENU';
# HTML for the custom menu is required
my $menu_html = $self->setting($config_label => 'HTML')
|| $self->setting($config_label => 'html')
|| return '';
# should not be visible
my %style = (display => 'none');
# optional style attributes
for my $att (qw/width font background background-color border/) {
my $val = $self->setting($config_label => $att) || next;
$style{$att} = $val;
}
$style{width} .= 'px';
my $style = join('; ', map {"$_:$style{$_}"} keys %style);
# clean up the HTML just a bit
$menu_html =~ s/\</\n\</g;
return div( { -style => $style,
-id => lc($view).'SelectMenu' },
$menu_html );
}
# Returns the HTML for the page's title, as displayed at the top.
sub render_title {
my $self = shift;
my $title = shift;
my $error = shift;
my $settings = $self->state;
return $settings->{head}
? h1({-id=>'page_title',-class=>$error ? 'error' : 'normal'},$title)
: '';
}
# Renders the search & navigation instructions & examples.
sub render_instructions {
my $self = shift;
my $settings = $self->state;
my $oligo = $self->plugins->plugin('OligoFinder') ? ', oligonucleotide (15 bp minimum)' : '';
return $settings->{head}
? div({-class=>'searchtitle'},
$self->toggle('Instructions',
div({-style=>'margin-left:2em'},
$self->setting('search_instructions') ||
$self->translate('SEARCH_INSTRUCTIONS', $oligo),
$self->setting('navigation_instructions') ||
$self->translate('NAVIGATION_INSTRUCTIONS'),
br(),
$self->examples(),
br(),$self->html_frag('html2',$self->state)
)
)
)
: '';
}
# Renders the HTML for the spinning "busy" signal on the top-left corner of the page.
sub render_busy_signal {
my $self = shift;
return img({
-id => 'busy_indicator',
-src => $self->data_source->button_url.'/spinner.gif',
-style => 'position: fixed; top: 5px; left: 5px; display: none',
-alt => ($self->translate('WORKING')||'')
});
}
# Renders the menu bar across the top of the browser.
sub render_actionmenu {
my $self = shift;
my $settings = $self->state;
my @export_links=a({-href=>'#',-onclick=>'Controller.make_image_link("GD")'}, $self->translate('IMAGE_LINK'));
push @export_links,a({-href=>'#',-onclick=>'Controller.make_image_link("GD::SVG")'}, $self->translate('SVG_LINK'))
if HAVE_SVG;
( run in 0.825 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )