1.1.0 • Published 10 months ago

@duncte123/vue-notify-me v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

vue-notify-me

Notification Alert for Vue.

Features

  • Customizable template
  • Stackable notifications

Live Demo

Installation

npm install vue-notify-me --save

Properties

PropertiesTypeValues
event-busObjectCentral event Bus
event-show (not required)StringDefault notify-me
event-hide (not required)StringDefault hide-notify-me
close (not required)StringDefault bulma, options: bootstrap or any other class for the closing icon
permanent (not required)BoolDefault false
container (not required)StringDefault notification, (Class for the notification container)
status (not required)StringDefault is-success, (Class for the notification status)
width (not required)StringDefault 350px. It's mandatory to set the unit for the width. For example: rem, em, px
timeout (not required)NumberDefault 4000. Value is in miliseconds. If notification is not permanent you can set the timeout for it

Examples

Include the component in your .vue file.

<template>
  <notify-me
        :event-bus="bus">
      <template slot="content" scope="{data}">
          <div style="width: 100%; word-break: break-all; text-align: left">
              <h4><b>{{data.title}}</b></h4>
              <p style="margin: 0">{{data.text}}</p>
          </div>
      </template>
  </notify-me>
</template>

If you'd like to use the component in a SPA set a single template on your layout application and fire your notification through your central event bus. Set any available prop for the component like this:

<notify-me
    container="notification"
    status="alert-success"
    :width="300"
    close="bulma"
    :event-bus="bus"
>
      <template slot="content" scope="{data}">
          <div style="width: 100%; word-break: break-all; text-align: left">
              <h4><b>{{data.title}}</b></h4>
              <p style="margin: 0">{{data.text}}</p>
          </div>
      </template>
  </notify-me>

To show a notification just fire an event like this:

<script>
import Notify from 'vue-notify-me'

const bus = new Vue();

export default {
  components: {
    'notify-me': Notify
  },
  data(){
      return {
          bus
      }
  },
  mounted(){
      this.bus.$emit('notify-me', {
        data: {
            title: 'The pygmy team :)',
            text: 'this is my notification'
        }
  
      });
  }
  
}
</script>

You may also add any available prop through the event emitter:

this.bus.$emit('notify-me', {
    permanent: true,
    status: this.status,
    data: {
        title: 'The pygmy team :)',
        text: this.text
    }

});

Enjoy :)

1.1.0

10 months ago