electron flow type definitions

Summary: Adding a flowtype library definition for electron 3 and fixing related type errors

Reviewed By: passy

Differential Revision: D9124758

fbshipit-source-id: e09cb5b05ba952e7f95f68f9043edc586f81ae83
This commit is contained in:
Daniel Büchele
2018-08-02 03:41:53 -07:00
committed by Facebook Github Bot
parent 69eaedcbb0
commit 75dfbf51f8
9 changed files with 3767 additions and 75 deletions

View File

@@ -97,10 +97,13 @@ export function setupMenuBar() {
const menu = applicationMenu.items.find(
menuItem => menuItem.label === topLevelMenu,
);
const menuItem = menu.submenu.items.find(
menuItem => menuItem.label === label,
);
menuItems.set(action, menuItem);
if (menu) {
// $FlowFixMe submenu is missing in electron API spec
const menuItem = menu.submenu.items.find(
menuItem => menuItem.label === label,
);
menuItems.set(action, menuItem);
}
}
});

View File

@@ -38,9 +38,9 @@ export default class AutoUpdateVersion extends Component<{}, State> {
componentDidMount() {
if (isProduction()) {
remote.autoUpdater.setFeedURL(
`${config.updateServer}?version=${version}`,
);
remote.autoUpdater.setFeedURL({
url: `${config.updateServer}?version=${version}`,
});
remote.autoUpdater.on('update-downloaded', () => {
this.setState({updater: 'update-downloaded'});

View File

@@ -11,16 +11,16 @@ import type Logger from '../fb-stubs/Logger.js';
export default (store: Store, logger: Logger) => {
const currentWindow = remote.getCurrentWindow();
currentWindow.on('focus', () =>
currentWindow.on('focus', () => {
store.dispatch({
type: 'windowIsFocused',
payload: true,
}),
);
currentWindow.on('blur', () =>
});
});
currentWindow.on('blur', () => {
store.dispatch({
type: 'windowIsFocused',
payload: false,
}),
);
});
});
};

View File

@@ -281,7 +281,8 @@ class Button extends styled.StylableComponent<
position.x = parseInt(left, 10);
position.y = parseInt(bottom + 6, 10);
}
menu.popup(electron.remote.getCurrentWindow(), {
menu.popup({
window: electron.remote.getCurrentWindow(),
async: true,
...position,
});

View File

@@ -37,7 +37,7 @@ export default class ContextMenuProvider extends Component<{|
onContextMenu = () => {
const menu = electron.remote.Menu.buildFromTemplate(this._menuTemplate);
this._menuTemplate = [];
menu.popup(electron.remote.getCurrentWindow(), {async: true});
menu.popup({window: electron.remote.getCurrentWindow(), async: true});
};
render() {

View File

@@ -161,7 +161,8 @@ export default class FilterToken extends PureComponent<Props> {
}
const menu = electron.remote.Menu.buildFromTemplate(menuTemplate);
const {bottom, left} = this._ref ? this._ref.getBoundingClientRect() : {};
menu.popup(electron.remote.getCurrentWindow(), {
menu.popup({
window: electron.remote.getCurrentWindow(),
async: true,
x: parseInt(left, 10),
y: parseInt(bottom, 10) + 8,

View File

@@ -8,6 +8,7 @@
import electron from 'electron';
const _isProduction = !/node_modules[\\/]electron[\\/]/.test(
// $FlowFixMe: execPath exists, but is not in electron API spec
electron.remote.process.execPath,
);