Example #1
0
        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);
        }
Example #2
0
 internal void ReleseFilter(FilterViewModel filterViewModel)
 {
     _highlightKeys.Enqueue(filterViewModel.HighlightKey);
 }