Neverwinter Wiki

Для документации этого модуля может быть создана страница Модуль: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,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
    tables = 'Insignia_bonuses'
    fields = '_pageName,slot1,slot2,slot3,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 filter-table-mount jquery-tablesorter')
        tbl:tag("th"):attr('style', 'width: 4%'):wikitext("Название"):done()
        tbl:tag("th"):attr('style', 'width: 4%'):wikitext("Ячейки знаков"):done()
        tbl:tag("th"):attr('style', 'width: 30%'):wikitext("Описание"):done()
        tbl:done()
    --Construct the rows in the table
        for _,row in ipairs(result) do
        local dataFilter = {row.slot1, row.slot2, row.slot3}
        tr = tbl:tag("tr"):attr("data-filter", table.concat(dataFilter,', '))
        tr:tag("td"):wikitext('[[' .. row._pageName .. ']]'):done()
        tr:tag("td"):wikitext(insignia[row.slot1], ' + ', insignia[row.slot2], ' + ', insignia[row.slot3]):done()
        tr:tag("td"):wikitext(row.description):done()
        end
    return tbl
     end
return p