Files
mostlymatter/webapp/components/admin_console/recycle_db.jsx
Asaad Mahmood f91b9d4a65 PLT-3418, PLT-2950, PLT-3375, PLT-3382, PLT-3446, PLT-3465: Multiple UI Improvements (#3449)
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
2016-07-05 15:46:36 -04:00

110 строки
3.5 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 {FormattedMessage, FormattedHTMLMessage} from 'react-intl';
export default class RecycleDbButton extends React.Component {
constructor(props) {
super(props);
this.handleRecycle = this.handleRecycle.bind(this);
this.state = {
loading: false,
fail: null
};
}
handleRecycle(e) {
e.preventDefault();
this.setState({
loading: true,
fail: null
});
Client.recycleDatabaseConnection(
() => {
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.recycle.reloadFail'
defaultMessage='Recycling unsuccessful: {error}'
values={{
error: this.state.fail
}}
/>
</div>
);
}
let helpText = (
<FormattedHTMLMessage
id='admin.recycle.recycleDescription'
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 <a href="../general/configuration"><b>Configuration > Reload Configuration from Disk</b></a> feature to load the new settings while the server is running. The administrator should then use <b>Recycle Database Connections</b> 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.recycle.loading', ' Recycling...')}
</span>
);
} else {
contents = (
<FormattedMessage
id='admin.recycle.button'
defaultMessage='Recycle Database Connections'
/>
);
}
return (
<div className='form-group recycle-db'>
<div className='col-sm-offset-4 col-sm-8'>
<div>
<button
className='btn btn-default'
onClick={this.handleRecycle}
>
{contents}
</button>
{testMessage}
</div>
<div className='help-text'>
{helpText}
</div>
</div>
</div>
);
}
}