Как обновить график кендо с помощью уведомления SignalR
Я хочу обновить график кендо, как только получаю уведомление от SignalR. Вот мой код
function CreateChart()
{
$("#chart").kendoChart({
title: {
position: "bottom",
text: "Import Log"
},
legend: {
position: "bottom"
},
chartArea: {
background: ""
},
seriesDefaults: {
labels: {
visible: true,
background: "transparent",
template: "#= dataItem.CategoryField #: \n #= dataItem.Percentage#%"
}
},
dataSource: [{ "CategoryField": "Success", "Percentage": 0 }, { "CategoryField": "Error", "Percentage": 0 }, { "CategoryField": "Info", "Percentage": 0 }, { "CategoryField": "Total", "Percentage": 100}],
series: [{
type: "donut",
field: "Percentage",
categoryField: "CategoryField"
}],
seriesColors: ["Green", "red", "#FFD54C", "#EEEEEE"]
});
}
updateProgress = function (successPct, errPct, infoPct)
{
var selectedChart = $("#chart").data("kendoChart");
var ds = selectedChart.dataSource;
var progress = ds.at(0);
var error = ds.at(1);
var info = ds.at(2);
var total = ds.at(3);
progress.set("Percentage", data.SuccessPercentage);
error.set("Percentage", data.ErrorPercentage);
info.set("Percentage", data.InfoPercentage);
total.set("Percentage", 100 - data.SuccessPercentage - data.ErrorPercentage - data.InfoPercentage);
selectedChart.refresh();
}
$(document).ready(function () {
CreateChart();
var importNotifier = $.connection.runImport;
importNotifier.client.sendMessage = function (data) {
$("#chart").append(data.SuccessPercentage + " " + data.ErrorPercentage + " " + data.InfoPercentage)
updateProgress(data.SuccessPercentage, data.ErrorPercentage, data.InfoPercentage);
};
$.connection.hub.start().done(function () {
importNotifier.server.import();
});
});
Здесь я создал метод Update Progress для обновления графика. Но диаграмма не обновляется, пока не будет завершена вся обработка на стороне сервера. Как только вся обработка на стороне сервера завершена, работает только обновление диаграммы. Я хочу обновлять свой график только тогда, когда получаю уведомление от SignalR.