pschelpdesk/PSCHelpdesk/PSCHelpdesk/ViewModels/PluginListViewModel.cs
2024-12-03 18:35:25 +01:00

52 lines
1.4 KiB
C#

using Avalonia.Collections;
using Avalonia.Controls;
using CommunityToolkit.Mvvm.DependencyInjection;
using CommunityToolkit.Mvvm.Input;
using PSCHelpdesk.Services;
using PSCHelpdesk.Shared.ViewModels;
namespace PSCHelpdesk.ViewModels;
public class PluginListViewModel : ViewModelBase, IViewModelBase
{
public RelayCommand<object> LoadAllPluginsCommand { get; set; }
public RelayCommand<object> UnLoadAllPluginsCommand { get; set; }
public RelayCommand<object> LoadPluginCommand { get; set; }
public AvaloniaList<string> Plugins { get; set; }
public UserControl CurrentControl { get; set; }
public PluginListViewModel()
{
Title = "Plugin List";
var pluginService = Ioc.Default.GetService<PluginManager>();
this.Plugins = new AvaloniaList<string>();
LoadPluginCommand = new RelayCommand<object>(LoadPlugin);
LoadAllPluginsCommand = new RelayCommand<object>(LoadAllPlugins);
UnLoadAllPluginsCommand = new RelayCommand<object>(UnLoadAllPlugins);
foreach (var plugin in pluginService.GetPlugins())
{
this.Plugins.Add(plugin.Key);
}
}
async void LoadPlugin(object parameter)
{
}
async void LoadAllPlugins(object parameter)
{
foreach (var plugin in Plugins)
{
}
}
async void UnLoadAllPlugins(object parameter)
{
}
}