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:
Shannon
2018-03-14 13:56:49 +11:00
parent 7db4f841e3
commit 3e2fa64820
9 changed files with 41 additions and 15 deletions

View File

@@ -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>

View File

@@ -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"