/[Frey]/trunk/lib/Frey/Action.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/Frey/Action.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 782 by dpavlin, Tue Dec 9 20:31:42 2008 UTC revision 940 by dpavlin, Tue Jan 6 13:18:43 2009 UTC
# Line 12  use Data::Dump qw/dump/; Line 12  use Data::Dump qw/dump/;
12  Invoke any L<Frey> object creating html for with various default parameters  Invoke any L<Frey> object creating html for with various default parameters
13  if not supplied at invocation.  if not supplied at invocation.
14    
15    You can force rendering of fields if you define C<render_attribute> sub with
16    desired rendering as in:
17    
18      sub render_pipe { 'radio' }
19    
20  =cut  =cut
21    
22  has 'class' => (  has 'class' => (
# Line 127  sub params_form { Line 132  sub params_form {
132                  }                  }
133    
134                  warn "# max_value_len: $max_value_len";                  warn "# max_value_len: $max_value_len";
135                    my $render = eval $class . '->render_' . $name;
136                    warn "## render $@";
137    
138                  if ( $#values > 3 ) {                  if ( $#values > 3 && $render !~ m{radio} ) {
139                          my $options = join("\n",                          my $options = join("\n",
140                                  map {                                  map {
141                                          qq|<option value="$_">$_</option>|;                                          qq|<option value="$_">$_</option>|;
# Line 175  sub params_form { Line 182  sub params_form {
182    
183          foreach my $name (          foreach my $name (
184                  grep {                  grep {
185                            die "$_ doesn't have meta" unless $class->can('meta');
186                          ! $class->meta->get_attribute($_)->is_lazy                          ! $class->meta->get_attribute($_)->is_lazy
187                          && ! defined $default->{$_}                          && ! defined $default->{$_}
188                          && ! m{^_} # skip _private                          && ! m{^_} # skip _private
# Line 194  sub params_form { Line 202  sub params_form {
202                          $attr->has_default        ? $attr->default( $name ) :                          $attr->has_default        ? $attr->default( $name ) :
203                          '';                          '';
204    
205                  if ( ref($params_config) eq 'HASH' ) {                  if ( ref($params_config) eq 'HASH' && defined $params_config->{$name} ) {
206                          $value = $params_config->{$name};                          $value = $params_config->{$name};
207                  } elsif ( ref($params_config) eq 'ARRAY' ) {                  } elsif ( ref($params_config) eq 'ARRAY' ) {
208                          $value_html = select_values( $name, $attr_type, $params_config );                          $value_html = select_values( $name, $attr_type, $params_config );
# Line 208  sub params_form { Line 216  sub params_form {
216                          push @checkboxes, $name;                          push @checkboxes, $name;
217                  } elsif ( ! defined $value ) {                  } elsif ( ! defined $value ) {
218                          $value_html = qq|<tt id="$name">undef</tt><!-- $name = undef -->|; # FIXME if $self->debug                          $value_html = qq|<tt id="$name">undef</tt><!-- $name = undef -->|; # FIXME if $self->debug
219                  } elsif ( $attr_type !~ m{^(Str|Int)$} || $value =~ $Frey::Web::re_html ) {                  } elsif ( $attr_type !~ m{^(Str|Int)$} || $value =~ $Frey::Web::re_html || $name =~ m{text} ) {
220                          $value_html = qq|<textarea name="$name" title="$attr_type">$value</textarea>|;                          $value_html = qq|<textarea name="$name" title="$attr_type">$value</textarea>|;
221                  }                  }
222    

Legend:
Removed from v.782  
changed lines
  Added in v.940

  ViewVC Help
Powered by ViewVC 1.1.26