모듈:샌드박스

이 모듈에 대한 설명문서는 모듈:샌드박스/설명문서에서 만들 수 있습니다

local p = {}
local error_ = function(var)
	return string.format([[<span class='warning'>(|%s =) 변수를 입력해야 합니다.</span>]], var)
end
p.main = function(frame)
	local args = require('Module:Arguments').getArgs(frame)
	
	local style = args['스타일'] or 'normal'
	local mode =  args['타입'] or 'search'
	local width = args['너비'] or ''
	local classStr = 'input_box '..style
	local css = args['css'] or ''
	local types = {
		['search']='search',
		['create']='create',
		['comment']='comment',
		['commenttitle'] ='commenttitle',
		['move'] ='move'
	}
	local type = types[mode]
	local inputboxType
	local inputboxArgs
	if type == 'create' then
		inputboxArgs = string.format([[
type=%s
preload=%s
editintro=%s
hidden=%s
minor=%s
summary=%s
useve=%s]],
		type,
		args['템플릿'] or '',
		args['editintro'] or '',
		args['숨기기'] or '',
		args['사소한편집'] or '',
		args['편집요약'] or '',
		args['시각편집기사용'] or '')
	
		args['이동버튼이름'] = args['이동버튼이름'] or '만들기'
		args['placeholder'] = args['placeholder'] or '만들 문서 제목 입력'
		
	elseif type == 'search' then
		inputboxArgs = string.format([[
type=%s
searchbuttonlabel=%s
namespaces=%s
minor=%s
summary=%s
searchfilter=%s]],
		type,
		args['검색버튼이름'] or '︎',
		args['이름공간'] or '',
		args['사소한편집'] or '',
		args['편집요약'] or '',
		args['검색필터'] or '')
	
		args['이동버튼이름'] = args['이동버튼이름'] or '이동'
		args['placeholder'] = args['placeholder'] or '검색하기'
	elseif type == 'comment' then
		inputboxArgs = string.format([[
type=%s
page=%s
preload=%s
editintro=%s
hidden=%s
minor=%s
summary=%s
nosummary=%s
useve=%s]],
		type,
		args['문서'] or '',
		args['템플릿'] or '',
		args['editintro'] or '',
		args['숨기기'] or '',
		args['사소한편집'] or '',
		args['편집요약'] or '',
		args['편집요약없음'] or '',
		args['시각편집기사용'] or '')
	
		args['이동버튼이름'] = args['이동버튼이름'] or '코멘트'
		args['placeholder'] = args['placeholder'] or '코멘트할 문서 이름'
	elseif type == 'commenttitle' then
		if args['문서'] == nil then
			return error_('문서')
		end
		inputboxArgs = string.format('type=%s\npage=%s\npreload=%s',
			type, args['문서'] or '', args['템플릿'] or '')
	
		args['이동버튼이름'] = args['이동버튼이름'] or '문단 추가'
		args['placeholder'] = args['placeholder'] or '추가할 문단의 제목'
	elseif type == 'move' then
		inputboxArgs = string.format('type=%s\npage=%s\nsummary=%s',
			type, args['문서'] or '', args['편집요약'] or '')
	
		args['이동버튼이름'] = args['이동버튼이름'] or '이 문서 이동'
		args['placeholder'] = args['placeholder'] or '새 문서 이름 입력'
	end
	inputboxArgs = inputboxArgs..
	string.format([[
	
default=%s
buttonlabel=%s
placeholder=%s
prefix=%s
id=%s
dir=%s
arialabel=%s]],
	args['기본'] or '',
	args['이동버튼이름'] or '',
	args['placeholder'] or '',
	args['접두사'] or '',
	args['id'] or '',
	dir or '',
	args['스크린리더버튼이름'] or '')

	return string.format('<div class="%s" style="width:%s;%s">', classStr, width, css)..frame:extensionTag( 'inputbox', inputboxArgs )..'</div>'
end

return p