summaryrefslogtreecommitdiffstats
path: root/web/react/components/admin_console/admin_controller.jsx
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2015-09-18 18:11:01 -0400
committerHarrison Healey <harrisonmhealey@gmail.com>2015-09-18 18:11:01 -0400
commit679e20aa4b74b468c7e372c77219142599f2385d (patch)
tree544b2a5f932dc2a2cbd27a800fddcb4ce07b057e /web/react/components/admin_console/admin_controller.jsx
parent676f2a63999e51a03f2f57209ce4c9f106683da4 (diff)
parentcdf813f07b207c14bb9fa03f38d734b45e40823e (diff)
downloadchat-679e20aa4b74b468c7e372c77219142599f2385d.tar.gz
chat-679e20aa4b74b468c7e372c77219142599f2385d.tar.bz2
chat-679e20aa4b74b468c7e372c77219142599f2385d.zip
Merge pull request #709 from mattermost/PLT-11
PLT-11 adding config for logs to UI
Diffstat (limited to 'web/react/components/admin_console/admin_controller.jsx')
-rw-r--r--web/react/components/admin_console/admin_controller.jsx46
1 files changed, 34 insertions, 12 deletions
diff --git a/web/react/components/admin_console/admin_controller.jsx b/web/react/components/admin_console/admin_controller.jsx
index 68984c9e0..e82fe1b76 100644
--- a/web/react/components/admin_console/admin_controller.jsx
+++ b/web/react/components/admin_console/admin_controller.jsx
@@ -2,35 +2,58 @@
// See License.txt for license information.
var AdminSidebar = require('./admin_sidebar.jsx');
-var EmailTab = require('./email_settings.jsx');
-var JobsTab = require('./jobs_settings.jsx');
+var AdminStore = require('../../stores/admin_store.jsx');
+var AsyncClient = require('../../utils/async_client.jsx');
+var LoadingScreen = require('../loading_screen.jsx');
+
+var EmailSettingsTab = require('./email_settings.jsx');
+var LogSettingsTab = require('./log_settings.jsx');
var LogsTab = require('./logs.jsx');
-var Navbar = require('../../components/navbar.jsx');
export default class AdminController extends React.Component {
constructor(props) {
super(props);
this.selectTab = this.selectTab.bind(this);
+ this.onConfigListenerChange = this.onConfigListenerChange.bind(this);
this.state = {
+ config: null,
selected: 'email_settings'
};
}
+ componentDidMount() {
+ AdminStore.addConfigChangeListener(this.onConfigListenerChange);
+ AsyncClient.getConfig();
+ }
+
+ componentWillUnmount() {
+ AdminStore.removeConfigChangeListener(this.onConfigListenerChange);
+ }
+
+ onConfigListenerChange() {
+ this.setState({
+ config: AdminStore.getConfig(),
+ selected: this.state.selected
+ });
+ }
+
selectTab(tab) {
this.setState({selected: tab});
}
render() {
- var tab = '';
-
- if (this.state.selected === 'email_settings') {
- tab = <EmailTab />;
- } else if (this.state.selected === 'job_settings') {
- tab = <JobsTab />;
- } else if (this.state.selected === 'logs') {
- tab = <LogsTab />;
+ var tab = <LoadingScreen />;
+
+ if (this.state.config != null) {
+ if (this.state.selected === 'email_settings') {
+ tab = <EmailSettingsTab config={this.state.config} />;
+ } else if (this.state.selected === 'log_settings') {
+ tab = <LogSettingsTab config={this.state.config} />;
+ } else if (this.state.selected === 'logs') {
+ tab = <LogsTab />;
+ }
}
return (
@@ -45,7 +68,6 @@ export default class AdminController extends React.Component {
/>
<div className='inner__wrap channel__wrap'>
<div className='row header'>
- <Navbar teamDisplayName='Admin Console' />
</div>
<div className='row main'>
<div