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