protected AbstractPredicateBuilder(ISearchRuleParser parser)
        {
            RuleParser = parser;

            ValidTemplates = new List <ID>();
            ExcludedItems  = new List <ID>();
            Location       = string.Empty;
            Conditions     = new List <ISearchCondition <RuleContext> >();
        }
Example #2
0
        private void Initialize(IGlassBase page, ISearchRuleParser ruleParser)
        {
            RuleParser = ruleParser;

            _listConfig  = new Lazy <I_Listing_Configuration>(() => page as I_Listing_Configuration);
            _sortOptions = new Lazy <IEnumerable <ISort> >(() => ListingConfiguration.Available_Sort_Options);

            var refineConfig = page as ISearch_Refinements;

            _refinementOptions = new Lazy <IEnumerable <I_Refinement> >(() =>
            {
                if (refineConfig != null)
                {
                    return(refineConfig.Refinements);
                }

                return(new I_Refinement[0]);
            });
        }
Example #3
0
        public SearchPageParser(string pageId, ISitecoreContext context, ISearchRuleParser ruleParser)
        {
            IGlassBase page = null;

            if (!string.IsNullOrEmpty(pageId))
            {
                page = context.GetItem <IGlassBase>(pageId, inferType: true);
            }

            if (page == null)
            {
                page = context.GetCurrentItem <IGlassBase>(inferType: true);
            }

            if (!(page is I_Listing_Configuration) && RenderingContext.CurrentOrNull != null)
            {
                page = context.GetItem <IGlassBase>(RenderingContext.Current.Rendering.DataSource, inferType: true);
            }

            Initialize(page, ruleParser);
        }
Example #4
0
 public SearchPageParser(IGlassBase page, ISearchRuleParser ruleParser)
 {
     Initialize(page, ruleParser);
 }
Example #5
0
 public SearchPageParser(ISitecoreContext context, ISearchRuleParser ruleParser)
 {
     Initialize(context.GetCurrentItem <IGlassBase>(inferType: true), ruleParser);
 }