Only show loading spinner over menu when loading namespaces
This commit is contained in:
parent
ad33458a80
commit
f9d295fc67
3 changed files with 17 additions and 6 deletions
|
@ -133,7 +133,7 @@
|
|||
|
||||
<script>
|
||||
import {mapState} from 'vuex'
|
||||
import {CURRENT_LIST, IS_FULLPAGE, LOADING, MENU_ACTIVE} from '@/store/mutation-types'
|
||||
import {CURRENT_LIST, IS_FULLPAGE, MENU_ACTIVE} from '@/store/mutation-types'
|
||||
|
||||
export default {
|
||||
name: 'navigation',
|
||||
|
@ -145,7 +145,7 @@ export default {
|
|||
currentList: CURRENT_LIST,
|
||||
background: 'background',
|
||||
menuActive: MENU_ACTIVE,
|
||||
loading: LOADING,
|
||||
loading: state => state.namespaces.loading,
|
||||
}),
|
||||
beforeCreate() {
|
||||
this.$store.dispatch('namespaces/loadNamespaces')
|
||||
|
|
|
@ -1,11 +1,19 @@
|
|||
import {LOADING} from './mutation-types'
|
||||
|
||||
export const setLoading = context => {
|
||||
export const setLoading = (context, loadFunc = null) => {
|
||||
const timeout = setTimeout(() => {
|
||||
context.commit(LOADING, true, {root: true})
|
||||
if (loadFunc === null) {
|
||||
context.commit(LOADING, true, {root: true})
|
||||
} else {
|
||||
loadFunc(true)
|
||||
}
|
||||
}, 100)
|
||||
return () => {
|
||||
clearTimeout(timeout)
|
||||
context.commit(LOADING, false, {root: true})
|
||||
if (loadFunc === null) {
|
||||
context.commit(LOADING, false, {root: true})
|
||||
} else {
|
||||
loadFunc(false)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -7,6 +7,7 @@ export default {
|
|||
namespaced: true,
|
||||
state: () => ({
|
||||
namespaces: [],
|
||||
loading: false,
|
||||
}),
|
||||
mutations: {
|
||||
namespaces(state, namespaces) {
|
||||
|
@ -88,7 +89,9 @@ export default {
|
|||
},
|
||||
actions: {
|
||||
loadNamespaces(ctx) {
|
||||
const cancel = setLoading(ctx)
|
||||
const cancel = setLoading(ctx, status => {
|
||||
ctx.commit('loading', status, {root: true})
|
||||
})
|
||||
|
||||
const namespaceService = new NamespaceService()
|
||||
// We always load all namespaces and filter them on the frontend
|
||||
|
|
Loading…
Reference in a new issue