MCPcopy Index your code
hub / github.com/plotly/plotly.js / styleBarLike

Function styleBarLike

src/components/legend/style.js:333–408  ·  view source on GitHub ↗
(d, lThis, desiredType)

Source from the content-addressed store, hash-verified

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',

Callers 3

styleWaterfallsFunction · 0.85
styleBarsFunction · 0.85
styleFunnelsFunction · 0.85

Calls 3

boundLineWidthFunction · 0.85
extractOptsFunction · 0.85
dimAttrFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…