Module:StoreTableHeader: Difference between revisions

From Discord Dungeons Wiki
Jump to navigation Jump to search
No edit summary
(Swap hidebuy and hidesell)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
--------------------------
-- Module for [[Template:StoreTableHeader]]
--
--
------------------------
local p = {}
local p = {}


Line 7: Line 13:
function p.main(frame)
function p.main(frame)
     local args = frame:getParent().args
     local args = frame:getParent().args
     local currency,namenotes,smw,hideimage,hidebuy,hidesell = params.defaults{
     local currency,namenotes,smw,hideimage,hidebuy,hidesell, hidemembers = params.defaults{
{args.currency,'Gold'},
{args.currency,'Gold'},
{args.namenotes,''},
{args.namenotes,''},
Line 15: Line 21:
{args.hidesell,'no'},
{args.hidesell,'no'},
{args.hidelevel, 'no'},
{args.hidelevel, 'no'},
{args.hidemembers, 'no'},
}
}
     var.vardefine('Currency', currency)
     var.vardefine('Currency', currency)
Line 23: Line 30:
     var.vardefine('hideSell', hidesell)
     var.vardefine('hideSell', hidesell)
     var.vardefine('hideLevel', hidelevel)
     var.vardefine('hideLevel', hidelevel)
    var.vardefine('hideMembers', hidemembers)
      
      
     local ret = mw.html.create('')
     local ret = mw.html.create('')
Line 29: Line 37:
     local colspan = yesno(hideimage) and 1 or 2
     local colspan = yesno(hideimage) and 1 or 2
     ret:tag('th'):attr('colspan', colspan):wikitext('Item'):done()
     ret:tag('th'):attr('colspan', colspan):wikitext('Item'):done()
    if not(yesno(hidebuy)) then
        ret:tag('th'):attr('data-sort-type', 'number'):wikitext('Buyable for'):done()
    end
     if not(yesno(hidesell)) then
     if not(yesno(hidesell)) then
         ret:tag('th'):attr('data-sort-type', 'number'):wikitext('Price<br>sold at'):done()
         ret:tag('th'):attr('data-sort-type', 'number'):wikitext('Sellable for'):done()
    end
    if not(yesno(hidebuy)) then
        ret:tag('th'):attr('data-sort-type', 'number'):wikitext('Price<br>bought at'):done()
     end
     end
if not(yesno(hidelevel)) then
if not(yesno(hidelevel)) then
         ret:tag('th'):attr('data-sort-type', 'number'):wikitext('Level'):done()
         ret:tag('th'):attr('data-sort-type', 'number'):wikitext('Level'):done()
    end
if not(yesno(hidemembers)) then
        ret:tag('th'):attr('data-sort-type', 'string'):wikitext('Members only'):done()
     end
     end
     local i = 1
     local i = 1

Latest revision as of 11:17, 4 April 2022

Documentation for this module may be created at Module:StoreTableHeader/doc

--------------------------
-- Module for [[Template:StoreTableHeader]]
--
--
------------------------

local p = {}

local params = require('Module:Paramtest')
local yesno = require('Module:Yesno')
local var = mw.ext.VariablesLua

function p.main(frame)
    local args = frame:getParent().args
    local currency,namenotes,smw,hideimage,hidebuy,hidesell, hidemembers = params.defaults{
		{args.currency,'Gold'},
		{args.namenotes,''},
		{args.smw,'yes'},
		{args.hideimage,'no'},
		{args.hidebuy,'no'},
		{args.hidesell,'no'},
		{args.hidelevel, 'no'},
		{args.hidemembers, 'no'},
	}
    var.vardefine('Currency', currency)
    var.vardefine('NameNotes', namenotes)
    var.vardefine('smw', smw)
    var.vardefine('hideImage', hideimage)
    var.vardefine('hideBuy', hidebuy)
    var.vardefine('hideSell', hidesell)
    var.vardefine('hideLevel', hidelevel)
    var.vardefine('hideMembers', hidemembers)
    
    local ret = mw.html.create('')

    ret:tag('tr')
    local colspan = yesno(hideimage) and 1 or 2
    ret:tag('th'):attr('colspan', colspan):wikitext('Item'):done()
    if not(yesno(hidebuy)) then
        ret:tag('th'):attr('data-sort-type', 'number'):wikitext('Buyable for'):done()
    end
    if not(yesno(hidesell)) then
        ret:tag('th'):attr('data-sort-type', 'number'):wikitext('Sellable for'):done()
    end
	if not(yesno(hidelevel)) then
        ret:tag('th'):attr('data-sort-type', 'number'):wikitext('Level'):done()
    end
	if not(yesno(hidemembers)) then
        ret:tag('th'):attr('data-sort-type', 'string'):wikitext('Members only'):done()
    end
    local i = 1
    while args['column' .. i] do
        ret:tag('th'):attr('data-sort-type', 'number'):wikitext(args['column' .. i]):done()
        i = i+1
    end
    ret:done()
    return '<table class="wikitable sortable" style="text-align:center; margin:0;" cellpadding="2" cellspacing="0">' .. tostring(ret)
end
    
return p