feat: navigation save / load

This commit is contained in:
Nicolas Giard
2018-10-21 22:25:17 -04:00
parent b870a4724d
commit b26f30ae20
4 changed files with 54 additions and 17 deletions

View File

@@ -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: {