using RobotNet.WebApp.Charts.Models.Common.Dataset; using System.Text.Json.Serialization; namespace RobotNet.WebApp.Charts.Models.ScatterChart; public class ScatterChartDataset : ChartDataset { /// /// Cap style of the line. /// Supported values are 'butt', 'round', and 'square'. /// /// /// Default value is 'butt'. /// public string BorderCapStyle { get; set; } = "butt"; /// /// Supported values are 'default', and 'monotone'. /// /// /// Default value is 'default'. /// public string CubicInterpolationMode { get; set; } = "default"; /// /// Draw the active points of a dataset over the other points of the dataset. /// /// /// Default value is . /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public List? DrawActiveElementsOnTop { get; set; } /// /// How to fill the area under the line. /// /// /// Default value is . /// public bool Fill { get; set; } /// /// Cap style of the line when hovered. /// /// /// Default value is . /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? HoverBorderCapStyle { get; set; } /// /// The base axis of the dataset. 'x' for horizontal lines and 'y' for vertical lines. /// /// /// Default value is 'x'. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? IndexAxis { get; set; } /// /// The fill color for points. /// /// /// Default value is 'rgba(0, 0, 0, 0.1)'. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public List? PointBackgroundColor { get; set; } /// /// The border color for points. /// /// /// Default value is 'rgba(0, 0, 0, 0.1)'. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public List? PointBorderColor { get; set; } /// /// The width of the point border in pixels. /// /// /// Default value is 1. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public List? PointBorderWidth { get; set; } /// /// The pixel size of the non-displayed point that reacts to mouse events. /// /// /// Default value is 1. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public List? PointHitRadius { get; set; } /// /// Point background color when hovered. /// /// /// Default value is . /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public List? PointHoverBackgroundColor { get; set; } /// /// Point border color when hovered. /// /// /// Default value is . /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public List? PointHoverBorderColor { get; set; } /// /// Border width of point when hovered. /// /// /// Default value is 1. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public List? PointHoverBorderWidth { get; set; } /// /// The radius of the point when hovered. /// /// /// Default value is 4. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public List? PointHoverRadius { get; set; } /// /// The radius of the point shape. If set to 0, the point is not rendered. /// /// /// Default value is 3. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public List? PointRadius { get; set; } /// /// The rotation of the point in degrees. /// /// /// Default value is 0. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public List? PointRotation { get; set; } /// /// Style of the point. /// Supported values are 'circle', 'cross', 'crossRot', 'dash', 'line', 'rect', 'rectRounded', 'rectRot', 'star', and /// 'triangle' to style. /// the point. /// /// /// Default value is 'circle'. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public List? PointStyle { get; set; } //segment //https://www.chartjs.org/docs/latest/charts/line.html#segment /// /// If , the lines between points are not drawn. /// By default, the scatter chart will override the showLine property of the line chart to false. /// /// /// Default value is . /// public bool ShowLine { get; } = false; /// /// If , lines will be drawn between points with no or null data. /// If , points with null data will create a break in the line. /// Can also be a number specifying the maximum gap length to span. /// The unit of the value depends on the scale used. /// /// /// Default value is . /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public bool? SpanGaps { get; set; } /// /// true to show the line as a stepped line (tension will be ignored). /// /// /// Default value is . /// public bool Stepped { get; set; } /// /// Bezier curve tension of the line. Set to 0 to draw straight lines. /// This option is ignored if monotone cubic interpolation is used. /// /// /// Default value is 0. /// public double Tension { get; set; } /// /// The ID of the x axis to plot this dataset on. /// /// /// Default value is 'first x axis'. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? XAxisID { get; set; } /// /// The ID of the y axis to plot this dataset on. /// /// /// Default value is 'first y axis'. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? YAxisID { get; set; } }