Page MenuHomePhabricator

WikibaseSearchApi

Authored By
Bene
Aug 25 2015, 11:31 AM
Size
1 KB
Referenced Files
None
Subscribers
None

WikibaseSearchApi

/**
* API for search
* @extends Api
* @class SearchApi
*/
( function ( M, $ ) {
var WikibaseSearchApi,
Page = M.require( 'Page' ),
SearchApi = M.require( 'modules/search/SearchApi' );
/**
* @class WikibaseSearchApi
* @extends SearchApi
*/
WikibaseSearchApi = SearchApi.extend( {
/**
* Get the data used to do the search query api call.
* @method
* @param {String} query to search for
* @return {Object}
*/
getApiData: function ( query ) {
return {
action: 'wbsearchentities',
language: 'en', //FIXME
search: query,
format: 'json',
type: 'item' //FIXME
};
},
/**
* Process the data returned by the api call.
* @param {String} query to search for
* @param {Object} data from api
* @return {Array}
* @private
*/
_processData: function( query, data ) {
var self = this,
results = [];
if ( data.search ) {
$.each( data.search, function ( i, entity ) {
// data used for creating {Page} objects
results.push( {
id: entity.pageid, //FIXME
title: entity.title, //FIXME
displayTitle: self._highlightSearchTerm( entity.label, query ),
url: entity.url,
thumbnail: entity.thumbnail //FIXME
} );
} );
}
return results;
}
} );
M.define( 'modules/search/WikibaseSearchApi', WikibaseSearchApi );
}( mw.mobileFrontend, jQuery ) );

File Metadata

Mime Type
text/plain; charset=utf-8
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2373431
Default Alt Text
WikibaseSearchApi (1 KB)

Event Timeline