From 12323b94398daa6cedca36fc2c58a97200092e16 Mon Sep 17 00:00:00 2001 From: Cláudio Silva Date: Fri, 5 Feb 2021 08:45:11 -0300 Subject: Webui 548 (#549) * Commit for #548 * Commit for #548 --- .../src/components/ReopenBugButton/OpenBug.graphql | 7 +++ .../components/ReopenBugButton/ReopenBugButton.tsx | 55 ++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 webui/src/components/ReopenBugButton/OpenBug.graphql create mode 100644 webui/src/components/ReopenBugButton/ReopenBugButton.tsx (limited to 'webui/src/components/ReopenBugButton') diff --git a/webui/src/components/ReopenBugButton/OpenBug.graphql b/webui/src/components/ReopenBugButton/OpenBug.graphql new file mode 100644 index 00000000..cf9e49e5 --- /dev/null +++ b/webui/src/components/ReopenBugButton/OpenBug.graphql @@ -0,0 +1,7 @@ +mutation openBug($input: OpenBugInput!) { + openBug(input: $input) { + bug { + id + } + } +} \ No newline at end of file diff --git a/webui/src/components/ReopenBugButton/ReopenBugButton.tsx b/webui/src/components/ReopenBugButton/ReopenBugButton.tsx new file mode 100644 index 00000000..195ca512 --- /dev/null +++ b/webui/src/components/ReopenBugButton/ReopenBugButton.tsx @@ -0,0 +1,55 @@ +import React from 'react'; + +import Button from '@material-ui/core/Button'; + +import { BugFragment } from 'src/pages/bug/Bug.generated'; +import { TimelineDocument } from 'src/pages/bug/TimelineQuery.generated'; + +import { useOpenBugMutation } from './OpenBug.generated'; + +interface Props { + bug: BugFragment; + disabled: boolean; +} + +function ReopenBugButton({ bug, disabled }: Props) { + const [openBug, { loading, error }] = useOpenBugMutation(); + + function openBugAction() { + openBug({ + variables: { + input: { + prefix: bug.id, + }, + }, + refetchQueries: [ + // TODO: update the cache instead of refetching + { + query: TimelineDocument, + variables: { + id: bug.id, + first: 100, + }, + }, + ], + awaitRefetchQueries: true, + }); + } + + if (loading) return
Loading...
; + if (error) return
Error
; + + return ( +
+ +
+ ); +} + +export default ReopenBugButton; -- cgit