Geteilter Aufruf -> Nur ein Server Request

This commit is contained in:
2026-03-11 15:09:57 +01:00
parent 16c021ee73
commit b95b6a7701
4 changed files with 27 additions and 35 deletions

View File

@@ -166,25 +166,27 @@ namespace BeWo.View.Controls.AI
}
private void InitPromptbausteine(AiActionType actionType, List<AiPromptbausteinFolderDC> folders)
{
var viewmodel = new AiPromptbausteinSelectionComplexViewModel(actionType);
viewmodel.PromptAccepted += PromptAccepted;
viewmodel.InitVMList();
var view = new AiPromptbausteinComplexSelectionView(viewmodel);
view.Padding = new Thickness(3);
view.Background = FindResource("ObjectEditBackgroundBrush") as System.Windows.Media.Brush;
border_promptbaustein_al.Child = view;
VMFactory.CreateAiPromptbausteinFolderListVM(folders, (listvm) =>
{
var viewmodel = new AiPromptbausteinSelectionComplexViewModel(actionType, listvm);
viewmodel.PromptAccepted += PromptAccepted;
var view = new AiPromptbausteinComplexSelectionView(viewmodel);
view.Padding = new Thickness(3);
view.Background = FindResource("ObjectEditBackgroundBrush") as System.Windows.Media.Brush;
border_promptbaustein_al.Child = view;
var viewmodel2 = new AiPromptbausteinSelectionComplexViewModel(actionType, viewmodel.Folders);
viewmodel2.PromptAccepted += PromptAccepted;
viewmodel2.InitVMList();
var view2 = new AiPromptbausteinComplexSelectionView(viewmodel2);
view2.ReduceSelection();
view2.Padding = new Thickness(3);
view2.Background = FindResource("ObjectEditBackgroundBrush") as System.Windows.Media.Brush;
border_promptbaustein_favoriten.Child = view2;
var viewmodel2 = new AiPromptbausteinSelectionComplexViewModel(actionType, listvm);
viewmodel2.PromptAccepted += PromptAccepted;
var view2 = new AiPromptbausteinComplexSelectionView(viewmodel2);
view2.ReduceSelection();
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;
AiPromptOpenAllCommand = new DelegateCommand(AiPromptOpenAll);
AiPromptOpenFavoriteCommand = new DelegateCommand(AiPromptOpenFavorite);
AiPromptOpenAllCommand = new DelegateCommand(AiPromptOpenAll);
AiPromptOpenFavoriteCommand = new DelegateCommand(AiPromptOpenFavorite);
});
}
}
}

View File

@@ -41,7 +41,6 @@ namespace BeWo.View.Detail.AI
groupbox2.Header = "Favoriten";
Grid.SetColumn(groupbox2, 0);
Grid.SetColumnSpan(groupbox2, 3);
ViewModel.SelectedFolderId = 0;
}
private void treeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)

View File

@@ -949,14 +949,16 @@ namespace BeWo.ViewModel
{
ServiceFacade.DoAiEnhancedServiceAsnyc(
req => req.GetAiPromptbausteinFolder(aiActionType),
res =>
{
var listvm = new AiPromptbausteinFolderListVM(res);
res => CreateAiPromptbausteinFolderListVM(res, get_viewmodel));
}
reloadFavoriten(listvm);
internal static void CreateAiPromptbausteinFolderListVM(List<AiPromptbausteinFolderDC> res, Action<AiPromptbausteinFolderListVM> get_viewmodel)
{
var listvm = new AiPromptbausteinFolderListVM(res);
get_viewmodel(listvm);
});
reloadFavoriten(listvm);
get_viewmodel(listvm);
}
static void reloadFavoriten(AiPromptbausteinFolderListVM folders)

View File

@@ -50,17 +50,11 @@ namespace BeWo.ViewModel.View.AI
{
_SelectedFolder = value;
FirePropertyChanged(nameof(SelectedFolder));
if (value is null)
SelectedFolderId = null;
else
SelectedFolderId = Folders.VMList.IndexOf(value);
}
}
public AiPromptbausteinPromptVM SelectedPrompt { get; set; }
public AiPromptbausteinFolderListVM Folders { get; private set; }
public AiActionType LoadedActionType { get; set; }
public int? SelectedFolderId { get; set; }
public void Send()
{
@@ -89,11 +83,6 @@ namespace BeWo.ViewModel.View.AI
{
Folders = new_list;
FirePropertyChanged(nameof(Folders));
if(SelectedFolderId is int folder_id)
{
SelectedFolder = Folders.VMList[folder_id];
}
}
}
}