summaryrefslogtreecommitdiff
path: root/buildscripts/apigen/pradosoft/tree.latte
blob: 79a625b2ef2172405c5e5059f505d4fb61a140cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{layout '@layout.latte'}
{var $active = 'tree'}

{block title}Tree{/block}

{define tree}
<div class="tree">
	<ul>
		{var $level = -1}
		{foreach $tree as $reflectionName => $reflection|noiterator}
			{if $level === $tree->getDepth()}
				</li>
			{elseif $level > $tree->getDepth()}
				{='</ul></li>'|repeat:$level - $tree->getDepth()|noescape}
			{elseif -1 !== $level}
				<ul>
			{/if}

			<li n:class="!$tree->hasSibling() ? last"><div class="{if $tree->hasSibling()}not{/if}last"><a href="{$reflectionName|classUrl}" n:tag-if="$reflection->documented"><span n:class="$reflection->deprecated ? deprecated, !$reflection->valid ? invalid">{$reflectionName}</span></a>
			{var $interfaces = $reflection->ownInterfaces}
			{if $interfaces} implements {foreach $interfaces as $interface}
				<a href="{$interface|classUrl}" n:tag-if="$interface->documented"><span n:class="$interface->deprecated ? deprecated, !$interface->valid ? invalid">{$interface->name}</span></a>{sep}, {/sep}
			{/foreach}{/if}
			{var $traits = $reflection->ownTraits}
			{if $traits}{if $interfaces}<br><span class="padding"></span>{/if} uses {foreach $traits as $trait}
				{if is_string($trait)}
					{$trait} (not available)

				{else}
					<a href="{$trait|classUrl}" n:tag-if="$trait->documented"><span n:class="$trait->deprecated ? deprecated, !$trait->valid ? invalid">{$trait->name}</span></a>{sep}, {/sep}
				{/}
			{/foreach}{/if}
			</div>

			{var $level = $tree->getDepth()}
		{/foreach}
		</li>
		{='</ul></li>'|repeat:$level|noescape}
	</ul>
</div>
{/define}

{block content}
<div id="content">
	<h1>{include title}</h1>

	{if $classTree->valid()}
		<h3>Classes</h3>
		{include tree, tree => $classTree}
	{/if}

	{if $interfaceTree->valid()}
		<h3>Interfaces</h3>
		{include tree, tree => $interfaceTree}
	{/if}

	{if $traitTree->valid()}
		<h3>Traits</h3>
		{include tree, tree => $traitTree}
	{/if}

	{if $exceptionTree->valid()}
		<h3>Exceptions</h3>
		{include tree, tree => $exceptionTree}
	{/if}
</div>
{/block}