Module:Flag/sandbox
Appearance
local p = {}
function p._main(frame, name, mode, check)
local categories = {
Flagicon = '[[Category:Flagicons with missing country data templates]]',
Flagdeco = '[[Category:Flagdeco with missing country data templates]]',
}
local args = {}
local yesno = require('Module:Yesno')
if yesno(frame.args.getParent) then
for k,v in pairs(frame:getParent().args) do
if (v or '') ~= '' then
args[k] = v
end
end
end
for k,v in pairs(frame.args) do
if (v or '') ~= '' then
args[k] = v
end
end
if name == 'Flag+link' then
args.pref = args[1]
elseif name == 'Flagathlete' then
local athlete = args[1]
local code = args.code or args[2] or ''
args.text = function(data)
local tooltip = ((data['shortname alias'] or '') == '') and (data.alias or '') or data['shortname alias']
return athlete .. ' <span style="font-size:90%">(<abbr title="' .. tooltip .. '">' .. code .. '</abbr>)</span>';
end
args.variant = args.variant or args[3]
args.placeholder = true
elseif name == 'flagmedalist' then
local medalist = args[1]
local country = args[2] or ""
local border = "|border"
args.variant = args.variant or args[3] or ""
args.text = function(data)
local iname = data["flag alias-"..args.variant] or data["flag alias"] or "Flag placeholder.svg"
local size = ((data.size or "") ~= "") and data.size or "23x15px"
if args["border"] then
if args["border"] == "" or args["border"] == "0" or args["border"] == "n" or args["border"] == "no" then
border = ""
end
else
local autoborder = data["border-"..args.variant] or data.border or ""
if autoborder~="border" then border = "" end
end
local clink = args["clink"] or args["link"] or data.alias or country
local image = '<br/>[[File:'..iname..'|'..size..border..'|link=|alt=]] '
local display_name = clink=="" and country or "[["..clink.."|"..country.."]]"
return medalist .. image .. display_name
end
else
args.variant = args[2] or args.variant
args[2] = args[1]
end
args[1] = mode .. (args.opts or '')
args.missingcategory = categories[name]
args.noredlink = args.noredlink or 'no'
if yesno(args.placeholder) ~= true then
args[1] = args[1] .. 'o'
end
if mw.title.getCurrentTitle().namespace == 0 then
local unknown = '[[Category:Pages using ' .. mw.ustring.lower(name) .. ' template with unknown parameters|_VALUE_' ..
frame:getParent():getTitle() .. ']]'
else
local unknown = ''
end
if check then
local opts = {
unknown=unknown,
preview='Page using [[Template:' .. name .. ']] with unknown parameter "_VALUE_"',
ignoreblank='y',
'1',
'2',
'variant',
'image',
'size',
'sz',
'border',
'align',
'al',
'width',
'w',
'alt',
'ilink',
'noredlink',
'missingcategory',
'name',
'clink',
'link',
'pref',
'suff',
'plink',
'the',
'section',
'altvar',
'avar',
'age',
'nalign',
'nal',
'text',
'nodata',
'opts',
'placeholder',
'getParent'
}
check = require('Module:Check for unknown parameters')._check(opts,args)
else
check = ''
end
return require('Module:Flagg/sandbox').luaMain(frame,args) .. check
end
function p.main(frame) return p._main(frame, 'Flag', 'uncb', false) end
p.flag = p.main
function p.deco(frame) return p._main(frame, 'Flagdeco', 'uxx', false) end
p.flagdeco = p.deco
function p.icon(frame) return p._main(frame, 'Flagicon', 'cxxlo', true) end
p.flagicon = p.icon
function p.pluslink(frame) return p._main(frame, 'Flag+link', 'unpof', false) end
p['+link'] = p.pluslink
p['flag+link'] = p.pluslink
function p.country(frame) return p._main(frame, 'Flagcountry', 'unce', false) end
p.flagcountry = p.country
function p.athlete(frame) return p._main(frame, 'Flagathlete', 'unx', false) end
p.flagathlete = p.athlete
function p.medalist(frame) return p._main(frame, 'Flagmedalist', 'xxx', false) end
p.flagmedalist = p.medalist
return p