MediaWiki:Common.js: различия между версиями
Страница интерфейса MediaWiki
Дополнительные действия
Askell (обсуждение | вклад) Нет описания правки |
Askell (обсуждение | вклад) Нет описания правки Метка: отменено |
||
Строка 29: | Строка 29: | ||
dropdown.addClass('active'); | dropdown.addClass('active'); | ||
content.css('max-height', content[0].scrollHeight + 'px'); // Автоматическая высота | content.css('max-height', content[0].scrollHeight + 'px'); // Автоматическая высота | ||
} | |||
}); | |||
}); | |||
function showPopup(title) { | |||
const popup = document.querySelector('.popup'); | |||
popup.innerHTML = `<div class="loading">Loading...</div>`; // можно вставить спиннер | |||
getPageImage(title).then(imgUrl => { | |||
popup.innerHTML = ` | |||
<div class="popup-content"> | |||
${imgUrl ? `<img class="pageimage" src="${imgUrl}" alt="${title}">` : ''} | |||
<div class="popup-title">${title}</div> | |||
</div> | |||
`; | |||
}); | |||
} | |||
mw.hook('ext.popups.render').add(function(popup, data) { | |||
const title = data.title; | |||
getPageImage(title, 200).then(imgUrl => { | |||
if (imgUrl) { | |||
const imgElem = document.createElement('img'); | |||
imgElem.className = 'pageimage'; | |||
imgElem.src = imgUrl; | |||
popup.querySelector('.mwe-popups-container').prepend(imgElem); | |||
} | } | ||
}); | }); | ||
}); | }); |
Версия от 16:16, 11 августа 2025
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
mw.loader.using('mediawiki.util').then(function() {
var isMobile = mw.config.get('skin') === 'minerva';
if (isMobile) {
// Мобильная версия
$('.mobile-hide').hide();
} else {
// Десктопная версия
$('.desktop-hide').hide();
}
});
mw.hook('wikipage.content').add(function($content) {
$content.find('.dropbtn').on('click', function(event) {
event.preventDefault();
var dropdown = $(this).closest('.dropdown');
var content = dropdown.find('.dropdown-content');
// Закрываем все открытые списки
$('.dropdown').not(dropdown).removeClass('active').find('.dropdown-content').css('max-height', '0px');
// Открываем/закрываем текущий список
if (dropdown.hasClass('active')) {
dropdown.removeClass('active');
content.css('max-height', '0px');
} else {
dropdown.addClass('active');
content.css('max-height', content[0].scrollHeight + 'px'); // Автоматическая высота
}
});
});
function showPopup(title) {
const popup = document.querySelector('.popup');
popup.innerHTML = `<div class="loading">Loading...</div>`; // можно вставить спиннер
getPageImage(title).then(imgUrl => {
popup.innerHTML = `
<div class="popup-content">
${imgUrl ? `<img class="pageimage" src="${imgUrl}" alt="${title}">` : ''}
<div class="popup-title">${title}</div>
</div>
`;
});
}
mw.hook('ext.popups.render').add(function(popup, data) {
const title = data.title;
getPageImage(title, 200).then(imgUrl => {
if (imgUrl) {
const imgElem = document.createElement('img');
imgElem.className = 'pageimage';
imgElem.src = imgUrl;
popup.querySelector('.mwe-popups-container').prepend(imgElem);
}
});
});