using System.Text.Json.Serialization;

namespace RobotNet.WebApp.Charts.Models.Common.Elements;

public class ChartElements
{
    /// <summary>
    /// Arcs are used in the polar area, doughnut and pie charts.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public Arc? Arc { get; set; }

    /// <summary>
    /// Bar elements are used to represent the bars in a bar chart.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public Bar? Bar { get; set; }

    /// <summary>
    /// Line elements are used to represent the line in a line chart.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public Line? Line { get; set; }

    /// <summary>
    /// Point elements are used to represent the points in a line, radar or bubble chart.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public Point? Point { get; set; }
}
