// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. import React from 'react'; import * as Utils from 'utils/utils.jsx'; import AdminSettings from './admin_settings.jsx'; import {FormattedMessage} from 'react-intl'; import SettingsGroup from './settings_group.jsx'; import TextSetting from './text_setting.jsx'; import ReloadConfigButton from './reload_config.jsx'; import WebserverModeDropdownSetting from './webserver_mode_dropdown_setting.jsx'; export default class ConfigurationSettings extends AdminSettings { constructor(props) { super(props); this.getConfigFromState = this.getConfigFromState.bind(this); this.renderSettings = this.renderSettings.bind(this); this.state = Object.assign(this.state, { listenAddress: props.config.ServiceSettings.ListenAddress, webserverMode: props.config.ServiceSettings.WebserverMode }); } componentWillReceiveProps(nextProps) { if (nextProps.config.ServiceSettings.ListenAddress !== this.props.config.ServiceSettings.ListenAddress) { this.setState({listenAddress: nextProps.config.ServiceSettings.ListenAddress}); } } getConfigFromState(config) { config.ServiceSettings.ListenAddress = this.state.listenAddress; config.ServiceSettings.WebserverMode = this.state.webserverMode; return config; } renderTitle() { return (