* PLT-3647 Added config settings for email batching * PLT-3647 Refactored generation of email notification * PLT-3647 Added serverside code for email batching * PLT-3647 Updated settings UI to enable email batching * PLT-3647 Removed debug code * PLT-3647 Fixed 0-padding of minutes in batched notification * PLT-3647 Updated clientside UI for when email batching is disabled * Go fmt * PLT-3647 Changed email batching to be disabled by default * Updated batched email message * Added email batching toggle to system console * Changed Email Notifications > Immediate setting to a 30 second batch interval * Go fmt * Fixed link to Mattermost icon in batched email notification * Updated users to use 30 second email batching by default * Fully disabled email batching when clustering is enabled * Fixed email batching setting in the system console * Fixed casing of 'Send Email notifications' -> 'Send email notifications' * Updating UI Improvements for email batching (#3736) * Updated text for notification settings and SiteURL. * Prevented enabling email batching when SiteURL isn't set in the system console * Re-added a couple debug messages * Added warning text when clustering is enabled
102 строки
3.8 KiB
JavaScript
102 строки
3.8 KiB
JavaScript
// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
|
|
// See License.txt for license information.
|
|
|
|
import React from 'react';
|
|
import * as Utils from 'utils/utils.jsx';
|
|
|
|
import DropdownSetting from './dropdown_setting.jsx';
|
|
import {FormattedMessage} from 'react-intl';
|
|
|
|
const WEBSERVER_MODE_HELP_TEXT = (
|
|
<div>
|
|
<table
|
|
className='table table-bordered table-margin--none'
|
|
cellPadding='5'
|
|
>
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<FormattedMessage
|
|
id='admin.webserverModeGzip'
|
|
defaultMessage='gzip'
|
|
/>
|
|
</td>
|
|
<td>
|
|
<FormattedMessage
|
|
id='admin.webserverModeGzipDescription'
|
|
defaultMessage='The Mattermost server will serve static files compressed with gzip.'
|
|
/>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<FormattedMessage
|
|
id='admin.webserverModeUncompressed'
|
|
defaultMessage='Uncompressed'
|
|
/>
|
|
</td>
|
|
<td>
|
|
<FormattedMessage
|
|
id='admin.webserverModeUncompressedDescription'
|
|
defaultMessage='The Mattermost server will serve static files uncompressed.'
|
|
/>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<FormattedMessage
|
|
id='admin.webserverModeDisabled'
|
|
defaultMessage='Disabled'
|
|
/>
|
|
</td>
|
|
<td>
|
|
<FormattedMessage
|
|
id='admin.webserverModeDisabledDescription'
|
|
defaultMessage='The Mattermost server will not serve static files.'
|
|
/>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p className='help-text'>
|
|
<FormattedMessage
|
|
id='admin.webserverModeHelpText'
|
|
defaultMessage='gzip compression applies to static content files. It is recommended to enable gzip to improve performance unless your environment has specific restrictions, such as a web proxy that distributes gzip files poorly. This setting requires a server restart to take effect.'
|
|
/>
|
|
</p>
|
|
</div>
|
|
);
|
|
|
|
export default class WebserverModeDropdownSetting extends React.Component {
|
|
render() {
|
|
return (
|
|
<DropdownSetting
|
|
id='webserverMode'
|
|
values={[
|
|
{value: 'gzip', text: Utils.localizeMessage('admin.webserverModeGzip', 'gzip')},
|
|
{value: 'uncompressed', text: Utils.localizeMessage('admin.webserverModeUncompressed', 'Uncompressed')},
|
|
{value: 'disabled', text: Utils.localizeMessage('admin.webserverModeDiabled', 'Disabled')}
|
|
]}
|
|
label={
|
|
<FormattedMessage
|
|
id='admin.webserverModeTitle'
|
|
defaultMessage='Webserver Mode:'
|
|
/>
|
|
}
|
|
value={this.props.value}
|
|
onChange={this.props.onChange}
|
|
disabled={this.props.disabled}
|
|
helpText={WEBSERVER_MODE_HELP_TEXT}
|
|
/>
|
|
);
|
|
}
|
|
}
|
|
WebserverModeDropdownSetting.defaultProps = {
|
|
};
|
|
|
|
WebserverModeDropdownSetting.propTypes = {
|
|
value: React.PropTypes.string.isRequired,
|
|
onChange: React.PropTypes.func.isRequired,
|
|
disabled: React.PropTypes.bool.isRequired
|
|
};
|