templates/parts/reguests-filter.html.twig line 1

Open in your IDE?
  1. <div class="table-filters">
  2.     <form name="filters">
  3.         <div class="select-wrap">
  4.             <select name="region" id="region">
  5.                 <option value=""> По місту</option>
  6.                 {% for  key in dataRegions|keys %}
  7.                     {% if geoS.regions[key] is defined and geoS.regions('ukr')[key] %}
  8.                         <option value="{{ key }}" {{ filterData and filterData['region'] == key ? 'selected' }}>{{ geoS.regions('ukr')[key] }}</option>{% endif %}
  9.                 {% endfor %}
  10.             </select>
  11.         </div>
  12.         <div class="select-wrap">
  13.             <select name="country" id="country">
  14.                 <option value=""> По країні</option>
  15.                 {% for  key in dataCountries|keys %}
  16.                     {% if geoS.countries[key] is defined and geoS.countries('ukr')[key] %}
  17.                         <option value="{{ key }}" {{ filterData and filterData['country'] == key ? 'selected' }}>{{ geoS.countries('ukr')[key] }}</option>{% endif %}
  18.                 {% endfor %}
  19.             </select>
  20.         </div>
  21.         <div class="select-wrap">
  22.             <select name="source" id="source">
  23.                 <option value=""> По джерелу</option>
  24.                 {% for  source in sources %}
  25.                     <option value="{{ source.id }}" {{ filterData and filterData['source'] == source.id ? 'selected' }}>{{ source.name }}</option>
  26.                 {% endfor %}
  27.             </select>
  28.         </div>
  29.         <div onclick="addFilters()" class="btn-primar primary-action-btn filter-btn" style="display: none">
  30.             Фільтрувати
  31.         </div>
  32.         <div onclick="removeFilters()" class="clear-filter"></div>
  33.     </form>
  34. </div>
  35. <script>
  36.     $(document).ready(function () {
  37.         $('select').select2({
  38.             sorter: data => data.sort((a, b) => a.text.localeCompare(b.text)),
  39.         });
  40.         $('#region, #country, #source').on('select2:select', function (e) {
  41.             addFilters();
  42.         });
  43.     });
  44.     addFilters = function () {
  45.         $.ajax({
  46.             method: 'POST',
  47.             url: '/api/requests-filter',
  48.             data: $("form[name=filters]").serializeArray(),
  49.         }).done(function (data) {
  50.             window.location = window.location.pathname;
  51.         });
  52.     }
  53.     removeFilters = function () {
  54.         $.ajax({
  55.             method: 'DELETE',
  56.             url: '/api/requests-filter',
  57.         }).done(function (data) {
  58.             window.location = window.location.pathname;
  59.         });
  60.     }
  61. </script>