PLT-11 Adding ability to save config file
Этот коммит содержится в:
@@ -1,36 +1,63 @@
|
||||
// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
|
||||
// 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 LogsTab = require('./logs.jsx');
|
||||
var Navbar = require('../../components/navbar.jsx');
|
||||
var AdminSidebar = require('./admin_sidebar.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 JobsSettingsTab = require('./jobs_settings.jsx');
|
||||
var LogSettingsTab = require('./log_settings.jsx');
|
||||
var LogsTab = require('./logs.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 = '';
|
||||
var tab = <LoadingScreen />;
|
||||
|
||||
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 />;
|
||||
if (this.state.config != null) {
|
||||
if (this.state.selected === 'email_settings') {
|
||||
tab = <EmailSettingsTab config={this.state.config} />;
|
||||
} else if (this.state.selected === 'job_settings') {
|
||||
tab = <JobsSettingsTab config={this.state.config} />;
|
||||
} else if (this.state.selected === 'logs') {
|
||||
tab = <LogsTab />;
|
||||
} else if (this.state.selected === 'log_settings') {
|
||||
tab = <LogSettingsTab config={this.state.config} />;
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
Ссылка в новой задаче
Block a user