HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In

Create a container

Shows how to create the component container used for adding personalized gadgets in Optimizely Content Management System (CMS).

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
      {
      }
    }
  }
}

What’s Next