The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

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

VERSION

Version 0.007

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>

BUGS

Please report any bugs or feature requests to bug-masonx-resolver-widgetfactory at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=MasonX-Resolver-WidgetFactory. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc MasonX::Resolver::WidgetFactory

You can also look for information at:

COPYRIGHT & LICENSE

Copyright 2008 Hans Dieter Pearcey.

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