Languages
500 milliseconds after typing search term, the value is set to the search parameter
The languages list will be updated after all debounce executions
JavaScript | 1995 |
Ruby | 1995 |
PHP | 1994 |
Java | 1995 |
Python | 1990 |
import Route from '@ember/routing/route';
import { isEmpty } from '@ember/utils';
export default Route.extend({
queryParams: {
search: {
refreshModel: true
}
},
model(params) {
const languages = this.modelFor('application');
if (!isEmpty(params.search)) {
return languages.filter((language) => language.get('name')
.toLowerCase().indexOf(params.search.toLowerCase()) !== -1);
}
return languages;
},
setupController(controller) {
this._super(...arguments);
controller.set('debounceSearch', controller.get('search'));
}
});
import Controller from '@ember/controller';
import DebounceQueryParamsMixin from 'ember-cli-debounce-query-params';
export default Controller.extend(DebounceQueryParamsMixin, {
queryParams: ['search'],
search: null,
debounceQueryParams: {
search: 500
}
});
<div class="form-group has-feedback">
<label class="sr-only">Search</label>
{{input class='form-control' value=debounceSearch placeholder='Search'}}
<span class="fa fa-search form-control-feedback" aria-hidden="true"></span>
</div>