Your IP : 216.73.216.91


Current Path : /var/www/html/llcfapp/public/http/
Upload File :
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