From 3735d4d1818547b9230fc9be3d79524efc3725a6 Mon Sep 17 00:00:00 2001 From: Ian Webster Date: Sun, 7 Nov 2021 15:18:15 -0800 Subject: [PATCH] Add support for chart.js version parameter (#4) --- QuickChart/QuickChart.cs | 7 +++++++ QuickChartTest/QuickChartTest.cs | 27 +++++++++++++++++++++++++++ README.md | 8 ++++++-- 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/QuickChart/QuickChart.cs b/QuickChart/QuickChart.cs index 007ac19..b485bd1 100644 --- a/QuickChart/QuickChart.cs +++ b/QuickChart/QuickChart.cs @@ -22,6 +22,7 @@ namespace QuickChart public string Format { get; set; } public string BackgroundColor { get; set; } public string Key { get; set; } + public string Version { get; set; } public string Config { get; set; } public string Scheme { get; set; } @@ -62,6 +63,10 @@ namespace QuickChart { builder.Append("&key=").Append(Uri.EscapeDataString(Key)); } + if (!string.IsNullOrEmpty(Version)) + { + builder.Append("&v=").Append(Uri.EscapeDataString(Version)); + } return $"{Scheme}://{Host}:{Port}/chart?{builder}"; } @@ -85,6 +90,7 @@ namespace QuickChart format = Format, chart = Config, key = Key, + version = Version, }, options); string url = $"{Scheme}://{Host}:{Port}/chart/create"; @@ -123,6 +129,7 @@ namespace QuickChart format = Format, chart = Config, key = Key, + version = Version, }, options); string url = $"{Scheme}://{Host}:{Port}/chart"; diff --git a/QuickChartTest/QuickChartTest.cs b/QuickChartTest/QuickChartTest.cs index 4141d40..fca83bb 100644 --- a/QuickChartTest/QuickChartTest.cs +++ b/QuickChartTest/QuickChartTest.cs @@ -86,5 +86,32 @@ namespace QuickChartTest Assert.Contains("h=300", url); Assert.Contains("f=svg", url); } + + [Fact] + public void TestWithVersion() + { + Chart qc = new Chart + { + Width = 500, + Height = 300, + Format = "2.9.4", + Config = @"{ + type: 'bar', + data: { + labels: ['Q1', 'Q2', 'Q3', 'Q4'], + datasets: [{ + label: 'Users', + data: [50, 60, 70, 180] + }] + } + }" + }; + + string url = qc.GetUrl(); + Assert.Contains("https://quickchart.io:443/chart", url); + Assert.Contains("w=500", url); + Assert.Contains("h=300", url); + Assert.Contains("v=2.9.4", url); + } } } diff --git a/README.md b/README.md index 367158a..b1ac086 100644 --- a/README.md +++ b/README.md @@ -26,13 +26,14 @@ Chart qc = new Chart(); qc.Width = 500; qc.Height = 300; +qc.Version = "2.9.4"; qc.Config = @"{ type: 'bar', data: { labels: ['Q1', 'Q2', 'Q3', 'Q4'], datasets: [{ - label: 'Users', - data: [50, 60, 70, 180] + label: 'Users', + data: [50, 60, 70, 180] }] } }"; @@ -80,6 +81,9 @@ The device pixel ratio of the chart. This will multiply the number of pixels by #### Format: string The output format of the chart. Defaults to "png" +#### Version: string +Chart.js version (not required) + #### Key: string API key (not required)