Skip to content

Commit f8f02c6

Browse files
committed
dna filtering improvements
1 parent 3c3382f commit f8f02c6

3 files changed

Lines changed: 30 additions & 27 deletions

File tree

src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ public bool IsOpen
191191
}
192192
}
193193

194-
private int ClusterResultsCount => DropdownResults == null ? 0 : DropdownResults.Count();
194+
private int ClusterResultsCount => FilteredView == null ? 0 : FilteredView.Cast<object>().ToList().Count;
195195

196196
private int selectedIndex = 0;
197197

@@ -231,6 +231,8 @@ public string SearchInput
231231
{
232232
FilteredView.Refresh();
233233
}
234+
235+
RaisePropertyChanged(nameof(SearchInput));
234236
}
235237
}
236238

@@ -245,30 +247,19 @@ public int SelectedIndex
245247
}
246248
set
247249
{
248-
/*don't try to add a node if the index is out of range or a selection is not made yet (-1)
249-
an index of -1 occurs when using the switch to change between modes.*/
250-
if (selectedIndex != value && value >= 0 && selectedIndex != -1)
250+
if (selectedIndex != value && value >= -1)
251251
{
252-
ReAddNode(value);
253-
}
254-
selectedIndex = value;
255-
RaisePropertyChanged(nameof(SelectedIndex));
256-
RaisePropertyChanged(nameof(NthofTotal));
257-
RaisePropertyChanged(nameof(PreviousSource));
258-
RaisePropertyChanged(nameof(NextSource));
259-
}
260-
}
252+
selectedIndex = value;
253+
if (selectedIndex != -1)
254+
{
255+
AddCluster(selectedIndex);
256+
}
261257

262-
private void ReAddNode(int index)
263-
{
264-
if(FullResults == null)
265-
{
266-
return;
267-
}
268-
var results = QualifiedResults.ToList();
269-
if(index >= 0 && index < results.Count)
270-
{
271-
AddCluster(results[index]);
258+
RaisePropertyChanged(nameof(SelectedIndex));
259+
RaisePropertyChanged(nameof(NthofTotal));
260+
RaisePropertyChanged(nameof(PreviousSource));
261+
RaisePropertyChanged(nameof(NextSource));
262+
}
272263
}
273264
}
274265

@@ -426,6 +417,7 @@ internal void ResetAutoCompleteSearchViewState()
426417
FilteredResults = new List<NodeSearchElementViewModel>();
427418
FilteredHighConfidenceResults = new List<NodeSearchElementViewModel>();
428419
FilteredLowConfidenceResults = new List<NodeSearchElementViewModel>();
420+
SearchInput = string.Empty;
429421
}
430422

431423
internal MLNodeAutoCompletionRequest GenerateRequestForMLAutocomplete()
@@ -796,6 +788,19 @@ internal void DeleteTransientNodes()
796788
}
797789
}
798790

791+
792+
internal void AddCluster(int filterredIndex)
793+
{
794+
var currentFilter = FilteredView.Cast<DNADropdownViewModel>().ToList();
795+
var currentItem = filterredIndex >= 0 && filterredIndex < currentFilter.Count ? currentFilter[filterredIndex] : null;
796+
797+
var realCluster = QualifiedResults.FirstOrDefault(x => x.Description.Equals(currentItem.Description));
798+
if (realCluster != null)
799+
{
800+
AddCluster(realCluster);
801+
}
802+
}
803+
799804
// Add Cluster from server result into the workspace
800805
internal void AddCluster(ClusterResultItem clusterResultItem)
801806
{
@@ -1040,8 +1045,6 @@ internal void PopulateAutoComplete()
10401045
if (comboboxResults.Any())
10411046
{
10421047
SelectedIndex = 0;
1043-
var ClusterResultItem = QualifiedResults.First();
1044-
AddCluster(ClusterResultItem);
10451048
}
10461049

10471050
});

src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@
172172
CaretBrush="{Binding Foreground, RelativeSource={RelativeSource AncestorType=ComboBox}}"
173173
FontSize="14">
174174
<TextBox.Text>
175-
<Binding Path="SearchInput" Mode="OneWayToSource" UpdateSourceTrigger="PropertyChanged" />
175+
<Binding Path="SearchInput" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" />
176176
</TextBox.Text>
177177
</TextBox>
178178
</ComboBox.Tag>

src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ private void GripHandle_MouseLeftButtonDown(object sender, MouseButtonEventArgs
7575

7676
private void MoveIndex(int step)
7777
{
78-
ViewModel.SelectedIndex = Math.Min(ViewModel.DropdownResults.Count() - 1, Math.Max(0, ViewModel.SelectedIndex + step));
78+
ViewModel.SelectedIndex = Math.Min(ViewModel.FilteredView.Cast<object>().Count() - 1, Math.Max(0, ViewModel.SelectedIndex + step));
7979
}
8080

8181
private void PrevButton_OnClick(object sender, RoutedEventArgs e)

0 commit comments

Comments
 (0)