diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2015-11-02 14:20:54 -0500 |
---|---|---|
committer | Harrison Healey <harrisonmhealey@gmail.com> | 2015-11-02 14:20:54 -0500 |
commit | e52669c2da0bb78c225a5c87edebe472e4c7ac56 (patch) | |
tree | a311de9975f99ab26396510c7261bfc30f799495 /web/react/components/time_since.jsx | |
parent | 31eee1ef6ebb59a89885ef7e3ebd6801f9a396d4 (diff) | |
parent | d4ec6d3bf42d257851304fe9588f2db8bbbefa13 (diff) | |
download | chat-e52669c2da0bb78c225a5c87edebe472e4c7ac56.tar.gz chat-e52669c2da0bb78c225a5c87edebe472e4c7ac56.tar.bz2 chat-e52669c2da0bb78c225a5c87edebe472e4c7ac56.zip |
Merge pull request #1249 from mattermost/plt-823
PLT-823 Refactor of center channel
Diffstat (limited to 'web/react/components/time_since.jsx')
-rw-r--r-- | web/react/components/time_since.jsx | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/web/react/components/time_since.jsx b/web/react/components/time_since.jsx new file mode 100644 index 000000000..c37739b9c --- /dev/null +++ b/web/react/components/time_since.jsx @@ -0,0 +1,50 @@ +// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +var Utils = require('../utils/utils.jsx'); + +var Tooltip = ReactBootstrap.Tooltip; +var OverlayTrigger = ReactBootstrap.OverlayTrigger; + +export default class TimeSince extends React.Component { + constructor(props) { + super(props); + } + componentDidMount() { + this.intervalId = setInterval(() => { + this.forceUpdate(); + }, 30000); + } + componentWillUnmount() { + clearInterval(this.intervalId); + } + render() { + const displayDate = Utils.displayDate(this.props.eventTime); + const displayTime = Utils.displayTime(this.props.eventTime); + + const tooltip = ( + <Tooltip id={'time-since-tooltip-' + this.props.eventTime}> + {displayDate + ' at ' + displayTime} + </Tooltip> + ); + + return ( + <OverlayTrigger + delayShow={400} + placement='top' + overlay={tooltip} + > + <time className='post-profile-time'> + {Utils.displayDateTime(this.props.eventTime)} + </time> + </OverlayTrigger> + ); + } +} +TimeSince.defaultProps = { + eventTime: 0 +}; + +TimeSince.propTypes = { + eventTime: React.PropTypes.number.isRequired +}; |