میڈیاویکی:Gadget-incategory.js
یاددہانی: محفوظ کرنے کے بعد تازہ ترین تبدیلیوں کو دیکھنے کے لیے آپ کو اپنے براؤزر کا کیش صاف کرنا ہوگا۔
- فائرفاکس/ سفاری: جب Reload پر کلک کریں تو Shift دبا کر رکھیں، یا Ctrl-F5 یا Ctrl-R دبائیں (Mac پر R- )
- گوگل کروم: Ctrl-Shift-R دبائیں (Mac پر Shift-R-⌘)
- انٹرنیٹ ایکسپلورر: جب Refresh پر کلک کریں تو Ctrl یا Ctrl-F5 دبائیں
- اوپیرا: Tools → Preferences میں جائیں اور کیش صاف کریں
شاید اس اسکرپٹ کی دستاویزی تفصیلات میڈیاویکی:Gadget-incategory پر، اور متعاقب .css صفحہ میڈیاویکی:Gadget-incategory.css پر موجود ہیں۔ |
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' ) {
$( function() {
'use strict';
$( '.search-types ul' ).append( '<li><a href="#" id="gadget-incategory">زمرہ جات میں تلاش</a></li>' );
$( '#gadget-incategory' ).click( function( e ) {
e.preventDefault();
if ( $( '.gadget-incategory' ).length ) {
return;
}
var
d = $( '<div></div>' ),
n = 0,
iw,
s;
function createinput() {
iw.append( '<input list="gadget-incategory-datalist' + n + '"><datalist id="gadget-incategory-datalist' + n + '"></datalist>' );
$( '.gadget-incategory input' ).last().focus();
}
d.dialog( {
autoOpen: false,
title: 'زمرہ جات میں تلاش',
dialogClass: 'gadget-incategory',
close: function() {
$( this ).dialog( 'destroy' ).remove();
}
} );
d.dialog( 'open' );
d.append( '<p>اس خاص تلاش سے آپ زمرہ جات کے تحت زیادہ آسانی سے صفحات کو مجموعہ کی صورت تلاش کر سکتے ہیں۔ یادہانی! یہ صرف درج کردہ زمرہ میں موجود صفحات ہی ظاہر کرتا ہے، نہ کہ، زمرے کے ذیلی زمروں کے صفحات کو۔</p>' );
d.append( '<div id="inputwrapper"></div>' );
iw = $( '#inputwrapper' );
createinput();
d.append( '<a href="#" id="gadget-incategory-createinput">مزید خانہ تلاش شامل کریں</a>' );
$( '#gadget-incategory-createinput' ).click( function( e ) {
e.preventDefault();
n += 1;
createinput();
} );
d.append( '<button id="gadget-incategory-search">تلاش</button>' );
s = $( '#gadget-incategory-search' );
iw.on( 'input', 'input', function( e ) {
var
api = new mw.Api(),
text = $( this ).val();
if ( !/^\s*$/.test( text ) ) {
api.get( {
action: 'query',
list: 'allpages',
apfrom: text,
apnamespace: 14,
aplimit: 5
} ).done( function( data ) {
var
arr = data.query.allpages,
pages = [],
stripped = [],
datalist = [],
str;
arr.forEach( function( elem ) {
pages.push( elem.title );
} );
pages.forEach( function( elem ) {
stripped.push( elem.replace( /^زمرہ:/, '' ) );
} );
stripped.forEach( function( elem ) {
datalist.push( '<option value="' + elem + '">' );
} );
str = datalist.join( '' );
$( e.target ).next().empty().append( str );
} );
}
} );
s.click( function() {
var
arr = [],
trimmed = [],
prefixed = [],
str,
encodedstr;
$( '.gadget-incategory input' ).each( function() {
arr.push( $( this ).val() );
} );
arr.forEach( function( elem ) {
if ( !/^\s*$/.test( elem ) ) {
trimmed.push( elem );
}
} );
trimmed.forEach( function( elem ) {
prefixed.push( 'incategory:"' + elem + '"' );
} );
str = prefixed.join( ' ' );
encodedstr = encodeURIComponent( str );
window.location = '/w/index.php?title=Special%3Aتلاش&search=' + encodedstr;
} );
iw.on( 'keyup', 'input', function( e ) {
if ( e.which === 13 ) {
s.trigger( 'click' );
}
} );
} );
} );
}