HTML-SuperForm
view release on metacpan or search on metacpan
lib/HTML/SuperForm/Field.pm view on Meta::CPAN
my $self = shift;
my $key = shift;
if(ref($key) eq "ARRAY") {
for my $k (@$key) {
if($self->{_selected}{$k}) {
return 1;
}
}
return 0;
}
return $self->{_selected}{$key};
}
sub selected_str {
my $self = shift;
my $key = shift;
if($self->well_formed) {
return $self->selected($key) ? ' selected="selected"' : '';
}
return $self->selected($key) ? ' selected' : '';
}
sub checked_str {
my $self = shift;
my $key = shift;
if($self->well_formed) {
return $self->selected($key) ? ' checked="checked"' : '';
}
return $self->selected($key) ? ' checked' : '';
}
sub multiple_str {
my $self = shift;
if($self->well_formed) {
return $self->multiple ? ' multiple="' . $self->multiple . '"' : '';
}
return $self->multiple ? ' multiple' : '';
}
sub readonly_str {
my $self = shift;
if($self->well_formed) {
return $self->readonly ? ' readonly="' . $self->readonly . '"' : '';
}
return $self->readonly ? ' readonly' : '';
}
sub disabled_str {
my $self = shift;
if($self->well_formed) {
return $self->disabled ? ' disabled="' . $self->disabled . '"' : '';
}
return $self->disabled ? ' disabled' : '';
}
sub update_form {
my $self = shift;
return unless $self->name();
return unless UNIVERSAL::isa($self->form, "HTML::SuperForm");
if(defined($self->default) || !$self->selectable) {
$self->form->add_default($self->name() => $self->default);
} else {
$self->form->set_default($self->name() => undef);
}
}
sub attribute_str {
my $self = shift;
return " " . join(' ', map { qq|$_="$self->{_attributes}{$_}"| }
keys %{$self->{_attributes}});
}
sub values {
my $self = shift;
return $self->{_all_values};
}
sub AUTOLOAD {
my $self = $_[0];
my ($key) = ${*AUTOLOAD} =~ /::([^:]*)$/;
{
no strict "refs";
if(exists($mutators{$key})) {
*{"HTML::SuperForm::Field::$key"} = sub {
my $self = shift;
my $val = shift;
if(defined($val)) {
$self->{'_' . $key} = $val;
return;
}
return $self->{'_' . $key};
};
goto &{"HTML::SuperForm::Field::$key"};
}
if(exists($accessors{$key})) {
*{"HTML::SuperForm::Field::$key"} = sub {
my $self = shift;
return $self->{'_' . $key};
};
goto &{"HTML::SuperForm::Field::$key"};
}
if(exists($self->{_attributes}{$key})) {
*{"HTML::SuperForm::Field::$key"} = sub {
my $self = shift;
return $self->{_attributes}{$key};
( run in 1.038 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )