diff --git a/AideDeJeu/AideDeJeu/Tools/Converters.cs b/AideDeJeu/AideDeJeu/Tools/Converters.cs index 09a1b590..4549962b 100644 --- a/AideDeJeu/AideDeJeu/Tools/Converters.cs +++ b/AideDeJeu/AideDeJeu/Tools/Converters.cs @@ -113,9 +113,9 @@ namespace AideDeJeu.Tools { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { - var vm = DependencyService.Get(); + var vm = DependencyService.Get(); var itemSourceType = vm.ItemSourceType; - return vm.GetFilterViewModel(itemSourceType).Filters; + return vm.Main.GetFilterViewModel(itemSourceType).Filters; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) diff --git a/AideDeJeu/AideDeJeu/ViewModels/ItemsViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/ItemsViewModel.cs index 604d54cc..1538d045 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/ItemsViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/ItemsViewModel.cs @@ -17,6 +17,7 @@ namespace AideDeJeu.ViewModels public ItemsViewModel(ItemSourceType itemSourceType) { this.ItemSourceType = itemSourceType; + Filter = Main.GetFilterViewModel(ItemSourceType); LoadItemsCommand = new Command(async () => await ExecuteLoadItemsCommandAsync().ConfigureAwait(false)); } public ICommand LoadItemsCommand { get; protected set; } @@ -24,7 +25,7 @@ namespace AideDeJeu.ViewModels { await Main.Navigator.GotoItemDetailPageAsync(item); } - protected ItemSourceType ItemSourceType; + //protected ItemSourceType ItemSourceType; private IEnumerable _AllItems = null; @@ -91,6 +92,34 @@ namespace AideDeJeu.ViewModels return _AllItems; } + private ItemSourceType _ItemSourceType = ItemSourceType.SpellHD; + public ItemSourceType ItemSourceType + { + get + { + return _ItemSourceType; + } + set + { + SetProperty(ref _ItemSourceType, value); + //LoadItemsCommand.Execute(null); + OnPropertyChanged(nameof(Items)); + } + } + + private FilterViewModel _Filter; + public FilterViewModel Filter + { + get + { + return _Filter; + } + set + { + SetProperty(ref _Filter, value); + } + } + public IEnumerable _Items = new List(); public IEnumerable Items { @@ -127,7 +156,7 @@ namespace AideDeJeu.ViewModels IsBusy = true; try { - var filterViewModel = Main.GetFilterViewModel(ItemSourceType); + var filterViewModel = Filter;// Main.GetFilterViewModel(ItemSourceType); var items = await filterViewModel.FilterItems(await GetAllItemsAsync(), cancellationToken: cancellationToken); Items = items.ToList(); } diff --git a/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs index e52eeadb..b0c0fe40 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs @@ -22,21 +22,6 @@ namespace AideDeJeu.ViewModels public class MainViewModel : BaseViewModel { - private ItemSourceType _ItemSourceType = ItemSourceType.SpellHD; - public ItemSourceType ItemSourceType - { - get - { - return _ItemSourceType; - } - set - { - SetProperty(ref _ItemSourceType, value); - LoadItemsCommand.Execute(null); - OnPropertyChanged(nameof(Items)); - } - } - private bool _isLoading; public bool IsLoading { @@ -64,7 +49,7 @@ namespace AideDeJeu.ViewModels set { SetProperty(ref _ItemsSourcesIndex, value); - ItemSourceType = ItemsSources[value].Key; + //ItemSourceType = ItemsSources[value].Key; } } @@ -126,23 +111,24 @@ namespace AideDeJeu.ViewModels public MainViewModel() { - LoadItemsCommand = new Command(async () => - { - await GetItemsViewModel(ItemSourceType).ExecuteLoadItemsCommandAsync(); - }); + //LoadItemsCommand = new Command(async () => + // { + // await GetItemsViewModel(ItemSourceType).ExecuteLoadItemsCommandAsync(); + // }); GotoItemCommand = new Command(async (item) => { - await GetItemsViewModel(ItemSourceType).ExecuteGotoItemCommandAsync(item); + await NavigateToItem(item); + //await GetItemsViewModel(ItemSourceType).ExecuteGotoItemCommandAsync(item); }); - SwitchToSpellsHD = new Command(() => ItemSourceType = ItemSourceType.SpellHD); - SwitchToMonstersHD = new Command(() => ItemSourceType = ItemSourceType.MonsterHD); - SwitchToSpellsVO = new Command(() => ItemSourceType = ItemSourceType.SpellVO); - SwitchToMonstersVO = new Command(() => ItemSourceType = ItemSourceType.MonsterVO); + //SwitchToSpellsHD = new Command(() => ItemSourceType = ItemSourceType.SpellHD); + //SwitchToMonstersHD = new Command(() => ItemSourceType = ItemSourceType.MonsterHD); + //SwitchToSpellsVO = new Command(() => ItemSourceType = ItemSourceType.SpellVO); + //SwitchToMonstersVO = new Command(() => ItemSourceType = ItemSourceType.MonsterVO); AboutCommand = new Command(async () => await Main.Navigator.GotoAboutPageAsync()); SearchCommand = new Command(async (text) => { - GetFilterViewModel(ItemSourceType).SearchText = text; - await GetItemsViewModel(ItemSourceType).ExecuteLoadItemsCommandAsync(); + //GetFilterViewModel(ItemSourceType).SearchText = text; + //await GetItemsViewModel(ItemSourceType).ExecuteLoadItemsCommandAsync(); }); } @@ -175,6 +161,10 @@ namespace AideDeJeu.ViewModels return ItemSourceType.SpellHD; } + public async Task NavigateToItem(Item item) + { + await Navigator.GotoItemDetailPageAsync(item); + } public async Task NavigateToLink(string s) { if (s != null) diff --git a/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml b/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml index a60fd85c..1835b92c 100644 --- a/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml +++ b/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml @@ -20,11 +20,12 @@ - + + + diff --git a/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml.cs b/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml.cs index 8e4fb382..b24d7a05 100644 --- a/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml.cs +++ b/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml.cs @@ -59,8 +59,8 @@ namespace AideDeJeu.Views this.MasterBehavior = MasterBehavior.Popover; - if (Main.Items.Count() == 0) - Main.LoadItemsCommand.Execute(null); + //if (Main.Items.Count() == 0) + //Main.LoadItemsCommand.Execute(null); } private void ItemsListView_ItemTapped(object sender, ItemTappedEventArgs e)