169 |
|) } @values |
|) } @values |
170 |
); |
); |
171 |
if ( $radio ) { |
if ( $radio ) { |
172 |
|
|
173 |
|
$self->add_js('static/Frey/Action.js'); # clear_radio |
174 |
|
my $js = qq{ |
175 |
|
onfocus="clear_radio('$form_id','$name'); this.disabled = false;" onblur="clear_radio('$form_id','$name'); this.disabled = true;" |
176 |
|
}; |
177 |
my $size = int( $max_value_len / $self->input_step_size ) + 1; |
my $size = int( $max_value_len / $self->input_step_size ) + 1; |
178 |
$size = 5 if $size > 5; |
my $span = qq| |
|
$size *= $self->input_step_size; |
|
|
$radio .= qq| |
|
|
<span> |
|
179 |
<input type="radio" name="$name" value=" " onclick="document.getElementById('new-$name').focus();" > |
<input type="radio" name="$name" value=" " onclick="document.getElementById('new-$name').focus();" > |
|
<input type="text" name="new-$name" id="new-$name" onchange="clear_radio('$form_id','$name'); this.disable = false;" onblur="this.disable = true;" title="enter new value" size="$size"> |
|
|
</span> |
|
180 |
|; |
|; |
181 |
|
|
182 |
|
if ( $size <= 5 ) { |
183 |
|
|
184 |
|
$size *= $self->input_step_size; |
185 |
|
$span .= qq|<input type="text" name="new-$name" id="new-$name" $js title="enter new value" size="$size">|; |
186 |
|
|
187 |
|
} else { |
188 |
|
|
189 |
|
my $cols = $self->input_step_size * 5; |
190 |
|
my $rows = int( $max_value_len / $cols ) + 1; |
191 |
|
$span .= qq|<textarea name="new-$name" id="new-$name" cols=$cols rows=$rows $js title="enter new value"></textarea>|; |
192 |
|
|
193 |
|
} |
194 |
|
|
195 |
|
$radio .= qq|<span>$span</span>|; |
196 |
|
|
197 |
} |
} |
198 |
$html = qq|<div style="display: block;">$radio</div>|; |
$html = qq|<div style="display: block;">$radio</div>|; |
199 |
} |
} |
354 |
|
|
355 |
$label_width += 2; # XXX padding left+right em |
$label_width += 2; # XXX padding left+right em |
356 |
|
|
|
$self->add_js('static/Frey/Action.js'); |
|
|
|
|
357 |
$self->add_css(qq| |
$self->add_css(qq| |
358 |
label,input { |
label,input { |
359 |
display: block; |
display: block; |
377 |
font-weight: bold; |
font-weight: bold; |
378 |
} |
} |
379 |
|
|
|
input, |
|
|
select { |
|
|
margin-right: -${label_width}ex; |
|
|
} |
|
380 |
input.required, |
input.required, |
381 |
select.required { |
select.required { |
382 |
border-color: #c00; |
border-color: #c00; |