this allows us to lazily fetch viewmodels created easier during the application startup
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,8 +3,9 @@
|
||||
public class MediaControllerWidgetViewModel(ITemplateFactory templateFactory,
|
||||
IServiceFactory serviceFactory,
|
||||
IMediator mediator,
|
||||
IDisposer disposer) :
|
||||
ObservableCollectionViewModel<MediaControllerViewModel>(serviceFactory, mediator, disposer),
|
||||
IDisposer disposer,
|
||||
IEnumerable<MediaControllerViewModel> items) :
|
||||
ObservableCollectionViewModel<MediaControllerViewModel>(serviceFactory, mediator, disposer, items),
|
||||
IWidgetViewModel,
|
||||
ITemplatedViewModel
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user