{
+ // istanbul ignore if: not expected
+ if (e.defaultPrevented) {
+ return;
+ }
+
+ e.preventDefault();
+ const menu = this.renderContextMenu();
+ 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(menu, { left: e.clientX, top: e.clientY }, () => {
+ window.removeEventListener('keydown', listener);
+ this.onContextMenuClose();
+ });
+ }}
+ >
this.editor?.resize()}>
{
);
}
+
+ onContextMenuClose = () => {
+ this.editorRef.current?.editor.focus();
+ };
}
const mapStateToProps = (state: RootState): StateProps => ({