MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 9: | Line 9: | ||
$(function () { | $(function () { | ||
if (!mw.config.get('wgUserName')) return; | |||
console.log("START"); | console.log("START"); | ||
Latest revision as of 14:28, 23 March 2026
/* Any JavaScript here will be loaded for all users on every page load. */
$(function () {
var link = $('<a>')
.attr('href', '/wiki/Deklaracja_dostepnosci')
.text('Deklaracja dostępności');
$('<li>').append(link).appendTo('#footer-places').parent();
});
$(function () {
if (!mw.config.get('wgUserName')) return;
console.log("START");
var namespace = mw.config.get('wgNamespaceNumber');
if (namespace !== 120) return;
var entityId = mw.config.get('wgTitle');
var pageName = mw.config.get('wgPageName');
var userLang = mw.config.get('wgUserLanguage');
var url = window.location.href;
// data dostępu
var now = new Date();
var day = String(now.getDate()).padStart(2, '0');
var month = String(now.getMonth() + 1).padStart(2, '0');
var year = now.getFullYear();
var messageCurrentDate = day + '.' + month + '.' + year;
// REQUESTY
var labelRequest = $.getJSON(mw.util.wikiScript('api'), {
action: 'wbgetentities',
ids: entityId,
props: 'labels',
languages: userLang,
format: 'json'
});
var revisionRequest = $.getJSON(mw.util.wikiScript('api'), {
action: 'query',
prop: 'revisions',
titles: pageName,
rvprop: 'timestamp',
format: 'json'
});
$.when(labelRequest, revisionRequest).done(function (labelRes, revisionRes) {
var labelData = labelRes[0];
var revisionData = revisionRes[0];
// 🏷️ LABEL
var messageLabel = entityId;
var entity = labelData.entities[entityId];
if (entity.labels && entity.labels[userLang]) {
messageLabel = entity.labels[userLang].value;
}
// DATA EDYCJI
var messageEdit = '';
var pages = revisionData.query.pages;
var page = pages[Object.keys(pages)[0]];
if (page.revisions && page.revisions.length > 0) {
var lastEdit = new Date(page.revisions[0].timestamp);
var ed = String(lastEdit.getDate()).padStart(2, '0');
var em = String(lastEdit.getMonth() + 1).padStart(2, '0');
var ey = lastEdit.getFullYear();
messageEdit = ed + '.' + em + '.' + ey;
}
// HTML
var citationHTML =
messageLabel + ', ' +
'<a href="' + url + '" target="_blank">' + url + '</a>, ' +
'[ostatnia edycja strony: ' + messageEdit + ', dostęp: ' + messageCurrentDate + '].';
var box = $(
'<div class="item-message">' +
'Referując do tego elementu użyj:<br>' +
'<span id="copy-target">' + citationHTML + '</span>' +
'<button id="copy-button" style="margin-left:8px;cursor:pointer;">⧉</button>' +
'</div>'
);
var target = $('#mw-content-text, #content, .mw-body-content').first();
target.prepend(box);
// kopiowanie
$('#copy-button').on('click', function () {
var text = $('#copy-target').text();
var temp = $('<textarea>');
$('body').append(temp);
temp.val(text).select();
document.execCommand('copy');
temp.remove();
$(this).text('✔');
setTimeout(function () {
$('#copy-button').text('⧉');
}, 1500);
});
});
});