Skip to content

Commit

Permalink
Show workouts in WorkoutView
Browse files Browse the repository at this point in the history
  • Loading branch information
Ramo-Y committed Nov 2, 2024
1 parent d9f687d commit 2ca8056
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 41 deletions.
1 change: 1 addition & 0 deletions src/PersonalRecord.App/PersonalRecord.App.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@
<PackageReference Include="Syncfusion.Licensing" Version="$(SyncfusionVersion)" />
<PackageReference Include="Syncfusion.Maui.Buttons" Version="$(SyncfusionVersion)" />
<PackageReference Include="Syncfusion.Maui.DataGrid" Version="$(SyncfusionVersion)" />
<PackageReference Include="Syncfusion.Maui.Expander" Version="$(SyncfusionVersion)" />
<PackageReference Include="Syncfusion.Maui.NavigationDrawer" Version="$(SyncfusionVersion)" />
<PackageReference Include="Syncfusion.Maui.Popup" Version="$(SyncfusionVersion)" />
</ItemGroup>
Expand Down
10 changes: 0 additions & 10 deletions src/PersonalRecord.App/ViewModels/WorkoutsViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ public partial class WorkoutsViewModel : ObservableObject
[ObservableProperty]
private ObservableCollection<Workout> _workouts;

[ObservableProperty]
private ObservableCollection<WorkoutToExercise> _workoutToExercises;

public WorkoutsViewModel(
IWorkoutRepository workoutRepository,
IWorkoutToExerciseItemsRepository workoutToExerciseItemsRepository)
Expand All @@ -31,7 +28,6 @@ public WorkoutsViewModel(
_workoutToExerciseItemsRepository = workoutToExerciseItemsRepository;

Workouts = [];
WorkoutToExercises = [];

LoadItems();
}
Expand All @@ -45,12 +41,6 @@ private void LoadItems()
{
Workouts.Add(workout);
}

var workoutToExercises = await _workoutToExerciseItemsRepository.GetAllWorkoutToExerciseItemsAsync();
foreach (var workoutToExercise in workoutToExercises)
{
WorkoutToExercises.Add(workoutToExercise);
}
});
}

Expand Down
74 changes: 43 additions & 31 deletions src/PersonalRecord.App/Views/WorkoutsView.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
xmlns:sfgrid="clr-namespace:Syncfusion.Maui.DataGrid;assembly=Syncfusion.Maui.DataGrid"
xmlns:button="clr-namespace:Syncfusion.Maui.Buttons;assembly=Syncfusion.Maui.Buttons"
xmlns:popup="clr-namespace:Syncfusion.Maui.Popup;assembly=Syncfusion.Maui.Popup"
xmlns:accordion="clr-namespace:Syncfusion.Maui.Accordion;assembly=Syncfusion.Maui.Expander"
xmlns:resources="clr-namespace:PersonalRecord.Infrastructure.Resources.Languages;assembly=PersonalRecord.Infrastructure"
x:DataType="viewModels:WorkoutsViewModel"
Title="{x:Static resources:AppResources.Workouts}">
Expand All @@ -21,37 +22,48 @@
<RowDefinition Height="10"/>
</Grid.RowDefinitions>

<sfgrid:SfDataGrid x:Name="dataGrid"
Grid.Column="0" Grid.Row="0"
ItemsSource="{Binding Workouts}"
SortingMode="Single"
AllowTriStateSorting="True"
AllowDeleting="True"
AutoGenerateColumnsMode="None"
SelectionMode="Single"
AllowEditing="True"
ColumnWidthMode="Fill"
EditTapAction="OnTap"
HeaderRowHeight="52"
RowHeight="48">
<sfgrid:SfDataGrid.Columns>
<sfgrid:DataGridTextColumn HeaderText="{x:Static resources:AppResources.Workout}"
ValueBinding="{Binding WokName}">
</sfgrid:DataGridTextColumn>

<sfgrid:DataGridTemplateColumn MaximumWidth="50" >
<sfgrid:DataGridTemplateColumn.CellTemplate>
<DataTemplate x:DataType="entities:Workout">
<button:SfButton Background="{StaticResource TransparentBackground}"
ShowIcon="True"
ImageSource="{AppThemeBinding Dark=delete_dark_theme.svg, Light=delete_light_theme.svg}"
Command="{Binding Source={x:Reference dataGrid},Path=BindingContext.ConfirmEntryDeletionCommand}"
CommandParameter="{Binding .}" />
</DataTemplate>
</sfgrid:DataGridTemplateColumn.CellTemplate>
</sfgrid:DataGridTemplateColumn>
</sfgrid:SfDataGrid.Columns>
</sfgrid:SfDataGrid>
<accordion:SfAccordion x:Name="workoutAccordion"
BindableLayout.ItemsSource="{Binding Workouts}">
<BindableLayout.ItemTemplate>
<DataTemplate x:DataType="entities:Workout">
<accordion:AccordionItem IsExpanded="{Binding IsExpanded}">
<accordion:AccordionItem.Header>
<Grid HeightRequest="48">
<Label Text="{Binding WokName}"
Margin="16,14,0,14"
CharacterSpacing="0.25"
FontFamily="Roboto-Regular"
FontSize="14" />
</Grid>
</accordion:AccordionItem.Header>
<accordion:AccordionItem.Content>
<sfgrid:SfDataGrid x:Name="workoutToExerciseGrid"
ItemsSource="{Binding WokWorkoutToExerciseItems}"
AutoGenerateColumnsMode="None"
AllowEditing="False">
<sfgrid:SfDataGrid.Columns>
<sfgrid:DataGridNumericColumn HeaderText=" "
ColumnWidthMode="Auto"
Format="#"
ValueBinding="{Binding WteExerciseRepCount}"/>
<sfgrid:DataGridNumericColumn HeaderText=" "
ColumnWidthMode="Auto"
Format="#.#"
ValueBinding="{Binding WteExerciseDistance}"/>
<sfgrid:DataGridTextColumn HeaderText="Exercises"
ColumnWidthMode="Auto"
MappingName="Exercise.ExrName"/>
<sfgrid:DataGridNumericColumn HeaderText=" "
ColumnWidthMode="Auto"
Format="#.#"
ValueBinding="{Binding WteExerciseWeight}"/>
</sfgrid:SfDataGrid.Columns>
</sfgrid:SfDataGrid>
</accordion:AccordionItem.Content>
</accordion:AccordionItem>
</DataTemplate>
</BindableLayout.ItemTemplate>
</accordion:SfAccordion>

<popup:SfPopup IsOpen="{Binding DeletePopupIsOpen}"
Message="{x:Static resources:AppResources.DeleteAskForConfirmation}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public async Task DeleteWorkoutAsync(Workout workout)
public async Task<IEnumerable<Workout>> GetAllWorkoutsAsync()
{
var workoutItems = await _context.WorkoutItems
.Include(w => w.WokWorkoutToExerciseItems)
.OrderBy(w => w.WokName)
.ToListAsync();
return workoutItems;
Expand Down

0 comments on commit 2ca8056

Please sign in to comment.