mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-14 10:54:50 +08:00
Removing additional obsolete component
--HG-- branch : theming
This commit is contained in:
@@ -1,128 +0,0 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Orchard.Themes;
|
||||
|
||||
namespace Orchard.Mvc.ViewEngines {
|
||||
public class LayoutViewEngine : IViewEngine {
|
||||
private readonly ViewEngineCollection _viewEngines;
|
||||
|
||||
public LayoutViewEngine(ViewEngineCollection viewEngines) {
|
||||
_viewEngines = viewEngines;
|
||||
}
|
||||
|
||||
public ViewEngineResult FindPartialView(ControllerContext controllerContext, string partialViewName, bool useCache) {
|
||||
return new ViewEngineResult(Enumerable.Empty<string>());
|
||||
}
|
||||
|
||||
public ViewEngineResult FindView(
|
||||
ControllerContext controllerContext,
|
||||
string viewName,
|
||||
string masterName,
|
||||
bool useCache) {
|
||||
|
||||
var skipLayoutViewEngine = false;
|
||||
if (string.IsNullOrEmpty(masterName) == false)
|
||||
skipLayoutViewEngine = true;
|
||||
if (!ThemeFilter.IsApplied(controllerContext.RequestContext))
|
||||
skipLayoutViewEngine = true;
|
||||
if (_viewEngines == null || _viewEngines.Count == 0)
|
||||
skipLayoutViewEngine = true;
|
||||
if (skipLayoutViewEngine)
|
||||
return new ViewEngineResult(Enumerable.Empty<string>());
|
||||
|
||||
var bodyView = _viewEngines.FindPartialView(controllerContext, viewName);
|
||||
|
||||
ViewEngineResult layoutView = null;
|
||||
if (!string.IsNullOrEmpty(controllerContext.RouteData.Values["area"] as string))
|
||||
layoutView = _viewEngines.FindPartialView(controllerContext, string.Format("Layout.{0}", controllerContext.RouteData.Values["area"]));
|
||||
if (layoutView == null || layoutView.View == null)
|
||||
layoutView = _viewEngines.FindPartialView(controllerContext, "Layout");
|
||||
|
||||
var documentView = _viewEngines.FindPartialView(controllerContext, "Document");
|
||||
|
||||
if (bodyView.View == null ||
|
||||
layoutView.View == null ||
|
||||
documentView.View == null) {
|
||||
|
||||
var missingTemplatesResult = new ViewEngineResult(
|
||||
(bodyView.SearchedLocations ?? Enumerable.Empty<string>())
|
||||
.Concat((layoutView.SearchedLocations ?? Enumerable.Empty<string>()))
|
||||
.Concat((documentView.SearchedLocations ?? Enumerable.Empty<string>()))
|
||||
);
|
||||
|
||||
return missingTemplatesResult;
|
||||
}
|
||||
|
||||
var view = new LayoutView(this, new[] {
|
||||
bodyView,
|
||||
layoutView,
|
||||
documentView,
|
||||
});
|
||||
|
||||
return new ViewEngineResult(view, this);
|
||||
}
|
||||
|
||||
public void ReleaseView(ControllerContext controllerContext, IView view) {
|
||||
var layoutView = (LayoutView)view;
|
||||
layoutView.ReleaseViews(controllerContext);
|
||||
}
|
||||
|
||||
public IDisposable CreateScope(ViewContext context) {
|
||||
return new Scope(context) { LayoutViewEngine = this };
|
||||
}
|
||||
|
||||
class Scope : IDisposable {
|
||||
private readonly ControllerContext _context;
|
||||
private readonly Scope _prior;
|
||||
|
||||
public Scope(ControllerContext context) {
|
||||
_context = context;
|
||||
_prior = From(context);
|
||||
context.HttpContext.Items[typeof(Scope)] = this;
|
||||
}
|
||||
|
||||
public LayoutViewEngine LayoutViewEngine { get; set; }
|
||||
|
||||
public void Dispose() {
|
||||
_context.HttpContext.Items[typeof(Scope)] = _prior;
|
||||
}
|
||||
|
||||
public static Scope From(ControllerContext context) {
|
||||
return (Scope)context.HttpContext.Items[typeof(Scope)];
|
||||
}
|
||||
}
|
||||
|
||||
public static IViewEngine CreateShim() {
|
||||
return new Shim();
|
||||
}
|
||||
|
||||
class Shim : IViewEngine {
|
||||
public ViewEngineResult FindPartialView(ControllerContext controllerContext, string partialViewName, bool useCache) {
|
||||
var scope = Scope.From(controllerContext);
|
||||
if (scope != null && scope.LayoutViewEngine != null) {
|
||||
var result = scope.LayoutViewEngine._viewEngines.FindPartialView(controllerContext, partialViewName);
|
||||
return result;
|
||||
}
|
||||
|
||||
return new ViewEngineResult(Enumerable.Empty<string>());
|
||||
}
|
||||
|
||||
public ViewEngineResult FindView(ControllerContext controllerContext, string viewName, string masterName, bool useCache) {
|
||||
var scope = Scope.From(controllerContext);
|
||||
if (scope != null && scope.LayoutViewEngine != null) {
|
||||
var result = scope.LayoutViewEngine._viewEngines.FindView(controllerContext, viewName, masterName);
|
||||
return result;
|
||||
}
|
||||
|
||||
return new ViewEngineResult(Enumerable.Empty<string>());
|
||||
}
|
||||
|
||||
public void ReleaseView(ControllerContext controllerContext, IView view) {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -715,8 +715,6 @@
|
||||
<Compile Include="Mvc\Results\NotFoundResult.cs" />
|
||||
<Compile Include="Mvc\Routes\RouteExtensions.cs" />
|
||||
<Compile Include="Mvc\ViewEngines\IViewEngineProvider.cs" />
|
||||
<Compile Include="Mvc\ViewEngines\LayoutView.cs" />
|
||||
<Compile Include="Mvc\ViewEngines\LayoutViewEngine.cs" />
|
||||
<Compile Include="Mvc\ViewEngines\LayoutViewContext.cs" />
|
||||
<Compile Include="Mvc\ViewEngines\ThemeAwareness\ThemedViewResultFilter.cs" />
|
||||
<Compile Include="Mvc\ViewEngines\WebForms\WebFormViewEngineProvider.cs" />
|
||||
|
Reference in New Issue
Block a user