import('bootstrap');
import $ from 'jquery';
import 'datatables.net-bs5';

function destroyDataTable(selector: string): void {
    if ($.fn.DataTable.isDataTable(selector)) {
        $(selector).DataTable().destroy();
    }
}

export function initTrialVersionTable(): void {
    destroyDataTable('#trialVersionTable');

    const table = $('.table-responsive');

    table.off('show.bs.dropdown hide.bs.dropdown');
    table.on('show.bs.dropdown', function () {
        $('#trialVersionTable').css('overflow', 'inherit');
    });
    table.on('hide.bs.dropdown', function () {
        $('#trialVersionTable').css('overflow', 'auto');
    });

    $('#trialVersionTable').DataTable({
        initComplete: function () {
            $('input[type="search"]').first().focus();
        },
        stateSave: true,
        autoWidth: true,
        paging: true,
        ordering: true,
        order: [[0, 'asc']],
        serverSide: false,
        columnDefs: [
            { targets: 3, orderable: false },
        ],
    });
}

if (document.getElementById('trialVersionTable') && !document.getElementById('admDashboardOffcanvasContent')) {
    $(function () {
        initTrialVersionTable();
    });
}
