1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-22 14:49:42 +02:00

Change UX for user group member management

Placed search results below existing members list.
This commit is contained in:
McMatts 2018-05-03 12:48:45 +01:00
parent 85b6e40d8c
commit af632615cf
2 changed files with 15 additions and 12 deletions

View file

@ -12,6 +12,7 @@
import $ from 'jquery'; import $ from 'jquery';
import { inject as service } from '@ember/service'; import { inject as service } from '@ember/service';
import { debounce } from '@ember/runloop'; import { debounce } from '@ember/runloop';
import { A } from '@ember/array';
import Component from '@ember/component'; import Component from '@ember/component';
import AuthProvider from '../../mixins/auth'; import AuthProvider from '../../mixins/auth';
import ModalMixin from '../../mixins/modal'; import ModalMixin from '../../mixins/modal';
@ -56,9 +57,11 @@ export default Component.extend(AuthProvider, ModalMixin, {
this.get('userSvc') this.get('userSvc')
.matchUsers(searchText) .matchUsers(searchText)
.then(users => { .then(users => {
let filteredUsers = A([]);
users.forEach(user => { users.forEach(user => {
let m = members.findBy('userId', user.get('id')); let m = members.findBy('userId', user.get('id'));
user.set('isMember', is.not.undefined(m)); if (is.undefined(m)) filteredUsers.pushObject(user);
// user.set('isMember', is.not.undefined(m));
}); });
if (this.get('showMembers') && members.length === 0) { if (this.get('showMembers') && members.length === 0) {
@ -66,7 +69,7 @@ export default Component.extend(AuthProvider, ModalMixin, {
this.set('showUsers', true); this.set('showUsers', true);
} }
this.set('users', users); this.set('users', filteredUsers);
}); });
}); });
}, },
@ -179,6 +182,7 @@ export default Component.extend(AuthProvider, ModalMixin, {
this.set('users', null); this.set('users', null);
this.set('showMembers', true); this.set('showMembers', true);
this.set('showUsers', false); this.set('showUsers', false);
this.set('searchText', '');
this.loadGroupInfo(); this.loadGroupInfo();
}, },
@ -197,7 +201,7 @@ export default Component.extend(AuthProvider, ModalMixin, {
this.set('showUsers', false); this.set('showUsers', false);
} }
}, },
250 450
); );
}, },

View file

@ -121,17 +121,16 @@
</div> </div>
<div class="view-customize"> <div class="view-customize">
<div class="group-users-members my-5"> <div class="group-users-members my-5">
{{#if showMembers}} {{#each members as |member|}}
{{#each members as |member|}} <div class="row item">
<div class="row item"> <div class="col-10 fullname">{{member.fullname}}</div>
<div class="col-10 fullname">{{member.fullname}}</div> <div class="col-2 text-right">
<div class="col-2 text-right"> <button class="btn btn-danger" {{action 'onLeaveGroup' member.userId}}>Remove</button>
<button class="btn btn-danger" {{action 'onLeaveGroup' member.userId}}>Remove</button>
</div>
</div> </div>
{{/each}} </div>
{{/if}} {{/each}}
{{#if showUsers}} {{#if showUsers}}
<hr />
{{#each users as |user|}} {{#each users as |user|}}
<div class="row item"> <div class="row item">
<div class="col-10 fullname">{{user.firstname}} {{user.lastname}}</div> <div class="col-10 fullname">{{user.firstname}} {{user.lastname}}</div>