Медиавики:Gadget-common-action-edit.js

Эзоҳ: Баъди захира намудан, Шумо метавонед тағйиротҳои худро аз хотираи браузер гузариш карда, бубинед. Дар браузерҳои Mozilla / Firefox / Safari: тугмаи Shift-ро пахш намуда бо мушак Reload-ро пахш кунед, ё Ctrl-Shift-R-ро пахш намоед (Cmd-Shift-R барои компютерҳои Apple Mac); дар браузери IE: тугмаи Ctrl-ро пахш намуда бо мушак Refresh-ро пахш намоед, ё Ctrl-F5-ро пахш намоед; дар браузери Konqueror:: бо мушак Reload-ро пахш кунед, ё тугмаи F5-ро пахш намоед; дар браузери Opera ба Шумо пурра тоза кардани хотираи браузер ба воситаи Tools→Preferences лозим аст.

runAsEarlyAsPossible( function () {
	// Автоматическое заполнение полей при добавлении новых тем сверху
	var summary = $( '#wpSummary' ).val();
	if ( decodeURIComponent( location.search ).search( /[?&]summary=\/\*[+ ]*\*\// ) !== -1 ||
		( mw.config.get( 'wgAction' ) === 'submit' &&
			summary !== undefined &&
			summary.search( /\/\*\s*\*\// ) !== -1
		)
	) {
	  	mw.loader.load( 'ext.gadget.newTopicOnTop' );
	}
}, $( '#wpSummary' ), mw.hook( 'wikipage.content' ).add );

// Секция гаджетов в панели инструментов
if ( mw.user.options.get( 'usebetatoolbar' ) === 1 ) {
	var gadgetToolbarLocation = '#wikiEditor-section-main';
	$.when(
		mw.loader.using( 'ext.wikiEditor' ),
		$.ready
	).then( function() {
		function addGadgetsGroup() {
			gadgetToolbar();
			
			$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
				'section': 'main',
				'groups': {
					'gadgets': {}
				}
			} );
			
			var $groupGadgets = $( '#wikiEditor-section-main .group-gadgets' ),
				$groupFormat = $( '#wikiEditor-section-main .group-format' );
			if ( $groupGadgets.length && $groupFormat.length ) {
				$groupGadgets.insertBefore( $groupFormat );
			}
			
			if ( $groupGadgets.length ) {
				mw.hook( 'wikieditor.toolbar.gadgetsgroup' ).fire();
			}
		}
		
		addGadgetsGroup();
		if ( !$( '#wikiEditor-section-main .group-gadgets' ).length ) {
			// Лечение для случаев, когда панель инструментов поздно прорисовывается
			setTimeout( addGadgetsGroup, 0 );
		}
	} );
} else if ( mw.user.options.get( 'showtoolbar' ) === 1 ) {
	var gadgetToolbarLocation = '#toolbar';
	importScript( 'MediaWiki:ToolbarOld.js' );
} else {
	var gadgetToolbarLocation = '#editform';
	importScript( 'MediaWiki:ToolbarNone.js' );
}

function gadgetToolbar() {
	if ( !$( '#gadget-toolbar' ).length ) {
		var $where = $( gadgetToolbarLocation );
		if ( !$where.length ) return;  // Новая панель инструментов ещё не готова

		$( '<div>' )
			.attr('id', 'gadget-toolbar' )
			.prependTo( $where );
	}
}

if ( mw.user.options.get( 'usebetatoolbar' ) !== 1 ) {
	$( function() {
		gadgetToolbar();
		setTimeout( gadgetToolbar, 2000 );
		setTimeout( gadgetToolbar, 6000 );
	} );
}

// Напоминание о подписи
if ( mw.config.get( 'wgNamespaceNumber' ) % 2 ||
	mw.config.get( 'wgNamespaceNumber' ) === 4 ||
	mw.config.get( 'wgNamespaceNumber' ) === 104
) {
	$( function () {
		var matches = $( '#wpTextbox1' ).val().match( /\n/g );
		var newLinesCountInitial = matches ? matches.length : 0;
		var copywarn = document.getElementById( 'editpage-copywarn' ),
			wpSave = document.getElementById( 'wpSave' );
		if ( !copywarn || !wpSave ) {
			return;
		}
		if ( ( mw.config.get( 'wgNamespaceNumber' ) === 4 || mw.config.get( 'wgNamespaceNumber' ) === 104 ) &&
			( !mw.config.get( 'wgTitle' ).match( 
				// Википедия:
				'^(?:Қаҳвахона[/ ]|Овоздиҳӣ/|Назарсанҷиҳо/|Муҳокимаи қоидаҳо/|Дархост ба |Дархостҳо|Номзадҳо ба .*/|' +
				'Ба (?:ҳазф|якҷоясозӣ|номивазкунӣ|ҷудосозӣ|беҳтасозӣ|баҳои сарчашмаҳо|миёнаравӣ)/|' +
				'Оспаривание |Рецензирование/|Проверка участников/|Фильтр правок/Срабатывания|' +
				// Проект:
				'Инкубатор/(?:Мини-рецензирование|Форум)|Социальная ответственность/Форум|Водные объекты|' +
				'Библиотека/(?:Китобҳои мариди ниёз|Пурсишҳо|Мавзуъҳои доғ|Пурсишҳои фаннӣ)|' +
				'Графическая мастерская/Заявки|Добротные статьи/К лишению статуса|Грамотность/Дархостҳо|.* дархостҳо)'
			) ||
				mw.config.get( 'wgTitle' ).match( '/Бойгонӣ' )
			)
		) {
			return;
		}
		var ins = '<a href="javascript:mw.toolbar.insertTags(\' ~~\~~\', \'\', \'\');">~~\~~</a>';
		$( '<div id="signReminder"></div>' )
			.insertAfter( '#editpage-copywarn' );
		$( '<div class="signReminder-common">Не забудьте добавить к вашему сообщению подпись с помощью ' + ins + '</div>' )
			.appendTo( '#signReminder' );
		if ( $.inArray( 'autoconfirmed', mw.config.get( 'wgUserGroups' ) ) !== -1 && !window.sigWarning ) {
			return;
		}
		// Только незарегистрированные/новые пользователи и те, кто включил предупреждение в личном JS строчкой
		// var sigWarning = true;
		var warningDone = false;
		wpSave.onclick = function () {
			try {
				var textboxContent = $( '#wpTextbox1' ).val();
				matches = textboxContent.replace(/([^\n])$/, '$1\n').match( /\n/g );
				var newLinesCount = matches ? matches.length : 0;
				if ( warningDone ||
					$( '#wpMinoredit' ).prop( 'checked' ) ||
					newLinesCountInitial === newLinesCount ||
					textboxContent.indexOf( '~~\~~' ) !== -1
				) {
					return true;
				}
				warningDone = true;
				$( '.signReminder-common' ).remove();
				$( '<div class="warningbox signReminder-warningbox"></div>' )
					.appendTo( '#signReminder' );
				$( '<div class="signReminder-warning">Пожалуйста, <strong>подпишитесь</strong>, добавив в конце своего сообщения&nbsp;' + ins + ' <small>(<a href="https://ru.wikipedia.org/wiki/Википедия:Подписывайтесь" title="(Ссылка откроется в новом окне)" target="_blank">подробнее</a>)</small></div>' )
					.appendTo( '.signReminder-warningbox' );
				return false;
			} catch ( e ) {
				return true;
			}
		};
	} );
}