GithubHelp home page GithubHelp logo

emp2web / notify.js Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alexgibson/notify.js

0.0 1.0 0.0 173 KB

A handy wrapper for the Web Notifications API

Home Page: https://alexgibson.github.io/notify.js/

License: Other

JavaScript 84.70% HTML 15.30%

notify.js's Introduction

Notify.js

Build Status

A handy wrapper for using the Web Notifications API. Notify.js aims to simplify requesting user permission and associated Web Notification API events, as well as providing a few extra callbacks and convenience methods.

Online demo: https://alexgibson.github.io/notify.js/

Installation

npm install notifyjs

Note: when installed via npm the Notify.js source file is located at ./dist/notify.js.

Build

Notify.js is written in ES6 and transpiled to ES5 & UMD format using Babel and Rollup.

Install dependencies:

npm install

Then build from source:

npm run build

Usage

To initialize a web notification create a new Notify instance, passing the message title as well as any other options you wish to use.

var myNotification = new Notify('Yo dawg!', {
	body: 'This is an awesome notification',
	notifyShow: onNotifyShow
});

function onNotifyShow() {
	console.log('notification was shown!');
}

Then show the notification.

myNotification.show();

It's a good idea to make sure that you have permissions to send notifications first.

if (!Notify.needsPermission) {
    doNotification();
} else if (Notify.isSupported()) {
    Notify.requestPermission(onPermissionGranted, onPermissionDenied);
}

function onPermissionGranted() {
	console.log('Permission has been granted by the user');
	doNotification();
}

function onPermissionDenied() {
	console.warn('Permission has been denied by the user');
}

Required parameters

  • title (string) - notification title

Optional parameters

All options supported in the Notifications API specification, in addition to:

  • timeout: (integer) - number of seconds to close the notification automatically
  • closeOnClick: (boolean) - close the notification when clicked. Useful in chrome where the notification remains open until the timeout or the x is clicked.
  • notifyShow: (function) - callback when notification is shown
  • notifyClose: (function) - callback when notification is closed
  • notifyClick: (function) - callback when notification is clicked
  • notifyError: (function) - callback when notification throws an error

Static methods and properties

  • Notify.requestPermission(onPermissionGrantedCallback, onPermissionDeniedCallback) - requests permission from the user if needed and handles permission callbacks.
  • Notify.isSupported - Function to test for Web Notifications API browser support
  • Notify.needsPermission - Boolean property to check if permission is needed for the user to receive notifications.

Instance methods

  • Notify.show - Function to display the Notify instance
  • Notify.close - Function to close the Notify instance

Test

In the project root, to perform a single pass of the tests using Firefox run:

npm run test

This will also automatically build from source before running the tests.

Demo example

An easy way to run the provided demo file is to use python SimpleHTTPServer and then navigate to the /example directory:

python -m SimpleHTTPServer

Browser support

http://caniuse.com/#search=notifications

notify.js's People

Contributors

alexgibson avatar bsawyer avatar chrisyip avatar fcsonline avatar garypendlebury avatar jbubriski avatar kitbrennan90 avatar maffoobristol avatar mdu avatar perrin4869 avatar qathom avatar superkarn avatar toddmotto avatar xosofox avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.