reborn

Main module: Module:KHRCCG Data

Data:


local KHRCCG = {}
local getArgs = require("Dev:Arguments").getArgs

function KHRCCG.cardinfo(frame)
    local args = getArgs(frame)
    local data = mw.loadData("Module:KHRCCG_Data/" .. (args.vol or args[1]))
 
    return data[args.id or args[2]][args[3]]
end

function KHRCCG.cardlist(frame)
    local args = getArgs(frame)
    local page = "Module:KHRCCG_Data/" .. (args.vol or args[1])
    local data = mw.loadData(page)
    
    local container = mw.html.create("table")
    local tbl = container:addClass("full-width")
        :addClass("article-table")
        :addClass("sortable")
        :css("text-align", "center")
        :tag("caption")
        	:wikitext("[[[" .. page .. "|view data]]]")
        	:done()
        :tag("tr")
            :tag("th")
                :wikitext("ID ")
                :done()
            :tag("th")
                :wikitext("Name ")
                :done()
            :tag("th")
            	:wikitext("Level")
                :done()
            :tag("th")
                :wikitext("Type ")
                :done()
            :tag("th")
                :wikitext("Attribute")
                :done()
            :tag("th")
                :wikitext("Compatibility")
                :done()
            :done()
            
        local newtable = {}
        for _, v in pairs(data) do table.insert(newtable, v) end
        table.sort(newtable, function(v1,v2) return v1.id < v2.id end)
        
        for i,card in pairs(newtable) do
            local filename = ""
            if (card.image ~= "") then
                filename = "[[:File:" .. card.image .. "|".. card.id .. "]]"
            else
                filename = card.id
            end
            
            container:tag("tr")
                :tag("td")
                    :wikitext(filename)
                    :done()
                :tag("td")
                    :wikitext(card.name)
                    :done()
                :tag("td")
                    :wikitext(card.level)
                    :done()
                :tag("td")
                    :wikitext(card.type)
                    :done()
                :tag("td")
                    :wikitext(card.attribute)
                    :done()
                :tag("td")
                    :wikitext(card.compat)
                    :done()
                :done()
        end
    return container
end

return KHRCCG