@@ -75,50 +75,51 @@ plotChoropleth.plot = function(geo, choroplethData, geoLayout) {
75
75
76
76
gChoroplethTraces . exit ( ) . remove ( ) ;
77
77
78
- gChoroplethTraces
79
- . each ( function ( trace ) {
80
- var cdi = plotChoropleth . calcGeoJSON ( trace , geo . topojson ) ,
81
- cleanHoverLabelsFunc = makeCleanHoverLabelsFunc ( geo , trace ) ,
82
- eventDataFunc = makeEventDataFunc ( trace ) ;
83
-
84
- function handleMouseOver ( pt , ptIndex ) {
85
- if ( ! geo . showHover ) return ;
86
-
87
- var xy = geo . projection ( pt . properties . ct ) ;
88
- cleanHoverLabelsFunc ( pt ) ;
89
-
90
- Fx . loneHover ( {
91
- x : xy [ 0 ] ,
92
- y : xy [ 1 ] ,
93
- name : pt . nameLabel ,
94
- text : pt . textLabel
95
- } , {
96
- container : geo . hoverContainer . node ( )
97
- } ) ;
78
+ gChoroplethTraces . each ( function ( trace ) {
79
+ var cdi = plotChoropleth . calcGeoJSON ( trace , geo . topojson ) ,
80
+ cleanHoverLabelsFunc = makeCleanHoverLabelsFunc ( geo , trace ) ,
81
+ eventDataFunc = makeEventDataFunc ( trace ) ;
82
+
83
+ function handleMouseOver ( pt , ptIndex ) {
84
+ if ( ! geo . showHover ) return ;
85
+
86
+ var xy = geo . projection ( pt . properties . ct ) ;
87
+ cleanHoverLabelsFunc ( pt ) ;
88
+
89
+ Fx . loneHover ( {
90
+ x : xy [ 0 ] ,
91
+ y : xy [ 1 ] ,
92
+ name : pt . nameLabel ,
93
+ text : pt . textLabel
94
+ } , {
95
+ container : geo . hoverContainer . node ( )
96
+ } ) ;
97
+
98
+ geo . graphDiv . emit ( 'plotly_hover' , eventDataFunc ( pt , ptIndex ) ) ;
99
+ }
98
100
99
- geo . graphDiv . emit ( 'plotly_hover' , eventDataFunc ( pt , ptIndex ) ) ;
100
- }
101
-
102
- function handleClick ( pt , ptIndex ) {
103
- geo . graphDiv . emit ( 'plotly_click' , eventDataFunc ( pt , ptIndex ) ) ;
104
- }
105
-
106
- d3 . select ( this )
107
- . selectAll ( 'path.choroplethlocation' )
108
- . data ( cdi )
109
- . enter ( ) . append ( 'path' )
110
- . attr ( 'class' , 'choroplethlocation' )
111
- . on ( 'mouseover' , handleMouseOver )
112
- . on ( 'click' , handleClick )
113
- . on ( 'mouseout' , function ( ) {
114
- Fx . loneUnhover ( geo . hoverContainer ) ;
115
- } )
116
- . on ( 'mousedown' , function ( ) {
117
- // to simulate the 'zoomon' event
118
- Fx . loneUnhover ( geo . hoverContainer ) ;
119
- } )
120
- . on ( 'mouseup' , handleMouseOver ) ; // ~ 'zoomend'
121
- } ) ;
101
+ function handleClick ( pt , ptIndex ) {
102
+ geo . graphDiv . emit ( 'plotly_click' , eventDataFunc ( pt , ptIndex ) ) ;
103
+ }
104
+
105
+ var paths = d3 . select ( this ) . selectAll ( 'path.choroplethlocation' )
106
+ . data ( cdi ) ;
107
+
108
+ paths . enter ( ) . append ( 'path' )
109
+ . classed ( 'choroplethlocation' , true )
110
+ . on ( 'mouseover' , handleMouseOver )
111
+ . on ( 'click' , handleClick )
112
+ . on ( 'mouseout' , function ( ) {
113
+ Fx . loneUnhover ( geo . hoverContainer ) ;
114
+ } )
115
+ . on ( 'mousedown' , function ( ) {
116
+ // to simulate the 'zoomon' event
117
+ Fx . loneUnhover ( geo . hoverContainer ) ;
118
+ } )
119
+ . on ( 'mouseup' , handleMouseOver ) ; // ~ 'zoomend'
120
+
121
+ paths . exit ( ) . remove ( ) ;
122
+ } ) ;
122
123
123
124
// some baselayers are drawn over choropleth
124
125
gBaseLayerOverChoropleth . selectAll ( '*' ) . remove ( ) ;
0 commit comments