SDA-1395 - Disable context menu for action buttons (#858)

This commit is contained in:
Kiran Niranjan 2020-01-27 11:15:20 +05:30 committed by Vishwas Shashidhar
parent 6e71292332
commit 21b7e20e9e
2 changed files with 20 additions and 0 deletions

View File

@ -16,6 +16,7 @@ exports[`windows title bar should render correctly 1`] = `
<button
className="hamburger-menu-button"
onClick={[Function]}
onContextMenu={[Function]}
onMouseDown={[Function]}
title="Menu"
>
@ -93,6 +94,7 @@ exports[`windows title bar should render correctly 1`] = `
<button
className="title-bar-button"
onClick={[Function]}
onContextMenu={[Function]}
onMouseDown={[Function]}
title="Minimize"
>
@ -115,6 +117,7 @@ exports[`windows title bar should render correctly 1`] = `
<button
className="title-bar-button"
onClick={[Function]}
onContextMenu={[Function]}
onMouseDown={[Function]}
title="Maximize"
>
@ -136,6 +139,7 @@ exports[`windows title bar should render correctly 1`] = `
<button
className="title-bar-button"
onClick={[Function]}
onContextMenu={[Function]}
onMouseDown={[Function]}
title="Close"
>

View File

@ -20,6 +20,7 @@ export default class WindowsTitleBar extends React.Component<{}, IState> {
onMinimize: () => this.minimize(),
onShowMenu: () => this.showMenu(),
onUnmaximize: () => this.unmaximize(),
onDisableContextMenu: (event) => this.disableContextMenu(event),
};
private observer: MutationObserver | undefined;
@ -83,6 +84,7 @@ export default class WindowsTitleBar extends React.Component<{}, IState> {
title={i18n.t('Menu', TITLE_BAR_NAMESPACE)()}
className='hamburger-menu-button'
onClick={this.eventHandlers.onShowMenu}
onContextMenu={this.eventHandlers.onDisableContextMenu}
onMouseDown={this.handleMouseDown}
>
<svg x='0px' y='0px' viewBox='0 0 15 10'>
@ -101,6 +103,7 @@ export default class WindowsTitleBar extends React.Component<{}, IState> {
className='title-bar-button'
title={i18n.t('Minimize', TITLE_BAR_NAMESPACE)()}
onClick={this.eventHandlers.onMinimize}
onContextMenu={this.eventHandlers.onDisableContextMenu}
onMouseDown={this.handleMouseDown}
>
<svg x='0px' y='0px' viewBox='0 0 14 1'>
@ -116,6 +119,7 @@ export default class WindowsTitleBar extends React.Component<{}, IState> {
className='title-bar-button'
title={i18n.t('Close', TITLE_BAR_NAMESPACE)()}
onClick={this.eventHandlers.onClose}
onContextMenu={this.eventHandlers.onDisableContextMenu}
onMouseDown={this.handleMouseDown}
>
<svg x='0px' y='0px' viewBox='0 0 14 10.2'>
@ -143,6 +147,7 @@ export default class WindowsTitleBar extends React.Component<{}, IState> {
className='title-bar-button'
title={i18n.t('Restore', TITLE_BAR_NAMESPACE)()}
onClick={this.eventHandlers.onUnmaximize}
onContextMenu={this.eventHandlers.onDisableContextMenu}
onMouseDown={this.handleMouseDown}
>
<svg x='0px' y='0px' viewBox='0 0 14 10.2'>
@ -159,6 +164,7 @@ export default class WindowsTitleBar extends React.Component<{}, IState> {
className='title-bar-button'
title={i18n.t('Maximize', TITLE_BAR_NAMESPACE)()}
onClick={this.eventHandlers.onMaximize}
onContextMenu={this.eventHandlers.onDisableContextMenu}
onMouseDown={this.handleMouseDown}
>
<svg x='0px' y='0px' viewBox='0 0 14 10.2'>
@ -306,6 +312,16 @@ export default class WindowsTitleBar extends React.Component<{}, IState> {
);
}
/**
* Disables context menu for action buttons
*
* @param event
*/
private disableContextMenu(event): boolean {
event.preventDefault();
return false;
}
/**
* Updates the state with the give value
* @param state