From fccc8a6e2109483ce9e7eb465794233aa0703631 Mon Sep 17 00:00:00 2001 From: goorpy Date: Wed, 24 Apr 2013 16:53:41 -0300 Subject: [PATCH] Override colors array after extend in parseOptions (Realted to flot issue #1031: https://github.com/flot/flot/issues/1031) Currently, if the user declares a custom color palette with less than 5 colors (say, n), $.extend(true, options, opts) only modifies the first n colors of the default palette and leaves the last 5-n in place. When the number of series is >n, colors are used that are not part of user-defined palette, contrary to description of colors array in API. This line overrides the extended colors array and replaces it with exactly the user-defined colors array, when present. Afterwards, the user color palette is respected by the auto tinting/shading system for when there are more series than colors. --- jquery.flot.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jquery.flot.js b/jquery.flot.js index eb73cd7..d739bdf 100644 --- a/jquery.flot.js +++ b/jquery.flot.js @@ -641,6 +641,8 @@ Licensed under the MIT license. function parseOptions(opts) { $.extend(true, options, opts); + + if (opts.colors) options.colors = opts.colors; if (options.xaxis.color == null) options.xaxis.color = $.color.parse(options.grid.color).scale('a', 0.22).toString();