@@ -21,12 +21,13 @@ import {
21
21
getOperations ,
22
22
getSelectedSessionIdFromRoot ,
23
23
} from '../../state/sessions/selectors'
24
+ import { List } from 'immutable'
24
25
25
26
export interface ReduxProps {
26
27
runQuery : ( operationName ?: string ) => void
27
28
stopQuery : ( sessionId : string ) => void
28
29
queryRunning : boolean
29
- operations : any [ ]
30
+ operations : List < any >
30
31
sessionId : string
31
32
}
32
33
@@ -59,7 +60,7 @@ class ExecuteButton extends React.Component<
59
60
render ( ) {
60
61
const { operations } = this . props
61
62
const optionsOpen = this . state . optionsOpen
62
- const hasOptions = operations && operations . length > 1
63
+ const hasOptions = operations && operations . size > 1
63
64
64
65
let options : any = null
65
66
if ( hasOptions && optionsOpen ) {
@@ -158,21 +159,23 @@ class ExecuteButton extends React.Component<
158
159
} else {
159
160
document . removeEventListener ( 'mouseup' , onMouseUp )
160
161
onMouseUp = null
161
- const isOptionsMenuClicked =
162
- // tslint:disable-next-line
163
- downTarget . parentNode . compareDocumentPosition ( upEvent . target ) &
164
- Node . DOCUMENT_POSITION_CONTAINED_BY
165
- if ( ! isOptionsMenuClicked ) {
166
- // menu calls setState if it was clicked
167
- this . setState ( { optionsOpen : false } as State )
168
- }
169
- if ( firstTime ) {
170
- this . onOptionSelected (
171
- this . props . operations . find (
172
- op => op . name . value === upEvent . target . textContent ,
173
- ) || this . props . operations [ 0 ] ,
174
- )
175
- firstTime = false
162
+ if ( downTarget . parentNode ) {
163
+ const isOptionsMenuClicked =
164
+ // tslint:disable-next-line
165
+ downTarget . parentNode . compareDocumentPosition ( upEvent . target ) &
166
+ Node . DOCUMENT_POSITION_CONTAINED_BY
167
+ if ( ! isOptionsMenuClicked ) {
168
+ // menu calls setState if it was clicked
169
+ this . setState ( { optionsOpen : false } as State )
170
+ }
171
+ if ( firstTime ) {
172
+ this . onOptionSelected (
173
+ this . props . operations . find (
174
+ op => op . name . value === upEvent . target . textContent ,
175
+ ) || this . props . operations [ 0 ] ,
176
+ )
177
+ firstTime = false
178
+ }
176
179
}
177
180
}
178
181
}
0 commit comments