Fix filtering
This commit is contained in:
parent
014d9492ac
commit
be09ab6c44
1 changed files with 18 additions and 7 deletions
|
@ -44,10 +44,10 @@ const EventRequestManagementTable = ({
|
||||||
const [eventRequests, setEventRequests] = useState<ExtendedEventRequest[]>(initialEventRequests);
|
const [eventRequests, setEventRequests] = useState<ExtendedEventRequest[]>(initialEventRequests);
|
||||||
const [filteredRequests, setFilteredRequests] = useState<ExtendedEventRequest[]>(initialEventRequests);
|
const [filteredRequests, setFilteredRequests] = useState<ExtendedEventRequest[]>(initialEventRequests);
|
||||||
const [isRefreshing, setIsRefreshing] = useState<boolean>(false);
|
const [isRefreshing, setIsRefreshing] = useState<boolean>(false);
|
||||||
const [statusFilter, setStatusFilter] = useState<string>('all');
|
const [statusFilter, setStatusFilter] = useState<string>('active');
|
||||||
const [searchTerm, setSearchTerm] = useState<string>('');
|
const [searchTerm, setSearchTerm] = useState<string>('');
|
||||||
const [sortField, setSortField] = useState<string>('created');
|
const [sortField, setSortField] = useState<string>('start_date_time');
|
||||||
const [sortDirection, setSortDirection] = useState<'asc' | 'desc'>('desc');
|
const [sortDirection, setSortDirection] = useState<'asc' | 'desc'>('asc');
|
||||||
const dataSync = DataSyncService.getInstance();
|
const dataSync = DataSyncService.getInstance();
|
||||||
// Add state for update modal
|
// Add state for update modal
|
||||||
const [isUpdateModalOpen, setIsUpdateModalOpen] = useState<boolean>(false);
|
const [isUpdateModalOpen, setIsUpdateModalOpen] = useState<boolean>(false);
|
||||||
|
@ -137,9 +137,19 @@ const EventRequestManagementTable = ({
|
||||||
|
|
||||||
// Apply status filter
|
// Apply status filter
|
||||||
if (statusFilter !== 'all') {
|
if (statusFilter !== 'all') {
|
||||||
filtered = filtered.filter(request =>
|
if (statusFilter === 'active') {
|
||||||
request.status?.toLowerCase() === statusFilter.toLowerCase()
|
// Filter to show only submitted and pending events (hide completed and declined)
|
||||||
);
|
filtered = filtered.filter(request => {
|
||||||
|
const status = request.status?.toLowerCase();
|
||||||
|
return status === 'submitted' || status === 'pending' || !status; // Include requests without status (assume pending)
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// For specific status filters, treat empty status as 'pending'
|
||||||
|
filtered = filtered.filter(request => {
|
||||||
|
const status = request.status?.toLowerCase() || 'pending'; // Default empty status to 'pending'
|
||||||
|
return status === statusFilter.toLowerCase();
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Apply search filter
|
// Apply search filter
|
||||||
|
@ -473,7 +483,7 @@ const EventRequestManagementTable = ({
|
||||||
// Apply filters when filter state changes
|
// Apply filters when filter state changes
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
applyFilters();
|
applyFilters();
|
||||||
}, [statusFilter, searchTerm, sortField, sortDirection]);
|
}, [statusFilter, searchTerm, sortField, sortDirection, eventRequests]);
|
||||||
|
|
||||||
// Check authentication and refresh token if needed
|
// Check authentication and refresh token if needed
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
@ -615,6 +625,7 @@ const EventRequestManagementTable = ({
|
||||||
value={statusFilter}
|
value={statusFilter}
|
||||||
onChange={(e) => setStatusFilter(e.target.value)}
|
onChange={(e) => setStatusFilter(e.target.value)}
|
||||||
>
|
>
|
||||||
|
<option value="active">Active (Submitted & Pending)</option>
|
||||||
<option value="all">All Statuses</option>
|
<option value="all">All Statuses</option>
|
||||||
<option value="pending">Pending</option>
|
<option value="pending">Pending</option>
|
||||||
<option value="completed">Completed</option>
|
<option value="completed">Completed</option>
|
||||||
|
|
Loading…
Reference in a new issue