continuing to add the tabs system.
This commit is contained in:
parent
1b5fbf8622
commit
1df3108086
5 changed files with 172 additions and 6 deletions
|
|
@ -7,6 +7,35 @@ upgrading from one version to the next, or even between multiple
|
||||||
versions. Be sure to heed the warnings contained herein as they will
|
versions. Be sure to heed the warnings contained herein as they will
|
||||||
save you many hours of grief.
|
save you many hours of grief.
|
||||||
|
|
||||||
|
5.2.0
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
* You'll need to add a section to the style sheet of each one of
|
||||||
|
your styles so that the new tabs system in WebGUI looks
|
||||||
|
the way it should. For most people the following should do
|
||||||
|
quite nicely:
|
||||||
|
|
||||||
|
.tab {
|
||||||
|
border: 1px solid black;
|
||||||
|
background-color: #eeeeee;
|
||||||
|
}
|
||||||
|
.tabBody {
|
||||||
|
border: 1px solid black;
|
||||||
|
border-top: 1px solid black;
|
||||||
|
border-left: 1px solid black;
|
||||||
|
background-color: #dddddd;
|
||||||
|
}
|
||||||
|
div.tabs {
|
||||||
|
line-height: 15px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.tabHover {
|
||||||
|
background-color: #cccccc;
|
||||||
|
}
|
||||||
|
.tabActive {
|
||||||
|
background-color: #dddddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
5.1.0
|
5.1.0
|
||||||
--------------------------------------------------------------------
|
--------------------------------------------------------------------
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -219,14 +219,14 @@ sub www_editPage {
|
||||||
tie %tabs, 'Tie::IxHash';
|
tie %tabs, 'Tie::IxHash';
|
||||||
%tabs = (
|
%tabs = (
|
||||||
properties=>{
|
properties=>{
|
||||||
name=>WebGUI::International::get(103)
|
label=>WebGUI::International::get(103)
|
||||||
},
|
},
|
||||||
style=>{
|
style=>{
|
||||||
name=>WebGUI::International::get(105),
|
label=>WebGUI::International::get(105),
|
||||||
uiLevel=>5
|
uiLevel=>5
|
||||||
},
|
},
|
||||||
privileges=>{
|
privileges=>{
|
||||||
name=>WebGUI::International::get(107),
|
label=>WebGUI::International::get(107),
|
||||||
uiLevel=>6
|
uiLevel=>6
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,64 @@ sub www_editStyle {
|
||||||
tie %style, 'Tie::CPHash';
|
tie %style, 'Tie::CPHash';
|
||||||
if ($session{form}{sid} eq "new") {
|
if ($session{form}{sid} eq "new") {
|
||||||
$style{body} = "^AdminBar;\n\n<body>\n\n^-;\n\n</body>";
|
$style{body} = "^AdminBar;\n\n<body>\n\n^-;\n\n</body>";
|
||||||
$style{styleSheet} = "<style>\n\n</style>";
|
$style{styleSheet} = '
|
||||||
|
<style>
|
||||||
|
.content{
|
||||||
|
font-family: helvetica, arial;
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
.adminBar {
|
||||||
|
background-color: #dddddd;
|
||||||
|
font-family: helvetica, arial;
|
||||||
|
}
|
||||||
|
.tableMenu {
|
||||||
|
background-color: #dddddd;
|
||||||
|
font-size: 8pt;
|
||||||
|
font-family: Helvetica, Arial;
|
||||||
|
}
|
||||||
|
.tableMenu a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.tableHeader {
|
||||||
|
background-color: #dddddd;
|
||||||
|
font-size: 10pt;
|
||||||
|
font-family: Helvetica, Arial;
|
||||||
|
}
|
||||||
|
.tableData {
|
||||||
|
font-size: 10pt;
|
||||||
|
font-family: Helvetica, Arial;
|
||||||
|
}
|
||||||
|
.pollColor {
|
||||||
|
background-color: #cccccc;
|
||||||
|
border: thin solid #aaaaaa;
|
||||||
|
}
|
||||||
|
.pagination {
|
||||||
|
font-family: helvetica, arial;
|
||||||
|
font-size: 8pt;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.tab {
|
||||||
|
border: 1px solid black;
|
||||||
|
background-color: #eeeeee;
|
||||||
|
}
|
||||||
|
.tabBody {
|
||||||
|
border: 1px solid black;
|
||||||
|
border-top: 1px solid black;
|
||||||
|
border-left: 1px solid black;
|
||||||
|
background-color: #dddddd;
|
||||||
|
}
|
||||||
|
div.tabs {
|
||||||
|
line-height: 15px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.tabHover {
|
||||||
|
background-color: #cccccc;
|
||||||
|
}
|
||||||
|
.tabActive {
|
||||||
|
background-color: #dddddd;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
';
|
||||||
} else {
|
} else {
|
||||||
%style = WebGUI::SQL->quickHash("select * from style where styleId=$session{form}{sid}");
|
%style = WebGUI::SQL->quickHash("select * from style where styleId=$session{form}{sid}");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,72 @@
|
||||||
package WebGUI::TabForm;
|
package WebGUI::TabForm;
|
||||||
|
|
||||||
|
=head1 LEGAL
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
WebGUI is Copyright 2001-2003 Plain Black LLC.
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Please read the legal notices (docs/legal.txt) and the license
|
||||||
|
(docs/license.txt) that came with this distribution before using
|
||||||
|
this software.
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
http://www.plainblack.com info@plainblack.com
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use WebGUI::Form;
|
use WebGUI::Form;
|
||||||
use WebGUI::HTMLForm;
|
use WebGUI::HTMLForm;
|
||||||
use WebGUI::Session;
|
use WebGUI::Session;
|
||||||
|
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
Package WebGUI::TabForm
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
Package that makes creating tab-based forms simple through an object-oriented API.
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
use WebGUI::TabForm;
|
||||||
|
use Tie::IxHash;
|
||||||
|
my %tabs;
|
||||||
|
tie %tabs, 'Tie::IxHash';
|
||||||
|
%tabs = (
|
||||||
|
cool=>{
|
||||||
|
label=>"Cool Tab",
|
||||||
|
uiLevel=>5
|
||||||
|
},
|
||||||
|
good=>{
|
||||||
|
label=>"Good Tab",
|
||||||
|
uiLevel=>8
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
$tabform = WebGUI::TabForm->new;
|
||||||
|
|
||||||
|
$tabform->hidden($name, $value);
|
||||||
|
$tabform->submit(\%params);
|
||||||
|
|
||||||
|
$html = $tabform->print;
|
||||||
|
|
||||||
|
$HTMLFormObject = $tabform->getTab($tabname);
|
||||||
|
$HTMLFormObject->textarea( -name=>$name, -value=>$value, -label=>$label);
|
||||||
|
|
||||||
|
The best and easiest way to use this package is to just call the methods on the tabs directly.
|
||||||
|
|
||||||
|
$tabform->get($tabname)->textarea( -name=>$name, -value=>$value, -label=>$label);
|
||||||
|
|
||||||
|
=head1 METHODS
|
||||||
|
|
||||||
|
These methods are available from this class:
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
|
||||||
sub getTab {
|
sub getTab {
|
||||||
return $_[0]->{_tab}{$_[1]}{form};
|
return $_[0]->{_tab}{$_[1]}{form};
|
||||||
}
|
}
|
||||||
|
|
@ -17,7 +79,6 @@ sub new {
|
||||||
my ($class, $tabs) = @_;
|
my ($class, $tabs) = @_;
|
||||||
my $form = WebGUI::HTMLForm->new(1);
|
my $form = WebGUI::HTMLForm->new(1);
|
||||||
foreach my $key (keys %{$tabs}) {
|
foreach my $key (keys %{$tabs}) {
|
||||||
$tabs->{$key}{uiLevel} = 9 unless ($tabs->{$key}{uiLevel});
|
|
||||||
$tabs->{$key}{form} = WebGUI::HTMLForm->new;
|
$tabs->{$key}{form} = WebGUI::HTMLForm->new;
|
||||||
}
|
}
|
||||||
bless {_submit=>WebGUI::Form::submit(),_form=>$form,_tab=>$tabs}, $class;
|
bless {_submit=>WebGUI::Form::submit(),_form=>$form,_tab=>$tabs}, $class;
|
||||||
|
|
@ -42,7 +103,7 @@ sub print {
|
||||||
if ($i == 1) {
|
if ($i == 1) {
|
||||||
$tabs .= ' tabActive';
|
$tabs .= ' tabActive';
|
||||||
}
|
}
|
||||||
$tabs .= '">'.$_[0]->{_tab}{$key}{name}.'</span> ';
|
$tabs .= '">'.$_[0]->{_tab}{$key}{label}.'</span> ';
|
||||||
$form .= '<div id="content'.$i.'" class="tabBody"><table>';
|
$form .= '<div id="content'.$i.'" class="tabBody"><table>';
|
||||||
$form .= $_[0]->{_tab}{$key}{form}->printRowsOnly;
|
$form .= $_[0]->{_tab}{$key}{form}->printRowsOnly;
|
||||||
$form .= '</table></div>';
|
$form .= '</table></div>';
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue