মিডিয়াউইকি:Gadget-PurgeTab.js
লক্ষ্য করুন: প্রকাশ করার পর, পরিবর্তনগুলো দেখতে আপনাকে আপনার ব্রাউজারের ক্যাশে পরিষ্কার করার প্রয়োজন হতে পারে।
- ফায়ারফক্স / সাফারি: পুনরায় লোড-এ ক্লিক করার সময় শিফট টিপে ধরে রাখুন, অথবা হয় Ctrl-F5 বা Ctrl-R টিপুন (ম্যাকে ⌘-R টিপুন)
- গুগল ক্রোম: Ctrl-Shift-R (ম্যাকে ⌘-Shift-R) টিপুন
- ইন্টারনেট এক্সপ্লোরার / এজ: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 টিপুন
- অপেরা: Ctrl-F5 টিপুন।
/**
* Gadget to add tools to the toolbar for purging pages
*/
( function ( $, mw ) {
$( function () {
var link,
strings = {
long: {
purge: 'শোধন',
hpurge: 'Hard purge',
nulled: 'Null edit'
},
short: {
purge: 'শোধন',
hpurge: '**',
nulled: '***'
},
help: {
purge: 'Purge cache for this page',
hpurge: 'Purge with forced recursive-link table update',
nulled: 'Perform a null edit on this page'
}
},
stringType = ( mw.user.options.get( 'skin' ) === 'vector' ) ? 'long' : 'short',
errorLog = function ( msg ) {
/* eslint-disable-next-line no-console */
console.error( msg );
},
afterPurgeFunction = function () {
location.reload();
},
httpErrorHandler = function ( code, details ) {
var mesg;
switch ( code ) {
case 'http':
mesg = 'HTTP error: ' + details.xhr.statusText;
break;
case 'ok-but-empty':
mesg = 'Received empty response.';
break;
default:
mesg = details.error.info;
}
mw.util.jsMessage( '<b>Hard purge failed</b>: ' + mesg );
errorLog( arguments );
},
doPurge = function ( hard ) {
mw.loader.using( 'mediawiki.api' ).done( function () {
var params = {
action: 'purge',
pageids: mw.config.get( 'wgArticleId' )
};
if ( hard ) {
params.forcerecursivelinkupdate = 1;
params.redirects = 1;
}
new mw.Api()
.post( params )
.then( afterPurgeFunction, httpErrorHandler );
} );
},
doNullEdit = function () {
mw.loader.using( 'mediawiki.api' ).done( function () {
new mw.Api().post( {
action: 'edit',
pageid: mw.config.get( 'wgArticleId' ),
appendtext: '',
watchlist: 'nochange',
nocreate: '1',
token: mw.user.tokens.get( 'csrfToken' )
} )
.then( afterPurgeFunction, httpErrorHandler );
} );
};
if ( !mw.config.get( 'wgArticleId' ) ) {
return;
}
link = mw.util.addPortletLink(
'p-cactions', '#', strings[ stringType ].purge,
'ca-purge', strings.help.purge, '*'
);
link.addEventListener( 'click', function ( ev ) {
doPurge( false );
ev.preventDefault();
}, false );
link = mw.util.addPortletLink(
'p-cactions', '#', strings[ stringType ].hpurge,
'ca-purge-forcerecursivelinkupdate', strings.help.hpurge, ','
);
link.addEventListener( 'click', function ( ev ) {
doPurge( true );
ev.preventDefault();
}, false );
link = mw.util.addPortletLink(
'p-cactions', '#', strings[ stringType ].nulled,
'ca-nulledit', strings.help.nulled, '0'
);
link.addEventListener( 'click', function ( ev ) {
doNullEdit();
ev.preventDefault();
}, false );
} );
/* eslint-disable-next-line no-undef */
}( jQuery, mediaWiki ) );