diff --git a/src/components/ComposeTextPanel/NoSenderAlert.js b/src/components/ComposeTextPanel/NoSenderAlert.js
new file mode 100644
index 0000000000..1d89712670
--- /dev/null
+++ b/src/components/ComposeTextPanel/NoSenderAlert.js
@@ -0,0 +1,44 @@
+import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+import messageSenderMessages from
+ 'ringcentral-integration/modules/MessageSender/messageSenderMessages';
+import AlertDisplay from '../AlertDisplay';
+import MessageSenderAlert from '../MessageSenderAlert';
+
+export default class NoSenderAlert extends Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ showAlert: !props.hasSenderNumbers && this.props.outboundSMS,
+ };
+ this.onDismissAlert = () => {
+ this.setState({
+ showAlert: false
+ });
+ };
+ this.getRenderer = () => MessageSenderAlert;
+ this.messages = [
+ {
+ id: '1',
+ level: 'warning',
+ message: messageSenderMessages.senderNumberInvalid,
+ }
+ ];
+ }
+ render() {
+ return this.state.showAlert ? (
+
+ ) : null;
+ }
+}
+
+NoSenderAlert.propTypes = {
+ currentLocale: PropTypes.string.isRequired,
+ outboundSMS: PropTypes.bool.isRequired,
+ hasSenderNumbers: PropTypes.bool.isRequired,
+};
diff --git a/src/components/ComposeTextPanel/index.js b/src/components/ComposeTextPanel/index.js
index 3c0a5ac3b5..5c653b6a32 100644
--- a/src/components/ComposeTextPanel/index.js
+++ b/src/components/ComposeTextPanel/index.js
@@ -1,14 +1,12 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
-import messageSenderMessages from
-'ringcentral-integration/modules/MessageSender/messageSenderMessages';
import classnames from 'classnames';
import i18n from './i18n';
import styles from './styles.scss';
import RecipientsInput from '../RecipientsInput';
-import AlertDisplay from '../AlertDisplay';
-import MessageSenderAlert from '../MessageSenderAlert';
import Select from '../DropdownSelect';
+import SpinnerOverlay from '../SpinnerOverlay';
+import NoSenderAlert from './NoSenderAlert';
function SenderField(props) {
@@ -35,14 +33,11 @@ SenderField.propTypes = {
options: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired,
};
+
class ComposeTextPanel extends Component {
constructor(props) {
super(props);
- this.state = {
- showAlert: !this.hasSenderNumbers() && this.props.outboundSMS,
- };
-
this.onSenderChange = (value) => {
this.props.updateSenderNumber(value);
};
@@ -88,19 +83,6 @@ class ComposeTextPanel extends Component {
this.props.send();
console.debug('send message ...');
};
- this.onDismissAlert = () => {
- this.setState({
- showAlert: false
- });
- };
- this.getRenderer = () => MessageSenderAlert;
- this.messages = [
- {
- id: '1',
- level: 'warning',
- message: messageSenderMessages.senderNumberInvalid,
- }
- ];
}
hasSenderNumbers() {
@@ -108,14 +90,13 @@ class ComposeTextPanel extends Component {
}
render() {
- const noSenderAlert = this.state.showAlert ? (
-
- ) : null;
+ if (this.props.showSpinner) {
+ return (
+
+
+
+ );
+ }
const senderField = this.hasSenderNumbers() ?
(
- {noSenderAlert}
+