feat(02-07): create PermissionsView XAML + code-behind and register DI
- Created PermissionsView.xaml with left scan-config panel and right results DataGrid - Created PermissionsView.xaml.cs wiring ViewModel via IServiceProvider, factory for SitePickerDialog - Updated App.xaml.cs: registered IPermissionsService, ISiteListService, CsvExportService, HtmlExportService, PermissionsViewModel, PermissionsView, SitePickerDialog, and Func<TenantProfile, SitePickerDialog> factory; also registered ISessionManager -> SessionManager - Updated MainWindow.xaml: replaced FeatureTabBase stub with named PermissionsTabItem - Updated MainWindow.xaml.cs: wires PermissionsTabItem.Content from DI-resolved PermissionsView - Added CurrentProfile public accessor, SitesSelectedLabel computed property, and IsMaxDepth toggle property to PermissionsViewModel - Build: 0 errors, 0 warnings. Tests: 60 passed, 3 skipped (live/interactive)
This commit is contained in:
22
SharepointToolbox/Views/Tabs/PermissionsView.xaml.cs
Normal file
22
SharepointToolbox/Views/Tabs/PermissionsView.xaml.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System.Windows.Controls;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using SharepointToolbox.Core.Models;
|
||||
using SharepointToolbox.ViewModels.Tabs;
|
||||
using SharepointToolbox.Views.Dialogs;
|
||||
|
||||
namespace SharepointToolbox.Views.Tabs;
|
||||
|
||||
public partial class PermissionsView : UserControl
|
||||
{
|
||||
public PermissionsView(IServiceProvider serviceProvider)
|
||||
{
|
||||
InitializeComponent();
|
||||
var vm = serviceProvider.GetRequiredService<PermissionsViewModel>();
|
||||
DataContext = vm;
|
||||
vm.OpenSitePickerDialog = () =>
|
||||
{
|
||||
var factory = serviceProvider.GetRequiredService<Func<TenantProfile, SitePickerDialog>>();
|
||||
return factory(vm.CurrentProfile ?? new TenantProfile());
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user