modif Partition en PartitionView pour regler probleme incompatibilité + ajout barre de recherche semifonctionnelle (manque plus que l'actualisation de l'affichage)

pull/8/head
Vivien DUFOUR 2 years ago
parent 24e2621a38
commit 9eb96aba78

@ -56,4 +56,10 @@
<PackageReference Include="Plugin.Maui.Audio" Version="1.0.0" /> <PackageReference Include="Plugin.Maui.Audio" Version="1.0.0" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Compile Update="Views\PartitionView.xaml.cs">
<DependentUpon>PartitionView.xaml</DependentUpon>
</Compile>
</ItemGroup>
</Project> </Project>

@ -51,6 +51,7 @@
PlaceholderColor="White" PlaceholderColor="White"
VerticalTextAlignment="Center" VerticalTextAlignment="Center"
HorizontalTextAlignment="Start" HorizontalTextAlignment="Start"
TextChanged="SearchBar_TextChanged"
/> />
<Image Grid.Row="0" Grid.Column="2" <Image Grid.Row="0" Grid.Column="2"

@ -1,11 +1,15 @@
using Plugin.Maui.Audio; using Plugin.Maui.Audio;
using MusiLib.Model; using MusiLib.Model;
namespace MusiLib.Views; namespace MusiLib.Views;
public partial class Accueil : ContentPage, IAllowClick public partial class Accueil : ContentPage, IAllowClick
{ {
public Manager MyManager => (App.Current as App).MyManager; public Manager MyManager => (App.Current as App).MyManager;
private List<Partition> partitionsInitiales;
public Accueil() public Accueil()
{ {
InitializeComponent(); InitializeComponent();
@ -33,7 +37,7 @@ public partial class Accueil : ContentPage, IAllowClick
if (int.TryParse(idAutomation, out int id)) if (int.TryParse(idAutomation, out int id))
{ {
Navigation.PushAsync(new Partition(id)); Navigation.PushAsync(new PartitionView(id));
} }
@ -43,6 +47,8 @@ public partial class Accueil : ContentPage, IAllowClick
private void chargerPartitions() private void chargerPartitions()
{ {
partitionsInitiales = MyManager.partitions.ToList();
int imagesParLigne = 3; int imagesParLigne = 3;
int indice = 0; int indice = 0;
@ -89,4 +95,18 @@ public partial class Accueil : ContentPage, IAllowClick
} }
} }
private void SearchBar_TextChanged(object sender, TextChangedEventArgs e)
{
string texteRecherche = e.NewTextValue;
MyManager.partitions.Clear();
foreach (Model.Partition partition in partitionsInitiales)
{
if (partition.Nom.ToLower().Contains(texteRecherche.ToLower()))
{
MyManager.partitions.Add(partition);
}
}
}
} }

@ -38,7 +38,7 @@ public partial class Favoris : ContentPage, IAllowClick
if (int.TryParse(idAutomation, out int id)) if (int.TryParse(idAutomation, out int id))
{ {
Navigation.PushAsync(new Partition(id)); Navigation.PushAsync(new PartitionView(id));
} }
IAllowClick.ResumeTap(); IAllowClick.ResumeTap();

@ -1,112 +1,112 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MusiLib.Views.Partition" x:Class="MusiLib.Views.PartitionView"
xmlns:model="clr-namespace:MusiLib.Model" xmlns:model="clr-namespace:MusiLib.Model"
xmlns:local="clr-namespace:MusiLib.Views" xmlns:local="clr-namespace:MusiLib.Views"
Title="Partition"> Title="Partition">
<ScrollView Orientation="Both"> <ScrollView Orientation="Both">
<VerticalStackLayout > <VerticalStackLayout >
<HorizontalStackLayout x:Name="Part"> <HorizontalStackLayout x:Name="Part">
<CarouselView ItemsSource="{Binding Image}" ItemsLayout="VerticalList" PeekAreaInsets="0"> <CarouselView ItemsSource="{Binding Image}" ItemsLayout="VerticalList" PeekAreaInsets="0">
<CarouselView.ItemTemplate> <CarouselView.ItemTemplate>
<DataTemplate> <DataTemplate>
<Image Source="{Binding .}" HeightRequest="600" WidthRequest="400" Aspect="AspectFill"/> <Image Source="{Binding .}" HeightRequest="600" WidthRequest="400" Aspect="AspectFill"/>
</DataTemplate> </DataTemplate>
</CarouselView.ItemTemplate> </CarouselView.ItemTemplate>
</CarouselView> </CarouselView>
<VerticalStackLayout Margin="15" WidthRequest="375"> <VerticalStackLayout Margin="15" WidthRequest="375">
<Label Text="{Binding Description}" /> <Label Text="{Binding Description}" />
<Grid Margin="15"> <Grid Margin="15">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition /> <RowDefinition />
<RowDefinition Height="70"/> <RowDefinition Height="70"/>
<RowDefinition Height="25"/> <RowDefinition Height="25"/>
<RowDefinition Height="70"/> <RowDefinition Height="70"/>
<RowDefinition Height="25"/> <RowDefinition Height="25"/>
<RowDefinition Height="70"/> <RowDefinition Height="70"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="125"/> <ColumnDefinition Width="125"/>
<ColumnDefinition /> <ColumnDefinition />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Button Grid.Row="1" Grid.Column="0" <Button Grid.Row="1" Grid.Column="0"
Text="A" Text="A"
WidthRequest="75" WidthRequest="75"
HeightRequest="75" HeightRequest="75"
HorizontalOptions="Start" HorizontalOptions="Start"
/> />
<Button Grid.Row="1" Grid.Column="1" <Button Grid.Row="1" Grid.Column="1"
Text="B" Text="B"
WidthRequest="75" WidthRequest="75"
HeightRequest="75" HeightRequest="75"
HorizontalOptions="Start" HorizontalOptions="Start"
/> />
<Button Grid.Row="3" Grid.Column="0" <Button Grid.Row="3" Grid.Column="0"
Text="C" Text="C"
WidthRequest="75" WidthRequest="75"
HeightRequest="75" HeightRequest="75"
HorizontalOptions="Start" HorizontalOptions="Start"
/> />
<Button Grid.Row="3" Grid.Column="1" <Button Grid.Row="3" Grid.Column="1"
Text="Mettre en favori" Text="Mettre en favori"
WidthRequest="75" WidthRequest="75"
HeightRequest="75" HeightRequest="75"
HorizontalOptions="Start" HorizontalOptions="Start"
Clicked="AddFavoriButton" Clicked="AddFavoriButton"
/> />
<Button Grid.Row="5" Grid.Column="0" <Button Grid.Row="5" Grid.Column="0"
Text="Jouer" Text="Jouer"
WidthRequest="75" WidthRequest="75"
HeightRequest="75" HeightRequest="75"
HorizontalOptions="Start" HorizontalOptions="Start"
Clicked="Play_Music" Clicked="Play_Music"
x:Name="play_music_button" x:Name="play_music_button"
/> />
<Button Grid.Row="5" Grid.Column="1" <Button Grid.Row="5" Grid.Column="1"
Text="Arrêter" Text="Arrêter"
WidthRequest="75" WidthRequest="75"
HeightRequest="75" HeightRequest="75"
HorizontalOptions="Start" HorizontalOptions="Start"
Clicked="Stop_Music" Clicked="Stop_Music"
/> />
</Grid> </Grid>
</VerticalStackLayout> </VerticalStackLayout>
</HorizontalStackLayout> </HorizontalStackLayout>
<Border Stroke="#000080" > <Border Stroke="#000080" >
<CollectionView x:Name="Part2" ItemsSource="{Binding partitions}" ItemsLayout="HorizontalList" > <CollectionView x:Name="Part2" ItemsSource="{Binding partitions}" ItemsLayout="HorizontalList" >
<CollectionView.ItemTemplate> <CollectionView.ItemTemplate>
<DataTemplate> <DataTemplate>
<Grid Padding="10"> <Grid Padding="10">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition /> <RowDefinition />
<RowDefinition /> <RowDefinition />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition /> <ColumnDefinition />
<ColumnDefinition /> <ColumnDefinition />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Image Grid.Row="1" Grid.Column="2" <Image Grid.Row="1" Grid.Column="2"
Source="{Binding Image[0]}" Source="{Binding Image[0]}"
Aspect="AspectFill" Aspect="AspectFill"
HeightRequest="65" HeightRequest="65"
WidthRequest="65" WidthRequest="65"
/> />
<Label Grid.Row="2" Grid.Column="2" <Label Grid.Row="2" Grid.Column="2"
Text="{Binding Nom}" Text="{Binding Nom}"
FontSize="10" FontSize="10"
HorizontalOptions="Center" HorizontalOptions="Center"
/> />
</Grid> </Grid>
</DataTemplate> </DataTemplate>
</CollectionView.ItemTemplate> </CollectionView.ItemTemplate>
</CollectionView> </CollectionView>
</Border> </Border>
</VerticalStackLayout> </VerticalStackLayout>
</ScrollView> </ScrollView>
</ContentPage> </ContentPage>

@ -5,7 +5,7 @@ using System.Diagnostics;
namespace MusiLib.Views; namespace MusiLib.Views;
public partial class Partition : ContentPage public partial class PartitionView : ContentPage
{ {
public Manager MyManager => (App.Current as App).MyManager; public Manager MyManager => (App.Current as App).MyManager;
@ -13,13 +13,13 @@ public partial class Partition : ContentPage
public int IdTab { get; set; } public int IdTab { get; set; }
public Partition() public PartitionView()
{ {
InitializeComponent(); InitializeComponent();
BindingContext = MyManager; BindingContext = MyManager;
} }
public Partition(int id) public PartitionView(int id)
{ {
InitializeComponent(); InitializeComponent();
IdTab = id; IdTab = id;
Loading…
Cancel
Save