Skip to content
Snippets Groups Projects
Commit d11d9cbb authored by Diego Sampaio's avatar Diego Sampaio
Browse files

Add autocomplete feature to livechat user management

parent aa4ecb0f
No related branches found
No related tags found
No related merge requests found
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<h2>{{_ "Livechat_managers"}}</h2> <h2>{{_ "Livechat_managers"}}</h2>
<form id="form-manager" class="inline"> <form id="form-manager" class="inline">
<label>{{_ "Add_manager"}}</label> <label>{{_ "Add_manager"}}</label>
<input type="text" name="username" placeholder="{{_ "Enter_a_username"}}"> {{> inputAutocomplete settings=managerAutocompleteSettings name="username" class="search" placeholder=(_ "Search_by_username") autocomplete="off"}}
<button name="add" class="button primary">{{_ "Add"}}</button> <button name="add" class="button primary">{{_ "Add"}}</button>
</form> </form>
<div class="list"> <div class="list">
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<h2>{{_ "Livechat_agents"}}</h2> <h2>{{_ "Livechat_agents"}}</h2>
<form id="form-agent" class="inline"> <form id="form-agent" class="inline">
<label>{{_ "Add_agent"}}</label> <label>{{_ "Add_agent"}}</label>
<input type="text" name="username" placeholder="{{_ "Enter_a_username"}}"> {{> inputAutocomplete settings=agentAutocompleteSettings name="username" class="search" placeholder=(_ "Search_by_username") autocomplete="off"}}
<button name="add" class="button primary">{{_ "Add"}}</button> <button name="add" class="button primary">{{_ "Add"}}</button>
</form> </form>
<div class="list"> <div class="list">
......
...@@ -15,6 +15,50 @@ Template.livechatUsers.helpers({ ...@@ -15,6 +15,50 @@ Template.livechatUsers.helpers({
if (this.emails && this.emails.length > 0) { if (this.emails && this.emails.length > 0) {
return this.emails[0].address; return this.emails[0].address;
} }
},
agentAutocompleteSettings() {
return {
limit: 10,
// inputDelay: 300
rules: [{
// @TODO maybe change this 'collection' and/or template
collection: 'UserAndRoom',
subscription: 'userAutocomplete',
field: 'username',
template: Template.userSearch,
noMatchTemplate: Template.userSearchEmpty,
matchAll: true,
filter: {
exceptions: _.map(AgentUsers.find({}, { fields: { username: 1 } }).fetch(), user => { return user.username; })
},
selector(match) {
return { username: match };
},
sort: 'username'
}]
};
},
managerAutocompleteSettings() {
return {
limit: 10,
// inputDelay: 300
rules: [{
// @TODO maybe change this 'collection' and/or template
collection: 'UserAndRoom',
subscription: 'userAutocomplete',
field: 'username',
template: Template.userSearch,
noMatchTemplate: Template.userSearchEmpty,
matchAll: true,
filter: {
exceptions: _.map(ManagerUsers.find({}, { fields: { username: 1 } }).fetch(), user => { return user.username; })
},
selector(match) {
return { username: match };
},
sort: 'username'
}]
};
} }
}); });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment