local localdata = require("Module:Infobox/Localdata")
function build_columns(localdata, prefix)
local res = mw.html.create("div")
local style = "display:grid;text-align:left;"
local isFirstColumn = true
for i = 1, 4 do
local value = localdata[prefix .. i]
if value then
if isFirstColumn then
isFirstColumn = false
style = style .. "grid-template-columns:1fr"
else
style = style .. " 1fr"
end
res:tag("div"):wikitext(value):done()
else
break
end
end
res:attr("style", style .. ";"):allDone()
if isFirstColumn then
return
end
return tostring(res)
end
return {
parts = {
{
type = "title",
value = "titre",
subtitle = "sous-titre",
},
{
type = "images",
imageparameters = {"image", "image2", "image3", "image4", "image5"},
captionparameter = "légende",
},
{
type = "table",
title = "Informations générales",
rows = {
{type = "row", label = "Date", value = "date"},
{type = "row", label = "Lieu", value = "lieu"},
{type = "row", label = "''Casus belli''", value = "casus belli"},
{type = "row", label = "Issue", value = "issue"}
}
},
{
type = "table",
title = "Belligérants",
rows = {
{type = "row1col", value = function(localdata)
return build_columns(localdata, "combattant")
end}
}
},
{
type = "table",
title = "Commandants",
rows = {
{type = "row1col", value = function(localdata)
return build_columns(localdata, "commandant")
end}
}
},
{
type = "table",
title = "Forces en présence",
rows = {
{type = "row1col", value = function(localdata)
return build_columns(localdata, "forces")
end}
}
},
{
type = "table",
title = "Pertes",
rows = {
{type = "row1col", value = function(localdata)
return build_columns(localdata, "pertes")
end}
}
},
{
type = "table",
title = "Évènements associés",
rows = {
{type = "row", label = "Partie de", value = "partie de"},
{type = "row", label = "Connexe", value = "connexe"},
{
type = "succession",
value = {
before = localdata["précédent"],
after = localdata["suivant"]
}
}
}
},
}
}