Files
Orchard/src/Orchard.Web/Modules/Orchard.DesignerTools/Views/ShapeTracingMeta.cshtml
Sebastien Ros 5dcbffd3a2 Adding alternate creation gesture
--HG--
branch : dev
2011-03-24 18:11:11 -07:00

96 lines
5.2 KiB
Plaintext

@using Orchard.Utility.Extensions;
@functions {
string FormatShapeFilename(string type, string themeId) {
return "~/Themes/" + themeId + "/Views/" + type.Replace("__", "-").Replace("_", ".") + ".cshtml";
}
string RemoveBeacons(string htmlContent) {
var regex = new System.Text.RegularExpressions.Regex(@"<script\sclass=""shape-tracing-wrapper(.*?)</script>");
return regex.Replace(htmlContent, String.Empty);
}
string RemoveEmptyLines(string htmlContent) {
var regex = new System.Text.RegularExpressions.Regex(@"[\r\n]+");
return regex.Replace(htmlContent, System.Environment.NewLine);
}
}
<div class="shape-tracing-meta" shape-id-meta="@Model.ShapeId" style="display:none">
<ul class="shape-tracing-tabs">
<li class="shape selected first"><a href="#">Shape</a></li>
<li class="model middle"><a href="#">Model</a></li>
<li class="placement middle"><a href="#">Placement</a></li>
<li class="template middle"><a href="#">Template</a></li>
<li class="html last"><a href="#">HTML</a></li>
</ul>
<div class="shape-tracing-meta-content">
<div class="shape grid-display">
<ul class="properties">
<li class="sgd-s"><div class="name">Shape</div><div class="value">@Model.ShapeType</div></li>
<li class="sgd-t"><div class="name">Template</div><div class="value"><a href="#">@Model.Template</a></div></li>
<li class="sgd-d"><div class="name">Display Type</div><div class="value">@(String.IsNullOrEmpty((string)Model.DisplayType) ? T("n/a").Text : Model.DisplayType.ToString())</div></li>
<li class="sgd-po"><div class="name">Position</div><div class="value">@(String.IsNullOrEmpty((string)Model.Position) ? T("n/a").Text : Model.Position.ToString())</div></li>
<li class="sgd-pl"><div class="name">Placement</div><div class="value">@(String.IsNullOrEmpty((string)Model.PlacementSource) ? T("n/a").Text : Model.PlacementSource.ToString())</div></li>
<li class="sgd-a"><div class="name">Alternates (@Model.Alternates.Count)</div>
<div class="value">&nbsp;</div>
<ul>
@foreach (var alternate in Model.Alternates) {
var formatted = @FormatShapeFilename(alternate, WorkContext.CurrentTheme.Id);
<li>
<div class="name">
@using (Html.BeginFormAntiForgeryPost(Url.Action("Create", "Alternate", new { Area = "Orchard.DesignerTools" }), FormMethod.Post, new { @class = "inline link" })) {
@Html.Hidden("Alternate", (string)alternate)
@Html.Hidden("Template", (string)Model.Template)
@Html.Hidden("ReturnUrl", Context.Request.RawUrl)
<button type="submit" class="create-template">@T("Create").Text</button>
}
</div>
<div class="value">@formatted</div>
</li>
}
</ul>
</li>
<li class="sgd-w"><div class="name">Wrappers (@Model.Wrappers.Count)</div>
<div class="value">&nbsp;</div>
<ul>
@foreach (var wrapper in Model.Wrappers) {
if (wrapper != "ShapeTracing_Wrapper") {
var formatted = @FormatShapeFilename(wrapper, WorkContext.CurrentTheme.Id);
<li><div class="name">&nbsp;</div><div class="value">@formatted</div></li>
}
}
</ul>
</li>
</ul>
</div>
<div class="model grid-display" style="display:none">
<div class="shape-tracing-breadcrumb"></div>
@(new MvcHtmlString(@Model.Dump))
</div>
<div class="placement" style="display:none">
<div class="shape-tracing-breadcrumb">@(String.IsNullOrEmpty((string)Model.PlacementSource) ? T("").Text : Model.PlacementSource.ToString())</div>
<textarea id="placement-@Model.ShapeId" name="placement-@Model.ShapeId">@Model.PlacementContent</textarea>
</div>
<div class="template" style="display:none">
<div class="shape-tracing-breadcrumb">@Model.Template</div>
@if (String.IsNullOrWhiteSpace((string)Model.TemplateContent)) {
if (!String.IsNullOrWhiteSpace((string)Model.Template)) {
@T("Content not available as coming from source code.")
}
}
else {
<textarea id="template-@Model.ShapeId" name="template-@Model.ShapeId">@Model.TemplateContent</textarea>
}
</div>
<div class="html" style="display:none">
<textarea id="html-@Model.ShapeId" name="html-@Model.ShapeId">@RemoveEmptyLines(RemoveBeacons(Display(Model.ChildContent).ToString()))</textarea>
</div>
</div>
</div>