Mô đun:Basketball color

--
-- 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*$")
end

local 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 unknown
end

local 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 ''
	end
end

local 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 .. ';'
end

local 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]) .. ';' .. border
end

local function team_check(team, unknown)
	local colors = get_colors(team, unknown)
	if type(colors) == 'table' then
		return 'known'
	else
		return unknown
	end
end

function 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 '')
end

function 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 )
end

function 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 )
end

function 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 '')
end

return p
Chúng tôi bán
Bài viết liên quan
MUALANI – Lối chơi, hướng build và đội hình
MUALANI – Lối chơi, hướng build và đội hình
Mualani có chỉ số HP cơ bản cao thuộc top 4 game, cao hơn cả các nhân vật như Yelan hay Nevulette
Những điều khiến Sukuna trở nên quyến rũ và thành kẻ đứng đầu
Những điều khiến Sukuna trở nên quyến rũ và thành kẻ đứng đầu
Dáng vẻ bốn tay của anh ấy cộng thêm hai cái miệng điều đó với người giống như dị tật bẩm sinh nhưng với một chú thuật sư như Sukuna lại là điều khiến anh ấy trở thành chú thuật sư mạnh nhất
Tìm hiểu về Puskas Arena - Sân vận động lớn nhất ở thủ đô Budapest của Hungary
Tìm hiểu về Puskas Arena - Sân vận động lớn nhất ở thủ đô Budapest của Hungary
Đây là một sân vận động tương đối mới, được bắt đầu xây dựng vào năm 2016 và hoàn thành vào cuối năm 2019
Những kiểu tóc đẹp chơi tết 2020 là con gái phải thử
Những kiểu tóc đẹp chơi tết 2020 là con gái phải thử
“Cái răng cái tóc là gốc con người”. Tết này bạn hãy “làm mới” mình bằng một trong các kiểu tóc đang biến các cô nàng xinh lung linh hơn nhé.