1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-11-02 00:16:07 +00:00

Pré filtrage fonctionnel, reste à analyser url

This commit is contained in:
Yan Maniez 2018-07-29 22:55:45 +02:00
parent 4ede047c62
commit b2dbf641f7
3 changed files with 10 additions and 4 deletions

View file

@ -43,7 +43,7 @@ namespace AideDeJeu.ViewModels
} }
} }
public virtual void FilterWith(string key, string val) { }
} }
public enum FilterKeys public enum FilterKeys
@ -177,7 +177,7 @@ namespace AideDeJeu.ViewModels
var ecole = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.School).SelectedKey ?? ""; var ecole = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.School).SelectedKey ?? "";
var rituel = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Ritual).SelectedKey ?? ""; var rituel = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Ritual).SelectedKey ?? "";
var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? ""; var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
token.ThrowIfCancellationRequested(); //token.ThrowIfCancellationRequested();
return items.Where(item => return items.Where(item =>
{ {
var spell = item as Spell; var spell = item as Spell;
@ -211,7 +211,6 @@ namespace AideDeJeu.ViewModels
public class VFSpellFilterViewModel : SpellFilterViewModel public class VFSpellFilterViewModel : SpellFilterViewModel
{ {
public override List<KeyValuePair<string, string>> Classes { get; } = new List<KeyValuePair<string, string>>() public override List<KeyValuePair<string, string>> Classes { get; } = new List<KeyValuePair<string, string>>()
{ {
new KeyValuePair<string, string>("", "Toutes" ), new KeyValuePair<string, string>("", "Toutes" ),
@ -323,6 +322,12 @@ namespace AideDeJeu.ViewModels
public class HDSpellFilterViewModel : SpellFilterViewModel public class HDSpellFilterViewModel : SpellFilterViewModel
{ {
public override void FilterWith(string key, string val)
{
var filter = Filters.FirstOrDefault(f => f.Key.ToString().ToLower() == key.ToLower());
filter.Index = filter.KeyValues.FindIndex(kv => kv.Value.ToLower().Contains(val.ToLower()));
}
public override List<KeyValuePair<string, string>> Classes { get; } = new List<KeyValuePair<string, string>>() public override List<KeyValuePair<string, string>> Classes { get; } = new List<KeyValuePair<string, string>>()
{ {
new KeyValuePair<string, string>("", "Toutes" ), new KeyValuePair<string, string>("", "Toutes" ),

View file

@ -80,6 +80,7 @@ namespace AideDeJeu.ViewModels
var filterViewModel = items.GetNewFilterViewModel(); var filterViewModel = items.GetNewFilterViewModel();
var itemsViewModel = new ItemsViewModel() { AllItems = items, Filter = filterViewModel }; var itemsViewModel = new ItemsViewModel() { AllItems = items, Filter = filterViewModel };
itemsViewModel.LoadItemsCommand.Execute(null); itemsViewModel.LoadItemsCommand.Execute(null);
//filterViewModel.FilterWith("class", "magicien");
if (filterViewModel == null) if (filterViewModel == null)
{ {
await GotoItemsPageAsync(itemsViewModel); await GotoItemsPageAsync(itemsViewModel);

View file

@ -24,7 +24,7 @@
<ViewCell.View> <ViewCell.View>
<StackLayout Margin="10,5,10,0" Padding="0" Spacing="0"> <StackLayout Margin="10,5,10,0" Padding="0" Spacing="0">
<Label BindingContext="{Binding}" Text="{Binding Name}" Style="{StaticResource Key=subsubsection}" /> <Label BindingContext="{Binding}" Text="{Binding Name}" Style="{StaticResource Key=subsubsection}" />
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding KeyValues, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding Index}" /> <Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding KeyValues, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding Index, Mode=TwoWay}" />
</StackLayout> </StackLayout>
</ViewCell.View> </ViewCell.View>
</ViewCell> </ViewCell>