public override void Process(GetPlaceholderRenderingsArgs args, PlaceholderRuleContext ruleContext)
 {
     if (!ruleContext.IsEditable)
     {
         args.HasPlaceholderSettings = false;
         args.PlaceholderRenderings  = null;
     }
 }
Ejemplo n.º 2
0
        public override void Process(GetPlaceholderRenderingsArgs args, PlaceholderRuleContext ruleContext)
        {
            if (args.PlaceholderRenderings == null || ruleContext.BlockedRenderings.Count == 0 || !ruleContext.IsEditable)
            {
                return;
            }

            var comparer = new ItemIdComparer();

            args.PlaceholderRenderings.RemoveAll(i => ruleContext.BlockedRenderings.Contains(i, comparer));
        }
        public override void Process(GetPlaceholderRenderingsArgs args, PlaceholderRuleContext ruleContext)
        {
            var rules = CreateRuleList(args);

            using (new DeviceSwitcher(ruleContext.Device))
                using (new ContextItemSwitcher(ruleContext.Item))
                {
                    rules.Run(ruleContext);
                }

            SetRuleContext(args, ruleContext);
        }
Ejemplo n.º 4
0
        public override void Process(GetPlaceholderRenderingsArgs args, PlaceholderRuleContext ruleContext)
        {
            if (ruleContext.AllowedRenderings.Count == 0 && !ruleContext.IsEditable)
            {
                return;
            }

            var itemIdComparer = new ItemIdComparer();

            args.PlaceholderRenderings = args.PlaceholderRenderings ?? new List <Item>();

            foreach (var allowedRendering in ruleContext.AllowedRenderings)
            {
                if (!args.PlaceholderRenderings.Contains(allowedRendering, itemIdComparer))
                {
                    args.PlaceholderRenderings.Add(allowedRendering);
                }
            }
        }
Ejemplo n.º 5
0
        public override void Process(GetPlaceholderRenderingsArgs args, PlaceholderRuleContext ruleContext)
        {
            if (!ruleContext.IsEditable)
            {
                return;
            }

            // All originally present renderings have been removed, so make placeholder un-editable.
            if (ruleContext.HasInitialRenderings && args.PlaceholderRenderings.Count == 0)
            {
                args.HasPlaceholderSettings = false;
                args.PlaceholderRenderings  = null;
            }

            // No renderings / placeholder settings were present, but rules have added some, so make placeholder editable.
            if (!ruleContext.HasInitialRenderings && args.PlaceholderRenderings != null && args.PlaceholderRenderings.Count > 0)
            {
                args.HasPlaceholderSettings = true;
                args.Options.ShowTree       = false;
            }
        }
Ejemplo n.º 6
0
 protected void SetRuleContext(GetPlaceholderRenderingsArgs args, PlaceholderRuleContext ruleContext)
 {
     args.CustomData[Constants.RuleContextKey] = ruleContext;
 }
Ejemplo n.º 7
0
 public abstract void Process(GetPlaceholderRenderingsArgs args, PlaceholderRuleContext ruleContext);