Module:ItemIDList
Jump to navigation
Jump to search
Documentation
No documentation subpage exists yet for this module. Create one now.
local tr = require('Module:Tr')
local getNames = require('Module:ItemNames').getData
local info = require('Module:Iteminfo').info
local idSets = require('Module:Iteminfo/idSets')
local tag = mw.text.tag
local na
local lang
local none
local not_implemented
local replaceName = {}
-- handler for name cell
local nameCell = {
-- default handler
['en'] = function(name, linkName, id)
return (name == '') and na or ('[[' .. tr.translateLink(linkName, lang) .. '|' .. tr.translate(name, lang) .. ']]'
-- unimplemented items that have pages
.. (idSets.getValue('Unused', id) and '<br/>' .. not_implemented or ''))
end,
-- l10n handler if needed.
['ru'] = function(name, linkName, id)
return (name == '') and na or ('[[' .. tr.translateLink(linkName, lang) .. '|' .. tr.translate(name, lang) .. ']]'
-- unimplemented items that have pages
.. (idSets.getValue('Unused', id) and '<br/>' .. not_implemented or ''))
end,
-- more ...
-- ['fr'] = function(name, linkName, id)
-- return (name == '') and na or ('[[' .. tr.translateLink(linkName, lang) .. '|' .. tr.translate(name, lang) .. ']] ('..name..')')
-- end,
}
local function row(id)
local name = getNames('itemNameFromId', id) or ''
return tag('tr', {}, table.concat({
tag('td', {}, id),
tag('td', {}, (nameCell.lang or nameCell.en)(name, replaceName[id] or name, id)),
tag('td', {}, tag('code', {}, getNames('itemInternalNameFromId', id) or none))
}))
end
return {
go = function(frame)
lang = frame.args.lang
na = frame.args.na
none = frame.args.none
not_implemented = frame.args.not_implemented
for k,v in pairs(mw.af.import( frame.args.links )) do
replaceName[tonumber(string.sub(k, 2))] = v
end
local result = {}
for i = info.IDs.min, info.IDs.max do
result[#result + 1] = row(i)
end
return table.concat(result)
end,
}