using System.Runtime.Serialization; namespace Umbraco.Cms.Core.Models.ContentEditing; /// /// Represents a content app. /// /// /// Content apps are editor extensions. /// [DataContract(Name = "app", Namespace = "")] public class ContentApp { /// /// Gets the name of the content app. /// [DataMember(Name = "name")] public string? Name { get; set; } /// /// Gets the unique alias of the content app. /// /// /// Must be a valid javascript identifier, ie no spaces etc. /// [DataMember(Name = "alias")] public string? Alias { get; set; } /// /// Gets or sets the weight of the content app. /// /// /// Content apps are ordered by weight, from left (lowest values) to right (highest values). /// Some built-in apps have special weights: listview is -666, content is -100 and infos is +100. /// /// The default weight is 0, meaning somewhere in-between content and infos, but weight could /// be used for ordering between user-level apps, or anything really. /// /// [DataMember(Name = "weight")] public int Weight { get; set; } /// /// Gets the icon of the content app. /// /// /// Must be a valid helveticons class name (see http://hlvticons.ch/). /// [DataMember(Name = "icon")] public string? Icon { get; set; } /// /// Gets the view for rendering the content app. /// [DataMember(Name = "view")] public string? View { get; set; } /// /// The view model specific to this app /// [DataMember(Name = "viewModel")] public object? ViewModel { get; set; } /// /// Gets a value indicating whether the app is active. /// /// /// Normally reserved for Angular to deal with but in some cases this can be set on the server side. /// [DataMember(Name = "active")] public bool Active { get; set; } /// /// Gets or sets the content app badge. /// [DataMember(Name = "badge")] public ContentAppBadge? Badge { get; set; } }