MediaWiki:Common.js: различия между версиями

Страница интерфейса MediaWiki
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
// Для поиска и применения стилей к .citizen-table-wrapper
document.querySelectorAll('.citizen-table-wrapper').forEach(function(wrapper) {
    if (wrapper.querySelector('.job_gear')) {
        wrapper.style.overflowX = 'unset'; // Применяем стиль
    }
});


function insertAfter(newNode, referenceNode) {
// Для поиска и применения стилей к .citizen-overflow--right
    referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
document.querySelectorAll('.citizen-overflow--right').forEach(function(overflowRight) {
}
     if (overflowRight.querySelector('.job_gear')) {
 
         overflowRight.style.webkitMaskImage = 'unset'; // Для WebKit браузеров (Safari)
// Код данте ниже
         overflowRight.style.maskImage = 'unset'; // Для остальных браузеров
function setupTabs() {
     }
    const tabHeaders = document.querySelectorAll('.tab-header');
});
    const tabContents = document.querySelectorAll('.tab-content');
    console.log("Количество заголовков вкладок:", tabHeaders.length);
    console.log("Количество содержимого вкладок:", tabContents.length);
    tabHeaders.forEach(function(header, index) {
        header.addEventListener('click', function() {
            console.log("Клик по вкладке:", index);
            tabHeaders.forEach(function(h) {
                h.classList.remove('active');
            });
            tabContents.forEach(function(c) {
                c.classList.remove('active');
            });
            header.classList.add('active');
            tabContents[index].classList.add('active');
        });
     });
}
mw.hook('wikipage.content').add(setupTabs);
// выше, ниже мой недо скрип
 
// Конец данте
 
function addCopyButtons() {
    var codeBlocks = document.querySelectorAll('code:not(.copy-processed)');
 
    codeBlocks.forEach(function(block) {
         var copyButton = document.createElement('button');
        copyButton.textContent = 'Copy';
        copyButton.className = 'copy-button';
 
        copyButton.addEventListener('click', function() {
            var textArea = document.createElement('textarea');
            textArea.value = block.textContent;
            document.body.appendChild(textArea);
            textArea.select();
            document.execCommand('copy');
            document.body.removeChild(textArea);
            alert('Содержимое скопировано!');
         });
 
        insertAfter(copyButton, block);
        block.classList.add('copy-processed');
    });
}
 
// Функция для форматирования содержимого блоков <code>
function formatCodeBlocks() {
    var codeBlocks = document.querySelectorAll('code:not(.formatted)');
 
    codeBlocks.forEach(function(block) {
        // Заменяем пробелы на неразрывные пробелы и вставляем <br> для переносов строк
        block.innerHTML = block.textContent.replace(/ /g, '\u00A0').replace(/\n/g, '<br>');
        block.classList.add('formatted');
    });
}
 
function formatNullDocsAbout() {
    $('.docs-about').each(function() {
        if ($(this).html().includes("{{{Примечание документа}}}")) {
            $(this).hide();
        }
     });
}
 
// Вызываем функции после загрузки страницы
mw.hook('wikipage.content').add(formatCodeBlocks);
mw.hook('wikipage.content').add(addCopyButtons);
mw.hook('wikipage.content').add(formatNullDocsAbout);

Версия от 09:53, 20 сентября 2024

// Для поиска и применения стилей к .citizen-table-wrapper
document.querySelectorAll('.citizen-table-wrapper').forEach(function(wrapper) {
    if (wrapper.querySelector('.job_gear')) {
        wrapper.style.overflowX = 'unset'; // Применяем стиль
    }
});

// Для поиска и применения стилей к .citizen-overflow--right
document.querySelectorAll('.citizen-overflow--right').forEach(function(overflowRight) {
    if (overflowRight.querySelector('.job_gear')) {
        overflowRight.style.webkitMaskImage = 'unset'; // Для WebKit браузеров (Safari)
        overflowRight.style.maskImage = 'unset'; // Для остальных браузеров
    }
});