public FilterViewModel CreateNewFilterViewModel() { if (_highlightKeys.Count == 0) { return(null); } var filterViewModel = new FilterViewModel(); filterViewModel.HighlightKey = _highlightKeys.Dequeue(); filterViewModel.PushDoubleClicked += (sender, e) => EvaluateScriptAsync($"selectPush({e.Push.Index})"); filterViewModel.FilteredPushCollection.CollectionChanged += (sender, e) => { IEnumerable <PushViewModel> list = (IEnumerable <PushViewModel>)sender; string param = filterViewModel.HighlightResults ? string.Join(",", list.Select(p => p.Index)) : ""; EvaluateScriptAsync($"highlight({filterViewModel.HighlightKey},[{param}])"); }; filterViewModel.SetMainViewModel(this); _filterViewModels.Add(filterViewModel); return(filterViewModel); }
internal void ReleseFilter(FilterViewModel filterViewModel) { _highlightKeys.Enqueue(filterViewModel.HighlightKey); }