@@ -93,27 +93,14 @@ function getButtonGroups(gd, buttonsToRemove, buttonsToAdd) {
93
93
groups . push ( out ) ;
94
94
}
95
95
96
- function appendButtonsToAdd ( groups ) {
97
- if ( buttonsToAdd . length ) {
98
- if ( Array . isArray ( buttonsToAdd [ 0 ] ) ) {
99
- for ( var i = 0 ; i < buttonsToAdd . length ; i ++ ) {
100
- groups . push ( buttonsToAdd [ i ] ) ;
101
- }
102
- }
103
- else groups . push ( buttonsToAdd ) ;
104
- }
105
-
106
- return groups ;
107
- }
108
-
109
96
// buttons common to all plot types
110
97
addGroup ( [ 'toImage' , 'sendDataToCloud' ] ) ;
111
98
112
99
// graphs with more than one plot types get 'union buttons'
113
100
// which reset the view or toggle hover labels across all subplots.
114
101
if ( ( hasCartesian || hasGL2D || hasPie ) + hasGeo + hasGL3D > 1 ) {
115
102
addGroup ( [ 'resetViews' , 'toggleHover' ] ) ;
116
- return appendButtonsToAdd ( groups ) ;
103
+ return appendButtonsToGroups ( groups , buttonsToAdd ) ;
117
104
}
118
105
119
106
if ( hasGL3D ) {
@@ -156,7 +143,7 @@ function getButtonGroups(gd, buttonsToRemove, buttonsToAdd) {
156
143
addGroup ( [ 'hoverClosestPie' ] ) ;
157
144
}
158
145
159
- return appendButtonsToAdd ( groups ) ;
146
+ return appendButtonsToGroups ( groups , buttonsToAdd ) ;
160
147
}
161
148
162
149
function areAllAxesFixed ( fullLayout ) {
@@ -199,6 +186,19 @@ function isSelectable(fullData) {
199
186
return selectable ;
200
187
}
201
188
189
+ function appendButtonsToGroups ( groups , buttons ) {
190
+ if ( buttons . length ) {
191
+ if ( Array . isArray ( buttons [ 0 ] ) ) {
192
+ for ( var i = 0 ; i < buttons . length ; i ++ ) {
193
+ groups . push ( buttons [ i ] ) ;
194
+ }
195
+ }
196
+ else groups . push ( buttons ) ;
197
+ }
198
+
199
+ return groups ;
200
+ }
201
+
202
202
// fill in custom buttons referring to default mode bar buttons
203
203
function fillCustomButton ( customButtons ) {
204
204
for ( var i = 0 ; i < customButtons . length ; i ++ ) {
0 commit comments