Modernize customer panel UI and add agent workflow rules

This commit is contained in:
Meik
2026-03-05 10:17:33 +01:00
parent 4013fa8e32
commit d954f26686
16 changed files with 581 additions and 309 deletions

View File

@@ -9,14 +9,21 @@
mc:Ignorable="d"
d:DesignWidth="320"
FontSize="12"
FontFamily="Arial"
FontFamily="Segoe UI"
Cursor="Hand"
>
<UserControl.Resources>
<BooleanToVisibilityConverter x:Key="BoolToVis" />
</UserControl.Resources>
<Border BorderThickness="1.5" x:Name="HighlightIncidentBorder" CornerRadius="1" MouseEnter="OnIncidentMouseEnter" MouseLeave="OnIncidentMouseLeave">
<Grid Background="White" Height="auto">
<Border BorderThickness="1"
x:Name="HighlightIncidentBorder"
BorderBrush="{DynamicResource cardBorderColor}"
Background="{DynamicResource cardBackgroundColor}"
CornerRadius="12"
MouseEnter="OnIncidentMouseEnter"
MouseLeave="OnIncidentMouseLeave">
<Grid Background="Transparent"
Height="auto">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
@@ -29,24 +36,24 @@
</Grid.ColumnDefinitions>
<DockPanel Margin="-10,0,0,0">
<Image Margin="5,0,5,0" Source="pack://application:,,,/Resources/StateOverlays/OverlayNewContentButton.png" Panel.ZIndex="18" Stretch="None" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding Path=IsUnread, Converter={StaticResource BoolToVis}}" x:Name="signal" Width="15px" Cursor="Hand" ToolTip="{x:Static resx:Resources.removeMarkup}"/>
<TextBlock x:Name="txtTicketType" Margin="5,0,0,0" Grid.Column="0" HorizontalAlignment="Left" Text="{Binding Path=TicketType,FallbackValue='Störung'}" FontStyle="Italic" Width="95"></TextBlock>
<TextBlock x:Name="txtTicketType" Margin="5,0,0,0" Grid.Column="0" HorizontalAlignment="Left" Text="{Binding Path=TicketType,FallbackValue='Störung'}" FontStyle="Italic" Foreground="{DynamicResource subtleTextColor}" Width="95"></TextBlock>
</DockPanel>
<DockPanel Grid.Column="1" Margin="10,0,0,0">
<TextBlock x:Name="txtState" HorizontalAlignment="Center" Text="{Binding Path=State, FallbackValue='State'}" FontStyle="Italic"></TextBlock>
<TextBlock x:Name="txtState" HorizontalAlignment="Center" Text="{Binding Path=State, FallbackValue='State'}" FontStyle="Italic" Foreground="{DynamicResource subtleTextColor}"></TextBlock>
<Grid Grid.Column="1" HorizontalAlignment="Right" Margin="0,0,6,0" Width="26" x:Name="sortByState" Visibility="Collapsed">
<TextBlock Text="&#11206;" Margin="12,0,0,0" x:Name="descState" FontSize="14" Tag="5" PreviewMouseDown="orderBy_PreviewMouseDown" Cursor="Hand" />
<TextBlock Text="&#11205;" x:Name="ascState" FontSize="14" Tag="4" Margin="0,0,10,0" PreviewMouseDown="orderBy_PreviewMouseDown" Cursor="Hand" />
</Grid>
</DockPanel>
<TextBlock x:Name="txtID" Grid.Column="2" HorizontalAlignment="Right" Cursor="Hand" TextDecorations="Underline" Foreground="#1E72C7" ToolTip="{x:Static resx:Resources.CallTicketDetails}" Text="{Binding Path=TicketNumber, FallbackValue='TCK0004'}" Margin="0,0,22,0"></TextBlock>
<TextBlock x:Name="txtID" Grid.Column="2" HorizontalAlignment="Right" Cursor="Hand" TextDecorations="Underline" Foreground="{DynamicResource accentColor}" ToolTip="{x:Static resx:Resources.CallTicketDetails}" Text="{Binding Path=TicketNumber, FallbackValue='TCK0004'}" Margin="0,0,22,0"></TextBlock>
<Grid Grid.Column="2" HorizontalAlignment="Right" Width="25" x:Name="sortByTicketNumber" Visibility="Collapsed" Margin="0,0,-3,0">
<TextBlock Text="&#11206;" Margin="12,0,0,0" x:Name="descTicketnumber" FontSize="14" Tag="1" PreviewMouseDown="orderBy_PreviewMouseDown" Cursor="Hand" />
<TextBlock Text="&#11205;" x:Name="ascTicketnumber" FontSize="14" Margin="0,0,13,0" Tag="0" PreviewMouseDown="orderBy_PreviewMouseDown" Cursor="Hand" />
</Grid>
</Grid>
<TextBlock x:Name="txtContent" Grid.Row="1" VerticalAlignment="Top" Margin="8,12,5,24" FontWeight="Bold" TextWrapping="Wrap" Text="{Binding Path=Subject,FallbackValue='test Ticket'}"></TextBlock>
<TextBlock x:Name="txtCreatedDate" Grid.Row="1" VerticalAlignment="Bottom" HorizontalAlignment="Right" Text="{Binding Path=CreatedDate, StringFormat={}{0:dd.MM.yyyy HH:mm}, FallbackValue='Datum'}" FontStyle="Italic" Width="100" Margin="0,32,27,6"></TextBlock>
<TextBlock Visibility="{Binding Path=IsUnread, Converter={StaticResource BoolToVis}}" x:Name="txtLastAction" Grid.Row="1" HorizontalAlignment="Right" FontStyle="Italic" Width="165" Margin="0,32,145,4" Text="{Binding Path=LastJournalEntryActionText,FallbackValue='test Ticket'}"></TextBlock>
<TextBlock x:Name="txtContent" Grid.Row="1" VerticalAlignment="Top" Margin="8,12,5,24" FontWeight="Bold" Foreground="{DynamicResource sectionTitleColor}" TextWrapping="Wrap" Text="{Binding Path=Subject,FallbackValue='test Ticket'}"></TextBlock>
<TextBlock x:Name="txtCreatedDate" Grid.Row="1" VerticalAlignment="Bottom" HorizontalAlignment="Right" Text="{Binding Path=CreatedDate, StringFormat={}{0:dd.MM.yyyy HH:mm}, FallbackValue='Datum'}" FontStyle="Italic" Foreground="{DynamicResource subtleTextColor}" Width="100" Margin="0,32,27,6"></TextBlock>
<TextBlock Visibility="{Binding Path=IsUnread, Converter={StaticResource BoolToVis}}" x:Name="txtLastAction" Grid.Row="1" HorizontalAlignment="Right" FontStyle="Italic" Foreground="{DynamicResource subtleTextColor}" Width="165" Margin="0,32,145,4" Text="{Binding Path=LastJournalEntryActionText,FallbackValue='test Ticket'}"></TextBlock>
<Grid HorizontalAlignment="Right" Width="25" Grid.Row="1" x:Name="sortByCreatedDate" Visibility="Collapsed" VerticalAlignment="Bottom" Height="16" Margin="0,0,0,4">
<TextBlock Text="&#11206;" Margin="12,0,0,0" x:Name="descCreatedDate" FontSize="14" PreviewMouseDown="orderBy_PreviewMouseDown" Cursor="Hand" Tag="3"/>
<TextBlock Text="&#11205;" x:Name="ascCreatedDate" Tag="2" FontSize="14" Margin="0,0,13,0" PreviewMouseDown="orderBy_PreviewMouseDown" Cursor="Hand" />