Modul:Partiers starkaste stöd
Dokumentation [visa] [redigera] [historik] [rensa sidcachen]
Modulen är ett stöd för {{Partiers starkaste stöd}}
. Se mallens dokumentation för hur modulen används.
p = {}
function p.main(frame)
local pFrame = frame:getParent()
local args = pFrame.args
local summa = '' -- summa är den variabel som bygger hela tabellen
summa = mw.text.tag('th', {style="width:75px;", rowspan="2"}, 'Parti')
local s = ''
if args['område'] and args['område'] ~= '' then -- Väljer "område" om den parametern används
s = args['område']
else
if args.val == 'riksdag' or args.val == 'landsting' then -- annars anpassar den rubrikerna efter om det är riksdag, landsting eller kommunalval.
s = 'Valkrets'
else
s = 'Valdistrikt'
end
end
summa = summa .. mw.text.tag('th', {style="min-width:225px;", colspan="2"}, s)
if args.val == 'riksdag' then
s = 'Rike'
elseif args.val == 'landsting' then
s = 'Län'
else
s = 'Kommun'
end
summa = summa .. mw.text.tag('th', {}, s)
summa = mw.text.tag('tr', {}, summa)
local a1 = mw.text.tag('th', {style="min-width:150px;"}, args.starkastrubrik or 'Starkaste')
a1 = a1 .. mw.text.tag('th', {style="width:75px;"}, 'Andel')
a1 = a1 .. mw.text.tag('th', {style="width:75px;"}, 'Andel')
summa = summa .. mw.text.tag('tr', {}, a1) -- rubriken är färdig
local partiet = require('Modul:Partier se')
local i = 1
while args[i] do -- en modul över alla numrerade parametrar
local kort = mw.text.trim(args[i])
frame.args = { kort }
local vector = partiet.partisnack(frame) -- hämtar all data om just detta parti
if not vector then -- felsökning
return 'ERROR in parameter ' .. i
end
if type(vector) == 'string' then -- mer felsökning
return 'ERROR in parameter ' .. i .. ' ' .. vector .. ' ' .. args[i]
end
local a = vector['a'] -- extraherar olika delar av partidatan
local t = vector['t']
local n = vector['n']
local f = vector['f']
local l = vector['l']
-- Sätter ihop tabellen
a1 = mw.text.tag('td', {style="text-align:center;font-weight:bold;background-color:" .. f, title = n}, '[[' .. l .. '|' .. mw.text.tag('span', {style="color:" .. t .. ";"}, a) .. ']]' )
a1 = a1 .. mw.text.tag('td', {}, (args[i+2] or ''))
a1 = a1 .. mw.text.tag('td', {style="text-align:right; background-size: " .. (string.match(string.gsub(args[i+3],',','.'),'%d+%.?%d*') or 0) .. "% 20%; background-position:bottom left; background-image: linear-gradient(" .. f .. "," .. f .. ");background-repeat: no-repeat;"}, (args[i+3] or '') .. ' %')
a1 = a1 .. mw.text.tag('td', {style="text-align:right; background-size: " .. (string.match(string.gsub(args[i+1],',','.'),'%d+%.?%d*') or 0) .. "% 20%; background-position:bottom left; background-image: linear-gradient(" .. f .. "," .. f .. ");background-repeat: no-repeat;"}, (args[i+1] or '') .. ' %')
summa = summa .. mw.text.tag('tr', {}, a1)
i = i + 4 -- loopen hoppar fyra steg för att få nästa rad
end
a1 = mw.text.tag('td', {colspan="4", style="background:#eeeeee;"}, "Data hämtat från <i>[http://www.val.se/ Valmyndigheten]</i>.")
summa = summa .. mw.text.tag('tr', {}, a1) -- avslutande rad i tabellen
summa = mw.text.tag('table', {class="wikitable", style="font-size:88%;"}, summa) -- sätter ihop tabellen
return summa
end
return p