internal void OnFilterChanged(LibraryFilterControl library_filter_control, List <PDFDocument> pdf_documents, Span descriptive_span, string filter_terms, Dictionary <string, double> search_scores, PDFDocument pdf_document_to_focus_on) { this.library_filter_control = library_filter_control; if (null != descriptive_span) { int match_count = 0; foreach (var pdf_document in pdf_documents) { if (!pdf_document.Deleted) { ++match_count; } } ObjLibraryFilterDescriptiveTextBorder.Visibility = Visibility.Visible; Paragraph paragraph = new Paragraph(); paragraph.Inlines.Add(LibraryFilterHelpers.GetClearImageInline("Clear all filters.", hyperlink_clear_all_OnClick)); paragraph.Inlines.Add(" "); paragraph.Inlines.Add("Library currently filtered by: "); paragraph.Inlines.Add(descriptive_span); paragraph.Inlines.Add("(" + match_count + " matching documents)"); // Add to our viewer ObjLibraryFilterDescriptiveText.Blocks.Clear(); ObjLibraryFilterDescriptiveText.Blocks.Add(paragraph); } else { ObjLibraryFilterDescriptiveTextBorder.Visibility = Visibility.Collapsed; ObjLibraryFilterDescriptiveText.Blocks.Clear(); } }
private void ExecuteSearchTag() { string terms = SearchTag.Text; if (String.IsNullOrEmpty(terms)) { search_tag_fingerprints = null; } else { search_tag_fingerprints = new HashSet <string>(); string[] search_tags = terms.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); foreach (var pdf_document in library.PDFDocuments) { bool has_all_tags = true; foreach (string search_tag in search_tags) { if (!pdf_document.Tags.Contains(search_tag)) { has_all_tags = false; break; } } if (has_all_tags) { search_tag_fingerprints.Add(pdf_document.Fingerprint); } } // Create the feedback search_tag_fingerprints_span = new Span(); Bold bold = new Bold(); bold.Inlines.Add("TagSearch"); search_tag_fingerprints_span.Inlines.Add(bold); search_tag_fingerprints_span.Inlines.Add(": "); search_tag_fingerprints_span.Inlines.Add("'"); search_tag_fingerprints_span.Inlines.Add(terms); search_tag_fingerprints_span.Inlines.Add("'"); search_tag_fingerprints_span.Inlines.Add(LibraryFilterHelpers.GetClearImageInline("Clear this filter.", hyperlink_search_tag_fingerprints_span_OnClick)); } }
internal void ExecuteSearchQuick(string query) { ASSERT.Test(query != null); SearchQuick.Text = query; if (!String.IsNullOrEmpty(query)) { FeatureTrackingManager.Instance.UseFeature(Features.Library_KeywordFilter); List <IndexResult> index_results = LibrarySearcher.FindAllFingerprintsMatchingQuery(library_filter_control.web_library_detail, query); library_filter_control.search_quick_query = query; library_filter_control.search_quick_scores = new Dictionary <string, double>(); library_filter_control.search_quick_fingerprints = new HashSet <string>(); foreach (var index_result in index_results) { library_filter_control.search_quick_fingerprints.Add(index_result.fingerprint); library_filter_control.search_quick_scores[index_result.fingerprint] = index_result.score; } } else { library_filter_control.search_quick_query = null; library_filter_control.search_quick_fingerprints = null; library_filter_control.search_quick_scores = null; } // Create the feedback library_filter_control.search_quick_fingerprints_span = new Span(); Bold bold = new Bold(); bold.Inlines.Add("Search"); library_filter_control.search_quick_fingerprints_span.Inlines.Add(bold); library_filter_control.search_quick_fingerprints_span.Inlines.Add(" (click search score for details)"); library_filter_control.search_quick_fingerprints_span.Inlines.Add(": "); library_filter_control.search_quick_fingerprints_span.Inlines.Add("'"); library_filter_control.search_quick_fingerprints_span.Inlines.Add(query); library_filter_control.search_quick_fingerprints_span.Inlines.Add("'"); library_filter_control.search_quick_fingerprints_span.Inlines.Add(LibraryFilterHelpers.GetClearImageInline("Clear this filter.", hyperlink_search_quick_fingerprints_span_OnClick)); }