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

Skip to content

Commit d8e27dd

Browse files
committed
Merge pull request plotly#497 from plotly/restructure-shapelayers
Shapes: nest shapelayers in .above and .below classed groups
2 parents d3974d3 + 54b4624 commit d8e27dd

File tree

3 files changed

+17
-13
lines changed

3 files changed

+17
-13
lines changed

src/components/shapes/index.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -125,17 +125,17 @@ shapes.add = function(gd) {
125125
// if opt is blank, val can be 'add' or a full options object to add a new
126126
// annotation at that point in the array, or 'remove' to delete this one
127127
shapes.draw = function(gd, index, opt, value) {
128-
if(!isNumeric(index) || index===-1) {
128+
if(!isNumeric(index) || index === -1) {
129129
// no index provided - we're operating on ALL shapes
130130
if(!index && Array.isArray(value)) {
131131
replaceAllShapes(gd, value);
132132
return;
133133
}
134-
else if(value==='remove') {
134+
else if(value === 'remove') {
135135
deleteAllShapes(gd);
136136
return;
137137
}
138-
else if(opt && value!=='add') {
138+
else if(opt && value !== 'add') {
139139
updateAllShapes(gd, opt, value);
140140
return;
141141
}
@@ -147,11 +147,11 @@ shapes.draw = function(gd, index, opt, value) {
147147
}
148148

149149
if(!opt && value) {
150-
if(value==='remove') {
150+
if(value === 'remove') {
151151
deleteShape(gd, index);
152152
return;
153153
}
154-
else if(value==='add' || Lib.isPlainObject(value)) {
154+
else if(value === 'add' || Lib.isPlainObject(value)) {
155155
insertShape(gd, index, value);
156156
}
157157
}

src/plot_api/plot_api.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2642,8 +2642,10 @@ function makePlotFramework(gd) {
26422642

26432643
// lower shape layer
26442644
// (only for shapes to be drawn below the whole plot)
2645-
fullLayout._shapeLowerLayer = fullLayout._paper.append('g')
2646-
.classed('shapelayer shapelayer-below', true);
2645+
var layerBelow = fullLayout._paper.append('g')
2646+
.classed('layer-below', true);
2647+
fullLayout._shapeLowerLayer = layerBelow.append('g')
2648+
.classed('shapelayer', true);
26472649

26482650
var subplots = Plotly.Axes.getSubplots(gd);
26492651
if(subplots.join('') !== Object.keys(gd._fullLayout._plots || {}).join('')) {
@@ -2661,8 +2663,10 @@ function makePlotFramework(gd) {
26612663

26622664
// upper shape layer
26632665
// (only for shapes to be drawn above the whole plot, including subplots)
2664-
fullLayout._shapeUpperLayer = fullLayout._paper.append('g')
2665-
.classed('shapelayer shapelayer-above', true);
2666+
var layerAbove = fullLayout._paper.append('g')
2667+
.classed('layer-above', true);
2668+
fullLayout._shapeUpperLayer = layerAbove.append('g')
2669+
.classed('shapelayer', true);
26662670

26672671
// single pie layer for the whole plot
26682672
fullLayout._pielayer = fullLayout._paper.append('g').classed('pielayer', true);

test/jasmine/tests/shapes_test.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ describe('Test shapes:', function() {
5050
}
5151

5252
function countShapeLowerLayerNodes() {
53-
return d3.selectAll('.shapelayer-below').size();
53+
return d3.selectAll('.layer-below > .shapelayer').size();
5454
}
5555

5656
function countShapeUpperLayerNodes() {
57-
return d3.selectAll('.shapelayer-above').size();
57+
return d3.selectAll('.layer-above > .shapelayer').size();
5858
}
5959

6060
function countShapeLayerNodesInSubplots() {
@@ -66,11 +66,11 @@ describe('Test shapes:', function() {
6666
}
6767

6868
function countShapePathsInLowerLayer() {
69-
return d3.selectAll('.shapelayer-below > path').size();
69+
return d3.selectAll('.layer-below > .shapelayer > path').size();
7070
}
7171

7272
function countShapePathsInUpperLayer() {
73-
return d3.selectAll('.shapelayer-above > path').size();
73+
return d3.selectAll('.layer-above > .shapelayer > path').size();
7474
}
7575

7676
function countShapePathsInSubplots() {

0 commit comments

Comments
 (0)