UWAGA
Strona jest ponownie oddana do uzytku po zabiegach konfiguracyjnych. Jeśli zobaczą Państwo na niej jakieś błedy techniczne, prosimy o ich zgłoszenie.

Większość artykułów w portalu to nasze własne teksty z kluczowych dziedzin związanych z naszą misją. Spora część materiałów pochodzi też z polskiej wersji Wikipedii, gdzie były odrzucone ze względu na politykę redaktorów (przeczytaj o krytyce Wikipedii). Są też i takie, które zostały przeniesione na nasze strony, gdyż stanowią istotne uzupełnienie merytorycznej treści naszego serwisu. Wszystkie artykuły podlegają edycji przez naszych Użytkowników, dlatego ich wersje mogą się różnić od prezentowanych na innych witrynach.

Moduł:Navbox/printer/group

Z Wedapedia
Przejdź do nawigacji Przejdź do wyszukiwania

Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:Navbox/printer/group/opis

require ("strict")
local res = mw.loadData('Moduł:Navbox/res')

local function collapsible(node, printlog)
	local c = res.arg.collapsible.name
	local v = node.peek(res.arg.group.name) and node.peek(c) or nil
	if v == res.arg.collapsible.collapsed then
		node.use(c)
		return printlog and '' or 'mw-collapsed'
	elseif v == res.arg.collapsible.expanded then
		node.use(c)
		return ''
	elseif v == res.arg.collapsible.disabled then
		node.use(c)
		return nil
	elseif node.test and (v == res.arg.collapsible.auto) then
		node.use(c)
		return (printlog or node.test()) and '' or 'mw-collapsed'
	elseif v then
		node.use(c)
		return nil
	else
		return nil
	end
end

return {
	
leaf = 'div',

update = function (container, isleaf, node, printlog)
	container
		:addClass(node.peek(res.arg.group.name) and nil or node.address())
		:addClass(isleaf and res.class.hlist or nil)
		:addClass(isleaf and res.class.list or nil)
end,

print = function (container, tree, printList, printlog)
	container:addClass(res.class.innerGroup)
	for i, node in ipairs(tree) do
		if node.peek(res.arg.group.name) then
			local collapse = collapsible(node, printlog)
			local group = container:tag('div')
			group
				:addClass(res.class.pair)
				:addClass(node.address())
			if collapse then
				group
					:addClass('mw-collapsible')
					:attr('data-expandtext', res.aux.expandText)
					:attr('data-collapsetext', res.aux.collapseText)
					:addClass(collapse)
					:tag('span')
						:addClass(res.navbar.fake)
			end
			group:tag('div')
				:addClass(res.class.group)
				:wikitext(node.get(res.arg.group.name))
			printList(group, node, collapse)
		else
			printList(container, node)
		end
	end
end,

}