object.html
HTML document, ASCII text
1{% extends "default.html" %} 2 3{% block nav_title %}{{ object.id }}{% endblock %} 4{% block title %}Object {{ object.id }} | {{ site_name }}{% endblock %} 5 6{% block content %} 7<x-frame style="--width: 768px"> 8<h1>{{ object.id }}</h1> 9<p>{{ object.description }}</p> 10<h2>Supersets</h2> 11{% if object.parent_links %} 12<ul> 13{% for parent in object.parent_links %} 14{% set superset = parent.parent %} 15<li><a href="/object/{{ superset.id }}">{{ superset.id }}</a></li> 16{% endfor %} 17</ul> 18{% else %} 19<p>This object has no supersets.</p> 20{% endif %} 21{% if object.child_links %} 22<h2>Subsets</h2> 23<ul> 24{% for child in object.child_links %} 25{% set subset = child.child %} 26<li><a href="/object/{{ subset.id }}">{{ subset.id }}</a></li> 27{% endfor %} 28</ul> 29{% else %} 30<p>This object has no subsets.</p> 31{% endif %} 32<h2>Pictures with this object</h2> 33<ul class="thumbnail-list"> 34{% for resource in resources %} 35<li> 36<a href="/picture/{{ resource.id }}"> 37<div class="annotation-zone"> 38<img src="/raw/picture/{{ resource.id }}" alt="{{ resource.title }}"> 39{% for i in PictureRegion.query.filter_by(resource=resource, object=object) %} 40{% if i.json.type == "bbox" %} 41<svg class="shape-container" viewBox="0 0 {{ resource.width }} {{ resource.height }}"> 42<rect x="{{ i.json.shape.x * resource.width }}" 43y="{{ i.json.shape.y * resource.height }}" 44width="{{ i.json.shape.w * resource.width }}" 45height="{{ i.json.shape.h * resource.height }}" 46fill="none" class="shape-bbox shape" 47></rect> 48</svg> 49{% elif i.json.type == "polygon" %} 50<svg class="shape-container" viewBox="0 0 {{ resource.width }} {{ resource.height }}"> 51<polygon points="{% for point in i.json.shape %}{{ point.x * resource.width }},{{ point.y * resource.height }} {% endfor %}" fill="none" class="shape-polygon shape"></polygon> 52</svg> 53{% elif i.json.type == "polyline" %} 54<svg class="shape-container" viewBox="0 0 {{ resource.width }} {{ resource.height }}"> 55<polyline points="{% for point in i.json.shape %}{{ point.x * resource.width }},{{ point.y * resource.height }} {% endfor %}" fill="none" class="shape-polyline shape"></polyline> 56</svg> 57{% elif i.json.type == "point" %} 58<svg class="shape-container" viewBox="0 0 {{ resource.width }} {{ resource.height }}"> 59<circle cx="{{ i.json.shape.x * resource.width }}" cy="{{ i.json.shape.y * resource.height }}" r="0" fill="none" class="shape-point shape"></circle> 60</svg> 61{% endif %} 62{% endfor %} 63</div> 64<div class="list-detail"> 65{{ resource.title }} 66</div> 67</a> 68</li> 69{% endfor %} 70</ul> 71{% include "pagination.html" %} 72</x-frame> 73{% endblock %}