You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wiki/client/js/store/modules/alert.js

33 lines
671 B

'use strict'
import debounce from 'lodash/debounce'
export default {
state: {
shown: false,
style: 'green',
icon: 'check',
msg: ''
},
getters: {},
mutations: {
alertChange: (state, opts) => {
state.shown = (opts.shown === true)
state.style = opts.style || 'green'
state.icon = opts.icon || 'check'
state.msg = opts.msg || ''
}
},
actions: {
alert({ commit, dispatch }, opts) {
opts.shown = true
commit('alertChange', opts)
dispatch('alertDismiss')
},
alertDismiss: debounce(({ commit }) => {
let opts = { shown: false }
commit('alertChange', opts)
}, 3000)
}
}