Modulo:Progetti interessati: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m fix note |
aggiornato aspetto grafico |
||
Riga 13:
local projParams = { 'progetto', 'progetto2', 'progetto3', 'progetto4' }
local gradeParams = { 'accuratezza', 'scrittura', 'fonti', 'immagini' }
--local importanceParams = { 'importanza', 'importanza2', 'importanza3', 'importanza4' }
local validGrades = { a = true, b = true, c = true, d = true, e = true }
local validImportances = { massima = true, alta = true, media = true, bassa = true }
-------------------------------------------------------------------------------
Riga 32 ⟶ 34:
return args[param] or 'nc'
end
--local function importanceFromProject(projParam, args)
-- local num = mw.ustring.match(projParam, '^progetto(%d)$')
-- local param = num and ('importanza' .. num) or
-- (projParam == 'progetto' and 'importanza' or nil)
-- return args[param] or 'sconosciuta'
--end
local function lowestGrade(args)
Riga 41 ⟶ 50:
local function parseArgs(args)
local cat = ''
-- controllo importanza
--for _, param in ipairs(importanceParams) do
-- if args[param] and not validImportances[args[param]] then
-- args[param] = nil
-- cat = '[[Categoria:Pagine con template Monitoraggio con importanza invalida]]'
-- end
--end
-- controllo valutazioni
for _, param in ipairs(gradeParams) do
if args[param] and not validGrades[args[param]] then
if args[param] ~= 'nc' then
cat = cat .. '[[Categoria:Pagine con template Monitoraggio con valutazione invalida]]'
end
args[param] = nil
Riga 145 ⟶ 163:
table.insert(ret, '[[' .. cat .. ']]')
end
--cat = string.format('Categoria:Voci monitorate Progetto %s - importanza %s',
-- project(param, args), importanceFromProject(param, args))
--table.insert(ret, '[[' .. cat .. ']]')
end
end
Riga 174 ⟶ 195:
icon = icon == '' and 'Crystal Clear app ksirtet.png' or icon
return string.format('[[File:%s|
end
local function
local fmt = '<small>([[Discussioni progetto:%s|leggi discussioni]]' ..
' <b>·</b> [%s nuova discussione]' ..
' <b>·</b> [[Progetto:%s/Monitoraggio voci|monitoraggio]])</small>'
project(param, args),
mw.title.new('Discussioni progetto:' ..
--importanceFromProject(param, args))
end
local function getNodeProjects(args)
local tableNode = mw.html.create('table')
tableNode
:css('border-collapse', 'collapse')
:css('width', '100%')
-- progetti
for _, param in ipairs(projParams) do
if args[param] then
tableNode:tag('
:
:css('border', 'thin solid #D8D8D8')
:tag('td')
:css('width', '28px')
:css('text-align', 'center')
:wikitext(getIconProject(args[param]))
:done()
:tag('td')
:css('width', '1px')
:css('white-space', 'nowrap')
:wikitext(string.format("'''[[Progetto:%s|%s]]'''", project(param, args), project(param, args)))
:done()
:tag('td')
:wikitext('<div class="plainlinks" style="padding-left: 5px">' .. getWlinkProject(param, args) .. '</div>')
:done()
end
end
return tableNode
Riga 221 ⟶ 245:
local spanStyle = {
['font-weight'] = 'bold',
['font-size'] = '
['border'] = '1px solid lightsteelblue',
['background'] = (livello and cfg.livello[livello].color) and cfg.livello[livello].color or 'white',
Riga 251 ⟶ 275:
local cat = string.format('Categoria:Voci monitorate - %s', args.data)
if titleExists(cat) then
ret = '
end
end
return ret or "
end
Riga 263 ⟶ 287:
trNode
:tag('td')
:css(
:node(getWlinkLivello(livello))
:done()
:tag('td')
:wikitext(livello and cfg.livello[livello].msg .. ' ' .. getTextData(args) or
"<div class=\"plainlinks\">La voce non è stata ancora monitorata, [" .. url .. " fallo ora]!</div>")
:done()
:tag('td')
:css(
:done()
Riga 304 ⟶ 320:
local function getNodeGrade(param, args)
local
local descr = cfg[param][args[param] or 'nc'] .. ' ' .. cfg[param].help
trNode
:css(
:css('border', 'thin solid #D8D8D8')
:css('padding-left', '5px')
:node(getSpanGrade(args[param]))
:
:tag('td')
:wikitext(descr) return
end
local function getHTML(livello, args)
local tableStyle = {
border = '1px solid #a7d7f9',
['
}
local
tableNode1
:css(tableStyle)
:
-- intestazione
local projects = {}
for _, param in ipairs(projParams) do
if args[param] then
table.insert(projects, args[param])
end
end
local text = 'La voce <b>' .. mw.title.getCurrentTitle().text .. '</b> rientra tra gli argomenti trattati' ..
(#projects > 1 and " dai seguenti [[Wikipedia:Progetto|progetti]]:" or
" del seguente [[Wikipedia:Progetto|progetto]]:")
tableNode1
:tag('tr')
:tag('td')
:css('padding-left', '.3em')
:wikitext(text)
:done()
:tag('tr')
:tag('td')
:node(getNodeProjects(args))
:done()
local tableNode2 = mw.html.create('table')
tableNode2
:addClass('mw-collapsible mw-collapsed')
:css(tableStyle)
:css('border-top', '0px')
:css('margin-top', '0px')
-- livello
tableNode2
:node(getNodeLivello(livello, args))
-- valutazioni
tableNode2
:tag('tr')
:tag('td')
:attr('colspan', '3')
:css(
:css('font-size', '95%')
:tag('table')
:css('border-collapse', 'collapse')
:node(getNodeGrade('accuratezza', args))
:node(getNodeGrade('scrittura', args))
:node(getNodeGrade('fonti', args))
:node(getNodeGrade('immagini', args))
-- note
if args.note then
tableNode2
:tag('tr')
:tag('td')
Riga 375 ⟶ 403:
end
return tostring(
end
|