Ejemplo n.º 1
0
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     if (searchBox.Text == null)
     {
         Searched?.Invoke(this, new SearchEventArgs(string.Empty));
     }
     else
     {
         Searched?.Invoke(this, new SearchEventArgs(searchBox.Text));
     }
 }
Ejemplo n.º 2
0
        private void handleSearch()
        {
            if (Name.hasErrors())
            {
                return;
            }
            var terms = new SearchTerms(Name.Value, null, null, 0, new string[] { });

            Result <SongModel> res = Utility.attemptSearch(terms);

            Searched?.Invoke(this, res);
        }
        void _searchButton_Click(object sender, EventArgs e)
        {
            var hits = new List <string>();

            for (int row = 0; row < _grid.Rows.Count; row++)
            {
                for (int col = 0; col < _grid.Columns.Count; col++)
                {
                    var cellText = _grid[col, row].Value?.ToString();
                    if (cellText != null && cellText.Contains(_searchTextBox.Text))
                    {
                        hits.Add($"{Text}({row},{col}) : {cellText}");
                    }
                }
            }
            Searched?.Invoke(this, new SearchEventArgs {
                SearchResult = hits.ToArray()
            });
        }
Ejemplo n.º 4
0
        private void searchBox_KeyDown(object sender, KeyEventArgs e)
        {
            TextBox tb = sender as TextBox;

            if (tb.IsFocused)
            {
                if (e.Key == Key.Enter)
                {
                    if (searchBox.Text == null)
                    {
                        Searched?.Invoke(this, new SearchEventArgs(string.Empty));
                    }
                    else
                    {
                        Searched?.Invoke(this, new SearchEventArgs(searchBox.Text));
                    }
                    btn.Focus();
                }
            }
        }
Ejemplo n.º 5
0
        public SearchBox(string placeholder = string.Empty)
        {
            InnerElement      = TextBox(_("tss-searchbox tss-fontsize-small tss-fontweight-regular", type: "text", placeholder: placeholder));
            _icon             = Span(_("las la-search"));
            _iconContainer    = Div(_("tss-searchbox-icon"), _icon);
            _paddingContainer = Div(_("tss-searchbox-padding"));
            _container        = Div(_("tss-searchbox-container"), _iconContainer, InnerElement, _paddingContainer);

            AttachChange();
            AttachInput();
            AttachFocus();
            AttachBlur();
            AttachKeys();

            OnKeyPress((s, e) =>
            {
                if (e.key == "Enter")
                {
                    Searched?.Invoke(this, InnerElement.value);
                }
            });
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Déclenche l'événement <see cref="Searched"/>
        /// </summary>
        protected virtual void OnSearched(OperationEventArgs operationEventArgs)
        {
            if (operationEventArgs != null && !operationEventArgs.Succeed)
            {
                IsSearching = false;
                IsBusy      = false;
                // TODO : ManageException
                //ManageException(operationEventArgs.Error, Resources.Error_Searching);
            }

            IsSearching = false;
            IsBusy      = false;
            SetFocus();

            if (NavigateAutoIfOnlyOneItem && operationEventArgs.Succeed && Items.Count == 1)
            {
                CurrentItem = Items.First();
                DetailCommand.Execute();
            }

            Searched?.Invoke(this, operationEventArgs);
        }
Ejemplo n.º 7
0
 protected virtual void OnSearched(SearchedEventArgs e)
 {
     Searched?.Invoke(this, e);
 }
Ejemplo n.º 8
0
        public virtual IEnumerable <ISearchable> Search(string filter, int maxResults = SearchDefaults.DefaultResults)
        {
            Initialize();

            var results = new List <ISearchable>();

            lock (_lockObject)
            {
                try
                {
                    Searching?.Invoke(this, new SearchEventArgs(filter, results));

                    Query finalQuery = null;

                    // Note: There are two issues with using regex here
                    //       1. Lucene uses lower case interpretation of each string for indexing.
                    //          That means in regular expression we can use only lower case characters
                    //       2. escape sequences do not work. Not sure why
                    //
                    //       In order to fix (1), we have to force Lucene to index differently. Probably we need to have two
                    //       versions if indeces. One for regular search and another for regex

                    // ReSharper disable once ConditionIsAlwaysTrueOrFalse
                    if (filter.IsValidOrcSearchFilter())
                    {
                        using (var analyzer = new StandardAnalyzer(LuceneDefaults.Version))
                        {
                            var queryAsText = _searchQueryService.GetSearchQuery(filter, GetSearchableMetadata());

                            var parser = new QueryParser(LuceneDefaults.Version, string.Empty, analyzer);
                            finalQuery = parser.Parse(queryAsText);
                        }
                    }

                    if (finalQuery != null)
                    {
                        using (var indexReader = DirectoryReader.Open(_indexDirectory))
                        {
                            var searcher = new IndexSearcher(indexReader);

                            var search = searcher.Search(finalQuery, maxResults);
                            foreach (var scoreDoc in search.ScoreDocs)
                            {
                                var docId = scoreDoc.Doc;
                                var doc   = searcher.Doc(docId);

                                var index = int.Parse(doc.Get(IndexId));
                                results.Add(_indexedObjects[index]);
                            }
                        }
                    }
                }
                catch (ParseException ex)
                {
                    Log.Warning(ex, "Failed to parse search pattern");
                }
                catch (Exception ex)
                {
                    Log.Error(ex, "An error occurred while searching, returning default results");
                }
                finally
                {
                    Searched?.Invoke(this, new SearchEventArgs(filter, results));
                }
            }

            return(results);
        }
Ejemplo n.º 9
0
 public void OnSearched()
 {
     Searched?.Invoke();
 }