FIX_Master Unit Test

This commit is contained in:
venba-Inspriron-3558 2025-09-07 15:39:39 +05:30
parent 0093ed8ab3
commit aefc126434
4 changed files with 271 additions and 201 deletions

View File

@ -14,17 +14,17 @@
<!-- Optional CSS --> <!-- Optional CSS -->
<style> <style>
/* Make modal really XL and scrollable */ /* Make modal really XL and scrollable */
#branchModal .modal-dialog.modal-xl { #insurerBranchModal .modal-dialog.modal-xl {
max-width: 90%; max-width: 90%;
height: 90vh; height: 90vh;
} }
#branchModal .modal-content { #insurerBranchModal .modal-content {
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
} }
#branchModal .modal-body { #insurerBranchModal .modal-body {
overflow-y: auto; overflow-y: auto;
max-height: 80vh; max-height: 80vh;
} }
@ -170,7 +170,7 @@
<!-- end --> <!-- end -->
<!-- Modal --> <!-- Modal -->
<div class="modal fade" id="branchModal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal fade" id="insurerBranchModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-xl" style="max-width: 1140px !important;"> <div class="modal-dialog modal-dialog-centered modal-xl" style="max-width: 1140px !important;">
<div class="modal-content"> <div class="modal-content">
<!-- Modal Header --> <!-- Modal Header -->
@ -184,19 +184,24 @@
<!-- Modal Body --> <!-- Modal Body -->
<div class="modal-body" style="overflow-y:auto; max-height:80vh;"> <div class="modal-body" style="overflow-y:auto; max-height:80vh;">
<form id="insurer_branch_form" class="parsley-examples" method="post" enctype="multipart/form-data"> <form id="insurer_branch_form" class="parsley-examples" method="post" enctype="multipart/form-data">
<div class="row"> <input type="hidden" class="form-control" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
<input type="hidden" name="PrimaryKey" id="insurer_Branch_PrimaryKey" />
<input type="hidden" name="insurer_id" id="insurer_id_branch" value="<?= isset($insurer['id']) ? $insurer['id'] : '' ?>"/>
<div class="row">
<!-- Left Section: Branch Details --> <!-- Left Section: Branch Details -->
<div class="col-md-8 d-flex flex-column" style="max-height: calc(80vh - 50px);"> <div class="col-md-8 d-flex flex-column" style="max-height: calc(80vh - 50px);">
<!-- Branch Name & Code --> <!-- Branch Name & Code -->
<div class="form-row"> <div class="form-row">
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="branch_name">Branch Name <span class="text-danger">*</span></label> <label for="branch_name">Branch Name <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="branch_name" name="branch_name" required> <input type="text" class="form-control" id="branch_name"
placeholder="Enter Branch Name" name="branch_name" required>
</div> </div>
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="branch_code">Branch Code <span class="text-danger">*</span></label> <label for="branch_code">Branch Code <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="branch_code" name="branch_code" required> <input type="text" class="form-control" id="branch_code"
placeholder="Enter Branch Code" name="branch_code" required>
</div> </div>
</div> </div>
@ -204,11 +209,11 @@
<div class="form-row"> <div class="form-row">
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="address1">Address Line 1 <span class="text-danger">*</span></label> <label for="address1">Address Line 1 <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="address1" name="address1" required> <input type="text" class="form-control" id="address1" name="address1" placeholder="Enter Address 1" required>
</div> </div>
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="address2">Address Line 2</label> <label for="address2">Address Line 2</label>
<input type="text" class="form-control" id="address2" name="address2"> <input type="text" class="form-control" id="address2" placeholder="Enter Address 2" name="address2">
</div> </div>
</div> </div>
@ -225,7 +230,8 @@
</div> </div>
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="district">District <span class="text-danger">*</span></label> <label for="district">District <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="district" name="district" required> <input type="text" class="form-control" id="district"
placeholder="Enter District" name="district" required>
</div> </div>
</div> </div>
@ -233,11 +239,12 @@
<div class="form-row"> <div class="form-row">
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="branch_city">City <span class="text-danger">*</span></label> <label for="branch_city">City <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="branch_city" name="city" required> <input type="text" class="form-control" id="branch_city"
placeholder="Enter City" name="city" required>
</div> </div>
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="pincode">Pincode <span class="text-danger">*</span></label> <label for="pincode">Pincode <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="pincode" name="pincode" required> <input type="text" class="form-control" id="pincode" placeholder="Enter Pincode" name="pincode" required>
</div> </div>
</div> </div>
@ -259,27 +266,37 @@
<div class="d-flex justify-content-between align-items-center mb-2"> <div class="d-flex justify-content-between align-items-center mb-2">
<h6 class="modal-subtitle mb-0">Contact 1</h6> <h6 class="modal-subtitle mb-0">Contact 1</h6>
<div class="d-flex align-items-center"> <div class="d-flex align-items-center">
<i class="mdi mdi-trash-can text-danger" style="cursor:pointer; font-size:24px !important;" onclick="removeContact(this)" id="contact_1_remove"></i> <i class="mdi mdi-trash-can text-danger" style="cursor:pointer; font-size:24px !important;" onclick="removeContact(this)" id="${uniqueId}_remove"></i>
</div> </div>
</div> </div>
<!-- Contact Form Fields --> <!-- Contact Form Fields -->
<input type="hidden" name="primarykey[]" id="contact_id_1" value=""/> <div class="form-row">
<div class="form-group mb-2"> <!-- <input type="hidden" name="primarykey[]" id="contact_id_1" value=""/> -->
<div class="form-group col-md-12">
<label for="name">Name <span class="text-danger">*</span></label> <label for="name">Name <span class="text-danger">*</span></label>
<input type="text" class="form-control" placeholder="Enter Contact Name" name="name[]" id="name" required> <input value="" type="text" class="form-control" placeholder="Enter Contact Name" name="name[]" id="name" required>
</div> </div>
<div class="form-group mb-2"> </div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="designation">Designation <span class="text-danger">*</span></label> <label for="designation">Designation <span class="text-danger">*</span></label>
<input type="text" class="form-control" placeholder="Enter Designation Name" name="designation[]" id="designation" required> <input value="" type="text" class="form-control" placeholder="Enter Designation Name" name="designation[]" id="designation" required>
</div> </div>
<div class="form-group mb-2"> </div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="email">Email <span class="text-danger">*</span></label> <label for="email">Email <span class="text-danger">*</span></label>
<input type="email" class="form-control" placeholder="Enter Contact Email" name="email[]" id="email" required> <input value="" type="email" data-parsley-type="email" class="form-control" placeholder="Enter Contact Email" name="email[]" id="email" required>
</div> </div>
<div class="form-group mb-2"> </div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="mobile">Mobile <span class="text-danger">*</span></label> <label for="mobile">Mobile <span class="text-danger">*</span></label>
<input type="tel" class="form-control" placeholder="Enter Contact Mobile" pattern="[0-9]{10}" name="mobile[]" id="mobile" required> <!-- <input name="mobile[]" pattern="[0-9]{10}" value="" type="tel" data-parsley-type="number" data-parsley-length="[10,10]" class="form-control" placeholder="Enter Contact Mobile" id="mobile" required> -->
<input name="mobile[]" pattern="[0-9]{10}" value="" type="text" data-parsley-type="number" data-parsley-length="[10,10]" class="form-control" placeholder="Enter Contact Mobile" id="mobile" required oninput="this.value = this.value.replace(/[^0-9]/g,'');" maxlength="10">
</div>
</div> </div>
</div> </div>
@ -291,7 +308,6 @@
</div> </div>
</div> </div>
</div> </div>
</form> </form>
</div> </div>
@ -310,16 +326,17 @@
$(document).ready(function () { $(document).ready(function () {
insurer_Branch_PrimaryKey = $('#insurer_id_branch').val(); insurer_Branch_PrimaryKey = $('#insurer_id_branch').val();
var myModal = new bootstrap.Modal(document.getElementById('branchModal')); var myModal = new bootstrap.Modal(document.getElementById('insurerBranchModal'));
myModal.hide(); myModal.hide();
// $('#add_branch').hide(); // $('#add_branch').hide();
$('.btnBack').hide(); // $('.btnBack').hide();
if(insurer_Branch_PrimaryKey !== ''){ if(insurer_Branch_PrimaryKey !== ''){
var branchTable = ''; var branchTable = '';
var data = <?= isset($insuer_branch) ? json_encode($insuer_branch) : '[]' ?>; var data = <?= isset($insuer_branch) ? json_encode($insuer_branch) : '[]' ?>;
console.log("insurer branch data", data);
$.each(data, function(index, item) { $.each(data, function(index, item) {
branchTable += ` branchTable += `
<tr> <tr>
@ -347,11 +364,11 @@
$("#insurer_branch_form")[0].reset(); $("#insurer_branch_form")[0].reset();
contactCount = 1 contactCount = 1
insurer_branch_form_action = '<?= base_url("master/insurer/branch/create"); ?>'; insurer_branch_form_action = '<?= base_url("master/insurer/branch/create"); ?>';
var myModal = new bootstrap.Modal(document.getElementById('branchModal')); var myModal = new bootstrap.Modal(document.getElementById('insurerBranchModal'));
myModal.show(); myModal.show();
// $('#add_branch').show(); // $('#add_branch').show();
// $('#branch_table').hide(); // $('#branch_table').hide();
$('.btnBack').show(); // $('.btnBack').show();
// $('#btnBranchAdd').hide(); // $('#btnBranchAdd').hide();
$('#branch_name').val(''); $('#branch_name').val('');
@ -391,12 +408,12 @@
$('.btnBack').click(function(){ $('.btnBack').click(function(){
$("#insurer_branch_form")[0].reset(); $("#insurer_branch_form")[0].reset();
contactCount = 1 contactCount = 1
var myModal = new bootstrap.Modal(document.getElementById('branchModal')); $('.close').click();
myModal.hide();
// $('#add_branch').hide(); // $('#add_branch').hide();
// $('#branch_table').show(); // $('#branch_table').show();
$('.btnBack').hide(); // $('.btnBack').hide();
// $('#btnBranchAdd').show(); // $('#btnBranchAdd').show();
$('#branch_name').val(''); $('#branch_name').val('');
@ -409,6 +426,7 @@
$('#email').val(''); $('#email').val('');
$('#mobile').val(''); $('#mobile').val('');
$('#designation').val(''); $('#designation').val('');
$('#container').empty(); $('#contact_1_wrapper input').val('');
}) })
@ -430,12 +448,12 @@
dataType: 'json', dataType: 'json',
processData: false, processData: false,
contentType: false, contentType: false,
beforeSend: function() {
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
},
success: function(res) { success: function(res) {
$("#insurer_branch_form")[0].reset(); $("#insurer_branch_form")[0].reset();
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}, 1000);
console.log(res); console.log(res);
$('#insurer_branch_list tr').remove(); $('#insurer_branch_list tr').remove();
var insurerBranchTableInsert = '' var insurerBranchTableInsert = ''
@ -453,9 +471,9 @@
}); });
$('#insurer_branch_list').append(insurerBranchTableInsert); $('#insurer_branch_list').append(insurerBranchTableInsert);
var myModal = new bootstrap.Modal(document.getElementById('branchModal')); $('#container').empty(); $('#contact_1_wrapper input').val('');
myModal.hide(); $('.close').click();
// window.location.reload();
// $('#add_branch').hide(); // $('#add_branch').hide();
// $('#branch_table').show(); // $('#branch_table').show();
// $('.btnBack').hide(); // $('.btnBack').hide();
@ -471,6 +489,13 @@
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); toastr.warning('Something Wrong!', 'warning');
}, 1000); }, 1000);
},
complete: function() {
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}, 1000);
$('.close').click();
} }
}); });
@ -501,11 +526,11 @@
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
}, 1000); }, 1000);
var myModal = new bootstrap.Modal(document.getElementById('branchModal')); var myModal = new bootstrap.Modal(document.getElementById('insurerBranchModal'));
myModal.show(); myModal.show();
// $('#add_branch').show(); // $('#add_branch').show();
// $('#branch_table').show(); // $('#branch_table').show();
$('.btnBack').show(); // $('.btnBack').show();
// $('#btnBranchAdd').hide(); // $('#btnBranchAdd').hide();
console.log("res.levelcontact[0].id"+res.levelcontact[0].id); console.log("res.levelcontact[0].id"+res.levelcontact[0].id);
$('#branch_name').val(res.insurerbranch.branch_name); $('#branch_name').val(res.insurerbranch.branch_name);
@ -661,6 +686,7 @@
var container = document.getElementById('container'); var container = document.getElementById('container');
var uniqueId = Date.now().toString(); var uniqueId = Date.now().toString();
// <input type="hidden" name="primarykey[]" id="contact_id_1" value="${contact !== undefined && contact !== false ? contact.id : ''}"/>
var html = ` var html = `
<div id="${uniqueId}" class="bg-white p-2 mb-2 rounded contact-block"> <div id="${uniqueId}" class="bg-white p-2 mb-2 rounded contact-block">
<div class="d-flex justify-content-between align-items-center mb-2"> <div class="d-flex justify-content-between align-items-center mb-2">
@ -670,12 +696,17 @@
</div> </div>
</div> </div>
<div class="form-row"> <div class="form-row">
<input type="hidden" name="primarykey[]" value="${contact ? contact.id : ''}"/>
<div class="form-group col-md-12"> <div class="form-group col-md-12">
<label>Name<span class="text-danger">*</span></label> <label>Name<span class="text-danger">*</span></label>
<input value="${contact ? contact.name : ''}" type="text" class="form-control" placeholder="Enter Contact Name" name="name[]" required> <input value="${contact ? contact.name : ''}" type="text" class="form-control" placeholder="Enter Contact Name" name="name[]" required>
</div> </div>
</div> </div>
<div class="form-row">
<div class="form-group col-md-12">
<label>Designation<span class="text-danger">*</span></label>
<input value="${contact ? contact.designation : ''}" type="text" class="form-control" placeholder="Enter Designation Name" name="designation[]" required>
</div>
</div>
<div class="form-row"> <div class="form-row">
<div class="form-group col-md-12"> <div class="form-group col-md-12">
<label>Email<span class="text-danger">*</span></label> <label>Email<span class="text-danger">*</span></label>
@ -688,12 +719,6 @@
<input value="${contact ? contact.mobile : ''}" type="tel" class="form-control" placeholder="Enter Contact Mobile" pattern="[0-9]{10}" name="mobile[]" required> <input value="${contact ? contact.mobile : ''}" type="tel" class="form-control" placeholder="Enter Contact Mobile" pattern="[0-9]{10}" name="mobile[]" required>
</div> </div>
</div> </div>
<div class="form-row">
<div class="form-group col-md-12">
<label>Designation<span class="text-danger">*</span></label>
<input value="${contact ? contact.designation : ''}" type="text" class="form-control" placeholder="Enter Designation Name" name="designation[]" required>
</div>
</div>
</div> </div>
`; `;
@ -705,17 +730,28 @@
} }
function removeContact(btn){
var $block = $(btn).closest('.contact-block');
var isFirst = $block.attr('id') === 'contact_1_wrapper';
function removeContact(button) { if (isFirst) {
var uniqueId = button.id.split("_")[0]; var $next = $('#container .contact-block').first();
var contactSection = document.getElementById(uniqueId); if ($next.length){
$block.replaceWith($next);
$next.attr('id','contact_1_wrapper');
$next.find('.modal-subtitle').text('Contact 1');
} else {
$block.find('input').val('');
return;
}
} else {
$block.remove();
}
if (contactSection) { renumberContacts();
contactSection.parentNode.removeChild(contactSection);
renumberContacts(); // ✅ renumber after removal
toggleAddButton(); toggleAddButton();
} }
}
function toggleAddButton() { function toggleAddButton() {
var totalContacts = document.querySelectorAll('.contact-block, #contact_1_wrapper').length; var totalContacts = document.querySelectorAll('.contact-block, #contact_1_wrapper').length;

View File

@ -68,9 +68,9 @@
$('#btnBranchAdd').hide(); $('#btnBranchAdd').hide();
toastr.warning('First Add the Insurer!', 'warning',{timeOut: 2000}); toastr.warning('First Add the Insurer!', 'warning',{timeOut: 2000});
}else{ }else{
if ($('#btnBranchBack')[0].style.display == 'none') { // if ($('#btnBranchBack')[0].style.display == 'none') {
$('#btnBranchAdd').show(); $('#btnBranchAdd').show();
} // }
} }
} }

View File

@ -14,17 +14,17 @@
<!-- Optional CSS --> <!-- Optional CSS -->
<style> <style>
/* Make modal really XL and scrollable */ /* Make modal really XL and scrollable */
#branchModal .modal-dialog.modal-xl { #tpaBranchModal .modal-dialog.modal-xl {
max-width: 90%; max-width: 90%;
height: 90vh; height: 90vh;
} }
#branchModal .modal-content { #tpaBranchModal .modal-content {
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
} }
#branchModal .modal-body { #tpaBranchModal .modal-body {
overflow-y: auto; overflow-y: auto;
max-height: 80vh; max-height: 80vh;
} }
@ -166,7 +166,7 @@
</div> </div>
<!-- end --> <!-- end -->
<!-- Modal --> <!-- Modal -->
<div class="modal fade" id="branchModal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal fade" id="tpaBranchModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-xl" style="max-width: 1140px !important;"> <div class="modal-dialog modal-dialog-centered modal-xl" style="max-width: 1140px !important;">
<div class="modal-content"> <div class="modal-content">
<!-- Modal Header --> <!-- Modal Header -->
@ -181,18 +181,22 @@
<div class="modal-body" style="overflow-y:auto; max-height:80vh;"> <div class="modal-body" style="overflow-y:auto; max-height:80vh;">
<form id="insurer_branch_form" class="parsley-examples" method="post" enctype="multipart/form-data"> <form id="insurer_branch_form" class="parsley-examples" method="post" enctype="multipart/form-data">
<div class="row"> <div class="row">
<input type="hidden" class="form-control" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
<input type="hidden" name="PrimaryKey" id="tpa_Branch_PrimaryKey" />
<input type="hidden" name="tpa_id" id="tpa_id_branch" value="<?= isset($tpa['id']) ? $tpa['id'] : '' ?>"/>
<!-- Left Section: Branch Details --> <!-- Left Section: Branch Details -->
<div class="col-md-8 d-flex flex-column" style="max-height: calc(80vh - 50px);"> <div class="col-md-8 d-flex flex-column" style="max-height: calc(80vh - 50px);">
<!-- Branch Name & Code --> <!-- Branch Name & Code -->
<div class="form-row"> <div class="form-row">
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="branch_name">Branch Name <span class="text-danger">*</span></label> <label for="branch_name">Branch Name <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="branch_name" name="branch_name" required> <input type="text" class="form-control" id="branch_name"
placeholder="Enter Branch Name" name="branch_name" required>
</div> </div>
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="branch_code">Branch Code <span class="text-danger">*</span></label> <label for="branch_code">Branch Code <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="branch_code" name="branch_code" required> <input type="text" class="form-control" id="branch_code"
placeholder="Enter Branch Code" name="branch_code" required>
</div> </div>
</div> </div>
@ -200,11 +204,11 @@
<div class="form-row"> <div class="form-row">
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="address1">Address Line 1 <span class="text-danger">*</span></label> <label for="address1">Address Line 1 <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="address1" name="address1" required> <input type="text" class="form-control" id="address1" name="address1" placeholder="Enter Address 1" required>
</div> </div>
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="address2">Address Line 2</label> <label for="address2">Address Line 2</label>
<input type="text" class="form-control" id="address2" name="address2"> <input type="text" class="form-control" id="address2" placeholder="Enter Address 2" name="address2">
</div> </div>
</div> </div>
@ -214,14 +218,16 @@
<label for="state">State <span class="text-danger">*</span></label> <label for="state">State <span class="text-danger">*</span></label>
<select class="form-control" id="state" name="state" required> <select class="form-control" id="state" name="state" required>
<option value="">Select State</option> <option value="">Select State</option>
<?php foreach($state as $value) { ?> <?php if ($state) {
foreach($state as $value) { ?>
<option value="<?= $value['id'] ?>"><?= $value['state'] ?></option> <option value="<?= $value['id'] ?>"><?= $value['state'] ?></option>
<?php } ?> <?php } }?>
</select> </select>
</div> </div>
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="district">District <span class="text-danger">*</span></label> <label for="district">District <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="district" name="district" required> <input type="text" class="form-control" id="district"
placeholder="Enter District" name="district" required>
</div> </div>
</div> </div>
@ -229,18 +235,19 @@
<div class="form-row"> <div class="form-row">
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="branch_city">City <span class="text-danger">*</span></label> <label for="branch_city">City <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="branch_city" name="city" required> <input type="text" class="form-control" id="branch_city"
placeholder="Enter City" name="city" required>
</div> </div>
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="pincode">Pincode <span class="text-danger">*</span></label> <label for="pincode">Pincode <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="pincode" name="pincode" required> <input type="text" class="form-control" id="pincode" placeholder="Enter Pincode" name="pincode" required>
</div> </div>
</div> </div>
<!-- Submit / Cancel --> <!-- Submit / Cancel -->
<div class="form-row"> <div class="form-row">
<!-- <div class="form-group col-md-12 mt-2"> --> <!-- <div class="form-group col-md-12 mt-2"> -->
<div class="mt-2"> <div style="margin-top: 85px;">
<button type="submit" class="btn app-btn-secondary mr-2" id="btnSubmit">Submit</button> <button type="submit" class="btn app-btn-secondary mr-2" id="btnSubmit">Submit</button>
<button type="button" class="btn app-btn-outline-secondary btnBack" id="btnBack" data-dismiss="modal" aria-hidden="true">Cancel</button> <button type="button" class="btn app-btn-outline-secondary btnBack" id="btnBack" data-dismiss="modal" aria-hidden="true">Cancel</button>
</div> </div>
@ -260,22 +267,30 @@
</div> </div>
<!-- Contact Form Fields --> <!-- Contact Form Fields -->
<input type="hidden" name="primarykey[]" id="contact_id_1" value=""/> <!-- <input type="hidden" name="primarykey[]" id="contact_id_1" value=""/> -->
<div class="form-group mb-2"> <div class="form-row">
<div class="form-group col-md-12">
<label for="name">Name <span class="text-danger">*</span></label> <label for="name">Name <span class="text-danger">*</span></label>
<input type="text" class="form-control" placeholder="Enter Contact Name" name="name[]" id="name" required> <input value="" type="text" class="form-control" placeholder="Enter Contact Name" name="name[]" id="name" required>
</div> </div>
<div class="form-group mb-2"> </div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="designation">Designation <span class="text-danger">*</span></label> <label for="designation">Designation <span class="text-danger">*</span></label>
<input type="text" class="form-control" placeholder="Enter Designation Name" name="designation[]" id="designation" required> <input value="" type="text" class="form-control" placeholder="Enter Designation Name" name="designation[]" id="designation" required>
</div> </div>
<div class="form-group mb-2"> </div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="email">Email <span class="text-danger">*</span></label> <label for="email">Email <span class="text-danger">*</span></label>
<input type="email" class="form-control" placeholder="Enter Contact Email" name="email[]" id="email" required> <input value="" data-parsley-type="email" type="email" data-parsley-type="email" class="form-control" placeholder="Enter Contact Email" name="email[]" id="email" required>
</div> </div>
<div class="form-group mb-2"> </div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="mobile">Mobile <span class="text-danger">*</span></label> <label for="mobile">Mobile <span class="text-danger">*</span></label>
<input type="tel" class="form-control" placeholder="Enter Contact Mobile" pattern="[0-9]{10}" name="mobile[]" id="mobile" required> <input value="" data-parsley-type="number" data-parsley-length="[10,10]" type="tel" class="form-control" placeholder="Enter Contact Mobile" name="mobile[]" id="mobile" required>
</div>
</div> </div>
</div> </div>
@ -309,21 +324,21 @@ $(document).ready(function () {
var tpa_Branch_PrimaryKey = $('#tpa_id_branch').val(); var tpa_Branch_PrimaryKey = $('#tpa_id_branch').val();
var tpa_branch_form_action = ''; var tpa_branch_form_action = '';
var myModal = new bootstrap.Modal(document.getElementById('branchModal')); var myModal = new bootstrap.Modal(document.getElementById('tpaBranchModal'));
myModal.hide(); myModal.hide();
// $('#add_branch').hide(); // $('#add_branch').hide();
$('.btnBack').hide(); // $('.btnBack').hide();
loadBranchList(); loadBranchList();
$('#btnBranchAdd').click(function(){ $('#btnBranchAdd').click(function(){
tpa_branch_form_action = '<?= base_url("master/tpa/branch/create"); ?>'; tpa_branch_form_action = '<?= base_url("master/tpa/branch/create"); ?>';
var myModal = new bootstrap.Modal(document.getElementById('branchModal')); var myModal = new bootstrap.Modal(document.getElementById('tpaBranchModal'));
myModal.show(); myModal.show();
// $('#add_branch').show(); // $('#add_branch').show();
// $('#branch_table').hide(); // $('#branch_table').hide();
$('.btnBack').show(); // $('.btnBack').show();
// $('#btnBranchAdd').hide(); // $('#btnBranchAdd').hide();
$('#branch_name').val(''); $('#branch_name').val('');
@ -364,11 +379,11 @@ $(document).ready(function () {
$('.btnBack').click(function(){ $('.btnBack').click(function(){
var myModal = new bootstrap.Modal(document.getElementById('branchModal')); var myModal = new bootstrap.Modal(document.getElementById('tpaBranchModal'));
myModal.hide(); myModal.hide();
// $('#add_branch').hide(); // $('#add_branch').hide();
// $('#branch_table').show(); // $('#branch_table').show();
$('.btnBack').hide(); // $('.btnBack').hide();
// $('#btnBranchAdd').show(); // $('#btnBranchAdd').show();
$('#branch_name').val(''); $('#branch_name').val('');
@ -381,6 +396,7 @@ $(document).ready(function () {
$('#email').val(''); $('#email').val('');
$('#mobile').val(''); $('#mobile').val('');
$('#designation').val(''); $('#designation').val('');
$('#container').empty(); $('#contact_1_wrapper input').val('');
}) })
@ -449,8 +465,8 @@ $(document).ready(function () {
}); });
} }
$('#tpa_branch_list').append(tpaBranchTableInsert); $('#tpa_branch_list').append(tpaBranchTableInsert);
var myModal = new bootstrap.Modal(document.getElementById('branchModal')); $('#container').empty(); $('#contact_1_wrapper input').val('');
myModal.hide(); $('.close').click();
// $('#add_branch').hide(); // $('#add_branch').hide();
// $('#branch_table').show(); // $('#branch_table').show();
// $('.btnBack').hide(); // $('.btnBack').hide();
@ -464,6 +480,13 @@ $(document).ready(function () {
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); toastr.warning('Something Wrong!', 'warning');
}, 1000); }, 1000);
},
complete: function() {
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}, 1000);
$('.close').click();
} }
}); });
} }
@ -487,7 +510,7 @@ $(document).ready(function () {
}, 1000); }, 1000);
console.log("tpa............."); console.log("tpa.............");
console.log(res) console.log(res)
var myModal = new bootstrap.Modal(document.getElementById('branchModal')); var myModal = new bootstrap.Modal(document.getElementById('tpaBranchModal'));
myModal.show(); myModal.show();
// $('#add_branch').show(); // $('#add_branch').show();
// $('#branch_table').hide(); // $('#branch_table').hide();
@ -663,7 +686,7 @@ function renumberContacts() {
var container = document.getElementById('container'); var container = document.getElementById('container');
var uniqueId = Date.now().toString(); var uniqueId = Date.now().toString();
// <input type="hidden" name="primarykey[]" value="${contact ? contact.id : ''}"/>
var html = ` var html = `
<div id="${uniqueId}" class="bg-white p-2 mb-2 rounded contact-block"> <div id="${uniqueId}" class="bg-white p-2 mb-2 rounded contact-block">
<div class="d-flex justify-content-between align-items-center mb-2"> <div class="d-flex justify-content-between align-items-center mb-2">
@ -673,12 +696,18 @@ function renumberContacts() {
</div> </div>
</div> </div>
<div class="form-row"> <div class="form-row">
<input type="hidden" name="primarykey[]" value="${contact ? contact.id : ''}"/>
<div class="form-group col-md-12"> <div class="form-group col-md-12">
<label>Name<span class="text-danger">*</span></label> <label>Name<span class="text-danger">*</span></label>
<input value="${contact ? contact.name : ''}" type="text" class="form-control" placeholder="Enter Contact Name" name="name[]" required> <input value="${contact ? contact.name : ''}" type="text" class="form-control" placeholder="Enter Contact Name" name="name[]" required>
</div> </div>
</div> </div>
<div class="form-row">
<div class="form-group col-md-12">
<label>Designation<span class="text-danger">*</span></label>
<input value="${contact ? contact.designation : ''}" type="text" class="form-control" placeholder="Enter Designation Name" name="designation[]" required>
</div>
</div>
<div class="form-row"> <div class="form-row">
<div class="form-group col-md-12"> <div class="form-group col-md-12">
<label>Email<span class="text-danger">*</span></label> <label>Email<span class="text-danger">*</span></label>
@ -691,12 +720,6 @@ function renumberContacts() {
<input value="${contact ? contact.mobile : ''}" type="tel" class="form-control" placeholder="Enter Contact Mobile" pattern="[0-9]{10}" name="mobile[]" required> <input value="${contact ? contact.mobile : ''}" type="tel" class="form-control" placeholder="Enter Contact Mobile" pattern="[0-9]{10}" name="mobile[]" required>
</div> </div>
</div> </div>
<div class="form-row">
<div class="form-group col-md-12">
<label>Designation<span class="text-danger">*</span></label>
<input value="${contact ? contact.designation : ''}" type="text" class="form-control" placeholder="Enter Designation Name" name="designation[]" required>
</div>
</div>
</div> </div>
`; `;
@ -707,15 +730,26 @@ function renumberContacts() {
} }
} }
function removeContact(button) { function removeContact(btn){
var uniqueId = button.id.split("_")[0]; var $block = $(btn).closest('.contact-block');
var contactSection = document.getElementById(uniqueId); var isFirst = $block.attr('id') === 'contact_1_wrapper';
if (contactSection) { if (isFirst) {
contactSection.parentNode.removeChild(contactSection); var $next = $('#container .contact-block').first();
renumberContacts(); // ✅ renumber after removal if ($next.length){
toggleAddButton(); $block.replaceWith($next);
$next.attr('id','contact_1_wrapper');
$next.find('.modal-subtitle').text('Contact 1');
} else {
$block.find('input').val('');
return;
} }
} else {
$block.remove();
}
renumberContacts();
toggleAddButton();
} }
function toggleAddButton() { function toggleAddButton() {

View File

@ -83,9 +83,9 @@ body {
$('#btnBranchAdd').hide(); $('#btnBranchAdd').hide();
toastr.warning('First Add the TPA!', 'warning',{timeOut: 2000}); toastr.warning('First Add the TPA!', 'warning',{timeOut: 2000});
}else{ }else{
if ($('#btnBranchBack')[0].style.display == 'none') { // if ($('#btnBranchBack')[0].style.display == 'none') {
$('#btnBranchAdd').show(); $('#btnBranchAdd').show();
} // }
} }
} }