Merge "Forward X-Search-ID header to search suggest tracking"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 25 Sep 2018 20:24:41 +0000 (20:24 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 25 Sep 2018 20:24:41 +0000 (20:24 +0000)
1  2 
resources/src/mediawiki.searchSuggest/searchSuggest.js
resources/src/mediawiki.widgets/mw.widgets.SearchInputWidget.js

@@@ -2,7 -2,7 +2,7 @@@
  /*!
   * Add search suggestions to the search form.
   */
 -( function ( mw, $ ) {
 +( function () {
        var searchNS = $.map( mw.config.get( 'wgFormattedNamespaces' ), function ( nsName, nsID ) {
                if ( nsID >= 0 && mw.user.options.get( 'searchNs' + nsID ) ) {
                        // Cast string key to number
@@@ -22,6 -22,7 +22,7 @@@
                        } ).done( function ( data, jqXHR ) {
                                response( data[ 1 ], {
                                        type: jqXHR.getResponseHeader( 'X-OpenSearch-Type' ),
+                                       searchId: jqXHR.getResponseHeader( 'X-Search-ID' ),
                                        query: query
                                } );
                        } );
                                action: 'impression-results',
                                numberOfResults: context.config.suggestions.length,
                                resultSetType: metadata.type || 'unknown',
+                               searchId: metadata.searchId || null,
                                query: metadata.query,
                                inputLocation: getInputLocation( context )
                        } );
                        .find( '.mw-fallbackSearchButton' ).remove();
        } );
  
 -}( mediaWiki, jQuery ) );
 +}() );
@@@ -4,7 -4,7 +4,7 @@@
   * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt
   * @license The MIT License (MIT); see LICENSE.txt
   */
 -( function ( $, mw ) {
 +( function () {
  
        /**
         * Creates a mw.widgets.SearchInputWidget object.
                // tracking purposes
                promise.done( function ( data, jqXHR ) {
                        self.requestType = jqXHR.getResponseHeader( 'X-OpenSearch-Type' );
+                       self.searchId = jqXHR.getResponseHeader( 'X-Search-ID' );
                } );
  
                return promise;
                        data: response || {},
                        metadata: {
                                type: this.requestType || 'unknown',
+                               searchId: this.searchId || null,
                                query: this.getQueryValue()
                        }
                };
                this.requestType = undefined;
+               this.searchId = undefined;
  
                return resp;
        };
                        action: 'impression-results',
                        numberOfResults: items.length,
                        resultSetType: data.metadata.type,
+                       searchId: data.metadata.searchId,
                        query: data.metadata.query,
                        inputLocation: this.dataLocation || 'header'
                } );
                return items;
        };
  
 -}( jQuery, mediaWiki ) );
 +}() );