Bước tới nội dung

Mô đun:Basketball color

Bách khoa toàn thư mở Wikipedia
---- Mô đun này thực hiện-- {{NBA color}}, {{NBA color cell}}, {{NBA color cell2}}-- {{Euroleague color}}, {{Euroleague color cell}}, {{Euroleague color cell2}}, -- {{NBL colour}}, {{NBL colour cell}}, {{NBL colour cell2}},-- {{PBA color}}, {{PBA color cell}}, {{PBA color cell2}},-- {{European leagues color}}, {{European leagues color cell}}, {{European leagues color cell2}},-- {{KBL color}}, {{KBL color cell}}, {{KBL color cell2}}--local p = {}local data_module = "Mô đun:Basketball color/data"local function stripwhitespace(text)	return text:match("^%s*(.-)%s*$")endlocal function get_colors(team, unknown)	team = stripwhitespace(team or '')	unknown = unknown or {"DCDCDC", "000000", "000000", "FFFFFF"}		local use_default = {		[""] = 1,		["retired"] = 1,		["free agent"] = 1,	}		local colors = nil		if ( team and use_default[team:lower()] ) then		colors = {"DCDCDC", "000000", "DCDCDC", "FFFFFF"}	else		local all_colors = mw.loadData(data_module)		colors = all_colors[team]		if ( colors and type(colors) == 'string' ) then			colors = all_colors[colors]		end	end	return colors or unknownendlocal function team_color(team, num)	local colors = get_colors(team, nil)	num = tonumber(num:match('[1-4]') or '0')	if ( num ) then		return colors[num]	else		return ''	endendlocal function bordercss(c, w)	local s = 'inset ' .. w .. 'px ' .. w .. 'px 0 #' .. c 		.. ', inset -' .. w .. 'px -' .. w .. 'px 0 #' .. c	return '-moz-box-shadow: ' .. s .. '; -webkit-box-shadow: ' .. s .. '; box-shadow: ' .. s .. ';'endlocal function team_colorcell(team, borderwidth, bg, fg, bd, simple)	local colors = get_colors(team, nil)	local border = ''	borderwidth = borderwidth or ''		if (borderwidth ~= '') then		if simple then			border = 'border:' .. borderwidth .. 'px solid #' .. stripwhitespace(colors[bd]) .. ';'		else			border = bordercss(stripwhitespace(colors[bd]), borderwidth)		end	end		return 'background-color:#' .. stripwhitespace(colors[bg]) .. ';color:#' .. stripwhitespace(colors[fg]) .. ';' .. borderendlocal function team_check(team, unknown)	local colors = get_colors(team, unknown)	if type(colors) == 'table' then		return 'known'	else		return unknown	endendfunction p.color(frame)	local args = (frame.args[1] ~= nil) and frame.args or frame:getParent().args	return team_color(args[1] or '', args[2] or '')endfunction p.colorcell(frame)	local args = (frame.args[1] ~= nil) and frame.args or frame:getParent().args	return team_colorcell(args[1] or '', args['border'] or '', 1, 2, 3, args['simple'] and 1 or nil )endfunction p.colorcell2(frame)	local args = (frame.args[1] ~= nil) and frame.args or frame:getParent().args	return team_colorcell(args[1] or '', args['border'] or '', 3, 4, 1, args['simple'] and 1 or nil )endfunction p.check(frame)	local args = (frame.args[1] ~= nil) and frame.args or frame:getParent().args	return team_check(args[1] or '', args[2] or '')endreturn p