Exemple #1
0
 private void TokenBox_TokenItemAdded(TokenizingTextBox sender, TokenizingTextBoxItem args)
 {
     if (args?.Content is Person person)
     {
         PickedPeople.Add(person);
     }
 }
Exemple #2
0
        private void TokenBox_TextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
        {
            if (!args.CheckCurrent())
            {
                return;
            }

            if (args.Reason == AutoSuggestionBoxTextChangeReason.UserInput)
            {
                var text = sender.Text;
                _typeTimer.Debounce(
                    async() =>
                {
                    var graph = ProviderManager.Instance.GlobalProvider.Graph;
                    if (graph != null)
                    {
                        // If empty, clear out
                        if (string.IsNullOrWhiteSpace(text))
                        {
                            SuggestedPeople.Clear();
                        }
                        else
                        {
                            SuggestedPeople.Clear();

                            foreach (var contact in (await graph.FindPersonAsync(text)).CurrentPage)
                            {
                                if (!PickedPeople.Any(person => person.Id == contact.Id))
                                {
                                    SuggestedPeople.Add(contact);
                                }
                            }
                        }
                    }

                    // TODO: If we don't have Graph connection and just list of Person should we auto-filter here?
                }, TimeSpan.FromSeconds(0.3));
            }
        }
Exemple #3
0
 private void TokenBox_TokenItemRemoved(TokenizingTextBox sender, TokenItemRemovedEventArgs args)
 {
     PickedPeople.Remove(args.Item as Person);
 }