Files
LehrerApp/LehrerApp.Desktop/Views/Students/StudentImportDialog.axaml
T

110 lines
6.0 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:LehrerApp.Desktop.ViewModels.Students"
x:Class="LehrerApp.Desktop.Views.Students.StudentImportDialog"
x:DataType="vm:StudentImportDialogViewModel"
Title="Schüler importieren"
Width="820" Height="760" MinWidth="660" MinHeight="580"
CanResize="True" WindowStartupLocation="CenterOwner">
<Grid RowDefinitions="Auto,*,Auto" Margin="24,20">
<StackPanel Grid.Row="0" Spacing="9">
<TextBlock Text="Schülerimport prüfen" Classes="dialogtitle"/>
<TextBlock Text="{Binding FileName}" FontWeight="SemiBold"/>
<TextBlock Text="{Binding FormatName}" FontSize="12" Opacity="0.65"/>
<Border Background="#143B82F6" CornerRadius="6" Padding="12,10">
<StackPanel Spacing="4">
<TextBlock Text="{Binding Summary}" FontWeight="SemiBold"/>
<TextBlock Text="{Binding GroupSummary}" FontSize="12" TextWrapping="Wrap"/>
<TextBlock Text="Vorhandene Werte bleiben erhalten; nur leere Stammdaten werden ergänzt."
FontSize="12" Opacity="0.75" TextWrapping="Wrap"/>
</StackPanel>
</Border>
<ScrollViewer MaxHeight="130" IsVisible="{Binding HasMessages}">
<ItemsControl ItemsSource="{Binding Messages}">
<ItemsControl.ItemTemplate>
<DataTemplate x:DataType="vm:StudentImportMessageItem">
<TextBlock Text="{Binding Display}" Foreground="{Binding Foreground}"
TextWrapping="Wrap" FontSize="12" Margin="0,1"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</StackPanel>
<Grid Grid.Row="1" RowDefinitions="Auto,*" Margin="0,16,0,0">
<Grid Grid.Row="0" ColumnDefinitions="*,Auto" Margin="0,0,0,8"
IsVisible="{Binding HasConflicts}">
<TextBlock Grid.Column="0" Text="Entscheidungen" FontSize="15" FontWeight="SemiBold"
VerticalAlignment="Center"/>
<Button Grid.Column="1" Content="Übernehmen für alle" Click="OnUseExistingForAll"
IsVisible="{Binding CanUseExistingForAll}"
ToolTip.Tip="Wählt bei allen eindeutigen Treffern den jeweils vorhandenen Schüler aus."/>
</Grid>
<Border Grid.Row="1" IsVisible="{Binding IsReadyWithoutConflicts}"
Background="#1422A06B" CornerRadius="6" Padding="14"
VerticalAlignment="Top">
<TextBlock Text="Keine Konflikte der Import kann angewendet werden."
Foreground="#16845B" FontWeight="SemiBold"/>
</Border>
<Border Grid.Row="1" IsVisible="{Binding HasBlockingErrors}"
Background="#14C62828" CornerRadius="6" Padding="14"
VerticalAlignment="Top">
<TextBlock Text="Die Datei enthält Fehler. Bitte korrigiere sie und starte den Import erneut."
Foreground="#C62828" FontWeight="SemiBold" TextWrapping="Wrap"/>
</Border>
<ScrollViewer Grid.Row="1" IsVisible="{Binding HasConflicts}">
<ItemsControl ItemsSource="{Binding Conflicts}">
<ItemsControl.ItemTemplate>
<DataTemplate x:DataType="vm:StudentImportConflictItem">
<Border BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
BorderThickness="1" CornerRadius="6" Padding="12" Margin="0,0,0,10">
<StackPanel Spacing="7">
<Grid ColumnDefinitions="*,Auto">
<TextBlock Grid.Column="0" Text="{Binding Title}" FontWeight="SemiBold"/>
<TextBlock Grid.Column="1" Text="{Binding SourceReference}" FontSize="11" Opacity="0.55"/>
</Grid>
<TextBlock Text="{Binding Description}" TextWrapping="Wrap" FontSize="12" Opacity="0.75"/>
<Grid ColumnDefinitions="100,*" RowDefinitions="Auto,Auto">
<TextBlock Grid.Row="0" Grid.Column="0" Text="Importiert:" FontSize="12" Opacity="0.6"/>
<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding ImportedValue}" TextWrapping="Wrap" FontSize="12"/>
<TextBlock Grid.Row="1" Grid.Column="0" Text="Vorhanden:" FontSize="12" Opacity="0.6"
IsVisible="{Binding ExistingValue, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
<TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding ExistingValue}" TextWrapping="Wrap" FontSize="12"/>
</Grid>
<ComboBox ItemsSource="{Binding Options}" SelectedItem="{Binding SelectedOption}"
HorizontalAlignment="Stretch">
<ComboBox.ItemTemplate>
<DataTemplate x:DataType="vm:StudentImportConflictOptionItem">
<StackPanel Spacing="2">
<TextBlock Text="{Binding Label}"/>
<TextBlock Text="{Binding Description}" FontSize="11" Opacity="0.6"
TextWrapping="Wrap"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</StackPanel>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</Grid>
<StackPanel Grid.Row="2" Spacing="10" Margin="0,14,0,0">
<TextBlock Text="{Binding Error}" Foreground="#C62828" TextWrapping="Wrap"
IsVisible="{Binding Error, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
<Grid ColumnDefinitions="*,10,*">
<Button Grid.Column="0" Content="Abbrechen" HorizontalAlignment="Stretch" Click="OnCancel"/>
<Button Grid.Column="2" Content="Import anwenden" HorizontalAlignment="Stretch"
IsEnabled="{Binding CanApply}" Click="OnApply"/>
</Grid>
</StackPanel>
</Grid>
</Window>