Changes the Preview Index.cshtml to use a real model instead of viewdata, adds the correct razor web.config for these preview views, changes the enabled feature to be able to inject a razor view instead of strings
This commit is contained in:
@@ -849,6 +849,7 @@
|
||||
<Content Include="Umbraco\Views\Preview\Radius.cshtml" />
|
||||
<Content Include="Umbraco\Views\Preview\Shadow.cshtml" />
|
||||
<Content Include="Umbraco\Views\Preview\Slider.cshtml" />
|
||||
<Content Include="Umbraco\Views\Preview\web.config" />
|
||||
<None Include="Web.Debug.config.transformed" />
|
||||
<None Include="web.Template.Debug.config">
|
||||
<DependentUpon>Web.Template.config</DependentUpon>
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
@inherits System.Web.Mvc.WebViewPage
|
||||
@{
|
||||
var disableDevicePreview = ViewData["DisableDevicePreview"].ToString().ToLowerInvariant();
|
||||
var extendPreviewHtml = ViewData["ExtendPreviewHtml"] != null ? ViewData["ExtendPreviewHtml"].ToString() : null;
|
||||
}
|
||||
@inherits System.Web.Mvc.WebViewPage<Umbraco.Web.Models.ContentEditing.BackOfficePreview>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
@@ -12,15 +9,15 @@
|
||||
<link href="../lib/jquery-ui/jquery-ui-1.10.4.custom.min.css" type="text/css" rel="stylesheet" />
|
||||
</head>
|
||||
<body id="canvasdesignerPanel" ng-mouseover="outlinePositionHide()" ng-class="{ leftOpen: (showStyleEditor || showPalettePicker) && !showDevicesPreview }" ng-controller="Umbraco.canvasdesignerController">
|
||||
@if (extendPreviewHtml != null)
|
||||
@if (string.IsNullOrWhiteSpace(Model.PreviewExtendedView) == false)
|
||||
{
|
||||
@Html.Raw(extendPreviewHtml)
|
||||
@Html.Partial(Model.PreviewExtendedView)
|
||||
}
|
||||
<div class="wait" ng-show="!frameLoaded"></div>
|
||||
<div id="demo-iframe-wrapper" ng-show="frameLoaded" class="{{previewDevice.css}}">
|
||||
<iframe id="resultFrame" ng-src="{{pageUrl}}" frameborder="0" iframe-is-loaded></iframe>
|
||||
</div>
|
||||
<div class="canvasdesigner" ng-init="showDevicesPreview = true; showDevices = !@(disableDevicePreview); showPalettePicker = true" ng-mouseenter="positionSelectedHide()">
|
||||
<div class="canvasdesigner" ng-init="showDevicesPreview = true; showDevices = !@Model.DisableDevicePreview; showPalettePicker = true" ng-mouseenter="positionSelectedHide()">
|
||||
<div class="fix-left-menu selected">
|
||||
<div class="avatar">
|
||||
<img ng-src="../assets/img/application/logo.png"
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Web.Mvc;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Core.Configuration;
|
||||
using Umbraco.Web.Features;
|
||||
using Umbraco.Web.Models.ContentEditing;
|
||||
using Umbraco.Web.Mvc;
|
||||
|
||||
namespace Umbraco.Web.Editors
|
||||
@@ -14,11 +15,21 @@ namespace Umbraco.Web.Editors
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
ViewData["DisableDevicePreview"] = FeaturesResolver.Current.Features.Disabled.DevicePreview;
|
||||
if (string.IsNullOrWhiteSpace(FeaturesResolver.Current.Features.Enabled.ExtendPreviewHtml) == false)
|
||||
var model = new BackOfficePreview
|
||||
{
|
||||
ViewData["ExtendPreviewHtml"] = FeaturesResolver.Current.Features.Enabled.ExtendPreviewHtml;
|
||||
DisableDevicePreview = FeaturesResolver.Current.Features.Disabled.DisableDevicePreview,
|
||||
PreviewExtendedView = FeaturesResolver.Current.Features.Enabled.PreviewExtendedView
|
||||
};
|
||||
|
||||
if (model.PreviewExtendedView.IsNullOrWhiteSpace() == false)
|
||||
{
|
||||
var viewEngineResult = ViewEngines.Engines.FindPartialView(ControllerContext, model.PreviewExtendedView);
|
||||
if (viewEngineResult.View == null)
|
||||
{
|
||||
throw new InvalidOperationException("Could not find the view " + model.PreviewExtendedView + ", the following locations were searched: " + Environment.NewLine + string.Join(Environment.NewLine, viewEngineResult.SearchedLocations));
|
||||
}
|
||||
}
|
||||
|
||||
return View(GlobalSettings.Path.EnsureEndsWith('/') + "Views/Preview/" + "Index.cshtml");
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace Umbraco.Web.Features
|
||||
/// <summary>
|
||||
/// Disables the device preview feature of previewing.
|
||||
/// </summary>
|
||||
public bool DevicePreview { get; set; }
|
||||
public bool DisableDevicePreview { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// If true, all references to templates will be removed in the back office and routing
|
||||
|
||||
@@ -7,8 +7,11 @@ namespace Umbraco.Web.Features
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// This allows us to inject html into the preview function extending the view with custom data.
|
||||
/// This allows us to inject a razor view into the Umbraco preview view to extend it
|
||||
/// </summary>
|
||||
public string ExtendPreviewHtml { get; set; }
|
||||
/// <remarks>
|
||||
/// This is set to a virtual path of a razor view file
|
||||
/// </remarks>
|
||||
public string PreviewExtendedView { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ namespace Umbraco.Web.Features
|
||||
public UmbracoFeatures()
|
||||
{
|
||||
Disabled = new DisabledFeatures();
|
||||
Enabled = new EnabledFeatures();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -6,6 +6,7 @@ using Umbraco.Core.Models;
|
||||
|
||||
namespace Umbraco.Web.Models.ContentEditing
|
||||
{
|
||||
|
||||
[DataContract(Name = "auditLog", Namespace = "")]
|
||||
public class AuditLog
|
||||
{
|
||||
@@ -31,4 +32,4 @@ namespace Umbraco.Web.Models.ContentEditing
|
||||
[DataMember(Name = "comment")]
|
||||
public string Comment { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
11
src/Umbraco.Web/Models/ContentEditing/BackOfficePreview.cs
Normal file
11
src/Umbraco.Web/Models/ContentEditing/BackOfficePreview.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
namespace Umbraco.Web.Models.ContentEditing
|
||||
{
|
||||
/// <summary>
|
||||
/// The model representing Previewing of a content item from the back office
|
||||
/// </summary>
|
||||
public class BackOfficePreview
|
||||
{
|
||||
public string PreviewExtendedView { get; set; }
|
||||
public bool DisableDevicePreview { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -334,6 +334,7 @@
|
||||
<Compile Include="Editors\TourController.cs" />
|
||||
<Compile Include="Features\EnabledFeatures.cs" />
|
||||
<Compile Include="Models\BackOfficeTourFilter.cs" />
|
||||
<Compile Include="Models\ContentEditing\BackOfficePreview.cs" />
|
||||
<Compile Include="Models\Mapping\AutoMapperExtensions.cs" />
|
||||
<Compile Include="Models\Mapping\ContentTreeNodeUrlResolver.cs" />
|
||||
<Compile Include="Models\Mapping\MemberTreeNodeUrlResolver.cs" />
|
||||
|
||||
Reference in New Issue
Block a user