Module:Navbox top and bottom: Difference between revisions

From Frontierpedia, the Microsoft Agent encyclopedia
en>Frietjes
(simplify)
m (11 revisions imported: importing hlist)
 
(8 intermediate revisions by 2 users not shown)
Line 11: Line 11:
         end
         end
     end
     end
    args['bodystyle'] = 'display:table;' .. (args['bodystyle'] or '')
     args['list1padding'] = '0'
     args['list1padding'] = '0'
    args['list1style'] = 'border-width:0;'
     args['list1'] = list
     args['list1'] = list
     -- Note Navbox.navbox() has a kludge to order the parent frame's args
     -- Note Navbox.navbox() has a kludge to order the parent frame's args

Latest revision as of 20:49, 14 October 2022

Documentation for this module may be created at Module:Navbox top and bottom/doc

-- This implements {{navbox top}} and {{navbox bottom}}
local p = {}

local function build_navbox(parentArgs, list)
	local args = {}
    for argName, value in pairs(parentArgs) do
        if value ~= '' then
            if type(argName) == 'string' then
                args[argName] = value
            end
        end
    end
    args['bodystyle'] = 'display:table;' .. (args['bodystyle'] or '')
    args['list1padding'] = '0'
    args['list1style'] = 'border-width:0;'
    args['list1'] = list
    -- 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.

	local Navbox = require('Module:Navbox')
    return Navbox._navbox(args)
end

function p.top(frame)
	local args = frame:getParent().args
	local parts = mw.text.split(build_navbox(args, '<ADD LIST HERE>'), '<ADD LIST HERE>')
	return parts[1]
end

function p.bottom(frame)
	local args = frame:getParent().args
	local parts = mw.text.split(build_navbox(args, '<ADD LIST HERE>'), '<ADD LIST HERE>')
	return parts[2]
end

return p