Your IP : 216.73.216.91


Current Path : /var/www/html/llcfapp/public/http/
Upload File :
Current File : /var/www/html/llcfapp/public/http/health.js

//#region Importing form properties from autoloader.js
var form_props = getFormProps('health');
var form_props_stu = getFormProps('stu');
var form_props_fam = getFormProps('fam');
//#endregion

//#region BMI calc
$(form_props.input_weight).focusout(()=>{
	bmiCalc();
});
$(form_props.input_height_cm).focusout(()=>{
	bmiCalc();
});
function bmiCalc(){
	var w = parseFloat($(form_props.input_weight).val());
	var h2 =  Math.pow(parseFloat($(form_props.input_height_cm).val())/100, 2);
	var bmi = parseFloat(w/h2).toFixed(2);
	var bmi_percentile = "";
	$(form_props.input_bmi).removeClass('border-danger');
	$(form_props.input_bmi).removeClass('border-warning');
	$(form_props.input_bmi).removeClass('border-success');
	if(bmi < 16){
		bmi_percentile = "Severe Thinness";
		$(form_props.input_bmi).addClass('border-danger');
		$(form_props.input_bmi_percentile).addClass('border-danger');
	}else if(bmi >= 16 && bmi <= 17){
		bmi_percentile = "Moderate Thinness";
		$(form_props.input_bmi).addClass('border-warning');
		$(form_props.input_bmi_percentile).addClass('border-warning');
	}else if(bmi > 17 && bmi <= 18.5){
		bmi_percentile = "Mild Thinness";
		$(form_props.input_bmi).addClass('border-warning');
		$(form_props.input_bmi_percentile).addClass('border-warning');
	}else if(bmi > 18.5 && bmi <= 25){
		bmi_percentile = "Normal";
		$(form_props.input_bmi).addClass('border-success');
		$(form_props.input_bmi_percentile).addClass('border-success');
	}else if(bmi > 25 && bmi <= 30){
		bmi_percentile = "Overweight";
		$(form_props.input_bmi).addClass('border-warning');
		$(form_props.input_bmi_percentile).addClass('border-warning');
	}else if(bmi > 30 && bmi <= 35){
		bmi_percentile = "Obese Class I";
		$(form_props.input_bmi).addClass('border-warning');
		$(form_props.input_bmi_percentile).addClass('border-warning');
	}else if(bmi > 35 && bmi <= 40){
		bmi_percentile = "Obese Class II";
		$(form_props.input_bmi).addClass('border-danger');
		$(form_props.input_bmi_percentile).addClass('border-danger');
	}else if(bmi > 40){
		bmi_percentile = "Obese Class III";
		$(form_props.input_bmi).removeClass('border-danger');
		$(form_props.input_bmi_percentile).removeClass('border-danger');
	}else{
		bmi_percentile = "Unknown";
	}
	if(!isNaN(bmi)){
		$(form_props.input_bmi_percentile).val(bmi_percentile);
		$(form_props.input_bmi).val(bmi);
	}else{
		$(form_props.input_bmi_percentile).val('Rq. Height & Weight');
		$(form_props.input_bmi).val('Rq. Height & Weight');
	}
	// if(bmi < 16 || bmi > 35){
	// 	$(form_props.input_bmi).addClass('border-danger');
	// }else if((bmi >= 17 && bmi <= 18.5) || (bmi >= 25 && bmi <= 35)){
	// 	$(form_props.input_bmi).addClass('border-warning');
	// }else if(bmi >= 18.5 && bmi <= 25){
	// 	$(form_props.input_bmi).addClass('border-success');
	// }
}
//#endregion

if(window.location.href.indexOf(form_props.grid.replace('#', '')) == -1){
	if(window.location.href.indexOf(form_props.input_id.replace("#","")) == -1){
		setDatePicker($('#checkup_date'));
	}

	//#region Creating POST request for inserting family
	$(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 GR # when user move out from gr_num field | Update Case | Setting gr_num from url into input
	var gr_num = $(form_props.input_gr_num);
	var validator =  $(form_props.form_id).validate();
	gr_num.focusout(function(){
		if(validator.element(gr_num)){
			url = getConfig("baseUrl")+`resource=${form_props_stu.resource}&action=${form_props_stu.getOneByGrNumber}`;
			if(gr_num.val().trim() != ""){
				var formData = $( this ).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")});
					}
				});
			}
		}
	});
	if(window.location.href.indexOf(form_props_stu.input_gr_num.replace("#","")) > -1 && validator.element(gr_num)){
		$(form_props.input_gr_num).trigger("focusout");
	}
	//#endregion

	//#region Search for health check id when health check id exits in url and hidden field
	var entity_id = $(form_props.input_id);
	var validator =  $(form_props.form_id).validate();
	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 = $( this ).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_weight).trigger("focusout");
						$.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")});
					}
				});
			}
		}
	});
	if(window.location.href.indexOf(form_props.input_id.replace("#","")) > -1){
		$(form_props.input_id).trigger("focusout");
	}
	//#endregion
}

//#region jQuery 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: 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 += '\'>Update'
						a += '</a>'
						
						a += ` | <a title='Click to update ${form_props.resource.toLowerCase()}' href='${form_props.print.replace("#","")}.php?${form_props.input_id.replace("#","")}=`;
						a += row[form_props.resource.toLowerCase()+ '||' + form_props.input_id.replace("#","")];
						a += '\'>Print';
						a += '</a>';
						return a;
					}
				},
				{ "data": `${form_props_stu.resource.toLowerCase()}||gr_num` },
				{ "data": `${form_props_stu.resource.toLowerCase()}||auto_gr_num` },
				{ "data": `${form_props_stu.resource.toLowerCase()}||stu_full_name` },
				{ "data": `${form_props_fam.resource.toLowerCase()}||father_name` },
				{ "data": `${form_props_stu.resource.toLowerCase()}||stu_dob` },
				{ "data": `${form_props_stu.resource.toLowerCase()}||stu_age` },
				{ "data": `${form_props_stu.resource.toLowerCase()}||stu_gender` },
				{ "data": `${form_props.resource.toLowerCase()}||checkup_date` },
				{ "data": `${form_props.resource.toLowerCase()}||pulse` },
				{ "data": `${form_props.resource.toLowerCase()}||body_temp` },
				{ "data": `${form_props.resource.toLowerCase()}||respiration` },
				{ "data": `${form_props.resource.toLowerCase()}||bp` },
				{ "data": `${form_props.resource.toLowerCase()}||height_cm` },
				{ "data": `${form_props.resource.toLowerCase()}||weight` },
				{ "data": `${form_props.resource.toLowerCase()}||bmi` },
				{ "data": `${form_props.resource.toLowerCase()}||bmi_percentile` },
				{ "data": `${form_props.resource.toLowerCase()}||eye_check` },
				{ "data": `${form_props.resource.toLowerCase()}||pallor` },
				{ "data": `${form_props.resource.toLowerCase()}||lice` },
				{ "data": `${form_props.resource.toLowerCase()}||consciousness` },
				{ "data": `${form_props.resource.toLowerCase()}||diet` },
				{ "data": `${form_props.resource.toLowerCase()}||teeth` },
				{ "data": `${form_props.resource.toLowerCase()}||history` },
				{ "data": `${form_props.resource.toLowerCase()}||diagnosis` },
				{ "data": `${form_props.resource.toLowerCase()}||management` },
				{ "data": `${form_props.resource.toLowerCase()}||advice` },
				{ "data": `${form_props.resource.toLowerCase()}||refer` },
				{ "data": `${form_props.resource.toLowerCase()}||followup` },
				{ "data": `${form_props.resource.toLowerCase()}||session` },
			],
			columnDefs: [
			  {
				targets: [1,7,15],
				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: Check Up Details | Date: ${setDatePicker()} | Type: PDF`,
					exportOptions: {
					  columns: ':visible',
					},
					customize: function(doc) {
					  doc.content[1].table.headerRows = 0
					}
				  },
				  {
					extend: 'csvHtml5',
					title: `Export: Check Up Details | Date: ${setDatePicker()} | Type: CSV`,
					exportOptions: {
					  columns: ':visible',
					}
				  },
				  {
					extend: 'excelHtml5',
					title: `Export: Check Up Details | Date: ${setDatePicker()} | Type: EXCEL`,
					exportOptions: {
					  columns: ':visible',
					}
				  },
				  { 
					extend: "copy", 
					attr: { id: "allan" },
					exportOptions: {
					  columns: ':visible',
					} 
				  },
				// {
				//     extend: 'print',
				//     text: 'Print all',
				//     exportOptions: {
				//         modifier: {
				//             selected: null
				//         }
				//     }
				// },
				// {
				// 	extend: 'print',
				// 	text: 'Print'
				// }
			],
			select: true,
			initComplete: function () {
			  this.api()
				.columns([])
				.every(function () {
				  var column = this;
				  var select = $(
					'<select><option value="">Select</option></select>'
				  )
					.appendTo($(column.footer()).empty())
					.on("change", function () {
					  column.search($(this).val()).draw();
					});
				  column
					.data()
					.unique()
					.sort()
					.each(function (d, j) {
					  d = d ? d : "";
					  select.append('<option value="' + d + '">' + d + "</option>");
					});
				});
			  this.api()
				.columns([0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30])
				.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()
		// .on('preXhr.dt', function ( e, settings, data ) {
		// 	updateProcessing();
		// 	$(".dt-buttons").append('<img title="Please wait. Report is updating..." class="spinner_progress" src="assets/images/wip.gif">');
		// }).on( 'draw.dt', function () {
		// 	updateProcessing();
		// 	$(".dt-buttons").append('<img title="Data is up to date now!" class="checkmark" src="assets/images/checkmark.png">');
		// });
		$.fn.dataTable.ext.errMode = 'throw';
	} );
}
//#endregion
//#endregion