မီႇတီႇယႃႇဝီႇၶီႇ:Gadget-BookCat.js

လုၵ်ႉတီႈ ဝီႇၶီႇပပ်ႉ မႃး
မၢႆတွင်း: ဝၢႆးသေသိမ်းပၼ်ယဝ်ႉ၊ တွၼ်ႈတႃႇ ၸဝ်ႈၵဝ်ႇ တေႁၼ်လႆႈ လွင်ႈလႅၵ်ႈလၢႆႈၼၼ်ႉ ၸဝ်ႈၵဝ်ႇတေၸၢင်ႈလႆႈလတ်းၶၢမ်ႈ ၶႅတ်ႉၶျ် တူဝ်ပိုတ်ႇဝႅပ်ႉၸဝ်ႈၵဝ်ႇယဝ်ႉ။
  • ၽွင်းမိူဝ်ႈတိုၵ်ႉၼဵၵ်း Reload တီႈ Firefox / Safari: ၼၼ်ႉ ၼဵၵ်းဝႆႉပႃး Shift ၊ဢမ်ႇၼၼ် ၼဵၵ်းပၼ် Ctrl-F5 ဢမ်ႇၼၼ် Ctrl-R (တီႈၼႂ်း Mac ၼႆ ၼဵၵ်းပၼ်⌘-R)
  • တီႈၼႂ်း Google Chrome: ၼဵၵ်းပၼ် Ctrl-Shift-R (တီႈၼႂ်း Mac ၼႆႉ ၼဵၵ်းပၼ်⌘-Shift-R )
  • ၽွင်းမိူဝ်ႈ တိုၵ်ႉၼဵၵ်း Refreshတီႈ Internet Explorer/ Edge: ၼဵၵ်းဝႆႉပၼ် Ctrl ဢမ်ႇၼၼ် ၼဵၵ်းပၼ် Ctrl-F5
  • တီႈၼႂ်း Opera: ၵႂႃႇၸူးတီႈ Menu → Settings (ပေႃးပဵၼ်တီႈၼႂ်း Mac ၸိုင် Opera → Preferences ) သေ သိုပ်ႇၵႂႃႇ Privacy & security → Clear browsing data → Cached images and files ၼၼ်ႉလႄႈ။
// based on https://en.wikipedia.org/wiki/User:DannyS712/Draft_no_cat.js
// Set `var bookCatAJAX = true;` to add BookCat without reloading the page
$(() => {
const bookCat = {};
window.bookCat = bookCat;
bookCat.config = {
	name: '[[User:1234qwer1234qwer4/BookCat.js|BookCat.js]]',
	debug: false
};

bookCat.summary = "Added {{[[Template:BookCat|BookCat]]}} using " + bookCat.config.name;
	
bookCat.run = function () {
	var editSummary = bookCat.summary;
	
	if ( bookCat.config.debug ) {
		console.log ( editSummary );
	}
	
	var api = new mw.Api();
	api.get( {
		action: 'query',
		titles: mw.config.get( 'wgPageName' ),
		prop: 'revisions',
		rvprop: 'content',
		rvslots: 'main',
		formatversion: 2
	} ).done(
		function ( response ) {
			console.log( response );
			var text = response.query.pages[0].revisions[0].slots.main.content;
			if(text.match(/\{\{\s*Bookcat\s*\}\}/i)){
				return mw.notify("BookCat already present.");
			}
			text += '\n\n{{BookCat}}';
			api.postWithEditToken( {
				action: 'edit',
				minor: true,
				title: mw.config.get( 'wgPageName' ),
				text: text,
				summary: editSummary
			} ).done(
				function() {
					if(bookCatAJAX === undefined || bookCatAJAX == false){
						location.reload();
					}
					else mw.notify("BookCat successfully added.");
				}
			);
		}
	);
};

});

$( document ).ready( () => {
	if ( mw.config.get( 'wgNamespaceNumber' ) === 0 && mw.config.get('wgAction') === 'view' && mw.config.get('wgCategories').every(e => !e.includes("Book:")) ) {
		mw.loader.using(
			[ 'mediawiki.util' ],
			function () {
				var  link = mw.util.addPortletLink( 'p-cactions', '#', 'BookCat', 'ca-bookcat', 'Add BookCat'); 
				$( link ).click( function ( event ) {
					event.preventDefault();
					mw.loader.using( 'mediawiki.api', window.bookCat.run );
				} );
			}
		);
	}
} );