Why not adopt me?
NAME
HTML::Widget::Factory - churn out HTML widgets
VERSION
version 0.080
SYNOPSIS
my $factory = HTML::Widget::Factory->new();
my $html = $factory->select({
name => 'flavor',
options => [
[ minty => 'Peppermint', ],
[ perky => 'Fresh and Warm', ],
[ super => 'Red and Blue', ],
],
value => 'minty',
});
DESCRIPTION
HTML::Widget::Factory provides a simple, pluggable system for constructing HTML form controls.
METHODS
Most of the useful methods in an HTML::Widget::Factory object will be installed there by its plugins. Consult the documentation for the HTML::Widget::Plugin modules.
new
my $factory = HTML::Widget::Factory->new(\%arg);
This constructor returns a new widget factory.
The only valid arguments are plugins
and extra_plugins
, which provide arrayrefs of plugins to be used. If plugins
is not given, the default plugin list is used; this is generated by finding all modules beginning with HTML::Widget::Plugin. The plugins in extra_plugins
are loaded in addition to these.
provides_widget
if ($factory->provides_widget($name)) { ... }
This method returns true if the given name is a widget provided by the factory. This, and not can
should be used to determine whether a factory can provide a given widget.
provided_widgets
for my $name ($fac->provided_widgets) { ... }
This method returns an unordered list of the names of the widgets provided by this factory.
plugins
This returns a list of the plugins loaded by the factory.
TODO
fixed_args for args that are fixed, like (type => 'checkbox')
a simple way to say "only include this output if you haven't before"
This will make it easy to do JavaScript inclusions: if you've already made a calendar (or whatever) widget, don't bother including this hunk of JS, for example.
giving the constructor a data store
Create a factory that has a CGI.pm object and let it default values to the param that matches the passed name.
include id attribute where needed
optional labels (before or after control, or possibly return a list)
SEE ALSO
- HTML::Widget::Plugin
- HTML::Widget::Plugin::Input
- HTML::Widget::Plugin::Submit
- HTML::Widget::Plugin::Link
- HTML::Widget::Plugin::Image
- HTML::Widget::Plugin::Password
- HTML::Widget::Plugin::Select
- HTML::Widget::Plugin::Multiselect
- HTML::Widget::Plugin::Checkbox
- HTML::Widget::Plugin::Radio
- HTML::Widget::Plugin::Button
- HTML::Widget::Plugin::Textarea
- HTML::Element
AUTHOR
Ricardo SIGNES <rjbs @ cpan.org
>
Development was sponsored by Listbox and Pobox between 2005 and 2007.
COPYRIGHT
Copyright (C) 2005-2007, Ricardo SIGNES. This is free software, released under the same terms as perl itself.