| Current Path : /var/www/html/llcfapp/public/http/ |
| Current File : /var/www/html/llcfapp/public/http/spstudent.js |
//#region Importing form properties from autoloader.js
var form_props = getFormProps('spstudent');
var form_props_spear = getFormProps('spear');
//#endregion
if(window.location.href.indexOf(form_props.grid.replace('#', '')) == -1){
//#region Creating POST request for inserting spear
$(form_props.form_id).submit(function( event ) {
if($(form_props.form_id).valid()){
var url = "";
var update = false;
var msg = "";
if($(form_props.input_id).val() == "-1"){
url = getConfig("baseUrl")+`resource=${form_props.resource}&action=${form_props.createOne}`;
}else if(parseInt($(form_props.input_id).val()) > 0){
url = getConfig("baseUrl")+`resource=${form_props.resource}&action=${form_props.updateOne}`;
update = true;
}
var formData = $( this ).serialize();
// console.log(formData);
$.post( url, formData, (res)=>{
$(form_props.submit_btn).attr("disabled", true);
var json = JSON.parse(res);
// console.log(json);
if(json.status == "success"){
resetForm(form_props.form_id);
if(update){
msg = `${form_props.resource} has been updated successfully`;
}else{
msg = `${form_props.resource} has been created successfully`;
}
$.toast({heading: 'Success', text: msg, showHideTransition: 'slide', icon: 'success', hideAfter: getConfig("toastHideAfter")});
}else if(json.status == "failure"){
$.toast({heading: 'Information', text: json.msg, showHideTransition: 'slide', icon: 'info', hideAfter: getConfig("toastHideAfter")});
}else{
$.toast({heading: 'Error', text: 'Some thing went wrong', showHideTransition: 'fade', icon: 'error', hideAfter: getConfig("toastHideAfter")});
}
});
setTimeout(()=>{
$(form_props.submit_btn).attr("disabled", false);
}, getConfig("toastHideAfter"));
}
event.preventDefault();
});
//#endregion
//#region Search for semis code when semis code exits in url
var validator;
var form;
var entity_id;
if(window.location.href.indexOf(form_props.input_semis_code.replace("#", "")) != -1){
form = form_props.form_id;
validator = $(form_props.form_id).validate();
entity_id = $(form_props.input_semis_code);
entity_id.focusout(function(){
if(validator.element(entity_id)){
url = getConfig("baseUrl")+`resource=${form_props_spear.resource}&action=${form_props_spear.getOneBySemisCode}`;
if(entity_id.val().trim() != ""){
var formData = $( form ).serialize();
$.post( url, formData, (res)=>{
var json = JSON.parse(res);
if(json.status == "success" && json.rowsAffected > 0){
setFormInputValues(json.result[0], form_props, [form_props.input_id]);
$.toast({heading: 'Success', text: json.msg, showHideTransition: 'slide', icon: 'success', hideAfter: getConfig("toastHideAfter")});
}else if(json.status == "failure" || json.rowsAffected == 0){
$.toast({heading: 'Information', text: json.msg, showHideTransition: 'slide', icon: 'info', hideAfter: getConfig("toastHideAfter")});
}else{
$.toast({heading: 'Error', text: 'Some thing went wrong', showHideTransition: 'fade', icon: 'error', hideAfter: getConfig("toastHideAfter")});
}
});
}
}
});
$(form_props.input_semis_code).trigger("focusout");
}
//#endregion
//#region Search for student id when student id exits in url
var validator;
var form;
var entity_id;
if(window.location.href.indexOf(form_props.input_id.replace("#", "")) > -1){
form = form_props.form_id;
validator = $(form_props.form_id).validate();
entity_id = $(form_props.input_id);
entity_id.focusout(function(){
if(validator.element(entity_id)){
url = getConfig("baseUrl")+`resource=${form_props.resource}&action=${form_props.getOneById}`;
if(entity_id.val().trim() != ""){
var formData = $( form ).serialize();
$.post( url, formData, (res)=>{
var json = JSON.parse(res);
if(json.status == "success" && json.rowsAffected > 0){
setFormInputValues(json.result[0], form_props);
$.toast({heading: 'Success', text: json.msg, showHideTransition: 'slide', icon: 'success', hideAfter: getConfig("toastHideAfter")});
}else if(json.status == "failure" || json.rowsAffected == 0){
$.toast({heading: 'Information', text: json.msg, showHideTransition: 'slide', icon: 'info', hideAfter: getConfig("toastHideAfter")});
}else{
$.toast({heading: 'Error', text: 'Some thing went wrong', showHideTransition: 'fade', icon: 'error', hideAfter: getConfig("toastHideAfter")});
}
});
}
}
});
$(form_props.input_id).trigger("focusout");
}
//#endregion
}
//#region Students Datatable
if (window.location.href.indexOf(form_props.grid.replace("#", "")) > -1) {
$(document).ready(function () {
// DataTable
var table = $(form_props.grid)
.DataTable({
scrollY: "56vh",
scrollX: true,
scrollCollapse: true,
// responsive: true,
paging: true,
pageLength: 50,
fixedColumns: {
left: 2,
right: 1
},
fixedColumns: true,
processing: true,
serverMethod: "post",
serverSide: true,
ajax:
getConfig("baseUrl") +
`resource=${form_props.resource}&action=${form_props.getAll}`,
columns: [
{data: `${form_props.resource.toLowerCase()}||id`},
{
data: `${form_props.resource.toLowerCase()}||id`,
render: function (data, type, row, meta) {
var a = `<a title='Click to update ${form_props.resource.toLowerCase()}' href='${form_props.resource.toLowerCase()}.php?${form_props.input_id.replace("#","")}=`;
a += row[form_props.resource.toLowerCase() + "||" +form_props.input_id.replace("#", "")];
a += `&${form_props.input_semis_code.replace("#","")}=` + row[form_props_spear.resource.toLowerCase()+ "||" + form_props.input_semis_code.replace("#", "")];
a += "'> Update";
a += "</a>";
return a;
},
},
// { data: `${form_props.resource.toLowerCase()}||auto_gr_num` },
{ data: `${form_props.resource.toLowerCase()}||spear_id` },
{ data: `${form_props_spear.resource.toLowerCase()}||semis_code` },
{ data: `${form_props_spear.resource.toLowerCase()}||school_name` },
{ data: `${form_props.resource.toLowerCase()}||gr_num` },
{ data: `${form_props.resource.toLowerCase()}||student_name` },
{ data: `${form_props.resource.toLowerCase()}||dob` },
{ data: `${form_props.resource.toLowerCase()}||stu_age` },
{ data: `${form_props.resource.toLowerCase()}||b_form_num` },
{ data: `${form_props.resource.toLowerCase()}||father_name` },
{ data: `${form_props.resource.toLowerCase()}||father_cnic` },
{ data: `${form_props.resource.toLowerCase()}||father_mobile` },
{ data: `${form_props.resource.toLowerCase()}||mother_name` },
{ data: `${form_props.resource.toLowerCase()}||class` },
{ data: `${form_props.resource.toLowerCase()}||religion` },
],
columnDefs: [{ targets: [1, 8], orderable: false },],
dom: "Bfrtip",
lengthMenu: [
[10, 25, 50, -1],
["10 rows", "25 rows", "50 rows", "Show all"],
],
buttons: [
{
extend: "colvis",
postfixButtons: ["colvisRestore"],
columnText: function (dt, idx, title) {
return idx + 1 + ": " + title;
},
},
"pageLength",
{
extend: "pdfHtml5",
orientation: "landscape",
pageSize: "LEGAL",
title: `Export: Students | Date: ${setDatePicker()} | Type: PDF`,
exportOptions: {
columns: ':visible',
},
customize: function(doc) {
doc.content[1].table.headerRows = 0
}
},
{
extend: 'csvHtml5',
title: `Export: Students | Date: ${setDatePicker()} | Type: CSV`,
exportOptions: {
columns: ':visible',
}
},
{
extend: 'excelHtml5',
title: `Export: Students | Date: ${setDatePicker()} | Type: EXCEL`,
exportOptions: {
columns: ':visible',
}
},
{
extend: "copy",
attr: { id: "allan" },
exportOptions: {
columns: ':visible',
}
},
],
select: true,
initComplete: function () {
this.api()
.columns([0, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12])
.every(function () {
var that = this;
var input = $('<input type="text" placeholder="Search" />')
.appendTo($(this.footer()).empty())
.on("keyup change", function () {
if (that.search() !== this.value) {
that.search(this.value).draw();
}
});
});
},
})
.columns.adjust()
.responsive.recalc()
$.fn.dataTable.ext.errMode = "throw";
});
}
//#endregion