summaryrefslogtreecommitdiffstats
path: root/web/react/components/user_settings/manage_languages.jsx
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2016-03-14 08:50:46 -0400
committerChristopher Speller <crspeller@gmail.com>2016-03-16 18:02:55 -0400
commit12896bd23eeba79884245c1c29fdc568cf21a7fa (patch)
tree4e7f83d3e2564b9b89d669e9f7905ff11768b11a /web/react/components/user_settings/manage_languages.jsx
parent29fe6a3d13c9c7aa490fffebbe5d1b5fdf1e3090 (diff)
downloadchat-12896bd23eeba79884245c1c29fdc568cf21a7fa.tar.gz
chat-12896bd23eeba79884245c1c29fdc568cf21a7fa.tar.bz2
chat-12896bd23eeba79884245c1c29fdc568cf21a7fa.zip
Converting to Webpack. Stage 1.
Diffstat (limited to 'web/react/components/user_settings/manage_languages.jsx')
-rw-r--r--web/react/components/user_settings/manage_languages.jsx118
1 files changed, 0 insertions, 118 deletions
diff --git a/web/react/components/user_settings/manage_languages.jsx b/web/react/components/user_settings/manage_languages.jsx
deleted file mode 100644
index 6b00a65c7..000000000
--- a/web/react/components/user_settings/manage_languages.jsx
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
-// See License.txt for license information.
-
-import SettingItemMax from '../setting_item_max.jsx';
-
-import * as Client from '../../utils/client.jsx';
-import * as Utils from '../../utils/utils.jsx';
-import * as GlobalActions from '../../action_creators/global_actions.jsx';
-
-import {FormattedMessage} from 'mm-intl';
-
-export default class ManageLanguage extends React.Component {
- constructor(props) {
- super(props);
-
- this.setupInitialState = this.setupInitialState.bind(this);
- this.setLanguage = this.setLanguage.bind(this);
- this.changeLanguage = this.changeLanguage.bind(this);
- this.submitUser = this.submitUser.bind(this);
- this.state = this.setupInitialState(props);
- }
- setupInitialState(props) {
- var user = props.user;
- return {
- languages: Utils.languages(),
- locale: user.locale
- };
- }
- setLanguage(e) {
- this.setState({locale: e.target.value});
- }
- changeLanguage(e) {
- e.preventDefault();
-
- var user = this.props.user;
- var locale = this.state.locale;
-
- user.locale = locale;
-
- this.submitUser(user);
- }
- submitUser(user) {
- Client.updateUser(user,
- () => {
- GlobalActions.newLocalizationSelected(user.locale);
- },
- (err) => {
- let serverError;
- if (err.message) {
- serverError = err.message;
- } else {
- serverError = err;
- }
- this.setState({serverError});
- }
- );
- }
- render() {
- let serverError;
- if (this.state.serverError) {
- serverError = <label className='has-error'>{this.state.serverError}</label>;
- }
-
- const options = [];
- this.state.languages.forEach((lang) => {
- options.push(
- <option
- key={lang.value}
- value={lang.value}
- >
- {lang.name}
- </option>);
- });
-
- const input = (
- <div key='changeLanguage'>
- <br/>
- <label className='control-label'>
- <FormattedMessage
- id='user.settings.languages.change'
- defaultMessage='Change interface language'
- />
- </label>
- <div className='padding-top'>
- <select
- ref='language'
- className='form-control'
- value={this.state.locale}
- onChange={this.setLanguage}
- >
- {options}
- </select>
- {serverError}
- </div>
- </div>
- );
-
- return (
- <SettingItemMax
- title={
- <FormattedMessage
- id='user.settings.display.language'
- defaultMessage='Language'
- />
- }
- width='medium'
- submit={this.changeLanguage}
- inputs={[input]}
- updateSection={this.props.updateSection}
- />
- );
- }
-}
-
-ManageLanguage.propTypes = {
- user: React.PropTypes.object.isRequired,
- updateSection: React.PropTypes.func.isRequired
-};