Module:Infobox/Widget/Location: Difference between revisions

From TwogPedia
No edit summary
No edit summary
Line 5: Line 5:
local Location = {}
local Location = {}


function Location.make(args)
function Location.make(countries, cities)
local index = 1
-- local index = 1
local current = args['country']
-- local current = args['country']
local currentLocation = args['city'] or args['location']
-- 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 cityList = mw.text.split(cities, ',')
while not String.isEmpty(current) do
for i, v in ipairs(countryList) do
local country = CountryData[string.upper(current)]
v = mw.text.trim(v)
local div = mw.html.create('div')
local country = CountryData[string.upper(v)]
local currentTitle = mw.title.getCurrentTitle().text
local currentTitle = mw.title.getCurrentTitle().text
local gameCategory = mw.text.split(currentTitle, '/')[1]
local gameCategory = mw.text.split(currentTitle, '/')[1]
Line 18: Line 40:
local countryNode = mw.html.create('div')
local countryNode = mw.html.create('div')
:wikitext(flag)
:wikitext(flag)
:wikitext(country)
:wikitext(cityList[i] or country)
container:node(countryNode)
container:node(div)
index = index + 1
current = args['country' .. index]
currentLocation = args['city' .. index] or args['location' .. index]
end
end

Revision as of 16:50, 30 August 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)
	-- 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 countryList = mw.text.split(countries, ',')
	local cityList = mw.text.split(cities, ',')
	
	for i, v in ipairs(countryList) do
		v = mw.text.trim(v)
		
		local div = mw.html.create('div')
		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 countryNode = mw.html.create('div')
			:wikitext(flag)
			:wikitext(cityList[i] or country)
		container:node(div)
	end
	
	return container
end

return Location