summaryrefslogtreecommitdiffstats
path: root/webapp/src/components/GroupModule.vue
diff options
context:
space:
mode:
authorUdo Walter2019-02-23 09:35:27 +0100
committerUdo Walter2019-02-23 09:35:27 +0100
commit461549c117c9760392debae54bb8c7a1ed66b807 (patch)
treea45beb1d249d364a83bf8d1685d9bc7fda7d5915 /webapp/src/components/GroupModule.vue
parent[Account] Add password change functionality (diff)
downloadbas-461549c117c9760392debae54bb8c7a1ed66b807.tar.gz
bas-461549c117c9760392debae54bb8c7a1ed66b807.tar.xz
bas-461549c117c9760392debae54bb8c7a1ed66b807.zip
[groups] add iprange functionality to groups; add refresh button
Diffstat (limited to 'webapp/src/components/GroupModule.vue')
-rw-r--r--webapp/src/components/GroupModule.vue13
1 files changed, 9 insertions, 4 deletions
diff --git a/webapp/src/components/GroupModule.vue b/webapp/src/components/GroupModule.vue
index cd487b0..a02fccf 100644
--- a/webapp/src/components/GroupModule.vue
+++ b/webapp/src/components/GroupModule.vue
@@ -11,8 +11,8 @@
<v-container fill-height>
<v-layout>
<v-flex class="tabs-wrapper" xl10 offset-xl1 lg12>
- <v-card class="tabbar-card">
- <v-tabs :value="activeTab" @change="setActiveTab" :dark="tabsDark" :color="tabsColor" :slider-color="tabsSliderColor">
+ <v-card class="tabbar-card" style="display: flex; justify-content: space-between">
+ <v-tabs :value="activeTab" @change="setActiveTab" :dark="tabsDark" :color="tabsColor" :slider-color="tabsSliderColor" style="overflow-x: hidden">
<template v-for="(item, index) in tabChain">
<v-icon v-if="item.id > 0 || item.id === 'create'" :key="'arrow' + index">keyboard_arrow_right</v-icon>
<v-tab ripple :key="'tab' + index">
@@ -22,6 +22,7 @@
</v-tab>
</template>
</v-tabs>
+ <v-btn icon :loading="reloading" @click="reload"><v-icon>refresh</v-icon></v-btn>
</v-card>
<v-tabs-items :value="activeTab" @input="setActiveTab" touchless style="padding-bottom: 20px">
<v-tab-item v-for="(item, index) in tabChain" :key="index">
@@ -39,7 +40,7 @@
import GroupModuleGroupView from '@/components/GroupModuleGroupView'
import GroupModuleClientView from '@/components/GroupModuleClientView'
import GroupModuleDialog from '@/components/GroupModuleDialog'
-import { mapState, mapGetters, mapMutations } from 'vuex'
+import { mapState, mapGetters, mapMutations, mapActions } from 'vuex'
export default {
name: 'GroupModule',
@@ -60,7 +61,10 @@ export default {
},
computed: {
...mapGetters(['tabsDark', 'tabsColor', 'tabsSliderColor']),
- ...mapState('groups', ['tabChain', 'activeTab', 'groupList', 'clientList'])
+ ...mapState('groups', ['tabChain', 'activeTab', 'groupList', 'clientList']),
+ reloading () {
+ return this.tabChain.some(tab => tab.loading)
+ }
},
watch: {
activeTab (index) {
@@ -75,6 +79,7 @@ export default {
},
methods: {
...mapMutations('groups', ['setActiveTab', 'setTab']),
+ ...mapActions('groups', ['reload']),
loadItem (routeName, id) {
const type = routeName.replace('GroupModule.', '')
if (id === 'create') {