Module:Mapframe

From Random Island Wiki
Revision as of 21:22, 1 May 2018 by >Evad37 (start)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

--Parameter for cleaned-up parent.args (whitespace trimmed, blanks removed)
local Args = {}

function setCleanArgs(argsTable)
	local cleanArgs = {}
	for key, val in pairs(argsTable) do
		if type(val) == 'string' then
			val = val:match('^%s*(.-)%s*$')
			if val ~= '' then
				cleanArgs[key] = val
			end
		else
			cleanArgs[key] = val
		end
	end
	return cleanArgs
end

function makeTag(name, attributes, content)
	local tag --todo
	return tag
end

function makeContentJson(contentArgs)
	local data = {}
	if contentArgs.type == 'point' then
		data.type = "Feature"
	else
		data.type = "ExternalData"
	end

	--todo: fill out rest of data

	return mw.text.jsonEncode(data)
end

local p = {}

function p.main(frame)
	local parent = frame.getParent(frame)
	Args = setCleanArgs(parent.args)
 
	local content = {};
	local contentIndex = '';
	while Args['type'..contentIndex] do
		local contentArgs = {}
		contentArgs['type'] = Args['type'..contentIndex]
		--todo: Add other relevant args

		content[contentIndex or 1] = makeContentJson(contentArgs)

		contentIndex = (contentIndex or 1) + 1
	local mapContent

	local output = ''
	--if needsTitleTag
			



	return output
end

return p
end