public static IEnumerable <ContentType> GetAvailableEpiContentTypes(IContentTypeRepository contentTypeRepository) { return(contentTypeRepository .List() .Where(x => x.ModelType != null && !GraphTypeFilter.ShouldFilter(x.ModelType) )); }
public LinkItemGraphType(IUrlResolver urlResolver, IContentLoader contentLoader, IPermanentLinkMapper permanentLinkMapper) { Name = "LinkItem"; Field <StringGraphType>("Attributes", resolve: x => JsonConvert.SerializeObject(x.Source.Attributes)); Field <StringGraphType>("Href", arguments: new QueryArguments( new QueryArgument <BooleanGraphType> { DefaultValue = false, Name = Constants.Arguments.ARGUMENT_ABSOLUTE_URL }, new QueryArgument <BooleanGraphType>() { Name = Constants.Arguments.ARGUMENT_ALLOWFALLBACK_LANG, Description = "Allow Fallback Language", DefaultValue = true } ), resolve: x => { var locale = x.GetLocaleFromArgument(); var absoluteUrl = x.GetArgument <bool>(Constants.Arguments.ARGUMENT_ABSOLUTE_URL); var permanentLinkMap = permanentLinkMapper.Find(new UrlBuilder(x.Source.Href)); if (permanentLinkMap == null) { return(urlResolver.GetUrl(x.Source.Href)); } var content = contentLoader .Get <IContent>( permanentLinkMap.ContentReference, x.CreateLoaderOptionsFromAgruments() ); var localizable = content as ILocale; if (content != null && GraphTypeFilter.ShouldFilter(content)) { return(null); } if (localizable != null) { return(permanentLinkMap.ContentReference.GetUrl(localizable.Language.Name, absoluteUrl)); } return(urlResolver.GetUrl(x.Source.Href)); }); Field(x => x.Target); Field(x => x.Text); Field(x => x.Title); }
public ContentReferenceGraphType(IContentLoader contentLoader, IServiceLocator serviceLocator) { Name = "ContentReference"; // Get IContent graph interface type var contentInterface = GraphTypeLoader.GetGraphInterface <IContent>(serviceLocator); Field("Id", x => x.ID); Field(contentInterface.GetType(), "Content", resolve: x => { var content = contentLoader.Get <IContent>(x.Source); return(GraphTypeFilter.ShouldFilter(content) ? null : content); }); }
public static IEnumerable <IContent> FilterHiddenGraphTypes(this IEnumerable <IContent> enumerable) { return(enumerable.Where(x => !GraphTypeFilter.ShouldFilter(x))); }