templates/backend/dashboard/_filter.html.twig line 1

Open in your IDE?
  1. {# <div class="pull-right">
  2.     <form action="{{ path('dashboard') }}" method="POST">
  3.         <div style="display: flex; align-items: center;">
  4.            
  5.             <div style="margin-left: 3px;">
  6.                 <input type="hidden" name="full" value="{{full}}">
  7.                 <select name="tipe_tahun" class="form-control" id="tipe">
  8.                     <option value="1" {{ tipe_tahun == 1 ? 'selected' : '' }}>Tahun Anggaran</option>
  9.                     <option value="2" {{ tipe_tahun == 2 ? 'selected' : '' }}>Tahun Kalender</option>
  10.                 </select>
  11.             </div>
  12.             <div style="margin-left: 3px;" class="tahun">
  13.                 <select class="form-control" name="tahun">
  14.                     {% set current_year = "now"|date("Y") %}
  15.                     {% for a in range(2024, current_year)|reverse %}
  16.                         <option value="{{ a }}" {{ tahun == a ? 'selected' : '' }}>{{ a }}</option>
  17.                     {% endfor %}
  18.                 </select>
  19.             </div>
  20.             <div style="margin-left: 3px;" class="periode">
  21.                 <input type="date" class="form-control" value="{{ tanggal_awal }}" name="tanggal_awal">
  22.             </div>
  23.             <div style="padding-top: 5px; {{ full == 1 ? 'color: white;' : '' }}" class="periode">Sampai</div>
  24.             <div style="margin-left: 3px;" class="periode">
  25.                 <input type="date" class="form-control" value="{{ tanggal_akhir }}" name="tanggal_akhir">
  26.             </div>
  27.             <div style="margin-left: 3px;">
  28.                 <button type="submit" name="submit" class="btn btn-success">
  29.                     <i class="fa fa-search"></i> <span>{{ 'filter'|trans }}</span>
  30.                 </button>
  31.             </div>
  32.         </div>
  33.     </form>
  34. </div> #}
  35. <div class="float-end"></div>
  36. <div class="col-lg-12 col-md-6 d-flex align-items-stretch">
  37.   <div class="card w-100 overflow-hidden rounded-4">
  38.     <div class="card-body position-relative p-4">
  39.       <div class="d-flex justify-content-between align-items-center mb-3">
  40.         <h5 class="card-title mb-0">Filter Data</h5>
  41.         <div class="form-check form-switch tahun">
  42.             {% if module == 'dashboard' %}
  43.             <input data-bs-toggle="tooltip"  data-bs-placement="top" data-bs-theme="dark"  title="Klik untuk membandingkan dengan tahun sebelumnya" class="form-check-input" type="checkbox" id="flexSwitchCheckChecked">
  44.             <label class="form-check-label" for="flexSwitchCheckChecked"></label>
  45.             {% endif %}
  46.           </div>
  47.       </div>
  48.       <form action="{{ path(module) }}" method="POST" class="row g-3">
  49.         <div class="col-md-3">
  50.           <label for="input21" class="form-label">Tipe Tahun</label>
  51.           <input type="hidden" name="full" value="{{ full }}">
  52.           <select name="tipe_tahun" class="form-select" id="tipe">
  53.             <option value="1" {{ tipe_tahun == 1 ? 'selected' : '' }}>Tahun Anggaran</option>
  54.             <option value="2" {{ tipe_tahun == 2 ? 'selected' : '' }}>Tahun Kalender</option>
  55.           </select>
  56.         </div>
  57.         <div class="col-md-3 tahun-anggaran">
  58.           <label for="input20" class="form-label">Tahun Anggaran</label>
  59.           <div class="position-relative">
  60.             <select class="form-control" id="tahun" name="tahun">
  61.               {% set current_year = "now"|date("Y") %}
  62.               {% for a in range(2024, current_year + 1)|reverse %}
  63.                 <option value="{{ a }}" {{ tahun == a ? 'selected' : '' }}>{{ a }}</option>
  64.               {% endfor %}
  65.             </select>
  66.           </div>
  67.         </div>
  68.         <div class="col-md-3 periode">
  69.           <label for="input22" class="form-label">Mulai</label>
  70.           <div class="position-relative">
  71.             <input type="date" class="form-control" id="input22" value="{{ tanggal_awal }}" name="tanggal_awal">
  72.           </div>
  73.         </div>
  74.         <div class="col-md-3 periode">
  75.           <label for="input23" class="form-label">Sampai</label>
  76.           <div class="position-relative">
  77.             <input type="date" class="form-control" id="input23" value="{{ tanggal_akhir }}" name="tanggal_akhir">
  78.           </div>
  79.         </div>
  80.         <div class="col-md-2 d-flex align-items-end">
  81.           <div class="d-md-flex d-grid align-items-center gap-3">
  82.             <button type="submit" class="btn btn-grd-primary px-4">Filter</button>
  83.           </div>
  84.         </div>
  85.       </form>
  86.       {# <div class="col-md-6 d-flex align-items-end"> #}
  87.         <div class="float-end">Last Update: {{last_update }}</div>
  88.       {# </div> #}
  89.     </div>
  90.      
  91.   </div>
  92. </div>
  93. <script>
  94. document.addEventListener('DOMContentLoaded', function () {
  95.     const tipeSelect = document.getElementById('tipe');
  96.     const tahunFilterDiv = document.querySelector('.tahun');
  97.     const tahunDiv = document.querySelector('.tahun-anggaran');
  98.     const periodeDivs = document.querySelectorAll('.periode');
  99.     const filter_komparasiDivs = document.querySelector('.filter_komparasi');
  100.     function toggleFields() {
  101.         if (tipeSelect.value === '1') { // Tahun Anggaran
  102.             tahunDiv.classList.remove('d-none');
  103.             tahunFilterDiv.classList.remove('d-none');
  104.             periodeDivs.forEach(div => div.classList.add('d-none'));
  105.             filter_komparasiDivs.classList.add('d-none');
  106.         } else { // Tahun Kalender
  107.             tahunDiv.classList.add('d-none');
  108.             tahunFilterDiv.classList.add('d-none');
  109.             periodeDivs.forEach(div => div.classList.remove('d-none'));
  110.             filter_komparasiDivs.classList.add('d-none');
  111.         }
  112.     }
  113.     tipeSelect.addEventListener('change', toggleFields);
  114.     toggleFields(); // Jalankan saat halaman pertama kali load
  115. });
  116. </script>