SearchInputWidget: Support searching a namespaces besides 0
authorKunal Mehta <legoktm@member.fsf.org>
Sat, 17 Dec 2016 00:09:02 +0000 (16:09 -0800)
committerJforrester <jforrester@wikimedia.org>
Sat, 17 Dec 2016 01:15:25 +0000 (01:15 +0000)
0 is currently hardcoded in searchSuggest, making it hard to use
SearchInputWidget for other things.

SearchInputWidget already takes a namespace parameter by virtue of
extending TitleInputWidget, so use that.

Change-Id: Iecf93d1e8d4075a5a9aa0f08059c609aa8db4f6d

resources/src/mediawiki.widgets/mw.widgets.SearchInputWidget.js
resources/src/mediawiki/mediawiki.searchSuggest.js

index 2ac75c5..0a73bef 100755 (executable)
@@ -34,7 +34,8 @@
                        icon: 'search',
                        maxLength: undefined,
                        performSearchOnClick: true,
-                       dataLocation: 'header'
+                       dataLocation: 'header',
+                       namespace: 0
                }, config );
 
                // Parent constructor
@@ -83,7 +84,7 @@
                        self = this;
 
                // reuse the searchSuggest function from mw.searchSuggest
-               promise = mw.searchSuggest.request( api, this.getQueryValue(), $.noop, this.limit );
+               promise = mw.searchSuggest.request( api, this.getQueryValue(), $.noop, this.limit, this.getNamespace() );
 
                // tracking purposes
                promise.done( function ( data, jqXHR ) {
index fa1a78c..ce5f66a 100644 (file)
@@ -4,12 +4,12 @@
 ( function ( mw, $ ) {
        mw.searchSuggest = {
                // queries the wiki and calls response with the result
-               request: function ( api, query, response, maxRows ) {
+               request: function ( api, query, response, maxRows, namespace ) {
                        return api.get( {
                                formatversion: 2,
                                action: 'opensearch',
                                search: query,
-                               namespace: 0,
+                               namespace: namespace || 0,
                                limit: maxRows,
                                suggest: true
                        } ).done( function ( data, jqXHR ) {