mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-10-30 15:06:06 +00:00
Navigation liste pré filtré
This commit is contained in:
parent
b2dbf641f7
commit
8ba016149b
3 changed files with 19 additions and 9 deletions
|
|
@ -19,6 +19,7 @@ namespace AideDeJeuLib
|
|||
"## [Caractéristiques](abilities_hd.md)\n\n" +
|
||||
"## [États spéciaux](conditions_hd.md)\n\n" +
|
||||
"## [Sorts](spells_hd.md)\n\n" +
|
||||
"## [Sorts de mago](spells_hd_with_class_magicien.md)\n\n" +
|
||||
"## [Créatures](monsters_hd.md)\n\n" +
|
||||
//"## [Mignons](baby_bestiary_hd.md)\n\n" +
|
||||
"# VO (SRD)\n\n" +
|
||||
|
|
|
|||
|
|
@ -43,7 +43,15 @@ namespace AideDeJeu.ViewModels
|
|||
}
|
||||
}
|
||||
|
||||
public virtual void FilterWith(string key, string val) { }
|
||||
public void FilterWith(string key, string val)
|
||||
{
|
||||
var filter = Filters.FirstOrDefault(f => f.Key.ToString().ToLower() == key.ToLower());
|
||||
if (filter != null)
|
||||
{
|
||||
filter.Index = filter.KeyValues.FindIndex(kv => kv.Value.ToLower().Contains(val.ToLower()));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public enum FilterKeys
|
||||
|
|
@ -322,12 +330,6 @@ namespace AideDeJeu.ViewModels
|
|||
|
||||
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>>()
|
||||
{
|
||||
new KeyValuePair<string, string>("", "Toutes" ),
|
||||
|
|
|
|||
|
|
@ -57,10 +57,11 @@ namespace AideDeJeu.ViewModels
|
|||
{
|
||||
if (s != null)
|
||||
{
|
||||
var regex = new Regex("/(?<file>.*)\\.md(#(?<anchor>.*))?");
|
||||
var regex = new Regex("/(?<file>.*?)(_with_(?<with>.*))?\\.md(#(?<anchor>.*))?");
|
||||
var match = regex.Match(s);
|
||||
var file = match.Groups["file"].Value;
|
||||
var anchor = match.Groups["anchor"].Value;
|
||||
var with = match.Groups["with"].Value;
|
||||
var item = await Main.GetItemFromDataAsync(file);
|
||||
if (item != null)
|
||||
{
|
||||
|
|
@ -80,7 +81,13 @@ namespace AideDeJeu.ViewModels
|
|||
var filterViewModel = items.GetNewFilterViewModel();
|
||||
var itemsViewModel = new ItemsViewModel() { AllItems = items, Filter = filterViewModel };
|
||||
itemsViewModel.LoadItemsCommand.Execute(null);
|
||||
//filterViewModel.FilterWith("class", "magicien");
|
||||
if(!string.IsNullOrEmpty(with))
|
||||
{
|
||||
var swith = with.Split('_');
|
||||
var key = swith[0];
|
||||
var val = swith[1];
|
||||
filterViewModel.FilterWith(key, val);
|
||||
}
|
||||
if (filterViewModel == null)
|
||||
{
|
||||
await GotoItemsPageAsync(itemsViewModel);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue