Why not adopt me?
NAME
HTML::Widget::Factory - churn out HTML widgets
VERSION
version 0.201
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 provided 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, which is those plugins that ship with HTML::Widget::Factory. The plugins in extra_plugins
are loaded in addition to these.
Plugins may be provided as class names or as objects.
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
COPYRIGHT AND LICENSE
This software is copyright (c) 2005 by Ricardo SIGNES.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.