User:BZPN/Przeglądarka.js: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
No edit summary Tag: Reverted |
No edit summary Tag: Reverted |
||
Line 1: | Line 1: | ||
// Autor: BZPN |
|||
// UŻYWASZ SKRYPTU NA WŁASNĄ ODPOWIEDZIALNOŚĆ! Autor nie ponosi odpowiedzialności za ew. szkody spowodowane użyciem skryptu. |
|||
$(document).ready(function () { |
$(document).ready(function () { |
||
if (mw.config.get('wgCanonicalSpecialPageName') !== 'Contributions') { |
|||
⚫ | |||
} |
|||
// Sprawdź, czy gadżet popups jest włączony |
|||
if (pageName !== 'Contributions') { |
|||
if (!mw.user.options.get('popup')) { |
|||
return; |
return; |
||
} |
} |
||
Line 14: | Line 19: | ||
<span class="oo-ui-iconElement-icon oo-ui-iconElement-noIcon"></span> |
<span class="oo-ui-iconElement-icon oo-ui-iconElement-noIcon"></span> |
||
<span class="oo-ui-labelElement-label">Przeglądanie edycji</span> |
<span class="oo-ui-labelElement-label">Przeglądanie edycji</span> |
||
<span class="oo-ui-widget oo-ui-widget-enabled oo-ui-iconElement-icon oo-ui-icon-expand oo-ui-iconElement oo-ui-labelElement-invisible oo-ui-iconWidget"> |
<span class="oo-ui-widget oo-ui-widget-enabled oo-ui-iconElement-icon oo-ui-icon-expand oo-ui-iconElement oo-ui-labelElement-invisible oo-ui-iconWidget">Rozwiń</span> |
||
<span class="oo-ui-widget oo-ui-widget-enabled oo-ui-iconElement-icon oo-ui-icon-collapse oo-ui-iconElement-invisible oo-ui-iconWidget"> |
<span class="oo-ui-widget oo-ui-widget-enabled oo-ui-iconElement-icon oo-ui-icon-collapse oo-ui-iconElement oo-ui-labelElement-invisible oo-ui-iconWidget">Zwiń</span> |
||
</legend> |
</legend> |
||
<div class="oo-ui-fieldsetLayout-group mw-collapsible-content" style="display: block;"> |
<div class="oo-ui-fieldsetLayout-group mw-collapsible-content" style="display: block;"> |
||
Line 21: | Line 26: | ||
<button id="review-selected-button" class="oo-ui-inputWidget-input oo-ui-buttonElement-button oo-ui-buttonElement-framed oo-ui-flaggedElement-progressive" style="padding: 5px 10px; background-color: #007bff; color: #fff; border: none; cursor: pointer; border-radius: 4px;">Przejrzyj zaznaczone edycje</button> |
<button id="review-selected-button" class="oo-ui-inputWidget-input oo-ui-buttonElement-button oo-ui-buttonElement-framed oo-ui-flaggedElement-progressive" style="padding: 5px 10px; background-color: #007bff; color: #fff; border: none; cursor: pointer; border-radius: 4px;">Przejrzyj zaznaczone edycje</button> |
||
<button id="review-all-button" class="oo-ui-inputWidget-input oo-ui-buttonElement-button oo-ui-buttonElement-framed oo-ui-flaggedElement-destructive" style="padding: 5px 10px; background-color: #ff4136; color: #fff; border: none; cursor: pointer; border-radius: 4px;">Przejrzyj wszystkie edycje</button> |
<button id="review-all-button" class="oo-ui-inputWidget-input oo-ui-buttonElement-button oo-ui-buttonElement-framed oo-ui-flaggedElement-destructive" style="padding: 5px 10px; background-color: #ff4136; color: #fff; border: none; cursor: pointer; border-radius: 4px;">Przejrzyj wszystkie edycje</button> |
||
<button id="show-diffs-button" class="oo-ui-inputWidget-input oo-ui-buttonElement-button oo-ui-buttonElement-framed" style="padding: 5px 10px; background-color: #17a2b8; color: #fff; border: none; cursor: pointer; border-radius: 4px;">Pokaż różnice</button> |
|||
<button id="cancel-review" class="oo-ui-inputWidget-input oo-ui-buttonElement-button oo-ui-buttonElement-framed" style="padding: 5px 10px; background-color: #aaa; color: #fff; border: none; cursor: pointer; border-radius: 4px;">Anuluj</button> |
<button id="cancel-review" class="oo-ui-inputWidget-input oo-ui-buttonElement-button oo-ui-buttonElement-framed" style="padding: 5px 10px; background-color: #aaa; color: #fff; border: none; cursor: pointer; border-radius: 4px;">Anuluj</button> |
||
</div> |
</div> |
||
Line 100: | Line 106: | ||
console.error('Błąd przy pobieraniu wkładu użytkownika:', error); |
console.error('Błąd przy pobieraniu wkładu użytkownika:', error); |
||
alert('Błąd przy pobieraniu wkładu użytkownika.'); |
alert('Błąd przy pobieraniu wkładu użytkownika.'); |
||
⚫ | |||
}); |
|||
⚫ | |||
$('input[type="checkbox"].review-checkbox:checked').each(function () { |
|||
var revid = $(this).data('revid'); |
|||
var title = $(this).data('title'); |
|||
mw.popups.open(mw.util.getUrl('index.php?title=' + encodeURIComponent(title) + '&diff=' + revid), { |
|||
⚫ | |||
height: 600 |
|||
}); |
|||
}); |
}); |
||
}); |
}); |
||
Line 107: | Line 124: | ||
}); |
}); |
||
// Dodanie checkboxów i przycisku wywołującego popup |
|||
$('li[data-mw-revid]').each(function () { |
$('li[data-mw-revid]').each(function () { |
||
var $this = $(this); |
var $this = $(this); |
||
Line 118: | Line 134: | ||
$this.prepend($checkbox); |
$this.prepend($checkbox); |
||
// Dodaj przycisk podglądu edycji |
|||
var $previewButton = $('<button class="preview-edit-button" style="margin-left: 10px;">Podgląd</button>'); |
|||
$this.append($previewButton); |
|||
⚫ | |||
if (typeof popupShowPreview === 'function') { |
|||
popupShowPreview($this.find('.mw-contributions-title a')[0], ''); // Wywołaj popup |
|||
⚫ | |||
console.error('Gadżet Navigation Popups nie jest załadowany.'); |
|||
⚫ | |||
⚫ | |||
}); |
}); |
||
} |
} |
Revision as of 20:05, 15 September 2024
// Autor: BZPN
// UŻYWASZ SKRYPTU NA WŁASNĄ ODPOWIEDZIALNOŚĆ! Autor nie ponosi odpowiedzialności za ew. szkody spowodowane użyciem skryptu.
$(document).ready(function () {
if (mw.config.get('wgCanonicalSpecialPageName') !== 'Contributions') {
return;
}
// Sprawdź, czy gadżet popups jest włączony
if (!mw.user.options.get('popup')) {
return;
}
if ($('#mass-review-box').length === 0) {
var $reviewBox = $(`
<div id="mass-review-box" class="mw-htmlform-ooui-wrapper oo-ui-layout oo-ui-panelLayout oo-ui-panelLayout-padded oo-ui-panelLayout-framed">
<form id="review-form" class="mw-htmlform mw-htmlform-ooui oo-ui-layout oo-ui-formLayout">
<fieldset class="oo-ui-layout oo-ui-labelElement oo-ui-fieldsetLayout mw-collapsibleFieldsetLayout mw-collapsible mw-made-collapsible">
<legend role="button" class="oo-ui-fieldsetLayout-header mw-collapsible-toggle mw-collapsible-toggle-expanded" aria-expanded="true" tabindex="0">
<span class="oo-ui-iconElement-icon oo-ui-iconElement-noIcon"></span>
<span class="oo-ui-labelElement-label">Przeglądanie edycji</span>
<span class="oo-ui-widget oo-ui-widget-enabled oo-ui-iconElement-icon oo-ui-icon-expand oo-ui-iconElement oo-ui-labelElement-invisible oo-ui-iconWidget">Rozwiń</span>
<span class="oo-ui-widget oo-ui-widget-enabled oo-ui-iconElement-icon oo-ui-icon-collapse oo-ui-iconElement oo-ui-labelElement-invisible oo-ui-iconWidget">Zwiń</span>
</legend>
<div class="oo-ui-fieldsetLayout-group mw-collapsible-content" style="display: block;">
<div class="oo-ui-widget oo-ui-widget-enabled mw-htmlform-submit-buttons">
<button id="review-selected-button" class="oo-ui-inputWidget-input oo-ui-buttonElement-button oo-ui-buttonElement-framed oo-ui-flaggedElement-progressive" style="padding: 5px 10px; background-color: #007bff; color: #fff; border: none; cursor: pointer; border-radius: 4px;">Przejrzyj zaznaczone edycje</button>
<button id="review-all-button" class="oo-ui-inputWidget-input oo-ui-buttonElement-button oo-ui-buttonElement-framed oo-ui-flaggedElement-destructive" style="padding: 5px 10px; background-color: #ff4136; color: #fff; border: none; cursor: pointer; border-radius: 4px;">Przejrzyj wszystkie edycje</button>
<button id="show-diffs-button" class="oo-ui-inputWidget-input oo-ui-buttonElement-button oo-ui-buttonElement-framed" style="padding: 5px 10px; background-color: #17a2b8; color: #fff; border: none; cursor: pointer; border-radius: 4px;">Pokaż różnice</button>
<button id="cancel-review" class="oo-ui-inputWidget-input oo-ui-buttonElement-button oo-ui-buttonElement-framed" style="padding: 5px 10px; background-color: #aaa; color: #fff; border: none; cursor: pointer; border-radius: 4px;">Anuluj</button>
</div>
</div>
</fieldset>
</form>
</div>
`);
$('#mw-content-text').prepend($reviewBox);
$('#review-selected-button').click(function () {
var api = new mw.Api();
var selectedRevisions = $('input[type="checkbox"].review-checkbox:checked').map(function () {
return {
title: $(this).data('title'),
revid: $(this).data('revid')
};
}).get();
if (selectedRevisions.length === 0) {
alert('Nie zaznaczono żadnych edycji do przejrzenia.');
return;
}
var reviewPromises = selectedRevisions.map(function (contrib) {
return api.postWithToken('csrf', {
action: 'review',
revid: contrib.revid,
title: contrib.title
});
});
Promise.all(reviewPromises).then(function () {
alert('Zaznaczone edycje zostały przejrzane!');
location.reload();
}).catch(function (error) {
console.error('Wystąpił błąd podczas przeglądania edycji:', error);
alert('Wystąpił błąd podczas przeglądania edycji.');
});
});
$('#review-all-button').click(function () {
var userName = mw.config.get('wgRelevantUserName');
var api = new mw.Api();
api.get({
action: 'query',
list: 'usercontribs',
ucuser: userName,
uclimit: 'max',
ucprop: 'ids|title',
format: 'json'
}).done(function (data) {
var contributions = data.query.usercontribs;
if (contributions.length === 0) {
alert('Brak edycji do przejrzenia.');
return;
}
var reviewPromises = contributions.map(function (contrib) {
return api.postWithToken('csrf', {
action: 'review',
revid: contrib.revid,
title: contrib.title
});
});
Promise.all(reviewPromises).then(function () {
alert('Wszystkie edycje zostały przejrzane!');
location.reload();
}).catch(function (error) {
console.error('Wystąpił błąd podczas przeglądania:', error);
alert('Wystąpił błąd podczas przeglądania.');
});
}).fail(function (error) {
console.error('Błąd przy pobieraniu wkładu użytkownika:', error);
alert('Błąd przy pobieraniu wkładu użytkownika.');
});
});
$('#show-diffs-button').click(function () {
$('input[type="checkbox"].review-checkbox:checked').each(function () {
var revid = $(this).data('revid');
var title = $(this).data('title');
mw.popups.open(mw.util.getUrl('index.php?title=' + encodeURIComponent(title) + '&diff=' + revid), {
width: 800,
height: 600
});
});
});
$('#cancel-review').click(function () {
$('#mass-review-box').hide();
});
$('li[data-mw-revid]').each(function () {
var $this = $(this);
var revid = $this.data('mw-revid');
var title = $this.find('.mw-contributions-title').text();
var $checkbox = $('<input type="checkbox" class="review-checkbox" style="margin-right: 5px;">')
.data('revid', revid)
.data('title', title);
$this.prepend($checkbox);
});
}
});