Jump to content
Menú alternativo
Alternar el menú de preferencias
Menú alternativo personal
No has accedido
Tu dirección IP será visible si haces alguna edición

La documentación para este módulo puede ser creada en Módulo:Grilla/doc

local p = {}

function p.main(frame)
    local args = frame:getParent().args
    return p.render(args)
end

function p.render(args)
    local canal = args.canal
    local logo = args.logo
    local horarios = args.horarios or ''

    local html = mw.html.create('div')
        :addClass('schedule-box')

    local header = html:tag('div'):addClass('schedule-header')

    if logo and logo ~= '' then
        header:tag('div')
            :addClass('schedule-logo')
            :wikitext('[[Archivo:' .. logo .. '|center|65px|link=]]')
    end

    header:tag('div')
        :addClass('schedule-title')
        :wikitext(canal)

    local table = html:tag('div'):addClass('schedule-list')

    for line in mw.text.gsplit(horarios, '\n') do
        line = mw.text.trim(line)
        if line ~= '' then
            local hora, programa = line:match('^(.-)~(.*)$')
            if hora and programa then
                hora = mw.text.trim(hora)
                programa = mw.text.trim(programa)

                local row = table:tag('div'):addClass('schedule-row')
                row:tag('div'):addClass('schedule-time'):wikitext(hora)
                row:tag('div'):addClass('schedule-program'):wikitext(programa)
            end
        end
    end

    return tostring(html)
end

return p