MediaWiki:Group-sysop.js

З Вікіпедыі, свабоднай энцыклапедыі

Заўвага: Пасля апублікавання, вам можа спатрэбіцца ачыстка кэшу браўзера, каб убачыць унесеныя змены.

  • Firefox / Safari: націсніце Reload, утрымліваючы Shift, або націсніце Ctrl-F5 ці Ctrl-R (⌘-R на Макінтошах)
  • Google Chrome: Націсніце Ctrl-Shift-R (⌘-Shift-R на Mac)
  • Internet Explorer / Edge: націсніце Refresh, утрымліваючы Ctrl, або націсніце Ctrl-F5
  • Opera: Увайдзіце Menu → Settings (Opera → Preferences на Mac), далей Privacy & security → Clear browsing data → Cached images and files.
mw.hook( 'wikipage.content' ).add( function() {

	// ============= Pages =============

	if ( mw.config.get( 'wgNamespaceNumber' ) >= 0 && mw.config.get( 'wgArticleId' ) ) {
		switch ( mw.config.get( 'wgAction' ) ) {
			case 'protect':
			case 'unprotect': //avoid [move=autoconfirmed] in logs
				$( '#mwProtect-level-edit' ).change( function() {
					if (
						!$( '#mwProtectUnchained' ).attr( 'checked' ) &&
						$( '#mwProtect-level-move' ).val() === 'autoconfirmed'
					) {
						$( '#mwProtect-level-move' ).val( '' );
					}
				} );
				break;

			case 'history':
				hideRevDel();
				break;
		} // switch
	}

	// ============= Special pages =============

	if ( [ 'Log', 'Contributions' ].indexOf( mw.config.get( 'wgCanonicalSpecialPageName' ) ) > -1 ) {
		hideRevDel();
	}

	// =============

	function hideRevDel() { // Initially hide RevDel [[:ru:ВП:Удаление правки]] interface
		if ( !window.hrdOff ) {
			window.hideRevDelCSS = mw.util.addCSS( '\
				#mw-log-deleterevision-submit input[type="checkbox"],\
				button.mw-log-deleterevision-button,\
				#pagehistory input[type="checkbox"],\
				button.mw-history-revisiondelete-button,\
				span.mw-revdelundel-link {\
					display: none;\
				}' );
			window.revisionDelete = function( event ) {
				if ( event ) {
					event.preventDefault();
				}
				window.hideRevDelCSS.disabled = !window.hideRevDelCSS.disabled;
				return false;
			};
			addSysopLink( '#', 'Схаванне правак', revisionDelete );
		}
	}


	function addSysopLink( url, txt, handler ) {
		var $cSub = $( '#contentSub' );
		if ( $cSub.children().last().prop( 'nodeName' ) === 'A' ) {
			$cSub.append( ' · ' );
		}
		var $node = $( '<a>' )
			.attr( 'href', url )
			.append(
				$( '<img>' ).attr( 'src', '//upload.wikimedia.org/wikipedia/commons/thumb/f/f2/Edit-clear.svg/10px-Edit-clear.svg.png' ),
				$( '<span>' )
					.text( txt )
					.css( 'margin-left', '0.25em' )
			)
			.appendTo( $cSub );
		if ( typeof handler === 'function' ) {
			$node.on( 'click', handler );
		}
	}

} );