templates/Nordinfo/Main/glossaire.html.twig line 1

Open in your IDE?
  1. {% extends 'Nordinfo/Main/base.html.twig' %}
  2. {% block title %}{{ title }} - Nord Info{% endblock %}
  3. {% block body %}
  4.   <main role="main" id="mainContent" tabindex="-1">
  5.     {% include 'Nordinfo/Main/parts/back_btn.html.twig' with {'back_btn_class':'--nordServices --barHeading'} %}
  6.     <div class="barHeading">
  7.       <h1>Glossaire</h1>
  8.     </div>
  9.     <div class="containerListGlossaryOuter">
  10.       <div class="barLetters --leftOnMobile --sticky" data-sticky>
  11.         <nav>
  12.           <ul>
  13.             {% for letter in letters %}
  14.               <li><a href="#lettre_{{ letter[1] }}" aria-label="Se diriger vers la liste du glossaire de la lettre {{ letter[1] }}" data-anchor-smooth>{{ letter[1] }}</a></li>
  15.             {% endfor %}
  16.           </ul>
  17.         </nav>
  18.       </div>
  19.       <ul class="containerListGlossary --leftMenu">
  20.         {% set first_letter = null %}
  21.         {% set current_letter = null %}
  22.         {% set alternative = false %}
  23.         {% for glossaire in glossaires %}
  24.           {% set first_letter = glossaire.terme|first|lower %}
  25.           {% if first_letter != current_letter %}
  26.             {% set current_letter = first_letter %}
  27.             {% if loop.first == false %}</dl></div></li>{% endif %}
  28.             {% if alternative == false %}
  29.               {% set alternative = true %}
  30.             {% else %}
  31.               {% set alternative = false %}
  32.             {% endif %}
  33.             <li class="col item {% if alternative == false %}dark{% endif %}">
  34.             <div class="container">
  35.             <h2 id="lettre_{{ current_letter|upper }}" class="__letter">{{ current_letter|upper }}</h2>
  36.             <dl class="gridGlossary gridGlossary-{{ current_letter }}" style="position:relative;">
  37.             <div class="gridGlossary__sizer"></div>
  38.           {% endif %}
  39.           {{ include('Lenord/Main/parts/part-glossaire.html.twig') }}
  40.           {% if loop.last %}</dl></div></li>{% endif %}
  41.         {% endfor %}
  42.       </ul>
  43.     </div>
  44.   </main>
  45. {% endblock %}
  46. {% block include_js %}
  47.   <script>
  48.     (function() {
  49.       $('.gridGlossary').masonry({
  50.         itemSelector: '.gridGlossary__item',
  51.         columnWidth: '.gridGlossary__sizer',
  52.         percentPosition: true,
  53.         gutter: 80,
  54.         horizontalOrder: true
  55.       });
  56.       const mut = new MutationObserver((mutations, mut) => {
  57.         $('.gridGlossary').masonry({
  58.           itemSelector: '.gridGlossary__item',
  59.           columnWidth: '.gridGlossary__sizer',
  60.           percentPosition: true,
  61.           gutter: 80,
  62.           horizontalOrder: true
  63.         });
  64.       });
  65.       const html = document.documentElement
  66.       mut.observe(html, {
  67.         'attributes': true
  68.       });
  69.       setTimeout(() => {
  70.         html.className = 'bar'
  71.       }, 1000)
  72.     })();
  73.   </script>
  74.   <script>
  75.     (function () {
  76.       let anchorsInContent = document.querySelectorAll('.containerListGlossary a');
  77.       for (let i = 0; i < anchorsInContent.length; i++) {
  78.         if (anchorsInContent[i].host !== window.location.host) {
  79.           if (!anchorsInContent[i].classList.contains('no-external-icon')) {
  80.             let isTel = false;
  81.             let isEmail = false;
  82.             let href = anchorsInContent[i].getAttribute('href');
  83.             if (href.startsWith('tel')) {
  84.               isTel = true;
  85.             }
  86.             if (href.startsWith('mailto')) {
  87.               isEmail = true;
  88.             }
  89.             if (!isTel && !isEmail) {
  90.               anchorsInContent[i].classList.add('link-external');
  91.               anchorsInContent[i].setAttribute('target', '_blank');
  92.             }
  93.           }
  94.         }
  95.       }
  96.     })();
  97.   </script>
  98. {% endblock %}