Модуль:Спортивная карьера

Материал из Наро-Фоминский Футбол
Версия от 18:44, 15 сентября 2026; Andrew (обсуждение | вклад) (Создан модуль)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

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

local p = {}

-- Принимает произвольное число групп по 3 анонимных параметра:
-- год | клуб | игры (голы)
-- Третий параметр в группе можно не указывать (например, для молодёжных клубов).
function p.main(frame)
    local args = frame:getParent().args
    local rows = {}
    local i = 1

    while true do
        local year  = args[3 * i - 2]
        local club  = args[3 * i - 1]
        local stats = args[3 * i]

        if not year or mw.text.trim(year) == '' then
            break
        end

        year  = mw.text.trim(year)
        club  = club  and mw.text.trim(club)  or ''
        stats = stats and mw.text.trim(stats) or ''

        local cells
        if stats ~= '' then
            cells = '<td style="text-align:right; white-space:nowrap; padding:0 0.5em;">' .. year .. '</td>'
                 .. '<td style="padding:0 0.5em;">' .. club .. '</td>'
                 .. '<td style="text-align:right; white-space:nowrap; padding:0 0.5em;">' .. stats .. '</td>'
        else
            cells = '<td style="text-align:right; white-space:nowrap; padding:0 0.5em;">' .. year .. '</td>'
                 .. '<td colspan="2" style="padding:0 0.5em;">' .. club .. '</td>'
        end

        table.insert(rows, '<tr>' .. cells .. '</tr>')
        i = i + 1
    end

    if #rows == 0 then
        return ''
    end

    return '<table style="width:100%; border-collapse:collapse; font-size:95%; margin:0;">'
        .. table.concat(rows)
        .. '</table>'
end

return p