mediawiki-skins-Citizen/resources/skins.citizen.search/searchClient.js

23 lines
609 B
JavaScript
Raw Normal View History

const searchClientsData = require( './searchClients/searchClients.json' );
function searchClient( config ) {
return {
active: null,
getData: function ( key, value ) {
const data = Object.values( searchClientsData ).find( ( item ) => item[ key ] === value );
return data;
},
setActive: function ( id ) {
const data = this.getData( 'id', id );
if ( data && data !== this.active ) {
const client = require( `./searchClients/${ data.id }.js` );
this.active = data;
this.active.client = client( config );
}
}
};
}
/** @module searchClient */
module.exports = searchClient;