mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-30 23:16:09 +00:00 
			
		
		
		
	Préparation conditions
This commit is contained in:
		
							parent
							
								
									cac8ea4fae
								
							
						
					
					
						commit
						6906ddbd32
					
				
					 3 changed files with 87 additions and 14 deletions
				
			
		|  | @ -88,6 +88,45 @@ namespace AideDeJeu.ViewModels | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     public class SearchFilterViewModel : FilterViewModel | ||||||
|  |     { | ||||||
|  |         private IEnumerable<Filter> _Filters = null; | ||||||
|  |         public override IEnumerable<Filter> Filters | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 if (_Filters == null) | ||||||
|  |                 { | ||||||
|  |                     _Filters = new List<Filter>() | ||||||
|  |                     { | ||||||
|  |                     }; | ||||||
|  |                 } | ||||||
|  |                 return _Filters; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         public override async Task<IEnumerable<Item>> FilterItems(IEnumerable<Item> items, CancellationToken token = default) | ||||||
|  |         { | ||||||
|  |             return await Task.Run(() => | ||||||
|  |             { | ||||||
|  |                 return items.Where(item => | ||||||
|  |                 { | ||||||
|  |                     var spell = item as Spell; | ||||||
|  |                     return  | ||||||
|  |                         ( | ||||||
|  |                             (Helpers.RemoveDiacritics(spell.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) || | ||||||
|  |                             (Helpers.RemoveDiacritics(spell.NameVOText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) | ||||||
|  |                         ); | ||||||
|  |                 }).OrderBy(spell => spell.Name) | ||||||
|  |                             .AsEnumerable(); | ||||||
|  |             }, token); | ||||||
|  | 
 | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|     #region Spells |     #region Spells | ||||||
|     public abstract class SpellFilterViewModel : FilterViewModel |     public abstract class SpellFilterViewModel : FilterViewModel | ||||||
|     { |     { | ||||||
|  |  | ||||||
|  | @ -44,12 +44,38 @@ namespace AideDeJeu.ViewModels | ||||||
|             set => SetProperty(ref _isLoading, value); |             set => SetProperty(ref _isLoading, value); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         public List<KeyValuePair<ItemSourceType, string>> ItemsSources { get; set; } = new List<KeyValuePair<ItemSourceType, string>>() | ||||||
|  |         { | ||||||
|  |             new KeyValuePair<ItemSourceType, string>(ItemSourceType.SpellHD, "Sorts (H&D)"), | ||||||
|  |             new KeyValuePair<ItemSourceType, string>(ItemSourceType.SpellVO, "Spells (VO)"), | ||||||
|  |             new KeyValuePair<ItemSourceType, string>(ItemSourceType.MonsterHD, "Créatures (H&D)"), | ||||||
|  |             new KeyValuePair<ItemSourceType, string>(ItemSourceType.MonsterVO, "Monsters (VO)"), | ||||||
|  |             new KeyValuePair<ItemSourceType, string>(ItemSourceType.ConditionHD, "Etats spéciaux (H&D)"), | ||||||
|  |             new KeyValuePair<ItemSourceType, string>(ItemSourceType.ConditionVO, "Conditions (VO)"), | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|  |         private int _ItemsSourcesIndex = 0; | ||||||
|  |         public int ItemsSourcesIndex | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 return _ItemsSourcesIndex; | ||||||
|  |             } | ||||||
|  |             set | ||||||
|  |             { | ||||||
|  |                 SetProperty(ref _ItemsSourcesIndex, value); | ||||||
|  |                 ItemSourceType = ItemsSources[value].Key; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         public Dictionary<ItemSourceType, Lazy<ItemsViewModel>> AllItemsViewModel = new Dictionary<ItemSourceType, Lazy<ItemsViewModel>>() |         public Dictionary<ItemSourceType, Lazy<ItemsViewModel>> AllItemsViewModel = new Dictionary<ItemSourceType, Lazy<ItemsViewModel>>() | ||||||
|         { |         { | ||||||
|             { ItemSourceType.SpellVO, new Lazy<ItemsViewModel>(() => new ItemsViewModel(ItemSourceType.SpellVO)) }, |             { ItemSourceType.SpellVO, new Lazy<ItemsViewModel>(() => new ItemsViewModel(ItemSourceType.SpellVO)) }, | ||||||
|             { ItemSourceType.SpellHD, new Lazy<ItemsViewModel>(() => new ItemsViewModel(ItemSourceType.SpellHD)) }, |             { ItemSourceType.SpellHD, new Lazy<ItemsViewModel>(() => new ItemsViewModel(ItemSourceType.SpellHD)) }, | ||||||
|             { ItemSourceType.MonsterVO, new Lazy<ItemsViewModel>(() => new ItemsViewModel(ItemSourceType.MonsterVO)) }, |             { ItemSourceType.MonsterVO, new Lazy<ItemsViewModel>(() => new ItemsViewModel(ItemSourceType.MonsterVO)) }, | ||||||
|             { ItemSourceType.MonsterHD, new Lazy<ItemsViewModel>(() => new ItemsViewModel(ItemSourceType.MonsterHD)) }, |             { ItemSourceType.MonsterHD, new Lazy<ItemsViewModel>(() => new ItemsViewModel(ItemSourceType.MonsterHD)) }, | ||||||
|  |             { ItemSourceType.ConditionHD, new Lazy<ItemsViewModel>(() => new ItemsViewModel(ItemSourceType.ConditionHD)) }, | ||||||
|  |             { ItemSourceType.ConditionVO, new Lazy<ItemsViewModel>(() => new ItemsViewModel(ItemSourceType.ConditionVO)) }, | ||||||
|         }; |         }; | ||||||
| 
 | 
 | ||||||
|         public ItemsViewModel GetItemsViewModel(ItemSourceType itemSourceType) |         public ItemsViewModel GetItemsViewModel(ItemSourceType itemSourceType) | ||||||
|  | @ -63,6 +89,8 @@ namespace AideDeJeu.ViewModels | ||||||
|             { ItemSourceType.SpellHD, new Lazy<FilterViewModel>(() => new HDSpellFilterViewModel()) }, |             { ItemSourceType.SpellHD, new Lazy<FilterViewModel>(() => new HDSpellFilterViewModel()) }, | ||||||
|             { ItemSourceType.MonsterVO, new Lazy<FilterViewModel>(() => new VOMonsterFilterViewModel()) }, |             { ItemSourceType.MonsterVO, new Lazy<FilterViewModel>(() => new VOMonsterFilterViewModel()) }, | ||||||
|             { ItemSourceType.MonsterHD, new Lazy<FilterViewModel>(() => new HDMonsterFilterViewModel()) }, |             { ItemSourceType.MonsterHD, new Lazy<FilterViewModel>(() => new HDMonsterFilterViewModel()) }, | ||||||
|  |             { ItemSourceType.ConditionHD, new Lazy<FilterViewModel>(() => new SearchFilterViewModel()) }, | ||||||
|  |             { ItemSourceType.ConditionVO, new Lazy<FilterViewModel>(() => new SearchFilterViewModel()) }, | ||||||
|         }; |         }; | ||||||
| 
 | 
 | ||||||
|         public FilterViewModel GetFilterViewModel(ItemSourceType itemSourceType) |         public FilterViewModel GetFilterViewModel(ItemSourceType itemSourceType) | ||||||
|  |  | ||||||
|  | @ -8,7 +8,12 @@ | ||||||
|     </MasterDetailPage.Resources> |     </MasterDetailPage.Resources> | ||||||
|     <MasterDetailPage.Master> |     <MasterDetailPage.Master> | ||||||
|         <ContentPage Title=" "> |         <ContentPage Title=" "> | ||||||
|             <ListView SelectionMode="None" ItemsSource="{Binding ItemSourceType, Converter={StaticResource ItemSourceTypeToFilterConverter}}" HasUnevenRows="True" RowHeight="-1" SeparatorVisibility="None" IsPullToRefreshEnabled="False"> |             <StackLayout Orientation="Vertical"> | ||||||
|  |                 <StackLayout Margin="10,5,10,0" Padding="0" Spacing="0"> | ||||||
|  |                     <Label Text="Listes" Style="{StaticResource Key=subsubsection}" /> | ||||||
|  |                     <Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding ItemsSources, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding ItemsSourcesIndex}" /> | ||||||
|  |                 </StackLayout> | ||||||
|  |                 <ListView SelectionMode="None" ItemsSource="{Binding ItemSourceType, Converter={StaticResource ItemSourceTypeToFilterConverter}}" HasUnevenRows="True" RowHeight="-1" SeparatorVisibility="None" IsPullToRefreshEnabled="False" HorizontalOptions="FillAndExpand" > | ||||||
|                     <ListView.ItemTemplate> |                     <ListView.ItemTemplate> | ||||||
|                         <DataTemplate> |                         <DataTemplate> | ||||||
|                             <ViewCell> |                             <ViewCell> | ||||||
|  | @ -22,6 +27,7 @@ | ||||||
|                         </DataTemplate> |                         </DataTemplate> | ||||||
|                     </ListView.ItemTemplate> |                     </ListView.ItemTemplate> | ||||||
|                 </ListView> |                 </ListView> | ||||||
|  |             </StackLayout> | ||||||
|         </ContentPage> |         </ContentPage> | ||||||
|     </MasterDetailPage.Master> |     </MasterDetailPage.Master> | ||||||
|     <MasterDetailPage.Detail> |     <MasterDetailPage.Detail> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Yan Maniez
						Yan Maniez