(gd)
| 41 | }; |
| 42 | |
| 43 | function draw(gd) { |
| 44 | var fullLayout = gd._fullLayout; |
| 45 | |
| 46 | // Remove previous shapes before drawing new in shapes in fullLayout.shapes |
| 47 | fullLayout._shapeUpperLayer.selectAll('path').remove(); |
| 48 | fullLayout._shapeLowerLayer.selectAll('path').remove(); |
| 49 | fullLayout._shapeUpperLayer.selectAll('text').remove(); |
| 50 | fullLayout._shapeLowerLayer.selectAll('text').remove(); |
| 51 | |
| 52 | for (var k in fullLayout._plots) { |
| 53 | var shapelayer = fullLayout._plots[k].shapelayer; |
| 54 | if (shapelayer) { |
| 55 | shapelayer.selectAll('path').remove(); |
| 56 | shapelayer.selectAll('text').remove(); |
| 57 | } |
| 58 | } |
| 59 | |
| 60 | for (var i = 0; i < fullLayout.shapes.length; i++) { |
| 61 | if (fullLayout.shapes[i].visible === true) { |
| 62 | drawOne(gd, i); |
| 63 | } |
| 64 | } |
| 65 | |
| 66 | // may need to resurrect this if we put text (LaTeX) in shapes |
| 67 | // return Plots.previousPromises(gd); |
| 68 | } |
| 69 | |
| 70 | function shouldSkipEdits(gd) { |
| 71 | return !!gd._fullLayout._outlining; |
no test coverage detected
searching dependent graphs…