// Copyright (c) 2015-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} from 'react-intl'; import SettingsGroup from './settings_group.jsx'; import TextSetting from './text_setting.jsx'; export default class SessionSettings extends AdminSettings { constructor(props) { super(props); this.getConfigFromState = this.getConfigFromState.bind(this); this.renderSettings = this.renderSettings.bind(this); } getConfigFromState(config) { config.ServiceSettings.SessionLengthWebInDays = this.parseIntNonZero(this.state.sessionLengthWebInDays); config.ServiceSettings.SessionLengthMobileInDays = this.parseIntNonZero(this.state.sessionLengthMobileInDays); config.ServiceSettings.SessionLengthSSOInDays = this.parseIntNonZero(this.state.sessionLengthSSOInDays); config.ServiceSettings.SessionCacheInMinutes = this.parseIntNonZero(this.state.sessionCacheInMinutes); return config; } getStateFromConfig(config) { return { sessionLengthWebInDays: config.ServiceSettings.SessionLengthWebInDays, sessionLengthMobileInDays: config.ServiceSettings.SessionLengthMobileInDays, sessionLengthSSOInDays: config.ServiceSettings.SessionLengthSSOInDays, sessionCacheInMinutes: config.ServiceSettings.SessionCacheInMinutes }; } renderTitle() { return ( ); } renderSettings() { return ( } placeholder={Utils.localizeMessage('admin.service.sessionDaysEx', 'Ex "30"')} helpText={ } value={this.state.sessionLengthWebInDays} onChange={this.handleChange} /> } placeholder={Utils.localizeMessage('admin.service.sessionDaysEx', 'Ex "30"')} helpText={ } value={this.state.sessionLengthMobileInDays} onChange={this.handleChange} /> } placeholder={Utils.localizeMessage('admin.service.sessionDaysEx', 'Ex "30"')} helpText={ } value={this.state.sessionLengthSSOInDays} onChange={this.handleChange} /> } placeholder={Utils.localizeMessage('admin.service.sessionDaysEx', 'Ex "30"')} helpText={ } value={this.state.sessionCacheInMinutes} onChange={this.handleChange} /> ); } }