Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge pull request #963 from rlinehan/selection_plugin_options

Added selection plugin options.
  • Loading branch information...
commit fe27116b8a31c5326b774a7e33f52bc37328f1f5 2 parents b8b3b9c + 458656f
@dnschnur dnschnur authored
Showing with 22 additions and 6 deletions.
  1. +22 −6 jquery.flot.selection.js
View
28 jquery.flot.selection.js 100644 → 100755
@@ -7,14 +7,27 @@ The plugin supports these options:
selection: {
mode: null or "x" or "y" or "xy",
- color: color
+ color: color,
+ shape: "round" or "miter" or "bevel",
+ minSize: number of pixels
}
Selection support is enabled by setting the mode to one of "x", "y" or "xy".
In "x" mode, the user will only be able to specify the x range, similarly for
"y" mode. For "xy", the selection becomes a rectangle where both ranges can be
specified. "color" is color of the selection (if you need to change the color
-later on, you can get to it with plot.getOptions().selection.color).
+later on, you can get to it with plot.getOptions().selection.color). "shape"
+is the shape of the corners of the selection.
+
+"minSize" is the minimum size a selection can be in pixels. This value can
+be customized to determine the smallest size a selection can be and still
+have the selection rectangle be displayed. When customizing this value, the
+fact that it refers to pixels, not axis units must be taken into account.
+Thus, for example, if there is a bar graph in time mode with BarWidth set to 1
+minute, setting "minSize" to 1 will not make the minimum selection size 1
+minute, but rather 1 pixel. Note also that setting "minSize" to 0 will prevent
+"plotunselected" events from being fired when the user clicks the mouse without
+dragging.
When selection support is enabled, a "plotselected" event will be emitted on
the DOM element you passed into the plot function. The event handler gets a
@@ -32,7 +45,8 @@ parameters as the "plotselected" event, in case you want to know what's
happening while it's happening,
A "plotunselected" event with no arguments is emitted when the user clicks the
-mouse to remove the selection.
+mouse to remove the selection. As stated above, setting "minSize" to 0 will
+destroy this behavior.
The plugin allso adds the following methods to the plot object:
@@ -274,7 +288,7 @@ The plugin allso adds the following methods to the plot object:
}
function selectionIsSane() {
- var minSize = 5;
+ var minSize = plot.getOptions().selection.minSize;
return Math.abs(selection.second.x - selection.first.x) >= minSize &&
Math.abs(selection.second.y - selection.first.y) >= minSize;
}
@@ -305,7 +319,7 @@ The plugin allso adds the following methods to the plot object:
ctx.strokeStyle = c.scale('a', 0.8).toString();
ctx.lineWidth = 1;
- ctx.lineJoin = "round";
+ ctx.lineJoin = o.selection.shape;
ctx.fillStyle = c.scale('a', 0.4).toString();
var x = Math.min(selection.first.x, selection.second.x) + 0.5,
@@ -335,7 +349,9 @@ The plugin allso adds the following methods to the plot object:
options: {
selection: {
mode: null, // one of null, "x", "y" or "xy"
- color: "#e8cfac"
+ color: "#e8cfac",
+ shape: "round", // one of "round", "miter", or "bevel"
+ minSize: 5 // minimum number of pixels
}
},
name: 'selection',

0 comments on commit fe27116

Please sign in to comment.
Something went wrong with that request. Please try again.