|
|
Строка 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 += ' Не забудьте добавить к вашему сообщению подпись с помощью' + 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>подробнее ↗</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); |