require('strict')
local getArgs = require('Module:Arguments').getArgslocal p =
local function award(builder, text) builder:tag('td') :attr('class', 'dt') :css('font-weight', 'bold') :css('vertical-align', 'middle') :css('text-align', 'center') :wikitext(text)end
local function won(builder, text) builder:tag('td') :css('vertical-align', 'middle') :css('text-align', 'center') :css('background-color', '#9F9') :wikitext(text)end
local function nom(builder, text) builder:tag('td') :css('vertical-align', 'middle') :css('text-align', 'center') :css('background-color', '#FDD') :wikitext(text)end
local function row(builder, args, i) builder = builder:tag('tr') :css('background-color', '#DDF') award(builder, args['award' .. i]) won(builder, args['award' .. i ..'W'] or 0) nom(builder, args['award' .. i ..'N'] or 0)end
function p.main(frame) local args = getArgs(frame) return p._main(args)end
function p._main(args) -- Main module code goes here. local ret, temp local totalW, totalN = 0, 0 -- Award list begin for i = 1, 99 do if args['award' ..i] then temp = break end end if temp then temp = mw.html.create('table') :attr('class', 'collapsible collapsed') :css('width', '100%') temp:tag('tr'):tag('th') :attr('colspan', '3') :css('background-color', '#D9E8FF') :css('text-align', 'center') :wikitext('Accolades') temp:tag('tr') :css('background-color', '#D9E8FF') :tag('th') :wikitext('Award') :css('text-align', 'center') :done :tag('th') :css('background-color', '#cec') :css('text-size', '0.9em') :css('width', '5.8em') :css('text-align', 'center') :wikitext('Won') :done :tag('th') :css('background-color', '#fcd') :css('text-size', '0.9em') :css('width', '5.8em') :css('text-align', 'center') :wikitext('Nominated') :done for i = 1, 99 do if args['award' .. i] then row(temp, args, i) totalW = totalW + (args['award' .. i ..'W'] or 0) totalN = totalN + (args['award' .. i ..'N'] or 0) end end end
-- Award list end
ret = mw.html.create('table') :attr('class', 'infobox') :css('width', '26em') :css('font-size', '90%') :css('vertical-align', 'align') ret:tag('caption') :css('font-size', '9pt') :css('font-weight', 'bold') :wikitext('List of accolades' .. (args.name and (' received by ' .. args.name .. '') or ))
if args.image then ret:tag('tr'):tag('td') :attr('colspan', '3') :css('text-align', 'center') :wikitext(string.format('%s%s', require('Module:InfoboxImage').InfoboxImage, args.caption and ('
' .. args.caption) or )) end
if temp then ret:tag('tr'):tag('td') :attr('colspan', '3') :wikitext(tostring(temp))
end if args.totals ~= 'no' then local totalW = args.awards or totalW local totalN = args.nominations or totalN ret:tag('tr') :css('background-color', '#d9e8ff') :css('border-spacing', '4px 2px 2px') :css('font-weight', 'bold') :attr('class', 'dt') :tag('td') :attr('colspan', '3') :css('text-align', 'center') :wikitext('Total number of awards and nominations') ret:tag('tr') :css('font-weight', 'bold') :tag('td') :css('vertical-align', 'middle') :css('text-align', 'center') :css('background-color', '#9F9') :wikitext('Total') :done :tag('td') :css('vertical-align', 'middle') :css('text-align', 'center') :css('background-color', '#9F9') :css('width', '5.9em') :wikitext(totalW) :done :tag('td') :css('vertical-align', 'middle') :css('text-align', 'center') :css('background-color', '#FDD') :css('width', '5.9em') :wikitext(totalN) :done end if args.reflink ~= 'no' then ret:tag('tr') :css('font-size', 'smaller') :css('background-color', '#d9e8ff') :tag('td') :attr('colspan', '3') :css('vertical-align', 'middle') :css('text-align', 'center') :wikitext('Footnotes') end return ret end
return p