summaryrefslogtreecommitdiffstats
path: root/web/react/components/time_since.jsx
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2015-11-02 14:20:54 -0500
committerHarrison Healey <harrisonmhealey@gmail.com>2015-11-02 14:20:54 -0500
commite52669c2da0bb78c225a5c87edebe472e4c7ac56 (patch)
treea311de9975f99ab26396510c7261bfc30f799495 /web/react/components/time_since.jsx
parent31eee1ef6ebb59a89885ef7e3ebd6801f9a396d4 (diff)
parentd4ec6d3bf42d257851304fe9588f2db8bbbefa13 (diff)
downloadchat-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.jsx50
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
+};