using System.Text.Json.Serialization;

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

public class ChartPlugins
{
    /// <summary>
    /// The chart legend displays data about the datasets that are appearing on the chart.
    /// </summary>
    public ChartPluginsLegend Legend { get; set; } = new();

    /// <summary>
    /// The chart title defines text to draw at the top of the chart.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public ChartPluginsTitle? Title { get; set; }

    /// <summary>
    /// Tooltip for the element.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public ChartPluginsTooltip? Tooltip { get; set; }

    /// <summary>
    /// DataLabels for the element.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public ChartPluginsDataLabels? Datalabels { get; set; }

    /// <summary>
    /// Subtitle for the element.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public ChartPluginsSubtitle? Subtitle { get; set; }
}
