diff --git a/SharepointToolbox/Views/Tabs/UserAccessAuditView.xaml.cs b/SharepointToolbox/Views/Tabs/UserAccessAuditView.xaml.cs new file mode 100644 index 0000000..058edc0 --- /dev/null +++ b/SharepointToolbox/Views/Tabs/UserAccessAuditView.xaml.cs @@ -0,0 +1,41 @@ +using System.Collections.Specialized; +using System.Windows; +using System.Windows.Controls; +using SharepointToolbox.ViewModels.Tabs; + +namespace SharepointToolbox.Views.Tabs; + +public partial class UserAccessAuditView : UserControl +{ + public UserAccessAuditView(UserAccessAuditViewModel viewModel) + { + InitializeComponent(); + DataContext = viewModel; + + // Show/hide the autocomplete list as SearchResults changes + viewModel.SearchResults.CollectionChanged += OnSearchResultsChanged; + } + + private void OnSearchResultsChanged(object? sender, NotifyCollectionChangedEventArgs e) + { + if (DataContext is UserAccessAuditViewModel vm) + { + SearchResultsList.Visibility = vm.SearchResults.Count > 0 + ? Visibility.Visible + : Visibility.Collapsed; + } + } + + /// + /// Handles click on a search result item in the autocomplete list. + /// Invokes AddUserCommand on the ViewModel and hides the list. + /// + private void OnSearchResultClicked(object sender, System.Windows.Input.MouseButtonEventArgs e) + { + if (sender is ListBoxItem item && DataContext is UserAccessAuditViewModel vm) + { + vm.AddUserCommand.Execute(item.DataContext); + // AddUserCommand clears SearchResults so CollectionChanged will hide the list + } + } +}