using System.ComponentModel.DataAnnotations; using System.Runtime.Serialization; namespace Umbraco.Cms.Core.Models.ContentEditing; /// /// Represents a content property that is displayed in the UI /// [DataContract(Name = "property", Namespace = "")] public class ContentPropertyDisplay : ContentPropertyBasic { public ContentPropertyDisplay() { Config = new Dictionary(); Validation = new PropertyTypeValidation(); } [DataMember(Name = "label", IsRequired = true)] [Required] public string? Label { get; set; } [DataMember(Name = "description")] public string? Description { get; set; } [DataMember(Name = "view", IsRequired = true)] [Required(AllowEmptyStrings = false)] public string? View { get; set; } [Obsolete("The value type parameter of the dictionary will be made nullable in V11, use ConfigNullable instead.")] [DataMember(Name = "config")] public IDictionary? Config { get; set; } // TODO: Obsolete in V11. [IgnoreDataMember] public IDictionary? ConfigNullable { get => Config!; set => Config = value!; } [DataMember(Name = "hideLabel")] public bool HideLabel { get; set; } [DataMember(Name = "labelOnTop")] public bool? LabelOnTop { get; set; } [DataMember(Name = "validation")] public PropertyTypeValidation Validation { get; set; } [DataMember(Name = "readonly")] public bool Readonly { get; set; } }