diff --git a/src/components/drawing/index.js b/src/components/drawing/index.js index 981d6f2aa55..3451adf1877 100644 --- a/src/components/drawing/index.js +++ b/src/components/drawing/index.js @@ -359,6 +359,7 @@ drawing.gradient = function(sel, gd, gradientID, type, colorscale, prop) { * * @param {object} sel: d3 selection to apply this pattern to * You can use `selection.call(Drawing.pattern, ...)` + * @param {string} calledBy: option to know the caller component * @param {DOM element} gd: the graph div `sel` is part of * @param {string} patternID: a unique (within this plot) identifier * for this pattern, so that we don't create unnecessary definitions @@ -370,7 +371,9 @@ drawing.gradient = function(sel, gd, gradientID, type, colorscale, prop) { * @param {string} fgcolor: foreground color for this pattern * @param {number} fgopacity: foreground opacity for this pattern */ -drawing.pattern = function(sel, gd, patternID, shape, size, solidity, mcc, fillmode, bgcolor, fgcolor, fgopacity) { +drawing.pattern = function(sel, calledBy, gd, patternID, shape, size, solidity, mcc, fillmode, bgcolor, fgcolor, fgopacity) { + var isLegend = calledBy === 'legend'; + if(mcc) { if(fillmode === 'overlay') { bgcolor = mcc; @@ -504,8 +507,6 @@ drawing.pattern = function(sel, gd, patternID, shape, size, solidity, mcc, fillm break; } - var isLegend = patternID.substr(0, 6) === 'legend'; - var str = [ shape || 'noSh', bgcolor || 'noBg', @@ -737,7 +738,7 @@ drawing.singlePointStyle = function(d, sel, trace, fns, gd) { if(perPointPattern) patternID += '-' + d.i; drawing.pattern( - sel, gd, patternID, + sel, 'point', gd, patternID, patternShape, patternSize, patternSolidity, d.mcc, markerPattern.fillmode, patternBGColor, patternFGColor, patternFGOpacity diff --git a/src/components/legend/style.js b/src/components/legend/style.js index 06321a7759f..8b3899f50e3 100644 --- a/src/components/legend/style.js +++ b/src/components/legend/style.js @@ -365,7 +365,7 @@ module.exports = function style(s, gd, legend) { var patternSolidity = Drawing.getPatternAttr(markerPattern.solidity, 0, 0.3); var patternID = 'legend-' + trace.uid; p.call( - Drawing.pattern, gd, patternID, + Drawing.pattern, 'legend', gd, patternID, patternShape, patternSize, patternSolidity, mcc, markerPattern.fillmode, patternBGColor, patternFGColor, patternFGOpacity