WorkContext.Page -> WorkContext.Layout to be consistent with the shape's template and type names

--HG--
branch : dev
This commit is contained in:
Nathan Heskew
2010-10-07 12:11:49 -07:00
parent 34bbd4a062
commit 1e22892c71
18 changed files with 70 additions and 69 deletions

View File

@@ -22,7 +22,7 @@ namespace Orchard.Tests.UI {
builder.RegisterType<DefaultWorkContextAccessor>().As<IWorkContextAccessor>();
builder.RegisterType<DefaultShapeFactory>().As<IShapeFactory>();
builder.RegisterType<DefaultShapeTableManager>().As<IShapeTableManager>();
builder.RegisterType<PageWorkContext>().As<IWorkContextStateProvider>();
builder.RegisterType<LayoutWorkContext>().As<IWorkContextStateProvider>();
//builder.RegisterType<CoreShapes>().As<IShapeTableProvider>();
builder.RegisterType<NumberIsAlwaysFortyTwo>().As<IShapeFactoryEvents>();
@@ -35,74 +35,74 @@ namespace Orchard.Tests.UI {
[Test, Ignore("implementation pending")]
public void WorkContextPageIsLayoutShape() {
var page = _workContext.Page;
ShapeMetadata pageMetadata = page.Metadata;
var layout = _workContext.Layout;
ShapeMetadata pageMetadata = layout.Metadata;
Assert.That(pageMetadata.Type, Is.EqualTo("Layout"));
Assert.That(page.Metadata.Type, Is.EqualTo("Layout"));
Assert.That(layout.Metadata.Type, Is.EqualTo("Layout"));
}
[Test, Ignore("implementation pending")]
public void PagePropertiesAreNil() {
var page = _workContext.Page;
var pageFoo = page.Foo;
var layout = _workContext.Layout;
var pageFoo = layout.Foo;
Assert.That(pageFoo == null);
}
[Test, Ignore("implementation pending")]
public void PageZonesPropertyIsNotNil() {
var page = _workContext.Page;
var pageZones = page.Zones;
var layout = _workContext.Layout;
var pageZones = layout.Zones;
Assert.That(pageZones != null);
Assert.That(pageZones.Foo == null);
}
[Test, Ignore("implementation pending")]
public void AddingToZonePropertyMakesItExist() {
var page = _workContext.Page;
Assert.That(page.Zones.Foo == null);
var layout = _workContext.Layout;
Assert.That(layout.Zones.Foo == null);
var pageZonesFoo = page.Zones.Foo;
var pageZonesFoo = layout.Zones.Foo;
pageZonesFoo.Add("hello");
Assert.That(page.Zones.Foo != null);
Assert.That(page.Foo != null);
Assert.That(page.Foo.Metadata.Type, Is.EqualTo("Zone"));
Assert.That(layout.Zones.Foo != null);
Assert.That(layout.Foo != null);
Assert.That(layout.Foo.Metadata.Type, Is.EqualTo("Zone"));
}
[Test, Ignore("implementation pending")]
public void AddingToZoneIndexedMakesItExist() {
var page = _workContext.Page;
Assert.That(page.Zones["Foo"] == null);
var layout = _workContext.Layout;
Assert.That(layout.Zones["Foo"] == null);
var pageZonesFoo = page.Zones["Foo"];
var pageZonesFoo = layout.Zones["Foo"];
pageZonesFoo.Add("hello");
Assert.That(page.Zones["Foo"] != null);
Assert.That(page["Foo"] != null);
Assert.That(page["Foo"].Metadata.Type, Is.EqualTo("Zone"));
Assert.That(layout.Zones["Foo"] != null);
Assert.That(layout["Foo"] != null);
Assert.That(layout["Foo"].Metadata.Type, Is.EqualTo("Zone"));
}
[Test, Ignore("implementation pending")]
public void CallingAddOnNilPropertyMakesItBecomeZone() {
var page = _workContext.Page;
Assert.That(page.Foo == null);
var layout = _workContext.Layout;
Assert.That(layout.Foo == null);
page.Foo.Add("hello");
layout.Foo.Add("hello");
Assert.That(page.Foo != null);
Assert.That(page.Foo.Metadata.Type, Is.EqualTo("Zone"));
Assert.That(layout.Foo != null);
Assert.That(layout.Foo.Metadata.Type, Is.EqualTo("Zone"));
}
[Test, Ignore("implementation pending")]
public void ZoneContentsAreEnumerable() {
var page = _workContext.Page;
Assert.That(page.Foo == null);
var layout = _workContext.Layout;
Assert.That(layout.Foo == null);
page.Foo.Add("hello");
page.Foo.Add("world");
layout.Foo.Add("hello");
layout.Foo.Add("world");
var list = new List<object>();
foreach (var item in page.Foo) {
foreach (var item in layout.Foo) {
list.Add(item);
}
@@ -126,11 +126,11 @@ namespace Orchard.Tests.UI {
[Test, Ignore("implementation pending")]
public void NumberIsFortyTwo() {
var page = _workContext.Page;
Assert.That(page.Number, Is.EqualTo(42));
Assert.That(page.Foo.Number == null);
page.Foo.Add("yarg");
Assert.That(page.Foo.Number, Is.EqualTo(42));
var layout = _workContext.Layout;
Assert.That(layout.Number, Is.EqualTo(42));
Assert.That(layout.Foo.Number == null);
layout.Foo.Add("yarg");
Assert.That(layout.Foo.Number, Is.EqualTo(42));
}
}

View File

@@ -18,10 +18,10 @@ namespace Orchard.Core.Feeds.Services {
dynamic Shape { get; set; }
public void OnResultExecuting(ResultExecutingContext filterContext) {
var page =_workContextAccessor.GetContext(filterContext).Page;
var layout = _workContextAccessor.GetContext(filterContext).Layout;
var feed = Shape.Feed()
.FeedManager(_feedManager);
page.Zones.Head.Add(feed, ":after");
layout.Zones.Head.Add(feed, ":after");
}
public void OnResultExecuted(ResultExecutedContext filterContext) {}

View File

@@ -36,14 +36,14 @@ namespace Orchard.Core.Shapes {
.Configure(descriptor => descriptor.Wrappers.Add("Document"))
.OnCreating(creating => creating.Behaviors.Add(new ZoneHoldingBehavior(name => CreateZone(creating, name))))
.OnCreated(created => {
var page = created.Shape;
page.Head = created.New.DocumentZone();
page.Body = created.New.DocumentZone();
page.Tail = created.New.DocumentZone();
page.Content = created.New.Zone();
var layout = created.Shape;
layout.Head = created.New.DocumentZone();
layout.Body = created.New.DocumentZone();
layout.Tail = created.New.DocumentZone();
layout.Content = created.New.Zone();
page.Body.Add(created.New.PlaceChildContent(Source: page));
page.Content.Add(created.New.PlaceChildContent(Source: page));
layout.Body.Add(created.New.PlaceChildContent(Source: layout));
layout.Content.Add(created.New.PlaceChildContent(Source: layout));
});
// 'Zone' shapes are built on the Zone base class

View File

@@ -35,7 +35,7 @@ namespace Orchard.Blogs.Filters {
BlogPart blog = model.ContentItem.Get(typeof (BlogPart));
var blogArchives = shape.BlogArchives()
.Archives(new BlogPostArchiveViewModel { BlogPart = blog, Archives = _blogPostService.GetArchives(blog) });
workContext.Page.Sidebar.Add(blogArchives);
workContext.Layout.Sidebar.Add(blogArchives);
return;
}
@@ -43,7 +43,7 @@ namespace Orchard.Blogs.Filters {
BlogPart blog = model.Blog.ContentItem.Get(typeof (BlogPart));
var blogArchives = shape.BlogArchives()
.Archives(new BlogPostArchiveViewModel { BlogPart = blog, Archives = _blogPostService.GetArchives(blog) });
workContext.Page.Sidebar.Add(blogArchives);
workContext.Layout.Sidebar.Add(blogArchives);
return;
}
}

View File

@@ -14,7 +14,7 @@ namespace Orchard.Search.Filters {
var workContext = _workContextAccessor.GetContext(filterContext);
if (search != null)
workContext.Page.Search.Add(search);
workContext.Layout.Search.Add(search);
}
public void OnResultExecuted(ResultExecutedContext filterContext) {

View File

@@ -49,7 +49,9 @@
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System.Web.Mvc">
<HintPath>..\..\..\..\lib\aspnetmvc\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>

View File

@@ -86,7 +86,7 @@ namespace Orchard.Setup {
builder.RegisterType<ThemeAwareViewEngine>().As<IThemeAwareViewEngine>();
builder.RegisterType<LayoutAwareViewEngine>().As<ILayoutAwareViewEngine>();
builder.RegisterType<ConfiguredEnginesCache>().As<IConfiguredEnginesCache>();
builder.RegisterType<PageWorkContext>().As<IWorkContextStateProvider>();
builder.RegisterType<LayoutWorkContext>().As<IWorkContextStateProvider>();
builder.RegisterType<SafeModeSiteWorkContextProvider>().As<IWorkContextStateProvider>();
builder.RegisterType<ShapeTemplateBindingStrategy>().As<IShapeTableProvider>();

View File

@@ -34,7 +34,7 @@ namespace Orchard.Themes.Preview {
var shape = _shapeHelperFactory.CreateHelper();
_workContextAccessor.GetContext(filterContext).Page.Zones["Body"].Add(shape.ThemePreview(Themes: themeListItems), ":before");
_workContextAccessor.GetContext(filterContext).Layout.Zones["Body"].Add(shape.ThemePreview(Themes: themeListItems), ":before");
}
public void OnResultExecuted(ResultExecutedContext filterContext) { }

View File

@@ -24,7 +24,7 @@ namespace Orchard.Widgets.Filters {
var workContext = _workContextAccessor.GetContext(filterContext);
if (workContext == null ||
workContext.Page == null ||
workContext.Layout == null ||
workContext.CurrentSite == null ||
AdminFilter.IsApplied(filterContext.RequestContext)) {
return;
@@ -43,7 +43,7 @@ namespace Orchard.Widgets.Filters {
}
// Build and add shape to zone.
var zones = workContext.Page.Zones;
var zones = workContext.Layout.Zones;
foreach (var widgetPart in widgetParts) {
if (activeLayerIds.Contains(widgetPart.As<ICommonPart>().Container.ContentItem.Id)) {
var widgetShape = _contentManager.BuildDisplayModel(widgetPart);

View File

@@ -52,10 +52,10 @@ namespace Orchard.Mvc.ViewEngines.ThemeAwareness {
childContentWriter);
viewResult.View.Render(childContentViewContext, childContentWriter);
_workContext.Page.Metadata.ChildContent = childContentWriter;
_workContext.Layout.Metadata.ChildContent = childContentWriter;
var display = _displayHelperFactory.CreateHelper(viewContext, viewDataContainer);
IHtmlString result = display(_workContext.Page);
IHtmlString result = display(_workContext.Layout);
writer.Write(result.ToHtmlString());
}, (context, view) => viewResult.ViewEngine.ReleaseView(context, viewResult.View));

View File

@@ -181,7 +181,7 @@
<Compile Include="UI\Widgets\IRuleManager.cs" />
<Compile Include="UI\Widgets\IRuleProvider.cs" />
<Compile Include="UI\Widgets\RuleContext.cs" />
<Compile Include="UI\Zones\PageWorkContext.cs" />
<Compile Include="UI\Zones\LayoutWorkContext.cs" />
<Compile Include="UI\Zones\ZoneHoldingBehavior.cs" />
<Compile Include="Mvc\ViewEngines\ThemeAwareness\ConfiguredEnginesCache.cs" />
<Compile Include="Mvc\ViewEngines\ThemeAwareness\LayoutAwareViewEngine.cs" />

View File

@@ -28,7 +28,7 @@ namespace Orchard.UI.Admin.Notification {
return;
var shape = _shapeHelperFactory.CreateHelper();
var messagesZone = _workContextAccessor.GetContext(filterContext).Page.Zones["Messages"];
var messagesZone = _workContextAccessor.GetContext(filterContext).Layout.Zones["Messages"];
foreach(var messageEntry in messageEntries)
messagesZone = messagesZone.Add(shape.Message(messageEntry));
}

View File

@@ -30,7 +30,7 @@ namespace Orchard.UI.Navigation {
var menuShape = shape.Menu().MenuName(menuName);
PopulateMenu(shape, menuShape, menuItems);
workContext.Page.Navigation.Add(menuShape);
workContext.Layout.Navigation.Add(menuShape);
}
private void PopulateMenu(dynamic shape, dynamic parentShape, IEnumerable<MenuItem> menuItems) {

View File

@@ -83,7 +83,7 @@ namespace Orchard.UI.Notify {
return;
var shape = _shapeHelperFactory.CreateHelper();
var messagesZone = _workContextAccessor.GetContext(filterContext).Page.Zones["Messages"];
var messagesZone = _workContextAccessor.GetContext(filterContext).Layout.Zones["Messages"];
foreach(var messageEntry in messageEntries)
messagesZone = messagesZone.Add(shape.Message(messageEntry));

View File

@@ -18,8 +18,8 @@ namespace Orchard.UI.Resources {
public void OnResultExecuting(ResultExecutingContext filterContext) {
var ctx = _workContextAccessor.GetContext();
var head = ctx.Page.Head;
var tail = ctx.Page.Tail;
var head = ctx.Layout.Head;
var tail = ctx.Layout.Tail;
head.Add(Shape.Metas().ResourceManager(_resourceManager));
head.Add(Shape.HeadLinks().ResourceManager(_resourceManager));
head.Add(Shape.StylesheetLinks().ResourceManager(_resourceManager));

View File

@@ -1,17 +1,16 @@
using System.Linq;
using ClaySharp.Implementation;
using ClaySharp.Implementation;
using Orchard.DisplayManagement;
namespace Orchard.UI.Zones {
public class PageWorkContext : IWorkContextStateProvider {
public class LayoutWorkContext : IWorkContextStateProvider {
private readonly IShapeFactory _shapeFactory;
public PageWorkContext(IShapeFactory shapeFactory) {
public LayoutWorkContext(IShapeFactory shapeFactory) {
_shapeFactory = shapeFactory;
}
public T Get<T>(string name) {
if (name == "Page") {
if (name == "Layout") {
return (dynamic)_shapeFactory.Create("Layout", Arguments.Empty());
}
return default(T);

View File

@@ -15,9 +15,9 @@ namespace Orchard {
set { SetState("HttpContext", value); }
}
public dynamic Page {
get { return GetState<object>("Page"); }
set { SetState("Page", value); }
public dynamic Layout {
get { return GetState<object>("Layout"); }
set { SetState("Layout", value); }
}
public ISite CurrentSite {

View File

@@ -1,7 +1,7 @@
==context==
WorkContext.Page == Layout shape
WorkContext.Layout == Layout shape
==shapes==