Content deleted Content added
WIP |
Start working on _row |
||
Line 2:
local args = {}
local origArgs = {}
local InfoboxImage = require('Module:InfoboxImage').InfoboxImage
local function notblank(v)
return (mw.text.trim(v or "") ~= "")
end
local function _row(frame, rargs)
local delink = require('Module:Delink')._delink
local fetch = require('Module:Political party')._fetch
local output = {'|-'}
setmetatable(a, { __call = function (t, v) t[#t+1] = v end }) -- Append to array by calling it
if notblank(rargs.divider) and (
notblank(rargs.party1) or notblank(rargs.color1) or notblank(rargs.leader1) or notblank(rargs.party2) or notblank(rargs.color2) or notblank(rargs.leader2) or notblank(rargs.party3) or notblank(rargs.color3) or notblank(rargs.leader3)
) then
output('| colspan=4 | ' .. rargs.divider)
end
output('|- class="sr-only"')
if rargs.ongoing ~= "yes" and (
mw.ustring.lower(rargs.type) == "parliamentary" or mw.ustring.lower(rargs.type) == "legislative"
) and (
notblank(rargs.party1) or notblank(rargs.party2) or notblank(rargs.party2)
) then
output('! style="text-align:left;" | ')
output('! style="text-align:center" | ' .. (notblank(rargs.party1) and rargs.header1 or ''))
output('! style="text-align:center" | ' .. (notblank(rargs.party2) and rargs.header2 or ''))
if notblank(rargs.col3) then
output('! style="text-align:center" | ' .. (notblank(rargs.party3) and rargs.header3 or ''))
end
end
output('|-')
-- Images --
if notblank(rargs.party1) or notblank(rargs.color1) or notblank(rargs.image1) or notblank(rargs.party2) or notblank(rargs.color2) or notblank(rargs.image2) or notblank(rargs.party3) or notblank(rargs.color3) or notblank(rargs.image3) then
if notblank(rargs.filler) then
output('! <br />' .. rargs.filler)
else
output('| ')
end
local image = {}
for i = 1, rargs['col3'] and 3 or 2, 1 do
image[i] = '| class="notheme" style="text-align:center;'
if not notblank(rargs['party' .. i]) and not notblank(rargs['color' .. i]) then
image[i] = image[i] .. 'width:0;'
end
if notblank(rargs['color' .. i]) then
image[i] = image[i] .. 'border-bottom: 6px solid #' .. mw.ustring.gsub(mw.ustring.gsub(rargs['color' .. i],'#',''),'#','')
elseif rargs.party_color ~= 'no' and notblank(rargs['party'] .. i) then
local color = mw.ustring.replace(rargs['party' .. i], '^(%[%[%s*[^%]%[]*%]%]).*$', '%1')
color = delink({[1] = color, wikilinks = 'target'})
color = fetch({[1] = color, [2] = 'color', error = 'NOTHERE'})
if color ~= 'NOTHERE' then
image[i] = image[i] .. 'border-bottom: 6px solid' .. color
end
end
image[i] = image[i] .. ';" | ' .. InfoboxImage( frame:newChild{
title = frame:getTitle(), args = {
image = rargs['image' .. i] or '',
size = notblank(rargs['image' .. i .. '_size']) and rargs['image' .. i .. '_size'] or (rargs.image_size or ''),
alt = rags['alt' .. i] or '',
upright = notblank(rargs['image' .. i .. '_upright']) and rargs['image' .. i .. '_upright'] or (
(notblank(rargs['col3']) and notblank(rargs['image3'])) and '0.4' or '0.6'
),
suppressplaceholder = 'yes',
class = notblank(rargs['pageimage' .. i] and '' or 'notpageimage noresize'),
}
} )
output(image[i])
end
end
output('|-')
-- Presidential & by-election nominee --
end
Line 36 ⟶ 106:
subheaderstyle = "line-height:130%;",
subheader1 = origArgs.flag_image
and (
frame:newChild{ title = frame:getTitle(), args = {
image = origArgs.flag_image,
|