mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
WorkContext.Page -> WorkContext.Layout to be consistent with the shape's template and type names
--HG-- branch : dev
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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) {}
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
@@ -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) {
|
||||
|
@@ -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>
|
||||
|
@@ -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>();
|
||||
|
@@ -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) { }
|
||||
|
@@ -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);
|
||||
|
@@ -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));
|
||||
|
@@ -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" />
|
||||
|
@@ -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));
|
||||
}
|
||||
|
@@ -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) {
|
||||
|
@@ -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));
|
||||
|
||||
|
@@ -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));
|
||||
|
@@ -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);
|
@@ -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 {
|
||||
|
@@ -1,7 +1,7 @@
|
||||
|
||||
==context==
|
||||
|
||||
WorkContext.Page == Layout shape
|
||||
WorkContext.Layout == Layout shape
|
||||
|
||||
|
||||
==shapes==
|
||||
|
Reference in New Issue
Block a user