You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

930 lines
33 KiB

<!DOCTYPE html>
<html lang="en" dir="ltr">
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="~{fragments/modules/base/head :: head}"></head>
<style>
body {
background-color: #f8f9fa;
/* font-family: Arial, sans-serif;*/
}
.header {
font-size: 22px;
font-weight: bold;
margin-bottom: 20px;
}
.table {
border: 1px solid #dee2e6;
}
.table th,
.table td {
border: 1px solid #dee2e6;
padding: 10px;
}
.section-title {
font-size: 18px;
font-weight: bold;
margin-top: 20px;
border-bottom: 2px solid #007bff;
padding-bottom: 5px;
}
.form-group {
margin-top: 15px;
}
.radio-group {
display: flex;
gap: 20px;
margin-top: 10px;
}
.custom-card-wrapper {
padding: 0;
margin-left: -233px;
}
@media (max-width: 768px) {
.custom-card-wrapper {
margin-left: 0;
padding: 0 15px; /* Optional: adds spacing on small screens */
}
}
.kitchen-data-wrapper {
padding: 18px;
margin-top: -58px;
margin-left: -256px;
}
@media (max-width: 768px) {
.kitchen-data-wrapper {
margin-left: 0;
padding: 15px;
}
}
</style>
<body>
<div class="wrapper">
<header th:replace="~{fragments/modules/base/header :: header}"></header>
<div class="page-wrap">
<div th:replace="~{fragments/modules/base/menu :: menu}"></div>
<div class="card">
<div class="main-content" style="background-color: white;">
<div class="container">
<!-- Card 2: Other Details -->
<div class="col-md-12">
<div class="kitchen-data-wrapper">
<div class="card-header"><b>CMBFS-Kitchen</b></div>
<div id="kitchenDataContainer" style="display: none; padding: 15px;">
<table class="table table-bordered">
<tr>
<th>CMBFS Present</th>
<td id="td_k_cmbfs"></td>
<th>CMBFS Building</th>
<td id="td_k_cmbfs_building"></td>
</tr>
<tr>
<th>Noon Meal Present</th>
<td id="td_k_noon"></td>
<th>Noon Meal Building</th>
<td id="td_k_noon_building"></td>
</tr>
<tr>
<th>Vegetable Garden</th>
<td id="td_k_veg"></td>
<th>Anganwadi Present</th>
<td id="td_k_ang"></td>
</tr>
<tr>
<th>Anganwadi Unique No</th>
<td id="td_k_ang_unique"></td>
<th>Anganwadi Building</th>
<td id="td_k_ang_building"></td>
</tr>
</table>
<div class="text-center">
<button type="button" class="btn btn-primary" id="editKitchenBtn">Update</button>
</div>
</div>
</div>
<!-- This block wraps the form -->
<div id="kitchenFormContainer" style="display: none;">
<!-- Card 2: Other Details -->
<div class="col-md-12">
<div class="custom-card-wrapper">
<div class="card-header"><b>CMBFS-Kitchens</b></div>
<div class="row" style=" padding: 15px;">
<div class="col-md-4 form-group">
<label>Is CMBFS-Kitchen Present <span
class="text-danger">*</span></label>
<div class="radio-group">
<input type="radio" id="cmbfskitchenPresentYes"
name="cmbfskitchenPresent" value="1"> Yes
<input type="radio" id="cmbfskitchenPresentNo"
name="cmbfskitchenPresent" value="0"> No
</div>
</div>
<div class="col-md-4 form-group" id="CMBFSfield" style="display: none;">
<label>Individual Building Present <span
class="text-danger">*</span></label>
<div class="radio-group">
<input type="radio" id="cmbfskitchenBuildingYes"
name="cmbfskitchenBuilding" value="1"> Yes
<input type="radio" id="cmbfskitchenBuildingNo"
name="cmbfskitchenBuilding" value="0"> No
</div>
</div>
</div>
</div>
</div>
<!-- card 2 -->
<div class="col-md-12">
<div class="custom-card-wrapper">
<div class="card-header"><b>Noon Meal Center</b></div>
<div class="row" style=" padding: 15px;">
<div class="col-md-4 form-group">
<label>Is Noon Meal Kitchen Present <span
class="text-danger">*</span></label>
<div class="radio-group">
<input type="radio" id="noonMealpresentYes" name="noonMealpresent"
value="1"> Yes
<input type="radio" id="noonMealpresentNo" name="noonMealpresent"
value="0"> No
</div>
</div>
<div id="noonMealfield" style="display: none;" class="col-12">
<div class="row">
<div class="col-md-6 form-group">
<label>Individual Building Present <span
class="text-danger">*</span></label>
<div class="radio-group">
<input type="radio" id="noonMealBuildingYes"
name="noonMealBuilding" value="1"> Yes
<input type="radio" id="noonMealBuildingNo"
name="noonMealBuilding" value="0"> No
</div>
</div>
<div class="col-md-6 form-group">
<label>Presence of Vegetable Garden <span
class="text-danger">*</span></label>
<div class="radio-group">
<input type="radio" id="vegetableGardenYes"
name="vegetableGarden" value="1"> Yes
<input type="radio" id="vegetableGardenNo"
name="vegetableGarden" value="0"> No
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- card -3 -->
<div class="col-md-12">
<div class="custom-card-wrapper">
<div class="card-header"><b>Anganwadi</b></div>
<div class="row" style=" padding: 15px;">
<div class="col-md-4 form-group">
<label>Is Anganwadi Present <span class="text-danger">*</span></label>
<div class="radio-group">
<input type="radio" id="anganwadiPresentYes" name="anganwadiPresent"
value="1"> Yes
<input type="radio" id="anganwadiPresentNo" name="anganwadiPresent"
value="0"> No
</div>
</div>
<div id="anganwadifield" style="display: none" class="col-12">
<div class="row">
<div class="col-md-6 form-group">
<label>Anganwadi unique Number<span
class="text-danger">*</span></label>
<input type="text" class="form-control"
placeholder="Enter Anganwadi unique Number"
id="anganwadiNumber" required />
</div>
<div class="col-md-4 form-group">
<label>Individual Building Present <span
class="text-danger">*</span></label>
<div class="radio-group">
<input type="radio" id="anganwadiBuildingYes"
name="anganwadiBuilding" value="1"> Yes
<input type="radio" id="anganwadiBuildingNo"
name="anganwadiBuilding" value="0"> No
</div>
</div>
</div>
</div>
</div>
<div class="card-footer text-center">
<button type="submit" class="btn btn-primary" id="requestSubmitBtn"><i
class="ik ik-save"></i>Submit
</button>
<button type="reset" class="btn btn-secondary mr-2" id="resetButton"><i
class="ik ik-refresh-cw"></i>Reset
</button>
</div>
</div>
</div>
</div>
<div id="pageLoader"
style="display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.8); z-index: 9999; text-align: center;">
<div style="position: relative; top: 50%; transform: translateY(-50%);">
<div class="spinner-border text-primary" role="status"
style="width: 3rem; height: 3rem;">
<span class="sr-only">Loading...</span>
</div>
<!-- Add the 'Please wait' text below the spinner -->
<p style="margin-top: 1rem; font-size: 1.2rem; color: #007bff;">Please wait...</p>
</div>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="editKitchenModal" tabindex="-1" aria-labelledby="editKitchenModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<form id="kitchenForm">
<div class="modal-header">
<h5 class="modal-title">Edit Kitchen Details</h5>
<button type="button" class="close" data-bs-dismiss="modal"
aria-label="Close"><span aria-hidden>&times;</span></button>
</div>
<div class="modal-body">
<!-- Kitchen Form -->
<div class="row mb-3">
<div class="col-md-6">
<label>Is CMBFS-Kitchen Present? *</label>
<div class="radio-group">
<input type="radio" name="modalcmbfskitchenPresent" value="1"> Yes
<input type="radio" name="modalcmbfskitchenPresent" value="0"> No
</div>
</div>
<div class="col-md-6" id="modalCMBFSfield" style="display: none;">
<label>Individual Building Present *</label>
<div class="radio-group">
<input type="radio" name="modalcmbfskitchenBuilding" value="1"> Yes
<input type="radio" name="modalcmbfskitchenBuilding" value="0"> No
</div>
</div>
</div>
<div class="row mb-3">
<div class="col-md-6">
<label>Is Noon Meal Kitchen Present? *</label>
<div class="radio-group">
<input type="radio" name="modalnoonMealpresent" value="1"> Yes
<input type="radio" name="modalnoonMealpresent" value="0"> No
</div>
</div>
</div>
<div class="row mb-3" id="modalnoonMealfield" style="display: none;">
<div class="col-md-6">
<label>Individual Building Present *</label>
<div class="radio-group">
<input type="radio" name="modalnoonMealBuilding" value="1"> Yes
<input type="radio" name="modalnoonMealBuilding" value="0"> No
</div>
</div>
<div class="col-md-6">
<label>Presence of Vegetable Garden *</label>
<div class="radio-group">
<input type="radio" name="modalvegetableGarden" value="1"> Yes
<input type="radio" name="modalvegetableGarden" value="0"> No
</div>
</div>
</div>
<div class="row mb-3">
<div class="col-md-6">
<label>Is Anganwadi Present? *</label>
<div class="radio-group">
<input type="radio" name="modalanganwadiPresent" value="1"> Yes
<input type="radio" name="modalanganwadiPresent" value="0"> No
</div>
</div>
</div>
<div class="row mb-3" id="modalanganwadifield" style="display: none;">
<div class="col-md-6">
<label>Anganwadi Unique Number *</label>
<input type="text" id="modalanganwadiNumber" class="form-control" />
</div>
<div class="col-md-6">
<label>Individual Building Present *</label>
<div class="radio-group">
<input type="radio" name="modalanganwadiBuilding" value="1"> Yes
<input type="radio" name="modalanganwadiBuilding" value="0"> No
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary" id="updateSubmitBtn">Submit</button>
<button type="reset" class="btn btn-secondary"
data-bs-dismiss="modal">Close</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<script th:replace="~{fragments/modules/base/script :: script}"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
document.querySelectorAll('input[name="cmbfskitchenPresent"]').forEach(radio => {
radio.addEventListener('change', function () {
const CMBFSfieldDiv = document.getElementById('CMBFSfield');
if (this.value === '1') {
CMBFSfieldDiv.style.display = 'block'; // Show the input field
} else {
CMBFSfieldDiv.style.display = 'none'; // Hide the input field
document.querySelectorAll('input[name="cmbfskitchenBuilding"]').forEach(radio => {
radio.checked = false;
});
}
});
});
document.querySelectorAll('input[name="noonMealpresent"]').forEach(radio => {
radio.addEventListener('change', function () {
const noonMealfieldDiv = document.getElementById('noonMealfield');
if (this.value === '1') {
noonMealfieldDiv.style.display = 'block'; // Show the input field
} else {
noonMealfieldDiv.style.display = 'none'; // Hide the input field
document.querySelectorAll('input[name="noonMealBuilding"]').forEach(radio => {
radio.checked = false;
});
document.querySelectorAll('input[name="vegetableGarden"]').forEach(radio => {
radio.checked = false;
});
}
});
});
document.querySelectorAll('input[name="anganwadiPresent"]').forEach(radio => {
radio.addEventListener('change', function () {
const anganwadifieldDiv = document.getElementById('anganwadifield');
if (this.value === '1') {
anganwadifieldDiv.style.display = 'block'; // Show the input field
} else {
anganwadifieldDiv.style.display = 'none'; // Hide the input field
document.querySelectorAll('input[name="anganwadiBuilding"]').forEach(radio => {
radio.checked = false;
});
document.getElementById('anganwadiNumber').value = '';
}
});
});
$("input[name='modalcmbfskitchenPresent']").change(function () {
if ($(this).val() === "1") {
$("#modalCMBFSfield").show();
} else {
$("#modalCMBFSfield").hide();
}
});
// 2. Toggle Noon Meal building and garden fields
$("input[name='modalnoonMealpresent']").change(function () {
if ($(this).val() === "1") {
$("#modalnoonMealfield").show();
} else {
$("#modalnoonMealfield").hide();
}
});
// 3. Toggle Anganwadi fields
$("input[name='modalanganwadiPresent']").change(function () {
if ($(this).val() === "1") {
$("#modalanganwadifield").show();
} else {
$("#modalanganwadifield").hide();
}
});
});
$(document).ready(function () {
const urlParams = new URLSearchParams(window.location.search);
const schoolId = urlParams.get("schoolId");
$('input[name="school_id"]').val(schoolId);
function toggleField(radioGroup, targetDiv, resetSelectors = []) {
document.querySelectorAll(`input[name="${radioGroup}"]`).forEach(radio => {
radio.addEventListener('change', function () {
if (this.value === '1') {
document.getElementById(targetDiv).style.display = 'block';
} else {
document.getElementById(targetDiv).style.display = 'none';
resetSelectors.forEach(sel => {
$(sel).prop('checked', false);
if ($(sel).is('input[type="text"]')) $(sel).val('');
});
}
});
});
}
toggleField('cmbfskitchenPresent', 'CMBFSfield', ['input[name="cmbfskitchenBuilding"]']);
toggleField('noonMealpresent', 'noonMealfield', ['input[name="noonMealBuilding"]', 'input[name="vegetableGarden"]']);
toggleField('anganwadiPresent', 'anganwadifield', ['input[name="anganwadiBuilding"]', '#anganwadiNumber']);
// ---------------- Data Fetch -------------------
$.ajax({
url: '/gcc/api/gccschool/schoolproperty/checkKitchenDetails',
type: 'GET',
data: {school_id: schoolId},
success: function (response) {
const hasValidData = response && response[0] && response[0].Data && Object.values(response[0].Data).some(val => val !== null && val !== false && val !== "");
if (hasValidData) {
const data = response[0].Data;
//const yesNo = val => val === true ? 'Yes' : 'No';
const yesNo = val => val === true ? 'Yes' : val === false ? 'No' : '-';
$('#td_k_cmbfs').text(yesNo(data.is_cmbfs));
$('#td_k_cmbfs_building').text(yesNo(data.is_cmbfsIndividual));
$('#td_k_noon').text(yesNo(data.is_noonmeal));
$('#td_k_noon_building').text(yesNo(data.is_noonIndividual));
$('#td_k_veg').text(yesNo(data.is_vegGarden));
$('#td_k_ang').text(yesNo(data.is_anganwadi));
$('#td_k_ang_unique').text(data.anganwadi_unique || '-');
$('#td_k_ang_building').text(yesNo(data.is_anganwadiIndividual));
$('#kitchenDataContainer').show(); // ✅ Show table
$('#kitchenFormContainer').hide(); // ❌ Hide form
$('#editKitchenBtn').data('kitchenData', data);
} else {
$('#kitchenDataContainer').hide(); // ❌ Hide table
$('#kitchenFormContainer').show(); // ✅ Show form
}
},
error: function () {
$('#kitchenDataContainer').hide(); // ❌ hide table
$('#kitchenFormContainer').show(); // ✅ show form
}
});
$('input[name="modalanganwadiPresent"]').on('change', function () {
if (this.value === '1') {
$('#editKitchenModalAnganwadiField').show();
} else {
$('#editKitchenModalAnganwadiField').hide();
// Clear the Anganwadi Building radio buttons
$('input[name="modalanganwadiBuilding"]').prop('checked', false);
// Clear the Anganwadi Number field
$('#modalanganwadiNumber').val('');
}
});
$('input[name="modalnoonMealpresent"]').on('change', function () {
if (this.value === '1') {
$('#editKitchenModalNoonField').show();
} else {
$('#editKitchenModalNoonField').hide();
$('input[name="modalnoonMealBuilding"]').prop('checked', false);
$('input[name="modalvegetableGarden"]').prop('checked', false);
}
});
$('input[name="modalcmbfskitchenPresent"]').on('change', function () {
if (this.value === '1') {
$('#editKitchenModalCMBFSfield').show();
} else {
$('#editKitchenModalCMBFSfield').hide();
$('input[name="modalcmbfskitchenBuilding"]').prop('checked', false);
}
});
// ---------------- On Update Button -------------------
$('#editKitchenBtn').click(function () {
const data = $(this).data('kitchenData');
$(`input[name="modalcmbfskitchenPresent"][value="${data.is_cmbfs ? 1 : 0}"]`).prop('checked', true);
$(`input[name="modalcmbfskitchenBuilding"][value="${data.is_cmbfsIndividual ? 1 : 0}"]`).prop('checked', true);
$(`input[name="modalnoonMealpresent"][value="${data.is_noonmeal ? 1 : 0}"]`).prop('checked', true);
$(`input[name="modalnoonMealBuilding"][value="${data.is_noonIndividual ? 1 : 0}"]`).prop('checked', true);
$(`input[name="modalvegetableGarden"][value="${data.is_vegGarden ? 1 : 0}"]`).prop('checked', true);
$(`input[name="modalanganwadiPresent"][value="${data.is_anganwadi ? 1 : 0}"]`).prop('checked', true);
$(`input[name="modalanganwadiBuilding"][value="${data.is_anganwadiIndividual ? 1 : 0}"]`).prop('checked', true);
$('#modalanganwadiNumber').val(data.anganwadi_unique || '');
// 👇 Force the toggle to display the dependent fields
$(`#editKitchenModal input[name="modalcmbfskitchenPresent"]:checked`).trigger('change');
$(`#editKitchenModal input[name="modalnoonMealpresent"]:checked`).trigger('change');
$(`#editKitchenModal input[name="modalanganwadiPresent"]:checked`).trigger('change');
// Show modal
const kitchenModal = new bootstrap.Modal(document.getElementById('editKitchenModal'));
kitchenModal.show();
});
// --- Toggle logic for modal form fields inside editKitchenModal ---
function toggleModalField(radioGroupName, fieldId, resetSelectors = []) {
$(`#editKitchenModal input[name="${radioGroupName}"]`).on('change', function () {
if (this.value === '1') {
$(`#editKitchenModal #${fieldId}`).show();
} else {
$(`#editKitchenModal #${fieldId}`).hide();
resetSelectors.forEach(sel => {
$(`#editKitchenModal ${sel}`).prop('checked', false);
if ($(sel).is('input[type="text"]')) $(sel).val('');
});
}
});
}
// Apply for each group
toggleModalField('cmbfskitchenPresent', 'CMBFSfield', ['input[name="cmbfskitchenBuilding"]']);
toggleModalField('noonMealpresent', 'noonMealfield', ['input[name="noonMealBuilding"]', 'input[name="vegetableGarden"]']);
toggleModalField('anganwadiPresent', 'anganwadifield', ['input[name="anganwadiBuilding"]', '#anganwadiNumber']);
document.getElementById('anganwadiNumber').addEventListener('input', function () {
// Keep only alphanumeric characters
this.value = this.value.replace(/[^a-zA-Z0-9]/g, '');
});
document.getElementById('modalanganwadiNumber').addEventListener('input', function () {
// Keep only alphanumeric characters
this.value = this.value.replace(/[^a-zA-Z0-9]/g, '');
});
$(document).on('click', '#requestSubmitBtn', function () {
let cmbfskitchenPresent = $('input[name="cmbfskitchenPresent"]:checked').val();
let cmbfskitchenBuilding = null;
if (cmbfskitchenPresent === '1') {
cmbfskitchenBuilding = $('input[name="cmbfskitchenBuilding"]:checked').val();
if (!cmbfskitchenBuilding) {
Swal.fire({
icon: 'warning',
title: 'Validation Error!',
text: 'Individual Building Present is required for CMBFS kitchen .',
allowOutsideClick: false, // Disable clicking outside the modal to close it
allowEscapeKey: false, // Disable escape key to close the modal
allowEnterKey: false, // Disable enter key to close the modal
showConfirmButton: true
});
return;
}
}
let noonMealpresent = $('input[name="noonMealpresent"]:checked').val();
let noonMealBuilding = null;
let vegetableGarden = null;
if (noonMealpresent === '1') {
noonMealBuilding = $('input[name="noonMealBuilding"]:checked').val();
if (!noonMealBuilding) {
Swal.fire({
icon: 'warning',
title: 'Validation Error!',
text: 'Individual Building Present is required for Noon Meal Center .',
allowOutsideClick: false, // Disable clicking outside the modal to close it
allowEscapeKey: false, // Disable escape key to close the modal
allowEnterKey: false, // Disable enter key to close the modal
showConfirmButton: true
});
return;
}
vegetableGarden = $('input[name="vegetableGarden"]:checked').val();
if (!vegetableGarden) {
Swal.fire({
icon: 'warning',
title: 'Validation Error!',
text: 'Presence of Vegetable Garden is required .',
allowOutsideClick: false, // Disable clicking outside the modal to close it
allowEscapeKey: false, // Disable escape key to close the modal
allowEnterKey: false, // Disable enter key to close the modal
showConfirmButton: true
});
return;
}
}
let anganwadiPresent = $('input[name="anganwadiPresent"]:checked').val();
let anganwadiBuilding = null;
let anganwadiNumber = null;
if (anganwadiPresent === '1') {
anganwadiNumber = $('#anganwadiNumber').val();
anganwadiBuilding = $('input[name="anganwadiBuilding"]:checked').val();
if (!anganwadiNumber) {
Swal.fire({
icon: 'warning',
title: 'Validation Error!',
text: 'AnganwadiNumber is required',
allowOutsideClick: false, // Disable clicking outside the modal to close it
allowEscapeKey: false, // Disable escape key to close the modal
allowEnterKey: false, // Disable enter key to close the modal
showConfirmButton: true
});
return;
}
if (!anganwadiBuilding) {
Swal.fire({
icon: 'warning',
title: 'Validation Error!',
text: 'Individual Building Present is required for Anganwadi.',
allowOutsideClick: false, // Disable clicking outside the modal to close it
allowEscapeKey: false, // Disable escape key to close the modal
allowEnterKey: false, // Disable enter key to close the modal
showConfirmButton: true
});
return;
}
}
// let school_id = 1;
console.log("cmbfskitchenPresent=", cmbfskitchenPresent);
console.log("anganwadiBuilding=", anganwadiBuilding);
console.log("noonMealpresent=", noonMealpresent);
console.log("noonMealBuilding=", noonMealBuilding);
console.log("vegetableGarden=", vegetableGarden);
console.log("anganwadiPresent=", anganwadiPresent);
console.log("anganwadiNumber=", anganwadiNumber);
console.log("anganwadiBuilding=", anganwadiBuilding);
console.log("school_id=", schoolId);
// Validate inputs
let fields = {
"Is CMBFS-Kitchen Present": cmbfskitchenPresent,
"Is noonMealpresent Present": noonMealpresent,
"Is Anganwadi Present": anganwadiPresent,
};
for (let key in fields) {
if (!fields[key] || isNaN(fields[key])) {
Swal.fire({
icon: 'info',
title: 'Validation Error',
text: `Please enter ${key}.`,
allowOutsideClick: false, // Disable clicking outside the modal to close it
allowEscapeKey: false, // Disable escape key to close the modal
allowEnterKey: false, // Disable enter key to close the modal
showConfirmButton: true
});
return; // Stop execution if validation fails
}
}
// Prepare Data for AJAX
let requestData = {
is_cmbfs: cmbfskitchenPresent,
is_cmbfsIndividual: cmbfskitchenBuilding,
is_noonmeal: noonMealpresent,
is_noonIndividual: noonMealBuilding,
is_vegGarden: vegetableGarden,
is_anganwadi: anganwadiPresent,
anganwadi_unique: anganwadiNumber || null,
is_anganwadiIndividual: anganwadiBuilding,
school_id: schoolId
};
$('#requestSubmitBtn').prop('disabled', true).text('Processing...');
$('#pageLoader').show();
$.ajax({
url: '/gcc/api/gccschool/schoolproperty/saveKitchen',
type: 'POST',
contentType: 'application/x-www-form-urlencoded',
data: $.param(requestData),
success: function (response) {
$('#pageLoader').hide();
$('#requestSubmitBtn').prop('disabled', false).text('Submit');
Swal.fire({
icon: 'success',
title: 'Success',
text: response,
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
confirmButtonText: 'OK'
}).then((result) => {
if (result.isConfirmed) {
$('#requestSubmitBtn').prop('disabled', false).text('Submit');
location.reload();
}
});
},
error: function (xhr, status, error) {
$('#pageLoader').hide();
$('#requestSubmitBtn').prop('disabled', false).text('Submit');
let errorMessage = xhr.responseText;
Swal.fire({
icon: 'error',
title: 'Error',
text: errorMessage,
allowOutsideClick: false, // Disable clicking outside the modal to close it
allowEscapeKey: false, // Disable escape key to close the modal
allowEnterKey: false, // Disable enter key to close the modal
showConfirmButton: true
});
console.error('Error:', xhr.responseText);
}
});
});
function resetFacilityFields() {
console.log("Reset button clicked - Facilities");
// Uncheck all radio buttons
$('input[type="radio"]').prop('checked', false);
// Clear input fields
$('#anganwadiNumber').val('');
// Hide dependent sections
$('#CMBFSfield, #noonMealfield, #anganwadifield').hide();
}
// Event Listener for Reset Button
$(document).on('click', '#resetButton', function (event) {
event.preventDefault();
resetFacilityFields();
});
$(document).on('click', '#updateSubmitBtn', function (e) {
e.preventDefault();
submitModalKitchenUpdate();
});
function submitModalKitchenUpdate() {
let cmbfskitchenPresent = $('#editKitchenModal input[name="modalcmbfskitchenPresent"]:checked').val();
let cmbfskitchenBuilding = cmbfskitchenPresent === '1' ? $('#editKitchenModal input[name="modalcmbfskitchenBuilding"]:checked').val() : null;
/*if (cmbfskitchenPresent === '1' && !cmbfskitchenBuilding) {
return Swal.fire('Validation Error!', 'Individual Building Present is required for CMBFS kitchen.', 'warning');
}*/
if (cmbfskitchenPresent === '1' && !cmbfskitchenBuilding) {
return Swal.fire({
title: 'Validation Error!',
text: 'Individual Building Present is required for CMBFS kitchen.',
icon: 'warning',
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
showConfirmButton: true
});
}
let noonMealpresent = $('#editKitchenModal input[name="modalnoonMealpresent"]:checked').val();
let noonMealBuilding = noonMealpresent === '1' ? $('#editKitchenModal input[name="modalnoonMealBuilding"]:checked').val() : null;
let vegetableGarden = noonMealpresent === '1' ? $('#editKitchenModal input[name="modalvegetableGarden"]:checked').val() : null;
/*if (noonMealpresent === '1' && (!noonMealBuilding || !vegetableGarden)) {
return Swal.fire('Validation Error!', 'Fields under Noon Meal Center are required.', 'warning');
}*/
if (noonMealpresent === '1' && (!noonMealBuilding || !vegetableGarden)) {
return Swal.fire({
title: 'Validation Error!',
text: 'Fields under Noon Meal Center are required.',
icon: 'warning',
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
showConfirmButton: true
});
}
let anganwadiPresent = $('#editKitchenModal input[name="modalanganwadiPresent"]:checked').val();
let anganwadiBuilding = anganwadiPresent === '1' ? $('#editKitchenModal input[name="modalanganwadiBuilding"]:checked').val() : null;
let anganwadiNumber = anganwadiPresent === '1' ? $('#editKitchenModal #modalanganwadiNumber').val() : null;
/*if (anganwadiPresent === '1' && (!anganwadiBuilding || !anganwadiNumber)) {
return Swal.fire('Validation Error!', 'All Anganwadi fields are required.', 'warning');
}*/
if (anganwadiPresent === '1' && (!anganwadiBuilding || !anganwadiNumber)) {
return Swal.fire({
title: 'Validation Error!',
text: 'All Anganwadi fields are required.',
icon: 'warning',
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
showConfirmButton: true
});
}
const requestData = {
is_cmbfs: cmbfskitchenPresent,
is_cmbfsIndividual: cmbfskitchenBuilding,
is_noonmeal: noonMealpresent,
is_noonIndividual: noonMealBuilding,
is_vegGarden: vegetableGarden,
is_anganwadi: anganwadiPresent,
anganwadi_unique: anganwadiNumber || null,
is_anganwadiIndividual: anganwadiBuilding,
school_id: schoolId
};
$('#updateSubmitBtn').prop('disabled', true).text('Updating...');
$('#pageLoader').show();
$.ajax({
url: '/gcc/api/gccschool/schoolproperty/updateKitchenDetails',
type: 'POST',
contentType: 'application/x-www-form-urlencoded',
data: $.param(requestData),
success: function (response) {
$('#pageLoader').hide();
$('#updateSubmitBtn').prop('disabled', false).text('Submit');
//Swal.fire('Success', response, 'success').
Swal.fire({
title: 'Success',
text: 'Kitchen details updated successfully!!',
icon: 'success',
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
showConfirmButton: true
})
.then(() => {
$('#editKitchenModal').modal('hide');
location.reload();
});
},
error: function (xhr) {
$('#pageLoader').hide();
$('#updateSubmitBtn').prop('disabled', false).text('Submit');
//Swal.fire('Error', xhr.responseText || 'Failed to update.', 'error');
Swal.fire({
title: 'Error',
text: xhr.responseText || 'Failed to update.',
icon: 'error',
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
showConfirmButton: true
});
}
});
}
});
</script>
</body>
</html>