MediaWiki:Gadget-enhanced-search.js
Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.
- Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
- Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
- Internet Explorer / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
- Opera: Naciśnij klawisze Ctrl+F5.
// <pre>
// Skrypt dla strony specjalnej [[Special:Search]]
/*
== Small search keyboard ==
; Author: Maciej Jaros [[:pl:User:Nux]]
; Licence: CC-BY or [http://opensource.org/licenses/gpl-license.php GNU General Public License v2]
*/
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == "Search" ) {
jQuery( document ).ready( function() {
if ( document.forms['search'] ) {
addSearchKeyboard( document.forms['search'] );
}
if ( document.forms['powersearch'] ) {
addSearchKeyboard( document.forms['powersearch'] );
}
} );
}
function addSearchKeyboard( searchForm ) {
var searchBoxId = 'lsearchbox';
if ( !searchForm.lsearchbox ) {
if ( searchForm.search.id == '' ) {
searchBoxId = searchForm.name + 'box';
searchForm.search.id = searchBoxId;
} else {
searchBoxId = searchForm.search.id;
}
}
var $input = jQuery( '#' + searchBoxId );
var $panel = jQuery( '<div class="search_keyboard" style="width:50%; font-size:small; font-weight: bold" />' );
$panel.append( "Polskie znaki: " );
var letters = ['ą', 'ć', 'ę', 'ł', 'ń', 'ó', 'ś', 'ź', 'ż', '–', '„', '”'];
for ( var i = 0; i < letters.length; i++ ) {
var $link = jQuery( '<a href="#"/>' );
$link.append( letters[i] );
$link.click( function( event ) {
$input.textSelection( 'encapsulateSelection', {
pre: jQuery( this ).text()
} );
event.preventDefault();
} );
$panel.append( $link );
}
$input.parent().parent().append( $panel );
}
/** Change Special:Search to use a drop-down menu
*
* Description: Dodaje do strony Special:Search menu rozwijane
* pozwalające na wybór wyszukiwarki
* Created by: [[en:User:Gracenotes]]
*/
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == "Search" ) {
jQuery( document ).ready( function() {
var searchEngines = [];
var createOption = function( site, action, mainQ, addQ, addV ) {
var opt = document.createElement( 'option' );
opt.appendChild( document.createTextNode( site ) );
searchEngines.push( [action, mainQ, addQ, addV] );
return opt;
};
var searchForm;
if ( document.forms['powersearch'] ) {
searchForm = document.forms['powersearch'];
} else if ( document.forms['search'] ) {
searchForm = document.forms['search'];
}
if ( searchForm.lsearchbox ) {
var searchBox = searchForm.lsearchbox;
} else {
var searchBox = searchForm.search;
}
var selectBox = document.createElement( 'select' );
selectBox.id = 'searchEngine';
searchForm.onsubmit = function() {
var optSelected = searchEngines[document.getElementById( 'searchEngine' ).selectedIndex];
searchForm.action = optSelected[0];
searchBox.name = optSelected[1];
searchForm.title.value = optSelected[3];
searchForm.title.name = optSelected[2];
};
selectBox.appendChild( createOption( 'MediaWiki', mw.util.wikiScript(), 'search', 'title', 'Special:Search' ) );
selectBox.appendChild( createOption( 'Google', '//www.google.pl/search', 'q', 'sitesearch', 'pl.wikinews.org' ) );
selectBox.appendChild( createOption( 'Yahoo', 'http://search.yahoo.com/search', 'p', 'vs', 'pl.wikinews.org' ) );
selectBox.appendChild( createOption( 'Bing', 'http://www.bing.com/search', 'q', 'q1', 'site:http://pl.wikinews.org' ) );
searchBox.style.marginLeft = '0px';
if ( document.getElementById( 'loadStatus' ) ) {
var lStat = document.getElementById( 'loadStatus' );
} else {
var lStat = searchForm.title;
}
lStat.parentNode.insertBefore( selectBox, lStat );
} );
}