mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-30 23:16:09 +00:00 
			
		
		
		
	Sync current page avec shell
This commit is contained in:
		
							parent
							
								
									1ecf4afdc6
								
							
						
					
					
						commit
						2ebe1c2b25
					
				
					 5 changed files with 88 additions and 53 deletions
				
			
		|  | @ -21,6 +21,7 @@ namespace AideDeJeu.ViewModels.Library | ||||||
|             set |             set | ||||||
|             { |             { | ||||||
|                 SetProperty(ref _Item, value); |                 SetProperty(ref _Item, value); | ||||||
|  |                 Title = _Item?.Name; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -213,5 +213,18 @@ namespace AideDeJeu.ViewModels | ||||||
|         public MainViewModel() |         public MainViewModel() | ||||||
|         { |         { | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|  |         private Library.ItemViewModel _CurrentItem = null; | ||||||
|  |         public Library.ItemViewModel CurrentItem | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 return _CurrentItem; | ||||||
|  |             } | ||||||
|  |             set | ||||||
|  |             { | ||||||
|  |                 SetProperty(ref _CurrentItem, value); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | @ -61,6 +61,17 @@ namespace AideDeJeu.Views.Library | ||||||
|         //    LoadPageAsync(); |         //    LoadPageAsync(); | ||||||
|         //} |         //} | ||||||
| 
 | 
 | ||||||
|  |         protected override void OnAppearing() | ||||||
|  |         { | ||||||
|  |             base.OnAppearing(); | ||||||
|  |             Main.CurrentItem = Item; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         protected override void OnDisappearing() | ||||||
|  |         { | ||||||
|  |             base.OnDisappearing(); | ||||||
|  |             Main.CurrentItem = null; | ||||||
|  |         } | ||||||
|         private string _Path { get; set; } = null; //"index.md"; |         private string _Path { get; set; } = null; //"index.md"; | ||||||
|         public string Path |         public string Path | ||||||
|         { |         { | ||||||
|  | @ -78,59 +89,59 @@ namespace AideDeJeu.Views.Library | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private async Task LoadPageAsync() |         //private async Task LoadPageAsync() | ||||||
|         { |         //{ | ||||||
|             if (Path == null) return; |         //    if (Path == null) return; | ||||||
|             var regex = new Regex("/?(?<file>.*?)(_with_(?<with>.*))?\\.md(#(?<anchor>.*))?"); |         //    var regex = new Regex("/?(?<file>.*?)(_with_(?<with>.*))?\\.md(#(?<anchor>.*))?"); | ||||||
|             var match = regex.Match(Uri.UnescapeDataString(Path)); |         //    var match = regex.Match(Uri.UnescapeDataString(Path)); | ||||||
|             var file = match.Groups["file"].Value; |         //    var file = match.Groups["file"].Value; | ||||||
|             var anchor = match.Groups["anchor"].Value; |         //    var anchor = match.Groups["anchor"].Value; | ||||||
|             var with = match.Groups["with"].Value; |         //    var with = match.Groups["with"].Value; | ||||||
|             Item item = null; |         //    Item item = null; | ||||||
|             try |         //    try | ||||||
|             { |         //    { | ||||||
|                 Main.IsBusy = true; |         //        Main.IsBusy = true; | ||||||
|                 Main.IsLoading = true; |         //        Main.IsLoading = true; | ||||||
|                 item = await Task.Run(async () => await Main.Store.GetItemFromDataAsync(file, anchor)); |         //        item = await Task.Run(async () => await Main.Store.GetItemFromDataAsync(file, anchor)); | ||||||
|             } |         //    } | ||||||
|             finally |         //    finally | ||||||
|             { |         //    { | ||||||
|                 Main.IsBusy = false; |         //        Main.IsBusy = false; | ||||||
|                 Main.IsLoading = false; |         //        Main.IsLoading = false; | ||||||
|             } |         //    } | ||||||
|             if (item != null) |         //    if (item != null) | ||||||
|             { |         //    { | ||||||
|                 var items = item; // as Items; |         //        var items = item; // as Items; | ||||||
|                 var filterViewModel = items.GetNewFilterViewModel(); |         //        var filterViewModel = items.GetNewFilterViewModel(); | ||||||
|                 var itemsViewModel = new ItemViewModel() { Item = items, AllItems = items, Filter = filterViewModel }; |         //        var itemsViewModel = new ItemViewModel() { Item = items, AllItems = items, Filter = filterViewModel }; | ||||||
|                 this.Item = itemsViewModel; |         //        this.Item = itemsViewModel; | ||||||
|                 itemsViewModel.LoadItemsCommand.Execute(null); |         //        itemsViewModel.LoadItemsCommand.Execute(null); | ||||||
|                 if (!string.IsNullOrEmpty(with)) |         //        if (!string.IsNullOrEmpty(with)) | ||||||
|                 { |         //        { | ||||||
|                     var swith = with.Split('_'); |         //            var swith = with.Split('_'); | ||||||
|                     for (int i = 0; i < swith.Length / 2; i++) |         //            for (int i = 0; i < swith.Length / 2; i++) | ||||||
|                     { |         //            { | ||||||
|                         var key = swith[i * 2 + 0]; |         //                var key = swith[i * 2 + 0]; | ||||||
|                         var val = swith[i * 2 + 1]; |         //                var val = swith[i * 2 + 1]; | ||||||
|                         filterViewModel.FilterWith(key, val); |         //                filterViewModel.FilterWith(key, val); | ||||||
|                     } |         //            } | ||||||
|                 } |         //        } | ||||||
|                 //SwitchToMainTab(); |         //        //SwitchToMainTab(); | ||||||
|                 //if (filterViewModel == null) |         //        //if (filterViewModel == null) | ||||||
|                 //{ |         //        //{ | ||||||
|                 //    await GotoItemsPageAsync(itemsViewModel); |         //        //    await GotoItemsPageAsync(itemsViewModel); | ||||||
|                 //} |         //        //} | ||||||
|                 //else |         //        //else | ||||||
|                 //{ |         //        //{ | ||||||
|                 //    await GotoFilteredItemsPageAsync(itemsViewModel); |         //        //    await GotoFilteredItemsPageAsync(itemsViewModel); | ||||||
|                 //} |         //        //} | ||||||
| 
 | 
 | ||||||
|             } |         //    } | ||||||
|             else |         //    else | ||||||
|             { |         //    { | ||||||
|                 //await App.Current.MainPage.DisplayAlert("Lien invalide", s, "OK"); |         //        //await App.Current.MainPage.DisplayAlert("Lien invalide", s, "OK"); | ||||||
|             } |         //    } | ||||||
|         } |         //} | ||||||
| 
 | 
 | ||||||
|         private void ItemsListView_ItemTapped(object sender, ItemTappedEventArgs e) |         private void ItemsListView_ItemTapped(object sender, ItemTappedEventArgs e) | ||||||
|         { |         { | ||||||
|  |  | ||||||
|  | @ -33,6 +33,7 @@ | ||||||
|             <Label Text="{Binding HeaderTitle}" /> |             <Label Text="{Binding HeaderTitle}" /> | ||||||
|             <Label Text="{Binding CurrentItem.CurrentItem.CurrentItem.Route}" /> |             <Label Text="{Binding CurrentItem.CurrentItem.CurrentItem.Route}" /> | ||||||
|             <Label Text="{Binding CurrentItem.CurrentItem.CurrentItem.Content.BindingContext.Item.Title}" /> |             <Label Text="{Binding CurrentItem.CurrentItem.CurrentItem.Content.BindingContext.Item.Title}" /> | ||||||
|  |             <Label Text="{Binding Main.CurrentItem.Item.Name}" /> | ||||||
|         </StackLayout> |         </StackLayout> | ||||||
|     </Shell.FlyoutHeader> |     </Shell.FlyoutHeader> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,4 +1,5 @@ | ||||||
| using System; | using AideDeJeu.ViewModels; | ||||||
|  | using System; | ||||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||||
| using System.ComponentModel; | using System.ComponentModel; | ||||||
| using System.Diagnostics; | using System.Diagnostics; | ||||||
|  | @ -21,6 +22,14 @@ namespace AideDeJeu.Views | ||||||
|             BindingContext = this; |             BindingContext = this; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         public MainViewModel Main | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 return DependencyService.Get<MainViewModel>(); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         public ICommand ShellNavigateCommand |         public ICommand ShellNavigateCommand | ||||||
|         { |         { | ||||||
|             get |             get | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Yan Maniez
						Yan Maniez