This content is archived. See latest version here

Last updated: Jul 09 2014

Introduction

The following example shows how to create the component container used for adding personalized gadgets:

C#
using System;
using System.Collections.Generic;

namespace EPiServer.Shell.ViewComposition.Containers
{
    /// <summary>
    /// An extension of the grid container providing component management
    /// </summary>
    [Component(IsAvailableForUserSelection = false)]
    public class ComponentContainer : ContainerBase
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="ComponentContainer"/> class.
        /// </summary>
        public ComponentContainer() : this("epi.shell.widget.layout.ComponentContainer") { }

        /// <summary>
        /// Initializes a new instance of the <see cref="ComponentContainer"/> class.
        /// </summary>
        protected ComponentContainer(string widgetType) : base(widgetType)
        { 
            Settings.Add(new PersonalizableSetting("numberOfColumns", 1));
            Settings.Add(new Setting("showToolbar", true));
            Settings.Add(new Setting("containerUnlocked", false));
            Settings.Add(new Setting("closable", false));
            Settings.Add(new Setting("personalizableHeading", string.Empty, true));
        }

        /// <summary>
        /// Gets or sets the categories that should be suggested for users for this container.
        /// </summary>
        [Obsolete("Categories are now defined on the view level, and not per container.")]
        public virtual string ComponentCategory
        {
            get
            {
                return null;
            }
            set
            {
            }
        }
    }
}

Do you have feedback on this documentation? Send an email to documentation@episerver.com. For development-related questions and discussions, refer to our Forums on https://world.episerver.com/forum/