feat: admin groups - list + create, gql refactoring
This commit is contained in:
@@ -1,24 +1,41 @@
|
||||
import _ from 'lodash'
|
||||
import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
|
||||
import navigator from './modules/navigator'
|
||||
|
||||
Vue.use(Vuex)
|
||||
|
||||
export default new Vuex.Store({
|
||||
state: {
|
||||
loading: false
|
||||
loadingStack: [],
|
||||
notification: {
|
||||
message: '',
|
||||
style: 'primary',
|
||||
icon: 'cached',
|
||||
isActive: false
|
||||
}
|
||||
},
|
||||
getters: {
|
||||
isLoading: state => { return state.loadingStack.length > 0 }
|
||||
},
|
||||
mutations: {
|
||||
loadingChange: (state, loadingState) => { state.loading = loadingState }
|
||||
loadingStart (state, stackName) {
|
||||
state.loadingStack = _.union(state.loadingStack, [stackName])
|
||||
},
|
||||
loadingStop (state, stackName) {
|
||||
state.loadingStack = _.without(state.loadingStack, stackName)
|
||||
},
|
||||
showNotification (state, opts) {
|
||||
state.notification = _.defaults(opts, {
|
||||
message: '',
|
||||
style: 'primary',
|
||||
icon: 'cached',
|
||||
isActive: true
|
||||
})
|
||||
},
|
||||
updateNotificationState (state, newState) {
|
||||
state.notification.isActive = newState
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
alert({ dispatch }, opts) { dispatch('navigator/alert', opts) },
|
||||
startLoading({ commit }) { commit('loadingChange', true) },
|
||||
stopLoading({ commit }) { commit('loadingChange', false) }
|
||||
},
|
||||
getters: {},
|
||||
modules: {
|
||||
navigator
|
||||
}
|
||||
actions: { },
|
||||
modules: { }
|
||||
})
|
||||
|
@@ -1,40 +0,0 @@
|
||||
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)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user