mirror of
https://github.com/maker-community/ElectronBot.DotNet.git
synced 2026-10-29 05:10:45 +08:00
update chat
This commit is contained in:
@@ -4,14 +4,14 @@
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:i="using:Microsoft.Xaml.Interactivity"
|
||||
xmlns:ic="using:Microsoft.Xaml.Interactions.Core"
|
||||
xmlns:local="using:Verdure.Braincase.Copilot.Controls.Chat"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:model="using:Verdure.Braincase.Copilot.ViewModels"
|
||||
xmlns:models="using:BotSharp.Abstraction.Conversations.Models"
|
||||
xmlns:myconverters="using:Verdure.Braincase.WinUI.Common.Converters"
|
||||
mc:Ignorable="d">
|
||||
|
||||
|
||||
<local:ChatModuleControl.Resources>
|
||||
<DataTemplate x:Key="ContactListViewTemplate" x:DataType="model:ConversationViewModel">
|
||||
<Grid Padding="12,8" ColumnSpacing="8">
|
||||
@@ -29,7 +29,7 @@
|
||||
VerticalAlignment="Center"
|
||||
Foreground="{ThemeResource TextFillColorTertiaryBrush}"
|
||||
Style="{StaticResource CaptionTextBlockStyle}"
|
||||
Text="{x:Bind CreatedTime, Converter={StaticResource UtcToLocalTimeConverter}, ConverterParameter='MM-dd'}" />
|
||||
Text="{x:Bind CreatedTime, Converter={StaticResource UtcToLocalTimeConverter}, ConverterParameter='MM-dd HH:mm:ss'}" />
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<myconverters:UtcToLocalTimeConverter x:Key="UtcToLocalTimeConverter" />
|
||||
@@ -46,7 +46,8 @@
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="20"
|
||||
Text="{x:Bind ViewModel.SelectedConversation.Title, Mode=OneWay}" />
|
||||
Text="{x:Bind ViewModel.SelectedConversation.Title, Mode=OneWay}"
|
||||
TextTrimming="CharacterEllipsis" />
|
||||
<StackPanel
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Right"
|
||||
@@ -68,12 +69,26 @@
|
||||
IsItemClickEnabled="True"
|
||||
ItemClick="ConvList_ItemClick"
|
||||
ItemTemplate="{StaticResource ContactListViewTemplate}"
|
||||
ItemsSource="{x:Bind ViewModel.ConvList, Mode=OneWay}" />
|
||||
ItemsSource="{x:Bind ViewModel.ConvList, Mode=OneWay}">
|
||||
<ListView.ContextFlyout>
|
||||
<MenuFlyout>
|
||||
<MenuFlyoutItem
|
||||
x:Name="DelConv"
|
||||
x:Uid="DelConvMenu"
|
||||
Foreground="Red">
|
||||
<i:Interaction.Behaviors>
|
||||
<ic:EventTriggerBehavior EventName="Click">
|
||||
<ic:InvokeCommandAction Command="{x:Bind ViewModel.DeleteConvCommand}" CommandParameter="{x:Bind ConvList.SelectedItem, Mode=TwoWay}" />
|
||||
</ic:EventTriggerBehavior>
|
||||
</i:Interaction.Behaviors>
|
||||
</MenuFlyoutItem>
|
||||
</MenuFlyout>
|
||||
</ListView.ContextFlyout>
|
||||
</ListView>
|
||||
</StackPanel>
|
||||
</Flyout>
|
||||
</Button.Flyout>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
</Grid>
|
||||
</local:ChatModuleControl>
|
||||
|
||||
@@ -936,4 +936,7 @@
|
||||
<data name="HomeChatHeader.Description" xml:space="preserve">
|
||||
<value>请在输入框愉快的和我聊天吧!</value>
|
||||
</data>
|
||||
<data name="DelConvMenu.Text" xml:space="preserve">
|
||||
<value>Delete</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -912,4 +912,7 @@
|
||||
<data name="HomeChatHeader.Description" xml:space="preserve">
|
||||
<value>请在输入框愉快的和我聊天吧!</value>
|
||||
</data>
|
||||
<data name="DelConvMenu.Text" xml:space="preserve">
|
||||
<value>Delete</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -967,4 +967,7 @@
|
||||
<data name="HomeChatHeader.Description" xml:space="preserve">
|
||||
<value>请在输入框输入消息愉快的和我聊天吧!</value>
|
||||
</data>
|
||||
<data name="DelConvMenu.Text" xml:space="preserve">
|
||||
<value>删除</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -184,7 +184,7 @@ public partial class ChatViewModel
|
||||
SelectedConv = new ConversationViewModel(convList.FirstOrDefault() ?? new Conversation(), null, null);
|
||||
//ConversationList = new ObservableCollection<Conversation>(convList);
|
||||
|
||||
if (SelectedConv == null) return;
|
||||
if (SelectedConv == null || string.IsNullOrEmpty(SelectedConv.Id)) return;
|
||||
_conversationService.SetConversationId(SelectedConv.Id, new List<MessageState>());
|
||||
var historys = _conversationService.GetDialogHistory(fromBreakpoint: false);
|
||||
foreach (var history in historys)
|
||||
@@ -216,7 +216,13 @@ public partial class ChatViewModel
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void Delete()
|
||||
private async Task DeleteConvAsync(ConversationViewModel? conv)
|
||||
{
|
||||
if (conv != null)
|
||||
{
|
||||
ConvList.Remove(conv);
|
||||
MessageList.Clear();
|
||||
await _conversationService.DeleteConversations(new List<string> { conv.Id });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -936,4 +936,7 @@
|
||||
<data name="HomeChatHeader.Description" xml:space="preserve">
|
||||
<value>请在输入框愉快的和我聊天吧!</value>
|
||||
</data>
|
||||
<data name="DelConvMenu.Text" xml:space="preserve">
|
||||
<value>Delete</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -912,4 +912,7 @@
|
||||
<data name="HomeChatHeader.Description" xml:space="preserve">
|
||||
<value>请在输入框愉快的和我聊天吧!</value>
|
||||
</data>
|
||||
<data name="DelConvMenu.Text" xml:space="preserve">
|
||||
<value>Delete</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -967,4 +967,7 @@
|
||||
<data name="HomeChatHeader.Description" xml:space="preserve">
|
||||
<value>请在输入框输入消息愉快的和我聊天吧!</value>
|
||||
</data>
|
||||
<data name="DelConvMenu.Text" xml:space="preserve">
|
||||
<value>删除</value>
|
||||
</data>
|
||||
</root>
|
||||
Reference in New Issue
Block a user