Add "diff" for historic messages

This commit is contained in:
Thomas Nordquist
2019-01-12 21:39:18 +01:00
parent 8fa8ea5aa7
commit e83fe78755
4 changed files with 86 additions and 49 deletions

View File

@@ -3,16 +3,27 @@ import * as q from '../../../../backend/src/Model'
import { Theme, withTheme } from '@material-ui/core/styles'
import Fade from '@material-ui/core/Fade'
import History from './History'
import Paper from '@material-ui/core/Paper'
import Popper from '@material-ui/core/Popper'
import ValueRenderer from './ValueRenderer'
interface Props {
node?: q.TreeNode
theme: Theme
onSelect: (message: q.Message) => void
}
class MessageHistory extends React.Component<Props, {}> {
interface State {
displayMessage?: q.Message,
anchorEl?: HTMLElement
}
class MessageHistory extends React.Component<Props, State> {
constructor(props: any) {
super(props)
this.state = { }
}
private updateNode = () => {
@@ -33,16 +44,30 @@ class MessageHistory extends React.Component<Props, {}> {
}
public render() {
if (!this.props.node) {
const { node } = this.props
if (!node) {
return null
}
const history = this.props.node.messageHistory.toArray()
const history = node.messageHistory.toArray()
const historyElements = history.map(message => ({
title: message.received.toGMTString(),
value: message.value,
}))
return <History items={historyElements} />
return (
<div>
<History
items={historyElements}
onClick={this.displayMessage}
/>
</div>
)
}
private displayMessage = (index: number, eventTarget: EventTarget) => {
const message = this.props.node && this.props.node.messageHistory.toArray()[index]
this.props.onSelect(message)
}
}