@ovh-ux/ng-ovh-toaster

2.1.1 • Public • Published

ng-ovh-toaster

A factory to create toast

npm version Downloads Dependencies Dev Dependencies


🔖 `ovh-angular-toaster` is now deprecated. Please take a look at our OVH UI Kit - Master UI Framework. You can find more details here.

Toaster is a component to show an in-app notification, like a toast for android applications.

Install

$ yarn add @ovh-ux/ng-ovh-toaster

Usage

import angular from 'angular';
import ngOvhToaster from '@ovh-ux/ng-ovh-toaster';

angular
  .module('myApp', [ngOvhToaster])
  .config(
    /* @ngInject */ (ToastProvider) => {
      // CSS classes
      ToastProvider.setExtraClasses(
        'messenger-fixed messenger-on-bottom messenger-on-right',
      );

      // Graphic theme
      ToastProvider.setTheme('air');

      // Set duration
      ToastProvider.setHideAfter(42);
    },
  )
  .controller(
    'MyController',
    class {
      /* @ngInject */
      constructor($timeout, Toast) {
        this.$timeout = $timeout;
        this.Toast = Toast;
      }

      $onInit() {
        // To add a notification, you had to inject Toast as dependency
        // and use it like this example inside a controller
        this.Toast.success('My Toast message');

        // Toast can by targetted with an ID. So, you can update a toast on-the-fly, like this:
        this.Toast.info('Loading...', {
          id: 42,
          hideAfter: false,
        });

        this.$timeout(function() {
          this.Toast.success('Done!', {
            id: 42,
          });
        }, 2000);

        // Also, a main Toast fct returns the instance of the Toast created.
        // Then you can play with it!
        const msg = this.Toast.info('Hello!', {
          hideAfter: false,
        });

        this.$timeout(function() {
          this.Toast.hide(msg);
          this.$timeout(function() {
            this.Toast.show(msg);
          }, 2000);
        }, 2000);
      }
    },
  );

Related

Test

$ yarn test

Contributing

Always feel free to help out! Whether it's filing bugs and feature requests or working on some of the open issues, our contributing guide will help get you started.

License

BSD-3-Clause © OVH SAS

Dependencies (0)

    Dev Dependencies (1)

    Package Sidebar

    Install

    npm i @ovh-ux/ng-ovh-toaster

    Weekly Downloads

    2

    Version

    2.1.1

    License

    BSD-3-Clause

    Unpacked Size

    89.4 kB

    Total Files

    14

    Last publish

    Collaborators

    • jisay
    • blary_jp
    • antleblanc
    • cbourgois
    • ovh-ux-cds
    • lizardk
    • ovh
    • marie-j