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();
},
}
}