X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/75b209b2cbd37e3510fd726e737fa5457a6a8d77..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 ac207301..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' | @@ -92,7 +98,7 @@ const styles: StyleRulesCallback = (theme: Theme) => ({ overflowY: 'auto', minWidth: '240px', whiteSpace: 'nowrap', - marginTop: '38px', + marginTop: '52px', display: 'flex', flexGrow: 1, },