npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

vue-msg-bag

v0.4.0

Published

Simple message bag plugin for Vue.js.

Downloads

13

Readme

vue-msg-bag

Simple message bag plugin for Vue.js.

Usage

Vue.use(require('vue-msg-bag'), options);

The default objects stored in the message bag (if not parsed) will contain three parameters; msg, type and container.

To tweak the msg stored in the message bag check the parseMsg option below.

<template>
    <div>
        <div v-for="msg in $msgBag.all()" v-if="msg.container === 'main'">
            <div class="alert-{{ msg.type }}">{{ msg.msg }}</div>
        </div>
    </div>

    <router-view></router-view>
</template>

In the above example the messages will automatically clear after some timeout (which can be set in options).

However messages can also be cleared manually by setting timeout to null. In this case the clear(msg) method can be used to remove the item from the message bag.

<div>
    <div v-for="msg in $msgBag.all()" v-if="msg.container === 'main'">
        <div class="alert-{{ msg.type }}">
            {{ msg.msg }}
            <span v-on:click="$msgBag.clear(msg)">x</span>
        </div>
    </div>
</div>

Methods

**success()** **warning()** **error()** **fatal()**

All follow the same format.

this.$msgBag.success(msg);
this.$msgBag.success(msg, 'some-container');

NOTE: The msg can be an Object, Array or String. The array itself can also be an array of objects or strings or even more arrays.

**clear()**

Clear the message bag. A specific message can also be cleared by passing it in.

this.$msgBag.clear();
this.$msgBag.clear(msg);

**all()**

Get all the messages.

this.$msgBag.all();

**parse()**

Manually parse a message without using any queues.

var msgs = this.$msgBag.parse('error', msg);

**keys()**

Manually parse a message by keys where field and msg are the keys to parse on.

var msgs = this.$msgBag.parse(msgs, field, msg);

Options

**timeout**

default: 1500

The timeout before clearing a message. To prevent clearing of messages set timeout to null.

**container**

default: 'main'

Arbitrary field for container name. This allows multiple containers. A good example could be displaying errors in a modal versus in some global container.

**parseMsg**

default: function

Allows parsing of the messages stored in the message bag. Pretty much anything can be stored in the message bag as it's just an array.

Vue.use(require('vue-msg-bag'), {
    parseMsg: function (msg) {
        
        // Do some stuff

        return msg;
    }
});