using RobotNet.WebApp.Charts.Enums;
using System.Text.Json.Serialization;
namespace RobotNet.WebApp.Charts.Models.Common.Plugins;
public class ChartPluginsLegend
{
///
/// Alignment of the legend. Default values is 'center'. Other possible values 'start' and 'end'.
///
public LegendAlignment Align { get; set; } = LegendAlignment.Center;
///
/// Is the legend shown? Default value is 'true'.
///
public bool Display { get; set; } = true;
///
/// If , Marks that this box should take the full width/height of the canvas (moving other boxes). This is unlikely to need to be changed in day-to-day use.
///
public bool FullSize { get; set; } = true;
///
/// Label settings for the legend.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public ChartPluginsLegendLabels? Labels { get; set; }
///
/// Maximum height of the legend, in pixels.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? MaxHeight { get; set; }
///
/// Maximum width of the legend, in pixels.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? MaxWidth { get; set; }
///
/// Position of the legend. Default value is 'top'. Other possible value is 'bottom'.
///
public LegendPosition Position { get; set; } = LegendPosition.Top;
///
/// If , the Legend will show datasets in reverse order.
///
public bool Reverse { get; set; } = false;
///
/// If , for rendering of the legends will go from right to left.
///
public bool Rtl { get; set; } = false;
///
/// This will force the text direction 'rtl' or 'ltr' on the canvas for rendering the legend, regardless of the css specified on the canvas
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? TextDirection { get; set; }
///
/// Title object
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public ChartPluginsLegendTitle? Title { get; set; }
}