public override void TypeEditorUpdating(ContentTypeDefinitionBuilder builder) { if (!TypeHasIdentity(builder.Current)) { builder.WithPart("IdentityPart"); } }
/// <summary> /// This extension method can be used for easy widget creation. Adds all necessary parts and settings to the part. /// </summary> /// <returns>The ContentTypeDefinitionBuilder object on which this method is called.</returns> public static ContentTypeDefinitionBuilder AsWidget(this ContentTypeDefinitionBuilder builder) { return(builder .WithPart("CommonPart") .WithPart("WidgetPart") .WithSetting("Stereotype", "Widget")); }
public static ContentTypeDefinitionBuilder WithMarkdownBody(this ContentTypeDefinitionBuilder t, string position) { return(t.WithPart(nameof(MarkdownBodyPart), p => { p.WithPosition(position); p.WithDisplayName("Markdown Body"); p.WithEditor("Wysiwyg"); })); }
public static ContentTypeDefinitionBuilder WithContainablePart(this ContentTypeDefinitionBuilder builder, bool showContainerPicker = false, bool showPositionEditor = false) { return(builder.WithPart( typeof(ContainablePart).Name, cfg => cfg .WithSetting("ContainableTypePartSettings.ShowContainerPicker", showContainerPicker.ToString()) .WithSetting("ContainableTypePartSettings.ShowPositionEditor", showPositionEditor.ToString()))); }
public static ContentTypeDefinitionBuilder WithBodyPart( this ContentTypeDefinitionBuilder builder, Flavour defaultFlavour = Flavour.Html) { return(builder.WithPart( typeof(BodyPart).Name, partBuilder => partBuilder.WithSetting("BodyTypePartSettings.Flavor", defaultFlavour.ToString()))); }
public static ContentTypeDefinitionBuilder WithTitlePart(this ContentTypeDefinitionBuilder t, string position, TitlePartOptions options = TitlePartOptions.Editable, string pattern = "") { return(t.WithPart(nameof(TitlePart), p => p .WithPosition(position) .WithSettings(new TitlePartSettings() { Options = options, Pattern = pattern }) )); }
public static ContentTypeDefinitionBuilder WithContentPermission(this ContentTypeDefinitionBuilder t, string position, string redirectUrl = null) { return(t.WithPart(nameof(ContentPermissionsPart), p => { p.WithPosition(position); if (redirectUrl != null) { p.WithSettings(new ContentPermissionsPartSettings() { RedirectUrl = redirectUrl }); } })); }
public static ContentTypeDefinitionBuilder WithFlow(this ContentTypeDefinitionBuilder t, string position, string[] containedContentTypes = null) { return(t.WithPart(nameof(FlowPart), p => { p.WithPosition(position); if (containedContentTypes != null) { p.WithSettings(new FlowPartSettings() { ContainedContentTypes = containedContentTypes }); } })); }
public static ContentTypeDefinitionBuilder WithAutoroutePart( this ContentTypeDefinitionBuilder builder, string pathPrefix = "", bool automaticAdjustmentOnEdit = false) { var pattern = string.Format( "[{{Title:'{0}/Title', Pattern: '{0}/{{Content.Slug}}', Description: '{0}/my-page'}}]", pathPrefix.TrimEnd('/')); return(builder.WithPart( "AutoroutePart", partBuilder => partBuilder .WithSetting("AutorouteSettings.PatternDefinitions", pattern) .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", automaticAdjustmentOnEdit.ToString()))); }
/// <summary> /// Merges a given content type definition provided in a XML format into a content type definition builder. /// </summary> /// <param name="element">The XML content type definition.</param> /// <param name="contentTypeDefinitionBuilder">The content type definition builder.</param> public void Merge(XElement element, ContentTypeDefinitionBuilder contentTypeDefinitionBuilder) { Argument.ThrowIfNull(element, nameof(element)); Argument.ThrowIfNull(contentTypeDefinitionBuilder, nameof(contentTypeDefinitionBuilder)); // Merge name contentTypeDefinitionBuilder.Named(XmlConvert.DecodeName(element.Name.LocalName)); // Merge display name if (element.Attribute("DisplayName") != null) { contentTypeDefinitionBuilder.DisplayedAs(element.Attribute("DisplayName").Value); } // Merge settings foreach (var setting in _settingsFormatter.Map(element)) { contentTypeDefinitionBuilder.WithSetting(setting.Key, setting.Value); } // Merge parts foreach (var iter in element.Elements()) { var partElement = iter; var partName = XmlConvert.DecodeName(partElement.Name.LocalName); if (partName == "remove") { var nameAttribute = partElement.Attribute("name"); if (nameAttribute != null) { contentTypeDefinitionBuilder.RemovePart(nameAttribute.Value); } } else { contentTypeDefinitionBuilder.WithPart( partName, partBuilder => { foreach (var setting in _settingsFormatter.Map(partElement)) { partBuilder.WithSetting(setting.Key, setting.Value); } }); } } }
public static ContentTypeDefinitionBuilder WithContainerPart( this ContentTypeDefinitionBuilder builder, string[] restrictedItemContentTypes, bool useCondensedViewAsDefault = false, bool enablePositioning = false, bool displayContainerEditor = false) { var restrictContentTypes = restrictedItemContentTypes != null; return(builder.WithPart( typeof(ContainerPart).Name, cfg => cfg .WithSetting("ContainerTypePartSettings.AdminListViewName", useCondensedViewAsDefault ? "Condensed" : "Default") .WithSetting("ContainerTypePartSettings.EnablePositioning", enablePositioning.ToString()) .WithSetting("ContainerTypePartSettings.DisplayContainerEditor", displayContainerEditor.ToString()) .WithSetting("ContainerTypePartSettings.RestrictItemContentTypes", restrictContentTypes.ToString()) .WithSetting("ContainerTypePartSettings.RestrictedItemContentTypes", restrictContentTypes ? string.Join(",", restrictedItemContentTypes) : string.Empty))); }
public static ContentTypeDefinitionBuilder WithTitlePart(this ContentTypeDefinitionBuilder t, string position) { return(t.WithPart(nameof(TitlePart), p => p .WithPosition(position) )); }
public static ContentTypeDefinitionBuilder WithTitlePart(this ContentTypeDefinitionBuilder builder) { return(builder.WithPart(typeof(TitlePart).Name)); }
public static ContentTypeDefinitionBuilder WithCommonPart(this ContentTypeDefinitionBuilder builder, bool showOwnerEditor = false) { return(builder.WithPart(typeof(CommonPart).Name) .WithSetting("OwnerEditorSettings.ShowOwnerEditor", showOwnerEditor.ToString(CultureInfo.InvariantCulture).ToLower())); }
/// <summary> /// Adds IdentityPart to the content type. /// </summary> /// <returns>The ContentTypeDefinitionBuilder object on which this method is called.</returns> public static ContentTypeDefinitionBuilder WithIdentity(this ContentTypeDefinitionBuilder builder) { return(builder.WithPart("IdentityPart")); }