41 lines
966 B
JavaScript
41 lines
966 B
JavaScript
import debounce from 'lodash/debounce'
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state: {
|
|
subtitleShown: false,
|
|
subtitleStyle: '',
|
|
subtitleIcon: false,
|
|
subtitleText: '',
|
|
subtitleStatic: 'Welcome'
|
|
},
|
|
getters: {},
|
|
mutations: {
|
|
subtitleChange (state, opts) {
|
|
state.subtitleShown = (opts.shown === true)
|
|
state.subtitleStyle = opts.style || ''
|
|
state.subtitleIcon = opts.icon || false
|
|
state.subtitleText = opts.msg || ''
|
|
},
|
|
subtitleStatic (state, text) {
|
|
state.subtitleText = text
|
|
state.subtitleStatic = text
|
|
}
|
|
},
|
|
actions: {
|
|
alert ({ commit, dispatch }, opts) {
|
|
opts.shown = true
|
|
commit('subtitleChange', opts)
|
|
dispatch('alertDismiss')
|
|
},
|
|
alertDismiss: debounce(({ commit, state }) => {
|
|
let opts = {
|
|
shown: false,
|
|
style: state.subtitleStyle,
|
|
msg: state.subtitleStatic
|
|
}
|
|
commit('subtitleChange', opts)
|
|
}, 5000)
|
|
}
|
|
}
|