HTML::Widget::Element(3p)

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 compatability 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.