X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fdygraph.js;h=4f3ce77a93cbf1502f0b68fae7fd760042164d60;hb=b617ba25a4500750fd4ffdc7ac12758c7e1b3823;hp=aaf4b39d5eb9332cabd9432e1ed1d2d44cfdc425;hpb=3123ca57f71d145bb5bcc4a2f754d3dff3225346;p=dygraphs.git diff --git a/src/dygraph.js b/src/dygraph.js index aaf4b39..4f3ce77 100644 --- a/src/dygraph.js +++ b/src/dygraph.js @@ -64,36 +64,12 @@ var Dygraph = (function() { * whether the input data contains error ranges. For a complete list of * options, see http://dygraphs.com/options.html. */ -var Dygraph = function(div, data, opts, opt_fourth_param) { - // These have to go above the "Hack for IE" in __init__ since .ready() can be - // called as soon as the constructor returns. Once support for OldIE is - // dropped, this can go down with the rest of the initializers. - this.is_initial_draw_ = true; - this.readyFns_ = []; - - if (opt_fourth_param !== undefined) { - // Old versions of dygraphs took in the series labels as a constructor - // parameter. This doesn't make sense anymore, but it's easy to continue - // to support this usage. - console.warn("Using deprecated four-argument dygraph constructor"); - this.__old_init__(div, data, opts, opt_fourth_param); - } else { - this.__init__(div, data, opts); - } +var Dygraph = function(div, data, opts) { + this.__init__(div, data, opts); }; Dygraph.NAME = "Dygraph"; Dygraph.VERSION = "1.1.0"; -Dygraph.__repr__ = function() { - return "[" + Dygraph.NAME + " " + Dygraph.VERSION + "]"; -}; - -/** - * Returns information about the Dygraph class. - */ -Dygraph.toString = function() { - return Dygraph.__repr__(); -}; // Various default values Dygraph.DEFAULT_ROLL_PERIOD = 1; @@ -404,18 +380,6 @@ Dygraph.PLUGINS = [ // Used for initializing annotation CSS rules only once. Dygraph.addedAnnotationCSS = false; -Dygraph.prototype.__old_init__ = function(div, file, labels, attrs) { - // Labels is no longer a constructor parameter, since it's typically set - // directly from the data source. It also conains a name for the x-axis, - // which the previous constructor form did not. - if (labels !== null) { - var new_labels = ["Date"]; - for (var i = 0; i < labels.length; i++) new_labels.push(labels[i]); - Dygraph.update(attrs, { 'labels': new_labels }); - } - this.__init__(div, file, attrs); -}; - /** * Initializes the Dygraph. This creates a new DIV and constructs the PlotKit * and context <canvas> inside of it. See the constructor for details. @@ -426,6 +390,9 @@ Dygraph.prototype.__old_init__ = function(div, file, labels, attrs) { * @private */ Dygraph.prototype.__init__ = function(div, file, attrs) { + this.is_initial_draw_ = true; + this.readyFns_ = []; + // Support two-argument constructor if (attrs === null || attrs === undefined) { attrs = {}; } @@ -436,8 +403,7 @@ Dygraph.prototype.__init__ = function(div, file, attrs) { } if (!div) { - console.error("Constructing dygraph with a non-existent div!"); - return; + throw new Error('Constructing dygraph with a non-existent div!'); } // Copy the important bits into the object @@ -2705,7 +2671,7 @@ Dygraph.prototype.renderGraph_ = function(is_initial_draw) { this.canvas_.getContext('2d').clearRect(0, 0, this.width_, this.height_); if (this.getFunctionOption("drawCallback") !== null) { - this.getFunctionOption("drawCallback")(this, is_initial_draw); + this.getFunctionOption("drawCallback").call(this, this, is_initial_draw); } if (is_initial_draw) { this.readyFired_ = true; @@ -3281,9 +3247,9 @@ Dygraph.prototype.parseDataTable_ = function(data) { this.attrs_.axes.x.ticker = Dygraph.numericTicks; this.attrs_.axes.x.axisLabelFormatter = this.attrs_.axes.x.valueFormatter; } else { - console.error("only 'date', 'datetime' and 'number' types are supported " + - "for column 1 of DataTable input (Got '" + indepType + "')"); - return null; + throw new Error( + "only 'date', 'datetime' and 'number' types are supported " + + "for column 1 of DataTable input (Got '" + indepType + "')"); } // Array of the column indices which contain data (and not annotations). @@ -3305,8 +3271,9 @@ Dygraph.prototype.parseDataTable_ = function(data) { } hasAnnotations = true; } else { - console.error("Only 'number' is supported as a dependent type with Gviz." + - " 'string' is only supported if displayAnnotations is true"); + throw new Error( + "Only 'number' is supported as a dependent type with Gviz." + + " 'string' is only supported if displayAnnotations is true"); } } @@ -3780,6 +3747,10 @@ Dygraph.addAnnotationRule = function() { console.warn("Unable to add default annotation CSS rule; display may be off."); }; +if (typeof exports === "object" && typeof module !== "undefined") { + module.exports = Dygraph; +} + return Dygraph; })();