chore: fixing context menu

Signed-off-by: blam <ben@blam.sh>

Signed-off-by: blam <ben@blam.sh>
This commit is contained in:
blam
2022-05-30 14:43:14 +02:00
parent ee63f03e91
commit 61d31317a1
5 changed files with 25 additions and 8 deletions
+1 -1
View File
@@ -3,6 +3,6 @@
'@backstage/plugin-scaffolder-backend': minor
---
- Add `listTasks` option to get tasks optionally filtered by a `userRef`
- Add `listTasks` option to get tasks optionally filtered by `createdBy`
- Added a new page under `/create/tasks` to show those tasks, optionally grouped by the current signed in user.
@@ -23,7 +23,6 @@ import MapIcon from '@material-ui/icons/MyLocation';
import LayersIcon from '@material-ui/icons/Layers';
import LibraryBooks from '@material-ui/icons/LibraryBooks';
import CreateComponentIcon from '@material-ui/icons/AddCircleOutline';
import List from '@material-ui/icons/List';
import SearchIcon from '@material-ui/icons/Search';
import MenuIcon from '@material-ui/icons/Menu';
import MoneyIcon from '@material-ui/icons/MonetizationOn';
@@ -108,7 +107,6 @@ export const Root = ({ children }: PropsWithChildren<{}>) => (
<SidebarItem icon={LibraryBooks} to="docs" text="Docs" />
<SidebarItem icon={LayersIcon} to="explore" text="Explore" />
<SidebarItem icon={CreateComponentIcon} to="create" text="Create..." />
<SidebarItem icon={List} text="Template tasks" to="create/tasks" />
{/* End global nav */}
<SidebarDivider />
<SidebarScrollWrapper>
@@ -52,6 +52,7 @@ export type ScaffolderPageProps = {
contextMenu?: {
editor?: boolean;
actions?: boolean;
tasks?: boolean;
};
};
@@ -24,10 +24,15 @@ import Popover from '@material-ui/core/Popover';
import { makeStyles } from '@material-ui/core/styles';
import Description from '@material-ui/icons/Description';
import Edit from '@material-ui/icons/Edit';
import List from '@material-ui/icons/List';
import MoreVert from '@material-ui/icons/MoreVert';
import React, { useState } from 'react';
import { useNavigate } from 'react-router';
import { rootRouteRef } from '../../routes';
import {
actionsRouteRef,
editRouteRef,
scaffolderListTaskRouteRef,
} from '../../routes';
const useStyles = makeStyles({
button: {
@@ -38,6 +43,7 @@ const useStyles = makeStyles({
export type ScaffolderPageContextMenuProps = {
editor?: boolean;
actions?: boolean;
tasks?: boolean;
};
export function ScaffolderPageContextMenu(
@@ -45,11 +51,15 @@ export function ScaffolderPageContextMenu(
) {
const classes = useStyles();
const [anchorEl, setAnchorEl] = useState<HTMLButtonElement>();
const pageLink = useRouteRef(rootRouteRef);
const editLink = useRouteRef(editRouteRef);
const actionsLink = useRouteRef(actionsRouteRef);
const tasksLink = useRouteRef(scaffolderListTaskRouteRef);
const navigate = useNavigate();
const showEditor = props.editor !== false;
const showActions = props.actions !== false;
const showTasks = props.tasks !== false;
if (!showEditor && !showActions) {
return null;
@@ -85,7 +95,7 @@ export function ScaffolderPageContextMenu(
>
<MenuList>
{showEditor && (
<MenuItem onClick={() => navigate(`${pageLink()}/edit`)}>
<MenuItem onClick={() => navigate(editLink())}>
<ListItemIcon>
<Edit fontSize="small" />
</ListItemIcon>
@@ -93,13 +103,21 @@ export function ScaffolderPageContextMenu(
</MenuItem>
)}
{showActions && (
<MenuItem onClick={() => navigate(`${pageLink()}/actions`)}>
<MenuItem onClick={() => navigate(actionsLink())}>
<ListItemIcon>
<Description fontSize="small" />
</ListItemIcon>
<ListItemText primary="Installed Actions" />
</MenuItem>
)}
{showTasks && (
<MenuItem onClick={() => navigate(tasksLink())}>
<ListItemIcon>
<List fontSize="small" />
</ListItemIcon>
<ListItemText primary="Task List" />
</MenuItem>
)}
</MenuList>
</Popover>
</>
+1 -1
View File
@@ -178,7 +178,7 @@ export interface ScaffolderApi {
getTask(taskId: string): Promise<ScaffolderTask>;
listTasks(createdBy: TasksOwnerFilterKind): Promise<ScaffolderTask[]>;
listTasks?(createdBy: TasksOwnerFilterKind): Promise<ScaffolderTask[]>;
getIntegrationsList(
options: ScaffolderGetIntegrationsListOptions,