Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -585,7 +585,7 @@

.main-area {
flex: 1;
max-width: calc(100% - 600px);
max-width: 100%;
padding: 32px 48px;
background-color: var(--bg-color);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@
new SalesInfo { Month = "Jul", SalesValue = 35 }
};

private string ProgramCode = @"@using Syncfusion.Blazor.Toolkit;
private string ProgramCode = @"using Syncfusion.Blazor.Toolkit;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddRazorComponents().AddInteractiveServerComponents();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,10 @@ private static void FindRectPosition(List<ChartSeries> seriesCollection)

for (int i = 0; i < seriesCollection.Count; i++)
{
seriesCollection[i].Renderer.RectCount = visibleSeries.RectCount;
if (seriesCollection[i].Renderer is { } renderer)
{
renderer.RectCount = visibleSeries.RectCount;
}
}
}

Expand All @@ -58,6 +61,11 @@ private static void AssignPositions(List<ChartSeries> seriesCollection, Dictiona
{
for (int i = 0; i < seriesCollection.Count; i++)
{
if (seriesCollection[i].Renderer is not { } renderer)
{
continue;
}

string seriesType = seriesCollection[i].SeriesType ?? null!;
if (seriesType.Contains("Stacking", StringComparison.InvariantCulture) || !string.IsNullOrEmpty(seriesCollection[i].GroupName))
{
Expand All @@ -71,30 +79,30 @@ private static void AssignPositions(List<ChartSeries> seriesCollection, Dictiona

if (double.IsNaN(groupingValues[groupName]))
{
seriesCollection[i].Renderer.Position = visibleSeries.RectCount;
renderer.Position = visibleSeries.RectCount;
groupingValues[groupName] = visibleSeries.RectCount++;
}
else
{
seriesCollection[i].Renderer.Position = groupingValues[groupName];
renderer.Position = groupingValues[groupName];
}
}
else
{
if (double.IsNaN(visibleSeries.Position))
{
seriesCollection[i].Renderer.Position = visibleSeries.RectCount;
renderer.Position = visibleSeries.RectCount;
visibleSeries.Position = visibleSeries.RectCount++;
}
else
{
seriesCollection[i].Renderer.Position = visibleSeries.Position;
renderer.Position = visibleSeries.Position;
}
}
}
else
{
seriesCollection[i].Renderer.Position = visibleSeries.RectCount++;
renderer.Position = visibleSeries.RectCount++;
}
}
}
Expand Down Expand Up @@ -530,9 +538,9 @@ internal Rect GetColumnWidthInPixelRect(Rect rectangle)
{
ChartSeriesType.Bar or ChartSeriesType.StackingBar or ChartSeriesType.StackingBar100 => isTransposed
? new Rect(rectangle.X - (halfColumnWidthAdjustment - positionAdjustment), rectangle.Y, columnWidth, rectangle.Height)
: new Rect(rectangle.X, rectangle.Y - (halfColumnWidthAdjustment - (columnWidth * ((double.IsNaN(Series.Renderer?.RectCount ?? 0) ? 0 : Series.Renderer.RectCount) - (double.IsNaN(Series.Renderer.Position) ? 0 : Series.Renderer.Position) - 1))), rectangle.Width, columnWidth),
: new Rect(rectangle.X, rectangle.Y - (halfColumnWidthAdjustment - (columnWidth * ((double.IsNaN(Series.Renderer?.RectCount ?? 0) ? 0 : Series.Renderer?.RectCount ?? 0) - (double.IsNaN(Series.Renderer?.Position ?? 0) ? 0 : Series.Renderer?.Position ?? 0) - 1))), rectangle.Width, columnWidth),
ChartSeriesType.Column or ChartSeriesType.StackingColumn or ChartSeriesType.StackingColumn100 => isTransposed
? new Rect(rectangle.X, rectangle.Y - (halfColumnWidthAdjustment - (columnWidth * ((double.IsNaN(Series.Renderer?.RectCount ?? 0) ? 0 : Series.Renderer.RectCount) - (double.IsNaN(Series.Renderer.Position) ? 0 : Series.Renderer.Position) - 1))), rectangle.Width, columnWidth)
? new Rect(rectangle.X, rectangle.Y - (halfColumnWidthAdjustment - (columnWidth * ((double.IsNaN(Series.Renderer?.RectCount ?? 0) ? 0 : Series.Renderer?.RectCount ?? 0) - (double.IsNaN(Series.Renderer?.Position ?? 0) ? 0 : Series.Renderer?.Position ?? 0) - 1))), rectangle.Width, columnWidth)
: new Rect(rectangle.X - (halfColumnWidthAdjustment - positionAdjustment), rectangle.Y, columnWidth, rectangle.Height),
ChartSeriesType.Line => new Rect(),
ChartSeriesType.Area => new Rect(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -348,11 +348,11 @@ private static Dictionary<string, Dictionary<double, double>> FindFrequencies(Li

if (!string.IsNullOrEmpty(series.Container?._sorting.SortKey))
{
frequencies[stackingGroup][xVal] += (Convert.ToDouble(series.Renderer.Points?[j].Y, CultureInfo.InvariantCulture) > 0 ? 1 : -1) * Convert.ToDouble(series.Renderer.Points?[j].Y, CultureInfo.InvariantCulture);
frequencies[stackingGroup][xVal] += (Convert.ToDouble(series.Renderer?.Points?[j].Y, CultureInfo.InvariantCulture) > 0 ? 1 : -1) * Convert.ToDouble(series.Renderer?.Points?[j].Y, CultureInfo.InvariantCulture);
}
else
{
frequencies[stackingGroup][xVal] += (series.Renderer.YData[j] > 0 ? 1 : -1) * series.Renderer.YData[j];
frequencies[stackingGroup][xVal] += (series.Renderer?.YData[j] > 0 ? 1 : -1) * (series.Renderer?.YData[j] ?? 1);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,12 @@ private void CreateDrawPoints(List<Point> points, ref bool isNegativePoint)
}
if (data.YValue != 0 && !double.IsNaN(data.YValue) && pointValue?.ControlPoint1.Y != 0 && !double.IsNaN(pointValue?.ControlPoint1.Y ?? 0) && pointValue?.ControlPoint2.Y != 0 && !double.IsNaN(pointValue?.ControlPoint2.Y ?? 0) && Series is not null && ((Series.Renderer?.YMax ?? 0) - (Series.Renderer?.YMin ?? 0)) > 1)
{
bool maxValue = Math.Abs(Series.Renderer.YMin - Math.Floor(Series.Renderer.YMin)) > double.Epsilon;
Series.Renderer.YMin = maxValue ? Series.Renderer.YMin : Math.Floor(Math.Min(Math.Min(Series.Renderer.YMin, data.YValue), Math.Min(pointValue.ControlPoint1.Y, pointValue.ControlPoint2.Y)));
Series.Renderer.YMax = Math.Ceiling(Math.Max(Math.Max(Series.Renderer.YMax, data.YValue), Math.Max(pointValue.ControlPoint1.Y, pointValue.ControlPoint2.Y)));
bool maxValue = Math.Abs((Series.Renderer?.YMin ?? 0) - Math.Floor(Series.Renderer?.YMin ?? 0)) > double.Epsilon;
if (Series.Renderer is not null)
{
Series.Renderer.YMin = maxValue ? Series.Renderer.YMin : Math.Floor(Math.Min(Math.Min(Series.Renderer.YMin, data.YValue), Math.Min(pointValue?.ControlPoint1.Y ?? 0, pointValue?.ControlPoint2.Y ?? 0)));
Series.Renderer.YMax = Math.Ceiling(Math.Max(Math.Max(Series.Renderer.YMax, data.YValue), Math.Max(pointValue?.ControlPoint1.Y ?? 0, pointValue?.ControlPoint2.Y ?? 0)));
}
}
}
}
Expand Down Expand Up @@ -156,7 +159,7 @@ private static void ComputeNaturalOrClampedCoefficients(List<Point> points, Char
{
for (int i = 1; i < count - 1; i++)
{
series.Renderer.GetSplineTypePoints(points, i, SplineType.Clamped, isLow);
series.Renderer?.GetSplineTypePoints(points, i, SplineType.Clamped, isLow);
}

double firstSegmentX = points[1].XValue - points[0].XValue;
Expand Down Expand Up @@ -199,7 +202,7 @@ private static void ComputeNaturalOrClampedCoefficients(List<Point> points, Char
y_Spline[count - 1] = 0;
}

series.Renderer.GetDefaultSplineTypePoints(points, i, isLow);
series.Renderer?.GetDefaultSplineTypePoints(points, i, isLow);
double coefficient1 = points[i].XValue - points[i - 1].XValue;
double coefficient2 = points[i + 1].XValue - points[i - 1].XValue;
double coefficient3 = points[i + 1].XValue - points[i].XValue;
Expand Down Expand Up @@ -364,7 +367,7 @@ protected double DateTimeInterval()
deltaX2 *= deltaX2;

bool shouldUseAbs = Series is not null &&
Math.Abs(Series.Renderer.YMin - Math.Floor(Series.Renderer.YMin)) > double.Epsilon &&
Math.Abs((Series.Renderer?.YMin ?? 0) - Math.Floor(Series.Renderer?.YMin ?? 0)) > double.Epsilon &&
double.IsNegative(ONE_THIRD * ((2 * prevdata.YValue) + nextData.YValue - (ONE_THIRD * deltaX2 * (y_Spline1 + (0.5 * y_Spline2))))) &&
double.IsNegative(ONE_THIRD * (prevdata.YValue + (2 * nextData.YValue) - (ONE_THIRD * deltaX2 * ((0.5 * y_Spline1) + y_Spline2))));

Expand Down Expand Up @@ -394,7 +397,7 @@ protected double DateTimeInterval()
/// <returns>Filtered list of points.</returns>
internal static List<Point> FilterEmptyPoints(ChartSeries series, [Optional] List<Point> seriesPoints)
{
List<Point> points = seriesPoints is not null ? seriesPoints : series.Renderer.Points ?? null!;
List<Point> points = seriesPoints is not null ? seriesPoints : series.Renderer?.Points ?? null!;

if (series.EmptyPointSettings.Mode != EmptyPointMode.Drop)
{
Expand All @@ -406,18 +409,18 @@ internal static List<Point> FilterEmptyPoints(ChartSeries series, [Optional] Lis
points[i].Index = i;
if (points[i].IsEmpty)
{
if (series.Renderer.ChartPoints is { })
if (series.Renderer?.ChartPoints is { })
{
series.Renderer.ChartPoints[i].SymbolLocations = [];
}
points[i].SymbolLocations = [];
if (series.Renderer.ChartPoints is { })
if (series.Renderer?.ChartPoints is { })
{
series.Renderer.ChartPoints[i].Regions = [];
}
points[i].Regions = [];
points.RemoveRange(i, 1);
series.Renderer.ChartPoints?.RemoveRange(i, 1);
series.Renderer?.ChartPoints?.RemoveRange(i, 1);
i--;
}
}
Expand All @@ -439,7 +442,7 @@ internal override void FindSplinePoint()
DrawPoints = [];
CreateDrawPoints(points, ref isNegativePoint);

if (!isNegativePoint && Series?.Renderer.YMin < 0)
if (!isNegativePoint && Series?.Renderer?.YMin < 0)
{
Series.Renderer.YMin = 0;
}
Expand All @@ -456,7 +459,7 @@ internal virtual string GetSplineDirection(ControlPoints data, Point firstPoint,
ChartEventLocation bpt1 = ChartHelper.GetPoint(XAxisRenderer.GetPointValue(data.ControlPoint1.X), YAxisRenderer.GetPointValue(data.ControlPoint1.Y), XAxisRenderer, YAxisRenderer, XLength, YLength, isInverted);
ChartEventLocation bpt2 = ChartHelper.GetPoint(XAxisRenderer.GetPointValue(data.ControlPoint2.X), YAxisRenderer.GetPointValue(data.ControlPoint2.Y), XAxisRenderer, YAxisRenderer, XLength, YLength, isInverted);

if (Series is not null && (Series.Renderer.YAxisRenderer is LogarithmicAxisRenderer) && Math.Abs(Series.Renderer.YMin - Math.Floor(Series.Renderer.YMin)) > double.Epsilon)
if (Series is not null && (Series.Renderer?.YAxisRenderer is LogarithmicAxisRenderer) && Math.Abs(Series.Renderer.YMin - Math.Floor(Series.Renderer.YMin)) > double.Epsilon)
{
bpt1.Y = Math.Abs(bpt1.Y) > YLength ? 1 : bpt1.Y;
bpt2.Y = Math.Abs(bpt2.Y) > YLength ? 1 : bpt2.Y;
Expand Down
Loading
Loading