Revision 1e6fdf48
Von Moritz Bunkus vor fast 11 Jahren hinzugefügt
SL/ClientJS.pm | ||
---|---|---|
|
||
use Rose::Object::MakeMethods::Generic
|
||
(
|
||
scalar => [ qw(controller) ],
|
||
'scalar --get_set_init' => [ qw(_actions _flash _error) ],
|
||
);
|
||
|
||
... | ... | |
|
||
sub render {
|
||
my ($self, $controller) = @_;
|
||
$controller ||= $self->controller;
|
||
$self->reinit_widgets if $::request->presenter->need_reinit_widgets;
|
||
return $controller->render(\$self->to_json, { type => 'json' });
|
||
}
|
||
... | ... | |
my ($self) = @_;
|
||
|
||
# Create a new client-side JS object and do stuff with it!
|
||
my $js = SL::ClientJS->new;
|
||
my $js = SL::ClientJS->new(controller => $self);
|
||
|
||
# Show some element on the page:
|
||
$js->show('#usually_hidden');
|
||
... | ... | |
|
||
# Rendering can also be chained, e.g.
|
||
$js->html('#selector', $html)
|
||
->render($self);
|
||
->render;
|
||
}
|
||
|
||
=head1 OVERVIEW
|
||
... | ... | |
Returns the actions gathered so far as a JSON string ready to be sent
|
||
to the client.
|
||
|
||
=item C<render $controller>
|
||
=item C<render [$controller]>
|
||
|
||
Renders C<$self> via the controller. Useful for chaining. Equivalent
|
||
to the following:
|
||
|
||
$controller->render(\$self->to_json, { type => 'json' });
|
||
|
||
The controller instance to use can be set during object creation (see
|
||
synopsis) or as an argument to C<render>.
|
||
|
||
=item C<dialog>
|
||
|
||
Tells C<$self> that the next action is to be called on a jQuery UI
|
Auch abrufbar als: Unified diff
ClientJS: Controller-Instanz zum Rendern auch bei ->new setzen können