83 lines
2.5 KiB
C#
83 lines
2.5 KiB
C#
using BeWo.ServiceProxy;
|
|
using BeWo.View.Detail.AI;
|
|
using BeWo.ViewModel;
|
|
using BeWo.ViewModel.Controls.AI;
|
|
using BeWo.ViewModel.View.AI;
|
|
using BS.Shared;
|
|
using BS.Shared.DataContracts.Feature.AI;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Data;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Navigation;
|
|
using System.Windows.Shapes;
|
|
|
|
namespace BeWo.View.Controls.AI
|
|
{
|
|
/// <summary>
|
|
/// Interaktionslogik für AiGenericConversationButton.xaml
|
|
/// </summary>
|
|
public partial class AiChatButton : UserControl
|
|
{
|
|
public AiChatButtonViewModel ViewModel => DataContext as AiChatButtonViewModel;
|
|
|
|
public AiChatButton()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
|
{
|
|
if (ViewModel.IsEnabled)
|
|
{
|
|
var actionType = ViewModel.ActionType;
|
|
|
|
ServiceFacade.DoAiEnhancedServiceAsnyc(x => x.GetAiPromptbausteinFolder(actionType), folders => InitPromptbausteine(actionType, folders),
|
|
null,
|
|
true,
|
|
this);
|
|
}
|
|
}
|
|
|
|
private void InitPromptbausteine(AiActionType actionType, List<AiPromptbausteinFolderDC> folders)
|
|
{
|
|
VMFactory.CreateAiPromptbausteinFolderListVM(folders, (listvm) =>
|
|
{
|
|
var viewmodel = new AiPromptbausteinSelectionComplexViewModel(actionType, listvm);
|
|
viewmodel.ItemAccepted += ItemAccepted;
|
|
viewmodel.RequestClose += (s, e) => viewmodel.ResetSelection();
|
|
ViewModel.AllPromptsViewModel = viewmodel;
|
|
|
|
var viewmodel2 = new AiPromptbausteinSelectionComplexViewModel(actionType, listvm, true);
|
|
viewmodel2.ItemAccepted += ItemAccepted;
|
|
popup_promptbaustein_favoriten.Closed += (s, e) => viewmodel2.ResetSelection();
|
|
var view2 = new AiPromptbausteinComplexSelectionFavoritenView(viewmodel2);
|
|
viewmodel2.SelectedFolder = viewmodel2.Folders.VMList[0];
|
|
view2.Padding = new Thickness(3);
|
|
view2.Background = FindResource("ObjectEditBackgroundBrush") as System.Windows.Media.Brush;
|
|
border_promptbaustein_favoriten.Child = view2;
|
|
|
|
viewmodel.VMListReloaded += (s, e) => viewmodel2.ReloadVMList(false);
|
|
});
|
|
}
|
|
|
|
private void ItemAccepted(object sender, AbstractBaseVM e)
|
|
{
|
|
ViewModel.ItemAccepted(e);
|
|
}
|
|
|
|
private void btnOpenAi5_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
|
|
{
|
|
ViewModel.OpenFavoritePromptsPopupCommand.Execute(null);
|
|
}
|
|
}
|
|
}
|