This commit is contained in:
2026-07-30 13:55:20 +02:00
parent e143802b4c
commit c87d7043ef
5 changed files with 29 additions and 2 deletions

View File

@@ -436,11 +436,12 @@
</Style>
</StackPanel.Style>
<!-- Titelzeile: Promptbaustein-Titel + Ausklapp-Button -->
<!-- Titelzeile: Promptbaustein-Titel + Hilfe-Link + Ausklapp-Button -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<TextBlock
Padding="12,8,4,8"
@@ -450,9 +451,21 @@
Foreground="#FF888888"
Text="{Binding HiddenMessageText}"
TextWrapping="Wrap" />
<!-- Hilfe-Link (i) für Ownsoft-Promptbausteine mit hinterlegtem OwnsoftRefLink -->
<TextBlock
Grid.Column="1"
Margin="0"
Padding="0"
VerticalAlignment="Center"
ToolTip="Hilfe zum Promptbaustein öffnen"
Visibility="{Binding IsInfoVisible, Converter={StaticResource BoolVisibilityConverter}}">
<Hyperlink NavigateUri="{Binding OwnsoftRefLink}">
(i)
</Hyperlink>
</TextBlock>
<ToggleButton
x:Name="btnTogglePrompt"
Grid.Column="1"
Grid.Column="2"
Margin="4,4,8,4"
Padding="6,2,6,2"
VerticalAlignment="Center"

View File

@@ -313,6 +313,7 @@
VerticalAlignment="Stretch"
Background="Transparent"
BorderThickness="0"
Hyperlink.RequestNavigate="Hyperlink_RequestNavigate"
ItemTemplateSelector="{StaticResource AiConversationMessageTemplateSelector}"
ItemsSource="{Binding ListVM.SelectedVM.Messages.VMList, UpdateSourceTrigger=PropertyChanged}"
ScrollViewer.CanContentScroll="False"
@@ -599,6 +600,7 @@
Padding="3"
Background="Transparent"
BorderThickness="0"
Hyperlink.RequestNavigate="Hyperlink_RequestNavigate"
ItemTemplateSelector="{StaticResource AiConversationCloneMessageTemplateSelector}"
ItemsSource="{Binding ListVM.SelectedVM.Messages.VMList, UpdateSourceTrigger=PropertyChanged}"
ScrollViewer.CanContentScroll="False"

View File

@@ -63,6 +63,12 @@ namespace BeWo.ViewModel
/// <summary>Prompt-Text des verwendeten Promptbausteins (nur befüllt, wenn ShowPrompt true).</summary>
public string UsedPromptbausteinContent => DataContract.UsedPromptbausteinContent;
/// <summary>Hilfe-Link (OwnsoftRefLink) des verwendeten Ownsoft-Promptbausteins, sonst null.</summary>
public string OwnsoftRefLink => DataContract.OwnsoftRefLink;
/// <summary>Steuert, ob der (i)-Hilfe-Link neben der Nachricht angezeigt wird (vgl. AiPromptbausteinPromptVM.IsInfoVisible).</summary>
public bool IsInfoVisible => !string.IsNullOrWhiteSpace(OwnsoftRefLink);
/// <summary>Schrittnummer innerhalb der Routine (0-basiert), sonst null.</summary>
public int? StepCount => DataContract.StepCount;

View File

@@ -35,6 +35,10 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.ShowPrompt = promptbaustein != null && promptbaustein.ShowPrompt;
// Prompt-Inhalt nur ausliefern, wenn sichtbar (sonst "Versteckt").
pDataContract.UsedPromptbausteinContent = pDataContract.ShowPrompt ? promptbaustein.Prompt : null;
// Hilfe-Link nur für Ownsoft-Promptbausteine mit hinterlegtem Link (vgl. AiPromptbausteinPromptVM.IsInfoVisible).
pDataContract.OwnsoftRefLink = promptbaustein != null && promptbaustein.IsOwnsoftPrompt && !string.IsNullOrWhiteSpace(promptbaustein.OwnsoftRefLink)
? promptbaustein.OwnsoftRefLink
: null;
pDataContract.Message = pDataContract.ShowMessage ? pEntity.Message : null;

View File

@@ -23,6 +23,8 @@ namespace BS.Shared.DataContracts.Feature.AI
[DataMember] public bool ShowPrompt { get; set; }
/// <summary>Prompt-Text des verwendeten Promptbausteins. Nur befüllt, wenn ShowPrompt true ist (sonst null / "Versteckt").</summary>
[DataMember] public string UsedPromptbausteinContent { get; set; }
/// <summary>Hilfe-Link (OwnsoftRefLink) des verwendeten Ownsoft-Promptbausteins. Nur befüllt, wenn es ein Ownsoft-Promptbaustein mit hinterlegtem Link ist (sonst null).</summary>
[DataMember] public string OwnsoftRefLink { get; set; }
/// <summary>Schrittnummer (0-basiert) innerhalb der Routine, falls die Conversation innerhalb einer Routine ausgeführt wurde (sonst null).</summary>
[DataMember] public int? StepCount { get; set; }
}