@@ -189,36 +189,34 @@ function plotOne(gd, plotinfo, cdSubplot, transitionOpts, makeOnCompleteCallback
189
189
190
190
var layerData = [ ] ;
191
191
192
- for ( var i = 0 ; i < traceLayerClasses . length ; i ++ ) {
193
- var className = traceLayerClasses [ i ] ;
194
-
195
- for ( var j = 0 ; j < modules . length ; j ++ ) {
196
- _module = modules [ j ] ;
197
-
198
- if ( _module . basePlotModule . name === 'cartesian' &&
199
- ( _module . layerName || _module . name + 'layer' ) === className
200
- ) {
201
- var plotMethod = _module . plot ;
202
-
203
- // plot all traces of this type on this subplot at once
204
- cdModuleAndOthers = getModuleCalcData ( cdSubplot , plotMethod ) ;
205
- cdModule = cdModuleAndOthers [ 0 ] ;
206
- // don't need to search the found traces again - in fact we need to NOT
207
- // so that if two modules share the same plotter we don't double-plot
208
- cdSubplot = cdModuleAndOthers [ 1 ] ;
209
-
210
- if ( cdModule . length ) {
211
- layerData . push ( {
212
- className : className ,
213
- plotMethod : plotMethod ,
214
- cdModule : cdModule
215
- } ) ;
216
- }
217
- break ;
192
+ for ( var i = 0 ; i < modules . length ; i ++ ) {
193
+ _module = modules [ i ] ;
194
+ var name = _module . name ;
195
+
196
+ if ( Registry . modules [ name ] . categories . svg ) {
197
+ var className = ( _module . layerName || name + 'layer' ) ;
198
+ var plotMethod = _module . plot ;
199
+
200
+ // plot all traces of this type on this subplot at once
201
+ cdModuleAndOthers = getModuleCalcData ( cdSubplot , plotMethod ) ;
202
+ cdModule = cdModuleAndOthers [ 0 ] ;
203
+ // don't need to search the found traces again - in fact we need to NOT
204
+ // so that if two modules share the same plotter we don't double-plot
205
+ cdSubplot = cdModuleAndOthers [ 1 ] ;
206
+
207
+ if ( cdModule . length ) {
208
+ layerData . push ( {
209
+ i : traceLayerClasses . indexOf ( className ) ,
210
+ className : className ,
211
+ plotMethod : plotMethod ,
212
+ cdModule : cdModule
213
+ } ) ;
218
214
}
219
215
}
220
216
}
221
217
218
+ layerData . sort ( function ( a , b ) { return a . i - b . i ; } ) ;
219
+
222
220
var layers = plotinfo . plot . selectAll ( 'g.mlayer' )
223
221
. data ( layerData , function ( d ) { return d . className ; } ) ;
224
222
0 commit comments