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-unsubscr...@perl.apache.org For additional commands, e-mail: embperl-cvs-h...@perl.apache.org