106 |
|
|
107 |
sub select_values { |
sub select_values { |
108 |
my ( $name, $attr_type, $values ) = @_; |
my ( $name, $attr_type, $values ) = @_; |
109 |
my $options = join("\n", |
|
110 |
map { |
if ( $#$values > 3 ) { |
111 |
my $v = ref($_) eq 'HASH' ? $_->{$name} : $_; |
my $options = join("\n", |
112 |
qq|<option value="$v">$v</option>| if $v; |
map { |
113 |
} @$values |
my $v = ref($_) eq 'HASH' ? $_->{$name} : $_; |
114 |
); |
qq|<option value="$v">$v</option>| if $v; |
115 |
qq|<select title="$attr_type" name="$name">$options</select>| if $options; |
} @$values |
116 |
|
); |
117 |
|
qq|<select title="$attr_type" name="$name">$options</select>| if $options; |
118 |
|
} else { |
119 |
|
my $radio = join("\n", |
120 |
|
map { |
121 |
|
my $v = ref($_) eq 'HASH' ? $_->{$name} : $_; |
122 |
|
qq|<input type="radio" name="$name" value="$v" title="$attr_type"><span style="float: left; padding-right: 2em;">$v</span>|; |
123 |
|
} @$values |
124 |
|
); |
125 |
|
qq|<div>$radio</div>|; |
126 |
|
} |
127 |
} |
} |
128 |
|
|
129 |
foreach my $checkbox ( split(/\s+/, $default->{'frey-checkboxes'} ) ) { |
foreach my $checkbox ( split(/\s+/, $default->{'frey-checkboxes'} ) ) { |
136 |
|
|
137 |
my @checkboxes; |
my @checkboxes; |
138 |
|
|
|
my $skip_prefix; |
|
|
if ( $self->class->can('action') ) { |
|
|
my $action = eval $self->class . '->action'; |
|
|
$skip_prefix->{$_}++ foreach eval $self->class .'->action_order'; |
|
|
warn "# skip_prefix = ", $self->dump( $skip_prefix ); |
|
|
} |
|
|
|
|
139 |
my $label_width = 1; # minimum |
my $label_width = 1; # minimum |
140 |
|
|
141 |
foreach my $name ( |
foreach my $name ( |
210 |
|
|
211 |
my $html; |
my $html; |
212 |
|
|
213 |
$form =~ s{<([^>]+)(name=")([^"]+)(")([^>]*)>} |
# http://www.quirksmode.org/oddsandends/forms.html |
214 |
{<$1$2$3$4 id="$3" $5}gs; # http://www.quirksmode.org/oddsandends/forms.html |
# $form =~ s{<([^>]+)(name=")([^"]+)(")([^>]*)>}{<$1$2$3$4 id="$3" $5}gs; |
215 |
|
|
216 |
$html = qq| |
$html = qq| |
217 |
<h1>$class params</h1> |
<h1>$class params</h1> |