Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ModPerl: Embperl-cvs

svn commit: r1225319 - in /perl/embperl/trunk/Embperl: Form.pm Form/Control/datetime.pm Form/Control/tabs.pm

 

 

ModPerl embperl-cvs RSS feed   Index | Next | Previous | View Threaded


richter at apache

Dec 28, 2011, 11:46 AM

Post #1 of 1 (224 views)
Permalink
svn commit: r1225319 - in /perl/embperl/trunk/Embperl: Form.pm Form/Control/datetime.pm Form/Control/tabs.pm

Author: richter
Date: Wed Dec 28 19:46:34 2011
New Revision: 1225319

URL: http://svn.apache.org/viewvc?rev=1225319&view=rev
Log:
Allow Multiple Forms in one html document

Modified:
perl/embperl/trunk/Embperl/Form.pm
perl/embperl/trunk/Embperl/Form/Control/datetime.pm
perl/embperl/trunk/Embperl/Form/Control/tabs.pm

Modified: perl/embperl/trunk/Embperl/Form.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form.pm?rev=1225319&r1=1225318&r2=1225319&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form.pm (original)
+++ perl/embperl/trunk/Embperl/Form.pm Wed Dec 28 19:46:34 2011
@@ -33,6 +33,7 @@ use Storable ;
use MIME::Base64 ;

our %forms ;
+our $form_cnt = 1 ;
our %CLEANUP = ('forms' => 0) ;

use vars qw{$epreq} ;
@@ -79,7 +80,7 @@ sub sub_new

if ($toplevel)
{
- $self -> {fields2empty} = [] ;
+ $self -> {fields2empty} = [] ;
$self -> {init_data} = [] ;
$self -> {prepare_fdat} = [] ;
}
@@ -477,6 +478,15 @@ sub show_controls
{
my ($self, $req, $activeid) = @_ ;

+ if ($self -> {toplevel})
+ {
+ $self -> {unique_id} = '_' . $$ . '_' . $form_cnt++ ;
+ }
+ else
+ {
+ $self -> {unique_id} = $self -> parent_form -> {unique_id} ;
+ }
+
my $lines = $self -> {layout} ;
my %n ;
my $activesubid ;
@@ -530,9 +540,13 @@ sub show
{
my ($self, $req, $activeid) = @_ ;

- $self -> init_data ($req) if ($self -> {toplevel});
+ if ($self -> {toplevel})
+ {
+ $self -> init_data ($req) ;
+ $self -> show_form_begin ($req) ;
+ }
+
#$self -> validate ($req) if ($self -> {toplevel});
- $self -> show_form_begin ($req) if ($self -> {toplevel});
$self -> show_controls ($req, $activeid) ;
$self -> show_form_end ($req) if ($self -> {toplevel});
}
@@ -892,7 +906,7 @@ onSubmit="v=doValidate; doValidate=1; re
my $parent = $self -> parent_form ;
my $class = $self -> {options}{classdiv} || ($parent -> {noframe}?'ef-tabs-border-u':'ef-tabs-border') ;
$]
-<div id="[+ $self->{id} +]"
+<div id="[+ $self -> {unique_id} +]_[+ $self->{id} +]"
[$if ($activeid && $self->{id} ne $activeid) $] style="display: none" [$endif$]
>
[$if (!$self -> {noframe}) $]<table class="[+ $class +]"><tr><td class="ef-tabs-content-cell"> [$endif$]

Modified: perl/embperl/trunk/Embperl/Form/Control/datetime.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/datetime.pm?rev=1225319&r1=1225318&r2=1225319&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/datetime.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/datetime.pm Wed Dec 28 19:46:34 2011
@@ -162,7 +162,7 @@ my $class = $self -> {class} ||= '' ;
my $nsprefix = $self -> form -> {jsnamespace} ;
$]

-<input type="text" [.+ do { local $escmode = 0 ; $self -> get_std_control_attr() } +]
+<input type="text" name="[+ $self -> {force_name} || $self -> {name} +]" [.+ do { local $escmode = 0 ; $self -> get_std_control_attr() } +]
[$if $self -> {size} $]size="[+ $self->{size} +]"[$endif$]
[$if $self -> {maxlength} $]maxlength="[+ $self->{maxlength} +]"[$endif$]
>

Modified: perl/embperl/trunk/Embperl/Form/Control/tabs.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/tabs.pm?rev=1225319&r1=1225318&r2=1225319&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/tabs.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/tabs.pm Wed Dec 28 19:46:34 2011
@@ -105,7 +105,10 @@ __EMBPERL__
my $name = $self -> {name} ;
my $dataval = $fdat{$name} || $values -> [0] ;
my $activeid = $self -> get_active_id ($req) ;
- my $nsprefix = $self -> form -> {jsnamespace} ;
+ my $form = $self -> form ;
+ my $nsprefix = $form -> {jsnamespace} ;
+ my $uid = $form -> {unique_id} ;
+ my $fullname = $uid . '_' . $name ;
my $tabs_per_line = $self -> {'tabs_per_line'} || 99;
$tabs_per_line = [$tabs_per_line, $tabs_per_line, $tabs_per_line, $tabs_per_line]
if (!ref $tabs_per_line) ;
@@ -126,12 +129,11 @@ $]
*]
[$ while ($i < @$values) $]
[*
- $val = $values -> [$i] ;
+ $val = $values -> [$i] ;
my $id = $self -> {subids}[$i] ;
my $cellclass = $id eq $activeid?'ef-tabs-cell-on':'ef-tabs-cell-off' ;
my $divclass = $id eq $activeid?'ef-tabs-div-on':'ef-tabs-div-off' ;

- my $form = $self -> form ;
my @switch_code ;

foreach my $sub (@{$form -> {controls}})
@@ -140,11 +142,12 @@ $]
push @switch_code, $code if ($code) ;
}
my $js = join (';', @switch_code) ;
+ my $fullid = $uid . '_' . $id ;
*]
<td class="[+ $cellclass +]"><div class="[+ $divclass +]"
[$ if $i - $start_i == 0 $]style="border-left: black 1px solid" [$endif$]
- id="__tabs_[+ $id +]">
- <a href="#" onClick="[+ $nsprefix +]tab_selected(document, '[+ $id +]','[+ $name +]'); [.+ do { local $escmode = 0 ; $js } +]" style="color:black; text-decoration: none;">[+ $options ->[$i] || $val +]</a></div></td>
+ id="__tabs_[+ $fullid +]">
+ <a href="#" onClick="[+ $nsprefix +]tab_selected(document, '[+ $fullid +]','[+ $fullname +]'); [.+ do { local $escmode = 0 ; $js } +]" style="color:black; text-decoration: none;">[+ $options ->[$i] || $val +]</a></div></td>
[.* $i++ ;
if ($i - $start_i >= $tabs && @$values > $i)
{
@@ -157,7 +160,7 @@ $]
[$if ($i == @$values) $]<td class="ef-tabs-cell-blank">&nbsp;</td>[$endif$]
</tr></table>
[$endwhile$]
- <input type="hidden" name="[+ $name +]" id="[+ $name +]" value="[+ $activeid +]">
+ <input type="hidden" name="[+ $name +]" id="[+ $fullname +]" value="[+ $uid +]_[+ $activeid +]">
</td>
[$endsub$]




---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe [at] perl
For additional commands, e-mail: embperl-cvs-help [at] perl

ModPerl embperl-cvs RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.