Участник:KPu3uC B Poccuu/rqedit.js
Перейти к навигации
Перейти к поиску
Страница персонального оформления. У этого JS-кода есть документация: Участник:KPu3uC B Poccuu/rqedit.
После сохранения очистите кэш браузера.
После сохранения очистите кэш браузера.
//<nowiki> Основано на одноимённом скрипте Алекса Смотрова. Щёлкать нужно не по ссылкам, а по строкам.
var rqeditor=
{
panel:
'<div style="border:4px outset #D0D0D0;margin:1em 0 0 0.5em;line-height:100%">\
<div id="rq_display" style="padding:2px;border:1px solid gray;font-weight:bold">\
<button id="rq_accept" title="Применить изменения">Обновить</button>\
<button id="rq_close" title="Закрыть диалог без изменений">✖</button>\
</div>',
loaded:false,
close:function()
{
rqeditor.panel.hide();
},
accept:function()
{
},
init:function()
{
rqeditor.panel=$(rqeditor.panel);
rqeditor.table=$('<div>Загрузка…</div>');
rqeditor.panel.prepend(rqeditor.table);
rqeditor.table.load('/wiki/Template:Rq?action=render #rqedit_hint',function(resp,status,xhr)
{
rqeditor.table=rqeditor.table.children();// get rid of the immediate <div>.
rqeditor.table.css({'max-height':300,'overflow':'auto'});
rqeditor.update();
});
rqeditor.loaded=true;
rqeditor.panel.insertBefore('#editform');
$('#rq_accept').click(rqeditor.accept);
$('#rq_close').click(rqeditor.close);
$('#wpTextbox1').change(rqeditor.update);
},
update:function()
{
},
toggle:function()
{
if(!rqeditor.loaded)
{
rqeditor.init();
}
else rqeditor.panel.toggle();
}
};
/*function rq_updateState()
{
var ma;
if(ma=$('#wpTextbox1').val().match(/{{\s*rq\s*\|\s*?([^}]*)\s*}}/i))
{
ma=ma[1].split('|');
for(i=0;i<ma.length;++i)rq[ma[i].trim()]=true;
for(i=0;i<rqTable.length;++i)updateRqRow(rqTable.get(i));
}
}
function updateRqRow(tr,isInvert)
{
var param=pickUpText(tr.cells[0]);
if(isInvert)rq[param]=!rq[param];
tr.style.backgroundColor=rq[param]?'#F0F0F0':'';
}
function rq_apply()
{
var newRq=$('#rqDisp').html(),ma,txtbox=$('#wpTextbox1');
if(ma=txtbox.val().match(/{{\s*rq\s*\|\s*?([^}]*)\s*}}/i))
txtbox.val(txtbox.val().replace(ma,newRq));
else
mw.toolbar.insertTags(newRq,'','');
rq_closeDialog();
}
function updateRqDisplay()
{
var s='{{rq';
for(var i in rq)if(rq[i])s+='|'+i;
s+='}}';
$('#rqDisp').html(s);
}*/
function rqEditInit()
{
function addNewToolbarButton() {
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
'section': 'main',
'group': 'gadgets',
'tools': {
'rqeditor': {
label: 'Вставить/заменить шаблон {{rq}}',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Emblem-important.svg/22px-Emblem-important.svg.png',
action: {
type: 'callback',
execute: function() {
rqeditor.toggle();
}
}
}
}
} );
}
function addOldToolbarButton() {
mw.toolbar.addButton(
{
imageFile:'//upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Emblem-important.svg/48px-Emblem-important.svg.png',
speedTip:'Вставить/заменить шаблон {{rq}}',
imageId: 'button-rqedit',
onClick:rqEdit
});
}
if ( mw.user.options.get( 'usebetatoolbar' ) === 1 ) {
if ( mw.user.options.get( 'showtoolbar' ) === 1 ) {
$.when( mw.loader.using( [ 'ext.wikiEditor', 'schema.Edit' ] ), $.ready ).then( function() {
mw.hook( 'wikieditor.toolbar.gadgetsgroup' ).add( function () {
addNewToolbarButton();
} );
} );
}
} else {
mw.loader.using( 'mediawiki.toolbar', function() {
$( addOldToolbarButton );
} );
}
}
var x=setInterval(function()
{
var button=$('#rqeditor');
if(!button.length)return;
button.addClass('mw-toolbar-editbutton');
clearInterval(x);
},20);
$(rqEditInit);
//</nowiki>