|
@@ -75,8 +75,8 @@ class InviteButton extends Component {
|
75
|
75
|
*/
|
76
|
76
|
componentWillReceiveProps(nextProps) {
|
77
|
77
|
if (this.props._isDialOutAvailable !== nextProps._isDialOutAvailable
|
78
|
|
- || this.props._isAddToCallAvailable
|
79
|
|
- !== nextProps._isAddToCallAvailable) {
|
|
78
|
+ || this.props._isAddToCallAvailable
|
|
79
|
+ !== nextProps._isAddToCallAvailable) {
|
80
|
80
|
this._updateInviteItems(nextProps);
|
81
|
81
|
}
|
82
|
82
|
}
|
|
@@ -185,7 +185,7 @@ class InviteButton extends Component {
|
185
|
185
|
);
|
186
|
186
|
}
|
187
|
187
|
|
188
|
|
- this.state = {
|
|
188
|
+ const nextState = {
|
189
|
189
|
/**
|
190
|
190
|
* The list of invite options.
|
191
|
191
|
*/
|
|
@@ -195,6 +195,13 @@ class InviteButton extends Component {
|
195
|
195
|
}
|
196
|
196
|
]
|
197
|
197
|
};
|
|
198
|
+
|
|
199
|
+ if (this.state) {
|
|
200
|
+ this.setState(nextState);
|
|
201
|
+ } else {
|
|
202
|
+ // eslint-disable-next-line react/no-direct-mutation-state
|
|
203
|
+ this.state = nextState;
|
|
204
|
+ }
|
198
|
205
|
}
|
199
|
206
|
}
|
200
|
207
|
|
|
@@ -210,22 +217,20 @@ class InviteButton extends Component {
|
210
|
217
|
* }}
|
211
|
218
|
*/
|
212
|
219
|
function _mapStateToProps(state) {
|
213
|
|
- const { enableUserRolesBasedOnToken } = state['features/base/config'];
|
214
|
|
-
|
215
|
220
|
const { conference } = state['features/base/conference'];
|
216
|
|
-
|
|
221
|
+ const { enableUserRolesBasedOnToken } = state['features/base/config'];
|
217
|
222
|
const { isGuest } = state['features/jwt'];
|
218
|
223
|
|
219
|
224
|
return {
|
220
|
|
- _isAddToCallAvailable: !isGuest
|
221
|
|
- && isInviteOptionEnabled(ADD_TO_CALL_OPTION),
|
|
225
|
+ _isAddToCallAvailable:
|
|
226
|
+ !isGuest && isInviteOptionEnabled(ADD_TO_CALL_OPTION),
|
222
|
227
|
_isDialOutAvailable:
|
223
|
228
|
getLocalParticipant(state).role === PARTICIPANT_ROLE.MODERATOR
|
224
|
|
- && conference && conference.isSIPCallingSupported()
|
225
|
|
- && isInviteOptionEnabled(DIAL_OUT_OPTION)
|
226
|
|
- && (!enableUserRolesBasedOnToken || !isGuest)
|
|
229
|
+ && conference && conference.isSIPCallingSupported()
|
|
230
|
+ && isInviteOptionEnabled(DIAL_OUT_OPTION)
|
|
231
|
+ && (!enableUserRolesBasedOnToken || !isGuest)
|
227
|
232
|
};
|
228
|
233
|
}
|
229
|
234
|
|
230
|
|
-export default translate(connect(
|
231
|
|
- _mapStateToProps, { openDialog })(InviteButton));
|
|
235
|
+export default translate(connect(_mapStateToProps, { openDialog })(
|
|
236
|
+ InviteButton));
|