X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/a11dcd54b81bc5a81aaf3297df3164df4f725e1b..3429b49bb9ff70db11f3239c7fbbc03ac7c2e460:/src/components/side-panel/side-panel.tsx diff --git a/src/components/side-panel/side-panel.tsx b/src/components/side-panel/side-panel.tsx index cc191e80..a7783fb2 100644 --- a/src/components/side-panel/side-panel.tsx +++ b/src/components/side-panel/side-panel.tsx @@ -27,6 +27,7 @@ interface SidePanelProps { toggleOpen: (id: string) => void; toggleActive: (id: string) => void; sidePanelItems: SidePanelItem[]; + onContextMenu: (event: React.MouseEvent, item: SidePanelItem) => void; } class SidePanel extends React.Component> { @@ -38,7 +39,7 @@ class SidePanel extends React.Component> { {sidePanelItems.map(it => ( - toggleActive(it.id)}> + toggleActive(it.id)} onContextMenu={this.handleRowContextMenu(it)}> {it.openAble ? toggleOpen(it.id)} className={`${it.active ? activeArrow : inactiveArrow} ${it.open ? `fas fa-caret-down ${arrowTransition}` : `fas fa-caret-down ${arrowRotate}`}`} /> : null} @@ -58,6 +59,11 @@ class SidePanel extends React.Component> { ); } + + handleRowContextMenu = (item: SidePanelItem) => + (event: React.MouseEvent) => + item.openAble ? this.props.onContextMenu(event, item) : null + } type CssRules = 'active' | 'listItemText' | 'row' | 'leftSidePanelContainer' | 'list' | 'icon' | 'projectIconMargin' |