X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/9a37cc202448e431064b247d36ac0229a6bfa9b2..HEAD:/src/components/context-menu/context-menu.tsx diff --git a/src/components/context-menu/context-menu.tsx b/src/components/context-menu/context-menu.tsx index 98456dad..a44e8b7b 100644 --- a/src/components/context-menu/context-menu.tsx +++ b/src/components/context-menu/context-menu.tsx @@ -1,15 +1,19 @@ // Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Popover, List, ListItem, ListItemIcon, ListItemText, Divider } from "@material-ui/core"; import { DefaultTransformOrigin } from "../popover/helpers"; import { IconType } from "../icon/icon"; +import { RootState } from "store/store"; +import { ContextMenuResource } from "store/context-menu/context-menu-actions"; export interface ContextMenuItem { name?: string | React.ComponentType; icon?: IconType; component?: React.ComponentType; + adminOnly?: boolean; + filters?: ((state: RootState, resource: ContextMenuResource) => boolean)[] } export type ContextMenuItemGroup = ContextMenuItem[]; @@ -32,7 +36,7 @@ export class ContextMenu extends React.PureComponent { transformOrigin={DefaultTransformOrigin} anchorOrigin={DefaultTransformOrigin} onContextMenu={this.handleContextMenu}> - + {items.map((group, groupIndex) => {group.map((item, actionIndex) =>