blob: 59a129fc016ecb1dee5aea28e1574c0f59df4d43 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
import React from 'react';
import * as Utils from 'utils/utils.jsx';
import AdminSettings from './admin_settings.jsx';
import {FormattedHTMLMessage, FormattedMessage} from 'react-intl';
import SettingsGroup from './settings_group.jsx';
import TextSetting from './text_setting.jsx';
export default class ExternalServiceSettings extends AdminSettings {
constructor(props) {
super(props);
this.getConfigFromState = this.getConfigFromState.bind(this);
this.renderSettings = this.renderSettings.bind(this);
}
getConfigFromState(config) {
config.ServiceSettings.SegmentDeveloperKey = this.state.segmentDeveloperKey;
config.ServiceSettings.GoogleDeveloperKey = this.state.googleDeveloperKey;
return config;
}
getStateFromConfig(config) {
return {
segmentDeveloperKey: config.ServiceSettings.SegmentDeveloperKey,
googleDeveloperKey: config.ServiceSettings.GoogleDeveloperKey
};
}
renderTitle() {
return (
<h3>
<FormattedMessage
id='admin.integrations.external'
defaultMessage='External Services'
/>
</h3>
);
}
renderSettings() {
return (
<SettingsGroup>
<TextSetting
id='segmentDeveloperKey'
label={
<FormattedMessage
id='admin.service.segmentTitle'
defaultMessage='Segment Write Key:'
/>
}
placeholder={Utils.localizeMessage('admin.service.segmentExample', 'Ex "g3fgGOXJAQ43QV7rAh6iwQCkV4cA1Gs"')}
helpText={
<FormattedMessage
id='admin.service.segmentDescription'
defaultMessage='Segment.com is an online service that can be optionally used to track detailed system statistics. You can obtain a key by signing-up for a free account at Segment.com.'
/>
}
value={this.state.segmentDeveloperKey}
onChange={this.handleChange}
/>
<TextSetting
id='googleDeveloperKey'
label={
<FormattedMessage
id='admin.service.googleTitle'
defaultMessage='Google API Key:'
/>
}
placeholder={Utils.localizeMessage('admin.service.googleExample', 'Ex "7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QV"')}
helpText={
<FormattedHTMLMessage
id='admin.service.googleDescription'
defaultMessage='Set this key to enable the display of titles for embedded YouTube video previews. Without the key, YouTube previews will still be created based on hyperlinks appearing in messages or comments but they will not show the video title. View a <a href="https://www.youtube.com/watch?v=Im69kzhpR3I" target="_blank">Google Developers Tutorial</a> for instructions on how to obtain a key.'
/>
}
value={this.state.googleDeveloperKey}
onChange={this.handleChange}
/>
</SettingsGroup>
);
}
}
|