Difference between revisions of "Module:Villagers"

From Foundation - Wiki
Jump to navigation Jump to search
Line 28: Line 28:
for k, v in pairs(jobs) do
for k, v in pairs(jobs) do
local jobName = mw.html.create('li')
local jobName = mw.html.create('li')
jobName:wikitext('[[' .. k .. ']]')
jobName:wikitext('[[' .. com.fUpper(k) .. ']]')
jobList:node(jobName)
jobList:node(jobName)
end
end

Revision as of 08:34, 24 December 2023

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

local p = {}
local b = mw.loadData('Module:Buildings')
local a = require('Module:Arguments')
local com = require('Module:Common')

function p.jobs(frame)
	local args = a.getArgs(frame)
	if args[1] then
		local rank = com.fUpper(args[1])
		local jobs = {}

		for k, v in pairs(b) do
			if v.rank == rank then
				jobs[k] = true
			end
		end

		table.sort(jobs)
		mw.log(#jobs)
		local cols = {
			'column-count', (args[2] or 3)
		}
		local jobList = mw.html.create('div')
		jobList:addClass('job-list')
		:css(cols)
		:tag('ul')
	
		for k, v in pairs(jobs) do
			local jobName = mw.html.create('li')
			jobName:wikitext('[[' .. com.fUpper(k) .. ']]')
			jobList:node(jobName)
		end
		
		return jobList
	end
	
	return ''
end
		
return p