templates/fossildb.html.twig line 1

Open in your IDE?
  1. {% extends "base.html.twig" %}
  2. {% block css %}
  3. <link id="bsdp-css" href="https://unpkg.com/bootstrap-datepicker@1.9.0/dist/css/bootstrap-datepicker3.min.css" rel="stylesheet">
  4. <link href="https://cdn.jsdelivr.net/npm/@yaireo/tagify@3.7.3/dist/tagify.css" rel="stylesheet">
  5. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ekko-lightbox/5.3.0/ekko-lightbox.css" />
  6. <style>
  7. </style>
  8. {% endblock %}
  9. {% block title %}{{ 'Fossielendatabase'|trans }}{% endblock %}
  10. {% block body %}
  11.         <p>&nbsp;</p>
  12.         <div class="row flex-md-row h-md-250 position-relative">
  13.           <div class="col-md-9 position-static">
  14.             <!-- Begin Page Content -->
  15.             <h2>{{ 'Fossielendatabase'|trans }}</h2>
  16.             <p>{{ 'Dit is het Fossielen database.'|trans }}<br>
  17.             {{ 'Wil je fossielen toevoegen aan de Fossielendatabase dat kan op <a href="{link}">deze pagina<a>.'|trans({'{link}' : path('fossildb_add')})|raw }}</p>
  18.             {{ form_start(form) }}
  19.             {{ form_row(form.taxanomy) }}
  20.             {{ form_row(form.location) }}
  21.             {{ form_row(form.era) }}
  22.             <div class="row">
  23.               <div class="col-md-6">
  24.               {{ form_row(form.genus) }}
  25.               </div>
  26.               <div class="col-md-6">
  27.               {{ form_row(form.species) }}
  28.               </div>
  29.             </div>
  30.             <div class="row">
  31.               <div class="col-md-6">
  32.               {{ form_row(form.id) }}
  33.               </div>
  34.               <div class="col-md-6">
  35.               {{ form_row(form.user) }}
  36.               </div>
  37.             </div>
  38.             <p><div class="w100 -right">
  39.               <button class="btn btn-paleontica" type="submit">{% if button_text is defined %}{{button_text}}{% else %}{{ 'Zoeken'|trans }}{% endif %}</button>
  40.             </div>
  41.             </p>
  42.             {{ form_end(form) }}
  43.             <p></p>
  44.             {% if page is empty %}
  45.             <div style="width:100%; height: 3325px; position: relative">
  46.               <a href="/id_system/fossil_id_search.php?cat=41"><picture>
  47.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  48.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  49.                 <img src="/images/default.png" style="position: absolute; clip:rect(0px,574px,51px,0px);">
  50.               </picture></a>
  51.               <a href="/id_system/fossil_id_search.php?cat=42"><picture>
  52.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  53.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  54.                 <img src="/images/default.png" style="position: absolute; clip:rect(51px,574px,116px,0px);">
  55.               </picture></a>
  56.               <a href="/id_system/fossil_id_search.php?cat=43"><picture>
  57.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  58.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  59.                 <img src="/images/default.png" style="position: absolute; clip:rect(116px,574px,175px,0px);">
  60.               </picture></a>
  61.               <a href="/id_system/fossil_id_search.php?cat=44"><picture>
  62.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  63.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  64.                 <img src="/images/default.png" style="position: absolute; clip:rect(175px,574px,235px,0px);">
  65.               </picture></a>
  66.               <a href="/id_system/fossil_id_search.php?cat=11"><picture>
  67.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  68.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  69.                 <img src="/images/default.png" style="position: absolute; clip:rect(235px,574px,275px,0px);">
  70.               </picture></a>
  71.               <a href="/id_system/fossil_id_search.php?cat=45"><picture>
  72.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  73.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  74.                 <img src="/images/default.png" style="position: absolute; clip:rect(275px,574px,315px,0px);">
  75.               </picture></a>
  76.               <a href="/id_system/fossil_id_search.php?cat=46"><picture>
  77.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  78.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  79.                 <img src="/images/default.png" style="position: absolute; clip:rect(315px,574px,380px,0px);">
  80.               </picture></a>
  81.               <a href="/id_system/fossil_id_search.php?cat=32"><picture>
  82.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  83.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  84.                 <img src="/images/default.png" style="position: absolute; clip:rect(380px,574px,425px,0px);">
  85.               </picture></a>
  86.               <a href="/id_system/fossil_id_search.php?cat=13"><picture>
  87.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  88.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  89.                 <img src="/images/default.png" style="position: absolute; clip:rect(425px,574px,485px,0px);">
  90.               </picture></a>
  91.               <a href="/id_system/fossil_id_search.php?cat=48"><picture>
  92.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  93.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  94.                 <img src="/images/default.png" style="position: absolute; clip:rect(485px,574px,540px,0px);">
  95.               </picture></a>
  96.               <a href="/id_system/fossil_id_search.php?cat=47"><picture>
  97.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  98.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  99.                 <img src="/images/default.png" style="position: absolute; clip:rect(540px,574px,605px,0px);">
  100.               </picture></a>
  101.               <a href="/id_system/fossil_id_search.php?cat=48"><picture>
  102.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  103.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  104.                 <img src="/images/default.png" style="position: absolute; clip:rect(605px,574px,658px,0px);">
  105.               </picture></a>
  106.               <a href="/id_system/fossil_id_search.php?cat=39"><picture>
  107.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  108.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  109.                 <img src="/images/default.png" style="position: absolute; clip:rect(658px,574px,720px,0px);">
  110.               </picture></a>
  111.               <a href="/id_system/fossil_id_search.php?cat=10"><picture>
  112.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  113.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  114.                 <img src="/images/default.png" style="position: absolute; clip:rect(720px,574px,765px,0px);">
  115.               </picture></a>
  116.               <a href="/id_system/fossil_id_search.php?cat=49"><picture>
  117.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  118.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  119.                 <img src="/images/default.png" style="position: absolute; clip:rect(765px,574px,818px,0px);">
  120.               </picture></a>
  121.               <a href="/id_system/fossil_id_search.php?cat=50"><picture>
  122.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  123.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  124.                 <img src="/images/default.png" style="position: absolute; clip:rect(818px,574px,873px,0px);">
  125.               </picture></a>
  126.               <a href="/id_system/fossil_id_search.php?cat=51"><picture>
  127.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  128.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  129.                 <img src="/images/default.png" style="position: absolute; clip:rect(873px,574px,895px,0px);">
  130.               </picture></a>
  131.               <a href="/id_system/fossil_id_search.php?cat=52"><picture>
  132.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  133.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  134.                 <img src="/images/default.png" style="position: absolute; clip:rect(895px,574px,928px,0px);">
  135.               </picture></a>
  136.               <a href="/id_system/fossil_id_search.php?cat=53"><picture>
  137.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  138.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  139.                 <img src="/images/default.png" style="position: absolute; clip:rect(928px,574px,973px,0px);">
  140.               </picture></a>
  141.               <a href="/id_system/fossil_id_search.php?cat=35"><picture>
  142.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  143.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  144.                 <img src="/images/default.png" style="position: absolute; clip:rect(973px,574px,997px,0px);">
  145.               </picture></a>
  146.               <a href="/id_system/fossil_id_search.php?cat=37"><picture>
  147.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  148.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  149.                 <img src="/images/default.png" style="position: absolute; clip:rect(997px,574px,1050px,0px);">
  150.               </picture></a>
  151.               <a href="/id_system/fossil_id_search.php?cat=54"><picture>
  152.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  153.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  154.                 <img src="/images/default.png" style="position: absolute; clip:rect(1050px,574px,1090px,0px);">
  155.               </picture></a>
  156.               <a href="/id_system/fossil_id_search.php?cat=55"><picture>
  157.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  158.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  159.                 <img src="/images/default.png" style="position: absolute; clip:rect(1090px,574px,1120px,0px);">
  160.               </picture></a>
  161.               <a href="/id_system/fossil_id_search.php?cat=56"><picture>
  162.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  163.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  164.                 <img src="/images/default.png" style="position: absolute; clip:rect(1120px,574px,1150px,0px);">
  165.               </picture></a>
  166.               <a href="/id_system/fossil_id_search.php?cat=57"><picture>
  167.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  168.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  169.                 <img src="/images/default.png" style="position: absolute; clip:rect(1150px,574px,1200px,0px);">
  170.               </picture></a>
  171.               <a href="/id_system/fossil_id_search.php?cat=17"><picture>
  172.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  173.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  174.                 <img src="/images/default.png" style="position: absolute; clip:rect(1200px,574px,1238px,0px);">
  175.               </picture></a>
  176.               <a href="/id_system/fossil_id_search.php?cat=40"><picture>
  177.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  178.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  179.                 <img src="/images/default.png" style="position: absolute; clip:rect(1238px,574px,1275px,0px);">
  180.               </picture></a>
  181.               <a href="/id_system/fossil_id_search.php?cat=58"><picture>
  182.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  183.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  184.                 <img src="/images/default.png" style="position: absolute; clip:rect(1275px,574px,1315px,0px);">
  185.               </picture></a>
  186.               <a href="/id_system/fossil_id_search.php?cat=59"><picture>
  187.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  188.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  189.                 <img src="/images/default.png" style="position: absolute; clip:rect(1315px,574px,1380px,0px);">
  190.               </picture></a>
  191.               <a href="/id_system/fossil_id_search.php?cat=60"><picture>
  192.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  193.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  194.                 <img src="/images/default.png" style="position: absolute; clip:rect(1380px,574px,1410px,0px);">
  195.               </picture></a>
  196.               <a href="/id_system/fossil_id_search.php?cat=61"><picture>
  197.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  198.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  199.                 <img src="/images/default.png" style="position: absolute; clip:rect(1410px,574px,1440px,0px);">
  200.               </picture></a>
  201.               <a href="/id_system/fossil_id_search.php?cat=62"><picture>
  202.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  203.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  204.                 <img src="/images/default.png" style="position: absolute; clip:rect(1440px,574px,1464px,0px);">
  205.               </picture></a>
  206.               <a href="/id_system/fossil_id_search.php?cat=63"><picture>
  207.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  208.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  209.                 <img src="/images/default.png" style="position: absolute; clip:rect(1464px,574px,1523px,0px);">
  210.               </picture></a>
  211.               <a href="/id_system/fossil_id_search.php?cat=2"><picture>
  212.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  213.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  214.                 <img src="/images/default.png" style="position: absolute; clip:rect(1523px,574px,1581px,0px);">
  215.               </picture></a>
  216.               <a href="/id_system/fossil_id_search.php?cat=38"><picture>
  217.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  218.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  219.                 <img src="/images/default.png" style="position: absolute; clip:rect(1581px,574px,1640px,0px);">
  220.               </picture></a>
  221.               <a href="/id_system/fossil_id_search.php?cat=7"><picture>
  222.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  223.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  224.                 <img src="/images/default.png" style="position: absolute; clip:rect(1640px,574px,1685px,0px);">
  225.               </picture></a>
  226.               <a href="/id_system/fossil_id_search.php?cat=64"><picture>
  227.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  228.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  229.                 <img src="/images/default.png" style="position: absolute; clip:rect(1685px,574px,1720px,0px);">
  230.               </picture></a>
  231.               <a href="/id_system/fossil_id_search.php?cat=6"><picture>
  232.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  233.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  234.                 <img src="/images/default.png" style="position: absolute; clip:rect(1720px,574px,1780px,0px);">
  235.               </picture></a>
  236.               <a href="/id_system/fossil_id_search.php?cat=31"><picture>
  237.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  238.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  239.                 <img src="/images/default.png" style="position: absolute; clip:rect(1780px,574px,1834px,0px);">
  240.               </picture></a>
  241.               <a href="/id_system/fossil_id_search.php?cat=65"><picture>
  242.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  243.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  244.                 <img src="/images/default.png" style="position: absolute; clip:rect(1834px,574px,1888px,0px);">
  245.               </picture></a>
  246.               <a href="/id_system/fossil_id_search.php?cat=66"><picture>
  247.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  248.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  249.                 <img src="/images/default.png" style="position: absolute; clip:rect(1888px,574px,1920px,0px);">
  250.               </picture></a>
  251.               <a href="/id_system/fossil_id_search.php?cat=67"><picture>
  252.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  253.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  254.                 <img src="/images/default.png" style="position: absolute; clip:rect(1920px,574px,1970px,0px);">
  255.               </picture></a>
  256.               <a href="/id_system/fossil_id_search.php?cat=5"><picture>
  257.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  258.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  259.                 <img src="/images/default.png" style="position: absolute; clip:rect(1970px,574px,2020px,0px);">
  260.               </picture></a>
  261.               <a href="/id_system/fossil_id_search.php?cat=30"><picture>
  262.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  263.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  264.                 <img src="/images/default.png" style="position: absolute; clip:rect(2020px,574px,2080px,0px);">
  265.               </picture></a>
  266.               <a href="/id_system/fossil_id_search.php?cat=12"><picture>
  267.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  268.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  269.                 <img src="/images/default.png" style="position: absolute; clip:rect(2080px,574px,2110px,0px);">
  270.               </picture></a>
  271.               <a href="/id_system/fossil_id_search.php?cat=9"><picture>
  272.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  273.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  274.                 <img src="/images/default.png" style="position: absolute; clip:rect(2110px,574px,2146px,0px);">
  275.               </picture></a>
  276.               <a href="/id_system/fossil_id_search.php?cat=68"><picture>
  277.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  278.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  279.                 <img src="/images/default.png" style="position: absolute; clip:rect(2146px,574px,2190px,0px);">
  280.               </picture></a>
  281.               <a href="/id_system/fossil_id_search.php?cat=69"><picture>
  282.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  283.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  284.                 <img src="/images/default.png" style="position: absolute; clip:rect(2190px,574px,2235px,0px);">
  285.               </picture></a>
  286.               <a href="/id_system/fossil_id_search.php?cat=70"><picture>
  287.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  288.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  289.                 <img src="/images/default.png" style="position: absolute; clip:rect(2235px,574px,2280px,0px);">
  290.               </picture></a>
  291.               <a href="/id_system/fossil_id_search.php?cat=8"><picture>
  292.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  293.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  294.                 <img src="/images/default.png" style="position: absolute; clip:rect(2280px,574px,2310px,0px);">
  295.               </picture></a>
  296.               <a href="/id_system/fossil_id_search.php?cat=4"><picture>
  297.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  298.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  299.                 <img src="/images/default.png" style="position: absolute; clip:rect(2310px,574px,2335px,0px);">
  300.               </picture></a>
  301.               <a href="/id_system/fossil_id_search.php?cat=71"><picture>
  302.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  303.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  304.                 <img src="/images/default.png" style="position: absolute; clip:rect(2335px,574px,2380px,0px);">
  305.               </picture></a>
  306.               <a href="/id_system/fossil_id_search.php?cat=34"><picture>
  307.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  308.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  309.                 <img src="/images/default.png" style="position: absolute; clip:rect(2380px,574px,2435px,0px);">
  310.               </picture></a>
  311.               <a href="/id_system/fossil_id_search.php?cat=72"><picture>
  312.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  313.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  314.                 <img src="/images/default.png" style="position: absolute; clip:rect(2435px,574px,2495px,0px);">
  315.               </picture></a>
  316.               <a href="/id_system/fossil_id_search.php?cat=73"><picture>
  317.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  318.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  319.                 <img src="/images/default.png" style="position: absolute; clip:rect(2495px,574px,2540px,0px);">
  320.               </picture></a>
  321.               <a href="/id_system/fossil_id_search.php?cat=74"><picture>
  322.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  323.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  324.                 <img src="/images/default.png" style="position: absolute; clip:rect(2540px,574px,2575px,0px);">
  325.               </picture></a>
  326.               <a href="/id_system/fossil_id_search.php?cat=19"><picture>
  327.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  328.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  329.                 <img src="/images/default.png" style="position: absolute; clip:rect(2575px,574px,2610px,0px);">
  330.               </picture></a>
  331.               <a href="/id_system/fossil_id_search.php?cat=16"><picture>
  332.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  333.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  334.                 <img src="/images/default.png" style="position: absolute; clip:rect(2610px,574px,2650px,0px);">
  335.               </picture></a>
  336.               <a href="/id_system/fossil_id_search.php?cat=14"><picture>
  337.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  338.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  339.                 <img src="/images/default.png" style="position: absolute; clip:rect(2650px,574px,2688px,0px);">
  340.               </picture></a>
  341.               <a href="/id_system/fossil_id_search.php?cat=75"><picture>
  342.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  343.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  344.                 <img src="/images/default.png" style="position: absolute; clip:rect(2688px,574px,2738px,0px);">
  345.               </picture></a>
  346.               <a href="/id_system/fossil_id_search.php?cat=76"><picture>
  347.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  348.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  349.                 <img src="/images/default.png" style="position: absolute; clip:rect(2738px,574px,2778px,0px);">
  350.               </picture></a>
  351.               <a href="/id_system/fossil_id_search.php?cat=21"><picture>
  352.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  353.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  354.                 <img src="/images/default.png" style="position: absolute; clip:rect(2778px,574px,2830px,0px);">
  355.               </picture></a>
  356.               <a href="/id_system/fossil_id_search.php?cat=22"><picture>
  357.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  358.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  359.                 <img src="/images/default.png" style="position: absolute; clip:rect(2830px,574px,2878px,0px);">
  360.               </picture></a>
  361.               <a href="/id_system/fossil_id_search.php?cat=77"><picture>
  362.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  363.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  364.                 <img src="/images/default.png" style="position: absolute; clip:rect(2878px,574px,2930px,0px);">
  365.               </picture></a>
  366.               <a href="/id_system/fossil_id_search.php?cat=23"><picture>
  367.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  368.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  369.                 <img src="/images/default.png" style="position: absolute; clip:rect(2930px,574px,2975px,0px);">
  370.               </picture></a>
  371.               <a href="/id_system/fossil_id_search.php?cat=27"><picture>
  372.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  373.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  374.                 <img src="/images/default.png" style="position: absolute; clip:rect(2975px,574px,3020px,0px);">
  375.               </picture></a>
  376.               <a href="/id_system/fossil_id_search.php?cat=26"><picture>
  377.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  378.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  379.                 <img src="/images/default.png" style="position: absolute; clip:rect(3020px,574px,3071px,0px);">
  380.               </picture></a>
  381.               <a href="/id_system/fossil_id_search.php?cat=28"><picture>
  382.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  383.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  384.                 <img src="/images/default.png" style="position: absolute; clip:rect(3071px,574px,3130px,0px);">
  385.               </picture></a>
  386.               <a href="/id_system/fossil_id_search.php?cat=24"><picture>
  387.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  388.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  389.                 <img src="/images/default.png" style="position: absolute; clip:rect(3130px,574px,3180px,0px);">
  390.               </picture></a>
  391.               <a href="/id_system/fossil_id_search.php?cat=78"><picture>
  392.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  393.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  394.                 <img src="/images/default.png" style="position: absolute; clip:rect(3180px,574px,3230px,0px);">
  395.               </picture></a>
  396.               <a href="/id_system/fossil_id_search.php?cat=3"><picture>
  397.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  398.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  399.                 <img src="/images/default.png" style="position: absolute; clip:rect(3230px,574px,3273px,0px);">
  400.               </picture></a>
  401.               <a href="/id_system/fossil_id_search.php?cat=33"><picture>
  402.                 <source media="(min-width: 576px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}.png">
  403.                 <source media="(max-width: 575px)" srcset="/images/phylogenetictree-{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}_small.png">
  404.                 <img src="/images/default.png" style="position: absolute; clip:rect(3273px,574px,3325px,0px);">
  405.               </picture></a>
  406.             </div>
  407.             {% else %}
  408.             <div class="row">
  409.               <div class="col-sm-2">
  410.                 {{ result.getTotalItemCount }} {{ 'gevonden'|trans }}.
  411.               </div>
  412.               <div class="col-sm-10 pagnation-paleontica">
  413.                   {{ knp_pagination_render(result) }}
  414.               </div>
  415.             </div>
  416.             {% for item in result %}
  417.               {% include 'fossildb_item.html.twig' with {'item': item} %}
  418.               <p></p>
  419.             {% endfor %}
  420.             <div class="row">
  421.               <div class="col-sm-2">
  422.                 {{ result.getTotalItemCount }} {{ 'gevonden'|trans }}.
  423.               </div>
  424.               <div class="col-sm-10 pagnation-paleontica">
  425.                   {{ knp_pagination_render(result) }}
  426.               </div>
  427.             </div>
  428.             {% endif %}
  429.             <!-- END Page Content -->
  430.           </div>
  431.           {% include 'sidebar.html.twig' %}
  432.         </div>
  433. {% endblock %}
  434. {% block javascript %}
  435.     <script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
  436.     <script src="https://unpkg.com/bootstrap-datepicker@1.9.0/dist/js/bootstrap-datepicker.min.js"></script>
  437.     <script src="https://cdn.jsdelivr.net/npm/@yaireo/tagify@3.7.3/dist/tagify.min.js"></script>
  438.     <script>
  439. // START Taxanomy
  440.         var tagify_taxanomy = new Tagify(document.querySelector('input[id="fossildb_search_form_taxanomy"]'), {
  441.             delimiters : null,
  442.             //maxTags : 1,
  443.             templates : {
  444.                 tag : function(v, tagData){
  445.                     try{
  446.                     filename=tagData.filename;
  447.                     name=tagData.value;
  448.                     return `<tag title='${name}' contenteditable='false' spellcheck="false" class='tagify__tag ${tagData.class ? tagData.class : ""}' ${this.getAttributes(tagData)}>
  449.                                 <img onerror="this.style.visibility = 'hidden'" src='/images/icons/fossil/has_${filename}.png' class="jquery_icon_mini">
  450.                                 <x title='remove tag' class='tagify__tag__removeBtn'></x>
  451.                                 <div>${name}</div>
  452.                             </tag>`
  453.                     }
  454.                     catch(err){}
  455.                 },
  456.                 dropdownItem : function(tagData){
  457.                     try{
  458.                       filename=tagData.filename;
  459.                       name=tagData.value;
  460.                       return `<div class='tagify__dropdown__item ${tagData.class ? tagData.class : ""}'>
  461.                       <img onerror="this.style.visibility = 'hidden'" src='/images/icons/fossil/has_${filename}.png' class="jquery_icon_resultlist">
  462.                       ${name}</div>`
  463.                     }
  464.                     catch(err){}
  465.                 }
  466.             },
  467.             enforceWhitelist : true,
  468.             whitelist : {{ filter.taxanomy|raw }},
  469.             dropdown : {
  470.                 enabled: 3 // suggest tags after a single character input
  471.             } // map tags' values to this property name, so this property will be the actual value and not the printed value on the screen
  472.         }),
  473.             controller; // for aborting the call
  474.         // listen to any keystrokes which modify tagify's input
  475.         tagify_taxanomy.on('input', onInput_taxanomy);
  476.         function onInput_taxanomy( e ){
  477.           var value = e.detail.value;
  478.           tagify_taxanomy.settings.whitelist.length = 0; // reset the whitelist
  479.           // https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort
  480.           controller && controller.abort();
  481.           controller = new AbortController();
  482.           // show loading animation and hide the suggestions dropdown
  483.           tagify_taxanomy.loading(true).dropdown.hide.call(tagify_taxanomy)
  484.           fetch('{{ path('api_fossildb_taxaonmy') }}/?query=' + value, {signal:controller.signal})
  485.             .then(RES => RES.json())
  486.             .then(function(whitelist){
  487.               // update inwhitelist Array in-place
  488.               tagify_taxanomy.settings.whitelist.splice(0, whitelist.length, ...whitelist)
  489.               tagify_taxanomy.loading(false).dropdown.show.call(tagify_taxanomy, value); // render the suggestions dropdown
  490.             })
  491.         }
  492. // END Taxanomy
  493. // START Location
  494.         var tagify_location = new Tagify(document.querySelector('input[id="fossildb_search_form_location"]'), {
  495.             delimiters : null,
  496.             //maxTags : 1,
  497.             templates : {
  498.                 tag : function(v, tagData){
  499.                     try{
  500.                     return `<tag style="background-color: ${tagData.color}" title='${v}' contenteditable='false' spellcheck="false" class='tagify__tag ${tagData.class ? tagData.class : ""}' ${this.getAttributes(tagData)}>
  501.                                 <x title='remove tag' class='tagify__tag__removeBtn'></x>
  502.                                 <div><img onerror="this.style.visibility = 'hidden'" src='/images/icons/map-pin.png' class="jquery_icon_mini"> ${v}</div>
  503.                             </tag>`
  504.                     }
  505.                     catch(err){}
  506.                 },
  507.                 dropdownItem : function(tagData){
  508.                     try{
  509.                       return `<div class='tagify__dropdown__item ${tagData.class ? tagData.class : ""}'>
  510.                       <img onerror="this.style.visibility = 'hidden'" src='/images/icons/map-pin.png' class="jquery_icon_mini"> ${tagData.value}</div>`
  511.                     }
  512.                     catch(err){}
  513.                 }
  514.             },
  515.             enforceWhitelist : true,
  516.             whitelist : {{ filter.location|raw }},
  517.             dropdown : {
  518.                 enabled: 3 // suggest tags after a single character input
  519.             } // map tags' values to this property name, so this property will be the actual value and not the printed value on the screen
  520.         }),
  521.             controller; // for aborting the call
  522.         // listen to any keystrokes which modify tagify's input
  523.         tagify_location.on('input', onInput_location);
  524.         function onInput_location( e ){
  525.           var value = e.detail.value;
  526.           tagify_location.settings.whitelist.length = 0; // reset the whitelist
  527.           // https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort
  528.           controller && controller.abort();
  529.           controller = new AbortController();
  530.           // show loading animation and hide the suggestions dropdown
  531.           tagify_location.loading(true).dropdown.hide.call(tagify_location)
  532.           fetch('{{ path('api_fossildb_location') }}/?query=' + value, {signal:controller.signal})
  533.             .then(RES => RES.json())
  534.             .then(function(whitelist){
  535.               // update inwhitelist Array in-place
  536.               tagify_location.settings.whitelist.splice(0, whitelist.length, ...whitelist)
  537.               tagify_location.loading(false).dropdown.show.call(tagify_location, value); // render the suggestions dropdown
  538.             })
  539.         }
  540. // END Location
  541. // START Era
  542.         var tagify_era = new Tagify(document.querySelector('input[id="fossildb_search_form_era"]'), {
  543.             delimiters : null,
  544.             //maxTags : 1,
  545.             templates : {
  546.                 tag : function(v, tagData){
  547.                     try{
  548.                     return `<tag style="background-color: ${tagData.color}" title='${v}' contenteditable='false' spellcheck="false" class='tagify__tag ${tagData.class ? tagData.class : ""}' ${this.getAttributes(tagData)}>
  549.                                 {#<span class="jquery_icon_mini" style="background-color: ${tagData.color};">&nbsp;&nbsp;&nbsp;</span>#}
  550.                                 <img onerror="this.style.visibility = 'hidden'" src='/images/icons/era/${tagData.name_en.toLowerCase()}.png' class="jquery_icon_mini">
  551.                                 <x title='remove tag' class='tagify__tag__removeBtn'></x>
  552.                                 <div>${v}</div>
  553.                             </tag>`
  554.                     }
  555.                     catch(err){}
  556.                 },
  557.                 dropdownItem : function(tagData){
  558.                     try{
  559.                       return `<div class='tagify__dropdown__item ${tagData.class ? tagData.class : ""}'>
  560.                       {#<span class="jquery_icon_resultlist" style="background-color: ${tagData.color};">&nbsp;&nbsp;&nbsp;</span>#}
  561.                       <img onerror="this.style.visibility = 'hidden'" src='/images/icons/era/${tagData.name_en.toLowerCase()}.png' class="jquery_icon_resultlist">
  562.                       ${tagData.value}</div>`
  563.                     }
  564.                     catch(err){}
  565.                 }
  566.             },
  567.             enforceWhitelist : true,
  568.             whitelist : {{ filter.era|raw }},
  569.             dropdown : {
  570.                 enabled: 3 // suggest tags after a single character input
  571.             } // map tags' values to this property name, so this property will be the actual value and not the printed value on the screen
  572.         }),
  573.             controller; // for aborting the call
  574.         // listen to any keystrokes which modify tagify's input
  575.         tagify_era.on('input', onInput_era);
  576.         function onInput_era( e ){
  577.           var value = e.detail.value;
  578.           tagify_era.settings.whitelist.length = 0; // reset the whitelist
  579.           // https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort
  580.           controller && controller.abort();
  581.           controller = new AbortController();
  582.           // show loading animation and hide the suggestions dropdown
  583.           tagify_era.loading(true).dropdown.hide.call(tagify_era)
  584.           fetch('{{ path('api_fossildb_stratigraphyunits', { type: "era" }) }}/?query=' + value, {signal:controller.signal})
  585.             .then(RES => RES.json())
  586.             .then(function(whitelist){
  587.               // update inwhitelist Array in-place
  588.               tagify_era.settings.whitelist.splice(0, whitelist.length, ...whitelist)
  589.               tagify_era.loading(false).dropdown.show.call(tagify_era, value); // render the suggestions dropdown
  590.             })
  591.         }
  592. // END Era
  593. // START Genus
  594.         var tagify_genus = new Tagify(document.querySelector('input[id="fossildb_search_form_genus"]'), {
  595.             delimiters : null,
  596.             //maxTags : 1,
  597.             templates : {
  598.                 tag : function(v, tagData){
  599.                     try{
  600.                     return `<tag title='${v}' contenteditable='false' spellcheck="false" class='tagify__tag ${tagData.class ? tagData.class : ""}' ${this.getAttributes(tagData)}>
  601.                                 <x title='remove tag' class='tagify__tag__removeBtn'></x>
  602.                                 <div>${v}</div>
  603.                             </tag>`
  604.                     }
  605.                     catch(err){}
  606.                 },
  607.                 dropdownItem : function(tagData){
  608.                     try{
  609.                       return `<div class='tagify__dropdown__item ${tagData.class ? tagData.class : ""}'>
  610.                       ${tagData.value}</div>`
  611.                     }
  612.                     catch(err){}
  613.                 }
  614.             },
  615.             enforceWhitelist : true,
  616.             whitelist : {{ filter.genus|raw }},
  617.             dropdown : {
  618.                 enabled: 3 // suggest tags after a single character input
  619.             } // map tags' values to this property name, so this property will be the actual value and not the printed value on the screen
  620.         }),
  621.             controller; // for aborting the call
  622.         // listen to any keystrokes which modify tagify's input
  623.         tagify_genus.on('input', onInput_genus);
  624.         function onInput_genus( e ){
  625.           var value = e.detail.value;
  626.           tagify_genus.settings.whitelist.length = 0; // reset the whitelist
  627.           // https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort
  628.           controller && controller.abort();
  629.           controller = new AbortController();
  630.           // show loading animation and hide the suggestions dropdown
  631.           tagify_genus.loading(true).dropdown.hide.call(tagify_genus)
  632.           fetch('{{ path('api_fossildb_genus') }}/?query=' + value, {signal:controller.signal})
  633.             .then(RES => RES.json())
  634.             .then(function(whitelist){
  635.               // update inwhitelist Array in-place
  636.               tagify_genus.settings.whitelist.splice(0, whitelist.length, ...whitelist)
  637.               tagify_genus.loading(false).dropdown.show.call(tagify_genus, value); // render the suggestions dropdown
  638.             })
  639.         }
  640. // END Genus
  641. // START Species
  642.         var tagify_species = new Tagify(document.querySelector('input[id="fossildb_search_form_species"]'), {
  643.             delimiters : null,
  644.             //maxTags : 1,
  645.             templates : {
  646.                 tag : function(v, tagData){
  647.                     try{
  648.                     return `<tag title='${v}' contenteditable='false' spellcheck="false" class='tagify__tag ${tagData.class ? tagData.class : ""}' ${this.getAttributes(tagData)}>
  649.                                 <x title='remove tag' class='tagify__tag__removeBtn'></x>
  650.                                 <div>${v}</div>
  651.                             </tag>`
  652.                     }
  653.                     catch(err){}
  654.                 },
  655.                 dropdownItem : function(tagData){
  656.                     try{
  657.                       return `<div class='tagify__dropdown__item ${tagData.class ? tagData.class : ""}'>
  658.                       ${tagData.value}</div>`
  659.                     }
  660.                     catch(err){}
  661.                 }
  662.             },
  663.             enforceWhitelist : true,
  664.             whitelist : {{ filter.species|raw }},
  665.             dropdown : {
  666.                 enabled: 3 // suggest tags after a single character input
  667.             } // map tags' values to this property name, so this property will be the actual value and not the printed value on the screen
  668.         }),
  669.             controller; // for aborting the call
  670.         // listen to any keystrokes which modify tagify's input
  671.         tagify_species.on('input', onInput_species);
  672.         function onInput_species( e ){
  673.           var value = e.detail.value;
  674.           tagify_species.settings.whitelist.length = 0; // reset the whitelist
  675.           // https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort
  676.           controller && controller.abort();
  677.           controller = new AbortController();
  678.           // show loading animation and hide the suggestions dropdown
  679.           tagify_species.loading(true).dropdown.hide.call(tagify_species)
  680.           fetch('{{ path('api_fossildb_species') }}/?query=' + value, {signal:controller.signal})
  681.             .then(RES => RES.json())
  682.             .then(function(whitelist){
  683.               // update inwhitelist Array in-place
  684.               tagify_species.settings.whitelist.splice(0, whitelist.length, ...whitelist)
  685.               tagify_species.loading(false).dropdown.show.call(tagify_species, value); // render the suggestions dropdown
  686.             })
  687.         }
  688. // END Species
  689. // START User
  690.         var tagify_user = new Tagify(document.querySelector('input[id="fossildb_search_form_user"]'), {
  691.             delimiters : null,
  692.             //maxTags : 1,
  693.             templates : {
  694.                 tag : function(v, tagData){
  695.                     try{
  696.                     return `<tag title='${v}' contenteditable='false' spellcheck="false" class='tagify__tag ${tagData.class ? tagData.class : ""}' ${this.getAttributes(tagData)}>
  697.                                 <x title='remove tag' class='tagify__tag__removeBtn'></x>
  698.                                 <div>${v}</div>
  699.                             </tag>`
  700.                     }
  701.                     catch(err){}
  702.                 },
  703.                 dropdownItem : function(tagData){
  704.                     try{
  705.                       return `<div class='tagify__dropdown__item ${tagData.class ? tagData.class : ""}'>
  706.                       ${tagData.value}</div>`
  707.                     }
  708.                     catch(err){}
  709.                 }
  710.             },
  711.             enforceWhitelist : true,
  712.             whitelist : {{ filter.user|raw }},
  713.             dropdown : {
  714.                 enabled: 3 // suggest tags after a single character input
  715.             } // map tags' values to this property name, so this property will be the actual value and not the printed value on the screen
  716.         }),
  717.             controller; // for aborting the call
  718.         // listen to any keystrokes which modify tagify's input
  719.         tagify_user.on('input', onInput_user);
  720.         function onInput_user( e ){
  721.           var value = e.detail.value;
  722.           tagify_user.settings.whitelist.length = 0; // reset the whitelist
  723.           // https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort
  724.           controller && controller.abort();
  725.           controller = new AbortController();
  726.           // show loading animation and hide the suggestions dropdown
  727.           tagify_user.loading(true).dropdown.hide.call(tagify_user)
  728.           fetch('{{ path('api_getuser') }}/?query=' + value, {signal:controller.signal})
  729.             .then(RES => RES.json())
  730.             .then(function(whitelist){
  731.               // update inwhitelist Array in-place
  732.               tagify_user.settings.whitelist.splice(0, whitelist.length, ...whitelist)
  733.               tagify_user.loading(false).dropdown.show.call(tagify_user, value); // render the suggestions dropdown
  734.             })
  735.         }
  736. // END User
  737.         jQuery(document).ready(function() {
  738.           $('.js-datepicker').datepicker({
  739.             calendarWeeks: true,
  740.             autoclose: true,
  741.             clearBtn: true,
  742.             todayHighlight: true,
  743.             format: "dd-mm-yyyy",
  744.           });
  745.         $('.js-autocomplete').each(function() {
  746.             var autocompleteUrl = $(this).data('autocomplete-url');
  747.             $(this).autocomplete({hint: false}, [
  748.                 {
  749.                     source: function(query, cb) {
  750.                         $.ajax({
  751.                             url: autocompleteUrl+'?query='+query,
  752.                         }).then(function(data) {
  753.                             cb(data.pages);
  754.                         });
  755.                     },
  756.                     displayKey: 'id',
  757.                     name: 'page',
  758.                     debounce: 500 // only request every 1/2 second
  759.                 }
  760.             ])
  761.         });
  762.       });
  763.     </script>
  764.     <script src="https://cdnjs.cloudflare.com/ajax/libs/ekko-lightbox/5.3.0/ekko-lightbox.min.js"></script>
  765.     <script>
  766.     $(document).on('click', '[data-toggle="lightbox"]', function(event) {
  767.         event.preventDefault();
  768.         $(this).ekkoLightbox({
  769.             wrapping: true,
  770.         });
  771.     });
  772.     </script>
  773. {% endblock %}