380 lines
19 KiB
XML
380 lines
19 KiB
XML
<ResourceDictionary
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:ai="clr-namespace:BeWo.View.Detail.AI"
|
|
xmlns:dxwui="http://schemas.devexpress.com/winfx/2008/xaml/windowsui"
|
|
xmlns:templateselectors="clr-namespace:BeWo.View.TemplateSelectors"
|
|
xmlns:view="clr-namespace:BeWo.View"
|
|
xmlns:viewmodel="clr-namespace:BeWo.ViewModel">
|
|
|
|
<ResourceDictionary.MergedDictionaries>
|
|
<ResourceDictionary Source="..\DataTemplates\ControlTemplates.xaml" />
|
|
</ResourceDictionary.MergedDictionaries>
|
|
|
|
<Style x:Key="MessageTextBoxStyle" TargetType="{x:Type TextBox}">
|
|
<Setter Property="Margin" Value="0" />
|
|
<Setter Property="Height" Value="auto" />
|
|
<Setter Property="Padding" Value="3" />
|
|
<Setter Property="Background" Value="Transparent" />
|
|
<Setter Property="Foreground" Value="{DynamicResource TextForegroundPrimary}" />
|
|
<Setter Property="BorderThickness" Value="0" />
|
|
<Setter Property="IsReadOnly" Value="True" />
|
|
<Setter Property="TextWrapping" Value="Wrap" />
|
|
<Setter Property="Text" Value="{Binding Message, Converter={StaticResource NewlineConverter}}" />
|
|
<Setter Property="FontSize" Value="14" />
|
|
</Style>
|
|
|
|
<Style x:Key="TextBlockStyle" TargetType="{x:Type TextBlock}" />
|
|
|
|
<SolidColorBrush x:Key="TextForegroundPrimary" Color="{StaticResource LightTextPrimary}" />
|
|
<SolidColorBrush x:Key="TextForegroundSecondary" Color="{StaticResource LightTextSecondary}" />
|
|
|
|
<SolidColorBrush x:Key="TextForegroundDarkPrimary" Color="{StaticResource DarkTextPrimary}" />
|
|
<SolidColorBrush x:Key="TextForegroundDarkSecondary" Color="{StaticResource DarkTextSecondary}" />
|
|
|
|
<Style x:Key="ModuleAiControlDefaultStyle" TargetType="{x:Type GroupBox}">
|
|
<Style.Resources>
|
|
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="{StaticResource ModuleAiControlDefaultNavigationHeaderColor}" />
|
|
<LinearGradientBrush x:Key="NavigationContentBrush" StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="{StaticResource ModuleAiControlDefaultNavigationContentColor}" />
|
|
<GradientStop Offset="1" Color="{StaticResource ModuleAiControlDefaultNavigationContentColor2}" />
|
|
</LinearGradientBrush>
|
|
<SolidColorBrush x:Key="TextForegroundPrimary" Color="{StaticResource LightTextPrimary}" />
|
|
<SolidColorBrush x:Key="TextForegroundSecondary" Color="{StaticResource LightTextSecondary}" />
|
|
</Style.Resources>
|
|
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate2}" />
|
|
</Style>
|
|
|
|
<Style
|
|
x:Key="ModuleAiControlZeiterfassungStyle"
|
|
BasedOn="{StaticResource ModuleAiControlDefaultStyle}"
|
|
TargetType="{x:Type GroupBox}">
|
|
<Style.Resources>
|
|
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="{StaticResource ModuleAiControlZeiterfassungNavigationHeaderColor}" />
|
|
<LinearGradientBrush x:Key="NavigationContentBrush" StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="{StaticResource ModuleAiControlZeiterfassungNavigationContentColor}" />
|
|
<GradientStop Offset="1" Color="{StaticResource ModuleAiControlZeiterfassungNavigationContentColor2}" />
|
|
</LinearGradientBrush>
|
|
<SolidColorBrush x:Key="TextForegroundPrimary" Color="{StaticResource ModuleAiControlZeiterfassungNavigationContentTextPrimary}" />
|
|
<SolidColorBrush x:Key="TextForegroundSecondary" Color="{StaticResource ModuleAiControlZeiterfassungNavigationContentTextSecondary}" />
|
|
</Style.Resources>
|
|
</Style>
|
|
|
|
<Style
|
|
x:Key="ModuleAiControlSupportConceptStyle"
|
|
BasedOn="{StaticResource ModuleAiControlDefaultStyle}"
|
|
TargetType="{x:Type GroupBox}">
|
|
<Style.Resources>
|
|
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="{StaticResource ModuleAiControlSupportConceptNavigationHeaderColor}" />
|
|
<LinearGradientBrush x:Key="NavigationContentBrush" StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="{StaticResource ModuleAiControlSupportConceptNavigationContentColor}" />
|
|
<GradientStop Offset="1" Color="{StaticResource ModuleAiControlSupportConceptNavigationContentColor2}" />
|
|
</LinearGradientBrush>
|
|
</Style.Resources>
|
|
</Style>
|
|
|
|
<Style
|
|
x:Key="ModuleAiControlCustomerStyle"
|
|
BasedOn="{StaticResource ModuleAiControlDefaultStyle}"
|
|
TargetType="{x:Type GroupBox}">
|
|
<Style.Resources>
|
|
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="{StaticResource ModuleAiControlCustomerNavigationHeaderColor}" />
|
|
<LinearGradientBrush x:Key="NavigationContentBrush" StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="{StaticResource ModuleAiControlCustomerNavigationContentColor}" />
|
|
<GradientStop Offset="1" Color="{StaticResource ModuleAiControlCustomerNavigationContentColor2}" />
|
|
</LinearGradientBrush>
|
|
</Style.Resources>
|
|
</Style>
|
|
|
|
<Style
|
|
x:Key="ModuleAiControlPersonStyle"
|
|
BasedOn="{StaticResource ModuleAiControlDefaultStyle}"
|
|
TargetType="{x:Type GroupBox}">
|
|
<Style.Resources>
|
|
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="{StaticResource ModuleAiControlPersonNavigationHeaderColor}" />
|
|
<LinearGradientBrush x:Key="NavigationContentBrush" StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="{StaticResource ModuleAiControlPersonNavigationContentColor}" />
|
|
<GradientStop Offset="1" Color="{StaticResource ModuleAiControlPersonNavigationContentColor2}" />
|
|
</LinearGradientBrush>
|
|
</Style.Resources>
|
|
</Style>
|
|
|
|
<Style
|
|
x:Key="ModuleAiControlEmployeeStyle"
|
|
BasedOn="{StaticResource ModuleAiControlDefaultStyle}"
|
|
TargetType="{x:Type GroupBox}">
|
|
<Style.Resources>
|
|
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="{StaticResource ModuleAiControlEmployeeNavigationHeaderColor}" />
|
|
<LinearGradientBrush x:Key="NavigationContentBrush" StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="{StaticResource ModuleAiControlEmployeeNavigationContentColor}" />
|
|
<GradientStop Offset="1" Color="{StaticResource ModuleAiControlEmployeeNavigationContentColor2}" />
|
|
</LinearGradientBrush>
|
|
</Style.Resources>
|
|
</Style>
|
|
|
|
<Style
|
|
x:Key="ModuleAiControlOrganisationStyle"
|
|
BasedOn="{StaticResource ModuleAiControlDefaultStyle}"
|
|
TargetType="{x:Type GroupBox}">
|
|
<Style.Resources>
|
|
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="{StaticResource ModuleAiControlOrganisationNavigationHeaderColor}" />
|
|
<LinearGradientBrush x:Key="NavigationContentBrush" StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="{StaticResource ModuleAiControlOrganisationNavigationContentColor}" />
|
|
<GradientStop Offset="1" Color="{StaticResource ModuleAiControlOrganisationNavigationContentColor2}" />
|
|
</LinearGradientBrush>
|
|
<SolidColorBrush x:Key="TextForegroundPrimary" Color="{StaticResource BrightTextPrimary}" />
|
|
<SolidColorBrush x:Key="TextForegroundSecondary" Color="{StaticResource BrightTextSecondary}" />
|
|
</Style.Resources>
|
|
</Style>
|
|
|
|
<!-- OLD -->
|
|
<Style x:Key="ModuleAiNavigationStyle" TargetType="{x:Type GroupBox}">
|
|
<Style.Resources>
|
|
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="#FFC64605" />
|
|
<LinearGradientBrush x:Key="NavigationContentBrush" StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="#FFFFC48A" />
|
|
<GradientStop Offset="1" Color="#FFFF7830" />
|
|
</LinearGradientBrush>
|
|
</Style.Resources>
|
|
|
|
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate2}" />
|
|
</Style>
|
|
|
|
<DataTemplate x:Key="ConversationHamburgerMenuItemTemplate" DataType="{x:Type viewmodel:AiConversationVM}">
|
|
<dxwui:HamburgerMenuNavigationButton Content="{Binding Displayname}" />
|
|
</DataTemplate>
|
|
|
|
|
|
|
|
<!-- Assistent Message Control -->
|
|
<DataTemplate x:Key="AssistentMessageTemplate">
|
|
<Grid
|
|
Margin="0,0,60,0"
|
|
HorizontalAlignment="Left"
|
|
ContextMenuService.IsEnabled="{Binding DataContext.AssistentCommands, Converter={StaticResource CollectionCountToBoolConverter}, RelativeSource={RelativeSource AncestorType=ItemsControl}}"
|
|
Tag="{Binding DataContext, RelativeSource={RelativeSource AncestorType=ItemsControl}}">
|
|
<Grid.ContextMenu>
|
|
<ContextMenu ItemsSource="{Binding PlacementTarget.Tag.AssistentCommands, RelativeSource={RelativeSource Self}}">
|
|
<ContextMenu.ItemContainerStyle>
|
|
<Style TargetType="MenuItem">
|
|
<Setter Property="Command" Value="{Binding Command}" />
|
|
<Setter Property="CommandParameter" Value="{Binding Path=PlacementTarget.DataContext, RelativeSource={RelativeSource AncestorType=ContextMenu}}" />
|
|
</Style>
|
|
</ContextMenu.ItemContainerStyle>
|
|
<ContextMenu.ItemTemplate>
|
|
<DataTemplate>
|
|
<TextBlock
|
|
Margin="3"
|
|
VerticalAlignment="Center"
|
|
Text="{Binding Name}" />
|
|
</DataTemplate>
|
|
</ContextMenu.ItemTemplate>
|
|
</ContextMenu>
|
|
</Grid.ContextMenu>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="auto" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Border
|
|
Width="auto"
|
|
Margin="0,0,3,0"
|
|
Padding="4,4,5,5"
|
|
VerticalAlignment="Top"
|
|
Background="#DEFFFFFF"
|
|
BorderBrush="Black"
|
|
BorderThickness="0"
|
|
CornerRadius="10, 10, 10, 10">
|
|
<Image
|
|
Width="24"
|
|
Height="24"
|
|
Source="..\..\Ressources\Icons\bewoplaner_haus.png" />
|
|
</Border>
|
|
<Border
|
|
Grid.Column="1"
|
|
Padding="8,4,8,4"
|
|
Background="#DEFFFFFF"
|
|
BorderBrush="Black"
|
|
BorderThickness="0"
|
|
CornerRadius="0, 10, 10, 10">
|
|
<Grid Margin="4">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="auto" />
|
|
<ColumnDefinition Width="auto" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="auto" />
|
|
<RowDefinition Height="auto" />
|
|
</Grid.RowDefinitions>
|
|
<!--<Border BorderThickness="1" Grid.ColumnSpan="1" Grid.RowSpan="1" BorderBrush="Black"></Border>-->
|
|
<TextBlock
|
|
Grid.Row="0"
|
|
Margin="0,0,0,4"
|
|
Padding="0"
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
FontWeight="Medium"
|
|
Foreground="{DynamicResource TextForegroundSecondary}"
|
|
Text="{Binding DurationSec, StringFormat=Nachgedacht für {0} Sekunden}">
|
|
<TextBlock.ToolTip>
|
|
<Grid Margin="0,4,0,4">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="auto" />
|
|
<RowDefinition Height="auto" />
|
|
</Grid.RowDefinitions>
|
|
<TextBlock
|
|
Margin="0"
|
|
Padding="0"
|
|
FontSize="12"
|
|
FontWeight="Normal"
|
|
Foreground="{DynamicResource TextForegroundPrimary}"
|
|
Style="{StaticResource TextBlockStyle}"
|
|
Text="{Binding ModelName, StringFormat=Modell: {0}}" />
|
|
<TextBlock
|
|
Grid.Row="1"
|
|
Padding="0"
|
|
VerticalAlignment="Bottom"
|
|
FontSize="12"
|
|
FontWeight="Normal"
|
|
Foreground="{DynamicResource TextForegroundPrimary}"
|
|
Style="{StaticResource TextBlockStyle}"
|
|
Text="{Binding Created, StringFormat=Datum/Uhrzeit: {0:dd.MM.yyyy HH:mm:ss}}" />
|
|
</Grid>
|
|
</TextBlock.ToolTip>
|
|
</TextBlock>
|
|
<TextBlock
|
|
Grid.Column="1"
|
|
Margin="9,0,0,3"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Top"
|
|
FontSize="12"
|
|
FontWeight="Bold"
|
|
Text="⋮"
|
|
Visibility="{Binding DataContext.AssistentCommands, RelativeSource={RelativeSource AncestorType=ItemsControl}, Converter={StaticResource CollectionCountToVisibilityConverter}}" />
|
|
<!--<TextBlock
|
|
Grid.Row="1"
|
|
Grid.ColumnSpan="2"
|
|
Margin="0,4,0,0"
|
|
Padding="0"
|
|
FontSize="11"
|
|
FontWeight="Medium"
|
|
Foreground="#888888"
|
|
Style="{StaticResource TextBlockStyle}"
|
|
Text="{Binding DurationSec, StringFormat=Nachgedacht für {0} Sekunden}" />-->
|
|
<TextBox
|
|
Grid.Row="1"
|
|
Grid.ColumnSpan="3"
|
|
Margin="0,4,0,0"
|
|
Padding="-3"
|
|
VerticalAlignment="Center"
|
|
Style="{StaticResource MessageTextBoxStyle}" />
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<!-- System Message Control -->
|
|
<DataTemplate x:Key="SystemMessageTemplate">
|
|
<Border
|
|
Width="auto"
|
|
Margin="60,0,60,0"
|
|
HorizontalAlignment="Center"
|
|
Background="#DEFFFFFF"
|
|
BorderBrush="Black"
|
|
BorderThickness="1"
|
|
CornerRadius="0">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="auto" />
|
|
<RowDefinition Height="auto" />
|
|
<RowDefinition Height="auto" />
|
|
</Grid.RowDefinitions>
|
|
<TextBox
|
|
Padding="8"
|
|
HorizontalAlignment="Center"
|
|
Style="{StaticResource MessageTextBoxStyle}">
|
|
SystemPrompt
|
|
</TextBox>
|
|
<Separator Grid.Row="1" />
|
|
<TextBox
|
|
Grid.Row="2"
|
|
Padding="8"
|
|
Style="{StaticResource MessageTextBoxStyle}" />
|
|
</Grid>
|
|
</Border>
|
|
</DataTemplate>
|
|
|
|
<!-- User Message Control -->
|
|
<DataTemplate x:Key="UserMessageTemplate">
|
|
<Border
|
|
Width="auto"
|
|
Margin="60,0,0,0"
|
|
HorizontalAlignment="Right"
|
|
Background="#DEFFFFFF"
|
|
BorderBrush="Black"
|
|
BorderThickness="0"
|
|
CornerRadius="15, 15, 15, 15"
|
|
Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type view:BeWoView}}, Path=.}">
|
|
<Border.ContextMenu>
|
|
<ContextMenu>
|
|
<MenuItem
|
|
Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ContextMenu}}, Path=PlacementTarget.Tag.DataContext.SavePromptCommand}"
|
|
CommandParameter="{Binding}"
|
|
Header="Speichern" />
|
|
</ContextMenu>
|
|
</Border.ContextMenu>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="auto" />
|
|
<ColumnDefinition Width="auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<TextBox Padding="12,8,12,8" Style="{StaticResource MessageTextBoxStyle}" />
|
|
<!--<TextBlock Grid.Column="1" Text="⋮"
|
|
Margin="3,8,12,8"
|
|
VerticalAlignment="Top"
|
|
HorizontalAlignment="Left"
|
|
FontSize="12"
|
|
FontWeight="Bold"/>-->
|
|
|
|
</Grid>
|
|
</Border>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="CheckboxAssistentMessageTemplate">
|
|
<StackPanel VerticalAlignment="Center" Orientation="Horizontal">
|
|
<CheckBox
|
|
Margin="4"
|
|
VerticalAlignment="Center"
|
|
IsChecked="{Binding IsChecked, Mode=TwoWay}" />
|
|
|
|
<ContentPresenter Content="{Binding}" ContentTemplate="{StaticResource AssistentMessageTemplate}" />
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="CheckboxUserMessageTemplate">
|
|
<StackPanel VerticalAlignment="Center" Orientation="Horizontal">
|
|
<CheckBox
|
|
Margin="4"
|
|
VerticalAlignment="Center"
|
|
IsChecked="{Binding IsChecked}" />
|
|
|
|
<ContentPresenter Content="{Binding}" ContentTemplate="{StaticResource UserMessageTemplate}" />
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
|
|
<templateselectors:AiConversationMessageTemplateSelector
|
|
x:Key="AiConversationMessageTemplateSelector"
|
|
AssistentMessageTemplate="{StaticResource AssistentMessageTemplate}"
|
|
SystemMessageTemplate="{StaticResource SystemMessageTemplate}"
|
|
UserMessageTemplate="{StaticResource UserMessageTemplate}" />
|
|
|
|
<templateselectors:AiConversationMessageTemplateSelector
|
|
x:Key="AiConversationCloneMessageTemplateSelector"
|
|
AssistentMessageTemplate="{StaticResource CheckboxAssistentMessageTemplate}"
|
|
SystemMessageTemplate="{StaticResource SystemMessageTemplate}"
|
|
UserMessageTemplate="{StaticResource UserMessageTemplate}" />
|
|
</ResourceDictionary> |