User:DreamRimmer/DeletedMetaData.js: Difference between revisions

Content deleted Content added
+
tweak
 
(8 intermediate revisions by the same user not shown)
Line 18:
 
mw.loader.using(['mediawiki.api', 'oojs-ui', 'mediawiki.util']).then(function () {
function addPortletLink() {
if (document.querySelector('li[data-mw-logaction^="delete/"]')) {
mw.util.addPortletLink(
'p-tbcactions',
'#',
'View metadata of deleted revisions',
Line 29:
document.getElementById('ca-show-deleted-revisions').addEventListener('click', function (e) {
e.preventDefault();
const logEntrypageTitle = documentmw.querySelectorconfig.get('li[data-mw-logaction^="delete/"]wgPageName');
if (!logEntry) {
new OO.ui.Alert('No deletion log entry found on this page.', { type: 'error' }).show();
return;
}
const pageLink = logEntry.querySelector('a.new[href*="title="]');
if (!pageLink) {
new OO.ui.Alert('No deleted page link found.', { type: 'error' }).show();
return;
}
const urlParams = new URLSearchParams(pageLink.href.split('?')[1]);
let pageTitle = urlParams.get('title');
pageTitle = decodeURIComponent(pageTitle.replace(/_/g, ' '));
fetchRevisions(pageTitle);
});
Line 90 ⟶ 78:
RevisionDialog.static.title = 'Deleted revisions: ' + title;
RevisionDialog.static.actions = [
{ action: 'close', labelicon: 'Closeclose', flags: ['primary', 'safe'] }
];
 
Line 205 ⟶ 193:
openedDialog.$body.css('overflow', 'auto');
window.revisionDialog = openedDialog;
});
}
 
if (document.querySelector('li[data-mw-logaction^="delete/"]')) {
addPortletLink();
} else {
letconst pageTitle = urlParamsmw.config.get('titlewgPageName');
const params = {
ifaction: (!pageLink) {'query',
prop: 'deletedrevisions',
titles: return;pageTitle,
drvprop: 'user|timestamp|tags|size',
drvlimit: 1,
formatversion: 2
};
new mw.Api().get(params).done(function (data) {
const pageData = data.query.pages[0];
if (pageData.deletedrevisions && pageData.deletedrevisions.length > 0) {
returnaddPortletLink();
if (!logEntry) {}
}).fail(function (error) {
console.error('Error checking for deleted revisions: ' + error);
});
}