Sortierung der Ziele + Maßnahmen verbessert (vorher alphabetisch "1: Ziel1", "10: Ziel10", "2: Ziel2", jetzt werden Ziffern am Anfang des Textes geprüft: "1: Ziel1", "2: Ziel2", "10: Ziel 10")

This commit is contained in:
2025-10-06 11:07:35 +02:00
parent a58f4b240d
commit 20e99fc0bb
4 changed files with 30 additions and 12 deletions

View File

@@ -25,8 +25,8 @@ namespace BeWo.Core.Service
goal.CatalogItem = catalogItem;
}
}
var ziele = allGoalsAndCategories.Where(w => w.Type.Equals(ValueListEntryType.SupportConceptGoalCategoryType) || w.Type.Equals(ValueListEntryType.SupportConceptIndividualGoalCategoryType)).OrderBy(s => s.DisplayName).ToList();
var massnahmen = allGoalsAndCategories.Where(w => w.Type.Equals(ValueListEntryType.SupportConceptGoalType) || w.Type.Equals(ValueListEntryType.SupportConceptIndividualGoalType)).OrderBy(s => s.DisplayName).ToList();
var ziele = allGoalsAndCategories.Where(w => w.Type.Equals(ValueListEntryType.SupportConceptGoalCategoryType) || w.Type.Equals(ValueListEntryType.SupportConceptIndividualGoalCategoryType)).OrderBy(s => s.OrderedDisplayName).ToList();
var massnahmen = allGoalsAndCategories.Where(w => w.Type.Equals(ValueListEntryType.SupportConceptGoalType) || w.Type.Equals(ValueListEntryType.SupportConceptIndividualGoalType)).OrderBy(s => s.OrderedDisplayName).ToList();
var goalCategoryDict = new Dictionary<long, SupportConceptGoalDC>();

View File

@@ -370,7 +370,12 @@ namespace BeWo.View.Controls
private void FilterTreeItems()
{
String searchtext = cbtv_search.Text;
//Damit das funktioniert, müssen alle Items expanded werden
foreach (SupportConceptGoalDC goal in Tree1.Items)
{
ExpandItem(goal);
}
foreach (var goal in Tree1.Items)
{
SetTreeItemVisibility(Tree1.ItemContainerGenerator, goal as SupportConceptGoalDC, searchtext);
@@ -401,9 +406,21 @@ namespace BeWo.View.Controls
}
}
private void ExpandItem(SupportConceptGoalDC goal)
{
goal.IsExpanded = true;
if (goal.Children != null)
{
foreach (var item in goal.Children)
{
ExpandItem(item);
}
}
}
private void SetTreeItemVisibility(ItemContainerGenerator ig, SupportConceptGoalDC goal, string searchtext)
{
goal.IsExpanded = true;
var item = ig.ContainerFromItem(goal) as TreeViewItem;
if (item == null)
@@ -414,6 +431,7 @@ namespace BeWo.View.Controls
if (item == null)
return;
if (goal.Children == null || goal.Children.Count == 0)
{

View File

@@ -857,8 +857,8 @@ namespace BeWoPlanerMobil.Controllers
private List<GoalTreeItem> BuildGoalTree(IReadOnlyCollection<ValueListEntryDC> goals)
{
var ziele = goals.Where(w => _GoalTypes.Contains(w.Type)).OrderBy(s => s.DisplayName).ToList();
var massnahmen = goals.Where(w => _MeasureTypes.Contains(w.Type)).OrderBy(s => s.DisplayName).ToList();
var ziele = goals.Where(w => _GoalTypes.Contains(w.Type)).OrderBy(s => s.OrderedDisplayName).ToList();
var massnahmen = goals.Where(w => _MeasureTypes.Contains(w.Type)).OrderBy(s => s.OrderedDisplayName).ToList();
var goalTree = new List<GoalTreeItem>();
var goalTreeDic = new Dictionary<long, GoalTreeItem>();
var goalsWithRating = Model.SelectedServiceRecord?.Goals?.Where(goal => goal.RatingTypeOid.HasValue).ToList() ?? new List<ValueListEntryDC>();
@@ -936,11 +936,11 @@ namespace BeWoPlanerMobil.Controllers
item.IsLeaf = true;
}
goalTree = goalTree.OrderBy(o => o.ValueListEntryOid).ToList();
foreach(var item in goalTree)
{
SortGoals(item);
}
//goalTree = goalTree.OrderBy(o => o.ValueListEntryOid).ToList();
//foreach(var item in goalTree)
//{
// SortGoals(item);
//}
return goalTree;
}

View File

@@ -174,7 +174,7 @@
</div>
<div class="@collapseClass goal-collapse" id="collapsable-goal-tree-branch-@goalTreeItem.ValueListEntryOid">
<div class="card-body p-1 goal-list">
@foreach(var child in goalTreeItem.Children.OrderBy(child => child.Header))
@foreach(var child in goalTreeItem.Children)
{
@BuildGoalTreeBranch(child)
}