App-Widget
view release on metacpan or search on metacpan
lib/App/Widget/Select.pm view on Meta::CPAN
}
elsif (defined $value && $value eq "EACH") {
($values, $labels) = $self->values_labels();
$value = join(",", @$values);
$context->so_set($name, undef, $value);
}
$self->SUPER::_init(@_);
}
######################################################################
# METHODS
######################################################################
######################################################################
# OUTPUT METHODS
######################################################################
sub unstyled_html {
my $self = shift;
my ($context, $name, @currvalues, $values, @values, $labels);
my ($tagname, $nullable, $size, $multiple, $tabindex, $onchange, $enablewarn, $enable_warning_widget);
$context = $self->{context};
$name = $self->{name};
$nullable = $self->get("nullable");
$size = $self->get("size");
$multiple = $self->get("multiple");
$tabindex = $self->get("tabindex");
$onchange = $self->get("submit_on_change");
$enablewarn = $self->get("enable_warning");
$enable_warning_widget = $self->get("enable_warning_widget");
($values, $labels) = $self->values_labels();
if ($nullable) {
$values = [ "", @$values ];
}
$size = (defined $size && $size ne "") ? " size='$size'" : "";
$tabindex = (defined $tabindex && $tabindex ne "") ? " tabindex='$tabindex'" : "";
$multiple = $multiple ? " multiple" : "";
$tagname = $multiple ? "$name\[]" : $name;
$onchange = $onchange ? " onchange=\"document.forms[0].submit();\"" : "";
if($enablewarn) {
$onchange = " onchange=\"javascript: var enable_warning = context.getElementByName('" . $enable_warning_widget . "'); ";
$onchange .= " enable_warning.value = 'enabled';\" ";
}
my ($value, $v, %value_exists, $value_exists, @html);
@currvalues = $self->get_values();
foreach $value (@currvalues) {
if (defined $value) {
$value_exists{$value} = 1;
$value_exists = 1;
}
}
for ($v = 0; $v <= $#$values; $v++) {
$value = $values->[$v];
my $convert_value = $self->html_escape($value);
push(@html," <option value='$convert_value'" .
($value_exists{$value} ? " selected>" : ">") .
((defined $labels->{$value}) ? $self->html_escape($labels->{$value}) : $convert_value) .
"</option>\n");
}
my $html_attribs = $self->html_attribs();
return "<select name='$tagname'${size}${multiple}${tabindex}${onchange}$html_attribs>\n" . join("",@html) . "</select>";
}
1;
( run in 0.612 second using v1.01-cache-2.11-cpan-437f7b0c052 )