ringcentral-widget
Version:
RingCentral Integration Widget Library
245 lines (213 loc) • 7.64 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = SettingsPanel;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _DynamicsFont = require('../../assets/DynamicsFont/DynamicsFont.scss');
var _DynamicsFont2 = _interopRequireDefault(_DynamicsFont);
var _Header = require('../Header');
var _Header2 = _interopRequireDefault(_Header);
var _Panel = require('../Panel');
var _Panel2 = _interopRequireDefault(_Panel);
var _Line = require('../Line');
var _Line2 = _interopRequireDefault(_Line);
var _LinkLine = require('../LinkLine');
var _LinkLine2 = _interopRequireDefault(_LinkLine);
var _IconLine = require('../IconLine');
var _IconLine2 = _interopRequireDefault(_IconLine);
var _Eula = require('../Eula');
var _Eula2 = _interopRequireDefault(_Eula);
var _SpinnerOverlay = require('../SpinnerOverlay');
var _SpinnerOverlay2 = _interopRequireDefault(_SpinnerOverlay);
var _styles = require('./styles.scss');
var _styles2 = _interopRequireDefault(_styles);
var _Switch = require('../Switch');
var _Switch2 = _interopRequireDefault(_Switch);
var _i18n = require('./i18n');
var _i18n2 = _interopRequireDefault(_i18n);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function SettingsPanel(_ref) {
var children = _ref.children,
className = _ref.className,
onLogoutButtonClick = _ref.onLogoutButtonClick,
loginNumber = _ref.loginNumber,
version = _ref.version,
currentLocale = _ref.currentLocale,
brandId = _ref.brandId,
EulaRenderer = _ref.EulaRenderer,
callingSettingsUrl = _ref.callingSettingsUrl,
regionSettingsUrl = _ref.regionSettingsUrl,
showAutoLog = _ref.showAutoLog,
autoLogEnabled = _ref.autoLogEnabled,
onAutoLogChange = _ref.onAutoLogChange,
showAutoLogSMS = _ref.showAutoLogSMS,
autoLogSMSEnabled = _ref.autoLogSMSEnabled,
onAutoLogSMSChange = _ref.onAutoLogSMSChange,
showClickToDial = _ref.showClickToDial,
clickToDialEnabled = _ref.clickToDialEnabled,
onClickToDialChange = _ref.onClickToDialChange,
showRegion = _ref.showRegion,
showHeader = _ref.showHeader,
ringoutEnabled = _ref.ringoutEnabled,
outboundSMS = _ref.outboundSMS,
showSpinner = _ref.showSpinner;
if (showSpinner) {
return _react2.default.createElement(_SpinnerOverlay2.default, null);
}
var region = showRegion ? _react2.default.createElement(
_LinkLine2.default,
{
to: regionSettingsUrl },
_i18n2.default.getString('region', currentLocale)
) : null;
var clickToDialText = void 0;
if (outboundSMS && ringoutEnabled) {
clickToDialText = _i18n2.default.getString('clickToDialSMS', currentLocale);
} else if (!outboundSMS && ringoutEnabled) {
clickToDialText = _i18n2.default.getString('clickToDial', currentLocale);
} else if (outboundSMS && !ringoutEnabled) {
clickToDialText = _i18n2.default.getString('clickToSMS', currentLocale);
} else {
clickToDialText = '';
}
var clickToDial = showClickToDial && (outboundSMS || ringoutEnabled) ? _react2.default.createElement(
_IconLine2.default,
{
icon: _react2.default.createElement(_Switch2.default, {
checked: clickToDialEnabled,
onChange: onClickToDialChange
})
},
clickToDialText
) : null;
var autoLog = showAutoLog ? _react2.default.createElement(
_IconLine2.default,
{
icon: _react2.default.createElement(_Switch2.default, {
checked: autoLogEnabled,
onChange: onAutoLogChange
})
},
_i18n2.default.getString('autoCreateLog', currentLocale)
) : null;
var autoLogSMS = showAutoLogSMS ? _react2.default.createElement(
_IconLine2.default,
{
icon: _react2.default.createElement(_Switch2.default, {
checked: autoLogSMSEnabled,
onChange: onAutoLogSMSChange
})
},
_i18n2.default.getString('autoCreateSMSLog', currentLocale)
) : null;
var header = showHeader ? _react2.default.createElement(
_Header2.default,
null,
_i18n2.default.getString('settings', currentLocale)
) : null;
return _react2.default.createElement(
'div',
{ className: (0, _classnames2.default)(_styles2.default.root, className) },
header,
_react2.default.createElement(
_Panel2.default,
{
className: (0, _classnames2.default)(_styles2.default.content, showHeader && _styles2.default.contentWithHeader) },
_react2.default.createElement(
_LinkLine2.default,
{
to: callingSettingsUrl },
_i18n2.default.getString('calling', currentLocale)
),
region,
children,
autoLog,
autoLogSMS,
clickToDial,
_react2.default.createElement(
'section',
{ className: _styles2.default.section },
_react2.default.createElement(
_Line2.default,
null,
_react2.default.createElement(EulaRenderer, {
className: _styles2.default.eula,
currentLocale: currentLocale,
brandId: brandId })
)
),
_react2.default.createElement(
'section',
{ className: _styles2.default.section },
_react2.default.createElement(
_IconLine2.default,
{
onClick: onLogoutButtonClick,
icon: _react2.default.createElement('span', { className: _DynamicsFont2.default.logout }) },
_i18n2.default.getString('logout', currentLocale),
_react2.default.createElement(
'span',
{ className: _styles2.default.loginNumber },
' ' + loginNumber
)
)
),
_react2.default.createElement(
'div',
{ className: _styles2.default.versionContainer },
_i18n2.default.getString('version', currentLocale),
' ',
version
)
)
);
}
SettingsPanel.propTypes = {
brandId: _react.PropTypes.string.isRequired,
callingSettingsUrl: _react.PropTypes.string.isRequired,
children: _react.PropTypes.node,
className: _react.PropTypes.string,
currentLocale: _react.PropTypes.string.isRequired,
EulaRenderer: _react.PropTypes.func,
loginNumber: _react.PropTypes.string.isRequired,
onLogoutButtonClick: _react.PropTypes.func.isRequired,
regionSettingsUrl: _react.PropTypes.string.isRequired,
showAutoLog: _react.PropTypes.bool,
autoLogEnabled: _react.PropTypes.bool,
onAutoLogChange: _react.PropTypes.func,
showAutoLogSMS: _react.PropTypes.bool,
autoLogSMSEnabled: _react.PropTypes.bool,
onAutoLogSMSChange: _react.PropTypes.func,
showRegion: _react.PropTypes.bool.isRequired,
showClickToDial: _react.PropTypes.bool,
clickToDialEnabled: _react.PropTypes.bool,
onClickToDialChange: _react.PropTypes.func,
version: _react.PropTypes.string.isRequired,
showHeader: _react.PropTypes.bool,
ringoutEnabled: _react.PropTypes.bool,
outboundSMS: _react.PropTypes.bool,
showSpinner: _react.PropTypes.bool
};
SettingsPanel.defaultProps = {
className: null,
EulaRenderer: _Eula2.default,
children: null,
showClickToDial: false,
clickToDialEnabled: false,
onClickToDialChange: undefined,
showAutoLog: false,
autoLogEnabled: false,
onAutoLogChange: undefined,
showAutoLogSMS: false,
autoLogSMSEnabled: false,
onAutoLogSMSChange: undefined,
showHeader: false,
ringoutEnabled: false,
outboundSMS: false,
showSpinner: false
};
//# sourceMappingURL=index.js.map