Modul:Team roster navbox

Iz Wikipedije, proste enciklopedije
Documentation icon Dokumentacija modula[predogled] [uredi] [zgodovina] [osveži]

This module is used to implement {{MLB roster navbox}}, a helper template used to implement the individual team roster navboxes for the Major League Baseball teams.

At present, it parses any list<number> arguments to the template and replaces spaces in each list item with &nbsp; in order to prevent wrapping. It then calls Module:Navbox._navbox() to create the navbox. (Note the preprocessing done by Module::Navbox.navbox() has not been copied to this module and so is skipped.)

local me = { }

local Navbox = require('Modul:Navbox')

function me.generateRosterNavbox(frame)
    local args = { }
    local parentArgs = frame:getParent().args

    -- Massage the arguments before passing them to the Navbox helper function

    for argName, value in pairs(parentArgs) do
        if value ~= '' then
            if type(argName) == 'string' and mw.ustring.find(argName, '^list') then
                local listValues = { }
                for entry in mw.text.gsplit(value, '[\n\r]+') do
                  entry = mw.ustring.gsub(entry, '([^%*])%s+', '%1&nbsp;')
                  table.insert(listValues, entry)
                end
            	value = table.concat(listValues, '\n')
            end
            args[argName] = value
        end
    end

    -- Note Navbox.navbox() has a kludge to order the parent frame's args
    -- into a specific order. For now, this is omitted from this module.

    return Navbox._navbox(args)

end  -- function me.generateRosterNavbox

return me