Modul:Tab
Moduldokumentasjon
[opprett]
local data = mw.ext.data.get("SSB – 12891.tab")
local Tab = {}
Tab.data = data
function Tab.schema( t )
return t.schema or {}
end
function Tab.fields( t )
local schema = Tab.schema( t ) or {}
return schema.fields or {}
end
function Tab.head( t )
local tr = mw.html.create( 'tr' )
for i,v in ipairs( Tab.fields( t ) ) do
local th = mw.html.create( 'th' )
:attr( 'id', v.name )
:addClass( string.format( 'mw-tab-%s-header', v.type ) )
:wikitext( v.title )
tr:node( th )
end
return tr
end
function Tab.body( t )
local html = {}
local fields = Tab.fields( t )
local data = t.data or {}
for j,w in ipairs( data ) do
local tr = mw.html.create( 'tr' )
for i,v in ipairs( fields ) do
local td = mw.html.create( 'td' )
:attr( 'id', v.name )
:addClass( string.format( 'mw-tab-%s-body', v.type ) )
:wikitext( w[i] )
tr:node( td )
end
do return tr end
table.insert( html, tr )
end
return table.concat( html, '' )
end
return Tab