Module:ResearchTableHead
Jump to navigation
Jump to search
Module documentation
This documentation is transcluded from Module:ResearchTableHead/doc. [edit] [history] [purge]
Module:ResearchTableHead's function main is invoked by Template:ResearchTableHead.
Module:ResearchTableHead requires Module:Arguments.
Module:ResearchTableHead requires Module:Paramtest.
Module:ResearchTableHead requires Module:Yesno.
| Function list |
|---|
| L 14 — p.main |
This module provides functionality for the research table. See {{ResearchTableHead}} for use.
local p = {}
local getArgs = require("Module:Arguments").getArgs;
local params = require('Module:Paramtest')
local yesno = require('Module:Yesno')
local var = mw.ext.VariablesLua
local alignments = {
left = true,
center = true,
right = true,
};
function p.main(frame)
local args = getArgs(frame)
local levels, requirements, notes, chronotes, experience, rewards, digsites,
lighttable, stickyheader, tableid =
params.defaults {
{ args.levels or args.lvls, 'yes' },
{ args.requirements or args.reqs, 'no' },
{ args.notes, 'yes' },
{ args.chronotes, 'yes' },
{ args.experience, 'yes' },
{ args.rewards, 'yes' },
{ args.digsites, 'no' },
{ args.lighttable, '' },
{ args['sticky-header'], '' },
{ args.id, '' },
}
var.vardefine('levels', levels)
var.vardefine('requirements', requirements)
var.vardefine('notes', notes)
var.vardefine('chronotes', chronotes)
var.vardefine('experience', experience)
var.vardefine('rewards', rewards)
var.vardefine('digsites', digsites)
local ret = mw.html.create('tr')
local cols = 1
local classes = ""
ret:tag('th'):wikitext('Name'):done()
if yesno(levels) then
ret:tag('th'):attr('data-sort-type', 'number'):wikitext('Level'):done()
cols = cols + 1
classes = classes .. " align-right-" .. cols
end
if yesno(requirements) then
ret:tag('th'):wikitext('Requirements'):done()
cols = cols + 1
end
if yesno(notes) then
ret:tag('th'):wikitext('Where to start'):done()
cols = cols + 1
end
if yesno(chronotes) then
ret:tag('th'):addClass('sell-col'):attr('data-sort-type', 'number'):wikitext('Chronotes cost'):done()
cols = cols + 1
classes = classes .. " align-right-" .. cols
end
if yesno(experience) then
ret:tag('th'):attr('data-sort-type', 'number'):wikitext('Experience'):done()
cols = cols + 1
classes = classes .. " align-right-" .. cols
end
if yesno(rewards) then
ret:tag('th'):wikitext('Rewards'):done()
cols = cols + 1
end
if yesno(digsites) then
ret:tag('th'):wikitext('Dig site'):done()
cols = cols + 1
end
ret:done()
lighttable = yesno(lighttable) and ' lighttable' or ''
stickyheader = yesno(stickyheader) and ' sticky-header' or ''
tableid = tableid ~= '' and (' data-tableid="' .. tableid .. '"') or ''
return '<table class="wikitable store-table sortable' ..
lighttable ..
stickyheader ..
classes ..
'"' .. tableid .. '>' .. tostring(ret)
end
return p