142 lines
3.4 KiB
C#
142 lines
3.4 KiB
C#
using BeWo.ServiceProxy;
|
|
using BeWo.Services;
|
|
using BeWo.ViewModel.ListViewModel;
|
|
using BS.Shared;
|
|
using BS.Shared.DataContracts;
|
|
using BS.Shared.DataContracts.Feature.AI;
|
|
using BS.Shared.Extensions.CustomInterfaces;
|
|
using DevExpress.Xpf.Layout.Core;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Input;
|
|
using DelegateCommand = DevExpress.Mvvm.DelegateCommand;
|
|
|
|
namespace BeWo.ViewModel.View.Administration
|
|
{
|
|
public class AiPromptbausteinComplexTreeViewModel : WindowViewModel
|
|
{
|
|
private AiPromptbausteinFolderVM _SelectedFolder;
|
|
|
|
private IBeWoWindowService WindowService { get; set; }
|
|
private AiActionType AiActionType { get; set; }
|
|
|
|
public AiPromptbausteinFolderListVM Folders { get; set; }
|
|
public AiPromptbausteinPromptVM SelectedPrompt { get; set; }
|
|
public AiPromptbausteinFolderVM CopiedFolder { get; set; }
|
|
|
|
public ICommand OpenAddFolderDialogCommand { get; private set; }
|
|
public ICommand OpenEditFolderDialogCommand { get; private set; }
|
|
public ICommand CopyFolderCommand { get; private set; }
|
|
public ICommand PasteFolderCommand { get; private set; }
|
|
public ICommand DeleteFolderCommand { get; private set; }
|
|
|
|
public ICommand OpenAddPromptDialogCommand { get; private set; }
|
|
public ICommand OpenEditPromptDialogCommand { get; private set; }
|
|
public ICommand CopyPromptCommand { get; private set; }
|
|
public ICommand PastePromptCommand { get; private set; }
|
|
public ICommand DeletePromptCommand { get; private set; }
|
|
|
|
public AiPromptbausteinFolderVM SelectedFolder
|
|
{
|
|
get => _SelectedFolder;
|
|
set => SetProperty(ref _SelectedFolder, value, nameof(SelectedFolder));
|
|
}
|
|
|
|
public AiPromptbausteinComplexTreeViewModel()
|
|
{
|
|
if (BeWoApp.IsInDesignMode)
|
|
{
|
|
AiActionType = AiActionType.ServiceRecordConversation;
|
|
ReloadVMList();
|
|
return;
|
|
}
|
|
|
|
OpenAddFolderDialogCommand = new DelegateCommand(OpenAddFolderDialog, CanOpenAddFolderDialog, false);
|
|
OpenEditFolderDialogCommand = new DelegateCommand(OpenEditFolderDialog, CanOpenEditFolderDialog, false);
|
|
CopyFolderCommand = new DelegateCommand(CopyFolder, CanCopyFolder, false);
|
|
PasteFolderCommand = new DelegateCommand(PasteFolder, CanPasteFolder, false);
|
|
DeleteFolderCommand = new DelegateCommand(DeleteFolder, CanDeleteFolder, false);
|
|
}
|
|
|
|
public AiPromptbausteinComplexTreeViewModel(IBeWoWindowService windowService, AiActionType aiActionType) : this()
|
|
{
|
|
WindowService = windowService;
|
|
AiActionType = aiActionType;
|
|
}
|
|
|
|
public override bool IsDirty
|
|
{
|
|
get
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public void SaveVMList()
|
|
{
|
|
|
|
}
|
|
|
|
internal void ReloadVMList()
|
|
{
|
|
var folders_dc = PredefinedAiPromptbausteinFolders.CreateSubTree(AiActionType);
|
|
|
|
Folders = new AiPromptbausteinFolderListVM(folders_dc);
|
|
|
|
FirePropertyChanged(nameof(Folders));
|
|
}
|
|
public void UpdateVMList(AiPromptbausteinTreeListVM new_list)
|
|
{
|
|
|
|
}
|
|
|
|
void OpenAddFolderDialog()
|
|
{
|
|
var vm = new AiPromptbausteinFolderViewModel();
|
|
|
|
WindowService.Show(vm);
|
|
}
|
|
void OpenEditFolderDialog()
|
|
{
|
|
|
|
}
|
|
void CopyFolder()
|
|
{
|
|
|
|
}
|
|
void PasteFolder()
|
|
{
|
|
|
|
}
|
|
void DeleteFolder()
|
|
{
|
|
|
|
}
|
|
|
|
bool CanOpenAddFolderDialog()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
bool CanOpenEditFolderDialog()
|
|
{
|
|
return false;
|
|
}
|
|
bool CanCopyFolder()
|
|
{
|
|
return false;
|
|
}
|
|
bool CanPasteFolder()
|
|
{
|
|
return false;
|
|
}
|
|
bool CanDeleteFolder()
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|