MediaWiki:Editpage.js

Материал из Wikitranslators
(Различия между версиями)
Перейти к: навигация, поиск
(обновление)
м (Правки Dimetr (обсуждение) откачены к версии Il Dottore)
Строка 1: Строка 1:
−
// Helper function for toolbar buttons
+
function addExtraChars1(){
−
 
+
  var block = document.getElementById ('editpage-specialchars');
−
function wgImg ( img ) {
+
  if (!block) return;
−
return '//upload.wikimedia.org/wikipedia/' + img;
+
  block.innerHTML =  
−
}
+
  '<a href=\'javascript:insertTags("[[ru.wp:|","]]","")\'>[[ru.wp:|ru.wp:]]</a> ' +
−
 
+
  block.innerHTML;
−
function createFuncBtn ( id, func, img, tip ) {
+
−
$( '<img id="' + id + '" src="' + wgImg( img ) + '" style="cursor:pointer" ' +
+
−
'title="' + tip + '" alt="' + tip.substr( 0, 3 ) + '" />' )
+
−
.appendTo( '#gadget-toolbar' )
+
−
.click( func );
+
−
}
+
−
 
+
−
 
+
−
// Toolbar section for gadgets
+
−
 
+
−
if ( mw.user.options.get( 'usebetatoolbar' ) ) {
+
−
var gTlbLoc = '#wikiEditor-ui-toolbar';
+
−
mw.util.addCSS( '#gadget-toolbar img { padding:2px; }' +
+
−
'#gadget-toolbar { height:26px; margin:3px; }' );
+
−
$.when(
+
−
mw.loader.using( 'ext.wikiEditor.toolbar' ),
+
−
$.ready
+
−
).then( function() {
+
−
$( '#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 );
+
−
}
+
−
} );
+
−
} else if ( document.getElementById( 'toolbar' ) ) {
+
−
var gTlbLoc = '#toolbar';
+
−
importMW( 'ToolbarOld' );
+
−
} else {
+
−
  var gTlbLoc = '#editform';
+
−
  importMW( 'ToolbarNone' );
+
−
}
+
−
 
+
−
function gToolbar() {
+
−
if ( !document.getElementById( 'gadget-toolbar' ) ) {
+
−
var $where = $( gTlbLoc );
+
−
if ( !$where.length ) {
+
−
return; //beta toolbar not ready yet
+
−
}
+
−
$( '<div id="gadget-toolbar" style="float:left" />' ).prependTo( $where );
+
−
}
+
−
 
+
−
for ( var id in mwCustomEditButtons ) {
+
−
var b = mwCustomEditButtons[id];
+
−
if ( !b.length ) {
+
−
continue;
+
−
}
+
−
createFuncBtn( id, b[0], b[1], b[2] );
+
−
delete mwCustomEditButtons[id];
+
−
}
+
−
}
+
−
 
+
−
$( function() {
+
−
gToolbar();
+
−
setTimeout( gToolbar, 2000 );
+
−
setTimeout( gToolbar, 6000 );
+
−
} );
+
−
 
+
−
 
+
−
// Summary buttons
+
−
 
+
−
function insertSummary ( txt ) {
+
−
if ( typeof txt !== 'string' ) {
+
−
txt = this.title;
+
−
}
+
−
var vv = $( '#wpSummary' ).val();
+
−
if ( vv.indexOf( txt ) !== -1 ) {
+
−
return;
+
−
}
+
−
if ( /[^,; \/]$/.test( vv ) ) {
+
−
vv += ',';
+
−
}
+
−
if ( /[^ ]$/.test( vv ) ) {
+
−
vv += ' ';
+
−
}
+
−
$( '#wpSummary' ).val( vv + txt );
+
−
}
+
−
+
−
function addSumButton ( btn, txt ) {
+
−
$( '<a title="' + txt + '">' + btn + '</a>' )
+
−
.appendTo( '#userSummaryButtonsA' )
+
−
.click( insertSummary );
+
−
}
+
−
 
+
−
$( function() {
+
−
var frm = document.getElementById( 'editform' );
+
−
if ( !mw.config.get( 'wgArticleId' ) || !frm || $( frm.wpSection ).val() === 'new' ) {
+
−
return;
+
−
}
+
−
mw.util.addCSS( '\
+
−
input#wpSummary { margin-bottom: 0 }\
+
−
#userSummaryButtonsA a { background:#cef; border:1px solid #adf; padding:0 2px;\
+
−
margin:0 2px;cursor:pointer; font-size:86%; color:#666 }\
+
−
#userSummaryButtonsA a:hover { background:#bdf; color:black; text-decoration:none }' );
+
−
$( '<div id=userSummaryButtonsA />' ).insertAfter( '#wpSummary' );
+
−
$.each(
+
−
[
+
−
'викиф|икация', 'оформл|ение', 'стил|евые правки', 'орфогр|афия',
+
−
'пункт|уация', 'ответ', 'комм|ентарий', 'кат|егория', 'шаб|лон',
+
−
'к удал|ению', 'иллюстрация', 'источ|ники', 'запр|ос источника',
+
−
'доп|олнение', 'уточн|ение', 'обнов|ление данных', 'закр|ыто', 'итог'
+
−
],
+
−
function ( i, s ) {
+
−
addSumButton( s.replace( /\|.*/, '' ), s.replace( /\|/, '' ) );
+
−
}
+
−
);
+
−
} );
+
−
 
+
−
 
+
−
// Wikificator
+
−
importMW( 'Wikificator' );
+
−
 
+
−
 
+
−
// Sig reminder
+
−
if ( mw.config.get( 'wgNamespaceNumber' ) % 2 ||
+
−
mw.config.get( 'wgNamespaceNumber' ) === 4 ||
+
−
mw.config.get( 'wgNamespaceNumber' ) === 104
+
−
) {
+
−
$( function () {
+
−
var cp = document.getElementById( 'editpage-copywarn' ),
+
−
wpSave = document.getElementById( 'wpSave' );
+
−
if ( !cp || !wpSave ) {
+
−
return;
+
−
}
+
−
if ( ( mw.config.get( 'wgNamespaceNumber' ) === 4 || mw.config.get( 'wgNamespaceNumber' ) === 104 ) &&
+
−
( !mw.config.get( 'wgTitle' ).match( '^(Форум[/ ]|Голосования/|Опросы/|Обсуждение правил/|Заявки на .*|Запросы.|Кандидаты в .*/|К (удалению|объединению|переименованию|разделению|улучшению)/|Рецензирование/|Проверка участников/|Инкубатор/(Мини-рецензирование|Форум[/ ])|Социальная ответственность/Форум|Водные объекты|Библиотека/Требуются книги|Добротные статьи/К лишению статуса)' ) ||
+
−
mw.config.get( 'wgTitle' ).match( '/Архив' ) )
+
−
) {
+
−
return;
+
−
}
+
−
// FIXME: Use of "insertTags" is deprecated. Use mw.toolbar.insertTags instead.
+
−
var ins = ' <a href=\'javascript:insertTags(" ~~\~~","","")\'>~~\~~</a>';
+
−
cp.innerHTML += '&nbsp;&nbsp;Не забудьте добавить к вашему сообщению подпись с помощью' + ins;
+
−
if ( $.inArray( 'autoconfirmed', mw.config.get( 'wgUserGroups' ) ) !== -1 && !window.sigWarning ) {
+
−
return;
+
−
}
+
−
//unreg/new users only
+
−
var warningDone = false;
+
−
wpSave.onclick = function() {
+
−
try {
+
−
if ( warningDone || document.editform.wpTextbox1.value.indexOf( '~~\~~' ) !== -1 ) {
+
−
return true;
+
−
}
+
−
warningDone = true;
+
−
cp.innerHTML = 'Пожалуйста, <b>подпишитесь</b>, добавив в конце' +
+
−
' своего сообщения' + ins + ' (<a href="' +
+
−
mw.config.get( 'wgArticlePath' ).replace( /\$1/, 'Википедия:Подписывайтесь' ) +
+
−
'" title="(ссылка откроется в новом окне)" target=_blank>подробнее&nbsp;↗</a>)';
+
−
cp.style.background = '#FFD080';
+
−
cp.style.border = '1px solid orange';
+
−
return false;
+
−
} catch ( e ) {
+
−
return true;
+
−
}
+
−
};
+
−
} );
+
−
}
+
−
 
+
−
 
+
−
// Hack for Opera 11.6
+
−
if ( window.opera && /11\.6[01]/.test( window.opera.version() ) ) {
+
−
$( '#wpTextbox1' )
+
−
.mousedown( function() {
+
−
this.sT = this.scrollTop;
+
−
} )
+
−
.click( function() {
+
−
if ( this.scrollTop === 0 ) {
+
−
this.scrollTop = this.sT;
+
−
}
+
−
} );
+
 
}
 
}
 +
addOnloadHook(addExtraChars1);

Версия 07:07, 27 февраля 2016

function addExtraChars1(){
  var block = document.getElementById ('editpage-specialchars');
  if (!block) return;
  block.innerHTML = 
   '<a href=\'javascript:insertTags("[[ru.wp:|","]]","")\'>[[ru.wp:|ru.wp:]]</a> ' +
   block.innerHTML;
}
addOnloadHook(addExtraChars1);
Личные инструменты