Improving Layers edition experience

--HG--
branch : 1.x
This commit is contained in:
Sebastien Ros
2012-02-28 11:36:07 -08:00
parent 04ce5c1c49
commit 11ea1ec15d
6 changed files with 28 additions and 17 deletions

View File

@@ -45,11 +45,11 @@
<Migration features="*" />
<Command>
layer create Default /LayerRule:"true"
layer create Authenticated /LayerRule:"authenticated"
layer create Anonymous /LayerRule:"not authenticated"
layer create Disabled /LayerRule:"false"
layer create TheHomepage /LayerRule:"url '~/'"
layer create Default /LayerRule:"true" /Description:"The widgets in this layer are displayed on all pages"
layer create Authenticated /LayerRule:"authenticated" /Description:"The widgets in this layer are displayed when the user is authenticated"
layer create Anonymous /LayerRule:"not authenticated" /Description:"The widgets in this layer are displayed when the user is anonymous"
layer create Disabled /LayerRule:"false" /Description:"The widgets in this layer are never displayed"
layer create TheHomepage /LayerRule:"url '~/'" /Description:"The widgets in this layer are displayed on the home page"
widget create HtmlWidget /Title:"First Leader Aside" /Zone:"TripelFirst" /Position:"5" /Layer:"TheHomepage" /Identity:"SetupHtmlWidget1" /UseLoremIpsumText:true
widget create HtmlWidget /Title:"Second Leader Aside" /Zone:"TripelSecond" /Position:"5" /Layer:"TheHomepage" /Identity:"SetupHtmlWidget2" /UseLoremIpsumText:true
widget create HtmlWidget /Title:"Third Leader Aside" /Zone:"TripelThird" /Position:"5" /Layer:"TheHomepage" /Identity:"SetupHtmlWidget3" /UseLoremIpsumText:true

View File

@@ -42,11 +42,11 @@
<Migration features="*" />
<Command>
layer create Default /LayerRule:"true"
layer create Authenticated /LayerRule:"authenticated"
layer create Anonymous /LayerRule:"not authenticated"
layer create Disabled /LayerRule:"false"
layer create TheHomepage /LayerRule:"url '~/'"
layer create Default /LayerRule:"true" /Description:"The widgets in this layer are displayed on all pages"
layer create Authenticated /LayerRule:"authenticated" /Description:"The widgets in this layer are displayed when the user is authenticated"
layer create Anonymous /LayerRule:"not authenticated" /Description:"The widgets in this layer are displayed when the user is anonymous"
layer create Disabled /LayerRule:"false" /Description:"The widgets in this layer are never displayed"
layer create TheHomepage /LayerRule:"url '~/'" /Description:"The widgets in this layer are displayed on the home page"
widget create HtmlWidget /Title:"First Leader Aside" /Zone:"TripelFirst" /Position:"5" /Layer:"TheHomepage" /Identity:"SetupHtmlWidget1" /UseLoremIpsumText:true
widget create HtmlWidget /Title:"Second Leader Aside" /Zone:"TripelSecond" /Position:"5" /Layer:"TheHomepage" /Identity:"SetupHtmlWidget2" /UseLoremIpsumText:true
widget create HtmlWidget /Title:"Third Leader Aside" /Zone:"TripelThird" /Position:"5" /Layer:"TheHomepage" /Identity:"SetupHtmlWidget3" /UseLoremIpsumText:true

View File

@@ -50,7 +50,7 @@ namespace Orchard.Widgets {
ContentDefinitionManager.AlterTypeDefinition("Layer",
cfg => cfg
.WithPart("LayerPart")
.WithPart("CommonPart")
.WithPart("CommonPart", p => p.WithSetting("OwnerEditorSettings.ShowOwnerEditor", "false"))
);
ContentDefinitionManager.AlterTypeDefinition("HtmlWidget",

View File

@@ -3,14 +3,17 @@
<fieldset>
@Html.LabelFor(layer => layer.Name, T("Name"))
@Html.TextBoxFor(layer => layer.Name, new { @class = "text-box single-line" })
<span class="hint">@T("The name of the Layer as it will be displayed in the admin pages.")</span>
</fieldset>
<fieldset>
@Html.LabelFor(layer => layer.Description, T("Description"))
@Html.TextAreaFor(layer => layer.Description)
<span class="hint">@T("Some text describing the purpose of this Layer.")</span>
</fieldset>
<fieldset>
@Html.LabelFor(layer => layer.LayerRule, T("Layer Rule"))
@Html.TextAreaFor(layer => layer.LayerRule)
<span class="hint">@T("An expression that evaluates to true when the widgets in this layer must be displayed. See <a href=\"http://docs.orchardproject.net/Documentation/Managing-widgets#AddingaLayer\">http://docs.orchardproject.net/Documentation/Managing-widgets#AddingaLayer</a> for more information.")</span>
</fieldset>

View File

@@ -6,7 +6,7 @@
}
<script type="text/javascript">
//<![CDATA[
document.write("<div id=\"widgets-layer-visibility\"><h3>All Layers:</h3></div>");
document.write("<div id=\"widgets-layer-visibility\"><h3>@T("All Layers:")</h3></div>");
//]]>
</script>
@using(Script.Foot()) {
@@ -16,7 +16,7 @@
var currentLayerId = @Model.CurrentLayer.Id;
var layers = [
@foreach (var layer in layers) {
<text>{"name":"@layer.Name","id":@layer.Id}@(layer != layers.Last() ? "," : "")</text>
<text>{"name":"@layer.Name","description":"@layer.Description","id":@layer.Id}@(layer != layers.Last() ? "," : "")</text>
}
];
var visWrapper = $("#widgets-layer-visibility");
@@ -28,14 +28,14 @@
var layer = "";
if (layersWidgets.length > 0) {
layer = $("<li class=\"widgets-" + ((layers[i].id == currentLayerId && "this") || "other") + "-layer\">" + layers[i].name + "</li>");
layer = $("<li title=\"" + layers[i].description + "\" class=\"widgets-" + ((layers[i].id == currentLayerId && "this") || "other") + "-layer\">" + layers[i].name + "</li>");
layer.data("widgets", layersWidgets);
layersWidgets.each(function(){
$(this).data("widgets-vis-control", layer);
});
}
else {
layer = $("<li class=\"widgets-empty-layer" + ((layers[i].id == currentLayerId && " widgets-this-layer") || "") + "\">" + layers[i].name + " <span>[empty]</span></li>");
layer = $("<li title=\"" + layers[i].description + "\" class=\"widgets-empty-layer" + ((layers[i].id == currentLayerId && " widgets-this-layer") || "") + "\">" + layers[i].name + " <span>[empty]</span></li>");
}
visContainer.append(layer);

View File

@@ -8,7 +8,7 @@
var returnUrl = Request.RawUrl;
}
<div id="widgets-layers-control" class="widgets-container">
@if (layers.Count() > 0) {
@if (layers.Any()) {
using (Html.BeginForm("index", "admin", FormMethod.Get, new {area = "Orchard.Widgets"})) {
<fieldset class="bulk-actions-auto">
<label for="layerId">@T("Current Layer:")</label>
@@ -25,4 +25,12 @@
<div id="widgets-layer-add">
@Html.Link(T("Add a new layer...").Text, Url.Action("AddLayer", "Admin", new { area = "Orchard.Widgets", returnUrl }))
</div>
</div>
@if (!String.IsNullOrEmpty(Model.CurrentLayer.Description)) {
<div>
<span class="hint" id="widgets-layer-description">@Model.CurrentLayer.Description</span>
<br />
</div>
}
</div>