let lastSearch; let lastOverridden; export default Ember.Controller.extend({ searching: false, siteTexts: null, preferred: false, queryParams: ['q', 'overridden'], q: null, overridden: null, _performSearch() { this.store.find('site-text', this.getProperties('q', 'overridden')).then(results => { this.set('siteTexts', results); }).finally(() => this.set('searching', false)); }, actions: { edit(siteText) { this.transitionToRoute('adminSiteText.edit', siteText.get('id')); }, search(overridden) { this.set('overridden', overridden); const q = this.get('q'); if (q !== lastSearch || overridden !== lastOverridden) { this.set('searching', true); Ember.run.debounce(this, this._performSearch, 400); lastSearch = q; lastOverridden = overridden; } } } });