From 458be54ca42f383e42f49d48f8487b808311d31b Mon Sep 17 00:00:00 2001 From: Louis DeJardin Date: Tue, 14 Sep 2010 12:29:48 -0700 Subject: [PATCH] Some code cleanup Adding a back-reference from ShapeBinding to ShapeDescriptor Changing HomePage display type to default ("_HomePage" will be indicated in a different way) Moving IShapeFactoryEvents into its own file --HG-- branch : theming --- .../Services/RoutableHomePageProvider.cs | 2 +- .../Descriptors/ShapeAlterationBuilder.cs | 1 + .../Descriptors/ShapeDescriptor.cs | 1 + .../Implementation/DefaultShapeFactory.cs | 24 -------------- .../Implementation/IShapeFactoryEvents.cs | 32 +++++++++++++++++++ src/Orchard/Orchard.Framework.csproj | 1 + 6 files changed, 36 insertions(+), 25 deletions(-) create mode 100644 src/Orchard/DisplayManagement/Implementation/IShapeFactoryEvents.cs diff --git a/src/Orchard.Web/Core/Routable/Services/RoutableHomePageProvider.cs b/src/Orchard.Web/Core/Routable/Services/RoutableHomePageProvider.cs index 06a5d79fa..728db4e10 100644 --- a/src/Orchard.Web/Core/Routable/Services/RoutableHomePageProvider.cs +++ b/src/Orchard.Web/Core/Routable/Services/RoutableHomePageProvider.cs @@ -37,7 +37,7 @@ namespace Orchard.Core.Routable.Services { if (contentItem == null || !contentItem.Is()) return new NotFoundResult(); - var model = _contentManager.BuildDisplayModel(contentItem, "_HomePage"); + var model = _contentManager.BuildDisplayModel(contentItem); return new ViewResult { ViewName = "Display", diff --git a/src/Orchard/DisplayManagement/Descriptors/ShapeAlterationBuilder.cs b/src/Orchard/DisplayManagement/Descriptors/ShapeAlterationBuilder.cs index 33eed23dd..3fcb16c3a 100644 --- a/src/Orchard/DisplayManagement/Descriptors/ShapeAlterationBuilder.cs +++ b/src/Orchard/DisplayManagement/Descriptors/ShapeAlterationBuilder.cs @@ -42,6 +42,7 @@ namespace Orchard.DisplayManagement.Descriptors { Func target = null; var binding = new ShapeBinding { + ShapeDescriptor = descriptor, BindingName = _bindingName, BindingSource = bindingSource, Binding = displayContext => { diff --git a/src/Orchard/DisplayManagement/Descriptors/ShapeDescriptor.cs b/src/Orchard/DisplayManagement/Descriptors/ShapeDescriptor.cs index b50d0e7ae..b2ba34581 100644 --- a/src/Orchard/DisplayManagement/Descriptors/ShapeDescriptor.cs +++ b/src/Orchard/DisplayManagement/Descriptors/ShapeDescriptor.cs @@ -40,6 +40,7 @@ namespace Orchard.DisplayManagement.Descriptors { } public class ShapeBinding { + public ShapeDescriptor ShapeDescriptor { get; set; } public string BindingName { get; set; } public string BindingSource { get; set; } public Func Binding { get; set; } diff --git a/src/Orchard/DisplayManagement/Implementation/DefaultShapeFactory.cs b/src/Orchard/DisplayManagement/Implementation/DefaultShapeFactory.cs index bf9706ce5..27d793c69 100644 --- a/src/Orchard/DisplayManagement/Implementation/DefaultShapeFactory.cs +++ b/src/Orchard/DisplayManagement/Implementation/DefaultShapeFactory.cs @@ -6,31 +6,7 @@ using Orchard.DisplayManagement.Descriptors; using Orchard.DisplayManagement.Shapes; namespace Orchard.DisplayManagement.Implementation { - public interface IShapeFactoryEvents : IDependency { - void Creating(ShapeCreatingContext context); - void Created(ShapeCreatedContext context); - } - public abstract class ShapeFactoryEvents : IShapeFactoryEvents{ - public virtual void Creating(ShapeCreatingContext context) {} - public virtual void Created(ShapeCreatedContext context) {} - } - - public class ShapeCreatingContext { - public IShapeFactory ShapeFactory { get; set; } - public dynamic New { get; set; } - public string ShapeType { get; set; } - public Type BaseType { get; set; } - public IList Behaviors { get; set; } - public IList> OnCreated { get; set; } - } - - public class ShapeCreatedContext { - public IShapeFactory ShapeFactory { get; set; } - public dynamic New { get; set; } - public string ShapeType { get; set; } - public dynamic Shape { get; set; } - } diff --git a/src/Orchard/DisplayManagement/Implementation/IShapeFactoryEvents.cs b/src/Orchard/DisplayManagement/Implementation/IShapeFactoryEvents.cs new file mode 100644 index 000000000..6601363f0 --- /dev/null +++ b/src/Orchard/DisplayManagement/Implementation/IShapeFactoryEvents.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using ClaySharp; + +namespace Orchard.DisplayManagement.Implementation { + public interface IShapeFactoryEvents : IDependency { + void Creating(ShapeCreatingContext context); + void Created(ShapeCreatedContext context); + } + + public class ShapeCreatingContext { + public IShapeFactory ShapeFactory { get; set; } + public dynamic New { get; set; } + public string ShapeType { get; set; } + public Type BaseType { get; set; } + public IList Behaviors { get; set; } + public IList> OnCreated { get; set; } + } + + public class ShapeCreatedContext { + public IShapeFactory ShapeFactory { get; set; } + public dynamic New { get; set; } + public string ShapeType { get; set; } + public dynamic Shape { get; set; } + } + + public abstract class ShapeFactoryEvents : IShapeFactoryEvents { + public virtual void Creating(ShapeCreatingContext context) { } + public virtual void Created(ShapeCreatedContext context) { } + } + +} \ No newline at end of file diff --git a/src/Orchard/Orchard.Framework.csproj b/src/Orchard/Orchard.Framework.csproj index 6971bc143..2cb514085 100644 --- a/src/Orchard/Orchard.Framework.csproj +++ b/src/Orchard/Orchard.Framework.csproj @@ -145,6 +145,7 @@ +