|  | @@ -18,7 +18,7 @@ namespace PRS.Avalonia.Modules;
 | 
	
		
			
				|  |  |  public partial class InOutViewModel : ModuleViewModel
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |      const string AllFilter = "All";
 | 
	
		
			
				|  |  | -    const string NotInFilter = "Not In";
 | 
	
		
			
				|  |  | +    const string NotInFilter = "Absent";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      public override string Title => "In/Out";
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -78,13 +78,14 @@ public partial class InOutViewModel : ModuleViewModel
 | 
	
		
			
				|  |  |                  .Add(LookupFactory.DefineFilter<Employee>())
 | 
	
		
			
				|  |  |                  .Add(new Filter<Employee>(x => x.ID).IsNotEqualTo(Repositories.Me.ID).And(x => x.ShowOnInOutBoard).IsEqualTo(true))
 | 
	
		
			
				|  |  |                  .Combine() ?? new Filter<Employee>().All());
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        FilterButtons = [AllFilter, NotInFilter, .. Model.AvailableFilters];
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      protected override async Task<TimeSpan> OnRefresh()
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |          await Refresh();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        FilterButtons = [AllFilter, NotInFilter, .. Model.AvailableFilters.Where(x => x.Name != "All")];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          return TimeSpan.Zero;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -110,11 +111,16 @@ public partial class InOutViewModel : ModuleViewModel
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      [RelayCommand]
 | 
	
		
			
				|  |  | -    private void FilterSelected(object? filter)
 | 
	
		
			
				|  |  | +    private async Task FilterSelected(object? filter)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | -        if(filter is string stringFilter)
 | 
	
		
			
				|  |  | +        if (filter is string stringFilter)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            Model.SelectFilter(null);
 | 
	
		
			
				|  |  | +            if (Model.SelectedFilterName is not null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                Model.SelectFilter(null);
 | 
	
		
			
				|  |  | +                await Model.RefreshAsync(true);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              if(stringFilter == AllFilter)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  Model.Search(null);
 | 
	
	
		
			
				|  | @@ -127,7 +133,8 @@ public partial class InOutViewModel : ModuleViewModel
 | 
	
		
			
				|  |  |          else if(filter is CoreRepositoryFilter coreFilter)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              Model.SelectFilter(coreFilter.Name);
 | 
	
		
			
				|  |  | -            Model.Search(null);
 | 
	
		
			
				|  |  | +            Model.SearchPredicate = null;
 | 
	
		
			
				|  |  | +            await Model.RefreshAsync(true);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |