// Copyright (c) 2016-present 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 {FormattedMessage, FormattedHTMLMessage} from 'react-intl';
import SettingsGroup from './settings_group.jsx';
import BooleanSetting from './boolean_setting.jsx';
import TextSetting from './text_setting.jsx';
export default class WebrtcSettings extends AdminSettings {
constructor(props) {
super(props);
this.getConfigFromState = this.getConfigFromState.bind(this);
this.renderSettings = this.renderSettings.bind(this);
}
getConfigFromState(config) {
config.WebrtcSettings.Enable = this.state.enableWebrtc;
config.WebrtcSettings.GatewayWebsocketUrl = this.state.gatewayWebsocketUrl;
config.WebrtcSettings.GatewayAdminUrl = this.state.gatewayAdminUrl;
config.WebrtcSettings.GatewayAdminSecret = this.state.gatewayAdminSecret;
config.WebrtcSettings.StunURI = this.state.stunURI;
config.WebrtcSettings.TurnURI = this.state.turnURI;
config.WebrtcSettings.TurnUsername = this.state.turnUsername;
config.WebrtcSettings.TurnSharedKey = this.state.turnSharedKey;
return config;
}
getStateFromConfig(config) {
const settings = config.WebrtcSettings;
return {
hasErrors: false,
enableWebrtc: settings.Enable,
gatewayWebsocketUrl: settings.GatewayWebsocketUrl,
gatewayAdminUrl: settings.GatewayAdminUrl,
gatewayAdminSecret: settings.GatewayAdminSecret,
stunURI: settings.StunURI,
turnURI: settings.TurnURI,
turnUsername: settings.TurnUsername,
turnSharedKey: settings.TurnSharedKey
};
}
renderTitle() {
return (
);
}
renderSettings() {
return (
}
helpText={
}
value={this.state.enableWebrtc}
onChange={this.handleChange}
/>
}
placeholder={Utils.localizeMessage('admin.webrtc.gatewayWebsocketUrlExample', 'Ex "wss://webrtc.mattermost.com:8189"')}
helpText={
}
value={this.state.gatewayWebsocketUrl}
onChange={this.handleChange}
disabled={!this.state.enableWebrtc}
/>
}
placeholder={Utils.localizeMessage('admin.webrtc.gatewayAdminUrlExample', 'Ex "https://webrtc.mattermost.com:7089/admin"')}
helpText={
}
value={this.state.gatewayAdminUrl}
onChange={this.handleChange}
disabled={!this.state.enableWebrtc}
/>
}
placeholder={Utils.localizeMessage('admin.webrtc.gatewayAdminSecretExample', 'Ex "PVRzWNN1Tg6szn7IQWvhpAvLByScWxdy"')}
helpText={
}
value={this.state.gatewayAdminSecret}
onChange={this.handleChange}
disabled={!this.state.enableWebrtc}
/>
}
placeholder={Utils.localizeMessage('admin.webrtc.stunUriExample', 'Ex "stun:webrtc.mattermost.com:5349"')}
helpText={
}
value={this.state.stunURI}
onChange={this.handleChange}
disabled={!this.state.enableWebrtc}
/>
}
placeholder={Utils.localizeMessage('admin.webrtc.turnUriExample', 'Ex "turn:webrtc.mattermost.com:5349"')}
helpText={
}
value={this.state.turnURI}
onChange={this.handleChange}
disabled={!this.state.enableWebrtc}
/>
}
placeholder={Utils.localizeMessage('admin.webrtc.turnUsernameExample', 'Ex "myusername"')}
helpText={
}
value={this.state.turnUsername}
onChange={this.handleChange}
disabled={!this.state.enableWebrtc || !this.state.turnURI}
/>
}
placeholder={Utils.localizeMessage('admin.webrtc.turnSharedKeyExample', 'Ex "bXdkOWQxc3d0Ynk3emY5ZmsxZ3NtazRjaWg="')}
helpText={
}
value={this.state.turnSharedKey}
onChange={this.handleChange}
disabled={!this.state.enableWebrtc || !this.state.turnURI}
/>
);
}
}