UNPKG

ringcentral-widget

Version:
134 lines (109 loc) 5.07 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _reactRedux = require('react-redux'); var _formatNumber = require('ringcentral-integration/lib/formatNumber'); var _formatNumber2 = _interopRequireDefault(_formatNumber); var _ComposeText = require('ringcentral-integration/modules/ComposeText'); var _ComposeText2 = _interopRequireDefault(_ComposeText); var _MessageStore = require('ringcentral-integration/modules/MessageStore'); var _MessageStore2 = _interopRequireDefault(_MessageStore); var _RolesAndPermissions = require('ringcentral-integration/modules/RolesAndPermissions'); var _RolesAndPermissions2 = _interopRequireDefault(_RolesAndPermissions); var _RouterInteraction = require('../../modules/RouterInteraction'); var _RouterInteraction2 = _interopRequireDefault(_RouterInteraction); var _ComposeTextPanel = require('../../components/ComposeTextPanel'); var _ComposeTextPanel2 = _interopRequireDefault(_ComposeTextPanel); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function mapToProps(_, _ref) { var composeText = _ref.composeText, connectivityMonitor = _ref.connectivityMonitor, contactSearch = _ref.contactSearch, locale = _ref.locale, messageSender = _ref.messageSender, rateLimiter = _ref.rateLimiter, rolesAndPermissions = _ref.rolesAndPermissions; return { currentLocale: locale.currentLocale, sendButtonDisabled: !(composeText.ready && messageSender.idle) || composeText.messageText.length === 0 || composeText.toNumbers.length === 0 && composeText.typingToNumber.length === 0 || !connectivityMonitor.connectivity || rateLimiter.throttling, senderNumbers: messageSender.senderNumbersList, senderNumber: composeText.senderNumber, typingToNumber: composeText.typingToNumber, toNumbers: composeText.toNumbers, messageText: composeText.messageText, outboundSMS: rolesAndPermissions.permissions.OutboundSMS, searchContactList: contactSearch.searching.result, showSpinner: !(composeText.ready && locale.ready && messageSender.ready && rolesAndPermissions.ready && contactSearch.ready) }; } function mapToFunctions(_, _ref2) { var composeText = _ref2.composeText, contactSearch = _ref2.contactSearch, messageStore = _ref2.messageStore, regionSettings = _ref2.regionSettings, router = _ref2.router, _ref2$formatContactPh = _ref2.formatContactPhone, formatContactPhone = _ref2$formatContactPh === undefined ? function (phoneNumber) { return (0, _formatNumber2.default)({ phoneNumber: phoneNumber, areaCode: regionSettings.areaCode, countryCode: regionSettings.countryCode }); } : _ref2$formatContactPh; return { send: function send() { return composeText.send().then(function (responses) { if (!responses || responses.length === 0) { return null; } messageStore.pushMessages(responses); if (responses.length === 1) { var conversationId = responses[0] && responses[0].conversation && responses[0].conversation.id; if (!conversationId) { return null; } router.push('/conversations/' + conversationId); } else { router.push('/messages'); } composeText.clean(); return null; }); }, formatPhone: formatContactPhone, formatContactPhone: formatContactPhone, searchContact: function searchContact(searchString) { return contactSearch.search({ searchString: searchString }); }, updateSenderNumber: function updateSenderNumber() { return composeText.updateSenderNumber.apply(composeText, arguments); }, updateTypingToNumber: function updateTypingToNumber() { return composeText.updateTypingToNumber.apply(composeText, arguments); }, cleanTypingToNumber: function cleanTypingToNumber() { return composeText.cleanTypingToNumber.apply(composeText, arguments); }, addToNumber: function addToNumber() { return composeText.addToNumber.apply(composeText, arguments); }, removeToNumber: function removeToNumber() { return composeText.removeToNumber.apply(composeText, arguments); }, updateMessageText: function updateMessageText() { return composeText.updateMessageText.apply(composeText, arguments); } }; } var ComposeTextPage = (0, _reactRedux.connect)(mapToProps, mapToFunctions)(_ComposeTextPanel2.default); ComposeTextPage.propTypes = { router: _propTypes2.default.instanceOf(_RouterInteraction2.default).isRequired, composeText: _propTypes2.default.instanceOf(_ComposeText2.default).isRequired, messageStore: _propTypes2.default.instanceOf(_MessageStore2.default).isRequired, rolesAndPermissions: _propTypes2.default.instanceOf(_RolesAndPermissions2.default).isRequired }; exports.default = ComposeTextPage; //# sourceMappingURL=index.js.map