(d, lThis, desiredType)
| 331 | } |
| 332 | |
| 333 | function styleBarLike(d, lThis, desiredType) { |
| 334 | var trace = d[0].trace; |
| 335 | var marker = trace.marker || {}; |
| 336 | var markerLine = marker.line || {}; |
| 337 | |
| 338 | // If bar has rounded corners, round corners of legend icon |
| 339 | var pathStr = marker.cornerradius |
| 340 | ? 'M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z' |
| 341 | : // Square with rounded corners |
| 342 | 'M6,6H-6V-6H6Z'; // Normal square |
| 343 | |
| 344 | var isVisible = !desiredType ? Registry.traceIs(trace, 'bar') : trace.visible && trace.type === desiredType; |
| 345 | |
| 346 | var barpath = d3 |
| 347 | .select(lThis) |
| 348 | .select('g.legendpoints') |
| 349 | .selectAll('path.legend' + desiredType) |
| 350 | .data(isVisible ? [d] : []); |
| 351 | barpath |
| 352 | .enter() |
| 353 | .append('path') |
| 354 | .classed('legend' + desiredType, true) |
| 355 | .attr('d', pathStr) |
| 356 | .attr('transform', centerTransform); |
| 357 | barpath.exit().remove(); |
| 358 | |
| 359 | barpath.each(function (d) { |
| 360 | var p = d3.select(this); |
| 361 | var d0 = d[0]; |
| 362 | var w = boundLineWidth(d0.mlw, marker.line, MAX_MARKER_LINE_WIDTH, CST_MARKER_LINE_WIDTH); |
| 363 | |
| 364 | p.style('stroke-width', w + 'px'); |
| 365 | |
| 366 | var mcc = d0.mcc; |
| 367 | if (!legend._inHover && 'mc' in d0) { |
| 368 | // not in unified hover but |
| 369 | // for legend use the color in the middle of scale |
| 370 | var cOpts = extractOpts(marker); |
| 371 | var mid = cOpts.mid; |
| 372 | if (mid === undefined) mid = (cOpts.max + cOpts.min) / 2; |
| 373 | mcc = Drawing.tryColorscale(marker, '')(mid); |
| 374 | } |
| 375 | var fillColor = mcc || d0.mc || marker.color; |
| 376 | |
| 377 | var markerPattern = marker.pattern; |
| 378 | var pAttr = Drawing.getPatternAttr; |
| 379 | var patternShape = markerPattern && (pAttr(markerPattern.shape, 0, '') || pAttr(markerPattern.path, 0, '')); |
| 380 | |
| 381 | if (patternShape) { |
| 382 | var patternBGColor = pAttr(markerPattern.bgcolor, 0, null); |
| 383 | var patternFGColor = pAttr(markerPattern.fgcolor, 0, null); |
| 384 | var patternFGOpacity = markerPattern.fgopacity; |
| 385 | var patternSize = dimAttr(markerPattern.size, 8, 10); |
| 386 | var patternSolidity = dimAttr(markerPattern.solidity, 0.5, 1); |
| 387 | var patternID = 'legend-' + trace.uid; |
| 388 | p.call( |
| 389 | Drawing.pattern, |
| 390 | 'legend', |
no test coverage detected
searching dependent graphs…