No edit summary |
No edit summary |
||
Line 84: | Line 84: | ||
local link = 'Category:' .. game .. '/' .. catName | local link = 'Category:' .. game .. '/' .. catName | ||
mw.log(link) | |||
local pageExists = frame:callParserFunction('#ifexist', link, 'yes', 'no' ) | local pageExists = frame:callParserFunction('#ifexist', link, 'yes', 'no' ) | ||
if pageExists then | if pageExists then |
Revision as of 22:10, 31 August 2022
Documentation for this module may be created at Module:Infobox/Widget/Role/doc
local Role = {}
function Role.make(rowName, role, game, frame)
local container = mw.html.create('div')
local array = mw.text.split(role, ',')
for i, v in ipairs(array) do
local value = mw.text.trim(v)
value = string.upper(v)
local valueNode = mw.html.create('div')
-- If no game then return value without link
if game == nil then
return container:node(valueNode:wikitext(value))
end
local catName = ''
local visibleName = ''
-- General
if value == 'COACH' then
catName = 'Coaches'
visibleName = 'Coach'
end
if value == 'MANAGER' then
catName = 'Managers'
visibleName = 'Manager'
end
-- Dota 2
if value == 'CARRY' then
catName = 'Carry_players'
visibleName = 'Carry'
end
if value == 'HARD SUPPORT' then
catName = 'Hard_support_players'
visibleName = 'Hard support'
end
if value == 'OFFLANE' then
catName = 'Offlaners'
visibleName = 'Offlane'
end
-- Dota and LoL overlap
if value == 'SUPPORT' then
catName = 'Support_players'
visibleName = 'Support'
end
if value == 'MID' then
catName = 'Mid_players'
visibleName = 'Mid'
end
-- LoL
if value == 'TOP' then
catName = 'Top_players'
visibleName = 'Top'
end
if value == 'BOT' then
catName = 'Bot_players'
visibleName = 'Bot'
end
if value == 'JUNGLE' then
catName = 'Junglers'
visibleName = 'Jungle'
end
-- CS:GO Values
if value == 'AWPER' then
catName = 'AWPers'
visibleName = 'Top'
end
-- if value == 'SUPPORT' then
-- catName = 'Support'
-- visibleName = 'Support'
-- end
if value == 'RIFLER' then
catName = 'Riflers'
visibleName = 'Rifler'
end
if value == 'IGL' or value == 'IN-GAME LEADER' then
catName = 'In-game_leaders'
visibleName = 'In-game Leader'
end
local link = 'Category:' .. game .. '/' .. catName
mw.log(link)
local pageExists = frame:callParserFunction('#ifexist', link, 'yes', 'no' )
if pageExists then
return container:node(valueNode:wikitext(visibleName))
end
local categoryLink = '[[:Category:' .. game .. '/' .. catName .. '|' .. visibleName ..']]'
valueNode:wikitext(categoryLink)
container:node(valueNode)
end
return container
end
return Role