@@ -2205,6 +2205,48 @@ describe('Test select box and lasso per trace:', function() {
2205
2205
} ) ;
2206
2206
} ) ;
2207
2207
2208
+ [ false , true ] . forEach ( function ( hasCssTransform ) {
2209
+ it ( 'should work on scattersmith traces, hasCssTransform: ' + hasCssTransform , function ( done ) {
2210
+ var assertPoints = makeAssertPoints ( [ 're' , 'im' ] ) ;
2211
+ var assertSelectedPoints = makeAssertSelectedPoints ( ) ;
2212
+
2213
+ var fig = Lib . extendDeep ( { } , require ( '@mocks/zzz_smith_basic.json' ) ) ;
2214
+ fig . layout . width = 800 ;
2215
+ fig . layout . dragmode = 'select' ;
2216
+ addInvisible ( fig ) ;
2217
+
2218
+ Plotly . newPlot ( gd , fig )
2219
+ . then ( function ( ) {
2220
+ if ( hasCssTransform ) transformPlot ( gd , cssTransform ) ;
2221
+
2222
+ return _run ( hasCssTransform ,
2223
+ [ [ 150 , 150 ] , [ 350 , 250 ] ] ,
2224
+ function ( ) {
2225
+ assertPoints ( [ [ 3 , 3 ] , [ 4 , 4 ] , [ 5 , 5 ] , [ 10 , 10 ] , [ 10 , - 10 ] ] ) ;
2226
+ assertSelectedPoints ( { 0 : [ 5 , 6 , 7 , 8 , 11 ] } ) ;
2227
+ } ,
2228
+ [ 200 , 200 ] ,
2229
+ BOXEVENTS , 'scattersmith select'
2230
+ ) ;
2231
+ } )
2232
+ . then ( function ( ) {
2233
+ return Plotly . relayout ( gd , 'dragmode' , 'lasso' ) ;
2234
+ } )
2235
+ . then ( function ( ) {
2236
+ return _run ( hasCssTransform ,
2237
+ [ [ 150 , 150 ] , [ 350 , 150 ] , [ 350 , 250 ] , [ 150 , 250 ] , [ 150 , 150 ] ] ,
2238
+ function ( ) {
2239
+ assertPoints ( [ [ 3 , 3 ] , [ 4 , 4 ] , [ 5 , 5 ] , [ 10 , 10 ] , [ 10 , - 10 ] ] ) ;
2240
+ assertSelectedPoints ( { 0 : [ 5 , 6 , 7 , 8 , 11 ] } ) ;
2241
+ } ,
2242
+ [ 200 , 200 ] ,
2243
+ LASSOEVENTS , 'scattersmith lasso'
2244
+ ) ;
2245
+ } )
2246
+ . then ( done , done . fail ) ;
2247
+ } ) ;
2248
+ } ) ;
2249
+
2208
2250
[ false , true ] . forEach ( function ( hasCssTransform ) {
2209
2251
it ( 'should work on barpolar traces, hasCssTransform: ' + hasCssTransform , function ( done ) {
2210
2252
var assertPoints = makeAssertPoints ( [ 'r' , 'theta' ] ) ;
0 commit comments