MediaWiki:Editpage.js:версиослэн висъяськемзы
Пушкесэз ӵушемын Пушкесэз ватсамын
Тупатонлэн валэктонэз ӧвӧл |
update from ru-wp |
||
1-тӥ чур: | 1-тӥ чур: | ||
// Helper function for toolbar buttons |
// Helper function for toolbar buttons |
||
// TODO: We gotta migrate _users_ to mw.toolbar.addButton, see [[mw:ResourceLoader/Migration guide (users)#Toolbar]] |
|||
function wgImg |
function wgImg( img ) { |
||
return '//upload.wikimedia.org/wikipedia/' + img; |
return '//upload.wikimedia.org/wikipedia/' + img; |
||
} |
} |
||
function createFuncBtn |
function createFuncBtn( id, func, img, tip ) { |
||
$( '<img id="' + id + '" src="' + wgImg( img ) + '" style="cursor:pointer" ' + |
$( '<img id="' + id + '" src="' + wgImg( img ) + '" style="cursor:pointer;" ' + |
||
'title="' + tip + '" alt="' + tip.substr( 0, 3 ) + '">' ) |
'title="' + tip + '" alt="' + tip.substr( 0, 3 ) + '">' ) |
||
.appendTo( '#gadget-toolbar' ) |
.appendTo( '#gadget-toolbar' ) |
||
.click( func ); |
.click( func ); |
||
} |
|||
// автоматическое заполнение полей при добавлении новых тем сверху |
|||
var summary = $('#wpSummary').val(); |
|||
if ( decodeURIComponent(location.search).search(/[?&]summary=\/\*[+ ]*\*\//) != -1 |
|||
|| ( mw.config.get('wgAction') == 'submit' |
|||
&& summary !== undefined && summary.search(/\/\*\s*\*\//) != -1)) { |
|||
importMW( 'NewTopicOnTop' ); |
|||
} |
} |
||
15-тӥ чур: | 24-тӥ чур: | ||
// Toolbar section for gadgets |
// Toolbar section for gadgets |
||
if ( mw.user.options.get( 'usebetatoolbar' ) ) { |
if ( mw.user.options.get( 'usebetatoolbar' ) === 1 ) { |
||
var gadgetToolbarLocation = '#wikiEditor-ui-toolbar'; |
var gadgetToolbarLocation = '#wikiEditor-ui-toolbar'; |
||
mw.util.addCSS( '#gadget-toolbar img { padding:2px; }' + |
|||
mw.loader.using( 'mediawiki.util' ).done( function () { |
|||
'#gadget-toolbar { height:26px; margin:3px; }' ); |
|||
mw.util.addCSS( '#gadget-toolbar img { padding:2px; }' + |
|||
'#gadget-toolbar { height:26px; margin:3px; }' ); |
|||
} ); |
|||
$.when( |
$.when( |
||
mw.loader.using( 'ext.wikiEditor.toolbar' ), |
mw.loader.using( 'ext.wikiEditor.toolbar' ), |
||
63-тӥ чур: | 75-тӥ чур: | ||
} |
} |
||
} ); |
} ); |
||
} else if ( |
} else if ( mw.user.options.get( 'showtoolbar' ) === 1 ) { |
||
var gadgetToolbarLocation = '#toolbar'; |
var gadgetToolbarLocation = '#toolbar'; |
||
importMW( 'ToolbarOld' ); |
importMW( 'ToolbarOld' ); |
||
} else { |
} else { |
||
var gadgetToolbarLocation = '#editform'; |
|||
importMW( 'ToolbarNone' ); |
|||
} |
} |
||
75-тӥ чур: | 87-тӥ чур: | ||
var $where = $( gadgetToolbarLocation ); |
var $where = $( gadgetToolbarLocation ); |
||
if ( !$where.length ) { |
if ( !$where.length ) { |
||
return; // |
return; // Beta toolbar not ready yet |
||
} |
} |
||
$( '<div id="gadget-toolbar" style="float:left;"></div>' ).prependTo( $where ); |
$( '<div id="gadget-toolbar" style="float:left;"></div>' ).prependTo( $where ); |
||
} |
} |
||
// for ( var id in mwCustomEditButtons ) { |
|||
// This is broken. The same was done in ru.wikipedia. |
|||
// var btn = mwCustomEditButtons[id]; |
|||
/* |
|||
// if ( !btn.length ) { |
|||
for ( var id in mwCustomEditButtons ) { |
|||
// continue; |
|||
var b = mwCustomEditButtons[id]; |
|||
// } |
|||
if ( !b.length ) { |
|||
// createFuncBtn( id, btn[0], btn[1], btn[2] ); |
|||
continue; |
|||
// delete mwCustomEditButtons[id]; |
|||
} |
|||
// } |
|||
createFuncBtn( id, b[0], b[1], b[2] ); |
|||
delete mwCustomEditButtons[id]; |
|||
} |
|||
*/ |
|||
} |
} |
||
if ( mw.user.options.get( 'usebetatoolbar' ) !== 1 ) { |
|||
$( function() { |
|||
$( function() { |
|||
gadgetToolbar(); |
|||
gadgetToolbar(); |
|||
setTimeout( gadgetToolbar, 2000 ); |
|||
setTimeout( gadgetToolbar, 6000 ); |
|||
} ); |
} ); |
||
} |
|||
// Summary buttons |
// Summary buttons |
||
function insertSummary |
function insertSummary( txt ) { |
||
if ( typeof txt !== 'string' ) { |
if ( typeof txt !== 'string' ) { |
||
txt = this.title; |
txt = this.title; |
||
} |
} |
||
if (typeof summaryItemsSeparator == 'undefined') { |
|||
var vv = $( '#wpSummary' ).val(); |
|||
window.summaryItemsSeparator = ','; |
|||
if ( vv.indexOf( txt ) !== -1 ) { |
|||
} |
|||
var val = $( '#wpSummary' ).val(); |
|||
var regExp = new RegExp( '(^|[,;.?!/]) ?' + mw.RegExp.escape(txt) ); |
|||
if ( regExp.test( val ) ) { |
|||
return; |
return; |
||
} |
} |
||
if ( /[^,; \/]$/.test( |
if ( /[^,; \/]$/.test( val ) ) { |
||
val += summaryItemsSeparator; |
|||
} |
} |
||
if ( /[^ ]$/.test( |
if ( /[^ ]$/.test( val ) ) { |
||
val += ' '; |
|||
} |
} |
||
$( '#wpSummary' ).val( |
$( '#wpSummary' ).val( val + txt ); |
||
} |
} |
||
function addSumButton |
function addSumButton( btn, txt ) { |
||
$( '<a title="' + txt + '">' + btn + '</a>' ) |
$( '<a title="' + txt + '">' + btn + '</a>' ) |
||
.appendTo( '#userSummaryButtonsA' ) |
.appendTo( '#userSummaryButtonsA' ) |
||
130-тӥ чур: | 145-тӥ чур: | ||
return; |
return; |
||
} |
} |
||
mw.util.addCSS( '\ |
|||
mw.loader.using( 'mediawiki.util' ).done( function () { |
|||
input#wpSummary { margin-bottom: 0 }\ |
|||
mw.util.addCSS( '\ |
|||
#userSummaryButtonsA a { background:#cef; border:1px solid #adf; padding:0 2px;\ |
|||
input#wpSummary { margin-bottom:0; }\ |
|||
margin:0 2px;cursor:pointer; font-size:86%; color:#666 }\ |
|||
#userSummaryButtonsA a |
#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"></div>' ).insertAfter( '#wpSummary' ); |
$( '<div id="userSummaryButtonsA"></div>' ).insertAfter( '#wpSummary' ); |
||
$.each( |
$.each( |
||
[ |
[ |
||
'викиф|икация', 'оформл|ение', 'стил|евые правки', 'орфогр|афия', |
'викиф|икация', 'оформл|ение', 'стил|евые правки', 'орфогр|афия', |
||
'пункт|уация', 'ответ', 'комм|ентарий', 'кат| |
'пункт|уация', 'ответ', 'комм|ентарий', 'кат|егоризация', 'шаб|лон', |
||
'к удал|ению', 'иллюстрация', 'источ|ники', 'запр|ос источника', |
'к удал|ению', 'иллюстрация', 'источ|ники', 'запр|ос источника', |
||
'доп|олнение', 'уточн|ение', 'обнов|ление |
'доп|олнение', 'уточн|ение', 'обнов|ление', 'закр|ыто', 'итог' |
||
], |
], |
||
function ( i, s ) { |
function ( i, s ) { |
||
155-тӥ чур: | 173-тӥ чур: | ||
// Sig reminder |
// Sig reminder |
||
if ( mw.config.get( 'wgNamespaceNumber' ) % 2 || |
|||
/* |
|||
mw.config.get( 'wgNamespaceNumber' ) === 4 || |
|||
mw.config.get( 'wgNamespaceNumber' ) === 104 |
|||
*/ |
|||
) { |
|||
$( function () { |
|||
// Hack for Opera 11.6 |
|||
var copywarn = document.getElementById( 'editpage-copywarn' ), |
|||
if ( window.opera && /11\.6[01]/.test( window.opera.version() ) ) { |
|||
wpSave = document.getElementById( 'wpSave' ); |
|||
$( '#wpTextbox1' ) |
|||
if ( !copywarn || !wpSave ) { |
|||
.mousedown( function() { |
|||
return; |
|||
this.sT = this.scrollTop; |
|||
} |
} |
||
if ( ( mw.config.get( 'wgNamespaceNumber' ) === 4 || mw.config.get( 'wgNamespaceNumber' ) === 104 ) && |
|||
.click( function() { |
|||
( !mw.config.get( 'wgTitle' ).match( '^(Форум[/ ]|Голосования/|Опросы/|Обсуждение правил/|Заявки на .*|Запросы.|Кандидаты в .*/|К (удалению|объединению|переименованию|разделению|улучшению)/|Рецензирование/|Проверка участников/|Инкубатор/(Мини-рецензирование|Форум[/ ])|Социальная ответственность/Форум|Водные объекты|Библиотека/Требуются книги|Добротные статьи/К лишению статуса|Фильтр правок/Срабатывания)' ) || |
|||
if ( this.scrollTop === 0 ) { |
|||
mw.config.get( 'wgTitle' ).match( '/Архив' ) ) |
|||
this.scrollTop = this.sT; |
|||
) { |
|||
return; |
|||
} |
|||
var ins = '<a href="javascript:mw.toolbar.insertTags(\' ~~\~~\', \'\', \'\');">~~\~~</a>'; |
|||
copywarn.innerHTML += ' Не забудьте добавить к вашему сообщению подпись с помощью ' + ins; |
|||
if ( $.inArray( 'autoconfirmed', mw.config.get( 'wgUserGroups' ) ) !== -1 && !window.sigWarning ) { |
|||
return; |
|||
} |
|||
// Unregistered/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; |
|||
} |
} |
||
} |
}; |
||
} ); |
|||
} |
} |
13:50, 18 Куартолэзе 2017 выллем версия
// Helper function for toolbar buttons
// TODO: We gotta migrate _users_ to mw.toolbar.addButton, see [[mw:ResourceLoader/Migration guide (users)#Toolbar]]
function wgImg( img ) {
return '//upload.wikimedia.org/wikipedia/' + img;
}
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 );
}
// автоматическое заполнение полей при добавлении новых тем сверху
var summary = $('#wpSummary').val();
if ( decodeURIComponent(location.search).search(/[?&]summary=\/\*[+ ]*\*\//) != -1
|| ( mw.config.get('wgAction') == 'submit'
&& summary !== undefined && summary.search(/\/\*\s*\*\//) != -1)) {
importMW( 'NewTopicOnTop' );
}
// Toolbar section for gadgets
if ( mw.user.options.get( 'usebetatoolbar' ) === 1 ) {
var gadgetToolbarLocation = '#wikiEditor-ui-toolbar';
mw.loader.using( 'mediawiki.util' ).done( function () {
mw.util.addCSS( '#gadget-toolbar img { padding:2px; }' +
'#gadget-toolbar { height:26px; margin:3px; }' );
} );
$.when(
mw.loader.using( 'ext.wikiEditor.toolbar' ),
$.ready
).then( function() {
function addGadgetsGroup() {
gadgetToolbar();
$( '#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 );
}
if ( $groupGadgets.length ) {
mw.hook( 'wikieditor.toolbar.gadgetsgroup' ).fire();
// Quickfix until https://phabricator.wikimedia.org/T150172 is resolved
$newlineButton = $( '.wikiEditor-toolbar-spritedButton[rel="newline"]' );
$newlineButton.off('click').on('click', function(e) {
$.wikiEditor.modules.toolbar.fn.doAction($( '#wpTextbox1' ).data( 'wikiEditor-context' ), {
type: 'encapsulate',
options: {
pre: '<br>\n'
}
}, $newlineButton);
e.preventDefault();
return false;
} );
}
}
addGadgetsGroup();
if ( !$( '#wikiEditor-section-main .group-gadgets' ).length ) {
// Лечение для случаев, когда панель инструментов поздно прорисовывается
setTimeout( addGadgetsGroup, 0 );
}
} );
} else if ( mw.user.options.get( 'showtoolbar' ) === 1 ) {
var gadgetToolbarLocation = '#toolbar';
importMW( 'ToolbarOld' );
} else {
var gadgetToolbarLocation = '#editform';
importMW( 'ToolbarNone' );
}
function gadgetToolbar() {
if ( !document.getElementById( 'gadget-toolbar' ) ) {
var $where = $( gadgetToolbarLocation );
if ( !$where.length ) {
return; // Beta toolbar not ready yet
}
$( '<div id="gadget-toolbar" style="float:left;"></div>' ).prependTo( $where );
}
// for ( var id in mwCustomEditButtons ) {
// var btn = mwCustomEditButtons[id];
// if ( !btn.length ) {
// continue;
// }
// createFuncBtn( id, btn[0], btn[1], btn[2] );
// delete mwCustomEditButtons[id];
// }
}
if ( mw.user.options.get( 'usebetatoolbar' ) !== 1 ) {
$( function() {
gadgetToolbar();
setTimeout( gadgetToolbar, 2000 );
setTimeout( gadgetToolbar, 6000 );
} );
}
// Summary buttons
function insertSummary( txt ) {
if ( typeof txt !== 'string' ) {
txt = this.title;
}
if (typeof summaryItemsSeparator == 'undefined') {
window.summaryItemsSeparator = ',';
}
var val = $( '#wpSummary' ).val();
var regExp = new RegExp( '(^|[,;.?!/]) ?' + mw.RegExp.escape(txt) );
if ( regExp.test( val ) ) {
return;
}
if ( /[^,; \/]$/.test( val ) ) {
val += summaryItemsSeparator;
}
if ( /[^ ]$/.test( val ) ) {
val += ' ';
}
$( '#wpSummary' ).val( val + 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.loader.using( 'mediawiki.util' ).done( function () {
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"></div>' ).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 copywarn = document.getElementById( 'editpage-copywarn' ),
wpSave = document.getElementById( 'wpSave' );
if ( !copywarn || !wpSave ) {
return;
}
if ( ( mw.config.get( 'wgNamespaceNumber' ) === 4 || mw.config.get( 'wgNamespaceNumber' ) === 104 ) &&
( !mw.config.get( 'wgTitle' ).match( '^(Форум[/ ]|Голосования/|Опросы/|Обсуждение правил/|Заявки на .*|Запросы.|Кандидаты в .*/|К (удалению|объединению|переименованию|разделению|улучшению)/|Рецензирование/|Проверка участников/|Инкубатор/(Мини-рецензирование|Форум[/ ])|Социальная ответственность/Форум|Водные объекты|Библиотека/Требуются книги|Добротные статьи/К лишению статуса|Фильтр правок/Срабатывания)' ) ||
mw.config.get( 'wgTitle' ).match( '/Архив' ) )
) {
return;
}
var ins = '<a href="javascript:mw.toolbar.insertTags(\' ~~\~~\', \'\', \'\');">~~\~~</a>';
copywarn.innerHTML += ' Не забудьте добавить к вашему сообщению подпись с помощью ' + ins;
if ( $.inArray( 'autoconfirmed', mw.config.get( 'wgUserGroups' ) ) !== -1 && !window.sigWarning ) {
return;
}
// Unregistered/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;
}
};
} );
}