From f578bb1e48ec4d97bca92c7faf0dd8ed5aeceb39 Mon Sep 17 00:00:00 2001 From: =Corey Hulen Date: Tue, 1 Sep 2015 17:06:31 -0700 Subject: MM-2065 style refactoring --- web/react/components/user_settings.jsx | 76 +++++++++++++++++++++++----------- 1 file changed, 51 insertions(+), 25 deletions(-) (limited to 'web/react/components/user_settings.jsx') diff --git a/web/react/components/user_settings.jsx b/web/react/components/user_settings.jsx index 9b0e906c5..282fb7681 100644 --- a/web/react/components/user_settings.jsx +++ b/web/react/components/user_settings.jsx @@ -8,56 +8,82 @@ var SecurityTab = require('./user_settings_security.jsx'); var GeneralTab = require('./user_settings_general.jsx'); var AppearanceTab = require('./user_settings_appearance.jsx'); -module.exports = React.createClass({ - displayName: 'UserSettings', - propTypes: { - activeTab: React.PropTypes.string, - activeSection: React.PropTypes.string, - updateSection: React.PropTypes.func, - updateTab: React.PropTypes.func - }, - componentDidMount: function() { +export default class UserSettings extends React.Component { + constructor(props) { + super(props); + + this.onListenerChange = this.onListenerChange.bind(this); + + this.state = {user: UserStore.getCurrentUser()}; + } + + componentDidMount() { UserStore.addChangeListener(this.onListenerChange); - }, - componentWillUnmount: function() { + } + + componentWillUnmount() { UserStore.removeChangeListener(this.onListenerChange); - }, - onListenerChange: function () { + } + + onListenerChange() { var user = UserStore.getCurrentUser(); if (!utils.areStatesEqual(this.state.user, user)) { this.setState({user: user}); } - }, - getInitialState: function() { - return {user: UserStore.getCurrentUser()}; - }, - render: function() { + } + + render() { if (this.props.activeTab === 'general') { return (
- +
); } else if (this.props.activeTab === 'security') { return (
- +
); } else if (this.props.activeTab === 'notifications') { return (
- +
); } else if (this.props.activeTab === 'appearance') { return (
- +
); - } else { - return
; } + + return
; } -}); +} + +UserSettings.propTypes = { + activeTab: React.PropTypes.string, + activeSection: React.PropTypes.string, + updateSection: React.PropTypes.func, + updateTab: React.PropTypes.func +}; \ No newline at end of file -- cgit v1.2.3-1-g7c22