diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/Orchard.ContentTypes.csproj b/src/Orchard.Web/Modules/Orchard.ContentTypes/Orchard.ContentTypes.csproj index 6180ebec2..0dfae91f7 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentTypes/Orchard.ContentTypes.csproj +++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/Orchard.ContentTypes.csproj @@ -80,6 +80,10 @@ + + + + diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditFieldViewModel.cs b/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditFieldViewModel.cs new file mode 100644 index 000000000..5b0f7bcbf --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditFieldViewModel.cs @@ -0,0 +1,16 @@ +using Orchard.ContentManagement.MetaData.Models; + +namespace Orchard.ContentTypes.ViewModels { + + public class EditFieldViewModel { + public EditFieldViewModel() { } + + public EditFieldViewModel(ContentFieldDefinition contentFieldDefinition) { + Name = contentFieldDefinition.Name; + _Definition = contentFieldDefinition; + } + + public string Name { get; set; } + public ContentFieldDefinition _Definition { get; private set; } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditPartFieldViewModel.cs b/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditPartFieldViewModel.cs new file mode 100644 index 000000000..982c7e603 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditPartFieldViewModel.cs @@ -0,0 +1,30 @@ +using System.Collections.Generic; +using Orchard.ContentManagement.MetaData.Models; +using Orchard.ContentManagement.ViewModels; + +namespace Orchard.ContentTypes.ViewModels { + public class EditPartFieldViewModel { + + public EditPartFieldViewModel() { + Settings = new SettingsDictionary(); + } + + public EditPartFieldViewModel(int index, ContentPartFieldDefinition field) { + Index = index; + Name = field.Name; + FieldDefinition = new EditFieldViewModel(field.FieldDefinition); + Settings = field.Settings; + _Definition = field; + } + + public int Index { get; set; } + public string Prefix { get { return "Fields[" + Index + "]"; } } + public EditPartViewModel Part { get; set; } + + public string Name { get; set; } + public IEnumerable Templates { get; set; } + public EditFieldViewModel FieldDefinition { get; set; } + public SettingsDictionary Settings { get; set; } + public ContentPartFieldDefinition _Definition { get; private set; } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditPartViewModel.cs b/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditPartViewModel.cs new file mode 100644 index 000000000..624f791e4 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditPartViewModel.cs @@ -0,0 +1,34 @@ +using System.Collections.Generic; +using System.Linq; +using Orchard.ContentManagement.MetaData.Models; +using Orchard.ContentManagement.ViewModels; +using Orchard.Utility.Extensions; +using Orchard.ContentTypes.Extensions; + +namespace Orchard.ContentTypes.ViewModels { + public class EditPartViewModel { + public EditPartViewModel() { + Fields = new List(); + Settings = new SettingsDictionary(); + } + + public EditPartViewModel(ContentPartDefinition contentPartDefinition) { + Name = contentPartDefinition.Name; + Fields = contentPartDefinition.Fields.Select((f, i) => new EditPartFieldViewModel(i, f) { Part = this }).ToList(); + Settings = contentPartDefinition.Settings; + _Definition = contentPartDefinition; + } + + public string Prefix { get { return "PartDefinition"; } } + public string Name { get; set; } + private string _displayName; + public string DisplayName { + get { return !string.IsNullOrWhiteSpace(_displayName) ? _displayName : Name.TrimEnd("Part").CamelFriendly(); } + set { _displayName = value; } + } + public IEnumerable Templates { get; set; } + public IEnumerable Fields { get; set; } + public SettingsDictionary Settings { get; set; } + public ContentPartDefinition _Definition { get; private set; } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditTypePartViewModel.cs b/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditTypePartViewModel.cs new file mode 100644 index 000000000..4a735195a --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditTypePartViewModel.cs @@ -0,0 +1,26 @@ +using System.Collections.Generic; +using Orchard.ContentManagement.MetaData.Models; +using Orchard.ContentManagement.ViewModels; + +namespace Orchard.ContentTypes.ViewModels { + public class EditTypePartViewModel { + public EditTypePartViewModel() { + Settings = new SettingsDictionary(); + } + + public EditTypePartViewModel(int index, ContentTypePartDefinition part) { + Index = index; + PartDefinition = new EditPartViewModel(part.PartDefinition); + Settings = part.Settings; + _Definition = part; + } + + public int Index { get; set; } + public string Prefix { get { return "Parts[" + Index + "]"; } } + public EditPartViewModel PartDefinition { get; set; } + public SettingsDictionary Settings { get; set; } + public EditTypeViewModel Type { get; set; } + public IEnumerable Templates { get; set; } + public ContentTypePartDefinition _Definition { get; private set; } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditTypeViewModel.cs b/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditTypeViewModel.cs index 7404c5f46..4c6634530 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditTypeViewModel.cs +++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditTypeViewModel.cs @@ -3,8 +3,6 @@ using System.Collections.Generic; using System.Linq; using Orchard.ContentManagement.MetaData.Models; using Orchard.ContentManagement.ViewModels; -using Orchard.ContentTypes.Extensions; -using Orchard.Utility.Extensions; namespace Orchard.ContentTypes.ViewModels { public class EditTypeViewModel { @@ -46,87 +44,4 @@ namespace Orchard.ContentTypes.ViewModels { } } - public class EditTypePartViewModel { - public EditTypePartViewModel() { - Settings = new SettingsDictionary(); - } - - public EditTypePartViewModel(int index, ContentTypePartDefinition part) { - Index = index; - PartDefinition = new EditPartViewModel(part.PartDefinition); - Settings = part.Settings; - _Definition = part; - } - - public int Index { get; set; } - public string Prefix { get { return "Parts[" + Index + "]"; } } - public EditPartViewModel PartDefinition { get; set; } - public SettingsDictionary Settings { get; set; } - public EditTypeViewModel Type { get; set; } - public IEnumerable Templates { get; set; } - public ContentTypePartDefinition _Definition { get; private set; } - } - - public class EditPartViewModel { - public EditPartViewModel() { - Fields = new List(); - Settings = new SettingsDictionary(); - } - - public EditPartViewModel(ContentPartDefinition contentPartDefinition) { - Name = contentPartDefinition.Name; - Fields = contentPartDefinition.Fields.Select((f, i) => new EditPartFieldViewModel(i, f) { Part = this }).ToList(); - Settings = contentPartDefinition.Settings; - _Definition = contentPartDefinition; - } - - public string Prefix { get { return "PartDefinition"; } } - public string Name { get; set; } - private string _displayName; - public string DisplayName { - get { return !string.IsNullOrWhiteSpace(_displayName) ? _displayName : Name.TrimEnd("Part").CamelFriendly(); } - set { _displayName = value; } - } - public IEnumerable Templates { get; set; } - public IEnumerable Fields { get; set; } - public SettingsDictionary Settings { get; set; } - public ContentPartDefinition _Definition { get; private set; } - } - - public class EditPartFieldViewModel { - - public EditPartFieldViewModel() { - Settings = new SettingsDictionary(); - } - - public EditPartFieldViewModel(int index, ContentPartFieldDefinition field) { - Index = index; - Name = field.Name; - FieldDefinition = new EditFieldViewModel(field.FieldDefinition); - Settings = field.Settings; - _Definition = field; - } - - public int Index { get; set; } - public string Prefix { get { return "Fields[" + Index + "]"; } } - public EditPartViewModel Part { get; set; } - - public string Name { get; set; } - public IEnumerable Templates { get; set; } - public EditFieldViewModel FieldDefinition { get; set; } - public SettingsDictionary Settings { get; set; } - public ContentPartFieldDefinition _Definition { get; private set; } - } - - public class EditFieldViewModel { - public EditFieldViewModel() { } - - public EditFieldViewModel(ContentFieldDefinition contentFieldDefinition) { - Name = contentFieldDefinition.Name; - _Definition = contentFieldDefinition; - } - - public string Name { get; set; } - public ContentFieldDefinition _Definition { get; private set; } - } } diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/EditPart.cshtml b/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/EditPart.cshtml index 5cf769f41..6efdbf882 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/EditPart.cshtml +++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/EditPart.cshtml @@ -1,4 +1,5 @@ @model Orchard.ContentTypes.ViewModels.EditPartViewModel +@{ Style.Require("ContentTypesAdmin"); }

@Html.TitleForPage(T("Edit Part").ToString())

@@ -6,19 +7,30 @@ @Html.ValidationSummary()
- @* has unintended consequences (renamging the part) - changing the name creates a new part of that name *@ + @* has unintended consequences (renaming the part) - changing the name creates a new part of that name *@ @Html.TextBoxFor(m => m.Name, new {@class = "textMedium", disabled = "disabled"}) @Html.HiddenFor(m => m.Name)
- @DisplayChildren(Model.Templates) + @{ Html.RenderTemplates(Model.Templates); }

@T("Fields")

@Html.ActionLink(T("Add").Text, "AddFieldTo", new { area = "Orchard.ContentTypes", id = Model.Name }, new { @class = "button" })
- @DisplayChildren(Model.Fields) + @Html.EditorFor(m => m.Fields, "Fields", "")
} + +@using(Script.Foot()){ + +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/EditorTemplates/TypePartField.cshtml b/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/EditorTemplates/TypePartField.cshtml index 4d9f1db2d..3daec4aea 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/EditorTemplates/TypePartField.cshtml +++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/EditorTemplates/TypePartField.cshtml @@ -1,7 +1,7 @@ @model Orchard.ContentTypes.ViewModels.EditPartFieldViewModel

@Model.Name (@Model.FieldDefinition.Name)

@if (Model.Templates.Any()) { -
@Html.RenderTemplates(Model.Templates); +
@{Html.RenderTemplates(Model.Templates);}
} @Html.HiddenFor(m => m.Name)@Html.HiddenFor(m => m.FieldDefinition.Name)@Html.HiddenFor(m => m.Index)
\ No newline at end of file