public static async Task SetTickCallback(this ChartJsLineChart chart, string canvasId) { var type = chart.GetType(); var fieldInfo = type.BaseType.GetProperty("JsRuntime", BindingFlags.NonPublic | BindingFlags.Instance); var jSRuntime = (IJSRuntime)fieldInfo.GetValue(chart); await jSRuntime.InvokeVoidAsync("torrentPluginSetChartCallback", canvasId); }
protected override async Task OnInitAsync() { AppMetrics = await Http.GetJsonAsync <AppMetric[]>($"api/Metrics/{App.AppId}/{StartDay}/{EndDay}"); AppMetrics = AppMetrics.Reverse().ToArray(); var labels = AppMetrics.Select(x => DateTimeOffset.FromUnixTimeSeconds(x.EpochTime).LocalDateTime.ToString("MM/dd")).ToList(); var points = AppMetrics.Select(x => x.OperationCount).OfType <object>().ToList(); lineChartConfig = CardChartData.GetLineConfig("Operations by day", App.AppId, labels, points); lineChartJs = new ChartJsLineChart(); }