Modul:Modulavhengighet

Moduldokumentasjon

Implementasjon av malen {{Modulavhengighet}}.

require('strict')

local MA = {}
MA.__index = MA

function MA:drawBox()
	local message = '<b>Denne modulen brukes av andre moduler (<small>vha require</small>)'
	local modules = ':</b><ul>'
	local i = 1
	while self.args[i] and #self.args[i] ~= 0 do
		modules = modules .. '<li>' .. self.args[i] .. '</li>'
		i = i + 1
	end
	if i > 1 then
		modules = modules .. '<li>&hellip;</li>'
		message = message .. modules .. '</ul>'
	else
		message = message .. '.</b><br />'
	end
	message = message .. 'Dersom du endrer denne modulen så sørg for at de moduler som er avhengig av denne fremdeles fungerer.<br />'
	message = message .. 'Det anbefales at endringer testes i en sandkasse før de legges inn. '
	local title = mw.title.getCurrentTitle()
	if title and title.talkPageTitle then
	  message = message .. 'Diskutér gjerne også endringer på [[' .. title.talkPageTitle.fullText .. '|diskusjonssiden]] først.'
	end

	local builder = mw.html.create()
	builder:node(require('Modul:Message box').ombox({
		demospace = 'other',
		type = 'content',
		text = message,
		date = self.args.dato or self.args.date
	}))
	return builder
end

function MA.new(frame, args)
	if not args then
		args = require('Modul:Arguments').getArgs(frame, {wrappers = 'Mal:Modulavhengighet'})
	end
	local obj = {
		frame = frame,
		args = args
	}
	return setmetatable(obj, MA)
end

local p = {}

function p.main(frame)
	return MA.new(frame):drawBox()
end

return p