User:BZPN/Przeglądarka.js: Difference between revisions

From Test Wiki
Content deleted Content added
BZPN (talk | contribs)
No edit summary
Tag: Reverted
BZPN (talk | contribs)
No edit summary
Tag: Manual revert
 
(3 intermediate revisions by the same user not shown)
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 () {
var pageName = mw.config.get('wgCanonicalSpecialPageName');
var pageName = mw.config.get('wgCanonicalSpecialPageName');
Line 30: Line 32:


$('#mw-content-text').prepend($reviewBox);
$('#mw-content-text').prepend($reviewBox);

// Podgląd edycji
$('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);

var $previewButton = $('<button class="oo-ui-buttonElement-button" style="margin-left: 5px;">Podgląd</button>');
$previewButton.click(function () {
var api = new mw.Api();
api.get({
action: 'compare',
fromrev: revid - 1, // Pobieramy poprzednią wersję
torev: revid,
format: 'json'
}).done(function (data) {
var diff = data.compare['*'];

// Tworzymy okno modalne
var $modal = $(`
<div class="oo-ui-dialog" style="position: fixed; top: 10%; left: 50%; transform: translateX(-50%); width: 80%; background: white; padding: 20px; border: 1px solid black; z-index: 1000;">
<div style="max-height: 400px; overflow-y: scroll;">${diff}</div>
<button id="close-modal" class="oo-ui-buttonElement-button" style="margin-top: 10px;">Zamknij</button>
</div>
`);

$('body').append($modal);

// Zamknij modal po kliknięciu przycisku
$('#close-modal').click(function () {
$modal.remove();
});
});
});

$this.prepend($checkbox).append($previewButton);
});


$('#review-selected-button').click(function () {
$('#review-selected-button').click(function () {
Line 105: Line 149:
$('#cancel-review').click(function () {
$('#cancel-review').click(function () {
$('#mass-review-box').hide();
$('#mass-review-box').hide();
});

// Dodanie checkboxów
$('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);

// Dodaj przycisk podglądu edycji
var $previewButton = $('<button class="preview-edit-button" style="margin-left: 10px;">Podgląd</button>');
$this.append($previewButton);

$previewButton.click(function () {
var diffUrl = mw.util.getUrl(title, { diff: revid });

$.get(diffUrl, function (data) {
var diffHtml = $(data).find('#mw-diff-otitle2').html(); // Pobranie HTML różnic

// Wyświetlanie podglądu w modalnym oknie
var $modal = $('<div class="preview-modal" style="position: fixed; top: 10%; left: 50%; transform: translateX(-50%); background-color: #fff; border: 1px solid #ccc; padding: 20px; z-index: 9999; width: 80%; max-height: 80%; overflow-y: auto;"></div>');
var $closeButton = $('<button style="position: absolute; top: 10px; right: 10px;">Zamknij</button>');

$modal.append($closeButton);
$modal.append('<div class="diff-content">' + diffHtml + '</div>');
$('body').append($modal);

$closeButton.click(function () {
$modal.remove();
});

// Stylizacja zmian
$('.diff-addedline', $modal).css('background-color', '#e6f7ff'); // Dodane linie na niebiesko
$('.diff-deletedline', $modal).css('background-color', '#ffe6e6'); // Usunięte linie na pomarańczowo
});
});
});
});
}
}