MediaWiki:Gadget-ErroriLint.js
Aspetto
Nota: dopo aver pubblicato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.
- Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
- Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
- Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5.
$(function() {
function getLintErrors() {
if (mw.config.get('wgAction') == 'view') {
$.ajax({
url: "/w/index.php?&title=" + mw.config.get('wgPageName') + "&action=info"
}).done(function(response) {
content = $('#mw-content-text', response);
h2 = content.find('#mw-pageinfo-linter');
if (h2) {
var errorCount = h2.next().find('tr').length;
$('#option-get-errori-lint a').text('Errori nel wikitesto (' + errorCount + ')');
if (errorCount > 0)
$('#option-get-errori-lint a').css('color', 'red').css('font-weight', 'bold');
$('#mw-content-text').prepend('<div id="box-errori-lint"></div>');
$('#box-errori-lint').append(h2.next());
$('#box-errori-lint table').prepend('<tr><th colspan="2">Errori di validazione Lint'
+ '<span class="icon-close" id="box-errori-lint-close"></span>'
+ '</th></tr>');
$('#box-errori-lint-close').click(function(e) {
localStorage.getErroriLint = "false";
$('#box-errori-lint').remove();
});
$('#box-errori-lint').draggable({
create: function( event, ui ) {
if (mw.config.get("wgCanonicalNamespace") == "Page") {
$(this).css({
float: "none",
position: "absolute",
top: $(this).position().top,
left: $(this).position().left
});
} else {
$(this).css({
right: "auto",
bottom: "auto",
top: $(this).position().top,
left: $(this).position().left
});
}
}
});
}
});
}
}
if (mw.config.get('wgAction') == 'view' && mw.config.get('wgNamespaceNumber') > 0 && mw.config.get('wgNamespaceNumber') != 110) {
mw.util.addPortletLink('p-tb', '#', 'Errori nel wikitesto', 'option-get-errori-lint',
'Mostra gli errori di validazione del codice wiki trovati da Lint (tag annidati male, tag non chiusi ecc.) per questa pagina');
isActive = localStorage.getErroriLint;
// enable by default
if (isActive == undefined) {
isActive = "true";
localStorage.getErroriLint = "true";
}
if (isActive == "true") {
getLintErrors();
}
$('#option-get-errori-lint a').click(function(e) {
e.preventDefault();
isActive = localStorage.getErroriLint;
if (isActive != undefined && isActive == "true") {
$('#box-errori-lint-close').click();
} else {
localStorage.getErroriLint = "true";
getLintErrors();
}
});
}
});