diff --git a/flow-libs/electron.js.flow b/flow-libs/electron.js.flow index dcb9a00c..c6cada2d 100644 --- a/flow-libs/electron.js.flow +++ b/flow-libs/electron.js.flow @@ -472,13 +472,13 @@ declare class electron$Menu { static getApplicationMenu(): ?electron$Menu, static sendActionToFirstResponder(action: string): void, static buildFromTemplate(templates: Array): electron$Menu, - popup( - browserWindow: electron$BrowserWindow, + popup({| + window?: electron$BrowserWindow, x?: number, y?: number, positioningItem?: number, - ): void, - popup(x?: number, y?: number, positioningItem?: number): void, + callback?: Function, + |}): void, append(menuItem: electron$MenuItem): void, insert(pos: number, menuItem: electron$MenuItem): void, items: Array, diff --git a/modules/atom-ide-ui/pkg/atom-ide-console/lib/ui/PromptButton.js b/modules/atom-ide-ui/pkg/atom-ide-console/lib/ui/PromptButton.js index 3e44e2da..435be51d 100644 --- a/modules/atom-ide-ui/pkg/atom-ide-console/lib/ui/PromptButton.js +++ b/modules/atom-ide-ui/pkg/atom-ide-console/lib/ui/PromptButton.js @@ -42,7 +42,6 @@ export default class PromptButton extends React.Component { } _handleClick = (event: SyntheticMouseEvent<>): void => { - const currentWindow = remote.getCurrentWindow(); const menu = new remote.Menu(); // TODO: Sort alphabetically by label this.props.options.forEach(option => { @@ -55,6 +54,6 @@ export default class PromptButton extends React.Component { }), ); }); - menu.popup(currentWindow, event.clientX, event.clientY); + menu.popup({x: event.clientX, y: event.clientY}); }; } diff --git a/modules/atom-ide-ui/pkg/atom-ide-diagnostics-ui/lib/showActionsMenu.js b/modules/atom-ide-ui/pkg/atom-ide-diagnostics-ui/lib/showActionsMenu.js index 1677c44e..2727707d 100644 --- a/modules/atom-ide-ui/pkg/atom-ide-diagnostics-ui/lib/showActionsMenu.js +++ b/modules/atom-ide-ui/pkg/atom-ide-diagnostics-ui/lib/showActionsMenu.js @@ -47,7 +47,6 @@ export default function showActionsMenu( .take(1) .race(Observable.of(new WeakMap()).delay(CODE_ACTIONS_TIMEOUT)) .subscribe(codeActionsForMessage => { - const currentWindow = remote.getCurrentWindow(); const menu = new remote.Menu(); const fixes = arrayCompact( messagesAtPosition.map(message => { @@ -96,16 +95,15 @@ export default function showActionsMenu( const scrollView = editorView.querySelector('.scroll-view'); invariant(scrollView != null); const boundingRect = scrollView.getBoundingClientRect(); - menu.popup( - currentWindow, - Math.round( + menu.popup({ + x: Math.round( boundingRect.left + pixelPosition.left - editorView.getScrollLeft(), ), - Math.round( + y: Math.round( boundingRect.top + pixelPosition.top - editorView.getScrollTop(), ), - 0, - ); + positioningItem: 0, + }); }), ); } diff --git a/modules/nuclide-commons-ui/Dropdown.js b/modules/nuclide-commons-ui/Dropdown.js index 9072843a..1d37ccce 100644 --- a/modules/nuclide-commons-ui/Dropdown.js +++ b/modules/nuclide-commons-ui/Dropdown.js @@ -136,9 +136,8 @@ export class Dropdown extends React.Component { } _handleDropdownClick = (event: SyntheticMouseEvent<>): void => { - const currentWindow = remote.getCurrentWindow(); const menu = this._menuFromOptions(this.props.options); - menu.popup(currentWindow, event.clientX, event.clientY); + menu.popup({x: event.clientX, y: event.clientY}); }; _menuFromOptions(options: $ReadOnlyArray