1
0
mirror of https://github.com/osmarks/mycorrhiza.git synced 2024-12-12 05:20:26 +00:00
mycorrhiza/tree/view.qtpl
2021-07-12 18:23:25 +03:00

56 lines
1.5 KiB
Plaintext

{% import "sort" %}
{% import "path" %}
{% import "github.com/bouncepaw/mycorrhiza/util" %}
{% func TreeHTML() %}
{% endfunc %}
Subhyphae links are recursive. It may end up looking like that if drawn with
pseudographics:
╔══════════════╗
║Foo ║ The presented hyphae are foo and foo/bar
║╔════════════╗║
║║Bar ║║
║╚════════════╝║
╚══════════════╝
{% func childHTML(c *child) %}
{% code
sort.Slice(c.children, func(i, j int) bool {
return c.children[i].name < c.children[j].name
})
%}
<li class="subhyphae__entry">
<a class="subhyphae__link" href="/hypha/{%s c.name %}">
{%s util.BeautifulName(path.Base(c.name)) %}
</a>
{% if len(c.children) > 0 %}
<ul>
{% for _, child := range c.children %}
{%s= childHTML(&child) %}
{% endfor %}
</ul>
{% endif %}
</li>
{% endfunc %}
{% func siblingHTML(s *sibling) %}
<li class="sibling-hyphae__entry">
<a class="sibling-hyphae__link" href="/hypha/{%s s.name %}">
{%s util.BeautifulName(path.Base(s.name)) %}
<span class="sibling-hyphae__count">
{% if s.directSubhyphaeCount > 0 %}
<span class="sibling-hyphae__direct-count">
{%d s.directSubhyphaeCount %}
</span>
{% endif %}
{% if s.indirectSubhyphaeCount > 0 %}
<span class="sibling-hyphae__indirect-count">
({%d s.indirectSubhyphaeCount %})
</span>
{% endif %}
</span>
</a>
</li>
{% endfunc %}