<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://it.wikijournal.org/w-wiki/index.php?action=history&amp;feed=atom&amp;title=Modulo%3ANavbox</id>
	<title>Modulo:Navbox - Cronologia</title>
	<link rel="self" type="application/atom+xml" href="https://it.wikijournal.org/w-wiki/index.php?action=history&amp;feed=atom&amp;title=Modulo%3ANavbox"/>
	<link rel="alternate" type="text/html" href="https://it.wikijournal.org/w-wiki/index.php?title=Modulo:Navbox&amp;action=history"/>
	<updated>2026-05-21T16:32:44Z</updated>
	<subtitle>Cronologia della pagina su questo sito</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://it.wikijournal.org/w-wiki/index.php?title=Modulo:Navbox&amp;diff=225&amp;oldid=prev</id>
		<title>Philip: Supporto del parametro navbar per nascondere i link nei navbox figli</title>
		<link rel="alternate" type="text/html" href="https://it.wikijournal.org/w-wiki/index.php?title=Modulo:Navbox&amp;diff=225&amp;oldid=prev"/>
		<updated>2026-05-21T08:23:46Z</updated>

		<summary type="html">&lt;p&gt;Supporto del parametro navbar per nascondere i link nei navbox figli&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 11:23, 21 mag 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l144&quot;&gt;Riga 144:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 144:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;-- @param {table} node&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;-- @param {table} node&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function Navbox:_addTnavbar(node)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function Navbox:_addTnavbar(node)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	if self.args.navbar == &#039;plain&#039; or self.args.navbar == &#039;off&#039; or self.args.navbar == &#039;none&#039; then&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		return&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	end&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local tnavbar = mw.getCurrentFrame():expandTemplate {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local tnavbar = mw.getCurrentFrame():expandTemplate {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		title = &amp;#039;Tnavbar&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		title = &amp;#039;Tnavbar&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikijournal_org-it__:diff:1.41:old-206:rev-225:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Philip</name></author>
	</entry>
	<entry>
		<id>https://it.wikijournal.org/w-wiki/index.php?title=Modulo:Navbox&amp;diff=206&amp;oldid=prev</id>
		<title>Philip: Import da it.wikipedia.org, w:it:Modulo:Navbox, rev 139889604, CC BY-SA/GFDL</title>
		<link rel="alternate" type="text/html" href="https://it.wikijournal.org/w-wiki/index.php?title=Modulo:Navbox&amp;diff=206&amp;oldid=prev"/>
		<updated>2026-05-21T07:52:43Z</updated>

		<summary type="html">&lt;p&gt;Import da it.wikipedia.org, &lt;a href=&quot;/w-wiki/index.php?title=W:it:Modulo:Navbox&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;W:it:Modulo:Navbox (la pagina non esiste)&quot;&gt;w:it:Modulo:Navbox&lt;/a&gt;, rev 139889604, CC BY-SA/GFDL&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--[[&lt;br /&gt;
* Modulo che implementa i template Navbox e Navbox_subgroup.&lt;br /&gt;
]]--&lt;br /&gt;
&lt;br /&gt;
require(&amp;#039;strict&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local getArgs = require(&amp;#039;Modulo:Arguments&amp;#039;).getArgs&lt;br /&gt;
-- Numero massimo di liste e gruppi per i template Navbox e Navbox_subgroup&lt;br /&gt;
local MAX_LIST_NAVBOX = 30&lt;br /&gt;
local MAX_LIST_NAVBOX_SUBGROUP = 20&lt;br /&gt;
&lt;br /&gt;
-- =============================================================================&lt;br /&gt;
--                            Funzioni di utilità&lt;br /&gt;
-- =============================================================================&lt;br /&gt;
&lt;br /&gt;
-- Restituisce una sequence Lua ordinata contenente gli ID dei listN presenti.&lt;br /&gt;
-- Se withGroup è true, controlla anche i groupN.&lt;br /&gt;
--&lt;br /&gt;
-- @param {table} args&lt;br /&gt;
-- @param {boolean} withGroup&lt;br /&gt;
-- @return {table}&lt;br /&gt;
local function getIds(args, withGroup)&lt;br /&gt;
	local ret, ids = {}, {}&lt;br /&gt;
	for key, _ in pairs(args) do&lt;br /&gt;
		if type(key) == &amp;#039;string&amp;#039; then&lt;br /&gt;
			local id = key:match(&amp;#039;^list(%d+)$&amp;#039;) or (withGroup and key:match(&amp;#039;^group(%d+)$&amp;#039;))&lt;br /&gt;
			if id and tonumber(id) &amp;lt;= (withGroup and MAX_LIST_NAVBOX or MAX_LIST_NAVBOX_SUBGROUP) then&lt;br /&gt;
				ids[tonumber(id)] = true&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	for key, _ in pairs(ids) do&lt;br /&gt;
		table.insert(ret, key)&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(ret)&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Rimuove eventuali spazi/a capo attorno ai {{,}}.&lt;br /&gt;
--&lt;br /&gt;
-- @param {string} list&lt;br /&gt;
-- @return {string}&lt;br /&gt;
local function trimSep(list)&lt;br /&gt;
	local sep = mw.getCurrentFrame():expandTemplate{ title = &amp;quot;,&amp;quot; }&lt;br /&gt;
	local sepEsc = mw.ustring.gsub(sep, &amp;#039;-&amp;#039;, &amp;#039;%-&amp;#039;)&lt;br /&gt;
	return mw.ustring.gsub(list, &amp;#039;%s*&amp;#039; .. sepEsc .. &amp;#039;%s*&amp;#039;, sep)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Con il debug ridefinisce il metodo mw.html:css,&lt;br /&gt;
-- permettendo di eseguire i test senza controllare anche il CSS.&lt;br /&gt;
--&lt;br /&gt;
-- @param {table} tableNode&lt;br /&gt;
local function disableCSS(tableNode)&lt;br /&gt;
	local mt = getmetatable(tableNode)&lt;br /&gt;
	mt.__index.css = function(t, name, val) return t end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Verifica se il template è elaborato nella sua pagina&lt;br /&gt;
local function isTemplatePage(name)&lt;br /&gt;
	local title = mw.title.getCurrentTitle().prefixedText&lt;br /&gt;
	name = &amp;#039;Template:&amp;#039; .. (name or &amp;#039;&amp;#039;)&lt;br /&gt;
	return name == title and true or false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Carica il CSS via TemplateStyles quando opportuno&lt;br /&gt;
local function loadCSS(name)&lt;br /&gt;
	local prefix = isTemplatePage(name) and &amp;#039;mobile-&amp;#039; or &amp;#039;&amp;#039;&lt;br /&gt;
	local styles = &amp;#039;Modulo:Navbox/&amp;#039; ..  prefix .. &amp;#039;styles.css&amp;#039;&lt;br /&gt;
	return mw.getCurrentFrame():extensionTag{&lt;br /&gt;
			name = &amp;#039;templatestyles&amp;#039;,&lt;br /&gt;
			args = {src = styles}&lt;br /&gt;
		}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- =============================================================================&lt;br /&gt;
--                            Classe Navbox&lt;br /&gt;
-- =============================================================================&lt;br /&gt;
&lt;br /&gt;
local Navbox = {}&lt;br /&gt;
&lt;br /&gt;
-- Costruttore della classe Navbox.&lt;br /&gt;
--&lt;br /&gt;
-- @param {table} args - gli argomenti passati al modulo&lt;br /&gt;
-- @return {table} un nuovo oggetto Navbox&lt;br /&gt;
function Navbox:new(args)&lt;br /&gt;
	local self = {}&lt;br /&gt;
	local thNode&lt;br /&gt;
&lt;br /&gt;
	setmetatable(self, { __index = Navbox })&lt;br /&gt;
	self.args = args&lt;br /&gt;
	-- costruzione tabella HTML&lt;br /&gt;
	self.tableNode = mw.html.create(&amp;#039;table&amp;#039;)&lt;br /&gt;
	if self.args.debug then&lt;br /&gt;
		disableCSS(self.tableNode)&lt;br /&gt;
	end&lt;br /&gt;
	self:_setupTableNode()&lt;br /&gt;
	-- prima riga: contiene la navbar e il titolo&lt;br /&gt;
	thNode = self.tableNode:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, self.args.image and &amp;#039;3&amp;#039; or &amp;#039;2&amp;#039;)&lt;br /&gt;
			:cssText(self.args.titlestyle)&lt;br /&gt;
	self:_addTnavbar(thNode)&lt;br /&gt;
	if self.args.title then&lt;br /&gt;
		self:_addTitle(thNode)&lt;br /&gt;
	end&lt;br /&gt;
	-- eventuale riga per l&amp;#039;above&lt;br /&gt;
	if self.args.above then&lt;br /&gt;
		self:_addAboveOrBelow(self.args.above, self.args.abovestyle)&lt;br /&gt;
	end&lt;br /&gt;
	-- altre righe&lt;br /&gt;
	self:_addLists()&lt;br /&gt;
	-- eventuale riga finale per il below&lt;br /&gt;
	if self.args.below then&lt;br /&gt;
		self:_addAboveOrBelow(self.args.below, self.args.belowstyle)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return self&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Restituisce la tabella HTML.&lt;br /&gt;
--&lt;br /&gt;
-- @return {string}&lt;br /&gt;
function Navbox:getHTML()&lt;br /&gt;
	return tostring(self.tableNode)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Configura gli stili CSS della tabella&lt;br /&gt;
function Navbox:_setupTableNode()&lt;br /&gt;
	self.tableNode&lt;br /&gt;
		:addClass(isTemplatePage(self.args.name) and &amp;#039;navbox_mobile&amp;#039; or &amp;#039;navbox&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;mw-collapsible&amp;#039;)&lt;br /&gt;
		:addClass(isTemplatePage(self.args.name) and &amp;#039;autocollapse&amp;#039; or&lt;br /&gt;
				  self.args.state == &amp;#039;collapsed&amp;#039; and &amp;#039;mw-collapsed&amp;#039; or&lt;br /&gt;
				  self.args.state == &amp;#039;autocollapse&amp;#039; and &amp;#039;autocollapse&amp;#039; or&lt;br /&gt;
				  not self.args.state and &amp;#039;autocollapse&amp;#039; or nil)&lt;br /&gt;
		:addClass(&amp;#039;noprint metadata&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;id&amp;#039;, &amp;#039;navbox-&amp;#039; .. (self.args.name or &amp;#039;&amp;#039;))&lt;br /&gt;
		:cssText(self.args.style)&lt;br /&gt;
		:cssText(self.args.bodystyle)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Aggiunge il Tnavbar (collegamenti alla pagina del template, di discussione e modifica).&lt;br /&gt;
--&lt;br /&gt;
-- @param {table} node&lt;br /&gt;
function Navbox:_addTnavbar(node)&lt;br /&gt;
	local tnavbar = mw.getCurrentFrame():expandTemplate {&lt;br /&gt;
		title = &amp;#039;Tnavbar&amp;#039;,&lt;br /&gt;
		args = {&lt;br /&gt;
			[1] = self.args.name,&lt;br /&gt;
			[&amp;#039;mini&amp;#039;] = 1&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	node:tag(&amp;#039;div&amp;#039;):addClass(&amp;#039;navbox_navbar&amp;#039;):wikitext(tnavbar)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Imposta il titolo del navbox dal parametro &amp;quot;title&amp;quot;.&lt;br /&gt;
--&lt;br /&gt;
-- @param {table} node&lt;br /&gt;
function Navbox:_addTitle(node)&lt;br /&gt;
	node:tag(&amp;#039;span&amp;#039;):addClass(&amp;#039;navbox_title&amp;#039;):wikitext(self.args.title)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Aggiunge la riga per i parametri &amp;quot;above&amp;quot; e &amp;quot;below&amp;quot;.&lt;br /&gt;
--&lt;br /&gt;
-- @param {string} arg&lt;br /&gt;
-- @param {string} argStyle&lt;br /&gt;
function Navbox:_addAboveOrBelow(arg, argStyle)&lt;br /&gt;
	self.tableNode&lt;br /&gt;
		:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;, self.args.image and &amp;#039;3&amp;#039; or &amp;#039;2&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;navbox_abovebelow&amp;#039;)&lt;br /&gt;
				:cssText(argStyle)&lt;br /&gt;
				:wikitext(arg)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Aggiunge una colonna per l&amp;#039;immagine.&lt;br /&gt;
--&lt;br /&gt;
-- @param {table} trNode&lt;br /&gt;
-- @param {number} rowspan&lt;br /&gt;
function Navbox:_addImage(trNode, rowspan)&lt;br /&gt;
	trNode&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;rowspan&amp;#039;, rowspan)&lt;br /&gt;
			:addClass(&amp;#039;navbox_image&amp;#039;)&lt;br /&gt;
			:cssText(self.args.imagestyle)&lt;br /&gt;
			:wikitext(self.args.image)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Aggiunge una nuova riga per ogni groupN/listN&lt;br /&gt;
function Navbox:_addLists()&lt;br /&gt;
	local rowIds, altStyle, altBackground&lt;br /&gt;
	-- crea una riga per ogni groupN/listN&lt;br /&gt;
	rowIds = getIds(self.args, true)&lt;br /&gt;
	for i, id in ipairs(rowIds) do&lt;br /&gt;
		local trNode = self.tableNode:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		-- groupN&lt;br /&gt;
		if self.args[&amp;#039;group&amp;#039; .. id] then&lt;br /&gt;
			trNode:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;, self.args[&amp;#039;list&amp;#039; .. id] and &amp;#039;1&amp;#039; or &amp;#039;2&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;navbox_group&amp;#039;)&lt;br /&gt;
				:cssText(self.args.groupstyle)&lt;br /&gt;
				:cssText(self.args[&amp;#039;group&amp;#039; .. id .. &amp;#039;style&amp;#039;])&lt;br /&gt;
				:wikitext(self.args[&amp;#039;group&amp;#039; .. id])&lt;br /&gt;
		end&lt;br /&gt;
		-- listN&lt;br /&gt;
		if self.args[&amp;#039;list&amp;#039; .. id] then&lt;br /&gt;
			local list = trimSep(self.args[&amp;#039;list&amp;#039; .. id])&lt;br /&gt;
			if (i % 2) == 0 then&lt;br /&gt;
				altStyle = self.args.evenstyle&lt;br /&gt;
				altBackground = &amp;#039;navbox_even&amp;#039;&lt;br /&gt;
			else&lt;br /&gt;
				altStyle = self.args.oddstyle&lt;br /&gt;
				altBackground = &amp;#039;navbox_odd&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			trNode:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;, self.args[&amp;#039;group&amp;#039; .. id] and &amp;#039;1&amp;#039; or &amp;#039;2&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;navbox_list&amp;#039;)&lt;br /&gt;
				:addClass(not self.args[&amp;#039;group&amp;#039; .. id] and &amp;#039;navbox_center&amp;#039; or nil)&lt;br /&gt;
				:addClass(altBackground)&lt;br /&gt;
				:cssText(self.args.liststyle)&lt;br /&gt;
				:cssText(altStyle)&lt;br /&gt;
				:cssText(self.args[&amp;#039;list&amp;#039; .. id .. &amp;#039;style&amp;#039;])&lt;br /&gt;
				:wikitext(list)&lt;br /&gt;
		end&lt;br /&gt;
		if id == 1 and self.args.image then&lt;br /&gt;
			self:_addImage(trNode, #rowIds)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- =============================================================================&lt;br /&gt;
--                            Classe NavboxSubgroup&lt;br /&gt;
-- =============================================================================&lt;br /&gt;
&lt;br /&gt;
local NavboxSubgroup = {}&lt;br /&gt;
&lt;br /&gt;
-- Costruttore della classe NavboxSubgroup.&lt;br /&gt;
--&lt;br /&gt;
-- @param {table} args - gli argomenti passati al modulo&lt;br /&gt;
-- @return {table} un nuovo oggetto NavboxSubgroup&lt;br /&gt;
function NavboxSubgroup:new(args)&lt;br /&gt;
	local self = {}&lt;br /&gt;
&lt;br /&gt;
	setmetatable(self, { __index = NavboxSubgroup })&lt;br /&gt;
	self.args = args&lt;br /&gt;
	-- costruzione tabella HTML&lt;br /&gt;
	self.tableNode = mw.html.create(&amp;#039;table&amp;#039;)&lt;br /&gt;
	if self.args.debug then&lt;br /&gt;
		disableCSS(self.tableNode)&lt;br /&gt;
	end&lt;br /&gt;
	self:_setupTableNode()&lt;br /&gt;
	self:_addLists()&lt;br /&gt;
&lt;br /&gt;
	return self&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Restituisce la tabella HTML.&lt;br /&gt;
--&lt;br /&gt;
-- @return {string}&lt;br /&gt;
function NavboxSubgroup:getHTML()&lt;br /&gt;
	return tostring(self.tableNode)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Configura gli stili CSS della tabella.&lt;br /&gt;
function NavboxSubgroup:_setupTableNode()&lt;br /&gt;
	self.tableNode&lt;br /&gt;
		:addClass(&amp;#039;subnavbox&amp;#039;)&lt;br /&gt;
		:cssText(self.args.bodystyle)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Aggiunge una nuova riga per ogni groupN/listN.&lt;br /&gt;
function NavboxSubgroup:_addLists()&lt;br /&gt;
	local listIds, altStyle&lt;br /&gt;
	-- crea una row per ogni listN&lt;br /&gt;
	listIds = getIds(self.args)&lt;br /&gt;
	for _, id in ipairs(listIds) do&lt;br /&gt;
		local trNode = self.tableNode:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		local list = trimSep(self.args[&amp;#039;list&amp;#039; .. id])&lt;br /&gt;
		-- i groupN sono visibili solo se c&amp;#039;è la corrispettiva listN&lt;br /&gt;
		if self.args[&amp;#039;group&amp;#039; .. id] then&lt;br /&gt;
			trNode:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;subnavbox_group&amp;#039;)&lt;br /&gt;
				:cssText(self.args.groupstyle)&lt;br /&gt;
				:wikitext(self.args[&amp;#039;group&amp;#039; .. id])&lt;br /&gt;
		end&lt;br /&gt;
		if (id % 2) == 0 then&lt;br /&gt;
			altStyle = self.args.evenstyle&lt;br /&gt;
		else&lt;br /&gt;
			altStyle = self.args.oddstyle&lt;br /&gt;
		end&lt;br /&gt;
		trNode:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, self.args[&amp;#039;group&amp;#039; .. id] and &amp;#039;1&amp;#039; or &amp;#039;2&amp;#039;)&lt;br /&gt;
			:addClass(not self.args[&amp;#039;group&amp;#039; .. id] and &amp;#039;navbox_center&amp;#039; or nil)&lt;br /&gt;
			:cssText(self.args.liststyle)&lt;br /&gt;
			:cssText(altStyle)&lt;br /&gt;
			:wikitext(list)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- =============================================================================&lt;br /&gt;
--                            Funzioni esportate&lt;br /&gt;
-- =============================================================================&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Funzione per l&amp;#039;utilizzo da un altro modulo.&lt;br /&gt;
function p._navbox(args)&lt;br /&gt;
	return loadCSS(args.name) .. Navbox:new(args):getHTML()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Funzione per l&amp;#039;utilizzo da un altro modulo.&lt;br /&gt;
function p._navbox_subgroup(args)&lt;br /&gt;
	return NavboxSubgroup:new(args):getHTML()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Funzione per il template {{Navbox}}.&lt;br /&gt;
function p.navbox(frame)&lt;br /&gt;
	return p._navbox(getArgs(frame, { parentOnly = true }))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Funzione per il template {{Navbox subgroup}}.&lt;br /&gt;
function p.navbox_subgroup(frame)&lt;br /&gt;
	return p._navbox_subgroup(getArgs(frame, { parentOnly = true }))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Philip</name></author>
	</entry>
</feed>