From be1cce503c3576426ac9759d88fdcab4c0b87be2 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Mon, 4 Sep 2017 11:48:36 -0400 Subject: [PATCH] FIX: Don't bind events in `defaultState` --- .../discourse/components/site-header.js.es6 | 2 ++ .../discourse/widgets/search-menu-controls.js.es6 | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/assets/javascripts/discourse/components/site-header.js.es6 b/app/assets/javascripts/discourse/components/site-header.js.es6 index 9285f5355b8..e071b9eb74e 100644 --- a/app/assets/javascripts/discourse/components/site-header.js.es6 +++ b/app/assets/javascripts/discourse/components/site-header.js.es6 @@ -62,6 +62,8 @@ const SiteHeaderComponent = MountWidget.extend(Docking, { this.dispatch('notifications:changed', 'user-notifications'); this.dispatch('header:keyboard-trigger', 'header'); + this.dispatch('header:keyboard-trigger', 'header'); + this.dispatch('search-autocomplete:after-complete', 'search-term'); this.appEvents.on('dom:clean', () => { // For performance, only trigger a re-render if any menu panels are visible diff --git a/app/assets/javascripts/discourse/widgets/search-menu-controls.js.es6 b/app/assets/javascripts/discourse/widgets/search-menu-controls.js.es6 index 689e749ee8e..c91a9ccb075 100644 --- a/app/assets/javascripts/discourse/widgets/search-menu-controls.js.es6 +++ b/app/assets/javascripts/discourse/widgets/search-menu-controls.js.es6 @@ -5,16 +5,16 @@ import { createWidget } from 'discourse/widgets/widget'; createWidget('search-term', { tagName: 'input', buildId: () => 'search-term', - buildKey: (attrs) => `search-term-${attrs.id}`, + buildKey: () => `search-term`, defaultState() { - this.appEvents.on("search-autocomplete:after-complete", () => { - this.state.afterAutocomplete = true; - }); - return { afterAutocomplete: false }; }, + searchAutocompleteAfterComplete() { + this.state.afterAutocomplete = true; + }, + buildAttributes(attrs) { return { type: 'text', value: attrs.value || '',