Skip to content

Commit

Permalink
Merge pull request #982 from konstantinullrich/#974-Match-styleguide-…
Browse files Browse the repository at this point in the history
…with-native-ContextMenus

Replace native Context Menu with a syleguided one in SearchInput
  • Loading branch information
vincentbavitz committed Mar 19, 2020
2 parents f594a5e + 447ba9d commit 8fb092a
Showing 1 changed file with 39 additions and 12 deletions.
51 changes: 39 additions & 12 deletions ts/components/session/SessionSearchInput.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from 'react';
import { SessionIconButton, SessionIconSize, SessionIconType } from './icon';
import { ContextMenu, ContextMenuTrigger, MenuItem } from 'react-contextmenu';

interface Props {
searchString: string;
Expand All @@ -16,20 +17,46 @@ export class SessionSearchInput extends React.Component<Props> {

public render() {
const { searchString } = this.props;
const triggerId = 'session-search-input-context';

return (
<div className="session-search-input">
<SessionIconButton
iconSize={SessionIconSize.Medium}
iconType={SessionIconType.Search}
/>
<input
value={searchString}
onChange={e => this.props.onChange(e.target.value)}
onKeyDown={this.handleKeyDown}
placeholder={this.props.placeholder}
/>
</div>
<>
<ContextMenuTrigger id={triggerId}>
<div className="session-search-input">
<SessionIconButton
iconSize={SessionIconSize.Medium}
iconType={SessionIconType.Search}
/>
<input
value={searchString}
onChange={e => this.props.onChange(e.target.value)}
onKeyDown={this.handleKeyDown}
placeholder={this.props.placeholder}
/>
</div>
</ContextMenuTrigger>
<ContextMenu id={triggerId}>
<MenuItem onClick={() => document.execCommand('undo')}>
{window.i18n('editMenuUndo')}
</MenuItem>
<MenuItem onClick={() => document.execCommand('redo')}>
{window.i18n('editMenuRedo')}
</MenuItem>
<hr />
<MenuItem onClick={() => document.execCommand('cut')}>
{window.i18n('editMenuCut')}
</MenuItem>
<MenuItem onClick={() => document.execCommand('copy')}>
{window.i18n('editMenuCopy')}
</MenuItem>
<MenuItem onClick={() => document.execCommand('paste')}>
{window.i18n('editMenuPaste')}
</MenuItem>
<MenuItem onClick={() => document.execCommand('selectAll')}>
{window.i18n('editMenuSelectAll')}
</MenuItem>
</ContextMenu>
</>
);
}

Expand Down

0 comments on commit 8fb092a

Please sign in to comment.