public override IDisplayResult Display(ListPart listPart, BuildPartDisplayContext context) { return (Combine( Initialize <ListPartViewModel>(GetDisplayShapeType(context), async model => { var pager = await GetPagerSlimAsync(context); var settings = context.TypePartDefinition.GetSettings <ListPartSettings>(); var containedItemOptions = new ContainedItemOptions(); model.ContentItems = (await _containerService.QueryContainedItemsAsync( listPart.ContentItem.ContentItemId, settings.EnableOrdering, pager, containedItemOptions)).ToArray(); model.ContainedContentTypeDefinitions = GetContainedContentTypes(context); model.Context = context; model.Pager = await context.New.PagerSlim(pager); }) .Location("Detail", "Content:10"), Initialize <ListPartViewModel>("ListPartDetailAdmin", async model => { var pager = await GetPagerSlimAsync(context); var settings = context.TypePartDefinition.GetSettings <ListPartSettings>(); var listPartFilterViewModel = new ListPartFilterViewModel(); var containedItemOptions = new ContainedItemOptions(); await _updateModelAccessor.ModelUpdater.TryUpdateModelAsync(listPartFilterViewModel, Prefix); model.ListPart = listPart; containedItemOptions.DisplayText = listPartFilterViewModel.DisplayText; containedItemOptions.Status = listPartFilterViewModel.Status; model.ListPartFilterViewModel = listPartFilterViewModel; model.ContentItems = (await _containerService.QueryContainedItemsAsync( listPart.ContentItem.ContentItemId, settings.EnableOrdering, pager, containedItemOptions)).ToArray(); model.ContainedContentTypeDefinitions = GetContainedContentTypes(context); model.Context = context; model.EnableOrdering = settings.EnableOrdering; model.Pager = await context.New.PagerSlim(pager); }) .Location("DetailAdmin", "Content:10"), Initialize <ContentItemViewModel>("ListPartSummaryAdmin", model => model.ContentItem = listPart.ContentItem) .Location("SummaryAdmin", "Actions:4") )); }
public override IDisplayResult Display(ListPart part, BuildPartDisplayContext context) { return(Combine( Initialize <ListPartViewModel>(GetDisplayShapeType(context), async model => { await BuildViewModel(context, part, model, new ContainedItemOptions()); }) .Location("Detail", "Content:10"), Initialize <ListPartViewModel>("ListPart", async model => { var listPartFilterViewModel = new ListPartFilterViewModel(); var containedItemOptions = new ContainedItemOptions(); await _updateModelAccessor.ModelUpdater.TryUpdateModelAsync(listPartFilterViewModel, Prefix); containedItemOptions.DisplayText = listPartFilterViewModel.DisplayText; containedItemOptions.Status = listPartFilterViewModel.Status; model.ListPartFilterViewModel = listPartFilterViewModel; await BuildViewModel(context, part, model, containedItemOptions); }) .Location("DetailAdmin", "Content:10") )); }