From 653c03404dac90e830b1e884b7aa3f238f754e58 Mon Sep 17 00:00:00 2001 From: David Lechner Date: Wed, 22 Dec 2021 13:39:18 -0600 Subject: [PATCH] utils: remove unused IContextMenuTargets This is no longer used since refactoring to use function components. --- src/utils/IContextMenuTarget.ts | 45 --------------------------------- 1 file changed, 45 deletions(-) delete mode 100644 src/utils/IContextMenuTarget.ts diff --git a/src/utils/IContextMenuTarget.ts b/src/utils/IContextMenuTarget.ts deleted file mode 100644 index 9e0f598e..00000000 --- a/src/utils/IContextMenuTarget.ts +++ /dev/null @@ -1,45 +0,0 @@ -// SPDX-License-Identifier: MIT -// Copyright (c) 2021 The Pybricks Authors -// -// Alternative to @blueprintjs/core ContextMenuTarget decorator. - -import { ContextMenu } from '@blueprintjs/core'; - -export interface IContextMenuTarget { - renderContextMenu(): JSX.Element; - onContextMenuClose(): void; -} - -export function handleContextMenu( - event: React.MouseEvent, - target: IContextMenuTarget, -): void { - // istanbul ignore if: not expected - if (event.defaultPrevented) { - return; - } - - event.preventDefault(); - - const listener = (e: KeyboardEvent) => { - if (e.key === 'Escape') { - // istanbul ignore if: not expected - if (e.defaultPrevented) { - return; - } - - e.preventDefault(); - ContextMenu.hide(); - } - }; - window.addEventListener('keydown', listener); - - ContextMenu.show( - target.renderContextMenu(), - { left: event.clientX, top: event.clientY }, - () => { - window.removeEventListener('keydown', listener); - target.onContextMenuClose(); - }, - ); -}