public ContainerPartHandler( IRepository<ContainerPartRecord> repository, IContentDefinitionManager contentDefinitionManager, IListViewService listViewService, IContainerService containerService) { _contentDefinitionManager = contentDefinitionManager; _listViewService = listViewService; _containerService = containerService; Filters.Add(StorageFilter.For(repository)); OnInitializing<ContainerPart>((context, part) => { part.Record.ItemsShown = part.Settings.GetModel<ContainerTypePartSettings>().ItemsShownDefault ?? part.PartDefinition.Settings.GetModel<ContainerPartSettings>().ItemsShownDefault; part.Record.PageSize = part.Settings.GetModel<ContainerTypePartSettings>().PageSizeDefault ?? part.PartDefinition.Settings.GetModel<ContainerPartSettings>().PageSizeDefault; part.Record.Paginated = part.Settings.GetModel<ContainerTypePartSettings>().PaginatedDefault ?? part.PartDefinition.Settings.GetModel<ContainerPartSettings>().PaginatedDefault; }); OnGetContentItemMetadata<ContainerPart>((context, part) => { context.Metadata.DisplayRouteValues = new RouteValueDictionary { {"Area", "Containers"}, {"Controller", "Item"}, {"Action", "Display"}, {"id", context.ContentItem.Id} }; }); OnActivated<ContainerPart>((context, part) => { part.ContainerSettingsField.Loader(() => part.Settings.GetModel<ContainerTypePartSettings>()); part.ItemContentTypesField.Loader(() => { var settings = part.ContainerSettings; var types = settings.RestrictItemContentTypes ? settings.RestrictedItemContentTypes : part.Record.ItemContentTypes; return _contentDefinitionManager.ParseContentTypeDefinitions(types); }); part.ItemContentTypesField.Setter(value => { part.Record.ItemContentTypes = _contentDefinitionManager.JoinContentTypeDefinitions(value); return value; }); part.AdminListViewField.Loader(() => { var providers = _listViewService.Providers.ToList(); var listViewProviderName = !String.IsNullOrWhiteSpace(part.Record.AdminListViewName) ? part.Record.AdminListViewName : !String.IsNullOrWhiteSpace(part.ContainerSettings.AdminListViewName) ? part.ContainerSettings.AdminListViewName : providers.Any() ? providers.First().Name : null; return _listViewService.GetProvider(listViewProviderName) ?? _listViewService.GetDefaultProvider(); }); }); OnPublished<ContainerPart>((context, part) => _containerService.UpdateItemCount(part)); }
public ContainerPartHandler( IRepository <ContainerPartRecord> repository, IContentDefinitionManager contentDefinitionManager, IListViewService listViewService, IContainerService containerService) { _contentDefinitionManager = contentDefinitionManager; _listViewService = listViewService; _containerService = containerService; Filters.Add(StorageFilter.For(repository)); OnInitializing <ContainerPart>((context, part) => { part.Record.ItemsShown = part.Settings.GetModel <ContainerTypePartSettings>().ItemsShownDefault ?? part.PartDefinition.Settings.GetModel <ContainerPartSettings>().ItemsShownDefault; part.Record.PageSize = part.Settings.GetModel <ContainerTypePartSettings>().PageSizeDefault ?? part.PartDefinition.Settings.GetModel <ContainerPartSettings>().PageSizeDefault; part.Record.Paginated = part.Settings.GetModel <ContainerTypePartSettings>().PaginatedDefault ?? part.PartDefinition.Settings.GetModel <ContainerPartSettings>().PaginatedDefault; }); OnGetContentItemMetadata <ContainerPart>((context, part) => { context.Metadata.DisplayRouteValues = new RouteValueDictionary { { "Area", "Containers" }, { "Controller", "Item" }, { "Action", "Display" }, { "id", context.ContentItem.Id } }; }); OnActivated <ContainerPart>((context, part) => { part.ContainerSettingsField.Loader(() => part.Settings.GetModel <ContainerTypePartSettings>()); part.ItemContentTypesField.Loader(() => { var settings = part.ContainerSettings; var types = settings.RestrictItemContentTypes ? settings.RestrictedItemContentTypes : part.Record.ItemContentTypes; return(_contentDefinitionManager.ParseContentTypeDefinitions(types)); }); part.ItemContentTypesField.Setter(value => { part.Record.ItemContentTypes = _contentDefinitionManager.JoinContentTypeDefinitions(value); return(value); }); part.AdminListViewField.Loader(() => { var providers = _listViewService.Providers.ToList(); var listViewProviderName = !String.IsNullOrWhiteSpace(part.Record.AdminListViewName) ? part.Record.AdminListViewName : !String.IsNullOrWhiteSpace(part.ContainerSettings.AdminListViewName) ? part.ContainerSettings.AdminListViewName : providers.Any() ? providers.First().Name : null; return(_listViewService.GetProvider(listViewProviderName) ?? _listViewService.GetDefaultProvider()); }); }); OnPublished <ContainerPart>((context, part) => _containerService.UpdateItemCount(part)); }
private IListViewProvider GetListViewProvider(string listViewName) { // var providers = _listViewService.Providers.ToList(); //if listviewname is provided from query string give it priority var qslistviewname = _httpContextAccessor.HttpContext.Request.Query["listviewname"].ToString(); var listViewProviderName = !String.IsNullOrEmpty(qslistviewname) ? qslistviewname : !String.IsNullOrWhiteSpace(listViewName) ? listViewName : null; return(_listViewService.GetProvider(listViewProviderName) ?? _listViewService.GetDefaultProvider()); }