public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) { if (!isVisible) { output.SuppressOutput(); return; } #region << Init >> var initSuccess = InitChart(context, output); if (!initSuccess) { return; } Chart = new ErpChart(Type, Labels, Datasets, ShowLegend); #endregion #region << Render Js>> var scriptJs = "<script>"; scriptJs += "$(function(){"; scriptJs += $"new Chart('{Id}', {{"; scriptJs += $"type: '{ModelExtensions.GetLabel(Chart.Type)}',"; scriptJs += $"data: " + JsonConvert.SerializeObject(Chart.Data) + ","; scriptJs += $"options: " + JsonConvert.SerializeObject(Chart.Options); scriptJs += "});"; scriptJs += "});"; scriptJs += "</script>"; //var tooltipCallback = "{title: function(tooltipArray, data){return '';}, label: function(tooltipItem, data){return tooltipItem.xLabel + ' : ' + tooltipItem.yLabel;} }"; //scriptJs = scriptJs.Replace("\"{{tooltipCallback}}\"", tooltipCallback); output.PostContent.AppendHtml(scriptJs); #endregion //prevents CS1998 warning (no use of await in async method) await Task.FromResult <object>(null); }