From 5d95b38c6571a0b0cad6d5f292c6d52ef5992240 Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Tue, 15 Sep 2015 23:00:23 +0800 Subject: [PATCH] UX: Disable button while searching. --- .../controllers/full-page-search.js.es6 | 17 ++++++++--------- .../discourse/templates/full-page-search.hbs | 2 +- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/app/assets/javascripts/discourse/controllers/full-page-search.js.es6 b/app/assets/javascripts/discourse/controllers/full-page-search.js.es6 index d5ba0ad2fbc..fa52b4122f9 100644 --- a/app/assets/javascripts/discourse/controllers/full-page-search.js.es6 +++ b/app/assets/javascripts/discourse/controllers/full-page-search.js.es6 @@ -12,6 +12,7 @@ export default Ember.Controller.extend({ selected: [], context_id: null, context: null, + searching: false, @computed('q') hasAutofocus(q) { @@ -45,9 +46,9 @@ export default Ember.Controller.extend({ return isValidSearchTerm(q); }, - @computed('searchTerm') - isNotValidSearchTerm(searchTerm) { - return !isValidSearchTerm(searchTerm); + @computed('searchTerm', 'searching') + searchButtonDisabled(searchTerm, searching) { + return !!(searching || !isValidSearchTerm(searchTerm)); }, @observes('model') @@ -74,10 +75,8 @@ export default Ember.Controller.extend({ canBulkSelect: Em.computed.alias('currentUser.staff'), search(){ - if (this._searching) { - return; - } - this._searching = true; + if (this.get("searching")) return; + this.set("searching", true); const router = Discourse.__container__.lookup('router:main'); @@ -100,7 +99,7 @@ export default Ember.Controller.extend({ const model = translateResults(results) || {}; router.transientCache('lastSearch', { searchKey, model }, 5); this.set("model", model); - }).finally(() => this._searching = false); + }).finally(() => { this.set("searching",false); }); }, actions: { @@ -139,7 +138,7 @@ export default Ember.Controller.extend({ }, search() { - if (this.get("isNotValidSearchTerm")) return; + if (this.get("searchButtonDisabled")) return; this.search(); } } diff --git a/app/assets/javascripts/discourse/templates/full-page-search.hbs b/app/assets/javascripts/discourse/templates/full-page-search.hbs index 8f1874345c2..65537a30216 100644 --- a/app/assets/javascripts/discourse/templates/full-page-search.hbs +++ b/app/assets/javascripts/discourse/templates/full-page-search.hbs @@ -1,6 +1,6 @@