(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