Browse Source

Redirect if disabled list is empty

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
tags/v14.0.0beta1
John Molakvoæ (skjnldsv) 6 years ago
parent
commit
85f5ae9264
No account linked to committer's email address

+ 568
- 23
settings/js/main.js
File diff suppressed because it is too large
View File


+ 9
- 6
settings/src/components/userList.vue View File

return this.$store.getters.getServerData; return this.$store.getters.getServerData;
}, },
filteredUsers() { filteredUsers() {
if (this.route.hash === '#group_disabled') {
return this.users.filter(user => user.enabled !== true);
if (this.$route.hash === '#group_disabled') {
let disabledUsers = this.users.filter(user => user.enabled !== true);
if (disabledUsers.length===0 && this.$refs.infiniteLoading && this.$refs.infiniteLoading.isComplete) {
// disabled group is empty, redirection to all users
window.location.hash = '#group_everyone';
this.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');
}
return disabledUsers;
} }
return this.users.filter(user => user.enabled === true); return this.users.filter(user => user.enabled === true);
}, },
usersLimit() { usersLimit() {
return this.$store.getters.getUsersLimit; return this.$store.getters.getUsersLimit;
}, },
route() {
return this.$store.getters.getRoute;
},
// get selected hash // get selected hash
selectedGroup() { selectedGroup() {
let hash = this.route.hash;
let hash = this.$route.hash;
if (typeof hash === 'string' && hash.length > 0) { if (typeof hash === 'string' && hash.length > 0) {
// we have a valid hash: groupXXXX // we have a valid hash: groupXXXX
// group_XXXX are reserved groups // group_XXXX are reserved groups

+ 1
- 8
settings/src/store/index.js View File

} }
}; };


const getters = {
getRoute(state) {
return state.route;
}
};

export default new Vuex.Store({ export default new Vuex.Store({
modules: { modules: {
users, users,
}, },
strict: debug, strict: debug,


mutations,
getters
mutations
}); });

+ 1
- 1
settings/src/views/Users.vue View File

}); });


// Set current group as active // Set current group as active
let activeGroup = groups.findIndex(group => group.href === this.route.hash);
let activeGroup = groups.findIndex(group => group.href === this.$route.hash);
if (activeGroup >= 0) { if (activeGroup >= 0) {
groups[activeGroup].classes.push('active'); groups[activeGroup].classes.push('active');
} else { } else {

Loading…
Cancel
Save