Module:Variants: Difference between revisions
Add logic for main variants table (so they are sorted the same)
Im Wired In (talk | contribs) (Fix error when no variant smw data exists, and add tracking category) |
(Add logic for main variants table (so they are sorted the same)) |
||
Line 8:
end
function
return page▼
end▼
function get_table_info(args)▼
local variant_name = args.variant or mw.title.getCurrentTitle().fullText
local query = {
'[[Variant of::'..variant_name..']]',
'?Profession Level A',
'?Profession Level B',
get_images and '?Image#64px;x64px = Image' or nil,
limit = args.limit or 500,
}
local smw_data = mw.smw.ask(query)
if not smw_data then
return
end
table.sort(smw_data, sort_entries)
return smw_data
local table_contents = {}▼
for _, entry in ipairs(smw_data) do▼
table.insert(table_contents, format_entry(entry))▼
end▼
end
function p.
local
local contents
local table_contents = table.concat(elements, ' • ')▼
if smw_data then
▲ return html
▲ for _, entry in ipairs(smw_data) do
end
else
contents = '[[Category:Empty variant list]]'
▲ end
return mw.html.create('div')
:addClass('variants-header')
:wikitext(contents)
:done()
end
Line 46:
local args = frame:getParent().args
args.variant = args[1] or args.variant
return p.
▲end
local smw_data = get_table_info(args, true)
if not smw_data then
return ':No variants found.'
end
local table = mw.html.create('table')
:addClass('sortable wikitable')
:tag('tr')
:tag('th')
:attr{ colspan = '2' }
:wikitext('Item')
:done()
:tag('th')
:wikitext('Level')
:done()
:done()
for _, entry in ipairs(smw_data) do
table
:tag('tr')
:tag('td')
:css{ ['border-right'] = 'none' }
:wikitext(entry.Image)
:done()
:tag('td')
:css{ ['border-left'] = 'none' }
:wikitext(entry[1])
:done()
:tag('td')
:wikitext(entry['Profession Level A'])
:done()
:done()
end
end
function p.main_table(frame)
local args = frame:getParent().args
args.variant = args[1] or args.variant
return p.variants_table(args)
end
|