Módulo:Tabela de script de usuário linha
Aspeto
Implementa {{Tabela de script de usuário linha}} usado em Wikipédia:Scripts/Lista.
-- Módulo abaixo dependente de bot, não foi criado ou carregado, mas é uma possibilidade futura.
--local data = mw.loadData('Módulo:Tabela de script de usuário linha/dados')
local p = {}
function p._main(args)
local code = args.cod or args["código"]
local doc = args.doc or args["documentação"]
local name = args.nome
local desc = args.desc or args["descrição"]
local indent = args.indent or args["indentação"]
if not code and not doc then
return mw.html.create('tr'):tag('td'):attr('colspan', 4)
:tag('span')
:addClass('error')
:wikitext('Erro: <code>|cod/código=</code> ou <code>|doc/documentação=</code> deve ser especificado')
:allDone()
end
if not code then
code = doc .. '.js'
end
if not doc then
local title = code:match('^(.+)%.[CJcj][Ss][Ss]?$')
if title then
title = mw.title.new(title)
if not title.isExternal and title.exists then
doc = title.fullText
end
end
end
if not name then
name = doc and mw.ustring.match(doc, '[^/]+$') or
mw.ustring.match(code, '([^/]+)%.[CJcj][Ss][Ss]?$')
end
local row = mw.html.create('tr')
do
local cell = mw.html.create('td')
:wikitext(doc and string.format('[[:%s|%s]]', doc, name) or name)
if indent and indent:find('^%d+$') then
cell:css('padding-left', indent .. 'em')
end
if code ~= 'nenhum' then
cell
:wikitext(' ')
:tag('span')
:addClass('userscripttable-sourcelink')
:wikitext(string.format('([[:%s|código-fonte]])', code))
:done()
:tag('span')
:addClass('scriptInstallerLink')
:attr('id', code)
:done()
end
row:node(cell)
end
row:tag('td')
:wikitext(desc)
:done()
-- Vide linha 1
-- local stats = code and data[code] or { total = 'N/A', active = 'N/A' }
-- row
-- :tag('td'):wikitext(stats.total):done()
-- :tag('td'):wikitext(stats.active)
return row
end
function p.main(frame)
local args = {}
for k, v in pairs(frame:getParent().args) do
if v and v ~= '' then
args[k] = v
end
end
return p._main(args)
end
return p