Exemplo n.º 1
0
 public ChartOptions()
 {
     XAxis          = new XAxis();
     YAxis          = new YAxis();
     Series         = new SerieCollection();
     Appearance     = new Appearance.Appearance();
     Lang           = new Localization();
     Exporting      = new Exporting();
     Colors         = new ColorSet();
     Legend         = new Legend();
     AjaxDataSource = new AJAXSource();
     Tooltip        = new ToolTip();
     ClientId       = "";
 }
Exemplo n.º 2
0
        internal static string AjaxSourceScriptBuilder(AJAXSource ajaxSource)
        {
            if (string.IsNullOrWhiteSpace(ajaxSource.source))
            {
                return("");
            }

            if (!string.IsNullOrEmpty(ajaxSource.customFunction))
            {
                return(string.Format("function(){{ {0} }}", ajaxSource.customFunction).Replace("[@DataSource]", ajaxSource.source));
            }

            var scriptBuilder = new StringBuilder();

            scriptBuilder.Append(@"chart");
            scriptBuilder.Append(ajaxSource.clientId);
            scriptBuilder.Append(@"_JSONUpdate = function() {jQuery.get('");
            scriptBuilder.Append(ajaxSource.source);
            scriptBuilder.AppendLine(@"', function (data) {var allSeries = jQuery.parseJSON(data);");

            if (ajaxSource.clearAll)
            {
                scriptBuilder.Append(@"for (var i = 0; i < chart");
                scriptBuilder.Append(ajaxSource.clientId);
                scriptBuilder.Append(".series.length; i++) {chart");
                scriptBuilder.Append(ajaxSource.clientId);
                scriptBuilder.AppendLine(".series[i].remove(true);}");
            }

            scriptBuilder.AppendLine(@"jQuery.each(allSeries, function (recordNo, currentSerie) {");

            scriptBuilder.Append("if(typeof(chart");
            scriptBuilder.Append(ajaxSource.clientId);
            scriptBuilder.AppendLine(".series[0]) == 'undefined')");

            scriptBuilder.Append("chart");
            scriptBuilder.Append(ajaxSource.clientId);
            scriptBuilder.AppendLine(".addSeries(currentSerie);");
            scriptBuilder.AppendLine("else");
            scriptBuilder.AppendLine("{");
            scriptBuilder.AppendLine("var serieToUpdate = new Object();");
            scriptBuilder.AppendLine("if(typeof(currentSerie.id) != 'undefined')");
            scriptBuilder.Append("serieToUpdate = chart");
            scriptBuilder.Append(ajaxSource.clientId);
            scriptBuilder.AppendLine(".get(currentSerie.id);");
            scriptBuilder.AppendLine("else");
            scriptBuilder.Append("serieToUpdate = chart");
            scriptBuilder.Append(ajaxSource.clientId);
            scriptBuilder.Append(".series[0];");
            scriptBuilder.AppendLine("if(typeof(serieToUpdate) != 'undefined')");
            scriptBuilder.AppendLine("{");
            scriptBuilder.AppendLine("jQuery.each(currentSerie.data, function (pointNo, point) {");
            scriptBuilder.Append("serieToUpdate.addPoint(point, false, ");

            scriptBuilder.AppendLine(ajaxSource.shift.ToString(CultureInfo.InvariantCulture).ToLower());
            scriptBuilder.Append(@");});}}});chart");
            scriptBuilder.Append(ajaxSource.clientId);
            scriptBuilder.AppendLine(".redraw();});};");
            scriptBuilder.AppendLine((ajaxSource.onlyOnce) ? "setTimeout(function() {" : "setInterval(function() {");
            scriptBuilder.Append(@"chart");
            scriptBuilder.Append(ajaxSource.clientId);
            scriptBuilder.AppendLine("_JSONUpdate();}, ");
            scriptBuilder.AppendLine(ajaxSource.delay.ToString(CultureInfo.InvariantCulture));
            scriptBuilder.Append(");");

            return(scriptBuilder.ToString());
        }