Модуль:CheckboxHideSpacesuitHelmet: различия между версиями

Материал из Space Station 14 Вики
мНет описания правки
мНет описания правки
Строка 2: Строка 2:


function p.CheckboxHideSpacesuitHelmet(frame)
function p.CheckboxHideSpacesuitHelmet(frame)
     local elementSelector = frame.args[1]
     local elementSelector = frame.args[1] or ".spacesuit-helmet"


    -- Генерация HTML и JavaScript кода
     local script = [=[
     local html = mw.html.create('div')
        $(document).ready(function() {
    html:tag('script')
            var elementSelector = "]=] .. elementSelector .. [=[";
        :wikitext([[
            if (!$(elementSelector).length) {
            $(document).ready(function() {
                return; // Если класса нет, выходим из функции
                var elementSelector = "]] .. elementSelector .. [[";
            }
                if (!$(elementSelector).length) {
                    return; // Если класса нет, выходим из функции
                }


                // Кэшируем выборку элементов
            // Кэшируем выборку элементов
                var $elements = $(elementSelector);
            var $elements = $(elementSelector);


                // Обработчик события для чекбокса
            // Обработчик события для чекбокса
                $('#toggleHideAll').off('change').on('change', function() {
            $('#toggleHideAll').off('change').on('change', function() {
                    var isChecked = $(this).is(':checked');
                var isChecked = $(this).is(':checked');
                    // Изменение видимости элементов
                // Изменение видимости элементов
                    $elements.each(function() {
                $elements.each(function() {
                        var parentTr = $(this).closest('tr');
                    var parentTr = $(this).closest('tr');
                        parentTr.toggle(!isChecked);
                    parentTr.toggle(!isChecked);
                    });
                 });
                 });
             });
             });
         ]])
         });
    ]=]


     -- Возвращаем сгенерированный HTML и JavaScript
     -- mw.site.addScript для добавления JavaScript
     return tostring(html)
     mw.site.addScript(script)
 
    return "" -- Возвращаем пустую строку, чтобы не отображать ничего на странице
end
end


return p
return p

Версия от 16:50, 14 июля 2024

Для документации этого модуля может быть создана страница Модуль:CheckboxHideSpacesuitHelmet/doc

local p = {}

function p.CheckboxHideSpacesuitHelmet(frame)
    local elementSelector = frame.args[1] or ".spacesuit-helmet"

    local script = [=[
        $(document).ready(function() {
            var elementSelector = "]=] .. elementSelector .. [=[";
            if (!$(elementSelector).length) {
                return; // Если класса нет, выходим из функции
            }

            // Кэшируем выборку элементов
            var $elements = $(elementSelector);

            // Обработчик события для чекбокса
            $('#toggleHideAll').off('change').on('change', function() {
                var isChecked = $(this).is(':checked');
                // Изменение видимости элементов
                $elements.each(function() {
                    var parentTr = $(this).closest('tr');
                    parentTr.toggle(!isChecked);
                });
            });
        });
    ]=]

    -- mw.site.addScript для добавления JavaScript
    mw.site.addScript(script)

    return "" -- Возвращаем пустую строку, чтобы не отображать ничего на странице
end

return p