From 17aa40505b58a4a9d679efb8512252397872470c Mon Sep 17 00:00:00 2001 From: Michael Muré Date: Wed, 15 Aug 2018 22:09:17 +0200 Subject: webui: display title changes in the timeline --- webui/src/bug/SetTitle.js | 43 ++++++++++++++++++++++++++++++++++++++++++ webui/src/bug/Timeline.js | 3 +++ webui/src/bug/TimelineQuery.js | 3 +++ 3 files changed, 49 insertions(+) create mode 100644 webui/src/bug/SetTitle.js (limited to 'webui') diff --git a/webui/src/bug/SetTitle.js b/webui/src/bug/SetTitle.js new file mode 100644 index 00000000..b6bb8b70 --- /dev/null +++ b/webui/src/bug/SetTitle.js @@ -0,0 +1,43 @@ +import { withStyles } from '@material-ui/core/styles' +import gql from 'graphql-tag' +import React from 'react' +import Author from '../Author' +import Date from '../Date' + +const styles = theme => ({ + main: { + ...theme.typography.body2 + }, + bold: { + fontWeight: 'bold' + } +}) + +const SetTitle = ({op, classes}) => { + return ( +
+ + changed the title from + {op.was} + to + {op.title} + +
+ ) +} + +SetTitle.fragment = gql` + fragment SetTitle on Operation { + ... on SetTitleOperation { + date + author { + name + email + } + title + was + } + } +` + +export default withStyles(styles)(SetTitle) diff --git a/webui/src/bug/Timeline.js b/webui/src/bug/Timeline.js index 72c07121..2881a73b 100644 --- a/webui/src/bug/Timeline.js +++ b/webui/src/bug/Timeline.js @@ -2,6 +2,7 @@ import { withStyles } from '@material-ui/core/styles' import React from 'react' import LabelChange from './LabelChange' import Message from './Message' +import SetTitle from './SetTitle' const styles = theme => ({ main: { @@ -32,6 +33,8 @@ class Timeline extends React.Component { return case 'LabelChangeOperation': return + case 'SetTitleOperation': + return default: console.log('unsupported operation type ' + op.__typename) diff --git a/webui/src/bug/TimelineQuery.js b/webui/src/bug/TimelineQuery.js index ad4d00b0..3d7db143 100644 --- a/webui/src/bug/TimelineQuery.js +++ b/webui/src/bug/TimelineQuery.js @@ -3,6 +3,7 @@ import gql from 'graphql-tag' import React from 'react' import { Query } from 'react-apollo' import LabelChange from './LabelChange' +import SetTitle from './SetTitle' import Timeline from './Timeline' import Message from './Message' @@ -15,6 +16,7 @@ const QUERY = gql` ...Create ...Comment ...LabelChange + ...SetTitle } pageInfo { hasNextPage @@ -27,6 +29,7 @@ const QUERY = gql` ${Message.createFragment} ${Message.commentFragment} ${LabelChange.fragment} + ${SetTitle.fragment} ` const TimelineQuery = ({id}) => ( -- cgit