/// <summary> /// Adds an <see cref="EditableCheckBoxAttribute"/> to the item definition. /// </summary> /// <param name="itemDefinition">Specifies the <see cref="ItemDefinition"/> the /// <see cref="EditableCheckBoxAttribute"/> will be added to.</param> /// <param name="title">Specifies the value to use for /// <see cref="EditableCheckBoxAttribute.CheckBoxText"/>.</param> /// <param name="sortOrder">Specifies the value to use for /// <see cref="EditableCheckBoxAttribute.SortOrder"/>.</param> /// <param name="containerName">Specifies the value to use for /// <see cref="EditableCheckBoxAttribute.ContainerName"/>.</param> /// <param name="propertyKey">Specifies the value to use for /// <see cref="EditableCheckBoxAttribute.Name"/>.</param> /// <param name="helpTitle">Specifies the value to use for /// <see cref="EditableCheckBoxAttribute.HelpTitle"/>.</param> /// <param name="helpText">Specifies the value to use for /// <see cref="EditableCheckBoxAttribute.HelpText"/>.</param> /// <returns>The <see cref="EditableCheckBoxAttribute"/> added to the item definition.</returns> public static EditableCheckBoxAttribute AddEditableCheckBox(this ItemDefinition itemDefinition, string title, int sortOrder, string containerName, string propertyKey, bool? defaultValue = null, string helpTitle = null, string helpText = null) { if (itemDefinition == null) throw new ArgumentNullException("itemDefinition", "itemDefinition is null."); if (String.IsNullOrEmpty(title)) throw new ArgumentException("title is null or empty.", "title"); if (String.IsNullOrEmpty(containerName)) throw new ArgumentException("containerName is null or empty.", "containerName"); if (String.IsNullOrEmpty(propertyKey)) throw new ArgumentException("propertyKey is null or empty.", "propertyKey"); EditableCheckBoxAttribute result = new EditableCheckBoxAttribute(title, sortOrder) { ContainerName = containerName, Name = propertyKey, HelpTitle = helpTitle, HelpText = helpText, DefaultValue = defaultValue }; itemDefinition.Add(result); Debug.WriteLine(string.Format("{0} property added to {1}", propertyKey, itemDefinition.Title)); return result; }
public void Start() { foreach (ItemDefinition definition in definitions.GetDefinitions()) { if (typeof (ISyndicatable).IsAssignableFrom(definition.ItemType)) { EditableCheckBoxAttribute ecb = new EditableCheckBoxAttribute(CheckBoxText, 10); ecb.Name = SyndicatableDetailName; ecb.ContainerName = ContainerName; ecb.SortOrder = SortOrder; definition.Add(ecb); } } }
public void Start() { foreach (ItemDefinition definition in _definitionManager.GetDefinitions()) { if (typeof(ModelBase).IsAssignableFrom(definition.ItemType) && !definition.IsPage) { var ecb = new EditableCheckBoxAttribute { Title = "", CheckBoxText = "Wrap with container", Name = "UseContainer", DefaultValue = true, ContainerName = Defaults.Containers.Metadata }; definition.Add(ecb); } } }
private ContentRegistration RegisterPart(PartDefinitionPage pd) { var def = DefinitionMap.Instance.GetOrCreateDefinition(typeof(ContentPart), pd.Title); // no extensions // registration - compare Dinamico views @{ Content.Define(re => ... ) } var re = new ContentRegistration(def) { Definition = {TemplateKey = pd.Name, Description = pd.Description}, Context = {GlobalSortOffset = pd.PartSortOrder}, ContentType = def.ItemType, Title = pd.Title, IconUrl = pd.IconUrl }; //if (!string.IsNullOrEmpty(pd.Definition)) //{ // var jsd = new JavaScriptRegistration(); // jsd.Eval(re, pd.Definition); //} foreach (var attrDef in pd.Attributes) { AbstractEditableAttribute attr = null; var name = RemoveSpecialCharacters(attrDef.Title); switch (attrDef.PartType) { case PartDefinitionPage.AttributePart.AttributePartTypeEnum.RichText: attr = new EditableTextAttribute { TextMode = TextBoxMode.MultiLine, Name = name, Title = attrDef.Title }; break; case PartDefinitionPage.AttributePart.AttributePartTypeEnum.Number: attr = new EditableNumberAttribute { Name = name, Title = attrDef.Title }; break; case PartDefinitionPage.AttributePart.AttributePartTypeEnum.CheckBox: attr = new EditableCheckBoxAttribute { Name = name, Title = attrDef.Title }; break; case PartDefinitionPage.AttributePart.AttributePartTypeEnum.Url: attr = new EditableUrlAttribute { Name = name, Title = attrDef.Title }; break; case PartDefinitionPage.AttributePart.AttributePartTypeEnum.Image: attr = new EditableImageAttribute { Name = name, Title = attrDef.Title }; break; #if TODO // use a better mechanism to find available types/attrs case PartDefinitionPage.AttributePart.AttributePartTypeEnum.Category: attr = new EditableCategorySelectionAttribute("ID:" + name) { Name = name, Title = attrDef.Title }; break; case PartDefinitionPage.AttributePart.AttributePartTypeEnum.Product: attr = new EditableProductMultiSelectionAttribute("Id:" + name) { Name = name, Title = attrDef.Title }; break; #endif case PartDefinitionPage.AttributePart.AttributePartTypeEnum.Text: default: attr = new EditableTextAttribute { TextMode = TextBoxMode.SingleLine, Name = name, Title = attrDef.Title }; break; //throw new ArgumentOutOfRangeException(); } if (!string.IsNullOrEmpty(attrDef.DefaultValue)) attr.DefaultValue = attrDef.DefaultValue; attr.HelpText = attrDef.HelpText; re.Add(attr); } re.IsDefined = true; re.Finalize(); return re; }