MediaWiki:Gadget-edittop.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// **********************************************************************
// **                 ***WARNING GLOBAL GADGET FILE***                 **
// **             changes to this file affect many users.              **
// **           please discuss on the talk page before editing         **
// **                                                                  **
// **********************************************************************
// Imported from [[User:Alex Smotrov/edittop.js]], version as of: 2007-06-19T04:28:52
// Updated from [[User:TheDJ/Gadget-edittop.js]], version as of: 2009-04-28T11:54:22

if (
	[ 'view', 'purge' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 &&
	mw.config.get( 'wgNamespaceNumber' ) >= 0 &&
	!mw.config.get( 'wgMFMode' )
) {
	$( function edittopHook() {
		var localtitles = {
			bg: 'Редактиране на началото',
			bn: 'সূচনা অনুচ্ছেদ সম্পাদনা করুন',
			cs: 'Editovat úvodní sekci',
			en: 'Edit lead section',
			fa: 'ویرایش بخش آغازین',
			fr: 'Modifier le résumé introductif',
			id: 'Sunting bagian atas',
			it: 'Modifica della sezione iniziale',
			ja: '導入部を編集',
			kk: 'Кіріспе бөлімді өңдеу',
			min: 'Suntiang bagian ateh',
			ko: '도입부를 편집',
			pa: 'ਸੋਧ',
			pt: 'Editar a seção superior',
			'pt-br': 'Editar a seção superior',
			sr: 'Уреди уводни део',
			th: 'แก้ไขย่อหน้าแรกสุด',
			vi: 'Sửa phần mở đầu'
		};

		var $content = $( '#content, #mw_content' ).first();
		var $span1 = $content.find( 'span.mw-editsection:not(.plainlinks)' ).first();
		if ( !$span1.length ) {
			return;
		}
		var $span0 = $span1.clone();
        $span0.removeClass( 'cdx-button--size-large' );

		$( '#mw_header h1, #content h1' ).first().append( $span0 );
		$span0.find( 'a' ).each( function () {
			var $a = $( this ), href;
			$a.attr( 'title', localtitles[ mw.config.get( 'wgUserLanguage' ) ] || localtitles.en );
			href = $a.attr( 'href' ) || '#';
			if ( !/&(ve|)section=T/.test( $a.attr( 'href' ) ) ) { // not transcluded
				$a.attr( 'href', href.replace( /&(ve|)section=\d+/, '&$1section=0&summary=/*%20top%20*/%20' ) );
			} else if ( /&vesection=/.test( $a.attr( 'href' ) ) ) { // transcluded, VE
				$a.attr( 'href', mw.util.getUrl( mw.config.get( 'wgPageName' ) ) + '?veaction=edit&vesection=0&summary=/*%20top%20*/%20' );
			} else { // transcluded, not VE
				$a.attr( 'href', mw.util.getUrl( mw.config.get( 'wgPageName' ) ) + '?action=edit&section=0&summary=/*%20top%20*/%20' );
			}
		} );
	} );
}