Module:Sandbox/User:The Gaffer/Modules/Infobox Switch
Documentation for this module may be created at Module:Sandbox/User:The Gaffer/Modules/Infobox Switch/doc
--Attribution: This module was taken from the Runescape wiki - https://runescape.wiki/w/Module:Switch_infobox - See changes there for a list of contributors
-- local p = {}
-- local yesno = require('Module:Yesno')
-- function p.main(frame)
-- return frame:preprocess(tostring(p._main(frame:getParent().args)))
-- end
-- function p._main(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],
-- id = args['switch_id'..i] or i})
-- i = i + 1
-- end
-- local ret = mw.html.create('div')
-- :addClass('Gadget-switch-infobox')
-- :addClass('loading')
-- :tag('span')
-- :addClass('loading-button')
-- :addClass('button')
-- :wikitext('Loading...')
-- :done()
-- if args.float then
-- if args.float == 'left' then
-- ret:addClass('tleft')
-- :addClass('thumb')
-- elseif args.float == 'right' then
-- ret:addClass('tright')
-- :addClass('thumb')
-- end
-- end
-- local mah_triggers = ret:tag('div')
-- :addClass('switch-infobox-triggers')
-- local isSelect = yesno(args.select)
-- if isSelect then
-- mah_triggers:addClass('infobox-triggers-select')
-- elseif i > 6 and isSelect ~= false then
-- mah_triggers:addClass('infobox-triggers-select')
-- end
-- for i, v in ipairs(contents) do
-- mah_triggers :tag('span')
-- :addClass('trigger')
-- :addClass('button')
-- :addClass(i==1 and 'button-selected' or '')
-- :attr('data-id',v.id)
-- :wikitext(v.text)
-- :done()
-- ret :tag('div')
-- :addClass('item')
-- :addClass(i==1 and 'showing' or '')
-- :attr('data-id',v.id)
-- :wikitext(v.content)
-- :done()
-- end
-- return ret
-- end
-- return p
local p = {}
function p.infobox(frame)
return [[
<div class="infobox-switch" data-default-index="1">
<table>
<caption>
<div>
<button data-switch-index="1" data-switch-anchor="#view1">Overview</button>
<button data-switch-index="2" data-switch-anchor="#view2">Details</button>
<button data-switch-index="3" data-switch-anchor="#view3">Stats</button>
</div>
</caption>
<tbody>
<tr><td>Name</td><td data-attr-param="name">Default Name</td></tr>
<tr><td>Description</td><td data-attr-param="description">Default Description</td></tr>
<tr><td>Attributes</td><td data-attr-param="attributes">Default Attributes</td></tr>
</tbody>
</table>
</div>
<div class="infobox-switch-resources">
<div data-attr-param="name">
<div data-attr-index="1">View 1 Name</div>
<div data-attr-index="2">View 2 Name</div>
<div data-attr-index="3">View 3 Name</div>
</div>
<div data-attr-param="description">
<div data-attr-index="1">View 1 Description</div>
<div data-attr-index="2">View 2 Description</div>
<div data-attr-index="3">View 3 Description</div>
</div>
<div data-attr-param="attributes">
<div data-attr-index="1"><ul><li>Attribute A (View 1)</li><li>Attribute B (View 1)</li></ul></div>
<div data-attr-index="2"><ul><li>Attribute A (View 2)</li><li>Attribute B (View 2)</li><li>Attribute C (View 2)</li></ul></div>
<div data-attr-index="3"><ul><li>Attribute A (View 3)</li><li>Attribute C (View 3)</li><li>Attribute D (View 3)</li></ul></div>
</div>
</div>
]]
end
return p