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
Nhân vật Mikasa Ackerman trong Shingeki no Kyojin
Nhân vật Mikasa Ackerman trong Shingeki no Kyojin
Mikasa Ackerman (ミカサ・アッカーマン , Mikasa Akkāman) là em gái nuôi của Eren Yeager và là nữ chính của series Shingeki no Kyojin.
Cold  Eyes - Truy lùng siêu trộm
Cold Eyes - Truy lùng siêu trộm
Cold Eyes là một bộ phim hành động kinh dị của Hàn Quốc năm 2013 với sự tham gia của Sol Kyung-gu, Jung Woo-sung, Han Hyo-joo, Jin Kyung và Lee Junho.
Review phim: Chúng ta cùng nhau rung chuyển mặt trời
Review phim: Chúng ta cùng nhau rung chuyển mặt trời
Cô gái gửi video vào nhóm bệnh nhân ungthu muốn tìm một "đối tác kết hôn" có thể hiến thận cho mình sau khi chet, bù lại sẽ giúp đối phương chăm sóc người nhà.
Tổng hợp các shop quần áo TAOBAO đã cập bến trên Shopee
Tổng hợp các shop quần áo TAOBAO đã cập bến trên Shopee
Không cần đặt hàng qua trung gian cầu kỳ lại hay trôi nổi lạc hàng, lưu ngay 6 tọa độ đồ nam Taobao cực xịn trên shopee