MediaWiki:Common.js: відмінності між версіями
Wiki (обговорення | внесок) Немає опису редагування |
Wiki (обговорення | внесок) Немає опису редагування Мітка: Скасовано |
||
| Рядок 106: | Рядок 106: | ||
//OVERLAY | //OVERLAY | ||
(function() { | (function() { | ||
// Функция добавления кнопки "Закрити" к overlay MediaViewer | |||
// Функция добавления кнопки "Закрити" к MediaViewer | |||
function addCloseButtonToMediaViewer() { | function addCloseButtonToMediaViewer() { | ||
// Ищем overlay MediaViewer | |||
const overlay = document.querySelector('.mediaViewerOverlay, .mwe-popups'); | const overlay = document.querySelector('.mediaViewerOverlay, .mwe-popups'); | ||
if (!overlay || overlay.dataset.closeBtnAdded) return; | if (!overlay || overlay.dataset.closeBtnAdded) return; // если уже добавлено, выходим | ||
overlay.dataset.closeBtnAdded = true; | overlay.dataset.closeBtnAdded = true; | ||
// Создаем кнопку | |||
const closeBtn = document.createElement('button'); | const closeBtn = document.createElement('button'); | ||
closeBtn.innerText = 'Закрити'; | closeBtn.innerText = 'Закрити'; | ||
| Рядок 186: | Рядок 126: | ||
closeBtn.style.border = 'none'; | closeBtn.style.border = 'none'; | ||
closeBtn.style.borderRadius = '5px'; | closeBtn.style.borderRadius = '5px'; | ||
// Действие кнопки: скрываем overlay | |||
closeBtn.addEventListener('click', () => { | closeBtn.addEventListener('click', () => { | ||
overlay.style.display = 'none'; | overlay.style.display = 'none'; | ||
| Рядок 193: | Рядок 135: | ||
} | } | ||
// MutationObserver | // MutationObserver следит за динамически появляющимися overlay | ||
const observer = new MutationObserver(() => addCloseButtonToMediaViewer()); | const observer = new MutationObserver(() => addCloseButtonToMediaViewer()); | ||
observer.observe(document.body, { childList: true, subtree: true }); | observer.observe(document.body, { childList: true, subtree: true }); | ||
})(); | })(); | ||