Przejdź do zawartości

Moduł:Błąd

Z Wikibooks, biblioteki wolnych podręczników.
 Dokumentacja modułu [zobacz] [edytuj] [historia] [odśwież]
Ten moduł generuje wiadomość HTML z klasą „error”. Wykorzystywany jest przez szablon {{Błąd}} – sprawdź dokumentację szablonu dla jego możliwych wywołań i parametrów.
-- Ten moduł obsługuje szablon {{Błąd}}.

local p = {}

local function _error(args)
    local tag = mw.ustring.lower(tostring(args.tag))

    -- Sprawdź, jaki takg html będzie wykorzystywany.
    if not (tag == 'p' or tag == 'span' or tag == 'div') then
        tag = 'strong'
    end

    -- Wygeneruj html.
    return tostring(mw.html.create(tag)
        :addClass('error')
        :wikitext(tostring(args.tekst or args[1] or error('nie określono wiadomości', 2)))
    )
end

function p.error(frame)
    local args
    if type(frame.args) == 'table' then
        -- Moduł jest wywoływany przez #invoke. Argumenty do modułu zaczerpywane są
        -- ze strony szablonu, więc wykorzystujemy parametry wprowadzone do szablonu.
        args = frame.args
    else
        -- W przeciwnym wypadku, gdy moduł jest uruchamiany z innego modułu lub konsoli debugowania,
        -- argumenty pobierane są bezpośrednio.
        args = frame
    end
    -- Jeśli parametr tekstu jest obecny ale pusty, zmień go do „nil”, tak że Lua
    -- uzna go za nieprawidłowy.
    if args.tekst== "" then
        args.tekst = nil
    end
    return _error(args)
end

return p