Last Updated: September 09, 2019
·
2.246K
· otupman

Custom notifications in the LAB

A frequent question that's come up internally when using our Lungo Angular Bridge is how to show a notification.

Lungo provides a Notification API, but there are a few issues in using it when it comes to a project based on LAB. Lungo.Notification.confirm() comes with two buttons - each is a <a> tag, and because they have an href value of # the Angular routing will kick in if you're using non-HTML 5 routes. Also, Lungo.Notification.html() allows you to specify your own custom HTML to display. But that doesn't get the Angular scope, so out-of-the-box you can't use what you're used to.

So we have two top feature requests: make notifications work.

Until we write a notification service within the LAB, here's how to make some notifications ala Lungo:

<div id="overlay" class="notification">
  <div class="window show">
    <strong>I'm an overlay</strong>
    <button id="hide">Go away, overlay</button>
  </div>
</div>

Our JavaScript can then look something like:

Lungo.dom('#overlay').hide();

Lungo.dom('#calendarButton').tap(function() {
    Lungo.dom('#overlay').show();
});

Lungo.dom('#hide').tap(function() {
    Lungo.dom('#overlay').hide();
});

With the overlay in the HTML being used with an Angular controller you obtain the power of Angular with the styling of Lungo.

That's a quick-and-dirty method; I'm 100% sure there's a better way of doing it without using the hide(), however this is intended to demonstrate the possibility of doing this, not the exact how :)

More information

You can check out the relevant Lungo notification CSS classes

There's a JsFiddle that I created to be a simple demo of this.

Finally, if you want to keep track of progress in the LAB, there's the issue about standard notifications and the issue about custom HTML notifications.