Modification de Module:Infobox
La modification peut être annulée. Veuillez vérifier les différences ci-dessous pour voir si c’est bien ce que vous voulez faire, puis publier ces changements pour finaliser l’annulation de cette modification.
Version actuelle | Votre texte | ||
Ligne 1 : | Ligne 1 : | ||
local p = {} | |||
--[[ | |||
Chargement des informations des données passés au modèle et des variables globales | |||
]] | |||
-- données concernant les paramètres passés au modèle | -- données concernant les paramètres passés au modèle | ||
local localdata = {} | local localdata = {} | ||
-- données concernant la page où est affichée l | -- données concernant la page où est affichée l'infobox | ||
local page = { | local page = { | ||
name = mw.title.getCurrentTitle().prefixedText, | name = mw.title.getCurrentTitle().prefixedText, | ||
Ligne 15 : | Ligne 14 : | ||
} | } | ||
local abb = require('Module:Abréviation') | |||
local | |||
-- | -- l'objet principal à retourner | ||
local infobox = mw.html.create('div') | |||
local function | local i18n = { | ||
if type(value) == | ['see doc'] = 'Documentation du modèle', | ||
['edit'] = 'modifier', | |||
['edit code'] = 'modifier le code', | |||
['edit item'] = 'modifier Wikidata', | |||
['tracking cat'] = "Page utilisant des données de Wikidata", | |||
['invalid block type'] = "Bloc de données invalide dans le module d'infobox", | |||
['default cat'] = "Maintenance des infobox", | |||
} | |||
--[[ | |||
Outils | |||
]] | |||
local function getValue(value, part) | |||
if type(value) == 'string' then | |||
return localdata[value] | return localdata[value] | ||
elseif type(value) == | elseif type(value) == 'function' then | ||
return value(localdata, part) | return value(localdata, part) | ||
elseif type(value) == | elseif type(value) == 'table' then | ||
-- si plusieurs paramètres possibles (legacy de vieux code), | -- si plusieurs paramètres possibles (legacy de vieux code), prendre le premier non vide | ||
for i, j in pairs(value) do | for i, j in pairs(value) do | ||
if localdata[j] then | if localdata[j] then | ||
Ligne 37 : | Ligne 49 : | ||
function p.separator() | function p.separator() | ||
return mw.html.create( | return mw.html.create('hr'):addClass('separator') | ||
end | end | ||
--[[ Construction des blocs ]] | --[[ | ||
Construction des blocs | |||
]] | |||
function p. | function p.buildtitle(part) | ||
local text = | local text = getValue(part.value, part) or part.textdefaultvalue or mw.title.getCurrentTitle().text | ||
local subtext = | local subtext = getValue(part.subtitle, part) or part.subtitledefaultvalue | ||
text = mw.ustring.gsub(text, " [(][^()]*[)]$", "") | text = mw.ustring.gsub(text, " [(][^()]*[)]$", "") | ||
if subtext and (subtext ~= text) then | if subtext and (subtext ~= text) then | ||
text = text .. | text = text .. '<br /><small>' .. subtext .. '</small>' | ||
end | |||
local class = 'avt-infobox-header' | |||
local style = {} | |||
if part.style then | |||
for i, j in pairs(part.style) do | |||
style[i] = j | |||
end | |||
end | |||
local icon = getValue(part.icon, part) or nil | |||
if icon then | |||
icon = tostring(mw.html.create('div') | |||
:addClass('avt-infobox-header-icon') | |||
:wikitext('[[Fichier:'..icon..'|30x30px|alt=|link=]]') | |||
:allDone()) | |||
end | |||
local subhead = nil | |||
if part.subhead then | |||
local subheadText = abb.links({ | |||
getValue(part.subhead.games, part), | |||
part.subhead.link, | |||
part.subhead.subject | |||
}) | |||
if subheadText then | |||
subhead = tostring(mw.html.create('div') | |||
:addClass('avt-infobox-header-subhead') | |||
:wikitext(subheadText) | |||
:allDone()) | |||
end | |||
end | end | ||
local title = mw.html.create( | local title = mw.html.create('div') | ||
:addClass( | :addClass(class) | ||
:tag( | :css(style) | ||
:addClass( | :node(icon) | ||
:node(subhead) | |||
:tag('div') | |||
:addClass('avt-infobox-header-title') | |||
:wikitext(text) | :wikitext(text) | ||
:allDone() | :allDone() | ||
Ligne 63 : | Ligne 109 : | ||
return title | return title | ||
end | end | ||
p. | p.buildTitle = p.buildtitle | ||
function p. | function p.buildimages(part) | ||
local images = {} | local images = {} | ||
local upright, link, caption, alt | local upright, link, caption, alt | ||
if type(part.imageparameters) == | if type(part.imageparameters) == 'string' then | ||
part.imageparameters = { part.imageparameters } | part.imageparameters = { part.imageparameters } | ||
end | end | ||
if not part.imageparameters then -- s | if not part.imageparameters then -- s'il n'y a pas de paramètre image, continuer, peut-être y a-t-il une image par défaut définie dans le module d'infobox | ||
part.imageparameters = {} | part.imageparameters = {} | ||
end | end | ||
Ligne 80 : | Ligne 126 : | ||
-- Images par défaut | -- Images par défaut | ||
if #images == 0 then | if #images == 0 then | ||
-- if part.maintenancecat then | |||
-- addMaintenanceCat(part.maintenancecat, part.sortkey) | |||
-- end | |||
if part.defaultimages then | if part.defaultimages then | ||
images = part.defaultimages | images = part.defaultimages | ||
if type(images) == | if type(images) == 'string' then | ||
images = { images } | images = { images } | ||
end | end | ||
Ligne 90 : | Ligne 139 : | ||
alt = part.defaultimagealt | alt = part.defaultimagealt | ||
if not alt then | if not alt then | ||
alt = | alt = 'une illustration pour cette infobox serait bienvenue' | ||
end | end | ||
end | end | ||
Ligne 99 : | Ligne 148 : | ||
end | end | ||
upright = upright or | upright = upright or getValue(part.uprightparameter) or part.defaultupright or "1.2" | ||
link = link or | link = link or getValue(part.linkparameter) or part.defaultlink | ||
caption = caption or | caption = caption or getValue(part.captionparameter) or part.defaultcaption | ||
alt = alt or | alt = alt or getValue(part.altparameter) or part.defaultalt | ||
if tonumber(upright) then | if tonumber(upright) then | ||
Ligne 112 : | Ligne 161 : | ||
-- Partie image | -- Partie image | ||
local imagesString = | local imagesString = '' | ||
for i,image in pairs(images) do | for i,image in pairs(images) do | ||
if image == | if image == '-' then | ||
return | return | ||
end | end | ||
imagesString = imagesString .. | imagesString = imagesString .. '[[Fichier:' .. image .. '|frameless' | ||
if alt then | if alt then | ||
imagesString = imagesString .. | imagesString = imagesString .. '|alt=' .. alt | ||
end | end | ||
if link then | if link then | ||
imagesString = imagesString .. | imagesString = imagesString .. '|link=' .. link | ||
end | end | ||
if upright then | if upright then | ||
imagesString = imagesString .. | imagesString = imagesString .. '|upright=' .. upright | ||
elseif #images > 1 then | elseif #images > 1 then | ||
imagesString = imagesString .. | imagesString = imagesString .. '|upright=' .. ( 1 / #images ) | ||
end | end | ||
imagesString = imagesString .. | imagesString = imagesString .. ']]' | ||
end | end | ||
local image = mw.html.create( | local image = mw.html.create('div') | ||
:addClass("avt-infobox-images") | :addClass("avt-infobox-images") | ||
:css(style) | :css(style) | ||
Ligne 140 : | Ligne 189 : | ||
local captionobj | local captionobj | ||
if caption then | if caption then | ||
captionobj = mw.html.create( | captionobj = mw.html.create('div') | ||
:wikitext(caption) | :wikitext(caption) | ||
:css(part.legendstyle or {}) | :css(part.legendstyle or {}) | ||
Ligne 152 : | Ligne 201 : | ||
separator = separator(part) | separator = separator(part) | ||
end | end | ||
return mw.html.create( | return mw.html.create('div') | ||
:node(image) | :node(image) | ||
:node(captionobj) | :node(captionobj) | ||
Ligne 158 : | Ligne 207 : | ||
:done() | :done() | ||
end | end | ||
p. | p.buildImages = p.buildimages | ||
function p. | function p.buildtext(part) | ||
local class = part.class or | local class = part.class or '' | ||
local style = { | local style = { | ||
[ | ['text-align'] = 'center', | ||
[ | ['font-weight'] = 'bold' | ||
} | } | ||
if part.style then | if part.style then | ||
Ligne 171 : | Ligne 220 : | ||
end | end | ||
end | end | ||
local text = | local text = getValue(part.value, part) or part.defaultvalue | ||
if text == | if text == '-' then | ||
return | return | ||
end | end | ||
if not text then | if not text then | ||
--addMaintenanceCat(part.maintenancecat, part.sortkey) | |||
return nil | return nil | ||
end | end | ||
local formattedtext = mw.html.create( | local formattedtext = mw.html.create('p') | ||
:addClass(class) | :addClass(class) | ||
:css(style) | :css(style) | ||
Ligne 185 : | Ligne 235 : | ||
return formattedtext | return formattedtext | ||
end | end | ||
p. | p.buildText = p.buildtext | ||
function p. | function p.buildrow(part) | ||
local class = part.class or | local class = part.class or '' | ||
local style = part.style or {} | local style = part.style or {} | ||
local valueClass = part.valueClass or | local valueClass = part.valueClass or '' | ||
local valueStyle = part.valueStyle or {} | local valueStyle = part.valueStyle or {} | ||
local value, number = | local value, number = getValue(part.value, part) | ||
if not value then | if not value then | ||
Ligne 203 : | Ligne 253 : | ||
number = 0 -- == indéfini | number = 0 -- == indéfini | ||
end | end | ||
-- if not value then | |||
-- if part.maintenancecat then | |||
-- local maintenancecat = getValue(part.maintenancecat, part) | |||
-- addMaintenanceCat(maintenancecat, part.sortkey) | |||
-- end | |||
-- return nil | |||
-- end | |||
local label = part.label | local label = part.label | ||
Ligne 210 : | Ligne 268 : | ||
label = part.singularlabel | label = part.singularlabel | ||
end | end | ||
if type(label) == | if type(label) == 'function' then | ||
label = label(localdata, localdata.item) | label = label(localdata, localdata.item) | ||
end | end | ||
-- format | -- format | ||
local formattedvalue = mw.html.create( | local formattedvalue = mw.html.create('div') | ||
-- Le | :wikitext('\n' .. value) -- Le '\n' est requis lorsque value est une liste commençant par '*' ou '#' | ||
if part.hidden == true then | if part.hidden == true then | ||
formattedvalue | formattedvalue | ||
:attr({class="NavContent", style="display: none; text-align: left;"}) | :attr({class="NavContent", style="display: none; text-align: left;"}) | ||
formattedvalue = mw.html.create( | formattedvalue = mw.html.create('div') | ||
:attr({class="NavFrame", title="[Afficher]/[Masquer]", style="border: none; padding: 0;"}) | :attr({class="NavFrame", title="[Afficher]/[Masquer]", style="border: none; padding: 0;"}) | ||
:node(formattedvalue) | :node(formattedvalue) | ||
end | end | ||
formattedvalue = mw.html.create( | formattedvalue = mw.html.create('td') | ||
:node(formattedvalue) | :node(formattedvalue) | ||
:addClass(valueClass) | :addClass(valueClass) | ||
Ligne 235 : | Ligne 291 : | ||
local formattedlabel | local formattedlabel | ||
if label then | if label then | ||
formattedlabel = mw.html.create( | formattedlabel = mw.html.create('th') | ||
:attr( | :attr('scope', 'row') | ||
:wikitext(label) | :wikitext(label) | ||
:done() | :done() | ||
end | end | ||
local row = mw.html.create( | local row = mw.html.create('tr') | ||
:addClass(class) | :addClass(class) | ||
:css(style) | :css(style) | ||
Ligne 249 : | Ligne 305 : | ||
return row | return row | ||
end | end | ||
p. | p.buildRow = p.buildrow | ||
function p. | function p.buildsuccession(part) | ||
if not part.value then | if not part.value then | ||
return nil | return nil | ||
Ligne 257 : | Ligne 313 : | ||
local values = part.value | local values = part.value | ||
local before = | local before = getValue(values['before'], part) | ||
local center = | local center = getValue(values['center'], part) | ||
local after = | local after = getValue(values['after'], part) | ||
if not before and not center and not after then | if not before and not center and not after then | ||
return nil | return nil | ||
end | end | ||
--local style = part.style or {} | |||
--style['text-align'] = style['text-align'] or 'center' | |||
--style['color'] = style['color'] or '#000000' | |||
--style['background-color'] = style['background-color'] or '#F9F9F9' | |||
local rowI = mw.html.create( | local rowI = mw.html.create('tr') | ||
local styleI = {} | local styleI = {} | ||
local colspan = | local colspan = '2' | ||
styleI[ | styleI['padding'] = '1px' | ||
cellI = mw.html.create( | cellI = mw.html.create('td') | ||
:attr({colspan = colspan}) | :attr({colspan = colspan}) | ||
:attr({align = | :attr({align = 'center'}) | ||
:css(styleI) | :css(styleI) | ||
local styleT = {} | local styleT = {} | ||
styleT[ | styleT['margin'] = '0px' | ||
styleT[ | styleT['background-color'] = 'transparent' | ||
styleT[ | styleT['width'] = '100%' | ||
tabC = mw.html.create( | tabC = mw.html.create('table') | ||
:attr({cellspacing = | :attr({cellspacing = '0'}) | ||
:addClass( | :addClass('navigation-not-searchable') | ||
:css(styleT) | :css(styleT) | ||
local row = mw.html.create( | local row = mw.html.create('tr') | ||
local color = part.color | local color = part.color | ||
Ligne 292 : | Ligne 353 : | ||
local arrowRight | local arrowRight | ||
if color == | if color == 'default' then | ||
arrowLeft = | arrowLeft = '[[Fichier:SCRWEST.png|13px|alt=Précédent|link=]]' | ||
arrowRight = | arrowRight = '[[Fichier:SCREAST.png|13px|alt=Suivant|link=]]' | ||
else | else | ||
arrowLeft = | arrowLeft = '[[Fichier:SCRWEST.png|13px|alt=Précédent|link=]]' | ||
arrowRight = | arrowRight = '[[Fichier:SCREAST.png|13px|alt=Suivant|link=]]' | ||
style[ | style['background-color'] = color | ||
end | end | ||
local styleTrans = {} | local styleTrans = {} | ||
local widthCell = | local widthCell = '44%' | ||
if center then | if center then | ||
widthCenter = | widthCenter = '28%' | ||
widthCell = | widthCell = '29%' | ||
end | end | ||
local formattedbefore | local formattedbefore | ||
if before then | if before then | ||
formattedbefore = mw.html.create( | formattedbefore = mw.html.create('td') | ||
:attr({valign = | :attr({valign = 'middle'}) | ||
:attr({align = | :attr({align = 'left'}) | ||
:attr({width = | :attr({width = '5%'}) | ||
:css(style) | :css(style) | ||
:wikitext(arrowLeft) | :wikitext(arrowLeft) | ||
:done() | :done() | ||
row:node(formattedbefore) | row:node(formattedbefore) | ||
formattedbefore = mw.html.create( | formattedbefore = mw.html.create('td') | ||
:attr({width = | :attr({width = '1%'}) | ||
:css(style) | :css(style) | ||
:wikitext( | :wikitext('') | ||
:done() | :done() | ||
row:node(formattedbefore) | row:node(formattedbefore) | ||
formattedbefore = mw.html.create( | formattedbefore = mw.html.create('td') | ||
:attr({align = | :attr({align = 'left'}) | ||
:attr({valign = | :attr({valign = 'middle'}) | ||
:attr({width = widthCell}) | :attr({width = widthCell}) | ||
:css(style) | :css(style) | ||
Ligne 334 : | Ligne 395 : | ||
row:node(formattedbefore) | row:node(formattedbefore) | ||
else | else | ||
formattedbefore = mw.html.create( | formattedbefore = mw.html.create('td') | ||
:attr({valign = | :attr({valign = 'middle'}) | ||
:attr({align = | :attr({align = 'left'}) | ||
:attr({width = | :attr({width = '5%'}) | ||
:css(styleTrans) | :css(styleTrans) | ||
:wikitext( | :wikitext('') | ||
:done() | :done() | ||
row:node(formattedbefore) | row:node(formattedbefore) | ||
formattedbefore = mw.html.create( | formattedbefore = mw.html.create('td') | ||
:attr({width = | :attr({width = '1%'}) | ||
:css(styleTrans) | :css(styleTrans) | ||
:wikitext( | :wikitext('') | ||
:done() | :done() | ||
row:node(formattedbefore) | row:node(formattedbefore) | ||
formattedbefore = mw.html.create( | formattedbefore = mw.html.create('td') | ||
:attr({align = | :attr({align = 'left'}) | ||
:attr({valign = | :attr({valign = 'middle'}) | ||
:attr({width = widthCell}) | :attr({width = widthCell}) | ||
:css(styleTrans) | :css(styleTrans) | ||
:wikitext( | :wikitext('') | ||
:done() | :done() | ||
row:node(formattedbefore) | row:node(formattedbefore) | ||
Ligne 359 : | Ligne 420 : | ||
local formattedcenter | local formattedcenter | ||
formattedcenter = mw.html.create( | formattedcenter = mw.html.create('td') | ||
:attr({width = | :attr({width = '1%'}) | ||
:css(styleTrans) | :css(styleTrans) | ||
:wikitext( | :wikitext('') | ||
:done() | :done() | ||
row:node(formattedcenter) | row:node(formattedcenter) | ||
if center then | if center then | ||
formattedcenter = mw.html.create( | formattedcenter = mw.html.create('td') | ||
:attr({align = | :attr({align = 'center'}) | ||
:attr({valign = | :attr({valign = 'middle'}) | ||
:attr({width = widthCenter}) | :attr({width = widthCenter}) | ||
:css(style) | :css(style) | ||
Ligne 375 : | Ligne 436 : | ||
:done() | :done() | ||
row:node(formattedcenter) | row:node(formattedcenter) | ||
formattedcenter = mw.html.create( | formattedcenter = mw.html.create('td') | ||
:attr({width = | :attr({width = '1%'}) | ||
:css(styleTrans) | :css(styleTrans) | ||
:wikitext( | :wikitext('') | ||
:done() | :done() | ||
row:node(formattedcenter) | row:node(formattedcenter) | ||
Ligne 385 : | Ligne 446 : | ||
local formattedafter | local formattedafter | ||
if after then | if after then | ||
formattedafter = mw.html.create( | formattedafter = mw.html.create('td') | ||
:attr({align = | :attr({align = 'right'}) | ||
:attr({valign = | :attr({valign = 'middle'}) | ||
:attr({width = widthCell}) | :attr({width = widthCell}) | ||
:css(style) | :css(style) | ||
Ligne 393 : | Ligne 454 : | ||
:done() | :done() | ||
row:node(formattedafter) | row:node(formattedafter) | ||
formattedbefore = mw.html.create( | formattedbefore = mw.html.create('td') | ||
:attr({width = | :attr({width = '1%'}) | ||
:css(style) | :css(style) | ||
:wikitext( | :wikitext('') | ||
:done() | :done() | ||
row:node(formattedbefore) | row:node(formattedbefore) | ||
formattedafter = mw.html.create( | formattedafter = mw.html.create('td') | ||
:attr({align = | :attr({align = 'right'}) | ||
:attr({valign = | :attr({valign = 'middle'}) | ||
:attr({width = | :attr({width = '5%'}) | ||
:css(style) | :css(style) | ||
:wikitext(arrowRight) | :wikitext(arrowRight) | ||
Ligne 408 : | Ligne 469 : | ||
row:node(formattedafter) | row:node(formattedafter) | ||
else | else | ||
formattedafter = mw.html.create( | formattedafter = mw.html.create('td') | ||
:attr({align = | :attr({align = 'right'}) | ||
:attr({valign = | :attr({valign = 'middle'}) | ||
:attr({width = widthCell}) | :attr({width = widthCell}) | ||
:css(styleTrans) | :css(styleTrans) | ||
:wikitext( | :wikitext('') | ||
:done() | :done() | ||
row:node(formattedafter) | row:node(formattedafter) | ||
formattedbefore = mw.html.create( | formattedbefore = mw.html.create('td') | ||
:attr({width = | :attr({width = '1%'}) | ||
:css(styleTrans) | :css(styleTrans) | ||
:wikitext( | :wikitext('') | ||
:done() | :done() | ||
row:node(formattedbefore) | row:node(formattedbefore) | ||
formattedafter = mw.html.create( | formattedafter = mw.html.create('td') | ||
:attr({align = | :attr({align = 'right'}) | ||
:attr({valign = | :attr({valign = 'middle'}) | ||
:attr({width = | :attr({width = '5%'}) | ||
:css(styleTrans) | :css(styleTrans) | ||
:wikitext( | :wikitext('') | ||
:done() | :done() | ||
row:node(formattedafter) | row:node(formattedafter) | ||
Ligne 442 : | Ligne 503 : | ||
return rowI | return rowI | ||
end | end | ||
p. | p.buildSuccession = p.buildsuccession | ||
function p. | function p.buildrow1col(part) | ||
if not part.value then | if not part.value then | ||
return nil | return nil | ||
end | end | ||
local class = | local class = 'row1col' | ||
if part.class then | if part.class then | ||
class = class .. | class = class .. ' ' .. part.class | ||
end | end | ||
local text = | local text = getValue(part.value, part) | ||
if not text then | if not text then | ||
Ligne 461 : | Ligne 522 : | ||
local formattedlabel | local formattedlabel | ||
formattedlabel = mw.html.create( | formattedlabel = mw.html.create('th') | ||
:attr({ colspan = | :attr({ colspan = '2' }) | ||
:addClass(class) | :addClass(class) | ||
:wikitext(text) | :wikitext(text) | ||
:done() | :done() | ||
local row = mw.html.create( | local row = mw.html.create('tr') | ||
:node(formattedlabel) | :node(formattedlabel) | ||
:done() | :done() | ||
Ligne 473 : | Ligne 534 : | ||
return row | return row | ||
end | end | ||
p. | p.buildRow1Col = p.buildrow1col | ||
function p.buildtable(part) | function p.buildtable(part) | ||
Ligne 479 : | Ligne 540 : | ||
if part.collapseparameters then | if part.collapseparameters then | ||
if part.collapseparameters.collapsible == true then | if part.collapseparameters.collapsible == true then | ||
class = | class = 'mw-collapsible' | ||
if part.collapseparameters.collapsed == true then | if part.collapseparameters.collapsed == true then | ||
class = class .. | class = class ..' mw-collapsed' | ||
end | end | ||
end | end | ||
end | end | ||
local tab = mw.html.create( | local tab = mw.html.create('table') | ||
:addClass(class) | :addClass(class) | ||
:css(part.style or {}) | :css(part.style or {}) | ||
Ligne 497 : | Ligne 558 : | ||
while (i <= #rows) do | while (i <= #rows) do | ||
local l = rows[i] | local l = rows[i] | ||
if type(l) == | if type(l) == 'function' then | ||
l = l(localdata, localdata.item) | l = l(localdata, localdata.item) | ||
end | end | ||
if (type(l) == | if (type(l) == 'table') and (l.type == 'multi') then | ||
table.remove(rows, i) | table.remove(rows, i) | ||
for j, row in ipairs(l.rows) do | for j, row in ipairs(l.rows) do | ||
table.insert(rows, i + j - 1, row) | table.insert(rows, i + j - 1, row) | ||
end | end | ||
elseif type(l) == | elseif type(l) == 'nil' then | ||
table.remove(rows, i) | table.remove(rows, i) | ||
elseif type(l) ~= | elseif type(l) ~= 'table' then | ||
return error( | return error('les lignes d\'infobox ("rows") doivent être des tables, est ' .. type(l)) | ||
else | else | ||
i = i + 1 | i = i + 1 | ||
Ligne 541 : | Ligne 602 : | ||
local style = part.titlestyle or {} | local style = part.titlestyle or {} | ||
title = mw.html.create( | title = mw.html.create('caption') | ||
:attr({ colspan = | :attr({ colspan = '2' }) | ||
:css(style) | :css(style) | ||
:wikitext(text) | :wikitext(text) | ||
Ligne 564 : | Ligne 625 : | ||
end | end | ||
p.buildTable = p.buildtable | p.buildTable = p.buildtable | ||
function p.buildinvalidblock(args) | |||
-- addMaintenanceCat(defaultcat) | |||
local text = '' | |||
if type(args) ~= 'table' then | |||
text = "Les blocs d'infobox doivent être des tables" | |||
else | |||
text = i18n["invalid block type"] .. ' : ' .. (args.type or '??') | |||
end | |||
return text | |||
end | |||
p.buildInvalidBlock = p.buildinvalidblock | |||
--function p.buildexternaltext(part) | |||
-- local value = getValue(part.value) | |||
-- if value and (type(value) == 'string') then | |||
-- externaltext = externaltext .. value | |||
-- end | |||
--end | |||
--p.buildExternalText = p.buildexternaltext | |||
--[[ | --[[ | ||
Construction de l | Construction de l'infobox | ||
]] | ]] | ||
function p.buildblock(block) | function p.buildblock(block) | ||
if type(block) == | if type(block) == 'function' then | ||
block = block(localdata) | block = block(localdata) | ||
end | end | ||
Ligne 576 : | Ligne 659 : | ||
-- list of functions for block buildings | -- list of functions for block buildings | ||
local blocktypes = { | local blocktypes = { | ||
[ | ['invalid'] = p.buildinvalidblock, | ||
[ | -- ['external text'] = p.buildexternaltext, | ||
[ | ['images'] = p.buildimages, | ||
[ | ['mixed'] = p.buildrow, | ||
[ | -- ['navbox'] = p.buildnavbox, | ||
[ | ['table'] = p.buildtable, | ||
[ | ['row'] = p.buildrow, | ||
['row1col'] = p.buildrow1col, | |||
['succession'] = p.buildsuccession, | |||
['text'] = p.buildtext, | |||
['title'] = p.buildtitle, | |||
} | } | ||
if type(block) ~= | if type(block) ~= 'table' or (not block.type) or (not blocktypes[block.type]) then | ||
return blocktypes[ | return blocktypes['invalid'](block) | ||
end | end | ||
return blocktypes[block.type](block) | return blocktypes[block.type](block) | ||
Ligne 592 : | Ligne 679 : | ||
function p.build() | function p.build() | ||
localdata = require( | localdata = require('Module:Infobox/Localdata') | ||
item = localdata.item | item = localdata.item | ||
-- chargement du module de paramétrage | -- chargement du module de paramétrage | ||
local moduledata = require( | local moduledata = require('Module:Infobox/' .. localdata.modulename) | ||
moduledata.name = localdata.modulename | moduledata.name = localdata.modulename | ||
-- class | -- class | ||
local class = | local class = 'infobox avt-infobox' | ||
if moduledata.class then | if moduledata.class then | ||
class = class .. | class = class .. ' ' .. moduledata.class | ||
end | end | ||