Чемпион Южной Америки 1916 Чемпион Южной Америки 1917 Чемпион Южной Америки 1920 Чемпион Южной Америки 1923 Олимпийский чемпион и чемпион мира среди любителей 1924 Чемпион Южной Америки 1924 Чемпион Южной Америки 1926 Олимпийский чемпион и чемпион мира среди любителей 1928 Чемпион мира 1930 Чемпион Южной Америки 1935 Чемпион Южной Америки 1942 Чемпион мира 1950 Чемпион Южной Америки 1956 Чемпион Южной Америки 1959 (Эквадор) Чемпион Южной Америки 1967 Победитель Мундиалито 1980-81 Победитель Кубка Америки 1983 Победитель Кубка Америки 1987 Победитель Кубка Америки 1995 Победитель Кубка Америки 2011

MediaWiki:Gadget-common-action-edit.js — различия между версиями

Материал из CelestePedia
Перейти к: навигация, поиск
 
(не показано 11 промежуточных версий этого же участника)
Строка 1: Строка 1:
/* <pre><nowiki> */
+
mw.hook( 'wikipage.content' ).add( 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' );
 +
}
 +
} );
  
//Script 'Wikificator' from Wikipedia
+
// Секция гаджетов в панели инструментов
 
+
if ( mw.user.options.get( 'usebetatoolbar' ) === 1 ) {
importScriptURI('http://ru.wikipedia.org/w/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript')
+
$.when(
 
+
mw.loader.using( 'ext.wikiEditor' ),
 
+
$.ready
//Toolbar buttons
+
).then( function() {
 
+
function addGadgetsGroup() {
function StandardButtons(){
+
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
if (mwEditButtons.length < 6) return
+
'section': 'main',
mwEditButtons[5].tagClose = '|thumb]]'
+
'groups': {
}  
+
'gadgets': {}
 
+
}
function addFuncButton(img, tip, func){
+
} );
var toolbar = document.getElementById('toolbar')
+
if (!toolbar) return
+
$groupGadgets = $( '#wikiEditor-section-main .group-gadgets' );
var i = document.createElement('img')
+
$groupFormat = $( '#wikiEditor-section-main .group-format' );
i.src = img
+
if ( $groupGadgets.length ) {
i.alt = tip; i.title = tip
+
if ( $groupFormat.length ) {
i.onclick = func
+
$groupGadgets.insertBefore( $groupFormat );
i.style.cursor = 'pointer'
+
}
toolbar.appendChild(i)
+
mw.hook( 'wikieditor.toolbar.gadgetsgroup' ).fire();
 +
}
 +
}
 +
 +
var $groupGadgets, $groupFormat;
 +
addGadgetsGroup();
 +
if ( !$groupGadgets.length ) {
 +
// Лечение для случаев, когда панель инструментов поздно прорисовывается
 +
setTimeout( addGadgetsGroup, 0 );
 +
}
 +
} );
 
}
 
}
  
 +
// Напоминание о подписи. Выводится в пространствах имён обсуждений, «Википедия» и «Проект».
 +
var namespaceNumber = mw.config.get( 'wgNamespaceNumber' );
 +
if ( namespaceNumber % 2 || namespaceNumber === 4 || namespaceNumber === 104 ) {
 +
$( function () {
 +
var $textbox, matches, newLinesCountInitial, $tildes, $signReminderCommon, $signReminder,
 +
$copyrightWarning = $( '#editpage-copywarn' ),
 +
$saveButton = $( '#wpSave' ),
 +
warningDone = false;
  
//Toolbar buttons
+
if ( !$copyrightWarning.length ||
 +
!$saveButton.length ||
 +
// Пространства имён «Википедия» и «Проект»
 +
( mw.config.get( 'wgNamespaceNumber' ) === 4 || mw.config.get( 'wgNamespaceNumber' ) === 104 ) &&
 +
( !mw.config.get( 'wgTitle' ).match(
 +
// Википедия:
 +
'^(?:Форум[/ ]|Голосования/|Опросы/|Обсуждение правил/|Заявки на |Запросы|Кандидаты в .*/|' +
 +
'К (?:удалению|объединению|переименованию|разделению|улучшению|оценке источников|посредничеству)/|' +
 +
'Оспаривание |Рецензирование/|Проверка участников/|Фильтр правок/Срабатывания|' +
 +
// Проект:
 +
'Инкубатор/(?:Мини-рецензирование|Форум)|Социальная ответственность/Форум|Водные объекты|' +
 +
'Библиотека/(?:Требуются книги|Вопросы|Горячие темы|Технические вопросы)|' +
 +
'Графическая мастерская/Заявки|Добротные статьи/К лишению статуса|Грамотность/Запросы|.* запросы)'
 +
) ||
 +
mw.config.get( 'wgTitle' ).match( '/Архив' )
 +
)
 +
) {
 +
return;
 +
}
  
function StandardButtons(){
+
$textbox = $( '#wpTextbox1' );
if (mwEditButtons.length < 6) return
+
matches = $textbox.val().trim().match( /\n/g );
mwEditButtons[5].tagClose = '|thumb]]'
+
newLinesCountInitial = matches ? matches.length : 0;
}
 
  
 +
$tildes = $( '<a>' )
 +
.attr( 'href', 'javascript:' )
 +
.text( '~~\~~' )
 +
.click( function () {
 +
$textbox.textSelection( 'encapsulateSelection', { pre: ' ~~\~~' } );
 +
} );
 +
$signReminderCommon = $( '<div>' )
 +
.addClass( 'signReminder-common' )
 +
.append(
 +
'Не забудьте добавить к вашему сообщению подпись с помощью ',
 +
$tildes
 +
);
 +
$signReminder = $( '<div>' )
 +
.attr( 'id', 'signReminder' )
 +
.append( $signReminderCommon )
 +
.insertAfter( $copyrightWarning );
  
function CustomButtons(){
+
if ( mw.config.get( 'wgUserGroups' ).indexOf( 'autoconfirmed' ) !== -1 && !window.sigWarning ) {
addCustomButton('http://upload.wikimedia.org/wikipedia/ru/1/1d/Button_redirect_rus.png', 'Перенаправление','#REDIRECT [[',']]','название страницы')
+
return;
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/b/b4/Button_category03.png','Категория','[[Категория:',']]\n','')
+
}
addCustomButton('http://upload.wikimedia.org/wikipedia/en/3/34/Button_hide_comment.png', 'Комментарий', '<!-- ', ' -->', 'Комментарий')
 
addCustomButton('http://upload.wikimedia.org/wikipedia/en/f/fd/Button_blockquote.png', 'Развёрнутая цитата', '<blockquote>\n', '\n</blockquote>', 'Развёрнутая цитата одним абзацем')
 
addCustomButton('http://upload.wikimedia.org/wikipedia/en/6/60/Button_insert_table.png',
 
'Вставить таблицу', '{| class="wikitable"\n|-\n', '\n|}', '! заголовок 1\n! заголовок 2\n! заголовок 3\n|-\n| строка 1, ячейка 1\n| строка 1, ячейка 2\n| строка 1, ячейка 3\n|-\n| строка 2, ячейка 1\n| строка 2, ячейка 2\n| строка 2, ячейка 3')
 
}
 
  
function addCustomButton(img, tip, open, close, sample){
+
// Только незарегистрированные/новые пользователи и те, кто включил предупреждение в личном JS строчкой
mwCustomEditButtons[mwCustomEditButtons.length] =
+
// var sigWarning = true;
  {'imageFile':img, 'speedTip':tip, 'tagOpen':open, 'tagClose':close, 'sampleText':sample}
+
$saveButton.click( function () {
}
+
try {
 +
var newLinesCount, $signReminderWarningbox, $tildesCopy,
 +
textboxContent = $textbox.val();
  
 +
matches = textboxContent.trim().match( /\n/g );
 +
newLinesCount = matches ? matches.length : 0;
  
function WikifButton(){
+
if ( textboxContent.indexOf( '~~\~~' ) !== -1 ||
var t = document.getElementById('wpTextbox1')
+
$( '#wpMinoredit' ).prop( 'checked' ) ||
if (!t || (!document.selection && t.selectionStart == null)) return
+
newLinesCountInitial === newLinesCount ||
addFuncButton('http://upload.wikimedia.org/wikisource/ru/d/d1/Button-wikifikator.png', 'Викификатор', Wikify)
+
warningDone
}
+
) {
 +
return true;
 +
}
  
function addFuncButton(img, tip, func){
+
warningDone = true;
var toolbar = document.getElementById('toolbar')
+
$tildesCopy = $tildes.clone( true );
if (!toolbar) return
+
$signReminderCommon.remove();
var i = document.createElement('img')
+
$signReminderWarning = $( '<div>' )
i.src = img
+
.addClass( 'signReminder-warning' )
i.alt = tip;  i.title = tip
+
.append( 'Пожалуйста, <strong>подпишитесь</strong>, добавив в конце своего сообщения ',
i.onclick = func
+
$tildesCopy,
i.style.cursor = 'pointer'
+
' <small>(<a href="https://celeste-rus.ru/index.php/CelestePedia:Подписывайтесь" title="(Ссылка откроется в новом окне)" target="_blank">подробнее</a>)</small>'
toolbar.appendChild(i)
+
);
 +
$( '<div>' )
 +
.addClass( 'warningbox signReminder-warningbox' )
 +
.append( $signReminderWarning )
 +
.appendTo( $signReminder );
 +
return false;
 +
} catch ( e ) {
 +
return true;
 +
}
 +
} );
 +
} );
 
}
 
}
 
 
//Edit Summary buttons
 
 
function SummaryButtons(){
 
var wpSummary = document.getElementById('wpSummary')
 
if (!wpSummary || (wpSummary.form.wpSection && wpSummary.form.wpSection.value == 'new')) return
 
wpSummaryBtn = document.createElement('span') //global var
 
wpSummaryBtn.id = 'userSummaryButtonsA'
 
wpSummary.parentNode.insertBefore(wpSummaryBtn, wpSummary.nextSibling)
 
wpSummary.parentNode.insertBefore(document.createElement('br'), wpSummary.nextSibling)
 
addSumButton('викиф. ', 'викификация', 'Проведена викификация')|
 
addSumButton('оформл. ', 'оформление', 'Изменено оформление')
 
addSumButton('стиль ', 'стиль', 'Поправлен стиль изложения')
 
addSumButton('орфогр. ', 'орфография', 'Поправлена орфография')
 
addSumButton('пункт. ', 'пунктуация', 'Изменена пунктуация')
 
addSumButton('кат. ', 'категоризация', 'Поправлена категоризация')
 
addSumButton('шаб. ', 'шаблон', 'Добавлен / изменён шаблон')
 
addSumButton('к удал. ', 'к удалению', 'Страница выставлена к удалению')
 
addSumButton('доп. ', 'дополнения', 'Добавлены новые сведения')
 
addSumButton('илл. ', 'иллюстрация', 'Размещена иллюстрация')
 
addSumButton('обнов. ', 'обновление', 'Обновлены данные')
 
}
 
 
function addSumButton(name, text, title) {
 
var btn = document.createElement('a')
 
btn.appendChild(document.createTextNode(name))
 
btn.title = title
 
btn.onclick = function(){insertSummary(text)}
 
wpSummaryBtn.appendChild(btn)
 
}
 
 
function insertSummary(text) {
 
var wpSummary = document.getElementById('wpSummary')
 
if (wpSummary.value.indexOf(text) != -1) return
 
if (wpSummary.value.match(/[^,; \/]$/)) wpSummary.value += ','
 
if (wpSummary.value.match(/[^ ]$/)) wpSummary.value += ' '
 
wpSummary.value += text
 
}
 
 
 
//call functions
 
addOnloadHook(StandardButtons)
 
addOnloadHook(CustomButtons)
 
addOnloadHook(WikifButton)
 
addOnloadHook(SummaryButtons)
 
 
/* </nowiki></pre> */
 

Текущая версия на 14:21, 17 сентября 2022

mw.hook( 'wikipage.content' ).add( 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' );
	}
} );

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

// Напоминание о подписи. Выводится в пространствах имён обсуждений, «Википедия» и «Проект».
var namespaceNumber = mw.config.get( 'wgNamespaceNumber' );
if ( namespaceNumber % 2 || namespaceNumber === 4 || namespaceNumber === 104 ) {
	$( function () {
		var $textbox, matches, newLinesCountInitial, $tildes, $signReminderCommon, $signReminder,
			$copyrightWarning = $( '#editpage-copywarn' ),
			$saveButton = $( '#wpSave' ),
			warningDone = false;

		if ( !$copyrightWarning.length ||
			!$saveButton.length ||
			// Пространства имён «Википедия» и «Проект»
			( mw.config.get( 'wgNamespaceNumber' ) === 4 || mw.config.get( 'wgNamespaceNumber' ) === 104 ) &&
			( !mw.config.get( 'wgTitle' ).match(
				// Википедия:
				'^(?:Форум[/ ]|Голосования/|Опросы/|Обсуждение правил/|Заявки на |Запросы|Кандидаты в .*/|' +
				'К (?:удалению|объединению|переименованию|разделению|улучшению|оценке источников|посредничеству)/|' +
				'Оспаривание |Рецензирование/|Проверка участников/|Фильтр правок/Срабатывания|' +
				// Проект:
				'Инкубатор/(?:Мини-рецензирование|Форум)|Социальная ответственность/Форум|Водные объекты|' +
				'Библиотека/(?:Требуются книги|Вопросы|Горячие темы|Технические вопросы)|' +
				'Графическая мастерская/Заявки|Добротные статьи/К лишению статуса|Грамотность/Запросы|.* запросы)'
			) ||
				mw.config.get( 'wgTitle' ).match( '/Архив' )
			)
		) {
			return;
		}

		$textbox = $( '#wpTextbox1' );
		matches = $textbox.val().trim().match( /\n/g );
		newLinesCountInitial = matches ? matches.length : 0;

		$tildes = $( '<a>' )
			.attr( 'href', 'javascript:' )
			.text( '~~\~~' )
			.click( function () {
				$textbox.textSelection( 'encapsulateSelection', { pre: ' ~~\~~' } );
			} );
		$signReminderCommon = $( '<div>' )
			.addClass( 'signReminder-common' )
			.append(
				'Не забудьте добавить к вашему сообщению подпись с помощью ',
				$tildes
			);
		$signReminder = $( '<div>' )
			.attr( 'id', 'signReminder' )
			.append( $signReminderCommon )
			.insertAfter( $copyrightWarning );

		if ( mw.config.get( 'wgUserGroups' ).indexOf( 'autoconfirmed' ) !== -1 && !window.sigWarning ) {
			return;
		}

		// Только незарегистрированные/новые пользователи и те, кто включил предупреждение в личном JS строчкой
		// var sigWarning = true;
		$saveButton.click( function () {
			try {
				var newLinesCount, $signReminderWarningbox, $tildesCopy,
					textboxContent = $textbox.val();

				matches = textboxContent.trim().match( /\n/g );
				newLinesCount = matches ? matches.length : 0;

				if ( textboxContent.indexOf( '~~\~~' ) !== -1 ||
					$( '#wpMinoredit' ).prop( 'checked' ) ||
					newLinesCountInitial === newLinesCount ||
					warningDone
				) {
					return true;
				}

				warningDone = true;
				$tildesCopy = $tildes.clone( true );
				$signReminderCommon.remove();
				$signReminderWarning = $( '<div>' )
					.addClass( 'signReminder-warning' )
					.append( 'Пожалуйста, <strong>подпишитесь</strong>, добавив в конце своего сообщения ',
						$tildesCopy,
						' <small>(<a href="https://celeste-rus.ru/index.php/CelestePedia:Подписывайтесь" title="(Ссылка откроется в новом окне)" target="_blank">подробнее</a>)</small>'
					);
				$( '<div>' )
					.addClass( 'warningbox signReminder-warningbox' )
					.append( $signReminderWarning )
					.appendTo( $signReminder );
				return false;
			} catch ( e ) {
				return true;
			}
		} );
	} );
}