feat(07-07): add UserAccessAuditTabItem to MainWindow and wire dialog factory
- Add UserAccessAuditTabItem to MainWindow.xaml TabControl before SettingsTabItem - Wire UserAccessAuditView content and SitePickerDialog factory in MainWindow.xaml.cs
This commit is contained in:
@@ -75,6 +75,10 @@
|
|||||||
<TabItem x:Name="TemplatesTabItem"
|
<TabItem x:Name="TemplatesTabItem"
|
||||||
Header="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[tab.templates]}">
|
Header="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[tab.templates]}">
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
<!-- Phase 7: User Access Audit tab: content set from code-behind via DI-resolved UserAccessAuditView -->
|
||||||
|
<TabItem x:Name="UserAccessAuditTabItem"
|
||||||
|
Header="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[tab.userAccessAudit]}">
|
||||||
|
</TabItem>
|
||||||
<!-- Settings tab: content set from code-behind via DI-resolved SettingsView -->
|
<!-- Settings tab: content set from code-behind via DI-resolved SettingsView -->
|
||||||
<TabItem x:Name="SettingsTabItem"
|
<TabItem x:Name="SettingsTabItem"
|
||||||
Header="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[tab.settings]}">
|
Header="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[tab.settings]}">
|
||||||
|
|||||||
@@ -47,6 +47,20 @@ public partial class MainWindow : Window
|
|||||||
FolderStructureTabItem.Content = serviceProvider.GetRequiredService<FolderStructureView>();
|
FolderStructureTabItem.Content = serviceProvider.GetRequiredService<FolderStructureView>();
|
||||||
TemplatesTabItem.Content = serviceProvider.GetRequiredService<TemplatesView>();
|
TemplatesTabItem.Content = serviceProvider.GetRequiredService<TemplatesView>();
|
||||||
|
|
||||||
|
// Phase 7: User Access Audit
|
||||||
|
var auditView = serviceProvider.GetRequiredService<UserAccessAuditView>();
|
||||||
|
UserAccessAuditTabItem.Content = auditView;
|
||||||
|
|
||||||
|
// Wire site picker dialog factory for audit tab (same pattern as PermissionsView)
|
||||||
|
if (auditView.DataContext is ViewModels.Tabs.UserAccessAuditViewModel auditVm)
|
||||||
|
{
|
||||||
|
auditVm.OpenSitePickerDialog = () =>
|
||||||
|
{
|
||||||
|
var factory = serviceProvider.GetRequiredService<Func<TenantProfile, SitePickerDialog>>();
|
||||||
|
return factory(auditVm.CurrentProfile ?? new TenantProfile());
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// Replace Settings tab placeholder with the DI-resolved SettingsView
|
// Replace Settings tab placeholder with the DI-resolved SettingsView
|
||||||
SettingsTabItem.Content = serviceProvider.GetRequiredService<SettingsView>();
|
SettingsTabItem.Content = serviceProvider.GetRequiredService<SettingsView>();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user