Example #1
0
        public string ToHtmlString()
        {
            StringBuilder scripts = new StringBuilder();
            _Highcharts.ForEach(x => scripts.AppendLine("<div id='{0}'></div>".FormatWith(x.ContainerName)));

            List<Highcharts> startupCharts = _Highcharts.Where(x => string.IsNullOrEmpty(x.FunctionName)).ToList();
            scripts.AppendLine("<script type='text/javascript'>");
            startupCharts.ForEach(x => scripts.AppendLine("var {0};".FormatWith(x.Name)));
            scripts.AppendLine("$(document).ready(function() {");
            startupCharts.ForEach(scripts.AppendHighchart);
            scripts.AppendLine("});");

            List<Highcharts> functionCharts = _Highcharts.Where(x => !string.IsNullOrEmpty(x.FunctionName)).ToList();
            foreach (Highcharts chart in functionCharts)
            {
                scripts.AppendLine("var {0};".FormatWith(chart.Name));
                scripts.AppendLine(string.Format("function {0}() {{", chart.FunctionName));
                scripts.AppendHighchart(chart);
                scripts.AppendLine("}");
            }
            scripts.AppendLine("</script>");

            return scripts.ToString();
        }