Migrated WebGUI::TabForm to use YUI tabs rather than the old fashioned
WebGUI tabs.
This commit is contained in:
parent
dd385e7251
commit
32ce086ab5
2 changed files with 29 additions and 19 deletions
|
|
@ -13,6 +13,8 @@
|
|||
- rfe: Inclusion of UsersOnline macro into the core (#766)
|
||||
- rfe: Search - Paginate results (#713)
|
||||
- rfe: Leave Version Tag
|
||||
- Migrated WebGUI::TabForm to use YUI tabs rather than the old fashioned
|
||||
WebGUI tabs.
|
||||
- WebGUI::Crud can now automatically resolve differences between its
|
||||
definition and the table schema.
|
||||
- Fixed a limit bug in the asset discovery service.
|
||||
|
|
|
|||
|
|
@ -227,35 +227,43 @@ sub print {
|
|||
my $self = shift;
|
||||
my $style = $self->session->style;
|
||||
my $url = $self->session->url;
|
||||
$style->setScript($url->extras('tabs/tabs.js'),{type=>"text/javascript"});
|
||||
$style->setLink($self->{_css},{rel=>"stylesheet", rev=>"stylesheet",type=>"text/css"});
|
||||
$style->setLink($self->{_css},{rel=>"stylesheet", rel=>"stylesheet",type=>"text/css"});
|
||||
$style->setLink($url->extras('/yui/build/fonts/fonts-min.css'),{type=>"text/css", rel=>"stylesheet"});
|
||||
$style->setLink($url->extras('/yui/build/tabview/assets/skins/sam/tabview.css'),{type=>"text/css", rel=>"stylesheet"});
|
||||
$style->setLink($url->extras('/yui/build/container/assets/container.css'),{ type=>'text/css', rel=>"stylesheet" });
|
||||
$style->setLink($url->extras('/hoverhelp.css'),{ type=>'text/css', rel=>"stylesheet" });
|
||||
$style->setScript($url->extras('/yui/build/yahoo/yahoo-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/yui/build/dom/dom-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/yui/build/event/event-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/yui/build/utilities/utilities.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/yui/build/container/container-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/yui/build/tabview/tabview-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/hoverhelp.js'),{ type=>'text/javascript' });
|
||||
my $output = $self->{_form};
|
||||
$output .= $self->{_hidden};
|
||||
my $i = 1;
|
||||
my $tabs;
|
||||
my $form;
|
||||
my $tabs = '<ul class="yui-nav">';
|
||||
my $form = '<div class="yui-content">';
|
||||
my $userUiLevel = $self->session->user->profileField("uiLevel");
|
||||
my $first = 1;
|
||||
foreach my $key (keys %{$self->{_tab}}) {
|
||||
$tabs .= '<span onclick="toggleTab('.$i.')" id="tab'.$i.'" class="tab"';
|
||||
if ($self->{_tab}->{$key}{uiLevel} > $self->session->user->profileField("uiLevel")) {
|
||||
$tabs .= 'style="display: none;"';
|
||||
}
|
||||
$tabs .= '>'.$self->{_tab}{$key}{label}.'</span> ';
|
||||
$form .= '<div id="tabcontent'.$i.'" class="tabBody"><table><tbody>';
|
||||
$form .= $self->{_tab}{$key}{form}->printRowsOnly;
|
||||
$form .= '</tbody></table></div>';
|
||||
my $hide = '';
|
||||
if ($self->{_tab}->{$key}{uiLevel} > $userUiLevel) {
|
||||
$hide = 'style="display: none;"';
|
||||
}
|
||||
my $selected = '';
|
||||
if ($first && !$hide) {
|
||||
$first = 0;
|
||||
$selected = 'class="selected"';
|
||||
}
|
||||
$tabs .= '<li '.$selected.'><a href="#tab'.$i.'" '.$hide.'><em>'.$self->{_tab}{$key}{label}.'</em></a></li>';
|
||||
$form .= '<div id="tab'.$i.'" '.$hide.'><table>'.$self->{_tab}{$key}{form}->printRowsOnly.'</table></div>';
|
||||
$i++;
|
||||
}
|
||||
$output .= '<div class="tabs">'.$tabs.$self->{_submit}." ".$self->{_cancel}.'</div>';
|
||||
$output .= $form;
|
||||
$output .= WebGUI::Form::formFooter($self->session,);
|
||||
$output .= '<script type="text/javascript">var numberOfTabs = '.($i-1).'; initTabs();</script>';
|
||||
$tabs .= '</ul>';
|
||||
$form .= '</div>';
|
||||
$output .= '<div style="float: right;">'.$self->{_submit}.$self->{_cancel}.'</div><div class="yui-skin-sam"><div id="webguiTabForm" class="yui-navset">'.$tabs.$form.'</div></div>';
|
||||
$output .= WebGUI::Form::formFooter($self->session);
|
||||
$output .= q{<script type="text/javascript">
|
||||
var tabView = new YAHOO.widget.TabView('webguiTabForm');
|
||||
</script>};
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue