--- trunk/lib/Frey/Action.pm 2008/12/09 20:31:43 783 +++ trunk/lib/Frey/Action.pm 2009/01/06 13:18:43 940 @@ -12,6 +12,11 @@ Invoke any L object creating html for with various default parameters if not supplied at invocation. +You can force rendering of fields if you define C sub with +desired rendering as in: + + sub render_pipe { 'radio' } + =cut has 'class' => ( @@ -127,8 +132,10 @@ } warn "# max_value_len: $max_value_len"; + my $render = eval $class . '->render_' . $name; + warn "## render $@"; - if ( $#values > 3 ) { + if ( $#values > 3 && $render !~ m{radio} ) { my $options = join("\n", map { qq||; @@ -175,6 +182,7 @@ foreach my $name ( grep { + die "$_ doesn't have meta" unless $class->can('meta'); ! $class->meta->get_attribute($_)->is_lazy && ! defined $default->{$_} && ! m{^_} # skip _private @@ -208,7 +216,7 @@ push @checkboxes, $name; } elsif ( ! defined $value ) { $value_html = qq|undef|; # FIXME if $self->debug - } 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} ) { $value_html = qq||; }