jQuery(document).ready(function($) { // Current page state let currentPage = 1; const perPage = 50; // Display 50 sessions per page let totalPages = 1; // Track selected sessions for bulk delete let selectedSessions = new Set(); // Select/Deselect All functionality const selectButton = $('#mxchat-select-all-transcripts'); let isSelected = false; selectButton.click(function() { isSelected = !isSelected; $(this).toggleClass('selected'); // Update button text const buttonText = $(this).find('.button-text'); buttonText.text(isSelected ? 'Deselect All' : 'Select All'); // Update session selection (for current page) $('.mxchat-session-header').each(function() { const sessionId = $(this).data('session-id'); const sessionContainer = $(this).closest('.mxchat-session'); if (isSelected) { selectedSessions.add(sessionId); sessionContainer.addClass('selected'); } else { selectedSessions.delete(sessionId); sessionContainer.removeClass('selected'); } }); updateDeleteButtonState(); }); // Search functionality $('#mxchat-search-transcripts').on('input', function() { var searchTerm = $(this).val().toLowerCase(); if (searchTerm.length > 0) { // Reset to first page when searching currentPage = 1; // Load with search filter loadTranscripts(currentPage, searchTerm); } else { // Reset to first page with no search term currentPage = 1; loadTranscripts(currentPage, ''); } }); // Initial load of transcripts loadTranscripts(currentPage, ''); // Function to load transcripts with pagination function loadTranscripts(page, searchTerm = '') { $('#mxchat-transcripts').html('