this allows us to lazily fetch viewmodels created easier during the application startup

This commit is contained in:
TheXamlGuy
2024-01-14 20:39:36 +00:00
parent 80f4d5a702
commit 2a494e1b94
2 changed files with 11 additions and 4 deletions
@@ -1,10 +1,16 @@
namespace Hyperbar.Windows.MediaController;
public class MediaControllerViewModelFactory(IServiceFactory service) :
public class MediaControllerViewModelFactory(IServiceFactory service, ICache<MediaControllerViewModel> cache) :
IFactory<MediaControllerViewModel?>
{
public MediaControllerViewModel? Create()
{
return service.Create<MediaControllerViewModel>();
if (service.Create<MediaControllerViewModel>() is MediaControllerViewModel widgetComponentViewModel)
{
cache.Add(widgetComponentViewModel);
return widgetComponentViewModel;
}
return default;
}
}