@@ -364,6 +364,9 @@ plots.sendDataToCloud = function(gd) {
364
364
// gd._fullLayout._basePlotModules
365
365
// is a list of all the plot modules required to draw the plot.
366
366
//
367
+ // gd._fullLayout._transformModules
368
+ // is a list of all the transform modules invoked.
369
+ //
367
370
plots . supplyDefaults = function ( gd ) {
368
371
var oldFullLayout = gd . _fullLayout || { } ,
369
372
newFullLayout = gd . _fullLayout = { } ,
@@ -643,6 +646,8 @@ plots.supplyDataDefaults = function(dataIn, dataOut, layout, fullLayout) {
643
646
basePlotModules = fullLayout . _basePlotModules = [ ] ,
644
647
cnt = 0 ;
645
648
649
+ fullLayout . _transformModules = [ ] ;
650
+
646
651
function pushModule ( fullTrace ) {
647
652
dataOut . push ( fullTrace ) ;
648
653
@@ -860,6 +865,8 @@ function supplyTransformDefaults(traceIn, traceOut, layout) {
860
865
transformOut = _module . supplyDefaults ( transformIn , traceOut , layout , traceIn ) ;
861
866
transformOut . type = type ;
862
867
transformOut . _module = _module ;
868
+
869
+ Lib . pushUnique ( layout . _transformModules , _module ) ;
863
870
}
864
871
else {
865
872
transformOut = Lib . extendFlat ( { } , transformIn ) ;
@@ -1060,6 +1067,16 @@ plots.supplyLayoutModuleDefaults = function(layoutIn, layoutOut, fullData, trans
1060
1067
}
1061
1068
}
1062
1069
1070
+ // transform module layout defaults
1071
+ var transformModules = layoutOut . _transformModules ;
1072
+ for ( i = 0 ; i < transformModules . length ; i ++ ) {
1073
+ _module = transformModules [ i ] ;
1074
+
1075
+ if ( _module . supplyLayoutDefaults ) {
1076
+ _module . supplyLayoutDefaults ( layoutIn , layoutOut , fullData , transitionData ) ;
1077
+ }
1078
+ }
1079
+
1063
1080
// should FX be a component?
1064
1081
Plotly . Fx . supplyLayoutDefaults ( layoutIn , layoutOut , fullData ) ;
1065
1082
0 commit comments