Загрузка данных


<button type="button"
        class="btn btn-danger pull-right"
        id="deleteFnsRequestBtn"
        disabled>
    <span class="glyphicon glyphicon-trash"></span>
    Удалить
</button>



function updateDeleteFnsRequestState() {
    const modelData = getSelectedFnsRows();
    const rows = modelData && modelData.list ? modelData.list : [];

    let canDelete = false;

    if (rows.length === 1) {
        const row = rows[0];

        // Разрешаем удаление только при явно неотправленном статусе.
        const notSent = row.is_sent_to_fns === false
            || row.is_sent_to_fns === 'false';

        canDelete = notSent && !!row.model_file_id;
    }

    $('#deleteFnsRequestBtn').prop('disabled', !canDelete);
}




drawCallback: function(data, index) {
    updateSelectedRowsState();
    updateDeleteFnsRequestState();
}