private void MoveToSelectedTags() { if (AllTagsSelectedItem != null) { if (!SelectedTags.Contains(AllTagsSelectedItem)) { SelectedTags.Add(AllTagsSelectedItem); Tags.Remove(AllTagsSelectedItem); FilterTaggedObjects(); } } }
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; } }
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(); }
/// <summary> /// Saves the page model. /// </summary> /// <param name="api">The current api</param> /// <param name="alias">The suggested alias</param> /// <param name="publish">If the page should be published</param> /// <returns>If the page was successfully saved</returns> public bool Save(IApi api, out string alias, bool?publish = null) { var post = api.Posts.GetById(Id); alias = null; if (post == null) { post = Piranha.Models.DynamicPost.Create(api, this.TypeId); } else { if (Slug != post.Slug && Published.HasValue) { alias = post.Slug; } } Module.Mapper.Map <PostEditModel, Piranha.Models.PostBase>(this, post); SaveRegions(api, this, post); // Update category var category = api.Categories.GetBySlug(BlogId, SelectedCategory); if (category != null) { post.Category = category; } else { post.Category = new Piranha.Models.Taxonomy() { Title = SelectedCategory } }; // Update tags post.Tags.RemoveAll(t => !SelectedTags.Contains(t.Slug)); foreach (var selectedTag in SelectedTags) { if (!post.Tags.Any(t => t.Slug == selectedTag)) { var tag = api.Tags.GetBySlug(BlogId, selectedTag); if (tag != null) { post.Tags.Add(new Piranha.Models.Taxonomy() { Id = tag.Id, Title = tag.Title, Slug = tag.Slug }); } else { post.Tags.Add(new Piranha.Models.Taxonomy() { Title = selectedTag }); } } } if (publish.HasValue) { if (publish.Value && !post.Published.HasValue) { post.Published = DateTime.Now; } else if (!publish.Value) { post.Published = null; } } api.Posts.Save(post); Id = post.Id; // Now tidy up the categories & tags for the blog api.Categories.DeleteUnused(post.BlogId); api.Tags.DeleteUnused(post.BlogId); return(true); }