۵٬۱۲۳
ویرایش
بدون خلاصۀ ویرایش |
بدون خلاصۀ ویرایش |
||
خط ۱: | خط ۱: | ||
if ( mw.config.get( 'wgNamespaceNumber') == 14 ) { | |||
window.catALotPrefs = { editpages: true, subcatcount: 500 }; | |||
mw.loader.using(['jquery.ui', 'mediawiki.util']).done(function(){ | |||
mw.util.addCSS("#cat_a_lot { right: inherit !important; }"); // for some reason, cat-a-lot from commons has a quirk with RLT, and this fixes it | |||
mw.util.addCSS("#cat_a_lot_settings { display:none !important;}"); // preferences depend on some other gadgets,not available on fawiki, so hide linkette | |||
}); | |||
} | |||
/** | /** | ||
* Cat-a-lot | * Cat-a-lot | ||
خط ۳۰: | خط ۳۷: | ||
userGrp = mw.config.get( 'wgUserGroups' ), | userGrp = mw.config.get( 'wgUserGroups' ), | ||
project = mw.config.get( 'wgDBname' ); | project = mw.config.get( 'wgDBname' ); | ||
var msgs = { | var msgs = { | ||
خط ۳۵: | خط ۴۳: | ||
// new: added 2012-09-19. Please translate. | // new: added 2012-09-19. Please translate. | ||
// Use user language for i18n | // Use user language for i18n | ||
'cat-a-lot-watchlistpref': ' | 'cat-a-lot-watchlistpref' : 'در فهرست پیگیریها قرار دادن پروندههایی که توسط ابزار رده انبوه قصد ویرایششان را دارید.', | ||
'cat-a-lot-watch_pref': ' | 'cat-a-lot-watch_pref' : 'بر اساس ترجیحات شما', | ||
'cat-a-lot-watch_nochange': ' | 'cat-a-lot-watch_nochange' : 'عدم تغییر فهرست پیگیرها', | ||
'cat-a-lot-watch_watch': ' | 'cat-a-lot-watch_watch' : 'پیگیری صفحههایی که توسط ابزار رده انبوه ویرایش شدند', | ||
'cat-a-lot-watch_unwatch': ' | 'cat-a-lot-watch_unwatch' : 'حذف صفحههایی که توسط ابزار رده انبوه ویرایش شدند از فهرست پیگیریتان', | ||
'cat-a-lot-minorpref': ' | 'cat-a-lot-minorpref' : 'برچسب زدن ویرایشها به عنوان خرد (اگر به صورت کلی ویرایشها را جزئی انتخاب کنید، چیزی را تغییر نمیدهد)', | ||
'cat-a-lot-editpagespref': ' | 'cat-a-lot-editpagespref' : 'اجازه طبقهبندی صفحاتی که پرونده نیستند', | ||
'cat-a-lot-docleanuppref': ' | 'cat-a-lot-docleanuppref' : 'برداشتن {{Check categories}} و تمیزکاریهای جزئی دیگر', | ||
'cat-a-lot-uncatpref': ' | 'cat-a-lot-uncatpref' : 'حذف {{Uncategorized}}', | ||
'cat-a-lot-subcatcountpref': ' | 'cat-a-lot-subcatcountpref': 'زیرردههایی که بیشتر دیده میشوند', | ||
'cat-a-lot-config-settings': ' | 'cat-a-lot-config-settings': 'ترجیحات', | ||
'cat-a-lot-buttonpref': ' | 'cat-a-lot-buttonpref' : 'نمایش دکمه تصویری به جای دکمهٔ متنی', | ||
'cat-a-lot-comment-label': ' | 'cat-a-lot-comment-label' : 'شخصیسازی خلاصه ویرایش', | ||
'cat-a-lot-edit-question': ' | 'cat-a-lot-edit-question' : 'چرا این ویرایش لازم است؟', | ||
// Progress | // Progress | ||
// 'cat-a-lot-loading': ' | // 'cat-a-lot-loading' : 'بارگیری …', | ||
'cat-a-lot-editing': ' | 'cat-a-lot-editing' : 'ویرایشکردن صفحه', | ||
'cat-a-lot-of': ' | 'cat-a-lot-of' : 'از ', | ||
'cat-a-lot-skipped-already': ' | 'cat-a-lot-skipped-already' : 'این {{PLURAL:$1|1=صفحه رها شد|$1 صفحهها رها شدند}}، چون در رده مقابل بود:', | ||
'cat-a-lot-skipped-not-found': ' | 'cat-a-lot-skipped-not-found': 'این {{PLURAL:$1|1=صفحه رها شد|$1 صفحهها رها شدند}}، چون رده قدیمی یافت نشد:', | ||
'cat-a-lot-skipped-server': ' | 'cat-a-lot-skipped-server' : 'این {{PLURAL:$1|1=صفحه تغییر نکرد|$1 صفحهها تغییر نکردند}}، چون مشکلی در اتصال به سرور وجود دارد:', | ||
'cat-a-lot-all-done': ' | 'cat-a-lot-all-done' : 'همهٔ صفحات انجام شدند.', | ||
'cat-a-lot-done': ' | 'cat-a-lot-done' : 'انجام شد!', | ||
'cat-a-lot-added-cat': ' | 'cat-a-lot-added-cat' : 'رده $1 افزوده شد', | ||
'cat-a-lot-copied-cat': ' | 'cat-a-lot-copied-cat' : 'کپی به رده $1', | ||
'cat-a-lot-moved-cat': ' | 'cat-a-lot-moved-cat' : 'انتقال به رده $1', | ||
'cat-a-lot-removed-cat': ' | 'cat-a-lot-removed-cat' : 'حذف از رده $1', | ||
// 'cat-a-lot-return-to-page': ' | // 'cat-a-lot-return-to-page': 'بازگشت به صفحه', | ||
// 'cat-a-lot-cat-not-found': ' | // 'cat-a-lot-cat-not-found' : 'رده یافت نشد.', | ||
'cat-a-lot-pe_file': '$1 {{PLURAL:$1|صفحه|صفحه}} از $2 تغییریافت', | |||
'cat-a-lot-parent-cat': 'دارای رده مادر: ', | |||
'cat-a-lot-sub-cat': 'دارای رده فرزند: ', | |||
// Actions | |||
'cat-a-lot-copy' : 'کپی', | |||
'cat-a-lot-move' : 'انتقال', | |||
'cat-a-lot-add' : 'اضافه', | |||
'cat-a-lot-remove-from-cat': 'حذف از این رده', | |||
'cat-a-lot-enter-name' : 'وارد کردن نام رده', | |||
'cat-a-lot-select' : 'انتخاب', | |||
'cat-a-lot-all' : 'همه', | |||
'cat-a-lot-none' : 'هیچکدام', | |||
// as in 17 files selected | // as in 17 files selected | ||
'cat-a-lot-files-selected': '{{PLURAL:$1|1= | 'cat-a-lot-files-selected': '{{PLURAL:$1|1=یک پرونده|$1 پرونده}} انتخاب شد.', | ||
// Actions | // Actions | ||
'cat-a-lot- | 'cat-a-lot-overcat': 'بررسی بیشردهبندی', | ||
'cat-a-lot- | |||
'cat-a-lot-add': ' | 'cat-a-lot-pref-save-summary': 'بهروزرسانی ترجیحات کاربر', | ||
'cat-a-lot-summary-add' : 'افزودن [[رده:$1]]', | |||
'cat-a-lot- | 'cat-a-lot-summary-copy' : 'کپی از [[رده:$1]] به [[رده:$2]]', | ||
'cat-a-lot- | 'cat-a-lot-summary-move' : 'انتقال از [[رده:$1]] به [[رده:$2]]', | ||
'cat-a-lot- | 'cat-a-lot-summary-remove' : 'حذف از [[رده:$1]]', | ||
'cat-a-lot-prefix-summary' : '', // Some text to prepend to the edit summary. Set this to an empty string if you use 'using'. | |||
'cat-a-lot- | 'cat-a-lot-using-summary' : ' [[:fa:وپ:رده انبوه|ردهانبوه]]' // Some text to append to the edit summary. Set this to an empty string if you use 'prefix'. | ||
}; | }; | ||
mw.messages.set( msgs ); | mw.messages.set( msgs ); | ||
خط ۱۰۶: | خط ۱۱۹: | ||
var $body, $container, $dataContainer, $searchInputContainer, $searchInput, $resultList, $markCounter, $selections, | var $body, $container, $dataContainer, $searchInputContainer, $searchInput, $resultList, $markCounter, $selections, | ||
$selectFiles, $selectPages, $selectNone, $selectInvert, $settingsWrapper, $settingsLink, $head, $link, $overcat, | $selectFiles, $selectPages, $selectNone, $selectInvert, $settingsWrapper, $settingsLink, $head, $link, $overcat, | ||
commonsURL = 'https:// | commonsURL = 'https://commons.wikimedia.org/w/index.php', | ||
is_rtl = $( 'body' ).hasClass( 'rtl' ), | is_rtl = $( 'body' ).hasClass( 'rtl' ), | ||
reCat, // localized category search regexp | reCat, // localized category search regexp | ||
خط ۱۹۲: | خط ۲۰۵: | ||
href: commonsURL + '?title=Special:MyLanguage/Help:Gadget-Cat-a-lot', | href: commonsURL + '?title=Special:MyLanguage/Help:Gadget-Cat-a-lot', | ||
target: '_blank', | target: '_blank', | ||
style: 'float: | style: 'float:right', | ||
title: ( $( '#n-help a' ).attr( 'title' ) || '' ) + ' (v. ' + this.version + ')' | title: ( $( '#n-help a' ).attr( 'title' ) || '' ) + ' (v. ' + this.version + ')' | ||
} ).text( '?' ) ); | } ).text( '?' ) ); | ||
$container.one( 'mouseover', function () { // Try load on demand earliest as possible | $container.one( 'mouseover', function () { // Try load on demand earliest as possible | ||
mw.loader.load( [ 'jquery.ui | mw.loader.load( [ 'jquery.ui'] ); | ||
} ); | } ); | ||
خط ۲۵۹: | خط ۲۷۲: | ||
$( '.ui-autocomplete' ) | $( '.ui-autocomplete' ) | ||
.position( { | .position( { | ||
my: | my: "left bottom", | ||
at: | at: "left top", | ||
of: $searchInput | of: $searchInput | ||
} ); | } ); | ||
خط ۳۱۵: | خط ۳۲۸: | ||
$( this ).toggleClass( 'cat_a_lot_enabled' ); | $( this ).toggleClass( 'cat_a_lot_enabled' ); | ||
// Load autocomplete on demand | // Load autocomplete on demand | ||
mw.loader.using( 'jquery.ui | mw.loader.using( 'jquery.ui', initAutocomplete ); | ||
if ( !CAL.executed ) { | if ( !CAL.executed ) { | ||
$.when( mw.loader.using( [ | $.when( mw.loader.using( [ | ||
'jquery.ui | 'jquery.ui', | ||
'jquery.ui | 'jquery.ui', | ||
'jquery.ui | 'jquery.ui', | ||
'mediawiki.api | 'mediawiki.api', | ||
'mediawiki.jqueryMsg' | 'mediawiki.jqueryMsg' | ||
] ), $.ready ) | ] ), $.ready ) | ||
خط ۶۱۱: | خط ۶۲۴: | ||
// escape regexp metacharacters (= any ASCII punctuation except _) | // escape regexp metacharacters (= any ASCII punctuation except _) | ||
category = mw. | category = mw.util.escapeRegExp( category ); | ||
// any sequence of spaces and underscores should match any other | // any sequence of spaces and underscores should match any other | ||
خط ۷۸۶: | خط ۷۹۹: | ||
case 'add': | case 'add': | ||
text = addCategory( text, targetcat ); | text = addCategory( text, targetcat ); | ||
sumCmt = msg( 'summary-add' ).replace( | sumCmt = msg( 'summary-add' ).replace( '$1', targetcat ); | ||
sumCmtShort = '+[[' + catNS + targetcat + ']]'; | sumCmtShort = '+[[' + catNS + targetcat + ']]'; | ||
break; | break; | ||
case 'copy': | case 'copy': | ||
text = text.replace( this.regexCatBuilder( sourcecat ), '[[' + catNS + sourcecat + '$1]]\n[[' + catNS + targetcat + '$1]]\n' ); | text = text.replace( this.regexCatBuilder( sourcecat ), '[[' + catNS + sourcecat + '$1]]\n[[' + catNS + targetcat + '$1]]\n' ); | ||
sumCmt = msg( 'summary-copy' ).replace( | sumCmt = msg( 'summary-copy' ).replace( '$1', sourcecat ).replace( '$2', targetcat ); | ||
sumCmtShort = '+[[' + catNS + sourcecat + ']]' + arr + '[[' + catNS + targetcat + ']]'; | sumCmtShort = '+[[' + catNS + sourcecat + ']]' + arr + '[[' + catNS + targetcat + ']]'; | ||
// If category is added through template: | // If category is added through template: | ||
خط ۷۹۹: | خط ۸۱۲: | ||
case 'move': | case 'move': | ||
text = text.replace( this.regexCatBuilder( sourcecat ), '[[' + catNS + targetcat + '$1]]\n' ); | text = text.replace( this.regexCatBuilder( sourcecat ), '[[' + catNS + targetcat + '$1]]\n' ); | ||
sumCmt = msg( 'summary-move' ).replace( | sumCmt = msg( 'summary-move' ).replace( '$1', sourcecat ).replace( '$2', targetcat ); | ||
sumCmtShort = '±[[' + catNS + sourcecat + ']]' + arr + '[[' + catNS + targetcat + ']]'; | sumCmtShort = '±[[' + catNS + sourcecat + ']]' + arr + '[[' + catNS + targetcat + ']]'; | ||
break; | break; | ||
case 'remove': | case 'remove': | ||
text = text.replace( this.regexCatBuilder( targetcat ), '' ); | text = text.replace( this.regexCatBuilder( targetcat ), '' ); | ||
sumCmt = msg( 'summary-remove' ).replace( | sumCmt = msg( 'summary-remove' ).replace( '$1', targetcat ); | ||
sumCmtShort = '-[[' + catNS + targetcat + ']]'; | sumCmtShort = '-[[' + catNS + targetcat + ']]'; | ||
break; | break; | ||
خط ۹۴۲: | خط ۹۵۵: | ||
if ( $( '#cat_a_lot_comment' ).prop( 'checked' ) ) { this.summary = window.prompt( msg( 'edit-question' ), '' ); } // TODO custom pre-value | if ( $( '#cat_a_lot_comment' ).prop( 'checked' ) ) { this.summary = window.prompt( msg( 'edit-question' ), '' ); } // TODO custom pre-value | ||
if ( this.summary !== null ) { | if ( this.summary !== null ) { | ||
mw.loader.using( [ 'jquery.ui | mw.loader.using( [ 'jquery.ui', 'jquery.spinner', 'mediawiki.util' ], function () { | ||
CAL.showProgress(); | CAL.showProgress(); | ||
CAL.getTargetCat( pages, targetcat, mode ); | CAL.getTargetCat( pages, targetcat, mode ); | ||
خط ۹۸۸: | خط ۱٬۰۰۱: | ||
createCatLinks: function ( symbol, list, table ) { | createCatLinks: function ( symbol, list, table ) { | ||
list.sort(); | list.sort(); | ||
var button = ( this.settings.button && mw.loader.getState( 'jquery.ui | var button = ( this.settings.button && mw.loader.getState( 'jquery.ui' ) === 'ready' ) ? 1 : 0; | ||
for ( var c = 0; c < list.length; c++ ) { | for ( var c = 0; c < list.length; c++ ) { | ||
var $tr = $( '<tr>' ), | var $tr = $( '<tr>' ), | ||
خط ۱٬۰۳۴: | خط ۱٬۰۴۷: | ||
if ( button ) { | if ( button ) { | ||
$buttons.slice( -1 )[ 0 ].button( { | $buttons.slice( -1 )[ 0 ].button( { | ||
icons: { primary: 'ui-icon-arrowthick-1- | icons: { primary: 'ui-icon-arrowthick-1-w' }, | ||
showLabel: false, | showLabel: false, | ||
text: false | text: false | ||
خط ۱٬۲۹۶: | خط ۱٬۳۰۹: | ||
$link.after( $( '<a>' ) | $link.after( $( '<a>' ) | ||
.text( '–' ) | .text( '–' ) | ||
.css( { fontWeight: 'bold', | .css( { fontWeight: 'bold', marginLeft: '.7em' } ) | ||
.one( 'click', this.minimize ) | .one( 'click', this.minimize ) | ||
); | ); | ||
خط ۱٬۳۱۰: | خط ۱٬۳۲۳: | ||
.css( { | .css( { | ||
maxHeight: '', | maxHeight: '', | ||
width: '' | width: '', | ||
left:'', | |||
top:'' | |||
} ); | } ); | ||
}, | }, | ||
خط ۱٬۳۷۱: | خط ۱٬۳۸۶: | ||
manageSettings: function () { | manageSettings: function () { | ||
mw.loader.using( [ 'ext.gadget.SettingsManager', 'ext.gadget.SettingsUI', 'jquery.ui | mw.loader.using( [ 'ext.gadget.SettingsManager', 'ext.gadget.SettingsUI', 'jquery.ui' ], CAL._manageSettings ); | ||
}, | }, | ||
ویرایش