MediaWiki:Common.js — различия между версиями
Ivgon (обсуждение | вклад) |
Ivgon (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| − | // | + | // Функция добавления кнопки на панель |
| − | + | function addWikificatorButton() { | |
| + | // Проверяем | ||
| + | if ( !document.getElementById( 'wpTextbox1' ) ) return; | ||
| + | |||
| + | // Интеграция напрямую через jQuery-метод WikiEditor | ||
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | ||
'section': 'main', | 'section': 'main', | ||
| Строка 15: | Строка 19: | ||
Wikify(); | Wikify(); | ||
} else { | } else { | ||
| − | // Загружаем | + | // Загружаем скрипт |
mw.loader.getScript( '/wiki/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript' ) | mw.loader.getScript( '/wiki/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript' ) | ||
.then( function () { | .then( function () { | ||
| Строка 26: | Строка 30: | ||
} | } | ||
}); | }); | ||
| − | } | + | } |
| − | // | + | // Запускаем процесс, как только загрузятся базовые скрипты редактора |
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) { | if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) { | ||
| − | mw.loader.using( ' | + | // Ждем готовности модулей панели инструментов (проверяем оба возможных названия) |
| − | + | mw.loader.using( [ 'ext.wikiEditor', 'mediawiki.action.edit' ], function () { | |
| − | + | $( document ).ready( addWikificatorButton ); | |
| − | } | + | }, function () { |
| + | // Если 'ext.wikiEditor' не нашелся, пробуем старое альтернативное имя модуля | ||
| + | mw.loader.using( [ 'ext.wikiEditor.toolbar', 'mediawiki.action.edit' ], function () { | ||
| + | $( document ).ready( addWikificatorButton ); | ||
| + | }); | ||
}); | }); | ||
} | } | ||
Версия 12:23, 1 ноября 2026
// Функция добавления кнопки на панель
function addWikificatorButton() {
// Проверяем
if ( !document.getElementById( 'wpTextbox1' ) ) return;
// Интеграция напрямую через jQuery-метод WikiEditor
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
'section': 'main',
'group': 'insert',
'tools': {
'wikif': {
label: 'Викификатор',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/0/06/Wikificator_button.png',
action: {
type: 'callback',
execute: function () {
if ( typeof Wikify === 'function' ) {
Wikify();
} else {
// Загружаем скрипт
mw.loader.getScript( '/wiki/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript' )
.then( function () {
if ( typeof Wikify === 'function' ) Wikify();
});
}
}
}
}
}
});
}
// Запускаем процесс, как только загрузятся базовые скрипты редактора
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
// Ждем готовности модулей панели инструментов (проверяем оба возможных названия)
mw.loader.using( [ 'ext.wikiEditor', 'mediawiki.action.edit' ], function () {
$( document ).ready( addWikificatorButton );
}, function () {
// Если 'ext.wikiEditor' не нашелся, пробуем старое альтернативное имя модуля
mw.loader.using( [ 'ext.wikiEditor.toolbar', 'mediawiki.action.edit' ], function () {
$( document ).ready( addWikificatorButton );
});
});
}