Difference between revisions of "Module:ItemBox"
The Pillow (talk | contribs) |
The Pillow (talk | contribs) |
||
| Line 64: | Line 64: | ||
if frame.args.buy or frame.args.sell then | if frame.args.buy or frame.args.sell then | ||
-- Separator | -- Separator | ||
| − | table:tag('tr'):tag('td'):addClass('infobox-header'):attr('colspan', | + | table:tag('tr'):tag('td'):addClass('infobox-header'):attr('colspan', 2) |
local row = table:tag('tr') | local row = table:tag('tr') | ||
| Line 71: | Line 71: | ||
row:tag('th'):wikitext('<b>Sell</b>') | row:tag('th'):wikitext('<b>Sell</b>') | ||
| − | row = table:tag('tr'):attr('style', 'text-align: | + | row = table:tag('tr'):attr('style', 'text-align: center') |
row:tag('td'):wikitext(frame.args.buy or '--') | row:tag('td'):wikitext(frame.args.buy or '--') | ||
row:tag('td'):wikitext(frame.args.sell or '--') | row:tag('td'):wikitext(frame.args.sell or '--') | ||
Revision as of 09:18, 26 January 2020
Documentation for this module may be created at Module:ItemBox/doc
local export = {}
local pagename = mw.title.getCurrentTitle().fullText
function basic_row(table, key, value)
local row = table:tag('tr')
row:tag('td'):attr('colspan', 1):wikitext('<b>' .. key .. '</b>')
row:tag('td'):attr('colspan', 3):wikitext(value)
return row
end
function full_row(table, key)
local row = table:tag('tr')
row:tag('td'):attr('colspan', '4'):attr('style', 'text-align: center')
:wikitext('<i>"' .. key .. '"</i>')
return row
end
function subheader(table, title)
local row = table:tag('tr')
row:tag('th'):attr('colspan', '4'):attr('class', 'infobox-subheader')
:wikitext(title)
return row
end
function export.show(frame)
local table = mw.html.create('table'):addClass('coa-infobox'):addClass('item')
-- Create title header
local td = table:tag('tr'):tag('td')
td:addClass('infobox-header'):attr('colspan', '4')
:wikitext(frame.args.name)
-- Add image box
table:tag('tr'):tag('td'):addClass('infobox-image'):attr('colspan', 4)
:wikitext('[[File:' .. frame.args.image .. ']]')
-- Item description goes right below
full_row(table, frame.args.description or '')
-- Separation header
table:tag('tr'):tag('td'):addClass('infobox-header'):attr('colspan', 4)
-- Item basic attributes
basic_row(table, 'Level', frame.args.level)
-- Optional values
if frame.args.obtained then
basic_row(table, 'Obtained', frame.args.obtained)
end
-- Item Swing Speed
if frame.args.speed then
basic_row(table, 'Speed', frame.args.speed)
end
--Merchant Buy/Sell
if frame.args.buy or frame.args.sell then
-- Separator
table:tag('tr'):tag('td'):addClass('infobox-header'):attr('colspan', 2)
local row = table:tag('tr')
row:tag('th'):wikitext('<b>Buy</b>')
row:tag('th'):wikitext('<b>Sell</b>')
row = table:tag('tr'):attr('style', 'text-align: center')
row:tag('td'):wikitext(frame.args.buy or '--')
row:tag('td'):wikitext(frame.args.sell or '--')
end
-- Bonuses
if frame.args.attack or frame.args.strength or frame.args.defence or frame.args.hp then
-- Separator
table:tag('tr'):tag('td'):addClass('infobox-header'):attr('colspan', 4)
local row = table:tag('tr')
row:tag('th'):wikitext('<b>Attack</b>')
row:tag('th'):wikitext('<b>Strength</b>')
row:tag('th'):wikitext('<b>Defence</b>')
row:tag('th'):wikitext('<b>HP</b>')
row = table:tag('tr'):attr('style', 'text-align: center')
row:tag('td'):wikitext(frame.args.attack or '--')
row:tag('td'):wikitext(frame.args.strength or '--')
row:tag('td'):wikitext(frame.args.defence or '--')
row:tag('td'):wikitext(frame.args.HP or '--')
end
-- Separation header
table:tag('tr'):tag('td'):addClass('infobox-header'):attr('colspan', 4)
return tostring(table)
end
return export