User:BZPN/PNHelper.js
Jump to navigation
Jump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
mw.loader.using('mediawiki.util').then(function() {
// Dodanie przycisku do paska bocznego
mw.util.addPortletLink(
'p-tb', // Sekcja na pasku bocznym
'#', // Link (placeholder)
'Dodaj zadanie', // Tekst przycisku
'dodaj-zadanie-przycisk', // ID przycisku
'Dodaj nowe zadanie' // Opis przycisku (tooltip)
);
// Funkcja wyświetlająca popup
function showPopup() {
// Tworzenie elementów popupu
var $popup = $('<div>', { id: 'zadanie-popup', class: 'popup-okno' }).css({
position: 'fixed',
top: '50%',
left: '50%',
transform: 'translate(-50%, -50%)',
background: '#fff',
padding: '20px',
border: '1px solid #ccc',
'z-index': 1000
});
// Pole do wpisania tytułu zadania
var $titleInput = $('<input>', {
type: 'text',
id: 'zadanie-tytul',
placeholder: 'Wpisz tytuł zadania'
}).css({ width: '100%', 'margin-bottom': '10px' });
// Większe pole do wpisania opisu zadania
var $descriptionInput = $('<textarea>', {
id: 'zadanie-opis',
placeholder: 'Wpisz opis zadania'
}).css({ width: '100%', height: '100px', 'margin-bottom': '10px' });
// Przycisk do dodawania stylów tekstu
var $editButtons = $('<div>', { id: 'edit-buttons' }).css({ 'margin-bottom': '10px' });
var $boldButton = $('<button>', { text: 'B' }).css({ 'font-weight': 'bold' }).on('click', function() {
document.execCommand('bold');
});
var $italicButton = $('<button>', { text: 'I' }).css({ 'font-style': 'italic' }).on('click', function() {
document.execCommand('italic');
});
$editButtons.append($boldButton, $italicButton);
// Przycisk do dodawania linków do zaznaczonych wyrazów
var $linkButton = $('<button>', { text: 'Dodaj link' }).on('click', function() {
var selectedText = window.getSelection().toString();
if (selectedText) {
var url = prompt('Podaj URL dla zaznaczonego tekstu:');
if (url) {
document.execCommand('createLink', false, url);
}
} else {
alert('Zaznacz tekst, aby dodać link.');
}
});
// Przycisk Anuluj
var $cancelButton = $('<button>', { text: 'Anuluj' }).on('click', function() {
$popup.remove();
}).css({ 'margin-top': '10px', 'background-color': '#f44336', color: '#fff' });
// Dodanie elementów do popupu
$popup.append($titleInput, $descriptionInput, $editButtons, $linkButton, $cancelButton);
// Dodanie popupu do dokumentu
$('body').append($popup);
}
// Podpięcie funkcji do kliknięcia przycisku
$('#dodaj-zadanie-przycisk').on('click', function(e) {
e.preventDefault();
showPopup();
});
});