From 971c685efb31a4707ad7fa5fb2bcdacbc643836c Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Thu, 10 Nov 2011 17:51:56 -0800 Subject: [PATCH] Refactoring Tags filter --HG-- branch : 1.x --- .../Modules/Orchard.Tags/Orchard.Tags.csproj | 1 + .../Orchard.Tags/Projections/TagsFilter.cs | 47 ----------------- .../Projections/TagsFilterForms.cs | 52 +++++++++++++++++++ 3 files changed, 53 insertions(+), 47 deletions(-) create mode 100644 src/Orchard.Web/Modules/Orchard.Tags/Projections/TagsFilterForms.cs diff --git a/src/Orchard.Web/Modules/Orchard.Tags/Orchard.Tags.csproj b/src/Orchard.Web/Modules/Orchard.Tags/Orchard.Tags.csproj index 2cb550db0..13a2dd947 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/Orchard.Tags.csproj +++ b/src/Orchard.Web/Modules/Orchard.Tags/Orchard.Tags.csproj @@ -60,6 +60,7 @@ Code + diff --git a/src/Orchard.Web/Modules/Orchard.Tags/Projections/TagsFilter.cs b/src/Orchard.Web/Modules/Orchard.Tags/Projections/TagsFilter.cs index 59b9317c6..d46336a82 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/Projections/TagsFilter.cs +++ b/src/Orchard.Web/Modules/Orchard.Tags/Projections/TagsFilter.cs @@ -1,9 +1,6 @@ using System; using System.Linq; -using System.Web.Mvc; using Orchard.ContentManagement; -using Orchard.DisplayManagement; -using Orchard.Environment.Extensions; using Orchard.Events; using Orchard.Localization; using Orchard.Tags.Models; @@ -54,48 +51,4 @@ namespace Orchard.Tags.Projections { return T("Tagged with {0}", String.Join(", ", tagNames)); } } - - public interface IFormProvider : IEventHandler { - void Describe(dynamic context); - } - - public class TagsFilterForms : IFormProvider { - private readonly ITagService _tagService; - protected dynamic Shape { get; set; } - public Localizer T { get; set; } - - public TagsFilterForms( - IShapeFactory shapeFactory, - ITagService tagService) { - _tagService = tagService; - Shape = shapeFactory; - T = NullLocalizer.Instance; - } - - public void Describe(dynamic context) { - Func form = - shape => { - - var f = Shape.Form( - Id: "SelectTags", - _Tags: Shape.SelectList( - Id: "tagids", Name: "TagIds", - Title: T("Tags"), - Description: T("Select some tags."), - Size: 10, - Multiple: true - ) - ); - - foreach (var tag in _tagService.GetTags()) { - f._Tags.Add(new SelectListItem { Value = tag.Id.ToString(), Text = tag.TagName }); - } - - return f; - }; - - context.Form("SelectTags", form); - - } - } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Tags/Projections/TagsFilterForms.cs b/src/Orchard.Web/Modules/Orchard.Tags/Projections/TagsFilterForms.cs new file mode 100644 index 000000000..532f560f5 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Tags/Projections/TagsFilterForms.cs @@ -0,0 +1,52 @@ +using System; +using System.Web.Mvc; +using Orchard.DisplayManagement; +using Orchard.Events; +using Orchard.Localization; +using Orchard.Tags.Services; + +namespace Orchard.Tags.Projections { + public interface IFormProvider : IEventHandler { + void Describe(dynamic context); + } + + public class TagsFilterForms : IFormProvider { + private readonly ITagService _tagService; + protected dynamic Shape { get; set; } + public Localizer T { get; set; } + + public TagsFilterForms( + IShapeFactory shapeFactory, + ITagService tagService) { + _tagService = tagService; + Shape = shapeFactory; + T = NullLocalizer.Instance; + } + + public void Describe(dynamic context) { + Func form = + shape => { + + var f = Shape.Form( + Id: "SelectTags", + _Tags: Shape.SelectList( + Id: "tagids", Name: "TagIds", + Title: T("Tags"), + Description: T("Select some tags."), + Size: 10, + Multiple: true + ) + ); + + foreach (var tag in _tagService.GetTags()) { + f._Tags.Add(new SelectListItem { Value = tag.Id.ToString(), Text = tag.TagName }); + } + + return f; + }; + + context.Form("SelectTags", form); + + } + } +} \ No newline at end of file