Module:Switch infobox
Documentation for this module may be created at Module:Switch infobox/doc
local p = {} function p.main(frame) local args = frame:getParent().args local contents = {} local i = 1 while args['item'..i] do table.insert(contents, { text = args['text'..i] or ('Item '..i), content = '\n' .. args['item'..i] }) i = i + 1 end local ret = mw.html.create('div') :addClass('switch-infobox') :addClass('loading') :tag('span') :addClass('loading-button') :addClass('button') :wikitext('Loading...') :done() local mah_triggers = ret:tag('div') :addClass('switch-infobox-triggers') for i, v in ipairs(contents) do mah_triggers :tag('span') :addClass('trigger') :addClass('button') :attr('data-id',i) :wikitext(v.text) :done() ret :tag('div') :addClass('item') :addClass(i==1 and 'showing' or '') :attr('data-id',i) :wikitext(v.content) :done() end return frame:preprocess(tostring(ret)) end return p