Fixing Lists performance in admin

This commit is contained in:
Sebastien Ros
2014-07-29 18:07:26 -07:00
parent 211ffaf647
commit b96c98cb8b
6 changed files with 8 additions and 27 deletions

View File

@@ -240,10 +240,7 @@ namespace Orchard.Lists.Controllers {
.ContainerDisplayName(model.ContainerDisplayName)
.ContainerContentType(container.ContentType)
.ItemContentTypes(container.As<ContainerPart>().ItemContentTypes.ToList())
.OtherLists(_contentManager.Query<ContainerPart>(VersionOptions.Latest).List()
.Select(part => part.ContentItem)
.Where(item => item != container)
.OrderBy(item => item.As<CommonPart>().VersionPublishedUtc));
;
if (containerPart.Is<ContainablePart>()) {
viewModel.ListNavigation(_services.New.ListNavigation(ContainablePart: containerPart.As<ContainablePart>()));

View File

@@ -71,16 +71,6 @@
};
var bindActions = function () {
$("#layout-content").on("change", "#publishActions", function () {
var value = $(this).val();
var target = $("#TargetContainerId");
if (value === "MoveToList") {
target.css("display", "inline");
} else {
target.css("display", "none");
}
});
$("#layout-content").on("change", "#listOperations", function () {
var value = $(this).val();
var sortBy = $("#SortBy");

View File

@@ -1,2 +1,4 @@
(function(n){var t=function(t,i,r,u,f,e){var o=n("#ajaxError");o.hide(),NProgress.start(),NProgress.set(.4),n.ajax({type:e,url:t,data:i,cache:!1}).done(function(n){NProgress.set(.9),u&&u(n)}).fail(function(){r&&r(),o.show()}).always(function(){f&&f(),NProgress.done()})},i=function(i,r,u,f,e){r=n.extend(r,{__RequestVerificationToken:n("[name='__RequestVerificationToken']").val()}),t(i,r,u,f,e,"POST")},u=function(n,i,r,u,f){t(n,i,r,u,f,"GET")},f=function(t){var r=n("#listManagement").data("insert-url"),u={itemId:t};i(r,u,null,function(t){n("#main").replaceWith(n("#main",n.parseHTML(t))),n(window).trigger("reinitialize")})},e=function(){var t=n("#listManagement").data("refresh-url");u(t,null,null,function(t){n("#main").replaceWith(n("#main",n.parseHTML(t))),n(window).trigger("reinitialize")})},o=function(t,r,u,f){if(u!=r){var e=n("#listManagement").data("update-url"),o={itemId:t,oldIndex:r,newIndex:u};i(e,o,f)}},s=function(){n("#layout-content").on("change","#publishActions",function(){var i=n(this).val(),t=n("#TargetContainerId");i==="MoveToList"?t.css("display","inline"):t.css("display","none")});n("#layout-content").on("change","#listOperations",function(){var r=n(this).val(),t=n("#SortBy"),i=n("#SortByDirection");r==="Sort"?(t.css("display","inline"),i.css("display","inline")):(t.css("display","none"),i.css("display","none"))})},h=function(){n("#layout-content").on("click","#chooseItems",function(t){t.preventDefault(),n("form:first").trigger("orchard-admin-contentpicker-open",{types:n("#listManagement").data("itemtypes"),callback:function(n){var t=parseInt(n.id);f(t)},baseUrl:n("#listManagement").data("baseurl")})})},c=function(){n("#layout-content").on("click",".create-content",function(t){var i=n(this).attr("href");n.colorbox({href:i,iframe:!0,reposition:!0,width:"100%",height:"100%",initialWidth:"100%",initialHeight:"100%",onLoad:function(){n("html, body").css("overflow","hidden"),n("#cboxClose").remove()},onClosed:function(){n("html, body").css("overflow","auto"),e()}}),t.preventDefault()})},r=function(){var r=n("#listManagement").data("dragdrop"),t,i;r&&(t=-1,i=function(){n("table.content-list tbody").sortable("cancel")},n("table.content-list tbody").sortable({handle:"td:first",start:function(n,i){t=i.item.index()},stop:function(n,r){var u=r.item.index(),f=r.item.data("content-id");o(f,t,u,i)}}).disableSelection())},l=function(){n("#layout-content").on("change","table.content-list thead .toggle-all",function(){var t=n(this).parents("table:first").find("tbody");t.find("input[type='checkbox']").prop("checked",n(this).is(":checked"))})},a=function(){n("#layout-content").on("click",".switch-button",function(){n(".switch-button").removeClass("active"),n(this).addClass("active"),n("#listViewName").prop("checked",!0).val(n(this).data("listviewname")),n(this).parents("form:first").submit()})};NProgress.configure({showSpinner:!1}),s(),r(),l(),h(),c(),a();n(window).on("reinitialize",function(){r()})})(jQuery);
//@ sourceMappingURL=orchard-lists-admin.min.js.map
(function(n){var t=function(t,i,r,u,f,e){var o=n("#ajaxError");o.hide();NProgress.start();NProgress.set(.4);n.ajax({type:e,url:t,data:i,cache:!1}).done(function(n){NProgress.set(.9);u&&u(n)}).fail(function(){r&&r();o.show()}).always(function(){f&&f();NProgress.done()})},i=function(i,r,u,f,e){r=n.extend(r,{__RequestVerificationToken:n("[name='__RequestVerificationToken']").val()});t(i,r,u,f,e,"POST")},u=function(n,i,r,u,f){t(n,i,r,u,f,"GET")},f=function(t){var r=n("#listManagement").data("insert-url"),u={itemId:t};i(r,u,null,function(t){n("#main").replaceWith(n("#main",n.parseHTML(t)));n(window).trigger("reinitialize")})},e=function(){var t=n("#listManagement").data("refresh-url");u(t,null,null,function(t){n("#main").replaceWith(n("#main",n.parseHTML(t)));n(window).trigger("reinitialize")})},o=function(t,r,u,f){if(u!=r){var e=n("#listManagement").data("update-url"),o={itemId:t,oldIndex:r,newIndex:u};i(e,o,f)}},s=function(){n("#layout-content").on("change","#listOperations",function(){var r=n(this).val(),t=n("#SortBy"),i=n("#SortByDirection");r==="Sort"?(t.css("display","inline"),i.css("display","inline")):(t.css("display","none"),i.css("display","none"))})},h=function(){n("#layout-content").on("click","#chooseItems",function(t){t.preventDefault();n("form:first").trigger("orchard-admin-contentpicker-open",{types:n("#listManagement").data("itemtypes"),callback:function(n){var t=parseInt(n.id);f(t)},baseUrl:n("#listManagement").data("baseurl")})})},c=function(){n("#layout-content").on("click",".create-content",function(t){var i=n(this).attr("href");n.colorbox({href:i,iframe:!0,reposition:!0,width:"100%",height:"100%",initialWidth:"100%",initialHeight:"100%",onLoad:function(){n("html, body").css("overflow","hidden");n("#cboxClose").remove()},onClosed:function(){n("html, body").css("overflow","auto");e()}});t.preventDefault()})},r=function(){var r=n("#listManagement").data("dragdrop"),t,i;r&&(t=-1,i=function(){n("table.content-list tbody").sortable("cancel")},n("table.content-list tbody").sortable({handle:"td:first",start:function(n,i){t=i.item.index()},stop:function(n,r){var u=r.item.index(),f=r.item.data("content-id");o(f,t,u,i)}}).disableSelection())},l=function(){n("#layout-content").on("change","table.content-list thead .toggle-all",function(){var t=n(this).parents("table:first").find("tbody");t.find("input[type='checkbox']").prop("checked",n(this).is(":checked"))})},a=function(){n("#layout-content").on("click",".switch-button",function(){n(".switch-button").removeClass("active");n(this).addClass("active");n("#listViewName").prop("checked",!0).val(n(this).data("listviewname"));n(this).parents("form:first").submit()})};NProgress.configure({showSpinner:!1});s();r();l();h();c();a();n(window).on("reinitialize",function(){r()})})(jQuery);
/*
//# sourceMappingURL=orchard-lists-admin.min.js.map
*/

File diff suppressed because one or more lines are too long

View File

@@ -32,7 +32,7 @@
ContainerId: containerId,
ItemContentTypes: itemContentTypes)
@using (Html.BeginFormAntiForgeryPost()) {
@Display.Parts_Container_BulkActions(Options: Model.Options, OtherLists: Model.OtherLists, Container: container)
@Display.Parts_Container_BulkActions(Options: Model.Options, Container: container)
@Display.ListViewButtons(Providers: Model.ListViewProviders, ActiveProvider: Model.ListViewProvider)
@Display(Model.ListView)
}

View File

@@ -6,12 +6,6 @@
@{
var container = (ContainerPart) Model.Container;
var options = (ContentOptions)Model.Options;
var lists = ((IEnumerable<ContentItem>)Model.OtherLists).Select(
contentItem => new SelectListItem {
Text = contentItem.ContentType + ": " + contentItem.ContentManager.GetItemMetadata(contentItem).DisplayText,
Value = contentItem.Id.ToString(System.Globalization.CultureInfo.InvariantCulture)
}).ToList();
lists.Insert(0, new SelectListItem { Text = T("Move to...").ToString(), Value = "" });
}
<fieldset class="bulk-actions">
<label for="publishActions">@T("Actions:")</label>
@@ -21,9 +15,7 @@
@Html.SelectOption(options.BulkAction, ContentsBulkAction.Unpublish, T("Unpublish").ToString())
@Html.SelectOption(options.BulkAction, ContentsBulkAction.Remove, T("Delete").ToString())
@Html.SelectOption(options.BulkAction, ContentsBulkAction.RemoveFromList, T("Remove from List").ToString())
@Html.SelectOption(options.BulkAction, ContentsBulkAction.MoveToList, T("Move to List...").ToString())
</select>
@Html.DropDownList("TargetContainerId", lists, new { id = "TargetContainerId" })
<button type="submit" name="submit.BulkEdit" value="yes">@T("Apply")</button>
</fieldset>
@if (container.EnablePositioning) {