Number of users

This commit is contained in:
guillaume 2019-04-19 16:17:17 +02:00
parent 308417852c
commit 070feb4b66
5 changed files with 43 additions and 20 deletions

View file

@ -4,9 +4,12 @@ template(name="people")
| {{_ 'error-notAuthorized'}} | {{_ 'error-notAuthorized'}}
else else
.content-title.ext-box .content-title.ext-box
span {{_ 'people'}} .ext-box-left
input#searchInput(placeholder="{{_ 'search'}}") span {{_ 'people'}}
button#searchButton {{_ 'enter'}} input#searchInput(placeholder="{{_ 'search'}}")
button#searchButton {{_ 'enter'}}
.ext-box-right
span {{_ 'people-number'}} #{peopleNumber}
.content-body .content-body
.side-menu .side-menu
ul ul

View file

@ -9,6 +9,7 @@ BlazeComponent.extendComponent({
this.loading = new ReactiveVar(false); this.loading = new ReactiveVar(false);
this.people = new ReactiveVar(true); this.people = new ReactiveVar(true);
this.findUsersOptions = new ReactiveVar({}); this.findUsersOptions = new ReactiveVar({});
this.number = new ReactiveVar(0);
this.page = new ReactiveVar(1); this.page = new ReactiveVar(1);
this.loadNextPageLocked = false; this.loadNextPageLocked = false;
@ -30,22 +31,30 @@ BlazeComponent.extendComponent({
events() { events() {
return [{ return [{
'click #searchButton'(event) { 'click #searchButton'(event) {
const value = $('#searchInput').first().val(); this.filterPeople(event);
if (value === '') { },
this.findUsersOptions.set({}); 'keydown #searchInput'(event) {
} else { if (event.keyCode === 13 && !event.shiftKey) {
const regex = new RegExp(value, 'i'); this.filterPeople(event);
this.findUsersOptions.set({
$or: [
{ username: regex },
{ 'profile.fullname': regex },
{ 'emails.address': regex },
]
});
} }
} }
}]; }];
}, },
filterPeople(event) {
const value = $('#searchInput').first().val();
if (value === '') {
this.findUsersOptions.set({});
} else {
const regex = new RegExp(value, 'i');
this.findUsersOptions.set({
$or: [
{ username: regex },
{ 'profile.fullname': regex },
{ 'emails.address': regex },
]
});
}
},
loadNextPage() { loadNextPage() {
if (this.loadNextPageLocked === false) { if (this.loadNextPageLocked === false) {
this.page.set(this.page.get() + 1); this.page.set(this.page.get() + 1);
@ -69,11 +78,16 @@ BlazeComponent.extendComponent({
this.loading.set(w); this.loading.set(w);
}, },
peopleList() { peopleList() {
// get users in front to cache them const users = Users.find(this.findUsersOptions.get(), {
return Users.find(this.findUsersOptions.get(), {
fields: {_id: true}, fields: {_id: true},
}); });
this.number.set(users.count());
return users;
}, },
peopleNumber() {
return this.number.get();
}
}).register('people'); }).register('people');
Template.peopleRow.helpers({ Template.peopleRow.helpers({

View file

@ -19,6 +19,10 @@ table
flex-direction: row; flex-direction: row;
height: 34px; height: 34px;
.ext-box-left
display: flex;
width: 40%
span span
vertical-align: center; vertical-align: center;
line-height: 34px; line-height: 34px;

View file

@ -686,5 +686,6 @@
"error-ldap-login": "An error occurred while trying to login", "error-ldap-login": "An error occurred while trying to login",
"display-authentication-method": "Display Authentication Method", "display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method", "default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board" "duplicate-board": "Duplicate Board",
"people-number": "The number of people is: "
} }

View file

@ -683,5 +683,6 @@
"error-ldap-login": "Une erreur s'est produite lors de la tentative de connexion", "error-ldap-login": "Une erreur s'est produite lors de la tentative de connexion",
"display-authentication-method": "Afficher la méthode d'authentification", "display-authentication-method": "Afficher la méthode d'authentification",
"default-authentication-method": "Méthode d'authentification par défaut", "default-authentication-method": "Méthode d'authentification par défaut",
"duplicate-board": "Dupliquer le tableau" "duplicate-board": "Dupliquer le tableau",
"people-number": "Le nombre d'utilisateurs est de : "
} }