feat: navigation save / load
This commit is contained in:
@@ -8,6 +8,8 @@
|
||||
.headline.primary--text {{$t('navigation.title')}}
|
||||
.subheading.grey--text {{$t('navigation.subtitle')}}
|
||||
v-spacer
|
||||
v-btn(outline, color='grey', @click='refresh', large)
|
||||
v-icon refresh
|
||||
v-btn(color='success', depressed, @click='save', large)
|
||||
v-icon(left) check
|
||||
span {{$t('common:actions.apply')}}
|
||||
@@ -185,20 +187,38 @@ export default {
|
||||
async save() {
|
||||
this.$store.commit(`loadingStart`, 'admin-navigation-save')
|
||||
try {
|
||||
await this.$apollo.mutate({
|
||||
const resp = await this.$apollo.mutate({
|
||||
mutation: treeSaveMutation,
|
||||
variables: {
|
||||
tree: this.navTree
|
||||
}
|
||||
})
|
||||
if (_.get(resp, 'data.navigation.updateTree.responseResult.succeeded', false)) {
|
||||
this.$store.commit('showNotification', {
|
||||
message: this.$t('navigation.saveSuccess'),
|
||||
style: 'success',
|
||||
icon: 'check'
|
||||
})
|
||||
} else {
|
||||
throw new Error(_.get(resp, 'data.navigation.updateTree.responseResult.message', 'An unexpected error occured.'))
|
||||
}
|
||||
} catch (err) {
|
||||
this.$store.commit('showNotification', {
|
||||
message: this.$t('navigation.saveSuccess'),
|
||||
style: 'success',
|
||||
icon: 'check'
|
||||
message: err.message,
|
||||
style: 'red',
|
||||
icon: 'warning'
|
||||
})
|
||||
}
|
||||
this.$store.commit(`loadingStop`, 'admin-navigation-save')
|
||||
},
|
||||
async refresh() {
|
||||
await this.$apollo.queries.navTree.refetch()
|
||||
this.current = {}
|
||||
this.$store.commit('showNotification', {
|
||||
message: 'Navigation has been refreshed.',
|
||||
style: 'success',
|
||||
icon: 'cached'
|
||||
})
|
||||
}
|
||||
},
|
||||
apollo: {
|
||||
|
Reference in New Issue
Block a user