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:
parent
85b6e40d8c
commit
af632615cf
2 changed files with 15 additions and 12 deletions
|
@ -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
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -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>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue