예제 #1
0
        /// <summary>
        /// Invoked when this page is about to be displayed in a Frame.
        /// </summary>
        /// <param name="e">Event data that describes how this page was reached.
        /// This parameter is typically used to configure the page.</param>
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            TagList.Add(new Tag()
            {
                Id    = "1",
                Label = "Windows 95"
            });
            TagList.Add(new Tag()
            {
                Id    = "2",
                Label = "Windows 98"
            });
            TagList.Add(new Tag()
            {
                Id    = "3",
                Label = "Windows Me"
            });
            TagList.Add(new Tag()
            {
                Id    = "4",
                Label = "Windows XP"
            });
            TagList.Add(new Tag()
            {
                Id    = "5",
                Label = "Windows Vista"
            });
            TagList.Add(new Tag()
            {
                Id    = "6",
                Label = "Windows 7"
            });
            TagList.Add(new Tag()
            {
                Id    = "7",
                Label = "Windows 8"
            });
            TagList.Add(new Tag()
            {
                Id    = "8",
                Label = "Windows 8.1"
            });
            TagList.Add(new Tag()
            {
                Id    = "9",
                Label = "Windows 10"
            });
            TagList.Add(new Tag()
            {
                Id    = "10",
                Label = "Windows Whatever the name will be"
            });

            foreach (Tag item in General.GetInstance().TagSelection.Tags)
            {
                SelectedTags.Add(TagList.Single(tag => tag.Id.Equals(item.Id)));
            }
        }
예제 #2
0
 public SearchQuery(string typeFilter = "", string textQuery = "", params Tag[] tags)
 {
     TypeFiler = typeFilter;
     TextQuery = textQuery;
     foreach (var tag in tags)
     {
         SelectedTags.Add(tag);
     }
 }
예제 #3
0
 void AddTag_Executed(object sender, ExecutedRoutedEventArgs e)
 {
     if (e.Parameter is string)
     {
         var tag = (string)e.Parameter;
         SelectedTags.Add(tag);
         cmbNewTag.Text = string.Empty;
     }
 }
예제 #4
0
        private void UpdateSelectedTagsOnAdd(TagItem addedTag)
        {
            var source = (IList <TagItem>)ItemsSource;

            if (source.Count == SelectedTags.Count) //Update SelectedTags list if user edits tags
            {
                SelectedTags.Where(i => source.All(s => !s.Text.Equals(i) || i.Equals(addedTag.Text)))
                .ToList()
                .ForEach(r => SelectedTags.Remove(r));
            }
            SelectedTags.Add(addedTag.Text);
        }
예제 #5
0
        private void MoveToSelectedTags()
        {
            if (AllTagsSelectedItem != null)
            {
                if (!SelectedTags.Contains(AllTagsSelectedItem))
                {
                    SelectedTags.Add(AllTagsSelectedItem);
                    Tags.Remove(AllTagsSelectedItem);

                    FilterTaggedObjects();
                }
            }
        }
예제 #6
0
        private void ExecuteSelectTagCommand(object o)
        {
            var tag = o  as IWord;

            if (tag == null)
            {
                return;
            }

            SelectedTags.Add(new Tag {
                Text = tag.Text
            });

            UpdateSearchResult();
        }
예제 #7
0
        public async ValueTask LoadTags()
        {
            try
            {
                if (Interlocked.Increment(ref _loading) != 1)
                {
                    return;
                }
                if (_loaded)
                {
                    return;
                }
                var tags = await Model.ListTags(_query.QueryString, _query.TypeId, _query.Offset, _query.Limit);

                if (tags != null && tags.Count > 0)
                {
                    _query.Offset += _query.Limit;
                    foreach (var tag in tags.Where(it => SelectedTags.All(tag => tag.ObjectId != it.ObjectId)))
                    {
                        var displayTag = new DisplayTag(tag);
                        displayTag.ClickCommand = new AsyncCommand(async() =>
                        {
                            if (SelectedTags.All(it => it.ObjectId != displayTag.ObjectId))
                            {
                                displayTag.ClickCommand = new AsyncCommand(async() =>
                                {
                                    SelectedTags.Remove(displayTag);
                                });
                                SelectedTags.Add(displayTag);
                            }
                        });
                        SearchResult.Add(displayTag);
                    }
                }
                else
                {
                    _loaded = true;
                }
            }
            finally
            {
                Interlocked.Decrement(ref _loading);
            }
        }
예제 #8
0
        public void Drop(object data, int index = -1)
        {
            var bindedTags = (data as List <BindedTagVM>)?.ToList();

            if (bindedTags == null ||
                !bindedTags.Any())
            {
                return;
            }

            foreach (var bindedTag in bindedTags)
            {
                if (SelectedTags.Any(x => x.Tag.Id == bindedTag.Tag.Id && x.Value == bindedTag.Value))
                {
                    continue;
                }

                SelectedTags.Add(bindedTag);
            }
        }
예제 #9
0
 private void AddToSelectedTags(Tag value)
 {
     if (value != null)
     {
         if (!SelectedTags.Contains(value))
         {
             SelectedTags.Add(value);
             if (SelectedTagsAsString == EMPTY_TAG_LIST)
             {
                 SelectedTagsAsString      = value.Name;
                 IsClearTagSelectedVisible = true;
             }
             else
             {
                 SelectedTagsAsString += ", " + value.Name;
             }
         }
         SelectedTag = null;
     }
 }
예제 #10
0
 void TagClicked(Tag tag)
 {
     if (SelectedTags.Contains(tag))
     {
         SelectedTags.Remove(tag);
     }
     else
     {
         SelectedTags.RemoveAll(t => t.Group == tag.Group);
         SelectedTags.Add(tag);
     }
     if (Button.TagMode == TagMode.Free)
     {
         StartRecording();
     }
     else
     {
         Active     = true;
         delayEvent = true;
     }
     ReDraw();
 }
예제 #11
0
        private void AddTags(object obj)
        {
            var bindedTags = (obj as IList)?.Cast <BindedTagVM>();

            if (bindedTags == null)
            {
                var bindedTag = obj as BindedTagVM;

                if (bindedTag == null)
                {
                    return;
                }

                bindedTags = new List <BindedTagVM>
                {
                    bindedTag
                };
            }

            var bindedTagVms = bindedTags as IList <BindedTagVM> ?? bindedTags.ToList();

            if (!bindedTagVms.Any())
            {
                return;
            }

            foreach (var bindedTag in bindedTagVms)
            {
                if (SelectedTags.Any(x => x.Tag.Id == bindedTag.Tag.Id && x.Value == bindedTag.Value))
                {
                    continue;
                }

                SelectedTags.Add(bindedTag);
            }
        }
예제 #12
0
 public void ClickTag(Tag tag)
 {
     SelectedTags.Add(tag);
     ReDraw();
 }
 private void AddNewTag()
 {
     SelectedTags.Add(NewTag);
     NewTag = "";
 }
 private void AddExistingTag(string newTag)
 {
     SelectedTags.Add(newTag);
     AvailableTags.Remove(newTag);
 }