@@ -1782,6 +1782,62 @@ describe('legend interaction', function() {
1782
1782
} ) ;
1783
1783
} ) ;
1784
1784
1785
+ describe ( 'traces in different legends' , function ( ) {
1786
+ beforeEach ( function ( done ) {
1787
+ Plotly . newPlot ( gd , [
1788
+ { x : [ 1 , 2 ] , y : [ 0 , 1 ] , visible : false } ,
1789
+ { x : [ 1 , 2 ] , y : [ 1 , 2 ] , visible : 'legendonly' } ,
1790
+ { x : [ 1 , 2 ] , y : [ 2 , 3 ] } ,
1791
+ { x : [ 1 , 2 ] , y : [ 0 , 1 ] , yaxis : 'y2' , legend : 'legend2' , visible : false } ,
1792
+ { x : [ 1 , 2 ] , y : [ 1 , 2 ] , yaxis : 'y2' , legend : 'legend2' , visible : 'legendonly' } ,
1793
+ { x : [ 1 , 2 ] , y : [ 2 , 3 ] , yaxis : 'y2' , legend : 'legend2' }
1794
+ ] , {
1795
+ yaxis : {
1796
+ domain : [ 0.55 , 1 ]
1797
+ } ,
1798
+ yaxis2 : {
1799
+ anchor : 'x' ,
1800
+ domain : [ 0 , 0.45 ]
1801
+ } ,
1802
+ legend2 : {
1803
+ y : 0.5
1804
+ }
1805
+ } ) . then ( done ) ;
1806
+ } ) ;
1807
+
1808
+ it ( 'clicking once toggles legendonly -> true' , function ( done ) {
1809
+ Promise . resolve ( )
1810
+ . then ( assertVisible ( [ false , 'legendonly' , true , false , 'legendonly' , true ] ) )
1811
+ . then ( click ( 0 ) )
1812
+ . then ( assertVisible ( [ false , true , true , false , 'legendonly' , true ] ) )
1813
+ . then ( done , done . fail ) ;
1814
+ } ) ;
1815
+
1816
+ it ( 'clicking once toggles true -> legendonly' , function ( done ) {
1817
+ Promise . resolve ( )
1818
+ . then ( assertVisible ( [ false , 'legendonly' , true , false , 'legendonly' , true ] ) )
1819
+ . then ( click ( 1 ) )
1820
+ . then ( assertVisible ( [ false , 'legendonly' , 'legendonly' , false , 'legendonly' , true ] ) )
1821
+ . then ( done , done . fail ) ;
1822
+ } ) ;
1823
+
1824
+ it ( 'double-clicking isolates a visible trace ' , function ( done ) {
1825
+ Promise . resolve ( )
1826
+ . then ( click ( 0 ) )
1827
+ . then ( assertVisible ( [ false , true , true , false , 'legendonly' , true ] ) )
1828
+ . then ( click ( 0 , 2 ) )
1829
+ . then ( assertVisible ( [ false , true , 'legendonly' , false , 'legendonly' , true ] ) )
1830
+ . then ( done , done . fail ) ;
1831
+ } ) ;
1832
+
1833
+ it ( 'double-clicking an isolated trace shows all non-hidden traces' , function ( done ) {
1834
+ Promise . resolve ( )
1835
+ . then ( click ( 0 , 2 ) )
1836
+ . then ( assertVisible ( [ false , true , true , false , 'legendonly' , true ] ) )
1837
+ . then ( done , done . fail ) ;
1838
+ } ) ;
1839
+ } ) ;
1840
+
1785
1841
describe ( 'legendgroup visibility' , function ( ) {
1786
1842
beforeEach ( function ( done ) {
1787
1843
Plotly . newPlot ( gd , [ {
0 commit comments