https://github.com/ryanve/flish
JavaScript flash message module
https://github.com/ryanve/flish
flash-messages javascript module notifications
Last synced: over 1 year ago
JSON representation
JavaScript flash message module
- Host: GitHub
- URL: https://github.com/ryanve/flish
- Owner: ryanve
- License: mit
- Created: 2016-09-15T03:04:07.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-03-17T22:22:18.000Z (over 9 years ago)
- Last Synced: 2025-03-15T21:51:21.749Z (over 1 year ago)
- Topics: flash-messages, javascript, module, notifications
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/flish
- Size: 2.93 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# flish
Flash messages made simple
```sh
npm install flish --save
```
```js
var flish = require('flish')
```
## API
- flish methods are chainable
- flish is designed for flash messages or notifications, but it can be used for generic tasks too
### `flish()`
- Get a flish instance
- @return object
### `.use(handler)`
- Set the flash handler that gets invoked with the outgoing flashes array whenever `.send()` is called
- @return this
### `.add(flash)`
- Enqueue flash string, object, or function
- @return this
### `.send()`
- Flush and dispatch the flash queue
- @return this
## Examples
### Log flash messages
```js
var flish = require('flish')
// Create a flash instance and define its handler
var flash = flish().use(function(flashes) {
flashes.forEach(function(text) {
console.log(text)
})
})
// Add some flashes and then send them
flash.add('You rock!')
flash.add('You roll!')
flash.send() // logs 'You rock!' and 'You roll!'
flash.add('You stole!')
flash.send() // logs 'You stole!'
flash.send() // logs nothing because no new flashes were added
```
### Flash message objects
```js
var flish = require('flish')
var flash = flish().use(function(flashes) {
flashes.forEach(function(flash) {
console[flash.level](flash.text)
})
})
flash.add({
text: 'You rock!',
level: 'info'
}).add({
text: 'You roll!',
level: 'warn'
}).add({
text: 'You stole!',
level: 'error'
}).send()
```
### HTML flash messages
```html
```
```css
#flashes:empty {
display: none;
}
```
```js
var flish = require('flish')
var flash = flish().use(function(flashes) {
$('#flashes').html(flashes.map(function(flash) {
var tag = flash.isError ? ['
', '
'] : ['', '
']
return tag.join(flash.message)
}).join(''))
})
flash.add({
message: 'You rock!'
}).add({
message: 'You roll!'
}).add({
message: 'You stole!',
isError: true
}).send()
```
### Flish instances are like arrays
```js
var flish = require('flish')
var flash = flish()
if (flash.length) {
flash.send()
}
if (flash.some(function(o) { return o.isError })) {
flash.send()
}
```
## License
MIT