Languages

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>