Content added Content deleted
mNo edit summary |
(add spacer and css options) |
||
Line 9: | Line 9: | ||
return obj |
return obj |
||
end |
|||
function TabsBuilder:css(css) |
|||
if css then |
|||
self.tabs:css(css) |
|||
end |
|||
return self |
|||
end |
end |
||
Line 17: | Line 25: | ||
text or page |
text or page |
||
)) |
)) |
||
return self |
|||
end |
|||
function TabsBuilder:addSpacer() |
|||
self.tabs:wikitext('<span></span>') |
|||
return self |
return self |
||
end |
end |
Latest revision as of 23:34, 17 January 2022
Documentation for this module may be created at Module:TabsBuilder/doc
local TabsBuilder = {}
TabsBuilder.__index = TabsBuilder
TabsBuilder.__tostring = TabsBuilder.tostring
function TabsBuilder.new()
local obj = setmetatable({
tabs = mw.html.create('div'):addClass('tabs'),
}, TabsBuilder)
return obj
end
function TabsBuilder:css(css)
if css then
self.tabs:css(css)
end
return self
end
function TabsBuilder:addTab(page, text, options)
self.tabs:wikitext(string.format(
'[[%s|%s]]',
page,
text or page
))
return self
end
function TabsBuilder:addSpacer()
self.tabs:wikitext('<span></span>')
return self
end
function TabsBuilder:tostring()
return
mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = 'Template:Tabs/styles.css' }
} ..
tostring(self.tabs)
end
return TabsBuilder