![]() | This Lua module is used on approximately 260 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
local p = {}
--local args =frame:getParent().args -- get parent arguments
--local args = {}
p.getArgs = function(frame)
--return frame.args -- use frame arguments
return frame:getParent().args -- use parent arguments
end
p.main = function(frame)
args = p.getArgs(frame)
local i = 1 -- index for labels
local output = ""
--[[local groupStyle = args['style']
local topStyle = args['top']
local leftStyle = args['left']
local rightStyle = args['right']
local bottomStyle = args['bottom']
]]
-- parameters for all labels
local width = args'width' -- or "5em;"
--local style = args['style'] or ""
--local color = args['width'] or ""
local longestString = 0
while args'label'..i do
local label = args'label'..i or ""
if #label > longestString then longestString = #label end
local style = args'style'..i or args'style' or ""
local color = args'color'..i or args'color' or ""
local top = args'top'..i or args'top' or ""
local left = args'left'..i or args'left' or ""
local right = args'right'..i or args'right' or ""
local bottom = args'bottom'..i or args'bottom' or ""
if top ~= "" then top = 'top:' .. top .. ';' end
if left ~= "" then left = 'left:' .. left .. ';' end
if right ~= "" then right = 'right:' .. right .. ';' end
if bottom ~= "" then bottom = 'bottom:' .. bottom .. ';' end
if color ~= "" then color = 'color:' .. color .. ';' end
--if no color:find(";", -1, true) then color = color .. ';' end
--local position = top .. left .. right .. bottom
output = output .. '<div style="position:absolute;white-space:nowrap;'
.. style .. color -- CSS styling
.. top .. left .. right .. bottom .. '">' -- position of label
.. label -- content of label
.. '</div>'
i=i+1
end
if output ~= "" then
local styleStr = ""
--widthStr = 'width:' .. (longestString*0.5)..'em;' -- can't take account of formatting or <br/>
if width then styleStr = 'style="width:' .. width .. '"' end
output = '<div ' .. styleStr ..'>' .. output .. '</div>'
end
return output
end
p.label = function(frame)
args = p.getArgs(frame)
local i = 1 -- index for labels
local output = ""
local label = args'label'..i or args'label' or args1 or ""
local width = args'width'
local style = args'style'..i or args'style' or ""
local color = args'color'..i or args'color' or ""
local top = args'top'..i or args'top' or ""
local left = args'left'..i or args'left' or ""
local right = args'right'..i or args'right' or "0px"
local bottom = args'bottom'..i or args'bottom' or ""
if top ~= "" then top = 'top:' .. top .. ';' end
if left ~= "" then left = 'left:' .. left .. ';' end
if right ~= "" then right = 'right:' .. right .. ';' end
if bottom ~= "" then bottom = 'bottom:' .. bottom .. ';' end
if color ~= "" then color = 'color:' .. color .. ';' end
output = output .. '<div style="position:absolute;white-space:nowrap;'
.. style .. color -- CSS styling
.. top .. left .. right .. bottom .. '">' -- position of label
.. label -- content of label
.. '</div>'
if output ~= "" then
local widthStr = ''
if width then widthStr = 'width:' .. width .. ';' end
output = '<div style="position:relative;' .. widthStr .. '">' .. output .. '<br/></div>'
end
return output
end
return p
![]() | This Lua module is used on approximately 260 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
local p = {}
--local args =frame:getParent().args -- get parent arguments
--local args = {}
p.getArgs = function(frame)
--return frame.args -- use frame arguments
return frame:getParent().args -- use parent arguments
end
p.main = function(frame)
args = p.getArgs(frame)
local i = 1 -- index for labels
local output = ""
--[[local groupStyle = args['style']
local topStyle = args['top']
local leftStyle = args['left']
local rightStyle = args['right']
local bottomStyle = args['bottom']
]]
-- parameters for all labels
local width = args'width' -- or "5em;"
--local style = args['style'] or ""
--local color = args['width'] or ""
local longestString = 0
while args'label'..i do
local label = args'label'..i or ""
if #label > longestString then longestString = #label end
local style = args'style'..i or args'style' or ""
local color = args'color'..i or args'color' or ""
local top = args'top'..i or args'top' or ""
local left = args'left'..i or args'left' or ""
local right = args'right'..i or args'right' or ""
local bottom = args'bottom'..i or args'bottom' or ""
if top ~= "" then top = 'top:' .. top .. ';' end
if left ~= "" then left = 'left:' .. left .. ';' end
if right ~= "" then right = 'right:' .. right .. ';' end
if bottom ~= "" then bottom = 'bottom:' .. bottom .. ';' end
if color ~= "" then color = 'color:' .. color .. ';' end
--if no color:find(";", -1, true) then color = color .. ';' end
--local position = top .. left .. right .. bottom
output = output .. '<div style="position:absolute;white-space:nowrap;'
.. style .. color -- CSS styling
.. top .. left .. right .. bottom .. '">' -- position of label
.. label -- content of label
.. '</div>'
i=i+1
end
if output ~= "" then
local styleStr = ""
--widthStr = 'width:' .. (longestString*0.5)..'em;' -- can't take account of formatting or <br/>
if width then styleStr = 'style="width:' .. width .. '"' end
output = '<div ' .. styleStr ..'>' .. output .. '</div>'
end
return output
end
p.label = function(frame)
args = p.getArgs(frame)
local i = 1 -- index for labels
local output = ""
local label = args'label'..i or args'label' or args1 or ""
local width = args'width'
local style = args'style'..i or args'style' or ""
local color = args'color'..i or args'color' or ""
local top = args'top'..i or args'top' or ""
local left = args'left'..i or args'left' or ""
local right = args'right'..i or args'right' or "0px"
local bottom = args'bottom'..i or args'bottom' or ""
if top ~= "" then top = 'top:' .. top .. ';' end
if left ~= "" then left = 'left:' .. left .. ';' end
if right ~= "" then right = 'right:' .. right .. ';' end
if bottom ~= "" then bottom = 'bottom:' .. bottom .. ';' end
if color ~= "" then color = 'color:' .. color .. ';' end
output = output .. '<div style="position:absolute;white-space:nowrap;'
.. style .. color -- CSS styling
.. top .. left .. right .. bottom .. '">' -- position of label
.. label -- content of label
.. '</div>'
if output ~= "" then
local widthStr = ''
if width then widthStr = 'width:' .. width .. ';' end
output = '<div style="position:relative;' .. widthStr .. '">' .. output .. '<br/></div>'
end
return output
end
return p