コード例 #1
0
        public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context)
        {
            // only add empty option if there is 1 non empty template remaining, so user has to choose.
            var NonEmptyTemplates = pageTemplates.Where(t => !GetTemplates().Contains(t.Identifier));

            if (NonEmptyTemplates.Count() > 0)
            {
                return(pageTemplates);
            }
            else
            {
                // Remove the empty template as an option
                return(pageTemplates.Where(t => !GetTemplates().Contains(t.Identifier)));
            }
        }
コード例 #2
0
        /// <summary>
        /// Applies filtering on the given <paramref name="pageTemplates" /> collection based on the given <paramref name="context" />.
        /// </summary>
        /// <returns>
        /// Returns only those page templates that are allowed for article pages if the given context matches the article page type.
        /// </returns>
        public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context)
        {
            if (context.PageType.Equals("DancingGoatMvc.Article", StringComparison.InvariantCultureIgnoreCase))
            {
                return(pageTemplates.Where(t => GetArticlePageTemplates().Contains(t.Identifier)));
            }

            // Exclude all article page templates from the final collection if the context does not match this filter
            return(pageTemplates.Where(t => !GetArticlePageTemplates().Contains(t.Identifier)));
        }
コード例 #3
0
 public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context)
 {
     // Remove Empty.Template always
     return(pageTemplates.Where(t => !GetTemplates().Contains(t.Identifier)));
 }
コード例 #4
0
    public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context)
    {
        // Applies filtering to a collection of page templates based on the page type of the currently edited page
        if (context.PageType.Equals("LearningKit.LandingPage", StringComparison.InvariantCultureIgnoreCase))
        {
            // Filters the collection to only contain filters allowed for landing pages
            return(pageTemplates.Where(t => GetLandingPageTemplates().Contains(t.Identifier)));
        }

        // Excludes all landing page templates from the collection if the context does not match this filter
        // Assumes that the categories of page templates are mutually exclusive
        return(pageTemplates.Where(t => !GetLandingPageTemplates().Contains(t.Identifier)));
    }
        public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context)
        {
            if (context.PageType.Equals(Registrations.PAGETYPE_ADVANCED, StringComparison.InvariantCultureIgnoreCase))
            {
                return(pageTemplates.Where(t => GetAllowedTemplates().Contains(t.Identifier)));
            }

            return(pageTemplates.Where(t => !GetAllowedTemplates().Contains(t.Identifier)));
        }
コード例 #6
0
        public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context)
        {
            if (LandingPageTypeCodenames.Any(codename => context.PageType.Equals(codename, StringComparison.OrdinalIgnoreCase)))
            {
                return(context.PageType.Equals(EventLandingPageTypeCodename, StringComparison.OrdinalIgnoreCase)
                    ? pageTemplates.Where(template => LandingPageTemplates.Contains(template.Identifier, StringComparer.OrdinalIgnoreCase))
                    : pageTemplates.Where(template => template.Identifier.Equals(BasicTemplateCodename, StringComparison.OrdinalIgnoreCase)));
            }

            return(pageTemplates.Where(template => !LandingPageTemplates.Contains(template.Identifier)));
        }
コード例 #7
0
        /// <inheritdoc cref="IPageTemplateFilter" />
        public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context)
        {
            if (context.PageType.Equals(PageTypeClassName, StringComparison.InvariantCultureIgnoreCase))
            {
                return(pageTemplates.Where(d => PageTemplateFilterBy(d, context, PageTypeClassName)));
            }

            if (ExcludeIfNoMatch)
            {
                return(pageTemplates.Where(d => !PageTemplateFilterBy(d, context, PageTypeClassName)));
            }

            return(pageTemplates);
        }
 public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context)
 {
     // only add empty option if there is 1 non empty template remaining, so user has to choose.
     if (context.PageType.Equals("KMVCHelper.GenericWidgetPage", StringComparison.InvariantCultureIgnoreCase))
     {
         return(pageTemplates);
     }
     else
     {
         // Remove the empty template as an option
         return(pageTemplates.Where(t => !GetTemplates().Contains(t.Identifier)));
     }
 }
 public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context) =>
 pageTemplates;