From 086d31d53b4902238ec9e10207c219402e6437b4 Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 18 Sep 2015 12:20:59 +1000 Subject: [PATCH] UX: when on full page search header search should not pop open fix `/` handling in full page search to highlight search term --- .../discourse/components/header-dropdown.js.es6 | 6 +++++- .../javascripts/discourse/controllers/header.js.es6 | 9 +++++++++ .../javascripts/discourse/lib/keyboard-shortcuts.js.es6 | 3 ++- .../javascripts/discourse/templates/full-page-search.hbs | 2 +- app/assets/javascripts/discourse/templates/header.hbs | 1 + 5 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/discourse/components/header-dropdown.js.es6 b/app/assets/javascripts/discourse/components/header-dropdown.js.es6 index 02843970acfc57..447184410c1668 100644 --- a/app/assets/javascripts/discourse/components/header-dropdown.js.es6 +++ b/app/assets/javascripts/discourse/components/header-dropdown.js.es6 @@ -22,7 +22,11 @@ export default Ember.Component.extend({ if (this.siteSettings.login_required && !this.currentUser) { this.sendAction('loginAction'); } else { - this.toggleProperty('toggleVisible'); + if (this.get('action')) { + this.sendAction('action'); + } else { + this.toggleProperty('toggleVisible'); + } } this.appEvents.trigger('dropdowns:closeAll'); } diff --git a/app/assets/javascripts/discourse/controllers/header.js.es6 b/app/assets/javascripts/discourse/controllers/header.js.es6 index 42c8fc8516d12e..07addf2c1c4adc 100644 --- a/app/assets/javascripts/discourse/controllers/header.js.es6 +++ b/app/assets/javascripts/discourse/controllers/header.js.es6 @@ -20,6 +20,15 @@ const HeaderController = Ember.Controller.extend({ actions: { + toggleSearch() { + // there may be a cleaner way, but this is so trivial code wise + const $fullpageSearch = $('input.full-page-search'); + if ($fullpageSearch.length === 1) { + $fullpageSearch.focus().select(); + } else { + this.toggleProperty('searchVisible'); + } + }, showUserMenu() { if (!this.get('userMenuVisible')) { this.appEvents.trigger('dropdowns:closeAll'); diff --git a/app/assets/javascripts/discourse/lib/keyboard-shortcuts.js.es6 b/app/assets/javascripts/discourse/lib/keyboard-shortcuts.js.es6 index 1561d1ab7de666..a17e4f50c09368 100644 --- a/app/assets/javascripts/discourse/lib/keyboard-shortcuts.js.es6 +++ b/app/assets/javascripts/discourse/lib/keyboard-shortcuts.js.es6 @@ -177,7 +177,8 @@ export default { }, showSearch() { - this.container.lookup('controller:header').send('toggleMenuPanel', 'searchVisible'); + this.container.lookup('controller:header').send('toggleSearch'); + return false; }, toggleHamburgerMenu() { diff --git a/app/assets/javascripts/discourse/templates/full-page-search.hbs b/app/assets/javascripts/discourse/templates/full-page-search.hbs index 65537a30216a2c..13a16e145d284b 100644 --- a/app/assets/javascripts/discourse/templates/full-page-search.hbs +++ b/app/assets/javascripts/discourse/templates/full-page-search.hbs @@ -1,5 +1,5 @@