diff options
author | Yorhel <git@yorhel.nl> | 2008-11-22 10:59:34 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2008-11-22 10:59:34 +0100 |
commit | 7127e3d70fc98ff0ceabb41afaa4b3021b3fd337 (patch) | |
tree | a72b68f76919b510ce6949e006b371b37403f9f2 /lib | |
parent | d73bf4eb79b45245ea11137d3438e46a341a9343 (diff) |
Fixed htmlForm to allow multiple formsubs, and wrote a javascript tab switcher
This JS tab switcher (prefixed jt*) can be used for about anything
where you need client-side tabs, not limited only to forms. Only
one tab sequence is allowed on one page, though.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/VNDB/Handler/VNEdit.pm | 7 | ||||
-rw-r--r-- | lib/VNDB/Util/FormHTML.pm | 47 |
2 files changed, 37 insertions, 17 deletions
diff --git a/lib/VNDB/Handler/VNEdit.pm b/lib/VNDB/Handler/VNEdit.pm index 13856fb3..97ed5457 100644 --- a/lib/VNDB/Handler/VNEdit.pm +++ b/lib/VNDB/Handler/VNEdit.pm @@ -20,10 +20,17 @@ sub edit { return $self->htmlDenied if !$self->authCan('edit') || ($v->{locked} && !$self->authCan('lock') || $v->{hidden} && !$self->authCan('del')); + my $frm; $self->htmlHeader(title => 'Edit '.$v->{title}); $self->htmlMainTabs('v', $v, 'edit'); $self->htmlEditMessage('v', $v); + $self->htmlForm({ frm => $frm, action => "/v$vid/edit", editsum => 1 }, 'General info' => [ + ], 'Categories' => [ + ], 'Image' => [ + ], 'Relations' => [ + ], 'Screenshots' => [ + ]); $self->htmlFooter; } diff --git a/lib/VNDB/Util/FormHTML.pm b/lib/VNDB/Util/FormHTML.pm index 221794e0..7de2e5d0 100644 --- a/lib/VNDB/Util/FormHTML.pm +++ b/lib/VNDB/Util/FormHTML.pm @@ -175,12 +175,23 @@ sub htmlForm { $self->htmlFormError($options->{frm}, 1); - # tabs here (if @subs > 2) + # tabs + if(@subs > 2) { + ul class => 'maintabs notfirst', id => 'jt_select'; + for (0..$#subs/2) { + (my $short = lc $subs[$_*2]) =~ s/ /_/; + li class => 'left'; + a href => "#$short", id => "jt_sel_$short", $subs[$_*2]; + end; + } + end; + } + # form subs while(my($name, $parts) = (shift(@subs), shift(@subs))) { last if !$name || !$parts; (my $short = lc $name) =~ s/ /_/; - div class => 'mainbox subform', id => 'subform_'.$short; + div class => 'mainbox', id => 'jt_box_'.$short; h1 $name; fieldset; legend $name; @@ -189,23 +200,25 @@ sub htmlForm { end; end; end; - div class => 'mainbox'; - fieldset class => 'submit'; - if($options->{editsum}) { - (my $txt = $options->{frm}{editsum}||'') =~ s/&/&/; - $txt =~ s/</</; - $txt =~ s/>/>/; - h2 'Edit summary'; - textarea name => 'editsum', id => 'editsum', rows => 4, cols => 50; - lit $txt; - end; - br; - } - input type => 'submit', value => 'Submit', class => 'submit'; - end; - end; } + # edit summary / submit button + div class => 'mainbox'; + fieldset class => 'submit'; + if($options->{editsum}) { + (my $txt = $options->{frm}{editsum}||'') =~ s/&/&/; + $txt =~ s/</</; + $txt =~ s/>/>/; + h2 'Edit summary'; + textarea name => 'editsum', id => 'editsum', rows => 4, cols => 50; + lit $txt; + end; + br; + } + input type => 'submit', value => 'Submit', class => 'submit'; + end; + end; + end; } |