Для документации этого модуля может быть создана страница Модуль:Contained in/doc
local itemIcon = require('Модуль:Item_icon')
local p = {}
function p.main( frame )
local cargo = mw.ext.cargo
tables = 'Contains'
fields = '_pageName,name,contains_item,quantity'
local args = {
where='contains_item = "'..frame.args[1]..'"',
orderBy = '_pageName',
}
local result = cargo.query( tables, fields, args )
local r = result[1]
local text = {}
local countResults = 0
for _ in pairs(result) do countResults = countResults + 1 end
--Проверка, содержится ли предмет(ы) в наборе.
--[[if (r == nil) then
error("Этот предмет пока не содержится ни в одном наборе!")
return false
end]]--
for k, v in ipairs(result) do
if v.quantity ~= "" then
text[k] = '<li>' .. itemIcon.Main({args={v._pageName,""}}) .. ' (' .. v.quantity .. ')</li>'
else
text[k] = '<li>' .. itemIcon.Main({args={v._pageName,""}}) .. '</li>'
end
end
if countResults < 10 then
return '<ul>'..table.concat(text,'\n')..'</ul>'
else
return '<ul style="-webkit-column-width: 305px; -moz-column-width: 305px; column-width: 305px;">'..table.concat(text,'\n')..'</ul>'
end
end
return p