From 1b382d59c0e459b3942ad60ec8632f2392601c19 Mon Sep 17 00:00:00 2001 From: John Knox Date: Wed, 11 Sep 2019 03:49:24 -0700 Subject: [PATCH] Fix menubar types Reviewed By: danielbuechele Differential Revision: D17166332 fbshipit-source-id: d87dfd802c39863a275e5911ebebddb2676e190e --- src/MenuBar.tsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/MenuBar.tsx b/src/MenuBar.tsx index d18c0dfd6..f29a0ae96 100644 --- a/src/MenuBar.tsx +++ b/src/MenuBar.tsx @@ -10,6 +10,7 @@ import {showOpenDialog} from './utils/exportData'; import {setSelectPluginsToExportActiveSheet} from './reducers/application'; import {Store} from './reducers/'; import electron, {MenuItemConstructorOptions} from 'electron'; +import {notNull} from './utils/typeUtils'; import constants from './fb-stubs/constants'; import os from 'os'; import path from 'path'; @@ -48,7 +49,7 @@ export type KeyboardActions = Array; const menuItems: Map = new Map(); -let pluginActionHandler; +let pluginActionHandler: ((action: string) => void) | null; function actionHandler(action: string) { if (pluginActionHandler) { pluginActionHandler(action); @@ -75,7 +76,8 @@ export function setupMenuBar( typeof action === 'string' ? defaultKeyboardActions.find(a => a.action === action) : action, - ), + ) + .filter(notNull), ); // add keyboard actions to @@ -100,7 +102,7 @@ export function setupMenuBar( const menuItem = menu.submenu.items.find( menuItem => menuItem.label === label, ); - menuItems.set(action, menuItem); + menuItem && menuItems.set(action, menuItem); } } }); @@ -177,12 +179,13 @@ function getTemplate( accelerator: 'CommandOrControl+E', click: function() { electron.remote.dialog.showSaveDialog( + // @ts-ignore This appears to work but isn't allowed by the types null, { title: 'FlipperExport', defaultPath: path.join(os.homedir(), 'FlipperExport.flipper'), }, - async file => { + async (file: string) => { if (!file) { return; }