83 lines
4.6 KiB
XML
83 lines
4.6 KiB
XML
<UserControl xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:vm="clr-namespace:LehrerApp.Desktop.ViewModels.Workload"
|
|
x:Class="LehrerApp.Desktop.Views.Workload.WorkloadEvaluationView"
|
|
x:DataType="vm:WorkloadEvaluationViewModel">
|
|
<ScrollViewer>
|
|
<StackPanel Margin="20,16" Spacing="16">
|
|
|
|
<!-- Zeitraum -->
|
|
<Grid ColumnDefinitions="Auto,Auto,Auto,Auto" HorizontalAlignment="Left">
|
|
<ComboBox Grid.Column="0" ItemsSource="{Binding PeriodModeOptions}"
|
|
SelectedItem="{Binding PeriodMode}" Margin="0,0,8,0"/>
|
|
<ComboBox Grid.Column="1" ItemsSource="{Binding MonthOptions}" SelectedItem="{Binding SelectedMonth}"
|
|
Margin="0,0,8,0" IsVisible="{Binding IsMonthMode}"/>
|
|
<ComboBox Grid.Column="2" ItemsSource="{Binding YearOptions}" SelectedItem="{Binding SelectedYear}"/>
|
|
<Button Grid.Column="3" Content="Als CSV exportieren" Margin="16,0,0,0"
|
|
Click="OnExportClick"/>
|
|
</Grid>
|
|
|
|
<!-- Pflichtstunden (6.3.2) -->
|
|
<Border Background="{DynamicResource SystemControlBackgroundAltHighBrush}" CornerRadius="8" Padding="16">
|
|
<StackPanel Spacing="10">
|
|
<TextBlock Text="Pflichtstunden pro Woche" FontWeight="SemiBold" FontSize="14"/>
|
|
<Grid ColumnDefinitions="140,Auto">
|
|
<TextBox Grid.Column="0" Text="{Binding RequiredWeeklyHoursText}" PlaceholderText="z.B. 25"/>
|
|
<Button Grid.Column="1" Content="Speichern" Margin="8,0,0,0"
|
|
Command="{Binding SaveRequiredWeeklyHoursCommand}"/>
|
|
</Grid>
|
|
<TextBlock Text="{Binding RequiredVsActualDisplay}" FontSize="13" FontWeight="SemiBold"
|
|
IsVisible="{Binding RequiredVsActualDisplay, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<!-- Gesamtsumme -->
|
|
<TextBlock Text="{Binding TotalMinutesDisplay}" FontSize="18" FontWeight="SemiBold"/>
|
|
|
|
<!-- Nach Kategorie (6.3.1) -->
|
|
<Border Background="{DynamicResource SystemControlBackgroundAltHighBrush}" CornerRadius="8" Padding="16">
|
|
<StackPanel Spacing="10">
|
|
<TextBlock Text="Nach Kategorie" FontWeight="SemiBold" FontSize="14"/>
|
|
<ItemsControl ItemsSource="{Binding CategorySummaries}">
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate x:DataType="vm:CategoryTimeSummary">
|
|
<Grid ColumnDefinitions="120,*,60" Margin="0,3">
|
|
<TextBlock Grid.Column="0" Text="{Binding Category}" FontSize="12" VerticalAlignment="Center"/>
|
|
<ProgressBar Grid.Column="1" Value="{Binding BarFraction}" Maximum="1" Height="8"
|
|
VerticalAlignment="Center" Margin="8,0"/>
|
|
<TextBlock Grid.Column="2" Text="{Binding MinutesDisplay}" FontSize="12"
|
|
HorizontalAlignment="Right" VerticalAlignment="Center"/>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
<TextBlock Text="Keine Zeiten in diesem Zeitraum erfasst." Opacity="0.6" FontSize="12"
|
|
IsVisible="{Binding !CategorySummaries.Count}"/>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<!-- Nach Gruppe (6.3.1) -->
|
|
<Border Background="{DynamicResource SystemControlBackgroundAltHighBrush}" CornerRadius="8" Padding="16">
|
|
<StackPanel Spacing="10">
|
|
<TextBlock Text="Nach Gruppe" FontWeight="SemiBold" FontSize="14"/>
|
|
<ItemsControl ItemsSource="{Binding GroupSummaries}">
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate x:DataType="vm:GroupTimeSummary">
|
|
<Grid ColumnDefinitions="120,*,60" Margin="0,3">
|
|
<TextBlock Grid.Column="0" Text="{Binding GroupName}" FontSize="12" VerticalAlignment="Center"/>
|
|
<ProgressBar Grid.Column="1" Value="{Binding BarFraction}" Maximum="1" Height="8"
|
|
VerticalAlignment="Center" Margin="8,0"/>
|
|
<TextBlock Grid.Column="2" Text="{Binding MinutesDisplay}" FontSize="12"
|
|
HorizontalAlignment="Right" VerticalAlignment="Center"/>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
<TextBlock Text="Keine gruppenbezogenen Zeiten in diesem Zeitraum." Opacity="0.6" FontSize="12"
|
|
IsVisible="{Binding !GroupSummaries.Count}"/>
|
|
</StackPanel>
|
|
</Border>
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
</UserControl>
|