Icona de documentació de mòdul Documentació del mòdul [ mostra ] [ modifica el codi ] [ mostra l'historial ] [ refresca ]

Mòdul Navbar (codi · ús · discussió · proves · tests · casos prova | subpàgines · enllaços)

A continuació es mostra la documentació transclosa de la subpàgina /ús. [salta a la caixa de codi]


Mòdul per la implementació de la plantilla {{navbar}}. També és usat en el Mòdul:Navbox.

Està en fase experimental per a proves, encara no implementat.

local p = {}

local getArgs
local ul

function p.addItem (mini, full, link, descrip, args, url)
	local l
	if url then
		l = {'[', '', ']'}
	else
		l = {'[[', '|', ']]'}
	end
	ul:tag('li')
		:addClass('nv-'..full)
		:wikitext(l[1] .. link .. l[2])
		:tag(args.mini and 'abbr' or 'span')
			:attr('title', descrip..' this template')
			:cssText(args.fontstyle)
			:wikitext(args.mini and mini or full)
			:done()
		:wikitext(l[3])
end

function p.brackets (position, c, args, div)
	if args.brackets then
		div
			:tag('span')
				:css('margin-'..position, '-0.125em')
				:cssText(args.fontstyle)
				:wikitext(c)
	end
end

function p._navbar(args)
	local show = {true, true, true, false, false, false}
	local titleArg = 1

	if args.collapsible then
		titleArg = 2
		if not args.plain then args.mini = 1 end
		if args.fontcolor then
			args.fontstyle = 'color:' .. args.fontcolor .. ';'
		end
		args.style = 'float:left; text-align:left;'
	end
	
	if args.template then
		titleArg = 'template'
		show = {true, false, false, false, false, false}
		local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6}
		for k,v in ipairs(require ('Module:TableTools').compressSparseArray(args)) do
			local num = index[v]
			if num then show[num] = true end
		end
	end
	
	if args.noedit then show[3] = false end
	
	local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle())
	local title = mw.title.new(mw.text.trim(titleText), 'Plantilla')
	if not title then
		error('Títol invàlid: ' .. titleText)
	end
	local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '';

	local div = mw.html.create():tag('div')
	div
		:addClass('plainlinks')
		:addClass('hlist')
		:addClass('navbar')
		:cssText(args.style)

	if args.mini then div:addClass('mini') end

	if not (args.mini or args.plain) then
		div
			:tag('span')
				:css('word-spacing', 0)
				:cssText(args.fontstyle)
				:wikitext(args.text or 'Aquesta caixa:')
				:wikitext(' ')
	end

	ul = div:tag('ul');
	
	if args.mini then
		ul
			:tag('li')
				:addClass('nv-view')
				:wikitext('[[File:Commons-emblem-notice.svg|18px|alt=Vegeu aquesta plantilla|link=' .. title.fullText .. ']]')
	elseif args.brackets then
		p.brackets('right', '[ ', args, div)
		if show[1] then p.addItem('m', 'mostra', title.fullText, 'Mostra', args) end
		if show[2] then p.addItem('d', 'disc', talkpage, 'Discussió', args) end
		if show[3] then p.addItem('e', 'edita', title:fullUrl('action=edit'), 'Edició', args, true) end
		if show[4] then p.addItem('h', 'hist', title:fullUrl('action=history'), 'Historial', args, true) end
		if show[5] then
			local move = mw.title.new ('Special:Movepage')
			p.addItem('r', 'reanom', move:fullUrl('target='..title.fullText), 'Reanomena', args, true) end
		if show[6] then p.addItem('s', 'seg', title:fullUrl('action=watch'), 'Seguiment', args, true) end
		
		p.brackets('left', ' ]', args, div)
	end

	if args.collapsible then
		div
			:done()
		:tag('div')
			:css('font-size', '114%')
			:css('margin', args.mini and '0 4em' or '0 7em')
			:cssText(args.fontstyle)
			:wikitext(args[1])
	end

	return tostring(div:done())
end

function p.navbar(frame)
	if not getArgs then
		getArgs = require('Mòdul:Arguments').getArgs
	end
	return p._navbar(getArgs(frame))
end

return p
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy