1
0
Fork 0
forked from gitea/nas

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,26 +1,20 @@
import Dropdown, { DropdownTrigger, DropdownContent } from 'react-simple-dropdown';
import PureRenderMixin from 'react-addons-pure-render-mixin';
import PropTypes from 'prop-types';
const DropdownMenu = React.createClass({
class DropdownMenu extends React.PureComponent {
propTypes: {
icon: React.PropTypes.string.isRequired,
items: React.PropTypes.array.isRequired,
size: React.PropTypes.number.isRequired,
direction: React.PropTypes.string
},
getDefaultProps () {
return {
constructor (props, context) {
super(props, context);
this.state = {
direction: 'left'
};
},
mixins: [PureRenderMixin],
this.setRef = this.setRef.bind(this);
this.renderItem = this.renderItem.bind(this);
}
setRef (c) {
this.dropdown = c;
},
}
handleClick (i, e) {
const { action } = this.props.items[i];
@ -30,7 +24,7 @@ const DropdownMenu = React.createClass({
action();
this.dropdown.hide();
}
},
}
renderItem (item, i) {
if (item === null) {
@ -46,7 +40,7 @@ const DropdownMenu = React.createClass({
</a>
</li>
);
},
}
render () {
const { icon, items, size, direction } = this.props;
@ -67,6 +61,13 @@ const DropdownMenu = React.createClass({
);
}
});
}
DropdownMenu.propTypes = {
icon: PropTypes.string.isRequired,
items: PropTypes.array.isRequired,
size: PropTypes.number.isRequired,
direction: PropTypes.string
};
export default DropdownMenu;