Add permalink to timestamp (#5206)
* Add permalink to timestamp * Add permalink to timestamp * Add permalink to timestamp * Add permalink to timestamp * fix error with duplicated import * underline permalink on hover
Этот коммит содержится в:
коммит произвёл
Corey Hulen
родитель
1359f7f391
Коммит
1bbed1cb2b
@@ -11,6 +11,7 @@ import RhsDropdown from 'components/rhs_dropdown.jsx';
|
||||
|
||||
import ChannelStore from 'stores/channel_store.jsx';
|
||||
import UserStore from 'stores/user_store.jsx';
|
||||
import TeamStore from 'stores/team_store.jsx';
|
||||
|
||||
import * as GlobalActions from 'actions/global_actions.jsx';
|
||||
import {flagPost, unflagPost} from 'actions/post_actions.jsx';
|
||||
@@ -25,6 +26,7 @@ import {Tooltip, OverlayTrigger} from 'react-bootstrap';
|
||||
import {FormattedMessage} from 'react-intl';
|
||||
|
||||
import React from 'react';
|
||||
import {Link} from 'react-router/es6';
|
||||
|
||||
export default class RhsRootPost extends React.Component {
|
||||
constructor(props) {
|
||||
@@ -38,7 +40,23 @@ export default class RhsRootPost extends React.Component {
|
||||
this.canDelete = false;
|
||||
this.editDisableAction = new DelayedAction(this.handleEditDisable);
|
||||
|
||||
this.state = {};
|
||||
this.state = {
|
||||
currentTeamDisplayName: TeamStore.getCurrent().name,
|
||||
width: '',
|
||||
height: ''
|
||||
};
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
window.addEventListener('resize', () => {
|
||||
Utils.updateWindowDimensions(this);
|
||||
});
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
window.removeEventListener('resize', () => {
|
||||
Utils.updateWindowDimensions(this);
|
||||
});
|
||||
}
|
||||
|
||||
handlePermalink(e) {
|
||||
@@ -100,6 +118,31 @@ export default class RhsRootPost extends React.Component {
|
||||
unflagPost(this.props.post.id);
|
||||
}
|
||||
|
||||
timeTag(post, timeOptions) {
|
||||
return (
|
||||
<time
|
||||
className='post__time'
|
||||
dateTime={Utils.getDateForUnixTicks(post.create_at).toISOString()}
|
||||
>
|
||||
{Utils.getDateForUnixTicks(post.create_at).toLocaleString('en', timeOptions)}
|
||||
</time>
|
||||
);
|
||||
}
|
||||
|
||||
renderTimeTag(post, timeOptions) {
|
||||
return Utils.isMobile() ?
|
||||
this.timeTag(post, timeOptions) :
|
||||
(
|
||||
<Link
|
||||
to={`/${this.state.currentTeamDisplayName}/pl/${post.id}`}
|
||||
target='_blank'
|
||||
className='post__permalink'
|
||||
>
|
||||
{this.timeTag(post, timeOptions)}
|
||||
</Link>
|
||||
);
|
||||
}
|
||||
|
||||
render() {
|
||||
const post = this.props.post;
|
||||
const user = this.props.user;
|
||||
@@ -426,12 +469,7 @@ export default class RhsRootPost extends React.Component {
|
||||
<li className='col__name'>{userProfile}</li>
|
||||
{botIndicator}
|
||||
<li className='col'>
|
||||
<time
|
||||
className='post__time'
|
||||
dateTime={Utils.getDateForUnixTicks(post.create_at).toISOString()}
|
||||
>
|
||||
{Utils.getDateForUnixTicks(post.create_at).toLocaleString('en', timeOptions)}
|
||||
</time>
|
||||
{this.renderTimeTag(post, timeOptions)}
|
||||
<OverlayTrigger
|
||||
key={'rootpostflagtooltipkey' + flagVisible}
|
||||
delayShow={Constants.OVERLAY_TIME_DELAY}
|
||||
|
||||
Ссылка в новой задаче
Block a user