Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Show growl using Javascript

I want to display a growl in client-side using Javascript.

I mean this UI-component:

enter image description here

I found this thread , However , I can't find an object called :topBar

Known also that using:

grep -rl to find text in files leads to discover this JS :

/**
 * PrimeFaces NotificationBar Widget
 */
PrimeFaces.widget.NotificationBar = PrimeFaces.widget.BaseWidget.extend({

    init: function(cfg) {
        this._super(cfg);

        var _self = this;

        //relocate
        this.jq.css(this.cfg.position, '0').appendTo($('body'));

        //display initially
        if(this.cfg.autoDisplay) {
            $(this.jq).css('display','block')
        }

        //bind events
        this.jq.children('.ui-notificationbar-close').click(function() {
            _self.hide();
        });
    },

    show: function() {
        if(this.cfg.effect === 'slide')
            $(this.jq).slideDown(this.cfg.effect);
        else if(this.cfg.effect === 'fade')
            $(this.jq).fadeIn(this.cfg.effect);
        else if(this.cfg.effect === 'none')
            $(this.jq).show();
    },

    hide: function() {
        if(this.cfg.effect === 'slide')
            $(this.jq).slideUp(this.cfg.effect);
        else if(this.cfg.effect === 'fade')
            $(this.jq).fadeOut(this.cfg.effect);
        else if(this.cfg.effect === 'none')
            $(this.jq).hide();
    },

    isVisible: function() {
        return this.jq.is(':visible');
    },

    toggle: function() {
        if(this.isVisible())
            this.hide();
        else
            this.show();
    }

});
like image 437
Abdennour TOUMI Avatar asked Aug 26 '14 05:08

Abdennour TOUMI


1 Answers

The component you are referring to is Growl, in the client-side it's represented by PrimeFaces.widget.Growl which has renderMessage function to render a single growl message.

Assuming you have already defined a growl component in your page with a widgetVar name:

<p:growl widgetVar="growlWV" />

Now in javascript

PF('growlWV').renderMessage({"summary":"summary goes here",
                             "detail":"detail goes here",
                             "severity":"warn"})

The severity are obviously three types :

  • info

    info growl

  • warn

    warn growl

  • error

    error growl

like image 196
Hatem Alimam Avatar answered Nov 03 '22 23:11

Hatem Alimam