var Course = function () { var lookupTable = function () { var oTable = $('#course_table').DataTable({ dom: 'Bfrtip', processing: true, serverSide: true, "dom": "<'row'<'col-md-6 col-sm-12'l><'col-md-6 col-sm-12'>r>t<'row'<'col-md-5 col-sm-12'i><'col-md-7 col-sm-12'p>>", "bStateSave": true, // save datatable state(pagination, sort, etc) in cookie. "lengthMenu": [ [10, 15, 20, -1], [10, 15, 20, "All"] // change per page values here ], // set the initial value "pageLength": 10, ajax: { url: lookup_route, data: function (d) { d.course_name = $('input[name=course_name]').val(); d.course_name_operator = $('#course_name_operator').val(); d.course_code = $('input[name=course_code]').val(); d.course_code_operator = $('#course_code_operator').val(); } }, "drawCallback": function(settings) { // console.log(settings.json); $('[data-toggle="tooltip"]').tooltip() }, columns: [ { data: 'rownum', name: 'rownum' }, { data: 'name', name: 'name' }, { data: 'code', name: 'code' }, { data: 'description', name: 'description' }, {data: 'action', name: 'action', orderable: false, searchable: false} ] }); $(document).on('click','.search-form', function(e) { oTable.draw(); e.preventDefault(); }); $(document).on('keypress','.filterControl', function (e) { var code = e.keyCode || e.which; if (code == 13) { oTable.draw(); e.preventDefault(); } }); $(document).on('click', '.filter-reset', function(e) { $('.select2me').each(function () { $(this).val($(this).find('option:first-child').val()).trigger('change.select2'); }); $('.searchOperator').trigger('change'); $(".filterControl").val(""); $('#select_filter').trigger("reset"); oTable.draw(false); }); $(document).on('click', '.delete-course', function(event) { event.preventDefault(); course_id = $(this).data('id'); route = delete_route.replace('-1', course_id); bootbox.confirm({ title: "Delete course?", message: "Are you sure want to delete it?", buttons: { cancel: { label: ' Cancel', className: 'btn-danger' }, confirm: { label: ' Confirm', className: 'btn-success' } }, callback: function (result) { // console.log('This was logged in the callback: ' + result); if (result) { // alert(course_id); $.ajax({ url: route, type:"POST", // dataType:'json', data: { '_method' : 'DELETE' }, success: function(data) { if (data.success) { $('.info-message').html(data.message); info.show().delay(5000).fadeOut(); oTable.draw(false); App.scrollTo(info, -200); } else { $('.error-message').html("Something went wrong."); error.show().delay(4000).fadeOut(); } // location.reload(); }, error: function(data) { $('.error-message').html("Something went wrong."); error.show().delay(4000).fadeOut(); console.log('error'); } }); } } }); }); $(document).on('change','.searchOperator',function(){ var input_id = $(this).attr("id"); //alert(input_id); input_id = input_id.split("_operator"); var input_val = $(this).val(); //alert(input_id[0]); //alert(input_val); if(input_val == "=''" || input_val == "!=''") { $("#"+input_id[0]).val(''); $("#"+input_id[0]+"_div").hide(); $("#"+input_id[0]+"_range").hide(); } else if(input_val == "BETWEEN" || input_val == "NOT BETWEEN") { $("#"+input_id[0]).val(''); $("#"+input_id[0]+"_div").hide(); $("#"+input_id[0]+"_range").show(); } else{ $("#"+input_id[0]+"_div").show(); $("#"+input_id[0]+"_range").hide(); } }); // to focus on Name field (by default) on page load $('#course_name').focus(); } return { //main function initLookupTable: function () { lookupTable(); // pageActions(); }, } }