Чемпион Южной Америки 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
Перейти к: навигация, поиск
 
(не показано 5 промежуточных версий этого же участника)
Строка 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();
}
+
}
 
+
}
 
+
//Toolbar buttons
+
var $groupGadgets, $groupFormat;
 
+
addGadgetsGroup();
function StandardButtons(){
+
if ( !$groupGadgets.length ) {
if (mwEditButtons.length < 6) return
+
// Лечение для случаев, когда панель инструментов поздно прорисовывается
mwEditButtons[5].tagClose = '|thumb]]'
+
setTimeout( addGadgetsGroup, 0 );
}
+
}
 
+
} );
 
 
function CustomButtons(){
 
addCustomButton('http://upload.wikimedia.org/wikipedia/ru/1/1d/Button_redirect_rus.png', 'Перенаправление','#REDIRECT [[',']]','название страницы')
 
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){
+
// Напоминание о подписи. Выводится в пространствах имён обсуждений, «Википедия» и «Проект».
mwCustomEditButtons[mwCustomEditButtons.length] =
+
var namespaceNumber = mw.config.get( 'wgNamespaceNumber' );
  {'imageFile':img, 'speedTip':tip, 'tagOpen':open, 'tagClose':close, 'sampleText':sample}
+
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;
 +
}
  
function WikifButton(){
+
$textbox = $( '#wpTextbox1' );
var t = document.getElementById('wpTextbox1')
+
matches = $textbox.val().trim().match( /\n/g );
if (!t || (!document.selection && t.selectionStart == null)) return
+
newLinesCountInitial = matches ? matches.length : 0;
addFuncButton('http://upload.wikimedia.org/wikisource/ru/d/d1/Button-wikifikator.png', 'Викификатор', Wikify)
 
}
 
  
function addFuncButton(img, tip, func){
+
$tildes = $( '<a>' )
var toolbar = document.getElementById('toolbar')
+
.attr( 'href', 'javascript:' )
if (!toolbar) return
+
.text( '~~\~~' )
var i = document.createElement('img')
+
.click( function () {
i.src = img
+
$textbox.textSelection( 'encapsulateSelection', { pre: ' ~~\~~' } );
i.alt = tip; i.title = tip
+
} );
i.onclick = func
+
$signReminderCommon = $( '<div>' )
i.style.cursor = 'pointer'
+
.addClass( 'signReminder-common' )
toolbar.appendChild(i)
+
.append(
}
+
'Не забудьте добавить к вашему сообщению подпись с помощью ',
 +
$tildes
 +
);
 +
$signReminder = $( '<div>' )
 +
.attr( 'id', 'signReminder' )
 +
.append( $signReminderCommon )
 +
.insertAfter( $copyrightWarning );
  
 +
if ( mw.config.get( 'wgUserGroups' ).indexOf( 'autoconfirmed' ) !== -1 && !window.sigWarning ) {
 +
return;
 +
}
  
//Edit Summary buttons
+
// Только незарегистрированные/новые пользователи и те, кто включил предупреждение в личном JS строчкой
 +
// var sigWarning = true;
 +
$saveButton.click( function () {
 +
try {
 +
var newLinesCount, $signReminderWarningbox, $tildesCopy,
 +
textboxContent = $textbox.val();
  
function SummaryButtons(){
+
matches = textboxContent.trim().match( /\n/g );
var wpSummary = document.getElementById('wpSummary')
+
newLinesCount = matches ? matches.length : 0;
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) {
+
if ( textboxContent.indexOf( '~~\~~' ) !== -1 ||
var btn = document.createElement('a')
+
$( '#wpMinoredit' ).prop( 'checked' ) ||
btn.appendChild(document.createTextNode(name))
+
newLinesCountInitial === newLinesCount ||
btn.title = title
+
warningDone
btn.onclick = function(){insertSummary(text)}
+
) {
wpSummaryBtn.appendChild(btn)
+
return true;
}
+
}
  
function insertSummary(text) {
+
warningDone = true;
var wpSummary = document.getElementById('wpSummary')
+
$tildesCopy = $tildes.clone( true );
if (wpSummary.value.indexOf(text) != -1) return
+
$signReminderCommon.remove();
if (wpSummary.value.match(/[^,; \/]$/)) wpSummary.value += ','
+
$signReminderWarning = $( '<div>' )
if (wpSummary.value.match(/[^ ]$/)) wpSummary.value += ' '
+
.addClass( 'signReminder-warning' )
wpSummary.value += text
+
.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;
 +
}
 +
} );
 +
} );
 
}
 
}
 
 
//call functions
 
addOnloadHook(StandardButtons)
 
addOnloadHook(CustomButtons)
 
addOnloadHook(WikifButton)
 
addOnloadHook(SummaryButtons)
 
 
/* </nowiki></pre> */
 
 
 
if (wgAction=='edit' && / rv:1\.[0-8].+Gecko/.test(navigator.userAgent))
 
  importScript('MediaWiki:Firefox2.js')
 
mwCustomEditButtons.push({       
 
        "imageFile": "http://celeste-rus.ru/images/twitter.png",
 
        "speedTip": "Соцзакладки",
 
        "tagOpen": "",
 
        "tagClose": "{{Соцзакладки}}",
 
        "sampleText": ""
 
    });
 
 
if (wgAction=='edit' && / rv:1\.[0-8].+Gecko/.test(navigator.userAgent))
 
  importScript('MediaWiki:Firefox2.js')
 
mwCustomEditButtons.push({       
 
        "imageFile": "http://celeste-rus.ru/images/copyright.png",
 
        "speedTip": "Авторы викистатей",
 
        "tagOpen": "",
 
        "tagClose": "{{СтатьяВики|_|Авторы=}}",
 
        "sampleText": ""
 
    });
 

Текущая версия на 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;
			}
		} );
	} );
}