ميډياويکي:Common.js

د ويکيسيند لخوا

يادښت: د غوره توبونو د خوندي کولو وروسته، خپل د کتنمل (بروزر) ساتل شوې حافظه تازه کړی.

  • فايرفاکس/ سفري: په دې کتنمل کې د Reload د ټکوهلو په وخت د Shift تڼۍ نيولې وساتی، او يا هم Ctrl-F5 يا Ctrl-Rتڼۍ کېښکاږۍ (په Apple Mac کمپيوټر باندې ⌘-R کېښکاږۍ)
  • گووگل کروم: په دې کتنمل کې د Ctrl-Shift-R تڼۍ کېښکاږۍ (د مک لپاره ⌘-Shift-R)
  • انټرنټ اېکسپلورر: په دې کتنمل کې د Refresh د ټکوهلو په وخت کې د Ctrl تڼۍ کېښکاږلې ونيسۍ، او يا هم د Ctrl-F5 تڼۍ کېښکاږۍ
  • اوپرا: په دې کتنمل کې د خپل براوزر ساتل شوې حافظه پدې توگه سپينولی شی Tools→Preferences
'use strict'; /* Any JavaScript here will be loaded for all users on every page load. */
/*jshint shadow:true, undef:true, latedef:true, unused:true, es3:true */
/*global jQuery, mw, importScript, importStylesheet */

/** [[WT:PREFS]] v2.0 **/
try { (function () {

var prefs;
try {
	prefs = window.localStorage.getItem('AGprefs');
} catch (e) {
	prefs = jQuery.cookie('AGprefs');
}

prefs = prefs && JSON.parse(prefs);

if (mw.config.get('wgUserGroups').indexOf('autoconfirmed') !== -1)
	return;

if (mw.config.get('wgUserGroups').indexOf('user') === -1) {
	// XXX: [[Wiktionary:Preferences/V2]] is just a temporary page

	mw.loader.using(['mediawiki.util'], function () {
		mw.util.addPortletLink('p-personal', mw.util.getUrl('Wiktionary:Preferences/V2'),
			'Preferences', 'pt-agprefs', 'Personalise Wiktionary (settings are kept per-browser).', '',
			document.getElementById('pt-createaccount'));
	});
	
	if ((mw.config.get('wgAction') === 'view') && (mw.config.get('wgPageName') === 'Wiktionary:Preferences/V2')) {
		mw.loader.load('ext.gadget.AGprefs'); // [[MediaWiki:Gadget-AGprefs.js]]
	}
}

if (!prefs)
	return;

mw.loader.state('the_pope_is_an_atheist_woman_alien', 'missing');
for (var key in prefs.modules) {
	if (prefs.modules[key]) {
		mw.loader.load([key]);
	} else {
		// unavoidable race condition. to prevent it, every enabled-by-default gadget should have "site" as a dependency
		if (mw.loader.getState(key) !== 'ready') {
			mw.loader.moduleRegistry[key].dependencies.push('the_pope_is_an_atheist_woman_alien');
			mw.loader.state(key, 'missing');
		} else {
			// XXX
			mw.log.warn(key + " could not be disabled; make sure it has 'site' declared as a dependency");
		}
	}
}

for (var key in prefs.sheets) {
	importStylesheet('MediaWiki:Gadget-' + key);
}

for (var key in prefs.scripts) {
	importScript('MediaWiki:Gadget-' + key);
}

if (mw.config.get('wgUserGroups').indexOf('user') !== -1)
mw.loader.using([ 'mediawiki.api'], function () {
	var changes = [];
	for (var key in prefs.gadgets)
		changes.push('gadget-' + key + '=' + (prefs.gadgets[key] ? '1' : '0'));

	(new mw.Api()).postWithToken('options', {
		action: 'options',
		change: changes.join('|')
	}).then(function () {
		jQuery.cookie('AGprefs', null);
		try { window.localStorage.removeItem('AGprefs'); } catch (e) { /* */ }
		mw.notify(
			jQuery('<b>Your <a href="/wiki/Wiktionary:Preferences/V2">per-browser preferences</a> have been migrated</b><br/><br/>' +
			'From now on, you should use your <a href="/wiki/Special:Preferences">user preferences page</a>. ' +
			'Preferences will no longer apply after you log out.')
		);
	});
});

})(); } catch (e) { mw.log.warn(e); }

mw.loader.using('mediawiki.util').done(function(){
	/** &withmodule= query parameter **/
	if (mw.util.getParamValue('withmodule'))
		mw.loader.load(mw.util.getParamValue('withmodule').split(','));
	
	/** &preloadtext= and &preloadminor= **/
	if (mw.config.get('wgAction') === 'edit')
	jQuery(document).ready(function() {
		var wpTextbox1 = document.getElementById('wpTextbox1');
		var wpMinoredit = document.getElementById('wpMinoredit');
		if (!wpTextbox1)
			return;

		var preloadtext = mw.util.getParamValue('preloadtext');
		var preloadminor = mw.util.getParamValue('preloadminor'); 

		if (preloadtext && !wpTextbox1.value)
			wpTextbox1.value = preloadtext;
		if ((preloadminor !== null) && wpMinoredit)
			wpMinoredit.checked = !/^(0|false|no|)$/i.test(preloadminor);
	});

	/** Monthly subpages; see {{discussion recent months}} **/
	if (/^Wiktionary:(Beer_parlour|Grease_pit|Tea_room|Etymology_scriptorium|Information_desk)$/.test(mw.config.get('wgPageName')))
	jQuery(document).ready(function() {
		var nNSR = document.getElementById('new-section-redirect').getElementsByTagName('a')[0];
		var caAddSection = document.getElementById('ca-addsection');
		if (!caAddSection) {
			caAddSection = mw.util.addPortletLink(mw.config.get('skin') === 'vector' ? 'p-views' : 'p-cactions',
				nNSR.href, '+', 'ca-addsection', "Start a new section", '+', document.getElementById('ca-history')
			);
		} else {
			caAddSection.getElementsByTagName('a')[0].href = nNSR.href;
		}
	});
});

/** [[Special:PrefixIndex/Unsupported titles]] **/
if ((mw.config.get('wgAction') === 'view') && /^Unsupported_titles\//.test(mw.config.get('wgPageName')))
jQuery(document).ready(function () {
	var titleMap = {
		'Left_curly_bracket'      : '{',
		'Right_curly_bracket'     : '}',
		'Left_square_bracket'     : '[',
		'Right_square_bracket'    : ']',
		'Less_than_sign'          : '<',
		'Greater_than_sign'       : '>',
		'Double_colon'            : '::',
		'Colon_equals'            : ':=',
		'Colon_left_paren'        : ':(',
		'Colon_right_paren'       : ':)',
		'Less_than_greater_than'  : '<>',
		'Less_than_three'         : '<3',
		'Colon_hyphen_left_paren' : ':-(',
		'Colon_hyphen_right_paren': ':-)',
		'Vertical_line'           : '|',
		'C_sharp'                 : 'C#',
		'Number_sign'             : '#',
		'Colon'                   : ':',
		'Double_period'           : '..',
		'Full_stop'               : '.',
		'Low_line'                : '_',
		'Replacement_character'   : '\ufffd',
		
		'Thai_name_of_Bangkok'    : 'กรุงเทพมหานคร อมรรัตนโกสินทร์ มหินทรายุธยามหาดิลกภพ นพรัตน์ราชธานีบุรีรมย์ อุดมราชนิเวศน์มหาสถาน อมรพิมานอวตารสถิต สักกะทัตติยะวิษณุกรรมประสิทธิ์',
		'Ancient_Greek_dish'      : 'λοπαδοτεμαχοσελαχογαλεοκρανιολειψανοδριμυποτριμματοσιλφιοκαραβομελιτοκατακεχυμενοκιχλ\u00ADεπικοσσυφοφαττοπεριστεραλεκτρυονοπτοκεφαλλιοκιγκλοπελειολαγῳοσιραιοβαφητραγανοπτερύγων',
		
		'Ideographic_space'       : '[ideographic space]',
		'Space'                   : '[space]',
		'Ogham_space'             : '[Ogham space]',

		''                        : ''
	};
	var newTitle = titleMap[mw.config.get('wgPageName').replace(/^Unsupported_titles\//, '')] ||
		(mw.config.get('wgTitle').replace(/^Unsupported titles\//, ''));
	
	var titleTag = document.getElementsByTagName('title')[0];
	titleTag.textContent = titleTag.textContent.replace(/^.*(?= -)/, newTitle);
	document.getElementById('firstHeading').textContent = newTitle;
});

// The rest of the scripts are at [[MediaWiki:Gadget-legacy.js]].
// Most of them should be converted into gadgets as time and resources allow.