EVOLUTION-NINJA
Edit File: constituency_master.php
<?php echo view('includes/sidebar'); ?> <script type="text/javascript" src="<?php echo base_url('public/assets/js/jquery-3.6.0.min.js'); ?>"></script> <script src="<?php echo base_url('public/assets/toastr/toastr.min.js');?>"></script> <link rel="stylesheet" href="<?php echo base_url('public/assets/toastr/toastr.min.css');?>"> <link rel="stylesheet" href="https://cdn.datatables.net/1.11.5/css/jquery.dataTables.min.css"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.datatables.net/1.11.5/js/jquery.dataTables.min.js"></script> <style> .btn-close { background:white; border: none; appearance: none; width: 2em; height: 2em; opacity: 0.5; border-radius:25px; } .btn-close::before { content: "×"; font-size: 1.5rem; color: #000; } .container { margin: 0 auto; padding: 20px; max-width: 1400px; background-color: #f9f9f9; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } .tableBlock { margin-top: 70px !important; } .crud--buttons { display: flex; align-items: center; justify-content: space-between; } .editbtn { background-color: Green; color: white; padding: 5px 24px; width: 90px } .deletebtn { background-color: Red; color: white; padding: 5px 14px; margin-left: 5px; width: 90px } /* Table Styling */ #datatable { width: 100%; border-collapse: collapse; margin-top: 20px; background-color: #fff; } #datatable thead th { background-color: #4B0B0B; color: white; padding: 12px; text-align: left; font-weight: bold; border: 1px solid #ddd; } #datatable tbody td { padding: 12px; border: 1px solid #ddd; text-align: left; } /* Row Hover Effect */ #datatable tbody tr:hover { background-color: #f1f1f1; } /* Action Button Styling */ #datatable tbody td .action-btn { padding: 6px 14px !important; background-color: #4CAF50; color: white; border: none; border-radius: 4px; cursor: pointer; transition: background-color 0.3s ease; } #datatable tbody td .action-btn:hover { background-color: #45a049; } .deptable{ overflow-x:auto; } /* Responsive Table */ @media screen and (max-width: 768px) { .container { padding: 10px; } #datatable { font-size: 14px; } } </style> <section class="home-section fullpage"> <div class="home-content"> <i class='bx bx-menu'></i> <!-- <span class="text">Drop Down Sidebar</span> --> </div> <div class="row m-0"> <div class="col-sm-12"> <h1 class="crt-pjt">Constituency Master</h1> </div> </div> <!-- forms --> <form id="formconstituency"> <!-- ---------------------------------------------------------------------------------------- --> <div class="row m-0"> <div class="constuency_page"> <div class="constuencydetails"> <div class="constuencydetail row"> <div class="col-sm-3"> <label for="Constituency_Name" class="form-label inpfieldname">Constituency Name</label><br> <select class="form-select form-control fieldsbox" aria-label="Default select example" id="constituency" name="constituency"> <option value=""></option> </select> </div> <div class="col-sm-3"> <label for="mla" class="form-label inpfieldname">MLA</label><br> <input type="text" name="mla" class="form-control fieldsbox" id="mla"> </div> <div class="col-sm-3"> <label for="mla" class="form-label inpfieldname">MP</label><br> <input type="text" name="mp" class="form-control fieldsbox" id="mla"> </div> <div class="col-sm-3"> <label for="mla" class="form-label inpfieldname">MLC</label><br> <input type="text" name="mlc" class="form-control fieldsbox" id="mla"> </div> </div> </div> </div> <div class="col-sm-6 buttns-cnl"> <button type="submit" class="submit">Submit</button> <button type="button" class="cancel" id="btn-cancel">Cancel</button> </div> </div> </form> <div class="row mt-5 tableBlock"> <div class="col-sm-12"> <div class="modal fade" id="editdepartmentModal" tabindex="-1" role="dialog" aria-labelledby="editdepartmentModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="editdepartmentLabel">Edit Constituency</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <form id="editdepartmentForm"> <div class="modal-body"> <input type="hidden" name="id" id="editconstituencyId"> <div class="form-group"> <label for="editAddress">Constituency</label> <select class="form-select form-control fieldsbox" id="editconstituency" name="constituency_model" required> </select> </div> <div class="form-group"> <label for="editAddress">MLA/MP/MLC</label> <input type="text" class="form-control" id="editmla" name="mla_model"> </div> </div> <div class="modal-footer"> <button type="submit" class="btn btn-primary submit">Update</button> </div> </form> </div> </div> </div> <div class="container deptable"> <table id="datatable" class="display" style="width:100%"> <thead> <tr> <th>SL no</th> <th>ID</th> <th>Constituency Name</th> <th>MLA Name</th> <th>MP Name</th> <th>MLC Name</th> <th>Action</th> </tr> </thead> <tbody> </tbody> </table> <br /> <div id="resultID"></div> </div> </div> </div> </div> </section> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.8/dist/sweetalert2.all.min.js"></script> <link href="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.8/dist/sweetalert2.min.css" rel="stylesheet"> <script> $(document).ready(function(){ $('#btn-cancel').click(function(e){ e.preventDefault(); $('#formconstituency')[0].reset(); }) }) </script> <script> $(document).ready(function () { $('#formconstituency').submit(function (e) { e.preventDefault(); var formdata = new FormData($(this)[0]); $('#app-btn').text('Sumitting...'); $('#app-btn').attr('disabled', 'disabled'); $.ajax({ type: 'post', url: '<?php echo base_url("constituency-master");?>', data: formdata, contentType: false, processData: false, success: function (response) { if (response.result == 1) { Swal.fire({ icon: "success", title: response.message, showConfirmButton: false, timer: 2000 }); $('#formconstituency')[0].reset(); window.location.href = '<?php echo base_url("constituency-master");?>'; } else { Swal.fire({ icon: "error", title: response.message, showConfirmButton: false, timer: 1000 }); } $('#app-btn').removeAttr('disabled').text("SUBMIT"); }, error: function (xhr, textStatus, errorThrown) { console.error(xhr.responseText); Swal.fire({ icon: "error", title: "An error occurred", showConfirmButton: false, timer: 1000 }); }, complete: function () { $('#app-btn').removeAttr('disabled').text("SUBMIT"); } }); }); }); </script> <script> $(document).ready(function () { $.ajax({ url: '<?php echo base_url("fetch-constituency"); ?>', method: 'GET', success: function (response) { if (response.length > 0) { var options = '<option value="">Select Constituency</option>'; $.each(response, function (key, value) { options += `<option value="${value.id}">${value.constituency_name}</option>`; }); $('#constituency').html(options); } else { //alert('No constituency found'); } }, error: function (xhr, status, error) { console.error("Error fetching constituency:", error); } }); }); </script> <script> var role = '<?php echo session()->get('role');?>'; $(document).ready(function () { var table = $('#datatable').DataTable({ pageLength: 20, ajax: { url: '<?php echo base_url("constituency-master-data"); ?>', dataSrc: '' }, columns: [ { data: null }, { data: 'id', visible: false }, { data: 'constituency_name' }, { data: 'mla' }, { data: 'MP' }, { data: 'MLC' }, { data: null, render: function (data, type, row) { var access = '<div class="crud--buttons">'; access += '<button class="btn edit--butt v-e-d editbtn" id="Edit--button" onclick="Edit(' + row.id + ')">Edit</button>'; access += '<button class="btn delete--butt v-e-d deletebtn" id="delete--button" onclick="Delete(' + row.id + ')">Delete</button>'; access += '</div>'; return access; } } ], rowCallback: function (row, data, index) { $('td:eq(0)', row).html(index + 1); }, language: { emptyTable: "No data available" } }); }); </script> <script> function Delete(Id) { // alert(Id); Swal.fire({ title: 'Are you sure?', text: "You won't be able to revert this!", icon: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', confirmButtonText: 'Yes, delete it!' }).then((result) => { if (result.isConfirmed) { $.ajax({ url: '<?php echo base_url('constituency-master-delete/') ?>' + Id, method: 'POST', dataType: 'json', success: function (response) { if (response.result == 1) { Swal.fire({ icon: "success", title: response.message, showConfirmButton: false, timer: 2000 }); $('#datatable').DataTable().ajax.reload(null, false); } else { Swal.fire({ icon: "error", title: "Failed to delete ", showConfirmButton: false, timer: 2000 }); } }, error: function () { console.log('Error deleting department'); } }); } }); } </script> <script> function Edit(Id) { // Fetch the data for the specific department to edit $.ajax({ url: "<?php echo base_url('constituency-master-edit'); ?>/" + Id, type: "GET", success: function(response) { if (response.result === 1) { let data = response.data[0]; console.log(data); console.log(response.constituency); // Set the values in the modal $('#editconstituencyId').val(data.id); $('#editmla').val(data.mla); const constituencySelect = $('#editconstituency'); constituencySelect.append('<option value="">Select Constituency</option>'); // Add default option // Populate the department dropdown only with department names response.constituency.forEach(function(constituency) { constituencySelect.append(`<option value="${constituency.id}" ${data.constituency_name === constituency.id ? 'selected' : ''}>${constituency.constituency_name}</option>`); }); $('#editdepartmentModal').modal('show'); } else { alert(response.message); } }, error: function(xhr, status, error) { console.error('Error fetching department data:', error); } }); } </script> <script> $(document).ready(function () { $('#editdepartmentForm').submit(function (e) { e.preventDefault(); var formData = new FormData($(this)[0]); $.ajax({ url: "<?php echo base_url('update-constituency-master') ?>", type: "POST", data: formData, processData: false, contentType: false, success: function (response) { if (response.result === 1) { Swal.fire({ icon: "success", title: response.message, showConfirmButton: false, timer: 2000 }); $('#editdepartmentModal').modal('hide'); $('#datatable').DataTable().ajax.reload(null, false); } else { alert(response.message); } }, error: function (xhr, status, error) { alert('An error occurred: ' + xhr.responseText); } }); }); }); </script> <script> let arrow = document.querySelectorAll(".arrow"); for (var i = 0; i < arrow.length; i++) { arrow[i].addEventListener("click", (e) => { let arrowParent = e.target.parentElement.parentElement; arrowParent.classList.toggle("showMenu"); }); } let sidebar = document.querySelector(".sidebar"); let sidebarBtn = document.querySelector(".bx-menu"); console.log(sidebarBtn); sidebarBtn.addEventListener("click", () => { sidebar.classList.toggle("close"); }); </script> <?php echo view('includes/footer'); ?>