Knoten gelten nicht mehr standardhaft als IsDirty, wenn Kindknoten IsDirty ist
This commit is contained in:
@@ -22,55 +22,68 @@ namespace BeWo.ViewModel.ListViewModel
|
||||
}
|
||||
}
|
||||
|
||||
public override int AddedCount
|
||||
//public override int AddedCount
|
||||
//{
|
||||
// get
|
||||
// {
|
||||
// var base_value = base.AddedCount;
|
||||
|
||||
// foreach (var vm in VMList)
|
||||
// {
|
||||
// if (vm.Children is object)
|
||||
// base_value += vm.Children.AddedCount;
|
||||
// }
|
||||
|
||||
// return base_value;
|
||||
// }
|
||||
//}
|
||||
|
||||
//public override int ChangedCount
|
||||
//{
|
||||
// get
|
||||
// {
|
||||
// var base_value = base.ChangedCount;
|
||||
|
||||
// foreach (var vm in VMList)
|
||||
// {
|
||||
// if (vm.Children is object)
|
||||
// base_value += vm.Children.ChangedCount;
|
||||
// }
|
||||
|
||||
// return base_value;
|
||||
// }
|
||||
//}
|
||||
|
||||
//public override int RemovedCount
|
||||
//{
|
||||
// get
|
||||
// {
|
||||
// var base_value = base.RemovedCount;
|
||||
|
||||
// foreach (var vm in VMList)
|
||||
// {
|
||||
// if(vm.Children is object)
|
||||
// base_value += vm.Children.RemovedCount;
|
||||
// }
|
||||
|
||||
// return base_value;
|
||||
// }
|
||||
//}
|
||||
|
||||
public bool ContainsDirtyNode()
|
||||
{
|
||||
get
|
||||
if (IsDirty)
|
||||
return true;
|
||||
|
||||
foreach (var vm in VMList)
|
||||
{
|
||||
var base_value = base.AddedCount;
|
||||
|
||||
foreach (var vm in VMList)
|
||||
{
|
||||
if (vm.Children is object)
|
||||
base_value += vm.Children.AddedCount;
|
||||
}
|
||||
|
||||
return base_value;
|
||||
if (vm.Children is object && vm.Children.ContainsDirtyNode())
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public override int ChangedCount
|
||||
{
|
||||
get
|
||||
{
|
||||
var base_value = base.ChangedCount;
|
||||
|
||||
foreach (var vm in VMList)
|
||||
{
|
||||
if (vm.Children is object)
|
||||
base_value += vm.Children.ChangedCount;
|
||||
}
|
||||
|
||||
return base_value;
|
||||
}
|
||||
}
|
||||
|
||||
public override int RemovedCount
|
||||
{
|
||||
get
|
||||
{
|
||||
var base_value = base.RemovedCount;
|
||||
|
||||
foreach (var vm in VMList)
|
||||
{
|
||||
if(vm.Children is object)
|
||||
base_value += vm.Children.RemovedCount;
|
||||
}
|
||||
|
||||
return base_value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#region Designer
|
||||
private void InitDesigner()
|
||||
{
|
||||
|
||||
@@ -68,14 +68,24 @@ namespace BeWo.ViewModel.View.Administration
|
||||
public ICommand PastePromptbausteinCommand { get; set; }
|
||||
public ICommand DeletePromptbausteinCommand { get; set; }
|
||||
|
||||
public override bool IsDirty => ListVM is object && ListVM.IsDirty;
|
||||
|
||||
public void SaveVMList ()
|
||||
public override bool IsDirty
|
||||
{
|
||||
get
|
||||
{
|
||||
if (ListVM is null)
|
||||
return false;
|
||||
|
||||
return ListVM.ContainsDirtyNode();
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateVMList(AiPromptbausteinTreeListVM new_list)
|
||||
public void SaveVMList()
|
||||
{
|
||||
// BFS -> 1. Sobald Knoten gefunden wird mit IsNew=true: Teilbaum als neu markieren
|
||||
// 2. Sobald Knoten gefunden wird mit IsNew=false && IsDirty=true: Knoten als update markieren
|
||||
// 3. Checken, welche Knoten gelöscht wurden
|
||||
}
|
||||
public void UpdateVMList(AiPromptbausteinTreeListVM new_list)
|
||||
{
|
||||
ListVM = new_list;
|
||||
FirePropertyChanged(nameof(ListVM));
|
||||
@@ -90,29 +100,24 @@ namespace BeWo.ViewModel.View.Administration
|
||||
|
||||
WindowService.ShowAiPromptbausteinDetailWindow(AiPromptbausteinDetailViewModel.CreateAdd(this, parent.NewVM, parent));
|
||||
}
|
||||
|
||||
public void EditPromptbaustein()
|
||||
{
|
||||
WindowService.ShowAiPromptbausteinDetailWindow(AiPromptbausteinDetailViewModel.CreateEdit(this, SelectedNode));
|
||||
}
|
||||
|
||||
public void CopyPromptbaustein()
|
||||
{
|
||||
CopySingleTreeNode = false;
|
||||
CopyTreeNode = SelectedNode;
|
||||
}
|
||||
|
||||
public void CopySinglePromptbaustein()
|
||||
{
|
||||
CopySingleTreeNode = true;
|
||||
CopyTreeNode = SelectedNode;
|
||||
}
|
||||
|
||||
public void PastePromptbaustein()
|
||||
{
|
||||
CopyPastePromptbaustein(!CopySingleTreeNode, CopyTreeNode, SelectedNode);
|
||||
}
|
||||
|
||||
private void CopyPastePromptbaustein(bool rec, AiPromptbausteinTreeVM old_node, AiPromptbausteinTreeVM new_parent)
|
||||
{
|
||||
var old_parent = old_node?.Parent;
|
||||
@@ -136,7 +141,6 @@ namespace BeWo.ViewModel.View.Administration
|
||||
CopyPastePromptbaustein(rec, old_child, new_node);
|
||||
}
|
||||
}
|
||||
|
||||
public void DeletePromptbaustein()
|
||||
{
|
||||
var node = SelectedNode;
|
||||
|
||||
Reference in New Issue
Block a user