158 lines
10 KiB
XML
158 lines
10 KiB
XML
<Window xmlns="https://github.com/avaloniaui"
|
||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||
xmlns:vm="clr-namespace:LehrerApp.Desktop.ViewModels.Groups"
|
||
xmlns:views="clr-namespace:LehrerApp.Desktop.Views.Groups"
|
||
x:Class="LehrerApp.Desktop.Views.Groups.ParticipationWizardDialog"
|
||
x:DataType="vm:ParticipationWizardDialogViewModel"
|
||
Title="Mitarbeits-Assistent"
|
||
Width="1080" Height="820" MinWidth="760" MinHeight="620"
|
||
CanResize="True" WindowStartupLocation="CenterOwner">
|
||
|
||
<Grid RowDefinitions="Auto,Auto,*,Auto,Auto,Auto" Margin="24">
|
||
|
||
<StackPanel Grid.Row="0" Spacing="2">
|
||
<TextBlock Text="{Binding GroupLabel}" FontSize="13" Opacity="0.5"/>
|
||
<Grid ColumnDefinitions="Auto,*,Auto">
|
||
<TextBlock Grid.Column="0" Text="{Binding StudentName}" FontSize="18" FontWeight="SemiBold"/>
|
||
<StackPanel Grid.Column="2" Orientation="Horizontal" Spacing="8">
|
||
<Button Content="◂ Zurück" Command="{Binding PreviousStudentCommand}"/>
|
||
<TextBlock Text="{Binding ProgressText}" VerticalAlignment="Center" Opacity="0.6" FontSize="12"/>
|
||
<Button Content="Weiter ▸" Command="{Binding NextStudentCommand}"/>
|
||
</StackPanel>
|
||
</Grid>
|
||
</StackPanel>
|
||
|
||
<Grid Grid.Row="1" RowDefinitions="Auto,Auto" ColumnDefinitions="*,Auto" Margin="0,14,0,6">
|
||
<TextBlock Grid.Row="0" Grid.Column="0" Text="Mitarbeit im Zeitverlauf" FontSize="13"
|
||
FontWeight="SemiBold" VerticalAlignment="Center"/>
|
||
<StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal" Spacing="7" VerticalAlignment="Center">
|
||
<TextBlock Text="Zoom" FontSize="10" Opacity="0.6" VerticalAlignment="Center"/>
|
||
<Slider Minimum="0.65" Maximum="2.25" Value="{Binding TimelineZoom}" Width="120"
|
||
TickFrequency="0.1"/>
|
||
<Button Content="Legende ▾" Padding="8,3" FontSize="10">
|
||
<Button.Flyout>
|
||
<Flyout Placement="BottomEdgeAlignedRight">
|
||
<StackPanel Width="310" Spacing="6" Margin="12">
|
||
<TextBlock Text="Hausaufgaben" FontWeight="SemiBold" FontSize="11"/>
|
||
<TextBlock Text="· keine Hausaufgabe erfasst" FontSize="10" Opacity="0.65"/>
|
||
<TextBlock Text="✓ gemacht" FontSize="10" Foreground="#2E9D57"/>
|
||
<TextBlock Text="◐ teilweise angefertigt – Rest offen" FontSize="10" Foreground="#D98200"/>
|
||
<TextBlock Text="◕ teilweise angefertigt – Rest nachgereicht" FontSize="10" Foreground="#7F77DD"/>
|
||
<TextBlock Text="◒ teilweise angefertigt – Rest nicht nachgereicht" FontSize="10" Foreground="#D64545"/>
|
||
<TextBlock Text="! nicht gemacht – Nachreichen offen" FontSize="10" Foreground="#D98200"/>
|
||
<TextBlock Text="✕ nicht gemacht – nicht mehr nachgereicht" FontSize="10" Foreground="#D64545"/>
|
||
<TextBlock Text="↺ nachgereicht" FontSize="10" Foreground="#7F77DD"/>
|
||
<Separator Margin="0,4"/>
|
||
<TextBlock Text="Anwesenheit" FontWeight="SemiBold" FontSize="11"/>
|
||
<TextBlock Text="· noch nicht kontrolliert" FontSize="10" Opacity="0.65"/>
|
||
<TextBlock Text="✓ anwesend" FontSize="10" Foreground="#2E9D57"/>
|
||
<TextBlock Text="? Entschuldigung offen" FontSize="10" Foreground="#D98200"/>
|
||
<TextBlock Text="⊘ krank, entschuldigt" FontSize="10" Foreground="#4C86A8"/>
|
||
<TextBlock Text="! unentschuldigt" FontSize="10" Foreground="#D96C00"/>
|
||
<TextBlock Text="✕ geschwänzt" FontSize="10" Foreground="#D64545"/>
|
||
<TextBlock Text="◇ andere Schulveranstaltung" FontSize="10" Foreground="#5277C3"/>
|
||
<TextBlock Text="Klick auf ein Symbol wechselt zum nächsten Status."
|
||
FontSize="9" Opacity="0.55" Margin="0,5,0,0" TextWrapping="Wrap"/>
|
||
</StackPanel>
|
||
</Flyout>
|
||
</Button.Flyout>
|
||
</Button>
|
||
</StackPanel>
|
||
|
||
<WrapPanel Grid.Row="1" Grid.ColumnSpan="2" Margin="0,7,0,0" VerticalAlignment="Center">
|
||
<TextBlock Text="Kurven" FontSize="10" FontWeight="SemiBold" Opacity="0.6"
|
||
VerticalAlignment="Center" Margin="0,0,7,0"/>
|
||
<ToggleButton IsChecked="{Binding ShowQuality}" Padding="7,2" FontSize="10" Margin="0,0,5,3">
|
||
<StackPanel Orientation="Horizontal" Spacing="5"><Border Width="9" Height="9" CornerRadius="5" Background="#2E86DE"/><TextBlock Text="Qualität"/></StackPanel>
|
||
</ToggleButton>
|
||
<ToggleButton IsChecked="{Binding ShowQuantity}" Padding="7,2" FontSize="10" Margin="0,0,5,3">
|
||
<StackPanel Orientation="Horizontal" Spacing="5"><Border Width="9" Height="9" CornerRadius="5" Background="#E67E22"/><TextBlock Text="Quantität"/></StackPanel>
|
||
</ToggleButton>
|
||
<ToggleButton IsChecked="{Binding ShowWorkphase}" Padding="7,2" FontSize="10" Margin="0,0,12,3">
|
||
<StackPanel Orientation="Horizontal" Spacing="5"><Border Width="9" Height="9" CornerRadius="5" Background="#16A085"/><TextBlock Text="Arbeitsphase"/></StackPanel>
|
||
</ToggleButton>
|
||
<ToggleButton Content="Datenpunkte" IsChecked="{Binding ShowDataPoints}"
|
||
Padding="7,2" FontSize="10" Margin="0,0,12,3"/>
|
||
|
||
<TextBlock Text="Trends (1–2–1)" FontSize="10" FontWeight="SemiBold" Opacity="0.6"
|
||
VerticalAlignment="Center" Margin="0,0,7,0"/>
|
||
<ToggleButton Content="Gesamt gewichtet" IsChecked="{Binding ShowWeightedTrend}"
|
||
Padding="7,2" FontSize="10" Margin="0,0,5,3"/>
|
||
<ToggleButton Content="Qualität" IsChecked="{Binding ShowQualityTrend}"
|
||
Padding="7,2" FontSize="10" Margin="0,0,5,3"/>
|
||
<ToggleButton Content="Quantität" IsChecked="{Binding ShowQuantityTrend}"
|
||
Padding="7,2" FontSize="10" Margin="0,0,5,3"/>
|
||
<ToggleButton Content="Arbeitsphase" IsChecked="{Binding ShowWorkphaseTrend}"
|
||
Padding="7,2" FontSize="10" Margin="0,0,0,3"/>
|
||
</WrapPanel>
|
||
</Grid>
|
||
|
||
<Border Grid.Row="2" BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
|
||
BorderThickness="1" CornerRadius="7" ClipToBounds="True">
|
||
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
|
||
<views:ParticipationTimelineChart Timeline="{Binding Timeline}" Zoom="{Binding TimelineZoom}"
|
||
ShowQuality="{Binding ShowQuality}"
|
||
ShowQuantity="{Binding ShowQuantity}"
|
||
ShowWorkphase="{Binding ShowWorkphase}"
|
||
ShowDataPoints="{Binding ShowDataPoints}"
|
||
ShowWeightedTrend="{Binding ShowWeightedTrend}"
|
||
ShowQualityTrend="{Binding ShowQualityTrend}"
|
||
ShowQuantityTrend="{Binding ShowQuantityTrend}"
|
||
ShowWorkphaseTrend="{Binding ShowWorkphaseTrend}"/>
|
||
</ScrollViewer>
|
||
</Border>
|
||
|
||
<StackPanel Grid.Row="3" Spacing="4" Margin="0,14,0,0">
|
||
<TextBlock Text="Abschnittsnoten dieses Schülers" FontSize="13" FontWeight="SemiBold"/>
|
||
<ItemsControl ItemsSource="{Binding Sections}">
|
||
<ItemsControl.ItemTemplate>
|
||
<DataTemplate x:DataType="vm:WizardSectionRow">
|
||
<Grid ColumnDefinitions="140,170,100,Auto,*" Margin="0,3">
|
||
<TextBlock Grid.Column="0" Text="{Binding Label}" VerticalAlignment="Center" FontSize="12"/>
|
||
<TextBlock Grid.Column="1" Text="{Binding RangeDisplay}" VerticalAlignment="Center" FontSize="11" Opacity="0.6"/>
|
||
<TextBox Grid.Column="2" Text="{Binding Value}" IsEnabled="{Binding !IsOpen}"
|
||
PlaceholderText="Note" FontSize="12"/>
|
||
<Button Grid.Column="3" Content="Speichern" Command="{Binding SaveCommand}"
|
||
IsVisible="{Binding !IsOpen}" Margin="6,0,0,0" FontSize="11" Padding="8,3"/>
|
||
<TextBlock Grid.Column="4" Text="{Binding StatusMessage}" Foreground="Green" FontSize="11"
|
||
VerticalAlignment="Center" Margin="8,0,0,0"/>
|
||
</Grid>
|
||
</DataTemplate>
|
||
</ItemsControl.ItemTemplate>
|
||
</ItemsControl>
|
||
</StackPanel>
|
||
|
||
<Grid Grid.Row="4" ColumnDefinitions="*,*" Margin="0,14,0,0">
|
||
<Border Grid.Column="0" BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
|
||
BorderThickness="1" CornerRadius="6" Padding="10" Margin="0,0,6,0">
|
||
<StackPanel Spacing="6">
|
||
<TextBlock Text="Abschnitt abschließen" FontSize="12" FontWeight="SemiBold"/>
|
||
<Grid ColumnDefinitions="*,100" ColumnSpacing="6">
|
||
<TextBox Grid.Column="0" Text="{Binding NewSectionLabel}" PlaceholderText="Bezeichnung"/>
|
||
<TextBox Grid.Column="1" Text="{Binding NewSectionEndDateText}" PlaceholderText="TT.MM.JJJJ"/>
|
||
</Grid>
|
||
<TextBlock Text="{Binding SectionValidationMessage}" Foreground="Red" FontSize="11"
|
||
IsVisible="{Binding SectionValidationMessage, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
|
||
<Button Content="Abschnitt für alle Schüler abschließen" Command="{Binding CloseSectionCommand}"
|
||
HorizontalAlignment="Stretch"/>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<Border Grid.Column="1" BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
|
||
BorderThickness="1" CornerRadius="6" Padding="10" Margin="6,0,0,0">
|
||
<StackPanel Spacing="6">
|
||
<TextBlock Text="Halbjahresnote aus Abschnitten" FontSize="12" FontWeight="SemiBold"/>
|
||
<ComboBox ItemsSource="{Binding RollupPeriodOptions}" SelectedItem="{Binding RollupPeriod}"
|
||
HorizontalAlignment="Stretch"/>
|
||
<TextBlock Text="{Binding RollupStatusMessage}" Foreground="Green" FontSize="11"
|
||
IsVisible="{Binding RollupStatusMessage, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
|
||
<Button Content="Für alle Schüler übernehmen" Command="{Binding ApplyRollupCommand}"
|
||
HorizontalAlignment="Stretch"/>
|
||
</StackPanel>
|
||
</Border>
|
||
</Grid>
|
||
|
||
<Button Grid.Row="5" Content="Schließen" HorizontalAlignment="Right" Margin="0,14,0,0" Click="OnClose"/>
|
||
</Grid>
|
||
</Window>
|