1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- // @flow
-
- import { Component } from 'react';
-
- import { getParticipantById } from '../../base/participants';
-
- export type Props = {
-
- /**
- * The participant id who we want to render the raised hand indicator
- * for.
- */
- participantId: string,
-
- /**
- * True if the hand is raised for this participant.
- */
- _raisedHand?: boolean
- }
-
- /**
- * Implements an abstract class for the RaisedHandIndicator component.
- */
- export default class AbstractRaisedHandIndicator<P: Props>
- extends Component<P> {
-
- /**
- * Implements {@code Component#render}.
- *
- * @inheritdoc
- */
- render() {
- if (!this.props._raisedHand) {
- return null;
- }
-
- return this._renderIndicator();
- }
-
- /**
- * Renders the platform specific indicator element.
- *
- * @returns {React$Element<*>}
- */
- _renderIndicator: () => React$Element<*>
-
- }
-
- /**
- * Maps part of the Redux state to the props of this component.
- *
- * @param {Object} state - The Redux state.
- * @param {Props} ownProps - The own props of the component.
- * @returns {Object}
- */
- export function _mapStateToProps(state: Object, ownProps: Props): Object {
- const participant = getParticipantById(state, ownProps.participantId);
-
- return {
- _raisedHand: participant && participant.raisedHand
- };
- }
|