<div class="table-responsive">
    <table id="TekZoznamPoctuKontrolPodlaStavuDataTable" class="table table-hover" style="width:100%">
        <thead class="bg-secondary">
        <tr>
            <th class="text-left">Technik</th>
            @foreach($TekZoznamPoctuKontrolPodlaStavuDataTableComposer['stlpce'] as $stlpec)
                @if(!$loop->last)
                    <th class="text-left"></th>
                @endif
            @endforeach
        </tr>
        </thead>
        <tbody></tbody>
        <tfoot>
        <tr>
            <th class="text-left">Spolu</th>
            @foreach($TekZoznamPoctuKontrolPodlaStavuDataTableComposer['stlpce'] as $stlpec)
                @if(!$loop->last)
                    <th class="text-left"></th>
                @endif
            @endforeach
        </tr>
        </tfoot>
    </table>
</div>

@push('scripts')
    <script type="text/javascript">
      $(document).ready(function () {
        $('#TekZoznamPoctuKontrolPodlaStavuDataTable').DataTable({
          dom: '<"wrapper"<"row"<"col"B><"col"f>><t>>',
          language: {
            url: 'https://cdn.datatables.net/plug-ins/1.10.24/i18n/Slovak.json',
          },
          columns: @json(empty($TekZoznamPoctuKontrolPodlaStavuDataTableComposer['stlpce']) ? null : $TekZoznamPoctuKontrolPodlaStavuDataTableComposer['stlpce']),
          data: @json(empty($TekZoznamPoctuKontrolPodlaStavuDataTableComposer['udaje']) ? null : $TekZoznamPoctuKontrolPodlaStavuDataTableComposer['udaje']),
          info: false,
          paging: false,
          searching: true,
          buttons: [
            {
              extend: 'print',
              text: 'Tlačiť',
              title: 'Počet kontrol podľa stavu za obdobie od {{ $datumOd }} do {{ $datumDo }}',
              footer: true,
            },
            {
              extend: 'pdfHtml5',
              orientation: 'landscape',
              pageSize: 'A4',
              title: 'Počet kontrol podľa stavu za obdobie od {{ $datumOd }} do {{ $datumDo }}',
              footer: true,
              filename: 'pek_pocet_kontrol_podla_stavu_{{ $datumOd }}_{{ $datumDo }}',
            },
            {
              extend: 'excelHtml5',
              footer: false,
              filename: 'tek_pocet_kontrol_podla_stavu_{{ $datumOd }}_{{ $datumDo }}',
              sheetName: 'zoznam',
            },
          ],
          footerCallback: function (row, data, start, end, display) {
            const total = [
            @foreach($TekZoznamPoctuKontrolPodlaStavuDataTableComposer['stlpce'] as $stlpec)
                @if(!$loop->last)
              {index: {{ $loop->index + 1 }}, hodnota: getValue(this.api(), {{ $loop->index + 1 }})},
                @endif
            @endforeach
            ]

            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