ElEditors, Interface administrators, Administrators
70,866
edits
No edit summary Tag: Reverted |
Tag: Undo |
||
Line 1: | Line 1: | ||
require('Module:CommonFunctions') | require('Module:CommonFunctions') | ||
local getArgs = require('Module:Arguments').getArgs | local getArgs = require('Module:Arguments').getArgs | ||
local p = {} | local p = {} | ||
-- Main process | -- Main process | ||
function p.main(frame) | function p.main(frame, title) | ||
local args = getArgs(frame); | local args = getArgs(frame); | ||
if | if args.color == nil then | ||
if args['Color'] ~= nil then | |||
args.color = args['Color']; | |||
else | |||
args.color = '{{ColorSel|Misc}}'; | |||
end | |||
end | |||
if title == nil then | |||
title = args.name | |||
end | |||
if title == nil then | |||
title = args['Name'] | |||
end | |||
local infobox = mw.html.create('div'):addClass('infobox-new'); | |||
infobox:tag('div'):addClass('infobox-new-header'):css('background-color', args.color:gsub("%#", "#")):wikitext(title); | |||
local img = args.image; | |||
if args.image == nil then | |||
img = args['Image']; | |||
end | end | ||
infobox:tag('div'):addClass('infobox-new-image'):wikitext(img); | |||
-- Adds a normal row | |||
function addField(param, field_name, double, collapsed) | |||
field_value = args[param]; | |||
if field_value ~= nil then | |||
local row = infobox:tag('div'):addClass('infobox-row'); | |||
if field_name == nil then | |||
field_name = titleCase(param); | |||
end | |||
row:tag('div'):addClass('infobox-row-title'):tag('span'):wikitext(field_name); | |||
local content = row:tag('div'):addClass('infobox-row-content'); | |||
if (param == 'video' or param == 'tree' or param == 'stat') then | |||
content:wikitext(field_value); | |||
if param == 'video' then | |||
special_row:addClass('infobox-video-row') | |||
end | |||
else | |||
content:tag('span'):addClass('mw-collapsible mw-collapsed'):wikitext(field_value); | |||
end | |||
end | |||
if double == true then | |||
addField2(param, field_name) | |||
end | |||
end | |||
-- Adds a row with 2 columns | |||
if | function addField2(param, field_name) | ||
if args[param .. '1'] ~= nil and args[param .. '2'] ~= nil then | |||
local row = infobox:tag('div'):addClass('infobox-row'):addClass('infobox-double-row'); | |||
if field_name == nil then | |||
field_name = titleCase(param):gsub("%d+", ''); | |||
end | |||
row:tag('div'):addClass('infobox-row-title'):wikitext(field_name); | |||
row:tag('div'):addClass('infobox-row-content'):tag('span'):wikitext(args[param .. '1']); | |||
row:tag('div'):addClass('infobox-row-content'):tag('span'):wikitext(args[param .. '2']); | |||
end | end | ||
end | end | ||
return | return infobox; | ||
end | end | ||
return p | return p |