Giter Site home page Giter Site logo

core01 / vue2-notify Goto Github PK

View Code? Open in Web Editor NEW

This project forked from websmurf/vue2-notify

0.0 2.0 0.0 534 KB

Simple Vue2 notification component

License: MIT License

JavaScript 71.04% HTML 3.65% Vue 25.31%
vue vuejs2 vuejs-components notifications toastr

vue2-notify's Introduction

Notify

A simple bootstrap|bulma styled Vue component for notifications. Compatible with Vue 2.x

Requirements

Required packages:

  • vue 2+
  • velocity-animate 1.5+

Optional packages:

  • bootstrap or bulma (only used for styling)

Install

$ npm install vue2-notify --save

Then in your main.js:

import Notify from 'vue2-notify'

// Use Notify
Vue.use(Notify)

Usage

Inside your component:

this.$notify('A message that should be displayed', 'type')

or

Vue.$notify('A message that should be displayed', 'type')

You may use short type call:

this.$notify.success('This is success message');

or

Vue.$notify('This is success message');

Bulma users can call this.$notify.danger('Error message');, this.$notify.danger() is link to this.$notify.error()

Configuration

Option Type Default Description
itemClass String 'alert col-12' The class that the notification is wrapped in, defaults to the default bootstrap style
duration Integer 500 The amount of milliseconds that the animation should take (slideDown/slideUp, fadeIn/fadeOut)
visibility Integer 2000 The amount of milliseconds that the notification should be visible (if notification is not permanent)
position String 'top-left' The location of the notification, currently possible: top-left, top-right, top-full, bottom-left, bottom-right and bottom-full
enter String 'slideDown' Entry animation type, currently possible: slideDown, fadeIn
leave String 'slideUp' Exit animation type, currently possible: slideUp, fadeOut
permanent Boolean false Disable notification auto close
mode String 'text' Set 'html' to output real html. Only use HTML interpolation on trusted content and never on user-provided content.
closeButtonClass Boolean / String false Class name for close button. If false - close button will not be displayed. ( Example: set 'delete' for bulma or 'close' for bootstrap.)

Configuration options can be provided as options in the Vue.use statement:

// Use Notify
Vue.use(Notify, {visibility: 5000, permanent: true})

Overriding configuration

You can override the itemClass, iconClass, visibility, mode or closeButtonClass options on a per usage basis:

this.$notify('A message that should be displayed', 'type', { itemClass: 'alert col-6 alert-info', iconClass: 'fa fa-lg fa-handshake-o', visibility: 10000 })

Type should be one of the types defined in the configuration of the component.

Types

Defines the type of notifications that can be triggered

Type ItemClass IconClass
info 'alert-info' 'fa fa-lg fa-info-circle'
error 'alert-danger' 'fa fa-lg fa-exclamation-triangle'
warning 'alert-warning' 'fa fa-lg fa-exclamation-circle'
success 'alert-success' 'fa fa-lg fa-check-circle'

You can override the default list of types in the following way, for example to use glyphicons instead of font awesome icons:

const types = {
  info: { itemClass: 'alert-info', iconClass: 'glyphicons glyphicons-info-sign'},
  ..
  success: { itemClass: 'alert-success', iconClass: 'glyphicons glyphicons-ok'},
}

Vue.$notify.setTypes(types)

Examples

Using vue2-notify with Bulma

In app.js:

import Notify from 'vue2-notify'
Vue.use(Notify, {
  itemClass: 'notification'
})
const types = {
  info: { itemClass: 'is-info', },
  error: { itemClass: 'is-danger' },
  warning: { itemClass: 'is-warning' },
  success: { itemClass: 'is-success', iconClass: 'fa fa-lg fa-check-circle' }

}

Vue.$notify.setTypes(types);

And call this.$notify method as usual:

this.$notify('A message that should be displayed', 'info')

or

this.$notify.info('A message that should be displayed')

HTML in notification

this.$notify('<p>My HTML <br/>message</p>', 'info', {mode: 'html'})

or

this.$notify.error('<p>My HTML <br/>message</p>', {mode: 'html'})

Permanent notification

this.$notify('Permanent message', 'info', {permanent: true})

vue2-notify's People

Contributors

websmurf avatar ankurk91 avatar

Watchers

James Cloos avatar Roman Sadoyan 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.