From e584f807f921e41f72bd5882fecfbfdb97c61cd2 Mon Sep 17 00:00:00 2001 From: archmoj Date: Fri, 19 Jul 2019 15:11:04 -0400 Subject: [PATCH] apply Lib.mergeArrayCastPositive in places to ensure having positive sizes --- src/lib/index.js | 2 +- src/traces/funnel/arrays_to_calcdata.js | 14 +++++++------- src/traces/scatter/arrays_to_calcdata.js | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/lib/index.js b/src/lib/index.js index da1e75093ba..6fc8f8deceb 100644 --- a/src/lib/index.js +++ b/src/lib/index.js @@ -474,7 +474,7 @@ lib.mergeArray = function(traceAttr, cd, cdAttr, fn) { lib.mergeArrayCastPositive = function(traceAttr, cd, cdAttr) { return lib.mergeArray(traceAttr, cd, cdAttr, function(v) { var w = +v; - return w > 0 ? w : 0; + return isNaN(w) ? NaN : w > 0 ? w : 0; }); }; diff --git a/src/traces/funnel/arrays_to_calcdata.js b/src/traces/funnel/arrays_to_calcdata.js index a722f3dec04..ad40a4ad075 100644 --- a/src/traces/funnel/arrays_to_calcdata.js +++ b/src/traces/funnel/arrays_to_calcdata.js @@ -8,24 +8,24 @@ 'use strict'; -var mergeArray = require('../../lib').mergeArray; +var Lib = require('../../lib'); // arrayOk attributes, merge them into calcdata array module.exports = function arraysToCalcdata(cd, trace) { for(var i = 0; i < cd.length; i++) cd[i].i = i; - mergeArray(trace.text, cd, 'tx'); - mergeArray(trace.hovertext, cd, 'htx'); + Lib.mergeArray(trace.text, cd, 'tx'); + Lib.mergeArray(trace.hovertext, cd, 'htx'); var marker = trace.marker; if(marker) { - mergeArray(marker.opacity, cd, 'mo'); - mergeArray(marker.color, cd, 'mc'); + Lib.mergeArray(marker.opacity, cd, 'mo'); + Lib.mergeArray(marker.color, cd, 'mc'); var markerLine = marker.line; if(markerLine) { - mergeArray(markerLine.color, cd, 'mlc'); - mergeArray(markerLine.width, cd, 'mlw'); + Lib.mergeArray(markerLine.color, cd, 'mlc'); + Lib.mergeArrayCastPositive(markerLine.width, cd, 'mlw'); } } }; diff --git a/src/traces/scatter/arrays_to_calcdata.js b/src/traces/scatter/arrays_to_calcdata.js index ee83c3aac31..8842602402a 100644 --- a/src/traces/scatter/arrays_to_calcdata.js +++ b/src/traces/scatter/arrays_to_calcdata.js @@ -22,22 +22,22 @@ module.exports = function arraysToCalcdata(cd, trace) { Lib.mergeArray(trace.customdata, cd, 'data'); Lib.mergeArray(trace.textposition, cd, 'tp'); if(trace.textfont) { - Lib.mergeArray(trace.textfont.size, cd, 'ts'); + Lib.mergeArrayCastPositive(trace.textfont.size, cd, 'ts'); Lib.mergeArray(trace.textfont.color, cd, 'tc'); Lib.mergeArray(trace.textfont.family, cd, 'tf'); } var marker = trace.marker; if(marker) { - Lib.mergeArray(marker.size, cd, 'ms'); - Lib.mergeArray(marker.opacity, cd, 'mo'); + Lib.mergeArrayCastPositive(marker.size, cd, 'ms'); + Lib.mergeArrayCastPositive(marker.opacity, cd, 'mo'); Lib.mergeArray(marker.symbol, cd, 'mx'); Lib.mergeArray(marker.color, cd, 'mc'); var markerLine = marker.line; if(marker.line) { Lib.mergeArray(markerLine.color, cd, 'mlc'); - Lib.mergeArray(markerLine.width, cd, 'mlw'); + Lib.mergeArrayCastPositive(markerLine.width, cd, 'mlw'); } var markerGradient = marker.gradient;