@@ -28,60 +28,7 @@ var legend = module.exports = {};
2828var constants = require ( './constants' ) ;
2929legend . layoutAttributes = require ( './attributes' ) ;
3030
31- legend . supplyLayoutDefaults = function ( layoutIn , layoutOut , fullData ) {
32- var containerIn = layoutIn . legend || { } ,
33- containerOut = layoutOut . legend = { } ;
34-
35- var visibleTraces = 0 ,
36- defaultOrder = 'normal' ,
37- trace ;
38-
39- for ( var i = 0 ; i < fullData . length ; i ++ ) {
40- trace = fullData [ i ] ;
41-
42- if ( legendGetsTrace ( trace ) ) {
43- visibleTraces ++ ;
44- // always show the legend by default if there's a pie
45- if ( Plots . traceIs ( trace , 'pie' ) ) visibleTraces ++ ;
46- }
47-
48- if ( ( Plots . traceIs ( trace , 'bar' ) && layoutOut . barmode === 'stack' ) ||
49- [ 'tonextx' , 'tonexty' ] . indexOf ( trace . fill ) !== - 1 ) {
50- defaultOrder = isGrouped ( { traceorder : defaultOrder } ) ?
51- 'grouped+reversed' : 'reversed' ;
52- }
53-
54- if ( trace . legendgroup !== undefined && trace . legendgroup !== '' ) {
55- defaultOrder = isReversed ( { traceorder : defaultOrder } ) ?
56- 'reversed+grouped' : 'grouped' ;
57- }
58- }
59-
60- function coerce ( attr , dflt ) {
61- return Lib . coerce ( containerIn , containerOut ,
62- legend . layoutAttributes , attr , dflt ) ;
63- }
64-
65- var showLegend = Lib . coerce ( layoutIn , layoutOut ,
66- Plots . layoutAttributes , 'showlegend' , visibleTraces > 1 ) ;
67-
68- if ( showLegend === false ) return ;
69-
70- coerce ( 'bgcolor' , layoutOut . paper_bgcolor ) ;
71- coerce ( 'bordercolor' ) ;
72- coerce ( 'borderwidth' ) ;
73- Lib . coerceFont ( coerce , 'font' , layoutOut . font ) ;
74-
75- coerce ( 'traceorder' , defaultOrder ) ;
76- if ( isGrouped ( layoutOut . legend ) ) coerce ( 'tracegroupgap' ) ;
77-
78- coerce ( 'x' ) ;
79- coerce ( 'xanchor' ) ;
80- coerce ( 'y' ) ;
81- coerce ( 'yanchor' ) ;
82- Lib . noneOrAll ( containerIn , containerOut , [ 'x' , 'y' ] ) ;
83- } ;
84-
31+ legend . supplyLayoutDefaults = require ( './defaults' ) ;
8532// -----------------------------------------------------
8633// styling functions for traces in legends.
8734// same functions for styling traces in the popovers
0 commit comments