Module:TabsBuilder: Difference between revisions

From Sekaipedia
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
Cookies help us deliver our services. By using our services, you agree to our use of cookies.