https://www.mediawiki.org/wiki/Special:Code/MediaWiki/113830

Revision: 113830
Author:   jdlrobson
Date:     2012-03-14 18:37:21 +0000 (Wed, 14 Mar 2012)
Log Message:
-----------
allow search to be triggered on a blur and submit event

hitting enter in a search box should trigger a search
for javascript enabled browsers - not redirect to the
search results page

also some browsers (opera mini) do not support keyup
event so providing blur fallback

Modified Paths:
--------------
    trunk/extensions/MobileFrontend/javascripts/beta_opensearch.js
    trunk/extensions/MobileFrontend/templates/SearchTemplate.php

Modified: trunk/extensions/MobileFrontend/javascripts/beta_opensearch.js
===================================================================
--- trunk/extensions/MobileFrontend/javascripts/beta_opensearch.js      
2012-03-14 18:29:08 UTC (rev 113829)
+++ trunk/extensions/MobileFrontend/javascripts/beta_opensearch.js      
2012-03-14 18:37:21 UTC (rev 113830)
@@ -105,25 +105,28 @@
                }
        }
 
-       window.onload = function () {
-               u( search ).bind( 'keyup',
-                       function() {
+       var performSearch = function(ev) {
+               ev.preventDefault();
                                clearTimeout( timer );
-                               term = this.value;
+                               term = search.value;
                                if ( term.length < 1 ) {
                                        results.innerHTML = '';
                                } else {
                                        term = encodeURIComponent( term );
                                        timer = setTimeout( function () { 
searchApi( term ); }, typingDelay );
                                }
-                       } );
        };
+       u( search ).bind( 'keyup', performSearch );
+       u( document.getElementById( 'searchForm' ) ).bind( 'submit', 
performSearch );
+       u( search ).bind( 'blur', performSearch ); // for opera mini etc
 
        function searchApi( term ) {
                url = apiUrl + '?action=opensearch&limit=' + numResults + 
'&namespace=0&format=xml&search=' + term;
                u.ajax( { url: url,
                        success: function(xml) {
-                               writeResults( createObjectArray( xml ) );
+                               if( u( document.body ).hasClass( 
'full-screen-search' ) ) {
+                                       writeResults( createObjectArray( xml ) 
);
+                               }
                        }
                        } );
        }

Modified: trunk/extensions/MobileFrontend/templates/SearchTemplate.php
===================================================================
--- trunk/extensions/MobileFrontend/templates/SearchTemplate.php        
2012-03-14 18:29:08 UTC (rev 113829)
+++ trunk/extensions/MobileFrontend/templates/SearchTemplate.php        
2012-03-14 18:37:21 UTC (rev 113830)
@@ -33,7 +33,7 @@
                <div id='header'>
                        <div id='searchbox' {$logoDisplayNone}>
                        <img width="35" height="22" alt='Logo' id='logo' 
src='{$this->data['wgMobileFrontendLogo']}' {$logoDisplayNone} />
-                       <form action='{$scriptUrl}' class='search_bar' 
method='get' {$searchBoxDisplayNone}>
+                       <form id='searchForm' action='{$scriptUrl}' 
class='search_bar' method='get' {$searchBoxDisplayNone}>
                          <input type="hidden" value="Special:Search" 
name="title" />
                                <div id="sq" class="divclearable">
                                        <input type="search" name="search" 
id="search" size="22" value="{$searchField}" autocorrect="off" 
autocomplete="off" autocapitalize="off" maxlength="1024" class="search" 
placeholder="{$placeholder}" />


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to