Commit fccc8a6e authored by goorpy's avatar goorpy

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.
parent 24f70fc6
...@@ -641,6 +641,8 @@ Licensed under the MIT license. ...@@ -641,6 +641,8 @@ Licensed under the MIT license.
function parseOptions(opts) { function parseOptions(opts) {
$.extend(true, options, opts); $.extend(true, options, opts);
if (opts.colors) options.colors = opts.colors;
if (options.xaxis.color == null) if (options.xaxis.color == null)
options.xaxis.color = $.color.parse(options.grid.color).scale('a', 0.22).toString(); options.xaxis.color = $.color.parse(options.grid.color).scale('a', 0.22).toString();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment