Author: richter
Date: Wed Feb 27 09:35:53 2013
New Revision: 1450690
URL: http://svn.apache.org/r1450690
Log:
Adapt Embperl::Form controls for extra data loading
Modified:
perl/embperl/trunk/Embperl/Form/Control/display.pm
perl/embperl/trunk/Embperl/Form/Control/displaylink.pm
perl/embperl/trunk/Embperl/Form/Control/dynlink.pm
perl/embperl/trunk/Embperl/Form/Control/mult.pm
Modified: perl/embperl/trunk/Embperl/Form/Control/display.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/display.pm?rev=1450690&r1=1450689&r2=1450690&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/display.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/display.pm Wed Feb 27 09:35:53 2013
@@ -39,7 +39,7 @@ my $value = exists $self->{value} ? $sel
$value = [ split /\t/, $value ] if $self->{split};
$value = [ split /\n/, $value ] if $self->{splitlines};
-$]<div [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req, '', 'readonly') } +]>[$ if ref $value eq 'ARRAY' $][$ foreach $v (@$value) $][+ $v +]<br />[$ endforeach
+$]<div [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req, '', 'readonly') } +] _ef_divname="[+$name+]">[$ if ref $value eq 'ARRAY' $][$ foreach $v (@$value) $][+ $v +]<br />[$ endforeach
$][$ elsif ref $value eq 'HASH' $][$ foreach $k (keys %$value) $][+ $k +]: [+ $value->{$k} +]<br />[$ endforeach
$][$ elsif ref $value $]<em>[+ ref $value +]</em>[$
else $][+ $value +][$ endif $]</div>
Modified: perl/embperl/trunk/Embperl/Form/Control/displaylink.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/displaylink.pm?rev=1450690&r1=1450689&r2=1450690&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/displaylink.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/displaylink.pm Wed Feb 27 09:35:53 2013
@@ -71,7 +71,7 @@ $]
[$if $opens[$dispn] $]
<a href="#" class="[+ $state +]" onclick="if (this.className.search('ef-disabled') == -1) [+ $opens[$dispn] +][$if $hrefs[$dispn] $]('[+ $hrefs[$dispn] +]')[$endif$]" [.+ do { local $escmode = 0 ; $self -> {eventattrs} } +]>
[$else$]
- <a href="[+ do {local $escmode=0;$hrefs[$dispn]} +]" class="[+ $state +]"
+ <a href="[+ do {local $escmode=0;$hrefs[$dispn]} +]" class="[+ $state +]"
[$if $targets -> [$dispn] $]target="[+ $targets -> [$dispn] +]"[$endif$]
[.+ do { local $escmode = 0 ; $self -> {eventattrs} } +]>
[$endif$][$ if $showoptions < 0 $][.+ do { local $escmode = 0 ; $display } +][$else$][+ $showoptions?$display:$form -> convert_text ($self, $display) +][$endif$]</a>
Modified: perl/embperl/trunk/Embperl/Form/Control/dynlink.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/dynlink.pm?rev=1450690&r1=1450689&r2=1450690&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/dynlink.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/dynlink.pm Wed Feb 27 09:35:53 2013
@@ -55,6 +55,7 @@ $]
<div [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req) } +]>
[$ foreach $field (@$fields) $]
<a class="[+ $state +]" [.+ do { local $escmode = 0 ; $self -> {eventattrs} } +] _ef_attach="ef_dynlink"
+ _dyntext="[+ $field -> {dyntext} +]"
[$if $field -> {target} $]target="[+ $field -> {target} +]" [$endif$]
[$if $field -> {href} $]href="[.+ do { local $escmode = 0 ; $field -> {href} } +]" _hreforg="[.+ do { local $escmode = 0 ; $field -> {href} } +]" [$endif$]
[.+ do { local $escmode = 0 ; $self -> {eventattrs} } +]>
@@ -111,6 +112,10 @@ Name of the link
Text to display for the link
+=head4 dyntext
+
+Dynamic text to display for the link. Same replacements as for href take place.
+
=head4 href
Link destination
Modified: perl/embperl/trunk/Embperl/Form/Control/mult.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/mult.pm?rev=1450690&r1=1450689&r2=1450690&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/mult.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/mult.pm Wed Feb 27 09:35:53 2013
@@ -76,10 +76,17 @@ sub init_data
my $name = $self->{name} ;
my @entries = ref $fdat->{$name} eq 'ARRAY'?@{$fdat->{$name}}:split("\t",$fdat->{$name});
+ my $field = $self -> {fields}[0] ;
my $i = 0 ;
foreach my $entry (@entries)
{
$fdat->{"__${name}__$i"} = $entry ;
+ if ($field -> can ('init_data'))
+ {
+ local $field->{name} = "__${name}__$i" ;
+ local $field -> {fullid} = "$self->{fullid}__$i" ;
+ $field -> init_data ($req, $self) ;
+ }
$i++ ;
}
@@ -98,10 +105,18 @@ sub prepare_fdat
my $name = $self->{name} ;
my $max = $fdat->{"__${name}_max"} || 1 ;
+ my $field = $self -> {fields}[0] ;
my @rows;
my $val ;
for (my $i = 0; $i < $max; $i++)
{
+ if ((ref ($field) =~ /::/) && $field -> can ('prepare_fdat'))
+ {
+ local $field->{name} = "__${name}__$i" ;
+ local $field -> {fullid} = "$self->{fullid}__$i" ;
+ $field -> prepare_fdat ($req) ;
+ }
+
$val = $fdat->{"__${name}__$i"} ;
push @rows, $val if ($val ne '') ;
}
@@ -125,6 +140,26 @@ sub show_control_readonly { my $self = s
__EMBPERL__
+[.# ---------------------------------------------------------------------------
+#
+# show - output the whole control including the label
+#]
+
+[.$sub show ($self, $req)
+
+$fdat{$self -> {name}} = $self -> {default} if ($fdat{$self -> {name}} eq '' && exists ($self -> {default})) ;
+my $span = 0 ;
+
+$]<table class="ef-element ef-element-width-[+ $self -> {width_percent} +] ef-element-[+ $self -> {type} +] [+ $self -> {state} +]"
+ [$ if (!$self -> is_readonly($req) ) $]_ef_attach="ef_mult"[$endif$] >
+ <tr>
+ [.-
+ $span += $self -> show_label_cell ($req, $span);
+ $self -> show_control_cell ($req, $span) ;
+ -]
+ </tr>
+ </table>[$
+ endsub $]
[# ---------------------------------------------------------------------------
#
@@ -134,7 +169,7 @@ __EMBPERL__
[.$ sub show_control ($self, $req)
my $name = $self -> {name} ;
- my $max = $fdat{"__${name}_max"} ;
+ my $max = $fdat{"__${name}_max"} ||= 1 ;
my $span = ($self->{width_percent}) ;
my $nsprefix = $self -> form -> {jsnamespace} ;
@@ -154,7 +189,7 @@ $]
$fdat{$name} = $self -> {default} if ($fdat{$name} eq '' && exists ($self -> {default})) ;
my $span = 0 ;
-]
- <div [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req) } +] _ef_attach="ef_mult">
+ <div [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req) } +]>
<input type="hidden" class="ef-control-mult-max" name="__[+ $self -> {name} +]_max" >
<table class="ef-control-mult-table" >
[- $self -> show_grid_table ($req) ; -]
@@ -215,8 +250,8 @@ $]
$]
[$if (! $self -> is_readonly ($req)) $]
- <span class="ui-icon ui-icon-circle-plus ef-icon" class="ef-control-mult-add" title="Zeile Hinzufügen"></span>
- <span class="ui-icon ui-icon-circle-minus ef-icon" class="ef-control-mult-del" title="Zeile Löschen"></span>
+ <span class="ui-icon ui-icon-circle-plus ef-icon ef-control-mult-add" title="Zeile Hinzufügen"></span>
+ <span class="ui-icon ui-icon-circle-minus ef-icon ef-control-mult-del" title="Zeile Löschen"></span>
[$endif$]
[$endsub$]
---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org
Date: Wed Feb 27 09:35:53 2013
New Revision: 1450690
URL: http://svn.apache.org/r1450690
Log:
Adapt Embperl::Form controls for extra data loading
Modified:
perl/embperl/trunk/Embperl/Form/Control/display.pm
perl/embperl/trunk/Embperl/Form/Control/displaylink.pm
perl/embperl/trunk/Embperl/Form/Control/dynlink.pm
perl/embperl/trunk/Embperl/Form/Control/mult.pm
Modified: perl/embperl/trunk/Embperl/Form/Control/display.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/display.pm?rev=1450690&r1=1450689&r2=1450690&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/display.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/display.pm Wed Feb 27 09:35:53 2013
@@ -39,7 +39,7 @@ my $value = exists $self->{value} ? $sel
$value = [ split /\t/, $value ] if $self->{split};
$value = [ split /\n/, $value ] if $self->{splitlines};
-$]<div [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req, '', 'readonly') } +]>[$ if ref $value eq 'ARRAY' $][$ foreach $v (@$value) $][+ $v +]<br />[$ endforeach
+$]<div [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req, '', 'readonly') } +] _ef_divname="[+$name+]">[$ if ref $value eq 'ARRAY' $][$ foreach $v (@$value) $][+ $v +]<br />[$ endforeach
$][$ elsif ref $value eq 'HASH' $][$ foreach $k (keys %$value) $][+ $k +]: [+ $value->{$k} +]<br />[$ endforeach
$][$ elsif ref $value $]<em>[+ ref $value +]</em>[$
else $][+ $value +][$ endif $]</div>
Modified: perl/embperl/trunk/Embperl/Form/Control/displaylink.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/displaylink.pm?rev=1450690&r1=1450689&r2=1450690&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/displaylink.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/displaylink.pm Wed Feb 27 09:35:53 2013
@@ -71,7 +71,7 @@ $]
[$if $opens[$dispn] $]
<a href="#" class="[+ $state +]" onclick="if (this.className.search('ef-disabled') == -1) [+ $opens[$dispn] +][$if $hrefs[$dispn] $]('[+ $hrefs[$dispn] +]')[$endif$]" [.+ do { local $escmode = 0 ; $self -> {eventattrs} } +]>
[$else$]
- <a href="[+ do {local $escmode=0;$hrefs[$dispn]} +]" class="[+ $state +]"
+ <a href="[+ do {local $escmode=0;$hrefs[$dispn]} +]" class="[+ $state +]"
[$if $targets -> [$dispn] $]target="[+ $targets -> [$dispn] +]"[$endif$]
[.+ do { local $escmode = 0 ; $self -> {eventattrs} } +]>
[$endif$][$ if $showoptions < 0 $][.+ do { local $escmode = 0 ; $display } +][$else$][+ $showoptions?$display:$form -> convert_text ($self, $display) +][$endif$]</a>
Modified: perl/embperl/trunk/Embperl/Form/Control/dynlink.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/dynlink.pm?rev=1450690&r1=1450689&r2=1450690&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/dynlink.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/dynlink.pm Wed Feb 27 09:35:53 2013
@@ -55,6 +55,7 @@ $]
<div [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req) } +]>
[$ foreach $field (@$fields) $]
<a class="[+ $state +]" [.+ do { local $escmode = 0 ; $self -> {eventattrs} } +] _ef_attach="ef_dynlink"
+ _dyntext="[+ $field -> {dyntext} +]"
[$if $field -> {target} $]target="[+ $field -> {target} +]" [$endif$]
[$if $field -> {href} $]href="[.+ do { local $escmode = 0 ; $field -> {href} } +]" _hreforg="[.+ do { local $escmode = 0 ; $field -> {href} } +]" [$endif$]
[.+ do { local $escmode = 0 ; $self -> {eventattrs} } +]>
@@ -111,6 +112,10 @@ Name of the link
Text to display for the link
+=head4 dyntext
+
+Dynamic text to display for the link. Same replacements as for href take place.
+
=head4 href
Link destination
Modified: perl/embperl/trunk/Embperl/Form/Control/mult.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/mult.pm?rev=1450690&r1=1450689&r2=1450690&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/mult.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/mult.pm Wed Feb 27 09:35:53 2013
@@ -76,10 +76,17 @@ sub init_data
my $name = $self->{name} ;
my @entries = ref $fdat->{$name} eq 'ARRAY'?@{$fdat->{$name}}:split("\t",$fdat->{$name});
+ my $field = $self -> {fields}[0] ;
my $i = 0 ;
foreach my $entry (@entries)
{
$fdat->{"__${name}__$i"} = $entry ;
+ if ($field -> can ('init_data'))
+ {
+ local $field->{name} = "__${name}__$i" ;
+ local $field -> {fullid} = "$self->{fullid}__$i" ;
+ $field -> init_data ($req, $self) ;
+ }
$i++ ;
}
@@ -98,10 +105,18 @@ sub prepare_fdat
my $name = $self->{name} ;
my $max = $fdat->{"__${name}_max"} || 1 ;
+ my $field = $self -> {fields}[0] ;
my @rows;
my $val ;
for (my $i = 0; $i < $max; $i++)
{
+ if ((ref ($field) =~ /::/) && $field -> can ('prepare_fdat'))
+ {
+ local $field->{name} = "__${name}__$i" ;
+ local $field -> {fullid} = "$self->{fullid}__$i" ;
+ $field -> prepare_fdat ($req) ;
+ }
+
$val = $fdat->{"__${name}__$i"} ;
push @rows, $val if ($val ne '') ;
}
@@ -125,6 +140,26 @@ sub show_control_readonly { my $self = s
__EMBPERL__
+[.# ---------------------------------------------------------------------------
+#
+# show - output the whole control including the label
+#]
+
+[.$sub show ($self, $req)
+
+$fdat{$self -> {name}} = $self -> {default} if ($fdat{$self -> {name}} eq '' && exists ($self -> {default})) ;
+my $span = 0 ;
+
+$]<table class="ef-element ef-element-width-[+ $self -> {width_percent} +] ef-element-[+ $self -> {type} +] [+ $self -> {state} +]"
+ [$ if (!$self -> is_readonly($req) ) $]_ef_attach="ef_mult"[$endif$] >
+ <tr>
+ [.-
+ $span += $self -> show_label_cell ($req, $span);
+ $self -> show_control_cell ($req, $span) ;
+ -]
+ </tr>
+ </table>[$
+ endsub $]
[# ---------------------------------------------------------------------------
#
@@ -134,7 +169,7 @@ __EMBPERL__
[.$ sub show_control ($self, $req)
my $name = $self -> {name} ;
- my $max = $fdat{"__${name}_max"} ;
+ my $max = $fdat{"__${name}_max"} ||= 1 ;
my $span = ($self->{width_percent}) ;
my $nsprefix = $self -> form -> {jsnamespace} ;
@@ -154,7 +189,7 @@ $]
$fdat{$name} = $self -> {default} if ($fdat{$name} eq '' && exists ($self -> {default})) ;
my $span = 0 ;
-]
- <div [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req) } +] _ef_attach="ef_mult">
+ <div [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req) } +]>
<input type="hidden" class="ef-control-mult-max" name="__[+ $self -> {name} +]_max" >
<table class="ef-control-mult-table" >
[- $self -> show_grid_table ($req) ; -]
@@ -215,8 +250,8 @@ $]
$]
[$if (! $self -> is_readonly ($req)) $]
- <span class="ui-icon ui-icon-circle-plus ef-icon" class="ef-control-mult-add" title="Zeile Hinzufügen"></span>
- <span class="ui-icon ui-icon-circle-minus ef-icon" class="ef-control-mult-del" title="Zeile Löschen"></span>
+ <span class="ui-icon ui-icon-circle-plus ef-icon ef-control-mult-add" title="Zeile Hinzufügen"></span>
+ <span class="ui-icon ui-icon-circle-minus ef-icon ef-control-mult-del" title="Zeile Löschen"></span>
[$endif$]
[$endsub$]
---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org