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
@@ -45,11 +45,11 @@
<Migration features="*" /> <Migration features="*" />
<Command> <Command>
layer create Default /LayerRule:"true" layer create Default /LayerRule:"true" /Description:"The widgets in this layer are displayed on all pages"
layer create Authenticated /LayerRule:"authenticated" layer create Authenticated /LayerRule:"authenticated" /Description:"The widgets in this layer are displayed when the user is authenticated"
layer create Anonymous /LayerRule:"not 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" layer create Disabled /LayerRule:"false" /Description:"The widgets in this layer are never displayed"
layer create TheHomepage /LayerRule:"url '~/'" 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:"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:"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 widget create HtmlWidget /Title:"Third Leader Aside" /Zone:"TripelThird" /Position:"5" /Layer:"TheHomepage" /Identity:"SetupHtmlWidget3" /UseLoremIpsumText:true
@@ -42,11 +42,11 @@
<Migration features="*" /> <Migration features="*" />
<Command> <Command>
layer create Default /LayerRule:"true" layer create Default /LayerRule:"true" /Description:"The widgets in this layer are displayed on all pages"
layer create Authenticated /LayerRule:"authenticated" layer create Authenticated /LayerRule:"authenticated" /Description:"The widgets in this layer are displayed when the user is authenticated"
layer create Anonymous /LayerRule:"not 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" layer create Disabled /LayerRule:"false" /Description:"The widgets in this layer are never displayed"
layer create TheHomepage /LayerRule:"url '~/'" 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:"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:"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 widget create HtmlWidget /Title:"Third Leader Aside" /Zone:"TripelThird" /Position:"5" /Layer:"TheHomepage" /Identity:"SetupHtmlWidget3" /UseLoremIpsumText:true
@@ -50,7 +50,7 @@ namespace Orchard.Widgets {
ContentDefinitionManager.AlterTypeDefinition("Layer", ContentDefinitionManager.AlterTypeDefinition("Layer",
cfg => cfg cfg => cfg
.WithPart("LayerPart") .WithPart("LayerPart")
.WithPart("CommonPart") .WithPart("CommonPart", p => p.WithSetting("OwnerEditorSettings.ShowOwnerEditor", "false"))
); );
ContentDefinitionManager.AlterTypeDefinition("HtmlWidget", ContentDefinitionManager.AlterTypeDefinition("HtmlWidget",
@@ -3,14 +3,17 @@
<fieldset> <fieldset>
@Html.LabelFor(layer => layer.Name, T("Name")) @Html.LabelFor(layer => layer.Name, T("Name"))
@Html.TextBoxFor(layer => layer.Name, new { @class = "text-box single-line" }) @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>
<fieldset> <fieldset>
@Html.LabelFor(layer => layer.Description, T("Description")) @Html.LabelFor(layer => layer.Description, T("Description"))
@Html.TextAreaFor(layer => layer.Description) @Html.TextAreaFor(layer => layer.Description)
<span class="hint">@T("Some text describing the purpose of this Layer.")</span>
</fieldset> </fieldset>
<fieldset> <fieldset>
@Html.LabelFor(layer => layer.LayerRule, T("Layer Rule")) @Html.LabelFor(layer => layer.LayerRule, T("Layer Rule"))
@Html.TextAreaFor(layer => layer.LayerRule) @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> </fieldset>
@@ -6,7 +6,7 @@
} }
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![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> </script>
@using(Script.Foot()) { @using(Script.Foot()) {
@@ -16,7 +16,7 @@
var currentLayerId = @Model.CurrentLayer.Id; var currentLayerId = @Model.CurrentLayer.Id;
var layers = [ var layers = [
@foreach (var layer in 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"); var visWrapper = $("#widgets-layer-visibility");
@@ -28,14 +28,14 @@
var layer = ""; var layer = "";
if (layersWidgets.length > 0) { 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); layer.data("widgets", layersWidgets);
layersWidgets.each(function(){ layersWidgets.each(function(){
$(this).data("widgets-vis-control", layer); $(this).data("widgets-vis-control", layer);
}); });
} }
else { 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); visContainer.append(layer);
@@ -8,7 +8,7 @@
var returnUrl = Request.RawUrl; var returnUrl = Request.RawUrl;
} }
<div id="widgets-layers-control" class="widgets-container"> <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"})) { using (Html.BeginForm("index", "admin", FormMethod.Get, new {area = "Orchard.Widgets"})) {
<fieldset class="bulk-actions-auto"> <fieldset class="bulk-actions-auto">
<label for="layerId">@T("Current Layer:")</label> <label for="layerId">@T("Current Layer:")</label>
@@ -25,4 +25,12 @@
<div id="widgets-layer-add"> <div id="widgets-layer-add">
@Html.Link(T("Add a new layer...").Text, Url.Action("AddLayer", "Admin", new { area = "Orchard.Widgets", returnUrl })) @Html.Link(T("Add a new layer...").Text, Url.Action("AddLayer", "Admin", new { area = "Orchard.Widgets", returnUrl }))
</div> </div>
</div>
@if (!String.IsNullOrEmpty(Model.CurrentLayer.Description)) {
<div>
<span class="hint" id="widgets-layer-description">@Model.CurrentLayer.Description</span>
<br />
</div>
}
</div>