update 33

This commit is contained in:
Flatlogic Bot 2026-03-22 04:48:31 +00:00
parent 5f98198b67
commit b02c277bb8
2 changed files with 23 additions and 25 deletions

View File

@ -41,30 +41,27 @@ document.addEventListener('DOMContentLoaded', () => {
} }
// --- Patient Form: Auto-calculate DOB from Age --- // --- Patient Form: Auto-calculate DOB from Age ---
function calculateDobFromAge(ageInputId, dobInputId) { // Use jQuery for better compatibility with Inputmask and existing events
const ageInput = document.getElementById(ageInputId); function setupAgeToDob(ageId, dobId) {
const dobInput = document.getElementById(dobInputId); $(document).on('input', '#' + ageId, function() {
var age = parseInt($(this).val());
var $dob = $('#' + dobId);
if (ageInput && dobInput) { if (!isNaN(age) && age >= 0) {
ageInput.addEventListener('input', function() { var currentYear = new Date().getFullYear();
const age = parseInt(this.value); var birthYear = currentYear - age;
if (!isNaN(age) && age >= 0) { // Default to Jan 1st of the birth year: YYYY-01-01
const currentYear = new Date().getFullYear(); var dob = birthYear + '-01-01';
const birthYear = currentYear - age;
// Default to Jan 1st of the birth year
const dob = `${birthYear}-01-01`;
dobInput.value = dob;
// Trigger change event if needed (e.g. for validation or other listeners) // Set value and trigger input/change for Inputmask and other listeners
dobInput.dispatchEvent(new Event('change')); $dob.val(dob).trigger('input').trigger('change');
dobInput.dispatchEvent(new Event('input')); } else {
} else { // Optional: Clear DOB if age is invalid/cleared?
dobInput.value = ''; // $dob.val('').trigger('input');
} }
}); });
}
} }
calculateDobFromAge('add_patient_age', 'add_patient_dob'); setupAgeToDob('add_patient_age', 'add_patient_dob');
calculateDobFromAge('edit_patient_age', 'edit_patient_dob'); setupAgeToDob('edit_patient_age', 'edit_patient_dob');
}); });

View File

@ -1299,6 +1299,7 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/5.0.7/jquery.inputmask.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/5.0.7/jquery.inputmask.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote-lite.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote-lite.min.js"></script>
<script src="assets/js/ai_helper.js"></script> <script src="assets/js/ai_helper.js"></script>
<script src="assets/js/main.js?v=<?php echo time(); ?>"></script>
<script> <script>
// --- Patient Modals --- // --- Patient Modals ---
function showEditPatientModal(data) { function showEditPatientModal(data) {