Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 131x 131x 131x 131x 131x 386x 724x 131x | /* * Copyright 2021 Harness Inc. All rights reserved. * Use of this source code is governed by the PolyForm Shield 1.0.0 license * that can be found in the licenses directory at the root of this repository, also available at * https://polyformproject.org/wp-content/uploads/2020/06/PolyForm-Shield-1.0.0.txt. */ import React, { AnchorHTMLAttributes, ReactElement, Fragment } from 'react' import { Classes, IMenuItemProps, Menu } from '@blueprintjs/core' import { Button, ButtonProps } from '@wings-software/uicore' import RbacMenuItem from '@rbac/components/MenuItem/MenuItem' import type { RbacMenuItemProps } from '@rbac/components/MenuItem/MenuItem' type Item = ((IMenuItemProps | RbacMenuItemProps) & AnchorHTMLAttributes<HTMLAnchorElement>) | '-' export interface RbacOptionsMenuButtonProps extends ButtonProps { items: Item[] } const RbacOptionsMenuButton = ({ items, ...props }: RbacOptionsMenuButtonProps): ReactElement => ( <Button minimal icon="Options" tooltipProps={{ isDark: true, interactionKind: 'click', hasBackdrop: true }} tooltip={ <Menu style={{ minWidth: 'unset' }}> {items.map((item: Item, key: number) => ( <Fragment key={key}> {item === '-' ? ( <Menu.Divider /> ) : (item as RbacMenuItemProps)?.permission ? ( <RbacMenuItem className={Classes.POPOVER_DISMISS} {...(item as RbacMenuItemProps)} /> ) : ( <Menu.Item className={Classes.POPOVER_DISMISS} {...item} /> )} </Fragment> ))} </Menu> } {...props} /> ) export default RbacOptionsMenuButton |