<div class="table-responsive">
    <table id="PekZoznamPoctuKontrolPodlaDruhuPalivaAEmisnehoSystemuVozidlaDataTable" class="table table-hover"
           style="width:100%">
        <thead class="bg-secondary">
        <tr>
            <th class="text-left">Druh paliva a emisného systému</th>
            <th class="text-center">Počet</th>
        </tr>
        </thead>
        <tbody></tbody>
        <tfoot>
        <tr>
            <th class="text-left">Spolu</th>
            <th class="text-center"></th>
        </tr>
        </tfoot>
    </table>
</div>

@push('scripts')
    <script type="text/javascript">
      $(document).ready(function () {
        $('#PekZoznamPoctuKontrolPodlaDruhuPalivaAEmisnehoSystemuVozidlaDataTable').DataTable({
          dom: '<"wrapper"<"row"<"col"B><"col"f>><t>>',
          language: {
            url: 'https://cdn.datatables.net/plug-ins/1.10.24/i18n/Slovak.json',
          },
          data: @json($PekZoznamPoctuKontrolPodlaDruhuPalivaAEmisnehoSystemuVozidlaDataTableComposer),
          info: false,
          paging: false,
          searching: true,
          buttons: [
            {
              extend: 'print',
              text: 'Tlačiť',
              title: 'Počet kontrol podľa emisného systému vozidla za obdobie od {{ $datumOd }} do {{ $datumDo }}',
              footer: true,
            },
            {
              extend: 'pdfHtml5',
              orientation: 'landscape',
              pageSize: 'A4',
              title: 'Počet kontrol podľa emisného systému vozidla za obdobie od {{ $datumOd }} do {{ $datumDo }}',
              footer: true,
              filename: 'pek_pocet_kontrol_podla_emisneho_systemu_vozidla_{{ $datumOd }}_{{ $datumDo }}',
            },
            {
              extend: 'excelHtml5',
              footer: false,
              filename: 'pek_pocet_kontrol_podla_emisneho_systemu_vozidla_{{ $datumOd }}_{{ $datumDo }}',
              sheetName: 'zoznam',
            },
          ],
          columns: [
            {
              title: 'Emisný systém vozidla',
              data: 'label',
              class: 'text-left',
            },
            {
              data: 'data.pocet',
              class: 'text-center',
            },
          ],
          footerCallback: function (row, data, start, end, display) {
            const total = [
              {index: 1, hodnota: getValue(this.api(), 1)},
            ]

            setFooter(total, this.api())
          },
        })

        function getValue(api, col) {
          return api.column(col, {page: 'current'}).data().reduce(function (a, b) {
            return Number(a) + Number(b)
          }, 0)
        }

        function setFooter(cols, api) {
          cols.forEach(function (col) {
            $(api.column(col.index).footer()).html(col.hodnota)
          })
        }
      })
    </script>
@endpush