NAME

MasonX::Resolver::WidgetFactory - resolve paths to HTML::Widget::Factory plugins

VERSION

version 0.009

SYNOPSIS

use MasonX::Resolver::WidgetFactory;

my $res = MasonX::Resolver::WidgetFactory->new(
  factory => My::Widget::Factory->new,
  prefix => '/widget',
);

my $interp = HTML::Mason::Interp->new(
  resolver => $res,
  # ... other options ...
);

DESCRIPTION

This Resolver exposes the plugins of a HTML::Widget::Factory object as virtual components under a given prefix.

For example:

my $res = MasonX::Resolver::WidgetFactory->new(
  prefix => '/widget',
);

# elsewhere:

<& /widget/select, name => "myselect", options => \@options &>

The component call to /widget/select is translated to $factory->select(...arguments...).

Among other things, this means that you can use component-with-content calls, which may be easier in some situations:

<&| /widget/button &>
This is normal mason content, including <% $various_interpolations %>
and other <& /component/calls &>
</&>

prefix

The component path root under which to respond.

factory

The HTML::Widget::Factory object to use. Defaults to a new HTML::Widget::Factory object.

strict

Boolean. If false (the default), the resolver will return false when asked to resolve a path that does not correspond to a widget provided by the factory. If true, it will die instead.

AUTHOR

Hans Dieter Pearcey, <hdp at pobox.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2008 by Hans Dieter Pearcey.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.