@@ -1782,6 +1782,62 @@ describe('legend interaction', function() {
17821782 } ) ;
17831783 } ) ;
17841784
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+
17851841 describe ( 'legendgroup visibility' , function ( ) {
17861842 beforeEach ( function ( done ) {
17871843 Plotly . newPlot ( gd , [ {
0 commit comments