Author: richter Date: Thu Sep 15 07:39:11 2016 New Revision: 1760885 URL: http://svn.apache.org/viewvc?rev=1760885&view=rev Log: Enhancements form controls
Modified: perl/embperl/trunk/Embperl/Form/Control/attachment.pm perl/embperl/trunk/Embperl/Form/Control/checkboxes.pm perl/embperl/trunk/Embperl/Form/Control/datetime.pm perl/embperl/trunk/Embperl/Form/Control/display.pm perl/embperl/trunk/Embperl/Form/Control/duration.pm perl/embperl/trunk/Embperl/Form/Control/inputlist.pm perl/embperl/trunk/Embperl/Form/Control/mult.pm perl/embperl/trunk/Embperl/Form/Control/number.pm Modified: perl/embperl/trunk/Embperl/Form/Control/attachment.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/attachment.pm?rev=1760885&r1=1760884&r2=1760885&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/attachment.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/attachment.pm Thu Sep 15 07:39:11 2016 @@ -118,7 +118,8 @@ __EMBPERL__ my $name = $self -> {name}; $] -<div [+ do { local $escmode = 0 ; $self -> get_std_control_attr($req) } +] _ef_attach="ef_attachment" _ef_dynid="<_id>" _ef_attr="[+ $name +]" _ef_always_download="[+ $self -> {always_download} +]"> +<div [+ do { local $escmode = 0 ; $self -> get_std_control_attr($req) } +] _ef_attach="ef_attachment" _ef_dynid="<_id>" _ef_attr="[+ $name +]" _ef_always_download="[+ $self -> {always_download} +]" _ef_download_url_append="[+ $self -> {download_url_append} +]"> + [$if !$self -> {no_show} $]<a class="ef-attachment-show" href="#">Anzeigen</a> [$endif$] [$if !$self -> {no_show} $]<a class="ef-attachment-show" href="#">Anzeigen</a> [$endif$] [$if !$self -> {no_download} $]<a class="ef-attachment-download" href="#">Download</a> [$endif$] [$if !$self -> {no_upload} $]<a class="ef-attachment-upload" href="#">Upload</a> [$endif$] Modified: perl/embperl/trunk/Embperl/Form/Control/checkboxes.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/checkboxes.pm?rev=1760885&r1=1760884&r2=1760885&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/checkboxes.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/checkboxes.pm Thu Sep 15 07:39:11 2016 @@ -91,7 +91,7 @@ $] <input type="checkbox" name="[+ $name +]" value="[+ $val +]" [+ do { local $escmode = 0 ; $ctlattrs } +] [$if ($self -> {trigger}) $]_ef_attach="ef_checkbox"[$endif$] > [$ if $tab $]</td><td style="width: [+ int((100 - ($tab * 3)) / $tab) +]%">[$endif$] - [+ $options ->[$i] || $val +] + <span class="ef-control-checkboxes-text">[+ $options ->[$i] || $val +]</span> [- $vert = $self -> {vert} -][$while $vert-- > 0 $]<br/>[$endwhile$] [$ if $tab $]</td>[$ if $colcnt-- < 1 $]<[# #]/tr>[$endif$][$endif$] [$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=1760885&r1=1760884&r2=1760885&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/datetime.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/datetime.pm Thu Sep 15 07:39:11 2016 @@ -150,7 +150,7 @@ sub prepare_fdat my $date = $fdat -> {$name} ; return if ($date eq '') ; - if ($self -> {dynamic} && ($date =~ /^\s*((?:d|m|y|q)\s*(?:\+|-)?\s*(?:\d+)?)\s*$/)) + if ($self -> {dynamic} && ($date =~ /^\s*((?:s|i|h|d|w|m|y|q)\s*(?:\+|-)?\s*(?:\d+)?)\s*$/)) { $fdat->{$name} = $1 ; $fdat->{$name} =~ s/\s//g ; Modified: perl/embperl/trunk/Embperl/Form/Control/display.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/display.pm?rev=1760885&r1=1760884&r2=1760885&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/display.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/display.pm Thu Sep 15 07:39:11 2016 @@ -34,32 +34,43 @@ sub init_data { my ($self, $req, $parentctrl) = @_ ; - return if (!$self -> {value2text}) ; - my $fdat = $req -> {docdata} || \%fdat ; my $name = $self->{name} ; my $value = $fdat->{$name} ; - my $val ; - my $txt ; - if (ref $value eq 'ARRAY') + $value = [ split /\t/, $value ] if $self->{split}; + $value = [ split /\n/, $value ] if $self->{splitlines}; + + + + if ($self -> {value2text}) { - foreach (@$value) + my $val ; + my $txt ; + if (ref $value eq 'ARRAY') { - $val = $self -> {value2text} . $_ ; + foreach (@$value) + { + $val = $self -> {value2text} . $_ ; + $txt = $self -> form -> convert_text ($self, $val, undef, $req) ; + $_ = $txt if ($txt ne $val) ; + } + } + else + { + $val = $self -> {value2text} . $value ; $txt = $self -> form -> convert_text ($self, $val, undef, $req) ; - $_ = $txt if ($txt ne $val) ; + $fdat->{$name} = $txt if ($txt ne $val) ; } } - else + + if (ref $value eq 'ARRAY') { - $val = $self -> {value2text} . $value ; - $txt = $self -> form -> convert_text ($self, $val, undef, $req) ; - $fdat->{$name} = $txt if ($txt ne $val) ; + $fdat->{$name} = join ("<br>\n", @$value) ; } } - + # ------------------------------------------------------------------------------------------ Modified: perl/embperl/trunk/Embperl/Form/Control/duration.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/duration.pm?rev=1760885&r1=1760884&r2=1760885&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/duration.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/duration.pm Thu Sep 15 07:39:11 2016 @@ -55,7 +55,7 @@ sub get_display_text my $min = int ($aval / 60) % 60 ; my $hour = int($aval / 3600) ; - my $duration = ($val<0?'-':'') . ($hour?sprintf('%d:%02d', $hour, $min):$min) ; + my $duration = ($val<0?'-':'') . (sprintf('%d:%02d', $hour, $min)) ; if ($sec != 0) { $duration .= sprintf (':%02d', $sec) ; @@ -112,6 +112,15 @@ sub prepare_fdat my $val = $fdat->{$name} ; return if ($val eq '') ; + if ($val =~ /[dhms]$/) + { + my %factor = ( 's' => 1, 'm' => 60, 'h' => 60 * 60, 'd' => 24 * 60 * 60 ) ; + my ($value, $unit) = ($val =~ /(\d+)([dhms])/ ) ; + my $factor = $factor { $unit } || 1 ; + $fdat->{$name} = $value * $factor ; + return ; + } + my $neg = 0 ; $neg = 1 if ($val =~ s/^\s*-//) ; my @vals = split (/:/, $val, 3) ; Modified: perl/embperl/trunk/Embperl/Form/Control/inputlist.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/inputlist.pm?rev=1760885&r1=1760884&r2=1760885&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/inputlist.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/inputlist.pm Thu Sep 15 07:39:11 2016 @@ -33,22 +33,20 @@ __EMBPERL__ # show_control - output the control #] -[$ sub show_control ($self) +[$ sub show_control ($self, $req) my $class = $self -> {class} ; -my $opts = $self -> {options} ; -my $vals = $self -> {values} ; +my $fields = $self -> {fields} ; my $sep = $self -> {separator} || $self -> {seperator}; -my $sizes = $self -> {sizes} ; -$sizes ||= []; $sep ||= ' '; -$opts ||= $vals; my $i = 0; -$] -[$ while ($i < @$vals) $][-$size = $sizes->[$i] ; $size ||= $self->{size} -] -<input type="text" class="cBase cControl [+ $class +]" name="[+ $vals->[$i]+]" id="[+ $vals->[$i]+]" +$] +[$ while ($i < @$fields) $][- +$size = $fields->[$i]{size} ; $size ||= $self->{size} ; +$style = $fields->[$i]{textstyle} ; $style ||= $self->{textstyle} ; +-]<span class="ef-control-inputlist-text" style="[+ $style +]">[+ $self -> form -> convert_label ($self, $fields->[$i]{name}, undef, $req) +]</span> <input type="text" name="[+ $fields->[$i]{name} +]" [+ do { local $escmode = 0 ; $self -> get_std_control_attr($req) } +] [$if $size $]size="[+ $size +]" maxlength="[+$size+]" [$endif$] -[+ do { local $escmode = 0 ; $self -> {eventattrs} } +]>[+ ($i +1) < @$vals?$sep:'' +] +[+ do { local $escmode = 0 ; $self -> {eventattrs} } +]>[+ ($i +1) < @$fields?$sep:'' +] [- $i++ -] [$endwhile$] [$endsub$] Modified: perl/embperl/trunk/Embperl/Form/Control/mult.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/mult.pm?rev=1760885&r1=1760884&r2=1760885&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/mult.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/mult.pm Thu Sep 15 07:39:11 2016 @@ -225,7 +225,7 @@ __EMBPERL__ $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} +]" +$]<table class="ef-element ef-element-width-[+ $self -> {width_percent} +] ef-element-[+ $self -> {type} +] [+ ' ' . $self -> {state} +] ef-attach-always" [$ if (!$self -> is_readonly($req) ) $]_ef_attach="ef_mult"[$endif$] > <tr> [- Modified: perl/embperl/trunk/Embperl/Form/Control/number.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/number.pm?rev=1760885&r1=1760884&r2=1760885&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/number.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/number.pm Thu Sep 15 07:39:11 2016 @@ -45,7 +45,11 @@ sub get_display_text $value = $self -> get_value ($req) if (!defined ($value)) ; return if ($value eq '') ; - return $value + 0 if ($compact) ; + if ($compact) + { + return $value + 0 if (!$self -> {allow_unit}) ; + return $value ; + } my $unit = $self->{unit} ; my $unittext = !$unit?'':$self -> form -> convert_text ($self, ($unit =~ /:/)?$unit:'unit:' . lc($unit), $unit, $req) ; --------------------------------------------------------------------- To unsubscribe, e-mail: embperl-cvs-unsubscr...@perl.apache.org For additional commands, e-mail: embperl-cvs-h...@perl.apache.org