Mojolicious-Plugin-Notifications
view release on metacpan or search on metacpan
lib/Mojolicious/Plugin/Notifications/Alertify.pm view on Meta::CPAN
from L<Mojolicious::Plugin::Notifications::Engine> and implements or overrides
the following.
=head2 register
plugin Notifications => {
Alertify => {
base_class => 'bootstrap'
}
};
Called when registering the main plugin.
All parameters under the key C<Alertify> are passed to the registration.
Accepts the following parameters:
=over 4
=item B<base_class>
The theme for all alertify notifications.
Defaults to C<bootstrap>. See the
L<Alertify.js documentation|https://github.com/fabien-d/alertify.js>
for more information on themes.
=item B<base_timeout>
The base timeout for all alertify notifications. Defaults to C<5000 ms>.
Set to C<0> for no timeout.
=back
=head1 HELPERS
=head2 notify
# In controllers
$c->notify(warn => 'Something went wrong');
$c->notify(success => { timeout => 2000 } => 'Everything went fine');
$c->notify(success => { ok => 'http://example.com/ok' } => 'Everything went fine');
Notify the user on certain events.
See the documentation for your chosen theme
at L<Alertify.js|http://fabien-d.github.io/alertify.js/> to see,
which notification types are presupported.
In addition to types and messages, the C<timeout> can be defined
in a hash reference.
In case an C<ok> or C<cancel> parameter is passed, this will create a confirmation
notification. The C<ok> and C<cancel> URLs will receive a POST request,
once the buttons are pressed.
In case an C<ok_label> is passed, this will be the label
for the confirmation button.
In case a C<cancel_label> is passed, this will be the label
for the cancelation button.
The POST will have a L<csrf_token|Mojolicious::Plugin::TagHelpers/csrf_token>
parameter to validate.
B<Confirmation is EXPERIMENTAL!>
=head2 notifications
# In templates
%= notifications 'alertify';
%= notifications 'alertify', 'bootstrap', -no_include, -no_css
Include alertify notifications in your template.
If you want to use a class different to the defined base class, you can
pass this as a string attribute.
If you don't want to include the javascript and css assets for C<Alertify.js>,
append C<-no_include>. If you just don't want to render the
stylesheet tag for the inclusion of the CSS, append C<-no_css>.
All notifications are also rendered in a C<E<lt>noscript /E<gt>> tag,
following the notation described in the
L<HTML|Mojolicious::Plugin::Notifications::HTML> engine.
=head1 EXPORTABLE FUNCTIONS
=head2 notify_alertify
use Mojolicious::Plugin::Notifications::Alertify qw/notify_alertify/;
notify_alertify(warn => { timeout => 5000 } => 'This is a warning')
# alertify.log("This is a warning","warn",5000);
Returns the notification as an L<Alertify.js|http://fabien-d.github.io/alertify.js/>
JavaScript snippet.
Accepts the controller as an optional first parameter,
the notification type, a hash reference with parameters,
and the message. In case the parameters include C<ok> or C<cancel> routes,
a confirmation notification is used.
If the first parameter is a L<Mojolicious::Controller> object,
and the notification is a confirmation, the requests will have
a L<csrf_token|Mojolicious::Plugin::TagHelpers/csrf_token>
parameter to validate.
B<Confirmation is EXPERIMENTAL!>
=head1 SEE ALSO
L<Alertify.js|http://fabien-d.github.io/alertify.js/>.
=head1 AVAILABILITY
https://github.com/Akron/Mojolicious-Plugin-Notifications
=head1 COPYRIGHT AND LICENSE
=head2 Mojolicious::Plugin::Notifications::Alertify
Copyright (C) 2014-2018, L<Nils Diewald|http://nils-diewald.de/>.
This program is free software, you can redistribute it
and/or modify it under the terms of the Artistic License version 2.0.
=head2 Alertify.js (bundled)
Copyright (c) Fabien Doiron
See L<https://github.com/fabien-d/alertify.js> for further information.
Licensed under the terms of the
L<MIT License|http://opensource.org/licenses/MIT>.
=cut
( run in 1.468 second using v1.01-cache-2.11-cpan-39bf76dae61 )