summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2008-11-22 10:59:34 +0100
committerYorhel <git@yorhel.nl>2008-11-22 10:59:34 +0100
commit7127e3d70fc98ff0ceabb41afaa4b3021b3fd337 (patch)
treea72b68f76919b510ce6949e006b371b37403f9f2 /lib
parentd73bf4eb79b45245ea11137d3438e46a341a9343 (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.pm7
-rw-r--r--lib/VNDB/Util/FormHTML.pm47
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/&/&amp;/;
- $txt =~ s/</&lt;/;
- $txt =~ s/>/&gt;/;
- 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/&/&amp;/;
+ $txt =~ s/</&lt;/;
+ $txt =~ s/>/&gt;/;
+ 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;
}