Remove deprecated features at React v15.5 (#1905)

* Remove deprecated features at React v15.5

- [x] React.PropTypes
- [x] react-addons-pure-render-mixin
- [x] react-addons-test-utils

* Uncommented out & Add browserify_rails options

* re-add react-addons-shallow

* Fix syntax error from resolve conflicts

* follow up 59a77923b3
This commit is contained in:
Yamagishi Kazutoshi
2017-04-22 03:05:35 +09:00
committed by Eugen
parent 27ea2a88c1
commit 1948f9e767
83 changed files with 1441 additions and 1291 deletions

View File

@ -1,29 +1,24 @@
import ImmutablePropTypes from 'react-immutable-proptypes';
import PureRenderMixin from 'react-addons-pure-render-mixin';
import escapeTextContentForBrowser from 'escape-html';
import PropTypes from 'prop-types';
import emojify from '../emoji';
import { isRtl } from '../rtl';
import { FormattedMessage } from 'react-intl';
import Permalink from './permalink';
const StatusContent = React.createClass({
class StatusContent extends React.PureComponent {
contextTypes: {
router: React.PropTypes.object
},
propTypes: {
status: ImmutablePropTypes.map.isRequired,
onClick: React.PropTypes.func
},
getInitialState () {
return {
constructor (props, context) {
super(props, context);
this.state = {
hidden: true
};
},
mixins: [PureRenderMixin],
this.onMentionClick = this.onMentionClick.bind(this);
this.onHashtagClick = this.onHashtagClick.bind(this);
this.handleMouseDown = this.handleMouseDown.bind(this)
this.handleMouseUp = this.handleMouseUp.bind(this);
this.handleSpoilerClick = this.handleSpoilerClick.bind(this);
};
componentDidMount () {
const node = ReactDOM.findDOMNode(this);
@ -47,14 +42,14 @@ const StatusContent = React.createClass({
link.setAttribute('title', link.href);
}
}
},
}
onMentionClick (mention, e) {
if (e.button === 0) {
e.preventDefault();
this.context.router.push(`/accounts/${mention.get('id')}`);
}
},
}
onHashtagClick (hashtag, e) {
hashtag = hashtag.replace(/^#/, '').toLowerCase();
@ -63,11 +58,11 @@ const StatusContent = React.createClass({
e.preventDefault();
this.context.router.push(`/timelines/tag/${hashtag}`);
}
},
}
handleMouseDown (e) {
this.startXY = [e.clientX, e.clientY];
},
}
handleMouseUp (e) {
const [ startX, startY ] = this.startXY;
@ -82,12 +77,12 @@ const StatusContent = React.createClass({
}
this.startXY = null;
},
}
handleSpoilerClick (e) {
e.preventDefault();
this.setState({ hidden: !this.state.hidden });
},
}
render () {
const { status } = this.props;
@ -146,8 +141,17 @@ const StatusContent = React.createClass({
/>
);
}
},
}
});
}
StatusContent.contextTypes = {
router: PropTypes.object
};
StatusContent.propTypes = {
status: ImmutablePropTypes.map.isRequired,
onClick: PropTypes.func
};
export default StatusContent;