Author: richter
Date: Tue Jan 3 08:23:36 2012
New Revision: 1226698
URL: http://svn.apache.org/viewvc?rev=1226698&view=rev
Log:
Support for multiple Forms
Modified:
perl/embperl/trunk/Embperl/Form.pm
perl/embperl/trunk/Embperl/Form/Control.pm
perl/embperl/trunk/Embperl/Form/Control/checkbox.pm
perl/embperl/trunk/Embperl/Form/Control/datetime.pm
perl/embperl/trunk/Embperl/Form/Control/grid.pm
perl/embperl/trunk/Embperl/Form/Control/mult.pm
perl/embperl/trunk/Embperl/Form/Control/radio.pm
Modified: perl/embperl/trunk/Embperl/Form.pm
URL:
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form.pm?rev=1226698&r1=1226697&r2=1226698&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form.pm (original)
+++ perl/embperl/trunk/Embperl/Form.pm Tue Jan 3 08:23:36 2012
@@ -302,7 +302,7 @@ sub new_controls
}
$self -> {controlids}{$control->{id}} = $control ;
- next if ($control -> is_disabled) ;
+ next if ($control -> is_disabled ()) ;
push @{$validate_rules}, $control -> get_validate_rules ;
if ($control -> {sublines})
{
@@ -389,7 +389,7 @@ sub layout
my $num = 0 ;
foreach my $control (@$controls)
{
- next if ($control -> is_disabled) ;
+ next if ($control -> is_disabled ()) ;
if ($control -> is_hidden)
{
$control -> {width_percent} = 0 ;
@@ -476,10 +476,11 @@ sub layout
sub show_controls
{
- my ($self, $req, $activeid) = @_ ;
+ my ($self, $req, $activeid, $options) = @_ ;
if ($self -> {toplevel})
{
+ $req -> {form_options_masks} = ($options && $options -> {masks}) || {}
;
$self -> {unique_id} = '_' . $$ . '_' . $form_cnt++ ;
}
else
@@ -504,7 +505,7 @@ sub show_controls
{
# my $newactivesubid = $control -> {subobjects} &&
$visible?$control -> get_active_id ($req):'-' ;
my $newactivesubid = ($control -> {subobjects} || $control ->
{sublines}) && $visible?$control -> get_active_id ($req):'' ;
- $control -> show ($req);
+ $control -> show ($req) if (!$control -> is_disabled ($req)) ;
$activesubid[$control -> {level}] = $newactivesubid if
($newactivesubid) ;
if ($control -> {subobjects})
{
@@ -538,7 +539,7 @@ sub show_controls
sub show
{
- my ($self, $req, $activeid) = @_ ;
+ my ($self, $req, $activeid, $options) = @_ ;
if ($self -> {toplevel})
{
@@ -547,7 +548,7 @@ sub show
}
#$self -> validate ($req) if ($self -> {toplevel});
- $self -> show_controls ($req, $activeid) ;
+ $self -> show_controls ($req, $activeid, $options) ;
$self -> show_form_end ($req) if ($self -> {toplevel});
}
Modified: perl/embperl/trunk/Embperl/Form/Control.pm
URL:
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control.pm?rev=1226698&r1=1226697&r2=1226698&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control.pm Tue Jan 3 08:23:36 2012
@@ -86,7 +86,7 @@ sub is_disabled
{
my ($self, $req) = @_ ;
- return $self -> {disable} ;
+ return $self -> {disable} || $req ->
{form_options_masks}{$self->{name}}{disable} || $req ->
{form_options_masks}{'*'}{disable} ;
}
# ---------------------------------------------------------------------------
@@ -99,7 +99,7 @@ sub is_readonly
{
my ($self, $req) = @_ ;
- return $self -> {readonly} ;
+ return $self -> {readonly} || $req ->
{form_options_masks}{$self->{name}}{readonly} || $req ->
{form_options_masks}{'*'}{readonly} ;
}
# ---------------------------------------------------------------------------
@@ -406,7 +406,7 @@ $]
[$ sub show_control_cell ($self, $req, $x)
- my $ro = $self -> is_readonly ;
+ my $ro = $self -> is_readonly ($req) ;
my $addclass = 'ef-control-box-width-' . ($self->{width_percent} || 50 ) ;
$addclass .= ' ef-control-box-readonly' if ($ro) ;
$]
Modified: perl/embperl/trunk/Embperl/Form/Control/checkbox.pm
URL:
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/checkbox.pm?rev=1226698&r1=1226697&r2=1226698&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/checkbox.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/checkbox.pm Tue Jan 3 08:23:36 2012
@@ -90,7 +90,7 @@ __EMBPERL__
push @{$self -> form -> {fields2empty}}, $name ;
$]
-<input type="checkbox" name="[+ $self -> {force_name} || $self -> {name} +]"
[+ do { local $escmode = 0 ; $self -> {eventattrs} } +] value="[+ $val +]"
+<input type="checkbox" name="[+ $self -> {force_name} || $self -> {name} +]"
[+ do { local $escmode = 0 ; $self -> get_std_control_attr() } +] value="[+
$val +]"
[$if ($self -> {sublines} || $self -> {subobjects}) $] OnClick="[+ $nsprefix
+]show_checked(document, this)" [$endif$]
>
[$endsub$]
Modified: perl/embperl/trunk/Embperl/Form/Control/datetime.pm
URL:
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/datetime.pm?rev=1226698&r1=1226697&r2=1226698&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/datetime.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/datetime.pm Tue Jan 3 08:23:36 2012
@@ -88,7 +88,7 @@ sub prepare_fdat
{
my ($self, $req) = @_ ;
- return if ($self -> {readonly}) ;
+ return if ($self -> is_readonly ($req)) ;
my $fdat = $req -> {form} || \%fdat ;
my $name = $self->{name} ;
Modified: perl/embperl/trunk/Embperl/Form/Control/grid.pm
URL:
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/grid.pm?rev=1226698&r1=1226697&r2=1226698&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/grid.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/grid.pm Tue Jan 3 08:23:36 2012
@@ -156,7 +156,7 @@ sub prepare_fdat
{
my ($self, $req) = @_ ;
- return if ($self -> {readonly}) ;
+ return if ($self -> is_readonly ($req)) ;
my $fdat = $req -> {form} || \%fdat ;
my $ldap = $req->{ldap};
@@ -256,14 +256,14 @@ $]<table class="ef-element ef-element-wi
[-
$fdat{$name} = $self -> {default} if ($fdat{$name} eq '' && exists ($self
-> {default})) ;
my $span = 0 ;
- $self -> show_grid_title ();
+ $self -> show_grid_title ($req);
-]
<input type="hidden" name="__[+ $self -> {name} +]_max" id="__[+ $self ->
{fullid} +]_max">
<table class="cGridTable cBase" id="[+ $self -> {fullid} +]">
[- $self -> show_grid_header ($req); -]
[- $self -> show_grid_table ($req) ; -]
</table>
- [- $self -> show_grid_title ()
+ [- $self -> show_grid_title ($req)
if ($max > $self -> {header_bottom}) -]
<table id="__[+ $self -> {fullid} +]_newrow" style="display: none">
[-
@@ -285,12 +285,12 @@ $]<table class="ef-element ef-element-wi
# show_grid_title - Zeigt den Titel der Tabelle an
#]
-[$ sub show_grid_title ($self)
+[$ sub show_grid_title ($self, $req)
$]
<table class="cBase cGridTitle">
<tr class="cTableRow">
<td class="cBase cGridLabelBox">[+ $self -> form -> convert_label ($self)
+]</td>
- [$if !($self -> {readonly}) $]
+ [$if !($self -> is_readonly ($req)) $]
<td class="cBase cGridControlBox">
<div>
<span class="ui-icon ui-icon-circle-triangle-n ef-icon" id="[+ $self ->
{fullid} +]-up" title="Zeile Hoch"></span>
@@ -334,14 +334,14 @@ $]
my $id = $self -> {fullid};
my $name = $self -> {name} ;
my $n = 0 ;
- my $gridro = $self -> is_readonly () ;
+ my $gridro = $self -> is_readonly ($req) ;
my $ro ;
my $j = 0 ;
$]
<tr class="cGridRow" id="[+ "$id-row-$i" +]">
[$foreach $field (@$fields)$]
- [- $ro = $gridro || $field -> is_readonly ; -]
+ [- $ro = $gridro || $field -> is_readonly () ; -]
<td class="[+ $ro?'cGridCellReadonly':'cGridCell' +]">[$if $n++ ==
0$]<input type="hidden" name="[+ "__${name}_#row#_$i" +]" value="[+ $i
+]">[$endif$][-
local $field -> {name} = "__${name}_${j}_$i" ;
if ($ro)
Modified: perl/embperl/trunk/Embperl/Form/Control/mult.pm
URL:
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/mult.pm?rev=1226698&r1=1226697&r2=1226698&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/mult.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/mult.pm Tue Jan 3 08:23:36 2012
@@ -142,7 +142,7 @@ __EMBPERL__
$jsname .= 'Grid' ;
my $on_grid_change = $self -> {on_grid_change} ;
$]
-[$ if ($max == 1 && $self -> is_readonly() ) $]
+[$ if ($max == 1 && $self -> is_readonly($req) ) $]
[-
my $field = $self -> {fields}[0] ;
local $field -> {name} = "__${name}__0" ;
@@ -167,7 +167,7 @@ $]
</table>
</div>
-[$if (! $self -> is_readonly ()) $]
+[$if (! $self -> is_readonly ($req)) $]
<[$if $noscript $]x-[$endif$]script>
$('#[+ $self -> {fullid} +]').eplgrid ([$if $on_grid_change
$]{'onchange': [+ $on_grid_change +] }[$endif$]) ;
</[$if $noscript $]x-[$endif$]script>
@@ -190,7 +190,7 @@ $]
my $jsname = $name ;
$jsname =~ s/[^a-zA-Z0-9]/_/g ;
$jsname .= 'Grid' ;
- my $ro = $self -> is_readonly () ;
+ my $ro = $self -> is_readonly ($req) ;
$]
<tr class="cGridRow" id="[+ "$id-row-$i" +]">
@@ -220,7 +220,7 @@ $]
$]
-[$if (! $self -> is_readonly ()) $]
+[$if (! $self -> is_readonly ($req)) $]
<span class="ui-icon ui-icon-circle-plus ef-icon" id="[+ $self
-> {fullid} +]-add" title="Zeile Hinzufügen"></span>
<span class="ui-icon ui-icon-circle-minus ef-icon" id="[+ $self
-> {fullid} +]-del" title="Zeile Löschen"></span>
Modified: perl/embperl/trunk/Embperl/Form/Control/radio.pm
URL:
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/radio.pm?rev=1226698&r1=1226697&r2=1226698&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/radio.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/radio.pm Tue Jan 3 08:23:36 2012
@@ -68,11 +68,11 @@ else
}
$]
-<table [+ do { local $escmode = 0 ; $self -> get_std_control_attr() } +]>[+ do
{ local $escmode = 0 ; $trglob }+]
+<table class="ef-control-radiotab">[+ do { local $escmode = 0 ; $trglob }+]
[$ foreach $val (@$values) $][- $x = ($val =~ /$filter/i) -]
[- $fdat{$name} = $val, $set = 0 if ($set) ;
$fdat{$name} = $val if ($ignorecase && lc($fdat{$name}) eq lc($val)) ;
-]
- [+ do { local $escmode = 0 ; $tr }+]<td><input type="radio" name="[+ $name
+]" value="[+ $val +]" id="[+ "$name-_-$val" +]"
+ [+ do { local $escmode = 0 ; $tr }+]<td><input type="radio" name="[+
$self -> {force_name} || $self -> {name} +]" [+ do { local $escmode = 0 ; $self
-> get_std_control_attr() } +] value="[+ $val +]" id="[+ "$name-_-$val" +]"
[$if ($self -> {sublines} || $self -> {subobjects}) $] OnClick="[+
$nsprefix +]show_radio_checked(document, this,[+ $i +],[+ $max +])" [$endif$]
></td><td>[+ $options ->[$i] || $val +]</td>[+ do { local $escmode = 0 ;
$trend }+]
[* $i++ ; *]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]