(fix table empty check) |
m (1 revision imported: New Files) |
Latest revision as of 11:54, 24 March 2024
This documentation is transcluded from Module:Tabber/doc. Changes can be proposed in the talk page.
Module:Tabber is shared across the DSP Wikis.
This module is shared across the DSP Wikis. Any changes should also be relayed to the GitHub repository.
This module is unused.
This module is neither invoked by a template nor required/loaded by another module. If this is in error, make sure to add
{{Documentation}}
/{{No documentation}}
to the calling template's or parent's module documentation.Function list |
---|
L 6 — getTabberLength L 19 — p.renderTabber |
This module is used by Lua modules to create Tabber layout.
local p = {}
--- Helper function to get Tabber length
--- @param table
--- @return int
local function getTabberLength( t )
local length = 0
for k, _ in next, t do
if string.find( k, 'label' ) == 1 then
length = length + 1
end
end
return length
end
--- Render Tabber
--- @param table data { label{n}, content{n} }
--- @return string wikitext of Tabber
function p.renderTabber( data )
local tabberContent = {}
for i = 1, getTabberLength( data ) do
local label = data[ 'label' .. i ]
local content = data[ 'content' .. i ]
if label ~= nil and label ~= '' and content ~= nil and content ~= '' then
table.insert( tabberContent, table.concat( { '|-|', label, '=', content } ) )
end
end
if next( tabberContent ) == nil then
return ''
end
return mw.getCurrentFrame():extensionTag{
name = 'tabber', content = table.concat( tabberContent )
}
end
return p