Для документации этого модуля может быть создана страница Модуль:Insignia bonuses table/doc
local p = {}
local insignia = {
['Универсальная ячейка'] = '[[Файл:Универсальная ячейка знаков.png|32px|Универсальная ячейка знаков|ссылка=]]',
['универсальная ячейка'] = '[[Файл:Универсальная ячейка знаков.png|32px|Универсальная ячейка знаков|ссылка=]]',
['Ячейка просвещенных знаков'] = '[[Файл:Просвещенный знак.png|32px|Ячейка просвещенных знаков|ссылка=]]',
['ячейка просвещенных знаков'] = '[[Файл:Просвещенный знак.png|32px|Ячейка просвещенных знаков|ссылка=]]',
['Ячейка серповидных знаков'] = '[[Файл:Серповидный знак.png|32px|Ячейка серповидных знаков|ссылка=]]',
['ячейка серповидных знаков'] = '[[Файл:Серповидный знак.png|32px|Ячейка серповидных знаков|ссылка=]]',
['Ячейка украшенных знаков'] = '[[Файл:Украшенный знак.png|32px|Ячейка украшенных знаков|ссылка=]]',
['ячейка украшенных знаков'] = '[[Файл:Украшенный знак.png|32px|Ячейка украшенных знаков|ссылка=]]',
['Ячейка царственных знаков'] = '[[Файл:Царственный знак.png|32px|Ячейка царственных знаков|ссылка=]]',
['ячейка царственных знаков'] = '[[Файл:Царственный знак.png|32px|Ячейка царственных знаков|ссылка=]]',
['Ячейка шипастых знаков'] = '[[Файл:Шипастый знак.png|32px|Ячейка шипастых знаков|ссылка=]]',
['ячейка шипастых знаков'] = '[[Файл:Шипастый знак.png|32px|Ячейка шипастых знаков|ссылка=]]',
}
function p.Main( frame )
local cargo = mw.ext.cargo
tables = 'Insignia_bonuses'
fields = '_pageName, slot1, slot2, slot3, slot4, description'
local args = {
orderBy = "_pageName",
}
local result = cargo.query( tables, fields, args )
local text = {}
for i,row in ipairs(result) do
text[i] = '<li>[[' .. row._pageName .. ']]</li>'
end
return '<ul style="column-count: 5;">'..table.concat(text)..'</ul>'
end
function p.Table( frame )
local cargo = mw.ext.cargo
local tables = 'Insignia_bonuses'
local fields = '_pageName, slot1, slot2, slot3, slot4, description'
local args = {
orderBy = "_pageName",
}
local result = cargo.query( tables, fields, args )
local r = result[1]
--Start the table
local tbl = mw.html.create('table')
tbl:addClass('wikitable sortable insignia-bonuses-table jquery-tablesorter')
tbl:tag("th"):attr('style', 'width: 4%'):wikitext("Бонус знака"):done()
tbl:tag("th"):attr('style', 'width: 30%'):wikitext("Описание"):done()
tbl:done()
for _, row in ipairs(result) do
local slots = {}
for i = 1, 4 do
local slot = row["slot"..i]
if slot ~= '' then
table.insert(slots, slot)
end
end
local mounts_result = cargo.query( 'Items', 'name, insignia_bonuses', { where = 'insignia_bonuses HOLDS LIKE "%' .. row._pageName ..'%"' })
local mounts = {}
for i, item in ipairs(mounts_result) do
mounts[i] = item.name
end
local tr = tbl:tag("tr"):attr("data-filter", table.concat(slots, ', ')):attr("data-mounts", table.concat(mounts, ', '))
local insignias = {}
for _, slot in ipairs(slots) do
table.insert(insignias, insignia[slot])
end
tr:tag("td"):attr('style', 'text-align: center;'):wikitext('[[' .. row._pageName .. ']]<br>' .. table.concat(insignias, ' ')):done()
tr:tag("td"):wikitext(row.description):done()
end
return tbl
end
return p