Move macOS versions chart to ChartJS.

This commit is contained in:
2019-11-03 03:43:34 +00:00
parent 9e693731cb
commit d524aa9ffd
3 changed files with 24 additions and 19 deletions

View File

@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
<component name="com.jetbrains.rider.android.RiderAndroidMiscFileCreationComponent">
<option name="ENSURE_MISC_FILE_EXISTS" value="true" />
</component>

View File

@@ -115,22 +115,6 @@ namespace DiscImageChef.Server.Controllers
ViewBag.repOperatingSystems = operatingSystems.OrderBy(os => os.name).ToList();
List<PieSeriesData> macosPieData = new List<PieSeriesData>();
decimal macosCount = ctx.OperatingSystems.Where(o => o.Name == PlatformID.MacOSX.ToString()).
Sum(o => o.Count);
foreach(OperatingSystem version in
ctx.OperatingSystems.Where(o => o.Name == PlatformID.MacOSX.ToString()))
macosPieData.Add(new PieSeriesData
{
Name =
$"{DetectOS.GetPlatformName(PlatformID.MacOSX, version.Version)}{(string.IsNullOrEmpty(version.Version) ? "" : " ")}{version.Version}",
Y = (double?)(version.Count / macosCount)
});
ViewData["macosPieData"] = macosPieData;
List<PieSeriesData> windowsPieData = new List<PieSeriesData>();
decimal windowsCount = ctx.OperatingSystems.Where(o => o.Name == PlatformID.Win32NT.ToString()).
@@ -526,5 +510,16 @@ namespace DiscImageChef.Server.Controllers
ctx.OperatingSystems.Where(o => o.Name == PlatformID.Linux.ToString()).OrderByDescending(o => o.Count).
Take(10).Select(x => x.Count.ToString()).ToArray()
});
public IActionResult GetMacOsData() => Json(new[]
{
ctx.OperatingSystems.Where(o => o.Name == PlatformID.MacOSX.ToString()).OrderByDescending(o => o.Count).
Take(10).
Select(x =>
$"{DetectOS.GetPlatformName(PlatformID.MacOSX, x.Version)}{(string.IsNullOrEmpty(x.Version) ? "" : " ")}{x.Version}").
ToArray(),
ctx.OperatingSystems.Where(o => o.Name == PlatformID.MacOSX.ToString()).OrderByDescending(o => o.Count).
Take(10).Select(x => x.Count.ToString()).ToArray()
});
}
}

View File

@@ -66,7 +66,8 @@
<div class="carousel-item">
<canvas id="linuxChart"></canvas>
</div>
<div class="carousel-item" id="macosChart">
<div class="carousel-item">
<canvas id="macosChart"></canvas>
</div>
<div class="carousel-item" id="windowsChart">
</div>
@@ -544,12 +545,18 @@ function DrawOsPie(osData)
function DrawLinuxPie(linuxData)
{
DrawPie("linuxChart", "Top 10 Linux versions", linuxData[0], linuxData[1])
DrawPie("linuxChart", `Top ${linuxData[0].length} Linux versions`, linuxData[0], linuxData[1])
}
window.onload = () =;> {
function DrawMacOsPie(macosData)
{
DrawPie("macosChart", `Top ${macosData[0].length} macOS versions`, macosData[0], macosData[1])
}
window.onload = () => {
$.ajax({dataType: "json", url: "/Stats/GetOsData", success: DrawOsPie, cache:false});
$.ajax({dataType: "json", url: "/Stats/GetLinuxData", success: DrawLinuxPie, cache:false});
$.ajax({dataType: "json", url: "/Stats/GetMacOsData", success: DrawMacOsPie, cache:false});
}
</script>