--HG--
branch : dev
This commit is contained in:
Nathan Heskew
2011-03-25 11:26:54 -07:00
21 changed files with 224 additions and 168 deletions

View File

@@ -88,9 +88,9 @@ Features:
Assert.That(enabledFeatures.Count(), Is.EqualTo(0));
moduleRecipeHandler.ExecuteRecipeStep(recipeContext);
enabledFeatures = featureManager.GetEnabledFeatures();
Assert.That(enabledFeatures.FirstOrDefault(feature => feature.Id.Equals("SuperWiki")), Is.Not.Null);
Assert.That(enabledFeatures.Count(), Is.EqualTo(1));
var availableFeatures = featureManager.GetAvailableFeatures().Where(x => x.Id == "SuperWiki").FirstOrDefault();
Assert.That(availableFeatures.Id, Is.EqualTo("SuperWiki"));
Assert.That(recipeContext.Executed, Is.True);
}

View File

@@ -36,7 +36,7 @@
}
</tbody>
</table>
<fieldset class="actions"><button type="submit" class="primaryAction">@T("Update All")</button></fieldset>
<fieldset class="actions"><button type="submit" class="button">@T("Update All")</button></fieldset>
}
<h2>@T("Add New Item")</h2>

View File

@@ -8,9 +8,9 @@
<label for="OnAdminMenu" class="forcheckbox">@T("Show on admin menu")</label>
<div data-controllerid="OnAdminMenu" class="">
<label for="AdminMenuText">@T("Menu text")</label>
@Html.TextBoxFor(m => m.AdminMenuText, new { @class = "large text" })
@Html.TextBoxFor(m => m.AdminMenuText, new { @class = "text-box single-line" })
<label for="AdminMenuPosition">@T("Position")</label>
@Html.TextBoxFor(m => m.AdminMenuPosition)
@Html.TextBoxFor(m => m.AdminMenuPosition, new { @class = "text-box single-line" })
</div>
</fieldset>

View File

@@ -8,6 +8,6 @@
<label for="OnMainMenu" class="forcheckbox">@T("Show on main menu")</label>
<div data-controllerid="OnMainMenu" class="">
<label for="MenuText">@T("Menu text")</label>
@Html.TextBoxFor(m => m.MenuText, new { @class = "large text" })
@Html.TextBoxFor(m => m.MenuText, new { @class = "text-box single-line" })
</div>
</fieldset>

View File

@@ -3,7 +3,7 @@
Style.Require("ContentTypesAdmin");
Layout.Title = T("Add Parts To \"{0}\"", Model.Type.DisplayName).ToString();
}
@T("Choose the Parts to add to this Content Type. The <b>Common</b> part should be included in most types. It gives the items an owner as well as a creation, publication and last modification date stamps. In addition to the Common part, adding the <b>Containable</b> part makes it possible to add content items of this type to a <b>List</b>.")
@using (Html.BeginFormAntiForgeryPost()) {
@Html.ValidationSummary()
<fieldset>

View File

@@ -0,0 +1,50 @@
using System.IO;
using System.Web.Mvc;
using Orchard.FileSystems.WebSite;
using Orchard.Localization;
using Orchard.Security;
using Orchard.Mvc.Extensions;
using Orchard.Themes;
namespace Orchard.DesignerTools.Controllers
{
[Themed]
public class AlternateController : Controller {
private readonly IWebSiteFolder _webSiteFolder;
private readonly IThemeManager _themeManager;
public AlternateController(IOrchardServices orchardServices, IWebSiteFolder webSiteFolder, IThemeManager themeManager) {
_webSiteFolder = webSiteFolder;
_themeManager = themeManager;
Services = orchardServices;
}
public IOrchardServices Services { get; set; }
public Localizer T { get; set; }
public ActionResult Create(string template, string alternate, string returnUrl) {
if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to create templates")) && !Request.IsLocal)
return new HttpUnauthorizedResult();
alternate = alternate.Replace("__", "-").Replace("_", ".");
var currentTheme = _themeManager.GetRequestTheme(Request.RequestContext);
var alternateFilename = Server.MapPath(Path.Combine(currentTheme.Location, currentTheme.Id, "Views", alternate));
// use same extension as template, or ".cshtml" if it's a code template))
if (_webSiteFolder.FileExists(template)) {
alternateFilename += Path.GetExtension(template);
using (var stream = System.IO.File.Create(alternateFilename)) {
_webSiteFolder.CopyFileTo(template, stream);
}
}
else {
alternateFilename += ".cshtml";
using (System.IO.File.Create(alternateFilename)) {}
}
return this.RedirectLocal(returnUrl);
}
}
}

View File

@@ -100,6 +100,7 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Compile Include="Controllers\AlternateController.cs" />
<Compile Include="Services\ObjectDumper.cs" />
<Compile Include="Services\ShapeTracingFactory.cs" />
<Compile Include="Services\UrlAlternatesFactory.cs" />
@@ -108,7 +109,6 @@
<Content Include="Views\ShapeTracingWrapper.cshtml" />
</ItemGroup>
<ItemGroup>
<Folder Include="Controllers\" />
<Folder Include="Models\" />
</ItemGroup>
<ItemGroup>

View File

@@ -1,4 +1,4 @@
(function ($) {
jQuery(document).ready(function ($) {
$(function () {
// append the shape tracing window container at the end of the document
$('<div id="shape-tracing-container"> ' +
@@ -292,10 +292,10 @@
// add the expand/collapse logic to the shape model
// var glyph = $('<span class="expando-glyph-container closed"><span class="expando-glyph"></span>&#8203;</span>');
shapeTracingWindowContent.find('.model li:has(ul)').prepend(glyph);
shapeTracingWindowContent.find('li:has(ul)').prepend(glyph);
// collapse all sub uls
shapeTracingWindowContent.find('.model ul ul').toggle(false);
shapeTracingWindowContent.find('ul ul').toggle(false);
// tabs events
shapeTracingWindowContent.find('.shape-tracing-tabs > li').click(function () {
@@ -318,6 +318,11 @@
enableCodeMirror(panel);
});
// template link opens template tab
shapeTracingWindowContent.find('.sgd-t a').click(function () {
$(this).parents('.shape-tracing-meta').find('.shape-tracing-tabs > .template').click()
});
// activates codemirror on specific textareas
var enableCodeMirror = function (target) {
// if there is a script, and colorization is not enabled yet, turn it on
@@ -400,4 +405,4 @@
return node;
}
})(jQuery);
});

View File

@@ -37,20 +37,23 @@ namespace Orchard.DesignerTools.Services {
}
_parents.Push(o);
// starts a new container
_node.Add(_node = new XElement("li"));
try {
// starts a new container
_node.Add(_node = new XElement("li"));
if(o == null) {
DumpValue(null, name);
if (o == null) {
DumpValue(null, name);
}
else if (o.GetType().IsValueType || o is string) {
DumpValue(o, name);
}
else {
DumpObject(o, name);
}
}
else if (o.GetType().IsValueType || o is string) {
DumpValue(o, name);
finally {
_parents.Pop();
}
else {
DumpObject(o, name);
}
_parents.Pop();
if(_node.DescendantNodes().Count() == 0) {
_node.Remove();
@@ -116,16 +119,28 @@ namespace Orchard.DesignerTools.Services {
continue;
}
// process ContentItem.Parts specifically
if (o is ContentItem && member.Name == "Parts") {
foreach (var part in ((ContentItem)o).Parts) {
Dump(part, part.PartDefinition.Name);
}
continue;
}
// process ContentPart.Fields specifically
if (o is ContentPart && member.Name == "Fields") {
foreach (var field in ((ContentPart)o).Fields) {
Dump(field, field.Name);
}
continue;
}
try {
DumpMember(o, member);
}
catch {
}
}
if (o is ContentItem) {
foreach(var part in ((ContentItem)o).Parts) {
Dump(part, part.PartDefinition.Name);
// ignore members which can't be rendered
}
}
@@ -239,7 +254,7 @@ namespace Orchard.DesignerTools.Services {
var genericArguments = String.Join(", ", type.GetGenericArguments().Select(t => FormatType((Type)t)).ToArray());
return String.Format("{0}<{1}>", type.Name.Substring(0, type.Name.IndexOf('`')), genericArguments);
}
return type.Name;
}
}

View File

@@ -1,4 +1,5 @@
using System.IO;
using System.Linq;
using System.Web.Routing;
using System.Xml;
using Orchard.DisplayManagement.Descriptors;
@@ -96,11 +97,27 @@ namespace Orchard.DesignerTools.Services {
context.Shape._Dump = sw.ToString();
}
shape._Definition = descriptor.BindingSource;
shape.Template = null;
foreach (var extension in new[] { ".cshtml", ".aspx" }) {
foreach (var alternate in shapeMetadata.Alternates.Reverse()) {
var alternateFilename = currentTheme.Location + "/" + currentTheme.Id + "/Views/" + alternate.Replace("__", "-").Replace("_", ".") + extension;
if (_webSiteFolder.FileExists(alternateFilename)) {
shape.Template = alternateFilename;
}
}
}
if(shape.Template == null) {
shape.Template = descriptor.BindingSource;
}
if(shape.Template == null) {
shape.Template = descriptor.Bindings.Values.FirstOrDefault().BindingSource;
}
try {
if (_webSiteFolder.FileExists(descriptor.BindingSource)) {
shape._DefinitionContent = _webSiteFolder.ReadFile(descriptor.BindingSource);
if (_webSiteFolder.FileExists(shape.Template)) {
shape.TemplateContent = _webSiteFolder.ReadFile(shape.Template);
}
}
catch {

View File

@@ -252,4 +252,13 @@
#shape-tracing-window-content .shape-tracing-breadcrumb {
margin: 3px 0px;
}
button.create-template, background-image :hover {
padding:0;
margin:0;
background-color:transparent;
background-image:none;
border:0;
display:inline;
}

View File

@@ -1,4 +1,6 @@
@functions {
@using Orchard.Utility.Extensions;
@functions {
string FormatShapeFilename(string type, string themeId) {
return "~/Themes/" + themeId + "/Views/" + type.Replace("__", "-").Replace("_", ".") + ".cshtml";
}
@@ -13,25 +15,53 @@
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="templates middle"><a href="#">Templates</a></li>
<li class="source middle"><a href="#">Source</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><div class="name">Shape</div><div class="value">@Model.ShapeType</div></li>
<li><div class="name">Definition</div><div class="value">@Model.Definition</div></li>
<li><div class="name">Display Type</div><div class="value">@(String.IsNullOrEmpty((string)Model.DisplayType) ? T("n/a").Text : Model.DisplayType.ToString())</div></li>
<li><div class="name">Position</div><div class="value">@(String.IsNullOrEmpty((string)Model.Position) ? T("n/a").Text : Model.Position.ToString())</div></li>
<li><div class="name">Placement Source</div><div class="value">@(String.IsNullOrEmpty((string)Model.PlacementSource) ? T("n/a").Text : Model.PlacementSource.ToString())</div></li>
<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>
@@ -45,27 +75,17 @@
<textarea id="placement-@Model.ShapeId" name="placement-@Model.ShapeId">@Model.PlacementContent</textarea>
</div>
<div class="templates" style="display:none">
<div class="alternates">
<span>Alternates</span>
@foreach(var alternate in Model.Alternates) {
var formatted = @FormatShapeFilename(alternate, WorkContext.CurrentTheme.Id);
<div>@formatted</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.")
}
</div>
<div class="wrappers">
<span >Wrappers</span>
@foreach(var wrapper in Model.Wrappers) {
if(wrapper != "ShapeTracing_Wrapper") {
var formatted = @FormatShapeFilename(wrapper, WorkContext.CurrentTheme.Id);
<div>@formatted</div>
}
}
</div>
</div>
<div class="source" style="display:none">
<textarea id="source-@Model.ShapeId" name="source-@Model.ShapeId">@Model.DefinitionContent</textarea>
}
else {
<textarea id="template-@Model.ShapeId" name="template-@Model.ShapeId">@Model.TemplateContent</textarea>
}
</div>
<div class="html" style="display:none">

View File

@@ -26,8 +26,8 @@
Layout.Zones["Tail"].Add(
New.ShapeTracingMeta(
ShapeType: Model.Metadata.Type,
Definition: Model._Definition,
DefinitionContent: Model._DefinitionContent,
Template: Model.Template,
TemplateContent: Model.TemplateContent,
DisplayType: Model.Metadata.DisplayType,
Position: Model.Metadata.Position,
PlacementSource: Model.Metadata.PlacementSource,

View File

@@ -77,9 +77,9 @@ namespace Lists.Controllers {
model.ContainerDisplayName = container.ContentType;
}
var query = GetListContentItemQuery(model);
var query = GetListContentItemQuery(model.ContainerId.Value, model.FilterByContentType, model.Options.OrderBy);
if (query == null) {
return new HttpNotFoundResult();
return HttpNotFound();
}
model.Options.FilterOptions = GetContainableTypes()
@@ -110,19 +110,22 @@ namespace Lists.Controllers {
return View((object)viewModel);
}
private IContentQuery<ContainablePart> GetListContentItemQuery(ListContentsViewModel model) {
var query = _contentManager.Query<ContainablePart>(VersionOptions.Latest);
private IContentQuery<ContentItem> GetListContentItemQuery(int containerId, string contentType, ContentsOrder orderBy) {
var query = _contentManager.Query(VersionOptions.Latest, GetContainableTypes().Select(ctd => ctd.Name).ToArray());
if (!string.IsNullOrEmpty(model.FilterByContentType)) {
var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(model.FilterByContentType);
if (!string.IsNullOrEmpty(contentType)) {
var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(contentType);
if (contentTypeDefinition == null) {
return null;
}
query = query.ForType(model.FilterByContentType);
query = query.ForType(contentType);
}
query = query.Join<CommonPartRecord>().Where(cr => cr.Container.Id == model.ContainerId);
switch (model.Options.OrderBy) {
query = containerId == 0
? query.Join<CommonPartRecord>().Where(cr => cr.Container == null)
: query.Join<CommonPartRecord>().Where(cr => cr.Container.Id == containerId);
switch (orderBy) {
case ContentsOrder.Modified:
query = query.OrderByDescending<CommonPartRecord, DateTime?>(cr => cr.ModifiedUtc);
break;
@@ -207,32 +210,9 @@ namespace Lists.Controllers {
}
}
var query = _contentManager.Query<ContainablePart>(VersionOptions.Latest);
if (!string.IsNullOrEmpty(model.FilterByContentType)) {
var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(model.FilterByContentType);
if (contentTypeDefinition == null) {
return HttpNotFound();
}
query = query.ForType(model.FilterByContentType);
}
if (model.SourceContainerId == 0) {
query = query.Join<CommonPartRecord>().Where(cr => cr.Container == null);
}
else {
query = query.Join<CommonPartRecord>().Where(cr => cr.Container.Id == model.SourceContainerId);
}
switch (model.OrderBy) {
case ContentsOrder.Modified:
query = query.OrderByDescending<CommonPartRecord, DateTime?>(cr => cr.ModifiedUtc);
break;
case ContentsOrder.Published:
query = query.OrderByDescending<CommonPartRecord, DateTime?>(cr => cr.PublishedUtc);
break;
case ContentsOrder.Created:
query = query.OrderByDescending<CommonPartRecord, DateTime?>(cr => cr.CreatedUtc);
break;
var query = GetListContentItemQuery(model.SourceContainerId, model.FilterByContentType, model.OrderBy);
if (query == null) {
return HttpNotFound();
}
model.SelectedFilter = model.FilterByContentType;

View File

@@ -281,7 +281,7 @@ namespace Orchard.Media.Controllers {
// Rename
if (!String.Equals(viewModel.Name, input["NewName"], StringComparison.OrdinalIgnoreCase)) {
_mediaService.RenameFile(viewModel.Name, input["NewName"], viewModel.MediaPath);
_mediaService.RenameFile(viewModel.MediaPath, viewModel.Name, input["NewName"]);
viewModelName = input["NewName"];
}

View File

@@ -143,7 +143,7 @@ namespace Orchard.Media.Services {
throw new ArgumentException(T("New file name {0} is not allowed", newFileName).ToString());
}
_storageProvider.RenameFile(_storageProvider.Combine(folderPath, currentFileName), _storageProvider.Combine(Path.GetDirectoryName(folderPath), newFileName));
_storageProvider.RenameFile(_storageProvider.Combine(folderPath, currentFileName), _storageProvider.Combine(folderPath, newFileName));
}
/// <summary>

View File

@@ -1,10 +1,10 @@
.breadCrumbs {
float:left;
margin:-2em 0 0;
margin:0 0 16px 0;
}
.folderProperties {
float:right;
margin:-5em 0 0;
margin:0 0 16px 0;
}
.previewImage {
max-height:640px;

View File

@@ -13,7 +13,7 @@
@using (Html.BeginFormAntiForgeryPost(Url.Action("Index", "Admin"))) {
<fieldset class="search-actions">
<input type="text" id="searchText" name="@Html.NameOf(m => m.Options.SearchText)" value="@Model.Options.SearchText" />
<input type="text" id="searchText" class="text-box single-line" name="@Html.NameOf(m => m.Options.SearchText)" value="@Model.Options.SearchText" />
<button type="submit">@T("Search").ToString()</button>
</fieldset>

View File

@@ -31,7 +31,7 @@
</fieldset>
<fieldset class="search-actions">
<input type="text" id="searchText" name="@Html.NameOf(m => m.Options.SearchText)" value="@Model.Options.SearchText" />
<input type="text" id="searchText" class="text-box single-line" name="@Html.NameOf(m => m.Options.SearchText)" value="@Model.Options.SearchText" />
<button type="submit">@T("Search")</button>
</fieldset>

View File

@@ -85,16 +85,7 @@ namespace Orchard.Recipes.RecipeHandlers {
if (packagingEntry != null) {
_packageManager.Install(packagingEntry.PackageId, packagingEntry.Version, packagingSource.FeedUrl, HostingEnvironment.MapPath("~/"));
foreach (var features in
from extensionDescriptor in _extensionManager.AvailableExtensions()
where extensionDescriptor.Name.Equals(packagingEntry.Title, StringComparison.OrdinalIgnoreCase)
select extensionDescriptor.Features.Select(f => f.Name).ToArray()) {
_featureManager.EnableFeatures(features);
_dataMigrationManager.Update(features);
installed = true;
}
installed = true;
}
if (!installed) {

View File

@@ -124,7 +124,7 @@ body {
h1,h2,h3,h4,h5,h6 { font-weight: normal;}
h1 { font-size: 1.769em; }
h2 { font-size: 1.538em; }
h2 { font-size: 1.308em; }
h3 { font-size: 1.231em; }
h4 { font-size: 1.154em; }
h5 { font-size: 1.077em; }
@@ -144,42 +144,6 @@ h4 img, h5 img, h6 img {
strong {font-weight:600;}
.smallText {font-size:1em; line-height:1.4em;}
/* Layout
number of columns: 24; actual width: 946; column width: 26; gutter width:14
| 24| 23| 22| 21| 20| 19| 18| 17| 16| 15| 14| 13| 12| 11| 10| 9| 8| 7| 6| 5| 4| 3| 2
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
.5g| 0.759| 0.793| 0.829| 0.870| 0.914| 0.963| 1.017| 1.079| 1.148| 1.226| 1.316| 1.420| 1.542| 1.687| 1.862| 2.077| 2.349| 2.703| 3.182| 3.867| 4.930| 6.796| 10.938
24|100.000| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---
23| 95.770|100.000| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---
22| 91.540| 95.583|100.000| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---
21| 87.310| 91.166| 95.379|100.000| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---
20| 83.080| 86.750| 90.758| 95.155|100.000| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---
19| 78.850| 82.333| 86.137| 90.311| 94.909|100.000| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---
18| 74.620| 77.916| 81.517| 85.466| 89.817| 94.635|100.000| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---
17| 70.390| 73.499| 76.896| 80.621| 84.726| 89.271| 94.331|100.000| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---
16| 66.161| 69.083| 72.275| 75.776| 79.634| 83.906| 88.663| 93.991|100.000| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---
15| 61.931| 64.666| 67.654| 70.932| 74.543| 78.542| 82.994| 87.982| 93.607|100.000| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---
14| 57.701| 60.249| 63.033| 66.087| 69.452| 73.177| 77.326| 81.972| 87.213| 93.170|100.000| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---
13| 53.471| 55.832| 58.412| 61.242| 64.360| 67.813| 71.657| 75.963| 80.820| 86.340| 92.669|100.000| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---
12| 49.241| 51.416| 53.791| 56.398| 59.269| 62.448| 65.988| 69.954| 74.426| 79.510| 85.338| 92.089|100.000| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---
11| 45.011| 46.999| 49.171| 51.553| 54.178| 57.084| 60.320| 63.945| 68.033| 72.680| 78.008| 84.178| 91.410|100.000| ---| ---| ---| ---| ---| ---| ---| ---| ---
10| 40.781| 42.582| 44.550| 46.708| 49.086| 51.719| 54.651| 57.935| 61.639| 65.849| 70.677| 76.268| 82.819| 90.602|100.000| ---| ---| ---| ---| ---| ---| ---| ---
9| 36.551| 38.165| 39.929| 41.863| 43.995| 46.355| 48.983| 51.926| 55.246| 59.019| 63.346| 68.357| 74.229| 81.205| 89.628|100.000| ---| ---| ---| ---| ---| ---| ---
8| 32.321| 33.749| 35.308| 37.019| 38.903| 40.990| 43.314| 45.917| 48.852| 52.189| 56.015| 60.446| 65.639| 71.807| 79.255| 88.427|100.000| ---| ---| ---| ---| ---| ---
7| 28.091| 29.332| 30.687| 32.174| 33.812| 35.626| 37.645| 39.908| 42.459| 45.359| 48.684| 52.535| 57.048| 62.410| 68.883| 76.855| 86.913|100.000| ---| ---| ---| ---| ---
6| 23.861| 24.915| 26.066| 27.329| 28.721| 30.261| 31.977| 33.898| 36.066| 38.529| 41.353| 44.625| 48.458| 53.012| 58.511| 65.282| 73.826| 84.942|100.000| ---| ---| ---| ---
5| 19.631| 20.498| 21.445| 22.484| 23.629| 24.897| 26.308| 27.889| 29.672| 31.699| 34.023| 36.714| 39.868| 43.614| 48.138| 53.709| 60.738| 69.884| 82.273|100.000| ---| ---| ---
4| 15.401| 16.082| 16.825| 17.640| 18.538| 19.532| 20.640| 21.880| 23.279| 24.869| 26.692| 28.803| 31.278| 34.217| 37.766| 42.136| 47.651| 54.826| 64.545| 78.453|100.000| ---| ---
3| 11.171| 11.665| 12.204| 12.795| 13.446| 14.168| 14.971| 15.871| 16.885| 18.039| 19.361| 20.892| 22.687| 24.819| 27.394| 30.564| 34.564| 39.768| 46.818| 56.906| 72.535|100.000| ---
2| 6.941| 7.248| 7.583| 7.950| 8.355| 8.803| 9.302| 9.861| 10.492| 11.208| 12.030| 12.982| 14.097| 15.422| 17.021| 18.991| 21.477| 24.710| 29.091| 35.359| 45.070| 62.136|100.000
1| 2.711| 2.831| 2.962| 3.106| 3.264| 3.439| 3.634| 3.852| 4.098| 4.378| 4.699| 5.071| 5.507| 6.024| 6.649| 7.418| 8.389| 9.653| 11.364| 13.812| 17.606| 24.272| 39.063
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 24| 23| 22| 21| 20| 19| 18| 17| 16| 15| 14| 13| 12| 11| 10| 9| 8| 7| 6| 5| 4| 3| 2
----------------------------------------------------------*/
#header, #footer {
width:100%;
}
@@ -565,6 +529,14 @@ fieldset { padding:0em; margin: 0 0 0em 0; border: 0px solid #dbdbdb; }
label { font-weight:normal; display:block; padding: 0 0 0.3em 0; }
label.forcheckbox { margin:0 0 0 .4em; display:inline; }
/*label { color: #747874;
display: block;
font-size: 12px;
font-weight:bold;
padding: 0 0 2px;
}*/
form.inline, form.inline fieldset { /* todo: (heskew) need something other than .inline ... */
display:inline;
}
@@ -608,10 +580,12 @@ select, textarea, input.text, input.textMedium, input.text-box {
padding:3px;
border:1px solid #bdbcbc;
font-family:inherit;
font-size:inherit;
}
input.text, input.textMedium, input.text-box {
line-height:1.2em;
}
/*Are we using the two classes below?*/
input.text-small {
width:4em;
}
@@ -696,9 +670,8 @@ button.remove:focus::-moz-focus-inner, .remove.button:focus::-moz-focus-inner {
/*----In ie the first couplet sets the alpha value so 00=transparent and ff=opaque)----*/
filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, startColorstr='#fff5f5f5', endColorstr='#ffd9d9d9');
background: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(245, 245, 245, 1.0)), to (rgba(217, 217, 217, 1.0)));
background: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(245, 245, 245, 1.0)), to(rgba(217, 217, 217, 1.0)));
background: -moz-linear-gradient(top, rgba(245, 245, 245, 1.0), rgba(217, 217, 217, 1.0));
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
@@ -732,7 +705,7 @@ button, .button, a.button {
/*----In ie the first couplet sets the alpha value so 00=transparent and ff=opaque)----*/
filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, startColorstr='#ff9bb36c', endColorstr='#ff809f43');
background: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(110, 127, 69, 1.0)), rgba((106, 123, 66, 1.0)));
background: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(155, 179, 108, 1.0)), to(rgba(128, 159, 67, 1.0)));
background: -moz-linear-gradient(top, rgba(155, 179, 108, 1.0), rgba(128, 159, 67, 1.0));
@@ -753,8 +726,8 @@ button:hover, .button:hover, a.button:hover {
background: #809f43;
/*CSS3 properties*/
filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, startColorstr='#ff6e7f45', endColorstr='#ff6a7b42');
background: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(110, 127, 69, 1.0)), rgba((106, 123, 66, 1.0)));
filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, startColorstr='#ff6e7f45', endColorstr='#ff6a7b42');
background: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(110, 127, 69, 1.0)), to(rgba(106, 123, 66, 1.0)));
background: -moz-linear-gradient(top, rgba(110, 127, 69, 1.0), rgba(106, 123, 66, 1.0));
}
@@ -767,7 +740,7 @@ button:active, .buton:active, a.button:active {
/*CSS3 properties*/
text-shadow: rgba(0,0,0,.5) 0px 0px 1px;
filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, startColorstr='#ff9bb36c', endColorstr='#ff809f43');
background: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(110, 127, 69, 1.0)), rgba((106, 123, 66, 1.0)));
background: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(155, 179, 108, 1.0)), to(rgba(128, 159, 67, 1.0)));
background: -moz-linear-gradient(top, rgba(155, 179, 108, 1.0), rgba(128, 159, 67, 1.0));
}
button:focus::-moz-focus-inner, .button:focus::-moz-focus-inner {
@@ -799,10 +772,11 @@ button.link {
text-align:right;
}
.item-properties.actions {
margin-bottom:.5em;
/*margin-bottom:.5em;
margin-top:-5em;
overflow:hidden;
padding:1px;
padding:1px;*/
float:right;
}
.contentItems .actions li {
background:inherit;
@@ -874,7 +848,6 @@ table.items tbody {
}
table.items thead, table.items th {
background:#f5f5f5;
font-weight:700;
overflow:hidden;
text-align:left;
white-space:nowrap;
@@ -978,11 +951,7 @@ table.items th, table.items td {
/* Pager
***************************************************************/
.pager-footer {
width: 500px;
margin-left: auto;
margin-right: auto;
}
.pager-footer { width: 500px; }
.page-size-options {
float: left;
padding-right: 40px;
@@ -1006,7 +975,7 @@ html.dyn #submit-pager, html.dyn .apply-bulk-actions-auto { display:none; }
text-shadow: rgba(0,0,0,.2) 0px 0px 1px;
/*In ie the first couplet sets the alpha value so 00=transparent and ff=opaque)*/
filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, startColorstr='#fff5f5f5', endColorstr='#ffd9d9d9');
background: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(245, 245, 245, 1.0)), rgba((217, 217, 217, 1.0)));
background: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(245, 245, 245, 1.0)), to(rgba(217, 217, 217, 1.0)));
background: -moz-linear-gradient(top, rgba(245, 245, 245, 1.0), rgba(217, 217, 217, 1.0));
box-shadow: inset 0px 0px 1px rgba(255, 255, 255, 1.0), 1px 1px 1px rgba(102, 102, 102, 0.1);