1
1
'use strict' ;
2
2
3
3
var polybool = require ( 'polybooljs' ) ;
4
- var pointInPolygon = require ( 'point-in-polygon/nested' ) ;
4
+ var pointInPolygon = require ( 'point-in-polygon/nested' ) ; // could we use contains lib/polygon instead?
5
5
6
6
var Registry = require ( '../../registry' ) ;
7
7
var dashStyle = require ( '../drawing' ) . dashStyle ;
@@ -32,7 +32,7 @@ var activateLastSelection = require('./draw').activateLastSelection;
32
32
33
33
var Lib = require ( '../../lib' ) ;
34
34
var ascending = Lib . sorterAsc ;
35
- var polygon = require ( '../../lib/polygon' ) ;
35
+ var libPolygon = require ( '../../lib/polygon' ) ;
36
36
var throttle = require ( '../../lib/throttle' ) ;
37
37
var getFromId = require ( '../../plots/cartesian/axis_ids' ) . getFromId ;
38
38
var clearGlCanvases = require ( '../../lib/clear_gl_canvases' ) ;
@@ -42,8 +42,8 @@ var redrawReglTraces = require('../../plot_api/subroutines').redrawReglTraces;
42
42
var constants = require ( './constants' ) ;
43
43
var MINSELECT = constants . MINSELECT ;
44
44
45
- var filteredPolygon = polygon . filter ;
46
- var polygonTester = polygon . tester ;
45
+ var filteredPolygon = libPolygon . filter ;
46
+ var polygonTester = libPolygon . tester ;
47
47
48
48
var helpers = require ( './helpers' ) ;
49
49
var p2r = helpers . p2r ;
@@ -350,7 +350,7 @@ function prepSelect(evt, startX, startY, dragOptions, mode) {
350
350
351
351
fillRangeItems ( eventData , poly ) ;
352
352
353
- dragOptions . gd . emit ( 'plotly_selecting' , eventData ) ;
353
+ emitSelecting ( gd , eventData ) ;
354
354
}
355
355
) ;
356
356
}
@@ -381,7 +381,7 @@ function prepSelect(evt, startX, startY, dragOptions, mode) {
381
381
382
382
clearSelectionsCache ( dragOptions ) ;
383
383
384
- gd . emit ( 'plotly_deselect' , null ) ;
384
+ emitDeselect ( gd ) ;
385
385
386
386
if ( searchTraces . length ) {
387
387
var clickedXaxis = searchTraces [ 0 ] . xaxis ;
@@ -419,7 +419,7 @@ function prepSelect(evt, startX, startY, dragOptions, mode) {
419
419
// but in case anyone depends on it we don't want to break it now.
420
420
// Note that click-to-select introduced pre v3 also emitts proper
421
421
// event data when clickmode is having 'select' in its flag list.
422
- gd . emit ( 'plotly_selected' , undefined ) ;
422
+ emitSelected ( gd , undefined ) ;
423
423
}
424
424
}
425
425
@@ -452,7 +452,7 @@ function prepSelect(evt, startX, startY, dragOptions, mode) {
452
452
}
453
453
454
454
eventData . selections = gd . layout . selections ;
455
- dragOptions . gd . emit ( 'plotly_selected' , eventData ) ;
455
+ emitSelected ( gd , eventData ) ;
456
456
} ) . catch ( Lib . error ) ;
457
457
} ;
458
458
}
@@ -491,7 +491,7 @@ function selectOnClick(evt, gd, xAxes, yAxes, subplot, dragOptions, polygonOutli
491
491
clearSelectionsCache ( dragOptions ) ;
492
492
493
493
if ( sendEvents ) {
494
- gd . emit ( 'plotly_deselect' , null ) ;
494
+ emitDeselect ( gd ) ;
495
495
}
496
496
} else {
497
497
subtract = evt . shiftKey &&
@@ -531,7 +531,7 @@ function selectOnClick(evt, gd, xAxes, yAxes, subplot, dragOptions, polygonOutli
531
531
532
532
if ( sendEvents ) {
533
533
eventData . selections = gd . layout . selections ;
534
- gd . emit ( 'plotly_selected' , eventData ) ;
534
+ emitSelected ( gd , eventData ) ;
535
535
}
536
536
}
537
537
}
@@ -596,7 +596,7 @@ function multiTester(list) {
596
596
if ( isPointSelectionDef ( list [ i ] ) ) {
597
597
testers . push ( newPointNumTester ( list [ i ] ) ) ;
598
598
} else {
599
- var tester = polygon . tester ( list [ i ] ) ;
599
+ var tester = polygonTester ( list [ i ] ) ;
600
600
tester . subtract = ! ! list [ i ] . subtract ;
601
601
testers . push ( tester ) ;
602
602
@@ -1196,7 +1196,7 @@ function reselect(gd, selectionTesters, searchTraces, dragOptions) {
1196
1196
}
1197
1197
1198
1198
eventData . selections = gd . layout . selections ;
1199
- gd . emit ( 'plotly_selected' , eventData ) ;
1199
+ emitSelected ( gd , eventData ) ;
1200
1200
}
1201
1201
1202
1202
fullLayout . _reselect = false ;
@@ -1217,7 +1217,7 @@ function reselect(gd, selectionTesters, searchTraces, dragOptions) {
1217
1217
if ( sendEvents ) {
1218
1218
if ( eventData . points . length ) {
1219
1219
eventData . selections = gd . layout . selections ;
1220
- gd . emit ( 'plotly_selected' , eventData ) ;
1220
+ emitSelected ( gd , eventData ) ;
1221
1221
} else {
1222
1222
gd . emit ( 'plotly_deselect' , null ) ;
1223
1223
}
@@ -1506,6 +1506,17 @@ function getFillRangeItems(dragOptions) {
1506
1506
) ;
1507
1507
}
1508
1508
1509
+ function emitSelecting ( gd , eventData ) {
1510
+ gd . emit ( 'plotly_selecting' , eventData ) ;
1511
+ }
1512
+
1513
+ function emitSelected ( gd , eventData ) {
1514
+ gd . emit ( 'plotly_selected' , eventData ) ;
1515
+ }
1516
+
1517
+ function emitDeselect ( gd ) {
1518
+ gd . emit ( 'plotly_deselect' , null ) ;
1519
+ }
1509
1520
1510
1521
module . exports = {
1511
1522
reselect : reselect ,
0 commit comments