Jump to content

Module:Flag/sandbox

විකිපීඩියා වෙතින්
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 .. '&nbsp;<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=]]&nbsp;'
			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
"https://si.wikipedia.org/w/index.php?title=Module:Flag/sandbox&oldid=631594" වෙතින් සම්ප්‍රවේශනය කෙරිණි