Added the plot function as a chainable property. #953

Merged
merged 3 commits into from Feb 9, 2013
View
8 API.md
@@ -15,6 +15,14 @@ don't use for anything else. Make sure you check any fancy styling
you apply to the div, e.g. background images have been reported to be a
problem on IE 7.
+The plot function can also be used as a jQuery chainable property. This form
+naturally can't return the plot object directly, but you can still access it
+via the 'plot' data key, like this:
+
+```js
+var plot = $("#placeholder").plot(data, options).data("plot");
+```
+
The format of the data is documented below, as is the available
options. The plot object returned from the call has some methods you
can call. These are documented separately below.
View
@@ -104,6 +104,9 @@ The base and overlay canvas are now using the CSS classes "flot-base" and
- Added a new option called 'zero' to bars and filled lines series, to control
whether the y-axis minimum is scaled to fit the data or set to zero.
+ - The plot function is now also a jQuery chainable property.
+ (patch by David Schnur, issues #734 and #816, pull request #953)
+
### Bug fixes ###
- Fix problem with null values and pie plugin. (patch by gcruxifix,
View
@@ -2681,6 +2681,8 @@ Licensed under the MIT license.
}
}
+ // Add the plot function to the top level of the jQuery object
+
$.plot = function(placeholder, data, options) {
//var t0 = new Date();
var plot = new Plot($(placeholder), data, options, $.plot.plugins);
@@ -2692,6 +2694,14 @@ Licensed under the MIT license.
$.plot.plugins = [];
+ // Also add the plot function as a chainable property
+
+ $.fn.plot = function(data, options) {
+ return this.each(function() {
+ $.plot(this, data, options);
+ });
+ }
+
// round to nearby lower multiple of base
function floorInBase(n, base) {
return base * Math.floor(n / base);