Module:Infobox/Widget/Location: Difference between revisions

From TwogPedia
No edit summary
No edit summary
Line 6: Line 6:


function Location.make(countries, cities, title)
function Location.make(countries, cities, title)
-- local index = 1
-- local current = args['country']
-- local currentLocation = args['city'] or args['location']
-- local container = mw.html.create('div')
-- while not String.isEmpty(current) do
-- local country = CountryData[string.upper(current)]
-- local currentTitle = mw.title.getCurrentTitle().text
-- local gameCategory = mw.text.split(currentTitle, '/')[1]
-- local flag = Flags.icon(country, gameCategory)
-- local countryNode = mw.html.create('div')
-- :wikitext(flag)
-- :wikitext(country)
-- container:node(countryNode)
-- index = index + 1
-- current = args['country' .. index]
-- currentLocation = args['city' .. index] or args['location' .. index]
-- end
local container = mw.html.create('div')
local container = mw.html.create('div')
local countryList = mw.text.split(countries, ',')
local countryList = mw.text.split(countries, ',')
local cityList = mw.text.split(cities or '', ',')
for i, v in ipairs(countryList) do
for i, v in ipairs(countryList) do
v = mw.text.trim(v)
v = mw.text.trim(v)
Line 37: Line 17:
local div = mw.html.create('div')
local div = mw.html.create('div')
:wikitext(flag)
:wikitext(flag)
:wikitext(mw.text.trim(cityList[i]) or country)
if cities then
div:wikitext(mw.text.trim(mw.text.split(cities, ',')[i]))
else
div:wikitext(country)
end
container:node(div)
container:node(div)
end
end

Revision as of 09:07, 2 September 2022

Documentation for this module may be created at Module:Infobox/Widget/Location/doc

local CountryData = mw.loadData('Module:Localisation/Data')
local Flags = require('Module:Flags')
local String = require('Module:StringUtils')

local Location = {}

function Location.make(countries, cities, title)
	local container = mw.html.create('div')
	local countryList = mw.text.split(countries, ',')
	
	for i, v in ipairs(countryList) do
		v = mw.text.trim(v)
		local country = CountryData[string.upper(v)]
		local currentTitle = mw.title.getCurrentTitle().text
		local gameCategory = mw.text.split(currentTitle, '/')[1]
		local flag = Flags.icon(country, gameCategory)
		local div = mw.html.create('div')
			:wikitext(flag)
		if cities then
			div:wikitext(mw.text.trim(mw.text.split(cities, ',')[i]))
		else 
			div:wikitext(country)
		end
			
		container:node(div)
	end
	
	return container
end

return Location