Mojolicious-Plugin-Notifications

 view release on metacpan or  search on metacpan

lib/Mojolicious/Plugin/Notifications/HTML.pm  view on Meta::CPAN


This plugin is a simple notification engine for HTML.

If it does not suit your needs, you can easily
L<write your own engine|Mojolicious::Plugin::Notifications::Engine>.


=head1 HELPERS

=head2 notify

See the base L<notify|Mojolicious::Plugin::Notifications/notify> helper.


=head2 notifications

  $c->notify(warn => 'wrong');
  $c->notify(success => 'right');

  %= notifications 'html';
  # <div class="notify notify-warn">wrong</div>
  # <div class="notify notify-success">right</div>

Will render each notification using
L<notify_html|Mojolicious::Plugin::Notifications::HTML/notify_html>.


=head1 EXPORTABLE FUNCTIONS

=head2 notify_html

  use Mojolicious::Plugin::Notifications::HTML qw/notify_html/;

  notify_html(warn => 'This is a warning')
  # <div class="notify notify-warn">This is a warning</div>

  notify_html(announce => {
    ok => 'http://example.com/ok',
    ok_label => 'Okay!'
  # }, 'Confirm, please!')
  # <div class="notify notify-announce">
  #   Confirm, please!
  #   <form action="http://example.com/ok" method="post">
  #     <button>Okay!</button>
  #   </form>
  # </div>

Returns the formatted text in a C<E<lt>div /E<gt>> element
with the class C<notify> and the class C<notify-$type>, where C<$type> is
the notification type you passed.
In case an C<ok> parameter is passed, this will add a POST form
for confirmation. In case an C<ok_label> is passed, this will be the label
for the confirmation button.
In case a C<cancel> parameter is passed, this will add a POST form
for cancelation. In case a C<cancel_label> is passed, this will be the label
for the cancelation button.

If the first parameter is a L<Mojolicious::Controller> object,
the button will have a
L<csrf_token|Mojolicious::Plugin::TagHelpers/csrf_token>
parameter to validate.

This is meant to be used by other engines as a fallback.

B<Confirmation is EXPERIMENTAL!>


=head1 AVAILABILITY

  https://github.com/Akron/Mojolicious-Plugin-Notifications


=head1 COPYRIGHT AND LICENSE

Copyright (C) 2014-2020, 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.

=cut



( run in 1.780 second using v1.01-cache-2.11-cpan-437f7b0c052 )