ringcentral-widget
Version:
RingCentral Integration Widget Library
137 lines (97 loc) • 4.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactRedux = require('react-redux');
var _Alert = require('ringcentral-integration/modules/Alert');
var _Alert2 = _interopRequireDefault(_Alert);
var _Brand = require('ringcentral-integration/modules/Brand');
var _Brand2 = _interopRequireDefault(_Brand);
var _Locale = require('ringcentral-integration/modules/Locale');
var _Locale2 = _interopRequireDefault(_Locale);
var _RateLimiter = require('ringcentral-integration/modules/RateLimiter');
var _RateLimiter2 = _interopRequireDefault(_RateLimiter);
var _AlertDisplay = require('../../components/AlertDisplay');
var _AlertDisplay2 = _interopRequireDefault(_AlertDisplay);
var _AuthAlert = require('../../components/AuthAlert');
var _AuthAlert2 = _interopRequireDefault(_AuthAlert);
var _CallAlert = require('../../components/CallAlert');
var _CallAlert2 = _interopRequireDefault(_CallAlert);
var _CallingSettingsAlert = require('../../components/CallingSettingsAlert');
var _CallingSettingsAlert2 = _interopRequireDefault(_CallingSettingsAlert);
var _RegionSettingsAlert = require('../../components/RegionSettingsAlert');
var _RegionSettingsAlert2 = _interopRequireDefault(_RegionSettingsAlert);
var _MessageSenderAlert = require('../../components/MessageSenderAlert');
var _MessageSenderAlert2 = _interopRequireDefault(_MessageSenderAlert);
var _RateExceededAlert = require('../../components/RateExceededAlert');
var _RateExceededAlert2 = _interopRequireDefault(_RateExceededAlert);
var _ConnectivityAlert = require('../../components/ConnectivityAlert');
var _ConnectivityAlert2 = _interopRequireDefault(_ConnectivityAlert);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var AlertContainer = (0, _reactRedux.connect)(function (state, _ref) {
var locale = _ref.locale,
alert = _ref.alert;
return {
currentLocale: locale.currentLocale,
messages: alert.messages
};
}, function (dispatch, _ref2) {
var rateLimiter = _ref2.rateLimiter,
brand = _ref2.brand,
alert = _ref2.alert;
return {
getRenderer: function getRenderer(message) {
if (_AuthAlert2.default.handleMessage(message)) {
return _AuthAlert2.default;
}
if (_CallAlert2.default.handleMessage(message)) {
return function (props) {
return _react2.default.createElement(_CallAlert2.default, (0, _extends3.default)({}, props, {
regionSettingsUrl: '/settings/region' }));
};
}
if (_CallingSettingsAlert2.default.handleMessage(message)) {
return function (props) {
return _react2.default.createElement(_CallingSettingsAlert2.default, (0, _extends3.default)({}, props, {
brand: brand.fullName,
callingSettingsUrl: '/settings/calling' }));
};
}
if (_RegionSettingsAlert2.default.handleMessage(message)) {
return function (props) {
return _react2.default.createElement(_RegionSettingsAlert2.default, (0, _extends3.default)({}, props, {
regionSettingsUrl: '/settings/region' }));
};
}
if (_MessageSenderAlert2.default.handleMessage(message)) {
return _MessageSenderAlert2.default;
}
if (_RateExceededAlert2.default.handleMessage(message)) {
return function (props) {
return _react2.default.createElement(_RateExceededAlert2.default, (0, _extends3.default)({}, props, {
timestamp: rateLimiter.timestamp,
duration: rateLimiter._throttleDuration }));
};
}
if (_ConnectivityAlert2.default.handleMessage(message)) {
return _ConnectivityAlert2.default;
}
return undefined;
},
dismiss: function dismiss(id) {
alert.dismiss(id);
}
};
})(_AlertDisplay2.default);
AlertContainer.propTypes = {
alert: _react.PropTypes.instanceOf(_Alert2.default).isRequired,
brand: _react.PropTypes.instanceOf(_Brand2.default).isRequired,
locale: _react.PropTypes.instanceOf(_Locale2.default).isRequired,
rateLimiter: _react.PropTypes.instanceOf(_RateLimiter2.default).isRequired
};
exports.default = AlertContainer;
//# sourceMappingURL=index.js.map