aboutsummaryrefslogtreecommitdiffstats
path: root/webui/src/bug/TimelineQuery.js
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2018-08-15 20:31:53 +0200
committerMichael Muré <batolettre@gmail.com>2018-08-15 20:31:53 +0200
commit1984d4343db770fc2c8e251a81f1ab997a4c4d5e (patch)
treed60630e0d36ea24ee9eaf16653194703f4b46dd8 /webui/src/bug/TimelineQuery.js
parent2530cee1eac225924e1119554cf475cdc46ed7dc (diff)
downloadgit-bug-1984d4343db770fc2c8e251a81f1ab997a4c4d5e.tar.gz
webui: rework of the bug page with a timeline
Diffstat (limited to 'webui/src/bug/TimelineQuery.js')
-rw-r--r--webui/src/bug/TimelineQuery.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/webui/src/bug/TimelineQuery.js b/webui/src/bug/TimelineQuery.js
new file mode 100644
index 00000000..e773aac0
--- /dev/null
+++ b/webui/src/bug/TimelineQuery.js
@@ -0,0 +1,39 @@
+import CircularProgress from '@material-ui/core/CircularProgress'
+import gql from 'graphql-tag'
+import React from 'react'
+import { Query } from 'react-apollo'
+import Timeline from './Timeline'
+import Message from './Message'
+
+const QUERY = gql`
+ query($id: String!, $first: Int = 10, $after: String) {
+ defaultRepository {
+ bug(prefix: $id) {
+ operations(first: $first, after: $after) {
+ nodes {
+ ...Create
+ ...Comment
+ }
+ pageInfo {
+ hasNextPage
+ endCursor
+ }
+ }
+ }
+ }
+ }
+ ${Message.createFragment}
+ ${Message.commentFragment}
+`
+
+const TimelineQuery = ({id}) => (
+ <Query query={QUERY} variables={{id}}>
+ {({loading, error, data, fetchMore}) => {
+ if (loading) return <CircularProgress/>
+ if (error) return <p>Error: {error}</p>
+ return <Timeline ops={data.defaultRepository.bug.operations.nodes} fetchMore={fetchMore}/>
+ }}
+ </Query>
+)
+
+export default TimelineQuery