MediaWiki:Gadget-diffTools.js e Ajuda:Página de testes/1: diferenças entre as páginas
Pedido em WP:PA/PP |
m Atualização do MediaWiki:Gadget-rev e avisos.js: +mw.util.wikiGetlink(); +$.param; $('#id').find(elem) é mais eficiente que $('#id elem'); typeof x == 'function'-->$.isFunction(x) |
||
Linha 15: | Linha 15: | ||
message = mw.util.getParamValue('message'), |
message = mw.util.getParamValue('message'), |
||
diff = mw.util.getParamValue('diff'), |
diff = mw.util.getParamValue('diff'), |
||
user1 = $('#mw-diff-otitle2 |
user1 = $('#mw-diff-otitle2').find('a').first().html() || mw.util.getParamValue('user1'), |
||
user2 = $('#mw-diff-ntitle2 |
user2 = $('#mw-diff-ntitle2').find('a').first().html() || mw.util.getParamValue('user2'), |
||
revUrl = mw.util.wikiGetlink( '' ) + '?' + $.param( { |
|||
'action': 'edit', |
|||
'oldid': mw.util.getParamValue('oldid') |
|||
} ); |
|||
var options = [{ |
var options = [{ |
||
'desc': 'Reverter', |
'desc': 'Reverter', |
||
'sep': ' / ', |
'sep': ' / ', |
||
'sum': 'Revertidas edições para a última versão por [[User:$1|$1]] usando [[WP:RA|Reversão e avisos]]', |
'sum': 'Revertidas edições para a última versão por [[User:$1|$1]]' + |
||
' usando [[WP:RA|Reversão e avisos]]', |
|||
'url': revUrl + '& |
'url': revUrl + '&' + $.param( { |
||
'user1': user1, |
|||
'user2': user2, |
|||
'difftool': '0' |
|||
} ) |
|||
}, { |
}, { |
||
'desc': '+comentário', |
'desc': '+comentário', |
||
'sep': ') (Usuário: ', |
'sep': ') (Usuário: ', |
||
'sum': 'Revertidas edições de [[User:$2|$2]] para a última versão por [[User:$1|$1]] usando [[WP:RA|Reversão e avisos]] ($3)', |
'sum': 'Revertidas edições de [[User:$2|$2]] para a última versão por' + |
||
' [[User:$1|$1]] usando [[WP:RA|Reversão e avisos]] ($3)', |
|||
'url': function () { |
'url': function () { |
||
window.location = revUrl + '& |
window.location = revUrl + '&' + $.param( { |
||
'user1': user1, |
|||
'user2': user2, |
|||
'difftool': '1', |
|||
'message': that.getSummary() |
|||
} ); |
|||
} |
} |
||
}, { |
}, { |
||
Linha 105: | Linha 118: | ||
for (var i = 0; i < options.length; i++) { |
for (var i = 0; i < options.length; i++) { |
||
html += '<a id="diff-tools-link-' + i; |
html += '<a id="diff-tools-link-' + i; |
||
if ( |
if ( $.isFunction( options[i].url ) ) { |
||
html += '" class="diff-tools-f-link" href="#'; |
html += '" class="diff-tools-f-link" href="#'; |
||
} else if (typeof options[i].url === 'string') { |
} else if (typeof options[i].url === 'string') { |
||
html += '" href="' + options[i].url; |
html += '" href="' + options[i].url; |
||
} else { |
} else { |
||
html += '" href="' + |
html += '" href="' + mw.util.wikiGetlink( 'User talk:' + user2 ) + '?' + $.param( { |
||
'action': 'edit', |
|||
'section': 'new', |
|||
'difftool': i |
|||
} ); |
|||
} |
} |
||
html += '">' + options[i].desc + '</a>'; |
html += '">' + options[i].desc + '</a>'; |
||
Linha 117: | Linha 134: | ||
html += '</span><br>'; |
html += '</span><br>'; |
||
$('#contentSub').prepend(html); |
$('#contentSub').prepend(html); |
||
$('#diff-tools |
$('#diff-tools').find('a.diff-tools-f-link').click(function (e) { |
||
e.preventDefault(); // avoid jumping to the top (href=#) |
e.preventDefault(); // avoid jumping to the top (href=#) |
||
var opt = parseInt($(this).attr('id').replace('diff-tools-link-', ''), 10); |
var opt = parseInt($(this).attr('id').replace('diff-tools-link-', ''), 10); |
Revisão das 01h25min de 11 de agosto de 2011
/**
* Ferramentas para diffs (Reversão e avisos) * * Em páginas de comparação de 2 edições, inclui atalhos de reverter e avisar o usuário. * @source: en:Wikipedia:WikiProject_User_scripts/Scripts/Revert_tools * @see: Wikipedia:Software/Scripts/Reversão e avisos * @author: en:User:Lorian */
window.diffTools = new(function () {
/* Private Members */ var that = this, defaultSep = ' . ', message = mw.util.getParamValue('message'), diff = mw.util.getParamValue('diff'), user1 = $('#mw-diff-otitle2').find('a').first().html() || mw.util.getParamValue('user1'), user2 = $('#mw-diff-ntitle2').find('a').first().html() || mw.util.getParamValue('user2'), revUrl = mw.util.wikiGetlink( ) + '?' + $.param( { 'action': 'edit', 'oldid': mw.util.getParamValue('oldid') } ); var options = [{ 'desc': 'Reverter', 'sep': ' / ', 'sum': 'Revertidas edições para a última versão por $1' + ' usando Reversão e avisos', 'url': revUrl + '&' + $.param( { 'user1': user1, 'user2': user2, 'difftool': '0' } ) }, { 'desc': '+comentário', 'sep': ') (Usuário: ', 'sum': 'Revertidas edições de $2 para a última versão por' + ' $1 usando Reversão e avisos ($3)', 'url': function () { window.location = revUrl + '&' + $.param( { 'user1': user1, 'user2': user2, 'difftool': '1', 'message': that.getSummary() } ); } }, { 'desc': 'bv', 'subst': 'Bem-vindo', 'sum': 'Mensagem de boas-vindas a novo usuário' }, { 'desc': 'bv-ip', 'sep': ' / ', 'subst': 'Bem-vindo IP', 'sum': 'Mensagem de boas-vindas a usuário anônimo' }, { 'desc': 'av', 'subst': 'Aviso' }, { 'desc': 'bv-av-reg', 'subst': 'Bv-av-registrado', 'sum': 'Mensagem de boas-vindas e aviso a usuário registrado' }, { 'desc': 'bv-av', 'subst': 'Bv-av', 'sum': 'Mensagem de boas-vindas e aviso a iniciante' }, { 'desc': 'av-t1', 'subst': 'Av-teste|1', 'sum': 'Aviso 1' }, { 'desc': 'av-t2', 'subst': 'Av-teste|2', 'sum': 'Aviso 2' }, { 'desc': 'av-t3', 'sep': ' / ', 'subst': 'Av-teste|3', 'sum': 'Aviso 3' }, { 'desc': 'propaganda', 'subst': 'Propaganda', 'sum': 'Aviso sobre propaganda' }, { 'desc': 'mudança de grafia', 'subst': 'Ortografia', 'sum': 'Aviso sobre ortografia' }, { 'desc': 'assinatura em artigo', 'subst': 'Aviso-assinatura', 'sum': 'Aviso sobre assinatura em artigo' }, { 'desc': 'cópia', 'subst': 'Não copie', 'sum': 'Aviso sobre direitos de autor' }, { 'desc': 'data', 'sep': ')', 'subst': 'Av-data', 'sum': 'Aviso sobre datas' }];
/* Public Methods */
/** * Returns the summary text provided by user * * @return {String} Summary text */ this.getSummary = function () { return prompt('Comentário a acrescentar ao sumário da reversão:', ); };
/**
* Inserts additional tools on diff pages
*/
this.addOptions = function () {
var html = '(';
for (var i = 0; i < options.length; i++) {
html += '<a id="diff-tools-link-' + i;
if ( $.isFunction( options[i].url ) ) {
html += '" class="diff-tools-f-link" href="#';
} else if (typeof options[i].url === 'string') {
html += '" href="' + options[i].url;
} else {
html += '" href="' + mw.util.wikiGetlink( 'User talk:' + user2 ) + '?' + $.param( {
'action': 'edit',
'section': 'new',
'difftool': i
} );
}
html += '">' + options[i].desc + '</a>';
html += options[i].sep || defaultSep;
}
html += '
';
$('#contentSub').prepend(html);
$('#diff-tools').find('a.diff-tools-f-link').click(function (e) {
e.preventDefault(); // avoid jumping to the top (href=#)
var opt = parseInt($(this).attr('id').replace('diff-tools-link-', ), 10);
options[opt].url();
});
};
/** * Adds warnings to user pages * @param {number} tool The number of tool (it's position in options array) */ this.editUsingTool = function (tool) { if (!(0 <= tool && tool < options.length)) { return; } var sum = options[tool].sum; if (sum) { sum = sum.replace(/\$1/g, user1).replace(/\$2/g, user2).replace(/\$3/g, message); $('#wpSummary').val(sum); } if (options[tool].subst) { $('#wpTextbox1').text('{{sub' + 'st:' + options[tool].subst + '}} ~~' + '~~'); } $('#editform').submit(); };
/** * Prepare and execute the tools */ this.run = function () { var num = parseInt(mw.util.getParamValue('difftool'), 10); if (mw.config.get('wgCanonicalSpecialPageName')) { return; } if (diff) { that.addOptions(); } else { that.editUsingTool(num); } };
// Executes the script when page is ready $(this.run); })();
// //