mirror of
https://github.com/aaru-dps/Aaru.Server.git
synced 2025-12-16 19:24:27 +00:00
Move macOS versions chart to ChartJS.
This commit is contained in:
3
.idea/.idea.DiscImageChef.Server/.idea/misc.xml
generated
3
.idea/.idea.DiscImageChef.Server/.idea/misc.xml
generated
@@ -1,5 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
|
<component name="JavaScriptSettings">
|
||||||
|
<option name="languageLevel" value="ES6" />
|
||||||
|
</component>
|
||||||
<component name="com.jetbrains.rider.android.RiderAndroidMiscFileCreationComponent">
|
<component name="com.jetbrains.rider.android.RiderAndroidMiscFileCreationComponent">
|
||||||
<option name="ENSURE_MISC_FILE_EXISTS" value="true" />
|
<option name="ENSURE_MISC_FILE_EXISTS" value="true" />
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
@@ -115,22 +115,6 @@ namespace DiscImageChef.Server.Controllers
|
|||||||
|
|
||||||
ViewBag.repOperatingSystems = operatingSystems.OrderBy(os => os.name).ToList();
|
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>();
|
List<PieSeriesData> windowsPieData = new List<PieSeriesData>();
|
||||||
|
|
||||||
decimal windowsCount = ctx.OperatingSystems.Where(o => o.Name == PlatformID.Win32NT.ToString()).
|
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).
|
ctx.OperatingSystems.Where(o => o.Name == PlatformID.Linux.ToString()).OrderByDescending(o => o.Count).
|
||||||
Take(10).Select(x => x.Count.ToString()).ToArray()
|
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()
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -66,7 +66,8 @@
|
|||||||
<div class="carousel-item">
|
<div class="carousel-item">
|
||||||
<canvas id="linuxChart"></canvas>
|
<canvas id="linuxChart"></canvas>
|
||||||
</div>
|
</div>
|
||||||
<div class="carousel-item" id="macosChart">
|
<div class="carousel-item">
|
||||||
|
<canvas id="macosChart"></canvas>
|
||||||
</div>
|
</div>
|
||||||
<div class="carousel-item" id="windowsChart">
|
<div class="carousel-item" id="windowsChart">
|
||||||
</div>
|
</div>
|
||||||
@@ -544,12 +545,18 @@ function DrawOsPie(osData)
|
|||||||
|
|
||||||
function DrawLinuxPie(linuxData)
|
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/GetOsData", success: DrawOsPie, cache:false});
|
||||||
$.ajax({dataType: "json", url: "/Stats/GetLinuxData", success: DrawLinuxPie, cache:false});
|
$.ajax({dataType: "json", url: "/Stats/GetLinuxData", success: DrawLinuxPie, cache:false});
|
||||||
|
$.ajax({dataType: "json", url: "/Stats/GetMacOsData", success: DrawMacOsPie, cache:false});
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
Reference in New Issue
Block a user