Commit Graph

696 Commits (df0875e549048013798d8f995eab3779c00caeca)
 

Author SHA1 Message Date
David Schnur df0875e549 Replace the stylesheet hack with inline styles.
The purpose of the stylesheet hack was to provide a default without
having to use inline styles on containers.  We can do this much more
neatly by instead just giving the inline styles to a parent container,
leaving users free to customize the children.
13 years ago
David Schnur 13c71fa03c Temporary patch for font-size parsing issue.
This partially addresses #991, but a more complete solution, or better
documentation, is still necessary.
13 years ago
David Schnur 5741f26756 Short-circuit when removing all highlights.
There's no need to continue in the function when all highlights are
being cleared.
13 years ago
David Schnur eee071c47d Fix highlight and unhighlight inconsistency.
The unhighlight method retrieved the point differently from highlight,
and incorrectly.  It now matches the behavior of highlight.
13 years ago
David Schnur aeddf4e385 Avoid an unnecessary intermediate variable. 13 years ago
David Schnur 4e9c0c0b53 Ensure that axis lines align with their ticks.
Add an extra pixel to ensure that the lines cleanly join both top and
bottom ticks.  Also apply the sub-pixel offset only in the necessary
direction, so the lines don't start a pixel off from where they should.
13 years ago
David Schnur 0594a49158 Update version number to 0.8.0-beta. 13 years ago
David Schnur 3cd7a51026 Axis and tick color options now make more sense.
The axis color now controls the color of the axis line, instead of its
ticks and labels, while the tickColor controls the tick color. This
makes a little more sense and provides the minor feature of being able
to change the axis line color separately from that of its ticks.  Pull
request #917 ought to be easier to merge now, too.
13 years ago
David Schnur 6e3cc91fd7 Fix up URLs in the plugins.jquery.com manifest. 13 years ago
David Schnur a0b05a4bab Switch to semantic versioning. 13 years ago
David Schnur c41b09b844 Only save references to old Canvas methods once.
Plugins are re-initialized with each re-plot (which may not be the right
thing to do, but that's how it works for now).  The previous approach of
saving references to the original Canvas functions therefore broke,
since the second time around we'd get a reference to our new function.
Instead we hold those references as globals within the plugin, and only
set them once.

This whole idea of replacing prototype functions is, now that I step
back and look at it, really awful.  This needs to be changed ASAP to
something less ridiculous.
13 years ago
David Schnur 53ce9ad123 Move canvas reuse up into the Canvas constructor.
This allows us to reuse the canvas elements without having to retain the
rest of the Canvas object, which should really be reset when the plot is
reconstructed.  It's also a little simpler, and the Canvas constructor
just feels like the right place for this code.
13 years ago
David Schnur 96c451a0c6 Added an example to demonstrate canvas text. 13 years ago
David Schnur a2a55f8280 Merge pull request #980 from martinqt/examples
Update examples link to flotcharts.org.
13 years ago
David Schnur ce8c3a06a4 Merge pull request #981 from brianpeiris/patch-1
Add information about assigned issues.
13 years ago
David Schnur e4a0aa72e9 Merge pull request #979 from martinqt/copyright
Update copyright year; resolves #927.
13 years ago
Brian Peiris 27538a8528 Add information about assigned issues 13 years ago
martinqt 0fc4c69662 Update examples link to flowcharts.org 13 years ago
martinqt 1e6c45bd95 Update js files 13 years ago
martinqt 269a192331 Update license 13 years ago
David Schnur 60ed6b2963 Merge pull request #935 from dnschnur/canvas-text
Moved canvas text support into a plugin.
13 years ago
David Schnur 39698d3846 Updated credits for canvas text support. 13 years ago
David Schnur 7a799baeb8 Updated NEWS for axis text changes. 13 years ago
David Schnur 0df6bc4a66 Add back legacy styles for tick label containers.
These styles are deprecated, but we'll continue to use them until the
release of version 1.0.0, for backwards-compatibility.
13 years ago
David Schnur 27c701112d Updated the API docs for axis text changes. 13 years ago
David Schnur bb0acac9c7 Give tick labels the 'tickLabel' class.
The tickLabel class is deprecated in favor of flot-tick-label, but we'll
continue to use it until the release of version 1.0.0, for
backwards-compatibility.
13 years ago
David Schnur e354071741 Minor cleanup of text-style color defaults. 13 years ago
David Schnur 82ab0c46b0 Updated credits for #638 and #963. 13 years ago
David Schnur fe27116b8a Merge pull request #963 from rlinehan/selection_plugin_options
Added selection plugin options.
13 years ago
David Schnur b8b3b9cb7f Updated the pie 'combined' example.
Tweaked the description to indicate that we no longer combine single
slices into 'other', and reduced the threshold from 10% to 5% to
encourage more slices to combine in the demo.
13 years ago
David Schnur 64b28faf0d Avoid combining a single pie slice into 'other'.
Resolves #638.
13 years ago
David Schnur ab6e4a95bd Skip NaN values in axis min/max calculations.
Resolves #489.
13 years ago
rlinehan 458656f3b9 Make minSize customizable
Previously, the minimum size a selection could be was set at five
pixels. This commit adds the ability to customize this value.
13 years ago
rlinehan 51485c0381 Add option to always show selection rectangle
Previously, if the selected area was very small, the selection
rectangle would not be displayed. This commit adds an "alwaysShow"
option so that, when true, the selection rectangle will always be
displayed. When the selected area is very small, the selection
rectangle will become a line.
13 years ago
rlinehan 0a3db84559 Add option for lineJoin shape
This commit adds an option for the shape of the corners of the
selection rectangle. By default the shape is set to "round" (the
previous setting for lineJoin). The other options are "bevel" and
"miter".
13 years ago
David Schnur a2dd0645aa Break text styles into their own cache tier.
Previously the cache was divided only by layer, with entries keyed on a
string built from the text and style.  Now the style has its own tier in
the cache, i.e. layers > styles > text > info.

This introduces some complexity, since the nested for loops are ugly,
but at the same time we avoid having to create the cache-key strings.
More importantly it solves the problem of uniqueness that exists when we
try to join strings that may contain arbitrary text.  It also allows a
further optimization in the canvas plugin, which can now set text style
and color just once per distinct style, instead of with every string.
13 years ago
David Schnur 77e50b175d Allow text to be divided between multiple layers.
This lets users 'namespace' text more naturally, i.e. placing x-axis
labels in a different container from y-axis labels, providing more
flexibility when it comes to styling and interactivity.

Internally the text cache now has a second tier: layers > text > info.
13 years ago
David Schnur 4203a66eba Add text to its actual layer before measuring it.
The getTextInfo method previously added new text to the top-level
container when measuring it.  Now it adds the text to the text layer,
just as it will be when rendered, so that parent-child CSS rules can
resolve correctly.

This also avoids having to safe a reference to the top-level container,
since it wasn't used anywhere else.
13 years ago
David Schnur e7de873524 Factor out text layer creation to its own method.
This sets the stage for allowing the use of multiple layers.
13 years ago
David Schnur a036aa962a Reverse cache key order to ensure uniqueness.
Also switch from dashes to pipes, and remove the angle for now, since we
don't currently support rotated text.
13 years ago
David Schnur a9a31644c7 Replace drawText with add and remove methods.
Every cache element now contains the actual text element instead of just
its HTML, plus a flag indicating whether it is visible.  The addText and
removeText methods control the state of this flag, and the render method
uses it to manage elements within the text container.  So where we
previously used drawText to actually render text, now we add each string
once, then let the render method take care of drawing them as necessary.

This dramatically improves performance by eliminating the need to clear
and re-populate HTML text on every drawing cycle.  Since the elements
are now static between add/remove calls, this also allows users to add
interactivity, as they could in 0.7.  Finally, it eliminates the need
for a separate 'hot' cache.

I also removed the unnecessary 'dimensions' object; it's easier and
faster to store the width and height at the top level of the info
object.
13 years ago
David Schnur 42286155be Updated credits for #964 navigate event.drag fix. 13 years ago
David Schnur 1774536af6 Fixed inline event.drag's use of $.event.handle.
This resolves issue #964.
13 years ago
David Schnur 5d7086968f Simplify creation of the cached element. 13 years ago
David Schnur 4b1ff972b1 Merge pull request #966 from bor/fix/PLUGINS_example
Fix example (syntax error and indenting).
13 years ago
Sergiy Borodych 68df2de308 fix example (syntax error and indenting) 13 years ago
David Schnur ff0e5c1b1a Move cached hasOwnProperty to the top level. 13 years ago
David Schnur 73baa2b9e3 Cache actual elements instead of buffering HTML.
This significantly improves performance, since we already create the
elements when measuring them, and that effort is now no longer wasted.
We must take care to detach, rather than remove, when clearing the text
layer, so we can add the elements back later if necessary.
13 years ago
David Schnur 2cd4f8b900 Merge pull request #961 from brianpeiris/master
Add basic Travis CI setup with test script that runs JSHint.
13 years ago
Brian Peiris c39053d845 Fix README. 13 years ago