Improving help text margins Updating changes for get link and create post files Fixing icon for select team screen Fixing styles for select team button Adding improvements to posts UI Adding improvement to post layout Updating changes for post controls Updating z-index for sidebar--right Updating help text position Fixing code for posts Fixing css for post view Pushing improvements for posts view Updating changes for post view Updating post layout Fixing system time css Updating header for system posts Updating post css Removing opacity and changing color for system messages Simplifying root post and system post behaviour Removing images from compact view Updating help text for display Updating embed preview text for advanced option PLT-3490 - Fixing RHS issue on Edge
114 строки
3.6 KiB
JavaScript
114 строки
3.6 KiB
JavaScript
// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
|
|
// See License.txt for license information.
|
|
|
|
import React from 'react';
|
|
|
|
import Client from 'utils/web_client.jsx';
|
|
import * as Utils from 'utils/utils.jsx';
|
|
|
|
import {getConfig} from 'utils/async_client.jsx';
|
|
|
|
import {FormattedMessage, FormattedHTMLMessage} from 'react-intl';
|
|
|
|
export default class ReloadConfigButton extends React.Component {
|
|
constructor(props) {
|
|
super(props);
|
|
|
|
this.handleReloadConfig = this.handleReloadConfig.bind(this);
|
|
|
|
this.state = {
|
|
loading: false,
|
|
fail: null
|
|
};
|
|
}
|
|
|
|
handleReloadConfig(e) {
|
|
e.preventDefault();
|
|
|
|
this.setState({
|
|
loading: true,
|
|
fail: null
|
|
});
|
|
|
|
Client.reloadConfig(
|
|
() => {
|
|
getConfig();
|
|
this.setState({
|
|
loading: false
|
|
});
|
|
},
|
|
(err) => {
|
|
this.setState({
|
|
loading: false,
|
|
fail: err.message + ' - ' + err.detailed_error
|
|
});
|
|
}
|
|
);
|
|
}
|
|
|
|
render() {
|
|
if (global.window.mm_license.IsLicensed !== 'true') {
|
|
return <div></div>;
|
|
}
|
|
|
|
let testMessage = null;
|
|
if (this.state.fail) {
|
|
testMessage = (
|
|
<div className='alert alert-warning'>
|
|
<i className='fa fa-warning'></i>
|
|
<FormattedMessage
|
|
id='admin.reload.reloadFail'
|
|
defaultMessage='Reload unsuccessful: {error}'
|
|
values={{
|
|
error: this.state.fail
|
|
}}
|
|
/>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
let helpText = (
|
|
<FormattedHTMLMessage
|
|
id='admin.reload.reloadDescription'
|
|
defaultMessage='Deployments using multiple databases can switch from one master database to another without restarting the Mattermost server by updating "config.json" to the new desired configuration and using the <b>Reload Configuration from Disk</b> feature to load the new settings while the server is running. The administrator should then use the <a href="../advanced/database"><b>Database > Recycle Database Connections</b></a> feature to recycle the database connections based on the new settings.'
|
|
/>
|
|
);
|
|
|
|
let contents = null;
|
|
if (this.state.loading) {
|
|
contents = (
|
|
<span>
|
|
<span className='fa fa-refresh icon--rotate'/>
|
|
{Utils.localizeMessage('admin.reload.loading', ' Loading...')}
|
|
</span>
|
|
);
|
|
} else {
|
|
contents = (
|
|
<FormattedMessage
|
|
id='admin.reload.button'
|
|
defaultMessage='Reload Configuration From Disk'
|
|
/>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<div className='form-group reload-config'>
|
|
<div className='col-sm-offset-4 col-sm-8'>
|
|
<div>
|
|
<button
|
|
className='btn btn-default'
|
|
onClick={this.handleReloadConfig}
|
|
>
|
|
{contents}
|
|
</button>
|
|
{testMessage}
|
|
</div>
|
|
<div className='help-text'>
|
|
{helpText}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|
|
}
|