Module:QuestDetails: Difference between revisions

From Brighter Shores Wiki
Jump to navigation Jump to search
Content added Content deleted
mNo edit summary
m (Undo revision 48908 by Drekryan (talk))
Tag: Undo
Line 92:
:tag('div')
:addClass('lighttable checklist')
:css( 'margin-left', '-1.3em' )
:newline()
:wikitext(requirements)
Line 120 ⟶ 119:
:tag('div')
:addClass('lighttable checklist')
:css( 'margin-left', '-1.3em' )
:newline()
:wikitext(args.items)
Line 149 ⟶ 147:
:tag('div')
:addClass('lighttable checklist')
:css( 'margin-left', '-1.3em' )
:newline()
:wikitext(args.recommended)

Revision as of 15:03, 27 November 2024

Module documentation
This documentation is transcluded from Module:QuestDetails/doc. [edit] [history] [purge]
This module does not have any documentation. Please consider adding documentation at Module:QuestDetails/doc. [edit]
Module:QuestDetails's function details is invoked by Template:QuestDetails.
Module:QuestDetails requires Module:Mw.html extension.
Module:QuestDetails requires strict.

require('strict')
require('Module:Mw.html extension')

local p = {}

function p.details(frame)
	local args = frame:getParent().args
	
	local requirements = (args.requirements and '\n'..args.requirements) or 'None'

	mw.smw.set({
		start_point = args.start_point,
		required_for = args.required_for,
		next_quest = args.next_quest,
		requirements = requirements,
		items = args.items and '\n'..args.items,
		recommended = args.recommended and '\n'..args.recommended,
		enemies = args.enemies,
		override_seq = args.override_seq or 9999
	})

	local table = mw.html.create('table')
		:addClass('wikitable plainlinks')
		:attr{ cellspacing = '3' }
		:tag('tr')
			:tag('td')
				:css{
					['vertical-align'] = 'top',
					['width'] = '15%',
					['padding'] = '1em'
				}
				:tag('b')
					:wikitext('Start Point')
				:done()
			:done()
			:tag('td')
				:css{
					['max-width'] = '85%',
					['width'] = 'auto',
					['padding-left'] = '1em',
					['padding-right'] = '2em'
				}
				:tag('p')
					:wikitext(args.start_point)
				:done()
			:done()
		:done()
		:IF(args.required_for)
			:tag('tr')
				:tag('td')
					:css{
						['vertical-align'] = 'top',
						['width'] = '15%',
						['padding'] = '1em'
					}
					:tag('b')
						:wikitext('Required for')
					:done()
				:done()
				:tag('td')
					:tag('div')
						:css{
							['max-width'] = '85%',
							['width'] = 'auto',
							['padding-left'] = '1em',
							['padding-right'] = '2em'
						}
						:newline()
						:wikitext(args.required_for)
					:done()
				:done()
			:done()
		:END()
		:tag('tr')
			:tag('td')
				:css{
					['vertical-align'] = 'top',
					['width'] = '15%',
					['padding'] = '1em'
				}
				:tag('b')
					:wikitext('Requirements')
				:done()
			:done()
			:tag('td')
				:css{
					['max-width'] = '85%',
					['width'] = 'auto',
					['padding'] = '1em',
					['padding-right'] = '2em'
				}
				:tag('div')
					:addClass('lighttable checklist')
					:newline()
					:wikitext(requirements)
					:newline()
				:done()
			:done()
		:done()
		:IF(args.items)
			:tag('tr')
				:tag('td')
					:css{
						['vertical-align'] = 'top',
						['width'] = '15%',
						['padding'] = '1em'
					}
					:tag('b')
						:wikitext('Items')
					:done()
				:done()
				:tag('td')
					:css{
						['max-width'] = '85%',
						['width'] = 'auto',
						['padding'] = '1em',
						['padding-right'] = '2em'
					}
					:tag('div')
						:addClass('lighttable checklist')
						:newline()
						:wikitext(args.items)
						:newline()
					:done()
				:done()
			:done()
		:END()
		:IF(args.recommended)
			:tag('tr')
				:tag('td')
					:css{
						['vertical-align'] = 'top',
						['width'] = '15%',
						['padding'] = '1em'
					}
					:tag('b')
						:wikitext('Recommended')
			    	:done()
				:done()
				:tag('td')
					:css{
						['max-width'] = '85%',
						['width'] = 'auto',
						['padding-left'] = '1em',
						['padding-right'] = '2em'
					}
					:tag('div')
						:addClass('lighttable checklist')
						:newline()
						:wikitext(args.recommended)
						:newline()
					:done()
				:done()
			:done()
		:END()
		:IF(args.enemies)
			:tag('tr')
				:tag('td')
					:css{
						['vertical-align'] = 'top',
						['width'] = '15%',
						['padding'] = '1em'
					}
					:tag('b')
						:wikitext('Enemies')
					:done()
				:done()
				:tag('td')
					:css{
						['max-width'] = '85%',
						['width'] = 'auto',
						['padding-left'] = '1em',
						['padding-right'] = '2em'
					}
					:tag('div')
						:newline()
						:wikitext(args.enemies)
					:done()
				:done()
			:done()
		:END()
		:done()

	return table
end

return p