From f6b8be70c97ba9d818011053361db5f07204109b Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Mon, 13 Oct 2025 12:12:47 +0530 Subject: [PATCH] CHNAGE_ENROLLMENT_FILTER --- app/Views/enrollment_list.php | 278 +++++++++++++++++++++++----------- 1 file changed, 189 insertions(+), 89 deletions(-) diff --git a/app/Views/enrollment_list.php b/app/Views/enrollment_list.php index bc59899..8d3810d 100755 --- a/app/Views/enrollment_list.php +++ b/app/Views/enrollment_list.php @@ -99,10 +99,8 @@
-
- -
+
@@ -111,7 +109,6 @@
Emp Count

0

-
@@ -168,10 +165,20 @@
+
+
+
+
+
+
Draft
+

0

+
+
+
+
+
- - @@ -297,16 +304,16 @@ }); } - function filterTable(columnIndex, filterValue) - { - var table = $('#tickets-table').DataTable(); + // function filterTable(columnIndex, filterValue) + // { + // var table = $('#tickets-table').DataTable(); - // Reset the search filter for all columns - table.columns().search('').draw(); + // // Reset the search filter for all columns + // table.columns().search('').draw(); - // Apply the filter to the specified column - table.column(columnIndex).search(filterValue).draw(); - } + // // Apply the filter to the specified column + // table.column(columnIndex).search(filterValue).draw(); + // } function fetchEmpolyeeList(event) { @@ -357,28 +364,45 @@ return; } var enrolled_count = 0; + var not_enrolled_count = 0; var loggedIn_count = 0; + var not_loggedIn_count = 0; + var self_count = 0; + var draft_count = 0; + data.forEach(function(employee, index) { + if(employee.relationship.toLowerCase() === "self"){ + self_count++ + } + if(employee.emp_status === 'enrolled'){ var enrolled = 'Yes'; enrolled_count++; }else{ var enrolled = 'No'; + if (employee.relationship.toLowerCase() === "self") { + not_enrolled_count++; + } } - if(employee.user_type === 'employee'){ + if(employee.relationship.toLowerCase() === "self" && employee.user_type === 'employee'){ var loggedIn = 'Yes'; loggedIn_count++; }else{ if (employee.relationship && employee.relationship.toLowerCase() === "self") { var loggedIn = 'No'; + not_loggedIn_count ++; }else{ var loggedIn = '-'; } } + if(employee.relationship.toLowerCase() === "self" && enrolled == "No" && loggedIn == "Yes"){ + draft_count++; + } + table.row.add([ index + 1, employee.employee_name, @@ -387,15 +411,15 @@ enrolled, loggedIn ]); - - $('#emp_count_view').html(data.length); - $('#emp_enrolled_view').html(enrolled_count); - $('#emp_not_enrolled_view').html(data.length - enrolled_count); - $('#emp_logged_in_view').html(loggedIn_count); - $('#emp_not_logged_in_view').html(data.length - loggedIn_count); - }); + $('#emp_count_view').html(self_count); + $('#emp_enrolled_view').html(enrolled_count); + $('#emp_not_enrolled_view').html(not_enrolled_count); + $('#emp_logged_in_view').html(loggedIn_count); + $('#emp_not_logged_in_view').html(not_loggedIn_count); + $('#emp_draft_view').html(draft_count); + table.draw(); function getUrlParameter(name) { @@ -490,91 +514,167 @@ }); - $('#emp_enrolled_view_click').on('click', function() { + // $('#emp_enrolled_view_click').on('click', function() { - console.log($(this).hasClass('click_hover')); - if ($(this).hasClass('click_hover')) { - // $(this).removeClass('click_hover'); - $('.click_hover').each(function() { - $(this).removeClass('click_hover'); - }); - table.columns().search('').draw(); // Clear all filters and show all data - }else{ - $('.click_hover').each(function() { - $(this).removeClass('click_hover'); - }); - $('#emp_enrolled_view_click').addClass('click_hover'); - filterTable(4, 'Yes'); // Filter "Enrolled" column (4th column, index 3) - } + // console.log($(this).hasClass('click_hover')); + // if ($(this).hasClass('click_hover')) { + // // $(this).removeClass('click_hover'); + // $('.click_hover').each(function() { + // $(this).removeClass('click_hover'); + // }); + // table.columns().search('').draw(); // Clear all filters and show all data + // }else{ + // $('.click_hover').each(function() { + // $(this).removeClass('click_hover'); + // }); + // $('#emp_enrolled_view_click').addClass('click_hover'); + // filterTable(4, 'Yes'); // Filter "Enrolled" column (4th column, index 3) + // } + // }); + + // $('#emp_not_enrolled_view_click').on('click', function() { + // if ($(this).hasClass('click_hover')) { + // // $(this).removeClass('click_hover'); + // $('.click_hover').each(function() { + // $(this).removeClass('click_hover'); + // }); + // table.columns().search('').draw(); // Clear all filters and show all data + // }else{ + // $('.click_hover').each(function() { + // $(this).removeClass('click_hover'); + // }); + // $('#emp_not_enrolled_view_click').addClass('click_hover'); + // filterTable(4, 'No'); // Filter "Enrolled" column (4th column, index 3) + // } + // }); + + // $('#emp_logged_in_view_click').on('click', function() { + // if ($(this).hasClass('click_hover')) { + // // $(this).removeClass('click_hover'); + // $('.click_hover').each(function() { + // $(this).removeClass('click_hover'); + // }); + // table.columns().search('').draw(); // Clear all filters and show all data + // }else{ + // $('.click_hover').each(function() { + // $(this).removeClass('click_hover'); + // }); + // $('#emp_logged_in_view_click').addClass('click_hover'); + // filterTable(5, 'Yes'); // Filter "Logged-In" column (5th column, index 4) + // } + // }); + + // $('#emp_not_logged_in_view_click').on('click', function() { + // if ($(this).hasClass('click_hover')) { + // // $(this).removeClass('click_hover'); + // $('.click_hover').each(function() { + // $(this).removeClass('click_hover'); + // }); + // table.columns().search('').draw(); // Clear all filters and show all data + // }else{ + // $('.click_hover').each(function() { + // $(this).removeClass('click_hover'); + // }); + // $('#emp_not_logged_in_view_click').addClass('click_hover'); + // filterTable(5, 'No'); // Filter "Logged-In" column (5th column, index 4) + // } + // }); + + // $('#emp_draft_view_click').on('click', function() { + // var table = $('#tickets-table').DataTable(); + + // if ($(this).hasClass('click_hover')) { + // // Remove active class and reset filters + // $('.click_hover').removeClass('click_hover'); + // table.columns().search('').draw(); // Clear all filters + // } else { + // // Remove existing active state and set new one + // $('.click_hover').removeClass('click_hover'); + // $(this).addClass('click_hover'); + + // // Apply both filters simultaneously + // filterTableMultiple([ + // { column: 5, value: 'Yes' }, + // { column: 4, value: 'No' } + // ]); + // } + // }); + + // $('#emp_count_view_click').on('click', function() { + // if ($(this).hasClass('click_hover')) { + // // $(this).removeClass('click_hover'); + // $('.click_hover').each(function() { + // $(this).removeClass('click_hover'); + // }); + // table.columns().search('').draw(); // Clear all filters and show all data + // }else{ + // $('.click_hover').each(function() { + // $(this).removeClass('click_hover'); + // }); + // $('#emp_count_view_click').addClass('click_hover'); + // table.columns().search('').draw(); // Clear all filters and show all data + // } + // }); + + // === Attach click handlers === + $('#emp_enrolled_view_click').on('click', function() { + handleFilterClick('emp_enrolled_view_click', [{ column: 4, value: 'Yes' }]); }); $('#emp_not_enrolled_view_click').on('click', function() { - if ($(this).hasClass('click_hover')) { - // $(this).removeClass('click_hover'); - $('.click_hover').each(function() { - $(this).removeClass('click_hover'); - }); - table.columns().search('').draw(); // Clear all filters and show all data - }else{ - $('.click_hover').each(function() { - $(this).removeClass('click_hover'); - }); - $('#emp_not_enrolled_view_click').addClass('click_hover'); - filterTable(4, 'No'); // Filter "Enrolled" column (4th column, index 3) - } + handleFilterClick('emp_not_enrolled_view_click', [ + { column: 3, value: 'Self' }, + { column: 4, value: 'No' } + ]); }); $('#emp_logged_in_view_click').on('click', function() { - if ($(this).hasClass('click_hover')) { - // $(this).removeClass('click_hover'); - $('.click_hover').each(function() { - $(this).removeClass('click_hover'); - }); - table.columns().search('').draw(); // Clear all filters and show all data - }else{ - $('.click_hover').each(function() { - $(this).removeClass('click_hover'); - }); - $('#emp_logged_in_view_click').addClass('click_hover'); - filterTable(5, 'Yes'); // Filter "Logged-In" column (5th column, index 4) - } + handleFilterClick('emp_logged_in_view_click', [{ column: 5, value: 'Yes' }]); }); $('#emp_not_logged_in_view_click').on('click', function() { - if ($(this).hasClass('click_hover')) { - // $(this).removeClass('click_hover'); - $('.click_hover').each(function() { - $(this).removeClass('click_hover'); - }); - table.columns().search('').draw(); // Clear all filters and show all data - }else{ - $('.click_hover').each(function() { - $(this).removeClass('click_hover'); - }); - $('#emp_not_logged_in_view_click').addClass('click_hover'); - filterTable(5, 'No'); // Filter "Logged-In" column (5th column, index 4) - } + handleFilterClick('emp_not_logged_in_view_click', [{ column: 5, value: 'No' }]); + }); + + // 🔹 Attach click handlers + $('#emp_draft_view_click').on('click', function() { + handleFilterClick('emp_draft_view_click', [ + { column: 5, value: 'Yes' }, // Logged-in = Yes + { column: 4, value: 'No' } // Enrolled = No + ]); }); $('#emp_count_view_click').on('click', function() { - if ($(this).hasClass('click_hover')) { - // $(this).removeClass('click_hover'); - $('.click_hover').each(function() { - $(this).removeClass('click_hover'); - }); - table.columns().search('').draw(); // Clear all filters and show all data - }else{ - $('.click_hover').each(function() { - $(this).removeClass('click_hover'); - }); - $('#emp_count_view_click').addClass('click_hover'); - table.columns().search('').draw(); // Clear all filters and show all data - } + // Just reset all filters — no column filter needed + handleFilterClick('emp_count_view_click', [{ column: 3, value: 'Self' }]); }); toggleContent(); }); + // Common function to handle DataTable filter toggling + function handleFilterClick(buttonId, filters = null) { + var table = $('#tickets-table').DataTable(); + var $button = $('#' + buttonId); + + if ($button.hasClass('click_hover')) { + // Remove highlight and clear filters + $('.click_hover').removeClass('click_hover'); + table.columns().search('').draw(); + } else { + // Remove existing active state, set new one + $('.click_hover').removeClass('click_hover'); + $button.addClass('click_hover'); + + // Apply multiple filters (array of {column, value}) + table.columns().search(''); // clear existing filters + if(filters){ + filters.forEach(f => table.column(f.column).search(f.value)); + } + table.draw(); + } + } + function toggleContent() { var content = document.getElementById("statusContent");