Modulo:Navbox: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m ops
migro da CSS in linea a fogli di stile esterni: Modulo:Navbox/styles.css e Modulo:Navbox/mobile-styles.css
Riga 48:
 
-- Con il debug ridefinisce il metodo mw.html:css,
-- permettendo di eseguire i test senza controllare anche iil cssCSS.
--
-- @param {table} tableNode
Riga 65:
-- Carica il CSS via TemplateStyles quando opportuno
local function loadCSS(name)
:addClass( local prefix = isTemplatePage(self.args.name) and 'navbox_mobilemobile-' or 'navbox')
local styles = 'Modulo:Navbox/' .. prefix .. 'styles.css'
if isTemplatePage(name) then
return mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = {src = styles}
}
else
return ''
end
end
 
Line 89 ⟶ 86:
local self = {}
local thNode
local thStyle = {
['text-align'] = 'center',
width = '100%',
background = '#ccf',
['font-size'] = '90%'
}
 
setmetatable(self, { __index = Navbox })
Line 108 ⟶ 99:
:tag('th')
:attr('colspan', self.args.image and '3' or '2')
:css(thStyle)
:cssText(self.args.titlestyle)
if self.args.navbar ~= 'plain' then
Line 139 ⟶ 129:
-- Configura gli stili CSS della tabella
function Navbox:_setupTableNode()
local tableStyle = {
margin = 'auto',
width = '100%',
clear = 'both',
border = '1px solid #aaa',
padding = '2px'
}
self.tableNode
:addClass(isTemplatePage(self.args.name) and 'navbox_mobile' or 'navbox')
Line 153 ⟶ 136:
self.args.state == 'autocollapse' and 'autocollapse' or
not self.args.state and 'autocollapse' or nil)
:addClass('nowraplinks noprint metadata')
:addClass('noprint')
:addClass('metadata')
:attr('id', 'navbox-' .. (self.args.name or ''))
:css(tableStyle)
:cssText(self.args.style)
:cssText(self.args.bodystyle)
Line 166 ⟶ 146:
-- @param {table} node
function Navbox:_addTnavbar(node)
local divStyle = {
float = 'left',
width = '6em',
['text-align'] = 'left',
padding = '0 10px 0 0',
margin = '0px'
}
local tnavbar = mw.getCurrentFrame():expandTemplate {
title = 'Tnavbar',
Line 180 ⟶ 153:
}
}
node:tag('div'):cssaddClass(divStyle'navbox_navbar'):wikitext(tnavbar)
end
 
Line 187 ⟶ 160:
-- @param {table} node
function Navbox:_addTitle(node)
node:tag('span'):cssaddClass('font-size', '110%navbox_title'):wikitext(self.args.title)
end
 
Line 195 ⟶ 168:
-- @param {string} argStyle
function Navbox:_addAboveOrBelow(arg, argStyle)
local tdStyle = {
background = '#ddf',
['text-align'] = 'center',
['font-size'] = '90%'
}
self.tableNode
:tag('tr')
:tag('tdth')
:attr('colspan', self.args.image and '3' or '2')
:cssaddClass(tdStyle'navbox_abovebelow')
:cssText(argStyle)
:wikitext(arg)
Line 214 ⟶ 182:
-- @param {number} rowspan
function Navbox:_addImage(trNode, rowspan)
local tdStyle = {
['vertical-align'] = 'middle',
['padding-left'] = '7px',
width = '0%'
}
trNode
:tag('td')
:attr('rowspan', rowspan)
:cssaddClass(tdStyle'navbox_image')
:cssText(self.args.imagestyle)
:wikitext(self.args.image)
Line 230 ⟶ 193:
function Navbox:_addLists()
local rowIds, altStyle, altBackground
local thStyle = {
background = '#ddf',
['white-space'] = 'nowrap',
padding = '0 10px',
['font-size'] = '90%'
}
-- crea una riga per ogni groupN/listN
rowIds = getIds(self.args, true)
Line 244 ⟶ 201:
trNode:tag('th')
:attr('colspan', self.args['list' .. id] and '1' or '2')
:cssaddClass(thStyle'navbox_group')
:cssText(self.args.groupstyle)
:cssText(self.args['group' .. id .. 'style'])
Line 254 ⟶ 211:
if (i % 2) == 0 then
altStyle = self.args.evenstyle
altBackground = '#f7f7f7navbox_even'
else
altStyle = self.args.oddstyle
altBackground = nil'navbox_odd'
end
trNode:tag('td')
:attr('colspan', self.args['group' .. id] and '1' or '2')
:cssaddClass('width', '100%navbox_list')
:cssaddClass('text-align',not self.args['group' .. id] and 'leftnavbox_center' or 'center'nil)
:css('font-size', '90%')
:addClass('noprint'altBackground)
:css('text-align', self.args['group' .. id] and 'left' or 'center')
:css('background', altBackground)
:cssText(self.args.liststyle)
:cssText(altStyle)
Line 311 ⟶ 267:
-- Configura gli stili CSS della tabella.
function NavboxSubgroup:_setupTableNode()
local tableStyle = {
background = 'transparent',
['font-size'] = '100%',
padding = '0',
border = '0',
margin = '-3px',
width = '100%'
}
self.tableNode
:addClass('metadatasubnavbox nowraplinks')
:addClass(isTemplatePage(self.args.name) and 'navbox_mobile' or 'navbox')
:addClass('nowraplinks')
:css(tableStyle)
:cssText(self.args.bodystyle)
end
Line 329 ⟶ 275:
function NavboxSubgroup:_addLists()
local listIds, altStyle
local thStyle = {
background = '#ddf',
padding = '0 10px',
}
-- crea una row per ogni listN
listIds = getIds(self.args)
Line 341 ⟶ 283:
if self.args['group' .. id] then
trNode:tag('th')
:cssaddClass(thStyle'subnavbox_group')
:cssText(self.args.groupstyle)
:wikitext(self.args['group' .. id])
Line 352 ⟶ 294:
trNode:tag('td')
:attr('colspan', self.args['group' .. id] and '1' or '2')
:cssaddClass('text-align',not self.args['group' .. id] and 'leftnavbox_center' or 'center'nil)
:cssText(self.args.liststyle)
:cssText(altStyle)
Line 372 ⟶ 314:
-- Funzione per l'utilizzo da un altro modulo.
function p._navbox_subgroup(args)
return loadCSS(args.name) .. NavboxSubgroup:new(args):getHTML()
end