Provided by: libhtml-widget-perl_1.11-7_all bug

NAME

       HTML::Widget::Element - Element Base Class

SYNOPSIS

           my $e = $widget->element( $type, $name, {disabled => 'disabled'} );
           $e->name('bar');
           $e->class('foo');

DESCRIPTION

       Element Base Class.

METHODS

   new
   attributes
   attrs
       Arguments: %attributes

       Arguments: \%attributes

       Return Value: $element

       Arguments: none

       Return Value: \%attributes

       Accepts either a list of key/value pairs, or a hash-ref.

           $e->attributes( $key => $value );
           $e->attributes( { $key => $value } );

       Returns the $element object, to allow method chaining.

       As of v1.10, passing a hash-ref no longer deletes current attributes, instead the
       attributes are added to the current attributes hash.

       This means the attributes hash-ref can no longer be emptied using "$e->attributes( { }
       );". Instead, you may use "%{ $e->attributes } = ();".

       As a special case, if no arguments are passed, the return value is a hash-ref of
       attributes instead of the object reference. This provides backwards compatibility to
       support:

           $e->attributes->{key} = $value;

       "attrs" is an alias for "attributes".

   container
       Arguments: \%attributes

       Return Value: $container

       Creates a new $container_class. Defaults to HTML::Widget::Container.

   id
       Arguments: $widget

       Return Value: $id

       Creates a element id.

   init
       Arguments: $widget

       Called once when process() gets called for the first time.

   mk_error
       Arguments: $widget, \@errors

       Return Value: $error

       Creates a new HTML::Widget::Error.

   mk_input
       Arguments: $widget, \%attributes, \@errors

       Return Value: $input_tag

       Creates a new input tag.

   mk_tag
       Arguments: $widget, $tagtype, \%attributes, \@errors

       Return Value: $element_tag

       Creates a new tag.

   mk_label
       Arguments: $widget, $name, $comment, \@errors

       Return Value: $label_tag

       Creates a new label tag.

   name
       Arguments: $name

       Return Value: $name

       Contains the element name.

   passive
       Arguments: $bool

       Return Value: $bool

       Defines if element gets automatically rendered.

   prepare
       Arguments: $widget

       Called whenever "$widget->process" gets called, before "$element->process".

   process
       Arguments: \%params, \@uploads

       Return Value: \@errors

       Called whenever "$widget->process" is called.

       Returns an arrayref of HTML::Widget::Error objects.

   containerize
       Arguments: $widget, $value, \@errors

       Return Value: $container_tag

       Containerize the element, label and error for later rendering.  Uses
       HTML::Widget::Container by default, but this can be over-ridden on a class or instance
       basis via "container_class".

   container_class
       Arguments: $class

       Return Value: $class

       Contains the class to use for contain the element which then get rendered. Defaults to
       HTML::Widget::Container. "container_class" can be set at a class or instance level:

         HTML::Widget::Element->container_class('My::Container');
         # Override default to custom class

         HTML::Widget::Element::Password->container_class(undef);
         # Passwords use the default class

         $w->element('Textfield')->name('foo')->container_class->('My::Other::Container');
         # This element only will use My::Other::Container to render

   find_elements
       Return Value: \@elements

       For non-block-container elements, simply returns a one-element list containing this
       element.

   new
   allow_filter
       Used by "$widget->filter_all". If false, the filter won't be added.

       Default true.

   allow_constraint
       Used by "$widget->constraint_all". If false, the filter won't be added.

       Default true.

AUTHOR

       Sebastian Riedel, "sri@oook.de"

LICENSE

       This library is free software, you can redistribute it and/or modify it under the same
       terms as Perl itself.