1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-31 23:45:39 +00:00
This commit is contained in:
Yan Maniez 2018-08-25 00:55:08 +02:00
parent 6659b4f533
commit 3d9dfa517d
7 changed files with 73 additions and 32 deletions

View file

@ -59,6 +59,7 @@ namespace AideDeJeu.ViewModels
private Dictionary<string, ItemWithAnchors> _AllItems = new Dictionary<string, ItemWithAnchors>(); private Dictionary<string, ItemWithAnchors> _AllItems = new Dictionary<string, ItemWithAnchors>();
public async Task<Item> GetItemFromDataAsync(string source, string anchor) public async Task<Item> GetItemFromDataAsync(string source, string anchor)
{ {
await Task.Delay(3000);
if (!_AllItems.ContainsKey(source)) if (!_AllItems.ContainsKey(source))
{ {
//var md = await Tools.Helpers.GetStringFromUrl($"https://raw.githubusercontent.com/Nioux/AideDeJeu/master/Data/{source}.md"); //var md = await Tools.Helpers.GetStringFromUrl($"https://raw.githubusercontent.com/Nioux/AideDeJeu/master/Data/{source}.md");

View file

@ -91,7 +91,7 @@ namespace AideDeJeu.ViewModels
var with = match.Groups["with"].Value; var with = match.Groups["with"].Value;
Main.IsBusy = true; Main.IsBusy = true;
Main.IsLoading = true; Main.IsLoading = true;
var item = await Main.GetItemFromDataAsync(file, anchor); var item = await Task.Run(async () => await Main.GetItemFromDataAsync(file, anchor));
Main.IsBusy = false; Main.IsBusy = false;
Main.IsLoading = false; Main.IsLoading = false;
if (item != null) if (item != null)

View file

@ -3,8 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="AideDeJeu.Views.AboutPage" x:Class="AideDeJeu.Views.AboutPage"
xmlns:vm="clr-namespace:AideDeJeu.ViewModels;" xmlns:vm="clr-namespace:AideDeJeu.ViewModels;"
Title="{Binding Title}" Title="{Binding Title}">
IsBusy="{Binding IsBusy}">
<ContentPage.BindingContext> <ContentPage.BindingContext>
<vm:AboutViewModel /> <vm:AboutViewModel />
</ContentPage.BindingContext> </ContentPage.BindingContext>

View file

@ -6,8 +6,7 @@
xmlns:tools="clr-namespace:AideDeJeu.Tools" xmlns:tools="clr-namespace:AideDeJeu.Tools"
x:Class="AideDeJeu.Views.FilteredItemsPage" x:Class="AideDeJeu.Views.FilteredItemsPage"
x:Name="This" x:Name="This"
Title="{Binding Title}" Title="{Binding Title}">
IsBusy="{Binding Main.IsLoading}">
<MasterDetailPage.ToolbarItems> <MasterDetailPage.ToolbarItems>
<ToolbarItem Name="About" Text="À propos de..." Order="Secondary" Icon="wooden_sign.png" Command="{Binding Main.AboutCommand}" /> <ToolbarItem Name="About" Text="À propos de..." Order="Secondary" Icon="wooden_sign.png" Command="{Binding Main.AboutCommand}" />
</MasterDetailPage.ToolbarItems> </MasterDetailPage.ToolbarItems>
@ -64,6 +63,19 @@
</DataTemplate> </DataTemplate>
</ListView.ItemTemplate> </ListView.ItemTemplate>
</ListView> </ListView>
<ActivityIndicator
VerticalOptions="StartAndExpand"
HorizontalOptions="End"
Color="{StaticResource titlered}"
IsRunning="{Binding BindingContext.Main.IsLoading, Source={x:Reference This}}"
IsVisible="{Binding BindingContext.Main.IsLoading, Source={x:Reference This}}">
<ActivityIndicator.WidthRequest>
<OnPlatform x:TypeArguments="x:Double" iOS="50" WinPhone="400" Android="50" />
</ActivityIndicator.WidthRequest>
<ActivityIndicator.HeightRequest>
<OnPlatform x:TypeArguments="x:Double" iOS="50" WinPhone="10" Android="50" />
</ActivityIndicator.HeightRequest>
</ActivityIndicator>
</Grid> </Grid>
</ContentPage> </ContentPage>
</MasterDetailPage.Detail> </MasterDetailPage.Detail>

View file

@ -5,8 +5,7 @@
xmlns:mdview="clr-namespace:Xam.Forms.Markdown" xmlns:mdview="clr-namespace:Xam.Forms.Markdown"
x:Class="AideDeJeu.Views.ItemDetailPage" x:Class="AideDeJeu.Views.ItemDetailPage"
Title="{Binding Title}" Title="{Binding Title}"
x:Name="This" x:Name="This">
IsBusy="{Binding BindingContext.Main.IsLoading, Source={x:Reference This}}">
<ContentPage.Resources> <ContentPage.Resources>
<ResourceDictionary> <ResourceDictionary>
<tools:MonsterMarkdownTheme x:Key="MonsterMarkdownTheme" /> <tools:MonsterMarkdownTheme x:Key="MonsterMarkdownTheme" />
@ -16,11 +15,26 @@
<ContentPage.ToolbarItems> <ContentPage.ToolbarItems>
<ToolbarItem Name="About" Text="À propos de..." Order="Secondary" Icon="wooden_sign.png" Command="{Binding Main.AboutCommand}" /> <ToolbarItem Name="About" Text="À propos de..." Order="Secondary" Icon="wooden_sign.png" Command="{Binding Main.AboutCommand}" />
</ContentPage.ToolbarItems> </ContentPage.ToolbarItems>
<ScrollView Orientation="Vertical" BackgroundColor="#fdf1dc"> <Grid>
<mdview:MarkdownView <ScrollView Orientation="Vertical" BackgroundColor="#fdf1dc">
Theme="{StaticResource MonsterMarkdownTheme}" <mdview:MarkdownView
Markdown="{Binding Item.Markdown}" Theme="{StaticResource MonsterMarkdownTheme}"
NavigateToLinkCommand="{Binding BindingContext.Main.Navigator.NavigateToLinkCommand, Source={x:Reference This}}" Markdown="{Binding Item.Markdown}"
/> NavigateToLinkCommand="{Binding BindingContext.Main.Navigator.NavigateToLinkCommand, Source={x:Reference This}}"
</ScrollView> />
</ScrollView>
<ActivityIndicator
VerticalOptions="StartAndExpand"
HorizontalOptions="End"
Color="{StaticResource titlered}"
IsRunning="{Binding BindingContext.Main.IsLoading, Source={x:Reference This}}"
IsVisible="{Binding BindingContext.Main.IsLoading, Source={x:Reference This}}">
<ActivityIndicator.WidthRequest>
<OnPlatform x:TypeArguments="x:Double" iOS="50" WinPhone="400" Android="50" />
</ActivityIndicator.WidthRequest>
<ActivityIndicator.HeightRequest>
<OnPlatform x:TypeArguments="x:Double" iOS="50" WinPhone="10" Android="50" />
</ActivityIndicator.HeightRequest>
</ActivityIndicator>
</Grid>
</ContentPage> </ContentPage>

View file

@ -7,8 +7,7 @@
xmlns:mdview="clr-namespace:Xam.Forms.Markdown" xmlns:mdview="clr-namespace:Xam.Forms.Markdown"
x:Class="AideDeJeu.Views.ItemsPage" x:Class="AideDeJeu.Views.ItemsPage"
x:Name="This" x:Name="This"
Title="{Binding Title}" Title="{Binding Title}">
IsBusy="{Binding Main.IsLoading}">
<ContentPage.Resources> <ContentPage.Resources>
<ResourceDictionary> <ResourceDictionary>
<tools:MonsterMarkdownTheme x:Key="MonsterMarkdownTheme" /> <tools:MonsterMarkdownTheme x:Key="MonsterMarkdownTheme" />
@ -19,23 +18,38 @@
<ContentPage.ToolbarItems> <ContentPage.ToolbarItems>
<ToolbarItem Name="About" Text="À propos de..." Order="Secondary" Icon="wooden_sign.png" Command="{Binding Main.AboutCommand}" /> <ToolbarItem Name="About" Text="À propos de..." Order="Secondary" Icon="wooden_sign.png" Command="{Binding Main.AboutCommand}" />
</ContentPage.ToolbarItems> </ContentPage.ToolbarItems>
<ListView BackgroundColor="{StaticResource bgtan}" x:Name="ItemsListView" ItemsSource="{Binding Items}" VerticalOptions="FillAndExpand" HasUnevenRows="true" CachingStrategy="RecycleElement" SelectedItem="{Binding SelectedItem}" ItemTapped="ItemsListView_ItemTapped"> <Grid>
<ListView.Header> <ListView BackgroundColor="{StaticResource bgtan}" x:Name="ItemsListView" ItemsSource="{Binding Items}" VerticalOptions="FillAndExpand" HasUnevenRows="true" CachingStrategy="RecycleElement" SelectedItem="{Binding SelectedItem}" ItemTapped="ItemsListView_ItemTapped">
<mdview:MarkdownView <ListView.Header>
<mdview:MarkdownView
Theme="{StaticResource MonsterMarkdownTheme}" Theme="{StaticResource MonsterMarkdownTheme}"
Markdown="{Binding BindingContext.Items.Markdown, Source={x:Reference This}}" Markdown="{Binding BindingContext.Items.Markdown, Source={x:Reference This}}"
NavigateToLinkCommand="{Binding Main.Navigator.NavigateToLinkCommand, Source={x:Reference This}}" NavigateToLinkCommand="{Binding Main.Navigator.NavigateToLinkCommand, Source={x:Reference This}}"
/> />
</ListView.Header> </ListView.Header>
<ListView.ItemTemplate> <ListView.ItemTemplate>
<DataTemplate> <DataTemplate>
<ViewCell AutomationProperties.IsInAccessibleTree="True" AutomationId="machin" AutomationProperties.Name="hop"> <ViewCell AutomationProperties.IsInAccessibleTree="True" AutomationId="machin" AutomationProperties.Name="hop">
<StackLayout Padding="10" Orientation="Vertical"> <StackLayout Padding="10" Orientation="Vertical">
<Label Text="{Binding Name}" LineBreakMode="WordWrap" TextColor="#0366d6" Style="{Binding NameLevel,Converter={StaticResource HeaderLevelToStyleConverter}}" /> <Label Text="{Binding Name}" LineBreakMode="WordWrap" TextColor="#0366d6" Style="{Binding NameLevel,Converter={StaticResource HeaderLevelToStyleConverter}}" />
<Label Text="{Binding AltNameText}" LineBreakMode="WordWrap" Style="{DynamicResource subsubsection}" FontSize="12" /> <Label Text="{Binding AltNameText}" LineBreakMode="WordWrap" Style="{DynamicResource subsubsection}" FontSize="12" />
</StackLayout> </StackLayout>
</ViewCell> </ViewCell>
</DataTemplate> </DataTemplate>
</ListView.ItemTemplate> </ListView.ItemTemplate>
</ListView> </ListView>
<ActivityIndicator
VerticalOptions="StartAndExpand"
HorizontalOptions="End"
Color="{StaticResource titlered}"
IsRunning="{Binding BindingContext.Main.IsLoading, Source={x:Reference This}}"
IsVisible="{Binding BindingContext.Main.IsLoading, Source={x:Reference This}}">
<ActivityIndicator.WidthRequest>
<OnPlatform x:TypeArguments="x:Double" iOS="50" WinPhone="400" Android="50" />
</ActivityIndicator.WidthRequest>
<ActivityIndicator.HeightRequest>
<OnPlatform x:TypeArguments="x:Double" iOS="50" WinPhone="10" Android="50" />
</ActivityIndicator.HeightRequest>
</ActivityIndicator>
</Grid>
</ContentPage> </ContentPage>

View file

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<NavigationPage xmlns="http://xamarin.com/schemas/2014/forms" <NavigationPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="AideDeJeu.Views.MainNavigationPage" IsBusy="{Binding BindingContext.Main.IsLoading}"> x:Class="AideDeJeu.Views.MainNavigationPage">
</NavigationPage> </NavigationPage>