From bfa88032878090f0ed8481bb282b75f333cd7fd8 Mon Sep 17 00:00:00 2001 From: Bob Trahan Date: Fri, 2 May 2014 17:57:01 -0700 Subject: [PATCH] Search - making clicking the search button not submit placeholder text Summary: Need to wire up the button to have a click handler that clears out the placeholder text. Fixes T4847. Test Plan: Clicked the search button and got results for nothing as opposed to "Search." Typed a search and clicked button and got expected results. Reviewers: epriestley Reviewed By: epriestley Subscribers: epriestley, Korvin Maniphest Tasks: T4847 Differential Revision: https://secure.phabricator.com/D8960 --- resources/celerity/map.php | 26 +++++++++---------- .../menu/PhabricatorMainMenuSearchView.php | 9 +++++-- .../rsrc/js/core/behavior-search-typeahead.js | 5 ++++ 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index be128c0a72..58f33f94f2 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -8,7 +8,7 @@ return array( 'names' => array( 'core.pkg.css' => 'afe6e16d', - 'core.pkg.js' => '417722ff', + 'core.pkg.js' => 'c415c382', 'darkconsole.pkg.js' => 'ca8671ce', 'differential.pkg.css' => '4b8686e3', 'differential.pkg.js' => '11a5b750', @@ -472,7 +472,7 @@ return array( 'rsrc/js/core/behavior-refresh-csrf.js' => 'c4b31646', 'rsrc/js/core/behavior-remarkup-preview.js' => 'f7379f45', 'rsrc/js/core/behavior-reveal-content.js' => '8f24abfc', - 'rsrc/js/core/behavior-search-typeahead.js' => 'f6b56f7a', + 'rsrc/js/core/behavior-search-typeahead.js' => 'd8469741', 'rsrc/js/core/behavior-select-on-click.js' => '0e34ca02', 'rsrc/js/core/behavior-toggle-class.js' => 'a82a7769', 'rsrc/js/core/behavior-tokenizer.js' => 'b3a4b884', @@ -605,7 +605,7 @@ return array( 'javelin-behavior-phabricator-oncopy' => 'c3e218fe', 'javelin-behavior-phabricator-remarkup-assist' => 'c021950a', 'javelin-behavior-phabricator-reveal-content' => '8f24abfc', - 'javelin-behavior-phabricator-search-typeahead' => 'f6b56f7a', + 'javelin-behavior-phabricator-search-typeahead' => 'd8469741', 'javelin-behavior-phabricator-show-all-transactions' => '7c273581', 'javelin-behavior-phabricator-tooltips' => '48db4145', 'javelin-behavior-phabricator-transaction-comment-form' => '9084a36f', @@ -1768,6 +1768,16 @@ return array( 3 => 'javelin-dom', 4 => 'phabricator-keyboard-shortcut', ), + 'd8469741' => + array( + 0 => 'javelin-behavior', + 1 => 'javelin-typeahead-ondemand-source', + 2 => 'javelin-typeahead', + 3 => 'javelin-dom', + 4 => 'javelin-uri', + 5 => 'javelin-util', + 6 => 'javelin-stratcom', + ), 'd8e135db' => array( 0 => 'javelin-behavior', @@ -1898,16 +1908,6 @@ return array( 2 => 'javelin-util', 3 => 'javelin-reactor', ), - 'f6b56f7a' => - array( - 0 => 'javelin-behavior', - 1 => 'javelin-typeahead-ondemand-source', - 2 => 'javelin-typeahead', - 3 => 'javelin-dom', - 4 => 'javelin-uri', - 5 => 'javelin-util', - 6 => 'javelin-stratcom', - ), 'f7379f45' => array( 0 => 'javelin-behavior', diff --git a/src/view/page/menu/PhabricatorMainMenuSearchView.php b/src/view/page/menu/PhabricatorMainMenuSearchView.php index 353b148775..3c4b677c9f 100644 --- a/src/view/page/menu/PhabricatorMainMenuSearchView.php +++ b/src/view/page/menu/PhabricatorMainMenuSearchView.php @@ -14,8 +14,9 @@ final class PhabricatorMainMenuSearchView extends AphrontView { public function render() { $user = $this->user; - $target_id = celerity_generate_unique_node_id(); + $target_id = celerity_generate_unique_node_id(); $search_id = $this->getID(); + $button_id = celerity_generate_unique_node_id(); $input = phutil_tag( 'input', @@ -39,6 +40,7 @@ final class PhabricatorMainMenuSearchView extends AphrontView { array( 'id' => $target_id, 'input' => $search_id, + 'button' => $button_id, 'src' => '/typeahead/common/mainsearch/', 'limit' => 10, 'placeholder' => pht('Search'), @@ -60,7 +62,10 @@ final class PhabricatorMainMenuSearchView extends AphrontView { ), phutil_tag_div('phabricator-main-menu-search-container', array( $input, - phutil_tag('button', array(), pht('Search')), + phutil_tag( + 'button', + array('id' => $button_id), + pht('Search')), $primary_input, $target, ))); diff --git a/webroot/rsrc/js/core/behavior-search-typeahead.js b/webroot/rsrc/js/core/behavior-search-typeahead.js index 49c116a1e1..59fd3d381b 100644 --- a/webroot/rsrc/js/core/behavior-search-typeahead.js +++ b/webroot/rsrc/js/core/behavior-search-typeahead.js @@ -130,4 +130,9 @@ JX.behavior('phabricator-search-typeahead', function(config) { }); typeahead.start(); + + JX.DOM.listen(JX.$(config.button), 'click', null, function (e) { + typeahead.setPlaceholder(''); + typeahead.updatePlaceHolder(); + }); });