Class GroupAttribute
- Namespace
- Dynamicweb.Content.Items.Annotations
- Assembly
- Dynamicweb.dll
Provides information about the named object group.
[AttributeUsage(AttributeTargets.Class|AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
public class GroupAttribute : Attribute
- Inheritance
-
Group
Attribute
- Inherited Members
Examples
using System;
using System.Collections.Generic;
using Dynamicweb.Content.Items;
using Dynamicweb.Content.Items.Annotations;
using Dynamicweb.Content.Items.Metadata;
using Dynamicweb.Content.Items.Activation;
using Dynamicweb.Content.Items.Editors;
using Dynamicweb.Core.UI.Icons;
namespace Dynamicweb.Examples.Items
{
[Item("News item", "The example of code-first item")]
[AreaRule,
ModuleAttachmentRule(true),
StructureRule(StructureContextType.Pages, StructureContextType.Paragraphs),
ParentRule(ParentRestrictionRule.ParentType.RootOfWebsite, ParentRestrictionRule.ParentType.RegularPage),
ChildRule(true), ChildRule("ExampleCategory", "ExampleRegion")]
[Category("Example")]
[CustomizedUrls]
[Icon(KnownIcon.Message)]
[TitleField("Title")]
public class ExampleNewsItem : ItemEntry
{
[Group("MappingFields", LayoutGroupMetadata.GroupCollapsibleState.Collapsed)]
[Field("Category", typeof(DropDownListEditor<string>))]
[OptionItem("ExampleCategory", "Name", "Id", SourceType = FieldOptionItemSourceType.CurrentArea)]
public string NewsCategoryId { get; set; }
[Group("MappingFields")]
[Field("Region", typeof(CheckboxListEditor<string>))]
[OptionItem("ExampleRegion", "Name", "Id", SourceType = FieldOptionItemSourceType.CurrentArea)]
public IEnumerable<string> RegionId { get; set; }
[Group("StandardFields")]
[Required]
public string Title { get; set; }
[Group("StandardFields")]
[Name("Subtitle")]
[DoNotIncludeInSearch]
public string Subtitle { get; set; }
[Group("StandardFields")]
[Required]
[RichText]
public string Text { get; set; }
[Group("StandardFields")]
[Name("News date")]
[DefaultValue("Now")]
public DateTime NewsDate { get; set; }
[Group("StandardFields")]
[Field("Type", typeof(RadioButtonListEditor<string>))]
[Option("News"), Option("Featured"), Option("Add")]
[DefaultValue("News")]
[Required]
public string NewsType { get; set; }
[Group("StandardFields")]
[Color("Background color", Presets = "#FFF, #151515, #444544, #5E5E5E, #005731, #287D59, #31988D, #2D73AB, #384E9A, #703F96, #9F3F95, #A93948, #E6A04B, #DD823A, #9BBF53, #0085CA, #1C588F")]
[DefaultValue("#151515")]
public string BackgroundColor { get; set; }
[Group("StandardFields")]
[Name("Link to landing page")]
[Link]
public string LandingPage { get; set; }
[Group("StandardFields")]
[GoogleFont("Google font", "Lato", "italic")]
public string GoogleFont { get; set; }
[Group("Misc", LayoutGroupMetadata.GroupCollapsibleState.None, "NewsType", GroupVisibilityRule.VisibilityCondition.NotEqualTo, "Featured")]
[Name("Tags")]
[LongText]
public string Tags { get; set; }
[Group("Misc")]
[InputHtml5("Rank", InputType = "Number", Min = 0, Max = 10)]
[Validate(typeof(RegExValidator), Parameters = "Expression=^$|^[0-9]%2b")] // Short version: [RegEx("^$|^[0-9]%2b")] // %2b - is encoded +
public int Rank { get; set; }
[Group("Misc")]
[ItemRelationList("Related news", "ExampleNewsItem", ItemRelationListEditor.ItemListSource.Page, "Title", "SubTitle")]
[Option("Title"), Option("Subtitle"), Option("NewsType")]
public int RelatedNews { get; set; }
[Group("Misc2", LayoutGroupMetadata.GroupCollapsibleState.None, "NewsType", GroupVisibilityRule.VisibilityCondition.Equals, "Featured")]
[Name("Tags2")]
[LongText]
public string Tags2 { get; set; }
public ExampleNewsItem()
{
NewsCategoryId = "1";
RegionId = new List<string>(new[] { "1" });
Title = "New news";
}
public override void Delete(ItemContext context)
{
base.Delete(context);
}
}
}
Constructors
GroupAttribute(string)
Initializes a new instance of an object.
Parameters
name
stringUser-friendly name of the group.
GroupAttribute(string, GroupCollapsibleState)
Initializes a new instance of an object.
Parameters
name
stringUser-friendly name of the group.
collapsibleState
LayoutGroup .GroupMetadata Collapsible State The group collapsible state.
GroupAttribute(string, GroupCollapsibleState, string, VisibilityCondition, string)
Initializes a new instance of an object.
public GroupAttribute(string name, LayoutGroupMetadata.GroupCollapsibleState collapsibleState, string visibilityField, GroupVisibilityRule.VisibilityCondition visibilityCondition, string visibilityConditionValue)
Parameters
name
stringUser-friendly name of the group.
collapsibleState
LayoutGroup .GroupMetadata Collapsible State Group collapsible state.
visibilityField
stringField to control group visibility.
visibilityCondition
GroupVisibility .VisibilityRule Condition Visibility condition.
visibilityConditionValue
stringCondition value.
Properties
CollapsibleState
Gets or sets the group collapsible state.
Property Value
Name
Gets or sets the user-friendly name of the group.
Property Value
SectionName
Gets or sets the section name of the group. Sections are used to cluster groups together.
Property Value
VisibilityRule
Gets or sets the group visibility condition.