var provider = {
    settings: {
        ajaxUrl: ''
    },
    init: function() {
        provider.initDataTable();
    },
    initDataTable: function() {

        var callBack = function() {
        };

        provider.dataList = jQ('#provider-datalist').DataTable({
            'processing': true,
            'serverSide': true,
            'ajax': {
                'url': provider.settings.ajaxUrl,
                'data': function(d) {
                    d.url = global.settings.url;
                    d.status = jQ("#status").val();
                }
            },
            'deferRender': true,
            'columnDefs': [
                { 'orderable': false, 'targets': 8 },
                { 'searchable': false, 'targets': 8 }
            ],
            drawCallback: function() {
                callBack();
            },
            responsive: {
                details: {
                    renderer: function( api,rowIdx ) {
                        return global.dataTableResponsiveCallBack(api, rowIdx, callBack);
                    }
                }
            }
        });

        jQ('#status').on('change', function(){
            provider.dataList.draw();
        });

        jQ('.content-container').removeClass('has-loading');
        jQ('.content-container-content').removeClass('hide');
    }
};