|
|
@ -26,6 +26,7 @@ public class MainWindowViewModel : ReactiveObject |
|
|
private readonly ILogger<MainWindowViewModel>? _logger; |
|
|
private readonly ILogger<MainWindowViewModel>? _logger; |
|
|
private readonly IDataService? _dataService; |
|
|
private readonly IDataService? _dataService; |
|
|
private readonly IResourceService? _resourceService; |
|
|
private readonly IResourceService? _resourceService; |
|
|
|
|
|
private readonly IScreen _screen; |
|
|
|
|
|
|
|
|
public string Title |
|
|
public string Title |
|
|
{ |
|
|
{ |
|
|
@ -74,8 +75,9 @@ public class MainWindowViewModel : ReactiveObject |
|
|
public ReactiveCommand<TabItem, Unit> CloseTabCommand { get; } |
|
|
public ReactiveCommand<TabItem, Unit> CloseTabCommand { get; } |
|
|
public ReactiveCommand<TabItem, Unit> SelectTabCommand { get; } |
|
|
public ReactiveCommand<TabItem, Unit> SelectTabCommand { get; } |
|
|
|
|
|
|
|
|
public MainWindowViewModel(ILogger<MainWindowViewModel>? logger = null, IDataService? dataService = null, IResourceService? resourceService = null) |
|
|
public MainWindowViewModel(IScreen screen, ILogger<MainWindowViewModel>? logger = null, IDataService? dataService = null, IResourceService? resourceService = null) |
|
|
{ |
|
|
{ |
|
|
|
|
|
_screen = screen; |
|
|
_logger = logger; |
|
|
_logger = logger; |
|
|
_dataService = dataService; |
|
|
_dataService = dataService; |
|
|
_resourceService = resourceService; |
|
|
_resourceService = resourceService; |
|
|
@ -117,7 +119,7 @@ public class MainWindowViewModel : ReactiveObject |
|
|
Id = "dashboard", |
|
|
Id = "dashboard", |
|
|
Title = _resourceService?.GetString("NavDashboard") ?? "仪表板", |
|
|
Title = _resourceService?.GetString("NavDashboard") ?? "仪表板", |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.Home, |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.Home, |
|
|
Content = new Views.Pages.DashboardPageView { DataContext = new Pages.DashboardPageViewModel() } |
|
|
Content = new Views.Pages.DashboardPageView { DataContext = new Pages.DashboardPageViewModel(_screen) } |
|
|
}, |
|
|
}, |
|
|
new NavigationItem |
|
|
new NavigationItem |
|
|
{ |
|
|
{ |
|
|
@ -131,21 +133,21 @@ public class MainWindowViewModel : ReactiveObject |
|
|
Id = "users-list", |
|
|
Id = "users-list", |
|
|
Title = "用户列表", |
|
|
Title = "用户列表", |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.UserGroup, |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.UserGroup, |
|
|
Content = new Views.Pages.UsersPageView { DataContext = new Pages.UsersPageViewModel() } |
|
|
Content = new Views.Pages.UsersPageView { DataContext = new Pages.UsersPageViewModel(_screen) } |
|
|
}, |
|
|
}, |
|
|
new NavigationItem |
|
|
new NavigationItem |
|
|
{ |
|
|
{ |
|
|
Id = "users-roles", |
|
|
Id = "users-roles", |
|
|
Title = "角色管理", |
|
|
Title = "角色管理", |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.ShieldCheck, |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.ShieldCheck, |
|
|
Content = new Views.Pages.UsersPageView { DataContext = new Pages.UsersPageViewModel() } |
|
|
Content = new Views.Pages.UsersPageView { DataContext = new Pages.UsersPageViewModel(_screen) } |
|
|
}, |
|
|
}, |
|
|
new NavigationItem |
|
|
new NavigationItem |
|
|
{ |
|
|
{ |
|
|
Id = "users-permissions", |
|
|
Id = "users-permissions", |
|
|
Title = "权限设置", |
|
|
Title = "权限设置", |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.Key, |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.Key, |
|
|
Content = new Views.Pages.UsersPageView { DataContext = new Pages.UsersPageViewModel() } |
|
|
Content = new Views.Pages.UsersPageView { DataContext = new Pages.UsersPageViewModel(_screen) } |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
@ -161,21 +163,21 @@ public class MainWindowViewModel : ReactiveObject |
|
|
Id = "settings-general", |
|
|
Id = "settings-general", |
|
|
Title = "常规设置", |
|
|
Title = "常规设置", |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.Cog, |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.Cog, |
|
|
Content = new Views.Pages.SettingsPageView { DataContext = new Pages.SettingsPageViewModel() } |
|
|
Content = new Views.Pages.SettingsPageView { DataContext = new Pages.SettingsPageViewModel(_screen) } |
|
|
}, |
|
|
}, |
|
|
new NavigationItem |
|
|
new NavigationItem |
|
|
{ |
|
|
{ |
|
|
Id = "settings-security", |
|
|
Id = "settings-security", |
|
|
Title = "安全设置", |
|
|
Title = "安全设置", |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.LockClosed, |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.LockClosed, |
|
|
Content = new Views.Pages.SettingsPageView { DataContext = new Pages.SettingsPageViewModel() } |
|
|
Content = new Views.Pages.SettingsPageView { DataContext = new Pages.SettingsPageViewModel(_screen) } |
|
|
}, |
|
|
}, |
|
|
new NavigationItem |
|
|
new NavigationItem |
|
|
{ |
|
|
{ |
|
|
Id = "settings-backup", |
|
|
Id = "settings-backup", |
|
|
Title = "备份恢复", |
|
|
Title = "备份恢复", |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.CloudArrowUp, |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.CloudArrowUp, |
|
|
Content = new Views.Pages.SettingsPageView { DataContext = new Pages.SettingsPageViewModel() } |
|
|
Content = new Views.Pages.SettingsPageView { DataContext = new Pages.SettingsPageViewModel(_screen) } |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
@ -184,35 +186,35 @@ public class MainWindowViewModel : ReactiveObject |
|
|
Id = "reports", |
|
|
Id = "reports", |
|
|
Title = _resourceService?.GetString("NavReports") ?? "报表统计", |
|
|
Title = _resourceService?.GetString("NavReports") ?? "报表统计", |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.ChartBar, |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.ChartBar, |
|
|
Content = new Views.Pages.ReportsPageView { DataContext = new Pages.ReportsPageViewModel() } |
|
|
Content = new Views.Pages.ReportsPageView { DataContext = new Pages.ReportsPageViewModel(_screen) } |
|
|
}, |
|
|
}, |
|
|
new NavigationItem |
|
|
new NavigationItem |
|
|
{ |
|
|
{ |
|
|
Id = "help", |
|
|
Id = "help", |
|
|
Title = _resourceService?.GetString("NavHelp") ?? "帮助中心", |
|
|
Title = _resourceService?.GetString("NavHelp") ?? "帮助中心", |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.QuestionMarkCircle, |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.QuestionMarkCircle, |
|
|
Content = new Views.Pages.HelpPageView { DataContext = new Pages.HelpPageViewModel() } |
|
|
Content = new Views.Pages.HelpPageView { DataContext = new Pages.HelpPageViewModel(_screen) } |
|
|
}, |
|
|
}, |
|
|
new NavigationItem |
|
|
new NavigationItem |
|
|
{ |
|
|
{ |
|
|
Id = "dialog-host", |
|
|
Id = "dialog-host", |
|
|
Title = "对话框示例", |
|
|
Title = "对话框示例", |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.ChatBubbleLeftRight, |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.ChatBubbleLeftRight, |
|
|
Content = new Views.Pages.DialogHostPageView { DataContext = new Pages.DialogHostPageViewModel() } |
|
|
Content = new Views.Pages.DialogHostPageView { DataContext = new Pages.DialogHostPageViewModel(_screen) } |
|
|
}, |
|
|
}, |
|
|
new NavigationItem |
|
|
new NavigationItem |
|
|
{ |
|
|
{ |
|
|
Id = "icons", |
|
|
Id = "icons", |
|
|
Title = _resourceService?.GetString("NavIcons") ?? "图标库", |
|
|
Title = _resourceService?.GetString("NavIcons") ?? "图标库", |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.Sparkles, |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.Sparkles, |
|
|
Content = new Views.Pages.IconsPageView { DataContext = new Pages.IconsPageViewModel() } |
|
|
Content = new Views.Pages.IconsPageView { DataContext = new Pages.IconsPageViewModel(_screen, _logger as Microsoft.Extensions.Logging.ILogger<Pages.IconsPageViewModel>) } |
|
|
}, |
|
|
}, |
|
|
new NavigationItem |
|
|
new NavigationItem |
|
|
{ |
|
|
{ |
|
|
Id = "editor", |
|
|
Id = "editor", |
|
|
Title = "代码编辑器", |
|
|
Title = "代码编辑器", |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.CodeBracket, |
|
|
IconType = HeroIconsAvalonia.Enums.IconType.CodeBracket, |
|
|
Content = new Views.Pages.EditorPageView { DataContext = new Pages.EditorPageViewModel() } |
|
|
Content = new Views.Pages.EditorPageView { DataContext = new Pages.EditorPageViewModel(_screen, _logger as Microsoft.Extensions.Logging.ILogger<Pages.EditorPageViewModel>) } |
|
|
} |
|
|
} |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|