$(document).ready(function(){ const ajax_url = base_url + 'admin/ExamAjax.php'; $('.select2').select2(); const SwalShowloading = (message = '') => { Swal.fire({ title: 'Loading....', html: message, allowOutsideClick: false, showCancelButton: false, showConfirmButton: false }); Swal.showLoading(); } const SwalHideLoading = () => { Swal.hideLoading(); Swal.close(); }; const SwalWarning = (message) => { Swal.fire({ title: 'Notice', icon : 'warning', html: message, allowOutsideClick: false }); } var sn = 1; const list_Exams = $('#list-exams').DataTable({ ajax: { url: ajax_url, data : {status : 'exam_list'}, success: function (d) { // console.log(d); if (d.data && d.data.length) { list_Exams.clear(); list_Exams.rows.add(d.data).draw(); $('input[type="checkbox"].flat-red, input[type="radio"].flat-red').iCheck({ checkboxClass: 'icheckbox_flat-green', radioClass : 'iradio_flat-green' }) $('input[type="checkbox"].minimal, input[type="radio"].minimal').iCheck({ checkboxClass: 'icheckbox_minimal-blue', radioClass : 'iradio_minimal-blue' }) //Red color scheme for iCheck $('input[type="checkbox"].minimal-red, input[type="radio"].minimal-red').iCheck({ checkboxClass: 'icheckbox_minimal-red', radioClass : 'iradio_minimal-red' }) } else { toastr.error('Table Data Not Found.'); // DataTableEmptyMessage(table); } }, error : function(a,b,v){ console.warn(a.responseText); } }, columns: [ {'data' : 'id'}, {'data' : null}, {'data' : 'exam_name'}, {'data' : 'max_questions'}, {'data' : null}, {'data' : null}, {'data' : null}, {'data' : null} ], columnDefs: [ { targets : 0, render : function(data,type,row){ return `${sn++}.`; } }, { target : 1, render : function(data,type,row){ return `${row.course_name}`; } }, { targets: 3, render : function(data,typ,row){ return `${data} Question(s)`; } }, { targets : 4, orderable: false, render : function(data,type,row){ return ` Add`; } }, { targets : 5, orderable: false, render : function(data,type,row){ return ``; } }, { targets : 6, orderable: false, render : function(data,type,row){ return `
`; } }, { targets : -1, data: null, orderable: false, className: 'text-end', render : function(data,type,row){ return ``; } }, ] }); $(document).on('click','.set-schedual',function(){ var id = $(this).data('id'), start_date = $(this).data('start'), end_date = $(this).data('end'), btn = this; $.confirm({ title : 'Set Schedule', icon : 'fa fa-clock-o', theme : 'bootstrap', content : `
`, buttons : { formSubmit : { text : 'Save', icon : 'fa fa-save', btnClass : 'btn-success', action : function(){ var start = this.$content.find('.start').val(); var end = this.$content.find('.end').val(); var status = 'set-exam-schedule'; if(!start || !end){ $.alert('provide valid Both dates'); return false; } if(start > end){ $.alert('Select Valid dates'); return false; } SwalShowloading(); // $.alert('Your name is ' + start + ',' + end); $.post(ajax_url,{ id,start,end,status },function(res){ res = JSON.parse(res); //if(res.status){ $(btn).data('start',start); $(btn).data('end',end); toastr.success("Schedule Set Successfully.."); SwalHideLoading(); }); } }, cancel:function(){ } }, onContentReady: function () { // bind to events var jc = this; this.$content.find('form').on('submit', function (e) { // if the user submits the form by pressing enter in the field. e.preventDefault(); jc.$$formSubmit.trigger('click'); // reference the button and click it }); var options = { enableTime: true, dateFormat: "Y-m-d H:i", // Customize the date and time format as needed theme: "material_green", minDate : 'today' }; this.$content.find('input[name="start"]').flatpickr(options); this.$content.find('input[name="end"]').flatpickr(options); } }); }) //change-status $(document).on('change','.change-status',function(){ var id = $(this).val(); var exam_id = $(this).closest('label').data('id'); // alert(id); $.post(ajax_url,{status:'change-exam-status',eStatus : id, exam_id : exam_id },function(r){ console.log(r); toastr.success('Exam Activation Status Update Successfully...'); }); }); $(document).on('click','.delete-row',function(){ var id = $(this).data('id'); var td = this, tdValue = $(td).html(); Swal.fire({ html: "Are you sure you want to delete?", icon: "warning", showCancelButton: true, buttonsStyling: false, confirmButtonText: "Yes, delete!", cancelButtonText: "No, cancel", customClass: { confirmButton: "btn fw-bold btn-danger", cancelButton: "btn fw-bold btn-active-light-primary" } }).then(function (result) { if (result.value) { // alert('Please Wait,,'+ result.value); $.post(ajax_url,{status : 'delete_exam','id' : id},function(res){ // console.log(res); toastr.success('Exam and exam\'s Question and question of all answers Removed Successfully..'); location.reload(); }) } else if (result.dismiss === 'cancel') { Swal.fire({ text: "Exam was not deleted.", icon: "error", buttonsStyling: false, confirmButtonText: "Ok, got it!", customClass: { confirmButton: "btn fw-bold btn-primary", } }); } }); }) $('#exam-form').bootstrapValidator({ fields: { 'exam_name': { validators: { notEmpty: { message: 'Please Enter Exam Name' }, // Add other validators as needed } }, course_id : { validators : { notEmpty:{ message : 'Select A Course' } } } } }); var i = 1; $('#exam-form').on('submit',function(e){ e.preventDefault(); // alert(0); if($(this).find('.has-error').length == 0 && i){ i = 0; console.log($(this).serialize()); var btn = $(this).find('.save-btn'), btnHtml = $(btn).html(); $(btn).html(' Please Wait..').prop('disabled',true); $.ajax({ type : 'POST', url : ajax_url,//'admin/Ajax.php', data : $(this).serialize(), dataType : 'json', success : function(res){ console.log(res); i =1; if(res.status){ toastr.success('Exam created Successfully..'); document.getElementById('exam-form').reset(); location.reload(); } else{ toastr.error(res.message); } $(btn).html(btnHtml).prop('disabled',false); }, error: function(a,v,c){ i = 1; console.warn(a.responseText); $(btn).html(btnHtml).prop('disabled',false); } }); } }); });