mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Once the ItemDisplayModel and ItemEditorModel were converted to use ZoneCollection they became identical. Collapsing them into the same ItemViewModel class.
--HG-- extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4044987
This commit is contained in:
@@ -11,7 +11,7 @@ using NUnit.Framework;
|
|||||||
using Orchard.ContentManagement;
|
using Orchard.ContentManagement;
|
||||||
using Orchard.ContentManagement.Drivers;
|
using Orchard.ContentManagement.Drivers;
|
||||||
using Orchard.ContentManagement.Handlers;
|
using Orchard.ContentManagement.Handlers;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
using Orchard.UI.Zones;
|
using Orchard.UI.Zones;
|
||||||
|
|
||||||
namespace Orchard.Tests.ContentManagement {
|
namespace Orchard.Tests.ContentManagement {
|
||||||
@@ -43,7 +43,7 @@ namespace Orchard.Tests.ContentManagement {
|
|||||||
});
|
});
|
||||||
var contentHandler = _container.Resolve<IContentHandler>();
|
var contentHandler = _container.Resolve<IContentHandler>();
|
||||||
|
|
||||||
var ctx = new BuildDisplayModelContext(new ItemDisplayModel(new ContentItem()), null);
|
var ctx = new BuildDisplayModelContext(new ItemViewModel(new ContentItem()), null);
|
||||||
|
|
||||||
driver1.Verify(x => x.BuildDisplayModel(ctx), Times.Never());
|
driver1.Verify(x => x.BuildDisplayModel(ctx), Times.Never());
|
||||||
contentHandler.BuildDisplayModel(ctx);
|
contentHandler.BuildDisplayModel(ctx);
|
||||||
@@ -60,12 +60,12 @@ namespace Orchard.Tests.ContentManagement {
|
|||||||
var item = new ContentItem();
|
var item = new ContentItem();
|
||||||
item.Weld(new StubPart { Foo = new[] { "a", "b", "c" } });
|
item.Weld(new StubPart { Foo = new[] { "a", "b", "c" } });
|
||||||
|
|
||||||
var ctx = new BuildDisplayModelContext(new ItemDisplayModel(item), "");
|
var ctx = new BuildDisplayModelContext(new ItemViewModel(item), "");
|
||||||
Assert.That(ctx.DisplayModel.Zones.Count(), Is.EqualTo(0));
|
Assert.That(ctx.ViewModel.Zones.Count(), Is.EqualTo(0));
|
||||||
contentHandler.BuildDisplayModel(ctx);
|
contentHandler.BuildDisplayModel(ctx);
|
||||||
Assert.That(ctx.DisplayModel.Zones.Count(), Is.EqualTo(1));
|
Assert.That(ctx.ViewModel.Zones.Count(), Is.EqualTo(1));
|
||||||
Assert.That(ctx.DisplayModel.Zones.Single().Key, Is.EqualTo("topmeta"));
|
Assert.That(ctx.ViewModel.Zones.Single().Key, Is.EqualTo("topmeta"));
|
||||||
Assert.That(ctx.DisplayModel.Zones.Single().Value.Items.OfType<PartDisplayZoneItem>().Single().Prefix, Is.EqualTo("Stub"));
|
Assert.That(ctx.ViewModel.Zones.Single().Value.Items.OfType<PartDisplayZoneItem>().Single().Prefix, Is.EqualTo("Stub"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,14 +26,14 @@ namespace Orchard.Core.Settings.Controllers {
|
|||||||
var model = new Orchard.Core.Settings.ViewModels.SettingsIndexViewModel {
|
var model = new Orchard.Core.Settings.ViewModels.SettingsIndexViewModel {
|
||||||
Site = _siteService.GetSiteSettings().As<SiteSettings>()
|
Site = _siteService.GetSiteSettings().As<SiteSettings>()
|
||||||
};
|
};
|
||||||
model.EditorModel = _modelManager.BuildEditorModel(model.Site);
|
model.ViewModel = _modelManager.BuildEditorModel(model.Site);
|
||||||
return View(model);
|
return View(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost, ActionName("Index")]
|
[HttpPost, ActionName("Index")]
|
||||||
public ActionResult IndexPOST(string tabName) {
|
public ActionResult IndexPOST(string tabName) {
|
||||||
var viewModel = new SettingsIndexViewModel { Site = _siteService.GetSiteSettings().As<SiteSettings>() };
|
var viewModel = new SettingsIndexViewModel { Site = _siteService.GetSiteSettings().As<SiteSettings>() };
|
||||||
viewModel.EditorModel = _modelManager.UpdateEditorModel(viewModel.Site.ContentItem, this);
|
viewModel.ViewModel = _modelManager.UpdateEditorModel(viewModel.Site.ContentItem, this);
|
||||||
|
|
||||||
if (!TryUpdateModel(viewModel)) {
|
if (!TryUpdateModel(viewModel)) {
|
||||||
return View(viewModel);
|
return View(viewModel);
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using Orchard.ContentManagement;
|
using Orchard.ContentManagement;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
using Orchard.Core.Settings.Models;
|
using Orchard.Core.Settings.Models;
|
||||||
|
|
||||||
namespace Orchard.Core.Settings.ViewModels {
|
namespace Orchard.Core.Settings.ViewModels {
|
||||||
public class SettingsIndexViewModel : AdminViewModel {
|
public class SettingsIndexViewModel : AdminViewModel {
|
||||||
public SiteSettings Site { get; set; }
|
public SiteSettings Site { get; set; }
|
||||||
public ItemEditorModel EditorModel { get; set; }
|
public ItemViewModel ViewModel { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[HiddenInput(DisplayValue = false)]
|
[HiddenInput(DisplayValue = false)]
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
<%=Html.EditorFor(s=>s.Id) %>
|
<%=Html.EditorFor(s=>s.Id) %>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<%= Html.EditorForItem(Model.EditorModel) %>
|
<%= Html.EditorForItem(Model.ViewModel) %>
|
||||||
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<input class="button" type="submit" value="Save" />
|
<input class="button" type="submit" value="Save" />
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemEditorModel<SiteSettings>>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemViewModel<SiteSettings>>" %>
|
||||||
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.Core.Settings.Models"%>
|
<%@ Import Namespace="Orchard.Core.Settings.Models"%>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement.ViewModels"%>
|
|
||||||
<% Html.Zone("primary"); %>
|
<% Html.Zone("primary"); %>
|
||||||
<% Html.ZonesAny(); %>
|
<% Html.ZonesAny(); %>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ using Orchard.Blogs.Models;
|
|||||||
using Orchard.Blogs.Services;
|
using Orchard.Blogs.Services;
|
||||||
using Orchard.ContentManagement;
|
using Orchard.ContentManagement;
|
||||||
using Orchard.ContentManagement.Drivers;
|
using Orchard.ContentManagement.Drivers;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.Blogs.Controllers {
|
namespace Orchard.Blogs.Controllers {
|
||||||
[UsedImplicitly]
|
[UsedImplicitly]
|
||||||
@@ -54,7 +54,7 @@ namespace Orchard.Blogs.Controllers {
|
|||||||
|
|
||||||
protected override DriverResult Display(Blog blog, string displayType) {
|
protected override DriverResult Display(Blog blog, string displayType) {
|
||||||
|
|
||||||
IEnumerable<ItemDisplayModel<BlogPost>> blogPosts = null;
|
IEnumerable<ItemViewModel<BlogPost>> blogPosts = null;
|
||||||
if (displayType.StartsWith("DetailAdmin")) {
|
if (displayType.StartsWith("DetailAdmin")) {
|
||||||
blogPosts = _blogPostService.Get(blog)
|
blogPosts = _blogPostService.Get(blog)
|
||||||
.Select(bp => _contentManager.BuildDisplayModel(bp, "SummaryAdmin"));
|
.Select(bp => _contentManager.BuildDisplayModel(bp, "SummaryAdmin"));
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Orchard.Blogs.Models;
|
using Orchard.Blogs.Models;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.Blogs.ViewModels {
|
namespace Orchard.Blogs.ViewModels {
|
||||||
public class AdminBlogsViewModel : AdminViewModel {
|
public class AdminBlogsViewModel : AdminViewModel {
|
||||||
public IEnumerable<ItemDisplayModel<Blog>> Blogs { get; set; }
|
public IEnumerable<ItemViewModel<Blog>> Blogs { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
using Orchard.Blogs.Models;
|
using Orchard.Blogs.Models;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.Blogs.ViewModels {
|
namespace Orchard.Blogs.ViewModels {
|
||||||
public class BlogEditViewModel : AdminViewModel {
|
public class BlogEditViewModel : AdminViewModel {
|
||||||
public ItemEditorModel<Blog> Blog { get; set; }
|
public ItemViewModel<Blog> Blog { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
using Orchard.Blogs.Models;
|
using Orchard.Blogs.Models;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.Blogs.ViewModels {
|
namespace Orchard.Blogs.ViewModels {
|
||||||
public class BlogForAdminViewModel : AdminViewModel {
|
public class BlogForAdminViewModel : AdminViewModel {
|
||||||
public ItemDisplayModel<Blog> Blog { get; set; }
|
public ItemViewModel<Blog> Blog { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
using Orchard.Blogs.Models;
|
using Orchard.Blogs.Models;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.Blogs.ViewModels {
|
namespace Orchard.Blogs.ViewModels {
|
||||||
public class BlogPostEditViewModel : AdminViewModel {
|
public class BlogPostEditViewModel : AdminViewModel {
|
||||||
public ItemEditorModel<BlogPost> BlogPost { get; set; }
|
public ItemViewModel<BlogPost> BlogPost { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,10 +1,9 @@
|
|||||||
using Orchard.Blogs.Models;
|
using Orchard.Blogs.Models;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.Blogs.ViewModels {
|
namespace Orchard.Blogs.ViewModels {
|
||||||
public class BlogPostViewModel : BaseViewModel {
|
public class BlogPostViewModel : BaseViewModel {
|
||||||
public Blog Blog { get; set; }
|
public Blog Blog { get; set; }
|
||||||
public ItemDisplayModel<BlogPost> BlogPost { get; set; }
|
public ItemViewModel<BlogPost> BlogPost { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
using Orchard.Blogs.Models;
|
using Orchard.Blogs.Models;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.Blogs.ViewModels {
|
namespace Orchard.Blogs.ViewModels {
|
||||||
public class BlogViewModel : BaseViewModel {
|
public class BlogViewModel : BaseViewModel {
|
||||||
public ItemDisplayModel<Blog> Blog { get; set; }
|
public ItemViewModel<Blog> Blog { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,10 +1,9 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Orchard.Blogs.Models;
|
using Orchard.Blogs.Models;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.Blogs.ViewModels {
|
namespace Orchard.Blogs.ViewModels {
|
||||||
public class BlogsViewModel : BaseViewModel {
|
public class BlogsViewModel : BaseViewModel {
|
||||||
public IEnumerable<ItemDisplayModel<Blog>> Blogs { get; set; }
|
public IEnumerable<ItemViewModel<Blog>> Blogs { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
using Orchard.Blogs.Models;
|
using Orchard.Blogs.Models;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.Blogs.ViewModels {
|
namespace Orchard.Blogs.ViewModels {
|
||||||
public class CreateBlogPostViewModel : AdminViewModel {
|
public class CreateBlogPostViewModel : AdminViewModel {
|
||||||
public ItemEditorModel<BlogPost> BlogPost { get; set; }
|
public ItemViewModel<BlogPost> BlogPost { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
using Orchard.Blogs.Models;
|
using Orchard.Blogs.Models;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.Blogs.ViewModels {
|
namespace Orchard.Blogs.ViewModels {
|
||||||
public class CreateBlogViewModel : AdminViewModel {
|
public class CreateBlogViewModel : AdminViewModel {
|
||||||
public ItemEditorModel<Blog> Blog { get; set; }
|
public ItemViewModel<Blog> Blog { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemDisplayModel<Blog>>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemViewModel<Blog>>" %>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement.ViewModels"%>
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
||||||
<%-- todo: (heskew) get what actions we can out of the h2 :| --%>
|
<%-- todo: (heskew) get what actions we can out of the h2 :| --%>
|
||||||
|
|||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemDisplayModel<Blog>>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemViewModel<Blog>>" %>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement.ViewModels"%>
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
||||||
<h3><%=Html.Link(Html.Encode(Model.Item.Name), Url.Blog(Model.Item.Slug)) %></h3>
|
<h3><%=Html.Link(Html.Encode(Model.Item.Name), Url.Blog(Model.Item.Slug)) %></h3>
|
||||||
|
|||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemDisplayModel<Blog>>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemViewModel<Blog>>" %>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement.ViewModels"%>
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
||||||
<h3><a href="<%=Url.BlogForAdmin(Model.Item.Slug) %>"><%=Html.Encode(Model.Item.Name) %></a></h3>
|
<h3><a href="<%=Url.BlogForAdmin(Model.Item.Slug) %>"><%=Html.Encode(Model.Item.Name) %></a></h3>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemDisplayModel<Blog>>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemViewModel<Blog>>" %>
|
||||||
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement.ViewModels"%>
|
|
||||||
<div class="manage"><a href="<%=Url.BlogEdit(Model.Item.Slug) %>" class="ibutton edit">edit</a></div>
|
<div class="manage"><a href="<%=Url.BlogEdit(Model.Item.Slug) %>" class="ibutton edit">edit</a></div>
|
||||||
<h1><%=Html.TitleForPage(Model.Item.Name) %></h1>
|
<h1><%=Html.TitleForPage(Model.Item.Name) %></h1>
|
||||||
<div><%=Html.Encode(Model.Item.Description) %></div>
|
<div><%=Html.Encode(Model.Item.Description) %></div>
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemDisplayModel<BlogPost>>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemViewModel<BlogPost>>" %>
|
||||||
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement"%>
|
<%@ Import Namespace="Orchard.ContentManagement"%>
|
||||||
<%@ Import Namespace="Orchard.Core.Common.Models"%>
|
<%@ Import Namespace="Orchard.Core.Common.Models"%>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement.ViewModels"%>
|
|
||||||
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
||||||
<h3><a href="<%=Url.BlogPost(Model.Item.Blog.Slug, Model.Item.Slug) %>"><%=Html.Encode(Model.Item.Title) %></a></h3>
|
<h3><a href="<%=Url.BlogPost(Model.Item.Blog.Slug, Model.Item.Slug) %>"><%=Html.Encode(Model.Item.Title) %></a></h3>
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemDisplayModel<BlogPost>>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemViewModel<BlogPost>>" %>
|
||||||
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement"%>
|
<%@ Import Namespace="Orchard.ContentManagement"%>
|
||||||
<%@ Import Namespace="Orchard.Core.Common.Models"%>
|
<%@ Import Namespace="Orchard.Core.Common.Models"%>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement.ViewModels"%>
|
|
||||||
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
||||||
<h3><a href="<%=Url.BlogPostEdit(Model.Item.Blog.Slug, Model.Item.Slug) %>"><%=Html.Encode(Model.Item.Title)%></a></h3>
|
<h3><a href="<%=Url.BlogPostEdit(Model.Item.Blog.Slug, Model.Item.Slug) %>"><%=Html.Encode(Model.Item.Title)%></a></h3>
|
||||||
|
|||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemDisplayModel<BlogPost>>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemViewModel<BlogPost>>" %>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement.ViewModels"%>
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
||||||
<div class="manage"><a href="<%=Url.BlogPostEdit(Model.Item.Blog.Slug, Model.Item.Slug) %>" class="ibutton edit">edit</a></div>
|
<div class="manage"><a href="<%=Url.BlogPostEdit(Model.Item.Blog.Slug, Model.Item.Slug) %>" class="ibutton edit">edit</a></div>
|
||||||
|
|||||||
+2
-2
@@ -1,4 +1,4 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<ItemDisplayModel<BlogPost>>>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<ItemViewModel<BlogPost>>>" %>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement.ViewModels"%>
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
||||||
<%=Html.UnorderedList(Model, (bp, i) => Html.DisplayForItem(bp).ToHtmlString(), "blogPosts contentItems") %>
|
<%=Html.UnorderedList(Model, (bp, i) => Html.DisplayForItem(bp).ToHtmlString(), "blogPosts contentItems") %>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemEditorModel<Blog>>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemViewModel<Blog>>" %>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement.ViewModels"%>
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
||||||
<% Html.AddTitleParts(Model.Item.Name); %>
|
<% Html.AddTitleParts(Model.Item.Name); %>
|
||||||
<% Html.Zone("primary"); %>
|
<% Html.Zone("primary"); %>
|
||||||
|
|||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemEditorModel<BlogPost>>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemViewModel<BlogPost>>" %>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement.ViewModels"%>
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
<%@ Import Namespace="Orchard.Blogs.Models"%>
|
||||||
<% Html.AddTitleParts(Model.Item.Title); %>
|
<% Html.AddTitleParts(Model.Item.Title); %>
|
||||||
<div class="sections">
|
<div class="sections">
|
||||||
|
|||||||
@@ -14,9 +14,9 @@ namespace Orchard.DevTools.ViewModels {
|
|||||||
|
|
||||||
public IEnumerable<Type> PartTypes { get; set; }
|
public IEnumerable<Type> PartTypes { get; set; }
|
||||||
|
|
||||||
public ItemDisplayModel DisplayModel { get; set; }
|
public ItemViewModel DisplayModel { get; set; }
|
||||||
|
|
||||||
public ItemEditorModel EditorModel { get; set; }
|
public ItemViewModel EditorModel { get; set; }
|
||||||
|
|
||||||
public IEnumerable<TemplateViewModel> Displays {
|
public IEnumerable<TemplateViewModel> Displays {
|
||||||
get {
|
get {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ using System.Web.Routing;
|
|||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using Orchard.ContentManagement;
|
using Orchard.ContentManagement;
|
||||||
using Orchard.ContentManagement.Drivers;
|
using Orchard.ContentManagement.Drivers;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
using Orchard.Sandbox.Models;
|
using Orchard.Sandbox.Models;
|
||||||
|
|
||||||
namespace Orchard.Sandbox.Controllers {
|
namespace Orchard.Sandbox.Controllers {
|
||||||
@@ -47,11 +47,11 @@ namespace Orchard.Sandbox.Controllers {
|
|||||||
PartTemplate(part, "Parts/Sandbox.Page.Title").Location("title"));
|
PartTemplate(part, "Parts/Sandbox.Page.Title").Location("title"));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override DriverResult Editor(ItemEditorModel<SandboxPage> model) {
|
protected override DriverResult Editor(ItemViewModel<SandboxPage> model) {
|
||||||
return ItemTemplate("Items/Sandbox.Page");
|
return ItemTemplate("Items/Sandbox.Page");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override DriverResult Editor(ItemEditorModel<SandboxPage> model, IUpdateModel updater) {
|
protected override DriverResult Editor(ItemViewModel<SandboxPage> model, IUpdateModel updater) {
|
||||||
updater.TryUpdateModel(model, Prefix, null, null);
|
updater.TryUpdateModel(model, Prefix, null, null);
|
||||||
return ItemTemplate("Items/Sandbox.Page");
|
return ItemTemplate("Items/Sandbox.Page");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
using Orchard.Sandbox.Models;
|
using Orchard.Sandbox.Models;
|
||||||
|
|
||||||
namespace Orchard.Sandbox.ViewModels {
|
namespace Orchard.Sandbox.ViewModels {
|
||||||
public class PageEditViewModel : BaseViewModel {
|
public class PageEditViewModel : BaseViewModel {
|
||||||
public ItemEditorModel<SandboxPage> Page { get; set; }
|
public ItemViewModel<SandboxPage> Page { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
using Orchard.Sandbox.Models;
|
using Orchard.Sandbox.Models;
|
||||||
|
|
||||||
namespace Orchard.Sandbox.ViewModels {
|
namespace Orchard.Sandbox.ViewModels {
|
||||||
public class PageIndexViewModel : BaseViewModel {
|
public class PageIndexViewModel : BaseViewModel {
|
||||||
public IEnumerable<ItemDisplayModel<SandboxPage>> Pages { get; set; }
|
public IEnumerable<ItemViewModel<SandboxPage>> Pages { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
using Orchard.Mvc.ViewModels;
|
|
||||||
using Orchard.Sandbox.Models;
|
using Orchard.Sandbox.Models;
|
||||||
|
|
||||||
namespace Orchard.Sandbox.ViewModels {
|
namespace Orchard.Sandbox.ViewModels {
|
||||||
public class PageShowViewModel : BaseViewModel {
|
public class PageShowViewModel : BaseViewModel {
|
||||||
public ItemDisplayModel<SandboxPage> Page { get; set; }
|
public ItemViewModel<SandboxPage> Page { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemDisplayModel<SandboxPage>>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemViewModel<SandboxPage>>" %>
|
||||||
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.Sandbox.Models" %>
|
<%@ Import Namespace="Orchard.Sandbox.Models" %>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement.ViewModels" %>
|
|
||||||
|
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<% Html.Zone("title"); %>
|
<% Html.Zone("title"); %>
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemDisplayModel<SandboxPage>>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemViewModel<SandboxPage>>" %>
|
||||||
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.Sandbox.Models" %>
|
<%@ Import Namespace="Orchard.Sandbox.Models" %>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement.ViewModels" %>
|
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<% Html.Zone("first"); %>
|
<% Html.Zone("first"); %>
|
||||||
<div class="title">
|
<div class="title">
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemEditorModel<SandboxPage>>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemViewModel<SandboxPage>>" %>
|
||||||
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.Sandbox.Models" %>
|
<%@ Import Namespace="Orchard.Sandbox.Models" %>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement.ViewModels" %>
|
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<%=Html.LabelFor(m => m.Item.Record.Name)%>
|
<%=Html.LabelFor(m => m.Item.Record.Name)%>
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Orchard.ContentManagement;
|
using Orchard.ContentManagement;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.Tags.ViewModels {
|
namespace Orchard.Tags.ViewModels {
|
||||||
public class TagsSearchViewModel : BaseViewModel {
|
public class TagsSearchViewModel : BaseViewModel {
|
||||||
public string TagName { get; set; }
|
public string TagName { get; set; }
|
||||||
public IEnumerable<ItemDisplayModel<IContent>> Items { get; set; }
|
public IEnumerable<ItemViewModel<IContent>> Items { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
using Orchard.Security;
|
using Orchard.Security;
|
||||||
using Orchard.Users.Models;
|
using Orchard.Users.Models;
|
||||||
@@ -20,6 +19,6 @@ namespace Orchard.Users.ViewModels {
|
|||||||
[Required, DataType(DataType.Password)]
|
[Required, DataType(DataType.Password)]
|
||||||
public string ConfirmPassword { get; set; }
|
public string ConfirmPassword { get; set; }
|
||||||
|
|
||||||
public ItemEditorModel<IUser> User { get; set; }
|
public ItemViewModel<IUser> User { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using Orchard.ContentManagement;
|
using Orchard.ContentManagement;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
using Orchard.Users.Models;
|
using Orchard.Users.Models;
|
||||||
|
|
||||||
@@ -24,6 +23,6 @@ namespace Orchard.Users.ViewModels {
|
|||||||
set { User.Item.Record.Email = value; }
|
set { User.Item.Record.Email = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemEditorModel<User> User { get; set; }
|
public ItemViewModel<User> User { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemEditorModel<User>>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemViewModel<User>>" %>
|
||||||
<%@ Import Namespace="Orchard.ContentManagement.ViewModels" %>
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.Users.Models" %>
|
<%@ Import Namespace="Orchard.Users.Models" %>
|
||||||
<% Html.ZonesAny(); %>
|
<% Html.ZonesAny(); %>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Orchard.ContentManagement.Handlers;
|
using Orchard.ContentManagement.Handlers;
|
||||||
using Orchard.ContentManagement.Records;
|
using Orchard.ContentManagement.Records;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.ContentManagement {
|
namespace Orchard.ContentManagement {
|
||||||
public static class ContentCreateExtensions {
|
public static class ContentCreateExtensions {
|
||||||
@@ -151,15 +151,15 @@ namespace Orchard.ContentManagement {
|
|||||||
|
|
||||||
/* Display and editor convenience extension methods */
|
/* Display and editor convenience extension methods */
|
||||||
|
|
||||||
public static ItemDisplayModel<T> BuildDisplayModel<T>(this IContentManager manager, int id, string displayType) where T : class, IContent {
|
public static ItemViewModel<T> BuildDisplayModel<T>(this IContentManager manager, int id, string displayType) where T : class, IContent {
|
||||||
return manager.BuildDisplayModel(manager.Get<T>(id), displayType);
|
return manager.BuildDisplayModel(manager.Get<T>(id), displayType);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemEditorModel<T> BuildEditorModel<T>(this IContentManager manager, int id) where T : class, IContent {
|
public static ItemViewModel<T> BuildEditorModel<T>(this IContentManager manager, int id) where T : class, IContent {
|
||||||
return manager.BuildEditorModel(manager.Get<T>(id));
|
return manager.BuildEditorModel(manager.Get<T>(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemEditorModel<T> UpdateEditorModel<T>(this IContentManager manager, int id, IUpdateModel updater) where T : class, IContent {
|
public static ItemViewModel<T> UpdateEditorModel<T>(this IContentManager manager, int id, IUpdateModel updater) where T : class, IContent {
|
||||||
return manager.UpdateEditorModel(manager.Get<T>(id), updater);
|
return manager.UpdateEditorModel(manager.Get<T>(id), updater);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ using System.Linq;
|
|||||||
using Autofac;
|
using Autofac;
|
||||||
using Orchard.ContentManagement.Handlers;
|
using Orchard.ContentManagement.Handlers;
|
||||||
using Orchard.ContentManagement.Records;
|
using Orchard.ContentManagement.Records;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Data;
|
using Orchard.Data;
|
||||||
|
using Orchard.Mvc.ViewModels;
|
||||||
using Orchard.UI.Navigation;
|
using Orchard.UI.Navigation;
|
||||||
|
|
||||||
namespace Orchard.ContentManagement {
|
namespace Orchard.ContentManagement {
|
||||||
@@ -292,8 +292,8 @@ namespace Orchard.ContentManagement {
|
|||||||
return context.Metadata;
|
return context.Metadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemDisplayModel<TContentPart> BuildDisplayModel<TContentPart>(TContentPart content, string displayType) where TContentPart : IContent {
|
public ItemViewModel<TContentPart> BuildDisplayModel<TContentPart>(TContentPart content, string displayType) where TContentPart : IContent {
|
||||||
var displayModel = new ItemDisplayModel<TContentPart>(content);
|
var displayModel = new ItemViewModel<TContentPart>(content);
|
||||||
var context = new BuildDisplayModelContext(displayModel, displayType);
|
var context = new BuildDisplayModelContext(displayModel, displayType);
|
||||||
foreach (var handler in Handlers) {
|
foreach (var handler in Handlers) {
|
||||||
handler.BuildDisplayModel(context);
|
handler.BuildDisplayModel(context);
|
||||||
@@ -301,8 +301,8 @@ namespace Orchard.ContentManagement {
|
|||||||
return displayModel;
|
return displayModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemEditorModel<TContentPart> BuildEditorModel<TContentPart>(TContentPart content) where TContentPart : IContent {
|
public ItemViewModel<TContentPart> BuildEditorModel<TContentPart>(TContentPart content) where TContentPart : IContent {
|
||||||
var editorModel = new ItemEditorModel<TContentPart>(content);
|
var editorModel = new ItemViewModel<TContentPart>(content);
|
||||||
var context = new BuildEditorModelContext(editorModel);
|
var context = new BuildEditorModelContext(editorModel);
|
||||||
foreach (var handler in Handlers) {
|
foreach (var handler in Handlers) {
|
||||||
handler.BuildEditorModel(context);
|
handler.BuildEditorModel(context);
|
||||||
@@ -310,8 +310,8 @@ namespace Orchard.ContentManagement {
|
|||||||
return editorModel;
|
return editorModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemEditorModel<TContentPart> UpdateEditorModel<TContentPart>(TContentPart content, IUpdateModel updater) where TContentPart : IContent {
|
public ItemViewModel<TContentPart> UpdateEditorModel<TContentPart>(TContentPart content, IUpdateModel updater) where TContentPart : IContent {
|
||||||
var editorModel = new ItemEditorModel<TContentPart>(content);
|
var editorModel = new ItemViewModel<TContentPart>(content);
|
||||||
|
|
||||||
var context = new UpdateEditorModelContext(editorModel, updater);
|
var context = new UpdateEditorModelContext(editorModel, updater);
|
||||||
foreach (var handler in Handlers) {
|
foreach (var handler in Handlers) {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Web.Routing;
|
using System.Web.Routing;
|
||||||
using Orchard.ContentManagement.Handlers;
|
using Orchard.ContentManagement.Handlers;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.ContentManagement.Drivers {
|
namespace Orchard.ContentManagement.Drivers {
|
||||||
public interface IItemDriver : IEvents {
|
public interface IItemDriver : IEvents {
|
||||||
@@ -44,10 +44,10 @@ namespace Orchard.ContentManagement.Drivers {
|
|||||||
if (part == null) {
|
if (part == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (context.DisplayModel.GetType() != typeof(ItemDisplayModel<TContent>)) {
|
if (context.ViewModel.GetType() != typeof(ItemViewModel<TContent>)) {
|
||||||
return Display(new ItemDisplayModel<TContent>(context.DisplayModel), context.DisplayType);
|
return Display(new ItemViewModel<TContent>(context.ViewModel), context.DisplayType);
|
||||||
}
|
}
|
||||||
return Display((ItemDisplayModel<TContent>)context.DisplayModel, context.DisplayType);
|
return Display((ItemViewModel<TContent>)context.ViewModel, context.DisplayType);
|
||||||
}
|
}
|
||||||
|
|
||||||
DriverResult IItemDriver.BuildEditorModel(BuildEditorModelContext context) {
|
DriverResult IItemDriver.BuildEditorModel(BuildEditorModelContext context) {
|
||||||
@@ -55,10 +55,10 @@ namespace Orchard.ContentManagement.Drivers {
|
|||||||
if (part == null) {
|
if (part == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (context.EditorModel.GetType() != typeof(ItemEditorModel<TContent>)) {
|
if (context.ViewModel.GetType() != typeof(ItemViewModel<TContent>)) {
|
||||||
return Editor(new ItemEditorModel<TContent>(context.EditorModel));
|
return Editor(new ItemViewModel<TContent>(context.ViewModel));
|
||||||
}
|
}
|
||||||
return Editor((ItemEditorModel<TContent>)context.EditorModel);
|
return Editor((ItemViewModel<TContent>)context.ViewModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
DriverResult IItemDriver.UpdateEditorModel(UpdateEditorModelContext context) {
|
DriverResult IItemDriver.UpdateEditorModel(UpdateEditorModelContext context) {
|
||||||
@@ -66,10 +66,10 @@ namespace Orchard.ContentManagement.Drivers {
|
|||||||
if (part == null) {
|
if (part == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (context.EditorModel.GetType() != typeof(ItemEditorModel<TContent>)) {
|
if (context.ViewModel.GetType() != typeof(ItemViewModel<TContent>)) {
|
||||||
return Editor(new ItemEditorModel<TContent>(context.EditorModel), context.Updater);
|
return Editor(new ItemViewModel<TContent>(context.ViewModel), context.Updater);
|
||||||
}
|
}
|
||||||
return Editor((ItemEditorModel<TContent>)context.EditorModel, context.Updater);
|
return Editor((ItemViewModel<TContent>)context.ViewModel, context.Updater);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual ContentType GetContentType() { return _contentType; }
|
protected virtual ContentType GetContentType() { return _contentType; }
|
||||||
@@ -77,9 +77,9 @@ namespace Orchard.ContentManagement.Drivers {
|
|||||||
protected virtual RouteValueDictionary GetDisplayRouteValues(TContent item) { return null; }
|
protected virtual RouteValueDictionary GetDisplayRouteValues(TContent item) { return null; }
|
||||||
protected virtual RouteValueDictionary GetEditorRouteValues(TContent item) { return null; }
|
protected virtual RouteValueDictionary GetEditorRouteValues(TContent item) { return null; }
|
||||||
|
|
||||||
protected virtual DriverResult Display(ItemDisplayModel<TContent> displayModel, string displayType) { return null; }
|
protected virtual DriverResult Display(ItemViewModel<TContent> viewModel, string displayType) { return null; }
|
||||||
protected virtual DriverResult Editor(ItemEditorModel<TContent> editorModel) { return null; }
|
protected virtual DriverResult Editor(ItemViewModel<TContent> viewModel) { return null; }
|
||||||
protected virtual DriverResult Editor(ItemEditorModel<TContent> editorModel, IUpdateModel updater) { return null; }
|
protected virtual DriverResult Editor(ItemViewModel<TContent> viewModel, IUpdateModel updater) { return null; }
|
||||||
|
|
||||||
public ItemTemplateResult<TContent> ItemTemplate(string templateName) {
|
public ItemTemplateResult<TContent> ItemTemplate(string templateName) {
|
||||||
return new ItemTemplateResult<TContent>(templateName);
|
return new ItemTemplateResult<TContent>(templateName);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ using System;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using Orchard.ContentManagement.Handlers;
|
using Orchard.ContentManagement.Handlers;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.ContentManagement.Drivers {
|
namespace Orchard.ContentManagement.Drivers {
|
||||||
public class ItemTemplateResult<TContent> : DriverResult where TContent : class, IContent {
|
public class ItemTemplateResult<TContent> : DriverResult where TContent : class, IContent {
|
||||||
@@ -13,24 +13,24 @@ namespace Orchard.ContentManagement.Drivers {
|
|||||||
public string TemplateName { get; set; }
|
public string TemplateName { get; set; }
|
||||||
|
|
||||||
public override void Apply(BuildDisplayModelContext context) {
|
public override void Apply(BuildDisplayModelContext context) {
|
||||||
context.DisplayModel.TemplateName = TemplateName;
|
context.ViewModel.TemplateName = TemplateName;
|
||||||
if (context.DisplayModel.GetType() != typeof(ItemDisplayModel<TContent>)) {
|
if (context.ViewModel.GetType() != typeof(ItemViewModel<TContent>)) {
|
||||||
context.DisplayModel.Adaptor = (html, viewModel) => {
|
context.ViewModel.Adaptor = (html, viewModel) => {
|
||||||
return new HtmlHelper<ItemDisplayModel<TContent>>(
|
return new HtmlHelper<ItemViewModel<TContent>>(
|
||||||
html.ViewContext,
|
html.ViewContext,
|
||||||
new ViewDataContainer { ViewData = new ViewDataDictionary(new ItemDisplayModel<TContent>(viewModel)) },
|
new ViewDataContainer { ViewData = new ViewDataDictionary(new ItemViewModel<TContent>(viewModel)) },
|
||||||
html.RouteCollection);
|
html.RouteCollection);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Apply(BuildEditorModelContext context) {
|
public override void Apply(BuildEditorModelContext context) {
|
||||||
context.EditorModel.TemplateName = TemplateName;
|
context.ViewModel.TemplateName = TemplateName;
|
||||||
if (context.EditorModel.GetType() != typeof(ItemEditorModel<TContent>)) {
|
if (context.ViewModel.GetType() != typeof(ItemViewModel<TContent>)) {
|
||||||
context.EditorModel.Adaptor = (html, viewModel) => {
|
context.ViewModel.Adaptor = (html, viewModel) => {
|
||||||
return new HtmlHelper<ItemEditorModel<TContent>>(
|
return new HtmlHelper<ItemViewModel<TContent>>(
|
||||||
html.ViewContext,
|
html.ViewContext,
|
||||||
new ViewDataContainer { ViewData = new ViewDataDictionary(new ItemEditorModel<TContent>(viewModel)) },
|
new ViewDataContainer { ViewData = new ViewDataDictionary(new ItemViewModel<TContent>(viewModel)) },
|
||||||
html.RouteCollection);
|
html.RouteCollection);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,12 +16,12 @@ namespace Orchard.ContentManagement.Drivers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public override void Apply(BuildDisplayModelContext context) {
|
public override void Apply(BuildDisplayModelContext context) {
|
||||||
context.DisplayModel.Zones.AddDisplayPart(
|
context.ViewModel.Zones.AddDisplayPart(
|
||||||
Zone + ":" + Position, Model, TemplateName, Prefix);
|
Zone + ":" + Position, Model, TemplateName, Prefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Apply(BuildEditorModelContext context) {
|
public override void Apply(BuildEditorModelContext context) {
|
||||||
context.EditorModel.Zones.AddEditorPart(
|
context.ViewModel.Zones.AddEditorPart(
|
||||||
Zone + ":" + Position, Model, TemplateName, Prefix);
|
Zone + ":" + Position, Model, TemplateName, Prefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,21 +1,22 @@
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.ContentManagement.ViewModels;
|
||||||
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.ContentManagement.Handlers {
|
namespace Orchard.ContentManagement.Handlers {
|
||||||
public class BuildDisplayModelContext {
|
public class BuildDisplayModelContext {
|
||||||
public BuildDisplayModelContext(ItemDisplayModel displayModel, string displayType) {
|
public BuildDisplayModelContext(ItemViewModel viewModel, string displayType) {
|
||||||
ContentItem = displayModel.Item;
|
ContentItem = viewModel.Item;
|
||||||
DisplayType = displayType;
|
DisplayType = displayType;
|
||||||
DisplayModel = displayModel;
|
ViewModel = viewModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ContentItem ContentItem { get; private set; }
|
public ContentItem ContentItem { get; private set; }
|
||||||
public string DisplayType { get; private set; }
|
public string DisplayType { get; private set; }
|
||||||
public ItemDisplayModel DisplayModel { get; private set; }
|
public ItemViewModel ViewModel { get; private set; }
|
||||||
|
|
||||||
public void AddDisplay(TemplateViewModel display) {
|
public void AddDisplay(TemplateViewModel display) {
|
||||||
//TEMP: (loudej) transition code - from TemplateViewMode to ZoneItem
|
//TEMP: (loudej) transition code - from TemplateViewMode to ZoneItem
|
||||||
DisplayModel.Zones.AddDisplayPart(
|
ViewModel.Zones.AddDisplayPart(
|
||||||
display.ZoneName+":"+display.Position,
|
display.ZoneName+":"+display.Position,
|
||||||
display.Model,
|
display.Model,
|
||||||
display.TemplateName,
|
display.TemplateName,
|
||||||
|
|||||||
@@ -1,20 +1,21 @@
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.ContentManagement.ViewModels;
|
||||||
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.ContentManagement.Handlers {
|
namespace Orchard.ContentManagement.Handlers {
|
||||||
public class BuildEditorModelContext {
|
public class BuildEditorModelContext {
|
||||||
public BuildEditorModelContext(ItemEditorModel editorModel) {
|
public BuildEditorModelContext(ItemViewModel viewModel) {
|
||||||
ContentItem = editorModel.Item;
|
ContentItem = viewModel.Item;
|
||||||
EditorModel = editorModel;
|
ViewModel = viewModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ContentItem ContentItem { get; set; }
|
public ContentItem ContentItem { get; set; }
|
||||||
public ItemEditorModel EditorModel { get; set; }
|
public ItemViewModel ViewModel { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public void AddEditor(TemplateViewModel display) {
|
public void AddEditor(TemplateViewModel display) {
|
||||||
//TEMP: (loudej) transition code - from TemplateViewMode to ZoneItem
|
//TEMP: (loudej) transition code - from TemplateViewMode to ZoneItem
|
||||||
EditorModel.Zones.AddEditorPart(
|
ViewModel.Zones.AddEditorPart(
|
||||||
display.ZoneName + ":" + display.Position,
|
display.ZoneName + ":" + display.Position,
|
||||||
display.Model,
|
display.Model,
|
||||||
display.TemplateName,
|
display.TemplateName,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.ContentManagement.Handlers {
|
namespace Orchard.ContentManagement.Handlers {
|
||||||
public class ContentItemTemplates<TContent> : TemplateFilterBase<TContent> where TContent : class, IContent {
|
public class ContentItemTemplates<TContent> : TemplateFilterBase<TContent> where TContent : class, IContent {
|
||||||
@@ -9,7 +9,7 @@ namespace Orchard.ContentManagement.Handlers {
|
|||||||
// todo: (heskew) use _prefix?
|
// todo: (heskew) use _prefix?
|
||||||
private readonly string _prefix;
|
private readonly string _prefix;
|
||||||
private readonly string[] _displayTypes;
|
private readonly string[] _displayTypes;
|
||||||
private Action<UpdateEditorModelContext, ItemEditorModel<TContent>> _updater;
|
private Action<UpdateEditorModelContext, ItemViewModel<TContent>> _updater;
|
||||||
|
|
||||||
public ContentItemTemplates(string templateName)
|
public ContentItemTemplates(string templateName)
|
||||||
: this(templateName, "") {
|
: this(templateName, "") {
|
||||||
@@ -23,18 +23,18 @@ namespace Orchard.ContentManagement.Handlers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected override void BuildDisplayModel(BuildDisplayModelContext context, TContent instance) {
|
protected override void BuildDisplayModel(BuildDisplayModelContext context, TContent instance) {
|
||||||
context.DisplayModel.TemplateName = _templateName;
|
context.ViewModel.TemplateName = _templateName;
|
||||||
var longestMatch = LongestMatch(context.DisplayType);
|
var longestMatch = LongestMatch(context.DisplayType);
|
||||||
if (!string.IsNullOrEmpty(longestMatch))
|
if (!string.IsNullOrEmpty(longestMatch))
|
||||||
context.DisplayModel.TemplateName += "." + longestMatch;
|
context.ViewModel.TemplateName += "." + longestMatch;
|
||||||
|
|
||||||
context.DisplayModel.Prefix = _prefix;
|
context.ViewModel.Prefix = _prefix;
|
||||||
|
|
||||||
if (context.DisplayModel.GetType() != typeof(ItemDisplayModel<TContent>)) {
|
if (context.ViewModel.GetType() != typeof(ItemViewModel<TContent>)) {
|
||||||
context.DisplayModel.Adaptor = (html, viewModel) => {
|
context.ViewModel.Adaptor = (html, viewModel) => {
|
||||||
return new HtmlHelper<ItemDisplayModel<TContent>>(
|
return new HtmlHelper<ItemViewModel<TContent>>(
|
||||||
html.ViewContext,
|
html.ViewContext,
|
||||||
new ViewDataContainer { ViewData = new ViewDataDictionary(new ItemDisplayModel<TContent>(viewModel)) },
|
new ViewDataContainer { ViewData = new ViewDataDictionary(new ItemViewModel<TContent>(viewModel)) },
|
||||||
html.RouteCollection);
|
html.RouteCollection);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -55,28 +55,28 @@ namespace Orchard.ContentManagement.Handlers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected override void BuildEditorModel(BuildEditorModelContext context, TContent instance) {
|
protected override void BuildEditorModel(BuildEditorModelContext context, TContent instance) {
|
||||||
context.EditorModel.TemplateName = _templateName;
|
context.ViewModel.TemplateName = _templateName;
|
||||||
context.EditorModel.Prefix = _prefix;
|
context.ViewModel.Prefix = _prefix;
|
||||||
if (context.EditorModel.GetType() != typeof(ItemEditorModel<TContent>)) {
|
if (context.ViewModel.GetType() != typeof(ItemViewModel<TContent>)) {
|
||||||
context.EditorModel.Adaptor = (html, viewModel) => {
|
context.ViewModel.Adaptor = (html, viewModel) => {
|
||||||
return new HtmlHelper<ItemEditorModel<TContent>>(
|
return new HtmlHelper<ItemViewModel<TContent>>(
|
||||||
html.ViewContext,
|
html.ViewContext,
|
||||||
new ViewDataContainer { ViewData = new ViewDataDictionary(new ItemEditorModel<TContent>(viewModel)) },
|
new ViewDataContainer { ViewData = new ViewDataDictionary(new ItemViewModel<TContent>(viewModel)) },
|
||||||
html.RouteCollection);
|
html.RouteCollection);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void UpdateEditorModel(UpdateEditorModelContext context, TContent instance) {
|
protected override void UpdateEditorModel(UpdateEditorModelContext context, TContent instance) {
|
||||||
if (context.EditorModel is ItemEditorModel<TContent>)
|
if (context.ViewModel is ItemViewModel<TContent>)
|
||||||
_updater(context, (ItemEditorModel<TContent>)context.EditorModel);
|
_updater(context, (ItemViewModel<TContent>)context.ViewModel);
|
||||||
else
|
else
|
||||||
_updater(context, new ItemEditorModel<TContent>(context.EditorModel));
|
_updater(context, new ItemViewModel<TContent>(context.ViewModel));
|
||||||
context.EditorModel.TemplateName = _templateName;
|
context.ViewModel.TemplateName = _templateName;
|
||||||
context.EditorModel.Prefix = _prefix;
|
context.ViewModel.Prefix = _prefix;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Updater(Action<UpdateEditorModelContext, ItemEditorModel<TContent>> updater) {
|
public void Updater(Action<UpdateEditorModelContext, ItemViewModel<TContent>> updater) {
|
||||||
_updater = updater;
|
_updater = updater;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,12 +19,12 @@ namespace Orchard.ContentManagement.Handlers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected override void BuildEditorModel(BuildEditorModelContext context, ContentPart<TRecord> part) {
|
protected override void BuildEditorModel(BuildEditorModelContext context, ContentPart<TRecord> part) {
|
||||||
context.EditorModel.Zones.AddEditorPart(_location, part.Record, _templateName, _prefix);
|
context.ViewModel.Zones.AddEditorPart(_location, part.Record, _templateName, _prefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void UpdateEditorModel(UpdateEditorModelContext context, ContentPart<TRecord> part) {
|
protected override void UpdateEditorModel(UpdateEditorModelContext context, ContentPart<TRecord> part) {
|
||||||
context.Updater.TryUpdateModel(part.Record, _prefix, null, null);
|
context.Updater.TryUpdateModel(part.Record, _prefix, null, null);
|
||||||
context.EditorModel.Zones.AddEditorPart(_location, part.Record, _templateName, _prefix);
|
context.ViewModel.Zones.AddEditorPart(_location, part.Record, _templateName, _prefix);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.ContentManagement.Handlers {
|
namespace Orchard.ContentManagement.Handlers {
|
||||||
public class UpdateEditorModelContext : BuildEditorModelContext {
|
public class UpdateEditorModelContext : BuildEditorModelContext {
|
||||||
public UpdateEditorModelContext(ItemEditorModel editorModel, IUpdateModel updater)
|
public UpdateEditorModelContext(ItemViewModel viewModel, IUpdateModel updater)
|
||||||
: base(editorModel) {
|
: base(viewModel) {
|
||||||
Updater = updater;
|
Updater = updater;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.ContentManagement {
|
namespace Orchard.ContentManagement {
|
||||||
public interface IContentManager : IDependency {
|
public interface IContentManager : IDependency {
|
||||||
@@ -21,9 +21,9 @@ namespace Orchard.ContentManagement {
|
|||||||
|
|
||||||
ContentItemMetadata GetItemMetadata(IContent contentItem);
|
ContentItemMetadata GetItemMetadata(IContent contentItem);
|
||||||
|
|
||||||
ItemDisplayModel<TContent> BuildDisplayModel<TContent>(TContent content, string displayType) where TContent : IContent;
|
ItemViewModel<TContent> BuildDisplayModel<TContent>(TContent content, string displayType) where TContent : IContent;
|
||||||
ItemEditorModel<TContent> BuildEditorModel<TContent>(TContent content) where TContent : IContent;
|
ItemViewModel<TContent> BuildEditorModel<TContent>(TContent content) where TContent : IContent;
|
||||||
ItemEditorModel<TContent> UpdateEditorModel<TContent>(TContent content, IUpdateModel updater) where TContent : IContent;
|
ItemViewModel<TContent> UpdateEditorModel<TContent>(TContent content, IUpdateModel updater) where TContent : IContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class VersionOptions {
|
public class VersionOptions {
|
||||||
|
|||||||
@@ -1,65 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Web.Mvc;
|
|
||||||
using Orchard.UI.Zones;
|
|
||||||
|
|
||||||
namespace Orchard.ContentManagement.ViewModels {
|
|
||||||
public class ItemDisplayModel : IZoneContainer {
|
|
||||||
private ContentItem _item;
|
|
||||||
|
|
||||||
protected ItemDisplayModel() {
|
|
||||||
Zones = new ZoneCollection();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected ItemDisplayModel(ItemDisplayModel displayModel) {
|
|
||||||
TemplateName = displayModel.TemplateName;
|
|
||||||
Prefix = displayModel.Prefix;
|
|
||||||
Item = displayModel.Item;
|
|
||||||
Zones = displayModel.Zones;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemDisplayModel(ContentItem item) {
|
|
||||||
Zones = new ZoneCollection();
|
|
||||||
Item = item;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ContentItem Item {
|
|
||||||
get { return _item; }
|
|
||||||
set { SetItem(value); }
|
|
||||||
}
|
|
||||||
|
|
||||||
protected virtual void SetItem(ContentItem value) {
|
|
||||||
_item = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Func<HtmlHelper, ItemDisplayModel, HtmlHelper> Adaptor { get; set; }
|
|
||||||
public string TemplateName { get; set; }
|
|
||||||
public string Prefix { get; set; }
|
|
||||||
public ZoneCollection Zones { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public class ItemDisplayModel<TPart> : ItemDisplayModel where TPart : IContent {
|
|
||||||
private TPart _item;
|
|
||||||
|
|
||||||
public ItemDisplayModel() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemDisplayModel(ItemDisplayModel displayModel)
|
|
||||||
: base(displayModel) {
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemDisplayModel(TPart part)
|
|
||||||
: base(part.ContentItem) {
|
|
||||||
}
|
|
||||||
|
|
||||||
public new TPart Item {
|
|
||||||
get { return _item; }
|
|
||||||
set { SetItem(value.ContentItem); }
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void SetItem(ContentItem value) {
|
|
||||||
_item = value.As<TPart>();
|
|
||||||
base.SetItem(value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Web.Mvc;
|
|
||||||
using Orchard.UI.Zones;
|
|
||||||
|
|
||||||
namespace Orchard.ContentManagement.ViewModels {
|
|
||||||
public class ItemEditorModel : IZoneContainer {
|
|
||||||
private ContentItem _item;
|
|
||||||
|
|
||||||
protected ItemEditorModel() {
|
|
||||||
Zones = new ZoneCollection();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected ItemEditorModel(ItemEditorModel editorModel) {
|
|
||||||
TemplateName = editorModel.TemplateName;
|
|
||||||
Prefix = editorModel.Prefix;
|
|
||||||
Item = editorModel.Item;
|
|
||||||
Zones = editorModel.Zones;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemEditorModel(ContentItem item) {
|
|
||||||
Zones = new ZoneCollection();
|
|
||||||
Item = item;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ContentItem Item {
|
|
||||||
get { return _item; }
|
|
||||||
set { SetItem(value); }
|
|
||||||
}
|
|
||||||
|
|
||||||
protected virtual void SetItem(ContentItem value) {
|
|
||||||
_item = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Func<HtmlHelper, ItemEditorModel, HtmlHelper> Adaptor { get; set; }
|
|
||||||
public string TemplateName { get; set; }
|
|
||||||
public string Prefix { get; set; }
|
|
||||||
public ZoneCollection Zones { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public class ItemEditorModel<TPart> : ItemEditorModel where TPart : IContent {
|
|
||||||
private TPart _item;
|
|
||||||
|
|
||||||
|
|
||||||
public ItemEditorModel() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemEditorModel(ItemEditorModel editorModel)
|
|
||||||
: base(editorModel) {
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemEditorModel(TPart content)
|
|
||||||
: base(content.ContentItem) {
|
|
||||||
}
|
|
||||||
|
|
||||||
public new TPart Item {
|
|
||||||
get { return _item; }
|
|
||||||
set { SetItem(value.ContentItem); }
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void SetItem(ContentItem value) {
|
|
||||||
_item = value.As<TPart>();
|
|
||||||
base.SetItem(value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using System.Web.Mvc.Html;
|
using System.Web.Mvc.Html;
|
||||||
using Orchard.ContentManagement;
|
using Orchard.ContentManagement;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.Mvc.Html {
|
namespace Orchard.Mvc.Html {
|
||||||
public static class ContentItemExtensions {
|
public static class ContentItemExtensions {
|
||||||
@@ -45,7 +45,7 @@ namespace Orchard.Mvc.Html {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemDisplayTemplate(this HtmlHelper html, IContent content, string template) {
|
public static MvcHtmlString ItemDisplayTemplate(this HtmlHelper html, IContent content, string template) {
|
||||||
return html.Partial(string.Format("{0}/{1}", content.ContentItem.ContentType, template), new ItemDisplayModel(content.ContentItem));
|
return html.Partial(string.Format("{0}/{1}", content.ContentItem.ContentType, template), new ItemViewModel(content.ContentItem));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,15 @@ using System;
|
|||||||
using System.Linq.Expressions;
|
using System.Linq.Expressions;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using System.Web.Mvc.Html;
|
using System.Web.Mvc.Html;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.Mvc.Html {
|
namespace Orchard.Mvc.Html {
|
||||||
public static class ItemDisplayExtensions {
|
public static class ItemDisplayExtensions {
|
||||||
public static MvcHtmlString DisplayForItem<TModel, TItemModel>(this HtmlHelper<TModel> html, TItemModel item) where TItemModel : ItemDisplayModel {
|
public static MvcHtmlString DisplayForItem<TModel, TItemModel>(this HtmlHelper<TModel> html, TItemModel item) where TItemModel : ItemViewModel {
|
||||||
return html.DisplayForItem(x => item);
|
return html.DisplayForItem(x => item);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString DisplayForItem<TModel, TItemModel>(this HtmlHelper<TModel> html, Expression<Func<TModel, TItemModel>> expression) where TItemModel : ItemDisplayModel {
|
public static MvcHtmlString DisplayForItem<TModel, TItemModel>(this HtmlHelper<TModel> html, Expression<Func<TModel, TItemModel>> expression) where TItemModel : ItemViewModel {
|
||||||
|
|
||||||
var metadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData);
|
var metadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData);
|
||||||
var model = (TItemModel)metadata.Model;
|
var model = (TItemModel)metadata.Model;
|
||||||
|
|||||||
@@ -2,14 +2,14 @@ using System;
|
|||||||
using System.Linq.Expressions;
|
using System.Linq.Expressions;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using System.Web.Mvc.Html;
|
using System.Web.Mvc.Html;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.Mvc.Html {
|
namespace Orchard.Mvc.Html {
|
||||||
public static class ItemEditorExtensions {
|
public static class ItemEditorExtensions {
|
||||||
public static MvcHtmlString EditorForItem<TModel, TItemModel>(this HtmlHelper<TModel> html, TItemModel item) where TItemModel : ItemEditorModel {
|
public static MvcHtmlString EditorForItem<TModel, TItemModel>(this HtmlHelper<TModel> html, TItemModel item) where TItemModel : ItemViewModel {
|
||||||
return html.EditorForItem(x => item);
|
return html.EditorForItem(x => item);
|
||||||
}
|
}
|
||||||
public static MvcHtmlString EditorForItem<TModel, TItemModel>(this HtmlHelper<TModel> html, Expression<Func<TModel, TItemModel>> expression) where TItemModel : ItemEditorModel {
|
public static MvcHtmlString EditorForItem<TModel, TItemModel>(this HtmlHelper<TModel> html, Expression<Func<TModel, TItemModel>> expression) where TItemModel : ItemViewModel {
|
||||||
|
|
||||||
var metadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData);
|
var metadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData);
|
||||||
var model = (TItemModel)metadata.Model;
|
var model = (TItemModel)metadata.Model;
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
using System;
|
||||||
|
using System.Web.Mvc;
|
||||||
|
using Orchard.ContentManagement;
|
||||||
|
using Orchard.UI.Zones;
|
||||||
|
|
||||||
|
namespace Orchard.Mvc.ViewModels {
|
||||||
|
public class ItemViewModel : IZoneContainer {
|
||||||
|
private ContentItem _item;
|
||||||
|
|
||||||
|
protected ItemViewModel(ItemViewModel viewModel) {
|
||||||
|
TemplateName = viewModel.TemplateName;
|
||||||
|
Prefix = viewModel.Prefix;
|
||||||
|
Item = viewModel.Item;
|
||||||
|
Zones = viewModel.Zones;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ItemViewModel(ContentItem item) {
|
||||||
|
Zones = new ZoneCollection();
|
||||||
|
Item = item;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ContentItem Item {
|
||||||
|
get { return _item; }
|
||||||
|
private set { SetItem(value); }
|
||||||
|
}
|
||||||
|
|
||||||
|
protected virtual void SetItem(ContentItem value) {
|
||||||
|
_item = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Func<HtmlHelper, ItemViewModel, HtmlHelper> Adaptor { get; set; }
|
||||||
|
public string TemplateName { get; set; }
|
||||||
|
public string Prefix { get; set; }
|
||||||
|
public ZoneCollection Zones { get; private set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ItemViewModel<TPart> : ItemViewModel where TPart : IContent {
|
||||||
|
private TPart _item;
|
||||||
|
|
||||||
|
|
||||||
|
public ItemViewModel(ItemViewModel viewModel)
|
||||||
|
: base(viewModel) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public ItemViewModel(TPart content)
|
||||||
|
: base(content.ContentItem) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public new TPart Item {
|
||||||
|
get { return _item; }
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void SetItem(ContentItem value) {
|
||||||
|
_item = value.As<TPart>();
|
||||||
|
base.SetItem(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -177,8 +177,7 @@
|
|||||||
<Compile Include="ContentManagement\Records\ContentPartVersionRecord.cs" />
|
<Compile Include="ContentManagement\Records\ContentPartVersionRecord.cs" />
|
||||||
<Compile Include="ContentManagement\Records\ContentTypeRecord.cs" />
|
<Compile Include="ContentManagement\Records\ContentTypeRecord.cs" />
|
||||||
<Compile Include="ContentManagement\Records\Utility.cs" />
|
<Compile Include="ContentManagement\Records\Utility.cs" />
|
||||||
<Compile Include="ContentManagement\ViewModels\ItemDisplayModel.cs" />
|
<Compile Include="Mvc\ViewModels\ItemViewModel.cs" />
|
||||||
<Compile Include="ContentManagement\ViewModels\ItemEditorModel.cs" />
|
|
||||||
<Compile Include="ContentManagement\ViewModels\TemplateViewModel.cs" />
|
<Compile Include="ContentManagement\ViewModels\TemplateViewModel.cs" />
|
||||||
<Compile Include="Controllers\AccountController.cs" />
|
<Compile Include="Controllers\AccountController.cs" />
|
||||||
<Compile Include="Controllers\HomeController.cs" />
|
<Compile Include="Controllers\HomeController.cs" />
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
|
||||||
using Orchard.Mvc.Html;
|
using Orchard.Mvc.Html;
|
||||||
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.UI.Zones {
|
namespace Orchard.UI.Zones {
|
||||||
public class ItemDisplayZoneItem : ZoneItem {
|
public class ItemDisplayZoneItem : ZoneItem {
|
||||||
public ItemDisplayModel DisplayModel { get; set; }
|
public ItemViewModel ViewModel { get; set; }
|
||||||
|
|
||||||
public override void Execute<TModel>(HtmlHelper<TModel> html) {
|
public override void Execute<TModel>(HtmlHelper<TModel> html) {
|
||||||
html.DisplayForItem(DisplayModel);
|
html.DisplayForItem(ViewModel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using Orchard.ContentManagement.ViewModels;
|
using Orchard.Mvc.ViewModels;
|
||||||
|
|
||||||
namespace Orchard.UI.Zones {
|
namespace Orchard.UI.Zones {
|
||||||
public interface IZoneContainer {
|
public interface IZoneContainer {
|
||||||
@@ -15,8 +15,8 @@ namespace Orchard.UI.Zones {
|
|||||||
public void AddRenderPartial(string location, string templateName, object model) {
|
public void AddRenderPartial(string location, string templateName, object model) {
|
||||||
AddZoneItem(location, new RenderPartialZoneItem { Model = model, TemplateName = templateName });
|
AddZoneItem(location, new RenderPartialZoneItem { Model = model, TemplateName = templateName });
|
||||||
}
|
}
|
||||||
public void AddDisplayItem(string location, ItemDisplayModel displayModel) {
|
public void AddDisplayItem(string location, ItemViewModel viewModel) {
|
||||||
AddZoneItem(location, new ItemDisplayZoneItem { DisplayModel = displayModel });
|
AddZoneItem(location, new ItemDisplayZoneItem { ViewModel = viewModel });
|
||||||
}
|
}
|
||||||
public void AddDisplayPart(string location, object model, string templateName, string prefix) {
|
public void AddDisplayPart(string location, object model, string templateName, string prefix) {
|
||||||
AddZoneItem(location, new PartDisplayZoneItem { Model = model, TemplateName = templateName, Prefix = prefix });
|
AddZoneItem(location, new PartDisplayZoneItem { Model = model, TemplateName = templateName, Prefix = prefix });
|
||||||
|
|||||||
Reference in New Issue
Block a user