Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6f0b512

Browse files
committed
factoring out and uppercasing class names - sankey
1 parent a5d95f6 commit 6f0b512

File tree

4 files changed

+45
-31
lines changed

4 files changed

+45
-31
lines changed

src/traces/sankey/constants.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,18 @@ module.exports = {
1616
forceIterations: 5,
1717
forceTicksPerFrame: 10,
1818
duration: 500,
19-
ease: 'cubic-in-out'
19+
ease: 'cubic-in-out',
20+
cn: {
21+
sankey: 'sankey',
22+
sankeyLinks: 'sankey-links',
23+
sankeyLink: 'sankey-link',
24+
sankeyNodeSet: 'sankey-node-set',
25+
sankeyNode: 'sankey-node',
26+
nodeRect: 'node-rect',
27+
nodeCapture: 'node-capture',
28+
nodeCentered: 'node-entered',
29+
nodeLabelGuide: 'node-label-guide',
30+
nodeLabel: 'node-label',
31+
nodeLabelTextPath: 'node-label-text-path'
32+
}
2033
};

src/traces/sankey/plot.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ var render = require('./render');
1313
var Fx = require('../../components/fx');
1414
var Color = require('../../components/color');
1515
var Lib = require('../../lib');
16+
var cn = require('./constants').cn;
1617

1718
function renderableValuePresent(d) {return d !== '';}
1819

@@ -50,7 +51,7 @@ function relatedNodes(l) {
5051
function nodeHoveredStyle(sankeyNode, d, sankey) {
5152
if(d && sankey) {
5253
ownTrace(sankey, d)
53-
.selectAll('.sankeyLink')
54+
.selectAll('.' + cn.sankeyLink)
5455
.filter(relatedLinks(d))
5556
.call(linkHoveredStyle.bind(0, d, sankey, false));
5657
}
@@ -59,7 +60,7 @@ function nodeHoveredStyle(sankeyNode, d, sankey) {
5960
function nodeNonHoveredStyle(sankeyNode, d, sankey) {
6061
if(d && sankey) {
6162
ownTrace(sankey, d)
62-
.selectAll('.sankeyLink')
63+
.selectAll('.' + cn.sankeyLink)
6364
.filter(relatedLinks(d))
6465
.call(linkNonHoveredStyle.bind(0, d, sankey, false));
6566
}
@@ -73,14 +74,14 @@ function linkHoveredStyle(d, sankey, visitNodes, sankeyLink) {
7374

7475
if(label) {
7576
ownTrace(sankey, d)
76-
.selectAll('.sankeyLink')
77+
.selectAll('.' + cn.sankeyLink)
7778
.filter(function(l) {return l.link.label === label;})
7879
.style('fill-opacity', 0.4);
7980
}
8081

8182
if(visitNodes) {
8283
ownTrace(sankey, d)
83-
.selectAll('.sankeyNode')
84+
.selectAll('.' + cn.sankeyNode)
8485
.filter(relatedNodes(d))
8586
.call(nodeHoveredStyle);
8687
}
@@ -94,14 +95,14 @@ function linkNonHoveredStyle(d, sankey, visitNodes, sankeyLink) {
9495

9596
if(label) {
9697
ownTrace(sankey, d)
97-
.selectAll('.sankeyLink')
98+
.selectAll('.' + cn.sankeyLink)
9899
.filter(function(l) {return l.link.label === label;})
99100
.style('fill-opacity', function(d) {return d.tinyColorAlpha;});
100101
}
101102

102103
if(visitNodes) {
103104
ownTrace(sankey, d)
104-
.selectAll('.sankeyNode')
105+
.selectAll(cn.sankeyNode)
105106
.filter(relatedNodes(d))
106107
.call(nodeNonHoveredStyle);
107108
}
@@ -192,7 +193,7 @@ module.exports = function plot(gd, calcData) {
192193

193194
var nodeHoverFollow = function(element, d) {
194195
var trace = d.node.trace;
195-
var nodeRect = d3.select(element).select('.nodeRect');
196+
var nodeRect = d3.select(element).select('.' + cn.nodeRect);
196197
var rootBBox = gd._fullLayout._paperdiv.node().getBoundingClientRect();
197198
var boundingBox = nodeRect.node().getBoundingClientRect();
198199
var hoverCenterX0 = boundingBox.left - 2 - rootBBox.left;

src/traces/sankey/render.js

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ function snappingForce(sankeyNode, forceKey, nodes, d) {
414414

415415
// scene graph
416416
module.exports = function(svg, styledData, layout, callbacks) {
417-
var sankey = svg.selectAll('.sankey')
417+
var sankey = svg.selectAll('.' + c.cn.sankey)
418418
.data(styledData
419419
.filter(function(d) {return unwrap(d).trace.visible;})
420420
.map(sankeyModel.bind(null, layout)),
@@ -425,7 +425,7 @@ module.exports = function(svg, styledData, layout, callbacks) {
425425

426426
sankey.enter()
427427
.append('g')
428-
.classed('sankey', true)
428+
.classed(c.cn.sankey, true)
429429
.style('box-sizing', 'content-box')
430430
.style('position', 'absolute')
431431
.style('left', 0)
@@ -438,15 +438,15 @@ module.exports = function(svg, styledData, layout, callbacks) {
438438
.ease(c.ease).duration(c.duration)
439439
.attr('transform', sankeyTransform);
440440

441-
var sankeyLinks = sankey.selectAll('.sankeyLinks')
441+
var sankeyLinks = sankey.selectAll('.' + c.cn.sankeyLinks)
442442
.data(repeat, keyFun);
443443

444444
sankeyLinks.enter()
445445
.append('g')
446-
.classed('sankeyLinks', true)
446+
.classed(c.cn.sankeyLinks, true)
447447
.style('fill', 'none');
448448

449-
var sankeyLink = sankeyLinks.selectAll('.sankeyLink')
449+
var sankeyLink = sankeyLinks.selectAll('.' + c.cn.sankeyLink)
450450
.data(function(d) {
451451
var uniqueKeys = {};
452452
return d.sankey.links()
@@ -456,7 +456,7 @@ module.exports = function(svg, styledData, layout, callbacks) {
456456

457457
sankeyLink.enter()
458458
.append('path')
459-
.classed('sankeyLink', true)
459+
.classed(c.cn.sankeyLink, true)
460460
.attr('d', linkPath)
461461
.call(attachPointerEvents, sankey, callbacks.linkEvents);
462462

@@ -480,12 +480,12 @@ module.exports = function(svg, styledData, layout, callbacks) {
480480
.style('opacity', 0)
481481
.remove();
482482

483-
var sankeyNodeSet = sankey.selectAll('.sankeyNodeSet')
483+
var sankeyNodeSet = sankey.selectAll('.' + c.cn.sankeyNodeSet)
484484
.data(repeat, keyFun);
485485

486486
sankeyNodeSet.enter()
487487
.append('g')
488-
.classed('sankeyNodeSet', true);
488+
.classed(c.cn.sankeyNodeSet, true);
489489

490490
sankeyNodeSet
491491
.style('cursor', function(d) {
@@ -496,7 +496,7 @@ module.exports = function(svg, styledData, layout, callbacks) {
496496
}
497497
});
498498

499-
var sankeyNode = sankeyNodeSet.selectAll('.sankeyNode')
499+
var sankeyNode = sankeyNodeSet.selectAll('.' + c.cn.sankeyNode)
500500
.data(function(d) {
501501
var nodes = d.sankey.nodes();
502502
var uniqueKeys = {};
@@ -508,7 +508,7 @@ module.exports = function(svg, styledData, layout, callbacks) {
508508

509509
sankeyNode.enter()
510510
.append('g')
511-
.classed('sankeyNode', true)
511+
.classed(c.cn.sankeyNode, true)
512512
.call(updateNodePositions)
513513
.call(attachPointerEvents, sankey, callbacks.nodeEvents);
514514

@@ -524,12 +524,12 @@ module.exports = function(svg, styledData, layout, callbacks) {
524524
.style('opacity', 0)
525525
.remove();
526526

527-
var nodeRect = sankeyNode.selectAll('.nodeRect')
527+
var nodeRect = sankeyNode.selectAll('.' + c.cn.nodeRect)
528528
.data(repeat);
529529

530530
nodeRect.enter()
531531
.append('rect')
532-
.classed('nodeRect', true)
532+
.classed(c.cn.nodeRect, true)
533533
.call(sizeNode);
534534

535535
nodeRect
@@ -543,12 +543,12 @@ module.exports = function(svg, styledData, layout, callbacks) {
543543
.ease(c.ease).duration(c.duration)
544544
.call(sizeNode);
545545

546-
var nodeCapture = sankeyNode.selectAll('.nodeCapture')
546+
var nodeCapture = sankeyNode.selectAll('.' + c.cn.nodeCapture)
547547
.data(repeat);
548548

549549
nodeCapture.enter()
550550
.append('rect')
551-
.classed('nodeCapture', true)
551+
.classed(c.cn.nodeCapture, true)
552552
.style('fill-opacity', 0);
553553

554554
nodeCapture
@@ -557,25 +557,25 @@ module.exports = function(svg, styledData, layout, callbacks) {
557557
.attr('width', function(d) {return d.zoneWidth;})
558558
.attr('height', function(d) {return d.zoneHeight;});
559559

560-
var nodeCentered = sankeyNode.selectAll('.nodeCentered')
560+
var nodeCentered = sankeyNode.selectAll('.' + c.cn.nodeCentered)
561561
.data(repeat);
562562

563563
nodeCentered.enter()
564564
.append('g')
565-
.classed('nodeCentered', true)
565+
.classed(c.cn.nodeCentered, true)
566566
.attr('transform', nodeCentering);
567567

568568
nodeCentered
569569
.transition()
570570
.ease(c.ease).duration(c.duration)
571571
.attr('transform', nodeCentering);
572572

573-
var nodeLabelGuide = nodeCentered.selectAll('.nodeLabelGuide')
573+
var nodeLabelGuide = nodeCentered.selectAll('.' + c.cn.nodeLabelGuide)
574574
.data(repeat);
575575

576576
nodeLabelGuide.enter()
577577
.append('path')
578-
.classed('nodeLabelGuide', true)
578+
.classed(c.cn.nodeLabelGuide, true)
579579
.attr('id', function(d) {return d.uniqueNodeLabelPathId;})
580580
.attr('d', textGuidePath)
581581
.attr('transform', sankeyInverseTransform);
@@ -586,12 +586,12 @@ module.exports = function(svg, styledData, layout, callbacks) {
586586
.attr('d', textGuidePath)
587587
.attr('transform', sankeyInverseTransform);
588588

589-
var nodeLabel = nodeCentered.selectAll('.nodeLabel')
589+
var nodeLabel = nodeCentered.selectAll('.' + c.cn.nodeLabel)
590590
.data(repeat);
591591

592592
nodeLabel.enter()
593593
.append('text')
594-
.classed('nodeLabel', true)
594+
.classed(c.cn.nodeLabel, true)
595595
.attr('transform', textFlip)
596596
.style('user-select', 'none')
597597
.style('cursor', 'default')
@@ -608,12 +608,12 @@ module.exports = function(svg, styledData, layout, callbacks) {
608608
.ease(c.ease).duration(c.duration)
609609
.attr('transform', textFlip);
610610

611-
var nodeLabelTextPath = nodeLabel.selectAll('.nodeLabelTextPath')
611+
var nodeLabelTextPath = nodeLabel.selectAll('.' + c.cn.nodeLabelTextPath)
612612
.data(repeat);
613613

614614
nodeLabelTextPath.enter()
615615
.append('textPath')
616-
.classed('nodeLabelTextPath', true)
616+
.classed(c.cn.nodeLabelTextPath, true)
617617
.attr('alignment-baseline', 'middle')
618618
.attr('xlink:href', function(d) {return '#' + d.uniqueNodeLabelPathId;})
619619
.attr('startOffset', nodeTextOffset)

test/jasmine/tests/sankey_test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ describe('sankey tests', function() {
365365
}];
366366
Plotly.plot(gd, minimock)
367367
.then(function() {
368-
expect(d3.selectAll('.sankey .nodeRect')[0].reduce(function(prevMin, rect) {
368+
expect(d3.selectAll('.sankey .node-rect')[0].reduce(function(prevMin, rect) {
369369
return Math.min(prevMin, d3.select(rect).attr('height'));
370370
}, Infinity)).toEqual(0.5);
371371
done();

0 commit comments

Comments
 (0)