templates/widget/point-list/default.html.twig line 1

Open in your IDE?
  1. <div class="site-block points">
  2.     <div class="container">
  3.         <div class="site-heading">{{ title|default|raw }}</div>
  4.     </div>
  5.     <div class="container">
  6.         <div class="points__text content">
  7.             {{ description|default|raw }}
  8.         </div>
  9.         <div class="points__filter">
  10.             <div class="points__filter-city">
  11.                 <div class="form__field">
  12.                     <div class="form__select">
  13.                         <button type="button" class="form__select-button">Все города</button>
  14.                         <svg>
  15.                             <use xlink:href="/images/sprite..svg#arrow-bottom"></use>
  16.                         </svg>
  17.                         <ul class="form__select-dropdown">
  18.                             <li>
  19.                                 <input type="radio" id="l0" name="city" value="" data-type="">
  20.                                 <label for="l0">Все города</label>
  21.                             </li>
  22.                             {% for city in cities %}
  23.                                 <li>
  24.                                     <input type="radio" id="l{{ loop.index }}" name="city" value="{{ city }}" data-type="{{ city }}">
  25.                                     <label for="l{{ loop.index }}">{{ city }}</label>
  26.                                 </li>
  27.                             {% endfor %}
  28.                         </ul>
  29.                     </div>
  30.                     <script>
  31.                         let url = new URL(window.location.href)
  32.                         let selectedCity = url.searchParams.get('city')
  33.                         document.querySelectorAll('[name="city"]').forEach(el => {
  34.                             if(selectedCity && selectedCity === el.value){
  35.                                 el.checked = true
  36.                                 let selectEl = el.closest('.form__select')
  37.                                 selectEl.classList.add('selected')
  38.                                 selectEl.querySelector('button').innerText = selectedCity
  39.                             }
  40.                             el.addEventListener('change', e => {
  41.                                 let value = e.target.value
  42.                                 if(el.id === 'l0') window.location.href = window.location.pathname
  43.                                 else window.location.href = `${window.location.pathname}?city=${value}`
  44.                             })
  45.                         })
  46.                     </script>
  47.                 </div>
  48.             </div>
  49.             <div class="points__filter-buttons">
  50.                 <div class="item selected" data-tab="list">
  51.                     <svg>
  52.                         <use xlink:href="/images/sprite..svg#list" />
  53.                     </svg>
  54.                     <span>Списком</span>
  55.                 </div>
  56.                 <div class="item" data-tab="map">
  57.                     <svg>
  58.                         <use xlink:href="/images/sprite..svg#map" />
  59.                     </svg>
  60.                     <span>На карте</span>
  61.                 </div>
  62.             </div>
  63.         </div>
  64.         <div class="points__tabs">
  65.             <div class="site-tabs__area">
  66.                 <div class="site-tabs__item selected" data-tab="list">
  67.                     <div class="points__list">
  68.                         <div class="points__list-row points__list-headings">
  69.                             <div class="cell">Город</div>
  70.                             <div class="cell">Адрес</div>
  71.                             <div class="cell">Режим работы</div>
  72.                             <div class="cell">Контакты</div>
  73.                         </div>
  74.                         {% for point in points %}
  75.                             <div class="points__list-row item" data-coordinates="{{ point.coordinates|join(',') }}">
  76.                                 <div class="cell">{{point.city}}</div>
  77.                                 <div class="cell">{{point.address}}</div>
  78.                                 <div class="cell">{{point.worktime}}</div>
  79.                                 <div class="cell">
  80.                                     {{ point.contacts }}
  81.                                 </div>
  82.                             </div>
  83.                         {% endfor %}
  84.                     </div>
  85.                 </div>
  86.                 <div class="site-tabs__item" data-tab="map">
  87.                     <div class="points__map">
  88.                         <div id="map"></div>
  89.                     </div>
  90.                 </div>
  91.             </div>
  92.         </div>
  93.     </div>
  94. </div>