Browse Source

Various fixes and group deletion

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
pull/8824/head
John Molakvoæ (skjnldsv) 8 years ago
parent
commit
e1297f1fde
No known key found for this signature in database GPG Key ID: 60C25B8C072916CF
  1. 10
      settings/js/main.js
  2. 8
      settings/src/components/appNavigation/navigationItem.vue
  3. 4
      settings/src/components/userList/userRow.vue
  4. 2
      settings/src/store/users.js
  5. 21
      settings/src/views/Users.vue

10
settings/js/main.js
File diff suppressed because it is too large
View File

8
settings/src/components/appNavigation/navigationItem.vue

@ -17,14 +17,14 @@
<!-- first action if only one action and counter --> <!-- first action if only one action and counter -->
<li v-if="item.utils.actions && item.utils.actions.length === 1 && Number.isInteger(item.utils.counter)" <li v-if="item.utils.actions && item.utils.actions.length === 1 && Number.isInteger(item.utils.counter)"
class="app-navigation-entry-utils-menu-button"> class="app-navigation-entry-utils-menu-button">
<button :class="item.utils.actions[0].icon"></button>
<button @click="item.utils.actions[0].action" :class="item.utils.actions[0].icon" :title="item.utils.actions[0].text"></button>
</li> </li>
<!-- second action only two actions and no counter --> <!-- second action only two actions and no counter -->
<li v-else-if="item.utils.actions && item.utils.actions.length === 2 && !Number.isInteger(item.utils.counter)" <li v-else-if="item.utils.actions && item.utils.actions.length === 2 && !Number.isInteger(item.utils.counter)"
v-for="action in item.utils.actions" :key="action.action" v-for="action in item.utils.actions" :key="action.action"
class="app-navigation-entry-utils-menu-button"> class="app-navigation-entry-utils-menu-button">
<button :class="action.icon"></button>
<button @click="action.action" :class="action.icon" :title="action.text"></button>
</li> </li>
<!-- menu if only at least one action and counter OR two actions and no counter--> <!-- menu if only at least one action and counter OR two actions and no counter-->
@ -77,7 +77,7 @@ export default {
directives: { directives: {
ClickOutside ClickOutside
}, },
data () {
data() {
return { return {
openedMenu: false openedMenu: false
} }
@ -100,7 +100,7 @@ export default {
this.item.classes = this.item.classes.filter(item => item !== 'editing'); this.item.classes = this.item.classes.filter(item => item !== 'editing');
} }
}, },
mounted () {
mounted() {
// prevent click outside event with popupItem. // prevent click outside event with popupItem.
this.popupItem = this.$el; this.popupItem = this.$el;
}, },

4
settings/src/components/userList/userRow.vue

@ -192,10 +192,10 @@ export default {
}, },
methods: { methods: {
/* MENU HANDLING */ /* MENU HANDLING */
showMenu () {
showMenu() {
this.openedMenu = true; this.openedMenu = true;
}, },
hideMenu () {
hideMenu() {
this.openedMenu = false; this.openedMenu = false;
}, },

2
settings/src/store/users.js

@ -10,7 +10,7 @@ const orderGroups = function(groups, orderBy) {
} else { } else {
return groups.sort((a, b) => a.name.localeCompare(b.name)); return groups.sort((a, b) => a.name.localeCompare(b.name));
} }
}
};
const state = { const state = {
users: [], users: [],

21
settings/src/views/Users.vue

@ -115,12 +115,11 @@ export default {
} }
}, },
userCount() { userCount() {
return this.$store.getters.getUserCount; return this.$store.getters.getUserCount;
}, },
menu() { menu() {
let self = this;
// Data provided php side // Data provided php side
let groups = this.$store.getters.getGroups; let groups = this.$store.getters.getGroups;
groups = Array.isArray(groups) ? groups : []; groups = Array.isArray(groups) ? groups : [];
@ -133,6 +132,15 @@ export default {
item.href = '#group'+group.id.replace(' ', '_'); item.href = '#group'+group.id.replace(' ', '_');
item.text = group.name; item.text = group.name;
item.utils = {counter: group.usercount}; item.utils = {counter: group.usercount};
if (item.id !== 'admin' && item.id !== '_disabled') {
// add delete button
let self = this;
item.utils.actions = [{
icon: 'icon-delete',
text: t('settings', 'Remove group'),
action: function(){}
}];
};
return item; return item;
}); });
@ -140,7 +148,8 @@ export default {
let adminGroup = groups.find(group => group.id == 'admin'); let adminGroup = groups.find(group => group.id == 'admin');
let disabledGroup = groups.find(group => group.id == '_disabled'); let disabledGroup = groups.find(group => group.id == '_disabled');
if (adminGroup.text) { if (adminGroup.text) {
adminGroup.text = t('settings', 'Admins');} // rename admin group
adminGroup.text = t('settings', 'Admins'); // rename admin group
}
if (disabledGroup.text) { if (disabledGroup.text) {
disabledGroup.text = t('settings', 'Disabled users'); // rename disabled group disabledGroup.text = t('settings', 'Disabled users'); // rename disabled group
if (disabledGroup.utils.counter === 0) { if (disabledGroup.utils.counter === 0) {
@ -172,10 +181,14 @@ export default {
id:'new-user-button', id:'new-user-button',
text: t('settings','New user'), text: t('settings','New user'),
icon: 'icon-add', icon: 'icon-add',
action: function(){self.showConfig.showNewUserForm=!self.showConfig.showNewUserForm}
action: () => this.showConfig.showNewUserForm=!this.showConfig.showNewUserForm
}, },
items: groups items: groups
} }
},
removeGroup(groupid) {
console.trace(this);
return this.$store.dispatch('removeGroup', groupid);
} }
} }
} }

Loading…
Cancel
Save