Module:Sandbox/User:The Gaffer/Modules/Infobox Switch: Difference between revisions

From Brighter Shores Wiki
Jump to navigation Jump to search
Content added Content deleted
No edit summary
No edit summary
Line 4: Line 4:


function p.main(frame)
function p.main(frame)
mw.loader.load('ext.gadget.switch-infobox')
return frame:preprocess(tostring(p._main(frame:getParent().args)))
return '<div class="infobox infobox-switch">This content will be switchable.</div>'
--return frame:preprocess(tostring(p._main(frame:getParent().args)))
end
end


function p._main(args)
-- function p._main(args)
local contents = {}
-- local contents = {}


local i = 1
-- local i = 1
while args['item'..i] do
-- while args['item'..i] do
table.insert(contents, { text = args['text'..i] or ('Item '..i),
-- table.insert(contents, { text = args['text'..i] or ('Item '..i),
content = '\n' .. args['item'..i],
-- content = '\n' .. args['item'..i],
id = args['switch_id'..i] or i})
-- id = args['switch_id'..i] or i})
i = i + 1
-- i = i + 1
end
-- end


local ret = mw.html.create('div')
-- local ret = mw.html.create('div')
:addClass('Gadget-switch-infobox')
-- :addClass('Gadget-switch-infobox')
:addClass('loading')
-- :addClass('loading')
:tag('span')
-- :tag('span')
:addClass('loading-button')
-- :addClass('loading-button')
:addClass('button')
-- :addClass('button')
:wikitext('Loading...')
-- :wikitext('Loading...')
:done()
-- :done()
if args.float then
-- if args.float then
if args.float == 'left' then
-- if args.float == 'left' then
ret:addClass('tleft')
-- ret:addClass('tleft')
:addClass('thumb')
-- :addClass('thumb')
elseif args.float == 'right' then
-- elseif args.float == 'right' then
ret:addClass('tright')
-- ret:addClass('tright')
:addClass('thumb')
-- :addClass('thumb')
end
-- end
end
-- end
local mah_triggers = ret:tag('div')
-- local mah_triggers = ret:tag('div')
:addClass('switch-infobox-triggers')
-- :addClass('switch-infobox-triggers')
local isSelect = yesno(args.select)
-- local isSelect = yesno(args.select)
if isSelect then
-- if isSelect then
mah_triggers:addClass('infobox-triggers-select')
-- mah_triggers:addClass('infobox-triggers-select')
elseif i > 6 and isSelect ~= false then
-- elseif i > 6 and isSelect ~= false then
mah_triggers:addClass('infobox-triggers-select')
-- mah_triggers:addClass('infobox-triggers-select')
end
-- end


for i, v in ipairs(contents) do
-- for i, v in ipairs(contents) do
mah_triggers :tag('span')
-- mah_triggers :tag('span')
:addClass('trigger')
-- :addClass('trigger')
:addClass('button')
-- :addClass('button')
:addClass(i==1 and 'button-selected' or '')
-- :addClass(i==1 and 'button-selected' or '')
:attr('data-id',v.id)
-- :attr('data-id',v.id)
:wikitext(v.text)
-- :wikitext(v.text)
:done()
-- :done()


ret :tag('div')
-- ret :tag('div')
:addClass('item')
-- :addClass('item')
:addClass(i==1 and 'showing' or '')
-- :addClass(i==1 and 'showing' or '')
:attr('data-id',v.id)
-- :attr('data-id',v.id)
:wikitext(v.content)
-- :wikitext(v.content)
:done()
-- :done()
end
-- end


return ret
-- return ret
end
-- end


return p
return p

Revision as of 18:36, 12 November 2024

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)
	mw.loader.load('ext.gadget.switch-infobox')
	return '<div class="infobox infobox-switch">This content will be switchable.</div>'
	--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