ADD : Avancement avec premier affichage des livres fonctionnel 🔥

commands-19-09
Lou BRODA 1 year ago
parent 7a2ae56ca8
commit a37283cabd

@ -93,7 +93,7 @@
Stroke="{StaticResource Gray}"
StrokeShape="RoundRectangle 3"
StrokeThickness="3">
<Image Source="couverture_la_horde_du_contrevent.png"
<Image Source="{Binding ImageSmall}"
Aspect="AspectFill"
Grid.Column="0"
Grid.RowSpan="5"/>
@ -109,11 +109,20 @@
Style="{StaticResource MasterTitleBookText}"
Grid.Column="2"
Grid.Row="0"/>
<Label Text="Author"
Style="{StaticResource MasterAuthorBookText}"
<CollectionView ItemsSource="{Binding Authors}"
Grid.Column="2"
Grid.Row="1"/>
<Label Text="State"
Grid.Row="1">
<CollectionView.ItemsLayout>
<LinearItemsLayout Orientation="Horizontal" />
</CollectionView.ItemsLayout>
<CollectionView.ItemTemplate>
<DataTemplate x:DataType="viewModel:AuthorVM">
<Label Text="{Binding Name}"
Style="{StaticResource MasterAuthorBookText}"/>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
<Label Text="{Binding Status}"
Style="{StaticResource MasterStateBookText}"
Grid.Column="2"
Grid.Row="2"/>
@ -138,82 +147,27 @@
Style="{StaticResource HeaderCollectionViewText}"
Grid.Column="1"/>
</Grid>
<CollectionView ItemsSource="{Binding LiuBooks}"
SelectionMode="Single"
SelectionChanged="OnSelectionChanged"
Grid.Row="6">
<CollectionView.ItemTemplate>
<DataTemplate>
<VerticalStackLayout Margin="10"
Spacing="20">
<VisualStateManager.VisualStateGroups x:Name="SelectionStates">
<VisualStateGroup>
<VisualState x:Name="Selected">
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="Transparent" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid>
<Grid Grid.Row="6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Grid Grid.Column="0"
Grid.RowSpan="5">
<Border Padding="-5,-5,-5,1"
Margin="10,0,0,0"
HeightRequest="100"
WidthRequest="62"
HorizontalOptions="Center"
Stroke="{StaticResource Gray}"
StrokeShape="RoundRectangle 3"
StrokeThickness="3">
<Border HorizontalOptions="Center"
Stroke="{StaticResource Gray}"
StrokeShape="RoundRectangle 3"
StrokeThickness="3">
<Image Source="couverture_la_horde_du_contrevent.png"
Aspect="AspectFill"
Grid.Column="0"
Grid.RowSpan="5"/>
</Border>
</Border>
<Image Source="bookmark_red.png"
HeightRequest="10"
WidthRequest="10"
Margin="0,97,20,0"
VerticalOptions="End"/>
</Grid>
<Label Text="{Binding Title}"
Style="{StaticResource MasterTitleBookText}"
Grid.Column="2"
Grid.Row="0"/>
<Label Text="{Binding Author}"
Style="{StaticResource MasterAuthorBookText}"
Grid.Column="2"
Grid.Row="1"/>
<Label Text="{Binding State}"
Style="{StaticResource MasterStateBookText}"
Grid.Column="2"
Grid.Row="2"/>
<contentView:StarNotationView Grid.Column="2"
Grid.Row="4"/>
<ImageButton Source="chevron_right.png"
Rotation="180"
Command="{Binding TousVM.Manager.PreviousCommand}"
Grid.Column="1"/>
<Label Text="{Binding TousVM.Manager.Index, TousVM.Manager.NbPages, StringFormat='{0}/{1}'}"
Grid.Column="3"/>
<ImageButton Source="chevron_right.png"
Command="{Binding TousVM.Manager.NextCommand}"
Grid.Column="5"/>
</Grid>
<contentView:SeparatorCutStartView/>
</VerticalStackLayout>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</Grid>
</ScrollView>
<Grid HorizontalOptions="End"

@ -44,5 +44,12 @@ public partial class TousView : ContentPage
App.Current.MainPage.Navigation.PushAsync(new DetailsLivreView());
}
protected override void OnAppearing()
{
base.OnAppearing();
TousVM.Manager.GetBooksFromCollectionCommand.Execute(null);
}
#endregion
}

@ -41,14 +41,16 @@ namespace ViewModels
set => SetProperty(Model.PublishDate, value, v => Model.PublishDate = value);
}
//public List<AuthorVM> Authors
//{
// get => model.Authors;
// set
// {
// model.Authors = value;
// }
//}
public List<AuthorVM> Authors
{
get => Model.Authors.Select(a => new AuthorVM(a)).ToList();
}
public Status Status
{
get => Model.Status;
set => SetProperty(Model.Status, value, v => Model.Status = value);
}
public int NbPages
{

@ -10,7 +10,7 @@ namespace ViewModels
#region Fields
private readonly ObservableCollection<BookVM> books;
private readonly ObservableCollection<BookVM> books = new ObservableCollection<BookVM>();
private int index;
private long nbBooks;
@ -18,7 +18,10 @@ namespace ViewModels
#region Properties
public ReadOnlyObservableCollection<BookVM> AllBooks { get; private set; }
public ObservableCollection<BookVM> AllBooks
{
get => books;
}
public string SearchTitle { get; private set; }
@ -55,7 +58,6 @@ namespace ViewModels
public ManagerVM(Manager model) : base(model)
{
//AllBooks = new ReadOnlyObservableCollection<BookVM>(books);
PreviousCommand = new RelayCommand(() => Previous());
NextCommand = new RelayCommand(() => Next());
GetBooksFromCollectionCommand = new RelayCommand(() => GetBooksFromCollection());
@ -96,6 +98,7 @@ namespace ViewModels
{
books.Add(b);
}
OnPropertyChanged(nameof(AllBooks));
}
#endregion

Loading…
Cancel
Save